diff --git a/README.md b/README.md index 67403642f..839a65dce 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,13 @@ the # Highlighted features -- [Vector Search](https://docs.oramasearch.com/usage/search/vector-search) -- [Search filters](https://docs.oramasearch.com/usage/search/filters) -- [Geosearch](https://docs.oramasearch.com/usage/search/geosearch) -- [Facets](https://docs.oramasearch.com/usage/search/facets) -- [Fields Boosting](https://docs.oramasearch.com/usage/search/fields-boosting) -- [Typo tolerance](https://docs.oramasearch.com/usage/search/introduction#typo-tolerance) -- [Exact match](https://docs.oramasearch.com/usage/search/introduction#exact-match) +- [Vector Search](https://docs.oramasearch.com/open-source/usage/search/vector-search) +- [Search filters](https://docs.oramasearch.com/open-source/usage/search/filters) +- [Geosearch](https://docs.oramasearch.com/open-source/usage/search/geosearch) +- [Facets](https://docs.oramasearch.com/open-source/usage/search/facets) +- [Fields Boosting](https://docs.oramasearch.com/open-source/usage/search/fields-boosting) +- [Typo tolerance](https://docs.oramasearch.com/open-source/usage/search/introduction#typo-tolerance) +- [Exact match](https://docs.oramasearch.com/open-source/usage/search/introduction#exact-match) - [Stemming and tokenization in 28 languages](https://docs.oramasearch.com/text-analysis/stemming) # Installation diff --git a/packages/docs/components/DocCards/index.jsx b/packages/docs/components/DocCards/index.jsx new file mode 100644 index 000000000..ec4c77967 --- /dev/null +++ b/packages/docs/components/DocCards/index.jsx @@ -0,0 +1,62 @@ +import Link from 'next/link' +import clx from 'classnames' +import { useDark } from '../../hooks/useDark.js' +import { BsArrowRightShort } from 'react-icons/bs' + +const docs = [ + { + name: 'Open-Source Docs', + description: 'Documentation for Orama\'s open-source projects', + link: '/open-source' + }, + { + name: 'Orama Cloud Docs', + description: 'Documentation and guides for Orama Cloud', + link: '/cloud' + } +] + +const bgOSS = { + dark: 'radial-gradient(77.55% 79.46% at 5.73% 0%, #6A6279 0%, rgba(16, 17, 17, 0.00) 100%)', + light: 'radial-gradient(77.55% 79.46% at 5.73% 0%, #EBE8F0 0%, #FFF 100%)' +} + +const bgCloud = { + dark: 'radial-gradient(77.55% 79.46% at 5.73% 0%, #4C3088 0%, rgba(16, 17, 17, 0.00) 100%)', + light: 'radial-gradient(77.55% 79.46% at 5.73% 0%, #D0A6F1 0%, rgba(255, 255, 255, 0.00) 100%)' +} + +export function DocCards () { + const isDark = useDark() + + return ( +
+ {docs.map((doc, index) => ( + +
+

+ {doc.name} +

+

+ {doc.description} +

+ +
+
+ +
+
+
+ + ))} +
+ ) +} \ No newline at end of file diff --git a/packages/docs/components/Navigation/index.jsx b/packages/docs/components/Navigation/index.jsx new file mode 100644 index 000000000..35bb090c8 --- /dev/null +++ b/packages/docs/components/Navigation/index.jsx @@ -0,0 +1,7 @@ +import { Navbar } from 'nextra-theme-docs' + +export function Navigation (props) { + return ( + + ) +} \ No newline at end of file diff --git a/packages/docs/components/Screenshot/index.jsx b/packages/docs/components/Screenshot/index.jsx new file mode 100644 index 000000000..84266b21d --- /dev/null +++ b/packages/docs/components/Screenshot/index.jsx @@ -0,0 +1,11 @@ +import Image from 'next/image' +import Zoom from 'react-medium-image-zoom' +import 'react-medium-image-zoom/dist/styles.css' + +export function Screenshot({ src, alt }) { + return ( + + {alt} + + ) +} \ No newline at end of file diff --git a/packages/docs/hooks/useDark.js b/packages/docs/hooks/useDark.js new file mode 100644 index 000000000..de650d5a7 --- /dev/null +++ b/packages/docs/hooks/useDark.js @@ -0,0 +1,12 @@ +import { useState, useEffect } from 'react' +import { useTheme } from 'next-themes' + +export const useDark = () => { + const { resolvedTheme } = useTheme() + const [isDark, setIsDark] = useState(false) + useEffect(() => { + setIsDark(resolvedTheme === 'dark') + return () => false + }, [resolvedTheme]) + return isDark +} diff --git a/packages/docs/package.json b/packages/docs/package.json index 529703f5d..aa68e2a87 100644 --- a/packages/docs/package.json +++ b/packages/docs/package.json @@ -18,6 +18,7 @@ "@orama/orama": "workspace:*", "@orama/plugin-match-highlight": "workspace:*", "@orama/plugin-nextra": "workspace:*", + "classnames": "^2.3.2", "next": "^13.3.0", "next-sitemap": "^4.2.3", "nextra": "^2.4.0", @@ -26,6 +27,13 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-icons": "^4.8.0", + "react-medium-image-zoom": "^5.1.8", "rehype-raw": "^6.1.1" + }, + "devDependencies": { + "autoprefixer": "^10.4.16", + "install": "^0.13.0", + "postcss": "^8.4.31", + "tailwindcss": "^3.3.3" } } diff --git a/packages/docs/pages/_app.jsx b/packages/docs/pages/_app.jsx index 28fbd96ba..0d8d42f8d 100644 --- a/packages/docs/pages/_app.jsx +++ b/packages/docs/pages/_app.jsx @@ -1,4 +1,5 @@ import Script from 'next/script' +import '../styles.css' export default function App({ Component, pageProps }) { const googleAnalyticsID = process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID diff --git a/packages/docs/pages/_meta.json b/packages/docs/pages/_meta.json index 8c643d196..030988bd5 100644 --- a/packages/docs/pages/_meta.json +++ b/packages/docs/pages/_meta.json @@ -1,55 +1,21 @@ { - "search-reference": { - "type": "menu", - "title": "Search Features", - "items": { - "vector-search": { - "title": "Vector Search", - "href": "/usage/search/vector-search" - }, - "typo-tolerance": { - "title": "Typo Tolerance", - "href": "/usage/search/introduction#typo-tolerance" - }, - "geosearch": { - "title": "Geosearch", - "href": "/usage/search/geosearch" - }, - "exact-match": { - "title": "Exact Match", - "href": "/usage/search/introduction#exact-match" - }, - "fields-boosting": { - "title": "Fields Boosting", - "href": "/usage/search/fields-boosting" - }, - "facets": { - "title": "Facets", - "href": "/usage/search/facets" - }, - "filters": { - "title": "Filters", - "href": "/usage/search/filters" - } - } - }, - "nextra_link": { - "type": "page", - "title": "Slack Support ↗", - "href": "https://orama.to/slack", - "newWindow": true + "*": { + "type": "page" }, - "--- Getting Started": { - "title": "Getting Started", - "type": "separator" + "index": { + "display": "hidden", + "theme": { + "layout": "full", + "sidebar": false, + "toc": false + } }, - "index": "Introduction", - "usage": "Usage", - "--- Advanced": { - "title": "Advanced", - "type": "separator" + "open-source": { + "display": "hidden", + "title": "Open Source" }, - "internals": "Internals", - "plugins": "Plugins", - "text-analysis": "Text Analysis" -} + "cloud": { + "display": "hidden", + "title": "Cloud" + } +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/_meta.json b/packages/docs/pages/cloud/_meta.json new file mode 100644 index 000000000..2616d2539 --- /dev/null +++ b/packages/docs/pages/cloud/_meta.json @@ -0,0 +1,27 @@ +{ + "--- Orama Cloud": { + "title": "Orama Cloud", + "type": "separator" + }, + "index": "Introduction", + "understanding-orama": "Understanding Orama", + "--- Guides": { + "title": "Guides", + "type": "separator" + }, + "indexes": "Working with Indexes", + "data-sources": "Data Sources", + "integrating-orama-cloud": "Integrating Orama Cloud", + "slack_support": { + "type": "page", + "title": "Slack Support ↗", + "href": "https://orama.to/slack", + "newWindow": true + }, + "oss_docs": { + "type": "page", + "title": "Open Source Docs", + "href": "https://docs.oramasearch.com", + "newWindow": false + } +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/_meta.json b/packages/docs/pages/cloud/data-sources/_meta.json new file mode 100644 index 000000000..5e82f4f34 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/_meta.json @@ -0,0 +1,4 @@ +{ + "native-integrations": "Native integrations", + "custom": "Custom integrations" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/custom/_meta.json b/packages/docs/pages/cloud/data-sources/custom/_meta.json new file mode 100644 index 000000000..76b632f11 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/custom/_meta.json @@ -0,0 +1,6 @@ +{ + "rest-api": "REST API", + "webhook": "Webhook", + "csv-file": "CSV File", + "json-file": "JSON File" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/custom/csv-file.mdx b/packages/docs/pages/cloud/data-sources/custom/csv-file.mdx new file mode 100644 index 000000000..16c1d19bf --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/custom/csv-file.mdx @@ -0,0 +1 @@ +# Import a CSV file to Orama Cloud \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/custom/json-file.mdx b/packages/docs/pages/cloud/data-sources/custom/json-file.mdx new file mode 100644 index 000000000..fa3395a2d --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/custom/json-file.mdx @@ -0,0 +1 @@ +# Import a JSON file to Orama Cloud \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/custom/rest-api.mdx b/packages/docs/pages/cloud/data-sources/custom/rest-api.mdx new file mode 100644 index 000000000..606a34403 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/custom/rest-api.mdx @@ -0,0 +1 @@ +# Connect Orama Cloud to a REST API \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/custom/webhooks.mdx b/packages/docs/pages/cloud/data-sources/custom/webhooks.mdx new file mode 100644 index 000000000..6a15ba866 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/custom/webhooks.mdx @@ -0,0 +1 @@ +# Feed via WebHooks \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/native-integrations/_meta.json b/packages/docs/pages/cloud/data-sources/native-integrations/_meta.json new file mode 100644 index 000000000..91c6212c7 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/native-integrations/_meta.json @@ -0,0 +1,5 @@ +{ + "introduction": "Introduction", + "shopify": "Shopify", + "docusaurus": "Docusaurus" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/native-integrations/docusaurus.mdx b/packages/docs/pages/cloud/data-sources/native-integrations/docusaurus.mdx new file mode 100644 index 000000000..fab878999 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/native-integrations/docusaurus.mdx @@ -0,0 +1 @@ +# Connect Orama Cloud to Docusaurus \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/native-integrations/introduction.mdx b/packages/docs/pages/cloud/data-sources/native-integrations/introduction.mdx new file mode 100644 index 000000000..8153adfb4 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/native-integrations/introduction.mdx @@ -0,0 +1,15 @@ +# Native Integrations + +With Orama, you can integrate with every external system, library, and API. + +While we let you build your own integrations via our **custom integrations** feature, we also provide a set of native integrations that you can use out of the box. + +At the time of writing this, we have the following native integrations: + +- [**Shopify**](/cloud/data-sources/native-integrations/shopify) +- [**Docusaurus**](/cloud/data-sources/native-integrations/docusaurus) (Coming soon) +- [**Nextra**](/cloud/data-sources/native-integrations/nextra) (Coming soon) + +When available, we suggest using native integrations over custom integrations, as they are highly optimized and provide a better developer experience, performance, and maintainability. + +We're working on adding more native integrations, so if you have any suggestions, please let us know at [info@oramasearch.com](mailto:info@oramasearch.com)! \ No newline at end of file diff --git a/packages/docs/pages/cloud/data-sources/native-integrations/shopify.mdx b/packages/docs/pages/cloud/data-sources/native-integrations/shopify.mdx new file mode 100644 index 000000000..0abc79287 --- /dev/null +++ b/packages/docs/pages/cloud/data-sources/native-integrations/shopify.mdx @@ -0,0 +1,115 @@ +import { Screenshot } from '../../../../components/Screenshot' + +# Connect Orama Cloud to Shopify + +Orama Cloud integrates natively with Shopify via the **official Orama data source**. \ +This guide will walk you through the steps to connect your Shopify store to Orama Cloud. + +You will need to have a Shopify account to use this integration. If you don't have one, you'll be able to create one during the installation process. + +This integration is compatible with the **Orama Free plan**. You don't need a credit card to use it. + +## Requirements + +To connect your Shopify store to Orama Cloud, you will need to have a Shopify account and a Shopify pro plan. + +If you already have a Shopify account and storefront, you can use it. If you don't have one, you'll be able to create one during the installation process. + +In this guide, we will show you how to get the following required data from Shopify: + +- **Shopify Access Token** \ +Learn how to get your Shopify access token [here](#getting-your-shopify-access-token). +- **Shopify Shop Domain** \ +Your Shopify store subdomain in the following format: `[your-shopify-store-subdomain].myshopify.com` + +Once you have these two pieces of information, you will be able to connect your Shopify store to Orama Cloud. + +## Getting your Shopify Access Token + +A Shopify access token is utilized to validate requests made to the Shopify API, ensuring secure interaction with the API. + +Orama will employ your Shopify access token with read-only access to retrieve and index your store data in Orama Cloud. + +You can follow the [official Shopify documentation](https://shopify.dev/docs/apps/auth/admin-app-access-tokens) to generate a private app and get your access token. + +As an alternative, you can install the official [headless](https://apps.shopify.com/headless) app, which will simplify the process of generating a private app and getting your access token: + + + +Clicking on "Install" will take you to the installation process. Click on "Add to sales channel" to finally install the app: + + + +Now you need to create a new storefront. Click on "Create storefront": + + + +Now that you created a new storefront, you will be presented with the following screen. + +In the "Storefront API" section, click on "Manage" to access your storefront API settings. + + + +You can finally copy the access token from the "Public access token" field: + + + +If you need to refer to the public access token again, you can go to `https://[your-shopify-store-subdomain].myshopify.com/admin/headless_storefronts`. + + +## Connecting Shopify to Orama + +Now that you have your Shopify access token, you can create an index on Orama Cloud. + +To do that, go to your [dashboard](https://cloud.oramasearch.com/indexes) and click on "Create new": + + + +Select "Shopify" as the data source, add a new name for your index, and click on "Create index": + + + +Now you need to add your Shopify access token and shop domain to your index: + + + +Once you click on "Save and deploy", Orama will start indexing your Shopify store data. + + + +Congrats! You have successfully connected your Shopify store to Orama Cloud. From now on, Orama will check your Shopify store for updates every minute. + +## Integrating Orama Cloud into your app + +Now that you have your index deployed, you can start using it in your app. + +Orama Cloud provides an official SDK for JavaScript that runs on every JavaScript runtime. You can use it to query your data. + +To learn more about the SDK, check out the [documentation](/cloud/integrating-orama-cloud/javascript-sdk). \ No newline at end of file diff --git a/packages/docs/pages/cloud/index.mdx b/packages/docs/pages/cloud/index.mdx new file mode 100644 index 000000000..19b31bfc8 --- /dev/null +++ b/packages/docs/pages/cloud/index.mdx @@ -0,0 +1,46 @@ +import { Tab, Tabs, Card, Cards } from 'nextra-theme-docs' +import { FaShopify } from 'react-icons/fa' +import { SiDocusaurus, SiJson } from 'react-icons/si' +import { MdHttp, MdOutlineWebhook } from 'react-icons/md' +import { BsFiletypeCsv } from 'react-icons/bs' + +# Getting Started with Orama Cloud + +Orama is a next-generation full-text and vector search engine, highly optimized for speed and low latency. + +With Orama Cloud, you can easily deploy your data to 300 global locations, in 100 countries worldwide in a matter of minutes. + +Get started by connecting your data source to Orama Cloud: + + + } + title="Connect to Shopify" + href="/cloud/data-sources/native-integrations/shopify" + /> + {/* } + title="Connect to Docusaurus" + href="/cloud/data-sources/native-integrations/docusaurus" + /> */} + } + title="Feed via WebHooks" + href="/cloud/data-sources/custom/webhooks" + /> + } + title="Connect to REST API" + href="/cloud/data-sources/custom/rest-api" + /> + } + title="Import JSON file" + href="/cloud/data-sources/custom/json-file" + /> + } + title="Import CSV file" + href="/cloud/data-sources/custom/csv-file" + /> + \ No newline at end of file diff --git a/packages/docs/pages/cloud/indexes/_meta.json b/packages/docs/pages/cloud/indexes/_meta.json new file mode 100644 index 000000000..a9b8d03dc --- /dev/null +++ b/packages/docs/pages/cloud/indexes/_meta.json @@ -0,0 +1,5 @@ +{ + "create-a-new-index": "Create a new index", + "edit-an-existing-index": "Edit an index", + "delete-an-index": "Delete an index" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/indexes/create-a-new-index.mdx b/packages/docs/pages/cloud/indexes/create-a-new-index.mdx new file mode 100644 index 000000000..a698de0eb --- /dev/null +++ b/packages/docs/pages/cloud/indexes/create-a-new-index.mdx @@ -0,0 +1,3 @@ +# Create a new index + +With Orama Cloud, you can create as many indexes as you want. \ No newline at end of file diff --git a/packages/docs/pages/cloud/indexes/delete-an-index.mdx b/packages/docs/pages/cloud/indexes/delete-an-index.mdx new file mode 100644 index 000000000..f087324ba --- /dev/null +++ b/packages/docs/pages/cloud/indexes/delete-an-index.mdx @@ -0,0 +1 @@ +# Delete an index \ No newline at end of file diff --git a/packages/docs/pages/cloud/indexes/edit-an-existing-index.mdx b/packages/docs/pages/cloud/indexes/edit-an-existing-index.mdx new file mode 100644 index 000000000..4bfa11af7 --- /dev/null +++ b/packages/docs/pages/cloud/indexes/edit-an-existing-index.mdx @@ -0,0 +1 @@ +# Edit an existing index \ No newline at end of file diff --git a/packages/docs/pages/cloud/integrating-orama-cloud/_meta.json b/packages/docs/pages/cloud/integrating-orama-cloud/_meta.json new file mode 100644 index 000000000..751f10800 --- /dev/null +++ b/packages/docs/pages/cloud/integrating-orama-cloud/_meta.json @@ -0,0 +1,3 @@ +{ + "javascript-sdk": "JavaScript SDK" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/integrating-orama-cloud/javascript-sdk.mdx b/packages/docs/pages/cloud/integrating-orama-cloud/javascript-sdk.mdx new file mode 100644 index 000000000..c566db7c7 --- /dev/null +++ b/packages/docs/pages/cloud/integrating-orama-cloud/javascript-sdk.mdx @@ -0,0 +1,71 @@ +import { Screenshot } from '../../../components/Screenshot' + +# JavaScript SDK + +Orama Cloud provides an official JavaScript SDK to help you integrate your Orama indexes into your JavaScript application. + +## Installation + +You can install the SDK using `npm`, `yarn`, `pnpm`, `bun`, or any other package manager of your choice: + +```bash copy +npm i @oramacloud/client +``` + +When developing using Deno, you can import the SDK using the `npm` namespace: + +```typescript copy +import { OramaClient } from 'npm:@oramacloud/client' +``` + +This SDK aims to be 100% compatible with every JavaScript environment, including Node.js, Deno, Bun, and browsers. + +## Usage + +The SDK provides an `OramaClient` class that you can use to interact with the Orama Cloud API. + +From there, you can connect to the Orama Cloud API and start making requests: + +```typescript copy +import { OramaClient } from '@oramacloud/client' + +const client = new OramaClient({ + endpoint: '', + api_key: '' +}) +``` + +You can always find your public API key and endpoint in the Orama Dashboard. Here is an example of what it looks like: + + + +Remember, the API key and endpoint are public, so you can safely include them in your frontend application. + +## API + +The SDK provides a very simple API to interact with the Orama Cloud API. Here is a list of all the methods available: + +### Performing a full-text search query + +The Orama Cloud SDK wraps the [open source search method](/open-source/usage/search/introduction), maintaining backward compatibility with the Open Source API. + +```typescript copy +import { OramaClient } from '@oramacloud/client' + +const client = new OramaClient({ + endpoint: '', + api_key: '' +}) + +const results = await client.search({ + term: 'red shoes', + where: { + price: { + gt: 99.99 + } + } +}) +``` \ No newline at end of file diff --git a/packages/docs/pages/cloud/understanding-orama/_meta.json b/packages/docs/pages/cloud/understanding-orama/_meta.json new file mode 100644 index 000000000..a9235881f --- /dev/null +++ b/packages/docs/pages/cloud/understanding-orama/_meta.json @@ -0,0 +1,4 @@ +{ + "index": "Introduction", + "indexes": "Indexes" +} \ No newline at end of file diff --git a/packages/docs/pages/cloud/understanding-orama/index.mdx b/packages/docs/pages/cloud/understanding-orama/index.mdx new file mode 100644 index 000000000..2a38dea38 --- /dev/null +++ b/packages/docs/pages/cloud/understanding-orama/index.mdx @@ -0,0 +1,5 @@ +# Understanding Orama Cloud + +Orama Cloud brings **Orama** to the next level. + +In just a few minutes, you can deploy a new [Orama index](/understanding-orama-cloud/indexes) to **300** global locations in **100** countries all over the world. \ No newline at end of file diff --git a/packages/docs/pages/cloud/understanding-orama/indexes.mdx b/packages/docs/pages/cloud/understanding-orama/indexes.mdx new file mode 100644 index 000000000..e788eaa7c --- /dev/null +++ b/packages/docs/pages/cloud/understanding-orama/indexes.mdx @@ -0,0 +1,54 @@ +# Orama Cloud Indexes + +An Orama index is essentially a collection of Orama documents that share the following properties: + +- **Schema** \ +All documents in a given index must follow the same schema. +- **Language** \ +Every index is associated with a language. This is used to determine the language of the documents in the index and to apply language-specific analyzers at index time and at search time. +- **Components** \ +A component is a building block of an index. An example of component can be a tokenizer, stemmer, or a collection of stop-words. + +Depending on your subscription, you may have more or less limitations when it comes to indexes. +,, +| Subscription | Max. Indexes | Max. Documents | Max. Size | Max. data size in aggregate | +| ------------ | -------------------- | ---------------- | --------- | --------------------------- | +| Free | Unlimited | 10,000 | 10 MB | 100 GB | +| Pro | Unlimited | Unlimited | Unlimited | Unlimited | +| Enterprise | Unlimited | Unlimited | Unlimited | Unlimited | + +Regardless of your subscription, you can create as many indexes as you want, as long as they don't exceed the maximum data size in aggregate. + +By _**maximum data size in aggregate**_, we mean the sum of the sizes of all the documents in all the indexes you have created. + +## Index Types + +Orama Cloud integrates natively with different data sources. + +Every native integration between Orama Cloud and an external data source will lead to a highly optimized index, +where the main purpose is to provide a fast and reliable search experience, with minimal configuration. + +### Native Integrations + +Orama Cloud integrates natively with many different data sources, including: + +- [Shopify](/cloud/guide/data-sources/shopify) +- [Docusaurus](/cloud/guide/data-sources/docusaurus) +- _Strapi (coming soon)_ +- _Contentful (coming soon)_ +- _Storyblok (coming soon)_ + +And many more to come. + +### Custom Integrations + +You can always create a custom integration with your own data source. Orama Cloud currently supports the following data sources: + +- [REST API](/cloud/guide/data-sources/rest-api) \ +You can index data from a REST API. Orama Cloud will periodically fetch the data from the API and index it. +- [WebHooks](/cloud/guide/data-sources/webhooks) \ +You can index data from a WebHook. Orama Cloud will index the data every time the WebHook is triggered. +- [JSON File](/cloud/guide/data-sources/json-file) \ +You can upload a JSON file to Orama Cloud, and it will be indexed automatically. +- [CSV File](/cloud/guide/data-sources/csv-file) \ +You can upload a CSV file to Orama Cloud, and it will be indexed automatically. \ No newline at end of file diff --git a/packages/docs/pages/index.mdx b/packages/docs/pages/index.mdx index 4a4b48ff5..b553beeb3 100644 --- a/packages/docs/pages/index.mdx +++ b/packages/docs/pages/index.mdx @@ -1,141 +1,35 @@ -import { Tab, Tabs, Card, Cards } from 'nextra-theme-docs' -import { BsDatabaseFillAdd, BsCodeSlash, BsPlugin } from 'react-icons/bs' -import { AiFillFileAdd, AiOutlineSearch, AiFillDelete } from 'react-icons/ai' - -# Getting Started with Orama - -Orama is a fast, batteries-included, full-text and vector search engine entirely written in TypeScript, with zero dependencies.

