From 76a16aa131661656e26e81db2a55b935a14389dd Mon Sep 17 00:00:00 2001 From: Shahed Nasser Date: Thu, 3 Nov 2022 18:59:46 +0200 Subject: [PATCH] docs: redesigned documentation (#2539) * docs: redesigned navigation bar (#2478) * docs: redesigned homepage (#2480) * docs: redesigned homepage * fixed link * docs: redesigned notes (#2491) * docs: Applied Typography redesign rules (#2516) * changes to typography * small changes and fixes * docs: redesigned table of content (#2518) * redesigning toc * finalized table of content design * docs: redesigned code blocks (#2519) * docs: redesigned code blocks * removed unused package * docs: redesigned survey and content footer (#2522) * fixes to inline code * redesigned doc footer * docs: redesigned footer (#2523) * docs: changed dark mode colors (#2524) * docs: redesigned sidebar (#2535) * docs: redesigned search modal (#2537) * docs: resolved loose ends (#2538) * added spacing for tabs * docs: added no-zoom class for deploy images * fix to tooltip design for inline code --- docs/content/admin/quickstart.md | 4 +- docs/content/advanced/admin/import-prices.mdx | 8 +- .../advanced/admin/import-products.mdx | 8 +- .../advanced/admin/use-customergroups-api.mdx | 16 +- .../advanced/backend/batch-jobs/create.md | 6 +- .../advanced/backend/price-lists/use-api.mdx | 14 +- .../backend/sales-channels/manage-admin.mdx | 18 +- .../advanced/backend/upgrade-guides/1-3-0.md | 4 + .../advanced/backend/upgrade-guides/1-3-6.md | 4 + .../advanced/backend/upgrade-guides/1-3-8.md | 4 + .../how-to-implement-checkout-flow.mdx | 14 +- .../storefront/use-sales-channels.mdx | 6 +- .../deployments/admin/deploying-on-netlify.md | 8 +- docs/content/deployments/admin/index.mdx | 4 + .../server/deploying-on-digital-ocean.md | 4 + .../server/deploying-on-heroku.mdx | 8 +- .../deployments/server/deploying-on-qovery.md | 4 + docs/content/deployments/server/index.mdx | 4 + .../storefront/deploying-gatsby-on-netlify.md | 8 +- docs/content/deployments/storefront/index.mdx | 4 + docs/content/guides/carts-in-medusa.mdx | 18 +- docs/content/homepage.md | 81 --- docs/content/homepage.mdx | 170 +++++ .../content/starters/gatsby-medusa-starter.md | 4 +- .../content/starters/nextjs-medusa-starter.md | 4 +- .../cli-installation-errors.mdx | 2 +- docs/content/user-guide/customers/groups.mdx | 2 + www/docs/.gitignore | 1 + www/docs/.yarn/install-state.gz | Bin 1407241 -> 1420528 bytes www/docs/docusaurus.config.js | 157 +++-- www/docs/src/components/Feedback/index.css | 26 +- www/docs/src/css/_card.css | 65 ++ www/docs/src/css/_code.css | 166 +++++ www/docs/src/css/_dark.css | 74 +++ www/docs/src/css/_docsearch.css | 233 +++++++ www/docs/src/css/_docspage.css | 151 +++++ www/docs/src/css/_footer.css | 86 +++ www/docs/src/css/_navbar.css | 89 +++ www/docs/src/css/_note.css | 27 + www/docs/src/css/_redocly.css | 29 + www/docs/src/css/_sidebar.css | 239 +++++++ www/docs/src/css/_toc.css | 112 ++++ www/docs/src/css/_tooltip.css | 41 ++ www/docs/src/css/_typography.css | 79 +++ www/docs/src/css/_variables.css | 220 +++++++ www/docs/src/css/custom.css | 601 +----------------- www/docs/src/theme/Admonition/index.js | 153 +++++ .../src/theme/Admonition/styles.module.css | 40 ++ www/docs/src/theme/CodeBlock/index.js | 58 ++ www/docs/src/theme/ColorModeToggle/index.js | 100 +++ .../theme/ColorModeToggle/styles.module.css | 28 + www/docs/src/theme/CopyButton/index.js | 26 + www/docs/src/theme/DocCard/index.js | 60 +- www/docs/src/theme/DocCard/index_OLD.js | 100 --- www/docs/src/theme/DocCard/styles.module.css | 43 +- www/docs/src/theme/DocCardList/index.js | 27 + www/docs/src/theme/DocItem/Footer/index.js | 15 +- www/docs/src/theme/DocItem/Layout/index.js | 53 ++ .../theme/DocItem/Layout/styles.module.css | 20 + .../src/theme/DocSidebar/Desktop/index.js | 24 +- .../DocSidebar/Desktop/styles.module.css | 4 + www/docs/src/theme/Footer/Layout/index.js | 30 + .../src/theme/Footer/SocialLinks/index.js | 30 + www/docs/src/theme/Icon/Discord/index.js | 9 + www/docs/src/theme/Icon/Edit/index.js | 14 + .../src/theme/Icon/Edit/styles.module.css | 6 + www/docs/src/theme/Icon/ExternalLink/index.js | 15 + .../theme/Icon/ExternalLink/styles.module.css | 3 + www/docs/src/theme/Icon/GitHub/index.js | 9 + www/docs/src/theme/Icon/Twitter/index.js | 9 + .../src/theme/MDXComponents/InlineCode.js | 11 + www/docs/src/theme/MDXComponents/index.js | 12 + www/docs/src/theme/Navbar/Content/index.js | 62 ++ .../theme/Navbar/Content/styles.module.css | 8 + .../Navbar/MobileSidebar/Header/index.js | 23 + .../Navbar/MobileSidebar/PrimaryMenu/index.js | 29 + www/docs/src/theme/SearchPage/index.js | 35 - .../src/theme/SearchPage/styles.module.css | 7 +- www/docs/src/theme/Tabs/index.js | 181 +++++- www/docs/src/theme/Tabs/styles.module.css | 7 + www/docs/src/theme/Tooltip/index.js | 20 + www/docs/src/themes/medusaDocs.js | 11 + www/docs/static/img/admin-icon-dark.svg | 3 + www/docs/static/img/admin-icon.svg | 3 + www/docs/static/img/alert-code-dark.png | Bin 0 -> 964 bytes www/docs/static/img/alert-code-dark.svg | 5 + www/docs/static/img/alert-code.png | Bin 0 -> 951 bytes www/docs/static/img/alert-code.svg | 5 + www/docs/static/img/alert-icon.png | Bin 0 -> 889 bytes www/docs/static/img/cart-icon-dark.svg | 6 + www/docs/static/img/cart-icon.svg | 6 + www/docs/static/img/circle-dark-hover.png | Bin 0 -> 301 bytes www/docs/static/img/circle-dark.png | Bin 0 -> 286 bytes www/docs/static/img/circle-hover.png | Bin 0 -> 298 bytes www/docs/static/img/circle.png | Bin 0 -> 296 bytes www/docs/static/img/clipboard-copy-dark.png | Bin 0 -> 805 bytes www/docs/static/img/clipboard-copy-dark.svg | 6 + www/docs/static/img/clipboard-copy.png | Bin 0 -> 838 bytes www/docs/static/img/clipboard-copy.svg | 6 + www/docs/static/img/dev-env-icon-dark.svg | 3 + www/docs/static/img/dev-env-icon.svg | 3 + www/docs/static/img/discord-dark.png | Bin 0 -> 785 bytes www/docs/static/img/discord.png | Bin 0 -> 848 bytes www/docs/static/img/edit-dark.png | Bin 0 -> 668 bytes www/docs/static/img/edit.png | Bin 0 -> 708 bytes .../static/img/fast-delivery-icon-dark.svg | 8 + www/docs/static/img/fast-delivery-icon.svg | 8 + www/docs/static/img/favicon.ico | Bin 15406 -> 103548 bytes www/docs/static/img/gatsby-icon-dark.svg | 3 + www/docs/static/img/gatsby-icon.svg | 3 + www/docs/static/img/github-dark.png | Bin 0 -> 979 bytes www/docs/static/img/github.png | Bin 0 -> 1076 bytes www/docs/static/img/info-icon.png | Bin 0 -> 1059 bytes www/docs/static/img/info.svg | 6 +- www/docs/static/img/link-icon-dark.svg | 4 + www/docs/static/img/link-icon.svg | 4 + www/docs/static/img/logo-dark.png | Bin 0 -> 998 bytes www/docs/static/img/logo-dark.svg | 16 +- www/docs/static/img/logo.png | Bin 3392 -> 1038 bytes www/docs/static/img/logo.svg | 16 +- www/docs/static/img/nextjs-icon-dark.svg | 3 + www/docs/static/img/nextjs-icon.svg | 3 + .../static/img/payment-accepted-icon-dark.svg | 6 + www/docs/static/img/payment-accepted-icon.svg | 6 + www/docs/static/img/quickstart-icon.svg | 9 + www/docs/static/img/search-hit.png | Bin 0 -> 774 bytes www/docs/static/img/server-icon-dark.svg | 3 + www/docs/static/img/server-icon.svg | 3 + www/docs/static/img/side-menu-dark.svg | 5 + www/docs/static/img/side-menu.svg | 5 + www/docs/static/img/stripe-icon-dark.svg | 3 + www/docs/static/img/stripe-icon.svg | 3 + www/docs/static/img/tee-icon-dark.svg | 5 + www/docs/static/img/tee-icon.svg | 5 + www/docs/static/img/terminal-icon-dark.svg | 6 + www/docs/static/img/terminal-icon.svg | 6 + www/docs/static/img/tip-icon.png | Bin 0 -> 1057 bytes www/docs/static/img/tip.svg | 3 + .../static/img/triangle-right-dark-hover.png | Bin 0 -> 304 bytes www/docs/static/img/triangle-right-dark.png | Bin 0 -> 297 bytes www/docs/static/img/triangle-right-hover.png | Bin 0 -> 308 bytes www/docs/static/img/triangle-right.png | Bin 0 -> 306 bytes www/docs/static/img/twitter-dark.png | Bin 0 -> 754 bytes www/docs/static/img/twitter.png | Bin 0 -> 802 bytes www/docs/static/img/warning.svg | 3 + www/docs/yarn.lock | 342 +++++----- 146 files changed, 3449 insertions(+), 1193 deletions(-) delete mode 100644 docs/content/homepage.md create mode 100644 docs/content/homepage.mdx create mode 100644 www/docs/src/css/_card.css create mode 100644 www/docs/src/css/_code.css create mode 100644 www/docs/src/css/_dark.css create mode 100644 www/docs/src/css/_docsearch.css create mode 100644 www/docs/src/css/_docspage.css create mode 100644 www/docs/src/css/_footer.css create mode 100644 www/docs/src/css/_navbar.css create mode 100644 www/docs/src/css/_note.css create mode 100644 www/docs/src/css/_redocly.css create mode 100644 www/docs/src/css/_sidebar.css create mode 100644 www/docs/src/css/_toc.css create mode 100644 www/docs/src/css/_tooltip.css create mode 100644 www/docs/src/css/_typography.css create mode 100644 www/docs/src/css/_variables.css create mode 100644 www/docs/src/theme/Admonition/index.js create mode 100644 www/docs/src/theme/Admonition/styles.module.css create mode 100644 www/docs/src/theme/CodeBlock/index.js create mode 100644 www/docs/src/theme/ColorModeToggle/index.js create mode 100644 www/docs/src/theme/ColorModeToggle/styles.module.css create mode 100644 www/docs/src/theme/CopyButton/index.js delete mode 100644 www/docs/src/theme/DocCard/index_OLD.js create mode 100644 www/docs/src/theme/DocCardList/index.js create mode 100644 www/docs/src/theme/DocItem/Layout/index.js create mode 100644 www/docs/src/theme/DocItem/Layout/styles.module.css create mode 100644 www/docs/src/theme/Footer/Layout/index.js create mode 100644 www/docs/src/theme/Footer/SocialLinks/index.js create mode 100644 www/docs/src/theme/Icon/Discord/index.js create mode 100644 www/docs/src/theme/Icon/Edit/index.js create mode 100644 www/docs/src/theme/Icon/Edit/styles.module.css create mode 100644 www/docs/src/theme/Icon/ExternalLink/index.js create mode 100644 www/docs/src/theme/Icon/ExternalLink/styles.module.css create mode 100644 www/docs/src/theme/Icon/GitHub/index.js create mode 100644 www/docs/src/theme/Icon/Twitter/index.js create mode 100644 www/docs/src/theme/MDXComponents/InlineCode.js create mode 100644 www/docs/src/theme/MDXComponents/index.js create mode 100644 www/docs/src/theme/Navbar/Content/index.js create mode 100644 www/docs/src/theme/Navbar/Content/styles.module.css create mode 100644 www/docs/src/theme/Navbar/MobileSidebar/Header/index.js create mode 100644 www/docs/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js create mode 100644 www/docs/src/theme/Tabs/styles.module.css create mode 100644 www/docs/src/theme/Tooltip/index.js create mode 100644 www/docs/src/themes/medusaDocs.js create mode 100644 www/docs/static/img/admin-icon-dark.svg create mode 100644 www/docs/static/img/admin-icon.svg create mode 100644 www/docs/static/img/alert-code-dark.png create mode 100644 www/docs/static/img/alert-code-dark.svg create mode 100644 www/docs/static/img/alert-code.png create mode 100644 www/docs/static/img/alert-code.svg create mode 100644 www/docs/static/img/alert-icon.png create mode 100644 www/docs/static/img/cart-icon-dark.svg create mode 100644 www/docs/static/img/cart-icon.svg create mode 100644 www/docs/static/img/circle-dark-hover.png create mode 100644 www/docs/static/img/circle-dark.png create mode 100644 www/docs/static/img/circle-hover.png create mode 100644 www/docs/static/img/circle.png create mode 100644 www/docs/static/img/clipboard-copy-dark.png create mode 100644 www/docs/static/img/clipboard-copy-dark.svg create mode 100644 www/docs/static/img/clipboard-copy.png create mode 100644 www/docs/static/img/clipboard-copy.svg create mode 100644 www/docs/static/img/dev-env-icon-dark.svg create mode 100644 www/docs/static/img/dev-env-icon.svg create mode 100644 www/docs/static/img/discord-dark.png create mode 100644 www/docs/static/img/discord.png create mode 100644 www/docs/static/img/edit-dark.png create mode 100644 www/docs/static/img/edit.png create mode 100644 www/docs/static/img/fast-delivery-icon-dark.svg create mode 100644 www/docs/static/img/fast-delivery-icon.svg create mode 100644 www/docs/static/img/gatsby-icon-dark.svg create mode 100644 www/docs/static/img/gatsby-icon.svg create mode 100644 www/docs/static/img/github-dark.png create mode 100644 www/docs/static/img/github.png create mode 100644 www/docs/static/img/info-icon.png create mode 100644 www/docs/static/img/link-icon-dark.svg create mode 100644 www/docs/static/img/link-icon.svg create mode 100644 www/docs/static/img/logo-dark.png create mode 100644 www/docs/static/img/nextjs-icon-dark.svg create mode 100644 www/docs/static/img/nextjs-icon.svg create mode 100644 www/docs/static/img/payment-accepted-icon-dark.svg create mode 100644 www/docs/static/img/payment-accepted-icon.svg create mode 100644 www/docs/static/img/quickstart-icon.svg create mode 100644 www/docs/static/img/search-hit.png create mode 100644 www/docs/static/img/server-icon-dark.svg create mode 100644 www/docs/static/img/server-icon.svg create mode 100644 www/docs/static/img/side-menu-dark.svg create mode 100644 www/docs/static/img/side-menu.svg create mode 100644 www/docs/static/img/stripe-icon-dark.svg create mode 100644 www/docs/static/img/stripe-icon.svg create mode 100644 www/docs/static/img/tee-icon-dark.svg create mode 100644 www/docs/static/img/tee-icon.svg create mode 100644 www/docs/static/img/terminal-icon-dark.svg create mode 100644 www/docs/static/img/terminal-icon.svg create mode 100644 www/docs/static/img/tip-icon.png create mode 100644 www/docs/static/img/tip.svg create mode 100644 www/docs/static/img/triangle-right-dark-hover.png create mode 100644 www/docs/static/img/triangle-right-dark.png create mode 100644 www/docs/static/img/triangle-right-hover.png create mode 100644 www/docs/static/img/triangle-right.png create mode 100644 www/docs/static/img/twitter-dark.png create mode 100644 www/docs/static/img/twitter.png create mode 100644 www/docs/static/img/warning.svg diff --git a/docs/content/admin/quickstart.md b/docs/content/admin/quickstart.md index b1159cc9b2..472fac07ef 100644 --- a/docs/content/admin/quickstart.md +++ b/docs/content/admin/quickstart.md @@ -16,7 +16,9 @@ If you’re not very familiar with Medusa’s architecture, you can learn more a Instead of manually following this guide to install then later deploy the Medusa Admin, you can deploy the Medusa Admin to Netlify with this button: -[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin) + + Deploy to Netlify + ## Install the Admin diff --git a/docs/content/advanced/admin/import-prices.mdx b/docs/content/advanced/admin/import-prices.mdx index f5c787ccee..0d3a8696ab 100644 --- a/docs/content/advanced/admin/import-prices.mdx +++ b/docs/content/advanced/admin/import-prices.mdx @@ -60,7 +60,7 @@ The first step is to upload the CSV file to import prices from. You can do that by sending the following request to the [Upload Files](https://docs.medusajs.com/api/admin/#tag/Upload/operation/PostUploads) endpoint: - + ```jsx @@ -111,7 +111,7 @@ To start a new price import, you must create a batch job. You can do that by sending the following request to the [Create a Batch Job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobs) endpoint: - + ```jsx @@ -196,7 +196,7 @@ After creating the batch job, it will be pre-processed. At this point, the CSV f You can retrieve all the details of the batch job, including its status and the brief statistics related to the prices by sending the following request: - + ```jsx @@ -255,7 +255,7 @@ A batch job can be confirmed only once the batch job has the status `pre_process To confirm a batch job send the following request: - + ```jsx diff --git a/docs/content/advanced/admin/import-products.mdx b/docs/content/advanced/admin/import-products.mdx index 52e66d12d9..9a52f6e698 100644 --- a/docs/content/advanced/admin/import-products.mdx +++ b/docs/content/advanced/admin/import-products.mdx @@ -54,7 +54,7 @@ The first step is to upload the CSV file that you want to import products. You can do that by sending the following request to the [Upload Files](https://docs.medusajs.com/api/admin/#tag/Upload/operation/PostUploads) endpoint: - + ```jsx @@ -105,7 +105,7 @@ To start a new product import, you must create a batch job. You can do that by sending the following request to the [Create a Batch Job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobs) endpoint: - + ```jsx @@ -184,7 +184,7 @@ After creating the batch job, it will be pre-processed. At this point, the CSV f You can retrieve all the details of the batch job, including its status and the brief statistics related to the products by sending the following request: - + ```jsx @@ -243,7 +243,7 @@ A batch job can be confirmed only once the batch job has the status `pre_process To confirm a batch job send the following request: - + ```jsx diff --git a/docs/content/advanced/admin/use-customergroups-api.mdx b/docs/content/advanced/admin/use-customergroups-api.mdx index cfe3a0b1e8..ca44ec36df 100644 --- a/docs/content/advanced/admin/use-customergroups-api.mdx +++ b/docs/content/advanced/admin/use-customergroups-api.mdx @@ -39,7 +39,7 @@ You can learn more about [authenticating as an admin user in the API reference]( You can create a customer group by sending a request to the Create Customer Group endpoint: - + ```jsx @@ -93,7 +93,7 @@ This request requires the `name` parameter and optionally accepts the `metadata` You can get a list of all customer groups by sending a request to the List Customer Groups endpoint: - + ```jsx @@ -135,7 +135,7 @@ You can also pass filters and other selection query parameters to the request. C You can retrieve a single customer group by sending a request to the Get a Customer Group endpoint: - + ```jsx @@ -175,7 +175,7 @@ This request accepts the ID of the customer group to retrieve as a path paramete You can update a customer group’s data by sending a request to the Update Customer Group endpoint: - + ```jsx @@ -235,7 +235,7 @@ This request accepts the ID of the customer group as a path parameter, and optio You can delete a customer group by sending a request to the Delete a Customer Group endpoint: - + ```jsx @@ -279,7 +279,7 @@ This request accepts the ID of the customer group to delete as a path parameter. You can add a customer to a group by sending a request to the Customer Group’s Add Customer endpoint: - + ```jsx @@ -343,7 +343,7 @@ This request accepts the ID of the customer group as a path parameter. In its bo You can retrieve a list of all customers in a customer group using the List Customers endpoint: - + ```jsx @@ -387,7 +387,7 @@ Removing customers from a group does not remove them entirely. They’ll still b You can remove customers from a customer group by sending a request to the Remove Customers endpoint: - + ```jsx diff --git a/docs/content/advanced/backend/batch-jobs/create.md b/docs/content/advanced/backend/batch-jobs/create.md index 27eef3dd0a..87a2f31328 100644 --- a/docs/content/advanced/backend/batch-jobs/create.md +++ b/docs/content/advanced/backend/batch-jobs/create.md @@ -254,7 +254,7 @@ The first step is to create a batch job using the [Create Batch Job endpoint](ht For example, this creates a batch job of the type `publish-products`: - + ```jsx @@ -314,7 +314,7 @@ Make sure to replace `` with the server URL where applicable. You can retrieve the batch job afterward to get its status and view details about the process in the `result` property: - + ```jsx @@ -367,7 +367,7 @@ Based on the batch job strategy implemented in this documentation, the `result` To process the batch job, send a request to [confirm the batch job](https://docs.medusajs.com/api/admin/#tag/Batch-Job/operation/PostBatchJobsBatchJobConfirmProcessing): - + ```jsx diff --git a/docs/content/advanced/backend/price-lists/use-api.mdx b/docs/content/advanced/backend/price-lists/use-api.mdx index 3c311fadf2..7cbf66e19c 100644 --- a/docs/content/advanced/backend/price-lists/use-api.mdx +++ b/docs/content/advanced/backend/price-lists/use-api.mdx @@ -63,7 +63,7 @@ You can learn more about what the conditions you can apply on a price list and i For example, sending the following request creates a price list with two prices: one that is applied when the maximum quantity of the product variant in the cart is 3; another is applied when the minimum quantity of the same variant in the cart is 4: - + ```jsx @@ -172,7 +172,7 @@ You can check the full list of request body parameters in the [API reference](ht You can retrieve all of a price list’s details using the Get a Price List endpoint: - + ```jsx @@ -212,7 +212,7 @@ After creating a price list, you can update all of its fields including its stat For example, by sending the following request the end date of the price list will be updated: - + ```jsx @@ -274,7 +274,7 @@ You can also set the `override` request body parameter to `true` to replace the For example, sending the following request adds a new price to the price list: - + ```jsx @@ -346,7 +346,7 @@ For a full list of request body parameters, check out the [API reference](https: You can delete all the prices of a product’s variants using the [Delete Product Prices](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceListProductsProductPrices) endpoint: - + ```jsx @@ -386,7 +386,7 @@ This request returns the IDs of the deleted prices. You can delete all the prices of a variant using the [Delete Variant Prices](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceListVariantsVariantPrices) endpoint: - + ```jsx @@ -428,7 +428,7 @@ This request returns the IDs of the deleted prices. You can delete a price list, and subsequently all prices defined in it, using the [Delete Price List](https://docs.medusajs.com/api/admin/#tag/Price-List/operation/DeletePriceListsPriceList) endpoint: - + ```jsx diff --git a/docs/content/advanced/backend/sales-channels/manage-admin.mdx b/docs/content/advanced/backend/sales-channels/manage-admin.mdx index 3f7ee2906e..7fa62dd578 100644 --- a/docs/content/advanced/backend/sales-channels/manage-admin.mdx +++ b/docs/content/advanced/backend/sales-channels/manage-admin.mdx @@ -52,7 +52,7 @@ You can learn more about [authenticating as an admin user in the API reference]( You can create a sales channel by sending a request to the Create a Sales Channel endpoint: - + ```jsx @@ -111,7 +111,7 @@ It returns the created sales channel. You can list all sales channels by sending a request to the List Sales Channels endpoint: - + ```jsx @@ -151,7 +151,7 @@ This request returns an array of all sales channels in your store. You can also You can retrieve a sales channel’s details by its ID using the Get Sales Channel endpoint: - + ```jsx @@ -191,7 +191,7 @@ This request returns the sales channel with the specified ID. You can update a Sales Channel’s details and attributes by sending a request to the Update Sales Channel endpoint: - + ```jsx @@ -249,7 +249,7 @@ You can check out [the API Reference for a full list of body parameters](https:/ You can delete a sales channel by sending a request to the Delete Sales Channel endpoint with the ID of the sales channel to delete: - + ```jsx @@ -293,7 +293,7 @@ The ID of the deleted sales channel is returned in the response. To add a product to a sales channel, send a request to the Sales Channel’s Add Products endpoint: - + ```jsx @@ -359,7 +359,7 @@ This request returns the sales channel. You can list the products available in a sales channel by sending a request to the List Products endpoint and passing the `sales_channel_id` query parameter to filter by a specific sales channel: - + ```jsx @@ -407,7 +407,7 @@ Deleting a product from a sales channel doesn't delete it completely. It only ma You can delete a product from a sales channel by sending a request to the Sales Channel’s Delete Products endpoint: - + ```jsx @@ -475,7 +475,7 @@ This request returns the sales channel. You can filter orders by a specific sales channel by sending a request to the List Orders endpoint and passing the `sales_channel_id` query parameter to filter by a specific sales channel: - + ```jsx diff --git a/docs/content/advanced/backend/upgrade-guides/1-3-0.md b/docs/content/advanced/backend/upgrade-guides/1-3-0.md index 74148cfeda..a4710f6264 100644 --- a/docs/content/advanced/backend/upgrade-guides/1-3-0.md +++ b/docs/content/advanced/backend/upgrade-guides/1-3-0.md @@ -1,3 +1,7 @@ +--- +description: 'Actions Required for v.1.3.0' +--- + # v1.3.0 Version 1.3.0 of Medusa introduces new features including the addition of Line Item Adjustments and a more advanced Promotions API, as well as a change in loading environment variables into your Medusa server. The changes do not affect the public APIs and require only running necessary data migrations. diff --git a/docs/content/advanced/backend/upgrade-guides/1-3-6.md b/docs/content/advanced/backend/upgrade-guides/1-3-6.md index 308d091fe7..c0a2bd0def 100644 --- a/docs/content/advanced/backend/upgrade-guides/1-3-6.md +++ b/docs/content/advanced/backend/upgrade-guides/1-3-6.md @@ -1,3 +1,7 @@ +--- +description: 'Actions Required for v.1.3.0' +--- + # v1.3.6 Following the addition of feature flags in version v1.3.3 and the addition of the Sales Channels API in v1.3.5, v1.3.6 introduces a data migration script that moves all products into the Default Sales Channel. diff --git a/docs/content/advanced/backend/upgrade-guides/1-3-8.md b/docs/content/advanced/backend/upgrade-guides/1-3-8.md index d38fab4f0e..95a151edfe 100644 --- a/docs/content/advanced/backend/upgrade-guides/1-3-8.md +++ b/docs/content/advanced/backend/upgrade-guides/1-3-8.md @@ -1,3 +1,7 @@ +--- +description: 'Actions Required for v.1.3.0' +--- + # v1.3.8 Updating your medusa server to version `1.3.8` may cause issues when using NPM. Please refer to this guide for more details on how to resolve it. diff --git a/docs/content/advanced/storefront/how-to-implement-checkout-flow.mdx b/docs/content/advanced/storefront/how-to-implement-checkout-flow.mdx index 95a73bf49b..705b8ce047 100644 --- a/docs/content/advanced/storefront/how-to-implement-checkout-flow.mdx +++ b/docs/content/advanced/storefront/how-to-implement-checkout-flow.mdx @@ -45,7 +45,7 @@ In this step, the customer generally enters their shipping info, then chooses th After the customer enters their shipping address information, you must send a `POST` request to the [Update a Cart](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCart) API endpoint: - + ```jsx @@ -111,7 +111,7 @@ After updating the cart with the customer’s address, the list of available [sh You can retrieve the list of shipping options by sending a `GET` request to the [Retrieve Shipping Options for Cart API](https://docs.medusajs.com/api/store/#tag/Shipping-Option/operation/GetShippingOptionsCartId) endpoint: - + ```jsx @@ -141,7 +141,7 @@ The request accepts the ID of the cart as a path parameter. It returns the array Once the customer chooses one of the available shipping options, send a `POST` request to the [Add a Shipping Method](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartShippingMethod) API endpoint. This will create a [shipping method](../backend/shipping/overview.md#shipping-method) based on the shipping option chosen and will associate it with the customer’s cart: - + ```jsx @@ -189,7 +189,7 @@ When the page opens and before the payment providers are displayed to the custom To initialize the payment sessions, send a `POST` request to the [Initialize Payment Sessions](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSessions) API endpoint: - + ```jsx @@ -221,7 +221,7 @@ This endpoint accepts the ID of the cart as a path parameter. It returns the upd When the customer chooses the payment provider they want to complete purchase with, you should select the payment session associated with that payment provider. To do that, send a `POST` request to the [Select a Payment Session](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSession) API endpoint: - + ```jsx @@ -271,7 +271,7 @@ This step is optional and is only necessary for some payment providers. As menti If you need to update that data at any point before the purchase is made, send a request to [Update a Payment Session](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartPaymentSessionUpdate) API endpoint: - + ```jsx @@ -323,7 +323,7 @@ The last step is to place the order by completing the cart. When you complete th To complete a cart, send a `POST` request to the [Complete a Cart](https://docs.medusajs.com/api/store/#tag/Cart/operation/PostCartsCartComplete) API endpoint: - + ```jsx diff --git a/docs/content/advanced/storefront/use-sales-channels.mdx b/docs/content/advanced/storefront/use-sales-channels.mdx index f4511eb7d3..2473bf5455 100644 --- a/docs/content/advanced/storefront/use-sales-channels.mdx +++ b/docs/content/advanced/storefront/use-sales-channels.mdx @@ -29,7 +29,7 @@ If you follow the JS Client code blocks, it’s assumed you already have [Medusa To filter products by a specific sales channel, pass the `sales_channel_id` query parameter to the List Products endpoint: - + ```jsx @@ -67,7 +67,7 @@ The request returns an array of products. These are the products that are availa To associate a sales channel with a cart while creating it, you can pass the `sales_channel_id` request body parameter with the ID of the sales channel: - + @@ -108,7 +108,7 @@ The request returns the created cart. You can update the sales channel of an existing cart by passing the `sales_channel_id` request body parameter with the ID of the sales channel: - + ```jsx diff --git a/docs/content/deployments/admin/deploying-on-netlify.md b/docs/content/deployments/admin/deploying-on-netlify.md index 7a8438b8f4..3e310835ef 100644 --- a/docs/content/deployments/admin/deploying-on-netlify.md +++ b/docs/content/deployments/admin/deploying-on-netlify.md @@ -1,10 +1,16 @@ +--- +description: 'Learn step-by-step.' +--- + # Deploy Medusa Admin on Netlify In this document, you’ll learn how to deploy the Medusa Admin on [Netlify](https://www.netlify.com/). Alternatively, you can use this button to deploy the Medusa Admin to Netlify directly: -[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/medusajs/admin) + + Deploy to Netlify + ## Prerequisites diff --git a/docs/content/deployments/admin/index.mdx b/docs/content/deployments/admin/index.mdx index 87ca5fa04c..43bdb54b52 100644 --- a/docs/content/deployments/admin/index.mdx +++ b/docs/content/deployments/admin/index.mdx @@ -1,3 +1,7 @@ +--- +hide_table_of_contents: true +--- + import DocCardList from '@theme/DocCardList'; import {useCurrentSidebarCategory} from '@docusaurus/theme-common'; diff --git a/docs/content/deployments/server/deploying-on-digital-ocean.md b/docs/content/deployments/server/deploying-on-digital-ocean.md index 3b2a6edea0..c584cc42a9 100644 --- a/docs/content/deployments/server/deploying-on-digital-ocean.md +++ b/docs/content/deployments/server/deploying-on-digital-ocean.md @@ -1,3 +1,7 @@ +--- +description: 'Learn step-by-step.' +--- + # Deploy Your Medusa Server to DigitalOcean Apps In this document, you'll learn how to deploy your Medusa server to a DigitalOcean App. diff --git a/docs/content/deployments/server/deploying-on-heroku.mdx b/docs/content/deployments/server/deploying-on-heroku.mdx index f6943f3084..c9d2850454 100644 --- a/docs/content/deployments/server/deploying-on-heroku.mdx +++ b/docs/content/deployments/server/deploying-on-heroku.mdx @@ -1,3 +1,7 @@ +--- +description: 'Learn step-by-step.' +--- + import styles from '../deployment.module.css'; import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -8,7 +12,9 @@ In this document, you'll learn how to deploy your Medusa server on Heroku. Herok Alternatively, you can use this button to deploy the Medusa server to Heroku directly: -[![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/medusajs/medusa-starter-default/tree/feat/deploy-heroku) + + Deploy to Heroku +
); diff --git a/www/docs/src/theme/DocSidebar/Desktop/styles.module.css b/www/docs/src/theme/DocSidebar/Desktop/styles.module.css index f7ecfcdf8d..000221175d 100644 --- a/www/docs/src/theme/DocSidebar/Desktop/styles.module.css +++ b/www/docs/src/theme/DocSidebar/Desktop/styles.module.css @@ -51,4 +51,8 @@ .sidebarFooterList li a { padding-left: 1.8em !important; +} + +.sidebarSearchContainer { + margin: 24px 16px 24px; } \ No newline at end of file diff --git a/www/docs/src/theme/Footer/Layout/index.js b/www/docs/src/theme/Footer/Layout/index.js new file mode 100644 index 0000000000..f953b4a51a --- /dev/null +++ b/www/docs/src/theme/Footer/Layout/index.js @@ -0,0 +1,30 @@ +import React from 'react'; +import clsx from 'clsx'; +import SocialLinks from '../SocialLinks'; +import {useThemeConfig} from '@docusaurus/theme-common'; + +export default function FooterLayout({style, links, logo, copyright}) { + const { socialLinks } = useThemeConfig() + + return ( +
+
+ {(logo || copyright || socialLinks) && ( +
+
+ {logo &&
{logo}
} + {copyright} +
+ {socialLinks && } +
+ )} +
+ {links} +
+
+
+ ); +} diff --git a/www/docs/src/theme/Footer/SocialLinks/index.js b/www/docs/src/theme/Footer/SocialLinks/index.js new file mode 100644 index 0000000000..982752b335 --- /dev/null +++ b/www/docs/src/theme/Footer/SocialLinks/index.js @@ -0,0 +1,30 @@ +import React from 'react'; +import useBaseUrl from '@docusaurus/useBaseUrl'; +import ThemedImage from '@theme/ThemedImage'; + +export default function SocialLinks ({ links = [] }) { + const socialIcons = { + twitter: { + light: useBaseUrl('/img/twitter.png'), + dark: useBaseUrl('/img/twitter-dark.png') + }, + github: { + light: useBaseUrl('/img/github.png'), + dark: useBaseUrl('/img/github-dark.png') + }, + discord: { + light: useBaseUrl('/img/discord.png'), + dark: useBaseUrl('/img/discord-dark.png') + } + } + + return ( +
+ {links.map((link) => ( + + + + ))} +
+ ) +} \ No newline at end of file diff --git a/www/docs/src/theme/Icon/Discord/index.js b/www/docs/src/theme/Icon/Discord/index.js new file mode 100644 index 0000000000..bfe6c73192 --- /dev/null +++ b/www/docs/src/theme/Icon/Discord/index.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function IconDiscord({width = 18, height = 14}) { + return ( + + + + ); +} diff --git a/www/docs/src/theme/Icon/Edit/index.js b/www/docs/src/theme/Icon/Edit/index.js new file mode 100644 index 0000000000..6aa4b9bb92 --- /dev/null +++ b/www/docs/src/theme/Icon/Edit/index.js @@ -0,0 +1,14 @@ +import React from 'react'; +import clsx from 'clsx'; +import styles from './styles.module.css'; +import ThemedImage from '@theme/ThemedImage'; +import useBaseUrl from '@docusaurus/useBaseUrl'; + +export default function IconEdit({className, ...restProps}) { + return ( + + ); +} diff --git a/www/docs/src/theme/Icon/Edit/styles.module.css b/www/docs/src/theme/Icon/Edit/styles.module.css new file mode 100644 index 0000000000..b8ea840625 --- /dev/null +++ b/www/docs/src/theme/Icon/Edit/styles.module.css @@ -0,0 +1,6 @@ +.iconEdit { + margin-right: 8px; + vertical-align: sub; + width: 20px; + height: 20px; +} diff --git a/www/docs/src/theme/Icon/ExternalLink/index.js b/www/docs/src/theme/Icon/ExternalLink/index.js new file mode 100644 index 0000000000..d5244c1905 --- /dev/null +++ b/www/docs/src/theme/Icon/ExternalLink/index.js @@ -0,0 +1,15 @@ +import React from 'react'; +import styles from './styles.module.css'; +export default function IconExternalLink({width = 16, height = 16}) { + return ( + + + + + ); +} diff --git a/www/docs/src/theme/Icon/ExternalLink/styles.module.css b/www/docs/src/theme/Icon/ExternalLink/styles.module.css new file mode 100644 index 0000000000..9468b1998b --- /dev/null +++ b/www/docs/src/theme/Icon/ExternalLink/styles.module.css @@ -0,0 +1,3 @@ +.iconExternalLink { + margin-left: 0.3rem; +} diff --git a/www/docs/src/theme/Icon/GitHub/index.js b/www/docs/src/theme/Icon/GitHub/index.js new file mode 100644 index 0000000000..098631906b --- /dev/null +++ b/www/docs/src/theme/Icon/GitHub/index.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function IconGitHub({width = 18, height = 18}) { + return ( + + + + ); +} diff --git a/www/docs/src/theme/Icon/Twitter/index.js b/www/docs/src/theme/Icon/Twitter/index.js new file mode 100644 index 0000000000..89e259276b --- /dev/null +++ b/www/docs/src/theme/Icon/Twitter/index.js @@ -0,0 +1,9 @@ +import React from 'react'; + +export default function IconTwitter({width = 18, height = 16}) { + return ( + + + + ); +} diff --git a/www/docs/src/theme/MDXComponents/InlineCode.js b/www/docs/src/theme/MDXComponents/InlineCode.js new file mode 100644 index 0000000000..8db161d468 --- /dev/null +++ b/www/docs/src/theme/MDXComponents/InlineCode.js @@ -0,0 +1,11 @@ +import React, {isValidElement} from 'react'; +import CopyButton from '../CopyButton'; + +export default function MDXInlineCode(props) { + + return ( + + + + ) +} diff --git a/www/docs/src/theme/MDXComponents/index.js b/www/docs/src/theme/MDXComponents/index.js new file mode 100644 index 0000000000..726ca83f15 --- /dev/null +++ b/www/docs/src/theme/MDXComponents/index.js @@ -0,0 +1,12 @@ +import React from 'react'; +// Import the original mapper +import MDXComponents from '@theme-original/MDXComponents'; +import InlineCode from './InlineCode' + +export default { + // Re-use the default mapping + ...MDXComponents, + // Map the "highlight" tag to our component! + // `Highlight` will receive all props that were passed to `highlight` in MDX + inlineCode: InlineCode, +}; \ No newline at end of file diff --git a/www/docs/src/theme/Navbar/Content/index.js b/www/docs/src/theme/Navbar/Content/index.js new file mode 100644 index 0000000000..e1f7e97773 --- /dev/null +++ b/www/docs/src/theme/Navbar/Content/index.js @@ -0,0 +1,62 @@ +import React from 'react'; +import {useThemeConfig} from '@docusaurus/theme-common'; +import { + splitNavbarItems, + useNavbarMobileSidebar, +} from '@docusaurus/theme-common/internal'; +import NavbarItem from '@theme/NavbarItem'; +import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; +import SearchBar from '@theme/SearchBar'; +import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle'; +import NavbarLogo from '@theme/Navbar/Logo'; +import NavbarSearch from '@theme/Navbar/Search'; +import styles from './styles.module.css'; +function useNavbarItems() { + // TODO temporary casting until ThemeConfig type is improved + return useThemeConfig().navbar.items; +} +function NavbarItems({items}) { + return ( + <> + {items.map((item, i) => ( + + ))} + + ); +} +function NavbarContentLayout({left, right}) { + return ( +
+
{left}
+
{right}
+
+ ); +} +export default function NavbarContent() { + const mobileSidebar = useNavbarMobileSidebar(); + const items = useNavbarItems(); + const [leftItems, rightItems] = splitNavbarItems(items); + return ( + + {!mobileSidebar.disabled && } + + + + } + right={ + // TODO stop hardcoding items? + // Ask the user to add the respective navbar items => more flexible + <> + + + + + + + } + /> + ); +} diff --git a/www/docs/src/theme/Navbar/Content/styles.module.css b/www/docs/src/theme/Navbar/Content/styles.module.css new file mode 100644 index 0000000000..4c9471e109 --- /dev/null +++ b/www/docs/src/theme/Navbar/Content/styles.module.css @@ -0,0 +1,8 @@ +/* +Hide color mode toggle in small viewports + */ +@media (max-width: 996px) { + .colorModeToggle { + display: none; + } +} diff --git a/www/docs/src/theme/Navbar/MobileSidebar/Header/index.js b/www/docs/src/theme/Navbar/MobileSidebar/Header/index.js new file mode 100644 index 0000000000..266b277769 --- /dev/null +++ b/www/docs/src/theme/Navbar/MobileSidebar/Header/index.js @@ -0,0 +1,23 @@ +import React from 'react'; +import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; +import IconClose from '@theme/Icon/Close'; +import NavbarLogo from '@theme/Navbar/Logo'; +function CloseButton() { + const mobileSidebar = useNavbarMobileSidebar(); + return ( + + ); +} +export default function NavbarMobileSidebarHeader() { + return ( +
+ + +
+ ); +} diff --git a/www/docs/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js b/www/docs/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js new file mode 100644 index 0000000000..f09af72939 --- /dev/null +++ b/www/docs/src/theme/Navbar/MobileSidebar/PrimaryMenu/index.js @@ -0,0 +1,29 @@ +import React from 'react'; +import {useThemeConfig} from '@docusaurus/theme-common'; +import {useNavbarMobileSidebar} from '@docusaurus/theme-common/internal'; +import NavbarItem from '@theme/NavbarItem'; +import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; +function useNavbarItems() { + // TODO temporary casting until ThemeConfig type is improved + return useThemeConfig().navbar.items; +} +// The primary menu displays the navbar items +export default function NavbarMobilePrimaryMenu() { + const mobileSidebar = useNavbarMobileSidebar(); + // TODO how can the order be defined for mobile? + // Should we allow providing a different list of items? + const items = useNavbarItems(); + return ( +
    + {items.map((item, i) => ( + mobileSidebar.toggle()} + key={i} + /> + ))} + +
