+
-
-
+
{{ uploading ? "Uploading ..." : "Upload" }}
@@ -466,100 +369,32 @@ Let's create an avatar for the user so that they can upload a profile photo. We
type="file"
id="single"
accept="image/*"
- @change="uploadAvatar($event)"
+ @change="uploadAvatar"
:disabled="uploading"
/>
-
-
```
### Add the new widget
And then we can add the widget to the Account page:
-```html title="src/Profile.vue"
-
-
-
-
+```html title="src/components/Account.vue"
+
+
+
+
```
## Next steps
diff --git a/apps/temp-docs/docs/introduction.mdx b/apps/temp-docs/docs/introduction.mdx
index 06c54452886..003cfe879e1 100644
--- a/apps/temp-docs/docs/introduction.mdx
+++ b/apps/temp-docs/docs/introduction.mdx
@@ -1,45 +1,85 @@
---
-title: Introduction
-description: Introduction to Supabase
+title: 'Introduction'
+description: 'Introduction to Supabase'
---
# Introduction
-Supabase is an open source Firebase alternative.
+Supabase is an open source Firebase alternative providing all the backend features you need to build a product.
+You can use it completely, or just the features you need.
-It provides all the backend services you need to build a product. You can use it completely, or just the services you require:
+[Start a project](https://app.supabase.com) with the hosted platform or learn how to [host Supabase](/docs/guides/hosting/overview) yourself.
-
-
-
-
-
-
+## Learn about features
-## Getting Started
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-Visit [app.supabase.com](https://app.supabase.com) to get started with the hosted platform or visit the self-hosting docs to learn how to host Supabase yourself.
+## Start with a framework
Supabase is just Postgres, which makes it compatible with a large number of tools and frameworks.
-
-
-
-
-
-
-
-
-
-
-
-## How to use these docs
-
-The documentation is divided into 3 sections.
-
-
-
-
-
-
-
+
diff --git a/apps/temp-docs/docs/javascript/auth-api-createuser.mdx b/apps/temp-docs/docs/javascript/auth-api-createuser.mdx
deleted file mode 100644
index 95eb40e21dd..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-createuser.mdx
+++ /dev/null
@@ -1,97 +0,0 @@
----
-id: auth-api-createuser
-title: "createUser()"
-slug: auth-api-createuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Creates a new user.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.createUser({
- name: 'Yoda'
-})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create a new user.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.createUser({
- name: 'Yoda'
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-deleteuser.mdx b/apps/temp-docs/docs/javascript/auth-api-deleteuser.mdx
deleted file mode 100644
index 4cd5536d508..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-deleteuser.mdx
+++ /dev/null
@@ -1,120 +0,0 @@
----
-id: auth-api-deleteuser
-title: "deleteUser()"
-slug: auth-api-deleteuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Delete a user. Requires a `service_role` key.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a user completely.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-generatelink.mdx b/apps/temp-docs/docs/javascript/auth-api-generatelink.mdx
deleted file mode 100644
index bfb612aef93..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-generatelink.mdx
+++ /dev/null
@@ -1,189 +0,0 @@
----
-id: auth-api-generatelink
-title: "generateLink()"
-slug: auth-api-generatelink
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Generates links to be sent via email or other.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Generate invite link.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.generateLink({
- type: 'invite',
- email: 'email@example.com'
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-getuser.mdx b/apps/temp-docs/docs/javascript/auth-api-getuser.mdx
deleted file mode 100644
index 0d10b1bbca8..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-getuser.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: auth-api-getuser
-title: "getUser()"
-slug: auth-api-getuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Gets the user details.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.getUser(
- 'ACCESS_TOKEN_JWT',
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Fetches the user object from the database instead of local storage.
-- Note that user() fetches the user object from local storage which might not be the most updated.
-- Requires the user's access_token.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Fetch the user object using the access_token jwt.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.getUser(
- 'ACCESS_TOKEN_JWT',
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-inviteuserbyemail.mdx b/apps/temp-docs/docs/javascript/auth-api-inviteuserbyemail.mdx
deleted file mode 100644
index 1ed7271198f..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-inviteuserbyemail.mdx
+++ /dev/null
@@ -1,146 +0,0 @@
----
-id: auth-api-inviteuserbyemail
-title: "inviteUserByEmail()"
-slug: auth-api-inviteuserbyemail
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends an invite link to an email address.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .inviteUserByEmail('email@example.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-resetpasswordforemail.mdx b/apps/temp-docs/docs/javascript/auth-api-resetpasswordforemail.mdx
deleted file mode 100644
index 68ad2d890fc..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-resetpasswordforemail.mdx
+++ /dev/null
@@ -1,125 +0,0 @@
----
-id: auth-api-resetpasswordforemail
-title: "resetPasswordForEmail()"
-slug: auth-api-resetpasswordforemail
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a reset request to an email address.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .resetPasswordForEmail('email@example.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-api-sendmobileotp.mdx b/apps/temp-docs/docs/javascript/auth-api-sendmobileotp.mdx
deleted file mode 100644
index 671a54b7545..00000000000
--- a/apps/temp-docs/docs/javascript/auth-api-sendmobileotp.mdx
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: auth-api-sendmobileotp
-title: "sendMobileOTP()"
-slug: auth-api-sendmobileotp
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a mobile OTP via SMS. Will register the account if it doesn't already exist
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .sendMobileOTP('12345879')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-onauthstatechange.mdx b/apps/temp-docs/docs/javascript/auth-onauthstatechange.mdx
deleted file mode 100644
index baa6bd540d5..00000000000
--- a/apps/temp-docs/docs/javascript/auth-onauthstatechange.mdx
+++ /dev/null
@@ -1,93 +0,0 @@
----
-id: auth-onauthstatechange
-title: "onAuthStateChange()"
-slug: auth-onauthstatechange
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Receive a notification every time an auth event happens.
-
-
-
-
-
-```js
-supabase.auth.onAuthStateChange((event, session) => {
- console.log(event, session)
-})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Listen to auth changes
-
-
-
-
-
-
-
-```js
-supabase.auth.onAuthStateChange((event, session) => {
- console.log(event, session)
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-session.mdx b/apps/temp-docs/docs/javascript/auth-session.mdx
deleted file mode 100644
index fb1f1287b30..00000000000
--- a/apps/temp-docs/docs/javascript/auth-session.mdx
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: auth-session
-title: "session()"
-slug: auth-session
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Returns the session data, if there is an active session.
-
-
-
-
-
-```js
-const session = supabase.auth.session()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get the session data
-
-
-
-
-
-
-
-```js
-const session = supabase.auth.session()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-setauth.mdx b/apps/temp-docs/docs/javascript/auth-setauth.mdx
deleted file mode 100644
index 4a86aaffe4f..00000000000
--- a/apps/temp-docs/docs/javascript/auth-setauth.mdx
+++ /dev/null
@@ -1,160 +0,0 @@
----
-id: auth-setauth
-title: "setAuth()"
-slug: auth-setauth
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Overrides the JWT on the current client. The JWT will then be sent in all subsequent network requests.
-
-
-
-
-
-```js
-function apiFunction(req, res) {
- // Assuming the access token was sent as a header "X-Supabase-Auth"
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-This is most useful on server-side functions where you cannot log the user in, but have access to the user's access token.
-
-
-
-
-
-```js
-function apiFunction(req, res) {
- // Assuming the access token was sent as a header "X-Supabase-Auth"
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
-
-### With Express.
-
-
-
-
-
-
-
-```js
-
-/**
-* Make a request from the client to your server function
-*/
-async function makeApiRequest() {
- const token = newClient.session()?.access_token
-
- await fetch('https://example.com/withAuth', {
- method: 'GET',
- withCredentials: true,
- credentials: 'include',
- headers: {
- 'Content-Type': 'application/json'
- 'Authorization': bearer, // Your own auth
- 'X-Supabase-Auth': token, // Set the Supabase user
- }
- })
-}
-
-/**
-* Use the Auth token in your server-side function.
-*/
-async function apiFunction(req, res) {
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-signin.mdx b/apps/temp-docs/docs/javascript/auth-signin.mdx
deleted file mode 100644
index 40acefd8e88..00000000000
--- a/apps/temp-docs/docs/javascript/auth-signin.mdx
+++ /dev/null
@@ -1,278 +0,0 @@
----
-id: auth-signin
-title: 'signIn()'
-slug: auth-signin
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Log in an existing user, or login via a third-party provider.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- A user can sign up either via email or OAuth.
-- If you provide `email` without a `password`, the user will be sent a magic link.
-- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- Specifying a `provider` will open the browser to the relevant login page.
-
-## Examples
-
-### Sign in with email.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-### Sign in with magic link.
-
-If no password is provided, the user will be sent a "magic link" to their email address, which they can click to open your application with a valid session. By default, a given user can only request a Magic Link once every 60 seconds.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
-})
-```
-
-
-
-
-
-### Sign in using third-party providers.
-
-Supabase supports OAuth logins.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- // provider can be 'github', 'google', 'gitlab', or 'bitbucket'
- provider: 'github',
-})
-```
-
-
-
-
-
-### Sign in with redirect.
-
-Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
-any URL path on your website (the URL must either be on the same domain as your Site URL [see Auth>Settings in dashboard], or must match one of the Additional Redirect URLs [also in Auth>Settings]).
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn(
- {
- provider: 'github',
- },
- {
- redirectTo: 'https://example.com/welcome',
- }
-)
-```
-
-
-
-
-
-### Sign in with scopes.
-
-If you need additional data from an OAuth provider, you can include a space-separated list of scopes in your request to get back an OAuth provider token.
-You may also need to specify the scopes in the provider's OAuth app settings, depending on the provider.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn(
- {
- provider: 'github',
- },
- {
- scopes: 'repo gist notifications',
- }
-)
-const oAuthToken = session.provider_token // use to access provider API
-```
-
-
-
-
-
-### Sign in using a refresh token (e.g. in React Native).
-
-If you are completing a sign up or login in a React Native app you can pass the refresh token obtained from the provider to obtain a session.
-
-
-
-
-
-```js
-// An example using Expo's `AuthSession`
-const redirectUri = AuthSession.makeRedirectUri({ useProxy: false })
-const provider = 'google'
-
-AuthSession.startAsync({
- authUrl: `https://MYSUPABASEAPP.supabase.co/auth/v1/authorize?provider=${provider}&redirect_to=${redirectUri}`,
- returnUrl: redirectUri,
-}).then(async (response: any) => {
- if (!response) return
- const { user, session, error } = await supabase.auth.signIn({
- refreshToken: response.params?.refresh_token,
- })
-})
-```
-
-
-
-
diff --git a/apps/temp-docs/docs/javascript/auth-signout.mdx b/apps/temp-docs/docs/javascript/auth-signout.mdx
deleted file mode 100644
index caa66f506bf..00000000000
--- a/apps/temp-docs/docs/javascript/auth-signout.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: auth-signout
-title: "signOut()"
-slug: auth-signout
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Inside a browser context, `signOut()` will remove the logged in user from the browser session
-and log them out - removing all items from localstorage and then trigger a "SIGNED_OUT" event.
-
-For server-side management, you can disable sessions by passing a JWT through to `auth.api.signOut(JWT: string)`
-
-
-
-
-
-```js
-const { error } = await supabase.auth.signOut()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Sign out
-
-
-
-
-
-
-
-```js
-const { error } = await supabase.auth.signOut()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-signup.mdx b/apps/temp-docs/docs/javascript/auth-signup.mdx
deleted file mode 100644
index 6a153f3b576..00000000000
--- a/apps/temp-docs/docs/javascript/auth-signup.mdx
+++ /dev/null
@@ -1,185 +0,0 @@
----
-id: auth-signup
-title: 'signUp()'
-slug: auth-signup
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Creates a new user.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
-- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
-- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- If signUp() is called for an existing confirmed user:
- - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
- - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
-- To check if a user already exists, refer to getUser().
-
-## Examples
-
-### Sign up.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-### Sign up with additional user meta data.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp(
- {
- email: 'example@email.com',
- password: 'example-password',
- },
- {
- data: {
- first_name: 'John',
- age: 27,
- },
- }
-)
-```
-
-
-
-
-
-### Sign up with third-party providers.
-
-You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
diff --git a/apps/temp-docs/docs/javascript/auth-update.mdx b/apps/temp-docs/docs/javascript/auth-update.mdx
deleted file mode 100644
index bc7f9f6124a..00000000000
--- a/apps/temp-docs/docs/javascript/auth-update.mdx
+++ /dev/null
@@ -1,137 +0,0 @@
----
-id: auth-update
-title: "update()"
-slug: auth-update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Updates user data, if there is a logged in user.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({email: 'new@email.com'})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-User email: Email updates will send an email to both the user's current and new email with a confirmation link by default.
-To toggle this behavior off and only send a single confirmation link to the new email, toggle "Double confirm email changes" under "Authentication" -> "Settings" off.
-
-
-User metadata: It's generally better to store user data in a table inside your public schema (i.e. `public.users`).
-Use the `update()` method if you have data which rarely changes or is specific only to the logged in user.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update email for authenticated user.
-
-Sends a "Confirm Email Change" email to the new email address.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({email: 'new@email.com'})
-```
-
-
-
-
-
-
-### Update password for authenticated user.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({password: 'new password'})
-```
-
-
-
-
-
-
-### Update a user's metadata.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({
- data: { hello: 'world' }
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/auth-user.mdx b/apps/temp-docs/docs/javascript/auth-user.mdx
deleted file mode 100644
index f0875580371..00000000000
--- a/apps/temp-docs/docs/javascript/auth-user.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: auth-user
-title: "user()"
-slug: auth-user
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Inside a browser context, `user()` will return the user data, if there is a logged in user.
-
-For server-side management, you can get a user through `auth.api.getUserByCookie()`
-
-
-
-
-
-```js
-const user = supabase.auth.user()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-This method gets the user object from memory.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get the logged in user
-
-
-
-
-
-
-
-```js
-const user = supabase.auth.user()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/containedby.mdx b/apps/temp-docs/docs/javascript/containedby.mdx
deleted file mode 100644
index 6e783d53d71..00000000000
--- a/apps/temp-docs/docs/javascript/containedby.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: containedby
-title: ".containedBy()"
-slug: containedby
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .containedBy('main_exports', ['orks', 'surveillance', 'evil'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/contains.mdx b/apps/temp-docs/docs/javascript/contains.mdx
deleted file mode 100644
index 9d46db6f9db..00000000000
--- a/apps/temp-docs/docs/javascript/contains.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: contains
-title: ".contains()"
-slug: contains
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/delete-user.mdx b/apps/temp-docs/docs/javascript/delete-user.mdx
deleted file mode 100644
index cb370409907..00000000000
--- a/apps/temp-docs/docs/javascript/delete-user.mdx
+++ /dev/null
@@ -1,118 +0,0 @@
----
-id: delete-user
-title: "Delete User"
-slug: delete-user
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Delete a user. Requires a `service_role` key.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a user completely.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/delete.mdx b/apps/temp-docs/docs/javascript/delete.mdx
deleted file mode 100644
index 75b26387576..00000000000
--- a/apps/temp-docs/docs/javascript/delete.mdx
+++ /dev/null
@@ -1,147 +0,0 @@
----
-id: delete
-title: "Delete data: delete()"
-slug: delete
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs a DELETE on the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({ id: 666 })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- `delete()` should always be combined with [filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to delete.
-- If you use `delete()` with filters and you have
- [RLS](/docs/learn/auth-deep-dive/auth-row-level-security) enabled, only
- rows visible through `SELECT` policies are deleted. Note that by default
- no rows are visible, so you need at least one `SELECT`/`ALL` policy that
- makes the rows visible.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete records
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({ id: 666 })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/eq.mdx b/apps/temp-docs/docs/javascript/eq.mdx
deleted file mode 100644
index 57a536977bf..00000000000
--- a/apps/temp-docs/docs/javascript/eq.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: eq
-title: ".eq()"
-slug: eq
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` exactly matches the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The shire')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The shire')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .eq('name', 'San Francisco')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .eq('name', 'Mordor')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .eq('name', 'San Francisco')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/filter.mdx b/apps/temp-docs/docs/javascript/filter.mdx
deleted file mode 100644
index 4dcd39afe94..00000000000
--- a/apps/temp-docs/docs/javascript/filter.mdx
+++ /dev/null
@@ -1,230 +0,0 @@
----
-id: filter
-title: ".filter()"
-slug: filter
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose `column` satisfies the filter.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- operator
-
-
- required
-
-
- FilterOperator
-
-
-
-
-The operator to filter with.
-
-
-
-
-
-
-
-
-
- value
-
-
- required
-
-
- any
-
-
-
-
-The value to filter with.
-
-
-
-
-
-
-
-
-## Notes
-
-- `.filter()` expects you to use the raw [PostgREST syntax](https://postgrest.org/en/stable/api.html#horizontal-filtering-rows) for the filter values, so it should only be used as an escape hatch in case other filters don't work.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### Filter embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, countries ( name )')
- .filter('countries.name', 'in', '("France","Japan")')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/generating-types.mdx b/apps/temp-docs/docs/javascript/generating-types.mdx
deleted file mode 100644
index 70f24120dd4..00000000000
--- a/apps/temp-docs/docs/javascript/generating-types.mdx
+++ /dev/null
@@ -1,136 +0,0 @@
----
-id: generating-types
-title: "Generating Types"
-slug: generating-types
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Supabase will soon release native type generators that dump your database types for various languages. For now, we support TypeScript through a third-party tool.
-
-## Usage with TypeScript
-
-`supabase-js` ships with type definitions for usage with TypeScript and for convenient IntelliSense auto-complete and documentation in your editor.
-
-When using TypeScript, you can pass the type of database row as a type parameter to the `from` method to get better auto-completion support down the chain.
-If you don't provide a type for the row you need to explicitly pass `from
('tableName')`.
-
-```ts
-type Message = {
- id: number;
- inserted_at: string;
- message: string;
- user_id: string;
- channel_id: number;
- author: { username: string };
-}
-
-const response = await supabase
- .from('messages') // Message maps to the type of the row in your database.
- .select('*, author:user_id(username)')
- .match({ channel_id: 2 }) // Your IDE will be able to help with auto-completion.
-response.data // Response data will be of type Array.
-
-// If you don't provide a type for the row you need to explicitly pass `from('tableName')`.
-const response = await supabase
- .from('messages')
- .select('*, author:user_id(username)')
- .match({ channel_id: 2 })
-response.data // Response data will be of type Array.
-```
-
-### Generate database types from OpenAPI specification
-
-Supabase generates an OpenAPI specification file for your database which can be used to generate your data types for usage with TypeScript.
-
-The OpenAPI specification for your Supabase project can be accessed as follows:
-
-```txt
-https://your-project.supabase.co/rest/v1/?apikey=your-anon-key
-```
-
-Using the open source [openapi-typescript](https://github.com/drwpow/openapi-typescript#%EF%B8%8F-reading-specs-from-remote-resource) tool you can generate your types and store them locally:
-
-```bash
-npx openapi-typescript https://your-project.supabase.co/rest/v1/?apikey=your-anon-key --output types/supabase.ts
-```
-
-Important notes:
-
-- Since the generator uses JSON API, there is no way to determine if a column is an Array. It will generate array types as `string`, even though Supabase handles this automatically and returns arrays.
- You can fix this manually in the files by changing the type, e.g. `names: string` -> `names: string[]`
-- The types won't automatically stay in sync with your database, so make sure to regenerate your types after your make changes to your database.
-
-After you have generated your types, you can use them in your TypeScript projects:
-
-```ts
-import { NextApiRequest, NextApiResponse } from "next";
-import { createClient } from "@supabase/supabase-js";
-import { definitions } from "../../types/supabase";
-
-const supabase = createClient(
- process.env.NEXT_PUBLIC_SUPABASE_URL,
- process.env.SUPABASE_SECRET_KEY
-);
-
-export default async (req: NextApiRequest, res: NextApiResponse) => {
- const allOnlineUsers = await supabase
- .from("users")
- .select("*")
- .eq("status", "ONLINE");
- res.status(200).json(allOnlineUsers);
-};
-```
-
-### Update types automatically with GitHub Actions
-
-One way to keep your type definitions in sync with your database is to set up a GitHub action that runs on a schedule.
-
-Add a script to your package.json to generate the types:
-
-```
-"update-types": "npx openapi-typescript https://your-project.supabase.co/rest/v1/?apikey=your-anon-key --output types/database/index.ts"
-```
-
-In your repo, create the file `.github/workflows/update-types.yml`. Add the following snippet into this file to define the action. If there is a change to your definitions, this script will commit the change to your repo.
-
-```yml
-name: Update database types
-
-on:
- schedule:
- # sets the action to run daily. You can modify this to run the action more or less frequently
- - cron: '0 0 * * *'
-
-jobs:
- update:
- runs-on: ubuntu-latest
- steps:
- - uses: actions/checkout@v2
- with:
- persist-credentials: false
- fetch-depth: 0
- - uses: actions/setup-node@v2.1.5
- with:
- node-version: 14
- - run: npm run update-types
- - name: check for file changes
- id: git_status
- run: |
- echo "::set-output name=status::$(git status -s)"
- - name: Commit files
- if: ${{contains(steps.git_status.outputs.status, ' ')}}
- run: |
- git add types/database/index.ts
- git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
- git config --local user.name "github-actions[bot]"
- git commit -m "Update database types" -a
- - name: Push changes
- if: ${{contains(steps.git_status.outputs.status, ' ')}}
- uses: ad-m/github-push-action@master
- with:
- github_token: ${{ secrets.GITHUB_TOKEN }}
- branch: ${{ github.ref }}
-```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/getsubscriptions.mdx b/apps/temp-docs/docs/javascript/getsubscriptions.mdx
deleted file mode 100644
index 7e98d88a575..00000000000
--- a/apps/temp-docs/docs/javascript/getsubscriptions.mdx
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: getsubscriptions
-title: "getSubscriptions()"
-slug: getsubscriptions
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Returns an array of all your subscriptions.
-
-
-
-
-
-```js
-const subscriptions = supabase.getSubscriptions()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get all subscriptions
-
-
-
-
-
-
-
-```js
-const subscriptions = supabase.getSubscriptions()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/gt.mdx b/apps/temp-docs/docs/javascript/gt.mdx
deleted file mode 100644
index 159221aabd6..00000000000
--- a/apps/temp-docs/docs/javascript/gt.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: gt
-title: ".gt()"
-slug: gt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is greater than the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .gt('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/gte.mdx b/apps/temp-docs/docs/javascript/gte.mdx
deleted file mode 100644
index eb67a61bcd8..00000000000
--- a/apps/temp-docs/docs/javascript/gte.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: gte
-title: ".gte()"
-slug: gte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is greater than or
-equal to the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .gte('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/ilike.mdx b/apps/temp-docs/docs/javascript/ilike.mdx
deleted file mode 100644
index 94090260f1e..00000000000
--- a/apps/temp-docs/docs/javascript/ilike.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: ilike
-title: ".ilike()"
-slug: ilike
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value in the stated `column` matches the supplied
-`pattern` (case insensitive).
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .ilike('name', '%la%')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/in.mdx b/apps/temp-docs/docs/javascript/in.mdx
deleted file mode 100644
index 09c29d98692..00000000000
--- a/apps/temp-docs/docs/javascript/in.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: in
-title: ".in()"
-slug: in
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is found on the
-specified `values`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/index.mdx b/apps/temp-docs/docs/javascript/index.mdx
deleted file mode 100644
index a6c7fe90bbc..00000000000
--- a/apps/temp-docs/docs/javascript/index.mdx
+++ /dev/null
@@ -1,109 +0,0 @@
----
-id: index
-title: "Supabase Client"
-slug: supabase-client
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Our approach for client libraries is modular. Each sub-library is a standalone implementation for a single external system. This is one of the ways we support existing tools.
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/initializing.mdx b/apps/temp-docs/docs/javascript/initializing.mdx
deleted file mode 100644
index 39bd9890b98..00000000000
--- a/apps/temp-docs/docs/javascript/initializing.mdx
+++ /dev/null
@@ -1,211 +0,0 @@
----
-id: initializing
-title: "Initializing"
-slug: initializing
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-You can initialize a new Supabase client using the `createClient()` method.
-
-The Supabase client is your entrypoint to the rest of the Supabase functionality
-and is the easiest way to interact with everything we offer within the Supabase ecosystem.
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- supabaseUrl
-
-
- required
-
-
- string
-
-
-
-
-The unique Supabase URL which is supplied when you create a new project in your project dashboard.
-
-
-
-
-
-
-
-
-
- supabaseKey
-
-
- required
-
-
- string
-
-
-
-
-The unique Supabase Key which is supplied when you create a new project in your project dashboard.
-
-
-
-
-
-
-
-
-
- options
-
-
- optional
-
-
- SupabaseClientOptions
-
-
-
-
-No description provided.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### createClient()
-
-
-
-
-
-
-
-```js
-import { createClient } from '@supabase/supabase-js'
-
-// Create a single supabase client for interacting with your database
-const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key')
-```
-
-
-
-
-
-
-### With additional parameters
-
-
-
-
-
-
-
-```js
-import { createClient } from '@supabase/supabase-js'
-
-const options = {
- schema: 'public',
- headers: { 'x-my-custom-header': 'my-app-name' },
- autoRefreshToken: true,
- persistSession: true,
- detectSessionInUrl: true
-}
-const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key", options)
-```
-
-
-
-
-
-
-### API schemas
-
-
-
-
-
-
-
-```js
-import { createClient } from '@supabase/supabase-js'
-
-// Provide a custom schema. Defaults to "public".
-const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
- schema: 'other_schema'
-})
-```
-
-By default the API server points to the `public` schema. You can enable other database schemas within the Dashboard.
-Go to `Settings > API > Schema` and add the schema which you want to expose to the API.
-
-Note: each client connection can only access a single schema, so the code above can access the `other_schema` schema but cannot access the `public` schema.
-
-
-
-
-
-
-### Custom `fetch` implementation
-
-
-
-
-
-
-
-```js
-import { createClient } from '@supabase/supabase-js'
-
-const supabase = createClient('https://xyzcompany.supabase.co', 'public-anon-key', {
- fetch: fetch.bind(globalThis)
-})
-```
-
-`supabase-js` uses the [`cross-fetch`](https://www.npmjs.com/package/cross-fetch) library to make HTTP requests,
-but an alternative `fetch` implementation can be provided as an option.
-This is most useful in environments where `cross-fetch` is not compatible (for instance Cloudflare Workers).
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/insert.mdx b/apps/temp-docs/docs/javascript/insert.mdx
deleted file mode 100644
index abaf8b0eda2..00000000000
--- a/apps/temp-docs/docs/javascript/insert.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: insert
-title: "Create data: insert()"
-slug: insert
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an INSERT into the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 }
- ])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- By default, every time you run `insert()`, the client library will make a `select` to return the full record.
-This is convenient, but it can also cause problems if your Policies are not configured to allow the `select` operation.
-If you are using Row Level Security and you are encountering problems, try setting the `returning` param to `minimal`.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create a record
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 }
- ])
-```
-
-
-
-
-
-
-### Bulk create
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 },
- { name: 'Rohan', country_id: 555 },
- ])
-```
-
-
-
-
-
-
-### Upsert
-
-For upsert, if set to true, primary key columns would need to be included
-in the data parameter in order for an update to properly happen. Also, primary keys
-used must be natural, not surrogate. There are however,
-[workarounds](https://github.com/PostgREST/postgrest/issues/1118)
-for surrogate primary keys.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert(
- [
- { name: 'The Shire', country_id: 554 },
- { name: 'Rohan', country_id: 555 },
- { name: 'City by the Bay', country_id:840}
- ],
- { upsert: true })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/is.mdx b/apps/temp-docs/docs/javascript/is.mdx
deleted file mode 100644
index fb75d615a60..00000000000
--- a/apps/temp-docs/docs/javascript/is.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: is
-title: ".is()"
-slug: is
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-A check for exact equality (null, true, false), finds all rows whose
-value on the stated `column` exactly match the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .is('name', null)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .is('name', null)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .is('name', null)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .is('name', null)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .is('name', null)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/like.mdx b/apps/temp-docs/docs/javascript/like.mdx
deleted file mode 100644
index fee839bf02f..00000000000
--- a/apps/temp-docs/docs/javascript/like.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: like
-title: ".like()"
-slug: like
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value in the stated `column` matches the supplied
-`pattern` (case sensitive).
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .like('name', '%la%')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .like('name', '%la%')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/limit.mdx b/apps/temp-docs/docs/javascript/limit.mdx
deleted file mode 100644
index 6d7f0708e65..00000000000
--- a/apps/temp-docs/docs/javascript/limit.mdx
+++ /dev/null
@@ -1,165 +0,0 @@
----
-id: limit
-title: "limit()"
-slug: limit
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Limits the result with the specified `count`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
-```
-
-
-
-
-
-
-### With embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, cities(name)')
- .eq('name', 'United States')
- .limit(1, { foreignTable: 'cities' })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/lt.mdx b/apps/temp-docs/docs/javascript/lt.mdx
deleted file mode 100644
index dff252d9bc3..00000000000
--- a/apps/temp-docs/docs/javascript/lt.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: lt
-title: ".lt()"
-slug: lt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is less than the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .lt('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/lte.mdx b/apps/temp-docs/docs/javascript/lte.mdx
deleted file mode 100644
index cd783f12d9d..00000000000
--- a/apps/temp-docs/docs/javascript/lte.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: lte
-title: ".lte()"
-slug: lte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is less than or equal
-to the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .lte('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/match.mdx b/apps/temp-docs/docs/javascript/match.mdx
deleted file mode 100644
index 2c705811778..00000000000
--- a/apps/temp-docs/docs/javascript/match.mdx
+++ /dev/null
@@ -1,165 +0,0 @@
----
-id: match
-title: ".match()"
-slug: match
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose columns match the specified `query` object.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/maybesingle.mdx b/apps/temp-docs/docs/javascript/maybesingle.mdx
deleted file mode 100644
index 8e41b958d20..00000000000
--- a/apps/temp-docs/docs/javascript/maybesingle.mdx
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: maybesingle
-title: "maybeSingle()"
-slug: maybesingle
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves at most one row from the result. Result must be at most one row
-(e.g. using `eq` on a UNIQUE column), otherwise this will result in an
-error.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'Singapore')
- .maybeSingle()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'Singapore')
- .maybeSingle()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/neq.mdx b/apps/temp-docs/docs/javascript/neq.mdx
deleted file mode 100644
index 3793d89dea2..00000000000
--- a/apps/temp-docs/docs/javascript/neq.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: neq
-title: ".neq()"
-slug: neq
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` doesn't match the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .neq('name', 'The shire')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .neq('name', 'The shire')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .neq('name', 'San Francisco')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .neq('name', 'Mordor')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .neq('name', 'Lagos')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/not.mdx b/apps/temp-docs/docs/javascript/not.mdx
deleted file mode 100644
index 2d9ce2cae81..00000000000
--- a/apps/temp-docs/docs/javascript/not.mdx
+++ /dev/null
@@ -1,206 +0,0 @@
----
-id: not
-title: ".not()"
-slug: not
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows which doesn't satisfy the filter.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- operator
-
-
- required
-
-
- FilterOperator
-
-
-
-
-The operator to filter with.
-
-
-
-
-
-
-
-
-
- value
-
-
- required
-
-
- any
-
-
-
-
-The value to filter with.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/or.mdx b/apps/temp-docs/docs/javascript/or.mdx
deleted file mode 100644
index f4dcc9ec923..00000000000
--- a/apps/temp-docs/docs/javascript/or.mdx
+++ /dev/null
@@ -1,187 +0,0 @@
----
-id: or
-title: ".or()"
-slug: or
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows satisfying at least one of the filters.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.eq.20,id.eq.30')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.eq.20,id.eq.30')
-```
-
-
-
-
-
-
-### Use `or` with `and`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.gt.20,and(name.eq.New Zealand,name.eq.France)')
-```
-
-
-
-
-
-
-### Use `or` on foreign tables
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('id, cities(*)')
- .or('name.eq.Wellington,name.eq.Paris', { foreignTable: "cities" })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/order.mdx b/apps/temp-docs/docs/javascript/order.mdx
deleted file mode 100644
index c8b536b8bc0..00000000000
--- a/apps/temp-docs/docs/javascript/order.mdx
+++ /dev/null
@@ -1,207 +0,0 @@
----
-id: order
-title: "order()"
-slug: order
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Orders the result with the specified `column`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name', 'country_id')
- .order('id', { ascending: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name', 'country_id')
- .order('id', { ascending: false })
-```
-
-
-
-
-
-
-### With embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, cities(name)')
- .eq('name', 'United States')
- .order('name', {foreignTable: 'cities'})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/overlaps.mdx b/apps/temp-docs/docs/javascript/overlaps.mdx
deleted file mode 100644
index b396a179145..00000000000
--- a/apps/temp-docs/docs/javascript/overlaps.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: overlaps
-title: ".overlaps()"
-slug: overlaps
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-let countries = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/range.mdx b/apps/temp-docs/docs/javascript/range.mdx
deleted file mode 100644
index 00b8532b0f2..00000000000
--- a/apps/temp-docs/docs/javascript/range.mdx
+++ /dev/null
@@ -1,162 +0,0 @@
----
-id: range
-title: "range()"
-slug: range
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Limits the result to rows within the specified range, inclusive.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .range(0,3)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- from
-
-
- required
-
-
- number
-
-
-
-
-The starting index from which to limit the result, inclusive.
-
-
-
-
-
-
-
-
-
- to
-
-
- required
-
-
- number
-
-
-
-
-The last index to which to limit the result, inclusive.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .range(0,3)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rangeadjacent.mdx b/apps/temp-docs/docs/javascript/rangeadjacent.mdx
deleted file mode 100644
index 5197c6baf77..00000000000
--- a/apps/temp-docs/docs/javascript/rangeadjacent.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangeadjacent
-title: ".rangeAdjacent()"
-slug: rangeadjacent
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rangegt.mdx b/apps/temp-docs/docs/javascript/rangegt.mdx
deleted file mode 100644
index c152a4222a1..00000000000
--- a/apps/temp-docs/docs/javascript/rangegt.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangegt
-title: ".rangeGt()"
-slug: rangegt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rangegte.mdx b/apps/temp-docs/docs/javascript/rangegte.mdx
deleted file mode 100644
index 1d7fd697384..00000000000
--- a/apps/temp-docs/docs/javascript/rangegte.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangegte
-title: ".rangeGte()"
-slug: rangegte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rangelt.mdx b/apps/temp-docs/docs/javascript/rangelt.mdx
deleted file mode 100644
index 3663dacc60b..00000000000
--- a/apps/temp-docs/docs/javascript/rangelt.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangelt
-title: ".rangeLt()"
-slug: rangelt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rangelte.mdx b/apps/temp-docs/docs/javascript/rangelte.mdx
deleted file mode 100644
index 538d45770f3..00000000000
--- a/apps/temp-docs/docs/javascript/rangelte.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangelte
-title: ".rangeLte()"
-slug: rangelte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/removeallsubscriptions.mdx b/apps/temp-docs/docs/javascript/removeallsubscriptions.mdx
deleted file mode 100644
index 6786350333a..00000000000
--- a/apps/temp-docs/docs/javascript/removeallsubscriptions.mdx
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: removeallsubscriptions
-title: "removeAllSubscriptions()"
-slug: removeallsubscriptions
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes all subscriptions and disconnects the Websocket connection.
-
-
-
-
-
-```js
-supabase.removeAllSubscriptions()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-- Removing subscriptions is a great way to maintain the performance of your project's database. Supabase will automatically handle cleanup 30 seconds after a user is disconnected, but unused subscriptions may cause degradation as more users are simultaneously subscribed.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Removes all subscriptions
-
-
-
-
-
-
-
-```js
-supabase.removeAllSubscriptions()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/removesubscription.mdx b/apps/temp-docs/docs/javascript/removesubscription.mdx
deleted file mode 100644
index 53c2a6b7a94..00000000000
--- a/apps/temp-docs/docs/javascript/removesubscription.mdx
+++ /dev/null
@@ -1,90 +0,0 @@
----
-id: removesubscription
-title: "removeSubscription()"
-slug: removesubscription
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes an active subscription and returns the number of open connections.
-
-
-
-
-
-```js
-supabase.removeSubscription(mySubscription)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Removing subscriptions is a great way to maintain the performance of your project's database. Supabase will automatically handle cleanup 30 seconds after a user is disconnected, but unused subscriptions may cause degradation as more users are simultaneously subscribed.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a subscription
-
-
-
-
-
-
-
-```js
-supabase.removeSubscription(mySubscription)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/reset-password-email.mdx b/apps/temp-docs/docs/javascript/reset-password-email.mdx
deleted file mode 100644
index 7dad6d33ed3..00000000000
--- a/apps/temp-docs/docs/javascript/reset-password-email.mdx
+++ /dev/null
@@ -1,151 +0,0 @@
----
-id: reset-password-email
-title: "Reset Password (Email)"
-slug: reset-password-email
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a reset request to an email address.
-
-
-
-
-
-```js
-const { data, error } = supabase.auth.api
- .resetPasswordForEmail('user@email.com')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-Sends a reset request to an email address.
-
-When the user clicks the reset link in the email they will be forwarded to:
-
-`#access_token=x&refresh_token=y&expires_in=z&token_type=bearer&type=recovery`
-
-Your app must detect `type=recovery` in the fragment and display a password reset form to the user.
-
-You should then use the access_token in the url and new password to update the user as follows:
-
-```js
-const { error, data } = await supabase.auth.api
- .updateUser(access_token, { password : new_password })
-```
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Reset password
-
-
-
-
-
-
-
-```js
-const { data, error } = supabase.auth.api
- .resetPasswordForEmail('user@email.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/rpc.mdx b/apps/temp-docs/docs/javascript/rpc.mdx
deleted file mode 100644
index 5a664ee1a86..00000000000
--- a/apps/temp-docs/docs/javascript/rpc.mdx
+++ /dev/null
@@ -1,274 +0,0 @@
----
-id: rpc
-title: "Postgres functions: rpc()"
-slug: rpc
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-You can call Postgres functions as a "Remote Procedure Call".
-
-That's a fancy way of saying that you can put some logic into your database then call it from anywhere.
-It's especially useful when the logic rarely changes - like password resets and updates.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('hello_world')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- fn
-
-
- required
-
-
- string
-
-
-
-
-The function name to call.
-
-
-
-
-
-
-
-
-
- params
-
-
- optional
-
-
- undefined | object
-
-
-
-
-The parameters to pass to the function call.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
- Properties
-
-
-
-
- head
-
-
- required
-
-
- boolean
-
-
-
-
-When set to true, no data will be returned.
-
-
-
-
-
-
-
-
-
- count
-
-
- required
-
-
- null | exact | planned | estimated
-
-
-
-
-Count algorithm to use to count rows in a table.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Call a Postgres function
-
-This is an example of invoking a Postgres function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('hello_world')
-```
-
-
-
-
-
-
-### With Parameters
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('echo_city', { name: 'The Shire' })
-```
-
-
-
-
-
-
-### Bulk processing
-
-You can process large payloads at once using [array parameters](https://postgrest.org/en/stable/api.html#calling-functions-with-array-parameters).
-
-
-
-
-
-```js
-const { data, error } = await postgrest
- .rpc('echo_cities', { names: ['The Shire', 'Mordor'] })
-```
-
-
-
-
-
-
-### With filters
-
-Postgres functions that return tables can also be combined with
-[Modifiers](/docs/reference/javascript/using-modifiers) and
-[Filters](/docs/reference/javascript/using-filters).
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .select('name, population')
- .eq('name', 'The Shire')
-```
-
-
-
-
-
-
-### With count option
-
-You can specify a count option to get the row count along with your data.
-Allowed values for count option are `null`, `exact`, `planned` and `estimated`.
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .rpc('hello_world', {}, { count: 'exact' })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/select.mdx b/apps/temp-docs/docs/javascript/select.mdx
deleted file mode 100644
index 37ee18cf1c9..00000000000
--- a/apps/temp-docs/docs/javascript/select.mdx
+++ /dev/null
@@ -1,388 +0,0 @@
----
-id: select
-title: "Fetch data: select()"
-slug: select
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs vertical filtering with SELECT.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select()
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- By default, Supabase projects will return a maximum of 1,000 rows. This setting can be changed in Project API Settings. It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
-- `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers)
-- `select()` can be combined with [Filters](/docs/reference/javascript/using-filters)
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Getting your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select()
-```
-
-
-
-
-
-
-### Selecting specific columns
-
-You can select specific fields from your tables.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name')
-```
-
-
-
-
-
-
-### Query foreign tables
-
-If your database has foreign key relationships, you can query related tables too.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select(`
- name,
- cities (
- name
- )
- `)
-```
-
-
-
-
-
-
-### Query the same foreign table multiple times
-
-Sometimes you will need to query the same foreign table twice.
-In this case, you can use the name of the joined column to identify
-which join you intend to use. For convenience, you can also give an
-alias for each column. For example, if we had a shop of products,
-and we wanted to get the supplier and the purchaser at the same time
-(both in the users) table:
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('products')
- .select(`
- id,
- supplier:supplier_id ( name ),
- purchaser:purchaser_id ( name )
- `)
-```
-
-
-
-
-
-
-### Filtering with inner joins
-
-If you want to filter a table based on a child table's values you can use the `!inner()` function. For example, if you wanted
-to select all rows in a `message` table which belong to a user with the `username` "Jane":
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .select('*, users!inner(*)')
- .eq('users.username', 'Jane')
-```
-
-
-
-
-
-
-### Querying with count option
-
-You can get the number of rows by using the count option.
-Allowed values for count option are `null`, [exact](https://postgrest.org/en/stable/api.html#exact-count), [planned](https://postgrest.org/en/stable/api.html#planned-count) and [estimated](https://postgrest.org/en/stable/api.html#estimated-count).
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .from('cities')
- .select('name', { count: 'exact' }) // if you don't want to return any rows, you can use { count: 'exact', head: true }
-```
-
-
-
-
-
-
-### Querying JSON data
-
-If you have data inside of a JSONB column, you can apply select
-and query filters to the data values. Postgres offers a
-[number of operators](https://www.postgresql.org/docs/current/functions-json.html)
-for querying JSON data. Also see
-[PostgREST docs](http://postgrest.org/en/v7.0.0/api.html#json-columns) for more details.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .select(`
- id, name,
- address->street
- `)
- .eq('address->postcode', 90210)
-```
-
-
-
-
-
-
-### Return data as CSV
-
-By default the data is returned in JSON format, however you can also request for it to be returned as Comma Separated Values.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .select()
- .csv()
-```
-
-
-
-
-
-
-### Aborting requests in-flight
-
-You can use an [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) to abort requests. Note that `status` and `statusText` doesn't mean anything for aborted requests, since the request wasn't actually fulfilled.
-
-
-
-
-
-
-```js
-const ac = new AbortController()
-supabase
- .from('very_big_table')
- .select()
- .abortSignal(ac.signal)
- .then(console.log)
-ac.abort()
-// {
-// error: {
-// message: 'FetchError: The user aborted a request.',
-// details: '',
-// hint: '',
-// code: ''
-// },
-// data: null,
-// body: null,
-// count: null,
-// status: 400,
-// statusText: 'Bad Request'
-// }
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/single.mdx b/apps/temp-docs/docs/javascript/single.mdx
deleted file mode 100644
index abcc6a619cc..00000000000
--- a/apps/temp-docs/docs/javascript/single.mdx
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: single
-title: "single()"
-slug: single
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves only one row from the result. Result must be one row (e.g. using
-`limit`), otherwise this will result in an error.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
- .single()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
- .single()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-createbucket.mdx b/apps/temp-docs/docs/javascript/storage-createbucket.mdx
deleted file mode 100644
index 9da8ce977ad..00000000000
--- a/apps/temp-docs/docs/javascript/storage-createbucket.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: storage-createbucket
-title: "createBucket()"
-slug: storage-createbucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Creates a new Storage bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .createBucket('avatars', { public: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `insert`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .createBucket('avatars', { public: false })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-deletebucket.mdx b/apps/temp-docs/docs/javascript/storage-deletebucket.mdx
deleted file mode 100644
index b246d8b6339..00000000000
--- a/apps/temp-docs/docs/javascript/storage-deletebucket.mdx
+++ /dev/null
@@ -1,97 +0,0 @@
----
-id: storage-deletebucket
-title: "deleteBucket()"
-slug: storage-deletebucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.
-You must first `empty()` the bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .deleteBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select` and `delete`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .deleteBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-emptybucket.mdx b/apps/temp-docs/docs/javascript/storage-emptybucket.mdx
deleted file mode 100644
index 698b18d97e1..00000000000
--- a/apps/temp-docs/docs/javascript/storage-emptybucket.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: storage-emptybucket
-title: "emptyBucket()"
-slug: storage-emptybucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes all objects inside a single bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .emptyBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: `select` and `delete`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Empty bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .emptyBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-createsignedurl.mdx b/apps/temp-docs/docs/javascript/storage-from-createsignedurl.mdx
deleted file mode 100644
index 0be5d2db714..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-createsignedurl.mdx
+++ /dev/null
@@ -1,119 +0,0 @@
----
-id: storage-from-createsignedurl
-title: "from.createSignedUrl()"
-slug: storage-from-createsignedurl
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Create signed url to download file without requiring permissions. This URL can be valid for a set number of seconds.
-
-
-
-
-
-```js
-const { signedURL, error } = await supabase
- .storage
- .from('avatars')
- .createSignedUrl('folder/avatar1.png', 60)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The file path to be downloaded, including the current file name. For example `folder/image.png`.
-
-
-
-
-
-
-
-
-
- expiresIn
-
-
- required
-
-
- number
-
-
-
-
-The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create Signed URL
-
-
-
-
-
-
-
-```js
-const { signedURL, error } = await supabase
- .storage
- .from('avatars')
- .createSignedUrl('folder/avatar1.png', 60)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-download.mdx b/apps/temp-docs/docs/javascript/storage-from-download.mdx
deleted file mode 100644
index 4222d61947c..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-download.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: storage-from-download
-title: "from.download()"
-slug: storage-from-download
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Downloads a file.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .download('folder/avatar1.png')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Download file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .download('folder/avatar1.png')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx
deleted file mode 100644
index adf4d7fb5e1..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-getpublicurl.mdx
+++ /dev/null
@@ -1,82 +0,0 @@
----
-id: storage-from-getpublicurl
-title: 'from.getPublicUrl()'
-slug: storage-from-getpublicurl
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Retrieve URLs for assets in public buckets
-
-
-
-
-
-```js
-const { publicURL, error } = supabase.storage
- .from('public-bucket')
- .getPublicUrl('folder/avatar1.png')
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: none
-
-## Examples
-
-### Returns the URL for an asset in a public bucket
-
-
-
-
-
-```js
-const { publicURL, error } = supabase.storage
- .from('public-bucket')
- .getPublicUrl('folder/avatar1.png')
-```
-
-
-
-
diff --git a/apps/temp-docs/docs/javascript/storage-from-list.mdx b/apps/temp-docs/docs/javascript/storage-from-list.mdx
deleted file mode 100644
index bda57dd68a5..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-list.mdx
+++ /dev/null
@@ -1,148 +0,0 @@
----
-id: storage-from-list
-title: "from.list()"
-slug: storage-from-list
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Lists all the files within a bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .list('folder', {
- limit: 100,
- offset: 0,
- sortBy: { column: 'name', order: 'asc' },
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- optional
-
-
- undefined | string
-
-
-
-
-The folder path.
-
-
-
-
-
-
-
-
-
- options
-
-
- optional
-
-
- SearchOptions
-
-
-
-
-Search options, including `limit`, `offset`, and `sortBy`.
-
-
-
-
-
-
-
-
-
- parameters
-
-
- optional
-
-
- FetchParameters
-
-
-
-
-Fetch parameters, currently only supports `signal`, which is an AbortController's signal
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### List files in a bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .list('folder', {
- limit: 100,
- offset: 0,
- sortBy: { column: 'name', order: 'asc' },
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-move.mdx b/apps/temp-docs/docs/javascript/storage-from-move.mdx
deleted file mode 100644
index 8c00b50ebeb..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-move.mdx
+++ /dev/null
@@ -1,119 +0,0 @@
----
-id: storage-from-move
-title: "from.move()"
-slug: storage-from-move
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Moves an existing file, optionally renaming it at the same time.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .move('public/avatar1.png', 'private/avatar2.png')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- fromPath
-
-
- required
-
-
- string
-
-
-
-
-The original file path, including the current file name. For example `folder/image.png`.
-
-
-
-
-
-
-
-
-
- toPath
-
-
- required
-
-
- string
-
-
-
-
-The new file path, including the new file name. For example `folder/image-copy.png`.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `update` and `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Move file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .move('public/avatar1.png', 'private/avatar2.png')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-remove.mdx b/apps/temp-docs/docs/javascript/storage-from-remove.mdx
deleted file mode 100644
index 0df1e3bd7cf..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-remove.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: storage-from-remove
-title: "from.remove()"
-slug: storage-from-remove
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Deletes files within the same bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .remove(['folder/avatar1.png'])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `delete` and `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .remove(['folder/avatar1.png'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-update.mdx b/apps/temp-docs/docs/javascript/storage-from-update.mdx
deleted file mode 100644
index 11d4fb2be31..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-update.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: storage-from-update
-title: "from.update()"
-slug: storage-from-update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Replaces an existing file at the specified path with a new one.
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
-
-
-
-
-
-
-
-
-
- fileBody
-
-
- required
-
-
- ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | ReadableStream | ReadableStream | URLSearchParams | string
-
-
-
-
-The body of the file to be stored in the bucket.
-
-
-
-
-
-
-
-
-
- fileOptions
-
-
- optional
-
-
- FileOptions
-
-
-
-
-HTTP headers.
-`cacheControl`: string, the `Cache-Control: max-age=` seconds value.
-`contentType`: string, the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`.
-`upsert`: boolean, whether to perform an upsert.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `update` and `select`
-- For React Native, using either `Blob`, `File` or `FormData` does not work as intended. Update file using `ArrayBuffer` from base64 file data instead, see example below.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update file
-
-
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-### Update file using `ArrayBuffer` from base64 file data
-
-
-
-
-
-
-
-```js
-import {decode} from 'base64-arraybuffer'
-
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', decode('base64FileData'), {
- contentType: 'image/png'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-from-upload.mdx b/apps/temp-docs/docs/javascript/storage-from-upload.mdx
deleted file mode 100644
index bc5fe41832e..00000000000
--- a/apps/temp-docs/docs/javascript/storage-from-upload.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: storage-from-upload
-title: "from.upload()"
-slug: storage-from-upload
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Uploads a file to an existing bucket.
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
-
-
-
-
-
-
-
-
-
- fileBody
-
-
- required
-
-
- ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | ReadableStream | ReadableStream | URLSearchParams | string
-
-
-
-
-The body of the file to be stored in the bucket.
-
-
-
-
-
-
-
-
-
- fileOptions
-
-
- optional
-
-
- FileOptions
-
-
-
-
-HTTP headers.
-`cacheControl`: string, the `Cache-Control: max-age=` seconds value.
-`contentType`: string, the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`.
-`upsert`: boolean, whether to perform an upsert.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `insert`
-- For React Native, using either `Blob`, `File` or `FormData` does not work as intended. Upload file using `ArrayBuffer` from base64 file data instead, see example below.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Upload file
-
-
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-### Upload file using `ArrayBuffer` from base64 file data
-
-
-
-
-
-
-
-```js
-import {decode} from 'base64-arraybuffer'
-
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', decode('base64FileData'), {
- contentType: 'image/png'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-getbucket.mdx b/apps/temp-docs/docs/javascript/storage-getbucket.mdx
deleted file mode 100644
index 96da99dac06..00000000000
--- a/apps/temp-docs/docs/javascript/storage-getbucket.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: storage-getbucket
-title: "getBucket()"
-slug: storage-getbucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves the details of an existing Storage bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .getBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .getBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-listbuckets.mdx b/apps/temp-docs/docs/javascript/storage-listbuckets.mdx
deleted file mode 100644
index f78bb44a61e..00000000000
--- a/apps/temp-docs/docs/javascript/storage-listbuckets.mdx
+++ /dev/null
@@ -1,72 +0,0 @@
----
-id: storage-listbuckets
-title: "listBuckets()"
-slug: storage-listbuckets
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves the details of all Storage buckets within an existing product.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .listBuckets()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### List buckets
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .listBuckets()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/storage-updatebucket.mdx b/apps/temp-docs/docs/javascript/storage-updatebucket.mdx
deleted file mode 100644
index 903aa7c4415..00000000000
--- a/apps/temp-docs/docs/javascript/storage-updatebucket.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: storage-updatebucket
-title: "updateBucket()"
-slug: storage-updatebucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Updates a new Storage bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .updateBucket('avatars', { public: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `update`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .updateBucket('avatars', { public: false })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/subscribe.mdx b/apps/temp-docs/docs/javascript/subscribe.mdx
deleted file mode 100644
index 7d0139bae12..00000000000
--- a/apps/temp-docs/docs/javascript/subscribe.mdx
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: subscribe
-title: "on().subscribe()"
-slug: subscribe
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Subscribe to realtime changes in your databse.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('*')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- event
-
-
- required
-
-
- SupabaseEventTypes
-
-
-
-
-The database event which you would like to receive updates for, or you can use the special wildcard `*` to listen to all changes.
-
-
-
-
-
-
-
-
-
- callback
-
-
- required
-
-
- object
-
-
-
-
-A callback that will handle the payload that is sent whenever your database changes.
-
-
-
-
-
-
-
-
-## Notes
-
-- Realtime is disabled by default for new Projects for better database performance and security. You can turn it on by [managing replication](/docs/guides/api#managing-realtime).
-- If you want to receive the "previous" data for updates and deletes, you will need to set `REPLICA IDENTITY` to `FULL`, like this: `ALTER TABLE your_table REPLICA IDENTITY FULL;`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Listen to all database changes
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('*')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to a specific table
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to inserts
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('INSERT', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to updates
-
-By default, Supabase will send only the updated record. If you want to receive the previous values as well you can
-enable full replication for the table you are listening too:
-
-```sql
-alter table "your_table" replica identity full;
-```
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('UPDATE', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to deletes
-
-By default, Supabase does not send deleted records. If you want to receive the deleted record you can
-enable full replication for the table you are listening too:
-
-```sql
-alter table "your_table" replica identity full;
-```
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('DELETE', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to multiple events
-
-You can chain listeners if you want to listen to multiple events for each table.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('INSERT', handleRecordInserted)
- .on('DELETE', handleRecordDeleted)
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to row level changes
-
-You can listen to individual rows using the format `{table}:{col}=eq.{val}` - where `{col}` is the column name, and `{val}` is the value which you want to match.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries:id=eq.200')
- .on('UPDATE', handleRecordUpdated)
- .subscribe()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/textsearch.mdx b/apps/temp-docs/docs/javascript/textsearch.mdx
deleted file mode 100644
index 6354b2f39a6..00000000000
--- a/apps/temp-docs/docs/javascript/textsearch.mdx
+++ /dev/null
@@ -1,234 +0,0 @@
----
-id: textsearch
-title: ".textSearch()"
-slug: textsearch
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose tsvector value on the stated `column` matches
-to_tsquery(`query`).
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- query
-
-
- required
-
-
- string
-
-
-
-
-The Postgres tsquery string to filter with.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Text search
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Basic normalization
-
-Uses PostgreSQL's `plainto_tsquery` function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- type: 'plain',
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Full normalization
-
-Uses PostgreSQL's `phraseto_tsquery` function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- type: 'phrase',
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Full normalization
-
-Uses PostgreSQL's `websearch_to_tsquery` function.
-This function will never raise syntax errors, which makes it possible to use raw user-supplied input for search, and can be used
-with advanced operators.
-
-- `unquoted text`: text not inside quote marks will be converted to terms separated by & operators, as if processed by plainto_tsquery.
-- `"quoted text"`: text inside quote marks will be converted to terms separated by <-> operators, as if processed by phraseto_tsquery.
-- `OR`: the word “or” will be converted to the | operator.
-- `-`: a dash will be converted to the ! operator.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat or cat'`, {
- type: 'websearch',
- config: 'english'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/update.mdx b/apps/temp-docs/docs/javascript/update.mdx
deleted file mode 100644
index dca58efa64d..00000000000
--- a/apps/temp-docs/docs/javascript/update.mdx
+++ /dev/null
@@ -1,195 +0,0 @@
----
-id: update
-title: "Modify data: update()"
-slug: update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an UPDATE on the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Middle Earth' })
- .match({ name: 'Auckland' })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- `update()` should always be combined with [Filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to update.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Updating your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Middle Earth' })
- .match({ name: 'Auckland' })
-```
-
-
-
-
-
-
-### Updating JSON data
-
-Postgres offers a
-[number of operators](https://www.postgresql.org/docs/current/functions-json.html)
-for working with JSON data. Right now it is only possible to update an entire JSON document,
-but we are [working on ideas](https://github.com/PostgREST/postgrest/issues/465) for updating individual keys.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .update(`
- address: {
- street: 'Melrose Place',
- postcode: 90210
- }
- `)
- .eq('address->postcode', 90210)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/upsert.mdx b/apps/temp-docs/docs/javascript/upsert.mdx
deleted file mode 100644
index a0b1edc28ae..00000000000
--- a/apps/temp-docs/docs/javascript/upsert.mdx
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: upsert
-title: "Upsert data: upsert()"
-slug: upsert
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an UPSERT into the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert({ id: 3, message: 'foo', username: 'supabot' })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Primary keys should be included in the data payload in order for an update to work correctly.
-- Primary keys must be natural, not surrogate. There are however, [workarounds](https://github.com/PostgREST/postgrest/issues/1118) for surrogate primary keys.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Upsert your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert({ id: 3, message: 'foo', username: 'supabot' })
-```
-
-
-
-
-
-
-### Bulk Upsert your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert([
- { id: 3, message: 'foo', username: 'supabot' },
- { id: 4, message: 'bar', username: 'supabot' }
- ])
-```
-
-
-
-
-
-
-### Upserting into tables with constraints
-
-Running the following will cause supabase to upsert data into the `users` table.
-If the username 'supabot' already exists, the `onConflict` argument tells supabase to overwrite that row
-based on the column passed into `onConflict`.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .upsert({ username: 'supabot' }, { onConflict: 'username' })
-```
-
-
-
-
-
-
-### Return the exact number of rows
-
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .from('users')
- .upsert({
- id: 3, message: 'foo',
- username: 'supabot'
- }, {
- count: 'exact'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/using-filters.mdx b/apps/temp-docs/docs/javascript/using-filters.mdx
deleted file mode 100644
index b4ce9a4811e..00000000000
--- a/apps/temp-docs/docs/javascript/using-filters.mdx
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: using-filters
-title: "Using Filters"
-slug: using-filters
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Filters can be used on `select()`, `update()`, and `delete()` queries.
-
-If a Postgres function returns a table response, you can also apply filters.
-
-### Applying Filters
-
-You must apply your filters to the end of your query. For example:
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The Shire') // Correct
-
-const { data, error } = await supabase
- .from('cities')
- .eq('name', 'The Shire') // Incorrect
- .select('name, country_id')
-```
-
-### Chaining
-
-Filters can be chained together to produce advanced queries. For example:
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('population', 1000)
- .lt('population', 10000)
-```
-
-### Conditional Chaining
-
-Filters can be built up one step at a time and then executed. For example:
-
-```js
-const filterByName = null
-const filterPopLow = 1000
-const filterPopHigh = 10000
-
-let query = supabase
- .from('cities')
- .select('name, country_id')
-
-if (filterByName) { query = query.eq('name', filterByName) }
-if (filterPopLow) { query = query.gte('population', filterPopLow) }
-if (filterPopHigh) { query = query.lt('population', filterPopHigh) }
-
-const { data, error } = await query
-```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/javascript/using-modifiers.mdx b/apps/temp-docs/docs/javascript/using-modifiers.mdx
deleted file mode 100644
index cad96411fd3..00000000000
--- a/apps/temp-docs/docs/javascript/using-modifiers.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
----
-id: using-modifiers
-title: "Using Modifiers"
-slug: using-modifiers
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Modifiers can be used on `select()` queries.
-
-If a Postgres function returns a table response, you can also apply modifiers to the `rpc()` function.
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference.mdx b/apps/temp-docs/docs/reference.mdx
new file mode 100644
index 00000000000..79493f9710c
--- /dev/null
+++ b/apps/temp-docs/docs/reference.mdx
@@ -0,0 +1,71 @@
+---
+id: reference
+title: Reference Documentation
+sidebar_label: Reference Documentation
+hide_table_of_contents: true
+---
+
+import ButtonCard from '../components/ButtonCard'
+
+# Reference Documentation
+
+Reference documentation for the official Supabase client libraries, APIs, and tools.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+## Self-hosting
+
+Reference documentation for self-hosting Supabase features.
+
+
diff --git a/apps/temp-docs/docs/reference/dart.mdx b/apps/temp-docs/docs/reference/dart.mdx
new file mode 100644
index 00000000000..5926fffadf3
--- /dev/null
+++ b/apps/temp-docs/docs/reference/dart.mdx
@@ -0,0 +1,28 @@
+---
+id: intro
+slug: /
+title: Supabase Flutter Library
+sidebar_label: Supabase Flutter Library
+---
+
+# Supabase Flutter Library
+
+This reference documents every object and method available in Supabase's isomorphic Flutter library, [`supabase-flutter`](https://pub.dev/packages/supabase_flutter).
+
+You can use the `supabase-flutter` library to:
+
+- interact with your Postgres database
+- listen to database changes
+- invoke Deno Edge Functions
+- build login and user management functionality
+- manage large files
+
+## For non-Flutter projects
+
+We also have [supabase-dart](https://github.com/supabase-community/supabase-dart) for non-Flutter Dart projects, such as server-side Dart or Angular-Dart.
+supabase-dart shares most of the APIs with supabase-flutter without being dependent on Flutter so that you can use Supabase anywhere you can run Dart!
+
+## Additional Links
+
+- Source Code: [github.com/supabase/supabase-flutter](https://github.com/supabase/supabase-flutter)
+- [Known bugs and issues](https://github.com/supabase/supabase-flutter/issues)
diff --git a/apps/temp-docs/docs/reference/javascript.mdx b/apps/temp-docs/docs/reference/javascript.mdx
new file mode 100644
index 00000000000..a8b5b34887d
--- /dev/null
+++ b/apps/temp-docs/docs/reference/javascript.mdx
@@ -0,0 +1,26 @@
+---
+slug: /
+sidebar_position: 1
+title: Supabase Javascript Library
+sidebar_label: Supabase JavaScript Library
+hide_table_of_contents: true
+---
+
+# Supabase JavaScript Library
+
+This reference documents every object and method available in Supabase's isomorphic JavaScript library, `supabase-js`.
+
+You can use the `supabase-js` library to:
+
+- interact with your Postgres database
+- listen to database changes
+- invoke Deno Edge Functions
+- build login and user management functionality
+- manage large files
+
+## Additional Links
+
+- Source Code: [github.com/supabase/supabase-js](https://github.com/supabase/supabase-js)
+- TypeDoc: [supabase.github.io/supabase-js](https://supabase.github.io/supabase-js/v2/)
+- NPM: [npmjs.com/package/@supabase/supabase-js](https://www.npmjs.com/package/@supabase/supabase-js)
+- [Known bugs and issues](https://github.com/supabase/supabase-js/issues)
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-createuser.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-createuser.mdx
deleted file mode 100644
index 95eb40e21dd..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-createuser.mdx
+++ /dev/null
@@ -1,97 +0,0 @@
----
-id: auth-api-createuser
-title: "createUser()"
-slug: auth-api-createuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Creates a new user.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.createUser({
- name: 'Yoda'
-})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create a new user.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.createUser({
- name: 'Yoda'
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-deleteuser.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-deleteuser.mdx
deleted file mode 100644
index 4cd5536d508..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-deleteuser.mdx
+++ /dev/null
@@ -1,120 +0,0 @@
----
-id: auth-api-deleteuser
-title: "deleteUser()"
-slug: auth-api-deleteuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Delete a user. Requires a `service_role` key.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a user completely.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-generatelink.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-generatelink.mdx
deleted file mode 100644
index bfb612aef93..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-generatelink.mdx
+++ /dev/null
@@ -1,189 +0,0 @@
----
-id: auth-api-generatelink
-title: "generateLink()"
-slug: auth-api-generatelink
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Generates links to be sent via email or other.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Generate invite link.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth.api.generateLink({
- type: 'invite',
- email: 'email@example.com'
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-getuser.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-getuser.mdx
deleted file mode 100644
index 0d10b1bbca8..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-getuser.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: auth-api-getuser
-title: "getUser()"
-slug: auth-api-getuser
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Gets the user details.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.getUser(
- 'ACCESS_TOKEN_JWT',
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Fetches the user object from the database instead of local storage.
-- Note that user() fetches the user object from local storage which might not be the most updated.
-- Requires the user's access_token.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Fetch the user object using the access_token jwt.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.getUser(
- 'ACCESS_TOKEN_JWT',
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-inviteuserbyemail.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-inviteuserbyemail.mdx
deleted file mode 100644
index 1ed7271198f..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-inviteuserbyemail.mdx
+++ /dev/null
@@ -1,146 +0,0 @@
----
-id: auth-api-inviteuserbyemail
-title: "inviteUserByEmail()"
-slug: auth-api-inviteuserbyemail
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends an invite link to an email address.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .inviteUserByEmail('email@example.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-resetpasswordforemail.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-resetpasswordforemail.mdx
deleted file mode 100644
index 68ad2d890fc..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-resetpasswordforemail.mdx
+++ /dev/null
@@ -1,125 +0,0 @@
----
-id: auth-api-resetpasswordforemail
-title: "resetPasswordForEmail()"
-slug: auth-api-resetpasswordforemail
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a reset request to an email address.
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .resetPasswordForEmail('email@example.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-api-sendmobileotp.mdx b/apps/temp-docs/docs/reference/javascript/auth-api-sendmobileotp.mdx
deleted file mode 100644
index 671a54b7545..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-api-sendmobileotp.mdx
+++ /dev/null
@@ -1,79 +0,0 @@
----
-id: auth-api-sendmobileotp
-title: "sendMobileOTP()"
-slug: auth-api-sendmobileotp
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a mobile OTP via SMS. Will register the account if it doesn't already exist
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Requires a `service_role` key.
-- This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-
-
-
-
-
-
-```js
-const { data: user, error } = await supabase.auth
- .api
- .sendMobileOTP('12345879')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-onauthstatechange.mdx b/apps/temp-docs/docs/reference/javascript/auth-onauthstatechange.mdx
deleted file mode 100644
index baa6bd540d5..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-onauthstatechange.mdx
+++ /dev/null
@@ -1,93 +0,0 @@
----
-id: auth-onauthstatechange
-title: "onAuthStateChange()"
-slug: auth-onauthstatechange
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Receive a notification every time an auth event happens.
-
-
-
-
-
-```js
-supabase.auth.onAuthStateChange((event, session) => {
- console.log(event, session)
-})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Listen to auth changes
-
-
-
-
-
-
-
-```js
-supabase.auth.onAuthStateChange((event, session) => {
- console.log(event, session)
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-session.mdx b/apps/temp-docs/docs/reference/javascript/auth-session.mdx
deleted file mode 100644
index fb1f1287b30..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-session.mdx
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: auth-session
-title: "session()"
-slug: auth-session
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Returns the session data, if there is an active session.
-
-
-
-
-
-```js
-const session = supabase.auth.session()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get the session data
-
-
-
-
-
-
-
-```js
-const session = supabase.auth.session()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-setauth.mdx b/apps/temp-docs/docs/reference/javascript/auth-setauth.mdx
deleted file mode 100644
index 4a86aaffe4f..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-setauth.mdx
+++ /dev/null
@@ -1,160 +0,0 @@
----
-id: auth-setauth
-title: "setAuth()"
-slug: auth-setauth
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Overrides the JWT on the current client. The JWT will then be sent in all subsequent network requests.
-
-
-
-
-
-```js
-function apiFunction(req, res) {
- // Assuming the access token was sent as a header "X-Supabase-Auth"
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Basic example.
-
-This is most useful on server-side functions where you cannot log the user in, but have access to the user's access token.
-
-
-
-
-
-```js
-function apiFunction(req, res) {
- // Assuming the access token was sent as a header "X-Supabase-Auth"
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
-
-### With Express.
-
-
-
-
-
-
-
-```js
-
-/**
-* Make a request from the client to your server function
-*/
-async function makeApiRequest() {
- const token = newClient.session()?.access_token
-
- await fetch('https://example.com/withAuth', {
- method: 'GET',
- withCredentials: true,
- credentials: 'include',
- headers: {
- 'Content-Type': 'application/json'
- 'Authorization': bearer, // Your own auth
- 'X-Supabase-Auth': token, // Set the Supabase user
- }
- })
-}
-
-/**
-* Use the Auth token in your server-side function.
-*/
-async function apiFunction(req, res) {
- const { access_token } = req.get('X-Supabase-Auth')
-
- // You can now use it within a Supabase Client
- const supabase = createClient("https://xyzcompany.supabase.co", "public-anon-key")
- const { user, error } = supabase.auth.setAuth(access_token)
-
- // This client will now send requests as this user
- const { data } = await supabase.from('your_table').select()
-}
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-signin.mdx b/apps/temp-docs/docs/reference/javascript/auth-signin.mdx
deleted file mode 100644
index 40acefd8e88..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-signin.mdx
+++ /dev/null
@@ -1,278 +0,0 @@
----
-id: auth-signin
-title: 'signIn()'
-slug: auth-signin
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Log in an existing user, or login via a third-party provider.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- A user can sign up either via email or OAuth.
-- If you provide `email` without a `password`, the user will be sent a magic link.
-- The magic link's destination URL is determined by the SITE_URL config variable. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- Specifying a `provider` will open the browser to the relevant login page.
-
-## Examples
-
-### Sign in with email.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-### Sign in with magic link.
-
-If no password is provided, the user will be sent a "magic link" to their email address, which they can click to open your application with a valid session. By default, a given user can only request a Magic Link once every 60 seconds.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- email: 'example@email.com',
-})
-```
-
-
-
-
-
-### Sign in using third-party providers.
-
-Supabase supports OAuth logins.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn({
- // provider can be 'github', 'google', 'gitlab', or 'bitbucket'
- provider: 'github',
-})
-```
-
-
-
-
-
-### Sign in with redirect.
-
-Sometimes you want to control where the user is redirected to after they are logged in. Supabase supports this for
-any URL path on your website (the URL must either be on the same domain as your Site URL [see Auth>Settings in dashboard], or must match one of the Additional Redirect URLs [also in Auth>Settings]).
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn(
- {
- provider: 'github',
- },
- {
- redirectTo: 'https://example.com/welcome',
- }
-)
-```
-
-
-
-
-
-### Sign in with scopes.
-
-If you need additional data from an OAuth provider, you can include a space-separated list of scopes in your request to get back an OAuth provider token.
-You may also need to specify the scopes in the provider's OAuth app settings, depending on the provider.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signIn(
- {
- provider: 'github',
- },
- {
- scopes: 'repo gist notifications',
- }
-)
-const oAuthToken = session.provider_token // use to access provider API
-```
-
-
-
-
-
-### Sign in using a refresh token (e.g. in React Native).
-
-If you are completing a sign up or login in a React Native app you can pass the refresh token obtained from the provider to obtain a session.
-
-
-
-
-
-```js
-// An example using Expo's `AuthSession`
-const redirectUri = AuthSession.makeRedirectUri({ useProxy: false })
-const provider = 'google'
-
-AuthSession.startAsync({
- authUrl: `https://MYSUPABASEAPP.supabase.co/auth/v1/authorize?provider=${provider}&redirect_to=${redirectUri}`,
- returnUrl: redirectUri,
-}).then(async (response: any) => {
- if (!response) return
- const { user, session, error } = await supabase.auth.signIn({
- refreshToken: response.params?.refresh_token,
- })
-})
-```
-
-
-
-
diff --git a/apps/temp-docs/docs/reference/javascript/auth-signout.mdx b/apps/temp-docs/docs/reference/javascript/auth-signout.mdx
deleted file mode 100644
index caa66f506bf..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-signout.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: auth-signout
-title: "signOut()"
-slug: auth-signout
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Inside a browser context, `signOut()` will remove the logged in user from the browser session
-and log them out - removing all items from localstorage and then trigger a "SIGNED_OUT" event.
-
-For server-side management, you can disable sessions by passing a JWT through to `auth.api.signOut(JWT: string)`
-
-
-
-
-
-```js
-const { error } = await supabase.auth.signOut()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Sign out
-
-
-
-
-
-
-
-```js
-const { error } = await supabase.auth.signOut()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-signup.mdx b/apps/temp-docs/docs/reference/javascript/auth-signup.mdx
deleted file mode 100644
index 6a153f3b576..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-signup.mdx
+++ /dev/null
@@ -1,185 +0,0 @@
----
-id: auth-signup
-title: 'signUp()'
-slug: auth-signup
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Creates a new user.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- By default, the user will need to verify their email address before logging in. If you would like to change this, you can disable "Email Confirmations" by going to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- If "Email Confirmations" is turned on, a `user` is returned but `session` will be null
-- If "Email Confirmations" is turned off, both a `user` and a `session` will be returned
-- When the user confirms their email address, they will be redirected to localhost:3000 by default. To change this, you can go to Authentication -> Settings on [app.supabase.com](https://app.supabase.com)
-- If signUp() is called for an existing confirmed user:
- - If "Enable email confirmations" is enabled on the "Authentication" -> "Settings" page, an obfuscated / fake user object will be returned.
- - If "Enable email confirmations" is disabled, an error with a message "User already registered" will be returned.
-- To check if a user already exists, refer to getUser().
-
-## Examples
-
-### Sign up.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp({
- email: 'example@email.com',
- password: 'example-password',
-})
-```
-
-
-
-
-
-### Sign up with additional user meta data.
-
-
-
-
-
-```js
-const { user, session, error } = await supabase.auth.signUp(
- {
- email: 'example@email.com',
- password: 'example-password',
- },
- {
- data: {
- first_name: 'John',
- age: 27,
- },
- }
-)
-```
-
-
-
-
-
-### Sign up with third-party providers.
-
-You can sign up with OAuth providers using the [`signIn()`](/docs/reference/javascript/auth-signin#sign-in-using-third-party-providers) method.
diff --git a/apps/temp-docs/docs/reference/javascript/auth-update.mdx b/apps/temp-docs/docs/reference/javascript/auth-update.mdx
deleted file mode 100644
index bc7f9f6124a..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-update.mdx
+++ /dev/null
@@ -1,137 +0,0 @@
----
-id: auth-update
-title: "update()"
-slug: auth-update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Updates user data, if there is a logged in user.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({email: 'new@email.com'})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-User email: Email updates will send an email to both the user's current and new email with a confirmation link by default.
-To toggle this behavior off and only send a single confirmation link to the new email, toggle "Double confirm email changes" under "Authentication" -> "Settings" off.
-
-
-User metadata: It's generally better to store user data in a table inside your public schema (i.e. `public.users`).
-Use the `update()` method if you have data which rarely changes or is specific only to the logged in user.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update email for authenticated user.
-
-Sends a "Confirm Email Change" email to the new email address.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({email: 'new@email.com'})
-```
-
-
-
-
-
-
-### Update password for authenticated user.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({password: 'new password'})
-```
-
-
-
-
-
-
-### Update a user's metadata.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.update({
- data: { hello: 'world' }
-})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/auth-user.mdx b/apps/temp-docs/docs/reference/javascript/auth-user.mdx
deleted file mode 100644
index f0875580371..00000000000
--- a/apps/temp-docs/docs/reference/javascript/auth-user.mdx
+++ /dev/null
@@ -1,68 +0,0 @@
----
-id: auth-user
-title: "user()"
-slug: auth-user
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Inside a browser context, `user()` will return the user data, if there is a logged in user.
-
-For server-side management, you can get a user through `auth.api.getUserByCookie()`
-
-
-
-
-
-```js
-const user = supabase.auth.user()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-This method gets the user object from memory.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get the logged in user
-
-
-
-
-
-
-
-```js
-const user = supabase.auth.user()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/containedby.mdx b/apps/temp-docs/docs/reference/javascript/containedby.mdx
deleted file mode 100644
index 6e783d53d71..00000000000
--- a/apps/temp-docs/docs/reference/javascript/containedby.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: containedby
-title: ".containedBy()"
-slug: containedby
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .containedBy('main_exports', ['orks', 'surveillance', 'evil'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .containedBy('main_exports', ['cars', 'food', 'machine'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/contains.mdx b/apps/temp-docs/docs/reference/javascript/contains.mdx
deleted file mode 100644
index 9d46db6f9db..00000000000
--- a/apps/temp-docs/docs/reference/javascript/contains.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: contains
-title: ".contains()"
-slug: contains
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .contains('main_exports', ['oil'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/delete-user.mdx b/apps/temp-docs/docs/reference/javascript/delete-user.mdx
deleted file mode 100644
index cb370409907..00000000000
--- a/apps/temp-docs/docs/reference/javascript/delete-user.mdx
+++ /dev/null
@@ -1,118 +0,0 @@
----
-id: delete-user
-title: "Delete User"
-slug: delete-user
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Delete a user. Requires a `service_role` key.
-
-This function should only be called on a server. Never expose your `service_role` key in the browser.
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a user completely.
-
-
-
-
-
-
-
-```js
-const { user, error } = await supabase.auth.api.deleteUser(
- '715ed5db-f090-4b8c-a067-640ecee36aa0',
- 'YOUR_SERVICE_ROLE_KEY'
-)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/delete.mdx b/apps/temp-docs/docs/reference/javascript/delete.mdx
deleted file mode 100644
index 75b26387576..00000000000
--- a/apps/temp-docs/docs/reference/javascript/delete.mdx
+++ /dev/null
@@ -1,147 +0,0 @@
----
-id: delete
-title: "Delete data: delete()"
-slug: delete
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs a DELETE on the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({ id: 666 })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- `delete()` should always be combined with [filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to delete.
-- If you use `delete()` with filters and you have
- [RLS](/docs/learn/auth-deep-dive/auth-row-level-security) enabled, only
- rows visible through `SELECT` policies are deleted. Note that by default
- no rows are visible, so you need at least one `SELECT`/`ALL` policy that
- makes the rows visible.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete records
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({ id: 666 })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/eq.mdx b/apps/temp-docs/docs/reference/javascript/eq.mdx
deleted file mode 100644
index 57a536977bf..00000000000
--- a/apps/temp-docs/docs/reference/javascript/eq.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: eq
-title: ".eq()"
-slug: eq
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` exactly matches the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The shire')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The shire')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .eq('name', 'San Francisco')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .eq('name', 'Mordor')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .eq('name', 'San Francisco')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/filter.mdx b/apps/temp-docs/docs/reference/javascript/filter.mdx
deleted file mode 100644
index 4dcd39afe94..00000000000
--- a/apps/temp-docs/docs/reference/javascript/filter.mdx
+++ /dev/null
@@ -1,230 +0,0 @@
----
-id: filter
-title: ".filter()"
-slug: filter
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose `column` satisfies the filter.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- operator
-
-
- required
-
-
- FilterOperator
-
-
-
-
-The operator to filter with.
-
-
-
-
-
-
-
-
-
- value
-
-
- required
-
-
- any
-
-
-
-
-The value to filter with.
-
-
-
-
-
-
-
-
-## Notes
-
-- `.filter()` expects you to use the raw [PostgREST syntax](https://postgrest.org/en/stable/api.html#horizontal-filtering-rows) for the filter values, so it should only be used as an escape hatch in case other filters don't work.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .filter('name', 'in', '("Paris","Tokyo")')
-```
-
-
-
-
-
-
-### Filter embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, countries ( name )')
- .filter('countries.name', 'in', '("France","Japan")')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/getsubscriptions.mdx b/apps/temp-docs/docs/reference/javascript/getsubscriptions.mdx
deleted file mode 100644
index 7e98d88a575..00000000000
--- a/apps/temp-docs/docs/reference/javascript/getsubscriptions.mdx
+++ /dev/null
@@ -1,65 +0,0 @@
----
-id: getsubscriptions
-title: "getSubscriptions()"
-slug: getsubscriptions
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Returns an array of all your subscriptions.
-
-
-
-
-
-```js
-const subscriptions = supabase.getSubscriptions()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get all subscriptions
-
-
-
-
-
-
-
-```js
-const subscriptions = supabase.getSubscriptions()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/gt.mdx b/apps/temp-docs/docs/reference/javascript/gt.mdx
deleted file mode 100644
index 159221aabd6..00000000000
--- a/apps/temp-docs/docs/reference/javascript/gt.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: gt
-title: ".gt()"
-slug: gt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is greater than the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .gt('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .gt('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/gte.mdx b/apps/temp-docs/docs/reference/javascript/gte.mdx
deleted file mode 100644
index eb67a61bcd8..00000000000
--- a/apps/temp-docs/docs/reference/javascript/gte.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: gte
-title: ".gte()"
-slug: gte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is greater than or
-equal to the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .gte('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .gte('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/ilike.mdx b/apps/temp-docs/docs/reference/javascript/ilike.mdx
deleted file mode 100644
index 94090260f1e..00000000000
--- a/apps/temp-docs/docs/reference/javascript/ilike.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: ilike
-title: ".ilike()"
-slug: ilike
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value in the stated `column` matches the supplied
-`pattern` (case insensitive).
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .ilike('name', '%la%')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .ilike('name', '%la%')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/in.mdx b/apps/temp-docs/docs/reference/javascript/in.mdx
deleted file mode 100644
index 09c29d98692..00000000000
--- a/apps/temp-docs/docs/reference/javascript/in.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: in
-title: ".in()"
-slug: in
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is found on the
-specified `values`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .in('name', ['Rio de Janeiro', 'San Francisco'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/insert.mdx b/apps/temp-docs/docs/reference/javascript/insert.mdx
deleted file mode 100644
index abaf8b0eda2..00000000000
--- a/apps/temp-docs/docs/reference/javascript/insert.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: insert
-title: "Create data: insert()"
-slug: insert
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an INSERT into the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 }
- ])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- By default, every time you run `insert()`, the client library will make a `select` to return the full record.
-This is convenient, but it can also cause problems if your Policies are not configured to allow the `select` operation.
-If you are using Row Level Security and you are encountering problems, try setting the `returning` param to `minimal`.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create a record
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 }
- ])
-```
-
-
-
-
-
-
-### Bulk create
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert([
- { name: 'The Shire', country_id: 554 },
- { name: 'Rohan', country_id: 555 },
- ])
-```
-
-
-
-
-
-
-### Upsert
-
-For upsert, if set to true, primary key columns would need to be included
-in the data parameter in order for an update to properly happen. Also, primary keys
-used must be natural, not surrogate. There are however,
-[workarounds](https://github.com/PostgREST/postgrest/issues/1118)
-for surrogate primary keys.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .insert(
- [
- { name: 'The Shire', country_id: 554 },
- { name: 'Rohan', country_id: 555 },
- { name: 'City by the Bay', country_id:840}
- ],
- { upsert: true })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/installing.mdx b/apps/temp-docs/docs/reference/javascript/installing.mdx
index 80d1b5cf909..8fdc1a90e8a 100644
--- a/apps/temp-docs/docs/reference/javascript/installing.mdx
+++ b/apps/temp-docs/docs/reference/javascript/installing.mdx
@@ -1,42 +1,37 @@
---
id: installing
-title: "Installing"
+title: 'Installing'
slug: installing
custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
---
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
+import Tabs from '@theme/Tabs'
+import TabItem from '@theme/TabItem'
-All JavaScript libraries are built directly by the Supabase team.
+All JavaScript libraries are built directly by the Supabase team. this is in reference/js/installing
Other languages are built by the community and supported by Supabase.
## JavaScript
Via NPM
+
```bash
npm install @supabase/supabase-js
```
Via Yarn
+
```bash
yarn add @supabase/supabase-js
```
-Find the source code on [GitHub](https://github.com/supabase/supabase-js).
+Find the source code on [GitHub](https://github.com/supabase/supabase-js).
Or via CDN
+
```js
//or
```
-
-## Python
-
-```bash
-pip install supabase-py
-```
-
-Find the source code on [GitHub](https://github.com/supabase/supabase-py).
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/is.mdx b/apps/temp-docs/docs/reference/javascript/is.mdx
deleted file mode 100644
index fb75d615a60..00000000000
--- a/apps/temp-docs/docs/reference/javascript/is.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: is
-title: ".is()"
-slug: is
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-A check for exact equality (null, true, false), finds all rows whose
-value on the stated `column` exactly match the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .is('name', null)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .is('name', null)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .is('name', null)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .is('name', null)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .is('name', null)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/like.mdx b/apps/temp-docs/docs/reference/javascript/like.mdx
deleted file mode 100644
index fee839bf02f..00000000000
--- a/apps/temp-docs/docs/reference/javascript/like.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: like
-title: ".like()"
-slug: like
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value in the stated `column` matches the supplied
-`pattern` (case sensitive).
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .like('name', '%la%')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .like('name', '%la%')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .like('name', '%la%')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/limit.mdx b/apps/temp-docs/docs/reference/javascript/limit.mdx
deleted file mode 100644
index 6d7f0708e65..00000000000
--- a/apps/temp-docs/docs/reference/javascript/limit.mdx
+++ /dev/null
@@ -1,165 +0,0 @@
----
-id: limit
-title: "limit()"
-slug: limit
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Limits the result with the specified `count`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
-```
-
-
-
-
-
-
-### With embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, cities(name)')
- .eq('name', 'United States')
- .limit(1, { foreignTable: 'cities' })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/lt.mdx b/apps/temp-docs/docs/reference/javascript/lt.mdx
deleted file mode 100644
index dff252d9bc3..00000000000
--- a/apps/temp-docs/docs/reference/javascript/lt.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: lt
-title: ".lt()"
-slug: lt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is less than the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .lt('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .lt('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/lte.mdx b/apps/temp-docs/docs/reference/javascript/lte.mdx
deleted file mode 100644
index cd783f12d9d..00000000000
--- a/apps/temp-docs/docs/reference/javascript/lte.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: lte
-title: ".lte()"
-slug: lte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` is less than or equal
-to the specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .lte('country_id', 250)
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .lte('country_id', 250)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/match.mdx b/apps/temp-docs/docs/reference/javascript/match.mdx
deleted file mode 100644
index 2c705811778..00000000000
--- a/apps/temp-docs/docs/reference/javascript/match.mdx
+++ /dev/null
@@ -1,165 +0,0 @@
----
-id: match
-title: ".match()"
-slug: match
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose columns match the specified `query` object.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .match({name: 'Beijing', country_id: 156})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/maybesingle.mdx b/apps/temp-docs/docs/reference/javascript/maybesingle.mdx
deleted file mode 100644
index 8e41b958d20..00000000000
--- a/apps/temp-docs/docs/reference/javascript/maybesingle.mdx
+++ /dev/null
@@ -1,75 +0,0 @@
----
-id: maybesingle
-title: "maybeSingle()"
-slug: maybesingle
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves at most one row from the result. Result must be at most one row
-(e.g. using `eq` on a UNIQUE column), otherwise this will result in an
-error.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'Singapore')
- .maybeSingle()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'Singapore')
- .maybeSingle()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/neq.mdx b/apps/temp-docs/docs/reference/javascript/neq.mdx
deleted file mode 100644
index 3793d89dea2..00000000000
--- a/apps/temp-docs/docs/reference/javascript/neq.mdx
+++ /dev/null
@@ -1,186 +0,0 @@
----
-id: neq
-title: ".neq()"
-slug: neq
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose value on the stated `column` doesn't match the
-specified `value`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .neq('name', 'The shire')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .neq('name', 'The shire')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .neq('name', 'San Francisco')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .neq('name', 'Mordor')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .neq('name', 'Lagos')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/not.mdx b/apps/temp-docs/docs/reference/javascript/not.mdx
deleted file mode 100644
index 2d9ce2cae81..00000000000
--- a/apps/temp-docs/docs/reference/javascript/not.mdx
+++ /dev/null
@@ -1,206 +0,0 @@
----
-id: not
-title: ".not()"
-slug: not
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows which doesn't satisfy the filter.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- operator
-
-
- required
-
-
- FilterOperator
-
-
-
-
-The operator to filter with.
-
-
-
-
-
-
-
-
-
- value
-
-
- required
-
-
- any
-
-
-
-
-The value to filter with.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Mordor' })
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .delete()
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .not('name', 'eq', 'Paris')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/or.mdx b/apps/temp-docs/docs/reference/javascript/or.mdx
deleted file mode 100644
index f4dcc9ec923..00000000000
--- a/apps/temp-docs/docs/reference/javascript/or.mdx
+++ /dev/null
@@ -1,187 +0,0 @@
----
-id: or
-title: ".or()"
-slug: or
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows satisfying at least one of the filters.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.eq.20,id.eq.30')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.eq.20,id.eq.30')
-```
-
-
-
-
-
-
-### Use `or` with `and`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .or('id.gt.20,and(name.eq.New Zealand,name.eq.France)')
-```
-
-
-
-
-
-
-### Use `or` on foreign tables
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('id, cities(*)')
- .or('name.eq.Wellington,name.eq.Paris', { foreignTable: "cities" })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/order.mdx b/apps/temp-docs/docs/reference/javascript/order.mdx
deleted file mode 100644
index c8b536b8bc0..00000000000
--- a/apps/temp-docs/docs/reference/javascript/order.mdx
+++ /dev/null
@@ -1,207 +0,0 @@
----
-id: order
-title: "order()"
-slug: order
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Orders the result with the specified `column`.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name', 'country_id')
- .order('id', { ascending: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name', 'country_id')
- .order('id', { ascending: false })
-```
-
-
-
-
-
-
-### With embedded resources
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, cities(name)')
- .eq('name', 'United States')
- .order('name', {foreignTable: 'cities'})
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/overlaps.mdx b/apps/temp-docs/docs/reference/javascript/overlaps.mdx
deleted file mode 100644
index b396a179145..00000000000
--- a/apps/temp-docs/docs/reference/javascript/overlaps.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: overlaps
-title: ".overlaps()"
-slug: overlaps
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, main_exports')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-let countries = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .overlaps('main_exports', ['computers', 'minerals'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/range.mdx b/apps/temp-docs/docs/reference/javascript/range.mdx
deleted file mode 100644
index 00b8532b0f2..00000000000
--- a/apps/temp-docs/docs/reference/javascript/range.mdx
+++ /dev/null
@@ -1,162 +0,0 @@
----
-id: range
-title: "range()"
-slug: range
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Limits the result to rows within the specified range, inclusive.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .range(0,3)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- from
-
-
- required
-
-
- number
-
-
-
-
-The starting index from which to limit the result, inclusive.
-
-
-
-
-
-
-
-
-
- to
-
-
- required
-
-
- number
-
-
-
-
-The last index to which to limit the result, inclusive.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .range(0,3)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rangeadjacent.mdx b/apps/temp-docs/docs/reference/javascript/rangeadjacent.mdx
deleted file mode 100644
index 5197c6baf77..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rangeadjacent.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangeadjacent
-title: ".rangeAdjacent()"
-slug: rangeadjacent
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeAdjacent('population_range_millions', [70, 185])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rangegt.mdx b/apps/temp-docs/docs/reference/javascript/rangegt.mdx
deleted file mode 100644
index c152a4222a1..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rangegt.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangegt
-title: ".rangeGt()"
-slug: rangegt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeGt('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rangegte.mdx b/apps/temp-docs/docs/reference/javascript/rangegte.mdx
deleted file mode 100644
index 1d7fd697384..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rangegte.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangegte
-title: ".rangeGte()"
-slug: rangegte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeGte('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rangelt.mdx b/apps/temp-docs/docs/reference/javascript/rangelt.mdx
deleted file mode 100644
index 3663dacc60b..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rangelt.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangelt
-title: ".rangeLt()"
-slug: rangelt
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeLt('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rangelte.mdx b/apps/temp-docs/docs/reference/javascript/rangelte.mdx
deleted file mode 100644
index 538d45770f3..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rangelte.mdx
+++ /dev/null
@@ -1,140 +0,0 @@
----
-id: rangelte
-title: ".rangeLte()"
-slug: rangelte
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select('name, id, population_range_millions')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `update()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .update({ name: 'Mordor' })
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `delete()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .delete()
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
-
-### With `rpc()`
-
-
-
-
-
-
-
-```js
-// Only valid if the Postgres function returns a table type.
-const { data, error } = await supabase
- .rpc('echo_all_countries')
- .rangeLte('population_range_millions', [150, 250])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/release-notes.md b/apps/temp-docs/docs/reference/javascript/release-notes.md
new file mode 100644
index 00000000000..715215f2197
--- /dev/null
+++ b/apps/temp-docs/docs/reference/javascript/release-notes.md
@@ -0,0 +1,211 @@
+---
+id: release-notes
+---
+
+# Release Notes
+
+Supabase.js v2 release notes.
+
+## 2.0.0
+
+Install the latest with `npm install @supabase/supabase-js`.
+
+### Explicit constructor options
+
+All client specific options within the constructor are keyed to the library: [PR](https://github.com/supabase/supabase-js/pull/458):
+
+```jsx
+const supabase = createClient(apiURL, apiKey, {
+ db: {
+ schema: 'public',
+ },
+ auth: {
+ storage: AsyncStorage,
+ autoRefreshToken: true,
+ persistSession: true,
+ detectSessionInUrl: true,
+ },
+ realtime: {
+ channels,
+ endpoint,
+ },
+ global: {
+ fetch: customFetch,
+ headers: DEFAULT_HEADERS,
+ },
+})
+```
+
+### Typescript support
+
+The libraries now support typescript.
+
+```ts
+// v2 - definitions are injected in `createClient()`
+import type { Database } from './DatabaseDefinitions'
+const supabase = createClient(SUPABASE_URL, ANON_KEY)
+const { data } = await supabase.from('messages').select().match({ id: 1 })
+
+// v1 -- previously definitions were injected in the `from()` method
+supabase.from('messages').select('*')
+```
+
+Types can be generated via the CLI:
+
+```bash
+supabase start
+supabase gen types typescript --local > DatabaseDefinitions.ts
+```
+
+### Data operations return minimal
+
+`.insert()` / `.upsert()` / `.update()` / `.delete()` don't return rows by default: [PR](https://github.com/supabase/postgrest-js/pull/276).
+
+Previously, these methods return inserted/updated/deleted rows by default (which caused [some confusion](https://github.com/supabase/supabase/discussions/1548)), and you can opt to not return it by specifying `returning: 'minimal'`. Now the default behavior is to not return rows. To return inserted/updated/deleted rows, add a `.select()` call at the end, e.g.:
+
+```sql
+const { data, error } = await supabase
+ .from('my_table')
+ .delete()
+ .eq('id', 1)
+ .select()
+```
+
+### New ordering defaults
+
+`.order()` now defaults to Postgres’s default: [PR](https://github.com/supabase/postgrest-js/pull/283).
+
+Previously `nullsFirst` defaults to `false` , meaning `null`s are ordered last. This is bad for performance if e.g. the column uses an index with `NULLS FIRST` (which is the default direction for indexes).
+
+### Cookies and localstorage namespace
+
+Storage key name in the Auth library has changed to include project reference which means that existing websites that had their JWT expiry set to a longer time could find their users logged out with this upgrade.
+
+```jsx
+const defaultStorageKey = `sb-${new URL(this.authUrl).hostname.split('.')[0]}-auth-token`
+```
+
+### New Auth Types
+
+Typescript typings have been reworked. `Session` interface now guarantees that it will always have an `access_token`, `refresh_token` and `user`
+
+```jsx
+interface Session {
+ provider_token?: string | null
+ access_token: string
+ expires_in?: number
+ expires_at?: number
+ refresh_token: string
+ token_type: string
+ user: User
+}
+```
+
+### New Auth methods
+
+We're removing the `signIn()` method in favor of more explicit function signatures:
+`signInWithPassword()`, `signInWithPasswordless()`, and `signInWithOtp()`.
+
+```ts
+// v2
+const { data } = await supabase.auth.signInWithPassword({
+ email: 'hello@example',
+ password: 'pass',
+})
+// v1
+const { data } = await supabase.auth.signIn({
+ email: 'hello@example',
+ password: 'pass',
+})
+```
+
+### New Realtime methods
+
+There is a new `channel()` method in the Realtime library, which will be used for our Multiplayer updates.
+
+```ts
+supabaseClient
+ .channel('any_string_you_want')
+ .on('presence', { event: 'track' }, (payload) => {
+ console.log(payload)
+ })
+ .subscribe()
+
+supabaseClient
+ .channel('any_string_you_want')
+ .on(
+ 'postgres_changes',
+ {
+ event: 'INSERT',
+ schema: 'public',
+ table: 'movies',
+ },
+ (payload) => {
+ console.log(payload)
+ }
+ )
+ .subscribe()
+```
+
+We will deprecate the `.from().on().subscribe()` method previosuly used for listening to postgres changes.
+
+### Deprecated setAuth()
+
+Deprecated and removed `setAuth()` . To set a custom `access_token` jwt instead, pass the custom header into the `createClient()` method provided: ([PR](https://github.com/supabase/gotrue-js/pull/340))
+
+### All changes
+
+- `supabase-js`
+ - `shouldThrowOnError` has been removed until all the client libraries support this option ([PR](https://github.com/supabase/supabase-js/pull/490)).
+- `postgrest-js`
+ - TypeScript typings have been reworked [PR](https://github.com/supabase/postgrest-js/pull/279)
+ - Use `undefined` instead of `null` for function params, types, etc. (https://github.com/supabase/postgrest-js/pull/278)
+ - Some features are now obsolete: (https://github.com/supabase/postgrest-js/pull/275)
+ - filter shorthands (e.g. `cs` vs. `contains`)
+ - `body` in response (vs. `data`)
+ - `upsert`ing through the `.insert()` method
+ - `auth` method on `PostgrestClient`
+ - client-level `throwOnError`
+- `gotrue-js`
+ - `supabase-js` client allows passing a `storageKey` param which will allow the user to set the key used in local storage for storing the session. By default, this will be namespace-d with the supabase project ref. ([PR](https://github.com/supabase/supabase-js/pull/460))
+ - `signIn` method is now split into `signInWithPassword` , `signInWithPasswordless` , `signInWithOAuth` ([PR](https://github.com/supabase/gotrue-js/pull/304))
+ - Deprecated and removed `session()` , `user()` in favour of using `getSession()` instead. `getSession()` will always return a valid session if a user is already logged in, meaning no more random logouts. ([PR](https://github.com/supabase/gotrue-js/pull/299))
+ - Deprecated and removed setting for `multitab` support because `getSession()` and gotrue’s reuse interval setting takes care of session management across multiple tabs ([PR](https://github.com/supabase/gotrue-js/pull/366))
+ - No more throwing of random errors, gotrue-js v2 always returns a custom error type: ([PR](https://github.com/supabase/gotrue-js/pull/341))
+ - `AuthSessionMissingError`
+ - Indicates that a session is expected but missing
+ - `AuthNoCookieError`
+ - Indicates that a cookie is expected but missing
+ - `AuthInvalidCredentialsError`
+ - Indicates that the incorrect credentials were passed
+ - Renamed the `api` namespace to `admin` , the `admin` namespace will only contain methods that should only be used in a trusted server-side environment with the service role key
+ - Moved `resetPasswordForEmail` , `getUser` and `updateUser` to the `GoTrueClient` which means they will be accessible from the `supabase.auth` namespace in `supabase-js` instead of having to do `supabase.auth.api` to access them
+ - Removed `sendMobileOTP` , `sendMagicLinkEmail` in favor of `signInWithOtp`
+ - Removed `signInWithEmail`, `signInWithPhone` in favor of `signInWithPassword`
+ - Removed `signUpWithEmail` , `signUpWithPhone` in favor of `signUp`
+ - Replaced `update` with `updateUser`
+- `storage-js`
+ - Return types are more strict. Functions types used to indicate that the data returned could be null even if there was no error. We now make use of union types which only mark the data as null if there is an error and vice versa. ([PR](https://github.com/supabase/storage-js/pull/60))
+ - The `upload` and `update` function returns the path of the object uploaded as the `path` parameter. Previously the returned value had the bucket name prepended to the path which made it harder to pass the value on to other storage-js methods since all methods take the bucket name and path separately. We also chose to call the returned value `path` instead of `Key` ([PR](https://github.com/supabase/storage-js/pull/75))
+ - `getPublicURL` only returns the public URL inside the data object. This keeps it consistent with our other methods of returning only within the data object. No error is returned since this method cannot does not throw an error ([PR](https://github.com/supabase/storage-js/pull/93))
+ - signed urls are returned as `signedUrl` instead of `signedURL` in both `createSignedUrl` and `createSignedUrls` ([PR](https://github.com/supabase/storage-js/pull/94))
+ - Encodes URLs returned by `createSignedUrl`, `createSignedUrls` and `getPublicUrl` ([PR](https://github.com/supabase/storage-js/pull/86))
+ - `createsignedUrl` used to return a url directly and and within the data object. This was inconsistent. Now we always return values only inside the data object across all methods. ([PR](https://www.notion.so/LW5-supabase-js-v2-7b0bfcdf571d4f20b9b7a9308883f24b))
+ - `createBucket` returns a data object instead of the name of the bucket directly. ([PR](https://github.com/supabase/storage-js/pull/89))
+ - Fixed types for metadata ([PR](https://github.com/supabase/storage-js/pull/90))
+ - Better error types make it easier to track down what went wrong quicker.
+ - `SupabaseStorageClient` is no longer exported. Use `StorageClient` instead. ([PR](https://github.com/supabase/storage-js/pull/92)).
+- `realtime-js`
+ - `RealtimeSubscription` class no longer exists and replaced by `RealtimeChannel`.
+ - `RealtimeClient`'s `disconnect` method now returns type of `void` . It used to return type of `Promise<{ error: Error | null; data: boolean }`.
+ - Removed `removeAllSubscriptions` and `removeSubscription` methods from `SupabaseClient` class.
+ - Removed `SupabaseRealtimeClient` class.
+ - Removed `SupabaseQueryBuilder` class.
+ - Removed `SupabaseEventTypes` type.
+ - Thinking about renaming this to something like `RealtimePostgresChangeEvents` and moving it to `realtime-js` v2.
+ - Removed `.from(’table’).on(’INSERT’, () ⇒ {}).subscribe()` in favor of new Realtime client API.
+- `functions-js`
+ - supabase-js v1 only threw an error if the fetch call itself threw an error (network errors, etc) and not if the function returned HTTP errors like 400s or 500s. We have changed this behaviour to return an error if your function throws an error.
+ - We have introduced new error types to distinguish between different kinds of errors. A `FunctionsHttpError` error is returned if your function throws an error, `FunctionsRelayError` if the Supabase Relay has an error processing your function and `FunctionsFetchError` if there is a network error in calling your function.
+ - The correct content-type headers are automatically attached when sending the request if you don’t pass in a `Content-Type` header and pass in an argument to your function. We automatically attach the content type for `Blob`, `ArrayBuffer`, `File`, `FormData` ,`String` . If it doesn’t match any of these we assume the payload is `json` , we serialise the payload as JSON and attach the content type as `application/json`.
+ - `responseType` does not need to be explicitly passed in. We parse the response based on the `Content-Type` response header sent by the function. We support parsing the responses as `text`, `json`, `blob`, `form-data` and are parsed as `text` by default.
diff --git a/apps/temp-docs/docs/reference/javascript/removeallsubscriptions.mdx b/apps/temp-docs/docs/reference/javascript/removeallsubscriptions.mdx
deleted file mode 100644
index 6786350333a..00000000000
--- a/apps/temp-docs/docs/reference/javascript/removeallsubscriptions.mdx
+++ /dev/null
@@ -1,66 +0,0 @@
----
-id: removeallsubscriptions
-title: "removeAllSubscriptions()"
-slug: removeallsubscriptions
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes all subscriptions and disconnects the Websocket connection.
-
-
-
-
-
-```js
-supabase.removeAllSubscriptions()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-- Removing subscriptions is a great way to maintain the performance of your project's database. Supabase will automatically handle cleanup 30 seconds after a user is disconnected, but unused subscriptions may cause degradation as more users are simultaneously subscribed.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Removes all subscriptions
-
-
-
-
-
-
-
-```js
-supabase.removeAllSubscriptions()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/removesubscription.mdx b/apps/temp-docs/docs/reference/javascript/removesubscription.mdx
deleted file mode 100644
index 53c2a6b7a94..00000000000
--- a/apps/temp-docs/docs/reference/javascript/removesubscription.mdx
+++ /dev/null
@@ -1,90 +0,0 @@
----
-id: removesubscription
-title: "removeSubscription()"
-slug: removesubscription
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes an active subscription and returns the number of open connections.
-
-
-
-
-
-```js
-supabase.removeSubscription(mySubscription)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Removing subscriptions is a great way to maintain the performance of your project's database. Supabase will automatically handle cleanup 30 seconds after a user is disconnected, but unused subscriptions may cause degradation as more users are simultaneously subscribed.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Remove a subscription
-
-
-
-
-
-
-
-```js
-supabase.removeSubscription(mySubscription)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/reset-password-email.mdx b/apps/temp-docs/docs/reference/javascript/reset-password-email.mdx
deleted file mode 100644
index 7dad6d33ed3..00000000000
--- a/apps/temp-docs/docs/reference/javascript/reset-password-email.mdx
+++ /dev/null
@@ -1,151 +0,0 @@
----
-id: reset-password-email
-title: "Reset Password (Email)"
-slug: reset-password-email
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Sends a reset request to an email address.
-
-
-
-
-
-```js
-const { data, error } = supabase.auth.api
- .resetPasswordForEmail('user@email.com')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-Sends a reset request to an email address.
-
-When the user clicks the reset link in the email they will be forwarded to:
-
-`#access_token=x&refresh_token=y&expires_in=z&token_type=bearer&type=recovery`
-
-Your app must detect `type=recovery` in the fragment and display a password reset form to the user.
-
-You should then use the access_token in the url and new password to update the user as follows:
-
-```js
-const { error, data } = await supabase.auth.api
- .updateUser(access_token, { password : new_password })
-```
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Reset password
-
-
-
-
-
-
-
-```js
-const { data, error } = supabase.auth.api
- .resetPasswordForEmail('user@email.com')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/rpc.mdx b/apps/temp-docs/docs/reference/javascript/rpc.mdx
deleted file mode 100644
index 5a664ee1a86..00000000000
--- a/apps/temp-docs/docs/reference/javascript/rpc.mdx
+++ /dev/null
@@ -1,274 +0,0 @@
----
-id: rpc
-title: "Postgres functions: rpc()"
-slug: rpc
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-You can call Postgres functions as a "Remote Procedure Call".
-
-That's a fancy way of saying that you can put some logic into your database then call it from anywhere.
-It's especially useful when the logic rarely changes - like password resets and updates.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('hello_world')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- fn
-
-
- required
-
-
- string
-
-
-
-
-The function name to call.
-
-
-
-
-
-
-
-
-
- params
-
-
- optional
-
-
- undefined | object
-
-
-
-
-The parameters to pass to the function call.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
- Properties
-
-
-
-
- head
-
-
- required
-
-
- boolean
-
-
-
-
-When set to true, no data will be returned.
-
-
-
-
-
-
-
-
-
- count
-
-
- required
-
-
- null | exact | planned | estimated
-
-
-
-
-Count algorithm to use to count rows in a table.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Call a Postgres function
-
-This is an example of invoking a Postgres function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('hello_world')
-```
-
-
-
-
-
-
-### With Parameters
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('echo_city', { name: 'The Shire' })
-```
-
-
-
-
-
-
-### Bulk processing
-
-You can process large payloads at once using [array parameters](https://postgrest.org/en/stable/api.html#calling-functions-with-array-parameters).
-
-
-
-
-
-```js
-const { data, error } = await postgrest
- .rpc('echo_cities', { names: ['The Shire', 'Mordor'] })
-```
-
-
-
-
-
-
-### With filters
-
-Postgres functions that return tables can also be combined with
-[Modifiers](/docs/reference/javascript/using-modifiers) and
-[Filters](/docs/reference/javascript/using-filters).
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .rpc('echo_all_cities')
- .select('name, population')
- .eq('name', 'The Shire')
-```
-
-
-
-
-
-
-### With count option
-
-You can specify a count option to get the row count along with your data.
-Allowed values for count option are `null`, `exact`, `planned` and `estimated`.
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .rpc('hello_world', {}, { count: 'exact' })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/select.mdx b/apps/temp-docs/docs/reference/javascript/select.mdx
deleted file mode 100644
index 37ee18cf1c9..00000000000
--- a/apps/temp-docs/docs/reference/javascript/select.mdx
+++ /dev/null
@@ -1,388 +0,0 @@
----
-id: select
-title: "Fetch data: select()"
-slug: select
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs vertical filtering with SELECT.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select()
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- By default, Supabase projects will return a maximum of 1,000 rows. This setting can be changed in Project API Settings. It's recommended that you keep it low to limit the payload size of accidental or malicious requests. You can use `range()` queries to paginate through your data.
-- `select()` can be combined with [Modifiers](/docs/reference/javascript/using-modifiers)
-- `select()` can be combined with [Filters](/docs/reference/javascript/using-filters)
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Getting your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select()
-```
-
-
-
-
-
-
-### Selecting specific columns
-
-You can select specific fields from your tables.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name')
-```
-
-
-
-
-
-
-### Query foreign tables
-
-If your database has foreign key relationships, you can query related tables too.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('countries')
- .select(`
- name,
- cities (
- name
- )
- `)
-```
-
-
-
-
-
-
-### Query the same foreign table multiple times
-
-Sometimes you will need to query the same foreign table twice.
-In this case, you can use the name of the joined column to identify
-which join you intend to use. For convenience, you can also give an
-alias for each column. For example, if we had a shop of products,
-and we wanted to get the supplier and the purchaser at the same time
-(both in the users) table:
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('products')
- .select(`
- id,
- supplier:supplier_id ( name ),
- purchaser:purchaser_id ( name )
- `)
-```
-
-
-
-
-
-
-### Filtering with inner joins
-
-If you want to filter a table based on a child table's values you can use the `!inner()` function. For example, if you wanted
-to select all rows in a `message` table which belong to a user with the `username` "Jane":
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .select('*, users!inner(*)')
- .eq('users.username', 'Jane')
-```
-
-
-
-
-
-
-### Querying with count option
-
-You can get the number of rows by using the count option.
-Allowed values for count option are `null`, [exact](https://postgrest.org/en/stable/api.html#exact-count), [planned](https://postgrest.org/en/stable/api.html#planned-count) and [estimated](https://postgrest.org/en/stable/api.html#estimated-count).
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .from('cities')
- .select('name', { count: 'exact' }) // if you don't want to return any rows, you can use { count: 'exact', head: true }
-```
-
-
-
-
-
-
-### Querying JSON data
-
-If you have data inside of a JSONB column, you can apply select
-and query filters to the data values. Postgres offers a
-[number of operators](https://www.postgresql.org/docs/current/functions-json.html)
-for querying JSON data. Also see
-[PostgREST docs](http://postgrest.org/en/v7.0.0/api.html#json-columns) for more details.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .select(`
- id, name,
- address->street
- `)
- .eq('address->postcode', 90210)
-```
-
-
-
-
-
-
-### Return data as CSV
-
-By default the data is returned in JSON format, however you can also request for it to be returned as Comma Separated Values.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .select()
- .csv()
-```
-
-
-
-
-
-
-### Aborting requests in-flight
-
-You can use an [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) to abort requests. Note that `status` and `statusText` doesn't mean anything for aborted requests, since the request wasn't actually fulfilled.
-
-
-
-
-
-
-```js
-const ac = new AbortController()
-supabase
- .from('very_big_table')
- .select()
- .abortSignal(ac.signal)
- .then(console.log)
-ac.abort()
-// {
-// error: {
-// message: 'FetchError: The user aborted a request.',
-// details: '',
-// hint: '',
-// code: ''
-// },
-// data: null,
-// body: null,
-// count: null,
-// status: 400,
-// statusText: 'Bad Request'
-// }
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/single.mdx b/apps/temp-docs/docs/reference/javascript/single.mdx
deleted file mode 100644
index abcc6a619cc..00000000000
--- a/apps/temp-docs/docs/reference/javascript/single.mdx
+++ /dev/null
@@ -1,74 +0,0 @@
----
-id: single
-title: "single()"
-slug: single
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves only one row from the result. Result must be one row (e.g. using
-`limit`), otherwise this will result in an error.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
- .single()
-```
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### With `select()`
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .limit(1)
- .single()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-createbucket.mdx b/apps/temp-docs/docs/reference/javascript/storage-createbucket.mdx
deleted file mode 100644
index 9da8ce977ad..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-createbucket.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: storage-createbucket
-title: "createBucket()"
-slug: storage-createbucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Creates a new Storage bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .createBucket('avatars', { public: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `insert`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .createBucket('avatars', { public: false })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-deletebucket.mdx b/apps/temp-docs/docs/reference/javascript/storage-deletebucket.mdx
deleted file mode 100644
index b246d8b6339..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-deletebucket.mdx
+++ /dev/null
@@ -1,97 +0,0 @@
----
-id: storage-deletebucket
-title: "deleteBucket()"
-slug: storage-deletebucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Deletes an existing bucket. A bucket can't be deleted with existing objects inside it.
-You must first `empty()` the bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .deleteBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select` and `delete`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .deleteBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-emptybucket.mdx b/apps/temp-docs/docs/reference/javascript/storage-emptybucket.mdx
deleted file mode 100644
index 698b18d97e1..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-emptybucket.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: storage-emptybucket
-title: "emptyBucket()"
-slug: storage-emptybucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Removes all objects inside a single bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .emptyBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: `select` and `delete`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Empty bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .emptyBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-createsignedurl.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-createsignedurl.mdx
deleted file mode 100644
index 0be5d2db714..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-createsignedurl.mdx
+++ /dev/null
@@ -1,119 +0,0 @@
----
-id: storage-from-createsignedurl
-title: "from.createSignedUrl()"
-slug: storage-from-createsignedurl
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Create signed url to download file without requiring permissions. This URL can be valid for a set number of seconds.
-
-
-
-
-
-```js
-const { signedURL, error } = await supabase
- .storage
- .from('avatars')
- .createSignedUrl('folder/avatar1.png', 60)
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The file path to be downloaded, including the current file name. For example `folder/image.png`.
-
-
-
-
-
-
-
-
-
- expiresIn
-
-
- required
-
-
- number
-
-
-
-
-The number of seconds until the signed URL expires. For example, `60` for a URL which is valid for one minute.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Create Signed URL
-
-
-
-
-
-
-
-```js
-const { signedURL, error } = await supabase
- .storage
- .from('avatars')
- .createSignedUrl('folder/avatar1.png', 60)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-download.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-download.mdx
deleted file mode 100644
index 4222d61947c..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-download.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: storage-from-download
-title: "from.download()"
-slug: storage-from-download
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Downloads a file.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .download('folder/avatar1.png')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Download file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .download('folder/avatar1.png')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx
deleted file mode 100644
index adf4d7fb5e1..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-getpublicurl.mdx
+++ /dev/null
@@ -1,82 +0,0 @@
----
-id: storage-from-getpublicurl
-title: 'from.getPublicUrl()'
-slug: storage-from-getpublicurl
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs'
-import TabsPanel from '@theme/TabsPanel'
-
-Retrieve URLs for assets in public buckets
-
-
-
-
-
-```js
-const { publicURL, error } = supabase.storage
- .from('public-bucket')
- .getPublicUrl('folder/avatar1.png')
-```
-
-
-
-
-
-## Parameters
-
-
-
-## Notes
-
-- The bucket needs to be set to public, either via [updateBucket()](/docs/reference/javascript/storage-updatebucket) or by going to Storage on [app.supabase.com](https://app.supabase.com), clicking the overflow menu on a bucket and choosing "Make public"
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: none
-
-## Examples
-
-### Returns the URL for an asset in a public bucket
-
-
-
-
-
-```js
-const { publicURL, error } = supabase.storage
- .from('public-bucket')
- .getPublicUrl('folder/avatar1.png')
-```
-
-
-
-
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-list.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-list.mdx
deleted file mode 100644
index bda57dd68a5..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-list.mdx
+++ /dev/null
@@ -1,148 +0,0 @@
----
-id: storage-from-list
-title: "from.list()"
-slug: storage-from-list
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Lists all the files within a bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .list('folder', {
- limit: 100,
- offset: 0,
- sortBy: { column: 'name', order: 'asc' },
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- optional
-
-
- undefined | string
-
-
-
-
-The folder path.
-
-
-
-
-
-
-
-
-
- options
-
-
- optional
-
-
- SearchOptions
-
-
-
-
-Search options, including `limit`, `offset`, and `sortBy`.
-
-
-
-
-
-
-
-
-
- parameters
-
-
- optional
-
-
- FetchParameters
-
-
-
-
-Fetch parameters, currently only supports `signal`, which is an AbortController's signal
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### List files in a bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .list('folder', {
- limit: 100,
- offset: 0,
- sortBy: { column: 'name', order: 'asc' },
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-move.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-move.mdx
deleted file mode 100644
index 8c00b50ebeb..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-move.mdx
+++ /dev/null
@@ -1,119 +0,0 @@
----
-id: storage-from-move
-title: "from.move()"
-slug: storage-from-move
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Moves an existing file, optionally renaming it at the same time.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .move('public/avatar1.png', 'private/avatar2.png')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- fromPath
-
-
- required
-
-
- string
-
-
-
-
-The original file path, including the current file name. For example `folder/image.png`.
-
-
-
-
-
-
-
-
-
- toPath
-
-
- required
-
-
- string
-
-
-
-
-The new file path, including the new file name. For example `folder/image-copy.png`.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `update` and `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Move file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .move('public/avatar1.png', 'private/avatar2.png')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-remove.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-remove.mdx
deleted file mode 100644
index 0df1e3bd7cf..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-remove.mdx
+++ /dev/null
@@ -1,98 +0,0 @@
----
-id: storage-from-remove
-title: "from.remove()"
-slug: storage-from-remove
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Deletes files within the same bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .remove(['folder/avatar1.png'])
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `delete` and `select`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Delete file
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .remove(['folder/avatar1.png'])
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-update.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-update.mdx
deleted file mode 100644
index 11d4fb2be31..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-update.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: storage-from-update
-title: "from.update()"
-slug: storage-from-update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Replaces an existing file at the specified path with a new one.
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
-
-
-
-
-
-
-
-
-
- fileBody
-
-
- required
-
-
- ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | ReadableStream | ReadableStream | URLSearchParams | string
-
-
-
-
-The body of the file to be stored in the bucket.
-
-
-
-
-
-
-
-
-
- fileOptions
-
-
- optional
-
-
- FileOptions
-
-
-
-
-HTTP headers.
-`cacheControl`: string, the `Cache-Control: max-age=` seconds value.
-`contentType`: string, the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`.
-`upsert`: boolean, whether to perform an upsert.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `update` and `select`
-- For React Native, using either `Blob`, `File` or `FormData` does not work as intended. Update file using `ArrayBuffer` from base64 file data instead, see example below.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update file
-
-
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-### Update file using `ArrayBuffer` from base64 file data
-
-
-
-
-
-
-
-```js
-import {decode} from 'base64-arraybuffer'
-
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .update('public/avatar1.png', decode('base64FileData'), {
- contentType: 'image/png'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-from-upload.mdx b/apps/temp-docs/docs/reference/javascript/storage-from-upload.mdx
deleted file mode 100644
index bc5fe41832e..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-from-upload.mdx
+++ /dev/null
@@ -1,179 +0,0 @@
----
-id: storage-from-upload
-title: "from.upload()"
-slug: storage-from-upload
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Uploads a file to an existing bucket.
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- path
-
-
- required
-
-
- string
-
-
-
-
-The relative file path. Should be of the format `folder/subfolder/filename.png`. The bucket must already exist before attempting to upload.
-
-
-
-
-
-
-
-
-
- fileBody
-
-
- required
-
-
- ArrayBuffer | ArrayBufferView | Blob | Buffer | File | FormData | ReadableStream | ReadableStream | URLSearchParams | string
-
-
-
-
-The body of the file to be stored in the bucket.
-
-
-
-
-
-
-
-
-
- fileOptions
-
-
- optional
-
-
- FileOptions
-
-
-
-
-HTTP headers.
-`cacheControl`: string, the `Cache-Control: max-age=` seconds value.
-`contentType`: string, the `Content-Type` header value. Should be specified if using a `fileBody` that is neither `Blob` nor `File` nor `FormData`, otherwise will default to `text/plain;charset=UTF-8`.
-`upsert`: boolean, whether to perform an upsert.
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: none
- - `objects` permissions: `insert`
-- For React Native, using either `Blob`, `File` or `FormData` does not work as intended. Upload file using `ArrayBuffer` from base64 file data instead, see example below.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Upload file
-
-
-
-
-
-
-
-```js
-const avatarFile = event.target.files[0]
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', avatarFile, {
- cacheControl: '3600',
- upsert: false
- })
-```
-
-
-
-
-
-
-### Upload file using `ArrayBuffer` from base64 file data
-
-
-
-
-
-
-
-```js
-import {decode} from 'base64-arraybuffer'
-
-const { data, error } = await supabase
- .storage
- .from('avatars')
- .upload('public/avatar1.png', decode('base64FileData'), {
- contentType: 'image/png'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-getbucket.mdx b/apps/temp-docs/docs/reference/javascript/storage-getbucket.mdx
deleted file mode 100644
index 96da99dac06..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-getbucket.mdx
+++ /dev/null
@@ -1,96 +0,0 @@
----
-id: storage-getbucket
-title: "getBucket()"
-slug: storage-getbucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves the details of an existing Storage bucket.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .getBucket('avatars')
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Get bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .getBucket('avatars')
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-listbuckets.mdx b/apps/temp-docs/docs/reference/javascript/storage-listbuckets.mdx
deleted file mode 100644
index f78bb44a61e..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-listbuckets.mdx
+++ /dev/null
@@ -1,72 +0,0 @@
----
-id: storage-listbuckets
-title: "listBuckets()"
-slug: storage-listbuckets
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Retrieves the details of all Storage buckets within an existing product.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .listBuckets()
-```
-
-
-
-
-
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `select`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### List buckets
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .listBuckets()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/storage-updatebucket.mdx b/apps/temp-docs/docs/reference/javascript/storage-updatebucket.mdx
deleted file mode 100644
index 903aa7c4415..00000000000
--- a/apps/temp-docs/docs/reference/javascript/storage-updatebucket.mdx
+++ /dev/null
@@ -1,142 +0,0 @@
----
-id: storage-updatebucket
-title: "updateBucket()"
-slug: storage-updatebucket
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Updates a new Storage bucket
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .updateBucket('avatars', { public: false })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Policy permissions required:
- - `buckets` permissions: `update`
- - `objects` permissions: none
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Update bucket
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .storage
- .updateBucket('avatars', { public: false })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/subscribe.mdx b/apps/temp-docs/docs/reference/javascript/subscribe.mdx
deleted file mode 100644
index 7d0139bae12..00000000000
--- a/apps/temp-docs/docs/reference/javascript/subscribe.mdx
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: subscribe
-title: "on().subscribe()"
-slug: subscribe
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Subscribe to realtime changes in your databse.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('*')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-
-
- event
-
-
- required
-
-
- SupabaseEventTypes
-
-
-
-
-The database event which you would like to receive updates for, or you can use the special wildcard `*` to listen to all changes.
-
-
-
-
-
-
-
-
-
- callback
-
-
- required
-
-
- object
-
-
-
-
-A callback that will handle the payload that is sent whenever your database changes.
-
-
-
-
-
-
-
-
-## Notes
-
-- Realtime is disabled by default for new Projects for better database performance and security. You can turn it on by [managing replication](/docs/guides/api#managing-realtime).
-- If you want to receive the "previous" data for updates and deletes, you will need to set `REPLICA IDENTITY` to `FULL`, like this: `ALTER TABLE your_table REPLICA IDENTITY FULL;`
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Listen to all database changes
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('*')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to a specific table
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('*', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to inserts
-
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('INSERT', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to updates
-
-By default, Supabase will send only the updated record. If you want to receive the previous values as well you can
-enable full replication for the table you are listening too:
-
-```sql
-alter table "your_table" replica identity full;
-```
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('UPDATE', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to deletes
-
-By default, Supabase does not send deleted records. If you want to receive the deleted record you can
-enable full replication for the table you are listening too:
-
-```sql
-alter table "your_table" replica identity full;
-```
-
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('DELETE', payload => {
- console.log('Change received!', payload)
- })
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to multiple events
-
-You can chain listeners if you want to listen to multiple events for each table.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries')
- .on('INSERT', handleRecordInserted)
- .on('DELETE', handleRecordDeleted)
- .subscribe()
-```
-
-
-
-
-
-
-### Listening to row level changes
-
-You can listen to individual rows using the format `{table}:{col}=eq.{val}` - where `{col}` is the column name, and `{val}` is the value which you want to match.
-
-
-
-
-
-```js
-const mySubscription = supabase
- .from('countries:id=eq.200')
- .on('UPDATE', handleRecordUpdated)
- .subscribe()
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/supabase-client.mdx b/apps/temp-docs/docs/reference/javascript/supabase-client.mdx
deleted file mode 100644
index a6c7fe90bbc..00000000000
--- a/apps/temp-docs/docs/reference/javascript/supabase-client.mdx
+++ /dev/null
@@ -1,109 +0,0 @@
----
-id: index
-title: "Supabase Client"
-slug: supabase-client
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Our approach for client libraries is modular. Each sub-library is a standalone implementation for a single external system. This is one of the ways we support existing tools.
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/textsearch.mdx b/apps/temp-docs/docs/reference/javascript/textsearch.mdx
deleted file mode 100644
index 6354b2f39a6..00000000000
--- a/apps/temp-docs/docs/reference/javascript/textsearch.mdx
+++ /dev/null
@@ -1,234 +0,0 @@
----
-id: textsearch
-title: ".textSearch()"
-slug: textsearch
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Finds all rows whose tsvector value on the stated `column` matches
-to_tsquery(`query`).
-
-
-
-## Parameters
-
-
-
-
-
-
-
- column
-
-
- required
-
-
- object
-
-
-
-
-The column to filter on.
-
-
-
-
-
-
-
-
-
- query
-
-
- required
-
-
- string
-
-
-
-
-The Postgres tsquery string to filter with.
-
-
-
-
-
-
-
-
-
- __namedParameters
-
-
- required
-
-
- object
-
-
-
-
-No description provided.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Text search
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Basic normalization
-
-Uses PostgreSQL's `plainto_tsquery` function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- type: 'plain',
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Full normalization
-
-Uses PostgreSQL's `phraseto_tsquery` function.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat' & 'cat'`, {
- type: 'phrase',
- config: 'english'
- })
-```
-
-
-
-
-
-
-### Full normalization
-
-Uses PostgreSQL's `websearch_to_tsquery` function.
-This function will never raise syntax errors, which makes it possible to use raw user-supplied input for search, and can be used
-with advanced operators.
-
-- `unquoted text`: text not inside quote marks will be converted to terms separated by & operators, as if processed by plainto_tsquery.
-- `"quoted text"`: text inside quote marks will be converted to terms separated by <-> operators, as if processed by phraseto_tsquery.
-- `OR`: the word “or” will be converted to the | operator.
-- `-`: a dash will be converted to the ! operator.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('quotes')
- .select('catchphrase')
- .textSearch('catchphrase', `'fat or cat'`, {
- type: 'websearch',
- config: 'english'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/typescript-support.md b/apps/temp-docs/docs/reference/javascript/typescript-support.md
new file mode 100644
index 00000000000..cb564843bba
--- /dev/null
+++ b/apps/temp-docs/docs/reference/javascript/typescript-support.md
@@ -0,0 +1,81 @@
+---
+id: typescript-support
+---
+
+# Typescript Support
+
+`supabase-js` supports Typescript.
+
+## Generating types
+
+You can use our CLI to generate types:
+
+```bash
+supabase start
+supabase gen types typescript --local > lib/database.types.ts
+```
+
+These types are generated directly from your database. Given a table `public.movies`, the definition will provide the following data:
+
+```ts
+interface Database {
+ public: {
+ Tables: {
+ movies: {
+ Row: {} // The data expected to be returned from a "select" statement.
+ Insert: {} // The data expected passed to an "insert" statement.
+ Update: {} // The data expected passed to an "update" statement.
+ }
+ }
+ }
+}
+```
+
+There is a difference between `selects`, `inserts`, and `updates`, because often you will set default values in your database for specific columns.
+With default values you do not need to send any data over the network, even if that column is a "required" field. Our type system is granular
+enough to handle these situations.
+
+## Injecting type definitions
+
+You can enrich the supabase client with the types you generated with Supabase.
+
+```ts
+import { createClient } from '@supabase/supabase-js'
+import { Database } from 'lib/database.types'
+
+const supabase = createClient(process.env.SUPABASE_URL, process.env.SUPABASE_ANON_KEY)
+```
+
+## Type hints
+
+`supabase-js` always returns a `data` object (for success), and an `error` response (for unsuccessful requests).
+This provides a simple interface to get the relevant types returned from any function:
+
+```ts
+export async function getMovies() {
+ return await supabase.from('movies').select(`id, title`)
+}
+
+type MoviesResponse = Awaited>
+export type MoviesResponseSuccess = MoviesResponse['data']
+export type MoviesResponseError = MoviesResponse['error']
+```
+
+## Nested tables
+
+For advanced queries such as nested tables, you may want to construct your own types.
+
+```ts
+import supabase from '~/lib/supabase'
+import type { Database } from '~/lib/database.types'
+
+async function getMovies() {
+ return await supabase.from('movies').select('id, title, actors(*)')
+}
+
+type Actors = Database['public']['Tables']['actors']['Row']
+type MoviesResponse = Awaited>
+type MoviesResponseSuccess = MoviesResponse['data'] & {
+ actors: Actors[]
+}
+```
diff --git a/apps/temp-docs/docs/reference/javascript/update.mdx b/apps/temp-docs/docs/reference/javascript/update.mdx
deleted file mode 100644
index dca58efa64d..00000000000
--- a/apps/temp-docs/docs/reference/javascript/update.mdx
+++ /dev/null
@@ -1,195 +0,0 @@
----
-id: update
-title: "Modify data: update()"
-slug: update
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an UPDATE on the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Middle Earth' })
- .match({ name: 'Auckland' })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- `update()` should always be combined with [Filters](/docs/reference/javascript/using-filters) to target the item(s) you wish to update.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Updating your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .update({ name: 'Middle Earth' })
- .match({ name: 'Auckland' })
-```
-
-
-
-
-
-
-### Updating JSON data
-
-Postgres offers a
-[number of operators](https://www.postgresql.org/docs/current/functions-json.html)
-for working with JSON data. Right now it is only possible to update an entire JSON document,
-but we are [working on ideas](https://github.com/PostgREST/postgrest/issues/465) for updating individual keys.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .update(`
- address: {
- street: 'Melrose Place',
- postcode: 90210
- }
- `)
- .eq('address->postcode', 90210)
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/upgrade-guide.mdx b/apps/temp-docs/docs/reference/javascript/upgrade-guide.mdx
new file mode 100644
index 00000000000..c0afabbfbae
--- /dev/null
+++ b/apps/temp-docs/docs/reference/javascript/upgrade-guide.mdx
@@ -0,0 +1,460 @@
+---
+id: upgrade-guide
+title: Upgrade to supabase-js v2
+description: 'Learn how to upgrade to supabase-js v2.'
+---
+
+import Tabs from '@theme/Tabs'
+import TabItem from '@theme/TabItem'
+
+supabase-js v2 focuses on "quality-of-life" improvements for developers and addresses some of the largest pain points in v1. v2 includes type support, a rebuilt Auth library with async methods, improved errors, and more.
+
+No new features will be added to supabase-js v1 , but we'll continuing merging security fixes to v1, with maintenance patches for the next 3 months.
+
+## Upgrade the client library
+
+```sh
+npm install @supabase/supabase-js@2
+```
+
+_Optionally_ if you are using custom configuration with `createClient` then follow below:
+
+
+
+
+
+```ts title="src/supabaseClient.ts"
+const supabaseClient = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
+ schema: 'custom',
+ persistSession: false,
+})
+```
+
+
+
+
+
+```ts title="src/supabaseClient.ts"
+const supabaseClient = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
+ db: {
+ schema: 'custom',
+ },
+ auth: {
+ persistSession: true,
+ },
+})
+```
+
+
+
+
+Read more about the [constructor options](/docs/reference/javascript/release-notes#explicit-constructor-options).
+
+### Auth methods
+
+The signIn() method has been deprecated in favor of more explicit method signatures to help with type hinting. Previously it was difficult for developers to know what they were missing (e.g., a lot of developers didn't realize they could use passwordless magic links).
+
+#### Sign in with email and password
+
+
+
+
+
+```ts
+const { user, error } = await supabase.auth.signIn({ email, password })
+```
+
+
+
+
+
+```ts
+const {
+ data: { user },
+ error,
+} = await supabase.auth.signInWithPassword({ email, password })
+```
+
+
+
+
+#### Sign in with magic link
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signIn({ email })
+```
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signInWithOtp({ email })
+```
+
+
+
+
+#### Sign in with a third-party provider
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signIn({ provider })
+```
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signInWithOAuth({ provider })
+```
+
+
+
+
+#### Sign in with phone
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signIn({ phone, password })
+```
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.signInWithPassword({ phone, password })
+```
+
+
+
+
+#### Sign in with phone using OTP
+
+
+
+
+
+```ts
+const { error } = await supabase.auth.api.sendMobileOTP(phone)
+```
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.signInWithOtp({ phone })
+
+// After receiving a SMS with a OTP.
+const { data, error } = await supabase.auth.verifyOtp({ phone, token })
+```
+
+
+
+
+#### Reset password for email
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.api.resetPasswordForEmail(email)
+```
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.resetPasswordForEmail(email)
+```
+
+
+
+
+#### Get the user's current session
+
+
+
+
+
+```ts
+const session = supabase.auth.session()
+```
+
+
+
+
+
+```ts
+const {
+ data: { session },
+} = await supabase.auth.getSession()
+```
+
+
+
+
+#### Get the logged-in user
+
+
+
+
+
+```ts
+const user = supabase.auth.user()
+```
+
+
+
+
+
+```ts
+const {
+ data: { session },
+} = await supabase.auth.getSession()
+const { user } = session
+```
+
+
+
+
+#### Update user data for a logged-in user
+
+
+
+
+
+```ts
+const { user, error } = await supabase.auth.update({ attributes })
+```
+
+
+
+
+
+```ts
+const {
+ data: { user },
+ error,
+} = await supabase.auth.updateUser({ attributes })
+```
+
+
+
+
+#### Use a custom `access_token` JWT with Supabase
+
+
+
+
+
+```ts
+const { user, error } = supabase.auth.setAuth(access_token)
+```
+
+
+
+
+
+```ts
+const supabase = createClient(SUPABASE_URL, SUPABASE_ANON_KEY, {
+ global: {
+ headers: {
+ Authorization: `Bearer ${access_token}`,
+ },
+ },
+})
+```
+
+
+
+
+### Data methods
+
+`.insert()` / `.upsert()` / `.update()` / `.delete()` don't return rows by default: [PR](https://github.com/supabase/postgrest-js/pull/276).
+
+Previously, these methods return inserted/updated/deleted rows by default (which caused [some confusion](https://github.com/supabase/supabase/discussions/1548)), and you can opt to not return it by specifying `returning: 'minimal'`. Now the default behavior is to not return rows. To return inserted/updated/deleted rows, add a `.select()` call at the end.
+
+#### Insert and return data
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.insert({ new_data })
+```
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.insert({ new_data }).select()
+```
+
+
+
+
+#### Update and return data
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.update({ new_data }).eq('id', id)
+```
+
+
+
+
+
+```ts
+const { data, error } = await supabase.auth.update({ new_data }).eq('id', id).select()
+```
+
+
+
+
+### Realtime methods
+
+#### Subscribe
+
+
+
+
+
+```ts
+const userListener = supabase
+ .from('users')
+ .on('*', (payload) => handleAllEventsPayload(payload.new))
+ .subscribe()
+```
+
+
+
+
+
+```ts
+const userListener = supabase
+ .channel('public:user')
+ .on('postgres_changes', { event: '*', schema: 'public', table: 'user' }, (payload) =>
+ handleAllEventsPayload()
+ )
+ .subscribe()
+```
+
+
+
+
+#### Unsubscribe
+
+
+
+
+
+```ts
+userListener.unsubscribe()
+```
+
+
+
+
+
+```ts
+supabase.removeChannel(userListener)
+```
+
+
+
diff --git a/apps/temp-docs/docs/reference/javascript/upsert.mdx b/apps/temp-docs/docs/reference/javascript/upsert.mdx
deleted file mode 100644
index a0b1edc28ae..00000000000
--- a/apps/temp-docs/docs/reference/javascript/upsert.mdx
+++ /dev/null
@@ -1,281 +0,0 @@
----
-id: upsert
-title: "Upsert data: upsert()"
-slug: upsert
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Performs an UPSERT into the table.
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert({ id: 3, message: 'foo', username: 'supabot' })
-```
-
-
-
-
-
-
-## Parameters
-
-
-
-
-
-## Notes
-
-- Primary keys should be included in the data payload in order for an update to work correctly.
-- Primary keys must be natural, not surrogate. There are however, [workarounds](https://github.com/PostgREST/postgrest/issues/1118) for surrogate primary keys.
-
-
-
-
-
-
-
-
-
-
-## Examples
-
-### Upsert your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert({ id: 3, message: 'foo', username: 'supabot' })
-```
-
-
-
-
-
-
-### Bulk Upsert your data
-
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('messages')
- .upsert([
- { id: 3, message: 'foo', username: 'supabot' },
- { id: 4, message: 'bar', username: 'supabot' }
- ])
-```
-
-
-
-
-
-
-### Upserting into tables with constraints
-
-Running the following will cause supabase to upsert data into the `users` table.
-If the username 'supabot' already exists, the `onConflict` argument tells supabase to overwrite that row
-based on the column passed into `onConflict`.
-
-
-
-
-
-
-```js
-const { data, error } = await supabase
- .from('users')
- .upsert({ username: 'supabot' }, { onConflict: 'username' })
-```
-
-
-
-
-
-
-### Return the exact number of rows
-
-
-
-
-
-
-
-```js
-const { data, error, count } = await supabase
- .from('users')
- .upsert({
- id: 3, message: 'foo',
- username: 'supabot'
- }, {
- count: 'exact'
- })
-```
-
-
-
-
-
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/using-filters.mdx b/apps/temp-docs/docs/reference/javascript/using-filters.mdx
deleted file mode 100644
index b4ce9a4811e..00000000000
--- a/apps/temp-docs/docs/reference/javascript/using-filters.mdx
+++ /dev/null
@@ -1,61 +0,0 @@
----
-id: using-filters
-title: "Using Filters"
-slug: using-filters
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Filters can be used on `select()`, `update()`, and `delete()` queries.
-
-If a Postgres function returns a table response, you can also apply filters.
-
-### Applying Filters
-
-You must apply your filters to the end of your query. For example:
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .eq('name', 'The Shire') // Correct
-
-const { data, error } = await supabase
- .from('cities')
- .eq('name', 'The Shire') // Incorrect
- .select('name, country_id')
-```
-
-### Chaining
-
-Filters can be chained together to produce advanced queries. For example:
-
-```js
-const { data, error } = await supabase
- .from('cities')
- .select('name, country_id')
- .gte('population', 1000)
- .lt('population', 10000)
-```
-
-### Conditional Chaining
-
-Filters can be built up one step at a time and then executed. For example:
-
-```js
-const filterByName = null
-const filterPopLow = 1000
-const filterPopHigh = 10000
-
-let query = supabase
- .from('cities')
- .select('name, country_id')
-
-if (filterByName) { query = query.eq('name', filterByName) }
-if (filterPopLow) { query = query.gte('population', filterPopLow) }
-if (filterPopHigh) { query = query.lt('population', filterPopHigh) }
-
-const { data, error } = await query
-```
\ No newline at end of file
diff --git a/apps/temp-docs/docs/reference/javascript/using-modifiers.mdx b/apps/temp-docs/docs/reference/javascript/using-modifiers.mdx
deleted file mode 100644
index cad96411fd3..00000000000
--- a/apps/temp-docs/docs/reference/javascript/using-modifiers.mdx
+++ /dev/null
@@ -1,13 +0,0 @@
----
-id: using-modifiers
-title: "Using Modifiers"
-slug: using-modifiers
-custom_edit_url: https://github.com/supabase/supabase/edit/master/web/spec/supabase.yml
----
-
-import Tabs from '@theme/Tabs';
-import TabsPanel from '@theme/TabsPanel';
-
-Modifiers can be used on `select()` queries.
-
-If a Postgres function returns a table response, you can also apply modifiers to the `rpc()` function.
\ No newline at end of file
diff --git a/apps/temp-docs/generator/api.ts b/apps/temp-docs/generator/api.ts
new file mode 100644
index 00000000000..9358306f733
--- /dev/null
+++ b/apps/temp-docs/generator/api.ts
@@ -0,0 +1,120 @@
+import template from './templates/ApiTemplate'
+import { slugify, toArrayWithKey, toTitle, writeToDisk } from './helpers'
+import { OpenAPIV3, OpenAPIV2 } from 'openapi-types'
+import * as fs from 'fs'
+import * as ejs from 'ejs'
+
+export default async function gen(inputFileName: string, outputDir: string, apiUrl: string) {
+ const specRaw = fs.readFileSync(inputFileName, 'utf8')
+ const spec = JSON.parse(specRaw) as any
+ // console.log('spec', spec)
+
+ switch (spec.openapi || spec.swagger) {
+ case '3.0.0':
+ case '3.0.3':
+ await gen_v3(spec, outputDir, { apiUrl })
+ break
+
+ case '2.0':
+ await gen_v2(spec, outputDir, { apiUrl })
+ break
+
+ default:
+ console.log('Unrecognized specification version:', spec.openapi)
+ break
+ }
+}
+
+/**
+ * Versioned Generator
+ */
+
+// OPENAPI-SPEC-VERSION: 3.0.0
+type v3OperationWithPath = OpenAPIV3.OperationObject & {
+ path: string
+}
+type enrichedOperation = OpenAPIV3.OperationObject & {
+ path: string
+ fullPath: string
+ operationId: string
+}
+async function gen_v3(spec: OpenAPIV3.Document, dest: string, { apiUrl }: { apiUrl: string }) {
+ const specLayout = spec.tags || []
+ const operations: enrichedOperation[] = []
+ Object.entries(spec.paths).forEach(([key, val]) => {
+ const fullPath = `${apiUrl}${key}`
+
+ toArrayWithKey(val!, 'operation').forEach((o) => {
+ const operation = o as v3OperationWithPath
+ const enriched = {
+ ...operation,
+ path: key,
+ fullPath,
+ operationId: slugify(operation.summary!),
+
+ responseList: toArrayWithKey(operation.responses!, 'responseCode') || [],
+ }
+ operations.push(enriched)
+ })
+ })
+
+ const sections = specLayout.map((section) => {
+ return {
+ ...section,
+ title: toTitle(section.name),
+ id: slugify(section.name),
+ operations: operations.filter((operation) => operation.tags?.includes(section.name)),
+ }
+ })
+
+ const content = ejs.render(template, {
+ info: spec.info,
+ sections,
+ operations,
+ })
+ // console.log(content)
+ // Write to disk
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+}
+
+// OPENAPI-SPEC-VERSION: 2.0
+async function gen_v2(spec: OpenAPIV2.Document, dest: string, { apiUrl }: { apiUrl: string }) {
+ const specLayout = spec.tags || []
+ const operations: enrichedOperation[] = []
+ Object.entries(spec.paths).forEach(([key, val]) => {
+ const fullPath = `${apiUrl}${key}`
+
+ toArrayWithKey(val!, 'operation').forEach((o) => {
+ const operation = o as v3OperationWithPath
+ const enriched = {
+ ...operation,
+ path: key,
+ fullPath,
+ operationId: slugify(operation.summary!),
+
+ responseList: toArrayWithKey(operation.responses!, 'responseCode') || [],
+ }
+ operations.push(enriched)
+ })
+ })
+
+ const sections = specLayout.map((section) => {
+ return {
+ ...section,
+ title: toTitle(section.name),
+ id: slugify(section.name),
+ operations: operations.filter((operation) => operation.tags?.includes(section.name)),
+ }
+ })
+
+ const content = ejs.render(template, {
+ info: spec.info,
+ sections,
+ operations,
+ })
+ // console.log(content)
+ // Write to disk
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+}
diff --git a/apps/temp-docs/generator/cli.ts b/apps/temp-docs/generator/cli.ts
new file mode 100644
index 00000000000..626e39fadb9
--- /dev/null
+++ b/apps/temp-docs/generator/cli.ts
@@ -0,0 +1,47 @@
+import * as fs from 'fs'
+import * as ejs from 'ejs'
+import * as yaml from 'js-yaml'
+import { writeToDisk } from './helpers'
+import template from './templates/CliTemplate'
+import type { CliSpec } from './types/CliSpec'
+
+export default async function gen(inputFileName: string, outputDir: string) {
+ const spec = yaml.load(fs.readFileSync(inputFileName, 'utf8')) as any
+
+ switch (spec.clispec) {
+ case '001':
+ await gen_v001(spec, outputDir)
+ break
+
+ default:
+ console.log('Unrecognized specification version:', spec.clispec)
+ break
+ }
+}
+
+/**
+ * Versioned Generator
+ */
+async function gen_v001(spec: CliSpec, dest: string) {
+ let commandMap = new Map(spec.commands.map((item) => [item.id, item]))
+
+ const commands = spec.commands.map((x) => {
+ const isChild = x.subcommands.length < 1
+ const heading = isChild ? `### ${x.summary} {#${x.id}}` : `## ${x.summary} {#${x.id}}`
+
+ return {
+ ...x,
+ heading,
+ subcommandList: x.subcommands.map((c) => commandMap.get(c)),
+ }
+ })
+
+ const content = ejs.render(template, {
+ info: spec.info,
+ commands,
+ })
+ // console.log(content)
+ // Write to disk
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+}
diff --git a/apps/temp-docs/generator/config.ts b/apps/temp-docs/generator/config.ts
new file mode 100644
index 00000000000..cb6af22cf00
--- /dev/null
+++ b/apps/temp-docs/generator/config.ts
@@ -0,0 +1,44 @@
+import template from './templates/ConfigTemplate'
+import type { ConfigSpec } from './types/ConfigSpec'
+
+import * as fs from 'fs'
+import * as ejs from 'ejs'
+import * as yaml from 'js-yaml'
+import { writeToDisk } from './helpers'
+
+type Section = {
+ id: string
+ title: string
+}
+
+export default async function gen(inputFileName: string, outputDir: string) {
+ const spec = yaml.load(fs.readFileSync(inputFileName, 'utf8')) as any
+ // console.log('spec', spec)
+
+ switch (spec.configspec) {
+ case '001':
+ await gen_v001(spec, outputDir)
+ break
+
+ default:
+ console.log('Unrecognized specification version:', spec.configspec)
+ break
+ }
+}
+
+/**
+ * Versioned Generator
+ */
+async function gen_v001(spec: ConfigSpec, dest: string) {
+ const specLayout = spec.info.tags
+ const sections = specLayout.map((section: Section) => {
+ const parameters = spec.parameters.filter((parameter) => parameter.tags[0] === section.id)
+ return { ...section, parameters }
+ })
+
+ const content = ejs.render(template, { info: spec.info, sections })
+ // console.log(content)
+ // Write to disk
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+}
diff --git a/apps/temp-docs/generator/helpers.ts b/apps/temp-docs/generator/helpers.ts
new file mode 100644
index 00000000000..6bb5653e808
--- /dev/null
+++ b/apps/temp-docs/generator/helpers.ts
@@ -0,0 +1,41 @@
+import * as _ from 'lodash'
+import * as fs from 'fs'
+
+export const slugify = (text: string) => {
+ return text
+ .toString()
+ .toLowerCase()
+ .replace(/[. )(]/g, '-') // Replace spaces and brackets -
+ .replace(/[^\w\-]+/g, '') // Remove all non-word chars
+ .replace(/\-\-+/g, '-') // Replace multiple - with single -
+ .replace(/^-+/, '') // Trim - from start of text
+ .replace(/-+$/, '') // Trim - from end of text
+}
+
+// Uppercase the first letter of a string
+export const toTitle = (text: string) => {
+ return text.charAt(0).toUpperCase() + text.slice(1)
+}
+
+/**
+ * writeToDisk()
+ */
+export const writeToDisk = (fileName: string, content: any) => {
+ return new Promise((resolve, reject) => {
+ fs.writeFile(fileName, content, (err: any) => {
+ if (err) return reject(err)
+ else return resolve(true)
+ })
+ })
+}
+
+/**
+ * Convert Object to Array of values
+ */
+export const toArrayWithKey = (obj: object, keyAs: string) =>
+ _.values(
+ _.mapValues(obj, (value: any, key: string) => {
+ value[keyAs] = key
+ return value
+ })
+ )
diff --git a/apps/temp-docs/generator/index.ts b/apps/temp-docs/generator/index.ts
new file mode 100644
index 00000000000..2623ffe79d3
--- /dev/null
+++ b/apps/temp-docs/generator/index.ts
@@ -0,0 +1,64 @@
+import ApiGenerator from './api'
+import CliGenerator from './cli'
+import ConfigGenerator from './config'
+import SdkGenerator from './sdk'
+import LegacyGenerator from './legacy'
+
+const main = (command: string[], options: any) => {
+ handleInput(command[0], options)
+}
+
+// Run everything
+const argv = require('minimist')(process.argv.slice(2))
+main(argv['_'], argv)
+
+function handleInput(command: string, options: any) {
+ switch (command) {
+ case 'gen':
+ DocGenerator(options)
+ break
+
+ default:
+ console.log('Unrecognized command:', command)
+ break
+ }
+}
+
+export default async function DocGenerator({
+ input,
+ output,
+ type,
+ url,
+}: {
+ input: string
+ output: string
+ type: 'cli' | 'config' | 'sdk' | 'api' | 'legacy'
+ url?: string
+}) {
+ switch (type) {
+ case 'api':
+ await ApiGenerator(input, output, url || '')
+ break
+
+ case 'cli':
+ await CliGenerator(input, output)
+ break
+
+ case 'config':
+ await ConfigGenerator(input, output)
+ break
+
+ case 'sdk':
+ await SdkGenerator(input, output)
+ break
+
+ case 'legacy':
+ await LegacyGenerator(input, output)
+ break
+
+ default:
+ await console.log('Unrecognized type: ', type)
+ break
+ }
+ return 'Done'
+}
diff --git a/apps/temp-docs/generator/legacy.ts b/apps/temp-docs/generator/legacy.ts
new file mode 100644
index 00000000000..e3d6130be4f
--- /dev/null
+++ b/apps/temp-docs/generator/legacy.ts
@@ -0,0 +1,293 @@
+// @ts-nocheck
+
+/**
+ * Usage:
+ * ts-node ReferenceGenerator.ts -o {output_dir} {input}.yml
+ *
+ * Example:
+ * ts-node ReferenceGenerator.ts -o docs/client spec/supabase.yml
+ */
+
+import Example from './legacy/components/Example'
+import Page from './legacy/components/Page'
+import Tab from './legacy/components/Tab'
+import { slugify, tsDocCommentToMdComment, writeToDisk } from './legacy/lib/helpers'
+import { TsDoc, OpenRef } from './legacy/definitions'
+import { uniqBy } from 'lodash'
+import * as fs from 'fs'
+import * as yaml from 'js-yaml'
+
+export default async function gen(inputFileName: string, outputDir: string) {
+ const docSpec = yaml.load(fs.readFileSync(inputFileName, 'utf8'))
+ const defRef = docSpec.info.definition ? fs.readFileSync(docSpec.info.definition, 'utf8') : '{}'
+
+ const definition = JSON.parse(defRef)
+ const id = docSpec.info.id
+ const allLanguages = docSpec.info.libraries
+ const pages = Object.entries(docSpec.pages).map(([name, x]: [string, OpenRef.Page]) => ({
+ ...x,
+ pageName: name,
+ }))
+
+ // Index Page
+ const indexFilename = outputDir + `/index.mdx`
+ const index = generateDocsIndexPage(docSpec, inputFileName)
+ await writeToDisk(indexFilename, index)
+ console.log('The index was saved: ', indexFilename)
+
+ // Generate Pages
+ pages.forEach(async (pageSpec: OpenRef.Page) => {
+ try {
+ const slug = slugify(pageSpec.pageName)
+ const hasTsRef = pageSpec['$ref'] || null
+ const tsDefinition = hasTsRef && extractTsDocNode(hasTsRef, definition)
+ if (hasTsRef && !tsDefinition) throw new Error('Definition not found: ' + hasTsRef)
+
+ const description =
+ pageSpec.description || tsDocCommentToMdComment(getDescriptionFromDefintion(tsDefinition))
+
+ // Create page
+ const content = Page({
+ slug: (docSpec.info.slugPrefix || '') + slug,
+ id: slug,
+ specFileName: docSpec.info.specUrl || inputFileName,
+ title: pageSpec.title || pageSpec.pageName,
+ description,
+ parameters: hasTsRef ? generateParameters(tsDefinition) : '',
+ spotlight: generateSpotlight(id, pageSpec['examples'] || [], allLanguages),
+ examples: generateExamples(id, pageSpec['examples'] || [], allLanguages),
+ notes: pageSpec.notes,
+ })
+
+ // Write to disk
+ const dest = outputDir + `/${slug}.mdx`
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+ } catch (error) {
+ console.error(error)
+ }
+ })
+}
+
+function generateParameters(tsDefinition: any) {
+ let functionDeclaration = null
+ if (tsDefinition.kindString == 'Method') {
+ functionDeclaration = tsDefinition
+ } else if (tsDefinition.kindString == 'Constructor') {
+ functionDeclaration = tsDefinition
+ } else functionDeclaration = tsDefinition?.type?.declaration
+ if (!functionDeclaration) return ''
+
+ const paramDefinitions: TsDoc.TypeDefinition[] = functionDeclaration.signatures[0].parameters // PMC: seems flaky.. why the [0]?
+ if (!paramDefinitions) return ''
+
+ // const paramsComments: TsDoc.CommentTag = tsDefinition.comment?.tags?.filter(x => x.tag == 'param')
+ let parameters = paramDefinitions.map((x) => recurseThroughParams(x)).join(`\n`)
+ return methodListGroup(parameters)
+}
+
+function getDescriptionFromDefintion(tsDefinition) {
+ if (!tsDefinition) return null
+ if (['Method', 'Constructor', 'Constructor signature'].includes(tsDefinition.kindString))
+ return tsDefinition?.signatures[0].comment
+ else return tsDefinition?.comment || ''
+}
+
+function recurseThroughParams(paramDefinition: TsDoc.TypeDefinition) {
+ // If this is a reference to another Param, let's use the reference instead
+ let param = isDereferenced(paramDefinition) ? paramDefinition.type?.dereferenced : paramDefinition
+ const labelParams = generateLabelParam(param)
+ let subContent = ''
+
+ let children = param?.children
+ if (param.type?.declaration?.children) {
+ children = param.type?.declaration?.children
+ } else if (isUnion(param)) {
+ // We don't want to show the union types if it's a literal
+ const nonLiteralVariants = param.type.types.filter(({ type }) => type !== 'literal')
+
+ if (nonLiteralVariants.length === 0) {
+ children = null
+ } else {
+ children = nonLiteralVariants
+ }
+ } else if (param.type === 'reflection') {
+ children = param.declaration.children
+ }
+
+ if (!!children) {
+ let properties = children
+ .sort((a, b) => a.name?.localeCompare(b.name)) // first alphabetical
+ .sort((a, b) => (a.flags?.isOptional ? 1 : -1)) // required params first
+ .map((x) => recurseThroughParams(x))
+
+ let heading = `Properties `
+ subContent = methodListGroup([heading].concat(properties).join('\n'))
+ return methodListItemLabel(labelParams, subContent)
+ }
+ return methodListItemLabel(labelParams, subContent)
+}
+
+const isDereferenced = (paramDefinition: TsDoc.TypeDefinition) => {
+ return paramDefinition.type?.type == 'reference' && paramDefinition.type?.dereferenced?.id
+}
+
+const isUnion = (paramDefinition: TsDoc.TypeDefinition) => {
+ return paramDefinition.type?.type == 'union'
+}
+
+const mergeUnion = (paramDefinition: TsDoc.TypeDefinition) => {
+ const joined = paramDefinition.type.types.reduce((acc, x) => {
+ acc.push(...(x.declaration?.children || []))
+ return acc
+ }, [])
+
+ return uniqBy(joined, 'name')
+}
+
+const methodListGroup = (items) => `
+
+`
+
+const methodListItemLabel = ({ name, isOptional, type, description }, subContent) => `
+
+
+
+ ${name}
+
+
+ ${isOptional ? 'optional' : 'required'}
+
+
+ ${type}
+
+
+
+
+${description ? description : 'No description provided. '}
+
+
+ ${subContent}
+
+`
+
+function generateExamples(id: string, specExamples: any, allLanguages: any) {
+ return specExamples.map((example) => {
+ let allTabs = example.hideCodeBlock ? '' : generateCodeBlocks(allLanguages, example)
+ return Example({
+ name: example.name,
+ description: example.description,
+ tabs: allTabs,
+ note: example.note,
+ })
+ })
+}
+
+/**
+ * A spotlight is an example which appears at the top of the page.
+ */
+function generateSpotlight(id: string, specExamples: any | any[], allLanguages: any) {
+ if (!Array.isArray(specExamples)) {
+ throw new Error(`Examples for each spec should be an array, received: \n${specExamples}`)
+ }
+ const spotlight = (specExamples && specExamples.find((x) => x.isSpotlight)) || null
+ const spotlightContent = !spotlight ? '' : generateCodeBlocks(allLanguages, spotlight)
+ return spotlightContent
+}
+
+function generateTabs(allLanguages: any, example: any) {
+ return allLanguages
+ .map((library) => {
+ let content = example[library.id] || notImplemented
+ return Tab(library.id, content)
+ })
+ .join('\n')
+}
+
+function generateCodeBlocks(allLanguages: any, example: any) {
+ return allLanguages
+ .map((library) => {
+ let content = example[library.id] || notImplemented
+ return content
+ })
+ .join('\n')
+}
+
+const notImplemented = `
+\`\`\`
+Not yet implemented
+\`\`\`
+`
+
+function generateLabelParam(param: any) {
+ let labelParams = {}
+ if (typeof param.type === 'string' && param.type === 'literal') {
+ labelParams = {
+ name: param.name ?? param.value,
+ isOptional: !!param.flags?.isOptional,
+ type: param.type,
+ description: param.comment ? tsDocCommentToMdComment(param.comment) : null,
+ }
+ } else {
+ labelParams = {
+ name: param.name ?? extractParamTypeAsString(param),
+ isOptional: !!param.flags?.isOptional,
+ type: extractParamTypeAsString(param),
+ description: param.comment ? tsDocCommentToMdComment(param.comment) : null,
+ }
+ }
+ return labelParams
+}
+
+function extractParamTypeAsString(paramDefinition) {
+ if (paramDefinition.type?.name) {
+ return `${paramDefinition.type.name}`
+ } else if (paramDefinition.type?.type == 'union') {
+ return paramDefinition.type.types
+ .map((x) =>
+ x.value
+ ? `${x.value}`
+ : x.name
+ ? `${x.name}`
+ : x.type
+ ? `${x.type}`
+ : ''
+ )
+ .join(' | ')
+ }
+
+ return 'object'
+}
+
+/**
+ * Iterates through the definition to find the correct definition.
+ * You can pass it a deeply nested node using dot notation. eg: 'LoggedInUser.data.email'
+ */
+function extractTsDocNode(nodeToFind: string, definition: any) {
+ const nodePath = nodeToFind.split('.')
+ let i = 0
+ let previousNode = definition
+ let currentNode = definition
+ while (i < nodePath.length) {
+ previousNode = currentNode
+ currentNode = previousNode.children.find((x) => x.name == nodePath[i]) || null
+ if (currentNode == null) {
+ console.log(`Cant find ${nodePath[i]} in ${previousNode.children.map((x) => '\n' + x.name)}`)
+ break
+ }
+ i++
+ }
+ return currentNode
+}
+
+function generateDocsIndexPage(docSpec: any, inputFileName: string) {
+ return Page({
+ slug: (docSpec.info.slugPrefix || '') + slugify(docSpec.info.title),
+ id: 'index',
+ title: docSpec.info.title,
+ specFileName: inputFileName,
+ description: docSpec.info.description,
+ })
+}
diff --git a/apps/temp-docs/generator/legacy/components/Example.ts b/apps/temp-docs/generator/legacy/components/Example.ts
new file mode 100644
index 00000000000..fe0105915b6
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/Example.ts
@@ -0,0 +1,24 @@
+type params = { name: string; description: string; tabs: string; note: string }
+
+const Example = ({ name, description = '', tabs = '', note = '' }: params) => {
+ if (note !== '') {
+ const [noteTitle, ...noteText] = note.split('\n')
+ console.log(noteText)
+ note = `
+:::note ${noteTitle}
+ ${noteText.join('\n')}
+:::
+`
+ }
+ return `
+### ${name}
+
+${description}
+
+${tabs}
+
+${note}
+`.trim()
+}
+
+export default Example
diff --git a/apps/temp-docs/generator/legacy/components/Page.ts b/apps/temp-docs/generator/legacy/components/Page.ts
new file mode 100644
index 00000000000..e9fc92e0602
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/Page.ts
@@ -0,0 +1,65 @@
+type PageParmas = {
+ id: string
+ title: string
+ slug: string
+ specFileName: string
+ description?: string
+ parameters?: string
+ examples?: string[]
+ spotlight?: string
+ notes?: string
+ result?: string
+ errors?: string
+}
+
+const Page = ({
+ id,
+ title,
+ slug,
+ specFileName,
+ description = '',
+ parameters = '',
+ examples = [],
+ spotlight = '',
+ notes = '',
+ result = '',
+ errors = '',
+}: PageParmas) =>
+ `
+---
+id: ${id}
+title: "${title}"
+slug: ${slug}
+custom_edit_url: ${specFileName}
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+${description}
+
+${spotlight}
+
+${parameters ? `## Parameters` : ''}
+
+${parameters}
+
+${notes ? '## Notes' : ''}
+
+${notes}
+
+${result ? `## Result` : ''}
+
+${result}
+
+${errors ? `## Errors` : ''}
+
+${errors}
+
+${examples.length > 0 ? '## Examples' : ''}
+
+${examples.join(`\n\n`)}
+
+`.trim()
+
+export default Page
diff --git a/apps/temp-docs/generator/legacy/components/Sidebar.ts b/apps/temp-docs/generator/legacy/components/Sidebar.ts
new file mode 100644
index 00000000000..a5f59cd7d2d
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/Sidebar.ts
@@ -0,0 +1,10 @@
+const Sidebar = (categories: string[]) =>
+ `
+module.exports = {
+ docs: [
+ ${categories.map((x) => x).join(',\n ')}
+ ],
+}
+`.trim()
+
+export default Sidebar
diff --git a/apps/temp-docs/generator/legacy/components/SidebarCategory.ts b/apps/temp-docs/generator/legacy/components/SidebarCategory.ts
new file mode 100644
index 00000000000..5374101dd6a
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/SidebarCategory.ts
@@ -0,0 +1,8 @@
+export default function SidebarCategory(name: string, items: string[]) {
+ return `{
+ type: 'category',
+ label: '${name}',
+ items: [${items.join(', ')}],
+ collapsed: true,
+ }`
+}
diff --git a/apps/temp-docs/generator/legacy/components/Tab.ts b/apps/temp-docs/generator/legacy/components/Tab.ts
new file mode 100644
index 00000000000..a7280f6a166
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/Tab.ts
@@ -0,0 +1,10 @@
+const Tab = (library: string, exampleText: string) =>
+ `
+
+
+${exampleText}
+
+
+`.trim()
+
+export default Tab
diff --git a/apps/temp-docs/generator/legacy/components/Tabs.ts b/apps/temp-docs/generator/legacy/components/Tabs.ts
new file mode 100644
index 00000000000..9daff630c93
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/components/Tabs.ts
@@ -0,0 +1,15 @@
+// @ts-nocheck
+
+const Tabs = (id: string, libraries = [], examples = []) =>
+ `
+ `{ label: '${x.name}', value: '${x.id}' }`).toString()}]}>
+
+${examples}
+
+
+`.trim()
+
+export default Tabs
diff --git a/apps/temp-docs/generator/legacy/definitions.ts b/apps/temp-docs/generator/legacy/definitions.ts
new file mode 100644
index 00000000000..96f1f44dfe3
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/definitions.ts
@@ -0,0 +1,33 @@
+export namespace TsDoc {
+ export type DocComment = {
+ shortText?: string
+ text?: string
+ tags?: CommentTag[]
+ }
+ export type CommentTag = {
+ tag: 'param' | 'returns'
+ text: string
+ param: string
+ }
+
+ export type TypeDefinition = {
+ id: string
+ name: string
+ kind: number
+ kindString: 'Parameter' | 'Method'
+ comment?: CommentTag
+ flags: { isExported: boolean; isOptional?: boolean }
+ type: { type: string; name: string; declaration: TypeDefinition }
+ children: TypeDefinition[]
+ }
+}
+
+export namespace OpenRef {
+ export type Page = {
+ pageName: string
+ title?: string
+ description?: string
+ notes?: string
+ // $ref?: string // reference to a TSDoc node
+ }
+}
diff --git a/apps/temp-docs/generator/legacy/lib/helpers.ts b/apps/temp-docs/generator/legacy/lib/helpers.ts
new file mode 100644
index 00000000000..5165789f2b0
--- /dev/null
+++ b/apps/temp-docs/generator/legacy/lib/helpers.ts
@@ -0,0 +1,54 @@
+import { TsDoc } from '../definitions'
+
+const fs = require('fs')
+
+/**
+ * tsDocCommentToMdParams()
+ */
+export const tsDocCommentToMdParams = (tags: TsDoc.CommentTag[]) =>
+ tags
+ .filter((x) => x.tag == 'param')
+ .map((x) =>
+ `
+tag
+
+`.trim()
+ )
+ .join('\n')
+
+/**
+ * tsDocCommentToMarkdown()
+ */
+export const tsDocCommentToMdComment = (commentObject: TsDoc.DocComment) =>
+ `
+${commentObject?.shortText || ''}
+
+${commentObject?.text || ''}
+
+`.trim()
+
+/**
+ * slugify()
+ */
+export const slugify = (text: string) => {
+ return text
+ .toString()
+ .toLowerCase()
+ .replace(/[. )(]/g, '-') // Replace spaces and brackets -
+ .replace(/[^\w\-]+/g, '') // Remove all non-word chars
+ .replace(/\-\-+/g, '-') // Replace multiple - with single -
+ .replace(/^-+/, '') // Trim - from start of text
+ .replace(/-+$/, '') // Trim - from end of text
+}
+
+/**
+ * writeToDisk()
+ */
+export const writeToDisk = (fileName: string, content: any) => {
+ return new Promise((resolve, reject) => {
+ fs.writeFile(fileName, content, (err: Error) => {
+ if (err) return reject(err)
+ else return resolve(true)
+ })
+ })
+}
diff --git a/apps/temp-docs/generator/sdk.ts b/apps/temp-docs/generator/sdk.ts
new file mode 100644
index 00000000000..2adb10c3898
--- /dev/null
+++ b/apps/temp-docs/generator/sdk.ts
@@ -0,0 +1,39 @@
+import * as fs from 'fs'
+import * as ejs from 'ejs'
+import * as yaml from 'js-yaml'
+import template from './templates/SdkTemplate'
+import { writeToDisk } from './helpers'
+import type { SdkSpec } from './types/SdkSpec'
+
+export default async function gen(inputFileName: string, outputDir: string) {
+ const spec = yaml.load(fs.readFileSync(inputFileName, 'utf8')) as any
+ // console.log('spec', spec)
+
+ switch (spec.sdkspec) {
+ case '001':
+ await gen_v001(spec, outputDir)
+ break
+
+ default:
+ console.log('Unrecognized specification version:', spec.sdkspec)
+ break
+ }
+}
+
+/**
+ * Versioned Generator
+ */
+async function gen_v001(spec: SdkSpec, dest: string) {
+ const functions = spec.functions
+ const types = spec.types
+
+ const content = ejs.render(template, {
+ info: spec.info,
+ functions,
+ types,
+ })
+ // console.log(content)
+ // Write to disk
+ await writeToDisk(dest, content)
+ console.log('Saved: ', dest)
+}
diff --git a/apps/temp-docs/generator/templates/ApiTemplate.ts b/apps/temp-docs/generator/templates/ApiTemplate.ts
new file mode 100644
index 00000000000..cadb38583a1
--- /dev/null
+++ b/apps/temp-docs/generator/templates/ApiTemplate.ts
@@ -0,0 +1,147 @@
+const template = `
+---
+id: usage
+slug: /usage
+title: Usage
+toc_max_heading_level: 3
+---
+
+import Tabs from '@theme/Tabs';
+import TabItem from '@theme/TabItem';
+
+
+
+
+<%- info.description %>
+
+
+
+
+<% sections.forEach(function(section){ %>
+
+## <%- section.title %> {#<%= section.id %>}
+
+<%- section.description %>
+
+<% section.operations.forEach(function(operation){ %>
+
+
+
+### <%- operation.summary %> {#<%- operation.operationId %>}
+
+\`\`\`
+<%- operation.operation.toUpperCase() %> <%- operation.fullPath %>
+\`\`\`
+
+
+
+<% if(operation.parameters && operation.parameters.filter((parameter) => parameter.in === 'path').length > 0){ %>
+#### Path Parameters
+
+
+<% }; %>
+
+<% if(operation.parameters && operation.parameters.filter((parameter) => parameter.in === 'header').length > 0){ %>
+#### Header Parameters
+
+<% }; %>
+
+
+
+
+<% if(operation.requestBody?.content && operation.requestBody?.content['application/json']){ %>
+#### Body Parameters
+
+\`\`\`json
+<%- JSON.stringify(operation.requestBody?.content['application/json'], null, 2) %>
+\`\`\`
+<% }; %>
+
+
+
+#### Responses
+
+
+<% operation.responseList.forEach(function(response){ %>
+
+
+<%- response.description %>
+
+
+
+<% if(response?.content && response?.content['application/json']){ %>
+\`\`\`json
+<%- JSON.stringify(response.content['application/json'], null, 2) %>
+\`\`\`
+<% }; %>
+
+
+
+
+<% }); %>
+
+
+
+<% }); %>
+<% }); %>
+
+
+`.trim()
+
+export default template
diff --git a/apps/temp-docs/generator/templates/CliTemplate.ts b/apps/temp-docs/generator/templates/CliTemplate.ts
new file mode 100644
index 00000000000..0904e47fe37
--- /dev/null
+++ b/apps/temp-docs/generator/templates/CliTemplate.ts
@@ -0,0 +1,52 @@
+const template = `
+---
+id: usage
+slug: /usage
+title: Usage
+toc_max_heading_level: 3
+---
+
+
+
+<%- info.description %>
+
+<% commands.forEach(function(command){ %>
+
+
+
+
+
+<%- command.heading %>
+
+
+
+<%- command.description %>
+
+
+<% if(command.usage){ %>
+<%- command.usage %>
+<% }; %>
+
+
+
+<% if(command.subcommands.length > 0){ %>
+**Available Commands**
+
+<% command.subcommandList.forEach(function(subcommand){ %>
+- <%- subcommand.title %>
+<% }); %>
+<% } %>
+
+
+
+
+**Options**
+
+<%- command.options %>
+
+<% }); %>
+
+
+`.trim()
+
+export default template
diff --git a/apps/temp-docs/generator/templates/ConfigTemplate.ts b/apps/temp-docs/generator/templates/ConfigTemplate.ts
new file mode 100644
index 00000000000..949de8d0bd8
--- /dev/null
+++ b/apps/temp-docs/generator/templates/ConfigTemplate.ts
@@ -0,0 +1,41 @@
+const template = `
+---
+id: config
+slug: /config
+title: Configuration
+toc_max_heading_level: 3
+---
+
+
+
+<%= info.description %>
+
+<% sections.forEach(function(section){ %>
+
+
+
+## <%= section.title %> {#<%= section.id %>}
+
+<% section.parameters.forEach(function(parameter){ %>
+
+### \`<%- parameter.title %>\` {#<%= parameter.id %>}
+
+<%- parameter.description %>
+
+
+Required: <%= parameter.required %>
+Default: <%- parameter?.default ? parameter?.default : 'None' %> <% if(parameter?.links?.length){ %>
+
+See also:
+
+
+<% } %>
+
+
+
+<% }); %>
+
+<% }); %>
+`.trim()
+
+export default template
diff --git a/apps/temp-docs/generator/templates/SdkTemplate.ts b/apps/temp-docs/generator/templates/SdkTemplate.ts
new file mode 100644
index 00000000000..4d8b7c5f63e
--- /dev/null
+++ b/apps/temp-docs/generator/templates/SdkTemplate.ts
@@ -0,0 +1,51 @@
+const template = `
+---
+id: usage
+title: Usage
+toc_max_heading_level: 2
+---
+
+
+
+<%- info.description %>
+
+
+
+
+
+<% functions.forEach(function(fn){ %>
+
+## <%- fn.summary %>
+
+<%- fn.usage %>
+
+<% if (fn.attributes) { %>
+
+### Attributes
+
+<% fn.attributes.forEach(function(attribute){ %>
+- <%- attribute.id %>
+<% }); %>
+
+<% } %>
+
+### Notes
+
+<%- fn.description %>
+
+### Examples
+
+<% fn.examples.forEach(function(example){ %>
+
+#### <%- example.summary %>
+
+<%- example.code %>
+
+<% }); %>
+
+<% }); %>
+
+
+`.trim()
+
+export default template
diff --git a/apps/temp-docs/generator/tsconfig.json b/apps/temp-docs/generator/tsconfig.json
new file mode 100644
index 00000000000..8615cb5639e
--- /dev/null
+++ b/apps/temp-docs/generator/tsconfig.json
@@ -0,0 +1,13 @@
+// generator files need their own tsconfig.json because they don't like "module": "esnext" setting that nextjs requires in the main tsconfig
+{
+ "compilerOptions": {
+ "incremental": true,
+ "noImplicitAny": false,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": ["./*"]
+ }
+ },
+ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
+ "exclude": ["node_modules"]
+}
diff --git a/apps/temp-docs/generator/types/CliSpec.ts b/apps/temp-docs/generator/types/CliSpec.ts
new file mode 100644
index 00000000000..8c3515e708e
--- /dev/null
+++ b/apps/temp-docs/generator/types/CliSpec.ts
@@ -0,0 +1,34 @@
+import { SpecLink } from './Spec'
+import { Url } from 'url'
+
+export type CliInfo = {
+ id: string
+ version: string
+ title: string
+ language: string
+ source: Url
+ bugs: Url
+ spec: Url
+ description: string
+ options: string
+}
+
+export type CliCommand = {
+ id: string
+ title: string
+ summary: string
+ description: string
+ tags: string[]
+ links: SpecLink[]
+ usage: string
+ subcommands: string[]
+ options: string
+}
+
+export interface CliSpec {
+ clispec: '001'
+
+ info: CliInfo
+
+ commands: CliCommand[]
+}
diff --git a/apps/temp-docs/generator/types/ConfigSpec.ts b/apps/temp-docs/generator/types/ConfigSpec.ts
new file mode 100644
index 00000000000..6981b9b4e22
--- /dev/null
+++ b/apps/temp-docs/generator/types/ConfigSpec.ts
@@ -0,0 +1,36 @@
+import { SpecLink } from './Spec'
+import { Url } from 'url'
+
+export type Tag = {
+ id: string
+ title: string
+ description?: string
+}
+
+export type ConfigInfo = {
+ id: string
+ version: string
+ title: string
+ source: Url
+ bugs: Url
+ spec: Url
+ description: string
+ tags: Tag[]
+}
+
+export type ConfigParameter = {
+ id: string
+ title: string
+ tags: string[]
+ required: boolean
+ description: string
+ links: SpecLink[]
+}
+
+export interface ConfigSpec {
+ configspec: '001'
+
+ info: ConfigInfo
+
+ parameters: ConfigParameter[]
+}
diff --git a/apps/temp-docs/generator/types/SdkSpec.ts b/apps/temp-docs/generator/types/SdkSpec.ts
new file mode 100644
index 00000000000..9664d2e2110
--- /dev/null
+++ b/apps/temp-docs/generator/types/SdkSpec.ts
@@ -0,0 +1,75 @@
+import { SpecLink } from './Spec'
+import { Url } from 'url'
+
+export type SdkInfo = {
+ id: string
+ version: string
+ title: string
+ language: string
+ source: Url
+ bugs: Url
+ spec: Url
+ description: string
+ options: string
+}
+
+export type SdkType = {
+ id: string
+ title: string
+ summary: string
+ source: Url
+ value: string
+ ref?: SdkType
+ links: SpecLink[]
+}
+
+export type FunctionAttribute = {
+ id: string
+ title: string
+ required: boolean
+ description: string
+ type?: string[]
+ ref?: string // If a "type" is not supplied, a "ref" must be. This is a pointer to a type.
+ children: FunctionAttribute[]
+}
+
+export type FunctionReturn = {
+ id: string
+ title: string
+ value: string
+ description: string
+ ref?: string // This is a pointer to a type.
+}
+
+export type FunctionExample = {
+ id: string
+ title: string
+ description?: string
+ links: SpecLink[]
+ code: string
+ returns?: FunctionReturn
+}
+
+export type Function = {
+ id: string
+ title: string
+ summary: string
+ source: Url
+ description?: string
+ usage: string
+ tags: string[]
+ links: SpecLink[]
+ attributes?: FunctionAttribute[]
+ returns?: FunctionReturn[]
+ examples?: FunctionExample[]
+}
+
+export interface SdkSpec {
+ sdkspec: '001'
+
+ info: SdkInfo
+
+ functions: Function[]
+
+ types: SdkType[]
+}
diff --git a/apps/temp-docs/generator/types/Spec.ts b/apps/temp-docs/generator/types/Spec.ts
new file mode 100644
index 00000000000..6f6c2c72e87
--- /dev/null
+++ b/apps/temp-docs/generator/types/Spec.ts
@@ -0,0 +1,6 @@
+import { Url } from 'url'
+
+export type SpecLink = {
+ name: string
+ url: Url
+}
diff --git a/apps/temp-docs/hooks/useActionKey.ts b/apps/temp-docs/hooks/useActionKey.ts
new file mode 100644
index 00000000000..883c8ee5b7b
--- /dev/null
+++ b/apps/temp-docs/hooks/useActionKey.ts
@@ -0,0 +1,22 @@
+import { useState, useEffect } from 'react'
+
+const ACTION_KEY_DEFAULT = ['Ctrl ', 'Control']
+const ACTION_KEY_APPLE = ['⌘', 'Command']
+
+export function useActionKey() {
+ let [actionKey, setActionKey] = useState()
+
+ useEffect(() => {
+ if (typeof navigator !== 'undefined') {
+ if (/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)) {
+ // @ts-ignore
+ setActionKey(ACTION_KEY_APPLE)
+ } else {
+ // @ts-ignore
+ setActionKey(ACTION_KEY_DEFAULT)
+ }
+ }
+ }, [])
+
+ return actionKey
+}
diff --git a/apps/temp-docs/components/layouts/DocsLayout.tsx b/apps/temp-docs/layouts/Default.tsx
similarity index 57%
rename from apps/temp-docs/components/layouts/DocsLayout.tsx
rename to apps/temp-docs/layouts/Default.tsx
index 3c3d7453fb4..d9fa6f17424 100644
--- a/apps/temp-docs/components/layouts/DocsLayout.tsx
+++ b/apps/temp-docs/layouts/Default.tsx
@@ -1,23 +1,33 @@
-import { ReactElement, useState } from 'react'
+import { useEffect } from 'react'
import Head from 'next/head'
-import NavBar from '../nav/NavBar'
-import SideBar from '../nav/SideBar'
-import Footer from '../Footer'
+import NavBar from '../components/Navigation/NavBar'
+import SideBar from '../components/Navigation/SideBar'
+import Footer from '../components/Footer'
-const DocsLayout = ({
+const Layout = ({
meta,
children,
toc,
menuItems,
currentPage,
}: {
- meta: { title: string; description: string }
- children: JSX.Element
+ meta: { title: string; description: string; hide_table_of_contents?: boolean }
+ children: any
toc?: any
menuItems: any
currentPage: string
}) => {
- const theme = 'okaidia'
+ useEffect(() => {
+ const key = localStorage.getItem('supabaseDarkMode')
+ if (!key) {
+ // Default to dark mode if no preference config
+ document.documentElement.className = 'dark'
+ } else {
+ document.documentElement.className = key === 'true' ? 'dark' : ''
+ }
+ }, [])
+
+ console.log('default', currentPage)
return (
<>
@@ -30,26 +40,30 @@ const DocsLayout = ({
-
-
+ /> */}
+ {/* */}
-
-
-
+
+
- {toc && (
-
+ {toc && !meta?.hide_table_of_contents && (
+
On this page
{toc.json.map((item: any, i: number) => {
@@ -70,4 +84,4 @@ const DocsLayout = ({
)
}
-export default DocsLayout
+export default Layout
diff --git a/apps/temp-docs/layouts/Guide.tsx b/apps/temp-docs/layouts/Guide.tsx
new file mode 100644
index 00000000000..3fbaeee5bc4
--- /dev/null
+++ b/apps/temp-docs/layouts/Guide.tsx
@@ -0,0 +1,32 @@
+import { MDXProvider } from '@mdx-js/react'
+import { NextSeo } from 'next-seo'
+import { useRouter } from 'next/router'
+import { menuItems } from '~/components/Navigation/Nav.constants'
+import Layout from '~/layouts/Default'
+import { getPageType } from '~/lib/helpers'
+import getComponents from '~/lib/mdx/getComponents'
+
+export default function ContentsLayout({ context }: any) {
+ const { asPath } = useRouter()
+ const page = getPageType(asPath)
+
+ return (
+ <>
+
+
+
+ {context.children}
+
+
+ >
+ )
+}
diff --git a/apps/temp-docs/lib/docs.ts b/apps/temp-docs/lib/docs.ts
index 05c2fa79f4c..4af21292994 100644
--- a/apps/temp-docs/lib/docs.ts
+++ b/apps/temp-docs/lib/docs.ts
@@ -4,10 +4,43 @@ import matter from 'gray-matter'
const docsDirectory = process.cwd()
-export function getDocsBySlug(slug: string) {
- const realSlug = slug.replace(/\.mdx$/, '')
- let fullPath = join(docsDirectory, `${realSlug}.mdx`)
+const nonGeneratedReferencePages = [
+ 'docs/reference/javascript/installing',
+ 'docs/reference/javascript/release-notes',
+ 'docs/reference/javascript/upgrade-guide',
+ 'docs/reference/javascript/typescript-support',
+]
+const getPathToGeneratedDoc = (slug: string) => {
+ const sections = slug.split('/')
+ const updatedSections = sections.slice()
+ updatedSections.splice(updatedSections.length - 1, 0, 'generated')
+ return updatedSections.join('/')
+}
+
+export function getDocsBySlug(slug: string) {
+ console.log('getDocsBySlug', { slug })
+ const realSlug = slug.replace(/\.mdx$/, '')
+ const formattedSlug =
+ realSlug.includes('/javascript/') && !nonGeneratedReferencePages.includes(realSlug)
+ ? getPathToGeneratedDoc(realSlug)
+ : realSlug
+
+ // files can either be .md or .mdx
+ // we need to check which one exists
+ let fullPath
+ let fullPathMD = join(docsDirectory, `${formattedSlug}.md`)
+ let fullPathMDX = join(docsDirectory, `${formattedSlug}.mdx`)
+
+ if (fs.existsSync(fullPathMD)) {
+ fullPath = fullPathMD
+ }
+
+ if (fs.existsSync(fullPathMDX)) {
+ fullPath = fullPathMDX
+ }
+
+ // if no match, 404
if (!fs.existsSync(fullPath)) {
console.log(`\nfile ${fullPath} not found, redirect to 404\n`)
fullPath = join(docsDirectory, 'docs/404.mdx')
@@ -22,6 +55,7 @@ export function getDocsBySlug(slug: string) {
export function getAllDocs() {
const slugs = walk('docs')
+ console.log('getAllDocs', slugs)
const docs = slugs.map((slug) => getDocsBySlug(slug))
return docs
diff --git a/apps/temp-docs/lib/helpers.ts b/apps/temp-docs/lib/helpers.ts
new file mode 100644
index 00000000000..93ec6fdb7cd
--- /dev/null
+++ b/apps/temp-docs/lib/helpers.ts
@@ -0,0 +1,28 @@
+// [Joshen] I think this can be done better, as its mostly used to choose what
+// menus to render in the SideBar.js (Ref Nav.constants.ts)
+export function getPageType(asPath: string) {
+ let page
+ if (!asPath) return ''
+
+ if (asPath.includes('/guides')) {
+ page = 'docs'
+ } else if (asPath.includes('/reference/javascript')) {
+ page = 'reference/javascript'
+ } else if (asPath.includes('/reference/javascript/v1')) {
+ page = 'reference/javascript/v1'
+ } else if (asPath.includes('/reference/dart')) {
+ page = 'reference/dart'
+ } else if (asPath.includes('/reference/dart/v0')) {
+ page = 'reference/dart/v0'
+ } else if (asPath.includes('/reference/api')) {
+ page = 'reference/api'
+ } else if (asPath.includes('/reference/cli')) {
+ page = 'reference/cli'
+ } else if (asPath.includes('/reference')) {
+ page = 'reference'
+ } else {
+ page = 'docs'
+ }
+
+ return page
+}
diff --git a/apps/temp-docs/lib/mdx/getComponents.tsx b/apps/temp-docs/lib/mdx/getComponents.tsx
new file mode 100644
index 00000000000..004fcd2fc90
--- /dev/null
+++ b/apps/temp-docs/lib/mdx/getComponents.tsx
@@ -0,0 +1,37 @@
+import Image from 'next/image'
+import LinkCard from '~/components/LinkCard'
+import LinkCardsWrapper from '~/components/LinkCardsWrapper'
+
+const ignoreClass = 'ignore-on-export'
+
+function getComponents(type: any) {
+ const components = {
+ LinkCardsWrapper: (props: any) => ,
+ LinkCard: (props: any) => ,
+ img: (props: any) => {
+ if (props.className !== ignoreClass) {
+ return (
+
+
+
+ )
+ }
+ return
+ },
+ }
+
+ return components
+}
+
+export default getComponents
diff --git a/apps/temp-docs/next.config.js b/apps/temp-docs/next.config.js
deleted file mode 100644
index 761ae357c2d..00000000000
--- a/apps/temp-docs/next.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-const withTM = require('next-transpile-modules')(['common'])
-
-module.exports = withTM({
- reactStrictMode: true,
- images: {
- domains: ['avatars.githubusercontent.com'],
- },
-})
diff --git a/apps/temp-docs/next.config.mjs b/apps/temp-docs/next.config.mjs
new file mode 100644
index 00000000000..77073668d05
--- /dev/null
+++ b/apps/temp-docs/next.config.mjs
@@ -0,0 +1,55 @@
+import nextMdx from '@next/mdx'
+import bundleAnalyzer from '@next/bundle-analyzer'
+
+import remarkGfm from 'remark-gfm'
+import admonitions from 'remark-admonitions'
+import rehypeSlug from 'rehype-slug'
+
+import withTM from 'next-transpile-modules'
+
+// import { remarkCodeHike } from '@code-hike/mdx'
+// import theme from 'shiki/themes/dark-plus.json' assert { type: 'json' }
+// import codeHikeTheme from './codeHikeTheme.js'
+
+/**
+ * Rewrites and redirects are handled by
+ * apps/www nextjs config
+ *
+ * Do not add them in this config
+ */
+
+const withMDX = nextMdx({
+ extension: /\.mdx?$/,
+ options: {
+ remarkPlugins: [
+ // [
+ // remarkCodeHike,
+ // { theme: codeHikeTheme, autoImport: false },
+ // ],
+ remarkGfm,
+ [admonitions, {}],
+ ],
+ rehypePlugins: [rehypeSlug],
+ // This is required for `MDXProvider` component
+ providerImportSource: '@mdx-js/react',
+ },
+})
+
+const withBundleAnalyzer = bundleAnalyzer({
+ enabled: process.env.ANALYZE === 'true',
+})
+
+// /** @type {NextConfig} */
+const nextConfig = {
+ // Append the default value with md extensions
+ pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'],
+ reactStrictMode: true,
+ swcMinify: true,
+ basePath: '/docs',
+}
+
+// next.config.js
+export default () => {
+ const plugins = [withMDX, withTM(['ui', 'common'])]
+ return plugins.reduce((acc, next) => next(acc), nextConfig)
+}
diff --git a/apps/temp-docs/package-lock.json b/apps/temp-docs/package-lock.json
new file mode 100644
index 00000000000..16d4c0c1090
--- /dev/null
+++ b/apps/temp-docs/package-lock.json
@@ -0,0 +1,13616 @@
+{
+ "name": "temp-docs",
+ "version": "0.0.0",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "temp-docs",
+ "version": "0.0.0",
+ "dependencies": {
+ "@apollo/client": "^3.6.6",
+ "@docsearch/react": "1.0.0-alpha.27",
+ "@mdx-js/loader": "^1.6.22",
+ "@mdx-js/react": "^1.6.22",
+ "@next/mdx": "^12.0.4",
+ "@supabase/ui": "v0.37.0-alpha.50",
+ "@tailwindcss/typography": "^0.4.1",
+ "common": "*",
+ "config": "*",
+ "graphql": "^16.5.0",
+ "gray-matter": "^4.0.3",
+ "markdown-toc": "^1.2.0",
+ "next": "12.1.0",
+ "next-compose-plugins": "^2.2.1",
+ "next-mdx-remote": "^3.0.8",
+ "next-themes": "0.0.15",
+ "next-transpile-modules": "^9.0.0",
+ "react": "17.0.2",
+ "react-copy-to-clipboard": "^5.0.2",
+ "react-dom": "17.0.2",
+ "react-markdown": "^8.0.3",
+ "react-syntax-highlighter": "^15.3.1",
+ "remark": "^14.0.2",
+ "remark-html": "^15.0.0",
+ "remark-mdx": "^2.0.0-rc.2",
+ "remark-prism": "^1.3.6"
+ },
+ "devDependencies": {
+ "@types/node": "^17.0.12",
+ "@types/react": "17.0.39",
+ "config": "*",
+ "eslint": "8.9.0",
+ "next-transpile-modules": "9.0.0",
+ "sass": "^1.55.0",
+ "tsconfig": "*",
+ "typescript": "^4.5.3"
+ }
+ },
+ "node_modules/@algolia/cache-browser-local-storage": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz",
+ "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==",
+ "dependencies": {
+ "@algolia/cache-common": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/cache-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz",
+ "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg=="
+ },
+ "node_modules/@algolia/cache-in-memory": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz",
+ "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==",
+ "dependencies": {
+ "@algolia/cache-common": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/client-account": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz",
+ "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==",
+ "dependencies": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz",
+ "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==",
+ "dependencies": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz",
+ "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==",
+ "dependencies": {
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz",
+ "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==",
+ "dependencies": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz",
+ "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==",
+ "dependencies": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/logger-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz",
+ "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA=="
+ },
+ "node_modules/@algolia/logger-console": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz",
+ "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==",
+ "dependencies": {
+ "@algolia/logger-common": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz",
+ "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==",
+ "dependencies": {
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/requester-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz",
+ "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg=="
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz",
+ "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==",
+ "dependencies": {
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "node_modules/@algolia/transporter": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz",
+ "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==",
+ "dependencies": {
+ "@algolia/cache-common": "4.14.2",
+ "@algolia/logger-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "node_modules/@apollo/client": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.0.tgz",
+ "integrity": "sha512-hp4OvrH1ZIQACRYcIrh/C0WFnY7IM7G6nlTpC8DSTEWxfZQ2kvpvDY0I/hYmCs0oAVrg26g3ANEdOzGWTcYbPg==",
+ "dependencies": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@wry/context": "^0.7.0",
+ "@wry/equality": "^0.5.0",
+ "@wry/trie": "^0.3.0",
+ "graphql-tag": "^2.12.6",
+ "hoist-non-react-statics": "^3.3.2",
+ "optimism": "^0.16.1",
+ "prop-types": "^15.7.2",
+ "response-iterator": "^0.2.6",
+ "symbol-observable": "^4.0.0",
+ "ts-invariant": "^0.10.3",
+ "tslib": "^2.3.0",
+ "zen-observable-ts": "^1.2.5"
+ },
+ "peerDependencies": {
+ "graphql": "^14.0.0 || ^15.0.0 || ^16.0.0",
+ "graphql-ws": "^5.5.5",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "subscriptions-transport-ws": "^0.9.0 || ^0.11.0"
+ },
+ "peerDependenciesMeta": {
+ "graphql-ws": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "subscriptions-transport-ws": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@babel/code-frame": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "dependencies": {
+ "@babel/highlight": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.12.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
+ "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
+ "dependencies": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.5",
+ "@babel/helper-module-transforms": "^7.12.1",
+ "@babel/helpers": "^7.12.5",
+ "@babel/parser": "^7.12.7",
+ "@babel/template": "^7.12.7",
+ "@babel/traverse": "^7.12.9",
+ "@babel/types": "^7.12.7",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.19.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz",
+ "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==",
+ "dependencies": {
+ "@babel/types": "^7.19.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+ "dependencies": {
+ "@babel/template": "^7.18.10",
+ "@babel/types": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
+ "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+ "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
+ "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
+ "dependencies": {
+ "@babel/types": "^7.19.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "dependencies": {
+ "@babel/types": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helpers": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz",
+ "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==",
+ "dependencies": {
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.4",
+ "@babel/types": "^7.19.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/highlight": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/parser": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz",
+ "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==",
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
+ "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.12.1"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
+ "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-parameters": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz",
+ "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/runtime": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
+ "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
+ "dependencies": {
+ "regenerator-runtime": "^0.13.4"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/template": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/traverse": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz",
+ "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==",
+ "dependencies": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.4",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.19.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.19.4",
+ "@babel/types": "^7.19.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/types": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz",
+ "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==",
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@docsearch/css": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-1AhRzVdAkrWwhaxTX6/R7SnFHz8yLz1W8I/AldlTrfbNvZs9INk1FZiEFTJdgHaP68nhgQNWSGlQiDiI3y2RYg=="
+ },
+ "node_modules/@docsearch/react": {
+ "version": "1.0.0-alpha.27",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-1.0.0-alpha.27.tgz",
+ "integrity": "sha512-jcgUHZsrNNRsaVsplqKhXWheh4VzRTCdhsPuVhJMRvfsFUqXEPo/7kVt5xIybtOj9u+/FVdeSO+APJEE2rakYA==",
+ "dependencies": {
+ "@docsearch/css": "^1.0.0-alpha.27",
+ "@francoischalifour/autocomplete-core": "^1.0.0-alpha.27",
+ "@francoischalifour/autocomplete-preset-algolia": "^1.0.0-alpha.27",
+ "algoliasearch": "^4.0.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0",
+ "react-dom": "^16.8.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
+ "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
+ "dev": true,
+ "dependencies": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/@francoischalifour/autocomplete-core": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-rL9x+72btViw+9icfBKUJjZj87FgjFrD2esuTUqtj4RAX3s4AuVZiN8XEsfjQBSc6qJk31cxlvqZHC/BIyYXgg=="
+ },
+ "node_modules/@francoischalifour/autocomplete-preset-algolia": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-bprfNmYt1opFUFEtD2XfY/kEsm13bzHQgU80uMjhuK0DJ914IjolT1GytpkdM6tJ4MBvyiJPP+bTtWO+BZ7c7w=="
+ },
+ "node_modules/@graphql-typed-document-node/core": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz",
+ "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==",
+ "peerDependencies": {
+ "graphql": "^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/@headlessui/react": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.3.tgz",
+ "integrity": "sha512-LGp06SrGv7BMaIQlTs8s2G06moqkI0cb0b8stgq7KZ3xcHdH3qMP+cRyV7qe5x4XEW/IGY48BW4fLesD6NQLng==",
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "react": "^16 || ^17 || ^18",
+ "react-dom": "^16 || ^17 || ^18"
+ }
+ },
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+ "dev": true,
+ "dependencies": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=10.10.0"
+ }
+ },
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.16",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz",
+ "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==",
+ "dependencies": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
+ },
+ "node_modules/@mdx-js/loader": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-1.6.22.tgz",
+ "integrity": "sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==",
+ "dependencies": {
+ "@mdx-js/mdx": "1.6.22",
+ "@mdx-js/react": "1.6.22",
+ "loader-utils": "2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/@mdx-js/mdx": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz",
+ "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==",
+ "dependencies": {
+ "@babel/core": "7.12.9",
+ "@babel/plugin-syntax-jsx": "7.12.1",
+ "@babel/plugin-syntax-object-rest-spread": "7.8.3",
+ "@mdx-js/util": "1.6.22",
+ "babel-plugin-apply-mdx-type-prop": "1.6.22",
+ "babel-plugin-extract-import-names": "1.6.22",
+ "camelcase-css": "2.0.1",
+ "detab": "2.0.4",
+ "hast-util-raw": "6.0.1",
+ "lodash.uniq": "4.5.0",
+ "mdast-util-to-hast": "10.0.1",
+ "remark-footnotes": "2.0.0",
+ "remark-mdx": "1.6.22",
+ "remark-parse": "8.0.3",
+ "remark-squeeze-paragraphs": "4.0.0",
+ "style-to-object": "0.3.0",
+ "unified": "9.2.0",
+ "unist-builder": "2.0.3",
+ "unist-util-visit": "2.0.3"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/@mdx-js/mdx/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ },
+ "node_modules/@mdx-js/mdx/node_modules/remark-mdx": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz",
+ "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==",
+ "dependencies": {
+ "@babel/core": "7.12.9",
+ "@babel/helper-plugin-utils": "7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "7.12.1",
+ "@babel/plugin-syntax-jsx": "7.12.1",
+ "@mdx-js/util": "1.6.22",
+ "is-alphabetical": "1.0.4",
+ "remark-parse": "8.0.3",
+ "unified": "9.2.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/@mdx-js/react": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz",
+ "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "react": "^16.13.1 || ^17.0.0"
+ }
+ },
+ "node_modules/@mdx-js/util": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz",
+ "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/@mertasan/tailwindcss-variables": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@mertasan/tailwindcss-variables/-/tailwindcss-variables-2.5.1.tgz",
+ "integrity": "sha512-I1Jvpu5fcinGT/yEDL53dRXznFWV4LoTCUVcTvQqA1YH1iAfs72OO/VZdBKPqcxe/lS2nBr/Ikloe+pLsxemmA==",
+ "dependencies": {
+ "lodash": "^4.17.21"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "autoprefixer": "^10.0.2",
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/@next/env": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.0.tgz",
+ "integrity": "sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ=="
+ },
+ "node_modules/@next/mdx": {
+ "version": "12.3.1",
+ "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-12.3.1.tgz",
+ "integrity": "sha512-b7G3CsAwyD/8Eo6uDjCCqNwEi68LTyo/JYPC0N2Yu3yl/iveMDCi03ME+9JsnFPr3DcjmGSKc1ioiYM4dJUkTg==",
+ "peerDependencies": {
+ "@mdx-js/loader": ">=0.15.0",
+ "@mdx-js/react": "*"
+ }
+ },
+ "node_modules/@next/swc-darwin-arm64": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz",
+ "integrity": "sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==",
+ "cpu": [
+ "arm64"
+ ],
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 10"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@radix-ui/colors": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-0.1.8.tgz",
+ "integrity": "sha512-jwRMXYwC0hUo0mv6wGpuw254Pd9p/R6Td5xsRpOmaWkUHlooNWqVcadgyzlRumMq3xfOTXwJReU0Jv+EIy4Jbw=="
+ },
+ "node_modules/@radix-ui/popper": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/popper/-/popper-0.1.0.tgz",
+ "integrity": "sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "csstype": "^3.0.4"
+ }
+ },
+ "node_modules/@radix-ui/primitive": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz",
+ "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@radix-ui/react-accordion": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-0.1.6.tgz",
+ "integrity": "sha512-LOXlqPU6y6EMBopdRIKCWFvMPY1wPTQ4uJiX7ZVxldrMJcM7imBzI3wlRTkPCHZ3FLHmpuw+cQi3du23pzJp1g==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collapsible": "0.1.6",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-arrow": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-0.1.4.tgz",
+ "integrity": "sha512-BB6XzAb7Ml7+wwpFdYVtZpK1BlMgqyafSQNGzhIpSZ4uXvXOHPlR5GP8M449JkeQzgQjv9Mp1AsJxFC0KuOtuA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "0.1.4"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-collapsible": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-0.1.6.tgz",
+ "integrity": "sha512-Gkf8VuqMc6HTLzA2AxVYnyK6aMczVLpatCjdD9Lj4wlYLXCz9KtiqZYslLMeqnQFLwLyZS0WKX/pQ8j5fioIBw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-collection": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-0.1.4.tgz",
+ "integrity": "sha512-3muGI15IdgaDFjOcO7xX8a35HQRBRF6LH9pS6UCeZeRmbslkVeHyJRQr2rzICBUoX7zgIA0kXyMDbpQnJGyJTA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-slot": "0.1.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-compose-refs": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
+ "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-context": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz",
+ "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-context-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-0.1.6.tgz",
+ "integrity": "sha512-0qa6ABaeqD+WYI+8iT0jH0QLLcV8Kv0xI+mZL4FFnG4ec9H0v+yngb5cfBBfs9e/KM8mDzFFpaeegqsQlLNqyQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-menu": "0.1.6",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dialog": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-0.1.7.tgz",
+ "integrity": "sha512-jXt8srGhHBRvEr9jhEAiwwJzWCWZoGRJ030aC9ja/gkRJbZdy0iD3FwXf+Ff4RtsZyLUMHW7VUwFOlz3Ixe1Vw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-slot": "0.1.2",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dismissable-layer": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-0.1.5.tgz",
+ "integrity": "sha512-J+fYWijkX4M4QKwf9dtu1oC0U6e6CEl8WhBp3Ad23yz2Hia0XCo6Pk/mp5CAFy4QBtQedTSkhW05AdtSOEoajQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-body-pointer-events": "0.1.1",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-escape-keydown": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-dropdown-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-0.1.6.tgz",
+ "integrity": "sha512-RZhtzjWwJ4ZBN7D8ek4Zn+ilHzYuYta9yIxFnbC0pfqMnSi67IQNONo1tuuNqtFh9SRHacPKc65zo+kBBlxtdg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-menu": "0.1.6",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-focus-guards": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-0.1.0.tgz",
+ "integrity": "sha512-kRx/swAjEfBpQ3ns7J3H4uxpXuWCqN7MpALiSDOXiyo2vkWv0L9sxvbpZeTulINuE3CGMzicVMuNc/VWXjFKOg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-focus-scope": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-0.1.4.tgz",
+ "integrity": "sha512-fbA4ES3H4Wkxp+OeLhvN6SwL7mXNn/aBtUf7DRYxY9+Akrf7dRxl2ck4lgcpPsSg3zSDsEwLcY+h5cmj5yvlug==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-id": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.5.tgz",
+ "integrity": "sha512-IPc4H/63bes0IZ1GJJozSEkSWcDyhNGtKFWUpJ+XtaLyQ1X3x7Mf6fWwWhDcpqlYEP+5WtAvfqcyEsyjP+ZhBQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-0.1.6.tgz",
+ "integrity": "sha512-ho3+bhpr3oAFkOBJ8VkUb1BcGoiZBB3OmcWPqa6i5RTUKrzNX/d6rauochu2xDlWjiRtpVuiAcsTVOeIC4FbYQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-popper": "0.1.4",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-roving-focus": "0.1.5",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-direction": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-popover": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-0.1.6.tgz",
+ "integrity": "sha512-zQzgUqW4RQDb0ItAL1xNW4K4olUrkfV3jeEPs9rG+nsDQurO+W9TT+YZ9H1mmgAJqlthyv1sBRZGdBm4YjtD6Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-popper": "0.1.4",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-popper": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-0.1.4.tgz",
+ "integrity": "sha512-18gDYof97t8UQa7zwklG1Dr8jIdj3u+rVOQLzPi9f5i1YQak/pVGkaqw8aY+iDUknKKuZniTk/7jbAJUYlKyOw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/popper": "0.1.0",
+ "@radix-ui/react-arrow": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-rect": "0.1.1",
+ "@radix-ui/react-use-size": "0.1.1",
+ "@radix-ui/rect": "0.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-portal": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.4.tgz",
+ "integrity": "sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0",
+ "react-dom": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-presence": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-0.1.2.tgz",
+ "integrity": "sha512-3BRlFZraooIUfRlyN+b/Xs5hq1lanOOo/+3h6Pwu2GMFjkGKKa4Rd51fcqGqnVlbr3jYg+WLuGyAV4KlgqwrQw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8"
+ }
+ },
+ "node_modules/@radix-ui/react-primitive": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz",
+ "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "0.1.2"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-roving-focus": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-0.1.5.tgz",
+ "integrity": "sha512-ClwKPS5JZE+PaHCoW7eu1onvE61pDv4kO8W4t5Ra3qMFQiTJLZMdpBQUhksN//DaVygoLirz4Samdr5Y1x1FSA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-slot": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
+ "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-tabs": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-0.1.5.tgz",
+ "integrity": "sha512-ieVQS1TFr0dX1XA8B+CsSFKOE7kcgEaNWWEfItxj9D1GZjn1o3WqPkW+FhQWDAWZLSKCH2PezYF3MNyO41lgJg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-roving-focus": "0.1.5",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-body-pointer-events": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-body-pointer-events/-/react-use-body-pointer-events-0.1.1.tgz",
+ "integrity": "sha512-R8leV2AWmJokTmERM8cMXFHWSiv/fzOLhG/JLmRBhLTAzOj37EQizssq4oW0Z29VcZy2tODMi9Pk/htxwb+xpA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-callback-ref": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
+ "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-controllable-state": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz",
+ "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-direction": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-direction/-/react-use-direction-0.1.0.tgz",
+ "integrity": "sha512-NajpY/An9TCPSfOVkgWIdXJV+VuWl67PxB6kOKYmtNAFHvObzIoh8o0n9sAuwSAyFCZVq211FEf9gvVDRhOyiA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-escape-keydown": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz",
+ "integrity": "sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-layout-effect": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
+ "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-rect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-0.1.1.tgz",
+ "integrity": "sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "0.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/react-use-size": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-0.1.1.tgz",
+ "integrity": "sha512-pTgWM5qKBu6C7kfKxrKPoBI2zZYZmp2cSXzpUiGM3qEBQlMLtYhaY2JXdXUCxz+XmD1YEjc8oRwvyfsD4AG4WA==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ },
+ "peerDependencies": {
+ "react": "^16.8 || ^17.0"
+ }
+ },
+ "node_modules/@radix-ui/rect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-0.1.1.tgz",
+ "integrity": "sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw==",
+ "dependencies": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "node_modules/@supabase/ui": {
+ "version": "0.37.0-alpha.50",
+ "resolved": "https://registry.npmjs.org/@supabase/ui/-/ui-0.37.0-alpha.50.tgz",
+ "integrity": "sha512-d5jFxIVCRrZ6cHQ6qpuvyaexTmqMnxDWm0hg7vj9D2x5qcmySRCTC42uhpKXz5fKre2TUl38pFT+UpscWw/OyA==",
+ "dependencies": {
+ "@headlessui/react": "^1.0.0",
+ "@mertasan/tailwindcss-variables": "^2.0.1",
+ "@radix-ui/colors": "^0.1.8",
+ "@radix-ui/react-accordion": "^0.1.5",
+ "@radix-ui/react-collapsible": "^0.1.5",
+ "@radix-ui/react-context-menu": "^0.1.0",
+ "@radix-ui/react-dialog": "^0.1.5",
+ "@radix-ui/react-dropdown-menu": "^0.1.4",
+ "@radix-ui/react-popover": "^0.1.0",
+ "@radix-ui/react-portal": "^0.1.3",
+ "@radix-ui/react-tabs": "^0.1.0",
+ "@tailwindcss/forms": "^0.4.0",
+ "@tailwindcss/typography": "^0.5.0",
+ "autoprefixer": "^10.4.2",
+ "deepmerge": "^4.2.2",
+ "formik": "^2.2.9",
+ "lodash": "^4.17.20",
+ "postcss": "^8.4.5",
+ "prop-types": "^15.7.2",
+ "tailwindcss": "^3.0.15",
+ "tailwindcss-radix": "^1.6.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ },
+ "peerDependencies": {
+ "react": "^16.13.1 || ^17.0.1",
+ "react-dom": "^16.13.1 || ^17.0.1"
+ }
+ },
+ "node_modules/@supabase/ui/node_modules/@tailwindcss/typography": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
+ "integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
+ "dependencies": {
+ "lodash.castarray": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "postcss-selector-parser": "6.0.10"
+ },
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || insiders"
+ }
+ },
+ "node_modules/@tailwindcss/forms": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.1.tgz",
+ "integrity": "sha512-gS9xjCmJjUBz/eP12QlENPLnf0tCx68oYE3mri0GMP5jdtVwLbGUNSRpjsp6NzLAZzZy3ueOwrcqB78Ax6Z84A==",
+ "dependencies": {
+ "mini-svg-data-uri": "^1.2.3"
+ },
+ "peerDependencies": {
+ "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1"
+ }
+ },
+ "node_modules/@tailwindcss/typography": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz",
+ "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==",
+ "dependencies": {
+ "lodash.castarray": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "lodash.uniq": "^4.5.0"
+ },
+ "peerDependencies": {
+ "tailwindcss": ">=2.0.0"
+ }
+ },
+ "node_modules/@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/@types/acorn": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
+ "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/debug": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
+ "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
+ "dependencies": {
+ "@types/ms": "*"
+ }
+ },
+ "node_modules/@types/estree": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
+ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ=="
+ },
+ "node_modules/@types/estree-jsx": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz",
+ "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==",
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/hast": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
+ "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/mdast": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
+ "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+ "dependencies": {
+ "@types/unist": "*"
+ }
+ },
+ "node_modules/@types/ms": {
+ "version": "0.7.31",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
+ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
+ },
+ "node_modules/@types/node": {
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
+ "dev": true
+ },
+ "node_modules/@types/parse5": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
+ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw=="
+ },
+ "node_modules/@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
+ "node_modules/@types/react": {
+ "version": "17.0.39",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz",
+ "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==",
+ "dev": true,
+ "dependencies": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "node_modules/@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
+ "dev": true
+ },
+ "node_modules/@types/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==",
+ "dev": true
+ },
+ "node_modules/@types/strip-json-comments": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz",
+ "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==",
+ "dev": true
+ },
+ "node_modules/@types/unist": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
+ "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
+ },
+ "node_modules/@wry/context": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.0.tgz",
+ "integrity": "sha512-LcDAiYWRtwAoSOArfk7cuYvFXytxfVrdX7yxoUmK7pPITLk5jYh2F8knCwS7LjgYL8u1eidPlKKV6Ikqq0ODqQ==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@wry/equality": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz",
+ "integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@wry/trie": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz",
+ "integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/abab": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
+ },
+ "node_modules/acorn": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "dependencies": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ }
+ },
+ "node_modules/acorn-globals/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "dependencies": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ }
+ },
+ "node_modules/acorn-node/node_modules/acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==",
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "dependencies": {
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6.0.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/algoliasearch": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz",
+ "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==",
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": "4.14.2",
+ "@algolia/cache-common": "4.14.2",
+ "@algolia/cache-in-memory": "4.14.2",
+ "@algolia/client-account": "4.14.2",
+ "@algolia/client-analytics": "4.14.2",
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-personalization": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/logger-common": "4.14.2",
+ "@algolia/logger-console": "4.14.2",
+ "@algolia/requester-browser-xhr": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/requester-node-http": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "node_modules/ansi-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==",
+ "dependencies": {
+ "ansi-wrap": "0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ },
+ "node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/aria-hidden": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz",
+ "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.9.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "node_modules/autolinker": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz",
+ "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==",
+ "dependencies": {
+ "gulp-header": "^1.7.1"
+ }
+ },
+ "node_modules/autoprefixer": {
+ "version": "10.4.12",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
+ "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/autoprefixer"
+ }
+ ],
+ "dependencies": {
+ "browserslist": "^4.21.4",
+ "caniuse-lite": "^1.0.30001407",
+ "fraction.js": "^4.2.0",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ },
+ "bin": {
+ "autoprefixer": "bin/autoprefixer"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "peerDependencies": {
+ "postcss": "^8.1.0"
+ }
+ },
+ "node_modules/babel-plugin-apply-mdx-type-prop": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz",
+ "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "7.10.4",
+ "@mdx-js/util": "1.6.22"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.11.6"
+ }
+ },
+ "node_modules/babel-plugin-apply-mdx-type-prop/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ },
+ "node_modules/babel-plugin-extract-import-names": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz",
+ "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "7.10.4"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/babel-plugin-extract-import-names/node_modules/@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ },
+ "node_modules/bail": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "node_modules/big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "dependencies": {
+ "fill-range": "^7.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/braces/node_modules/fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
+ "node_modules/browserslist": {
+ "version": "4.21.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001400",
+ "electron-to-chromium": "^1.4.251",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.9"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001419",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz",
+ "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ }
+ ]
+ },
+ "node_modules/ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/character-entities": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-entities-legacy": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/character-reference-invalid": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://paulmillr.com/funding/"
+ }
+ ],
+ "dependencies": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "engines": {
+ "node": ">= 8.10.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.2"
+ }
+ },
+ "node_modules/chokidar/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/classnames": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
+ },
+ "node_modules/coffee-script": {
+ "version": "1.12.7",
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
+ "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==",
+ "deprecated": "CoffeeScript on NPM has moved to \"coffeescript\" (no hyphen)",
+ "bin": {
+ "cake": "bin/cake",
+ "coffee": "bin/coffee"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/collapse-white-space": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.8"
+ }
+ },
+ "node_modules/comma-separated-tokens": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/common": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/common/-/common-0.2.5.tgz",
+ "integrity": "sha512-bjuztiY8Wcz2V9dPpa0XdF0unGWqAGsnyKDGV7g6xDcaZfpufRrxV35qhuhjwv1h0jEPeiCHWKAQFLj702jGnA=="
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "node_modules/concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "engines": [
+ "node >= 0.8"
+ ],
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "node_modules/concat-with-sourcemaps": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+ "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
+ "dependencies": {
+ "source-map": "^0.6.1"
+ }
+ },
+ "node_modules/concat-with-sourcemaps/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/config": {
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.8.tgz",
+ "integrity": "sha512-rFzF6VESOdp7wAXFlB9IOZI4ouL05g3A03v2eRcTHj2JBQaTNJ40zhAUl5wRbWHqLZ+uqp/7OE0BWWtAVgrong==",
+ "dev": true,
+ "dependencies": {
+ "json5": "^2.2.1"
+ },
+ "engines": {
+ "node": ">= 10.0.0"
+ }
+ },
+ "node_modules/convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ },
+ "node_modules/copy-to-clipboard": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz",
+ "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==",
+ "dependencies": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
+ "node_modules/core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-selector-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
+ "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
+ },
+ "node_modules/cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
+ "bin": {
+ "cssesc": "bin/cssesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "node_modules/cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "dependencies": {
+ "cssom": "~0.3.6"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cssstyle/node_modules/cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ },
+ "node_modules/csstype": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+ },
+ "node_modules/data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "dependencies": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/decimal.js": {
+ "version": "10.4.2",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz",
+ "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA=="
+ },
+ "node_modules/decode-named-character-reference": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
+ "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
+ "dependencies": {
+ "character-entities": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/decode-named-character-reference/node_modules/character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
+ },
+ "node_modules/deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/defined": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/detab": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz",
+ "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==",
+ "dependencies": {
+ "repeat-string": "^1.5.4"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ },
+ "node_modules/detective": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
+ "dependencies": {
+ "acorn-node": "^1.8.2",
+ "defined": "^1.0.0",
+ "minimist": "^1.2.6"
+ },
+ "bin": {
+ "detective": "bin/detective.js"
+ },
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/diacritics-map": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz",
+ "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ },
+ "node_modules/diff": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==",
+ "engines": {
+ "node": ">=0.3.1"
+ }
+ },
+ "node_modules/dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "dependencies": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/domexception/node_modules/webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.281",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.281.tgz",
+ "integrity": "sha512-yer0w5wCYdFoZytfmbNhwiGI/3cW06+RV7E23ln4490DVMxs7PvYpbsrSmAiBn/V6gode8wvJlST2YfWgvzWIg=="
+ },
+ "node_modules/emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/enhanced-resolve": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
+ "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
+ "dev": true,
+ "dependencies": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/esbuild": {
+ "version": "0.12.29",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz",
+ "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g==",
+ "hasInstallScript": true,
+ "bin": {
+ "esbuild": "bin/esbuild"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "engines": {
+ "node": ">=0.8.0"
+ }
+ },
+ "node_modules/escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "dependencies": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1"
+ },
+ "bin": {
+ "escodegen": "bin/escodegen.js",
+ "esgenerate": "bin/esgenerate.js"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "optionalDependencies": {
+ "source-map": "~0.6.1"
+ }
+ },
+ "node_modules/escodegen/node_modules/levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "dependencies": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==",
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/escodegen/node_modules/type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "dependencies": {
+ "prelude-ls": "~1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz",
+ "integrity": "sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/eslintrc": "^1.1.0",
+ "@humanwhocodes/config-array": "^0.9.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.6.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/eslint/node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estree-util-is-identifier-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz",
+ "integrity": "sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/estree-util-visit": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz",
+ "integrity": "sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==",
+ "dependencies": {
+ "fill-range": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "node_modules/extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "dependencies": {
+ "is-extendable": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-glob/node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
+ },
+ "node_modules/fastq": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+ "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fault": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
+ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
+ "dependencies": {
+ "format": "^0.2.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "dependencies": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "dependencies": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "dev": true
+ },
+ "node_modules/for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "dependencies": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==",
+ "engines": {
+ "node": ">=0.4.x"
+ }
+ },
+ "node_modules/formik": {
+ "version": "2.2.9",
+ "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz",
+ "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==",
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://opencollective.com/formik"
+ }
+ ],
+ "dependencies": {
+ "deepmerge": "^2.1.1",
+ "hoist-non-react-statics": "^3.3.0",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
+ "react-fast-compare": "^2.0.1",
+ "tiny-warning": "^1.0.2",
+ "tslib": "^1.10.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.8.0"
+ }
+ },
+ "node_modules/formik/node_modules/deepmerge": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
+ "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/formik/node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ },
+ "node_modules/fraction.js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==",
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "type": "patreon",
+ "url": "https://www.patreon.com/infusion"
+ }
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "node_modules/fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "hasInstallScript": true,
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
+ }
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+ "dev": true
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dev": true
+ },
+ "node_modules/graphql": {
+ "version": "16.6.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz",
+ "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==",
+ "engines": {
+ "node": "^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0"
+ }
+ },
+ "node_modules/graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "graphql": "^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0"
+ }
+ },
+ "node_modules/gray-matter": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
+ "dependencies": {
+ "js-yaml": "^3.13.1",
+ "kind-of": "^6.0.2",
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0"
+ }
+ },
+ "node_modules/gray-matter/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/gray-matter/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/gulp-header": {
+ "version": "1.8.12",
+ "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz",
+ "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==",
+ "deprecated": "Removed event-stream from gulp-header",
+ "dependencies": {
+ "concat-with-sourcemaps": "*",
+ "lodash.template": "^4.4.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/hast-to-hyperscript": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz",
+ "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==",
+ "dependencies": {
+ "@types/unist": "^2.0.3",
+ "comma-separated-tokens": "^1.0.0",
+ "property-information": "^5.3.0",
+ "space-separated-tokens": "^1.0.0",
+ "style-to-object": "^0.3.0",
+ "unist-util-is": "^4.0.0",
+ "web-namespaces": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-from-parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz",
+ "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==",
+ "dependencies": {
+ "@types/parse5": "^5.0.0",
+ "hastscript": "^6.0.0",
+ "property-information": "^5.0.0",
+ "vfile": "^4.0.0",
+ "vfile-location": "^3.2.0",
+ "web-namespaces": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-is-element": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz",
+ "integrity": "sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-parse-selector": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
+ "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-raw": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz",
+ "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "hast-util-from-parse5": "^6.0.0",
+ "hast-util-to-parse5": "^6.0.0",
+ "html-void-elements": "^1.0.0",
+ "parse5": "^6.0.0",
+ "unist-util-position": "^3.0.0",
+ "vfile": "^4.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.0",
+ "zwitch": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-sanitize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz",
+ "integrity": "sha512-pw56+69jq+QSr/coADNvWTmBPDy+XsmwaF5KnUys4/wM1jt/fZdl7GPxhXXXYdXnz3Gj3qMkbUCH2uKjvX0MgQ==",
+ "dependencies": {
+ "@types/hast": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-html": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz",
+ "integrity": "sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "ccount": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-is-element": "^2.0.0",
+ "hast-util-whitespace": "^2.0.0",
+ "html-void-elements": "^2.0.0",
+ "property-information": "^6.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "stringify-entities": "^4.0.2",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-html/node_modules/comma-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hast-util-to-html/node_modules/html-void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
+ "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hast-util-to-html/node_modules/property-information": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
+ "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hast-util-to-html/node_modules/space-separated-tokens": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
+ "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/hast-util-to-html/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-to-parse5": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz",
+ "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==",
+ "dependencies": {
+ "hast-to-hyperscript": "^9.0.0",
+ "property-information": "^5.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.0",
+ "zwitch": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hast-util-whitespace": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
+ "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/hastscript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
+ "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.0.0",
+ "property-information": "^5.0.0",
+ "space-separated-tokens": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A==",
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "dependencies": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "node_modules/html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "dependencies": {
+ "whatwg-encoding": "^1.0.5"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/html-void-elements": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz",
+ "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "dependencies": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "dependencies": {
+ "agent-base": "6",
+ "debug": "4"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "dependencies": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/immutable": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
+ "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
+ "dev": true
+ },
+ "node_modules/import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "node_modules/inline-style-parser": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
+ },
+ "node_modules/invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "dependencies": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "node_modules/is-alphabetical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-alphanumerical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
+ "dependencies": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "dependencies": {
+ "binary-extensions": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "dependencies": {
+ "has": "^1.0.3"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-decimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-hexadecimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-number/node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "node_modules/is-number/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-plain-object/node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
+ "node_modules/is-whitespace-character": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/is-word-character": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "dependencies": {
+ "isarray": "1.0.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "dependencies": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "canvas": "^2.5.0"
+ },
+ "peerDependenciesMeta": {
+ "canvas": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==",
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==",
+ "dependencies": {
+ "set-getter": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==",
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/list-item": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz",
+ "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==",
+ "dependencies": {
+ "expand-range": "^1.8.1",
+ "extend-shallow": "^2.0.1",
+ "is-number": "^2.1.0",
+ "repeat-string": "^1.5.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "dependencies": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ },
+ "engines": {
+ "node": ">=8.9.0"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "dependencies": {
+ "p-locate": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "node_modules/lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "node_modules/lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA=="
+ },
+ "node_modules/lodash.castarray": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
+ "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q=="
+ },
+ "node_modules/lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+ },
+ "node_modules/lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "node_modules/lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "dependencies": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "node_modules/lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
+ },
+ "node_modules/longest-streak": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz",
+ "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "dependencies": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ },
+ "bin": {
+ "loose-envify": "cli.js"
+ }
+ },
+ "node_modules/lowlight": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
+ "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
+ "dependencies": {
+ "fault": "^1.0.0",
+ "highlight.js": "~10.7.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/markdown-escapes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/markdown-link": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz",
+ "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/markdown-toc": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz",
+ "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==",
+ "dependencies": {
+ "concat-stream": "^1.5.2",
+ "diacritics-map": "^0.1.0",
+ "gray-matter": "^2.1.0",
+ "lazy-cache": "^2.0.2",
+ "list-item": "^1.1.1",
+ "markdown-link": "^0.1.1",
+ "minimist": "^1.2.0",
+ "mixin-deep": "^1.1.3",
+ "object.pick": "^1.2.0",
+ "remarkable": "^1.7.1",
+ "repeat-string": "^1.6.1",
+ "strip-color": "^0.1.0"
+ },
+ "bin": {
+ "markdown-toc": "cli.js"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/markdown-toc/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/markdown-toc/node_modules/gray-matter": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz",
+ "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==",
+ "dependencies": {
+ "ansi-red": "^0.1.1",
+ "coffee-script": "^1.12.4",
+ "extend-shallow": "^2.0.1",
+ "js-yaml": "^3.8.1",
+ "toml": "^2.3.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/markdown-toc/node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A=="
+ },
+ "node_modules/mdast-squeeze-paragraphs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz",
+ "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==",
+ "dependencies": {
+ "unist-util-remove": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-definitions": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz",
+ "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==",
+ "dependencies": {
+ "unist-util-visit": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-from-markdown": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
+ "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "mdast-util-to-string": "^3.1.0",
+ "micromark": "^3.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-decode-string": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "uvu": "^0.5.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz",
+ "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==",
+ "dependencies": {
+ "mdast-util-mdx-expression": "^1.0.0",
+ "mdast-util-mdx-jsx": "^2.0.0",
+ "mdast-util-mdxjs-esm": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-expression": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.1.tgz",
+ "integrity": "sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "mdast-util-to-markdown": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz",
+ "integrity": "sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "ccount": "^2.0.0",
+ "mdast-util-to-markdown": "^1.3.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-remove-position": "^4.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "dependencies": {
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz",
+ "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "character-entities": "^2.0.0",
+ "character-entities-legacy": "^3.0.0",
+ "character-reference-invalid": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0",
+ "is-hexadecimal": "^2.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-mdxjs-esm": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz",
+ "integrity": "sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==",
+ "dependencies": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "mdast-util-to-markdown": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-hast": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz",
+ "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "mdast-util-definitions": "^4.0.0",
+ "mdurl": "^1.0.0",
+ "unist-builder": "^2.0.0",
+ "unist-util-generated": "^1.0.0",
+ "unist-util-position": "^3.0.0",
+ "unist-util-visit": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz",
+ "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "longest-streak": "^3.0.0",
+ "mdast-util-to-string": "^3.0.0",
+ "micromark-util-decode-string": "^1.0.0",
+ "unist-util-visit": "^4.0.0",
+ "zwitch": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdast-util-to-markdown/node_modules/zwitch": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz",
+ "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/mdast-util-to-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
+ "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromark": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz",
+ "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "@types/debug": "^4.0.0",
+ "debug": "^4.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-core-commonmark": "^1.0.1",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-combine-extensions": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-sanitize-uri": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-core-commonmark": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
+ "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-factory-destination": "^1.0.0",
+ "micromark-factory-label": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-factory-title": "^1.0.0",
+ "micromark-factory-whitespace": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-classify-character": "^1.0.0",
+ "micromark-util-html-tag-name": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-extension-mdx-expression": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz",
+ "integrity": "sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-mdx-expression": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-extension-mdx-jsx": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz",
+ "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==",
+ "dependencies": {
+ "@types/acorn": "^4.0.0",
+ "estree-util-is-identifier-name": "^2.0.0",
+ "micromark-factory-mdx-expression": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdx-md": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz",
+ "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==",
+ "dependencies": {
+ "micromark-util-types": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdxjs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz",
+ "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==",
+ "dependencies": {
+ "acorn": "^8.0.0",
+ "acorn-jsx": "^5.0.0",
+ "micromark-extension-mdx-expression": "^1.0.0",
+ "micromark-extension-mdx-jsx": "^1.0.0",
+ "micromark-extension-mdx-md": "^1.0.0",
+ "micromark-extension-mdxjs-esm": "^1.0.0",
+ "micromark-util-combine-extensions": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-extension-mdxjs-esm": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz",
+ "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==",
+ "dependencies": {
+ "micromark-core-commonmark": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-position-from-estree": "^1.1.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-factory-destination": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
+ "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-factory-label": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
+ "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-factory-mdx-expression": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz",
+ "integrity": "sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-position-from-estree": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "node_modules/micromark-factory-space": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
+ "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-factory-title": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
+ "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-factory-whitespace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
+ "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-character": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
+ "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-chunked": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
+ "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-classify-character": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
+ "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-combine-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
+ "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-numeric-character-reference": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
+ "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-decode-string": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
+ "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-encode": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
+ "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-events-to-acorn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz",
+ "integrity": "sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "@types/acorn": "^4.0.0",
+ "@types/estree": "^1.0.0",
+ "estree-util-visit": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-location": "^4.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "node_modules/micromark-util-events-to-acorn/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-util-events-to-acorn/node_modules/vfile-location": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz",
+ "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/micromark-util-html-tag-name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz",
+ "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-normalize-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
+ "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-resolve-all": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
+ "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-sanitize-uri": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz",
+ "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "node_modules/micromark-util-subtokenize": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
+ "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ],
+ "dependencies": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "node_modules/micromark-util-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
+ "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromark-util-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
+ "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==",
+ "funding": [
+ {
+ "type": "GitHub Sponsors",
+ "url": "https://github.com/sponsors/unifiedjs"
+ },
+ {
+ "type": "OpenCollective",
+ "url": "https://opencollective.com/unified"
+ }
+ ]
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "dependencies": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "dependencies": {
+ "mime-db": "1.52.0"
+ },
+ "engines": {
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/mini-svg-data-uri": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
+ "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==",
+ "bin": {
+ "mini-svg-data-uri": "cli.js"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/minimist": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==",
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "dependencies": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mixin-deep/node_modules/is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "dependencies": {
+ "is-plain-object": "^2.0.4"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/mri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
+ },
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
+ }
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "node_modules/next": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/next/-/next-12.1.0.tgz",
+ "integrity": "sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==",
+ "dependencies": {
+ "@next/env": "12.1.0",
+ "caniuse-lite": "^1.0.30001283",
+ "postcss": "8.4.5",
+ "styled-jsx": "5.0.0",
+ "use-subscription": "1.5.1"
+ },
+ "bin": {
+ "next": "dist/bin/next"
+ },
+ "engines": {
+ "node": ">=12.22.0"
+ },
+ "optionalDependencies": {
+ "@next/swc-android-arm64": "12.1.0",
+ "@next/swc-darwin-arm64": "12.1.0",
+ "@next/swc-darwin-x64": "12.1.0",
+ "@next/swc-linux-arm-gnueabihf": "12.1.0",
+ "@next/swc-linux-arm64-gnu": "12.1.0",
+ "@next/swc-linux-arm64-musl": "12.1.0",
+ "@next/swc-linux-x64-gnu": "12.1.0",
+ "@next/swc-linux-x64-musl": "12.1.0",
+ "@next/swc-win32-arm64-msvc": "12.1.0",
+ "@next/swc-win32-ia32-msvc": "12.1.0",
+ "@next/swc-win32-x64-msvc": "12.1.0"
+ },
+ "peerDependencies": {
+ "fibers": ">= 3.1.0",
+ "node-sass": "^6.0.0 || ^7.0.0",
+ "react": "^17.0.2 || ^18.0.0-0",
+ "react-dom": "^17.0.2 || ^18.0.0-0",
+ "sass": "^1.3.0"
+ },
+ "peerDependenciesMeta": {
+ "fibers": {
+ "optional": true
+ },
+ "node-sass": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/next-compose-plugins": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz",
+ "integrity": "sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg=="
+ },
+ "node_modules/next-mdx-remote": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-3.0.8.tgz",
+ "integrity": "sha512-WFSxt0crxG5PN/0WvaunzxzqV3wh3dPBZyhkclxwyQfLSRKzsNSArzot/4gYTOOZ/GtyRfNjbI/HtDsW2S4fqQ==",
+ "dependencies": {
+ "@mdx-js/mdx": "^1.6.22",
+ "@mdx-js/react": "^1.6.22",
+ "esbuild": "^0.12.9",
+ "pkg-dir": "^5.0.0"
+ },
+ "peerDependencies": {
+ "react": ">=16.x <=17.x",
+ "react-dom": ">=16.x <=17.x"
+ }
+ },
+ "node_modules/next-themes": {
+ "version": "0.0.15",
+ "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.0.15.tgz",
+ "integrity": "sha512-LTmtqYi03c4gMTJmWwVK9XkHL7h0/+XrtR970Ujvtu3s0kZNeJN24aJsi4rkZOI8i19+qq6f8j+8Duwy5jqcrQ==",
+ "peerDependencies": {
+ "next": "*",
+ "react": "*",
+ "react-dom": "*"
+ }
+ },
+ "node_modules/next-transpile-modules": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-9.0.0.tgz",
+ "integrity": "sha512-VCNFOazIAnXn1hvgYYSTYMnoWgKgwlYh4lm1pKbSfiB3kj5ZYLcKVhfh3jkPOg1cnd9DP+pte9yCUocdPEUBTQ==",
+ "dev": true,
+ "dependencies": {
+ "enhanced-resolve": "^5.7.0",
+ "escalade": "^3.1.1"
+ }
+ },
+ "node_modules/next/node_modules/postcss": {
+ "version": "8.4.5",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
+ "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+ "dependencies": {
+ "nanoid": "^3.1.30",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.1"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ }
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/nwsapi": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
+ "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw=="
+ },
+ "node_modules/object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "dependencies": {
+ "isobject": "^3.0.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/object.pick/node_modules/isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/optimism": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz",
+ "integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==",
+ "dependencies": {
+ "@wry/context": "^0.6.0",
+ "@wry/trie": "^0.3.0"
+ }
+ },
+ "node_modules/optimism/node_modules/@wry/context": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
+ "integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==",
+ "dependencies": {
+ "tslib": "^2.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "dependencies": {
+ "p-limit": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
+ "dependencies": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/parse-numeric-range": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz",
+ "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="
+ },
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dependencies": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "dependencies": {
+ "find-up": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/postcss": {
+ "version": "8.4.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
+ "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ }
+ ],
+ "dependencies": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ },
+ "engines": {
+ "node": "^10 || ^12 || >=14"
+ }
+ },
+ "node_modules/postcss-import": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "dependencies": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ },
+ "engines": {
+ "node": ">=10.0.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.0"
+ }
+ },
+ "node_modules/postcss-js": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
+ "dependencies": {
+ "camelcase-css": "^2.0.1"
+ },
+ "engines": {
+ "node": "^12 || ^14 || >= 16"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.3.3"
+ }
+ },
+ "node_modules/postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "dependencies": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ },
+ "engines": {
+ "node": ">= 10"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": ">=8.0.9",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "postcss": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/postcss-nested": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
+ "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
+ "dependencies": {
+ "postcss-selector-parser": "^6.0.6"
+ },
+ "engines": {
+ "node": ">=12.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ "peerDependencies": {
+ "postcss": "^8.2.14"
+ }
+ },
+ "node_modules/postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "dependencies": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/prismjs": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "node_modules/prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "dependencies": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "node_modules/property-information": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
+ "dependencies": {
+ "xtend": "^4.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/randomatic": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "dependencies": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/randomatic/node_modules/is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/react-copy-to-clipboard": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz",
+ "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==",
+ "dependencies": {
+ "copy-to-clipboard": "^3.3.1",
+ "prop-types": "^15.8.1"
+ },
+ "peerDependencies": {
+ "react": "^15.3.0 || 16 || 17 || 18"
+ }
+ },
+ "node_modules/react-dom": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
+ "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "scheduler": "^0.20.2"
+ },
+ "peerDependencies": {
+ "react": "17.0.2"
+ }
+ },
+ "node_modules/react-fast-compare": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz",
+ "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw=="
+ },
+ "node_modules/react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "node_modules/react-markdown": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.3.tgz",
+ "integrity": "sha512-We36SfqaKoVNpN1QqsZwWSv/OZt5J15LNgTLWynwAN5b265hrQrsjMtlRNwUvS+YyR3yDM8HpTNc4pK9H/Gc0A==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/prop-types": "^15.0.0",
+ "@types/unist": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-whitespace": "^2.0.0",
+ "prop-types": "^15.0.0",
+ "property-information": "^6.0.0",
+ "react-is": "^18.0.0",
+ "remark-parse": "^10.0.0",
+ "remark-rehype": "^10.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-object": "^0.3.0",
+ "unified": "^10.0.0",
+ "unist-util-visit": "^4.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ },
+ "peerDependencies": {
+ "@types/react": ">=16",
+ "react": ">=16"
+ }
+ },
+ "node_modules/react-markdown/node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/react-markdown/node_modules/comma-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/react-markdown/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/react-markdown/node_modules/property-information": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
+ "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/react-markdown/node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "node_modules/react-markdown/node_modules/remark-parse": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
+ "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-markdown/node_modules/space-separated-tokens": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
+ "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/react-markdown/node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/react-markdown/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-markdown/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-markdown/node_modules/unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-markdown/node_modules/unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-markdown/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "dependencies": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-remove-scroll-bar": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
+ "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
+ "dependencies": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "dependencies": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/react-syntax-highlighter": {
+ "version": "15.5.0",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz",
+ "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==",
+ "dependencies": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.4.1",
+ "lowlight": "^1.17.0",
+ "prismjs": "^1.27.0",
+ "refractor": "^3.6.0"
+ },
+ "peerDependencies": {
+ "react": ">= 0.14.0"
+ }
+ },
+ "node_modules/read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "dependencies": {
+ "pify": "^2.3.0"
+ }
+ },
+ "node_modules/read-cache/node_modules/pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "dependencies": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "node_modules/readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "dependencies": {
+ "picomatch": "^2.2.1"
+ },
+ "engines": {
+ "node": ">=8.10.0"
+ }
+ },
+ "node_modules/refractor": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz",
+ "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==",
+ "dependencies": {
+ "hastscript": "^6.0.0",
+ "parse-entities": "^2.0.0",
+ "prismjs": "~1.27.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/refractor/node_modules/prismjs": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/regenerator-runtime": {
+ "version": "0.13.10",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
+ "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/remark": {
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.2.tgz",
+ "integrity": "sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "remark-parse": "^10.0.0",
+ "remark-stringify": "^10.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-footnotes": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz",
+ "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html": {
+ "version": "15.0.1",
+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.1.tgz",
+ "integrity": "sha512-7ta5UPRqj8nP0GhGMYUAghZ/DRno7dgq7alcW90A7+9pgJsXzGJlFgwF8HOP1b1tMgT3WwbeANN+CaTimMfyNQ==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "hast-util-sanitize": "^4.0.0",
+ "hast-util-to-html": "^8.0.0",
+ "mdast-util-to-hast": "^12.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-html/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/remark-html/node_modules/mdast-util-definitions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
+ "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/mdast-util-to-hast": {
+ "version": "12.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
+ "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-definitions": "^5.0.0",
+ "micromark-util-sanitize-uri": "^1.1.0",
+ "trim-lines": "^3.0.0",
+ "unist-builder": "^3.0.0",
+ "unist-util-generated": "^2.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-html/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-builder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
+ "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-util-generated": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
+ "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-util-position": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
+ "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-html/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-mdx": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.5.tgz",
+ "integrity": "sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==",
+ "dependencies": {
+ "mdast-util-mdx": "^2.0.0",
+ "micromark-extension-mdxjs": "^1.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-parse": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
+ "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
+ "dependencies": {
+ "ccount": "^1.0.0",
+ "collapse-white-space": "^1.0.2",
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "is-word-character": "^1.0.0",
+ "markdown-escapes": "^1.0.0",
+ "parse-entities": "^2.0.0",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^2.0.0",
+ "vfile-location": "^3.0.0",
+ "xtend": "^4.0.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-parse/node_modules/ccount": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
+ "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-parse/node_modules/unist-util-remove-position": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
+ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
+ "dependencies": {
+ "unist-util-visit": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-prism": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/remark-prism/-/remark-prism-1.3.6.tgz",
+ "integrity": "sha512-yYSXJ2MEK2DeD9UKDKFkQPcVqRx6aX2FYD1kE27ScogpZ/BBO8MoOO6gf/AKqfXvKGnP51wqvDEBmPseypgaug==",
+ "dependencies": {
+ "classnames": "^2.3.1",
+ "css-selector-parser": "^1.4.1",
+ "escape-html": "^1.0.3",
+ "jsdom": "^16.5.3",
+ "parse-numeric-range": "^1.2.0",
+ "parse5": "^6.0.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.1",
+ "prismjs": "^1.23.0",
+ "unist-util-map": "^2.0.1"
+ }
+ },
+ "node_modules/remark-rehype": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
+ "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-hast": "^12.1.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/mdast-util-definitions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
+ "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/mdast-util-to-hast": {
+ "version": "12.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
+ "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "dependencies": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-definitions": "^5.0.0",
+ "micromark-util-sanitize-uri": "^1.1.0",
+ "trim-lines": "^3.0.0",
+ "unist-builder": "^3.0.0",
+ "unist-util-generated": "^2.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-builder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
+ "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-util-generated": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
+ "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-util-position": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
+ "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-rehype/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-squeeze-paragraphs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz",
+ "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==",
+ "dependencies": {
+ "mdast-squeeze-paragraphs": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-stringify": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
+ "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-stringify/node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-stringify/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/remark-stringify/node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark-stringify/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark-stringify/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark/node_modules/bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark/node_modules/is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/remark/node_modules/remark-parse": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
+ "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark/node_modules/trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/remark/node_modules/unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remark/node_modules/vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/remarkable": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz",
+ "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==",
+ "dependencies": {
+ "argparse": "^1.0.10",
+ "autolinker": "~0.28.0"
+ },
+ "bin": {
+ "remarkable": "bin/remarkable.js"
+ },
+ "engines": {
+ "node": ">= 0.10.0"
+ }
+ },
+ "node_modules/remarkable/node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
+ },
+ "node_modules/resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "dependencies": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/response-iterator": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz",
+ "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==",
+ "engines": {
+ "node": ">=0.8"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/sade": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "dependencies": {
+ "mri": "^1.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "node_modules/safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "node_modules/sass": {
+ "version": "1.55.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz",
+ "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==",
+ "dev": true,
+ "dependencies": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ },
+ "bin": {
+ "sass": "sass.js"
+ },
+ "engines": {
+ "node": ">=12.0.0"
+ }
+ },
+ "node_modules/saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "dependencies": {
+ "xmlchars": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/scheduler": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
+ "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "dependencies": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "node_modules/section-matter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "dependencies": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
+ "bin": {
+ "semver": "bin/semver"
+ }
+ },
+ "node_modules/set-getter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz",
+ "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==",
+ "dependencies": {
+ "to-object-path": "^0.3.0"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/space-separated-tokens": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
+ },
+ "node_modules/state-toggle": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "dependencies": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "node_modules/stringify-entities": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz",
+ "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==",
+ "dependencies": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/stringify-entities/node_modules/character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-color": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz",
+ "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/style-to-object": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
+ "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
+ "dependencies": {
+ "inline-style-parser": "0.1.1"
+ }
+ },
+ "node_modules/styled-jsx": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz",
+ "integrity": "sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA==",
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "peerDependencies": {
+ "react": ">= 16.8.0 || 17.x.x || 18.x.x"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dependencies": {
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/symbol-observable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==",
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "node_modules/tailwindcss": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
+ "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
+ "dependencies": {
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "color-name": "^1.1.4",
+ "detective": "^5.2.1",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "lilconfig": "^2.0.6",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.14",
+ "postcss-import": "^14.1.0",
+ "postcss-js": "^4.0.0",
+ "postcss-load-config": "^3.1.4",
+ "postcss-nested": "5.0.6",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "quick-lru": "^5.1.1",
+ "resolve": "^1.22.1"
+ },
+ "bin": {
+ "tailwind": "lib/cli.js",
+ "tailwindcss": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=12.13.0"
+ },
+ "peerDependencies": {
+ "postcss": "^8.0.9"
+ }
+ },
+ "node_modules/tailwindcss-radix": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/tailwindcss-radix/-/tailwindcss-radix-1.6.0.tgz",
+ "integrity": "sha512-5oBgGCVGsITMiUVlc6Euj4kt03l8htLJxVT9AXbkFxcJiXLtQxJriFq/8R+3s63OKit/ynCVdkqvlnW6H7iG1g=="
+ },
+ "node_modules/tailwindcss/node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ },
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "node_modules/through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "dependencies": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "node_modules/tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "dependencies": {
+ "kind-of": "^3.0.2"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-object-path/node_modules/is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "node_modules/to-object-path/node_modules/kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "dependencies": {
+ "is-buffer": "^1.1.5"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/to-regex-range/node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ },
+ "node_modules/toml": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz",
+ "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ=="
+ },
+ "node_modules/tough-cookie": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz",
+ "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
+ "dependencies": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "dependencies": {
+ "punycode": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/trim": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ=="
+ },
+ "node_modules/trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trim-trailing-lines": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz",
+ "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/trough": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/ts-invariant": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz",
+ "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==",
+ "dependencies": {
+ "tslib": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tsconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
+ "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==",
+ "dev": true,
+ "dependencies": {
+ "@types/strip-bom": "^3.0.0",
+ "@types/strip-json-comments": "0.0.30",
+ "strip-bom": "^3.0.0",
+ "strip-json-comments": "^2.0.0"
+ }
+ },
+ "node_modules/tsconfig/node_modules/strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ },
+ "node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
+ },
+ "node_modules/typescript": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
+ "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=4.2.0"
+ }
+ },
+ "node_modules/unherit": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
+ "dependencies": {
+ "inherits": "^2.0.0",
+ "xtend": "^4.0.0"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/unified": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
+ "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
+ "dependencies": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
+ "trough": "^1.0.0",
+ "vfile": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-builder": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz",
+ "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-generated": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz",
+ "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-is": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-map/-/unist-util-map-2.0.1.tgz",
+ "integrity": "sha512-VdNvk4BQUUU9Rgr8iUOvclHa/iN9O+6Dt66FKij8l9OVezGG37gGWCPU5KSax1R2degqXFvl3kWTkvzL79e9tQ==",
+ "dependencies": {
+ "@types/mdast": "^3.0.0",
+ "object-assign": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz",
+ "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-position-from-estree": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz",
+ "integrity": "sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-remove": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz",
+ "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==",
+ "dependencies": {
+ "unist-util-is": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-remove-position": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz",
+ "integrity": "sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-remove-position/node_modules/unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-remove-position/node_modules/unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-remove-position/node_modules/unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-stringify-position": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
+ "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/unist-util-visit-parents": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
+ "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/universalify": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==",
+ "engines": {
+ "node": ">= 4.0.0"
+ }
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "browserslist-lint": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "dependencies": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "node_modules/use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "dependencies": {
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "dependencies": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "peerDependencies": {
+ "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0",
+ "react": "^16.8.0 || ^17.0.0 || ^18.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/use-subscription": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
+ "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==",
+ "dependencies": {
+ "object-assign": "^4.1.1"
+ },
+ "peerDependencies": {
+ "react": "^16.8.0 || ^17.0.0"
+ }
+ },
+ "node_modules/util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "node_modules/uvu": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
+ "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
+ "dependencies": {
+ "dequal": "^2.0.0",
+ "diff": "^5.0.0",
+ "kleur": "^4.0.3",
+ "sade": "^1.7.3"
+ },
+ "bin": {
+ "uvu": "bin.js"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "node_modules/vfile": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
+ "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-location": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz",
+ "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==",
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile-message": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
+ "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile/node_modules/unist-util-stringify-position": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
+ "dependencies": {
+ "@types/unist": "^2.0.2"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/vfile/node_modules/vfile-message": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
+ "dependencies": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/unified"
+ }
+ },
+ "node_modules/w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "dependencies": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "node_modules/w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "dependencies": {
+ "xml-name-validator": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/web-namespaces": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz",
+ "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ },
+ "node_modules/webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w==",
+ "engines": {
+ "node": ">=10.4"
+ }
+ },
+ "node_modules/whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "dependencies": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "node_modules/whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "node_modules/whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "dependencies": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "node_modules/ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
+ "engines": {
+ "node": ">=8.3.0"
+ },
+ "peerDependencies": {
+ "bufferutil": "^4.0.1",
+ "utf-8-validate": "^5.0.2"
+ },
+ "peerDependenciesMeta": {
+ "bufferutil": {
+ "optional": true
+ },
+ "utf-8-validate": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "node_modules/xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
+ "node_modules/xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
+ "engines": {
+ "node": ">=0.4"
+ }
+ },
+ "node_modules/yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zen-observable": {
+ "version": "0.8.15",
+ "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
+ "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ=="
+ },
+ "node_modules/zen-observable-ts": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz",
+ "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==",
+ "dependencies": {
+ "zen-observable": "0.8.15"
+ }
+ },
+ "node_modules/zwitch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
+ "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==",
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/wooorm"
+ }
+ }
+ },
+ "dependencies": {
+ "@algolia/cache-browser-local-storage": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.14.2.tgz",
+ "integrity": "sha512-FRweBkK/ywO+GKYfAWbrepewQsPTIEirhi1BdykX9mxvBPtGNKccYAxvGdDCumU1jL4r3cayio4psfzKMejBlA==",
+ "requires": {
+ "@algolia/cache-common": "4.14.2"
+ }
+ },
+ "@algolia/cache-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.14.2.tgz",
+ "integrity": "sha512-SbvAlG9VqNanCErr44q6lEKD2qoK4XtFNx9Qn8FK26ePCI8I9yU7pYB+eM/cZdS9SzQCRJBbHUumVr4bsQ4uxg=="
+ },
+ "@algolia/cache-in-memory": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.14.2.tgz",
+ "integrity": "sha512-HrOukWoop9XB/VFojPv1R5SVXowgI56T9pmezd/djh2JnVN/vXswhXV51RKy4nCpqxyHt/aGFSq2qkDvj6KiuQ==",
+ "requires": {
+ "@algolia/cache-common": "4.14.2"
+ }
+ },
+ "@algolia/client-account": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.14.2.tgz",
+ "integrity": "sha512-WHtriQqGyibbb/Rx71YY43T0cXqyelEU0lB2QMBRXvD2X0iyeGl4qMxocgEIcbHyK7uqE7hKgjT8aBrHqhgc1w==",
+ "requires": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "@algolia/client-analytics": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.14.2.tgz",
+ "integrity": "sha512-yBvBv2mw+HX5a+aeR0dkvUbFZsiC4FKSnfqk9rrfX+QrlNOKEhCG0tJzjiOggRW4EcNqRmaTULIYvIzQVL2KYQ==",
+ "requires": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "@algolia/client-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.14.2.tgz",
+ "integrity": "sha512-43o4fslNLcktgtDMVaT5XwlzsDPzlqvqesRi4MjQz2x4/Sxm7zYg5LRYFol1BIhG6EwxKvSUq8HcC/KxJu3J0Q==",
+ "requires": {
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "@algolia/client-personalization": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.14.2.tgz",
+ "integrity": "sha512-ACCoLi0cL8CBZ1W/2juehSltrw2iqsQBnfiu/Rbl9W2yE6o2ZUb97+sqN/jBqYNQBS+o0ekTMKNkQjHHAcEXNw==",
+ "requires": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "@algolia/client-search": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.14.2.tgz",
+ "integrity": "sha512-L5zScdOmcZ6NGiVbLKTvP02UbxZ0njd5Vq9nJAmPFtjffUSOGEp11BmD2oMJ5QvARgx2XbX4KzTTNS5ECYIMWw==",
+ "requires": {
+ "@algolia/client-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "@algolia/logger-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.14.2.tgz",
+ "integrity": "sha512-/JGlYvdV++IcMHBnVFsqEisTiOeEr6cUJtpjz8zc0A9c31JrtLm318Njc72p14Pnkw3A/5lHHh+QxpJ6WFTmsA=="
+ },
+ "@algolia/logger-console": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.14.2.tgz",
+ "integrity": "sha512-8S2PlpdshbkwlLCSAB5f8c91xyc84VM9Ar9EdfE9UmX+NrKNYnWR1maXXVDQQoto07G1Ol/tYFnFVhUZq0xV/g==",
+ "requires": {
+ "@algolia/logger-common": "4.14.2"
+ }
+ },
+ "@algolia/requester-browser-xhr": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.14.2.tgz",
+ "integrity": "sha512-CEh//xYz/WfxHFh7pcMjQNWgpl4wFB85lUMRyVwaDPibNzQRVcV33YS+63fShFWc2+42YEipFGH2iPzlpszmDw==",
+ "requires": {
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "@algolia/requester-common": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.14.2.tgz",
+ "integrity": "sha512-73YQsBOKa5fvVV3My7iZHu1sUqmjjfs9TteFWwPwDmnad7T0VTCopttcsM3OjLxZFtBnX61Xxl2T2gmG2O4ehg=="
+ },
+ "@algolia/requester-node-http": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.14.2.tgz",
+ "integrity": "sha512-oDbb02kd1o5GTEld4pETlPZLY0e+gOSWjWMJHWTgDXbv9rm/o2cF7japO6Vj1ENnrqWvLBmW1OzV9g6FUFhFXg==",
+ "requires": {
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "@algolia/transporter": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.14.2.tgz",
+ "integrity": "sha512-t89dfQb2T9MFQHidjHcfhh6iGMNwvuKUvojAj+JsrHAGbuSy7yE4BylhLX6R0Q1xYRoC4Vvv+O5qIw/LdnQfsQ==",
+ "requires": {
+ "@algolia/cache-common": "4.14.2",
+ "@algolia/logger-common": "4.14.2",
+ "@algolia/requester-common": "4.14.2"
+ }
+ },
+ "@apollo/client": {
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/@apollo/client/-/client-3.7.0.tgz",
+ "integrity": "sha512-hp4OvrH1ZIQACRYcIrh/C0WFnY7IM7G6nlTpC8DSTEWxfZQ2kvpvDY0I/hYmCs0oAVrg26g3ANEdOzGWTcYbPg==",
+ "requires": {
+ "@graphql-typed-document-node/core": "^3.1.1",
+ "@wry/context": "^0.7.0",
+ "@wry/equality": "^0.5.0",
+ "@wry/trie": "^0.3.0",
+ "graphql-tag": "^2.12.6",
+ "hoist-non-react-statics": "^3.3.2",
+ "optimism": "^0.16.1",
+ "prop-types": "^15.7.2",
+ "response-iterator": "^0.2.6",
+ "symbol-observable": "^4.0.0",
+ "ts-invariant": "^0.10.3",
+ "tslib": "^2.3.0",
+ "zen-observable-ts": "^1.2.5"
+ }
+ },
+ "@babel/code-frame": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
+ "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "requires": {
+ "@babel/highlight": "^7.18.6"
+ }
+ },
+ "@babel/core": {
+ "version": "7.12.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.9.tgz",
+ "integrity": "sha512-gTXYh3M5wb7FRXQy+FErKFAv90BnlOuNn1QkCK2lREoPAjrQCO49+HVSrFoe5uakFAF5eenS75KbO2vQiLrTMQ==",
+ "requires": {
+ "@babel/code-frame": "^7.10.4",
+ "@babel/generator": "^7.12.5",
+ "@babel/helper-module-transforms": "^7.12.1",
+ "@babel/helpers": "^7.12.5",
+ "@babel/parser": "^7.12.7",
+ "@babel/template": "^7.12.7",
+ "@babel/traverse": "^7.12.9",
+ "@babel/types": "^7.12.7",
+ "convert-source-map": "^1.7.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.1",
+ "json5": "^2.1.2",
+ "lodash": "^4.17.19",
+ "resolve": "^1.3.2",
+ "semver": "^5.4.1",
+ "source-map": "^0.5.0"
+ }
+ },
+ "@babel/generator": {
+ "version": "7.19.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.5.tgz",
+ "integrity": "sha512-DxbNz9Lz4aMZ99qPpO1raTbcrI1ZeYh+9NR9qhfkQIbFtVEqotHojEBxHzmxhVONkGt6VyrqVQcgpefMy9pqcg==",
+ "requires": {
+ "@babel/types": "^7.19.4",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "jsesc": "^2.5.1"
+ }
+ },
+ "@babel/helper-environment-visitor": {
+ "version": "7.18.9",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
+ "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
+ },
+ "@babel/helper-function-name": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz",
+ "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==",
+ "requires": {
+ "@babel/template": "^7.18.10",
+ "@babel/types": "^7.19.0"
+ }
+ },
+ "@babel/helper-hoist-variables": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
+ "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-module-imports": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
+ "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-module-transforms": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz",
+ "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==",
+ "requires": {
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-module-imports": "^7.18.6",
+ "@babel/helper-simple-access": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.0",
+ "@babel/types": "^7.19.0"
+ }
+ },
+ "@babel/helper-plugin-utils": {
+ "version": "7.19.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz",
+ "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw=="
+ },
+ "@babel/helper-simple-access": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.19.4.tgz",
+ "integrity": "sha512-f9Xq6WqBFqaDfbCzn2w85hwklswz5qsKlh7f08w4Y9yhJHpnNC0QemtSkK5YyOY8kPGvyiwdzZksGUhnGdaUIg==",
+ "requires": {
+ "@babel/types": "^7.19.4"
+ }
+ },
+ "@babel/helper-split-export-declaration": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
+ "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "requires": {
+ "@babel/types": "^7.18.6"
+ }
+ },
+ "@babel/helper-string-parser": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
+ "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
+ },
+ "@babel/helper-validator-identifier": {
+ "version": "7.19.1",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
+ "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
+ },
+ "@babel/helpers": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.4.tgz",
+ "integrity": "sha512-G+z3aOx2nfDHwX/kyVii5fJq+bgscg89/dJNWpYeKeBv3v9xX8EIabmx1k6u9LS04H7nROFVRVK+e3k0VHp+sw==",
+ "requires": {
+ "@babel/template": "^7.18.10",
+ "@babel/traverse": "^7.19.4",
+ "@babel/types": "^7.19.4"
+ }
+ },
+ "@babel/highlight": {
+ "version": "7.18.6",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
+ "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "requires": {
+ "@babel/helper-validator-identifier": "^7.18.6",
+ "chalk": "^2.0.0",
+ "js-tokens": "^4.0.0"
+ }
+ },
+ "@babel/parser": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz",
+ "integrity": "sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA=="
+ },
+ "@babel/plugin-proposal-object-rest-spread": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz",
+ "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.0",
+ "@babel/plugin-transform-parameters": "^7.12.1"
+ }
+ },
+ "@babel/plugin-syntax-jsx": {
+ "version": "7.12.1",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz",
+ "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ }
+ },
+ "@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ }
+ },
+ "@babel/plugin-transform-parameters": {
+ "version": "7.18.8",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.18.8.tgz",
+ "integrity": "sha512-ivfbE3X2Ss+Fj8nnXvKJS6sjRG4gzwPMsP+taZC+ZzEGjAYlvENixmt1sZ5Ca6tWls+BlKSGKPJ6OOXvXCbkFg==",
+ "requires": {
+ "@babel/helper-plugin-utils": "^7.18.6"
+ }
+ },
+ "@babel/runtime": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.4.tgz",
+ "integrity": "sha512-EXpLCrk55f+cYqmHsSR+yD/0gAIMxxA9QK9lnQWzhMCvt+YmoBN7Zx94s++Kv0+unHk39vxNO8t+CMA2WSS3wA==",
+ "requires": {
+ "regenerator-runtime": "^0.13.4"
+ }
+ },
+ "@babel/template": {
+ "version": "7.18.10",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz",
+ "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==",
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/parser": "^7.18.10",
+ "@babel/types": "^7.18.10"
+ }
+ },
+ "@babel/traverse": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.4.tgz",
+ "integrity": "sha512-w3K1i+V5u2aJUOXBFFC5pveFLmtq1s3qcdDNC2qRI6WPBQIDaKFqXxDEqDO/h1dQ3HjsZoZMyIy6jGLq0xtw+g==",
+ "requires": {
+ "@babel/code-frame": "^7.18.6",
+ "@babel/generator": "^7.19.4",
+ "@babel/helper-environment-visitor": "^7.18.9",
+ "@babel/helper-function-name": "^7.19.0",
+ "@babel/helper-hoist-variables": "^7.18.6",
+ "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/parser": "^7.19.4",
+ "@babel/types": "^7.19.4",
+ "debug": "^4.1.0",
+ "globals": "^11.1.0"
+ }
+ },
+ "@babel/types": {
+ "version": "7.19.4",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz",
+ "integrity": "sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==",
+ "requires": {
+ "@babel/helper-string-parser": "^7.19.4",
+ "@babel/helper-validator-identifier": "^7.19.1",
+ "to-fast-properties": "^2.0.0"
+ }
+ },
+ "@docsearch/css": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-1AhRzVdAkrWwhaxTX6/R7SnFHz8yLz1W8I/AldlTrfbNvZs9INk1FZiEFTJdgHaP68nhgQNWSGlQiDiI3y2RYg=="
+ },
+ "@docsearch/react": {
+ "version": "1.0.0-alpha.27",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-1.0.0-alpha.27.tgz",
+ "integrity": "sha512-jcgUHZsrNNRsaVsplqKhXWheh4VzRTCdhsPuVhJMRvfsFUqXEPo/7kVt5xIybtOj9u+/FVdeSO+APJEE2rakYA==",
+ "requires": {
+ "@docsearch/css": "^1.0.0-alpha.27",
+ "@francoischalifour/autocomplete-core": "^1.0.0-alpha.27",
+ "@francoischalifour/autocomplete-preset-algolia": "^1.0.0-alpha.27",
+ "algoliasearch": "^4.0.0"
+ }
+ },
+ "@eslint/eslintrc": {
+ "version": "1.3.3",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.3.3.tgz",
+ "integrity": "sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==",
+ "dev": true,
+ "requires": {
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.4.0",
+ "globals": "^13.15.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.1.2",
+ "strip-json-comments": "^3.1.1"
+ },
+ "dependencies": {
+ "globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ }
+ }
+ },
+ "@francoischalifour/autocomplete-core": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-core/-/autocomplete-core-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-rL9x+72btViw+9icfBKUJjZj87FgjFrD2esuTUqtj4RAX3s4AuVZiN8XEsfjQBSc6qJk31cxlvqZHC/BIyYXgg=="
+ },
+ "@francoischalifour/autocomplete-preset-algolia": {
+ "version": "1.0.0-alpha.28",
+ "resolved": "https://registry.npmjs.org/@francoischalifour/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.0.0-alpha.28.tgz",
+ "integrity": "sha512-bprfNmYt1opFUFEtD2XfY/kEsm13bzHQgU80uMjhuK0DJ914IjolT1GytpkdM6tJ4MBvyiJPP+bTtWO+BZ7c7w=="
+ },
+ "@graphql-typed-document-node/core": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@graphql-typed-document-node/core/-/core-3.1.1.tgz",
+ "integrity": "sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg=="
+ },
+ "@headlessui/react": {
+ "version": "1.7.3",
+ "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.3.tgz",
+ "integrity": "sha512-LGp06SrGv7BMaIQlTs8s2G06moqkI0cb0b8stgq7KZ3xcHdH3qMP+cRyV7qe5x4XEW/IGY48BW4fLesD6NQLng=="
+ },
+ "@humanwhocodes/config-array": {
+ "version": "0.9.5",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz",
+ "integrity": "sha512-ObyMyWxZiCu/yTisA7uzx81s40xR2fD5Cg/2Kq7G02ajkNubJf6BopgDTmDyc3U7sXpNKM8cYOw7s7Tyr+DnCw==",
+ "dev": true,
+ "requires": {
+ "@humanwhocodes/object-schema": "^1.2.1",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
+ }
+ },
+ "@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "@jridgewell/gen-mapping": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
+ "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
+ "requires": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ }
+ },
+ "@jridgewell/resolve-uri": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
+ "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
+ },
+ "@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
+ },
+ "@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
+ "@jridgewell/trace-mapping": {
+ "version": "0.3.16",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.16.tgz",
+ "integrity": "sha512-LCQ+NeThyJ4k1W2d+vIKdxuSt9R3pQSZ4P92m7EakaYuXcVWbHuT5bjNcqLd4Rdgi6xYWYDvBJZJLZSLanjDcA==",
+ "requires": {
+ "@jridgewell/resolve-uri": "3.1.0",
+ "@jridgewell/sourcemap-codec": "1.4.14"
+ }
+ },
+ "@mdx-js/loader": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-1.6.22.tgz",
+ "integrity": "sha512-9CjGwy595NaxAYp0hF9B/A0lH6C8Rms97e2JS9d3jVUtILn6pT5i5IV965ra3lIWc7Rs1GG1tBdVF7dCowYe6Q==",
+ "requires": {
+ "@mdx-js/mdx": "1.6.22",
+ "@mdx-js/react": "1.6.22",
+ "loader-utils": "2.0.0"
+ }
+ },
+ "@mdx-js/mdx": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-1.6.22.tgz",
+ "integrity": "sha512-AMxuLxPz2j5/6TpF/XSdKpQP1NlG0z11dFOlq+2IP/lSgl11GY8ji6S/rgsViN/L0BDvHvUMruRb7ub+24LUYA==",
+ "requires": {
+ "@babel/core": "7.12.9",
+ "@babel/plugin-syntax-jsx": "7.12.1",
+ "@babel/plugin-syntax-object-rest-spread": "7.8.3",
+ "@mdx-js/util": "1.6.22",
+ "babel-plugin-apply-mdx-type-prop": "1.6.22",
+ "babel-plugin-extract-import-names": "1.6.22",
+ "camelcase-css": "2.0.1",
+ "detab": "2.0.4",
+ "hast-util-raw": "6.0.1",
+ "lodash.uniq": "4.5.0",
+ "mdast-util-to-hast": "10.0.1",
+ "remark-footnotes": "2.0.0",
+ "remark-mdx": "1.6.22",
+ "remark-parse": "8.0.3",
+ "remark-squeeze-paragraphs": "4.0.0",
+ "style-to-object": "0.3.0",
+ "unified": "9.2.0",
+ "unist-builder": "2.0.3",
+ "unist-util-visit": "2.0.3"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ },
+ "remark-mdx": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-1.6.22.tgz",
+ "integrity": "sha512-phMHBJgeV76uyFkH4rvzCftLfKCr2RZuF+/gmVcaKrpsihyzmhXjA0BEMDaPTXG5y8qZOKPVo83NAOX01LPnOQ==",
+ "requires": {
+ "@babel/core": "7.12.9",
+ "@babel/helper-plugin-utils": "7.10.4",
+ "@babel/plugin-proposal-object-rest-spread": "7.12.1",
+ "@babel/plugin-syntax-jsx": "7.12.1",
+ "@mdx-js/util": "1.6.22",
+ "is-alphabetical": "1.0.4",
+ "remark-parse": "8.0.3",
+ "unified": "9.2.0"
+ }
+ }
+ }
+ },
+ "@mdx-js/react": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/react/-/react-1.6.22.tgz",
+ "integrity": "sha512-TDoPum4SHdfPiGSAaRBw7ECyI8VaHpK8GJugbJIJuqyh6kzw9ZLJZW3HGL3NNrJGxcAixUvqROm+YuQOo5eXtg=="
+ },
+ "@mdx-js/util": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/@mdx-js/util/-/util-1.6.22.tgz",
+ "integrity": "sha512-H1rQc1ZOHANWBvPcW+JpGwr+juXSxM8Q8YCkm3GhZd8REu1fHR3z99CErO1p9pkcfcxZnMdIZdIsXkOHY0NilA=="
+ },
+ "@mertasan/tailwindcss-variables": {
+ "version": "2.5.1",
+ "resolved": "https://registry.npmjs.org/@mertasan/tailwindcss-variables/-/tailwindcss-variables-2.5.1.tgz",
+ "integrity": "sha512-I1Jvpu5fcinGT/yEDL53dRXznFWV4LoTCUVcTvQqA1YH1iAfs72OO/VZdBKPqcxe/lS2nBr/Ikloe+pLsxemmA==",
+ "requires": {
+ "lodash": "^4.17.21"
+ }
+ },
+ "@next/env": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@next/env/-/env-12.1.0.tgz",
+ "integrity": "sha512-nrIgY6t17FQ9xxwH3jj0a6EOiQ/WDHUos35Hghtr+SWN/ntHIQ7UpuvSi0vaLzZVHQWaDupKI+liO5vANcDeTQ=="
+ },
+ "@next/mdx": {
+ "version": "12.3.1",
+ "resolved": "https://registry.npmjs.org/@next/mdx/-/mdx-12.3.1.tgz",
+ "integrity": "sha512-b7G3CsAwyD/8Eo6uDjCCqNwEi68LTyo/JYPC0N2Yu3yl/iveMDCi03ME+9JsnFPr3DcjmGSKc1ioiYM4dJUkTg=="
+ },
+ "@next/swc-darwin-arm64": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-12.1.0.tgz",
+ "integrity": "sha512-R8vcXE2/iONJ1Unf5Ptqjk6LRW3bggH+8drNkkzH4FLEQkHtELhvcmJwkXcuipyQCsIakldAXhRbZmm3YN1vXg==",
+ "optional": true
+ },
+ "@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "requires": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ }
+ },
+ "@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A=="
+ },
+ "@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "requires": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ }
+ },
+ "@radix-ui/colors": {
+ "version": "0.1.8",
+ "resolved": "https://registry.npmjs.org/@radix-ui/colors/-/colors-0.1.8.tgz",
+ "integrity": "sha512-jwRMXYwC0hUo0mv6wGpuw254Pd9p/R6Td5xsRpOmaWkUHlooNWqVcadgyzlRumMq3xfOTXwJReU0Jv+EIy4Jbw=="
+ },
+ "@radix-ui/popper": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/popper/-/popper-0.1.0.tgz",
+ "integrity": "sha512-uzYeElL3w7SeNMuQpXiFlBhTT+JyaNMCwDfjKkrzugEcYrf5n52PHqncNdQPUtR42hJh8V9FsqyEDbDxkeNjJQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "csstype": "^3.0.4"
+ }
+ },
+ "@radix-ui/primitive": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-0.1.0.tgz",
+ "integrity": "sha512-tqxZKybwN5Fa3VzZry4G6mXAAb9aAqKmPtnVbZpL0vsBwvOHTBwsjHVPXylocYLwEtBY9SCe665bYnNB515uoA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-accordion": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-0.1.6.tgz",
+ "integrity": "sha512-LOXlqPU6y6EMBopdRIKCWFvMPY1wPTQ4uJiX7ZVxldrMJcM7imBzI3wlRTkPCHZ3FLHmpuw+cQi3du23pzJp1g==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collapsible": "0.1.6",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ }
+ },
+ "@radix-ui/react-arrow": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-0.1.4.tgz",
+ "integrity": "sha512-BB6XzAb7Ml7+wwpFdYVtZpK1BlMgqyafSQNGzhIpSZ4uXvXOHPlR5GP8M449JkeQzgQjv9Mp1AsJxFC0KuOtuA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "0.1.4"
+ }
+ },
+ "@radix-ui/react-collapsible": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collapsible/-/react-collapsible-0.1.6.tgz",
+ "integrity": "sha512-Gkf8VuqMc6HTLzA2AxVYnyK6aMczVLpatCjdD9Lj4wlYLXCz9KtiqZYslLMeqnQFLwLyZS0WKX/pQ8j5fioIBw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ }
+ },
+ "@radix-ui/react-collection": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-0.1.4.tgz",
+ "integrity": "sha512-3muGI15IdgaDFjOcO7xX8a35HQRBRF6LH9pS6UCeZeRmbslkVeHyJRQr2rzICBUoX7zgIA0kXyMDbpQnJGyJTA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-slot": "0.1.2"
+ }
+ },
+ "@radix-ui/react-compose-refs": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-0.1.0.tgz",
+ "integrity": "sha512-eyclbh+b77k+69Dk72q3694OHrn9B3QsoIRx7ywX341U9RK1ThgQjMFZoPtmZNQTksXHLNEiefR8hGVeFyInGg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-0.1.1.tgz",
+ "integrity": "sha512-PkyVX1JsLBioeu0jB9WvRpDBBLtLZohVDT3BB5CTSJqActma8S8030P57mWZb4baZifMvN7KKWPAA40UmWKkQg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-context-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-0.1.6.tgz",
+ "integrity": "sha512-0qa6ABaeqD+WYI+8iT0jH0QLLcV8Kv0xI+mZL4FFnG4ec9H0v+yngb5cfBBfs9e/KM8mDzFFpaeegqsQlLNqyQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-menu": "0.1.6",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ }
+ },
+ "@radix-ui/react-dialog": {
+ "version": "0.1.7",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-0.1.7.tgz",
+ "integrity": "sha512-jXt8srGhHBRvEr9jhEAiwwJzWCWZoGRJ030aC9ja/gkRJbZdy0iD3FwXf+Ff4RtsZyLUMHW7VUwFOlz3Ixe1Vw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-slot": "0.1.2",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ }
+ },
+ "@radix-ui/react-dismissable-layer": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-0.1.5.tgz",
+ "integrity": "sha512-J+fYWijkX4M4QKwf9dtu1oC0U6e6CEl8WhBp3Ad23yz2Hia0XCo6Pk/mp5CAFy4QBtQedTSkhW05AdtSOEoajQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-body-pointer-events": "0.1.1",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-escape-keydown": "0.1.0"
+ }
+ },
+ "@radix-ui/react-dropdown-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-dropdown-menu/-/react-dropdown-menu-0.1.6.tgz",
+ "integrity": "sha512-RZhtzjWwJ4ZBN7D8ek4Zn+ilHzYuYta9yIxFnbC0pfqMnSi67IQNONo1tuuNqtFh9SRHacPKc65zo+kBBlxtdg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-menu": "0.1.6",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ }
+ },
+ "@radix-ui/react-focus-guards": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-0.1.0.tgz",
+ "integrity": "sha512-kRx/swAjEfBpQ3ns7J3H4uxpXuWCqN7MpALiSDOXiyo2vkWv0L9sxvbpZeTulINuE3CGMzicVMuNc/VWXjFKOg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-focus-scope": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-0.1.4.tgz",
+ "integrity": "sha512-fbA4ES3H4Wkxp+OeLhvN6SwL7mXNn/aBtUf7DRYxY9+Akrf7dRxl2ck4lgcpPsSg3zSDsEwLcY+h5cmj5yvlug==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ }
+ },
+ "@radix-ui/react-id": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-0.1.5.tgz",
+ "integrity": "sha512-IPc4H/63bes0IZ1GJJozSEkSWcDyhNGtKFWUpJ+XtaLyQ1X3x7Mf6fWwWhDcpqlYEP+5WtAvfqcyEsyjP+ZhBQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ }
+ },
+ "@radix-ui/react-menu": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-0.1.6.tgz",
+ "integrity": "sha512-ho3+bhpr3oAFkOBJ8VkUb1BcGoiZBB3OmcWPqa6i5RTUKrzNX/d6rauochu2xDlWjiRtpVuiAcsTVOeIC4FbYQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-popper": "0.1.4",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-roving-focus": "0.1.5",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-direction": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ }
+ },
+ "@radix-ui/react-popover": {
+ "version": "0.1.6",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popover/-/react-popover-0.1.6.tgz",
+ "integrity": "sha512-zQzgUqW4RQDb0ItAL1xNW4K4olUrkfV3jeEPs9rG+nsDQurO+W9TT+YZ9H1mmgAJqlthyv1sBRZGdBm4YjtD6Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-dismissable-layer": "0.1.5",
+ "@radix-ui/react-focus-guards": "0.1.0",
+ "@radix-ui/react-focus-scope": "0.1.4",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-popper": "0.1.4",
+ "@radix-ui/react-portal": "0.1.4",
+ "@radix-ui/react-presence": "0.1.2",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-controllable-state": "0.1.0",
+ "aria-hidden": "^1.1.1",
+ "react-remove-scroll": "^2.4.0"
+ }
+ },
+ "@radix-ui/react-popper": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-0.1.4.tgz",
+ "integrity": "sha512-18gDYof97t8UQa7zwklG1Dr8jIdj3u+rVOQLzPi9f5i1YQak/pVGkaqw8aY+iDUknKKuZniTk/7jbAJUYlKyOw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/popper": "0.1.0",
+ "@radix-ui/react-arrow": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-rect": "0.1.1",
+ "@radix-ui/react-use-size": "0.1.1",
+ "@radix-ui/rect": "0.1.1"
+ }
+ },
+ "@radix-ui/react-portal": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-0.1.4.tgz",
+ "integrity": "sha512-MO0wRy2eYRTZ/CyOri9NANCAtAtq89DEtg90gicaTlkCfdqCLEBsLb+/q66BZQTr3xX/Vq01nnVfc/TkCqoqvw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ }
+ },
+ "@radix-ui/react-presence": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-0.1.2.tgz",
+ "integrity": "sha512-3BRlFZraooIUfRlyN+b/Xs5hq1lanOOo/+3h6Pwu2GMFjkGKKa4Rd51fcqGqnVlbr3jYg+WLuGyAV4KlgqwrQw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ }
+ },
+ "@radix-ui/react-primitive": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-0.1.4.tgz",
+ "integrity": "sha512-6gSl2IidySupIMJFjYnDIkIWRyQdbu/AHK7rbICPani+LW4b0XdxBXc46og/iZvuwW8pjCS8I2SadIerv84xYA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-slot": "0.1.2"
+ }
+ },
+ "@radix-ui/react-roving-focus": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-0.1.5.tgz",
+ "integrity": "sha512-ClwKPS5JZE+PaHCoW7eu1onvE61pDv4kO8W4t5Ra3qMFQiTJLZMdpBQUhksN//DaVygoLirz4Samdr5Y1x1FSA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-collection": "0.1.4",
+ "@radix-ui/react-compose-refs": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-use-callback-ref": "0.1.0",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ }
+ },
+ "@radix-ui/react-slot": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-0.1.2.tgz",
+ "integrity": "sha512-ADkqfL+agEzEguU3yS26jfB50hRrwf7U4VTwAOZEmi/g+ITcBWe12yM46ueS/UCIMI9Py+gFUaAdxgxafFvY2Q==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-compose-refs": "0.1.0"
+ }
+ },
+ "@radix-ui/react-tabs": {
+ "version": "0.1.5",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-0.1.5.tgz",
+ "integrity": "sha512-ieVQS1TFr0dX1XA8B+CsSFKOE7kcgEaNWWEfItxj9D1GZjn1o3WqPkW+FhQWDAWZLSKCH2PezYF3MNyO41lgJg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/primitive": "0.1.0",
+ "@radix-ui/react-context": "0.1.1",
+ "@radix-ui/react-id": "0.1.5",
+ "@radix-ui/react-primitive": "0.1.4",
+ "@radix-ui/react-roving-focus": "0.1.5",
+ "@radix-ui/react-use-controllable-state": "0.1.0"
+ }
+ },
+ "@radix-ui/react-use-body-pointer-events": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-body-pointer-events/-/react-use-body-pointer-events-0.1.1.tgz",
+ "integrity": "sha512-R8leV2AWmJokTmERM8cMXFHWSiv/fzOLhG/JLmRBhLTAzOj37EQizssq4oW0Z29VcZy2tODMi9Pk/htxwb+xpA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-layout-effect": "0.1.0"
+ }
+ },
+ "@radix-ui/react-use-callback-ref": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-0.1.0.tgz",
+ "integrity": "sha512-Va041McOFFl+aV+sejvl0BS2aeHx86ND9X/rVFmEFQKTXCp6xgUK0NGUAGcgBlIjnJSbMYPGEk1xKSSlVcN2Aw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-controllable-state": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-0.1.0.tgz",
+ "integrity": "sha512-zv7CX/PgsRl46a52Tl45TwqwVJdmqnlQEQhaYMz/yBOD2sx2gCkCFSoF/z9mpnYWmS6DTLNTg5lIps3fV6EnXg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ }
+ },
+ "@radix-ui/react-use-direction": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-direction/-/react-use-direction-0.1.0.tgz",
+ "integrity": "sha512-NajpY/An9TCPSfOVkgWIdXJV+VuWl67PxB6kOKYmtNAFHvObzIoh8o0n9sAuwSAyFCZVq211FEf9gvVDRhOyiA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-escape-keydown": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-0.1.0.tgz",
+ "integrity": "sha512-tDLZbTGFmvXaazUXXv8kYbiCcbAE8yKgng9s95d8fCO+Eundv0Jngbn/hKPhDDs4jj9ChwRX5cDDnlaN+ugYYQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/react-use-callback-ref": "0.1.0"
+ }
+ },
+ "@radix-ui/react-use-layout-effect": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-0.1.0.tgz",
+ "integrity": "sha512-+wdeS51Y+E1q1Wmd+1xSSbesZkpVj4jsg0BojCbopWvgq5iBvixw5vgemscdh58ep98BwUbsFYnrywFhV9yrVg==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/react-use-rect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-0.1.1.tgz",
+ "integrity": "sha512-kHNNXAsP3/PeszEmM/nxBBS9Jbo93sO+xuMTcRfwzXsmxT5gDXQzAiKbZQ0EecCPtJIzqvr7dlaQi/aP1PKYqQ==",
+ "requires": {
+ "@babel/runtime": "^7.13.10",
+ "@radix-ui/rect": "0.1.1"
+ }
+ },
+ "@radix-ui/react-use-size": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-0.1.1.tgz",
+ "integrity": "sha512-pTgWM5qKBu6C7kfKxrKPoBI2zZYZmp2cSXzpUiGM3qEBQlMLtYhaY2JXdXUCxz+XmD1YEjc8oRwvyfsD4AG4WA==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@radix-ui/rect": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-0.1.1.tgz",
+ "integrity": "sha512-g3hnE/UcOg7REdewduRPAK88EPuLZtaq7sA9ouu8S+YEtnyFRI16jgv6GZYe3VMoQLL1T171ebmEPtDjyxWLzw==",
+ "requires": {
+ "@babel/runtime": "^7.13.10"
+ }
+ },
+ "@supabase/ui": {
+ "version": "0.37.0-alpha.50",
+ "resolved": "https://registry.npmjs.org/@supabase/ui/-/ui-0.37.0-alpha.50.tgz",
+ "integrity": "sha512-d5jFxIVCRrZ6cHQ6qpuvyaexTmqMnxDWm0hg7vj9D2x5qcmySRCTC42uhpKXz5fKre2TUl38pFT+UpscWw/OyA==",
+ "requires": {
+ "@headlessui/react": "^1.0.0",
+ "@mertasan/tailwindcss-variables": "^2.0.1",
+ "@radix-ui/colors": "^0.1.8",
+ "@radix-ui/react-accordion": "^0.1.5",
+ "@radix-ui/react-collapsible": "^0.1.5",
+ "@radix-ui/react-context-menu": "^0.1.0",
+ "@radix-ui/react-dialog": "^0.1.5",
+ "@radix-ui/react-dropdown-menu": "^0.1.4",
+ "@radix-ui/react-popover": "^0.1.0",
+ "@radix-ui/react-portal": "^0.1.3",
+ "@radix-ui/react-tabs": "^0.1.0",
+ "@tailwindcss/forms": "^0.4.0",
+ "@tailwindcss/typography": "^0.5.0",
+ "autoprefixer": "^10.4.2",
+ "deepmerge": "^4.2.2",
+ "formik": "^2.2.9",
+ "fsevents": "^2.3.2",
+ "lodash": "^4.17.20",
+ "postcss": "^8.4.5",
+ "prop-types": "^15.7.2",
+ "tailwindcss": "^3.0.15",
+ "tailwindcss-radix": "^1.6.0"
+ },
+ "dependencies": {
+ "@tailwindcss/typography": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.7.tgz",
+ "integrity": "sha512-JTTSTrgZfp6Ki4svhPA4mkd9nmQ/j9EfE7SbHJ1cLtthKkpW2OxsFXzSmxbhYbEkfNIyAyhle5p4SYyKRbz/jg==",
+ "requires": {
+ "lodash.castarray": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "postcss-selector-parser": "6.0.10"
+ }
+ }
+ }
+ },
+ "@tailwindcss/forms": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.1.tgz",
+ "integrity": "sha512-gS9xjCmJjUBz/eP12QlENPLnf0tCx68oYE3mri0GMP5jdtVwLbGUNSRpjsp6NzLAZzZy3ueOwrcqB78Ax6Z84A==",
+ "requires": {
+ "mini-svg-data-uri": "^1.2.3"
+ }
+ },
+ "@tailwindcss/typography": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.4.1.tgz",
+ "integrity": "sha512-ovPPLUhs7zAIJfr0y1dbGlyCuPhpuv/jpBoFgqAc658DWGGrOBWBMpAWLw2KlzbNeVk4YBJMzue1ekvIbdw6XA==",
+ "requires": {
+ "lodash.castarray": "^4.4.0",
+ "lodash.isplainobject": "^4.0.6",
+ "lodash.merge": "^4.6.2",
+ "lodash.uniq": "^4.5.0"
+ }
+ },
+ "@tootallnate/once": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz",
+ "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw=="
+ },
+ "@types/acorn": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz",
+ "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==",
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
+ "@types/debug": {
+ "version": "4.1.7",
+ "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz",
+ "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==",
+ "requires": {
+ "@types/ms": "*"
+ }
+ },
+ "@types/estree": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz",
+ "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ=="
+ },
+ "@types/estree-jsx": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz",
+ "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==",
+ "requires": {
+ "@types/estree": "*"
+ }
+ },
+ "@types/hast": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz",
+ "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==",
+ "requires": {
+ "@types/unist": "*"
+ }
+ },
+ "@types/mdast": {
+ "version": "3.0.10",
+ "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz",
+ "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==",
+ "requires": {
+ "@types/unist": "*"
+ }
+ },
+ "@types/ms": {
+ "version": "0.7.31",
+ "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz",
+ "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA=="
+ },
+ "@types/node": {
+ "version": "17.0.45",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz",
+ "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==",
+ "dev": true
+ },
+ "@types/parse5": {
+ "version": "5.0.3",
+ "resolved": "https://registry.npmjs.org/@types/parse5/-/parse5-5.0.3.tgz",
+ "integrity": "sha512-kUNnecmtkunAoQ3CnjmMkzNU/gtxG8guhi+Fk2U/kOpIKjIMKnXGp4IJCgQJrXSgMsWYimYG4TGjz/UzbGEBTw=="
+ },
+ "@types/prop-types": {
+ "version": "15.7.5",
+ "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.5.tgz",
+ "integrity": "sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w=="
+ },
+ "@types/react": {
+ "version": "17.0.39",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.39.tgz",
+ "integrity": "sha512-UVavlfAxDd/AgAacMa60Azl7ygyQNRwC/DsHZmKgNvPmRR5p70AJ5Q9EAmL2NWOJmeV+vVUI4IAP7GZrN8h8Ug==",
+ "dev": true,
+ "requires": {
+ "@types/prop-types": "*",
+ "@types/scheduler": "*",
+ "csstype": "^3.0.2"
+ }
+ },
+ "@types/scheduler": {
+ "version": "0.16.2",
+ "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz",
+ "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==",
+ "dev": true
+ },
+ "@types/strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==",
+ "dev": true
+ },
+ "@types/strip-json-comments": {
+ "version": "0.0.30",
+ "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz",
+ "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==",
+ "dev": true
+ },
+ "@types/unist": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz",
+ "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ=="
+ },
+ "@wry/context": {
+ "version": "0.7.0",
+ "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.7.0.tgz",
+ "integrity": "sha512-LcDAiYWRtwAoSOArfk7cuYvFXytxfVrdX7yxoUmK7pPITLk5jYh2F8knCwS7LjgYL8u1eidPlKKV6Ikqq0ODqQ==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@wry/equality": {
+ "version": "0.5.3",
+ "resolved": "https://registry.npmjs.org/@wry/equality/-/equality-0.5.3.tgz",
+ "integrity": "sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "@wry/trie": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/@wry/trie/-/trie-0.3.2.tgz",
+ "integrity": "sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ },
+ "abab": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz",
+ "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA=="
+ },
+ "acorn": {
+ "version": "8.8.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz",
+ "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w=="
+ },
+ "acorn-globals": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/acorn-globals/-/acorn-globals-6.0.0.tgz",
+ "integrity": "sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg==",
+ "requires": {
+ "acorn": "^7.1.1",
+ "acorn-walk": "^7.1.1"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+ }
+ }
+ },
+ "acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="
+ },
+ "acorn-node": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/acorn-node/-/acorn-node-1.8.2.tgz",
+ "integrity": "sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==",
+ "requires": {
+ "acorn": "^7.0.0",
+ "acorn-walk": "^7.0.0",
+ "xtend": "^4.0.2"
+ },
+ "dependencies": {
+ "acorn": {
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz",
+ "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A=="
+ }
+ }
+ },
+ "acorn-walk": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz",
+ "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA=="
+ },
+ "agent-base": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz",
+ "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==",
+ "requires": {
+ "debug": "4"
+ }
+ },
+ "ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "requires": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ }
+ },
+ "algoliasearch": {
+ "version": "4.14.2",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.14.2.tgz",
+ "integrity": "sha512-ngbEQonGEmf8dyEh5f+uOIihv4176dgbuOZspiuhmTTBRBuzWu3KCGHre6uHj5YyuC7pNvQGzB6ZNJyZi0z+Sg==",
+ "requires": {
+ "@algolia/cache-browser-local-storage": "4.14.2",
+ "@algolia/cache-common": "4.14.2",
+ "@algolia/cache-in-memory": "4.14.2",
+ "@algolia/client-account": "4.14.2",
+ "@algolia/client-analytics": "4.14.2",
+ "@algolia/client-common": "4.14.2",
+ "@algolia/client-personalization": "4.14.2",
+ "@algolia/client-search": "4.14.2",
+ "@algolia/logger-common": "4.14.2",
+ "@algolia/logger-console": "4.14.2",
+ "@algolia/requester-browser-xhr": "4.14.2",
+ "@algolia/requester-common": "4.14.2",
+ "@algolia/requester-node-http": "4.14.2",
+ "@algolia/transporter": "4.14.2"
+ }
+ },
+ "ansi-red": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-red/-/ansi-red-0.1.1.tgz",
+ "integrity": "sha512-ewaIr5y+9CUTGFwZfpECUbFlGcC0GCw1oqR9RI6h1gQCd9Aj2GxSckCnPsVJnmfMZbwFYE+leZGASgkWl06Jow==",
+ "requires": {
+ "ansi-wrap": "0.1.0"
+ }
+ },
+ "ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true
+ },
+ "ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "requires": {
+ "color-convert": "^1.9.0"
+ }
+ },
+ "ansi-wrap": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/ansi-wrap/-/ansi-wrap-0.1.0.tgz",
+ "integrity": "sha512-ZyznvL8k/FZeQHr2T6LzcJ/+vBApDnMNZvfVFy3At0knswWd6rJ3/0Hhmpu8oqa6C92npmozs890sX9Dl6q+Qw=="
+ },
+ "anymatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
+ "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
+ "requires": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ }
+ },
+ "arg": {
+ "version": "5.0.2",
+ "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
+ "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg=="
+ },
+ "argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "aria-hidden": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.1.tgz",
+ "integrity": "sha512-PN344VAf9j1EAi+jyVHOJ8XidQdPVssGco39eNcsGdM4wcsILtxrKLkbuiMfLWYROK1FjRQasMWCBttrhjnr6A==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
+ },
+ "autolinker": {
+ "version": "0.28.1",
+ "resolved": "https://registry.npmjs.org/autolinker/-/autolinker-0.28.1.tgz",
+ "integrity": "sha512-zQAFO1Dlsn69eXaO6+7YZc+v84aquQKbwpzCE3L0stj56ERn9hutFxPopViLjo9G+rWwjozRhgS5KJ25Xy19cQ==",
+ "requires": {
+ "gulp-header": "^1.7.1"
+ }
+ },
+ "autoprefixer": {
+ "version": "10.4.12",
+ "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz",
+ "integrity": "sha512-WrCGV9/b97Pa+jtwf5UGaRjgQIg7OK3D06GnoYoZNcG1Xb8Gt3EfuKjlhh9i/VtT16g6PYjZ69jdJ2g8FxSC4Q==",
+ "requires": {
+ "browserslist": "^4.21.4",
+ "caniuse-lite": "^1.0.30001407",
+ "fraction.js": "^4.2.0",
+ "normalize-range": "^0.1.2",
+ "picocolors": "^1.0.0",
+ "postcss-value-parser": "^4.2.0"
+ }
+ },
+ "babel-plugin-apply-mdx-type-prop": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-apply-mdx-type-prop/-/babel-plugin-apply-mdx-type-prop-1.6.22.tgz",
+ "integrity": "sha512-VefL+8o+F/DfK24lPZMtJctrCVOfgbqLAGZSkxwhazQv4VxPg3Za/i40fu22KR2m8eEda+IfSOlPLUSIiLcnCQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "7.10.4",
+ "@mdx-js/util": "1.6.22"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ }
+ }
+ },
+ "babel-plugin-extract-import-names": {
+ "version": "1.6.22",
+ "resolved": "https://registry.npmjs.org/babel-plugin-extract-import-names/-/babel-plugin-extract-import-names-1.6.22.tgz",
+ "integrity": "sha512-yJ9BsJaISua7d8zNT7oRG1ZLBJCIdZ4PZqmH8qa9N5AK01ifk3fnkc98AXhtzE7UkfCsEumvoQWgoYLhOnJ7jQ==",
+ "requires": {
+ "@babel/helper-plugin-utils": "7.10.4"
+ },
+ "dependencies": {
+ "@babel/helper-plugin-utils": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz",
+ "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg=="
+ }
+ }
+ },
+ "bail": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz",
+ "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ=="
+ },
+ "balanced-match": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
+ "dev": true
+ },
+ "big.js": {
+ "version": "5.2.2",
+ "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
+ "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
+ },
+ "binary-extensions": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
+ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
+ },
+ "brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "requires": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "braces": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
+ "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
+ "requires": {
+ "fill-range": "^7.0.1"
+ },
+ "dependencies": {
+ "fill-range": {
+ "version": "7.0.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
+ "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
+ "requires": {
+ "to-regex-range": "^5.0.1"
+ }
+ }
+ }
+ },
+ "browser-process-hrtime": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz",
+ "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow=="
+ },
+ "browserslist": {
+ "version": "4.21.4",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.4.tgz",
+ "integrity": "sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==",
+ "requires": {
+ "caniuse-lite": "^1.0.30001400",
+ "electron-to-chromium": "^1.4.251",
+ "node-releases": "^2.0.6",
+ "update-browserslist-db": "^1.0.9"
+ }
+ },
+ "buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ=="
+ },
+ "callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true
+ },
+ "camelcase-css": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz",
+ "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA=="
+ },
+ "caniuse-lite": {
+ "version": "1.0.30001419",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001419.tgz",
+ "integrity": "sha512-aFO1r+g6R7TW+PNQxKzjITwLOyDhVRLjW0LcwS/HCZGUUKTGNp9+IwLC4xyDSZBygVL/mxaFR3HIV6wEKQuSzw=="
+ },
+ "ccount": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz",
+ "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg=="
+ },
+ "chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "requires": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ }
+ },
+ "character-entities": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz",
+ "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw=="
+ },
+ "character-entities-html4": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz",
+ "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA=="
+ },
+ "character-entities-legacy": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz",
+ "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA=="
+ },
+ "character-reference-invalid": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz",
+ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg=="
+ },
+ "chokidar": {
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
+ "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "requires": {
+ "anymatch": "~3.1.2",
+ "braces": "~3.0.2",
+ "fsevents": "~2.3.2",
+ "glob-parent": "~5.1.2",
+ "is-binary-path": "~2.1.0",
+ "is-glob": "~4.0.1",
+ "normalize-path": "~3.0.0",
+ "readdirp": "~3.6.0"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
+ "classnames": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+ "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
+ },
+ "coffee-script": {
+ "version": "1.12.7",
+ "resolved": "https://registry.npmjs.org/coffee-script/-/coffee-script-1.12.7.tgz",
+ "integrity": "sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw=="
+ },
+ "collapse-white-space": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz",
+ "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ=="
+ },
+ "color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "requires": {
+ "color-name": "1.1.3"
+ }
+ },
+ "color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
+ },
+ "combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
+ "requires": {
+ "delayed-stream": "~1.0.0"
+ }
+ },
+ "comma-separated-tokens": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz",
+ "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw=="
+ },
+ "common": {
+ "version": "0.2.5",
+ "resolved": "https://registry.npmjs.org/common/-/common-0.2.5.tgz",
+ "integrity": "sha512-bjuztiY8Wcz2V9dPpa0XdF0unGWqAGsnyKDGV7g6xDcaZfpufRrxV35qhuhjwv1h0jEPeiCHWKAQFLj702jGnA=="
+ },
+ "concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
+ "dev": true
+ },
+ "concat-stream": {
+ "version": "1.6.2",
+ "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz",
+ "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==",
+ "requires": {
+ "buffer-from": "^1.0.0",
+ "inherits": "^2.0.3",
+ "readable-stream": "^2.2.2",
+ "typedarray": "^0.0.6"
+ }
+ },
+ "concat-with-sourcemaps": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz",
+ "integrity": "sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg==",
+ "requires": {
+ "source-map": "^0.6.1"
+ },
+ "dependencies": {
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+ }
+ }
+ },
+ "config": {
+ "version": "3.3.8",
+ "resolved": "https://registry.npmjs.org/config/-/config-3.3.8.tgz",
+ "integrity": "sha512-rFzF6VESOdp7wAXFlB9IOZI4ouL05g3A03v2eRcTHj2JBQaTNJ40zhAUl5wRbWHqLZ+uqp/7OE0BWWtAVgrong==",
+ "dev": true,
+ "requires": {
+ "json5": "^2.2.1"
+ }
+ },
+ "convert-source-map": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
+ "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A=="
+ },
+ "copy-to-clipboard": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.2.tgz",
+ "integrity": "sha512-Vme1Z6RUDzrb6xAI7EZlVZ5uvOk2F//GaxKUxajDqm9LhOVM1inxNAD2vy+UZDYsd0uyA9s7b3/FVZPSxqrCfg==",
+ "requires": {
+ "toggle-selection": "^1.0.6"
+ }
+ },
+ "core-util-is": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
+ "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ=="
+ },
+ "cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "requires": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ }
+ },
+ "css-selector-parser": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-1.4.1.tgz",
+ "integrity": "sha512-HYPSb7y/Z7BNDCOrakL4raGO2zltZkbeXyAd6Tg9obzix6QhzxCotdBl6VT0Dv4vZfJGVz3WL/xaEI9Ly3ul0g=="
+ },
+ "cssesc": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
+ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
+ },
+ "cssom": {
+ "version": "0.4.4",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.4.4.tgz",
+ "integrity": "sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw=="
+ },
+ "cssstyle": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-2.3.0.tgz",
+ "integrity": "sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A==",
+ "requires": {
+ "cssom": "~0.3.6"
+ },
+ "dependencies": {
+ "cssom": {
+ "version": "0.3.8",
+ "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
+ "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
+ }
+ }
+ },
+ "csstype": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+ "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+ },
+ "data-urls": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-2.0.0.tgz",
+ "integrity": "sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ==",
+ "requires": {
+ "abab": "^2.0.3",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.0.0"
+ }
+ },
+ "debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "requires": {
+ "ms": "2.1.2"
+ }
+ },
+ "decimal.js": {
+ "version": "10.4.2",
+ "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.2.tgz",
+ "integrity": "sha512-ic1yEvwT6GuvaYwBLLY6/aFFgjZdySKTE8en/fkU3QICTmRtgtSlFn0u0BXN06InZwtfCelR7j8LRiDI/02iGA=="
+ },
+ "decode-named-character-reference": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz",
+ "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==",
+ "requires": {
+ "character-entities": "^2.0.0"
+ },
+ "dependencies": {
+ "character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="
+ }
+ }
+ },
+ "deep-is": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
+ "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="
+ },
+ "deepmerge": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz",
+ "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg=="
+ },
+ "defined": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz",
+ "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q=="
+ },
+ "delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ=="
+ },
+ "dequal": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz",
+ "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA=="
+ },
+ "detab": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/detab/-/detab-2.0.4.tgz",
+ "integrity": "sha512-8zdsQA5bIkoRECvCrNKPla84lyoR7DSAyf7p0YgXzBO9PDJx8KntPUay7NS6yp+KdxdVtiE5SpHKtbp2ZQyA9g==",
+ "requires": {
+ "repeat-string": "^1.5.4"
+ }
+ },
+ "detect-node-es": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz",
+ "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ=="
+ },
+ "detective": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/detective/-/detective-5.2.1.tgz",
+ "integrity": "sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==",
+ "requires": {
+ "acorn-node": "^1.8.2",
+ "defined": "^1.0.0",
+ "minimist": "^1.2.6"
+ }
+ },
+ "diacritics-map": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/diacritics-map/-/diacritics-map-0.1.0.tgz",
+ "integrity": "sha512-3omnDTYrGigU0i4cJjvaKwD52B8aoqyX/NEIkukFFkogBemsIbhSa1O414fpTp5nuszJG6lvQ5vBvDVNCbSsaQ=="
+ },
+ "didyoumean": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
+ "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw=="
+ },
+ "diff": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz",
+ "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw=="
+ },
+ "dlv": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz",
+ "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA=="
+ },
+ "doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "requires": {
+ "esutils": "^2.0.2"
+ }
+ },
+ "domexception": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/domexception/-/domexception-2.0.1.tgz",
+ "integrity": "sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg==",
+ "requires": {
+ "webidl-conversions": "^5.0.0"
+ },
+ "dependencies": {
+ "webidl-conversions": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-5.0.0.tgz",
+ "integrity": "sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA=="
+ }
+ }
+ },
+ "electron-to-chromium": {
+ "version": "1.4.281",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.281.tgz",
+ "integrity": "sha512-yer0w5wCYdFoZytfmbNhwiGI/3cW06+RV7E23ln4490DVMxs7PvYpbsrSmAiBn/V6gode8wvJlST2YfWgvzWIg=="
+ },
+ "emojis-list": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
+ "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
+ },
+ "enhanced-resolve": {
+ "version": "5.10.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.10.0.tgz",
+ "integrity": "sha512-T0yTFjdpldGY8PmuXXR0PyQ1ufZpEGiHVrp7zHKB7jdR4qlmZHhONVM5AQOAWXuF/w3dnHbEQVrNptJgt7F+cQ==",
+ "dev": true,
+ "requires": {
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
+ }
+ },
+ "esbuild": {
+ "version": "0.12.29",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.12.29.tgz",
+ "integrity": "sha512-w/XuoBCSwepyiZtIRsKsetiLDUVGPVw1E/R3VTFSecIy8UR7Cq3SOtwKHJMFoVqqVG36aGkzh4e8BvpO1Fdc7g=="
+ },
+ "escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ },
+ "escape-html": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow=="
+ },
+ "escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
+ },
+ "escodegen": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escodegen/-/escodegen-2.0.0.tgz",
+ "integrity": "sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==",
+ "requires": {
+ "esprima": "^4.0.1",
+ "estraverse": "^5.2.0",
+ "esutils": "^2.0.2",
+ "optionator": "^0.8.1",
+ "source-map": "~0.6.1"
+ },
+ "dependencies": {
+ "levn": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz",
+ "integrity": "sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==",
+ "requires": {
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2"
+ }
+ },
+ "optionator": {
+ "version": "0.8.3",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz",
+ "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==",
+ "requires": {
+ "deep-is": "~0.1.3",
+ "fast-levenshtein": "~2.0.6",
+ "levn": "~0.3.0",
+ "prelude-ls": "~1.1.2",
+ "type-check": "~0.3.2",
+ "word-wrap": "~1.2.3"
+ }
+ },
+ "prelude-ls": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz",
+ "integrity": "sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w=="
+ },
+ "source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "optional": true
+ },
+ "type-check": {
+ "version": "0.3.2",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz",
+ "integrity": "sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==",
+ "requires": {
+ "prelude-ls": "~1.1.2"
+ }
+ }
+ }
+ },
+ "eslint": {
+ "version": "8.9.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz",
+ "integrity": "sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==",
+ "dev": true,
+ "requires": {
+ "@eslint/eslintrc": "^1.1.0",
+ "@humanwhocodes/config-array": "^0.9.2",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^7.1.1",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.3.0",
+ "espree": "^9.3.1",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.6.0",
+ "ignore": "^5.2.0",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "regexpp": "^3.2.0",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "dependencies": {
+ "ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "requires": {
+ "color-convert": "^2.0.1"
+ }
+ },
+ "chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "requires": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ }
+ },
+ "color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "requires": {
+ "color-name": "~1.1.4"
+ }
+ },
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true
+ },
+ "globals": {
+ "version": "13.17.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.17.0.tgz",
+ "integrity": "sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==",
+ "dev": true,
+ "requires": {
+ "type-fest": "^0.20.2"
+ }
+ },
+ "has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true
+ },
+ "supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "dev": true,
+ "requires": {
+ "has-flag": "^4.0.0"
+ }
+ }
+ }
+ },
+ "eslint-scope": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz",
+ "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==",
+ "dev": true,
+ "requires": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ }
+ },
+ "eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "requires": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "dependencies": {
+ "eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true
+ }
+ }
+ },
+ "eslint-visitor-keys": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz",
+ "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==",
+ "dev": true
+ },
+ "espree": {
+ "version": "9.4.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.0.tgz",
+ "integrity": "sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==",
+ "dev": true,
+ "requires": {
+ "acorn": "^8.8.0",
+ "acorn-jsx": "^5.3.2",
+ "eslint-visitor-keys": "^3.3.0"
+ }
+ },
+ "esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A=="
+ },
+ "esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.1.0"
+ }
+ },
+ "esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "requires": {
+ "estraverse": "^5.2.0"
+ }
+ },
+ "estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
+ },
+ "estree-util-is-identifier-name": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz",
+ "integrity": "sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ=="
+ },
+ "estree-util-visit": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz",
+ "integrity": "sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==",
+ "requires": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
+ },
+ "expand-range": {
+ "version": "1.8.2",
+ "resolved": "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz",
+ "integrity": "sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==",
+ "requires": {
+ "fill-range": "^2.1.0"
+ }
+ },
+ "extend": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz",
+ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g=="
+ },
+ "extend-shallow": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
+ "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
+ "requires": {
+ "is-extendable": "^0.1.0"
+ }
+ },
+ "fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "fast-glob": {
+ "version": "3.2.12",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
+ "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
+ "requires": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "dependencies": {
+ "glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "requires": {
+ "is-glob": "^4.0.1"
+ }
+ }
+ }
+ },
+ "fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw=="
+ },
+ "fastq": {
+ "version": "1.13.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz",
+ "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==",
+ "requires": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "fault": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fault/-/fault-1.0.4.tgz",
+ "integrity": "sha512-CJ0HCB5tL5fYTEA7ToAq5+kTwd++Borf1/bifxd9iT70QcXr4MRrO3Llf8Ifs70q+SJcGHFtnIE/Nw6giCtECA==",
+ "requires": {
+ "format": "^0.2.0"
+ }
+ },
+ "file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "requires": {
+ "flat-cache": "^3.0.4"
+ }
+ },
+ "fill-range": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-2.2.4.tgz",
+ "integrity": "sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==",
+ "requires": {
+ "is-number": "^2.1.0",
+ "isobject": "^2.0.0",
+ "randomatic": "^3.0.0",
+ "repeat-element": "^1.1.2",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "find-up": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
+ "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==",
+ "requires": {
+ "locate-path": "^6.0.0",
+ "path-exists": "^4.0.0"
+ }
+ },
+ "flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "requires": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ }
+ },
+ "flatted": {
+ "version": "3.2.7",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz",
+ "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==",
+ "dev": true
+ },
+ "for-in": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
+ "integrity": "sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ=="
+ },
+ "form-data": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-3.0.1.tgz",
+ "integrity": "sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==",
+ "requires": {
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "mime-types": "^2.1.12"
+ }
+ },
+ "format": {
+ "version": "0.2.2",
+ "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz",
+ "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww=="
+ },
+ "formik": {
+ "version": "2.2.9",
+ "resolved": "https://registry.npmjs.org/formik/-/formik-2.2.9.tgz",
+ "integrity": "sha512-LQLcISMmf1r5at4/gyJigGn0gOwFbeEAlji+N9InZF6LIMXnFNkO42sCI8Jt84YZggpD4cPWObAZaxpEFtSzNA==",
+ "requires": {
+ "deepmerge": "^2.1.1",
+ "hoist-non-react-statics": "^3.3.0",
+ "lodash": "^4.17.21",
+ "lodash-es": "^4.17.21",
+ "react-fast-compare": "^2.0.1",
+ "tiny-warning": "^1.0.2",
+ "tslib": "^1.10.0"
+ },
+ "dependencies": {
+ "deepmerge": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-2.2.1.tgz",
+ "integrity": "sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA=="
+ },
+ "tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
+ }
+ }
+ },
+ "fraction.js": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
+ "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
+ },
+ "fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
+ "dev": true
+ },
+ "fsevents": {
+ "version": "2.3.2",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
+ "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
+ "optional": true
+ },
+ "function-bind": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
+ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
+ },
+ "functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==",
+ "dev": true
+ },
+ "gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
+ },
+ "get-nonce": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz",
+ "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q=="
+ },
+ "glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "requires": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ }
+ },
+ "glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "requires": {
+ "is-glob": "^4.0.3"
+ }
+ },
+ "globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
+ },
+ "graceful-fs": {
+ "version": "4.2.10",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz",
+ "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==",
+ "dev": true
+ },
+ "graphql": {
+ "version": "16.6.0",
+ "resolved": "https://registry.npmjs.org/graphql/-/graphql-16.6.0.tgz",
+ "integrity": "sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw=="
+ },
+ "graphql-tag": {
+ "version": "2.12.6",
+ "resolved": "https://registry.npmjs.org/graphql-tag/-/graphql-tag-2.12.6.tgz",
+ "integrity": "sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==",
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "gray-matter": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz",
+ "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==",
+ "requires": {
+ "js-yaml": "^3.13.1",
+ "kind-of": "^6.0.2",
+ "section-matter": "^1.0.0",
+ "strip-bom-string": "^1.0.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ }
+ }
+ },
+ "gulp-header": {
+ "version": "1.8.12",
+ "resolved": "https://registry.npmjs.org/gulp-header/-/gulp-header-1.8.12.tgz",
+ "integrity": "sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ==",
+ "requires": {
+ "concat-with-sourcemaps": "*",
+ "lodash.template": "^4.4.0",
+ "through2": "^2.0.0"
+ }
+ },
+ "has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "requires": {
+ "function-bind": "^1.1.1"
+ }
+ },
+ "has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
+ },
+ "hast-to-hyperscript": {
+ "version": "9.0.1",
+ "resolved": "https://registry.npmjs.org/hast-to-hyperscript/-/hast-to-hyperscript-9.0.1.tgz",
+ "integrity": "sha512-zQgLKqF+O2F72S1aa4y2ivxzSlko3MAvxkwG8ehGmNiqd98BIN3JM1rAJPmplEyLmGLO2QZYJtIneOSZ2YbJuA==",
+ "requires": {
+ "@types/unist": "^2.0.3",
+ "comma-separated-tokens": "^1.0.0",
+ "property-information": "^5.3.0",
+ "space-separated-tokens": "^1.0.0",
+ "style-to-object": "^0.3.0",
+ "unist-util-is": "^4.0.0",
+ "web-namespaces": "^1.0.0"
+ }
+ },
+ "hast-util-from-parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-6.0.1.tgz",
+ "integrity": "sha512-jeJUWiN5pSxW12Rh01smtVkZgZr33wBokLzKLwinYOUfSzm1Nl/c3GUGebDyOKjdsRgMvoVbV0VpAcpjF4NrJA==",
+ "requires": {
+ "@types/parse5": "^5.0.0",
+ "hastscript": "^6.0.0",
+ "property-information": "^5.0.0",
+ "vfile": "^4.0.0",
+ "vfile-location": "^3.2.0",
+ "web-namespaces": "^1.0.0"
+ }
+ },
+ "hast-util-is-element": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-2.1.2.tgz",
+ "integrity": "sha512-thjnlGAnwP8ef/GSO1Q8BfVk2gundnc2peGQqEg2kUt/IqesiGg/5mSwN2fE7nLzy61pg88NG6xV+UrGOrx9EA==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "hast-util-parse-selector": {
+ "version": "2.2.5",
+ "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz",
+ "integrity": "sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ=="
+ },
+ "hast-util-raw": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-6.0.1.tgz",
+ "integrity": "sha512-ZMuiYA+UF7BXBtsTBNcLBF5HzXzkyE6MLzJnL605LKE8GJylNjGc4jjxazAHUtcwT5/CEt6afRKViYB4X66dig==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "hast-util-from-parse5": "^6.0.0",
+ "hast-util-to-parse5": "^6.0.0",
+ "html-void-elements": "^1.0.0",
+ "parse5": "^6.0.0",
+ "unist-util-position": "^3.0.0",
+ "vfile": "^4.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.0",
+ "zwitch": "^1.0.0"
+ }
+ },
+ "hast-util-sanitize": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-4.0.0.tgz",
+ "integrity": "sha512-pw56+69jq+QSr/coADNvWTmBPDy+XsmwaF5KnUys4/wM1jt/fZdl7GPxhXXXYdXnz3Gj3qMkbUCH2uKjvX0MgQ==",
+ "requires": {
+ "@types/hast": "^2.0.0"
+ }
+ },
+ "hast-util-to-html": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-8.0.3.tgz",
+ "integrity": "sha512-/D/E5ymdPYhHpPkuTHOUkSatxr4w1ZKrZsG0Zv/3C2SRVT0JFJG53VS45AMrBtYk0wp5A7ksEhiC8QaOZM95+A==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "ccount": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-is-element": "^2.0.0",
+ "hast-util-whitespace": "^2.0.0",
+ "html-void-elements": "^2.0.0",
+ "property-information": "^6.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "stringify-entities": "^4.0.2",
+ "unist-util-is": "^5.0.0"
+ },
+ "dependencies": {
+ "comma-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg=="
+ },
+ "html-void-elements": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
+ "integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
+ },
+ "property-information": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
+ "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w=="
+ },
+ "space-separated-tokens": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
+ "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw=="
+ },
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ }
+ }
+ },
+ "hast-util-to-parse5": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-6.0.0.tgz",
+ "integrity": "sha512-Lu5m6Lgm/fWuz8eWnrKezHtVY83JeRGaNQ2kn9aJgqaxvVkFCZQBEhgodZUDUvoodgyROHDb3r5IxAEdl6suJQ==",
+ "requires": {
+ "hast-to-hyperscript": "^9.0.0",
+ "property-information": "^5.0.0",
+ "web-namespaces": "^1.0.0",
+ "xtend": "^4.0.0",
+ "zwitch": "^1.0.0"
+ }
+ },
+ "hast-util-whitespace": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz",
+ "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg=="
+ },
+ "hastscript": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-6.0.0.tgz",
+ "integrity": "sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "comma-separated-tokens": "^1.0.0",
+ "hast-util-parse-selector": "^2.0.0",
+ "property-information": "^5.0.0",
+ "space-separated-tokens": "^1.0.0"
+ }
+ },
+ "highlight.js": {
+ "version": "10.7.3",
+ "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.7.3.tgz",
+ "integrity": "sha512-tzcUFauisWKNHaRkN4Wjl/ZA07gENAjFl3J/c480dprkGTg5EQstgaNFqBfUqCq54kZRIEcreTsAgF/m2quD7A=="
+ },
+ "hoist-non-react-statics": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
+ "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
+ "requires": {
+ "react-is": "^16.7.0"
+ }
+ },
+ "html-encoding-sniffer": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz",
+ "integrity": "sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ==",
+ "requires": {
+ "whatwg-encoding": "^1.0.5"
+ }
+ },
+ "html-void-elements": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz",
+ "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w=="
+ },
+ "http-proxy-agent": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz",
+ "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==",
+ "requires": {
+ "@tootallnate/once": "1",
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "https-proxy-agent": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz",
+ "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==",
+ "requires": {
+ "agent-base": "6",
+ "debug": "4"
+ }
+ },
+ "iconv-lite": {
+ "version": "0.4.24",
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
+ "requires": {
+ "safer-buffer": ">= 2.1.2 < 3"
+ }
+ },
+ "ignore": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz",
+ "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==",
+ "dev": true
+ },
+ "immutable": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz",
+ "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==",
+ "dev": true
+ },
+ "import-fresh": {
+ "version": "3.3.0",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
+ "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
+ "dev": true,
+ "requires": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ }
+ },
+ "imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==",
+ "dev": true
+ },
+ "inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
+ "dev": true,
+ "requires": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
+ },
+ "inline-style-parser": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz",
+ "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q=="
+ },
+ "invariant": {
+ "version": "2.2.4",
+ "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz",
+ "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==",
+ "requires": {
+ "loose-envify": "^1.0.0"
+ }
+ },
+ "is-alphabetical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz",
+ "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg=="
+ },
+ "is-alphanumerical": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz",
+ "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==",
+ "requires": {
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0"
+ }
+ },
+ "is-binary-path": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
+ "requires": {
+ "binary-extensions": "^2.0.0"
+ }
+ },
+ "is-buffer": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz",
+ "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ=="
+ },
+ "is-core-module": {
+ "version": "2.10.0",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.10.0.tgz",
+ "integrity": "sha512-Erxj2n/LDAZ7H8WNJXd9tw38GYM3dv8rk8Zcs+jJuxYTW7sozH+SS8NtrSjVL1/vpLvWi1hxy96IzjJ3EHTJJg==",
+ "requires": {
+ "has": "^1.0.3"
+ }
+ },
+ "is-decimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz",
+ "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw=="
+ },
+ "is-extendable": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz",
+ "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw=="
+ },
+ "is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
+ },
+ "is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "requires": {
+ "is-extglob": "^2.1.1"
+ }
+ },
+ "is-hexadecimal": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz",
+ "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="
+ },
+ "is-number": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz",
+ "integrity": "sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "is-plain-obj": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz",
+ "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA=="
+ },
+ "is-plain-object": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
+ "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
+ }
+ }
+ },
+ "is-potential-custom-element-name": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz",
+ "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ=="
+ },
+ "is-whitespace-character": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz",
+ "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w=="
+ },
+ "is-word-character": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz",
+ "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA=="
+ },
+ "isarray": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
+ "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
+ },
+ "isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "isobject": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz",
+ "integrity": "sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==",
+ "requires": {
+ "isarray": "1.0.0"
+ }
+ },
+ "js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
+ },
+ "js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "requires": {
+ "argparse": "^2.0.1"
+ }
+ },
+ "jsdom": {
+ "version": "16.7.0",
+ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-16.7.0.tgz",
+ "integrity": "sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==",
+ "requires": {
+ "abab": "^2.0.5",
+ "acorn": "^8.2.4",
+ "acorn-globals": "^6.0.0",
+ "cssom": "^0.4.4",
+ "cssstyle": "^2.3.0",
+ "data-urls": "^2.0.0",
+ "decimal.js": "^10.2.1",
+ "domexception": "^2.0.1",
+ "escodegen": "^2.0.0",
+ "form-data": "^3.0.0",
+ "html-encoding-sniffer": "^2.0.1",
+ "http-proxy-agent": "^4.0.1",
+ "https-proxy-agent": "^5.0.0",
+ "is-potential-custom-element-name": "^1.0.1",
+ "nwsapi": "^2.2.0",
+ "parse5": "6.0.1",
+ "saxes": "^5.0.1",
+ "symbol-tree": "^3.2.4",
+ "tough-cookie": "^4.0.0",
+ "w3c-hr-time": "^1.0.2",
+ "w3c-xmlserializer": "^2.0.0",
+ "webidl-conversions": "^6.1.0",
+ "whatwg-encoding": "^1.0.5",
+ "whatwg-mimetype": "^2.3.0",
+ "whatwg-url": "^8.5.0",
+ "ws": "^7.4.6",
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
+ },
+ "json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==",
+ "dev": true
+ },
+ "json5": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz",
+ "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA=="
+ },
+ "kind-of": {
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
+ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw=="
+ },
+ "kleur": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz",
+ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ=="
+ },
+ "lazy-cache": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-2.0.2.tgz",
+ "integrity": "sha512-7vp2Acd2+Kz4XkzxGxaB1FWOi8KjWIWsgdfD5MCb86DWvlLqhRPM+d6Pro3iNEL5VT9mstz5hKAlcd+QR6H3aA==",
+ "requires": {
+ "set-getter": "^0.1.0"
+ }
+ },
+ "levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ }
+ },
+ "lilconfig": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.6.tgz",
+ "integrity": "sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg=="
+ },
+ "list-item": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/list-item/-/list-item-1.1.1.tgz",
+ "integrity": "sha512-S3D0WZ4J6hyM8o5SNKWaMYB1ALSacPZ2nHGEuCjmHZ+dc03gFeNZoNDcqfcnO4vDhTZmNrqrpYZCdXsRh22bzw==",
+ "requires": {
+ "expand-range": "^1.8.1",
+ "extend-shallow": "^2.0.1",
+ "is-number": "^2.1.0",
+ "repeat-string": "^1.5.2"
+ }
+ },
+ "loader-utils": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz",
+ "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==",
+ "requires": {
+ "big.js": "^5.2.2",
+ "emojis-list": "^3.0.0",
+ "json5": "^2.1.2"
+ }
+ },
+ "locate-path": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz",
+ "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==",
+ "requires": {
+ "p-locate": "^5.0.0"
+ }
+ },
+ "lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
+ "lodash-es": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz",
+ "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw=="
+ },
+ "lodash._reinterpolate": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz",
+ "integrity": "sha512-xYHt68QRoYGjeeM/XOE1uJtvXQAgvszfBhjV4yvsQH0u2i9I6cI6c6/eG4Hh3UAOVn0y/xAXwmTzEay49Q//HA=="
+ },
+ "lodash.castarray": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz",
+ "integrity": "sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q=="
+ },
+ "lodash.isplainobject": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
+ "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA=="
+ },
+ "lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ=="
+ },
+ "lodash.template": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.template/-/lodash.template-4.5.0.tgz",
+ "integrity": "sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==",
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0",
+ "lodash.templatesettings": "^4.0.0"
+ }
+ },
+ "lodash.templatesettings": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz",
+ "integrity": "sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==",
+ "requires": {
+ "lodash._reinterpolate": "^3.0.0"
+ }
+ },
+ "lodash.uniq": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
+ "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
+ },
+ "longest-streak": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz",
+ "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg=="
+ },
+ "loose-envify": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz",
+ "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
+ "requires": {
+ "js-tokens": "^3.0.0 || ^4.0.0"
+ }
+ },
+ "lowlight": {
+ "version": "1.20.0",
+ "resolved": "https://registry.npmjs.org/lowlight/-/lowlight-1.20.0.tgz",
+ "integrity": "sha512-8Ktj+prEb1RoCPkEOrPMYUN/nCggB7qAWe3a7OpMjWQkh3l2RD5wKRQ+o8Q8YuI9RG/xs95waaI/E6ym/7NsTw==",
+ "requires": {
+ "fault": "^1.0.0",
+ "highlight.js": "~10.7.0"
+ }
+ },
+ "markdown-escapes": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz",
+ "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg=="
+ },
+ "markdown-link": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/markdown-link/-/markdown-link-0.1.1.tgz",
+ "integrity": "sha512-TurLymbyLyo+kAUUAV9ggR9EPcDjP/ctlv9QAFiqUH7c+t6FlsbivPo9OKTU8xdOx9oNd2drW/Fi5RRElQbUqA=="
+ },
+ "markdown-toc": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/markdown-toc/-/markdown-toc-1.2.0.tgz",
+ "integrity": "sha512-eOsq7EGd3asV0oBfmyqngeEIhrbkc7XVP63OwcJBIhH2EpG2PzFcbZdhy1jutXSlRBBVMNXHvMtSr5LAxSUvUg==",
+ "requires": {
+ "concat-stream": "^1.5.2",
+ "diacritics-map": "^0.1.0",
+ "gray-matter": "^2.1.0",
+ "lazy-cache": "^2.0.2",
+ "list-item": "^1.1.1",
+ "markdown-link": "^0.1.1",
+ "minimist": "^1.2.0",
+ "mixin-deep": "^1.1.3",
+ "object.pick": "^1.2.0",
+ "remarkable": "^1.7.1",
+ "repeat-string": "^1.6.1",
+ "strip-color": "^0.1.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "gray-matter": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz",
+ "integrity": "sha512-vbmvP1Fe/fxuT2QuLVcqb2BfK7upGhhbLIt9/owWEvPYrZZEkelLcq2HqzxosV+PQ67dUFLaAeNpH7C4hhICAA==",
+ "requires": {
+ "ansi-red": "^0.1.1",
+ "coffee-script": "^1.12.4",
+ "extend-shallow": "^2.0.1",
+ "js-yaml": "^3.8.1",
+ "toml": "^2.3.2"
+ }
+ },
+ "js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "requires": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ }
+ }
+ }
+ },
+ "math-random": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/math-random/-/math-random-1.0.4.tgz",
+ "integrity": "sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A=="
+ },
+ "mdast-squeeze-paragraphs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-squeeze-paragraphs/-/mdast-squeeze-paragraphs-4.0.0.tgz",
+ "integrity": "sha512-zxdPn69hkQ1rm4J+2Cs2j6wDEv7O17TfXTJ33tl/+JPIoEmtV9t2ZzBM5LPHE8QlHsmVD8t3vPKCyY3oH+H8MQ==",
+ "requires": {
+ "unist-util-remove": "^2.0.0"
+ }
+ },
+ "mdast-util-definitions": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz",
+ "integrity": "sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==",
+ "requires": {
+ "unist-util-visit": "^2.0.0"
+ }
+ },
+ "mdast-util-from-markdown": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz",
+ "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "mdast-util-to-string": "^3.1.0",
+ "micromark": "^3.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-decode-string": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "mdast-util-mdx": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz",
+ "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==",
+ "requires": {
+ "mdast-util-mdx-expression": "^1.0.0",
+ "mdast-util-mdx-jsx": "^2.0.0",
+ "mdast-util-mdxjs-esm": "^1.0.0"
+ }
+ },
+ "mdast-util-mdx-expression": {
+ "version": "1.3.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.1.tgz",
+ "integrity": "sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==",
+ "requires": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "mdast-util-to-markdown": "^1.0.0"
+ }
+ },
+ "mdast-util-mdx-jsx": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz",
+ "integrity": "sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==",
+ "requires": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "ccount": "^2.0.0",
+ "mdast-util-to-markdown": "^1.3.0",
+ "parse-entities": "^4.0.0",
+ "stringify-entities": "^4.0.0",
+ "unist-util-remove-position": "^4.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "dependencies": {
+ "character-entities": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz",
+ "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ=="
+ },
+ "character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="
+ },
+ "character-reference-invalid": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz",
+ "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw=="
+ },
+ "is-alphabetical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz",
+ "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ=="
+ },
+ "is-alphanumerical": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz",
+ "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==",
+ "requires": {
+ "is-alphabetical": "^2.0.0",
+ "is-decimal": "^2.0.0"
+ }
+ },
+ "is-decimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz",
+ "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A=="
+ },
+ "is-hexadecimal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz",
+ "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg=="
+ },
+ "parse-entities": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz",
+ "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "character-entities": "^2.0.0",
+ "character-entities-legacy": "^3.0.0",
+ "character-reference-invalid": "^2.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "is-alphanumerical": "^2.0.0",
+ "is-decimal": "^2.0.0",
+ "is-hexadecimal": "^2.0.0"
+ }
+ }
+ }
+ },
+ "mdast-util-mdxjs-esm": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz",
+ "integrity": "sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==",
+ "requires": {
+ "@types/estree-jsx": "^1.0.0",
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "mdast-util-to-markdown": "^1.0.0"
+ }
+ },
+ "mdast-util-to-hast": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-10.0.1.tgz",
+ "integrity": "sha512-BW3LM9SEMnjf4HXXVApZMt8gLQWVNXc3jryK0nJu/rOXPOnlkUjmdkDlmxMirpbU9ILncGFIwLH/ubnWBbcdgA==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "mdast-util-definitions": "^4.0.0",
+ "mdurl": "^1.0.0",
+ "unist-builder": "^2.0.0",
+ "unist-util-generated": "^1.0.0",
+ "unist-util-position": "^3.0.0",
+ "unist-util-visit": "^2.0.0"
+ }
+ },
+ "mdast-util-to-markdown": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz",
+ "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "longest-streak": "^3.0.0",
+ "mdast-util-to-string": "^3.0.0",
+ "micromark-util-decode-string": "^1.0.0",
+ "unist-util-visit": "^4.0.0",
+ "zwitch": "^2.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ },
+ "unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ },
+ "zwitch": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz",
+ "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA=="
+ }
+ }
+ },
+ "mdast-util-to-string": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz",
+ "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA=="
+ },
+ "mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
+ },
+ "merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
+ },
+ "micromark": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.1.0.tgz",
+ "integrity": "sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==",
+ "requires": {
+ "@types/debug": "^4.0.0",
+ "debug": "^4.0.0",
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-core-commonmark": "^1.0.1",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-combine-extensions": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-sanitize-uri": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-core-commonmark": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz",
+ "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==",
+ "requires": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-factory-destination": "^1.0.0",
+ "micromark-factory-label": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-factory-title": "^1.0.0",
+ "micromark-factory-whitespace": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-classify-character": "^1.0.0",
+ "micromark-util-html-tag-name": "^1.0.0",
+ "micromark-util-normalize-identifier": "^1.0.0",
+ "micromark-util-resolve-all": "^1.0.0",
+ "micromark-util-subtokenize": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.1",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-extension-mdx-expression": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz",
+ "integrity": "sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==",
+ "requires": {
+ "micromark-factory-mdx-expression": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-extension-mdx-jsx": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz",
+ "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==",
+ "requires": {
+ "@types/acorn": "^4.0.0",
+ "estree-util-is-identifier-name": "^2.0.0",
+ "micromark-factory-mdx-expression": "^1.0.0",
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "micromark-extension-mdx-md": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz",
+ "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==",
+ "requires": {
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-extension-mdxjs": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz",
+ "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==",
+ "requires": {
+ "acorn": "^8.0.0",
+ "acorn-jsx": "^5.0.0",
+ "micromark-extension-mdx-expression": "^1.0.0",
+ "micromark-extension-mdx-jsx": "^1.0.0",
+ "micromark-extension-mdx-md": "^1.0.0",
+ "micromark-extension-mdxjs-esm": "^1.0.0",
+ "micromark-util-combine-extensions": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-extension-mdxjs-esm": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz",
+ "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==",
+ "requires": {
+ "micromark-core-commonmark": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-position-from-estree": "^1.1.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "micromark-factory-destination": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz",
+ "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==",
+ "requires": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-factory-label": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz",
+ "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==",
+ "requires": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-factory-mdx-expression": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz",
+ "integrity": "sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==",
+ "requires": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-events-to-acorn": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "unist-util-position-from-estree": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "micromark-factory-space": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz",
+ "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==",
+ "requires": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-factory-title": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz",
+ "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==",
+ "requires": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-factory-whitespace": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz",
+ "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==",
+ "requires": {
+ "micromark-factory-space": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-util-character": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz",
+ "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==",
+ "requires": {
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-util-chunked": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz",
+ "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==",
+ "requires": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "micromark-util-classify-character": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz",
+ "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==",
+ "requires": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-util-combine-extensions": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz",
+ "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==",
+ "requires": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-util-decode-numeric-character-reference": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz",
+ "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==",
+ "requires": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "micromark-util-decode-string": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz",
+ "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==",
+ "requires": {
+ "decode-named-character-reference": "^1.0.0",
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-decode-numeric-character-reference": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "micromark-util-encode": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz",
+ "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA=="
+ },
+ "micromark-util-events-to-acorn": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz",
+ "integrity": "sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==",
+ "requires": {
+ "@types/acorn": "^4.0.0",
+ "@types/estree": "^1.0.0",
+ "estree-util-visit": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0",
+ "vfile-location": "^4.0.0",
+ "vfile-message": "^3.0.0"
+ },
+ "dependencies": {
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ },
+ "vfile-location": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz",
+ "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ }
+ }
+ },
+ "micromark-util-html-tag-name": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz",
+ "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA=="
+ },
+ "micromark-util-normalize-identifier": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz",
+ "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==",
+ "requires": {
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "micromark-util-resolve-all": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz",
+ "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==",
+ "requires": {
+ "micromark-util-types": "^1.0.0"
+ }
+ },
+ "micromark-util-sanitize-uri": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.1.0.tgz",
+ "integrity": "sha512-RoxtuSCX6sUNtxhbmsEFQfWzs8VN7cTctmBPvYivo98xb/kDEoTCtJQX5wyzIYEmk/lvNFTat4hL8oW0KndFpg==",
+ "requires": {
+ "micromark-util-character": "^1.0.0",
+ "micromark-util-encode": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0"
+ }
+ },
+ "micromark-util-subtokenize": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz",
+ "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==",
+ "requires": {
+ "micromark-util-chunked": "^1.0.0",
+ "micromark-util-symbol": "^1.0.0",
+ "micromark-util-types": "^1.0.0",
+ "uvu": "^0.5.0"
+ }
+ },
+ "micromark-util-symbol": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz",
+ "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ=="
+ },
+ "micromark-util-types": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz",
+ "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w=="
+ },
+ "micromatch": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
+ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
+ "requires": {
+ "braces": "^3.0.2",
+ "picomatch": "^2.3.1"
+ }
+ },
+ "mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
+ },
+ "mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
+ "requires": {
+ "mime-db": "1.52.0"
+ }
+ },
+ "mini-svg-data-uri": {
+ "version": "1.4.4",
+ "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz",
+ "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg=="
+ },
+ "minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "requires": {
+ "brace-expansion": "^1.1.7"
+ }
+ },
+ "minimist": {
+ "version": "1.2.7",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz",
+ "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g=="
+ },
+ "mixin-deep": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz",
+ "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==",
+ "requires": {
+ "for-in": "^1.0.2",
+ "is-extendable": "^1.0.1"
+ },
+ "dependencies": {
+ "is-extendable": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz",
+ "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==",
+ "requires": {
+ "is-plain-object": "^2.0.4"
+ }
+ }
+ }
+ },
+ "mri": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz",
+ "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA=="
+ },
+ "ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
+ },
+ "nanoid": {
+ "version": "3.3.4",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
+ "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
+ },
+ "natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==",
+ "dev": true
+ },
+ "next": {
+ "version": "12.1.0",
+ "resolved": "https://registry.npmjs.org/next/-/next-12.1.0.tgz",
+ "integrity": "sha512-s885kWvnIlxsUFHq9UGyIyLiuD0G3BUC/xrH0CEnH5lHEWkwQcHOORgbDF0hbrW9vr/7am4ETfX4A7M6DjrE7Q==",
+ "requires": {
+ "@next/env": "12.1.0",
+ "@next/swc-android-arm64": "12.1.0",
+ "@next/swc-darwin-arm64": "12.1.0",
+ "@next/swc-darwin-x64": "12.1.0",
+ "@next/swc-linux-arm-gnueabihf": "12.1.0",
+ "@next/swc-linux-arm64-gnu": "12.1.0",
+ "@next/swc-linux-arm64-musl": "12.1.0",
+ "@next/swc-linux-x64-gnu": "12.1.0",
+ "@next/swc-linux-x64-musl": "12.1.0",
+ "@next/swc-win32-arm64-msvc": "12.1.0",
+ "@next/swc-win32-ia32-msvc": "12.1.0",
+ "@next/swc-win32-x64-msvc": "12.1.0",
+ "caniuse-lite": "^1.0.30001283",
+ "postcss": "8.4.5",
+ "styled-jsx": "5.0.0",
+ "use-subscription": "1.5.1"
+ },
+ "dependencies": {
+ "postcss": {
+ "version": "8.4.5",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz",
+ "integrity": "sha512-jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==",
+ "requires": {
+ "nanoid": "^3.1.30",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.1"
+ }
+ }
+ }
+ },
+ "next-compose-plugins": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/next-compose-plugins/-/next-compose-plugins-2.2.1.tgz",
+ "integrity": "sha512-OjJ+fV15FXO2uQXQagLD4C0abYErBjyjE0I0FHpOEIB8upw0hg1ldFP6cqHTJBH1cZqy96OeR3u1dJ+Ez2D4Bg=="
+ },
+ "next-mdx-remote": {
+ "version": "3.0.8",
+ "resolved": "https://registry.npmjs.org/next-mdx-remote/-/next-mdx-remote-3.0.8.tgz",
+ "integrity": "sha512-WFSxt0crxG5PN/0WvaunzxzqV3wh3dPBZyhkclxwyQfLSRKzsNSArzot/4gYTOOZ/GtyRfNjbI/HtDsW2S4fqQ==",
+ "requires": {
+ "@mdx-js/mdx": "^1.6.22",
+ "@mdx-js/react": "^1.6.22",
+ "esbuild": "^0.12.9",
+ "pkg-dir": "^5.0.0"
+ }
+ },
+ "next-themes": {
+ "version": "0.0.15",
+ "resolved": "https://registry.npmjs.org/next-themes/-/next-themes-0.0.15.tgz",
+ "integrity": "sha512-LTmtqYi03c4gMTJmWwVK9XkHL7h0/+XrtR970Ujvtu3s0kZNeJN24aJsi4rkZOI8i19+qq6f8j+8Duwy5jqcrQ=="
+ },
+ "next-transpile-modules": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/next-transpile-modules/-/next-transpile-modules-9.0.0.tgz",
+ "integrity": "sha512-VCNFOazIAnXn1hvgYYSTYMnoWgKgwlYh4lm1pKbSfiB3kj5ZYLcKVhfh3jkPOg1cnd9DP+pte9yCUocdPEUBTQ==",
+ "dev": true,
+ "requires": {
+ "enhanced-resolve": "^5.7.0",
+ "escalade": "^3.1.1"
+ }
+ },
+ "node-releases": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz",
+ "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg=="
+ },
+ "normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
+ },
+ "normalize-range": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
+ "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA=="
+ },
+ "nwsapi": {
+ "version": "2.2.2",
+ "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.2.tgz",
+ "integrity": "sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw=="
+ },
+ "object-assign": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
+ },
+ "object-hash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz",
+ "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw=="
+ },
+ "object.pick": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz",
+ "integrity": "sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==",
+ "requires": {
+ "isobject": "^3.0.1"
+ },
+ "dependencies": {
+ "isobject": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
+ "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
+ }
+ }
+ },
+ "once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
+ "dev": true,
+ "requires": {
+ "wrappy": "1"
+ }
+ },
+ "optimism": {
+ "version": "0.16.1",
+ "resolved": "https://registry.npmjs.org/optimism/-/optimism-0.16.1.tgz",
+ "integrity": "sha512-64i+Uw3otrndfq5kaoGNoY7pvOhSsjFEN4bdEFh80MWVk/dbgJfMv7VFDeCT8LxNAlEVhQmdVEbfE7X2nWNIIg==",
+ "requires": {
+ "@wry/context": "^0.6.0",
+ "@wry/trie": "^0.3.0"
+ },
+ "dependencies": {
+ "@wry/context": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/@wry/context/-/context-0.6.1.tgz",
+ "integrity": "sha512-LOmVnY1iTU2D8tv4Xf6MVMZZ+juIJ87Kt/plMijjN20NMAXGmH4u8bS1t0uT74cZ5gwpocYueV58YwyI8y+GKw==",
+ "requires": {
+ "tslib": "^2.3.0"
+ }
+ }
+ }
+ },
+ "optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "requires": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ }
+ },
+ "p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "requires": {
+ "yocto-queue": "^0.1.0"
+ }
+ },
+ "p-locate": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz",
+ "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==",
+ "requires": {
+ "p-limit": "^3.0.2"
+ }
+ },
+ "parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "requires": {
+ "callsites": "^3.0.0"
+ }
+ },
+ "parse-entities": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz",
+ "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==",
+ "requires": {
+ "character-entities": "^1.0.0",
+ "character-entities-legacy": "^1.0.0",
+ "character-reference-invalid": "^1.0.0",
+ "is-alphanumerical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-hexadecimal": "^1.0.0"
+ }
+ },
+ "parse-numeric-range": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz",
+ "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ=="
+ },
+ "parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw=="
+ },
+ "parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "requires": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w=="
+ },
+ "path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
+ "dev": true
+ },
+ "path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true
+ },
+ "path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
+ },
+ "picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+ },
+ "picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
+ },
+ "pkg-dir": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-5.0.0.tgz",
+ "integrity": "sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==",
+ "requires": {
+ "find-up": "^5.0.0"
+ }
+ },
+ "postcss": {
+ "version": "8.4.18",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.18.tgz",
+ "integrity": "sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==",
+ "requires": {
+ "nanoid": "^3.3.4",
+ "picocolors": "^1.0.0",
+ "source-map-js": "^1.0.2"
+ }
+ },
+ "postcss-import": {
+ "version": "14.1.0",
+ "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-14.1.0.tgz",
+ "integrity": "sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==",
+ "requires": {
+ "postcss-value-parser": "^4.0.0",
+ "read-cache": "^1.0.0",
+ "resolve": "^1.1.7"
+ }
+ },
+ "postcss-js": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.0.tgz",
+ "integrity": "sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==",
+ "requires": {
+ "camelcase-css": "^2.0.1"
+ }
+ },
+ "postcss-load-config": {
+ "version": "3.1.4",
+ "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
+ "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
+ "requires": {
+ "lilconfig": "^2.0.5",
+ "yaml": "^1.10.2"
+ }
+ },
+ "postcss-nested": {
+ "version": "5.0.6",
+ "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-5.0.6.tgz",
+ "integrity": "sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==",
+ "requires": {
+ "postcss-selector-parser": "^6.0.6"
+ }
+ },
+ "postcss-selector-parser": {
+ "version": "6.0.10",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz",
+ "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==",
+ "requires": {
+ "cssesc": "^3.0.0",
+ "util-deprecate": "^1.0.2"
+ }
+ },
+ "postcss-value-parser": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
+ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
+ },
+ "prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true
+ },
+ "prismjs": {
+ "version": "1.29.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.29.0.tgz",
+ "integrity": "sha512-Kx/1w86q/epKcmte75LNrEoT+lX8pBpavuAbvJWRXar7Hz8jrtF+e3vY751p0R8H9HdArwaCTNDDzHg/ScJK1Q=="
+ },
+ "process-nextick-args": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
+ "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag=="
+ },
+ "prop-types": {
+ "version": "15.8.1",
+ "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz",
+ "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==",
+ "requires": {
+ "loose-envify": "^1.4.0",
+ "object-assign": "^4.1.1",
+ "react-is": "^16.13.1"
+ }
+ },
+ "property-information": {
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz",
+ "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==",
+ "requires": {
+ "xtend": "^4.0.0"
+ }
+ },
+ "psl": {
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz",
+ "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag=="
+ },
+ "punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A=="
+ },
+ "querystringify": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz",
+ "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ=="
+ },
+ "queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
+ },
+ "quick-lru": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz",
+ "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
+ },
+ "randomatic": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/randomatic/-/randomatic-3.1.1.tgz",
+ "integrity": "sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==",
+ "requires": {
+ "is-number": "^4.0.0",
+ "kind-of": "^6.0.0",
+ "math-random": "^1.0.1"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-4.0.0.tgz",
+ "integrity": "sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ=="
+ }
+ }
+ },
+ "react": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz",
+ "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "react-copy-to-clipboard": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/react-copy-to-clipboard/-/react-copy-to-clipboard-5.1.0.tgz",
+ "integrity": "sha512-k61RsNgAayIJNoy9yDsYzDe/yAZAzEbEgcz3DZMhF686LEyukcE1hzurxe85JandPUG+yTfGVFzuEw3xt8WP/A==",
+ "requires": {
+ "copy-to-clipboard": "^3.3.1",
+ "prop-types": "^15.8.1"
+ }
+ },
+ "react-dom": {
+ "version": "17.0.2",
+ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz",
+ "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1",
+ "scheduler": "^0.20.2"
+ }
+ },
+ "react-fast-compare": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz",
+ "integrity": "sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw=="
+ },
+ "react-is": {
+ "version": "16.13.1",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
+ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
+ },
+ "react-markdown": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/react-markdown/-/react-markdown-8.0.3.tgz",
+ "integrity": "sha512-We36SfqaKoVNpN1QqsZwWSv/OZt5J15LNgTLWynwAN5b265hrQrsjMtlRNwUvS+YyR3yDM8HpTNc4pK9H/Gc0A==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/prop-types": "^15.0.0",
+ "@types/unist": "^2.0.0",
+ "comma-separated-tokens": "^2.0.0",
+ "hast-util-whitespace": "^2.0.0",
+ "prop-types": "^15.0.0",
+ "property-information": "^6.0.0",
+ "react-is": "^18.0.0",
+ "remark-parse": "^10.0.0",
+ "remark-rehype": "^10.0.0",
+ "space-separated-tokens": "^2.0.0",
+ "style-to-object": "^0.3.0",
+ "unified": "^10.0.0",
+ "unist-util-visit": "^4.0.0",
+ "vfile": "^5.0.0"
+ },
+ "dependencies": {
+ "bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
+ },
+ "comma-separated-tokens": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz",
+ "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg=="
+ },
+ "is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
+ },
+ "property-information": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz",
+ "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w=="
+ },
+ "react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w=="
+ },
+ "remark-parse": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
+ "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ }
+ },
+ "space-separated-tokens": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz",
+ "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw=="
+ },
+ "trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
+ },
+ "unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ },
+ "unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ },
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ }
+ }
+ },
+ "react-remove-scroll": {
+ "version": "2.5.5",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz",
+ "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==",
+ "requires": {
+ "react-remove-scroll-bar": "^2.3.3",
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.1.0",
+ "use-callback-ref": "^1.3.0",
+ "use-sidecar": "^1.1.2"
+ }
+ },
+ "react-remove-scroll-bar": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz",
+ "integrity": "sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==",
+ "requires": {
+ "react-style-singleton": "^2.2.1",
+ "tslib": "^2.0.0"
+ }
+ },
+ "react-style-singleton": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz",
+ "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==",
+ "requires": {
+ "get-nonce": "^1.0.0",
+ "invariant": "^2.2.4",
+ "tslib": "^2.0.0"
+ }
+ },
+ "react-syntax-highlighter": {
+ "version": "15.5.0",
+ "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz",
+ "integrity": "sha512-+zq2myprEnQmH5yw6Gqc8lD55QHnpKaU8TOcFeC/Lg/MQSs8UknEA0JC4nTZGFAXC2J2Hyj/ijJ7NlabyPi2gg==",
+ "requires": {
+ "@babel/runtime": "^7.3.1",
+ "highlight.js": "^10.4.1",
+ "lowlight": "^1.17.0",
+ "prismjs": "^1.27.0",
+ "refractor": "^3.6.0"
+ }
+ },
+ "read-cache": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz",
+ "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==",
+ "requires": {
+ "pify": "^2.3.0"
+ },
+ "dependencies": {
+ "pify": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz",
+ "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog=="
+ }
+ }
+ },
+ "readable-stream": {
+ "version": "2.3.7",
+ "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz",
+ "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==",
+ "requires": {
+ "core-util-is": "~1.0.0",
+ "inherits": "~2.0.3",
+ "isarray": "~1.0.0",
+ "process-nextick-args": "~2.0.0",
+ "safe-buffer": "~5.1.1",
+ "string_decoder": "~1.1.1",
+ "util-deprecate": "~1.0.1"
+ }
+ },
+ "readdirp": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "requires": {
+ "picomatch": "^2.2.1"
+ }
+ },
+ "refractor": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/refractor/-/refractor-3.6.0.tgz",
+ "integrity": "sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA==",
+ "requires": {
+ "hastscript": "^6.0.0",
+ "parse-entities": "^2.0.0",
+ "prismjs": "~1.27.0"
+ },
+ "dependencies": {
+ "prismjs": {
+ "version": "1.27.0",
+ "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz",
+ "integrity": "sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA=="
+ }
+ }
+ },
+ "regenerator-runtime": {
+ "version": "0.13.10",
+ "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.10.tgz",
+ "integrity": "sha512-KepLsg4dU12hryUO7bp/axHAKvwGOCV0sGloQtpagJ12ai+ojVDqkeGSiRX1zlq+kjIMZ1t7gpze+26QqtdGqw=="
+ },
+ "regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true
+ },
+ "remark": {
+ "version": "14.0.2",
+ "resolved": "https://registry.npmjs.org/remark/-/remark-14.0.2.tgz",
+ "integrity": "sha512-A3ARm2V4BgiRXaUo5K0dRvJ1lbogrbXnhkJRmD0yw092/Yl0kOCZt1k9ZeElEwkZsWGsMumz6qL5MfNJH9nOBA==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "remark-parse": "^10.0.0",
+ "remark-stringify": "^10.0.0",
+ "unified": "^10.0.0"
+ },
+ "dependencies": {
+ "bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
+ },
+ "is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
+ },
+ "remark-parse": {
+ "version": "10.0.1",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz",
+ "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-from-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ }
+ },
+ "trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
+ },
+ "unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ }
+ }
+ },
+ "remark-footnotes": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/remark-footnotes/-/remark-footnotes-2.0.0.tgz",
+ "integrity": "sha512-3Clt8ZMH75Ayjp9q4CorNeyjwIxHFcTkaektplKGl2A1jNGEUey8cKL0ZC5vJwfcD5GFGsNLImLG/NGzWIzoMQ=="
+ },
+ "remark-html": {
+ "version": "15.0.1",
+ "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-15.0.1.tgz",
+ "integrity": "sha512-7ta5UPRqj8nP0GhGMYUAghZ/DRno7dgq7alcW90A7+9pgJsXzGJlFgwF8HOP1b1tMgT3WwbeANN+CaTimMfyNQ==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "hast-util-sanitize": "^4.0.0",
+ "hast-util-to-html": "^8.0.0",
+ "mdast-util-to-hast": "^12.0.0",
+ "unified": "^10.0.0"
+ },
+ "dependencies": {
+ "bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
+ },
+ "is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
+ },
+ "mdast-util-definitions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
+ "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ }
+ },
+ "mdast-util-to-hast": {
+ "version": "12.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
+ "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-definitions": "^5.0.0",
+ "micromark-util-sanitize-uri": "^1.1.0",
+ "trim-lines": "^3.0.0",
+ "unist-builder": "^3.0.0",
+ "unist-util-generated": "^2.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0"
+ }
+ },
+ "trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
+ },
+ "unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
+ "unist-builder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
+ "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-generated": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
+ "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw=="
+ },
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ },
+ "unist-util-position": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
+ "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ },
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ }
+ }
+ },
+ "remark-mdx": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.5.tgz",
+ "integrity": "sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==",
+ "requires": {
+ "mdast-util-mdx": "^2.0.0",
+ "micromark-extension-mdxjs": "^1.0.0"
+ }
+ },
+ "remark-parse": {
+ "version": "8.0.3",
+ "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz",
+ "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==",
+ "requires": {
+ "ccount": "^1.0.0",
+ "collapse-white-space": "^1.0.2",
+ "is-alphabetical": "^1.0.0",
+ "is-decimal": "^1.0.0",
+ "is-whitespace-character": "^1.0.0",
+ "is-word-character": "^1.0.0",
+ "markdown-escapes": "^1.0.0",
+ "parse-entities": "^2.0.0",
+ "repeat-string": "^1.5.4",
+ "state-toggle": "^1.0.0",
+ "trim": "0.0.1",
+ "trim-trailing-lines": "^1.0.0",
+ "unherit": "^1.0.4",
+ "unist-util-remove-position": "^2.0.0",
+ "vfile-location": "^3.0.0",
+ "xtend": "^4.0.1"
+ },
+ "dependencies": {
+ "ccount": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz",
+ "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg=="
+ },
+ "unist-util-remove-position": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz",
+ "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==",
+ "requires": {
+ "unist-util-visit": "^2.0.0"
+ }
+ }
+ }
+ },
+ "remark-prism": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/remark-prism/-/remark-prism-1.3.6.tgz",
+ "integrity": "sha512-yYSXJ2MEK2DeD9UKDKFkQPcVqRx6aX2FYD1kE27ScogpZ/BBO8MoOO6gf/AKqfXvKGnP51wqvDEBmPseypgaug==",
+ "requires": {
+ "classnames": "^2.3.1",
+ "css-selector-parser": "^1.4.1",
+ "escape-html": "^1.0.3",
+ "jsdom": "^16.5.3",
+ "parse-numeric-range": "^1.2.0",
+ "parse5": "^6.0.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.1",
+ "prismjs": "^1.23.0",
+ "unist-util-map": "^2.0.1"
+ }
+ },
+ "remark-rehype": {
+ "version": "10.1.0",
+ "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz",
+ "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-hast": "^12.1.0",
+ "unified": "^10.0.0"
+ },
+ "dependencies": {
+ "bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
+ },
+ "is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
+ },
+ "mdast-util-definitions": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz",
+ "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ }
+ },
+ "mdast-util-to-hast": {
+ "version": "12.2.4",
+ "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.4.tgz",
+ "integrity": "sha512-a21xoxSef1l8VhHxS1Dnyioz6grrJkoaCUgGzMD/7dWHvboYX3VW53esRUfB5tgTyz4Yos1n25SPcj35dJqmAg==",
+ "requires": {
+ "@types/hast": "^2.0.0",
+ "@types/mdast": "^3.0.0",
+ "mdast-util-definitions": "^5.0.0",
+ "micromark-util-sanitize-uri": "^1.1.0",
+ "trim-lines": "^3.0.0",
+ "unist-builder": "^3.0.0",
+ "unist-util-generated": "^2.0.0",
+ "unist-util-position": "^4.0.0",
+ "unist-util-visit": "^4.0.0"
+ }
+ },
+ "trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
+ },
+ "unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
+ "unist-builder": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz",
+ "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-generated": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz",
+ "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw=="
+ },
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ },
+ "unist-util-position": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz",
+ "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ },
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ }
+ }
+ },
+ "remark-squeeze-paragraphs": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/remark-squeeze-paragraphs/-/remark-squeeze-paragraphs-4.0.0.tgz",
+ "integrity": "sha512-8qRqmL9F4nuLPIgl92XUuxI3pFxize+F1H0e/W3llTk0UsjJaj01+RrirkMw7P21RKe4X6goQhYRSvNWX+70Rw==",
+ "requires": {
+ "mdast-squeeze-paragraphs": "^4.0.0"
+ }
+ },
+ "remark-stringify": {
+ "version": "10.0.2",
+ "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-10.0.2.tgz",
+ "integrity": "sha512-6wV3pvbPvHkbNnWB0wdDvVFHOe1hBRAx1Q/5g/EpH4RppAII6J8Gnwe7VbHuXaoKIF6LAg6ExTel/+kNqSQ7lw==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "mdast-util-to-markdown": "^1.0.0",
+ "unified": "^10.0.0"
+ },
+ "dependencies": {
+ "bail": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz",
+ "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw=="
+ },
+ "is-plain-obj": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz",
+ "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg=="
+ },
+ "trough": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz",
+ "integrity": "sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g=="
+ },
+ "unified": {
+ "version": "10.1.2",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.2.tgz",
+ "integrity": "sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "bail": "^2.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^4.0.0",
+ "trough": "^2.0.0",
+ "vfile": "^5.0.0"
+ }
+ },
+ "vfile": {
+ "version": "5.3.5",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.5.tgz",
+ "integrity": "sha512-U1ho2ga33eZ8y8pkbQLH54uKqGhFJ6GYIHnnG5AhRpAh3OWjkrRHKa/KogbmQn8We+c0KVV3rTOgR9V/WowbXQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0",
+ "vfile-message": "^3.0.0"
+ }
+ }
+ }
+ },
+ "remarkable": {
+ "version": "1.7.4",
+ "resolved": "https://registry.npmjs.org/remarkable/-/remarkable-1.7.4.tgz",
+ "integrity": "sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg==",
+ "requires": {
+ "argparse": "^1.0.10",
+ "autolinker": "~0.28.0"
+ },
+ "dependencies": {
+ "argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "requires": {
+ "sprintf-js": "~1.0.2"
+ }
+ }
+ }
+ },
+ "repeat-element": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.4.tgz",
+ "integrity": "sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ=="
+ },
+ "repeat-string": {
+ "version": "1.6.1",
+ "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz",
+ "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w=="
+ },
+ "requires-port": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
+ },
+ "resolve": {
+ "version": "1.22.1",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
+ "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "requires": {
+ "is-core-module": "^2.9.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ }
+ },
+ "resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true
+ },
+ "response-iterator": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/response-iterator/-/response-iterator-0.2.6.tgz",
+ "integrity": "sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw=="
+ },
+ "reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
+ },
+ "rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "requires": {
+ "glob": "^7.1.3"
+ }
+ },
+ "run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "requires": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "sade": {
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz",
+ "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==",
+ "requires": {
+ "mri": "^1.1.0"
+ }
+ },
+ "safe-buffer": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
+ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
+ },
+ "safer-buffer": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
+ },
+ "sass": {
+ "version": "1.55.0",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.55.0.tgz",
+ "integrity": "sha512-Pk+PMy7OGLs9WaxZGJMn7S96dvlyVBwwtToX895WmCpAOr5YiJYEUJfiJidMuKb613z2xNWcXCHEuOvjZbqC6A==",
+ "dev": true,
+ "requires": {
+ "chokidar": ">=3.0.0 <4.0.0",
+ "immutable": "^4.0.0",
+ "source-map-js": ">=0.6.2 <2.0.0"
+ }
+ },
+ "saxes": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/saxes/-/saxes-5.0.1.tgz",
+ "integrity": "sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw==",
+ "requires": {
+ "xmlchars": "^2.2.0"
+ }
+ },
+ "scheduler": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.20.2.tgz",
+ "integrity": "sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ==",
+ "requires": {
+ "loose-envify": "^1.1.0",
+ "object-assign": "^4.1.1"
+ }
+ },
+ "section-matter": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz",
+ "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==",
+ "requires": {
+ "extend-shallow": "^2.0.1",
+ "kind-of": "^6.0.0"
+ }
+ },
+ "semver": {
+ "version": "5.7.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
+ "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ=="
+ },
+ "set-getter": {
+ "version": "0.1.1",
+ "resolved": "https://registry.npmjs.org/set-getter/-/set-getter-0.1.1.tgz",
+ "integrity": "sha512-9sVWOy+gthr+0G9DzqqLaYNA7+5OKkSmcqjL9cBpDEaZrr3ShQlyX2cZ/O/ozE41oxn/Tt0LGEM/w4Rub3A3gw==",
+ "requires": {
+ "to-object-path": "^0.3.0"
+ }
+ },
+ "shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "requires": {
+ "shebang-regex": "^3.0.0"
+ }
+ },
+ "shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true
+ },
+ "source-map": {
+ "version": "0.5.7",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz",
+ "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ=="
+ },
+ "source-map-js": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+ "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+ },
+ "space-separated-tokens": {
+ "version": "1.1.5",
+ "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz",
+ "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA=="
+ },
+ "sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g=="
+ },
+ "state-toggle": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz",
+ "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ=="
+ },
+ "string_decoder": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
+ "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
+ "requires": {
+ "safe-buffer": "~5.1.0"
+ }
+ },
+ "stringify-entities": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz",
+ "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==",
+ "requires": {
+ "character-entities-html4": "^2.0.0",
+ "character-entities-legacy": "^3.0.0"
+ },
+ "dependencies": {
+ "character-entities-legacy": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz",
+ "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ=="
+ }
+ }
+ },
+ "strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "requires": {
+ "ansi-regex": "^5.0.1"
+ }
+ },
+ "strip-bom": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
+ "dev": true
+ },
+ "strip-bom-string": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz",
+ "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g=="
+ },
+ "strip-color": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/strip-color/-/strip-color-0.1.0.tgz",
+ "integrity": "sha512-p9LsUieSjWNNAxVCXLeilaDlmuUOrDS5/dF9znM1nZc7EGX5+zEFC0bEevsNIaldjlks+2jns5Siz6F9iK6jwA=="
+ },
+ "strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true
+ },
+ "style-to-object": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz",
+ "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==",
+ "requires": {
+ "inline-style-parser": "0.1.1"
+ }
+ },
+ "styled-jsx": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.0.0.tgz",
+ "integrity": "sha512-qUqsWoBquEdERe10EW8vLp3jT25s/ssG1/qX5gZ4wu15OZpmSMFI2v+fWlRhLfykA5rFtlJ1ME8A8pm/peV4WA=="
+ },
+ "supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "requires": {
+ "has-flag": "^3.0.0"
+ }
+ },
+ "supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="
+ },
+ "symbol-observable": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz",
+ "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ=="
+ },
+ "symbol-tree": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz",
+ "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw=="
+ },
+ "tailwindcss": {
+ "version": "3.1.8",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.1.8.tgz",
+ "integrity": "sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==",
+ "requires": {
+ "arg": "^5.0.2",
+ "chokidar": "^3.5.3",
+ "color-name": "^1.1.4",
+ "detective": "^5.2.1",
+ "didyoumean": "^1.2.2",
+ "dlv": "^1.1.3",
+ "fast-glob": "^3.2.11",
+ "glob-parent": "^6.0.2",
+ "is-glob": "^4.0.3",
+ "lilconfig": "^2.0.6",
+ "normalize-path": "^3.0.0",
+ "object-hash": "^3.0.0",
+ "picocolors": "^1.0.0",
+ "postcss": "^8.4.14",
+ "postcss-import": "^14.1.0",
+ "postcss-js": "^4.0.0",
+ "postcss-load-config": "^3.1.4",
+ "postcss-nested": "5.0.6",
+ "postcss-selector-parser": "^6.0.10",
+ "postcss-value-parser": "^4.2.0",
+ "quick-lru": "^5.1.1",
+ "resolve": "^1.22.1"
+ },
+ "dependencies": {
+ "color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
+ }
+ }
+ },
+ "tailwindcss-radix": {
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/tailwindcss-radix/-/tailwindcss-radix-1.6.0.tgz",
+ "integrity": "sha512-5oBgGCVGsITMiUVlc6Euj4kt03l8htLJxVT9AXbkFxcJiXLtQxJriFq/8R+3s63OKit/ynCVdkqvlnW6H7iG1g=="
+ },
+ "tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "dev": true
+ },
+ "text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==",
+ "dev": true
+ },
+ "through2": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz",
+ "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==",
+ "requires": {
+ "readable-stream": "~2.3.6",
+ "xtend": "~4.0.1"
+ }
+ },
+ "tiny-warning": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz",
+ "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA=="
+ },
+ "to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog=="
+ },
+ "to-object-path": {
+ "version": "0.3.0",
+ "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz",
+ "integrity": "sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==",
+ "requires": {
+ "kind-of": "^3.0.2"
+ },
+ "dependencies": {
+ "is-buffer": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
+ "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
+ },
+ "kind-of": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz",
+ "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==",
+ "requires": {
+ "is-buffer": "^1.1.5"
+ }
+ }
+ }
+ },
+ "to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "requires": {
+ "is-number": "^7.0.0"
+ },
+ "dependencies": {
+ "is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
+ }
+ }
+ },
+ "toggle-selection": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz",
+ "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ=="
+ },
+ "toml": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz",
+ "integrity": "sha512-gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ=="
+ },
+ "tough-cookie": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.2.tgz",
+ "integrity": "sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ==",
+ "requires": {
+ "psl": "^1.1.33",
+ "punycode": "^2.1.1",
+ "universalify": "^0.2.0",
+ "url-parse": "^1.5.3"
+ }
+ },
+ "tr46": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-2.1.0.tgz",
+ "integrity": "sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw==",
+ "requires": {
+ "punycode": "^2.1.1"
+ }
+ },
+ "trim": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz",
+ "integrity": "sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ=="
+ },
+ "trim-lines": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz",
+ "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg=="
+ },
+ "trim-trailing-lines": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz",
+ "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ=="
+ },
+ "trough": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz",
+ "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA=="
+ },
+ "ts-invariant": {
+ "version": "0.10.3",
+ "resolved": "https://registry.npmjs.org/ts-invariant/-/ts-invariant-0.10.3.tgz",
+ "integrity": "sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ==",
+ "requires": {
+ "tslib": "^2.1.0"
+ }
+ },
+ "tsconfig": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
+ "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==",
+ "dev": true,
+ "requires": {
+ "@types/strip-bom": "^3.0.0",
+ "@types/strip-json-comments": "0.0.30",
+ "strip-bom": "^3.0.0",
+ "strip-json-comments": "^2.0.0"
+ },
+ "dependencies": {
+ "strip-json-comments": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
+ "dev": true
+ }
+ }
+ },
+ "tslib": {
+ "version": "2.4.0",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz",
+ "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ=="
+ },
+ "type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "requires": {
+ "prelude-ls": "^1.2.1"
+ }
+ },
+ "type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true
+ },
+ "typedarray": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz",
+ "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA=="
+ },
+ "typescript": {
+ "version": "4.8.4",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz",
+ "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==",
+ "dev": true
+ },
+ "unherit": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz",
+ "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==",
+ "requires": {
+ "inherits": "^2.0.0",
+ "xtend": "^4.0.0"
+ }
+ },
+ "unified": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.0.tgz",
+ "integrity": "sha512-vx2Z0vY+a3YoTj8+pttM3tiJHCwY5UFbYdiWrwBEbHmK8pvsPj2rtAX2BFfgXen8T39CJWblWRDT4L5WGXtDdg==",
+ "requires": {
+ "bail": "^1.0.0",
+ "extend": "^3.0.0",
+ "is-buffer": "^2.0.0",
+ "is-plain-obj": "^2.0.0",
+ "trough": "^1.0.0",
+ "vfile": "^4.0.0"
+ }
+ },
+ "unist-builder": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz",
+ "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw=="
+ },
+ "unist-util-generated": {
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz",
+ "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg=="
+ },
+ "unist-util-is": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz",
+ "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg=="
+ },
+ "unist-util-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-map/-/unist-util-map-2.0.1.tgz",
+ "integrity": "sha512-VdNvk4BQUUU9Rgr8iUOvclHa/iN9O+6Dt66FKij8l9OVezGG37gGWCPU5KSax1R2degqXFvl3kWTkvzL79e9tQ==",
+ "requires": {
+ "@types/mdast": "^3.0.0",
+ "object-assign": "^4.0.0"
+ }
+ },
+ "unist-util-position": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz",
+ "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA=="
+ },
+ "unist-util-position-from-estree": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz",
+ "integrity": "sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-remove": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/unist-util-remove/-/unist-util-remove-2.1.0.tgz",
+ "integrity": "sha512-J8NYPyBm4baYLdCbjmf1bhPu45Cr1MWTm77qd9istEkzWpnN6O9tMsEbB2JhNnBCqGENRqEWomQ+He6au0B27Q==",
+ "requires": {
+ "unist-util-is": "^4.0.0"
+ }
+ },
+ "unist-util-remove-position": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz",
+ "integrity": "sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-visit": "^4.0.0"
+ },
+ "dependencies": {
+ "unist-util-is": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz",
+ "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ=="
+ },
+ "unist-util-visit": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.1.tgz",
+ "integrity": "sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0",
+ "unist-util-visit-parents": "^5.1.1"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz",
+ "integrity": "sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^5.0.0"
+ }
+ }
+ }
+ },
+ "unist-util-stringify-position": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz",
+ "integrity": "sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==",
+ "requires": {
+ "@types/unist": "^2.0.0"
+ }
+ },
+ "unist-util-visit": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz",
+ "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0",
+ "unist-util-visit-parents": "^3.0.0"
+ }
+ },
+ "unist-util-visit-parents": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz",
+ "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-is": "^4.0.0"
+ }
+ },
+ "universalify": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz",
+ "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg=="
+ },
+ "update-browserslist-db": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+ "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "requires": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ }
+ },
+ "uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "requires": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "url-parse": {
+ "version": "1.5.10",
+ "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz",
+ "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==",
+ "requires": {
+ "querystringify": "^2.1.1",
+ "requires-port": "^1.0.0"
+ }
+ },
+ "use-callback-ref": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.0.tgz",
+ "integrity": "sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==",
+ "requires": {
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-sidecar": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz",
+ "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==",
+ "requires": {
+ "detect-node-es": "^1.1.0",
+ "tslib": "^2.0.0"
+ }
+ },
+ "use-subscription": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/use-subscription/-/use-subscription-1.5.1.tgz",
+ "integrity": "sha512-Xv2a1P/yReAjAbhylMfFplFKj9GssgTwN7RlcTxBujFQcloStWNDQdc4g4NRWH9xS4i/FDk04vQBptAXoF3VcA==",
+ "requires": {
+ "object-assign": "^4.1.1"
+ }
+ },
+ "util-deprecate": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
+ "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
+ },
+ "uvu": {
+ "version": "0.5.6",
+ "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz",
+ "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==",
+ "requires": {
+ "dequal": "^2.0.0",
+ "diff": "^5.0.0",
+ "kleur": "^4.0.3",
+ "sade": "^1.7.3"
+ }
+ },
+ "v8-compile-cache": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz",
+ "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==",
+ "dev": true
+ },
+ "vfile": {
+ "version": "4.2.1",
+ "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz",
+ "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "is-buffer": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0",
+ "vfile-message": "^2.0.0"
+ },
+ "dependencies": {
+ "unist-util-stringify-position": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz",
+ "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==",
+ "requires": {
+ "@types/unist": "^2.0.2"
+ }
+ },
+ "vfile-message": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz",
+ "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^2.0.0"
+ }
+ }
+ }
+ },
+ "vfile-location": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz",
+ "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA=="
+ },
+ "vfile-message": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.2.tgz",
+ "integrity": "sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==",
+ "requires": {
+ "@types/unist": "^2.0.0",
+ "unist-util-stringify-position": "^3.0.0"
+ }
+ },
+ "w3c-hr-time": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz",
+ "integrity": "sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==",
+ "requires": {
+ "browser-process-hrtime": "^1.0.0"
+ }
+ },
+ "w3c-xmlserializer": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz",
+ "integrity": "sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA==",
+ "requires": {
+ "xml-name-validator": "^3.0.0"
+ }
+ },
+ "web-namespaces": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-1.1.4.tgz",
+ "integrity": "sha512-wYxSGajtmoP4WxfejAPIr4l0fVh+jeMXZb08wNc0tMg6xsfZXj3cECqIK0G7ZAqUq0PP8WlMDtaOGVBTAWztNw=="
+ },
+ "webidl-conversions": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz",
+ "integrity": "sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w=="
+ },
+ "whatwg-encoding": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz",
+ "integrity": "sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==",
+ "requires": {
+ "iconv-lite": "0.4.24"
+ }
+ },
+ "whatwg-mimetype": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz",
+ "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g=="
+ },
+ "whatwg-url": {
+ "version": "8.7.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-8.7.0.tgz",
+ "integrity": "sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg==",
+ "requires": {
+ "lodash": "^4.7.0",
+ "tr46": "^2.1.0",
+ "webidl-conversions": "^6.1.0"
+ }
+ },
+ "which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "requires": {
+ "isexe": "^2.0.0"
+ }
+ },
+ "word-wrap": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz",
+ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ=="
+ },
+ "wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
+ "dev": true
+ },
+ "ws": {
+ "version": "7.5.9",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
+ "integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q=="
+ },
+ "xml-name-validator": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-3.0.0.tgz",
+ "integrity": "sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw=="
+ },
+ "xmlchars": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz",
+ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw=="
+ },
+ "xtend": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
+ },
+ "yaml": {
+ "version": "1.10.2",
+ "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
+ "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
+ },
+ "yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="
+ },
+ "zen-observable": {
+ "version": "0.8.15",
+ "resolved": "https://registry.npmjs.org/zen-observable/-/zen-observable-0.8.15.tgz",
+ "integrity": "sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ=="
+ },
+ "zen-observable-ts": {
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz",
+ "integrity": "sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg==",
+ "requires": {
+ "zen-observable": "0.8.15"
+ }
+ },
+ "zwitch": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz",
+ "integrity": "sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw=="
+ }
+ }
+}
diff --git a/apps/temp-docs/package.json b/apps/temp-docs/package.json
index 33890db73b0..16a4b5a0822 100644
--- a/apps/temp-docs/package.json
+++ b/apps/temp-docs/package.json
@@ -6,40 +6,74 @@
"dev": "next dev --port 3001",
"build": "next build",
"start": "next start",
- "lint": "next lint"
+ "lint": "next lint",
+ "generate:all": "npm-run-all --parallel gen:api gen:cli gen:gotrue gen:storage gen:supabase-dart:v0 gen:supabase-dart:v1 gen:supabase-js:v1 gen:supabase-js:v2",
+ "gen:api": "npm-run-all gen:api:usage",
+ "gen:api:usage": "ts-node ./generator/index.ts gen --type api --url https://api.supabase.com --input ../../spec/transforms/api_v0_openapi_deparsed.json --output ./_api/usage.mdx",
+ "gen:cli": "npm-run-all gen:cli:commands gen:cli:config",
+ "gen:cli:commands": "ts-node ./generator/index.ts gen --type cli --input ../../spec/cli_v1_commands.yaml --output ./_cli/generated/usage.mdx ",
+ "gen:cli:config": "ts-node ./generator/index.ts gen --type config --input ../../spec/cli_v1_config.yaml --output ./_cli/generated/config.mdx",
+ "gen:gotrue": "npm-run-all gen:gotrue:config gen:gotrue:usage",
+ "gen:gotrue:config": "ts-node ./generator/index.ts gen --type config --input ../../spec/gotrue_v1_config.yaml --output ./_gotrue/config.mdx",
+ "gen:gotrue:usage": "ts-node ./generator/index.ts gen --type api --input ../../spec/transforms/auth_v1_openapi_deparsed.json --output ./_gotrue/usage.mdx",
+ "gen:storage": "npm-run-all gen:storage:api gen:storage:config",
+ "gen:storage:api": "ts-node ./generator/index.ts gen --type api --input ../../spec/transforms/storage_v0_openapi_deparsed.json --output ./_storage/generated/usage.mdx",
+ "gen:storage:config": "ts-node ./generator/index.ts gen --type config --input ../../spec/storage_v0_config.yaml --output ./_storage/generated/config.mdx",
+ "gen:supabase-dart:v0": "npm-run-all gen:supabase-dart:v0:ref",
+ "gen:supabase-dart:v0:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_dart_v0.yml --output ./_supabase_dart_versioned_docs/version-v0/generated",
+ "gen:supabase-dart:v1": "npm-run-all gen:supabase-dart:v1:ref",
+ "gen:supabase-dart:v1:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_dart_v1.yml --output ./_supabase_dart/generated",
+ "gen:supabase-js:v1": "npm-run-all gen:supabase-js:v1:ref",
+ "gen:supabase-js:v1:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_js_v1.yml --output ./_supabase_js_versioned_docs/version-v1/generated",
+ "gen:supabase-js:v2": "npm-run-all gen:supabase-js:v2:ref",
+ "gen:supabase-js:v2:ref": "ts-node ./generator/index.ts gen --type legacy --input ../../spec/supabase_js_v2.yml --output ./docs/reference/javascript/generated"
},
"dependencies": {
- "config": "*",
"@apollo/client": "^3.6.6",
+ "@docsearch/react": "1.0.0-alpha.27",
"@mdx-js/loader": "^1.6.22",
"@mdx-js/react": "^1.6.22",
"@next/mdx": "^12.0.4",
- "@supabase/ui": "v0.37.0-alpha.50",
+ "@radix-ui/react-accordion": "^1.0.1",
"@tailwindcss/typography": "^0.4.1",
+ "babel": "^6.23.0",
"common": "*",
+ "config": "*",
"graphql": "^16.5.0",
"gray-matter": "^4.0.3",
+ "jsrsasign": "^10.5.26",
+ "lodash": "^4.17.21",
"markdown-toc": "^1.2.0",
"next": "12.1.0",
+ "next-compose-plugins": "^2.2.1",
"next-mdx-remote": "^3.0.8",
"next-themes": "0.0.15",
+ "next-transpile-modules": "^9.0.0",
"react": "17.0.2",
"react-copy-to-clipboard": "^5.0.2",
"react-dom": "17.0.2",
"react-markdown": "^8.0.3",
"react-syntax-highlighter": "^15.3.1",
"remark": "^14.0.2",
+ "remark-admonitions": "^1.2.1",
"remark-html": "^15.0.0",
"remark-mdx": "^2.0.0-rc.2",
- "remark-prism": "^1.3.6"
+ "remark-prism": "^1.3.6",
+ "ui": "*"
},
"devDependencies": {
- "config": "*",
- "tsconfig": "*",
"@types/node": "^17.0.12",
"@types/react": "17.0.39",
+ "config": "*",
+ "ejs": "^3.1.8",
"eslint": "8.9.0",
+ "minimist": "^1.2.6",
"next-transpile-modules": "9.0.0",
+ "npm-run-all": "^4.1.5",
+ "openapi-types": "^12.0.2",
+ "sass": "^1.55.0",
+ "ts-node": "^10.9.1",
+ "tsconfig": "*",
"typescript": "^4.5.3"
}
}
diff --git a/apps/temp-docs/pages/[...slug].tsx b/apps/temp-docs/pages/[...slug].tsx
index 118126df727..018f615b9b1 100644
--- a/apps/temp-docs/pages/[...slug].tsx
+++ b/apps/temp-docs/pages/[...slug].tsx
@@ -1,39 +1,28 @@
-import { getAllDocs, getDocsBySlug } from '../lib/docs'
-import Layout from '../components/layouts/DocsLayout'
-import { serialize } from 'next-mdx-remote/serialize'
-import { MDXRemote } from 'next-mdx-remote'
import { MDXProvider } from '@mdx-js/react'
-import components from '../components/index'
-import menuItems from '../components/nav/menu-items.json'
import { useRouter } from 'next/router'
+import { MDXRemote } from 'next-mdx-remote'
+import { serialize } from 'next-mdx-remote/serialize'
+import components from '../components/index'
+import { menuItems } from '../components/Navigation/Nav.constants'
+import { getPageType } from '../lib/helpers'
+import { getAllDocs, getDocsBySlug } from '../lib/docs'
+import Layout from '~/layouts/Default'
// table of contents extractor
const toc = require('markdown-toc')
-export default function Doc({
- meta,
- content,
- toc,
-}: {
- meta: { title: string; description: string }
- content: any
- toc: any
-}) {
+interface Meta {
+ id: string
+ title: string
+ sidebar_label: string
+ hide_table_of_contents: boolean
+}
+
+export default function Doc({ meta, content, toc }: { meta: Meta; content: any; toc: any }) {
const { asPath } = useRouter()
- let page
- switch (asPath) {
- case '/guides':
- case '/guides/local-development':
- case /\/guides\/[a-zA-Z]*\/[a-zA-Z\-]*/.test(asPath) && asPath:
- page = 'Guides'
- break
- case asPath.includes('/reference') && asPath:
- page = 'Reference'
- break
- default:
- page = 'Docs'
- break
- }
+ const page = getPageType(asPath)
+
+ console.log('[slug]', { meta, asPath, page })
return (
// @ts-ignore
diff --git a/apps/temp-docs/pages/_app.tsx b/apps/temp-docs/pages/_app.tsx
index 227ea70b7a0..9c14a2a45ce 100644
--- a/apps/temp-docs/pages/_app.tsx
+++ b/apps/temp-docs/pages/_app.tsx
@@ -1,12 +1,16 @@
import React from 'react'
import type { AppProps } from 'next/app'
import { ThemeProvider } from '../components/Providers'
-import '../styles/main.css'
+import { SearchProvider } from '~/components/Search'
+import '../styles/main.scss'
+import '../styles/prism-okaidia.scss'
function MyApp({ Component, pageProps }: AppProps) {
return (
-
+
+
+
)
}
diff --git a/apps/temp-docs/pages/_document.tsx b/apps/temp-docs/pages/_document.tsx
index d6c12b699ae..f550928130a 100644
--- a/apps/temp-docs/pages/_document.tsx
+++ b/apps/temp-docs/pages/_document.tsx
@@ -1,15 +1,13 @@
-import Document, { Html, Head, Main, NextScript } from 'next/document'
+import { Html, Head, Main, NextScript } from 'next/document'
-export default class MyDocument extends Document {
- render() {
- return (
-
-
-
-
-
-
-
- )
- }
+export default function Document() {
+ return (
+
+
+
+
+
+
+
+ )
}
diff --git a/apps/temp-docs/pages/discussions/[id].tsx b/apps/temp-docs/pages/discussions/[id].tsx
deleted file mode 100644
index 958b319ca69..00000000000
--- a/apps/temp-docs/pages/discussions/[id].tsx
+++ /dev/null
@@ -1,287 +0,0 @@
-import { ApolloClient, createHttpLink, InMemoryCache, gql } from '@apollo/client'
-import { setContext } from '@apollo/client/link/context'
-import Layout from '../../components/layouts/Layout'
-import { IconArrowLeft, Badge, Button, IconArrowUp, IconCheck } from '@supabase/ui'
-import ReactMarkdown from 'react-markdown'
-import Image from 'next/image'
-import Link from 'next/link'
-
-export async function getServerSideProps(context: any) {
- const prams = context.params
-
- const httpLink = createHttpLink({
- uri: 'https://api.github.com/graphql',
- })
-
- const authLink = setContext((_, { Headers }) => {
- return {
- headers: {
- Headers,
- authorization: `Bearer ${process.env.GITHUB_ACCESS_TOKEN}`,
- },
- }
- })
-
- const client = new ApolloClient({
- link: authLink.concat(httpLink),
- cache: new InMemoryCache(),
- })
-
- const { data } = await client.query({
- query: gql`
- {
- repository(owner: "supabase", name: "supabase") {
- discussion(number: ${prams!.id}) {
- id
- number
- title
- upvoteCount
- body
- createdAt
- answer {
- isAnswer
- }
- author {
- url
- login
- avatarUrl
- }
- category {
- name
- }
- comments(first: 10) {
- totalCount
- nodes {
- id
- isAnswer
- replies(first: 10) {
- nodes {
- author {
- avatarUrl
- login
- url
- }
- body
- createdAt
- }
- totalCount
- }
- author {
- avatarUrl
- login
- url
- }
- body
- createdAt
- upvoteCount
- }
- }
- }
- }
- }
- `,
- })
-
- return {
- props: {
- data,
- prams,
- },
- }
-}
-
-const discussion = ({ data, prams }: any) => {
- const meta_description = 'Discuss Supabase with other developers and users.'
-
- const getTimeSinceCreated = (createdAt: string) => {
- const date = new Date(createdAt)
- const now = new Date()
- const timeSinceCreated = now.getTime() - date.getTime()
- const days = Math.floor(timeSinceCreated / (1000 * 60 * 60 * 24))
- const hours = Math.floor((timeSinceCreated % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
- const minutes = Math.floor((timeSinceCreated % (1000 * 60 * 60)) / (1000 * 60))
- const seconds = Math.floor((timeSinceCreated % (1000 * 60)) / 1000)
-
- if (days < 7) {
- if (days > 1) {
- return `${days} days ago`
- } else {
- if (hours > 1) {
- return `${hours} hours ago`
- } else {
- if (minutes > 1) {
- return `${minutes} minutes ago`
- } else {
- return `${seconds} seconds ago`
- }
- }
- }
- } else {
- return date.toLocaleDateString('en-US', {
- month: 'short',
- day: 'numeric',
- year: 'numeric',
- })
- }
- }
-
- return (
-
-
-
-
-
- {data.repository.discussion.title}
- #{data.repository.discussion.number}
-
-
-
- {data.repository.discussion.answer?.isAnswer ? 'Answered' : 'Unanswered'}
-
-
-
- {data.repository.discussion.author.login}
-
- {` started this conversation in ${data.repository.discussion.category.name}`}
-
-
-
-
-
-
- {data.repository.discussion.body}
-
-
-
- {data.repository.discussion.upvoteCount}
-
-
-
{`${data.repository.discussion.comments.totalCount} comments`}
-
- {data.repository.discussion.comments.nodes.map((comment: any) => {
- return (
-
-
0 ? 'rounded-t-lg' : 'rounded-lg'
- } ${comment.isAnswer === true ? 'border-brand-900' : 'border-scale-600'}`}
- >
-
-
- {comment.body}
-
-
- {comment.isAnswer === true && (
-
-
-
- )}
-
-
- {comment.upvoteCount}
-
-
-
- {comment.replies.totalCount > 0 && (
-
- {comment.replies.nodes.map((reply: any, i: number) => {
- const lastReply = i === comment.replies.nodes.length - 1
- return (
-
- )
- })}
-
- )}
-
- )
- })}
-
-
-
-
- )
-}
-
-export default discussion
diff --git a/apps/temp-docs/pages/discussions/index.tsx b/apps/temp-docs/pages/discussions/index.tsx
deleted file mode 100644
index fd3e8115b28..00000000000
--- a/apps/temp-docs/pages/discussions/index.tsx
+++ /dev/null
@@ -1,273 +0,0 @@
-import { ApolloClient, createHttpLink, InMemoryCache, gql } from '@apollo/client'
-import { setContext } from '@apollo/client/link/context'
-import Layout from '../../components/layouts/Layout'
-import { IconArrowUp, IconCheckCircle } from '@supabase/ui'
-import Image from 'next/image'
-import Link from 'next/link'
-import Pagination from '../../components/pagination'
-
-export async function getServerSideProps(context: { query: { page: number } }) {
- const Page: any = context.query?.page || 1
- const page: number = parseInt(Page)
-
- const httpLink = createHttpLink({
- uri: 'https://api.github.com/graphql',
- })
-
- const authLink = setContext((_, { Headers }) => {
- return {
- headers: {
- Headers,
- authorization: `Bearer ${process.env.GITHUB_ACCESS_TOKEN}`,
- },
- }
- })
-
- const client = new ApolloClient({
- link: authLink.concat(httpLink),
- cache: new InMemoryCache(),
- })
-
- const { data } = await client.query({
- query: gql`
- {
- repository(owner: "supabase", name: "supabase") {
- pinnedDiscussions(first: 3) {
- edges {
- node {
- id
- discussion {
- id
- number
- title
- author {
- url
- avatarUrl
- login
- }
- category {
- id
- emoji
- name
- }
- }
- }
- }
- totalCount
- }
- discussions(first: ${page}0) {
- nodes {
- id
- number
- createdAt
- upvoteCount
- title
- body
- comments(first: 3) {
- totalCount
- nodes {
- id
- author {
- avatarUrl
- login
- }
- }
- }
- category {
- id
- name
- emoji
- }
- author {
- login
- url
- avatarUrl
- }
- answer {
- isAnswer
- author {
- avatarUrl
- login
- }
- }
- }
- totalCount
- }
- }
- }
- `,
- })
-
- return {
- props: {
- data,
- page,
- },
- }
-}
-
-const discussions = ({ data, page }: { data: any; page: number }) => {
- const meta_title = 'Discussions'
- const meta_description = 'Discuss Supabase with other developers and users.'
-
- // TODO: This was a quick hack to show emojis in discussions. should be replaced with a proper solution.
- const emojiInput = [':zap:', ':ship:', ':bulb:', ':question:', ':raised_hands:']
- const emojiOutput = ['⚡️', '🚢', '💡', '❓', '🙌']
-
- const getEmoji = (category: string) => {
- const index = emojiInput.indexOf(category)
- return emojiOutput[index]
- }
-
- const getTimeSinceCreated = (createdAt: string) => {
- const date = new Date(createdAt)
- const now = new Date()
- const timeSinceCreated = now.getTime() - date.getTime()
- const days = Math.floor(timeSinceCreated / (1000 * 60 * 60 * 24))
- const hours = Math.floor((timeSinceCreated % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60))
- const minutes = Math.floor((timeSinceCreated % (1000 * 60 * 60)) / (1000 * 60))
- const seconds = Math.floor((timeSinceCreated % (1000 * 60)) / 1000)
-
- if (days < 7) {
- if (days > 1) {
- return `${days} days ago`
- } else {
- if (hours > 1) {
- return `${hours} hours ago`
- } else {
- if (minutes > 1) {
- return `${minutes} minutes ago`
- } else {
- return `${seconds} seconds ago`
- }
- }
- }
- } else {
- return date.toLocaleDateString('en-US', {
- month: 'short',
- day: 'numeric',
- year: 'numeric',
- })
- }
- }
-
- return (
-
-
-
-
- {data.repository.pinnedDiscussions.edges.map((discussion: any) => {
- const item = discussion.node
- return (
-
- )
- })}
-
-
- {data.repository.discussions.nodes
- .slice(page * 10 - 10, page * 10)
- .map((discussion: any) => {
- return (
-
- )
- })}
-
-
-
-
- )
-}
-
-export default discussions
diff --git a/apps/temp-docs/pages/index.tsx b/apps/temp-docs/pages/index.tsx
index 1eabb91b43b..e5ab19cd79c 100644
--- a/apps/temp-docs/pages/index.tsx
+++ b/apps/temp-docs/pages/index.tsx
@@ -1,11 +1,11 @@
-import { getDocsBySlug } from '../lib/docs'
-import Layout from '../components/layouts/DocsLayout'
-import { serialize } from 'next-mdx-remote/serialize'
-import { MDXRemote } from 'next-mdx-remote'
import { MDXProvider } from '@mdx-js/react'
-import components from '../components'
-import menuItems from '../components/nav/menu-items.json'
+import { MDXRemote } from 'next-mdx-remote'
+import { serialize } from 'next-mdx-remote/serialize'
+import components from '~/components'
+import { menuItems } from '~/components/Navigation/Nav.constants'
+import Layout from '~/layouts/Default'
+import { getDocsBySlug } from '../lib/docs'
export default function Home({
meta,
content,
@@ -13,20 +13,18 @@ export default function Home({
meta: { title: string; description: string }
content: any
}) {
+ console.log({ menuItems }, 'index')
return (
-
+
)
}
-
export async function getStaticProps() {
const doc = getDocsBySlug('docs/introduction')
-
const content = await serialize(doc.content || '')
-
return {
props: {
...doc,
diff --git a/apps/temp-docs/public/img/libraries/api-icon.svg b/apps/temp-docs/public/img/libraries/api-icon.svg
new file mode 100644
index 00000000000..6a7a3b6f546
--- /dev/null
+++ b/apps/temp-docs/public/img/libraries/api-icon.svg
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/temp-docs/public/img/libraries/cli-icon.svg b/apps/temp-docs/public/img/libraries/cli-icon.svg
new file mode 100644
index 00000000000..6b2ea2fc2b2
--- /dev/null
+++ b/apps/temp-docs/public/img/libraries/cli-icon.svg
@@ -0,0 +1,19 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/apps/temp-docs/public/supabase-dark.svg b/apps/temp-docs/public/supabase-dark.svg
index d64e9d1a47a..9e96fab4ddc 100644
--- a/apps/temp-docs/public/supabase-dark.svg
+++ b/apps/temp-docs/public/supabase-dark.svg
@@ -1,23 +1,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/apps/temp-docs/public/supabase-light.svg b/apps/temp-docs/public/supabase-light.svg
index 47126efbdf5..60cbc71dc7c 100644
--- a/apps/temp-docs/public/supabase-light.svg
+++ b/apps/temp-docs/public/supabase-light.svg
@@ -1,23 +1,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
diff --git a/apps/temp-docs/styles/main.css b/apps/temp-docs/styles/main.css
deleted file mode 100644
index f949d8a60e2..00000000000
--- a/apps/temp-docs/styles/main.css
+++ /dev/null
@@ -1,51 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-:root {
- --sidebar-width: 300px;
-}
-
-body {
- @apply bg-white dark:bg-[#1c1c1c] !important;
- scroll-behavior: smooth;
-}
-
-::selection {
- background-color: #6ee7b7;
- color: #333 !important;
-}
-
-a {
- text-decoration: none !important;
-}
-
-article h1 {
- margin-bottom: 3rem !important;
- font-size: 3rem !important;
- font-weight: 400 !important;
-}
-
-.thin-scrollbar {
- scrollbar-width: thin;
-}
-
-.sidebar-width {
- width: var(--sidebar-width);
-}
-
-.docs-width {
- max-width: calc(100% - var(--sidebar-width));
-}
-
-.table-of-contents-height {
- max-height: calc(100vh - 3.75rem - 2rem);
- overflow-y: auto;
- position: sticky;
- top: calc(3.75rem + 1rem);
-}
-
-.width-full {
- width: 100% !important;
- max-width: max-content !important;
-}
diff --git a/apps/temp-docs/styles/main.scss b/apps/temp-docs/styles/main.scss
new file mode 100644
index 00000000000..5f706b6ca11
--- /dev/null
+++ b/apps/temp-docs/styles/main.scss
@@ -0,0 +1,693 @@
+@tailwind base;
+@tailwind components;
+@tailwind utilities;
+
+@font-face {
+ font-family: 'custom-font';
+ src: url(../../../packages/common/assets/fonts/CustomFont-Book.woff2) format('woff2'),
+ url(../../../packages/common/assets/fonts/CustomFont-Book.woff) format('woff');
+ font-weight: 400;
+ font-style: normal;
+}
+
+@font-face {
+ font-family: 'custom-font';
+ src: url(../../../packages/common/assets/fonts/CustomFont-Medium.woff2) format('woff2'),
+ url(../../../packages/common/assets/fonts/CustomFont-Medium.woff) format('woff');
+ font-weight: 500;
+ font-style: normal;
+}
+
+:root {
+ --sidebar-width: 300px;
+}
+
+body {
+ @apply bg-white dark:bg-[#1c1c1c] #{!important};
+ scroll-behavior: smooth;
+}
+
+::selection {
+ background-color: #6ee7b7;
+ color: #333 !important;
+}
+
+a {
+ text-decoration: none !important;
+}
+
+article h1 {
+ margin-bottom: 3rem !important;
+ font-size: 3rem !important;
+ font-weight: 400 !important;
+}
+
+.thin-scrollbar {
+ scrollbar-width: thin;
+}
+
+.sidebar-width {
+ width: var(--sidebar-width);
+}
+
+.docs-width {
+ max-width: calc(100% - var(--sidebar-width));
+}
+
+.table-of-contents-height {
+ max-height: calc(100vh - 3.75rem - 2rem);
+ overflow-y: auto;
+ position: sticky;
+ top: calc(3.75rem + 1rem);
+}
+
+.width-full {
+ width: 100% !important;
+ max-width: max-content !important;
+}
+
+/* search modal */
+
+.DocSearch--active {
+ @apply overflow-hidden #{!important};
+}
+
+.DocSearch-Container {
+ background: rgba(0, 0, 0, 0.3);
+ @apply fixed top-0 left-0 z-[200] flex h-screen w-screen flex-col p-4 backdrop-blur-sm sm:p-6 md:p-[10vh] lg:p-[12vh];
+}
+
+.DocSearch-LoadingIndicator svg {
+ @apply hidden;
+}
+
+.DocSearch-LoadingIndicator {
+ display: none;
+ width: 1.5rem;
+ height: 1.5rem;
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Ccircle cx='12' cy='12' r='9' stroke-width='2' stroke='%23cffafe' /%3E%3Cpath d='M3,12a9,9 0 1,0 18,0a9,9 0 1,0 -18,0' stroke-width='2' stroke='%2306b6d4' stroke-dasharray='56.5486677646' stroke-dashoffset='37.6991118431' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ background-size: 100% 100%;
+}
+
+.DocSearch-Container--Stalled .DocSearch-LoadingIndicator {
+ @apply block;
+}
+
+.DocSearch-Modal {
+ @apply dark:bg-scale-200 bg-scale-100;
+ margin: 0 auto;
+ width: 100%;
+ max-width: 47.375rem;
+ display: flex;
+ flex-direction: column;
+ min-height: 0;
+ border-radius: theme('borderRadius.lg');
+ box-shadow: theme('boxShadow.lg');
+}
+
+.DocSearch-SearchBar {
+ z-index: 1;
+ padding: 0 1rem;
+ @apply border-scale-400 relative flex flex-none items-center border-b;
+}
+
+.DocSearch-Form {
+ @apply flex min-w-0 flex-auto items-center;
+}
+
+.DocSearch-Dropdown-Container {
+ @apply pb-6;
+}
+
+.DocSearch-Dropdown {
+ @apply flex-auto overflow-auto;
+}
+
+.DocSearch-Hit--Result {
+ @apply relative mx-6;
+}
+
+.DocSearch-Hit--Result.DocSearch-Hit--Child {
+ @apply ml-12;
+}
+
+.DocSearch-Hit--Result.DocSearch-Hit--Child::before {
+ content: '';
+ position: absolute;
+ top: -0.25rem;
+ bottom: -0.25rem;
+ left: -1rem;
+ width: 1px;
+ background: theme('colors.scale.400');
+
+ // @apply dark:bg-slate-700;
+}
+
+.DocSearch-Hit > a {
+ position: relative;
+ font-size: 0.875rem;
+ // border-bottom: 1px solid theme('colors.slate.100');
+
+ // @apply dark:border-slate-200;
+}
+
+.DocSearch-Hit--Result {
+ // @apply border-b-0 #{!important};
+}
+
+.DocSearch-MagnifierLabel {
+ @apply h-6 w-6 flex-none;
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m19 19-3.5-3.5' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='11' cy='11' r='6' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m19 19-3.5-3.5' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='11' cy='11' r='6' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-MagnifierLabel svg {
+ display: none;
+}
+
+.DocSearch-Container--Stalled .DocSearch-MagnifierLabel {
+ display: none;
+}
+
+.DocSearch-Input {
+ @apply text-scale-1200 placeholder-scale-900;
+ appearance: none;
+ background: transparent;
+ height: 3.5rem;
+ font-size: 1rem;
+ margin-left: 0.75rem;
+ margin-right: 1rem;
+ flex: auto;
+ min-width: 0;
+ border: none;
+}
+
+@screen sm {
+ .DocSearch-Input {
+ font-size: 0.875rem;
+ }
+}
+
+.DocSearch-Input:focus {
+ outline: 2px dotted transparent;
+}
+
+.DocSearch-Input::-webkit-search-cancel-button,
+.DocSearch-Input::-webkit-search-decoration,
+.DocSearch-Input::-webkit-search-results-button,
+.DocSearch-Input::-webkit-search-results-decoration {
+ display: none;
+}
+
+.DocSearch-Reset {
+ display: none;
+}
+
+.DocSearch-Cancel {
+ appearance: none;
+ flex: none;
+ font-size: 0;
+ border-radius: 0.375rem;
+ padding: 0.25rem 0.375rem;
+ @apply ring-scale-900 hover:ring-scale-900 dark:bg-scale-600 shadow-sm ring-1 hover:shadow dark:ring-0;
+ width: 1.75rem;
+ height: 1.5rem;
+ /* esc */
+ background-image: url("data:image/svg+xml,%3Csvg width='16' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.506 6h3.931V4.986H1.736v-1.39h2.488V2.583H1.736V1.196h2.69V.182H.506V6ZM8.56 1.855h1.18C9.721.818 8.87.102 7.574.102c-1.276 0-2.21.705-2.205 1.762-.003.858.602 1.35 1.585 1.585l.634.159c.633.153.986.335.988.727-.002.426-.406.716-1.03.716-.64 0-1.1-.295-1.14-.878h-1.19c.03 1.259.931 1.91 2.343 1.91 1.42 0 2.256-.68 2.259-1.745-.003-.969-.733-1.483-1.744-1.71l-.523-.125c-.506-.117-.93-.304-.92-.722 0-.375.332-.65.934-.65.588 0 .949.267.994.724ZM15.78 2.219C15.618.875 14.6.102 13.254.102c-1.537 0-2.71 1.086-2.71 2.989 0 1.898 1.153 2.989 2.71 2.989 1.492 0 2.392-.992 2.526-2.063l-1.244-.006c-.117.623-.606.98-1.262.98-.883 0-1.483-.656-1.483-1.9 0-1.21.591-1.9 1.492-1.9.673 0 1.159.389 1.253 1.028h1.244Z' fill='%23334155'/%3E%3C/svg%3E");
+ background-position: center;
+ background-repeat: no-repeat;
+ background-size: 57.1428571429% auto;
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='16' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M.506 6h3.931V4.986H1.736v-1.39h2.488V2.583H1.736V1.196h2.69V.182H.506V6ZM8.56 1.855h1.18C9.721.818 8.87.102 7.574.102c-1.276 0-2.21.705-2.205 1.762-.003.858.602 1.35 1.585 1.585l.634.159c.633.153.986.335.988.727-.002.426-.406.716-1.03.716-.64 0-1.1-.295-1.14-.878h-1.19c.03 1.259.931 1.91 2.343 1.91 1.42 0 2.256-.68 2.259-1.745-.003-.969-.733-1.483-1.744-1.71l-.523-.125c-.506-.117-.93-.304-.92-.722 0-.375.332-.65.934-.65.588 0 .949.267.994.724ZM15.78 2.219C15.618.875 14.6.102 13.254.102c-1.537 0-2.71 1.086-2.71 2.989 0 1.898 1.153 2.989 2.71 2.989 1.492 0 2.392-.992 2.526-2.063l-1.244-.006c-.117.623-.606.98-1.262.98-.883 0-1.483-.656-1.483-1.9 0-1.21.591-1.9 1.492-1.9.673 0 1.159.389 1.253 1.028h1.244Z' fill='%2394a3b8'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Reset svg {
+ display: none;
+}
+
+.DocSearch-Hit-source {
+ line-height: 1.5rem;
+ font-weight: 400;
+ color: theme('colors.scale.900');
+ padding-top: 2.5rem;
+ margin: 0 1.5rem 1rem;
+}
+
+.DocSearch-Hits:first-child .DocSearch-Hit-source {
+ padding-top: 1.5rem;
+}
+
+.DocSearch-Hit-Container {
+ display: flex;
+ align-items: center;
+}
+
+.DocSearch-Hit-Tree {
+ display: none;
+}
+
+.DocSearch-Hit-icon {
+ display: none;
+}
+
+.DocSearch-Hit--Result .DocSearch-Hit-icon {
+ display: block;
+ flex: none;
+ margin-right: 1rem;
+ width: 1.5rem;
+ height: 1.5rem;
+ border-radius: theme('borderRadius.md');
+ /* hash icon */
+ background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%2394A3B8' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
+ background-repeat: no-repeat;
+ background-position: center center;
+
+ @apply ring-scale-300 bg-white shadow-sm ring-1 dark:bg-slate-700 dark:ring-0;
+}
+
+.DocSearch-Hit--Parent .DocSearch-Hit-icon {
+ /* book icon */
+ background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 0c1.093 0 2.117.27 3 .743V10a6.344 6.344 0 0 0-3-.743c-1.093 0-2.617.27-3.5.743V.743C.883.27 2.407 0 3.5 0Z' fill='%23BAE6FD'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.5 0c1.093 0 2.617.27 3.5.743V10c-.883-.473-2.407-.743-3.5-.743s-2.117.27-3 .743V.743a6.344 6.344 0 0 1 3-.743Z' fill='%2338BDF8'/%3E%3C/svg%3E");
+}
+
+.DocSearch-Hit-icon svg {
+ display: none;
+}
+
+.DocSearch-Hit-content-wrapper {
+ flex: auto;
+ display: flex;
+ flex-direction: column-reverse;
+ min-width: 0;
+ z-index: 1;
+}
+
+.DocSearch-Hit-path {
+ align-self: flex-start;
+ font-size: 0.75rem;
+ line-height: 1.5rem;
+ font-weight: 400;
+ color: theme('colors.scale.1100');
+ border-radius: 999px;
+ padding: 0 0.75rem;
+ @apply bg-scale-300 dark:bg-scale-500;
+}
+
+.DocSearch-Hit[aria-selected='true'] .DocSearch-Hit-icon {
+ // @apply bg-transparent shadow-none ring-1 ring-white/30 dark:ring-white/20;
+ // background-image: url("data:image/svg+xml,%3Csvg width='12' height='12' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.75 1v10M8.25 1v10M1 3.75h10M1 8.25h10' stroke='%23fff' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
+}
+
+.DocSearch-Hit[aria-selected='true'] .DocSearch-Hit--Parent .DocSearch-Hit-icon {
+ /* book icon */
+ // background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M3.5 0c1.093 0 2.117.27 3 .743V10a6.344 6.344 0 0 0-3-.743c-1.093 0-2.617.27-3.5.743V.743C.883.27 2.407 0 3.5 0Z' fill='%23fff'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M10.5 0c1.093 0 2.617.27 3.5.743V10c-.883-.473-2.407-.743-3.5-.743s-2.117.27-3 .743V.743a6.344 6.344 0 0 1 3-.743Z' fill='%23fff'/%3E%3C/svg%3E");
+}
+
+.DocSearch-Hit-title {
+ @apply text-scale-1100 dark:text-scale-1100 truncate leading-6;
+}
+
+.DocSearch-Hit-title + .DocSearch-Hit-path {
+ @apply mb-1;
+}
+
+.DocSearch-Hit-action {
+ @apply ml-3.5 flex-none;
+}
+
+.DocSearch-Hit--Result {
+ .DocSearch-Hit-action svg {
+ @apply hidden;
+ }
+
+ .DocSearch-Hit-action {
+ // @apply h-6 w-6;
+ // background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m11 9 3 3-3 3' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+
+ [aria-selected='true'] & .DocSearch-Hit-action {
+ // background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m11 9 3 3-3 3' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+
+ .DocSearch-Hit[aria-selected='true'] & .DocSearch-Hit-path {
+ // @apply bg-scale-400 dark:bg-scale-400;
+ }
+
+ .DocSearch-Hit[aria-selected='true'] & .DocSearch-Hit-title {
+ // @apply text-white;
+ }
+}
+
+.DocSearch-Hit-action-button {
+ @apply flex;
+}
+
+.DocSearch-Hit-action + .DocSearch-Hit-action {
+ @apply ml-2;
+}
+
+.DocSearch-Hit-action path {
+ stroke-width: 2px;
+ stroke: #71717a;
+}
+
+.DocSearch-Hit[aria-selected='true'] .DocSearch-Hit-action path {
+ stroke: white;
+}
+
+.DocSearch-Hit > a {
+ @apply block py-4 px-6;
+}
+
+.DocSearch-Hit--Result {
+ @apply py-3 px-4 #{!important};
+}
+
+.DocSearch-Hit {
+ @apply relative;
+}
+
+.DocSearch-Hit:first-child > a {
+ // @apply border-t border-slate-100 dark:border-slate-200;
+}
+
+.DocSearch-Hit--Result {
+ // @apply border-t-0 #{!important};
+}
+
+.DocSearch-Hit + .DocSearch-Hit .DocSearch-Hit--Result {
+ @apply mt-2;
+}
+
+.DocSearch-Hit--Result {
+ @apply dark:bg-scale-300 border-scale-400 rounded-lg border bg-white transition-all;
+}
+
+.DocSearch-Hit[aria-selected='true'] > a {
+ @apply bg-slate-50 dark:bg-slate-700;
+}
+
+.DocSearch-Hit[aria-selected='true'] .DocSearch-Hit--Result {
+ @apply bg-scale-200 dark:bg-scale-600;
+}
+
+.DocSearch-Hit--FirstChild::before {
+ @apply top-0 #{!important};
+}
+
+.DocSearch-Hit--LastChild::before {
+ @apply bottom-0 #{!important};
+}
+
+.DocSearch-Hits mark {
+ background: none;
+ @apply text-scale-1200 border-scale-900 border-b-2 font-semibold;
+}
+
+.DocSearch-Hit-path mark {
+ @apply border-0;
+}
+
+.DocSearch-Hit[aria-selected='true'] mark {
+ @apply text-scale-1200;
+ border-bottom-color: currentColor;
+}
+
+.DocSearch-Footer {
+ @apply flex flex-none justify-end border-t border-slate-100 py-4 px-6 dark:border-slate-200;
+}
+
+.DocSearch-Commands {
+ @apply hidden;
+}
+
+.DocSearch-Logo a {
+ @apply text-scale-900 flex items-center text-xs font-medium;
+}
+
+.DocSearch-Logo svg {
+ @apply text-scale-900 ml-3 text-[#5468ff];
+}
+
+.DocSearch-Hit--deleting,
+.DocSearch-Hit--favoriting {
+ opacity: 0;
+ transition: all 250ms linear;
+}
+
+.DocSearch-NoResults .DocSearch-Screen-Icon {
+ @apply hidden;
+}
+
+.DocSearch-Title {
+ @apply mb-10 text-lg leading-6;
+}
+
+.DocSearch-Title strong {
+ @apply text-slate-1200 dark:text-scale-1200 font-normal;
+}
+
+.DocSearch-StartScreen .DocSearch-Help {
+ @apply py-16 px-6 text-center text-slate-400;
+}
+
+.DocSearch-NoResults {
+ @apply px-4 pt-10 pb-8;
+}
+
+.DocSearch-NoResults .DocSearch-Title {
+ text-align: center;
+ color: theme('colors.scale.1100');
+}
+
+.DocSearch-NoResults-Prefill-List .DocSearch-Help {
+ @apply text-scale-900 dark:text-scale-200 mb-3 text-sm leading-6;
+}
+
+.DocSearch-NoResults-Prefill-List ul {
+ @apply border-scale-300 dark:border-scale-400 dark:bg-scale-300 overflow-hidden rounded-lg border bg-white;
+}
+
+.DocSearch-NoResults-Prefill-List button {
+ padding: 0.5rem 0.75rem;
+ display: block;
+ width: 100%;
+ text-align: left;
+ font-size: theme('fontSize.sm');
+ line-height: theme('lineHeight.6');
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m11 9 3 3-3 3' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ background-repeat: no-repeat;
+ background-position: right 0.75rem center;
+
+ @apply text-scale-900 hover:text-slate-1200 dark:bg-scale-300 hover:bg-scale-200 dark:hover:bg-scale-400 bg-white;
+}
+
+.DocSearch-NoResults-Prefill-List li + li button {
+ @apply border-scale-300 border-t dark:border-slate-400;
+}
+
+.DocSearch-NoResults-Prefill-List + .DocSearch-Help {
+ @apply mt-3 text-xs leading-6;
+}
+
+.DocSearch-NoResults-Prefill-List + .DocSearch-Help a {
+ @apply text-scale-900 dark:text-scale-900 font-semibold;
+}
+
+.DocSearch-Hit-action [data-cy] {
+ width: 1.5rem;
+ height: 1.5rem;
+}
+
+.DocSearch-Hit-action [data-cy] svg {
+ display: none;
+}
+
+.DocSearch-Hit-action [data-cy='fav-recent'] {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' stroke='%23CBD5E1' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Hit-action [data-cy='fav-recent']:hover {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' stroke='%230ea5e9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+}
+
+.DocSearch-Hit-action [data-cy='remove-recent'] {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Hit-action [data-cy='remove-recent']:hover {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Hit-action [data-cy='remove-fav']::before {
+ @apply pointer-events-none absolute inset-0 bg-sky-50 content-[''] dark:bg-slate-700;
+}
+
+.DocSearch-Hit[aria-selected='true'] [data-cy='remove-fav']::before {
+ @apply bg-sky-100 dark:bg-slate-700;
+}
+
+.DocSearch-Hit-action [data-cy='remove-fav']::after {
+ content: '';
+ position: absolute;
+ pointer-events: none;
+ width: calc(4.5rem + 1px);
+ height: 1.5rem;
+ margin-left: calc(-3rem - 1px);
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' fill='%230EA5E9' stroke='%230EA5E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='1' height='1' fill='%23e2e8f0' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2394A3B8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ background-repeat: no-repeat, repeat-y, no-repeat;
+ background-position: left, center, right;
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' fill='%230EA5E9' stroke='%230EA5E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='1' height='1' fill='%23e2e8f0' opacity='0.05' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Hit-action [data-cy='remove-fav']:hover::after {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' fill='%230EA5E9' stroke='%230EA5E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='1' height='1' fill='%23e2e8f0' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%23475569' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+
+ .dark & {
+ background-image: url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m12 5 2 5h5l-4 4 2 5-5-3-5 3 2-5-4-4h5l2-5Z' fill='%230EA5E9' stroke='%230EA5E9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='1' height='1' fill='%23e2e8f0' opacity='0.05' xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='1' height='1'/%3E%3C/svg%3E"),
+ url("data:image/svg+xml,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17 7 7 17M7 7l10 10' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
+ }
+}
+
+.DocSearch-Hit-action + .DocSearch-Hit-action {
+ // @apply ml-3 border-l border-slate-200 pl-3 dark:border-slate-200;
+}
+
+.p:not(.prose *):not(.overwrite) {
+ @apply text-scale-1100;
+ margin-bottom: 16px;
+}
+
+.small:not(.prose *):not(.overwrite) {
+ @apply text-scale-900 text-xs;
+}
+
+code[class*='language-'],
+pre[class*='language-'] {
+ text-shadow: none !important;
+}
+
+// Spec doc specifics ported from docusaurus
+// @TODO these should be converted to Tailwind classes
+.method-list-group {
+ list-style: none;
+ padding: 0;
+ margin: 0;
+}
+.method-list-group li {
+ border-top: 1px solid var(--custom-border-color);
+ padding-top: 12px;
+}
+.method-list-group li:last-child {
+ border-bottom: 1px solid var(--custom-border-color);
+}
+
+.method-list-title-isChild {
+ font-family: var(--custom-font-size-xs);
+ & h5 {
+ font-weight: 200;
+ }
+}
+
+h4.method-list-item-label {
+ display: flex;
+ align-items: center;
+ gap: 0.5rem;
+}
+
+h4.method-list-item-label .method-list-item-label-name {
+ font-family: var(--ifm-font-family-monospace);
+ font-weight: 700;
+ font-size: var(--custom-font-size-sm);
+ color: var(--ifm-font-color-base);
+ padding: var(--ifm-code-padding-vertical) 0;
+}
+
+h4.method-list-item-label .method-list-item-label-badge {
+ overflow-wrap: anywhere;
+ font-family: var(--ifm-font-family-monospace);
+ color: var(--ifm-font-color-base);
+ font-size: var(--custom-font-size-xs);
+ padding: 0 5px;
+ font-weight: 300;
+ padding: var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal);
+}
+h4.method-list-item-label .method-list-item-validation {
+ font-family: var(--ifm-font-family-monospace);
+ font-size: var(--custom-font-size-xs);
+ font-weight: 300;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 6px;
+
+ code {
+ padding: 1px 6px;
+ border-radius: 4px;
+ background-color: var(--custom-background-color-diff-1);
+ color: var(--ifm-font-color-base);
+ }
+}
+
+.method-list-item-description p {
+ color: var(--custom-content-color-light);
+ font-size: var(--custom-font-size-sm);
+}
+
+.method-list-group .method-list-group {
+ border: 1px solid var(--custom-border-color);
+ border-radius: 8px;
+ margin-bottom: 20px;
+ max-width: 600px;
+}
+.method-list-group .method-list-group li {
+ padding: 12px;
+ border-bottom: none;
+}
+.method-list-title {
+ margin: 0;
+ padding: 6px 12px;
+}
+.method-list-group .method-list-group li div,
+.method-list-group .method-list-group li h4,
+.method-list-group .method-list-group li p {
+ padding: 0;
+ margin: 0;
+}
+.method-list-group .method-list-group li h4 {
+ margin-bottom: 4px;
+}
+
+// These should move to their own components
+// wasn't able to get an import path working
+.parent-menu-toggle.active {
+ svg {
+ transform: rotate(90deg);
+ }
+}
diff --git a/apps/temp-docs/styles/prism-okaidia.scss b/apps/temp-docs/styles/prism-okaidia.scss
new file mode 100644
index 00000000000..85299e748c0
--- /dev/null
+++ b/apps/temp-docs/styles/prism-okaidia.scss
@@ -0,0 +1,123 @@
+/**
+ * okaidia theme for JavaScript, CSS and HTML
+ * Loosely based on Monokai textmate theme by http://www.monokai.nl/
+ * @author ocodia
+ */
+
+code[class*='language-'],
+pre[class*='language-'] {
+ color: #555;
+ text-shadow: 0 1px rgba(0, 0, 0, 0.3);
+ font-family: Consolas, Monaco, 'Andale Mono', monospace;
+ direction: ltr;
+ text-align: left;
+ white-space: pre;
+ word-spacing: normal;
+ word-break: normal;
+ line-height: 1.5;
+
+ -moz-tab-size: 4;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-hyphens: none;
+ -ms-hyphens: none;
+ hyphens: none;
+
+ .dark & {
+ color: #f8f8f2;
+ }
+}
+
+/* Code blocks */
+pre[class*='language-'] {
+ padding: 1em;
+ margin: 0.5em 0;
+ overflow: auto;
+ border-radius: 0.3em;
+}
+
+:not(pre) > code[class*='language-'],
+pre[class*='language-'] {
+ background: #272822;
+}
+
+/* Inline code */
+:not(pre) > code[class*='language-'] {
+ padding: 0.1em;
+ border-radius: 0.3em;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+ color: slategray;
+}
+
+.token.punctuation {
+ color: #f8f8f2;
+}
+
+.namespace {
+ opacity: 0.7;
+}
+
+.token.property,
+.token.tag,
+.token.constant,
+.token.symbol,
+.token.deleted {
+ color: #f92672;
+}
+
+.token.boolean,
+.token.number {
+ color: #ae81ff;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+ color: #a6e22e;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string,
+.token.variable {
+ color: #f8f8f2;
+}
+
+.token.atrule,
+.token.attr-value,
+.token.function {
+ color: #e6db74;
+}
+
+.token.keyword {
+ color: #66d9ef;
+}
+
+.token.regex,
+.token.important {
+ color: #fd971f;
+}
+
+.token.important,
+.token.bold {
+ font-weight: bold;
+}
+.token.italic {
+ font-style: italic;
+}
+
+.token.entity {
+ cursor: help;
+}
diff --git a/apps/temp-docs/tsconfig.json b/apps/temp-docs/tsconfig.json
index a355365ba65..53c59dc60b8 100644
--- a/apps/temp-docs/tsconfig.json
+++ b/apps/temp-docs/tsconfig.json
@@ -1,5 +1,25 @@
{
- "extends": "tsconfig/nextjs.json",
+ "compilerOptions": {
+ "incremental": true,
+ "noImplicitAny": false,
+ "baseUrl": ".",
+ "paths": {
+ "~/*": ["./*"]
+ },
+ "target": "es5",
+ "lib": ["dom", "dom.iterable", "esnext"],
+ "allowJs": true,
+ "skipLibCheck": true,
+ "strict": false,
+ "forceConsistentCasingInFileNames": true,
+ "noEmit": true,
+ "esModuleInterop": true,
+ "moduleResolution": "node",
+ "resolveJsonModule": true,
+ "isolatedModules": true,
+ "jsx": "preserve",
+ "module": "esnext"
+ },
"include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"exclude": ["node_modules"]
}
diff --git a/apps/www/_blog/2021-03-30-supabase-storage.mdx b/apps/www/_blog/2021-03-30-supabase-storage.mdx
index 8cff18768c4..28d73490665 100644
--- a/apps/www/_blog/2021-03-30-supabase-storage.mdx
+++ b/apps/www/_blog/2021-03-30-supabase-storage.mdx
@@ -24,14 +24,14 @@ There are three key components to Supabase Storage:
- Middleware (access and permissions). This consists of an API Server and Postgres.
- Frontend (a nice UI).
-
-
The Storage API server sits behind Kong, an API Gateway. It talks to different storage backends like S3, Backblaze, etc to retrieve and store objects.
Object metadata and security rules are stored in your Postgres database.
We have built a powerful file explorer right into the dashboard, and using our Client libraries you can integrate Storage into your applications.
+
+
## Frontend
We set out to build the most usable front-end for storing content. Using Lists to display file hierarchies is a poor experience for exploring files - the most common use-case of a shared File system.
@@ -54,7 +54,7 @@ And if you already know the location of a file but want to save a few clicks, yo
We focused on performance, security and interoperability with the rest of the Supabase ecosystem.
-### **Integration with the Supabase ecosystem**
+### Integration with the Supabase ecosystem
Supabase is a [collection of open source tools](/docs#how-it-works) which integrate very well with each other. We evaluated open source object storage servers like [Ceph](https://ceph.io/), [Swift](https://www.openstack.org/software/releases/ocata/components/swift), [Minio](https://min.io/) and [Zenko](https://github.com/scality/Zenko) but none of these tools were a good fit for our existing ecosystem.
diff --git a/apps/www/_blog/2021-03-31-supabase-cli.mdx b/apps/www/_blog/2021-03-31-supabase-cli.mdx
index 140a414ebcf..51cfaf6e55d 100644
--- a/apps/www/_blog/2021-03-31-supabase-cli.mdx
+++ b/apps/www/_blog/2021-03-31-supabase-cli.mdx
@@ -10,7 +10,7 @@ tags:
date: '03-31-2021'
---
-**UPDATE 15/08/2022:** [Supabase CLI V1 is Generally Available](/blog/supabase-cli-v1-and-admin-api-beta) and we also released an Admin API (in beta).
+**UPDATE 15/08/2022:** [Supabase CLI V1 is Generally Available](/blog/supabase-cli-v1-and-admin-api-beta) and we also released a Management API (in beta).
Today is Day 3 of [Launch Week](/blog/launch-week), and as promised - we're releasing our CLI.
diff --git a/apps/www/_blog/2021-12-03-pg-graphql.mdx b/apps/www/_blog/2021-12-03-pg-graphql.mdx
index 54352d67423..6b605e7718a 100644
--- a/apps/www/_blog/2021-12-03-pg-graphql.mdx
+++ b/apps/www/_blog/2021-12-03-pg-graphql.mdx
@@ -133,7 +133,7 @@ type AccountConnection {
Where `Query` type's `account` field selects a single account by its globally unique `ID` and `allAccounts` enables pagination via the [relay connections specification](https://relay.dev/graphql/connections.htm). Under the SQL hood, iterating through pages is handled using keyset pagination giving consistent retrieval times on every page.
-For a more complete examples with relationships, enums, and more exotic types check out the [reflection doc](https://supabase.github.io/pg_graphql/reflection).
+For a more complete examples with relationships, enums, and more exotic types check out the [API doc](https://supabase.github.io/pg_graphql/api).
### API
diff --git a/apps/www/_blog/2022-06-30-flutter-tutorial-building-a-chat-app.mdx b/apps/www/_blog/2022-06-30-flutter-tutorial-building-a-chat-app.mdx
index 42515bf3255..4b965fb176b 100644
--- a/apps/www/_blog/2022-06-30-flutter-tutorial-building-a-chat-app.mdx
+++ b/apps/www/_blog/2022-06-30-flutter-tutorial-building-a-chat-app.mdx
@@ -58,7 +58,7 @@ You should be able to now see the default counter app that every Flutter project
Open pubspec.yaml file and let's install a few dependencies of this app.
```yaml
-supabase_flutter: ^0.2.12
+supabase_flutter: ^1.0.0
timeago: ^3.1.0
```
@@ -151,6 +151,9 @@ const formSpacer = SizedBox(width: 16, height: 16);
/// Some padding for all the forms to use
const formPadding = EdgeInsets.symmetric(vertical: 20, horizontal: 16);
+/// Error message to display the user when unexpected error occurs.
+const unexpectedErrorMessage = 'Unexpected error occured.';
+
/// Basic theme to change the look and feel of the app
final appTheme = ThemeData.light().copyWith(
primaryColorDark: Colors.orange,
@@ -166,13 +169,13 @@ final appTheme = ThemeData.light().copyWith(
primaryColor: Colors.orange,
textButtonTheme: TextButtonThemeData(
style: TextButton.styleFrom(
- primary: Colors.orange,
+ foregroundColor: Colors.orange,
),
),
elevatedButtonTheme: ElevatedButtonThemeData(
style: ElevatedButton.styleFrom(
- onPrimary: Colors.white,
- primary: Colors.orange,
+ foregroundColor: Colors.white,
+ backgroundColor: Colors.orange,
),
),
inputDecorationTheme: InputDecorationTheme(
@@ -259,14 +262,15 @@ class MyApp extends StatelessWidget {
### Step 3: Redirect users depending on auth state using splash page
-When the user launches the app, we want to redirect those who have already signed in to the Chat page and those who have not signed in yet to the register page. In order to achieve this, we will create a splash page, which is just a page with a preloader at the middle from the user, but takes care of fetching auth state and redirects users accordingly behind the scenes. We are using the `onAuthenticated` and `onUnauthenticated` to redirect the user to the proper pages.
+When a user launches the app, we want to redirect those who have already signed in to the Chat page and those who have not signed in yet to the register page.
+In order to achieve this, we will create a splash page, which is just a page with a preloader at the middle from the user, but takes care of fetching auth state and redirects users accordingly behind the scenes.
+Within the `_redirect()` method, we are fetching the auth state and navigating the user accordingly.
```dart title="lib/pages/splash_page.dart"
import 'package:flutter/material.dart';
import 'package:my_chat_app/pages/chat_page.dart';
import 'package:my_chat_app/pages/register_page.dart';
import 'package:my_chat_app/utils/constants.dart';
-import 'package:supabase_flutter/supabase_flutter.dart';
/// Page to redirect users to the appropriate page depending on the initial auth state
class SplashPage extends StatefulWidget {
@@ -276,34 +280,31 @@ class SplashPage extends StatefulWidget {
SplashPageState createState() => SplashPageState();
}
-class SplashPageState extends SupabaseAuthState {
+class SplashPageState extends State {
@override
void initState() {
super.initState();
- recoverSupabaseSession();
+ _redirect();
+ }
+
+ Future _redirect() async {
+ // await for for the widget to mount
+ await Future.delayed(Duration.zero);
+
+ final session = supabase.auth.currentSession;
+ if (session == null) {
+ Navigator.of(context)
+ .pushAndRemoveUntil(RegisterPage.route(), (route) => false);
+ } else {
+ Navigator.of(context)
+ .pushAndRemoveUntil(ChatPage.route(), (route) => false);
+ }
}
@override
Widget build(BuildContext context) {
return const Scaffold(body: preloader);
}
-
- @override
- void onAuthenticated(Session session) {
- Navigator.of(context).pushAndRemoveUntil(ChatPage.route(), (_) => false);
- }
-
- @override
- void onUnauthenticated() {
- Navigator.of(context)
- .pushAndRemoveUntil(RegisterPage.route(), (_) => false);
- }
-
- @override
- void onErrorAuthenticating(String message) {}
-
- @override
- void onPasswordRecovery(Session session) {}
}
```
@@ -373,13 +374,18 @@ class Message {
### Step 5: Create register page with email, password and username
-Now that we have defined a few handy constants, it is time to dive into creating pages. The first page we will create is the register page. This page will take an email address, password, and username within a form widget. The username will be the primary identifier when users search for other users within the app. Once a user performs registration, they will be taken to the chat page. Let's create a `lib/pages/register_page.dart` file and paste the following code.
+Now that we have defined a few handy constants, it is time to dive into creating pages.
+The first page we will create is the register page.
+This page will take an email address, password, and username within a form widget.
+The username will be the primary identifier when users search for other users within the app.
+Once a user performs registration, they will be taken to the chat page. Let's create a `lib/pages/register_page.dart` file and paste the following code.
```dart title="lib/pages/register.dart"
import 'package:flutter/material.dart';
import 'package:my_chat_app/pages/chat_page.dart';
import 'package:my_chat_app/pages/login_page.dart';
import 'package:my_chat_app/utils/constants.dart';
+import 'package:supabase_flutter/supabase_flutter.dart';
class RegisterPage extends StatefulWidget {
const RegisterPage({Key? key, required this.isRegistering}) : super(key: key);
@@ -413,15 +419,16 @@ class _RegisterPageState extends State {
final email = _emailController.text;
final password = _passwordController.text;
final username = _usernameController.text;
- final res = await supabase.auth
- .signUp(email, password, userMetadata: {'username': username});
- final error = res.error;
- if (error != null) {
+ try {
+ await supabase.auth.signUp(
+ email: email, password: password, data: {'username': username});
+ Navigator.of(context)
+ .pushAndRemoveUntil(ChatPage.route(), (route) => false);
+ } on AuthException catch (error) {
context.showErrorSnackBar(message: error.message);
- return;
+ } catch (error) {
+ context.showErrorSnackBar(message: unexpectedErrorMessage);
}
- Navigator.of(context)
- .pushAndRemoveUntil(ChatPage.route(), (route) => false);
}
@override
@@ -504,7 +511,12 @@ class _RegisterPageState extends State {
If you look at the validator function of the username field, you notice that we are enforcing the same regular expression check as what we defined in our table definition of profiles.
-If you take a closer look at the `_signup()` method, you notice that the username is passed as a userMetadata. We will need to copy this username into our profiles table so that other users can find you. In order to do this, we will utilize a [Postgres function](https://supabase.com/docs/guides/database/functions) and Postgres trigger. Run the following SQL to create a Postgres function that will automatically run when a new user signs up to our application. Since we have set a unique constraint on the username column of our profiles table, the sign up will fail if a user chooses a username that is already taken.
+If you take a closer look at the `_signup()` method, you notice that the username is passed as a `data`.
+By passing `data` to your sign up method, you can populate the meta data field of your authenticated users.
+We will need to copy this username into our profiles table so that other users can find you.
+In order to do this, we will utilize a [Postgres function](https://supabase.com/docs/guides/database/functions) and Postgres trigger.
+Run the following SQL to create a Postgres function that will automatically run when a new user signs up to our application.
+Since we have set a unique constraint on the username column of our profiles table, the sign up will fail if a user chooses a username that is already taken.
```sql
-- Function to create a new row in profiles table upon signup
@@ -525,18 +537,23 @@ create trigger on_auth_user_created
execute function handle_new_user();
```
-Also, Supabase has email confirmation turned on by default, meaning that every time someone signs up, they have to click the confirmation link they receive in their email. This is ideal for a production app, but for our sample app, we can turn it off since we want to get up and running with building a functioning chat app. We will cover secure authentications using Supabase in later articles. Go to authentication → settings and turn off the switch of `Enable email confirmations`.
+Also, Supabase has email confirmation turned on by default, meaning that every time someone signs up, they have to click the confirmation link they receive in their email.
+This is ideal for a production app, but for our sample app, we can turn it off since we want to get up and running with building a functioning chat app.
+We will cover secure authentications using Supabase in later articles.
+Go to authentication → settings and turn off the switch of `Enable email confirmations`.

### Step 6: Create login page
-Login page will also be a simple page with an email and password field. Once they have signed in, the user will be taken to the rooms page.
+Login page will also be a simple page with an email and password field.
+Once they have signed in, the user will be taken to the rooms page.
```dart title="lib/pages/login_page.dart"
import 'package:flutter/material.dart';
import 'package:my_chat_app/pages/chat_page.dart';
import 'package:my_chat_app/utils/constants.dart';
+import 'package:supabase_flutter/supabase_flutter.dart';
class LoginPage extends StatefulWidget {
const LoginPage({Key? key}) : super(key: key);
@@ -558,16 +575,23 @@ class _LoginPageState extends State {
setState(() {
_isLoading = true;
});
- final response = await supabase.auth.signIn(
- email: _emailController.text,
- password: _passwordController.text,
- );
- final error = response.error;
- if (error != null) {
+ try {
+ await supabase.auth.signInWithPassword(
+ email: _emailController.text,
+ password: _passwordController.text,
+ );
+ Navigator.of(context)
+ .pushAndRemoveUntil(ChatPage.route(), (route) => false);
+ } on AuthException catch (error) {
context.showErrorSnackBar(message: error.message);
+ } catch (_) {
+ context.showErrorSnackBar(message: unexpectedErrorMessage);
+ }
+ if (mounted) {
+ setState(() {
+ _isLoading = true;
+ });
}
- Navigator.of(context)
- .pushAndRemoveUntil(ChatPage.route(), (route) => false);
}
@override
@@ -609,7 +633,12 @@ class _LoginPageState extends State {
### Step 7: Create a chat page to receive and send real time messages
-Last, we create the Chat page. This page will load the messages in real time and display them to the users. Users will also be able to send messages to everyone else using the app. We are using the [stream()](https://supabase.com/docs/reference/dart/stream) method on Supabase SDK to load the messages in realtime. As those messages come in, we are lazily loading the profiles of each message’s sender. We will display the user icon as soon as their profile data is available.
+Last, we create the Chat page.
+This page will load the messages in real time and display them to the users.
+Users will also be able to send messages to everyone else using the app.
+We are using the [stream()](https://supabase.com/docs/reference/dart/stream) method on Supabase SDK to load the messages in realtime.
+As those messages come in, we are lazily loading the profiles of each message’s sender.
+We will display the user icon as soon as their profile data is available.
```dart title="lib/pages/chat_page.dart"
import 'dart:async';
@@ -619,6 +648,7 @@ import 'package:flutter/material.dart';
import 'package:my_chat_app/models/message.dart';
import 'package:my_chat_app/models/profile.dart';
import 'package:my_chat_app/utils/constants.dart';
+import 'package:supabase_flutter/supabase_flutter.dart';
import 'package:timeago/timeago.dart';
/// Page to chat with someone.
@@ -646,9 +676,8 @@ class _ChatPageState extends State {
final myUserId = supabase.auth.currentUser!.id;
_messagesStream = supabase
.from('messages')
- .stream(['id'])
+ .stream(primaryKey: ['id'])
.order('created_at')
- .execute()
.map((maps) => maps
.map((map) => Message.fromMap(map: map, myUserId: myUserId))
.toList());
@@ -659,19 +688,12 @@ class _ChatPageState extends State {
if (_profileCache[profileId] != null) {
return;
}
- final res = await supabase
- .from('profiles')
- .select()
- .match({'id': profileId})
- .single()
- .execute();
- final data = res.data;
- if (data != null) {
- final profile = Profile.fromMap(data);
- setState(() {
- _profileCache[profileId] = profile;
- });
- }
+ final data =
+ await supabase.from('profiles').select().eq('id', profileId).single();
+ final profile = Profile.fromMap(data);
+ setState(() {
+ _profileCache[profileId] = profile;
+ });
}
@override
@@ -786,14 +808,15 @@ class _MessageBarState extends State<_MessageBar> {
return;
}
_textController.clear();
-
- final res = await supabase.from('messages').insert({
- 'profile_id': myUserId,
- 'content': text,
- }).execute();
- final error = res.error;
- if (error != null) {
+ try {
+ await supabase.from('messages').insert({
+ 'profile_id': myUserId,
+ 'content': text,
+ });
+ } on PostgrestException catch (error) {
context.showErrorSnackBar(message: error.message);
+ } catch (_) {
+ context.showErrorSnackBar(message: unexpectedErrorMessage);
}
}
}
@@ -863,6 +886,6 @@ If you have any questions please reach out via [Twitter](https://twitter.com/dsh
## More Flutter Resources
- [Flutter Supabase Quick Starter Guide](https://supabase.com/docs/guides/with-flutter)
-- [Quickly prototype your app using DartPad](https://dartpad.dev/)
+- [supabase-flutter v1.0 released](https://supabase.com/blog/supabase-flutter-sdk-v1-released)
- [Open source map based Flutter app with CI/CD and scalable statemanagement example](https://github.com/dshukertjr/spot)
- [Build a Flutter app with Very Good CLI and Supabase](https://verygood.ventures/blog/flutter-app-very-good-cli-supabase)
diff --git a/apps/www/_blog/2022-08-12-supabase-series-b.mdx b/apps/www/_blog/2022-08-12-supabase-series-b.mdx
index b93da110fdd..24893bdbec3 100644
--- a/apps/www/_blog/2022-08-12-supabase-series-b.mdx
+++ b/apps/www/_blog/2022-08-12-supabase-series-b.mdx
@@ -183,8 +183,8 @@ If you're already working towards the same goals, reach out and let's do it toge
Launch Week 5 is starting Monday 15th August, we will launch one new feature every day for a week. If you want to follow along check out [supabase.com/launch-week](https://supabase.com/launch-week).
- [Launch Week 5 Hackathon](https://supabase.com/blog/launch-week-5-hackathon)
-- [Day 1 - Supabase CLI v1 and Admin API Beta](https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta)
-- [Youtube video - Supabase CLI v1 and Admin API Beta](https://www.youtube.com/watch?v=OpPOaJI_Z28&feature=emb_title)
+- [Day 1 - Supabase CLI v1 and Management API Beta](https://supabase.com/blog/supabase-cli-v1-and-admin-api-beta)
+- [Youtube video - Supabase CLI v1 and Management API Beta](https://www.youtube.com/watch?v=OpPOaJI_Z28&feature=emb_title)
- [Day 2 - supabase-js v2 Release Candidate](https://supabase.com/blog/supabase-js-v2)
- [Youtube Video - supabase-js v2 Release Candidate](https://www.youtube.com/watch?v=iqZlPtl_b-I)
- [Day 3 - Supabase is SOC2 compliant](https://supabase.com/blog/supabase-soc2)
diff --git a/apps/www/_blog/2022-08-15-supabase-cli-v1-and-admin-api-beta.mdx b/apps/www/_blog/2022-08-15-supabase-cli-v1-and-admin-api-beta.mdx
index 17820c367b3..1b554f476c6 100644
--- a/apps/www/_blog/2022-08-15-supabase-cli-v1-and-admin-api-beta.mdx
+++ b/apps/www/_blog/2022-08-15-supabase-cli-v1-and-admin-api-beta.mdx
@@ -1,6 +1,6 @@
---
-title: 'Supabase CLI v1 and Admin API Beta'
-description: We are moving Supabase CLI v1 out of beta, and releasing Admin API beta.
+title: 'Supabase CLI v1 and Management API Beta'
+description: We are moving Supabase CLI v1 out of beta, and releasing Management API beta.
author: soedirgo,qiao
image: lw5-cli/thumbnail.jpg
thumb: lw5-cli/thumbnail.jpg
@@ -12,7 +12,9 @@ toc_depth: 3
Today we are moving the Supabase CLI v1 out of beta. The Supabase CLI is capable of managing database migrations and generating TypeScript types. Follow these [install instructions](https://supabase.com/docs/guides/cli) to get started.
-In addition, we are releasing an Admin API (in beta). The Admin API is a REST API that allows you to manage organizations, projects, Edge Functions, and more. You can read the [API docs](https://supabase.com/docs/reference/api) or interact with the Admin API from the Supabase CLI v1.
+In addition, we are releasing a Management API (in beta). The Management API is a REST API that allows you to manage organizations, projects, Edge Functions, and more. You can read the [API docs](https://supabase.com/docs/reference/api) or interact with the Management API from the Supabase CLI v1.
+
+(Note: The Management API was previously called the Admin API.)