- - -
- -Get started with just a few lines of code: - - - } - title="Create a new database" - href="/usage/create" - /> - } - title="Insert data" - href="/usage/insert" - /> - } - title="Search" - href="/usage/search/introduction" - /> - } - title="Remove data" - href="/usage/remove" - /> - } - title="Extend Orama" - href="/internals/components" - /> - } - title="Use Plugins" - href="/plugins" - /> - - - - -## Requirements - -A JavaScript runtime is the **only** requirement. Orama has been designed to work on any runtime and has no dependencies. - -## Installation - -You can install Orama using npm, yarn, pnpm: - - - - ```bash copy - npm install @orama/orama - ``` - - - ```bash copy - yarn add @orama/orama - ``` - - - ```bash copy - pnpm add @orama/orama - ``` - - - -Or import it directly in a browser module: - -```html copy - - - - - -``` - -## Basic usage - -```ts copy -import { create, search, insert } from '@orama/orama' - -const db = await create({ - schema: { - name: 'string', - description: 'string', - price: 'number', - meta: { - rating: 'number', - }, - }, -}) - -await insert(db, { - name: 'Wireless Headphones', - description: 'Experience immersive sound quality with these noise-cancelling wireless headphones.', - price: 99.99, - meta: { - rating: 4.5, - }, -}) - -const searchResult = await search(db, { - term: 'headphones', -}) - -console.log(searchResult.hits.map((hit) => hit.document)) -``` - -For more information, check out the [Usage](/usage/create) section. - -# CommonJS Imports - -Orama ships **ESM** modules by default. This allows us to move faster when providing new features and bug fixes, as well as using the `"exports"` field in `package.json` to provide a better developer experience. - -CommonJS imports are still supported, but we suggest you to migrate to ESM. - -# Community Rewards - -![Orama Community Rewards](/misc/community-rewards.png) - -Are you using Orama in production? Have you written an article or made a YouTube video on Orama? [Contact us](mailto:info@oramasearch.com) to get some Orama swag in return! +import { Navigation } from '../components/Navigation' +import { useDark } from '../hooks/useDark' +import { DocCards } from '../components/DocCards' + +export default function Home(props) { + const isDark = useDark() + + return ( + <> +
+
+ +
+