+ ); +} diff --git a/www/docs/src/theme/SearchPage/index.js b/www/docs/src/theme/SearchPage/index.js index 512eda54de..819bbe15df 100644 --- a/www/docs/src/theme/SearchPage/index.js +++ b/www/docs/src/theme/SearchPage/index.js @@ -334,41 +334,6 @@ function SearchPageContent() { {!!searchResultState.totalResults && documentsFoundPlural(searchResultState.totalResults)} - - {searchResultState.items.length > 0 ? ( diff --git a/www/docs/src/theme/SearchPage/styles.module.css b/www/docs/src/theme/SearchPage/styles.module.css index 57de7498db..8fc257edae 100644 --- a/www/docs/src/theme/SearchPage/styles.module.css +++ b/www/docs/src/theme/SearchPage/styles.module.css @@ -1,11 +1,11 @@ .searchQueryInput, .searchVersionInput { border-radius: var(--ifm-global-radius); - border: 2px solid var(--ifm-toc-border-color); + border: 1px solid var(--ifm-toc-border-color); font: var(--ifm-font-size-base) var(--ifm-font-family-base); padding: 0.8rem; width: 100%; - background: var(--docsearch-searchbox-focus-background); + background: var(--docsearch-searchbox-background); color: var(--docsearch-text-color); margin-bottom: 0.5rem; transition: border var(--ifm-transition-fast) ease; @@ -13,8 +13,9 @@ .searchQueryInput:focus, .searchVersionInput:focus { - border-color: var(--docsearch-primary-color); + border-color: var(--docsearch-searchbox-border-color); outline: none; + box-shadow: var(--docsearch-searchbox-shadow); } .searchQueryInput::placeholder { diff --git a/www/docs/src/theme/Tabs/index.js b/www/docs/src/theme/Tabs/index.js index 4201a3fa19..c39fb4afbf 100644 --- a/www/docs/src/theme/Tabs/index.js +++ b/www/docs/src/theme/Tabs/index.js @@ -1,8 +1,174 @@ -import React, { useEffect } from 'react'; +import React, {useState, cloneElement, isValidElement, useEffect} from 'react'; +import clsx from 'clsx'; +import useIsBrowser from '@docusaurus/useIsBrowser'; +import {duplicates} from '@docusaurus/theme-common'; +import { + useScrollPositionBlocker, + useTabGroupChoice, +} from '@docusaurus/theme-common/internal'; +import styles from './styles.module.css'; +// A very rough duck type, but good enough to guard against mistakes while +// allowing customization +function isTabItem(comp) { + return 'value' in comp.props; +} +function TabsComponent(props) { + const { + lazy, + block, + defaultValue: defaultValueProp, + values: valuesProp, + groupId, + className, + } = props; + const children = React.Children.map(props.children, (child) => { + if (isValidElement(child) && isTabItem(child)) { + return child; + } + // child.type.name will give non-sensical values in prod because of + // minification, but we assume it won't throw in prod. + throw new Error( + `Docusaurus error: Bad child <${ + // @ts-expect-error: guarding against unexpected cases + typeof child.type === 'string' ? child.type : child.type.name + }>: all children of the component should be , and every should have a unique "value" prop.`, + ); + }); + const values = + valuesProp ?? + // Only pick keys that we recognize. MDX would inject some keys by default + children.map(({props: {value, label, attributes}}) => ({ + value, + label, + attributes, + })); + const dup = duplicates(values, (a, b) => a.value === b.value); + if (dup.length > 0) { + throw new Error( + `Docusaurus error: Duplicate values "${dup + .map((a) => a.value) + .join(', ')}" found in . Every value needs to be unique.`, + ); + } + // When defaultValueProp is null, don't show a default tab + const defaultValue = + defaultValueProp === null + ? defaultValueProp + : defaultValueProp ?? + children.find((child) => child.props.default)?.props.value ?? + children[0].props.value; + if (defaultValue !== null && !values.some((a) => a.value === defaultValue)) { + throw new Error( + `Docusaurus error: The has a defaultValue "${defaultValue}" but none of its children has the corresponding value. Available values are: ${values + .map((a) => a.value) + .join( + ', ', + )}. If you intend to show no default tab, use defaultValue={null} instead.`, + ); + } + const {tabGroupChoices, setTabGroupChoices} = useTabGroupChoice(); + const [selectedValue, setSelectedValue] = useState(defaultValue); + const tabRefs = []; + const {blockElementScrollPositionUntilNextRender} = + useScrollPositionBlocker(); + if (groupId != null) { + const relevantTabGroupChoice = tabGroupChoices[groupId]; + if ( + relevantTabGroupChoice != null && + relevantTabGroupChoice !== selectedValue && + values.some((value) => value.value === relevantTabGroupChoice) + ) { + setSelectedValue(relevantTabGroupChoice); + } + } + const handleTabChange = (event) => { + const newTab = event.currentTarget; + const newTabIndex = tabRefs.indexOf(newTab); + const newTabValue = values[newTabIndex].value; + if (newTabValue !== selectedValue) { + blockElementScrollPositionUntilNextRender(newTab); + setSelectedValue(newTabValue); + if (groupId != null) { + setTabGroupChoices(groupId, String(newTabValue)); + } + } + }; + const handleKeydown = (event) => { + let focusElement = null; + switch (event.key) { + case 'ArrowRight': { + const nextTab = tabRefs.indexOf(event.currentTarget) + 1; + focusElement = tabRefs[nextTab] ?? tabRefs[0]; + break; + } + case 'ArrowLeft': { + const prevTab = tabRefs.indexOf(event.currentTarget) - 1; + focusElement = tabRefs[prevTab] ?? tabRefs[tabRefs.length - 1]; + break; + } + default: + break; + } + focusElement?.focus(); + }; + return ( +
+
    + {values.map(({value, label, attributes}) => ( +
  • tabRefs.push(tabControl)} + onKeyDown={handleKeydown} + onFocus={handleTabChange} + onClick={handleTabChange} + {...attributes} + className={clsx( + 'tabs__item', + styles.tabItem, + attributes?.className, + { + 'tabs__item--active': selectedValue === value, + }, + )}> + {label ?? value} +
  • + ))} +
-import Tabs from '@theme-original/Tabs'; + {lazy ? ( + cloneElement( + children.filter( + (tabItem) => tabItem.props.value === selectedValue, + )[0], + ) + ) : ( +
+ {children.map((tabItem, i) => + cloneElement(tabItem, { + key: i, + hidden: tabItem.props.value !== selectedValue, + }), + )} +
+ )} +
+ ); +} -export default function TabsWrapper(props) { +export default function Tabs(props) { + const isBrowser = useIsBrowser(); useEffect(() => { if (!window.localStorage.getItem('docusaurus.tab.npm2yarn')) { @@ -12,8 +178,13 @@ export default function TabsWrapper(props) { }, []) return ( -
- +
+
); } diff --git a/www/docs/src/theme/Tabs/styles.module.css b/www/docs/src/theme/Tabs/styles.module.css new file mode 100644 index 0000000000..0c79270e70 --- /dev/null +++ b/www/docs/src/theme/Tabs/styles.module.css @@ -0,0 +1,7 @@ +.tabList { + margin-bottom: var(--ifm-leading); +} + +.tabItem { + margin-top: 0 !important; +} diff --git a/www/docs/src/theme/Tooltip/index.js b/www/docs/src/theme/Tooltip/index.js new file mode 100644 index 0000000000..d17dd333e8 --- /dev/null +++ b/www/docs/src/theme/Tooltip/index.js @@ -0,0 +1,20 @@ +import React from 'react'; + +export default function Tooltip ({ children, text, tooltipClassName, ...rest }) { + const [show, setShow] = React.useState(false); + + return ( +
+
+ {text} +
+
setShow(true)} + onMouseLeave={() => setShow(false)} + {...rest} + > + {children} +
+
+ ); +}; \ No newline at end of file diff --git a/www/docs/src/themes/medusaDocs.js b/www/docs/src/themes/medusaDocs.js new file mode 100644 index 0000000000..120fc1830d --- /dev/null +++ b/www/docs/src/themes/medusaDocs.js @@ -0,0 +1,11 @@ +const palenightTheme = require("prism-react-renderer/themes/palenight") + +const theme = { + ...palenightTheme, + plain: { + color: palenightTheme.plain.color, + backgroundColor: '#262626' + } +} + +module.exports = theme; \ No newline at end of file diff --git a/www/docs/static/img/admin-icon-dark.svg b/www/docs/static/img/admin-icon-dark.svg new file mode 100644 index 0000000000..b8b63d4a34 --- /dev/null +++ b/www/docs/static/img/admin-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/admin-icon.svg b/www/docs/static/img/admin-icon.svg new file mode 100644 index 0000000000..48a2194f3d --- /dev/null +++ b/www/docs/static/img/admin-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/alert-code-dark.png b/www/docs/static/img/alert-code-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f8e8867283ea8602176e454d358ad6ec85b7fc2b GIT binary patch literal 964 zcmV;#13UbQP)F5b~(NQ&Iw{pfU>c(v`-Lmf;i=^KY49h z&PW7JSH9-=qAa#*w>YPFiXx3^bWEEX<`j#Q5=%L-?+*|5{; zgtP%l5dM{;wThe!d)Hp-AKL{Ox4kE}=K&@D>TnBeX0?KM6f&95=i5GjP3 zpO%AKmVeFfC}?RL9C+aL(3Igr|SN=q#OiAJl{3fA?n*Xte#T_O81@vC=m za8UJqe@tZw3b_E;qoTw#W4X3%KccU@n%uI6`}_N6>qx$%HIV(bA_qw{pc#&TFeml7Z8Gs5{-Zt~1E_3c1jbT!j~f^qUVxUVH3eAA2xR=DgRnvo#aB zq@1|KVguPWU)+xL@yHD7RpaRvmLjN159n@cs@8#T0#%C8)!ioX44Ocy z21$O6%0)s&6LLJBGIplNo*9#HjDXm|BUvTLdWapk{s(Q59MA)~&spu)Ms-m2rRi9%wh22MqY m^niA~G9ko^f53dhtH)pWOSgF%MS3d$0000 + + + + diff --git a/www/docs/static/img/alert-code.png b/www/docs/static/img/alert-code.png new file mode 100644 index 0000000000000000000000000000000000000000..a39f2dbcb496d8839808c2f1a7ee981efc57060d GIT binary patch literal 951 zcmV;o14#UdP)Cij?(Q6TU?Kc&BEgKGpo&Ej&tn7Um z4#!A-vx>SHqbKOi0o4U$xYgCw41c^83T8_tQ;+gvwhzcw8Dx`6#N*9`Lj#@N-Q89w z91A8@cz2V(VLVR6Ius0uKR(0l(1hFD+iTN|;%``x>Fw?9_i6Q=CYIUyNP%!XB=}x6 zu2?rWH*HwwOy^O z*CIb1>YW6;Nb2(fPc|c)x_+zxX!YJD4{lnJWU^&CFS}DtE)##%iPzWHU$kIZy?9`k z=K#gLv1A8zmXlCP8+ua3yk45+IY5{Nli)5q)%oB%gUtJu$FzH0Ab<1#9}>3Q)d%574<85@tBQQp*`N!;+C^akx6D*C`- zthaT(%wsQ&>Hx_mNNJ9cHXPJNFm*Joer4DxE$X0Q#`8v5{_X zZx3n#8j!qv@jlL5CHr + + + + diff --git a/www/docs/static/img/alert-icon.png b/www/docs/static/img/alert-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5c89e5e92afb1b8b83dbfb8ab15e5c3b418be38f GIT binary patch literal 889 zcmV-<1BU#GP)}*pM$kS3mM}_t}NnUi=C>ZPY|< zLch27yP}s(M@$F=6zsfc%0D8aA?brVL_S&y%x{2uvDgwFB!Yx^}Pr>KF-gtR(fbC7-)%^c3!%M@f) zVo>KH?1Wf0AlpInGes|b89p(ksPe4DSsyhvw#`l1R9M|;OrLc2-~lqR(bIbr*A zvYQX{&YDW?dB=rZAX!yb;nE6?ZJshOw7IxwvuK@Sbj~CO5>856&P+nis-De_^d>Zf z9|J1zvKW|2NPAIs39tB{5J)C};CQ6`Rk)GmHw_kAdS#gjC2mo1ZUI zofO*Vaxu^?ih&n|63bII--s`JSQ0b_yb+}^2BrwPenmXh%`pcA9u%#MpjGmFpiBc@ zch6abe4ESexX9*tJR^uyutXfK>3Rv>9}j2G2EK!=57S74o}qAEtsgzxf&^c47@_J(;}Gc39T3JRpADEpo4~x zdw$pI=vtez@w3A)f53`Cu + + + + + diff --git a/www/docs/static/img/cart-icon.svg b/www/docs/static/img/cart-icon.svg new file mode 100644 index 0000000000..98ac45040d --- /dev/null +++ b/www/docs/static/img/cart-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/www/docs/static/img/circle-dark-hover.png b/www/docs/static/img/circle-dark-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b61409752a1dbe7439e172c1d7e9fd76dcd4b1 GIT binary patch literal 301 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k&H|6fVg?2=RS;(M3{v?36l5$8 za(7}_cTVOdki(Mh=ZHBA%?1Lkf15KhBpL-zuqe*n zz_`e9(PHN!R_P6%C)jcX`W;fWTi@PMRSRW#=DF?M^7l_J?_GRk_3K?Go|8^RMF)6s z&yRc1<9pdh+Wq6J-*%7Z+*dqvqTVz4%-Y=OpPB+rHsufECkDMb#HjZ$a8mNpK#{!? zETWv(MY%r(NVOk4;c58%PEAw%hjw=j-o>(!GRK*ZeBx;HQ~6=Aao4(VlhpMbi8mNh u_W9+1n)hHvG5@(6o32$gT#YpR&erD080o~R=4L^jEWqJ*_ zhpKPdF)`>~r`ZR2y_O4+*>{&aWdFS(P~W|3m6i9>5dX#1H{Aa!DZJ-xU2sg?M|181 z8QnvU3cWM=UWm^#n7%6Wui)PA(>k;Ttjz>Y_Nec?nJZe@XL{ynzEbs}^f-Oln_`OIjg60=s*ZC99o&U6%#{rTh!&?^j{u6{1-oD!M<`>%6k literal 0 HcmV?d00001 diff --git a/www/docs/static/img/circle.png b/www/docs/static/img/circle.png new file mode 100644 index 0000000000000000000000000000000000000000..8df5d7f4c7148f499c0918818b5388cd3c279e8d GIT binary patch literal 296 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&k&H|6fVg?2=RS;(M3{v?36l5$8 za(7}_cTVOdki(Mh=ZF6bO%4LC|M^55IHxQS%L;d7%S^`&wB7N;lW8O>S$wV3UnY3|-dyOsuM9o^I<_;|L%l*55t z8SYWZ%;l~vQAru=3=KS^MMKZd n^m(1Ae!bwXm-wfRF*OW!`yBW;^X@(g^az8etDnm{r-UW|alUL% literal 0 HcmV?d00001 diff --git a/www/docs/static/img/clipboard-copy-dark.png b/www/docs/static/img/clipboard-copy-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1f7d6b7323ea6c510b031797565a45324b82ba GIT binary patch literal 805 zcmV+=1KRwFP)I+wCV1%}E3Q1i298Rw{B$fFI)@zn@Gd zm%4FUg57TS2bw^1StYr+jMP(s{C$aFzuzx(A1PG~=>_=1hq4d*xhT~E)x}WJLRwfw zI1m?0>;|Tgin&=c_vO1@ulFuVlG-_R5)7pKT(%Y8_cxVsq2hX+1Csh#-ix^&2^B>V zkOEd=W;&f_kl?N1@B(9RPC0`LU9tp7CQuctEI2XLIHc6Unjk|gY`wS%tWwE>lC)+g*j$)=Wg1jxOkYfap;0jJcrhqdI zI8&8uBkzXNk1GOW{0La2{qle&(II@c#1>WRxUfj~Tkzk@2J6;j)2? zGHmyin~7FZolFuy1|KHkX40pueQ zb|h@QE>vT+Hps^sW&JBAy(0I}R)^XwzFx0?_xpX8azrgaoa>~zF-E6byj4O9<0Cg$ jwpei3X;O~9;nm + + + + + diff --git a/www/docs/static/img/clipboard-copy.png b/www/docs/static/img/clipboard-copy.png new file mode 100644 index 0000000000000000000000000000000000000000..ed76decf508b3dd9ad377bd656964051e554234c GIT binary patch literal 838 zcmV-M1G)T(P)RshT8@+)pmhFCZl418t?V}c;Jvn=bgrueMi z?|aMuHD-X-YBkP5j^NJcbC(&Qp)0svuN~gLTrMtegXrvhKL3^dr&g}5Cqq)R%?o;E9(b=pRlnzSs%>c4iosnte%Y-K0XUt)>W_9 z3#kn!nc(&`FjO3&Pf8elwlKk4c=A0p$ez)+C4%$}Rewse$@ zu8GY)!I&T+{;=`Kbzr38*F@z6DH_nl3{fe;&1Q3hSo)8`m1HmeML+QFP~||C5hQX5 zM?McV*q2?gpJF1#Rya{tHBKQX$s)&}X_avKNjaU+Q~CO_dK{D?Ne+mP$K$s~ zqwykLOM@&8D~%v!B?)o_8+l-WT}NvSI1__2d9+jUccrNqs&rWiNIFw#D~OE5#|nIB zFN>(WJ530JzWAavf@C|eGY{&d1lNgQQ@S;QgZyTODAkL}Q$dKTw~)UBVIRbAm?26J zGifAEtGY^d5*f*)@zegiSS%)mYLX%lNY3a=8b2KB0q>@e2~^2MC0m_H61TJy1t-4S zamt^sCV4B+C1{+_6&+J~vVijPkq-n>(5sME4;(YKbO*YF0sdAeNgN|6q zz`2gHI#jBdlFA(AWp2dhI=)Iq>wJ(>C1fgNu@EmvEb4SRevxwY1Mdd^0c6uE + + + + + diff --git a/www/docs/static/img/dev-env-icon-dark.svg b/www/docs/static/img/dev-env-icon-dark.svg new file mode 100644 index 0000000000..caad3c7bf3 --- /dev/null +++ b/www/docs/static/img/dev-env-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/dev-env-icon.svg b/www/docs/static/img/dev-env-icon.svg new file mode 100644 index 0000000000..149d9df5ed --- /dev/null +++ b/www/docs/static/img/dev-env-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/discord-dark.png b/www/docs/static/img/discord-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..b92de038e672fdf3c24d788517e1d7780820c606 GIT binary patch literal 785 zcmV+s1Md8ZP)|00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yPJs54lXahnV{G#$|wfYMWpWh+OsZ=Tszi&31FcxatHrI2z25it|G78_ zDcWTP?yO8;$Gznp7kLN@3tPxpfQEMTl;0n6whIu@7L*^?@Za;FHJwhK-EQ|=$AnRV z#nl^*k^C+)rLXMZu<5hF2*_=m?nmpQMgAS3#x_VW0^c#2FTBX6!)SGoox0 zueXTUvn$1ME*ql#9oh~JaVU(m@EhkEzP6zAmZrfYa!rS?Ir8dLmvO~O4S>^xz?CRq zF6T<5r*C`^%QDQ~|00009a7bBm000&x z000&x0ZCFM@Bjb+0drDELIAGL9O(c600d`2O+f$vv5yPZ*Aj+2U&u6-4CE-5Yp6` z6G2a&?P<@rP(G%-G!di(?86Nq>81FTm3Xo;Awzk$%O@`OP#B3aH*zX$Th#P>xMYY= zi+sfH?DNxug18Ew5bwv|=+Mvc;D?dSk(Hgg{^_LE*Z&{z5({aaW5yxSd=<*o?kMQx z@yFmCd53wH2RRUgJ7X~#-S@oKY|H*au6Gj=IG;bn;=JWCk19F5;Iw_zn>A`1$F2UX zo!FKXpX5XA>1=RSpar2(5D(yIx6!2%M5Ndf@WBKjT*0$kHgOQh^@b%z8eF&}5=;}! zSq)qkJWIz+0%vhycqEh1B?_c(Qs?2;?#m3maV(y^gIqWf6aeqF#{57v_3y#F*hj*K ziLV6J7yhVLQT{|!Q9)%vz%9eA6y)b{zUdSI*Mv?Xls^_HS0cSpGh+uKT-c#pClD*# zVe=~D;#@{}$j>T}JVdjgfCp>F<%iBS7GGPqhi!wf&hLTT(f2VOmzHe1LYAtaoIc75 zd6p#npHbA;+)=Ll$W5L>crOa&j!rjIw+>xXbMrw)5^SBF9OvevH1J72PZJbZ0_?$L zYD&GAX<-6zn-ZOj3n=&p#48}JuP_RXX+n&GraB@n-lTxD_R(v&2I5JQaP7!$bvkeS aEZ$#ypFg~2?4c|G0000tyarnF(kzGn$4!ik^-*R>xp3) zHcKEtJ_FJX@wd0z?G$ETaJk3han$K_eDR)&ED+xC6@|@`s~rL7!R$%gR;5y*dk3Q9 zt_63yT^Dcjb*o?)4uXHP2%*j_sP$xU6c^o$!WeQ@2V!^MwczP=viKm4Mq|WMC;)DR zxDMGEO6&@W(nR6$_m^Y=IXklD(!hm1I}lKp;=sW_6uQ_G<48Y}yx>spc8!$d*6Vdo zjHSH=Rp6lce!rKFb*+G^aL5{cSq{_+m<60Rz^vf30A>l78Zc|PRDgNFr2@{ugch5C`n3V_i4};G0?tOP$)D|uD~PBFa6bOH7=LS^q0Yn#)>GfX;flB+FH^wof35xK%$gdFz)_Whca98>(c)N#8>EZ_7lrkLduFh zS)dI#XWPhoskfhDaQv?Ba5&s;{H13z_(~mNJD7*wF{h8kKLZbsa6a>f;)UfPwB!de zgDvxg9=|P@%Px|z73cU(MVOT+$g}z3F1CM)Hm=WI9uHgbtk((8*nHP zBtU#Q=8q&(vTR9|g8=>}StO4?^X{l4fvvWBTv1k|@>?A+w?U+^Qr8nb`#HcGvg{7^ z?E4UT0qcJAgn=G%h>1Vy>5pJpyHX8BJ1 z6S2yKd-;4QFb9c7LRY}e*u!L#ZOCsm2>dIY6BtOh-&mm<%}4*1tX>312XVWe_?W>* z(K|Y{-JM)PrY>aIgAqL&_fbOWaMTx&fqAa`ErgIJE+r=8PU?$rpN*lXL3#lFQ9D>{j^de=Pm|Y!An6j7SogBd#<#%x`{?a4~Gjs)KRKDCIXl4o|Th7GYfh5cX4wW0wWUOS~-2uq} zP2B?7Dzt)2OZEy>S;_B8PY{qvM~(a*)dMu5xp|G71>#ZIUp8L30>QlG@iPl<;Z!F{ zXZK0Hn~}rxz&Z|AE+Tw6pN^01_qDXn7ythTJFnin7Wxm^faLrA^?Ww|l-`yhb58?P q7_4>uRzN1^h(=l0Z(D8k*t!APAdI^yvNkFJ0000 + + + + + + + diff --git a/www/docs/static/img/fast-delivery-icon.svg b/www/docs/static/img/fast-delivery-icon.svg new file mode 100644 index 0000000000..b538501158 --- /dev/null +++ b/www/docs/static/img/fast-delivery-icon.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/www/docs/static/img/favicon.ico b/www/docs/static/img/favicon.ico index 1015cd35c78d84e77fdbfac529e81d25dfe17533..bebbf17e40c11dec45b5382f0bcf9d84b6bab58f 100644 GIT binary patch literal 103548 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 literal 15406 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 diff --git a/www/docs/static/img/gatsby-icon-dark.svg b/www/docs/static/img/gatsby-icon-dark.svg new file mode 100644 index 0000000000..92a8c31ccd --- /dev/null +++ b/www/docs/static/img/gatsby-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/gatsby-icon.svg b/www/docs/static/img/gatsby-icon.svg new file mode 100644 index 0000000000..0017f78570 --- /dev/null +++ b/www/docs/static/img/gatsby-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/github-dark.png b/www/docs/static/img/github-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..aca8459a6f96a486d51a1debc4908abc046bb8c4 GIT binary patch literal 979 zcmV;^11$WBP)ZA^;))B4CNY;|z4+SA696_ z&(F{AK`UEQA)w)t`}_Mg=I=S>u9x%^rPKumFUsdYzrDRJyZo!>A_Eg$$@nH3iIlSc z&`f`c48e_`b4~FPqR%+UT)>Z7e9DNx_-oFA-&so3Fl!DmG#QUI9;fNaj9RbRHog_X zx7LhUGwzu9lf)uE8wrv3_xFv&EXEyvWUXNnV#hGu`QhQ=OZr6Y@9#HWUS72Cq|gj= zb8{h%c$}7DoxWp;M&E@YA)j`9gvNn~5V64+mH5!6Z-VLR>4sDUn#?C-7T{BvPFag; zsR%POGd=p7OU9IBd{nLYCIIVp+2ojoR;$&6lec|xa#2~y5`()^F?M!#PBOH#NFVy@ z67tAasT~{G=%q*0q=rJ51n;$c9<=9uT_pkSKS5o|KY)qmPAH#)Np>h07oq2Uk0$dG z3e%amLip+|O+q&wVSRRXc3mpQ;o%|UUg#13qz}cu!7%4$)mp-w$37WDjY3Sws&hhQ z?PIA3NUWKc1#%f=d#Ld$=X&F%~oHb%(`=x*_bYvwr=*)r(;e7$S;VC

{c9V zhMbjP*EPAh%Uwx9BuZdg*$Y^GSO%OjJEOhoh*hzV48d}g4k`s_6L7#bid~Et+THqUKPS_SSLq~SqXiLGEXd}50`VdGC z%=etG{lN+o>%4JE#c6J@XIWulER=ERtb3RbzW`MA+ztQEexm>Y002ovPDHLkV1ioh BzYzcc literal 0 HcmV?d00001 diff --git a/www/docs/static/img/github.png b/www/docs/static/img/github.png new file mode 100644 index 0000000000000000000000000000000000000000..26ecc91351ce63ab9a88f54998bb56f6ef014b4b GIT binary patch literal 1076 zcmV-41k3x0P)X*dNB1E@nbS_D$xcfw08pKRO8APx_$WOudJwb2X<~=~denK=oIic4Qb3;UF zy?19biL*ZrcG^6iBX?@9wn3|wL#cFVjYGe?bXdO@l_ee2SH$gkE60&rg7uzuG3<9m?VGkW+#?o-7!!!bB5 z;wJNz50qv8cMRXiAZmL-iZk;&M9=T&E_7@KEnzBrT>=AzFzG`1T4uV-`P=*%V~nd8 zcw^4MBJ|z8CXS6MX72Nsw5=DG-jhY-31mdy2s|DXMj>$}His>;7g|6pLZUQ;=2c(# zB0AcJ%(!6yBEAXwupOIaGLvK)>S^8#6LhjvhsnP5)fA!+^!;Ui%qFDSJX0#(~V&9>Wb;-v-fy%# literal 0 HcmV?d00001 diff --git a/www/docs/static/img/info-icon.png b/www/docs/static/img/info-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..35df919c57f6b7308787a5d45c20b5ef0d61d034 GIT binary patch literal 1059 zcmV+;1l;?HP)iYt&8g?5H} zdhVUSJ0oT8K-2U~GUqGA!11!76=@p{bbk+7}dNq2pe zMP4Q%XN^fUC#a4&*aL#{!j}m~2sm)^&@mxpMC7bFDcdewvGgh|0VM3E5lSWUwK4rb zATH+|924LW`O9Z09@U<}5?Z)}KotTg&AG1K>aBMm3z2q{N*nI<_O%vp!2dcdZ~zN% z&SnG>O+Y-*_X(_i-kuyDb+^W;L=*|>ZxJ?}Nt2M&-!Esa31*0yNJdylL}|l^OhCpd z8gZzd8=D;QB2Pu3M+K;^IV= z@DFg_czFUp11o3EyMj}45I~Wt(-77mPF9@WjSE}^d6)0B@*feF10HOz2U9U&AtY%| zYT7Q#0W&9;5Fj2c|6=7M0x2v|OvK3HyqD=Nu~C(M3YcRQEG$?7t()Sdn9;tzS13%) zKSYBfVrgNAWW9k5uyU4mF%HranhtIkN--jcGzx#jl+G&wf>}LUoBNkXB)1bI;&6|t ziLO8f=)$-)>_a9*cPSz&5UUdK?w}u-{HN_buDyOBB4jXsfn;D z6k->1DBkL&eIaD`=7R%xU_}o(O|4!bN)hEZJyFe2WDxh#&Ls=1OoSnkWFZ1Wt++NE zvO2Fl)8arqr@(gTK3E3@c41?*sOw%9vIFFXs~tQCjZrM2DOD33MLQ&$7$eOrLqc|d zL2a7b#q;I&@iAg`%_K?i#r;pc;=cC$8Zs3Mj*r|poute+a|w772G4e3UnjAUNPuM59UUYdIjtcH zdLYZI*g39K+})KCRDbh2xv~GrLOJgq^C8^p@DE@qcwxQL5I&a>Si6Z4a-QT7&ESrQ d^1jKK`Wtj%%5}|W@C5(>002ovPDHLkV1kax(60ah literal 0 HcmV?d00001 diff --git a/www/docs/static/img/info.svg b/www/docs/static/img/info.svg index 16e435a570..25d5282f93 100644 --- a/www/docs/static/img/info.svg +++ b/www/docs/static/img/info.svg @@ -1,5 +1,3 @@ - - - - + + diff --git a/www/docs/static/img/link-icon-dark.svg b/www/docs/static/img/link-icon-dark.svg new file mode 100644 index 0000000000..603d8aa46d --- /dev/null +++ b/www/docs/static/img/link-icon-dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/www/docs/static/img/link-icon.svg b/www/docs/static/img/link-icon.svg new file mode 100644 index 0000000000..773a050527 --- /dev/null +++ b/www/docs/static/img/link-icon.svg @@ -0,0 +1,4 @@ + + + + diff --git a/www/docs/static/img/logo-dark.png b/www/docs/static/img/logo-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c663c229aedd8ea1eeb98d94b60a1f4aac28f1b1 GIT binary patch literal 998 zcmVo+U7X66p1M z5l$C4D0tN}BmueG{r&xx1VRu3!{M+t9*=MEXH;Z7EYaTD+B)9Z*-6C{W$^%A1zNv^ z@J~`ucr&lgIsJbBhUCQqY75}UPa#Mwc2_AbK&h1CJ*~aHy{0JOOu+d06^_pm5F~=2 zZ@R`uVFIpx?t!~XrE*?0K2{Q-pVM9NXDt5^ut*Dm-dsgwDFJGIGMPMpL`^mTx)n~x z%pnWMEP7yE=21L@Gys?g8;eL-m(dr^%jSg_Bg6Mjr(>1HN&uQa-IUwdKv}l8w=Zqa zaxP?C=Sh@+xf59L9s!u(nAbkIuCgw|^&!qjq6Fmn2)wGND%nA!(I|otq7fXLYQk5O z1w-h=Ex1Ar%OthwOaxXqk>5G!4{R=^(GUf1Ae$zu210`=#vOBxI0Dv-viEWXpve#7 zh9(4x#SvzX6Nz%U{3&-YdjkY&QV?_-jqoopa}$Rtxs}MP8b!Q(6Hg#8z22cFK<(3? z#S?r7g8yEWP!m8v-AXvzi4r~*NF@-EClXOYO#r@|N+9^SqE`^V1*i!iD+Vj{u-~YQ z5H zj2#oVl-hNE-hpPRf%l}m!7U|@2+HBg6^Rna{s-BtZQVOUL$L%1(7?FH{^2Zp(@KC= zK&E|sE1d~i6RXvi?1rAOE~6ZX35}2yrxr%|hE4eS^JSCSL4YMT+FCTir;ElcO=O&i zZo`2nItZSiwwuOn(q#h+H-KmjG^S#ov|j|=s&cPgbdR9=z=0pRS%X_Kfu0rVE&UDk zC#G( - - - - - - - + + - - - + + + diff --git a/www/docs/static/img/logo.png b/www/docs/static/img/logo.png index a245f35d881c3acb599764f37d5b063d1adcdc57..b62e64283998405e20afd2569b3c2cd98ae86001 100644 GIT binary patch literal 1038 zcmV+p1o8WcP)ok~cp33TV&zK7aHu90H1+ z#qj&5dan*W1*FCc`q*PVzdZy(`s2*?5+So1uV#MO#w*wc;l%ILr+WsO0;Hf749{({ z@MO8Pne|1N3$#5^y-3($n3=0s;cHImWKhtA;2 za6qjZwH{rR4{xUvM6}6MS6oP`w8Vd_*PFUrhzBn`uxKrJbA61zLM@9wPL38?@CJ(G zcQ(ijYaXEh%J}ofVFd+YA(f&cgv9gCwyYrbkQ3!LI>!GaY+YN+eL=>mC}GAj3{hz{ z3@{KNYBuuubPU2CG|?77h<9KKPTqE*iNPIk0@$MlO$-D?0W4wSil#w4bo2$pW7ZNq zck<;dG|?9zV;{B{5gs(r79a%XVF^i6JHa!F0bgzKVTelZ2=oS;7zJ@!g)@W=sK9`% zWUfg4(tkWPtu4akYm3dk2s&H31Q3Y>6hKugbVMlQMZro35&i6J>%IdddR72>4$Ov3 zOwH^of4-@&>ZAG!oidF`x>AnrEhTTB#c1i+U_+l)pxdcNkhZ8TB`>?}mCJ`FJW($? zpW2ya6`rMvjR3U?i{Co`cGOiw&R&J0NbNfV+#Q1CvRTRcB2$3c`Sb0X!`%=OC|i1+ z?%e&-qB6cuw%Yf6Ai6jWql>ex^7tgX;DD>r*HPs}h_{HE%i-ylM*prkQFlWB!=lx?B$BJJ z#$h;t(_Z$Rlp{(WxE7HIhGWh{!_h>*z#%aB=PkfXx8dKfM$tp|qLfxIi$>wt`B!7i zeZ$c3w{n1hK^nk-fI^!I9! zD|=WYz#_DhJuc<2l)8Z^sJjBwXJ3H> z1Podj7`$5xY@UdhKd8k|WbaEkY$VzTM^7Dq8>bJ%7c&O|1Ps1GV6bHpnzv5D!jC4R zSdK>aBoNUq%nzyWC8t1G{e|qAB&i*MGbi;&{hgNq(*^=r0tN&Ow%vhU+oxiP9F^=y zURdcxkRUk)!rG;>XA&}@FD|bA1HPKvAMgn<_;f1p`E=AFineluBrv{_>OMHT=J#kM zVBj}kKAT3+%)lf$N)i}<9K-q`x9WHJkbr?-f!R3&XsAOkIgKSSeo*qKRrLk@4$Q8Z z*n%1OmYm8Gn5;=UC7+chjj` zB+~8MJVB|f*_4(BLh3X0-$j%r#p~HU?WpfS4vxeqzz%txgPss zrDJT&g326f`x9JdUPyf;5LBzEoflD-b|PRtNC%jO!>}NeF#XqVM=t{AKpMbc?`)jm z6)@E4cj+d@Zk{mIc`xZFOH%qGFQg5MO{z|v^76v!J@nZDi~Rd}(s%0A$?1Kdw)tW0 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 - - - - - - - - - - - - - + + diff --git a/www/docs/static/img/nextjs-icon-dark.svg b/www/docs/static/img/nextjs-icon-dark.svg new file mode 100644 index 0000000000..ce51ce852e --- /dev/null +++ b/www/docs/static/img/nextjs-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/nextjs-icon.svg b/www/docs/static/img/nextjs-icon.svg new file mode 100644 index 0000000000..2492f2108d --- /dev/null +++ b/www/docs/static/img/nextjs-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/payment-accepted-icon-dark.svg b/www/docs/static/img/payment-accepted-icon-dark.svg new file mode 100644 index 0000000000..2cad4d9ada --- /dev/null +++ b/www/docs/static/img/payment-accepted-icon-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/www/docs/static/img/payment-accepted-icon.svg b/www/docs/static/img/payment-accepted-icon.svg new file mode 100644 index 0000000000..279d781199 --- /dev/null +++ b/www/docs/static/img/payment-accepted-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/www/docs/static/img/quickstart-icon.svg b/www/docs/static/img/quickstart-icon.svg new file mode 100644 index 0000000000..d06c15f482 --- /dev/null +++ b/www/docs/static/img/quickstart-icon.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/www/docs/static/img/search-hit.png b/www/docs/static/img/search-hit.png new file mode 100644 index 0000000000000000000000000000000000000000..3099be91c117d618925dfefa80c0130c824d6a07 GIT binary patch literal 774 zcmV+h1Nr=kP)nmj`WQ>SljJ=}mBG`Rss;JsMtE&(Dt z7Gn~uNiz9nGJ{vv_>XqA+7w0{{VJyZ + + diff --git a/www/docs/static/img/server-icon.svg b/www/docs/static/img/server-icon.svg new file mode 100644 index 0000000000..2a7cf438dc --- /dev/null +++ b/www/docs/static/img/server-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/side-menu-dark.svg b/www/docs/static/img/side-menu-dark.svg new file mode 100644 index 0000000000..88e6a30063 --- /dev/null +++ b/www/docs/static/img/side-menu-dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/www/docs/static/img/side-menu.svg b/www/docs/static/img/side-menu.svg new file mode 100644 index 0000000000..dc5fd728bb --- /dev/null +++ b/www/docs/static/img/side-menu.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/www/docs/static/img/stripe-icon-dark.svg b/www/docs/static/img/stripe-icon-dark.svg new file mode 100644 index 0000000000..ff2c081a52 --- /dev/null +++ b/www/docs/static/img/stripe-icon-dark.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/stripe-icon.svg b/www/docs/static/img/stripe-icon.svg new file mode 100644 index 0000000000..1d5dd40cb1 --- /dev/null +++ b/www/docs/static/img/stripe-icon.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/tee-icon-dark.svg b/www/docs/static/img/tee-icon-dark.svg new file mode 100644 index 0000000000..3537f92a2d --- /dev/null +++ b/www/docs/static/img/tee-icon-dark.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/www/docs/static/img/tee-icon.svg b/www/docs/static/img/tee-icon.svg new file mode 100644 index 0000000000..fc03a4c037 --- /dev/null +++ b/www/docs/static/img/tee-icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/www/docs/static/img/terminal-icon-dark.svg b/www/docs/static/img/terminal-icon-dark.svg new file mode 100644 index 0000000000..f27e06d45d --- /dev/null +++ b/www/docs/static/img/terminal-icon-dark.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/www/docs/static/img/terminal-icon.svg b/www/docs/static/img/terminal-icon.svg new file mode 100644 index 0000000000..7c9051d930 --- /dev/null +++ b/www/docs/static/img/terminal-icon.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/www/docs/static/img/tip-icon.png b/www/docs/static/img/tip-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..2f4bbf2f8160b6aed9dac2f5cd711876c86fe4d8 GIT binary patch literal 1057 zcmV++1m63JP)4R)pxP9^$N-`J{X`~o8$P|Uw~f#8SL z${A6{hHT*_&((OYS}+k=qjrj9IGqH}hYKmTh@aN(k~X&Ec-qFq`@gF4S^*xi#V{L= zQPEEDq2HSzl6)v_&vQ=@s9Q0E-7*s8!n%M+TbaSxrh9KJsK@^x|A07x^TNfLtDXb-I+Y>3|_-3$5?JwfV zIApEZ7!JUm%TdAyfHZzj$EYhIgC!toY@Fx$avm{z&CimL?|;Ku^)-KYMCj@upM@SQ z31snXlt|IDd?0A|mqt`9SOt%S$0Z_zzw!a8ZdelJG>;M?`n+(yUc-`L6nLT)N5rQC zHJvzSw6FNl9$zHFd8<~r!fkAnj@+PykiWy=DGP3MvcQWX;E3dOaB+2|xI{8;8ZT<= zM;G1VqFbyq5$P?@gCd&_W|BO(UKOPu>02UcP!MN-7!2r^-wD~%iCiH?Py(CjnkSJi zQ1Hf}Zh4~2gS^04?(G+9R(&&DJO16asEW$$y6M2s_S*5K54D7tTg}l+Y zJ6BzTt>ilRUi3^BSfZ|9K=kcNp}?hSCOQz!e3{NeByC+@M~Iy2THf_A6w(NP4h}XC zVFr@-&)-&3VGeT=v6ZXCM8V3$7#Z*lsF^gLpOlguY@85~51%BzNRp1-gPX=?QxOdN zl;p@7Nwn*lNVIRj9plsV4~hv@YwhTAqCD=Ep!K7xW_AD^G?|GIY6W|K*97mTk<27Y z$=qp-+eGWUsy8xZf$WGoPsPT`qgZkgEbX>5B7Bpu6{#V=f|2Y@H2t29|cS zBfc;BS^ao*W{uvJIb-y_mzkM&Z^59kdC1k@%s%;^%_@Od<*-RXhcd|W^{!aB5A+DO z3!kCrVV0ZF8%o8v6e}xQ!Nt5J=Vh&4>L)W^`#$2HjDz}HnBJ2) bu4w-N-6_VSsw`$>00000NkvXXu0mjfi2?Pe literal 0 HcmV?d00001 diff --git a/www/docs/static/img/tip.svg b/www/docs/static/img/tip.svg new file mode 100644 index 0000000000..c16aa8e326 --- /dev/null +++ b/www/docs/static/img/tip.svg @@ -0,0 +1,3 @@ + + + diff --git a/www/docs/static/img/triangle-right-dark-hover.png b/www/docs/static/img/triangle-right-dark-hover.png new file mode 100644 index 0000000000000000000000000000000000000000..f441eaf9391c1049cf73c0d0243c4a00ffa130b4 GIT binary patch literal 304 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!3HFy_x^nYq&N#aB8wRq#8g3;(KATp15l8$ zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>krr7srqa#;KEb^EMj@v>7g0l*HoZVRnLJ z%>-U2){dr<6J?WqCgm_Fr!-fvSee&7;S)UBRghG7lKl6&4JzF4z$ zrs1R{A`KXxMc>|bUV-6kY3%&MeZNy%PIonhJpShh02%lAjWOmSrB)l%IH(gj%&j29I*F9Ujr!PC{xWt~$(699e*ap?d6 literal 0 HcmV?d00001 diff --git a/www/docs/static/img/triangle-right-dark.png b/www/docs/static/img/triangle-right-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..876256769193e380a445d2ba452d87001b224199 GIT binary patch literal 297 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!3HFy_x^nYq&N#aB8wRq#8g3;(KATp15l8$ zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>j{Y7srqa#;F0hyv+t8OIR5_91f`{GLp5;WjxNkU8MOm zN4P*sV&CIa1wmidZ_<%o?Hqf3<+Uo4J+=?R{_OgAppPd{S+_(~K&Z&R?xW8K#^g6) zp;uq%{7`b8)!E-5@SB58+mjKYqdav?*p8(O~6_n!DT#4qV%3;_Cs!PC{xWt~$(697PmZA$kTj7srqa#;Fr8@-`U=wAD*JnJFl7P|&KW z?|}BFfS&hv*sid|I-55L-f?hy5Xtk^V1^0HmV1Yv7VUli|F+zR^a^J$k+q5ws@Wc% zQn)s2ma4;^$p>0b@;=@qyhFYEl(=k=>m`nm%goF%&2l%d`08kFd_1}J60@gzLP@7j z|EYbC!VeTJj&+-AY!DQr*>#7pk6pludC%gkF@*_hWr&IafS)gPm`rsP=K7rx-k4{an^LB{Ts5 DU6Ocy literal 0 HcmV?d00001 diff --git a/www/docs/static/img/triangle-right.png b/www/docs/static/img/triangle-right.png new file mode 100644 index 0000000000000000000000000000000000000000..b4e41e5664029f91cf48cd213a4aadab176ecc2f GIT binary patch literal 306 zcmeAS@N?(olHy`uVBq!ia0vp^JV4CH!3HFy_x^nYq&N#aB8wRq#8g3;(KATp15l8$ zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>l%07srqa#;Fs1`I-y_TH_bKvt)Arz#-GP zX_~8Wp|1J?=e~DkGRFcC3)wzDl{ysC6O;|XCbGgr2-M*Hf z<9P~8MXpLDlr}nFe0KR$RNrya@RKVJTZYTs6k$#`FY2zptJ8B@efuGkIouLEkL~?` zM03GpHooaGqMIAH@6iclUwP1-bSA62Z3pkA{P}MiGRx5|F`&*X#(c$1 zgRon=EWGR9iT~tU5p_UhZhmr`#jTFV0n^28daNSN9{V2xdWpf))z4*}Q$iB}1zvIR literal 0 HcmV?d00001 diff --git a/www/docs/static/img/twitter-dark.png b/www/docs/static/img/twitter-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..07dce723b2d34bdbcc94b483b60424d1fade795e GIT binary patch literal 754 zcmViO&Hp%3!q-7)P*n1dAhBh+yFYMRBlvpeW#g9f7?OEE|Dw1j|NXWw7#*Dn5Qs zHKK%!K1h80s)o^wS~HLCp6(uzPX!1^=o;AE2oafJpQg7@zu&*ob^TV;w5wLDrTGcHqB9_T znU)mRctlrAAZnvcL89s-{scmG&10F%<(@rZkhn~*Mx(?;2Gp`Y$PgweH&Ow&jgo4K32-R*^~}Qi=LjL)GWDCkUJ%$#XuSZU$W%g9j|}dot>Elcw$1>fJ!Ah>poL9Xne`dob(aEZ$*Bm+ingP zeN!yk`Ch9z#OaQV3!_e_=|BP%535H=_?cg`i^d6|llkX=nf&L?Tf0DL9r0`7s&#?) zKzrp6e`J!h>%WQ%RV-H<2xvzzb@&V?OGHrFV8NE{up*C5xbcp|XzEq+`w|CkEmVQ6_Xfs|Lwr z{;zpwRG1YzXH9%dwiH4QVFwaQfvWV`O$?Am<77d~iGMK|Z)4RCvVr&-3Cz#dSyLLu zsZHESTjrESnShV(0Em7l(oV{QA%FW9VhV}s-S%Z|(l#r^Cu+n4rxEAKB0-6dcSBY# z35CRbOzP;h z&W0RgZeR<-02i47l8DWg`>+N1u3v{`Kr2S<*y5yJ?+4Ud53+sA( + + diff --git a/www/docs/yarn.lock b/www/docs/yarn.lock index 3e6cb51ae9..1bc0a0a752 100644 --- a/www/docs/yarn.lock +++ b/www/docs/yarn.lock @@ -1663,9 +1663,9 @@ __metadata: languageName: node linkType: hard -"@docusaurus/core@latest, @docusaurus/core@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/core@npm:2.1.0" +"@docusaurus/core@npm:2.2.0, @docusaurus/core@npm:latest": + version: 2.2.0 + resolution: "@docusaurus/core@npm:2.2.0" dependencies: "@babel/core": ^7.18.6 "@babel/generator": ^7.18.7 @@ -1677,13 +1677,13 @@ __metadata: "@babel/runtime": ^7.18.6 "@babel/runtime-corejs3": ^7.18.6 "@babel/traverse": ^7.18.8 - "@docusaurus/cssnano-preset": 2.1.0 - "@docusaurus/logger": 2.1.0 - "@docusaurus/mdx-loader": 2.1.0 + "@docusaurus/cssnano-preset": 2.2.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/mdx-loader": 2.2.0 "@docusaurus/react-loadable": 5.5.2 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-common": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-common": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 "@slorber/static-site-generator-webpack-plugin": ^4.0.7 "@svgr/webpack": ^6.2.1 autoprefixer: ^10.4.7 @@ -1743,40 +1743,40 @@ __metadata: react-dom: ^16.8.4 || ^17.0.0 bin: docusaurus: bin/docusaurus.mjs - checksum: 928ad0786e83123df44f9bb523179984ad4d5520042d1c5a8bc1a5d34ee8549553439991010dfefcf364d027b8456fd861eb70b3ec98c7546a1aab3213f60940 + checksum: cb3a5b031269f7f869f18a47759edc52d88ed84a13e1ac783356c43e77030cf939d0be72372c5b347066766969f6c02ecad8613d55771b9d953a57cc12d51d29 languageName: node linkType: hard -"@docusaurus/cssnano-preset@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/cssnano-preset@npm:2.1.0" +"@docusaurus/cssnano-preset@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/cssnano-preset@npm:2.2.0" dependencies: cssnano-preset-advanced: ^5.3.8 postcss: ^8.4.14 postcss-sort-media-queries: ^4.2.1 tslib: ^2.4.0 - checksum: 30805ad1701500a3f67fec98b27a6c8c9bdb8699b5e774f790eccb8938f8ed3c8e70a487dbf6ca1c0027d04858d5e676505ab699fbc7943d581cfa9ba9a870ac + checksum: 1ee5a2ead5af98513d1c26f21fe8305eff7aedad730a4e5b1047f28d4bf14f56e7485a57e374c2615879c1bf8199ec67ffda3fd8ec3fa3c622de7a18afff6f15 languageName: node linkType: hard -"@docusaurus/logger@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/logger@npm:2.1.0" +"@docusaurus/logger@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/logger@npm:2.2.0" dependencies: chalk: ^4.1.2 tslib: ^2.4.0 - checksum: 24e123d127c10e54c40f99ccf0835b422aac7f3acf7a5b9e34ba83a3e743ce7e76183b624da0dd0fd167c20351681ff6cea58261fc1131f03feee8bd54cb25b6 + checksum: 799e94e937fe1c2a7e55a46d28b6a27bc916556e7e332bcc8a749552d43fbdc584610cc40f0d70e0dc5ef87ec143671f9b9e6449e7f20640804806bc4b19cfdf languageName: node linkType: hard -"@docusaurus/mdx-loader@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/mdx-loader@npm:2.1.0" +"@docusaurus/mdx-loader@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/mdx-loader@npm:2.2.0" dependencies: "@babel/parser": ^7.18.8 "@babel/traverse": ^7.18.8 - "@docusaurus/logger": 2.1.0 - "@docusaurus/utils": 2.1.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/utils": 2.2.0 "@mdx-js/mdx": ^1.6.22 escape-html: ^1.0.3 file-loader: ^6.2.0 @@ -1793,16 +1793,16 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 1d5ade44eedadce85140d896599c2c9ecb1fa63c9c36f50d6a24729600768860ca6be2bd6cf22dd6c93e7d9fee16031d09a5605439e2bf2969f67383ee246d8f + checksum: 38ef01363c514fc986b9168dbacd8c9ffb8973bc2c5b280ad3730bde15ca0bb87decf0c739ddd293e183aa36b42ced254b6ed8129347c02beae54d570b9297ca languageName: node linkType: hard -"@docusaurus/module-type-aliases@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/module-type-aliases@npm:2.1.0" +"@docusaurus/module-type-aliases@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/module-type-aliases@npm:2.2.0" dependencies: "@docusaurus/react-loadable": 5.5.2 - "@docusaurus/types": 2.1.0 + "@docusaurus/types": 2.2.0 "@types/history": ^4.7.11 "@types/react": "*" "@types/react-router-config": "*" @@ -1812,21 +1812,21 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 2249499a23edd9aa8c961414c912c260c2d0f11465c6fdec5e90fe33d92c57dd1f0d262382cc4d647d0d22d501d14645301a5321aaf26e3b7b6f205b45379b76 + checksum: 8c20726ef15dfdb618049a1be649e6cd7e8866672a86656160aa68988a9b44181c13f88164d6e0dc637e71fda387620f98bf03273f69ef38f28a797b2fc01c30 languageName: node linkType: hard -"@docusaurus/plugin-content-blog@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-content-blog@npm:2.1.0" +"@docusaurus/plugin-content-blog@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-content-blog@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/logger": 2.1.0 - "@docusaurus/mdx-loader": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-common": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/mdx-loader": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-common": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 cheerio: ^1.0.0-rc.12 feed: ^4.2.2 fs-extra: ^10.1.0 @@ -1839,21 +1839,21 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 173fa5b16ea08dd6eb14704f4393c720c6416272c8f52656b5a82167e3e2e1a5e8ee3474645a19a9660493d40ccc085f47948e06cdacffa426dbc9c3891e4432 + checksum: ba4b7a55c1810f90ff9923cb459b21a47ad58c225e3fcf513f83136f9beb805d99041a74bea8984e52078a95ebe0880efc2bc102cf04170b90fbbbebbd5b5939 languageName: node linkType: hard -"@docusaurus/plugin-content-docs@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-content-docs@npm:2.1.0" +"@docusaurus/plugin-content-docs@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-content-docs@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/logger": 2.1.0 - "@docusaurus/mdx-loader": 2.1.0 - "@docusaurus/module-type-aliases": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/mdx-loader": 2.2.0 + "@docusaurus/module-type-aliases": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 "@types/react-router-config": ^5.0.6 combine-promises: ^1.1.0 fs-extra: ^10.1.0 @@ -1866,116 +1866,116 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 40dd6e8f984d5c589b260bb1fd36e491cebf02fab0e972f87184ed7e5d8e8ab410256b54192e0cdc58543729dfdb62aed18bf106312115aeae37404b2e714e62 + checksum: 78af0ad5ab5800b57981845598ac46bc70564e375e7f54aad2d138f386095fab8914cbebd0bc1c87559213637b2d6f9e8fa26671080b28791120d805499e3f0d languageName: node linkType: hard -"@docusaurus/plugin-content-pages@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-content-pages@npm:2.1.0" +"@docusaurus/plugin-content-pages@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-content-pages@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/mdx-loader": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/mdx-loader": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 fs-extra: ^10.1.0 tslib: ^2.4.0 webpack: ^5.73.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: ddfcf0712edd0e0220996b43a5b35f25445fe287720b5cb67988529e472d3b9c81b67dec0c0efbfa42aba8f31ffe0987db2573c97cc0d55436ef63fe9e311eb0 + checksum: 3e63f7e9b632f4b91f8c32a17c60a036f707a2c8ca1eff738357becb0df7b06c659e3bd7642d142d393aa07be758decb34e5d6833e9f39247fe86eabee39e343 languageName: node linkType: hard -"@docusaurus/plugin-debug@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-debug@npm:2.1.0" +"@docusaurus/plugin-debug@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-debug@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 fs-extra: ^10.1.0 react-json-view: ^1.21.3 tslib: ^2.4.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: fc6d577184a08c2798788c5216c543ba1942a09f833365bd0e0caff6765ff74c54430605390a8ca11c4ca35beff64553cfa26308b18ddc3d6f4a91e0714ade5a + checksum: 48d52733a1c0651d62291aff739e1137ed807ef75df30aaad28fddf7360fa5e2b426c26059530b18e408610c7e268b42a68e3be415db3499b7b02a891afb0f94 languageName: node linkType: hard -"@docusaurus/plugin-google-analytics@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-google-analytics@npm:2.1.0" +"@docusaurus/plugin-google-analytics@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-google-analytics@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 tslib: ^2.4.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 5c9769046677dd423123c7855d16434585002bc8d30a735becbc19e199c18b810476a5c072f06e574663c3e957d48beeebe2293d702722ea41a418ada830514c + checksum: 5b46d68739d2ae97925fa53bd260712b756ffb802089d5e8df47eb40742d3779c856c303831f9c3a014b6af2ed0f4609c94874cb6e6c88583b35fa1949d54a96 languageName: node linkType: hard -"@docusaurus/plugin-google-gtag@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-google-gtag@npm:2.1.0" +"@docusaurus/plugin-google-gtag@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-google-gtag@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 tslib: ^2.4.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: e29296caab9a36439d4bae20d170191c06b989b9be5d77e05632ae7f5e296cdd3c7d04a39892b97467b9257ac7eac44402b09d5369ce4c35e82ed77a51763a4f + checksum: 3e68fe6806c6aa19498514ba137dcc99221247bec25bf31d19e09ff26091f6a027af5e9b84fa8b6554888865d8669412708c6d50f6c1aa51515b8dccc0576edd languageName: node linkType: hard -"@docusaurus/plugin-sitemap@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/plugin-sitemap@npm:2.1.0" +"@docusaurus/plugin-sitemap@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/plugin-sitemap@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/logger": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-common": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-common": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 fs-extra: ^10.1.0 sitemap: ^7.1.1 tslib: ^2.4.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: c255f0985b78afbba746675a5252c2f0bfc49472a706d1f778a0794d7ad1f3871c975e61af8516e8d6cd25d8c3cee6d075863077e7c7e4f1d89b997b8e488961 + checksum: b7fb683242205dcab31b5c36273cf80337425ef028fd17cdfb015d668d43a3b7b95f81f67c0655e573cb01c280a25c948be661da59b2ea409819395b19ffd2e4 languageName: node linkType: hard -"@docusaurus/preset-classic@latest": - version: 2.1.0 - resolution: "@docusaurus/preset-classic@npm:2.1.0" +"@docusaurus/preset-classic@npm:latest": + version: 2.2.0 + resolution: "@docusaurus/preset-classic@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/plugin-content-blog": 2.1.0 - "@docusaurus/plugin-content-docs": 2.1.0 - "@docusaurus/plugin-content-pages": 2.1.0 - "@docusaurus/plugin-debug": 2.1.0 - "@docusaurus/plugin-google-analytics": 2.1.0 - "@docusaurus/plugin-google-gtag": 2.1.0 - "@docusaurus/plugin-sitemap": 2.1.0 - "@docusaurus/theme-classic": 2.1.0 - "@docusaurus/theme-common": 2.1.0 - "@docusaurus/theme-search-algolia": 2.1.0 - "@docusaurus/types": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/plugin-content-blog": 2.2.0 + "@docusaurus/plugin-content-docs": 2.2.0 + "@docusaurus/plugin-content-pages": 2.2.0 + "@docusaurus/plugin-debug": 2.2.0 + "@docusaurus/plugin-google-analytics": 2.2.0 + "@docusaurus/plugin-google-gtag": 2.2.0 + "@docusaurus/plugin-sitemap": 2.2.0 + "@docusaurus/theme-classic": 2.2.0 + "@docusaurus/theme-common": 2.2.0 + "@docusaurus/theme-search-algolia": 2.2.0 + "@docusaurus/types": 2.2.0 peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 3f0a80a158f05adb1078f848e8fe1f559a5f117e4f5728f9346bc9d6592cdf07feaebcf44b84c80e90b79aefef81f9fef7e662dd6365d1a33706ffff97c8c314 + checksum: 4342d820ec17ace3e3138ff050ce9925f779d73d87723d1882b0106ac1d60aaa7bf1f1d2b4da571808f17454de8033b1b33f2a107e073e51ff0299e694dee151 languageName: node linkType: hard @@ -1991,33 +1991,33 @@ __metadata: languageName: node linkType: hard -"@docusaurus/remark-plugin-npm2yarn@latest": - version: 2.1.0 - resolution: "@docusaurus/remark-plugin-npm2yarn@npm:2.1.0" +"@docusaurus/remark-plugin-npm2yarn@npm:latest": + version: 2.2.0 + resolution: "@docusaurus/remark-plugin-npm2yarn@npm:2.2.0" dependencies: npm-to-yarn: ^1.0.1 tslib: ^2.4.0 unist-util-visit: ^2.0.3 - checksum: b1234bb8809cbcaa407ae673c6352e9308d16f44726d5d70f877f927c5b10d6664f3c07b32773eee04ae74a5110e362725cf2205a68dac7268c0567864abbcf5 + checksum: f01f7d221028e6503577ce2340f46a0e77352be0922d050ae1cee764dd5492e914261c829ca276ed1a0e7449ecb86293d9a81335a7a1da1bf37c9bc3b0b46478 languageName: node linkType: hard -"@docusaurus/theme-classic@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/theme-classic@npm:2.1.0" +"@docusaurus/theme-classic@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/theme-classic@npm:2.2.0" dependencies: - "@docusaurus/core": 2.1.0 - "@docusaurus/mdx-loader": 2.1.0 - "@docusaurus/module-type-aliases": 2.1.0 - "@docusaurus/plugin-content-blog": 2.1.0 - "@docusaurus/plugin-content-docs": 2.1.0 - "@docusaurus/plugin-content-pages": 2.1.0 - "@docusaurus/theme-common": 2.1.0 - "@docusaurus/theme-translations": 2.1.0 - "@docusaurus/types": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-common": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/mdx-loader": 2.2.0 + "@docusaurus/module-type-aliases": 2.2.0 + "@docusaurus/plugin-content-blog": 2.2.0 + "@docusaurus/plugin-content-docs": 2.2.0 + "@docusaurus/plugin-content-pages": 2.2.0 + "@docusaurus/theme-common": 2.2.0 + "@docusaurus/theme-translations": 2.2.0 + "@docusaurus/types": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-common": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 "@mdx-js/react": ^1.6.22 clsx: ^1.2.1 copy-text-to-clipboard: ^3.0.1 @@ -2034,20 +2034,20 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 6062dc0c1047656f5b25fa3c8c4790a1ebc0e12765d3ba4a14c58c7f8b3475e7c5cb292e771e9195d012a41e91582415c89e1ab7c954bdc6b2479c423e924964 + checksum: 75a25836d50aadaa48f4410f1cac0ce5cd4c8f0c2d1519311e8b0b727625247672e7ad8e6f4fe411fdb70744d39ca9370278a4b5e32890f713802971cda47d73 languageName: node linkType: hard -"@docusaurus/theme-common@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/theme-common@npm:2.1.0" +"@docusaurus/theme-common@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/theme-common@npm:2.2.0" dependencies: - "@docusaurus/mdx-loader": 2.1.0 - "@docusaurus/module-type-aliases": 2.1.0 - "@docusaurus/plugin-content-blog": 2.1.0 - "@docusaurus/plugin-content-docs": 2.1.0 - "@docusaurus/plugin-content-pages": 2.1.0 - "@docusaurus/utils": 2.1.0 + "@docusaurus/mdx-loader": 2.2.0 + "@docusaurus/module-type-aliases": 2.2.0 + "@docusaurus/plugin-content-blog": 2.2.0 + "@docusaurus/plugin-content-docs": 2.2.0 + "@docusaurus/plugin-content-pages": 2.2.0 + "@docusaurus/utils": 2.2.0 "@types/history": ^4.7.11 "@types/react": "*" "@types/react-router-config": "*" @@ -2059,22 +2059,22 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 56e9927e38d20f2ac5c4d4db5ccb39310784a9f677e02218f389c5877a1bdb0a66f76466d2f8741128fb683710f811b9f4035c5e05f6e9e153c22f4c2674ac15 + checksum: d900211e84a967476d34d8e1250c21d621ccf1028a33a133367d1b43e4e896e806360d69bcc316bb7603682bdc71f03e579934980f23f5ba97fcf29e0cd69fbd languageName: node linkType: hard -"@docusaurus/theme-search-algolia@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/theme-search-algolia@npm:2.1.0" +"@docusaurus/theme-search-algolia@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/theme-search-algolia@npm:2.2.0" dependencies: "@docsearch/react": ^3.1.1 - "@docusaurus/core": 2.1.0 - "@docusaurus/logger": 2.1.0 - "@docusaurus/plugin-content-docs": 2.1.0 - "@docusaurus/theme-common": 2.1.0 - "@docusaurus/theme-translations": 2.1.0 - "@docusaurus/utils": 2.1.0 - "@docusaurus/utils-validation": 2.1.0 + "@docusaurus/core": 2.2.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/plugin-content-docs": 2.2.0 + "@docusaurus/theme-common": 2.2.0 + "@docusaurus/theme-translations": 2.2.0 + "@docusaurus/utils": 2.2.0 + "@docusaurus/utils-validation": 2.2.0 algoliasearch: ^4.13.1 algoliasearch-helper: ^3.10.0 clsx: ^1.2.1 @@ -2086,23 +2086,23 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: 58f37a3310b4e8b63717eb4f350a0d096ef9bfc91887a21bdfc9680d75b1d381b333a75f56e01612ef45b96e8e68ee0994babe4216f65aa29326df2bcf9d07e1 + checksum: 027189d85228c313725548c20bed154d0bed16a2a16814910036583b026fbf611c138743f2a9984e49df6867ebf2011f7e9e1b22344979331e165742b0033dd5 languageName: node linkType: hard -"@docusaurus/theme-translations@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/theme-translations@npm:2.1.0" +"@docusaurus/theme-translations@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/theme-translations@npm:2.2.0" dependencies: fs-extra: ^10.1.0 tslib: ^2.4.0 - checksum: 1aa09e11e2e1f30c353f720de71e5807563edf386805a85cd7faaedca9cf6083160db807c5ccf77927065f1152bef904fd00a87c891a7cfbffedd314a4311529 + checksum: 58719927df60b9ec3c522f6def19195c2ef857316fc19dbeac443e1d9002501cd29d7ab960a44e7425cca20c9bb66f6f80bcbc02cf4c847a5c24b85e43c5a50b languageName: node linkType: hard -"@docusaurus/types@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/types@npm:2.1.0" +"@docusaurus/types@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/types@npm:2.2.0" dependencies: "@types/history": ^4.7.11 "@types/react": "*" @@ -2115,13 +2115,13 @@ __metadata: peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 - checksum: ded514982e499111377db6ada32936644b29b51f34d8a3f762461603c2db17bc260629cdeab09f30fd493f035039f1b035fe8b9c86e717279e418c4b97724b1a + checksum: 96ba6b72f724012a8ed099c0cbf3ff348dd1316850a66c849f0c729044d1c21773345ad659a748473ce47a7b9a20a4f49c6ec86780c49cb19cd02bdb353c3225 languageName: node linkType: hard -"@docusaurus/utils-common@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/utils-common@npm:2.1.0" +"@docusaurus/utils-common@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/utils-common@npm:2.2.0" dependencies: tslib: ^2.4.0 peerDependencies: @@ -2129,28 +2129,28 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 11991a3327f3278798469c55c1374a2311bf0040ead0e8c2fb320861fce246db8fa6b6dd49a5b9278b87d53dc12e93504e8ba8b2719bb1332385a39d882cc9c2 + checksum: e546e77348da6b41bb468f9f1fe0067d0833fdd33a0c9f6a271e39deaf6a21fb7990b342c1e78c44bcd4ef73bce4edf4a1567628b0916638cdd8d52c95f81748 languageName: node linkType: hard -"@docusaurus/utils-validation@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/utils-validation@npm:2.1.0" +"@docusaurus/utils-validation@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/utils-validation@npm:2.2.0" dependencies: - "@docusaurus/logger": 2.1.0 - "@docusaurus/utils": 2.1.0 + "@docusaurus/logger": 2.2.0 + "@docusaurus/utils": 2.2.0 joi: ^17.6.0 js-yaml: ^4.1.0 tslib: ^2.4.0 - checksum: 52664daff9543518b3c704990d82cf499864698e1c4b585d3b533f9f9eb55297ddf055832e15c3804ba844cb49ee3f0ad03a2b2c684acef8ed82a53a54679146 + checksum: 9532121133118dc5473c464456bcb96da295c2c83162f9493fd30bb7623b85a81a2fefbdaea50b4babfa12e7c73f61557b3e1b644025cec1ba793d1fa63db092 languageName: node linkType: hard -"@docusaurus/utils@npm:2.1.0": - version: 2.1.0 - resolution: "@docusaurus/utils@npm:2.1.0" +"@docusaurus/utils@npm:2.2.0": + version: 2.2.0 + resolution: "@docusaurus/utils@npm:2.2.0" dependencies: - "@docusaurus/logger": 2.1.0 + "@docusaurus/logger": 2.2.0 "@svgr/webpack": ^6.2.1 file-loader: ^6.2.0 fs-extra: ^10.1.0 @@ -2170,7 +2170,7 @@ __metadata: peerDependenciesMeta: "@docusaurus/types": optional: true - checksum: 0eb3faae15a7508acdfc37f59799ba4de0594d7d2f576b4cc7d06041981c29c6f360e4f6583327024182652dc01b5db0016fb1eb7d7be6a9109d99a2bc4ab982 + checksum: ddcc56cba1b592396b826f82c489d9427a9462d0d30b488f7abe622fa4d6678c84ffc80ecbf4df19eba014cae77e00a93993b9dbd4a7c3e506419e9b76e2d6e2 languageName: node linkType: hard