+ Getting started with Orama +

+

+ Run unlimited full-text and vector search queries on the world's first Global Search Network. +

+
+ +
+
+ + ) + +} diff --git a/packages/docs/pages/open-source/_meta.json b/packages/docs/pages/open-source/_meta.json new file mode 100644 index 000000000..f011518a1 --- /dev/null +++ b/packages/docs/pages/open-source/_meta.json @@ -0,0 +1,55 @@ +{ + "search-reference": { + "type": "menu", + "title": "Search Features", + "items": { + "vector-search": { + "title": "Vector Search", + "href": "/open-source/usage/search/vector-search" + }, + "typo-tolerance": { + "title": "Typo Tolerance", + "href": "/open-source/usage/search/introduction#typo-tolerance" + }, + "geosearch": { + "title": "Geosearch", + "href": "/open-source/usage/search/geosearch" + }, + "exact-match": { + "title": "Exact Match", + "href": "/open-source/usage/search/introduction#exact-match" + }, + "fields-boosting": { + "title": "Fields Boosting", + "href": "/open-source/usage/search/fields-boosting" + }, + "facets": { + "title": "Facets", + "href": "/open-source/usage/search/facets" + }, + "filters": { + "title": "Filters", + "href": "/open-source/usage/search/filters" + } + } + }, + "nextra_link": { + "type": "page", + "title": "Slack Support ↗", + "href": "https://orama.to/slack", + "newWindow": true + }, + "--- Getting Started": { + "title": "Getting Started", + "type": "separator" + }, + "index": "Introduction", + "usage": "Usage", + "--- Advanced": { + "title": "Advanced", + "type": "separator" + }, + "internals": "Internals", + "plugins": "Plugins", + "text-analysis": "Text Analysis" +} diff --git a/packages/docs/pages/open-source/index.mdx b/packages/docs/pages/open-source/index.mdx new file mode 100644 index 000000000..3346eed5b --- /dev/null +++ b/packages/docs/pages/open-source/index.mdx @@ -0,0 +1,151 @@ +import { Tab, Tabs, Card, Cards } from 'nextra-theme-docs' +import { BsDatabaseFillAdd, BsCodeSlash, BsPlugin } from 'react-icons/bs' +import { AiFillFileAdd, AiOutlineSearch, AiFillDelete } from 'react-icons/ai' + +# Getting Started with Orama + +Orama is a fast, batteries-included, full-text and vector search engine entirely written in TypeScript, with zero dependencies.

+ + +
+ +Get started with just a few lines of code: + + + } + title="Create a new database" + href="/open-source/usage/create" + /> + } + title="Insert data" + href="/open-source/usage/insert" + /> + } + title="Search" + href="/open-source/usage/search/introduction" + /> + } + title="Remove data" + href="/open-source/usage/remove" + /> + } + title="Extend Orama" + href="/open-source/internals/components" + /> + } + title="Use Plugins" + href="/open-source/plugins" + /> + + + + +## Requirements + +A JavaScript runtime is the **only** requirement. Orama has been designed to work on any runtime and has no dependencies. + +## Installation + +You can install Orama using npm, yarn, pnpm: + + + + ```bash copy + npm install @orama/orama + ``` + + + ```bash copy + yarn add @orama/orama + ``` + + + ```bash copy + pnpm add @orama/orama + ``` + + + +Or import it directly in a browser module: + +```html copy + + + + + +``` + +## Basic usage + +```ts copy +import { create, search, insert } from '@orama/orama' + +const db = await create({ + schema: { + name: 'string', + description: 'string', + price: 'number', + meta: { + rating: 'number', + }, + }, +}) + +await insert(db, { + name: 'Wireless Headphones', + description: 'Experience immersive sound quality with these noise-cancelling wireless headphones.', + price: 99.99, + meta: { + rating: 4.5, + }, +}) + +const searchResult = await search(db, { + term: 'headphones', +}) + +console.log(searchResult.hits.map((hit) => hit.document)) +``` + +For more information, check out the [Usage](/open-source/usage/create) section. + +# CommonJS Imports + +Orama ships **ESM** modules by default. This allows us to move faster when providing new features and bug fixes, as well as using the `"exports"` field in `package.json` to provide a better developer experience. + +CommonJS imports are still supported, but we suggest you to migrate to ESM. + +## TypeScript + +Set `moduleResolution` in the `compilerOptions` in your `tsconfig.json` to be either `Node16` or `NodeNext`. + +When importing types, always refer to the standard orama import: + +```ts copy +import type { Language } from '@orama/orama' +``` + +# Community Rewards + +![Orama Community Rewards](/misc/community-rewards.png) + +Are you using Orama in production? Have you written an article or made a YouTube video on Orama? [Contact us](mailto:info@oramasearch.com) to get some Orama swag in return! diff --git a/packages/docs/pages/internals/components.mdx b/packages/docs/pages/open-source/internals/components.mdx similarity index 100% rename from packages/docs/pages/internals/components.mdx rename to packages/docs/pages/open-source/internals/components.mdx diff --git a/packages/docs/pages/internals/utilities.mdx b/packages/docs/pages/open-source/internals/utilities.mdx similarity index 100% rename from packages/docs/pages/internals/utilities.mdx rename to packages/docs/pages/open-source/internals/utilities.mdx diff --git a/packages/docs/pages/plugins/_meta.json b/packages/docs/pages/open-source/plugins/_meta.json similarity index 100% rename from packages/docs/pages/plugins/_meta.json rename to packages/docs/pages/open-source/plugins/_meta.json diff --git a/packages/docs/pages/plugins/index.md b/packages/docs/pages/open-source/plugins/index.md similarity index 100% rename from packages/docs/pages/plugins/index.md rename to packages/docs/pages/open-source/plugins/index.md diff --git a/packages/docs/pages/plugins/plugin-astro.mdx b/packages/docs/pages/open-source/plugins/plugin-astro.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-astro.mdx rename to packages/docs/pages/open-source/plugins/plugin-astro.mdx diff --git a/packages/docs/pages/plugins/plugin-data-persistence.mdx b/packages/docs/pages/open-source/plugins/plugin-data-persistence.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-data-persistence.mdx rename to packages/docs/pages/open-source/plugins/plugin-data-persistence.mdx diff --git a/packages/docs/pages/plugins/plugin-docusaurus.mdx b/packages/docs/pages/open-source/plugins/plugin-docusaurus.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-docusaurus.mdx rename to packages/docs/pages/open-source/plugins/plugin-docusaurus.mdx diff --git a/packages/docs/pages/plugins/plugin-match-highlight.mdx b/packages/docs/pages/open-source/plugins/plugin-match-highlight.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-match-highlight.mdx rename to packages/docs/pages/open-source/plugins/plugin-match-highlight.mdx diff --git a/packages/docs/pages/plugins/plugin-nextra.mdx b/packages/docs/pages/open-source/plugins/plugin-nextra.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-nextra.mdx rename to packages/docs/pages/open-source/plugins/plugin-nextra.mdx diff --git a/packages/docs/pages/plugins/plugin-parsedoc.mdx b/packages/docs/pages/open-source/plugins/plugin-parsedoc.mdx similarity index 100% rename from packages/docs/pages/plugins/plugin-parsedoc.mdx rename to packages/docs/pages/open-source/plugins/plugin-parsedoc.mdx diff --git a/packages/docs/pages/text-analysis/_meta.json b/packages/docs/pages/open-source/text-analysis/_meta.json similarity index 100% rename from packages/docs/pages/text-analysis/_meta.json rename to packages/docs/pages/open-source/text-analysis/_meta.json diff --git a/packages/docs/pages/text-analysis/stemming.mdx b/packages/docs/pages/open-source/text-analysis/stemming.mdx similarity index 100% rename from packages/docs/pages/text-analysis/stemming.mdx rename to packages/docs/pages/open-source/text-analysis/stemming.mdx diff --git a/packages/docs/pages/text-analysis/stop-words.mdx b/packages/docs/pages/open-source/text-analysis/stop-words.mdx similarity index 100% rename from packages/docs/pages/text-analysis/stop-words.mdx rename to packages/docs/pages/open-source/text-analysis/stop-words.mdx diff --git a/packages/docs/pages/usage/_meta.json b/packages/docs/pages/open-source/usage/_meta.json similarity index 100% rename from packages/docs/pages/usage/_meta.json rename to packages/docs/pages/open-source/usage/_meta.json diff --git a/packages/docs/pages/usage/create.mdx b/packages/docs/pages/open-source/usage/create.mdx similarity index 100% rename from packages/docs/pages/usage/create.mdx rename to packages/docs/pages/open-source/usage/create.mdx diff --git a/packages/docs/pages/usage/insert.mdx b/packages/docs/pages/open-source/usage/insert.mdx similarity index 98% rename from packages/docs/pages/usage/insert.mdx rename to packages/docs/pages/open-source/usage/insert.mdx index ef68e8f00..0b39c2b10 100644 --- a/packages/docs/pages/usage/insert.mdx +++ b/packages/docs/pages/open-source/usage/insert.mdx @@ -21,7 +21,7 @@ const movieDB = await create({ }) ``` -(Read more about database creation on the [create](/usage/create) page) +(Read more about database creation on the [create](/open-source/usage/create) page) ## Insert diff --git a/packages/docs/pages/usage/remove.mdx b/packages/docs/pages/open-source/usage/remove.mdx similarity index 100% rename from packages/docs/pages/usage/remove.mdx rename to packages/docs/pages/open-source/usage/remove.mdx diff --git a/packages/docs/pages/usage/search/BM25-algorithm.mdx b/packages/docs/pages/open-source/usage/search/BM25-algorithm.mdx similarity index 100% rename from packages/docs/pages/usage/search/BM25-algorithm.mdx rename to packages/docs/pages/open-source/usage/search/BM25-algorithm.mdx diff --git a/packages/docs/pages/usage/search/_meta.json b/packages/docs/pages/open-source/usage/search/_meta.json similarity index 100% rename from packages/docs/pages/usage/search/_meta.json rename to packages/docs/pages/open-source/usage/search/_meta.json diff --git a/packages/docs/pages/usage/search/facets.mdx b/packages/docs/pages/open-source/usage/search/facets.mdx similarity index 100% rename from packages/docs/pages/usage/search/facets.mdx rename to packages/docs/pages/open-source/usage/search/facets.mdx diff --git a/packages/docs/pages/usage/search/fields-boosting.mdx b/packages/docs/pages/open-source/usage/search/fields-boosting.mdx similarity index 100% rename from packages/docs/pages/usage/search/fields-boosting.mdx rename to packages/docs/pages/open-source/usage/search/fields-boosting.mdx diff --git a/packages/docs/pages/usage/search/filters.mdx b/packages/docs/pages/open-source/usage/search/filters.mdx similarity index 98% rename from packages/docs/pages/usage/search/filters.mdx rename to packages/docs/pages/open-source/usage/search/filters.mdx index 5b8565ebd..dd1ee5c5a 100644 --- a/packages/docs/pages/usage/search/filters.mdx +++ b/packages/docs/pages/open-source/usage/search/filters.mdx @@ -136,4 +136,4 @@ Starting from Orama `v2.0.0`, you can perform geosearch queries. Even though the APIs are very simple, we decided to dedicate a separate section for them. This lets us explain the concepts behind the geosearch and how it works with more details. -[Read more about geosearch](/usage/search/geosearch) \ No newline at end of file +[Read more about geosearch](/open-source/usage/search/geosearch) \ No newline at end of file diff --git a/packages/docs/pages/usage/search/geosearch.mdx b/packages/docs/pages/open-source/usage/search/geosearch.mdx similarity index 100% rename from packages/docs/pages/usage/search/geosearch.mdx rename to packages/docs/pages/open-source/usage/search/geosearch.mdx diff --git a/packages/docs/pages/usage/search/grouping.mdx b/packages/docs/pages/open-source/usage/search/grouping.mdx similarity index 100% rename from packages/docs/pages/usage/search/grouping.mdx rename to packages/docs/pages/open-source/usage/search/grouping.mdx diff --git a/packages/docs/pages/usage/search/introduction.mdx b/packages/docs/pages/open-source/usage/search/introduction.mdx similarity index 100% rename from packages/docs/pages/usage/search/introduction.mdx rename to packages/docs/pages/open-source/usage/search/introduction.mdx diff --git a/packages/docs/pages/usage/search/preflight.mdx b/packages/docs/pages/open-source/usage/search/preflight.mdx similarity index 92% rename from packages/docs/pages/usage/search/preflight.mdx rename to packages/docs/pages/open-source/usage/search/preflight.mdx index 20fb71788..af2bf3439 100644 --- a/packages/docs/pages/usage/search/preflight.mdx +++ b/packages/docs/pages/open-source/usage/search/preflight.mdx @@ -47,7 +47,7 @@ By using a `preflight` request, you will be able to retrieve facets and a total ## How is that useful? -Preflight requests are particularly useful in certain situations, like when spawned right before a query with a certain [threshold](/usage/search/threshold). +Preflight requests are particularly useful in certain situations, like when spawned right before a query with a certain [threshold](/open-source/usage/search/threshold). For example, let's say you have a large database of 50,000 products. If a user searches for a very rare product, you may end up with just a few results if the threshold is set to `0` (exact match). @@ -59,4 +59,4 @@ By running a preflight search, you will be able to programmatically set a differ - **The preflight search returns 10 results**. You can set the threshold to `0.2`, returning the 10 results + 20% of the fuzzy-matched results. - **The preflight search returns 100 results**. You can set the threshold to `0`, returning only the 100 exact-matched results. -Read the [threshold](/usage/search/threshold) documentation for more information on how the `threshold` parameter affects search results. +Read the [threshold](/open-source/usage/search/threshold) documentation for more information on how the `threshold` parameter affects search results. diff --git a/packages/docs/pages/usage/search/sorting.mdx b/packages/docs/pages/open-source/usage/search/sorting.mdx similarity index 100% rename from packages/docs/pages/usage/search/sorting.mdx rename to packages/docs/pages/open-source/usage/search/sorting.mdx diff --git a/packages/docs/pages/usage/search/threshold.mdx b/packages/docs/pages/open-source/usage/search/threshold.mdx similarity index 97% rename from packages/docs/pages/usage/search/threshold.mdx rename to packages/docs/pages/open-source/usage/search/threshold.mdx index 062bf6575..e49635c62 100644 --- a/packages/docs/pages/usage/search/threshold.mdx +++ b/packages/docs/pages/open-source/usage/search/threshold.mdx @@ -82,7 +82,7 @@ const results = await search(db, { In this case, the `threshold` property is set to `0`, which means that only the document containing the `"slim fit"` keywords will be returned. This applies to all the document properties; if a keyword is found in a property, and another keyword is found in a different property, the document will be returned. -You can boost the results depending on where a property is found using the [field boosting](/usage/search/fields-boosting) API. +You can boost the results depending on where a property is found using the [field boosting](/open-source/usage/search/fields-boosting) API. ### Setting the threshold to a value between `0` and `1` diff --git a/packages/docs/pages/usage/search/vector-search.mdx b/packages/docs/pages/open-source/usage/search/vector-search.mdx similarity index 96% rename from packages/docs/pages/usage/search/vector-search.mdx rename to packages/docs/pages/open-source/usage/search/vector-search.mdx index b98d0dc09..38ad64a36 100644 --- a/packages/docs/pages/usage/search/vector-search.mdx +++ b/packages/docs/pages/open-source/usage/search/vector-search.mdx @@ -4,7 +4,7 @@ import { Callout } from 'nextra-theme-docs' Since `v1.2.0`, Orama supports **vector search** natively 🎉. -To perform search through vectors, you need to correctly configure your Orama schema, as described in the [create page](/usage/create). +To perform search through vectors, you need to correctly configure your Orama schema, as described in the [create page](/open-source/usage/create). ## Performing Vector Search diff --git a/packages/docs/pages/usage/typescript.mdx b/packages/docs/pages/open-source/usage/typescript.mdx similarity index 100% rename from packages/docs/pages/usage/typescript.mdx rename to packages/docs/pages/open-source/usage/typescript.mdx diff --git a/packages/docs/pages/usage/update.mdx b/packages/docs/pages/open-source/usage/update.mdx similarity index 100% rename from packages/docs/pages/usage/update.mdx rename to packages/docs/pages/open-source/usage/update.mdx diff --git a/packages/docs/pages/usage/utilities.mdx b/packages/docs/pages/open-source/usage/utilities.mdx similarity index 100% rename from packages/docs/pages/usage/utilities.mdx rename to packages/docs/pages/open-source/usage/utilities.mdx diff --git a/packages/docs/postcss.config.js b/packages/docs/postcss.config.js new file mode 100644 index 000000000..33ad091d2 --- /dev/null +++ b/packages/docs/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/packages/docs/public/bg-dark.svg b/packages/docs/public/bg-dark.svg new file mode 100644 index 000000000..9129a5fb2 --- /dev/null +++ b/packages/docs/public/bg-dark.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/docs/public/bg-light.svg b/packages/docs/public/bg-light.svg new file mode 100644 index 000000000..027182f79 --- /dev/null +++ b/packages/docs/public/bg-light.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/docs/public/cloud/guides/javascript-sdk/orama-shopify-dashboard.png b/packages/docs/public/cloud/guides/javascript-sdk/orama-shopify-dashboard.png new file mode 100644 index 000000000..d69c70870 Binary files /dev/null and b/packages/docs/public/cloud/guides/javascript-sdk/orama-shopify-dashboard.png differ diff --git a/packages/docs/public/cloud/guides/shopify/headless-app-access-token.png b/packages/docs/public/cloud/guides/shopify/headless-app-access-token.png new file mode 100644 index 000000000..9c9447cdc Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/headless-app-access-token.png differ diff --git a/packages/docs/public/cloud/guides/shopify/headless-app-create-storefront.png b/packages/docs/public/cloud/guides/shopify/headless-app-create-storefront.png new file mode 100644 index 000000000..ed7f8df6c Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/headless-app-create-storefront.png differ diff --git a/packages/docs/public/cloud/guides/shopify/headless-app-installation.png b/packages/docs/public/cloud/guides/shopify/headless-app-installation.png new file mode 100644 index 000000000..b43e2eb79 Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/headless-app-installation.png differ diff --git a/packages/docs/public/cloud/guides/shopify/headless-app-storefront-created.png b/packages/docs/public/cloud/guides/shopify/headless-app-storefront-created.png new file mode 100644 index 000000000..d0075aae3 Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/headless-app-storefront-created.png differ diff --git a/packages/docs/public/cloud/guides/shopify/headless-app.png b/packages/docs/public/cloud/guides/shopify/headless-app.png new file mode 100644 index 000000000..b81e70b77 Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/headless-app.png differ diff --git a/packages/docs/public/cloud/guides/shopify/orama-deployed.png b/packages/docs/public/cloud/guides/shopify/orama-deployed.png new file mode 100644 index 000000000..ef1bce540 Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/orama-deployed.png differ diff --git a/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify-feed.png b/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify-feed.png new file mode 100644 index 000000000..e6ae6beef Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify-feed.png differ diff --git a/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify.png b/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify.png new file mode 100644 index 000000000..7b516465e Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/orama-new-index-shopify.png differ diff --git a/packages/docs/public/cloud/guides/shopify/orama-new-index.png b/packages/docs/public/cloud/guides/shopify/orama-new-index.png new file mode 100644 index 000000000..680d22162 Binary files /dev/null and b/packages/docs/public/cloud/guides/shopify/orama-new-index.png differ diff --git a/packages/docs/public/icons/doc-icon-dark.svg b/packages/docs/public/icons/doc-icon-dark.svg new file mode 100644 index 000000000..c05372bc2 --- /dev/null +++ b/packages/docs/public/icons/doc-icon-dark.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/docs/public/icons/doc-icon-light.svg b/packages/docs/public/icons/doc-icon-light.svg new file mode 100644 index 000000000..f1f796fb7 --- /dev/null +++ b/packages/docs/public/icons/doc-icon-light.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/docs/public/sitemap-0.xml b/packages/docs/public/sitemap-0.xml index 603850952..e393aae21 100644 --- a/packages/docs/public/sitemap-0.xml +++ b/packages/docs/public/sitemap-0.xml @@ -1,32 +1,46 @@ -https://docs.oramasearch.com2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/internals/components2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/internals/utilities2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-astro2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-data-persistence2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-docusaurus2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-match-highlight2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-nextra2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/plugins/plugin-parsedoc2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/text-analysis/stemming2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/text-analysis/stop-words2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/create2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/insert2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/remove2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/BM25-algorithm2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/facets2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/fields-boosting2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/filters2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/geosearch2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/grouping2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/introduction2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/preflight2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/sorting2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/threshold2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/search/vector-search2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/typescript2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/update2023-10-27T15:52:02.903Zdaily0.7 -https://docs.oramasearch.com/usage/utilities2023-10-27T15:52:02.903Zdaily0.7 +https://docs.oramasearch.com2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/custom/csv-file2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/custom/json-file2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/custom/rest-api2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/custom/webhooks2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/native-integrations/docusaurus2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/native-integrations/introduction2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/data-sources/native-integrations/shopify2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/indexes/create-a-new-index2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/indexes/delete-an-index2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/indexes/edit-an-existing-index2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/integrating-orama-cloud/javascript-sdk2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/understanding-orama2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/cloud/understanding-orama/indexes2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/internals/components2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/internals/utilities2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-astro2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-data-persistence2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-docusaurus2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-match-highlight2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-nextra2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/plugins/plugin-parsedoc2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/text-analysis/stemming2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/text-analysis/stop-words2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/create2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/insert2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/remove2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/BM25-algorithm2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/facets2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/fields-boosting2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/filters2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/geosearch2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/grouping2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/introduction2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/preflight2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/sorting2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/threshold2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/search/vector-search2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/update2023-10-29T14:08:12.565Zdaily0.7 +https://docs.oramasearch.com/open-source/usage/utilities2023-10-29T14:08:12.565Zdaily0.7 \ No newline at end of file diff --git a/packages/docs/styles.css b/packages/docs/styles.css new file mode 100644 index 000000000..bd6213e1d --- /dev/null +++ b/packages/docs/styles.css @@ -0,0 +1,3 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; \ No newline at end of file diff --git a/packages/docs/tailwind.config.js b/packages/docs/tailwind.config.js new file mode 100644 index 000000000..f6123f2a7 --- /dev/null +++ b/packages/docs/tailwind.config.js @@ -0,0 +1,12 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + darkMode: 'class', + content: [ + './pages/**/*.{js,jsx,ts,tsx,md,mdx}', + './components/**/*.{js,jsx,ts,tsx,md,mdx}' + ], + theme: { + extend: {} + }, + plugins: [] +} \ No newline at end of file diff --git a/packages/docs/theme.config.jsx b/packages/docs/theme.config.jsx index 5d4dda588..23640fa15 100644 --- a/packages/docs/theme.config.jsx +++ b/packages/docs/theme.config.jsx @@ -3,6 +3,7 @@ import { FaSlack } from 'react-icons/fa' import { OramaSearch } from '@orama/plugin-nextra' import { useTheme } from 'next-themes' import { OramaLogo } from './components/Logo' +import { Navigation } from './components/Navigation' const css = ` li > ul.nx-mt-6 { @@ -33,12 +34,18 @@ export default { return }, + search: { + component: OramaSearch, + }, + navbar: { + component: Navigation, + }, chat: { link: 'https://orama.to/slack', icon: , }, footer: { - text:

Apache 2.0 - 2023 © OramaSearch Inc.

, + text:

2023 © OramaSearch Inc.

, }, docsRepositoryBase: 'https://github.com/oramasearch/orama/tree/main/packages/docs', darkMode: true, @@ -47,9 +54,6 @@ export default { titleTemplate: '%s – Orama', } }, - search: { - component: OramaSearch, - }, head: ( <> diff --git a/packages/orama/README.md b/packages/orama/README.md index 9b08356ee..a8056db89 100644 --- a/packages/orama/README.md +++ b/packages/orama/README.md @@ -13,14 +13,14 @@ If you need more info, help, or want to provide general feedback on Orama, join # Highlighted features -- [Vector Search](https://docs.oramasearch.com/usage/search/vector-search) -- [Search filters](https://docs.oramasearch.com/usage/search/filters) -- [Geosearch](https://docs.oramasearch.com/usage/search/geosearch) -- [Facets](https://docs.oramasearch.com/usage/search/facets) -- [Fields Boosting](https://docs.oramasearch.com/usage/search/fields-boosting) -- [Typo tolerance](https://docs.oramasearch.com/usage/search/introduction#typo-tolerance) -- [Exact match](https://docs.oramasearch.com/usage/search/introduction#exact-match) -- [Stemming and tokenization in 28 languages](https://docs.oramasearch.com/text-analysis/stemming) +- [Vector Search](https://docs.oramasearch.com/open-source/usage/search/vector-search) +- [Search filters](https://docs.oramasearch.com/open-source/usage/search/filters) +- [Geosearch](https://docs.oramasearch.com/open-source/usage/search/geosearch) +- [Facets](https://docs.oramasearch.com/open-source/usage/search/facets) +- [Fields Boosting](https://docs.oramasearch.com/open-source/usage/search/fields-boosting) +- [Typo tolerance](https://docs.oramasearch.com/open-source/usage/search/introduction#typo-tolerance) +- [Exact match](https://docs.oramasearch.com/open-source/usage/search/introduction#exact-match) +- [Stemming and tokenization in 28 languages](https://docs.oramasearch.com/open-source/text-analysis/stemming) # Installation diff --git a/packages/orama/src/types.ts b/packages/orama/src/types.ts index 150797468..eee6dbdec 100644 --- a/packages/orama/src/types.ts +++ b/packages/orama/src/types.ts @@ -309,7 +309,7 @@ export type SearchParams> * * d: Frequency normalization lower bound. Default value is 0.5. * - * Full documentation: https://docs.oramasearch.com/usage/search/BM25-algorithm + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/BM25-algorithm * * @see https://en.wikipedia.org/wiki/Okapi_BM25 */ @@ -320,7 +320,7 @@ export type SearchParams> * The boost is a number that is multiplied to the score of the property. * It can be used to give more importance to some properties. * - * Full documentation: https://docs.oramasearch.com/usage/search/fields-boosting + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/fields-boosting * * @example * // Give more importance to the 'title' property. @@ -337,7 +337,7 @@ export type SearchParams> boost?: Partial[]>, number>> /** * Facets configuration - * Full documentation: https://docs.oramasearch.com/usage/search/facets + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/facets * * A facet is a feature that allows users to narrow down their search results by specific * attributes or characteristics, such as category, price, or location. @@ -360,7 +360,7 @@ export type SearchParams> /** * Distinct configuration - * Full documentation: https://docs.oramasearch.com/usage/search/introduction#distinct + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/introduction#distinct * * @example * const results = await search(db, { @@ -372,7 +372,7 @@ export type SearchParams> /** * Groups configuration - * Full documentation: https://docs.oramasearch.com/usage/search/grouping + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/grouping * * @example * const results = await search(db, { @@ -387,7 +387,7 @@ export type SearchParams> /** * Filter the search results. - * Full documentation: https://docs.oramasearch.com/usage/search/filters + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/filters * * @example * // Search for documents that contain 'Headphones' in the 'description' and 'title' fields and @@ -410,7 +410,7 @@ export type SearchParams> * The threshold is a number between 0 and 1 that represents the minimum score of the documents to return. * By default, the threshold is 1. * - * Full documentation: https://docs.oramasearch.com/usage/search/threshold + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/threshold * * @example * @@ -434,7 +434,7 @@ export type SearchParams> * Preflight query. * Will return just the facets (if needed) and the number of matched documents for the given query. * - * Full documentation: https://docs.oramasearch.com/usage/search/preflight + * Full documentation: https://docs.oramasearch.com/open-source/usage/search/preflight * * @example * diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a2a7816f3..3d304f722 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -112,6 +112,9 @@ importers: '@orama/plugin-nextra': specifier: workspace:* version: link:../plugin-nextra + classnames: + specifier: ^2.3.2 + version: 2.3.2 next: specifier: ^13.3.0 version: 13.3.0(@babel/core@7.22.5)(react-dom@18.2.0)(react@18.2.0) @@ -136,9 +139,25 @@ importers: react-icons: specifier: ^4.8.0 version: 4.8.0(react@18.2.0) + react-medium-image-zoom: + specifier: ^5.1.8 + version: 5.1.8(react-dom@18.2.0)(react@18.2.0) rehype-raw: specifier: ^6.1.1 version: 6.1.1 + devDependencies: + autoprefixer: + specifier: ^10.4.16 + version: 10.4.16(postcss@8.4.31) + install: + specifier: ^0.13.0 + version: 0.13.0 + postcss: + specifier: ^8.4.31 + version: 8.4.31 + tailwindcss: + specifier: ^3.3.3 + version: 3.3.3(ts-node@10.9.1) packages/orama: devDependencies: @@ -614,6 +633,11 @@ packages: resolution: {integrity: sha512-kWllEV3cjuwy1nCQXjZ79baGW5IsKAJsB/e48Q0Yc86b6Yt+JkngRlKhewuaSCKxqdVvmSzZqTVDCplsYCKAhQ==} dev: false + /@alloc/quick-lru@5.2.0: + resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} + engines: {node: '>=10'} + dev: true + /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} @@ -835,7 +859,7 @@ packages: '@babel/compat-data': 7.22.5 '@babel/core': 7.22.5 '@babel/helper-validator-option': 7.22.5 - browserslist: 4.21.7 + browserslist: 4.22.1 lru-cache: 5.1.1 semver: 6.3.1 @@ -2580,7 +2604,7 @@ packages: '@docusaurus/utils-validation': 2.4.3(@docusaurus/types@2.4.3)(@swc/core@1.3.27) '@slorber/static-site-generator-webpack-plugin': 4.0.7 '@svgr/webpack': 6.5.1 - autoprefixer: 10.4.14(postcss@8.4.24) + autoprefixer: 10.4.16(postcss@8.4.31) babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.75.0) babel-plugin-dynamic-import-node: 2.3.3 boxen: 6.2.1 @@ -2594,7 +2618,7 @@ packages: core-js: 3.30.2 css-loader: 6.8.1(webpack@5.75.0) css-minimizer-webpack-plugin: 4.2.2(clean-css@5.3.2)(webpack@5.75.0) - cssnano: 5.1.15(postcss@8.4.24) + cssnano: 5.1.15(postcss@8.4.31) del: 6.1.1 detect-port: 1.5.1 escape-html: 1.0.3 @@ -2608,8 +2632,8 @@ packages: leven: 3.1.0 lodash: 4.17.21 mini-css-extract-plugin: 2.7.6(webpack@5.75.0) - postcss: 8.4.24 - postcss-loader: 7.3.2(postcss@8.4.24)(webpack@5.75.0) + postcss: 8.4.31 + postcss-loader: 7.3.2(postcss@8.4.31)(webpack@5.75.0) prompts: 2.4.2 react: 17.0.2 react-dev-utils: 12.0.1(eslint@8.48.0)(typescript@5.0.3)(webpack@5.75.0) @@ -2657,9 +2681,9 @@ packages: resolution: {integrity: sha512-ZvGSRCi7z9wLnZrXNPG6DmVPHdKGd8dIn9pYbEOFiYihfv4uDR3UtxogmKf+rT8ZlKFf5Lqne8E8nt08zNM8CA==} engines: {node: '>=16.14'} dependencies: - cssnano-preset-advanced: 5.3.10(postcss@8.4.24) - postcss: 8.4.24 - postcss-sort-media-queries: 4.4.1(postcss@8.4.24) + cssnano-preset-advanced: 5.3.10(postcss@8.4.31) + postcss: 8.4.31 + postcss-sort-media-queries: 4.4.1(postcss@8.4.31) tslib: 2.5.3 dev: false @@ -5346,6 +5370,10 @@ packages: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -5382,6 +5410,10 @@ packages: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true + /arg@5.0.2: + resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} + dev: true + /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: @@ -5608,21 +5640,20 @@ packages: - encoding dev: true - /autoprefixer@10.4.14(postcss@8.4.24): - resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} + /autoprefixer@10.4.16(postcss@8.4.31): + resolution: {integrity: sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true peerDependencies: postcss: ^8.1.0 dependencies: - browserslist: 4.21.7 - caniuse-lite: 1.0.30001497 - fraction.js: 4.2.0 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001547 + fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 - dev: false /available-typed-arrays@1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} @@ -5999,6 +6030,16 @@ packages: node-releases: 2.0.12 update-browserslist-db: 1.0.11(browserslist@4.21.7) + /browserslist@4.22.1: + resolution: {integrity: sha512-FEVc202+2iuClEhZhrWy6ZiAcRLvNMyYcxZ8raemul1DYVOVdFsbqckWLdsixQZCpJlwe77Z3UTalE7jsjnKfQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001547 + electron-to-chromium: 1.4.554 + node-releases: 2.0.13 + update-browserslist-db: 1.0.13(browserslist@4.22.1) + /buffer-alloc-unsafe@1.1.0: resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} dev: true @@ -6143,7 +6184,6 @@ packages: /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - dev: false /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -6165,8 +6205,8 @@ packages: /caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: - browserslist: 4.21.7 - caniuse-lite: 1.0.30001497 + browserslist: 4.22.1 + caniuse-lite: 1.0.30001547 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false @@ -6174,6 +6214,9 @@ packages: /caniuse-lite@1.0.30001497: resolution: {integrity: sha512-I4/duVK4wL6rAK/aKZl3HXB4g+lIZvaT4VLAn2rCgJ38jVLb0lv2Xug6QuqmxXFVRJMF74SPPWPJ/1Sdm3vCzw==} + /caniuse-lite@1.0.30001547: + resolution: {integrity: sha512-W7CrtIModMAxobGhz8iXmDfuJiiKg1WADMO/9x7/CLNin5cpSbuBjooyoIUVB5eyCc36QuTVlkVa1iB2S5+/eA==} + /caw@2.0.1: resolution: {integrity: sha512-Cg8/ZSBEa8ZVY9HspcGUYaK63d/bN7rqS3CYCzEGUxuYv6UlmcjzDUz2fCFFHyTvUW5Pk0I+3hkA3iXlIj6guA==} engines: {node: '>=4'} @@ -6489,6 +6532,11 @@ packages: /commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + /commander@4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} + engines: {node: '>= 6'} + dev: true + /commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -6696,7 +6744,7 @@ packages: /core-js-compat@3.30.2: resolution: {integrity: sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==} dependencies: - browserslist: 4.21.7 + browserslist: 4.22.1 /core-js-pure@3.30.2: resolution: {integrity: sha512-p/npFUJXXBkCCTIlEGBdghofn00jWG6ZOtdoIXSJmAu2QBvN0IqpZXWweOytcwE6cfx8ZvVUy1vw8zxhe4Y2vg==} @@ -6803,13 +6851,13 @@ packages: engines: {node: '>=8'} dev: false - /css-declaration-sorter@6.4.0(postcss@8.4.24): + /css-declaration-sorter@6.4.0(postcss@8.4.31): resolution: {integrity: sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==} engines: {node: ^10 || ^12 || >=14} peerDependencies: postcss: ^8.0.9 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false /css-loader@6.8.1(webpack@5.75.0): @@ -6818,12 +6866,12 @@ packages: peerDependencies: webpack: ^5.0.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 - postcss-modules-extract-imports: 3.0.0(postcss@8.4.24) - postcss-modules-local-by-default: 4.0.3(postcss@8.4.24) - postcss-modules-scope: 3.0.0(postcss@8.4.24) - postcss-modules-values: 4.0.0(postcss@8.4.24) + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-modules-extract-imports: 3.0.0(postcss@8.4.31) + postcss-modules-local-by-default: 4.0.3(postcss@8.4.31) + postcss-modules-scope: 3.0.0(postcss@8.4.31) + postcss-modules-values: 4.0.0(postcss@8.4.31) postcss-value-parser: 4.2.0 semver: 7.5.4 webpack: 5.75.0(@swc/core@1.3.27) @@ -6855,9 +6903,9 @@ packages: optional: true dependencies: clean-css: 5.3.2 - cssnano: 5.1.15(postcss@8.4.24) + cssnano: 5.1.15(postcss@8.4.31) jest-worker: 29.5.0 - postcss: 8.4.24 + postcss: 8.4.31 schema-utils: 4.1.0 serialize-javascript: 6.0.1 source-map: 0.6.1 @@ -6905,79 +6953,78 @@ packages: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - dev: false - /cssnano-preset-advanced@5.3.10(postcss@8.4.24): + /cssnano-preset-advanced@5.3.10(postcss@8.4.31): resolution: {integrity: sha512-fnYJyCS9jgMU+cmHO1rPSPf9axbQyD7iUhLO5Df6O4G+fKIOMps+ZbU0PdGFejFBBZ3Pftf18fn1eG7MAPUSWQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - autoprefixer: 10.4.14(postcss@8.4.24) - cssnano-preset-default: 5.2.14(postcss@8.4.24) - postcss: 8.4.24 - postcss-discard-unused: 5.1.0(postcss@8.4.24) - postcss-merge-idents: 5.1.1(postcss@8.4.24) - postcss-reduce-idents: 5.2.0(postcss@8.4.24) - postcss-zindex: 5.1.0(postcss@8.4.24) + autoprefixer: 10.4.16(postcss@8.4.31) + cssnano-preset-default: 5.2.14(postcss@8.4.31) + postcss: 8.4.31 + postcss-discard-unused: 5.1.0(postcss@8.4.31) + postcss-merge-idents: 5.1.1(postcss@8.4.31) + postcss-reduce-idents: 5.2.0(postcss@8.4.31) + postcss-zindex: 5.1.0(postcss@8.4.31) dev: false - /cssnano-preset-default@5.2.14(postcss@8.4.24): + /cssnano-preset-default@5.2.14(postcss@8.4.31): resolution: {integrity: sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - css-declaration-sorter: 6.4.0(postcss@8.4.24) - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 - postcss-calc: 8.2.4(postcss@8.4.24) - postcss-colormin: 5.3.1(postcss@8.4.24) - postcss-convert-values: 5.1.3(postcss@8.4.24) - postcss-discard-comments: 5.1.2(postcss@8.4.24) - postcss-discard-duplicates: 5.1.0(postcss@8.4.24) - postcss-discard-empty: 5.1.1(postcss@8.4.24) - postcss-discard-overridden: 5.1.0(postcss@8.4.24) - postcss-merge-longhand: 5.1.7(postcss@8.4.24) - postcss-merge-rules: 5.1.4(postcss@8.4.24) - postcss-minify-font-values: 5.1.0(postcss@8.4.24) - postcss-minify-gradients: 5.1.1(postcss@8.4.24) - postcss-minify-params: 5.1.4(postcss@8.4.24) - postcss-minify-selectors: 5.2.1(postcss@8.4.24) - postcss-normalize-charset: 5.1.0(postcss@8.4.24) - postcss-normalize-display-values: 5.1.0(postcss@8.4.24) - postcss-normalize-positions: 5.1.1(postcss@8.4.24) - postcss-normalize-repeat-style: 5.1.1(postcss@8.4.24) - postcss-normalize-string: 5.1.0(postcss@8.4.24) - postcss-normalize-timing-functions: 5.1.0(postcss@8.4.24) - postcss-normalize-unicode: 5.1.1(postcss@8.4.24) - postcss-normalize-url: 5.1.0(postcss@8.4.24) - postcss-normalize-whitespace: 5.1.1(postcss@8.4.24) - postcss-ordered-values: 5.1.3(postcss@8.4.24) - postcss-reduce-initial: 5.1.2(postcss@8.4.24) - postcss-reduce-transforms: 5.1.0(postcss@8.4.24) - postcss-svgo: 5.1.0(postcss@8.4.24) - postcss-unique-selectors: 5.1.1(postcss@8.4.24) - dev: false - - /cssnano-utils@3.1.0(postcss@8.4.24): + css-declaration-sorter: 6.4.0(postcss@8.4.31) + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 + postcss-calc: 8.2.4(postcss@8.4.31) + postcss-colormin: 5.3.1(postcss@8.4.31) + postcss-convert-values: 5.1.3(postcss@8.4.31) + postcss-discard-comments: 5.1.2(postcss@8.4.31) + postcss-discard-duplicates: 5.1.0(postcss@8.4.31) + postcss-discard-empty: 5.1.1(postcss@8.4.31) + postcss-discard-overridden: 5.1.0(postcss@8.4.31) + postcss-merge-longhand: 5.1.7(postcss@8.4.31) + postcss-merge-rules: 5.1.4(postcss@8.4.31) + postcss-minify-font-values: 5.1.0(postcss@8.4.31) + postcss-minify-gradients: 5.1.1(postcss@8.4.31) + postcss-minify-params: 5.1.4(postcss@8.4.31) + postcss-minify-selectors: 5.2.1(postcss@8.4.31) + postcss-normalize-charset: 5.1.0(postcss@8.4.31) + postcss-normalize-display-values: 5.1.0(postcss@8.4.31) + postcss-normalize-positions: 5.1.1(postcss@8.4.31) + postcss-normalize-repeat-style: 5.1.1(postcss@8.4.31) + postcss-normalize-string: 5.1.0(postcss@8.4.31) + postcss-normalize-timing-functions: 5.1.0(postcss@8.4.31) + postcss-normalize-unicode: 5.1.1(postcss@8.4.31) + postcss-normalize-url: 5.1.0(postcss@8.4.31) + postcss-normalize-whitespace: 5.1.1(postcss@8.4.31) + postcss-ordered-values: 5.1.3(postcss@8.4.31) + postcss-reduce-initial: 5.1.2(postcss@8.4.31) + postcss-reduce-transforms: 5.1.0(postcss@8.4.31) + postcss-svgo: 5.1.0(postcss@8.4.31) + postcss-unique-selectors: 5.1.1(postcss@8.4.31) + dev: false + + /cssnano-utils@3.1.0(postcss@8.4.31): resolution: {integrity: sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /cssnano@5.1.15(postcss@8.4.24): + /cssnano@5.1.15(postcss@8.4.31): resolution: {integrity: sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-preset-default: 5.2.14(postcss@8.4.24) + cssnano-preset-default: 5.2.14(postcss@8.4.31) lilconfig: 2.1.0 - postcss: 8.4.24 + postcss: 8.4.31 yaml: 1.10.2 dev: false @@ -7338,6 +7385,10 @@ packages: resolution: {integrity: sha512-KqFl6pOgOW+Y6wJgu80rHpo2/3H07vr8ntR9rkkFIRETewbf5GaYYcakYfiKz89K+sLsuPkQIZaXDMjUObZwWg==} dev: false + /didyoumean@1.2.2: + resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} + dev: true + /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -7365,7 +7416,6 @@ packages: /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: false /dns-equal@1.0.0: resolution: {integrity: sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==} @@ -7511,6 +7561,9 @@ packages: /electron-to-chromium@1.4.425: resolution: {integrity: sha512-wv1NufHxu11zfDbY4fglYQApMswleE9FL/DSeyOyauVXDZ+Kco96JK/tPfBUaDqfRarYp2WH2hJ/5UnVywp9Jg==} + /electron-to-chromium@1.4.554: + resolution: {integrity: sha512-Q0umzPJjfBrrj8unkONTgbKQXzXRrH7sVV7D9ea2yBV3Oaogz991yhbpfvo2LMNkJItmruXTEzVpP9cp7vaIiQ==} + /emmet@2.4.4: resolution: {integrity: sha512-v8Mwpjym55CS3EjJgiCLWUB3J2HSR93jhzXW325720u8KvYxdI2voYLstW3pHBxFz54H6jFjayR9G4LfTG0q+g==} dependencies: @@ -8904,9 +8957,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /fraction.js@4.2.0: - resolution: {integrity: sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==} - dev: false + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} /fresh@0.5.2: resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} @@ -9131,6 +9183,17 @@ packages: /glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} + /glob@7.1.6: + resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: @@ -9952,13 +10015,13 @@ packages: dependencies: safer-buffer: 2.1.2 - /icss-utils@5.1.0(postcss@8.4.24): + /icss-utils@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false /ieee754@1.2.1: @@ -10055,6 +10118,11 @@ packages: wrap-ansi: 7.0.0 dev: true + /install@0.13.0: + resolution: {integrity: sha512-zDml/jzr2PKU9I8J/xyZBQn8rPCAY//UOYNmR01XwNwyfhEWObo2SWfSl1+0tm1u6PhxLwDnfsT/6jB7OUxqFA==} + engines: {node: '>= 0.10'} + dev: true + /internal-slot@1.0.5: resolution: {integrity: sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==} engines: {node: '>= 0.4'} @@ -10676,7 +10744,6 @@ packages: /jiti@1.18.2: resolution: {integrity: sha512-QAdOptna2NYiSSpv0O/BwoHBSmz4YhpzJHyi+fnMRTXFjp7B8i/YG5Z8IfusxB1ufjcD2Sre1F3R+nX3fvy7gg==} hasBin: true - dev: false /joi@17.9.2: resolution: {integrity: sha512-Itk/r+V4Dx0V3c7RLFdRh12IOjySm2/WGPMubBT92cQvRfYZhPM2W0hZlctjj72iES8jsRCwp7S/cRmWBnJ4nw==} @@ -10888,7 +10955,6 @@ packages: /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - dev: false /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -12006,6 +12072,14 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /mz@2.7.0: + resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + dependencies: + any-promise: 1.3.0 + object-assign: 4.1.1 + thenify-all: 1.6.0 + dev: true + /nanoid@3.3.6: resolution: {integrity: sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -12256,6 +12330,9 @@ packages: /node-releases@2.0.12: resolution: {integrity: sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==} + /node-releases@2.0.13: + resolution: {integrity: sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==} + /normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: @@ -12281,7 +12358,6 @@ packages: /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} engines: {node: '>=0.10.0'} - dev: false /normalize-url@2.0.1: resolution: {integrity: sha512-D6MUW4K/VzoJ4rJ01JFKxDrtY1v9wrgzCX5f2qj/lzH1m/lW6MhUZFKerVsnyjOhOsYzI9Kqqak+10l4LvLpMw==} @@ -12378,6 +12454,11 @@ packages: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + /object-hash@3.0.0: + resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} + engines: {node: '>= 6'} + dev: true + /object-inspect@1.12.3: resolution: {integrity: sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==} @@ -12930,6 +13011,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true + /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} @@ -12960,87 +13046,127 @@ packages: irregular-plurals: 3.5.0 dev: true - /postcss-calc@8.2.4(postcss@8.4.24): + /postcss-calc@8.2.4(postcss@8.4.31): resolution: {integrity: sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==} peerDependencies: postcss: ^8.2.2 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-colormin@5.3.1(postcss@8.4.24): + /postcss-colormin@5.3.1(postcss@8.4.31): resolution: {integrity: sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 + browserslist: 4.22.1 caniuse-api: 3.0.0 colord: 2.9.3 - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-convert-values@5.1.3(postcss@8.4.24): + /postcss-convert-values@5.1.3(postcss@8.4.31): resolution: {integrity: sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 - postcss: 8.4.24 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-discard-comments@5.1.2(postcss@8.4.24): + /postcss-discard-comments@5.1.2(postcss@8.4.31): resolution: {integrity: sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-discard-duplicates@5.1.0(postcss@8.4.24): + /postcss-discard-duplicates@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-discard-empty@5.1.1(postcss@8.4.24): + /postcss-discard-empty@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-discard-overridden@5.1.0(postcss@8.4.24): + /postcss-discard-overridden@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-discard-unused@5.1.0(postcss@8.4.24): + /postcss-discard-unused@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-KwLWymI9hbwXmJa0dkrzpRbSJEh0vVUd7r8t0yOGPcfKzyJJxFM8kLyC5Ev9avji6nY95pOp1W6HqIrfT+0VGw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-loader@7.3.2(postcss@8.4.24)(webpack@5.75.0): + /postcss-import@15.1.0(postcss@8.4.31): + resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} + engines: {node: '>=14.0.0'} + peerDependencies: + postcss: ^8.0.0 + dependencies: + postcss: 8.4.31 + postcss-value-parser: 4.2.0 + read-cache: 1.0.0 + resolve: 1.22.2 + dev: true + + /postcss-js@4.0.1(postcss@8.4.31): + resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} + engines: {node: ^12 || ^14 || >= 16} + peerDependencies: + postcss: ^8.4.21 + dependencies: + camelcase-css: 2.0.1 + postcss: 8.4.31 + dev: true + + /postcss-load-config@4.0.1(postcss@8.4.31)(ts-node@10.9.1): + resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + dependencies: + lilconfig: 2.1.0 + postcss: 8.4.31 + ts-node: 10.9.1(@swc/core@1.3.27)(@types/node@18.11.18)(typescript@5.0.3) + yaml: 2.3.1 + dev: true + + /postcss-loader@7.3.2(postcss@8.4.31)(webpack@5.75.0): resolution: {integrity: sha512-c7qDlXErX6n0VT+LUsW+nwefVtTu3ORtVvK8EXuUIDcxo+b/euYqpuHlJAvePb0Af5e8uMjR/13e0lTuYifaig==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -13050,261 +13176,271 @@ packages: cosmiconfig: 8.2.0 jiti: 1.18.2 klona: 2.0.6 - postcss: 8.4.24 + postcss: 8.4.31 semver: 7.5.4 webpack: 5.75.0(@swc/core@1.3.27) dev: false - /postcss-merge-idents@5.1.1(postcss@8.4.24): + /postcss-merge-idents@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-pCijL1TREiCoog5nQp7wUe+TUonA2tC2sQ54UGeMmryK3UFGIYKqDyjnqd6RcuI4znFn9hWSLNN8xKE/vWcUQw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-merge-longhand@5.1.7(postcss@8.4.24): + /postcss-merge-longhand@5.1.7(postcss@8.4.31): resolution: {integrity: sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 - stylehacks: 5.1.1(postcss@8.4.24) + stylehacks: 5.1.1(postcss@8.4.31) dev: false - /postcss-merge-rules@5.1.4(postcss@8.4.24): + /postcss-merge-rules@5.1.4(postcss@8.4.31): resolution: {integrity: sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 + browserslist: 4.22.1 caniuse-api: 3.0.0 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-minify-font-values@5.1.0(postcss@8.4.24): + /postcss-minify-font-values@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-gradients@5.1.1(postcss@8.4.24): + /postcss-minify-gradients@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: colord: 2.9.3 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-params@5.1.4(postcss@8.4.24): + /postcss-minify-params@5.1.4(postcss@8.4.31): resolution: {integrity: sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + browserslist: 4.22.1 + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-minify-selectors@5.2.1(postcss@8.4.24): + /postcss-minify-selectors@5.2.1(postcss@8.4.31): resolution: {integrity: sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-extract-imports@3.0.0(postcss@8.4.24): + /postcss-modules-extract-imports@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-modules-local-by-default@4.0.3(postcss@8.4.24): + /postcss-modules-local-by-default@4.0.3(postcss@8.4.31): resolution: {integrity: sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-selector-parser: 6.0.13 postcss-value-parser: 4.2.0 dev: false - /postcss-modules-scope@3.0.0(postcss@8.4.24): + /postcss-modules-scope@3.0.0(postcss@8.4.31): resolution: {integrity: sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false - /postcss-modules-values@4.0.0(postcss@8.4.24): + /postcss-modules-values@4.0.0(postcss@8.4.31): resolution: {integrity: sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==} engines: {node: ^10 || ^12 || >= 14} peerDependencies: postcss: ^8.1.0 dependencies: - icss-utils: 5.1.0(postcss@8.4.24) - postcss: 8.4.24 + icss-utils: 5.1.0(postcss@8.4.31) + postcss: 8.4.31 dev: false - /postcss-normalize-charset@5.1.0(postcss@8.4.24): + /postcss-nested@6.0.1(postcss@8.4.31): + resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + engines: {node: '>=12.0'} + peerDependencies: + postcss: ^8.2.14 + dependencies: + postcss: 8.4.31 + postcss-selector-parser: 6.0.13 + dev: true + + /postcss-normalize-charset@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-normalize-display-values@5.1.0(postcss@8.4.24): + /postcss-normalize-display-values@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-positions@5.1.1(postcss@8.4.24): + /postcss-normalize-positions@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-repeat-style@5.1.1(postcss@8.4.24): + /postcss-normalize-repeat-style@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-string@5.1.0(postcss@8.4.24): + /postcss-normalize-string@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-timing-functions@5.1.0(postcss@8.4.24): + /postcss-normalize-timing-functions@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-unicode@5.1.1(postcss@8.4.24): + /postcss-normalize-unicode@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 - postcss: 8.4.24 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-url@5.1.0(postcss@8.4.24): + /postcss-normalize-url@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: normalize-url: 6.1.0 - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-normalize-whitespace@5.1.1(postcss@8.4.24): + /postcss-normalize-whitespace@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-ordered-values@5.1.3(postcss@8.4.24): + /postcss-ordered-values@5.1.3(postcss@8.4.31): resolution: {integrity: sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - cssnano-utils: 3.1.0(postcss@8.4.24) - postcss: 8.4.24 + cssnano-utils: 3.1.0(postcss@8.4.31) + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-idents@5.2.0(postcss@8.4.24): + /postcss-reduce-idents@5.2.0(postcss@8.4.31): resolution: {integrity: sha512-BTrLjICoSB6gxbc58D5mdBK8OhXRDqud/zodYfdSi52qvDHdMwk+9kB9xsM8yJThH/sZU5A6QVSmMmaN001gIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false - /postcss-reduce-initial@5.1.2(postcss@8.4.24): + /postcss-reduce-initial@5.1.2(postcss@8.4.31): resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 + browserslist: 4.22.1 caniuse-api: 3.0.0 - postcss: 8.4.24 + postcss: 8.4.31 dev: false - /postcss-reduce-transforms@5.1.0(postcss@8.4.24): + /postcss-reduce-transforms@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 dev: false @@ -13314,50 +13450,48 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: false - /postcss-sort-media-queries@4.4.1(postcss@8.4.24): + /postcss-sort-media-queries@4.4.1(postcss@8.4.31): resolution: {integrity: sha512-QDESFzDDGKgpiIh4GYXsSy6sek2yAwQx1JASl5AxBtU1Lq2JfKBljIPNdil989NcSKRQX1ToiaKphImtBuhXWw==} engines: {node: '>=10.0.0'} peerDependencies: postcss: ^8.4.16 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 sort-css-media-queries: 2.1.0 dev: false - /postcss-svgo@5.1.0(postcss@8.4.24): + /postcss-svgo@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-value-parser: 4.2.0 svgo: 2.8.0 dev: false - /postcss-unique-selectors@5.1.1(postcss@8.4.24): + /postcss-unique-selectors@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: false - /postcss-zindex@5.1.0(postcss@8.4.24): + /postcss-zindex@5.1.0(postcss@8.4.31): resolution: {integrity: sha512-fgFMf0OtVSBR1va1JNHYgMxYk73yhn/qb4uQDq1DLGYolz8gHCyr/sesEuGUaYs58E3ZJRcpoGuPVoB7Meiq9A==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - postcss: 8.4.24 + postcss: 8.4.31 dev: false /postcss@8.4.14: @@ -13369,8 +13503,8 @@ packages: source-map-js: 1.0.2 dev: false - /postcss@8.4.24: - resolution: {integrity: sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==} + /postcss@8.4.31: + resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.6 @@ -13609,7 +13743,7 @@ packages: dependencies: '@babel/code-frame': 7.22.5 address: 1.2.2 - browserslist: 4.21.7 + browserslist: 4.22.1 chalk: 4.1.2 cross-spawn: 7.0.3 detect-port-alt: 1.1.6 @@ -13707,6 +13841,16 @@ packages: webpack: 5.75.0(@swc/core@1.3.27) dev: false + /react-medium-image-zoom@5.1.8(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-2X4oLlEopIWg7qalR1Qpy4gPrU9CTF0DvJ7HNu5u/NwdyQWupEsje2vuMbjBz7+np8MmQ4DKJ6zGr1ofCuzB3g==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /react-router-config@5.1.1(react-router@5.3.4)(react@17.0.2): resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} peerDependencies: @@ -13764,6 +13908,12 @@ packages: loose-envify: 1.4.0 dev: false + /read-cache@1.0.0: + resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} + dependencies: + pify: 2.3.0 + dev: true + /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -15375,17 +15525,31 @@ packages: react: 18.2.0 dev: false - /stylehacks@5.1.1(postcss@8.4.24): + /stylehacks@5.1.1(postcss@8.4.31): resolution: {integrity: sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==} engines: {node: ^10 || ^12 || >=14.0} peerDependencies: postcss: ^8.2.15 dependencies: - browserslist: 4.21.7 - postcss: 8.4.24 + browserslist: 4.22.1 + postcss: 8.4.31 postcss-selector-parser: 6.0.13 dev: false + /sucrase@3.34.0: + resolution: {integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==} + engines: {node: '>=8'} + hasBin: true + dependencies: + '@jridgewell/gen-mapping': 0.3.3 + commander: 4.1.1 + glob: 7.1.6 + lines-and-columns: 1.2.4 + mz: 2.7.0 + pirates: 4.0.6 + ts-interface-checker: 0.1.13 + dev: true + /suf-log@2.5.3: resolution: {integrity: sha512-KvC8OPjzdNOe+xQ4XWJV2whQA0aM1kGVczMQ8+dStAO6KfEB140JEVQ9dE76ONZ0/Ylf67ni4tILPJB41U0eow==} dependencies: @@ -15472,6 +15636,37 @@ packages: strip-ansi: 6.0.1 dev: true + /tailwindcss@3.3.3(ts-node@10.9.1): + resolution: {integrity: sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==} + engines: {node: '>=14.0.0'} + hasBin: true + dependencies: + '@alloc/quick-lru': 5.2.0 + arg: 5.0.2 + chokidar: 3.5.3 + didyoumean: 1.2.2 + dlv: 1.1.3 + fast-glob: 3.2.12 + glob-parent: 6.0.2 + is-glob: 4.0.3 + jiti: 1.18.2 + lilconfig: 2.1.0 + micromatch: 4.0.5 + normalize-path: 3.0.0 + object-hash: 3.0.0 + picocolors: 1.0.0 + postcss: 8.4.31 + postcss-import: 15.1.0(postcss@8.4.31) + postcss-js: 4.0.1(postcss@8.4.31) + postcss-load-config: 4.0.1(postcss@8.4.31)(ts-node@10.9.1) + postcss-nested: 6.0.1(postcss@8.4.31) + postcss-selector-parser: 6.0.13 + resolve: 1.22.2 + sucrase: 3.34.0 + transitivePeerDependencies: + - ts-node + dev: true + /tap-mocha-reporter@5.0.3: resolution: {integrity: sha512-6zlGkaV4J+XMRFkN0X+yuw6xHbE9jyCZ3WUKfw4KxMyRGOpYSRuuQTRJyWX88WWuLdVTuFbxzwXhXuS2XE6o0g==} engines: {node: '>= 8'} @@ -15676,6 +15871,19 @@ packages: /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + /thenify-all@1.6.0: + resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} + engines: {node: '>=0.8'} + dependencies: + thenify: 3.3.1 + dev: true + + /thenify@3.3.1: + resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} + dependencies: + any-promise: 1.3.0 + dev: true + /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} dependencies: @@ -15811,6 +16019,10 @@ packages: typescript: 5.0.3 dev: true + /ts-interface-checker@0.1.13: + resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + dev: true + /ts-node@10.9.1(@swc/core@1.3.27)(@types/node@18.11.18)(typescript@5.0.3): resolution: {integrity: sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==} hasBin: true @@ -16376,6 +16588,16 @@ packages: escalade: 3.1.1 picocolors: 1.0.0 + /update-browserslist-db@1.0.13(browserslist@4.22.1): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.22.1 + escalade: 3.1.1 + picocolors: 1.0.0 + /update-notifier@5.1.0: resolution: {integrity: sha512-ItnICHbeMh9GqUy31hFPrD1kcuZ3rpxDZbf4KUDavXwS0bW5m7SLbDQpGX3UYr072cbrF5hFUs3r5tUsPwjfHw==} engines: {node: '>=10'} @@ -16574,7 +16796,7 @@ packages: dependencies: '@types/node': 18.11.18 esbuild: 0.16.17 - postcss: 8.4.24 + postcss: 8.4.31 resolve: 1.22.2 rollup: 3.24.0 optionalDependencies: