(https://ar1.dev/)",
- "license": "MIT",
- "dependencies": {
- "next": "^13.0.6",
- "nextra": "^2.0.0",
- "nextra-theme-docs": "^2.0.0",
- "react": "^18.2.0",
- "react-dom": "^18.2.0"
- },
- "devDependencies": {
- "@next/eslint-plugin-next": "^12.1.2",
- "@types/node": "^18.11.10",
- "autoprefixer": "^10.4.13",
- "postcss": "^8.4.19",
- "tailwindcss": "^3.2.4",
- "typescript": "^4.9.3"
- }
-}
diff --git a/docs/postcss.config.js b/docs/postcss.config.js
deleted file mode 100644
index aa8a423..0000000
--- a/docs/postcss.config.js
+++ /dev/null
@@ -1,8 +0,0 @@
-/* eslint-disable no-undef */
-
-module.exports = {
- plugins: {
- tailwindcss: {},
- autoprefixer: {},
- },
-};
diff --git a/docs/src/pages/_app.js b/docs/src/pages/_app.js
deleted file mode 100644
index ebf9d88..0000000
--- a/docs/src/pages/_app.js
+++ /dev/null
@@ -1,7 +0,0 @@
-import 'nextra-theme-docs/style.css'
-import '../styles/global.css'
-
-export default function Nextra({ Component, pageProps }) {
- const getLayout = Component.getLayout || ((page) => page)
- return getLayout( )
-}
diff --git a/docs/src/pages/_meta.json b/docs/src/pages/_meta.json
deleted file mode 100644
index 2d908d8..0000000
--- a/docs/src/pages/_meta.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "index": "Introduction",
- "techniques": "Techniques",
- "chapters": "Chapters",
- "verses": "Verses",
- "search": "Search",
- "juzs": "Juzs",
- "audio": "Audio",
- "resources": "Resources",
- "utils": "Utilities"
-}
\ No newline at end of file
diff --git a/docs/src/pages/audio.mdx b/docs/src/pages/audio.mdx
deleted file mode 100644
index 2f6b438..0000000
--- a/docs/src/pages/audio.mdx
+++ /dev/null
@@ -1,174 +0,0 @@
-## findAllChapterRecitations
-
-Get all chapter recitations for specific reciter.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciter-audio-files)
-
-**Params:**
-
-`audio.findAllChapterRecitations(reciterId: string, options?: GetChapterRecitationOptions)`
-
-| Param | Type |
-| --------- | ----------------------------- |
-| reciterId | `string` |
-| options | `GetChapterRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findAllChapterRecitations('2'); // abdulbaset abdulsamad
-```
-
-## findChapterRecitationById
-
-Get chapter recitation for specific reciter and a specific chapter.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciter-audio-file)
-
-**Params:**
-
-`audio.findChapterRecitationById(chapterId: ChapterId, reciterId: string, options?: GetChapterRecitationOptions)`
-
-| Param | Type |
-| --------- | ----------------------------- |
-| chapterId | `ChapterId` |
-| reciterId | `string` |
-| options | `GetChapterRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findChapterRecitationById('1', '2'); // first chapter recitation for abdulbaset abdulsamad
-```
-
-## findVerseRecitationsByChapter
-
-Get all verse audio files for a specific reciter and a specific chapter.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-surah-recitation)
-
-**Params:**
-
-`audio.findVerseRecitationsByChapter(chapterId: ChapterId, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | --------------------------- |
-| chapterId | `ChapterId` |
-| recitationId | `string` |
-| options | `GetVerseRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByChapter('1', '2');
-```
-
-## findVerseRecitationsByHizb
-
-Get all verse audio files for a specific reciter and a specific hizb.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-hizb-recitaiton)
-
-**Params:**
-
-`audio.findVerseRecitationsByHizb(hizb: HizbNumber, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | --------------------------- |
-| hizb | `HizbNumber` |
-| recitationId | `string` |
-| options | `GetVerseRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByHizb('1', '2');
-```
-
-## findVerseRecitationsByJuz
-
-Get all verse audio files for a specific reciter and a specific juz.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-juz-recitaiton)
-
-**Params:**
-
-`audio.findVerseRecitationsByJuz(juz: JuzNumber, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | ----------------------- |
-| juz | `JuzNumber` |
-| recitationId | `string` |
-| options | `GetRecitationsOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByJuz('1', '2');
-```
-
-## findVerseRecitationsByKey
-
-Get all verse audio files for a specific reciter and a specific verse.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-ayah-recitaiton)
-
-**Params:**
-
-`audio.findVerseRecitationsByKey(key: VerseKey, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | --------------------------- |
-| key | `VerseKey` |
-| recitationId | `string` |
-| options | `GetVerseRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByKey('1:1', '2');
-```
-
-## findVerseRecitationsByPage
-
-Get all verse audio files for a specific reciter and a specific mushaf page.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-page-recitaiton)
-
-**Params:**
-
-`audio.findVerseRecitationsByPage(page: PageNumber, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | --------------------------- |
-| page | `PageNumber` |
-| recitationId | `string` |
-| options | `GetVerseRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByPage('1', '2');
-```
-
-## findVerseRecitationsByRub
-
-Get all verse audio files for a specific reciter and a specific rub.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-rub-el-hizb-recitaiton)
-
-**Params:**
-
-`audio.findVerseRecitationsByRub(rub: RubNumber, recitationId: string, options?: GetVerseRecitationOptions)`
-
-| Param | Type |
-| ------------ | --------------------------- |
-| rub | `RubNumber` |
-| recitationId | `string` |
-| options | `GetVerseRecitationOptions` |
-
-**Example:**
-
-```js
-quran.v4.audio.findVerseRecitationsByRub('1', '2');
-```
diff --git a/docs/src/pages/chapters.mdx b/docs/src/pages/chapters.mdx
deleted file mode 100644
index 4d05691..0000000
--- a/docs/src/pages/chapters.mdx
+++ /dev/null
@@ -1,63 +0,0 @@
-## findAll
-
-Get all chapters.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-chapters)
-
-**Params:**
-
-`chapters.findAll(options?: GetChapterOptions)`
-
-| Param | Type |
-| ------- | ------------------- |
-| options | `GetChapterOptions` |
-
-**Example:**
-
-```js
-quran.v4.chapters.findAll();
-```
-
-## findById
-
-Get chapter by id.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/get-chapter)
-
-**Params:**
-
-`chapters.findById(id: ChapterId, options?: GetChapterOptions)`
-
-| Param | Type | Description |
-| ------- | ------------------- | ---------------------- |
-| id | ChapterId (m) | minimum 1, maximum 114 |
-| options | `GetChapterOptions` | |
-
-**Example:**
-
-```js
-quran.v4.chapters.findById('1');
-quran.v4.chapters.findById('114');
-```
-
-## findInfoById
-
-Get chapter info by id.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/info)
-
-**Params:**
-
-`chapters.findInfoById(id: ChapterId, options?: GetChapterOptions)`
-
-| Param | Type | Description |
-| ------- | ------------------- | ---------------------- |
-| id | ChapterId (m) | minimum 1, maximum 114 |
-| options | `GetChapterOptions` | |
-
-**Example:**
-
-```js
-quran.v4.chapters.findInfoById('1');
-quran.v4.chapters.findInfoById('114');
-```
diff --git a/docs/src/pages/index.mdx b/docs/src/pages/index.mdx
deleted file mode 100644
index efedc87..0000000
--- a/docs/src/pages/index.mdx
+++ /dev/null
@@ -1,59 +0,0 @@
-import Image from 'next/image';
-import { Tab, Tabs } from 'nextra-theme-docs';
-
-
-
-A library for fetching quran data from the [Quran.com API](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/quran-com-api). This library also works on both Node.js and the browser.
-
-- [NPM](https://www.npmjs.com/package/@quranjs/api)
-- [MIT License](https://github.com/quran/api-js/blob/master/LICENSE)
-
-## Installation
-
-{/* prettier-ignore-start */}
-
-
- ```bash
- pnpm add @quranjs/api
- ```
-
-
- ```bash
- npm install @quranjs/api
- ```
-
-
- ```bash
- yarn add @quranjs/api
- ```
-
-
- ```html
-
-
- ```
-
-
-{/* prettier-ignore-end */}
-
-## Getting Started
-
-You can use the library in your project by importing it:
-
-```js
-import { quran } from '@quranjs/api';
-
-quran.v4.chapters.findAll().then(console.log); // will log all chapters
-```
-
-or with CJS:
-
-```js
-const { quran } = require('@quranjs/api');
-
-quran.v4.chapters.findAll().then(console.log); // will log all chapters
-```
diff --git a/docs/src/pages/juzs.mdx b/docs/src/pages/juzs.mdx
deleted file mode 100644
index 9b24051..0000000
--- a/docs/src/pages/juzs.mdx
+++ /dev/null
@@ -1,11 +0,0 @@
-## findAll
-
-Get All Juzs
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/juzs)
-
-**Example:**
-
-```js
-quran.v4.juzs.findAll();
-```
diff --git a/docs/src/pages/resources.mdx b/docs/src/pages/resources.mdx
deleted file mode 100644
index af362d0..0000000
--- a/docs/src/pages/resources.mdx
+++ /dev/null
@@ -1,214 +0,0 @@
-## findAllChapterInfos
-
-Get all chapter infos.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-info)
-
-**Params:**
-
-`resources.findAllChapterInfos(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllChapterInfos();
-```
-
-## findAllChapterReciters
-
-Get all chapter reciters.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciters)
-
-**Params:**
-
-`resources.findAllChapterReciters(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllChapterReciters();
-```
-
-## findAllLanguages
-
-Get all languages.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/languages)
-
-**Params:**
-
-`resources.findAllLanguages(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllLanguages();
-```
-
-## findAllRecitations
-
-Get all recitations.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitations)
-
-**Params:**
-
-`resources.findAllRecitations(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllRecitations();
-```
-
-## findRecitationInfo
-
-Get recitation info.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitation-info)
-
-**Params:**
-
-`resources.findRecitationInfo(id: string, options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| id | `string` |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findRecitationInfo('1');
-```
-
-## findAllRecitationStyles
-
-Get all recitation styles.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitation-styles)
-
-**Example:**
-
-```js
-quran.v4.resources.findAllRecitationStyles();
-```
-
-## findAllTafsirs
-
-Get all tafsirs.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/tafsirs)
-
-**Params:**
-
-`resources.findAllTafsirs(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllTafsirs();
-```
-
-## findTafsirInfo
-
-Get tafsir info.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/tafsir-info)
-
-**Params:**
-
-`resources.findTafsirInfo(id: string, options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| id | `string` |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findTafsirInfo('1');
-```
-
-## findAllTranslations
-
-Get all translations.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/translations)
-
-**Params:**
-
-`resources.findAllTranslations(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findAllTranslations();
-```
-
-## findTranslationInfo
-
-Get all translations.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/translation-info)
-
-**Params:**
-
-`resources.findTranslationInfo(id: string, options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| id | `string` |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findTranslationInfo('169');
-```
-
-## findVerseMedia
-
-Get verse media.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verse-media)
-
-**Params:**
-
-`resources.findVerseMedia(options?: GetResourceOptions)`
-
-| Param | Type |
-| ------- | -------------------- |
-| options | `GetResourceOptions` |
-
-**Example:**
-
-```js
-quran.v4.resources.findVerseMedia();
-```
diff --git a/docs/src/pages/search.mdx b/docs/src/pages/search.mdx
deleted file mode 100644
index 0485e6d..0000000
--- a/docs/src/pages/search.mdx
+++ /dev/null
@@ -1,19 +0,0 @@
-## search
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/search)
-
-**Params:**
-
-| Param | Type | Description |
-| ------- | --------------- | -------------- |
-| q | string | search query |
-| options | `SearchOptions` | search options |
-
-**Example:**
-
-```js
-quran.v4.search.search('نور');
-quran.v4.search.search('نور', { language: Language.ENGLISH });
-quran.v4.search.search('نور', { language: Language.ENGLISH, size: 10 });
-quran.v4.search.search('نور', { language: Language.ENGLISH, page: 2 });
-```
diff --git a/docs/src/pages/techniques.mdx b/docs/src/pages/techniques.mdx
deleted file mode 100644
index 2159a0f..0000000
--- a/docs/src/pages/techniques.mdx
+++ /dev/null
@@ -1,39 +0,0 @@
-## Custom fetcher
-
-By default, all functions that interact with the [Quran.com API](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/quran-com-api) use the global `fetch` function.
-
-You can override this by passing a custom fetcher (as `fetchFn`) to the options object of any method.
-
-import { Callout } from 'nextra-theme-docs';
-
-
- Note that the `fetchFn` accepts a string url and must return a promise with
- the JSON response.
-
-
-### Examples
-
-#### Axios
-
-```ts
-import axios from 'axios';
-
-const chapters = await quran.v4.chapters.findAll({
- fetchFn: (url) => axios.get(url).then((res) => res.data),
-});
-```
-
----
-
-#### Node-fetch
-
-```ts
-import fetch from 'node-fetch';
-
-const chapters = await quran.v4.chapters.findAll({
- fetchFn: async (url) => {
- const response = await fetch(url);
- return response.json();
- },
-});
-```
diff --git a/docs/src/pages/utils.mdx b/docs/src/pages/utils.mdx
deleted file mode 100644
index cd397a2..0000000
--- a/docs/src/pages/utils.mdx
+++ /dev/null
@@ -1,119 +0,0 @@
-## isValidChapterId
-
-Validates chapter id.
-
-**Params:**
-
-| Param | Description |
-| ----- | ----------- |
-| id | chapter id |
-
-**Example:**
-
-```js
-isValidChapterId('1'); // true
-isValidChapterId('114'); // true
-isValidChapterId('0'); // false
-isValidChapterId('-1'); // false
-isValidChapterId('200'); // false
-```
-
-## isValidHizb
-
-Validates hizb number.
-
-**Params:**
-
-| Param | Description |
-| ----- | ----------- |
-| hizb | hizb number |
-
-**Example:**
-
-```js
-isValidHizb('1'); // true
-isValidHizb('60'); // true
-isValidHizb('0'); // false
-isValidHizb('-1'); // false
-isValidHizb('200'); // false
-```
-
-## isValidJuz
-
-Validates juz number.
-
-**Params:**
-
-| Param | Description |
-| ----- | ----------- |
-| juz | juz number |
-
-**Example:**
-
-```js
-isValidJuz('1'); // true
-isValidJuz('30'); // true
-isValidJuz('0'); // false
-isValidJuz('-1'); // false
-isValidJuz('200'); // false
-```
-
-## isValidQuranPage
-
-Validates mushaf page number.
-
-**Params:**
-
-| Param | Description |
-| ----- | ------------------ |
-| page | mushaf page number |
-
-**Example:**
-
-```js
-isValidQuranPage('1'); // true
-isValidQuranPage('604'); // true
-isValidQuranPage('0'); // false
-isValidQuranPage('-1'); // false
-isValidQuranPage('1000'); // false
-```
-
-## isValidRub
-
-Validates rub number.
-
-**Params:**
-
-| Param | Description |
-| ----- | ----------- |
-| rub | rub number |
-
-**Example:**
-
-```js
-isValidRub('1'); // true
-isValidRub('240'); // true
-isValidRub('0'); // false
-isValidRub('-1'); // false
-isValidRub('300'); // false
-```
-
-## isValidVerseKey
-
-Validates verse key.
-
-**Params:**
-
-| Param | Description |
-| ----- | ----------------------------------------- |
-| key | colon separated verse key (chapter:verse) |
-
-**Example:**
-
-```js
-isValidVerseKey('1:1'); // true
-isValidVerseKey('30:1'); // true
-isValidVerseKey('0'); // false
-isValidVerseKey('1:-'); // false
-isValidVerseKey('1_1'); // false
-```
diff --git a/docs/src/pages/verses.mdx b/docs/src/pages/verses.mdx
deleted file mode 100644
index d3577b7..0000000
--- a/docs/src/pages/verses.mdx
+++ /dev/null
@@ -1,151 +0,0 @@
-## findByChapter
-
-Get all ayahs for a specific chapter.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-chapter-number)
-
-**Params:**
-
-`verses.findByChapter(id: ChapterId, options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ------------------------------------ |
-| id | `ChapterId` (minimum 1, maximum 114) |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findByChapter('1');
-quran.v4.verses.findByChapter('114');
-```
-
-## findByJuz
-
-Get all ayahs for a Juz.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-juz-number)
-
-**Params:**
-
-`verses.findByJuz(juz: JuzNumber, options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ----------------------------------- |
-| juz | `JuzNumber` (minimum 1, maximum 30) |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findByJuz('1');
-quran.v4.verses.findByJuz('30');
-```
-
-## findByKey
-
-Get a specific ayah with key. Key is combination of surah number and ayah number.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-verse-key)
-
-**Params:**
-
-`verses.findByKey(key: VerseKey, options?: GetVerseOptions)`
-
-| Param | Type | Description |
-| ------- | ----------------- | -------------------------------------------------- |
-| key | `VerseKey` | surah number and ayah number separated by a colon. |
-| options | `GetVerseOptions` | |
-
-**Example:**
-
-```js
-quran.v4.verses.findByKey('1:1');
-quran.v4.verses.findByKey('101:5');
-```
-
-## findByPage
-
-Get all ayahs for a specific page in the Quran.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-page-number)
-
-**Params:**
-
-`verses.findByKey(page: PageNumber, options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ------------------------------------- |
-| page | `PageNumber` (minimum 1, maximum 604) |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findByPage('1');
-quran.v4.verses.findByPage('101');
-```
-
-## findRandom
-
-Get a random ayah.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/random-verse)
-
-**Params:**
-
-`verses.findRandom(options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ----------------- |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findRandom();
-```
-
-## findByHizb
-
-Get all ayahs of a specific Hizb.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-hizb-number)
-
-**Params:**
-
-`verses.findByHizb(id: HizbNumber, options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ------------------------------------ |
-| hizb | `HizbNumber` (minimum 1, maximum 60) |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findByHizb('1');
-quran.v4.verses.findByHizb('60');
-```
-
-## findByRub
-
-Get all ayahs of a specific Rub.
-
-- [Quran.com API Docs](https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-rub-el-hizb-number)
-
-**Params:**
-
-`verses.findByRub(id: RubNumber, options?: GetVerseOptions)`
-
-| Param | Type |
-| ------- | ------------------------------------ |
-| rub | `RubNumber` (minimum 1, maximum 240) |
-| options | `GetVerseOptions` |
-
-**Example:**
-
-```js
-quran.v4.verses.findByRub('1');
-quran.v4.verses.findByRub('240');
-```
diff --git a/docs/src/styles/global.css b/docs/src/styles/global.css
deleted file mode 100644
index 0b7d3dd..0000000
--- a/docs/src/styles/global.css
+++ /dev/null
@@ -1,9 +0,0 @@
-@tailwind base;
-@tailwind components;
-@tailwind utilities;
-
-/* @media (min-width: 768px) {
- aside {
- width: 17.5rem !important;
- }
-} */
diff --git a/docs/tailwind.config.js b/docs/tailwind.config.js
deleted file mode 100644
index 052154c..0000000
--- a/docs/tailwind.config.js
+++ /dev/null
@@ -1,11 +0,0 @@
-/* eslint-disable no-undef */
-
-/** @type {import('tailwindcss').Config} */
-module.exports = {
- content: ['./src/**/*.{js,ts,jsx,tsx,mdx}', './theme.config.{js,ts,jsx,tsx}'],
- theme: {
- extend: {},
- },
- plugins: [],
- darkMode: 'class',
-};
diff --git a/docs/theme.config.tsx b/docs/theme.config.tsx
deleted file mode 100644
index eb6651b..0000000
--- a/docs/theme.config.tsx
+++ /dev/null
@@ -1,96 +0,0 @@
-import { DocsThemeConfig } from 'nextra-theme-docs';
-
-const SEO = {
- title: 'QuranJS / API',
- titleSuffix: ' - QuranJS / API',
- description:
- 'QuranJS / Api: A library for fetching quran data from the Quran.com API on both Node.js and the browser.',
- image: 'https://github.com/quran/api-js/raw/master/media/repo-header.png',
- twitter: '@ahmedriad_',
- github: 'quran/api-js',
- color: '#5120DB',
- domain: 'www.quranjs.com',
-};
-
-const logo = (
- <>
- QuranJS
- API
- >
-);
-
-const theme: DocsThemeConfig = {
- primaryHue: 270,
- project: {
- link: `https://github.com/${SEO.github}`,
- },
- docsRepositoryBase: `https://github.com/${SEO.github}/blob/master/docs/pages`,
- useNextSeoProps() {
- return {
- titleTemplate: `%s${SEO.titleSuffix}`,
- };
- },
- logo,
- head: (
- <>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- >
- ),
- sidebar: {
- titleComponent: ({ title, type }) => {
- if (type === 'separator')
- return {title} ;
-
- return <>{title}>;
- },
- defaultMenuCollapseLevel: 0,
- },
- navigation: {
- next: true,
- prev: true,
- },
- editLink: {
- text: 'Edit this page on GitHub',
- },
- footer: {
- text: () => <>MIT {new Date().getFullYear()} © QuranJS.>,
- },
-};
-
-export default theme;
diff --git a/docs/tsconfig.json b/docs/tsconfig.json
deleted file mode 100644
index e7d366c..0000000
--- a/docs/tsconfig.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "compilerOptions": {
- "target": "es5",
- "lib": ["dom", "dom.iterable", "esnext"],
- "allowJs": true,
- "skipLibCheck": true,
- "strict": false,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true,
- "incremental": true,
- "esModuleInterop": true,
- "isolatedModules": true,
- "moduleResolution": "node",
- "jsx": "preserve",
- "module": "esnext",
- "resolveJsonModule": true,
- "baseUrl": ".",
- "paths": {
- "@/*": ["src/*"]
- }
- },
- "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
- "exclude": ["node_modules"]
-}
diff --git a/docs/yarn.lock b/docs/yarn.lock
deleted file mode 100644
index de37983..0000000
--- a/docs/yarn.lock
+++ /dev/null
@@ -1,2494 +0,0 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
-# yarn lockfile v1
-
-
-"@babel/runtime@^7.12.5":
- version "7.17.8"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.8.tgz#3e56e4aff81befa55ac3ac6a0967349fd1c5bca2"
- integrity sha512-dQpEpK0O9o6lj6oPu0gRDbbnk+4LeHlNcBpspf6Olzt3GIX4P1lWF1gS+pHLDFlaJvbR6q7jCfQ08zA4QJBnmA==
- dependencies:
- regenerator-runtime "^0.13.4"
-
-"@headlessui/react@^1.6.6":
- version "1.7.4"
- resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.4.tgz#ba7f50fda20667276ee84fcd4c2a459aa26187e3"
- integrity sha512-D8n5yGCF3WIkPsjEYeM8knn9jQ70bigGGb5aUvN6y4BGxcT3OcOQOKcM3zRGllRCZCFxCZyQvYJF6ZE7bQUOyQ==
- dependencies:
- client-only "^0.0.1"
-
-"@mdx-js/mdx@^2.1.3":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.1.5.tgz#577937349fd555154382c2f805f5f52834a64903"
- integrity sha512-zEG0lt+Bl/r5U6e0TOS7qDbsXICtemfAPquxWFsMbdzrvlWaqMGemLl+sjVpqlyaaiCiGVQBSGdCk0t1qXjkQg==
- dependencies:
- "@types/estree-jsx" "^1.0.0"
- "@types/mdx" "^2.0.0"
- estree-util-build-jsx "^2.0.0"
- estree-util-is-identifier-name "^2.0.0"
- estree-util-to-js "^1.1.0"
- estree-walker "^3.0.0"
- hast-util-to-estree "^2.0.0"
- markdown-extensions "^1.0.0"
- periscopic "^3.0.0"
- remark-mdx "^2.0.0"
- remark-parse "^10.0.0"
- remark-rehype "^10.0.0"
- unified "^10.0.0"
- unist-util-position-from-estree "^1.0.0"
- unist-util-stringify-position "^3.0.0"
- unist-util-visit "^4.0.0"
- vfile "^5.0.0"
-
-"@mdx-js/react@^2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.1.5.tgz#8225a867dae6f845ae5b0ec15bb454c23be3f576"
- integrity sha512-3Az1I6SAWA9R38rYjz5rXBrGKeZhq96CSSyQtqY+maPj8stBsoUH5pNcmIixuGkufYsh8F5+ka2CVPo2fycWZw==
- dependencies:
- "@types/mdx" "^2.0.0"
- "@types/react" ">=16"
-
-"@napi-rs/simple-git-android-arm-eabi@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-android-arm-eabi/-/simple-git-android-arm-eabi-0.1.8.tgz#303bea1ec00db24466e3b3ba13de337d87c5371b"
- integrity sha512-JJCejHBB1G6O8nxjQLT4quWCcvLpC3oRdJJ9G3MFYSCoYS8i1bWCWeU+K7Br+xT+D6s1t9q8kNJAwJv9Ygpi0g==
-
-"@napi-rs/simple-git-android-arm64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-android-arm64/-/simple-git-android-arm64-0.1.8.tgz#42c8d04287364fd1619002629fa52183dcf462ee"
- integrity sha512-mraHzwWBw3tdRetNOS5KnFSjvdAbNBnjFLA8I4PwTCPJj3Q4txrigcPp2d59cJ0TC51xpnPXnZjYdNwwSI9g6g==
-
-"@napi-rs/simple-git-darwin-arm64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-darwin-arm64/-/simple-git-darwin-arm64-0.1.8.tgz#e210808e6d646d6efecea84c67ced8eb44a8f821"
- integrity sha512-ufy/36eI/j4UskEuvqSH7uXtp3oXeLDmjQCfKJz3u5Vx98KmOMKrqAm2H81AB2WOtCo5mqS6PbBeUXR8BJX8lQ==
-
-"@napi-rs/simple-git-darwin-x64@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-darwin-x64/-/simple-git-darwin-x64-0.1.8.tgz#d717525c33e0dfd8a6d6215da2fcbc0ad40011e1"
- integrity sha512-Vb21U+v3tPJNl+8JtIHHT8HGe6WZ8o1Tq3f6p+Jx9Cz71zEbcIiB9FCEMY1knS/jwQEOuhhlI9Qk7d4HY+rprA==
-
-"@napi-rs/simple-git-linux-arm-gnueabihf@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm-gnueabihf/-/simple-git-linux-arm-gnueabihf-0.1.8.tgz#03e7b2dd299c10e61bbf29f405ea74f6571cf6a1"
- integrity sha512-6BPTJ7CzpSm2t54mRLVaUr3S7ORJfVJoCk2rQ8v8oDg0XAMKvmQQxOsAgqKBo9gYNHJnqrOx3AEuEgvB586BuQ==
-
-"@napi-rs/simple-git-linux-arm64-gnu@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm64-gnu/-/simple-git-linux-arm64-gnu-0.1.8.tgz#945123f75c9a36fd0364e789ce06cd29a74a43cc"
- integrity sha512-qfESqUCAA/XoQpRXHptSQ8gIFnETCQt1zY9VOkplx6tgYk9PCeaX4B1Xuzrh3eZamSCMJFn+1YB9Ut8NwyGgAA==
-
-"@napi-rs/simple-git-linux-arm64-musl@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-arm64-musl/-/simple-git-linux-arm64-musl-0.1.8.tgz#2c20a0bff7c08f60b033ed7056dcb07bbbff8310"
- integrity sha512-G80BQPpaRmQpn8dJGHp4I2/YVhWDUNJwcCrJAtAdbKFDCMyCHJBln2ERL/+IEUlIAT05zK/c1Z5WEprvXEdXow==
-
-"@napi-rs/simple-git-linux-x64-gnu@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-x64-gnu/-/simple-git-linux-x64-gnu-0.1.8.tgz#980e22b7376252a0767298ec801d374d97553da1"
- integrity sha512-NI6o1sZYEf6vPtNWJAm9w8BxJt+LlSFW0liSjYe3lc3e4dhMfV240f0ALeqlwdIldRPaDFwZSJX5/QbS7nMzhw==
-
-"@napi-rs/simple-git-linux-x64-musl@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-linux-x64-musl/-/simple-git-linux-x64-musl-0.1.8.tgz#edca3b2833dc5d3fc9151f5b931f7b14478ccca4"
- integrity sha512-wljGAEOW41er45VTiU8kXJmO480pQKzsgRCvPlJJSCaEVBbmo6XXbFIXnZy1a2J3Zyy2IOsRB4PVkUZaNuPkZQ==
-
-"@napi-rs/simple-git-win32-arm64-msvc@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-win32-arm64-msvc/-/simple-git-win32-arm64-msvc-0.1.8.tgz#3ac4c7fe816a2cdafabd091ded76161d1ba1fe88"
- integrity sha512-QuV4QILyKPfbWHoQKrhXqjiCClx0SxbCTVogkR89BwivekqJMd9UlMxZdoCmwLWutRx4z9KmzQqokvYI5QeepA==
-
-"@napi-rs/simple-git-win32-x64-msvc@0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git-win32-x64-msvc/-/simple-git-win32-x64-msvc-0.1.8.tgz#3b825bc2cb1c7ff535a3ca03768142d68bbf5c19"
- integrity sha512-UzNS4JtjhZhZ5hRLq7BIUq+4JOwt1ThIKv11CsF1ag2l99f0123XvfEpjczKTaa94nHtjXYc2Mv9TjccBqYOew==
-
-"@napi-rs/simple-git@^0.1.8":
- version "0.1.8"
- resolved "https://registry.yarnpkg.com/@napi-rs/simple-git/-/simple-git-0.1.8.tgz#391cb58436d50bd32d924611d45bdc41f5e7607a"
- integrity sha512-BvOMdkkofTz6lEE35itJ/laUokPhr/5ToMGlOH25YnhLD2yN1KpRAT4blW9tT8281/1aZjW3xyi73bs//IrDKA==
- optionalDependencies:
- "@napi-rs/simple-git-android-arm-eabi" "0.1.8"
- "@napi-rs/simple-git-android-arm64" "0.1.8"
- "@napi-rs/simple-git-darwin-arm64" "0.1.8"
- "@napi-rs/simple-git-darwin-x64" "0.1.8"
- "@napi-rs/simple-git-linux-arm-gnueabihf" "0.1.8"
- "@napi-rs/simple-git-linux-arm64-gnu" "0.1.8"
- "@napi-rs/simple-git-linux-arm64-musl" "0.1.8"
- "@napi-rs/simple-git-linux-x64-gnu" "0.1.8"
- "@napi-rs/simple-git-linux-x64-musl" "0.1.8"
- "@napi-rs/simple-git-win32-arm64-msvc" "0.1.8"
- "@napi-rs/simple-git-win32-x64-msvc" "0.1.8"
-
-"@next/env@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/env/-/env-13.0.6.tgz#3fcab11ffbe95bff127827d9f7f3139bc5e6adff"
- integrity sha512-yceT6DCHKqPRS1cAm8DHvDvK74DLIkDQdm5iV+GnIts8h0QbdHvkUIkdOvQoOODgpr6018skbmSQp12z5OWIQQ==
-
-"@next/eslint-plugin-next@^12.1.2":
- version "12.1.2"
- resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.1.2.tgz#5757064bbfaba467c1a5647f0ef25793514f4016"
- integrity sha512-XqYRh6d98dpv2ynoOEC3VeNv99hxRGBuanRDKASfntdAZD9Zp4n+AugmNF0qwOQEHYgG1uvZW3A4Fi6Y/+kCQw==
- dependencies:
- glob "7.1.7"
-
-"@next/swc-android-arm-eabi@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm-eabi/-/swc-android-arm-eabi-13.0.6.tgz#c971e5a3f8aae875ac1d9fdb159b7e126d8d98d5"
- integrity sha512-FGFSj3v2Bluw8fD/X+1eXIEB0PhoJE0zfutsAauRhmNpjjZshLDgoXMWm1jTRL/04K/o9gwwO2+A8+sPVCH1uw==
-
-"@next/swc-android-arm64@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-android-arm64/-/swc-android-arm64-13.0.6.tgz#ecacae60f1410136cc31f9e1e09e78e624ca2d68"
- integrity sha512-7MgbtU7kimxuovVsd7jSJWMkIHBDBUsNLmmlkrBRHTvgzx5nDBXogP0hzZm7EImdOPwVMPpUHRQMBP9mbsiJYQ==
-
-"@next/swc-darwin-arm64@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.0.6.tgz#266e9e0908024760eba0dfce17edc90ffcba5fdc"
- integrity sha512-AUVEpVTxbP/fxdFsjVI9d5a0CFn6NVV7A/RXOb0Y+pXKIIZ1V5rFjPwpYfIfyOo2lrqgehMNQcyMRoTrhq04xg==
-
-"@next/swc-darwin-x64@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.0.6.tgz#4be4ca7bc37f9c93d2e38be5ff313873ad758c09"
- integrity sha512-SasCDJlshglsPnbzhWaIF6VEGkQy2NECcAOxPwaPr0cwbbt4aUlZ7QmskNzgolr5eAjFS/xTr7CEeKJtZpAAtQ==
-
-"@next/swc-freebsd-x64@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-freebsd-x64/-/swc-freebsd-x64-13.0.6.tgz#42eb9043ee65ea5927ba550f4b59827d7064c47b"
- integrity sha512-6Lbxd9gAdXneTkwHyYW/qtX1Tdw7ND9UbiGsGz/SP43ZInNWnW6q0au4hEVPZ9bOWWRKzcVoeTBdoMpQk9Hx9w==
-
-"@next/swc-linux-arm-gnueabihf@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm-gnueabihf/-/swc-linux-arm-gnueabihf-13.0.6.tgz#aab663282b5f15d12bf9de1120175f438a44c924"
- integrity sha512-wNdi5A519e1P+ozEuYOhWPzzE6m1y7mkO6NFwn6watUwO0X9nZs7fT9THmnekvmFQpaZ6U+xf2MQ9poQoCh6jQ==
-
-"@next/swc-linux-arm64-gnu@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.0.6.tgz#5e2b6df4636576a00befb7bd414820a12161a9af"
- integrity sha512-e8KTRnleQY1KLk5PwGV5hrmvKksCc74QRpHl5ffWnEEAtL2FE0ave5aIkXqErsPdXkiKuA/owp3LjQrP+/AH7Q==
-
-"@next/swc-linux-arm64-musl@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.0.6.tgz#4a5e91a36cf140cad974df602d647e64b1b9473f"
- integrity sha512-/7RF03C3mhjYpHN+pqOolgME3guiHU5T3TsejuyteqyEyzdEyLHod+jcYH6ft7UZ71a6TdOewvmbLOtzHW2O8A==
-
-"@next/swc-linux-x64-gnu@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.0.6.tgz#accb8a721a99e704565b936f16e96fa0c67e8db1"
- integrity sha512-kxyEXnYHpOEkFnmrlwB1QlzJtjC6sAJytKcceIyFUHbCaD3W/Qb5tnclcnHKTaFccizZRePXvV25Ok/eUSpKTw==
-
-"@next/swc-linux-x64-musl@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.0.6.tgz#2affaa2f4f01bc190a539d895118a6ad1a477645"
- integrity sha512-N0c6gubS3WW1oYYgo02xzZnNatfVQP/CiJq2ax+DJ55ePV62IACbRCU99TZNXXg+Kos6vNW4k+/qgvkvpGDeyA==
-
-"@next/swc-win32-arm64-msvc@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.0.6.tgz#28e5c042772865efd05197a8d1db5920156997fc"
- integrity sha512-QjeMB2EBqBFPb/ac0CYr7GytbhUkrG4EwFWbcE0vsRp4H8grt25kYpFQckL4Jak3SUrp7vKfDwZ/SwO7QdO8vw==
-
-"@next/swc-win32-ia32-msvc@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.0.6.tgz#30d91a6d847fa8bce9f8a0f9d2b469d574270be5"
- integrity sha512-EQzXtdqRTcmhT/tCq81rIwE36Y3fNHPInaCuJzM/kftdXfa0F+64y7FAoMO13npX8EG1+SamXgp/emSusKrCXg==
-
-"@next/swc-win32-x64-msvc@13.0.6":
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.0.6.tgz#dfa28ddb335c16233d22cf39ec8cdf723e6587a1"
- integrity sha512-pSkqZ//UP/f2sS9T7IvHLfEWDPTX0vRyXJnAUNisKvO3eF3e1xdhDX7dix/X3Z3lnN4UjSwOzclAI87JFbOwmQ==
-
-"@nodelib/fs.scandir@2.1.5":
- version "2.1.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
- integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
- dependencies:
- "@nodelib/fs.stat" "2.0.5"
- run-parallel "^1.1.9"
-
-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
- version "2.0.5"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
- integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
-
-"@nodelib/fs.walk@^1.2.3":
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
- integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
- dependencies:
- "@nodelib/fs.scandir" "2.1.5"
- fastq "^1.6.0"
-
-"@popperjs/core@^2.11.6":
- version "2.11.6"
- resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.6.tgz#cee20bd55e68a1720bdab363ecf0c821ded4cd45"
- integrity sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==
-
-"@reach/skip-nav@^0.17.0":
- version "0.17.0"
- resolved "https://registry.yarnpkg.com/@reach/skip-nav/-/skip-nav-0.17.0.tgz#225aaaf947f8750568ad5f4cc3646641fd335d56"
- integrity sha512-wkkpQK3ffczzGHis6TaUvpOabuAL9n9Kh5vr4h56XPIJP3X77VcHUDk7MK3HbV1mTgamGxc9Hbd1sXKSWLu3yA==
- dependencies:
- "@reach/utils" "0.17.0"
- tslib "^2.3.0"
-
-"@reach/utils@0.17.0":
- version "0.17.0"
- resolved "https://registry.yarnpkg.com/@reach/utils/-/utils-0.17.0.tgz#3d1d2ec56d857f04fe092710d8faee2b2b121303"
- integrity sha512-M5y8fCBbrWeIsxedgcSw6oDlAMQDkl5uv3VnMVJ7guwpf4E48Xlh1v66z/1BgN/WYe2y8mB/ilFD2nysEfdGeA==
- dependencies:
- tiny-warning "^1.0.3"
- tslib "^2.3.0"
-
-"@swc/helpers@0.4.14":
- version "0.4.14"
- resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.4.14.tgz#1352ac6d95e3617ccb7c1498ff019654f1e12a74"
- integrity sha512-4C7nX/dvpzB7za4Ql9K81xK3HPxCpHMgwTZVyf+9JQ6VUbn9jjZVN7/Nkdz/Ugzs2CSjqnL/UPXroiVBVHUWUw==
- dependencies:
- tslib "^2.4.0"
-
-"@types/acorn@^4.0.0":
- version "4.0.6"
- resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22"
- integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==
- dependencies:
- "@types/estree" "*"
-
-"@types/debug@^4.0.0":
- version "4.1.7"
- resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82"
- integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==
- dependencies:
- "@types/ms" "*"
-
-"@types/estree-jsx@^0.0.1":
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-0.0.1.tgz#c36d7a1afeb47a95a8ee0b7bc8bc705db38f919d"
- integrity sha512-gcLAYiMfQklDCPjQegGn0TBAn9it05ISEsEhlKQUddIk7o2XDokOcTN7HBO8tznM0D9dGezvHEfRZBfZf6me0A==
- dependencies:
- "@types/estree" "*"
-
-"@types/estree-jsx@^1.0.0":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1"
- integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==
- dependencies:
- "@types/estree" "*"
-
-"@types/estree@*", "@types/estree@^0.0.50":
- version "0.0.50"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83"
- integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==
-
-"@types/estree@^0.0.46":
- version "0.0.46"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.46.tgz#0fb6bfbbeabd7a30880504993369c4bf1deab1fe"
- integrity sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==
-
-"@types/hast@^2.0.0":
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc"
- integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==
- dependencies:
- "@types/unist" "*"
-
-"@types/mdast@^3.0.0":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.3.tgz#2d7d671b1cd1ea3deb306ea75036c2a0407d2deb"
- integrity sha512-SXPBMnFVQg1s00dlMCc/jCdvPqdE4mXaMMCeRlxLDmTAEoegHT53xKtkDnzDTOcmMHUfcjyf36/YYZ6SxRdnsw==
- dependencies:
- "@types/unist" "*"
-
-"@types/mdurl@^1.0.0":
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9"
- integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==
-
-"@types/mdx@^2.0.0":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.1.tgz#e4c05d355d092d7b58db1abfe460e53f41102ac8"
- integrity sha512-JPEv4iAl0I+o7g8yVWDwk30es8mfVrjkvh5UeVR2sYPpZCK44vrAPsbJpIS+rJAUxLgaSAMKTEH5Vn5qd9XsrQ==
-
-"@types/ms@*":
- version "0.7.31"
- resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197"
- integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==
-
-"@types/node@^18.11.10":
- version "18.11.10"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.10.tgz#4c64759f3c2343b7e6c4b9caf761c7a3a05cee34"
- integrity sha512-juG3RWMBOqcOuXC643OAdSA525V44cVgGV6dUDuiFtss+8Fk5x1hI93Rsld43VeJVIeqlP9I7Fn9/qaVqoEAuQ==
-
-"@types/prop-types@*":
- version "15.7.4"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11"
- integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==
-
-"@types/react@>=16":
- version "17.0.43"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.43.tgz#4adc142887dd4a2601ce730bc56c3436fdb07a55"
- integrity sha512-8Q+LNpdxf057brvPu1lMtC5Vn7J119xrP1aq4qiaefNioQUYANF/CYeK4NsKorSZyUGJ66g0IM+4bbjwx45o2A==
- dependencies:
- "@types/prop-types" "*"
- "@types/scheduler" "*"
- csstype "^3.0.2"
-
-"@types/scheduler@*":
- version "0.16.2"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
- integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
-
-"@types/unist@*", "@types/unist@^2.0.0":
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.3.tgz#9c088679876f374eb5983f150d4787aa6fb32d7e"
- integrity sha512-FvUupuM3rlRsRtCN+fDudtmytGO6iHJuuRKS1Ss0pG5z8oX0diNEw94UEL7hgDbpN94rgaK5R7sWm6RrSkZuAQ==
-
-acorn-jsx@^5.0.0:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
- integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
-
-acorn-node@^1.8.2:
- version "1.8.2"
- resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8"
- integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==
- dependencies:
- acorn "^7.0.0"
- acorn-walk "^7.0.0"
- xtend "^4.0.2"
-
-acorn-walk@^7.0.0:
- version "7.2.0"
- resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
- integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
-
-acorn@^7.0.0:
- version "7.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
- integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-
-acorn@^8.0.0:
- version "8.4.1"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.4.1.tgz#56c36251fc7cabc7096adc18f05afe814321a28c"
- integrity sha512-asabaBSkEKosYKMITunzX177CXxQ4Q8BSSzMTKD+FefUhipQC70gfW5SiUDhYQ3vk8G+81HqQk7Fv9OXwwn9KA==
-
-ansi-styles@^3.1.0:
- version "3.2.1"
- resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
- integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
- dependencies:
- color-convert "^1.9.0"
-
-anymatch@~3.1.2:
- version "3.1.3"
- resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
- integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
- dependencies:
- normalize-path "^3.0.0"
- picomatch "^2.0.4"
-
-arch@^2.1.0:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/arch/-/arch-2.1.2.tgz#0c52bbe7344bb4fa260c443d2cbad9c00ff2f0bf"
- integrity sha512-NTBIIbAfkJeIletyABbVtdPgeKfDafR+1mZV/AyyfC1UkVkp9iUjV+wwmqtUgphHYajbI86jejBJp5e+jkGTiQ==
-
-arg@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/arg/-/arg-1.0.0.tgz#444d885a4e25b121640b55155ef7cd03975d6050"
- integrity sha512-Wk7TEzl1KqvTGs/uyhmHO/3XLd3t1UeU4IstvPXVzGPM522cTjqjNZ99esCkcL52sjqjo8e8CTBcWhkxvGzoAw==
-
-arg@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c"
- integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==
-
-argparse@^1.0.7:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
- integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
- dependencies:
- sprintf-js "~1.0.2"
-
-astring@^1.8.0:
- version "1.8.3"
- resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.3.tgz#1a0ae738c7cc558f8e5ddc8e3120636f5cebcb85"
- integrity sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==
-
-autoprefixer@^10.4.13:
- version "10.4.13"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.13.tgz#b5136b59930209a321e9fa3dca2e7c4d223e83a8"
- integrity sha512-49vKpMqcZYsJjwotvt4+h/BCjJVnhGwcLpDt5xkcaOG3eLrG/HUYLagrihYsQ+qrIBgIzX1Rw7a6L8I/ZA1Atg==
- dependencies:
- browserslist "^4.21.4"
- caniuse-lite "^1.0.30001426"
- fraction.js "^4.2.0"
- normalize-range "^0.1.2"
- picocolors "^1.0.0"
- postcss-value-parser "^4.2.0"
-
-bail@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d"
- integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==
-
-balanced-match@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
- integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
-
-binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
-
-brace-expansion@^1.1.7:
- version "1.1.11"
- resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
- integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
- dependencies:
- balanced-match "^1.0.0"
- concat-map "0.0.1"
-
-braces@^3.0.2, braces@~3.0.2:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
- integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
- dependencies:
- fill-range "^7.0.1"
-
-browserslist@^4.21.4:
- version "4.21.4"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
- integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
- dependencies:
- caniuse-lite "^1.0.30001400"
- electron-to-chromium "^1.4.251"
- node-releases "^2.0.6"
- update-browserslist-db "^1.0.9"
-
-camelcase-css@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
- integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-
-caniuse-lite@^1.0.30001400, caniuse-lite@^1.0.30001406, caniuse-lite@^1.0.30001426:
- version "1.0.30001435"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001435.tgz#502c93dbd2f493bee73a408fe98e98fb1dad10b2"
- integrity sha512-kdCkUTjR+v4YAJelyiDTqiu82BDr4W4CP5sgTA0ZBmqn30XfS2ZghPLMowik9TPhS+psWJiUNxsqLyurDbmutA==
-
-ccount@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5"
- integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==
-
-chalk@2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
- integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
- dependencies:
- ansi-styles "^3.1.0"
- escape-string-regexp "^1.0.5"
- supports-color "^4.0.0"
-
-character-entities-html4@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b"
- integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==
-
-character-entities-legacy@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b"
- integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==
-
-character-entities@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.1.tgz#98724833e1e27990dee0bd0f2b8a859c3476aac7"
- integrity sha512-OzmutCf2Kmc+6DrFrrPS8/tDh2+DpnrfzdICHWhcVC9eOd0N1PXmQEE1a8iM4IziIAG+8tmTq3K+oo0ubH6RRQ==
-
-character-reference-invalid@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9"
- integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==
-
-chokidar@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
- integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
- dependencies:
- anymatch "~3.1.2"
- braces "~3.0.2"
- glob-parent "~5.1.2"
- is-binary-path "~2.1.0"
- is-glob "~4.0.1"
- normalize-path "~3.0.0"
- readdirp "~3.6.0"
- optionalDependencies:
- fsevents "~2.3.2"
-
-client-only@0.0.1, client-only@^0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1"
- integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==
-
-clipboardy@1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/clipboardy/-/clipboardy-1.2.2.tgz#2ce320b9ed9be1514f79878b53ff9765420903e2"
- integrity sha512-16KrBOV7bHmHdxcQiCvfUFYVFyEah4FI8vYT1Fr7CGSA4G+xBWMEfUEQJS1hxeHGtI9ju1Bzs9uXSbj5HZKArw==
- dependencies:
- arch "^2.1.0"
- execa "^0.8.0"
-
-clsx@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.2.1.tgz#0ddc4a20a549b59c93a4116bb26f5294ca17dc12"
- integrity sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==
-
-color-convert@^1.9.0:
- version "1.9.3"
- resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
- integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
- dependencies:
- color-name "1.1.3"
-
-color-name@1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
- integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
-
-color-name@^1.1.4:
- version "1.1.4"
- resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
- integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
-
-comma-separated-tokens@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98"
- integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==
-
-compute-scroll-into-view@^1.0.20:
- version "1.0.20"
- resolved "https://registry.yarnpkg.com/compute-scroll-into-view/-/compute-scroll-into-view-1.0.20.tgz#1768b5522d1172754f5d0c9b02de3af6be506a43"
- integrity sha512-UCB0ioiyj8CRjtrvaceBLqqhZCVP+1B8+NWQhmdsm0VXOJtobBCf1dBQmebCCo34qZmUwZfIH2MZLqNHazrfjg==
-
-concat-map@0.0.1:
- version "0.0.1"
- resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
- integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-
-cross-spawn@^5.0.1:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
- integrity sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=
- dependencies:
- lru-cache "^4.0.1"
- shebang-command "^1.2.0"
- which "^1.2.9"
-
-cssesc@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
- integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
-
-csstype@^3.0.2:
- version "3.0.11"
- resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.11.tgz#d66700c5eacfac1940deb4e3ee5642792d85cd33"
- integrity sha512-sa6P2wJ+CAbgyy4KFssIb/JNMLxFvKF1pCYCSXS8ZMuqZnMsrxqI2E5sPyoTpxoPU/gVZMzr2zjOfg8GIZOMsw==
-
-debug@^4.0.0:
- version "4.3.2"
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"
- integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==
- dependencies:
- ms "2.1.2"
-
-decode-named-character-reference@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.1.tgz#57b2bd9112659cacbc449d3577d7dadb8e1f3d1b"
- integrity sha512-YV/0HQHreRwKb7uBopyIkLG17jG6Sv2qUchk9qSoVJ2f+flwRsPNBO0hAnjt6mTNYUT+vw9Gy2ihXg4sUWPi2w==
- dependencies:
- character-entities "^2.0.0"
-
-defined@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.1.tgz#c0b9db27bfaffd95d6f61399419b893df0f91ebf"
- integrity sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==
-
-dequal@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.2.tgz#85ca22025e3a87e65ef75a7a437b35284a7e319d"
- integrity sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==
-
-detective@^5.2.1:
- version "5.2.1"
- resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.1.tgz#6af01eeda11015acb0e73f933242b70f24f91034"
- integrity sha512-v9XE1zRnz1wRtgurGu0Bs8uHKFSTdteYZNbIPFVhUZ39L/S79ppMpdmVOZAnoz1jfEFodc48n6MX483Xo3t1yw==
- dependencies:
- acorn-node "^1.8.2"
- defined "^1.0.0"
- minimist "^1.2.6"
-
-didyoumean@^1.2.2:
- version "1.2.2"
- resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037"
- integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==
-
-diff@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b"
- integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==
-
-dlv@^1.1.3:
- version "1.1.3"
- resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79"
- integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==
-
-electron-to-chromium@^1.4.251:
- version "1.4.284"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
- integrity sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==
-
-escalade@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
- integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
-
-escape-string-regexp@^1.0.5:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
- integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
-
-escape-string-regexp@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8"
- integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==
-
-esprima@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
- integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
-
-estree-util-attach-comments@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.0.0.tgz#2c06d484dfcf841b5946bcb84d5412cbcd544e22"
- integrity sha512-kT9YVRvlt2ewPp9BazfIIgXMGsXOEpOm57bK8aa4F3eOEndMml2JAETjWaG3SZYHmC6axSNIzHGY718dYwIuVg==
- dependencies:
- "@types/estree" "^0.0.46"
-
-estree-util-build-jsx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.0.0.tgz#4903e2a923ebc791f86e78ec3687d01715dec902"
- integrity sha512-d49hPGqBCJF/bF06g1Ywg7zjH1mrrUdPPrixBlKBxcX4WvMYlUUJ8BkrwlzWc8/fm6XqGgk5jilhgeZBDEGwOQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- estree-util-is-identifier-name "^2.0.0"
- estree-walker "^3.0.0"
-
-estree-util-is-identifier-name@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-1.1.0.tgz#2e3488ea06d9ea2face116058864f6370b37456d"
- integrity sha512-OVJZ3fGGt9By77Ix9NhaRbzfbDV/2rx9EP7YIDJTmsZSEc5kYn2vWcNccYyahJL2uAQZK2a5Or2i0wtIKTPoRQ==
-
-estree-util-is-identifier-name@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.0.tgz#e2d3d2ae3032c017b2112832bfc5d8ba938c8010"
- integrity sha512-aXXZFVMnBBDRP81vS4YtAYJ0hUkgEsXea7lNKWCOeaAquGb1Jm2rcONPB5fpzwgbNxulTvrWuKnp9UElUGAKeQ==
-
-estree-util-to-js@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz#3bd9bb86354063537cc3d81259be2f0d4c3af39f"
- integrity sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==
- dependencies:
- "@types/estree-jsx" "^1.0.0"
- astring "^1.8.0"
- source-map "^0.7.0"
-
-estree-util-value-to-estree@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/estree-util-value-to-estree/-/estree-util-value-to-estree-1.3.0.tgz#1d3125594b4d6680f666644491e7ac1745a3df49"
- integrity sha512-Y+ughcF9jSUJvncXwqRageavjrNPAI+1M/L3BI3PyLp1nmgYTGUXU6t5z1Y7OWuThoDdhPME07bQU+d5LxdJqw==
- dependencies:
- is-plain-obj "^3.0.0"
-
-estree-util-visit@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.1.0.tgz#c0ea7942c40ac7889a77b57a11e92f987744bc6f"
- integrity sha512-3lXJ4Us9j8TUif9cWcQy81t9p5OLasnDuuhrFiqb+XstmKC1d1LmrQWYsY49/9URcfHE64mPypDBaNK9NwWDPQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/unist" "^2.0.0"
-
-estree-walker@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.1.tgz#c2a9fb4a30232f5039b7c030b37ead691932debd"
- integrity sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==
-
-execa@^0.8.0:
- version "0.8.0"
- resolved "https://registry.yarnpkg.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
- integrity sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=
- dependencies:
- cross-spawn "^5.0.1"
- get-stream "^3.0.0"
- is-stream "^1.1.0"
- npm-run-path "^2.0.0"
- p-finally "^1.0.0"
- signal-exit "^3.0.0"
- strip-eof "^1.0.0"
-
-extend-shallow@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
- integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=
- dependencies:
- is-extendable "^0.1.0"
-
-extend@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
- integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-
-fast-glob@^3.2.12:
- version "3.2.12"
- resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80"
- integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
- dependencies:
- "@nodelib/fs.stat" "^2.0.2"
- "@nodelib/fs.walk" "^1.2.3"
- glob-parent "^5.1.2"
- merge2 "^1.3.0"
- micromatch "^4.0.4"
-
-fastq@^1.6.0:
- version "1.13.0"
- resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
- integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
- dependencies:
- reusify "^1.0.4"
-
-fill-range@^7.0.1:
- version "7.0.1"
- resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
- integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
- dependencies:
- to-regex-range "^5.0.1"
-
-flexsearch@^0.7.21:
- version "0.7.31"
- resolved "https://registry.yarnpkg.com/flexsearch/-/flexsearch-0.7.31.tgz#065d4110b95083110b9b6c762a71a77cc52e4702"
- integrity sha512-XGozTsMPYkm+6b5QL3Z9wQcJjNYxp0CYn3U1gO7dwD6PAqU1SVWZxI9CCg3z+ml3YfqdPnrBehaBrnH2AGKbNA==
-
-focus-visible@^5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/focus-visible/-/focus-visible-5.2.0.tgz#3a9e41fccf587bd25dcc2ef045508284f0a4d6b3"
- integrity sha512-Rwix9pBtC1Nuy5wysTmKy+UjbDJpIfg8eHjw0rjZ1mX4GNLz1Bmd16uDpI3Gk1i70Fgcs8Csg2lPm8HULFg9DQ==
-
-fraction.js@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
- integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
-
-fs.realpath@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
- integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
-
-fsevents@~2.3.2:
- version "2.3.2"
- resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
- integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
-
-function-bind@^1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
- integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
-
-get-stream@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
- integrity sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=
-
-git-up@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/git-up/-/git-up-7.0.0.tgz#bace30786e36f56ea341b6f69adfd83286337467"
- integrity sha512-ONdIrbBCFusq1Oy0sC71F5azx8bVkvtZtMJAsv+a6lz5YAmbNnLD6HAB4gptHZVLPR8S2/kVN6Gab7lryq5+lQ==
- dependencies:
- is-ssh "^1.4.0"
- parse-url "^8.1.0"
-
-git-url-parse@^13.1.0:
- version "13.1.0"
- resolved "https://registry.yarnpkg.com/git-url-parse/-/git-url-parse-13.1.0.tgz#07e136b5baa08d59fabdf0e33170de425adf07b4"
- integrity sha512-5FvPJP/70WkIprlUZ33bm4UAaFdjcLkJLpWft1BeZKqwR0uhhNGoKwlUaPtVb4LxCSQ++erHapRak9kWGj+FCA==
- dependencies:
- git-up "^7.0.0"
-
-github-slugger@^1.4.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d"
- integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==
-
-glob-parent@^5.1.2, glob-parent@~5.1.2:
- version "5.1.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
- integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
- dependencies:
- is-glob "^4.0.1"
-
-glob-parent@^6.0.2:
- version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
- integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
- dependencies:
- is-glob "^4.0.3"
-
-glob@7.1.7:
- version "7.1.7"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90"
- integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==
- dependencies:
- fs.realpath "^1.0.0"
- inflight "^1.0.4"
- inherits "2"
- minimatch "^3.0.4"
- once "^1.3.0"
- path-is-absolute "^1.0.0"
-
-graceful-fs@^4.2.10:
- version "4.2.10"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
- integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
-
-gray-matter@^4.0.3:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798"
- integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==
- dependencies:
- js-yaml "^3.13.1"
- kind-of "^6.0.2"
- section-matter "^1.0.0"
- strip-bom-string "^1.0.0"
-
-has-flag@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
- integrity sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=
-
-has@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
- integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
- dependencies:
- function-bind "^1.1.1"
-
-hast-util-to-estree@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.0.2.tgz#79c5bf588915610b3f0d47ca83a74dc0269c7dc2"
- integrity sha512-UQrZVeBj6A9od0lpFvqHKNSH9zvDrNoyWKbveu1a2oSCXEDUI+3bnd6BoiQLPnLrcXXn/jzJ6y9hmJTTlvf8lQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/unist" "^2.0.0"
- comma-separated-tokens "^2.0.0"
- estree-util-attach-comments "^2.0.0"
- estree-util-is-identifier-name "^2.0.0"
- hast-util-whitespace "^2.0.0"
- mdast-util-mdx-expression "^1.0.0"
- mdast-util-mdxjs-esm "^1.0.0"
- property-information "^6.0.0"
- space-separated-tokens "^2.0.0"
- style-to-object "^0.3.0"
- unist-util-position "^4.0.0"
- zwitch "^2.0.0"
-
-hast-util-to-string@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-1.0.4.tgz#9b24c114866bdb9478927d7e9c36a485ac728378"
- integrity sha512-eK0MxRX47AV2eZ+Lyr18DCpQgodvaS3fAQO2+b9Two9F5HEoRPhiUMNzoXArMJfZi2yieFzUBMRl3HNJ3Jus3w==
-
-hast-util-whitespace@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz#4fc1086467cc1ef5ba20673cb6b03cec3a970f1c"
- integrity sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==
-
-inflight@^1.0.4:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
- integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
- dependencies:
- once "^1.3.0"
- wrappy "1"
-
-inherits@2:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
- integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-
-inline-style-parser@0.1.1:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1"
- integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==
-
-intersection-observer@^0.12.2:
- version "0.12.2"
- resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.12.2.tgz#4a45349cc0cd91916682b1f44c28d7ec737dc375"
- integrity sha512-7m1vEcPCxXYI8HqnL8CKI6siDyD+eIWSwgB3DZA+ZTogxk9I4CDnj4wilt9x/+/QbHI4YG5YZNmC6458/e9Ktg==
-
-is-alphabetical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b"
- integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==
-
-is-alphanumerical@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875"
- integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==
- dependencies:
- is-alphabetical "^2.0.0"
- is-decimal "^2.0.0"
-
-is-binary-path@~2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
- integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
- dependencies:
- binary-extensions "^2.0.0"
-
-is-buffer@^2.0.0:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.4.tgz#3e572f23c8411a5cfd9557c849e3665e0b290623"
- integrity sha512-Kq1rokWXOPXWuaMAqZiJW4XxsmD9zGx9q4aePabbn3qCRGedtH7Cm+zV8WETitMfu1wdh+Rvd6w5egwSngUX2A==
-
-is-core-module@^2.9.0:
- version "2.11.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144"
- integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==
- dependencies:
- has "^1.0.3"
-
-is-decimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7"
- integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==
-
-is-extendable@^0.1.0:
- version "0.1.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
- integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=
-
-is-extglob@^2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
- integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
-
-is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
- version "4.0.3"
- resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
- integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
- dependencies:
- is-extglob "^2.1.1"
-
-is-hexadecimal@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027"
- integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==
-
-is-number@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
- integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
-
-is-plain-obj@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-3.0.0.tgz#af6f2ea14ac5a646183a5bbdb5baabbc156ad9d7"
- integrity sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==
-
-is-plain-obj@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22"
- integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==
-
-is-reference@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.0.tgz#b1380c03d96ddf7089709781e3208fceb0c92cd6"
- integrity sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==
- dependencies:
- "@types/estree" "*"
-
-is-ssh@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/is-ssh/-/is-ssh-1.4.0.tgz#4f8220601d2839d8fa624b3106f8e8884f01b8b2"
- integrity sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==
- dependencies:
- protocols "^2.0.1"
-
-is-stream@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
- integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ=
-
-isexe@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
- integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
-
-"js-tokens@^3.0.0 || ^4.0.0":
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
- integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
-
-js-yaml@^3.13.1:
- version "3.14.1"
- resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
- integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
- dependencies:
- argparse "^1.0.7"
- esprima "^4.0.0"
-
-jsonc-parser@^3.0.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/jsonc-parser/-/jsonc-parser-3.2.0.tgz#31ff3f4c2b9793f89c67212627c51c6394f88e76"
- integrity sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==
-
-kind-of@^6.0.0, kind-of@^6.0.2:
- version "6.0.3"
- resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
- integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
-
-kleur@^4.0.3:
- version "4.1.4"
- resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.4.tgz#8c202987d7e577766d039a8cd461934c01cda04d"
- integrity sha512-8QADVssbrFjivHWQU7KkMgptGTl6WAcSdlbBPY4uNF+mWr6DGcKrvY2w4FQJoXch7+fKMjj0dRrL75vk3k23OA==
-
-lilconfig@^2.0.5, lilconfig@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
- integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
-
-longest-streak@^3.0.0:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d"
- integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==
-
-loose-envify@^1.1.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
- integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
- dependencies:
- js-tokens "^3.0.0 || ^4.0.0"
-
-lru-cache@^4.0.1:
- version "4.1.5"
- resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
- integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
- dependencies:
- pseudomap "^1.0.2"
- yallist "^2.1.2"
-
-markdown-extensions@^1.0.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3"
- integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==
-
-markdown-table@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd"
- integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
-
-match-sorter@^6.3.1:
- version "6.3.1"
- resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.3.1.tgz#98cc37fda756093424ddf3cbc62bfe9c75b92bda"
- integrity sha512-mxybbo3pPNuA+ZuCUhm5bwNkXrJTbsk5VWbR5wiwz/GC6LIiegBGn2w3O08UG/jdbYLinw51fSQ5xNU1U3MgBw==
- dependencies:
- "@babel/runtime" "^7.12.5"
- remove-accents "0.4.2"
-
-mdast-util-definitions@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.0.tgz#b6d10ef00a3c4cf191e8d9a5fa58d7f4a366f817"
- integrity sha512-5hcR7FL2EuZ4q6lLMUK5w4lHT2H3vqL9quPvYZ/Ku5iifrirfMHiGdhxdXMUbUkDmz5I+TYMd7nbaxUhbQkfpQ==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- unist-util-visit "^3.0.0"
-
-mdast-util-find-and-replace@^2.0.0:
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz#249901ef43c5f41d6e8a8d446b3b63b17e592d7c"
- integrity sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==
- dependencies:
- escape-string-regexp "^5.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
-mdast-util-from-markdown@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268"
- integrity sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- decode-named-character-reference "^1.0.0"
- mdast-util-to-string "^3.1.0"
- micromark "^3.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-decode-string "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-stringify-position "^3.0.0"
- uvu "^0.5.0"
-
-mdast-util-gfm-autolink-literal@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz#4032dcbaddaef7d4f2f3768ed830475bb22d3970"
- integrity sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==
- dependencies:
- "@types/mdast" "^3.0.0"
- ccount "^2.0.0"
- mdast-util-find-and-replace "^2.0.0"
- micromark-util-character "^1.0.0"
-
-mdast-util-gfm-footnote@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz#11d2d40a1a673a399c459e467fa85e00223191fe"
- integrity sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
- micromark-util-normalize-identifier "^1.0.0"
-
-mdast-util-gfm-strikethrough@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.2.tgz#6b4fa4ae37d449ccb988192ac0afbb2710ffcefd"
- integrity sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm-table@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz#184e900979fe790745fc3dabf77a4114595fcd7f"
- integrity sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==
- dependencies:
- "@types/mdast" "^3.0.0"
- markdown-table "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm-task-list-item@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz#6f35f09c6e2bcbe88af62fdea02ac199cc802c5c"
- integrity sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-to-markdown "^1.3.0"
-
-mdast-util-gfm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz#16fcf70110ae689a06d77e8f4e346223b64a0ea6"
- integrity sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==
- dependencies:
- mdast-util-from-markdown "^1.0.0"
- mdast-util-gfm-autolink-literal "^1.0.0"
- mdast-util-gfm-footnote "^1.0.0"
- mdast-util-gfm-strikethrough "^1.0.0"
- mdast-util-gfm-table "^1.0.0"
- mdast-util-gfm-task-list-item "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-mdx-expression@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.2.0.tgz#3e927afe27943956dc5d1c64cb949652062f71ff"
- integrity sha512-wb36oi09XxqO9RVqgfD+xo8a7xaNgS+01+k3v0GKW0X0bYbeBmUZz22Z/IJ8SuphVlG+DNgNo9VoEaUJ3PKfJQ==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-mdx-jsx@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.0.1.tgz#03d003c8b0b4bd94ab092d876c0f92d2b0c83b0b"
- integrity sha512-oPC7/smPBf7vxnvIYH5y3fPo2lw1rdrswFfSb4i0GTAXRUQv7JUU/t/hbp07dgGdUFTSDOHm5DNamhNg/s2Hrg==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- ccount "^2.0.0"
- mdast-util-to-markdown "^1.3.0"
- parse-entities "^4.0.0"
- stringify-entities "^4.0.0"
- unist-util-remove-position "^4.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-mdast-util-mdx@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz#dd4f6c993cf27da32725e50a04874f595b7b63fb"
- integrity sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==
- dependencies:
- mdast-util-mdx-expression "^1.0.0"
- mdast-util-mdx-jsx "^2.0.0"
- mdast-util-mdxjs-esm "^1.0.0"
-
-mdast-util-mdxjs-esm@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.2.0.tgz#eca8b985f091c2d65a72c19d2740cefbc209aa63"
- integrity sha512-IPpX9GBzAIbIRCjbyeLDpMhACFb0wxTIujuR3YElB8LWbducUdMgRJuqs/Vg8xQ1bIAMm7lw8L+YNtua0xKXRw==
- dependencies:
- "@types/estree-jsx" "^0.0.1"
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- mdast-util-to-markdown "^1.0.0"
-
-mdast-util-to-hast@^12.1.0:
- version "12.1.1"
- resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.1.1.tgz#89a2bb405eaf3b05eb8bf45157678f35eef5dbca"
- integrity sha512-qE09zD6ylVP14jV4mjLIhDBOrpFdShHZcEsYvvKGABlr9mGbV7mTlRWdoFxL/EYSTNDiC9GZXy7y8Shgb9Dtzw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- "@types/mdurl" "^1.0.0"
- mdast-util-definitions "^5.0.0"
- mdurl "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- unist-builder "^3.0.0"
- unist-util-generated "^2.0.0"
- unist-util-position "^4.0.0"
- unist-util-visit "^4.0.0"
-
-mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e"
- integrity sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==
- dependencies:
- "@types/mdast" "^3.0.0"
- "@types/unist" "^2.0.0"
- longest-streak "^3.0.0"
- mdast-util-to-string "^3.0.0"
- micromark-util-decode-string "^1.0.0"
- unist-util-visit "^4.0.0"
- zwitch "^2.0.0"
-
-mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9"
- integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==
-
-mdurl@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e"
- integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=
-
-merge2@^1.3.0:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
- integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
-
-micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad"
- integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-factory-destination "^1.0.0"
- micromark-factory-label "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-factory-title "^1.0.0"
- micromark-factory-whitespace "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-classify-character "^1.0.0"
- micromark-util-html-tag-name "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromark-extension-gfm-autolink-literal@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058"
- integrity sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-footnote@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5"
- integrity sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==
- dependencies:
- micromark-core-commonmark "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-strikethrough@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz#162232c284ffbedd8c74e59c1525bda217295e18"
- integrity sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-classify-character "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-table@^1.0.0:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4"
- integrity sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm-tagfilter@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz#fb2e303f7daf616db428bb6a26e18fda14a90a4d"
- integrity sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-extension-gfm-task-list-item@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz#7683641df5d4a09795f353574d7f7f66e47b7fc4"
- integrity sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-gfm@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz#40f3209216127a96297c54c67f5edc7ef2d1a2a2"
- integrity sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==
- dependencies:
- micromark-extension-gfm-autolink-literal "^1.0.0"
- micromark-extension-gfm-footnote "^1.0.0"
- micromark-extension-gfm-strikethrough "^1.0.0"
- micromark-extension-gfm-table "^1.0.0"
- micromark-extension-gfm-tagfilter "^1.0.0"
- micromark-extension-gfm-task-list-item "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-extension-mdx-expression@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa"
- integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==
- dependencies:
- micromark-factory-mdx-expression "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-extension-mdx-jsx@^1.0.0:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be"
- integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==
- dependencies:
- "@types/acorn" "^4.0.0"
- estree-util-is-identifier-name "^2.0.0"
- micromark-factory-mdx-expression "^1.0.0"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-extension-mdx-md@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22"
- integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-extension-mdxjs-esm@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.2.tgz#df0c48743a0b1988119489c68314160b7942ffa6"
- integrity sha512-bIaxblNIM+CCaJvp3L/V+168l79iuNmxEiTU6i3vB0YuDW+rumV64BFMxvhfRDxaJxQE1zD5vTPdyLBbW4efGA==
- dependencies:
- micromark-core-commonmark "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-position-from-estree "^1.1.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-extension-mdxjs@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd"
- integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==
- dependencies:
- acorn "^8.0.0"
- acorn-jsx "^5.0.0"
- micromark-extension-mdx-expression "^1.0.0"
- micromark-extension-mdx-jsx "^1.0.0"
- micromark-extension-mdx-md "^1.0.0"
- micromark-extension-mdxjs-esm "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-destination@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e"
- integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-label@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137"
- integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-factory-mdx-expression@^1.0.0:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz#917e17d16e6e9c2551f3a862e6a9ebdd22056476"
- integrity sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-events-to-acorn "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- unist-util-position-from-estree "^1.0.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-factory-space@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633"
- integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-factory-title@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f"
- integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-factory-whitespace@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c"
- integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==
- dependencies:
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-character@^1.0.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86"
- integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==
- dependencies:
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-chunked@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06"
- integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-classify-character@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20"
- integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-combine-extensions@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5"
- integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-types "^1.0.0"
-
-micromark-util-decode-numeric-character-reference@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946"
- integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-decode-string@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02"
- integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==
- dependencies:
- decode-named-character-reference "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-encode@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383"
- integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==
-
-micromark-util-events-to-acorn@^1.0.0:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.0.4.tgz#07d26cd675dbca8c38b8d9aff2d4cdc91c9997aa"
- integrity sha512-dpo8ecREK5s/KMph7jJ46RLM6g7N21CMc9LAJQbDLdbQnTpijigkSJPTIfLXZ+h5wdXlcsQ+b6ufAE9v76AdgA==
- dependencies:
- "@types/acorn" "^4.0.0"
- "@types/estree" "^0.0.50"
- estree-util-visit "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
- vfile-message "^3.0.0"
-
-micromark-util-html-tag-name@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.0.0.tgz#75737e92fef50af0c6212bd309bc5cb8dbd489ed"
- integrity sha512-NenEKIshW2ZI/ERv9HtFNsrn3llSPZtY337LID/24WeLqMzeZhBEE6BQ0vS2ZBjshm5n40chKtJ3qjAbVV8S0g==
-
-micromark-util-normalize-identifier@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828"
- integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==
- dependencies:
- micromark-util-symbol "^1.0.0"
-
-micromark-util-resolve-all@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88"
- integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==
- dependencies:
- micromark-util-types "^1.0.0"
-
-micromark-util-sanitize-uri@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2"
- integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==
- dependencies:
- micromark-util-character "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-symbol "^1.0.0"
-
-micromark-util-subtokenize@^1.0.0:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105"
- integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==
- dependencies:
- micromark-util-chunked "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.0"
- uvu "^0.5.0"
-
-micromark-util-symbol@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e"
- integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==
-
-micromark-util-types@^1.0.0, micromark-util-types@^1.0.1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20"
- integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==
-
-micromark@^3.0.0:
- version "3.0.10"
- resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c"
- integrity sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==
- dependencies:
- "@types/debug" "^4.0.0"
- debug "^4.0.0"
- decode-named-character-reference "^1.0.0"
- micromark-core-commonmark "^1.0.1"
- micromark-factory-space "^1.0.0"
- micromark-util-character "^1.0.0"
- micromark-util-chunked "^1.0.0"
- micromark-util-combine-extensions "^1.0.0"
- micromark-util-decode-numeric-character-reference "^1.0.0"
- micromark-util-encode "^1.0.0"
- micromark-util-normalize-identifier "^1.0.0"
- micromark-util-resolve-all "^1.0.0"
- micromark-util-sanitize-uri "^1.0.0"
- micromark-util-subtokenize "^1.0.0"
- micromark-util-symbol "^1.0.0"
- micromark-util-types "^1.0.1"
- uvu "^0.5.0"
-
-micromatch@^4.0.4, micromatch@^4.0.5:
- version "4.0.5"
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
- integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
- dependencies:
- braces "^3.0.2"
- picomatch "^2.3.1"
-
-minimatch@^3.0.4:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
- integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
- dependencies:
- brace-expansion "^1.1.7"
-
-minimist@^1.2.6:
- version "1.2.7"
- resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
- integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
-
-mri@^1.1.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
- integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
-
-ms@2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
- integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-
-nanoid@^3.3.4:
- version "3.3.4"
- resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
- integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
-
-next-seo@^5.5.0:
- version "5.14.1"
- resolved "https://registry.yarnpkg.com/next-seo/-/next-seo-5.14.1.tgz#d07322edc37634fbd9beca51fb04177910d8031c"
- integrity sha512-NiJeQbxYP3z+EMp52q8k3Q+OfX2+Yv2WehERDj98r2wjXxL+woKpRBdsSVYolTD0Hm8IWs42SzaISE93RoQdOw==
-
-next-themes@^0.2.1:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/next-themes/-/next-themes-0.2.1.tgz#0c9f128e847979daf6c67f70b38e6b6567856e45"
- integrity sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==
-
-next@^13.0.6:
- version "13.0.6"
- resolved "https://registry.yarnpkg.com/next/-/next-13.0.6.tgz#f9a2e9e2df9ad60e1b6b716488c9ad501a383621"
- integrity sha512-COvigvms2LRt1rrzfBQcMQ2GZd86Mvk1z+LOLY5pniFtL4VrTmhZ9salrbKfSiXbhsD01TrDdD68ec3ABDyscA==
- dependencies:
- "@next/env" "13.0.6"
- "@swc/helpers" "0.4.14"
- caniuse-lite "^1.0.30001406"
- postcss "8.4.14"
- styled-jsx "5.1.0"
- optionalDependencies:
- "@next/swc-android-arm-eabi" "13.0.6"
- "@next/swc-android-arm64" "13.0.6"
- "@next/swc-darwin-arm64" "13.0.6"
- "@next/swc-darwin-x64" "13.0.6"
- "@next/swc-freebsd-x64" "13.0.6"
- "@next/swc-linux-arm-gnueabihf" "13.0.6"
- "@next/swc-linux-arm64-gnu" "13.0.6"
- "@next/swc-linux-arm64-musl" "13.0.6"
- "@next/swc-linux-x64-gnu" "13.0.6"
- "@next/swc-linux-x64-musl" "13.0.6"
- "@next/swc-win32-arm64-msvc" "13.0.6"
- "@next/swc-win32-ia32-msvc" "13.0.6"
- "@next/swc-win32-x64-msvc" "13.0.6"
-
-nextra-theme-docs@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/nextra-theme-docs/-/nextra-theme-docs-2.0.0.tgz#ec546dd68eeee51de618ab4610039ea5f3c246f0"
- integrity sha512-Bkzbx4I/q4MlhGE9/wkI+xGKQFjwE/M3hcCZY1O6vOXkKWSOZ9L7BNq77iPBOzxqdrdN3fVPh0HYMKaR9O4xHA==
- dependencies:
- "@headlessui/react" "^1.6.6"
- "@mdx-js/react" "^2.1.5"
- "@popperjs/core" "^2.11.6"
- "@reach/skip-nav" "^0.17.0"
- clsx "^1.2.1"
- flexsearch "^0.7.21"
- focus-visible "^5.2.0"
- git-url-parse "^13.1.0"
- github-slugger "^1.4.0"
- intersection-observer "^0.12.2"
- match-sorter "^6.3.1"
- next-seo "^5.5.0"
- next-themes "^0.2.1"
- scroll-into-view-if-needed "^2.2.29"
-
-nextra@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/nextra/-/nextra-2.0.0.tgz#c4ecb4c2d912d37cb45774bdbb65cf2493d176aa"
- integrity sha512-3mf5aX+ZJVz7HRtxwtWIo1kw51xrF5MsqoUl0cQDTbFiktCn/Af5AX1gBuiX8/Z4mSEedalvTZUfR6+LxumLFg==
- dependencies:
- "@mdx-js/mdx" "^2.1.3"
- "@napi-rs/simple-git" "^0.1.8"
- github-slugger "^1.4.0"
- graceful-fs "^4.2.10"
- gray-matter "^4.0.3"
- rehype-mdx-title "^1.0.0"
- rehype-pretty-code "0.2.4"
- remark-gfm "^3.0.1"
- remark-reading-time "^2.0.1"
- shiki "0.10.1"
- slash "^3.0.0"
- title "^3.5.3"
- unist-util-visit "^4.1.1"
-
-node-releases@^2.0.6:
- version "2.0.6"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503"
- integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==
-
-normalize-path@^3.0.0, normalize-path@~3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
- integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
-
-normalize-range@^0.1.2:
- version "0.1.2"
- resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
- integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
-
-npm-run-path@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
- integrity sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=
- dependencies:
- path-key "^2.0.0"
-
-object-hash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9"
- integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==
-
-once@^1.3.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
- integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
- dependencies:
- wrappy "1"
-
-p-finally@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
- integrity sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=
-
-parse-entities@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb"
- integrity sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==
- dependencies:
- "@types/unist" "^2.0.0"
- character-entities "^2.0.0"
- character-entities-legacy "^3.0.0"
- character-reference-invalid "^2.0.0"
- decode-named-character-reference "^1.0.0"
- is-alphanumerical "^2.0.0"
- is-decimal "^2.0.0"
- is-hexadecimal "^2.0.0"
-
-parse-numeric-range@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3"
- integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==
-
-parse-path@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/parse-path/-/parse-path-7.0.0.tgz#605a2d58d0a749c8594405d8cc3a2bf76d16099b"
- integrity sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==
- dependencies:
- protocols "^2.0.0"
-
-parse-url@^8.1.0:
- version "8.1.0"
- resolved "https://registry.yarnpkg.com/parse-url/-/parse-url-8.1.0.tgz#972e0827ed4b57fc85f0ea6b0d839f0d8a57a57d"
- integrity sha512-xDvOoLU5XRrcOZvnI6b8zA6n9O9ejNk/GExuz1yBuWUGn9KA97GI6HTs6u02wKara1CeVmZhH+0TZFdWScR89w==
- dependencies:
- parse-path "^7.0.0"
-
-path-is-absolute@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
- integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
-
-path-key@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
- integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
-
-path-parse@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
- integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
-
-periscopic@^3.0.0:
- version "3.0.4"
- resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.0.4.tgz#b3fbed0d1bc844976b977173ca2cd4a0ef4fa8d1"
- integrity sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==
- dependencies:
- estree-walker "^3.0.0"
- is-reference "^3.0.0"
-
-picocolors@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
- integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
- version "2.3.1"
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
- integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
-
-pify@^2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
- integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
-
-postcss-import@^14.1.0:
- version "14.1.0"
- resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-14.1.0.tgz#a7333ffe32f0b8795303ee9e40215dac922781f0"
- integrity sha512-flwI+Vgm4SElObFVPpTIT7SU7R3qk2L7PyduMcokiaVKuWv9d/U+Gm/QAd8NDLuykTWTkcrjOeD2Pp1rMeBTGw==
- dependencies:
- postcss-value-parser "^4.0.0"
- read-cache "^1.0.0"
- resolve "^1.1.7"
-
-postcss-js@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00"
- integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==
- dependencies:
- camelcase-css "^2.0.1"
-
-postcss-load-config@^3.1.4:
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
- integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
- dependencies:
- lilconfig "^2.0.5"
- yaml "^1.10.2"
-
-postcss-nested@6.0.0:
- version "6.0.0"
- resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.0.tgz#1572f1984736578f360cffc7eb7dca69e30d1735"
- integrity sha512-0DkamqrPcmkBDsLn+vQDIrtkSbNkv5AD/M322ySo9kqFkCIYklym2xEmWkwo+Y3/qZo34tzEPNUw4y7yMCdv5w==
- dependencies:
- postcss-selector-parser "^6.0.10"
-
-postcss-selector-parser@^6.0.10:
- version "6.0.11"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc"
- integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
- dependencies:
- cssesc "^3.0.0"
- util-deprecate "^1.0.2"
-
-postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
- integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
-
-postcss@8.4.14:
- version "8.4.14"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf"
- integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==
- dependencies:
- nanoid "^3.3.4"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-postcss@^8.4.18, postcss@^8.4.19:
- version "8.4.19"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.19.tgz#61178e2add236b17351897c8bcc0b4c8ecab56fc"
- integrity sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==
- dependencies:
- nanoid "^3.3.4"
- picocolors "^1.0.0"
- source-map-js "^1.0.2"
-
-property-information@^6.0.0:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22"
- integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==
-
-protocols@^2.0.0, protocols@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
- integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
-
-pseudomap@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
- integrity sha1-8FKijacOYYkX7wqKw0wa5aaChrM=
-
-queue-microtask@^1.2.2:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
- integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
-
-quick-lru@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
- integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
-
-react-dom@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
- integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==
- dependencies:
- loose-envify "^1.1.0"
- scheduler "^0.23.0"
-
-react@^18.2.0:
- version "18.2.0"
- resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
- integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==
- dependencies:
- loose-envify "^1.1.0"
-
-read-cache@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774"
- integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==
- dependencies:
- pify "^2.3.0"
-
-readdirp@~3.6.0:
- version "3.6.0"
- resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
- integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
- dependencies:
- picomatch "^2.2.1"
-
-reading-time@^1.3.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb"
- integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==
-
-regenerator-runtime@^0.13.4:
- version "0.13.5"
- resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz#d878a1d094b4306d10b9096484b33ebd55e26697"
- integrity sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==
-
-rehype-mdx-title@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/rehype-mdx-title/-/rehype-mdx-title-1.0.0.tgz#292598b5ad8af2c2bd01b3674caea1a44bb60f63"
- integrity sha512-5B/53Y+KQHm4/nrE6pIIPc9Ie2fbPMCLs8WwMGYWWHr+5g3TkmEijRkr8TGYHULtc+C7bOoPR8LIF5DpGROIDg==
- dependencies:
- estree-util-is-identifier-name "^1.1.0"
- hast-util-to-string "^1.0.4"
- unist-util-visit "^2.0.3"
-
-rehype-pretty-code@0.2.4:
- version "0.2.4"
- resolved "https://registry.yarnpkg.com/rehype-pretty-code/-/rehype-pretty-code-0.2.4.tgz#73b1e1c3ca7f50aaeeb131185a744a5ea936a08f"
- integrity sha512-vbqwIa4cNwRaVur9caUw/b0jOQR88Svrs9c9RaQoogvbBxs5X9bWrSe5oFypaRTTq2cpZ45YzJQ7UUPO76LMKA==
- dependencies:
- parse-numeric-range "^1.3.0"
-
-remark-gfm@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f"
- integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-gfm "^2.0.0"
- micromark-extension-gfm "^2.0.0"
- unified "^10.0.0"
-
-remark-mdx@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.1.0.tgz#ae29ccd4c974a39ca671cd533acf9c7560a8bba4"
- integrity sha512-J6Yqw566SaEy6A9Neni1JJTaEjbjsM3OsKqL04TtCvZhevRtFi8CG8GIQPzvxIRKRCAOnWw1Vpk1AInB1OpNqA==
- dependencies:
- mdast-util-mdx "^2.0.0"
- micromark-extension-mdxjs "^1.0.0"
-
-remark-parse@^10.0.0:
- version "10.0.1"
- resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775"
- integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==
- dependencies:
- "@types/mdast" "^3.0.0"
- mdast-util-from-markdown "^1.0.0"
- unified "^10.0.0"
-
-remark-reading-time@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/remark-reading-time/-/remark-reading-time-2.0.1.tgz#fe8bb8e420db7678dc749385167adb4fc99318f7"
- integrity sha512-fy4BKy9SRhtYbEHvp6AItbRTnrhiDGbqLQTSYVbQPGuRCncU1ubSsh9p/W5QZSxtYcUXv8KGL0xBgPLyNJA1xw==
- dependencies:
- estree-util-is-identifier-name "^2.0.0"
- estree-util-value-to-estree "^1.3.0"
- reading-time "^1.3.0"
- unist-util-visit "^3.1.0"
-
-remark-rehype@^10.0.0:
- version "10.1.0"
- resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279"
- integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==
- dependencies:
- "@types/hast" "^2.0.0"
- "@types/mdast" "^3.0.0"
- mdast-util-to-hast "^12.1.0"
- unified "^10.0.0"
-
-remove-accents@0.4.2:
- version "0.4.2"
- resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.4.2.tgz#0a43d3aaae1e80db919e07ae254b285d9e1c7bb5"
- integrity sha1-CkPTqq4egNuRngeuJUsoXZ4ce7U=
-
-resolve@^1.1.7, resolve@^1.22.1:
- version "1.22.1"
- resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
- integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
- dependencies:
- is-core-module "^2.9.0"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-reusify@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
- integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
-
-run-parallel@^1.1.9:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
- integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
- dependencies:
- queue-microtask "^1.2.2"
-
-sade@^1.7.3:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701"
- integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==
- dependencies:
- mri "^1.1.0"
-
-scheduler@^0.23.0:
- version "0.23.0"
- resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe"
- integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==
- dependencies:
- loose-envify "^1.1.0"
-
-scroll-into-view-if-needed@^2.2.29:
- version "2.2.31"
- resolved "https://registry.yarnpkg.com/scroll-into-view-if-needed/-/scroll-into-view-if-needed-2.2.31.tgz#d3c482959dc483e37962d1521254e3295d0d1587"
- integrity sha512-dGCXy99wZQivjmjIqihaBQNjryrz5rueJY7eHfTdyWEiR4ttYpsajb14rn9s5d4DY4EcY6+4+U/maARBXJedkA==
- dependencies:
- compute-scroll-into-view "^1.0.20"
-
-section-matter@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167"
- integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==
- dependencies:
- extend-shallow "^2.0.1"
- kind-of "^6.0.0"
-
-shebang-command@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
- integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=
- dependencies:
- shebang-regex "^1.0.0"
-
-shebang-regex@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
- integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-
-shiki@0.10.1:
- version "0.10.1"
- resolved "https://registry.yarnpkg.com/shiki/-/shiki-0.10.1.tgz#6f9a16205a823b56c072d0f1a0bcd0f2646bef14"
- integrity sha512-VsY7QJVzU51j5o1+DguUd+6vmCmZ5v/6gYu4vyYAhzjuNQU6P/vmSy4uQaOhvje031qQMiW0d2BwgMH52vqMng==
- dependencies:
- jsonc-parser "^3.0.0"
- vscode-oniguruma "^1.6.1"
- vscode-textmate "5.2.0"
-
-signal-exit@^3.0.0:
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
- integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
-
-slash@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
- integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
-
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
-
-source-map@^0.7.0:
- version "0.7.3"
- resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383"
- integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==
-
-space-separated-tokens@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b"
- integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==
-
-sprintf-js@~1.0.2:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
- integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-
-stringify-entities@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.2.tgz#13d113dc7449dc8ae4cb22c28883ee3fff8753e3"
- integrity sha512-MTxTVcEkorNtBbNpoFJPEh0kKdM6+QbMjLbaxmvaPMmayOXdr/AIVIIJX7FReUVweRBFJfZepK4A4AKgwuFpMQ==
- dependencies:
- character-entities-html4 "^2.0.0"
- character-entities-legacy "^3.0.0"
-
-strip-bom-string@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92"
- integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=
-
-strip-eof@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
- integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-
-style-to-object@^0.3.0:
- version "0.3.0"
- resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46"
- integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==
- dependencies:
- inline-style-parser "0.1.1"
-
-styled-jsx@5.1.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.0.tgz#4a5622ab9714bd3fcfaeec292aa555871f057563"
- integrity sha512-/iHaRJt9U7T+5tp6TRelLnqBqiaIT0HsO0+vgyj8hK2KUk7aejFqRrumqPUlAqDwAj8IbS/1hk3IhBAAK/FCUQ==
- dependencies:
- client-only "0.0.1"
-
-supports-color@^4.0.0:
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
- integrity sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=
- dependencies:
- has-flag "^2.0.0"
-
-supports-preserve-symlinks-flag@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
- integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
-
-tailwindcss@^3.2.4:
- version "3.2.4"
- resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.2.4.tgz#afe3477e7a19f3ceafb48e4b083e292ce0dc0250"
- integrity sha512-AhwtHCKMtR71JgeYDaswmZXhPcW9iuI9Sp2LvZPo9upDZ7231ZJ7eA9RaURbhpXGVlrjX4cFNlB4ieTetEb7hQ==
- dependencies:
- arg "^5.0.2"
- chokidar "^3.5.3"
- color-name "^1.1.4"
- detective "^5.2.1"
- didyoumean "^1.2.2"
- dlv "^1.1.3"
- fast-glob "^3.2.12"
- glob-parent "^6.0.2"
- is-glob "^4.0.3"
- lilconfig "^2.0.6"
- micromatch "^4.0.5"
- normalize-path "^3.0.0"
- object-hash "^3.0.0"
- picocolors "^1.0.0"
- postcss "^8.4.18"
- postcss-import "^14.1.0"
- postcss-js "^4.0.0"
- postcss-load-config "^3.1.4"
- postcss-nested "6.0.0"
- postcss-selector-parser "^6.0.10"
- postcss-value-parser "^4.2.0"
- quick-lru "^5.1.1"
- resolve "^1.22.1"
-
-tiny-warning@^1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754"
- integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==
-
-title@^3.5.3:
- version "3.5.3"
- resolved "https://registry.yarnpkg.com/title/-/title-3.5.3.tgz#b338d701a3d949db6b49b2c86f409f9c2f36cd91"
- integrity sha512-20JyowYglSEeCvZv3EZ0nZ046vLarO37prvV0mbtQV7C8DJPGgN967r8SJkqd3XK3K3lD3/Iyfp3avjfil8Q2Q==
- dependencies:
- arg "1.0.0"
- chalk "2.3.0"
- clipboardy "1.2.2"
- titleize "1.0.0"
-
-titleize@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/titleize/-/titleize-1.0.0.tgz#7d350722061830ba6617631e0cfd3ea08398d95a"
- integrity sha1-fTUHIgYYMLpmF2MeDP0+oIOY2Vo=
-
-to-regex-range@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
- integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
- dependencies:
- is-number "^7.0.0"
-
-trough@^2.0.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/trough/-/trough-2.1.0.tgz#0f7b511a4fde65a46f18477ab38849b22c554876"
- integrity sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==
-
-tslib@^2.3.0, tslib@^2.4.0:
- version "2.4.1"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
- integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
-
-typescript@^4.9.3:
- version "4.9.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.3.tgz#3aea307c1746b8c384435d8ac36b8a2e580d85db"
- integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
-
-unified@^10.0.0:
- version "10.1.2"
- resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.2.tgz#b1d64e55dafe1f0b98bb6c719881103ecf6c86df"
- integrity sha512-pUSWAi/RAnVy1Pif2kAoeWNBa3JVrx0MId2LASj8G+7AiHWoKZNTomq6LG326T68U7/e263X6fTdcXIy7XnF7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- bail "^2.0.0"
- extend "^3.0.0"
- is-buffer "^2.0.0"
- is-plain-obj "^4.0.0"
- trough "^2.0.0"
- vfile "^5.0.0"
-
-unist-builder@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.0.tgz#728baca4767c0e784e1e64bb44b5a5a753021a04"
- integrity sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-generated@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.0.tgz#86fafb77eb6ce9bfa6b663c3f5ad4f8e56a60113"
- integrity sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==
-
-unist-util-is@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.0.2.tgz#c7d1341188aa9ce5b3cff538958de9895f14a5de"
- integrity sha512-Ofx8uf6haexJwI1gxWMGg6I/dLnF2yE+KibhD3/diOqY2TinLcqHXCV6OI5gFVn3xQqDH+u0M625pfKwIwgBKQ==
-
-unist-util-is@^5.0.0:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236"
- integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==
-
-unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c"
- integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-position@^4.0.0:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.2.tgz#1915816906a3503f3e40d65b6e4fe6d41845d2e3"
- integrity sha512-Y6+plxR41dOLbyyqVDLuGWgXDmxdXslCSRYQkSDagBnOT9oFsQH0J8FzhirSklUEe0xZTT0WDnAE1gXPaDFljA==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-remove-position@^4.0.0:
- version "4.0.1"
- resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz#d5b46a7304ac114c8d91990ece085ca7c2c135c8"
- integrity sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-visit "^4.0.0"
-
-unist-util-stringify-position@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.2.tgz#5c6aa07c90b1deffd9153be170dce628a869a447"
- integrity sha512-7A6eiDCs9UtjcwZOcCpM4aPII3bAAGv13E96IkawkOAW0OhH+yRxtY0lzo8KiHpzEMfH7Q+FizUmwp8Iqy5EWg==
- dependencies:
- "@types/unist" "^2.0.0"
-
-unist-util-visit-parents@^3.0.0:
- version "3.0.2"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.0.2.tgz#d4076af3011739c71d2ce99d05de37d545f4351d"
- integrity sha512-yJEfuZtzFpQmg1OSCyS9M5NJRrln/9FbYosH3iW0MG402QbdbaB8ZESwUv9RO6nRfLAKvWcMxCwdLWOov36x/g==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
-
-unist-util-visit-parents@^4.0.0:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-4.1.1.tgz#e83559a4ad7e6048a46b1bdb22614f2f3f4724f2"
- integrity sha512-1xAFJXAKpnnJl8G7K5KgU7FY55y3GcLIXqkzUj5QF/QVP7biUm0K0O2oqVkYsdjzJKifYeWn9+o6piAK2hGSHw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit-parents@^5.0.0:
- version "5.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521"
- integrity sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit-parents@^5.1.1:
- version "5.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.1.tgz#868f353e6fce6bf8fa875b251b0f4fec3be709bb"
- integrity sha512-gks4baapT/kNRaWxuGkl5BIhoanZo7sC/cUT/JToSRNL1dYoXRFl75d++NkjYk4TAu2uv2Px+l8guMajogeuiw==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
-
-unist-util-visit@^2.0.3:
- version "2.0.3"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
- integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^4.0.0"
- unist-util-visit-parents "^3.0.0"
-
-unist-util-visit@^3.0.0, unist-util-visit@^3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-3.1.0.tgz#9420d285e1aee938c7d9acbafc8e160186dbaf7b"
- integrity sha512-Szoh+R/Ll68QWAyQyZZpQzZQm2UPbxibDvaY8Xc9SUtYgPsDzx5AWSk++UUt2hJuow8mvwR+rG+LQLw+KsuAKA==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^4.0.0"
-
-unist-util-visit@^4.0.0:
- version "4.1.0"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5"
- integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.0.0"
-
-unist-util-visit@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.1.tgz#1c4842d70bd3df6cc545276f5164f933390a9aad"
- integrity sha512-n9KN3WV9k4h1DxYR1LoajgN93wpEi/7ZplVe02IoB4gH5ctI1AaF2670BLHQYbwj+pY83gFtyeySFiyMHJklrg==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-is "^5.0.0"
- unist-util-visit-parents "^5.1.1"
-
-update-browserslist-db@^1.0.9:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
- integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
- dependencies:
- escalade "^3.1.1"
- picocolors "^1.0.0"
-
-util-deprecate@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
- integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
-
-uvu@^0.5.0:
- version "0.5.3"
- resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.3.tgz#3d83c5bc1230f153451877bfc7f4aea2392219ae"
- integrity sha512-brFwqA3FXzilmtnIyJ+CxdkInkY/i4ErvP7uV0DnUVxQcQ55reuHphorpF+tZoVHK2MniZ/VJzI7zJQoc9T9Yw==
- dependencies:
- dequal "^2.0.0"
- diff "^5.0.0"
- kleur "^4.0.3"
- sade "^1.7.3"
-
-vfile-message@^3.0.0:
- version "3.1.2"
- resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.2.tgz#a2908f64d9e557315ec9d7ea3a910f658ac05f7d"
- integrity sha512-QjSNP6Yxzyycd4SVOtmKKyTsSvClqBPJcd00Z0zuPj3hOIjg0rUPG6DbFGPvUKRgYyaIWLPKpuEclcuvb3H8qA==
- dependencies:
- "@types/unist" "^2.0.0"
- unist-util-stringify-position "^3.0.0"
-
-vfile@^5.0.0:
- version "5.3.2"
- resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.2.tgz#b499fbc50197ea50ad3749e9b60beb16ca5b7c54"
- integrity sha512-w0PLIugRY3Crkgw89TeMvHCzqCs/zpreR31hl4D92y6SOE07+bfJe+dK5Q2akwS+i/c801kzjoOr9gMcTe6IAA==
- dependencies:
- "@types/unist" "^2.0.0"
- is-buffer "^2.0.0"
- unist-util-stringify-position "^3.0.0"
- vfile-message "^3.0.0"
-
-vscode-oniguruma@^1.6.1:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"
- integrity sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==
-
-vscode-textmate@5.2.0:
- version "5.2.0"
- resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.2.0.tgz#01f01760a391e8222fe4f33fbccbd1ad71aed74e"
- integrity sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ==
-
-which@^1.2.9:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
- integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
- dependencies:
- isexe "^2.0.0"
-
-wrappy@1:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
- integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
-
-xtend@^4.0.2:
- version "4.0.2"
- resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
- integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
-
-yallist@^2.1.2:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
- integrity sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=
-
-yaml@^1.10.2:
- version "1.10.2"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
-
-zwitch@^2.0.0:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1"
- integrity sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==
diff --git a/mocks/handlers.ts b/mocks/handlers.ts
deleted file mode 100644
index 3da4a41..0000000
--- a/mocks/handlers.ts
+++ /dev/null
@@ -1,1479 +0,0 @@
-import { rest } from 'msw';
-
-export const handlers = [
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/uthmani_tajweed',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_key: '1:1',
- text_uthmani_tajweed:
- 'بِسْمِ ٱ للَّهِ ٱ ل رَّحْمَـٰ نِ ٱ ل رَّحِي مِ ١ ',
- },
- ],
- })
- );
- }
- ),
-
- rest.get('https://api.quran.com/api/v4/chapters', (_req, res, ctx) => {
- return res(
- ctx.json({
- chapters: [
- {
- id: 1,
- revelation_place: 'makkah',
- revelation_order: 5,
- bismillah_pre: false,
- name_simple: 'Al-Fatihah',
- name_complex: 'Al-Fātiĥah',
- name_arabic: 'الفاتحة',
- verses_count: 7,
- pages: [1, 1],
- translated_name: { language_name: 'english', name: 'The Opener' },
- },
- ],
- })
- );
- }),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/translations',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- translations: [
- {
- id: 131,
- name: 'Dr. Mustafa Khattab, the Clear Quran',
- author_name: 'Dr. Mustafa Khattab',
- slug: 'clearquran-with-tafsir',
- language_name: 'english',
- translated_name: {
- name: 'Dr. Mustafa Khattab',
- language_name: 'english',
- },
- },
- ],
- })
- );
- }
- ),
-
- rest.get('https://api.quran.com/api/v4/search', (_req, res, ctx) => {
- return res(ctx.json({}));
- }),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/recitations',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- recitations: [
- {
- id: 1,
- reciter_name: 'AbdulBaset AbdulSamad',
- style: 'Mujawwad',
- translated_name: {
- name: 'AbdulBaset AbdulSamad',
- language_name: 'english',
- },
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/code_v2',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- { id: 1, verse_key: '1:1', code_v2: ' ﱂ ﱃ ﱄ ﱅ', v2_page: 1 },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/chapter_recitations/:id/:chapter_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_file: {
- id: 43,
- chapter_id: 22,
- file_size: 19779712,
- format: 'mp3',
- total_files: 1,
- audio_url:
- 'https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee/022.mp3',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_ayah/:ayah_key',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 15,
- total_records: 148,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/code_v1',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- { id: 1, verse_key: '1:1', code_v1: 'ﭑ ﭒ ﭓ ﭔ ﭕ', v1_page: 1 },
- ],
- })
- );
- }
- ),
-
- rest.get('https://api.quran.com/api/v4/verses/random', (_req, res, ctx) => {
- return res(
- ctx.json({
- verse: {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: { text: 'In (the) name', language_name: 'english' },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- })
- );
- }),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_juz/:juz_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 2,
- total_records: 20,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/translations/:translation_id',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- meta: {
- translation_name: 'Dr. Mustafa Khattab, the Clear Quran',
- author_name: 'Dr. Mustafa Khattab',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/recitation_styles',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- recitation_styles: {
- mujawwad: 'Mujawwad is a melodic style of Holy Quran recitation',
- murattal:
- 'Murattal is at a slower pace, used for study and practice',
- muallim: 'Muallim is teaching style recitation of Holy Quran',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/indopak',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_key: '1:1',
- text_indopak: 'بِسۡمِ اللهِ الرَّحۡم]ٰنِ الرَّحِيۡمِ',
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_page/:page_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 15,
- total_records: 148,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_chapter/:chapter_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- text_indopak_nastaleeq:
- 'بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِیْمِ ۟',
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- ],
- pagination: {
- per_page: 1,
- current_page: 1,
- next_page: 2,
- total_pages: 7,
- total_records: 7,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/chapters/:chapter_id/info',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- chapter_info: {
- id: 1,
- chapter_id: 1,
- language_name: 'english',
- short_text:
- 'This Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.',
- source:
- "Sayyid Abul Ala Maududi - Tafhim al-Qur'an - The Meaning of the Quran",
- text: 'Name \r\nThis Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.
\r\nPeriod of Revelation ...',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/chapter_infos',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- chapter_infos: [
- {
- id: 155,
- name: 'Hamza Roberto Piccardo',
- author_name: 'Hamza Roberto Piccardo',
- slug: 'hamza-roberto-piccardo-info',
- language_name: 'italian',
- translated_name: {
- name: 'Hamza Roberto Piccardo',
- language_name: 'english',
- },
- },
- {
- id: 63,
- name: 'Chapter Info',
- author_name: 'Sayyid Abul Ala Maududi',
- slug: null,
- language_name: 'malayalam',
- translated_name: {
- name: 'Chapter Info',
- language_name: 'english',
- },
- },
- {
- id: 62,
- name: 'Chapter Info',
- author_name: 'Sayyid Abul Ala Maududi',
- slug: null,
- language_name: 'tamil',
- translated_name: {
- name: 'Chapter Info',
- language_name: 'english',
- },
- },
- {
- id: 61,
- name: 'Chapter Info',
- author_name: 'Sayyid Abul Ala Maududi',
- slug: null,
- language_name: 'urdu',
- translated_name: {
- name: 'Chapter Info',
- language_name: 'english',
- },
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/verse_media',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verse_media: [
- {
- id: 64,
- name: 'Bayyinah video commentary ',
- author_name: 'Bayyinah',
- slug: '',
- language_name: 'english',
- translated_name: {
- name: 'Bayyinah video commentary ',
- language_name: 'english',
- },
- },
- ],
- })
- );
- }
- ),
-
- rest.get('https://api.quran.com/api/v4/juzs', (_req, res, ctx) => {
- return res(
- ctx.json({
- juzs: [
- {
- id: 1,
- juz_number: 1,
- verse_mapping: {
- 1: '1-7',
- 2: '1-141',
- },
- first_verse_id: 1,
- last_verse_id: 148,
- verses_count: 148,
- },
- {
- id: 2,
- juz_number: 2,
- verse_mapping: {
- 2: '142-252',
- },
- first_verse_id: 149,
- last_verse_id: 259,
- verses_count: 111,
- },
- {
- id: 3,
- juz_number: 3,
- verse_mapping: {
- 2: '253-286',
- 3: '1-92',
- },
- first_verse_id: 260,
- last_verse_id: 385,
- verses_count: 126,
- },
- {
- id: 4,
- juz_number: 4,
- verse_mapping: {
- 3: '93-200',
- 4: '1-23',
- },
- first_verse_id: 386,
- last_verse_id: 516,
- verses_count: 131,
- },
- {
- id: 5,
- juz_number: 5,
- verse_mapping: {
- 4: '24-147',
- },
- first_verse_id: 517,
- last_verse_id: 640,
- verses_count: 124,
- },
- {
- id: 6,
- juz_number: 6,
- verse_mapping: {
- 4: '148-176',
- 5: '1-81',
- },
- first_verse_id: 641,
- last_verse_id: 750,
- verses_count: 110,
- },
- {
- id: 7,
- juz_number: 7,
- verse_mapping: {
- 5: '82-120',
- 6: '1-110',
- },
- first_verse_id: 751,
- last_verse_id: 899,
- verses_count: 149,
- },
- {
- id: 8,
- juz_number: 8,
- verse_mapping: {
- 6: '111-165',
- 7: '1-87',
- },
- first_verse_id: 900,
- last_verse_id: 1041,
- verses_count: 142,
- },
- {
- id: 9,
- juz_number: 9,
- verse_mapping: {
- 7: '88-206',
- 8: '1-40',
- },
- first_verse_id: 1042,
- last_verse_id: 1200,
- verses_count: 159,
- },
- {
- id: 10,
- juz_number: 10,
- verse_mapping: {
- 8: '41-75',
- 9: '1-92',
- },
- first_verse_id: 1201,
- last_verse_id: 1327,
- verses_count: 127,
- },
- {
- id: 11,
- juz_number: 11,
- verse_mapping: {
- 9: '93-129',
- 10: '1-109',
- 11: '1-5',
- },
- first_verse_id: 1328,
- last_verse_id: 1478,
- verses_count: 151,
- },
- {
- id: 12,
- juz_number: 12,
- verse_mapping: {
- 11: '6-123',
- 12: '1-52',
- },
- first_verse_id: 1479,
- last_verse_id: 1648,
- verses_count: 170,
- },
- {
- id: 13,
- juz_number: 13,
- verse_mapping: {
- 12: '53-111',
- 13: '1-43',
- 14: '1-52',
- },
- first_verse_id: 1649,
- last_verse_id: 1802,
- verses_count: 154,
- },
- {
- id: 14,
- juz_number: 14,
- verse_mapping: {
- 15: '1-99',
- 16: '1-128',
- },
- first_verse_id: 1803,
- last_verse_id: 2029,
- verses_count: 227,
- },
- {
- id: 15,
- juz_number: 15,
- verse_mapping: {
- 17: '1-111',
- 18: '1-74',
- },
- first_verse_id: 2030,
- last_verse_id: 2214,
- verses_count: 185,
- },
- {
- id: 16,
- juz_number: 16,
- verse_mapping: {
- 18: '75-110',
- 19: '1-98',
- 20: '1-135',
- },
- first_verse_id: 2215,
- last_verse_id: 2483,
- verses_count: 269,
- },
- {
- id: 17,
- juz_number: 17,
- verse_mapping: {
- 21: '1-112',
- 22: '1-78',
- },
- first_verse_id: 2484,
- last_verse_id: 2673,
- verses_count: 190,
- },
- {
- id: 18,
- juz_number: 18,
- verse_mapping: {
- 23: '1-118',
- 24: '1-64',
- 25: '1-20',
- },
- first_verse_id: 2674,
- last_verse_id: 2875,
- verses_count: 202,
- },
- {
- id: 19,
- juz_number: 19,
- verse_mapping: {
- 25: '21-77',
- 26: '1-227',
- 27: '1-55',
- },
- first_verse_id: 2876,
- last_verse_id: 3214,
- verses_count: 339,
- },
- {
- id: 20,
- juz_number: 20,
- verse_mapping: {
- 27: '56-93',
- 28: '1-88',
- 29: '1-45',
- },
- first_verse_id: 3215,
- last_verse_id: 3385,
- verses_count: 171,
- },
- {
- id: 21,
- juz_number: 21,
- verse_mapping: {
- 29: '46-69',
- 30: '1-60',
- 31: '1-34',
- 32: '1-30',
- 33: '1-30',
- },
- first_verse_id: 3386,
- last_verse_id: 3563,
- verses_count: 178,
- },
- {
- id: 22,
- juz_number: 22,
- verse_mapping: {
- 33: '31-73',
- 34: '1-54',
- 35: '1-45',
- 36: '1-27',
- },
- first_verse_id: 3564,
- last_verse_id: 3732,
- verses_count: 169,
- },
- {
- id: 23,
- juz_number: 23,
- verse_mapping: {
- 36: '28-83',
- 37: '1-182',
- 38: '1-88',
- 39: '1-31',
- },
- first_verse_id: 3733,
- last_verse_id: 4089,
- verses_count: 357,
- },
- {
- id: 24,
- juz_number: 24,
- verse_mapping: {
- 39: '32-75',
- 40: '1-85',
- 41: '1-46',
- },
- first_verse_id: 4090,
- last_verse_id: 4264,
- verses_count: 175,
- },
- {
- id: 25,
- juz_number: 25,
- verse_mapping: {
- 41: '47-54',
- 42: '1-53',
- 43: '1-89',
- 44: '1-59',
- 45: '1-37',
- },
- first_verse_id: 4265,
- last_verse_id: 4510,
- verses_count: 246,
- },
- {
- id: 26,
- juz_number: 26,
- verse_mapping: {
- 46: '1-35',
- 47: '1-38',
- 48: '1-29',
- 49: '1-18',
- 50: '1-45',
- 51: '1-30',
- },
- first_verse_id: 4511,
- last_verse_id: 4705,
- verses_count: 195,
- },
- {
- id: 27,
- juz_number: 27,
- verse_mapping: {
- 51: '31-60',
- 52: '1-49',
- 53: '1-62',
- 54: '1-55',
- 55: '1-78',
- 56: '1-96',
- 57: '1-29',
- },
- first_verse_id: 4706,
- last_verse_id: 5104,
- verses_count: 399,
- },
- {
- id: 28,
- juz_number: 28,
- verse_mapping: {
- 58: '1-22',
- 59: '1-24',
- 60: '1-13',
- 61: '1-14',
- 62: '1-11',
- 63: '1-11',
- 64: '1-18',
- 65: '1-12',
- 66: '1-12',
- },
- first_verse_id: 5105,
- last_verse_id: 5241,
- verses_count: 137,
- },
- {
- id: 29,
- juz_number: 29,
- verse_mapping: {
- 67: '1-30',
- 68: '1-52',
- 69: '1-52',
- 70: '1-44',
- 71: '1-28',
- 72: '1-28',
- 73: '1-20',
- 74: '1-56',
- 75: '1-40',
- 76: '1-31',
- 77: '1-50',
- },
- first_verse_id: 5242,
- last_verse_id: 5672,
- verses_count: 431,
- },
- {
- id: 30,
- juz_number: 30,
- verse_mapping: {
- 78: '1-40',
- 79: '1-46',
- 80: '1-42',
- 81: '1-29',
- 82: '1-19',
- 83: '1-36',
- 84: '1-25',
- 85: '1-22',
- 86: '1-17',
- 87: '1-19',
- 88: '1-26',
- 89: '1-30',
- 90: '1-20',
- 91: '1-15',
- 92: '1-21',
- 93: '1-11',
- 94: '1-8',
- 95: '1-8',
- 96: '1-19',
- 97: '1-5',
- 98: '1-8',
- 99: '1-8',
- 100: '1-11',
- 101: '1-11',
- 102: '1-8',
- 103: '1-3',
- 104: '1-9',
- 105: '1-5',
- 106: '1-4',
- 107: '1-7',
- 108: '1-3',
- 109: '1-6',
- 110: '1-3',
- 111: '1-5',
- 112: '1-4',
- 113: '1-5',
- 114: '1-6',
- },
- first_verse_id: 5673,
- last_verse_id: 6236,
- verses_count: 564,
- },
- ],
- })
- );
- }),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/imlaei',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_key: '1:1',
- text_imlaei: 'بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ',
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/translations/:translation_id/info',
- (_req, res, ctx) => {
- return res(ctx.json({ info: { id: 1, info: null } }));
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/uthmani',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_key: '1:1',
- text_uthmani: 'بِسْمِ ٱللَّهِ ٱلرَّحْمَـٰنِ ٱلرَّحِيمِ',
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/tafsirs',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- tafsirs: [
- {
- id: 169,
- name: 'Tafsir Ibn Kathir',
- author_name: 'Hafiz Ibn Kathir',
- slug: 'en-tafisr-ibn-kathir',
- language_name: 'english',
- translated_name: {
- name: 'Tafsir Ibn Kathir',
- language_name: 'english',
- },
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/tafsirs/:tafsir_id',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- tafsirs: [
- {
- resource_id: 169,
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names This Surah is called
- Al-Fatihah, that is, the Opener of the Book, the Surah with which prayers are begun.',
- },
- ],
- meta: {
- tafsir_name: 'Tafsir Ibn Kathir',
- author_name: 'Hafiz Ibn Kathir',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/recitations/:recitation_id/info',
- (_req, res, ctx) => {
- return res(ctx.json({ info: { id: 1, info: null } }));
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/recitations/:recitation_id',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'Alafasy/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'Alafasy/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'Alafasy/mp3/001003.mp3' },
- { verse_key: '1:4', url: 'Alafasy/mp3/001004.mp3' },
- { verse_key: '1:5', url: 'Alafasy/mp3/001005.mp3' },
- { verse_key: '1:6', url: 'Alafasy/mp3/001006.mp3' },
- { verse_key: '1:7', url: 'Alafasy/mp3/001007.mp3' },
- ],
- meta: {
- reciter_name: 'Mishari Rashid al-`Afasy',
- recitation_style: null,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/chapter_reciters',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- reciters: [
- {
- id: 3,
- name: 'Abu Bakr al-Shatri',
- arabic_name: 'أبو بكر الشاطرى',
- relative_path: 'abu_bakr_ash-shaatree/',
- format: 'mp3',
- files_size: 1258422528,
- },
- {
- id: 4,
- name: 'Sa`ud ash-Shuraym',
- arabic_name: 'سعود الشريم',
- relative_path: 'sa3ood_al-shuraym/',
- format: 'mp3',
- files_size: 1258422528,
- },
- {
- id: 5,
- name: 'Mishari Rashid al-`Afasy',
- arabic_name: 'مشاري راشد العفاسي',
- relative_path: 'mishaari_raashid_al_3afaasee/',
- format: 'mp3',
- files_size: 1258422528,
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/languages',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- languages: [{ id: -71611860, iso_code: 'amet' }],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_hizb/:hizb_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: '
Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- ],
- pagination: {
- per_page: 1,
- current_page: 1,
- next_page: 2,
- total_pages: 7,
- total_records: 7,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/resources/tafsirs/:tafsir_id/info',
- (req, res, ctx) => {
- const id = req.params.tafsir_id;
- if (!id || !Number.isInteger(Number(id)))
- return res(
- ctx.status(404),
- ctx.json({ status: 404, error: 'Tafsir not found' })
- );
-
- return res(
- ctx.json({
- info: {
- id: +id,
- info: '',
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_rub/:rub_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 15,
- total_records: 148,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/quran/verses/uthmani_simple',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_key: '1:1',
- text_uthmani_simple: 'بسم الله الرحمن الرحيم',
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_juz/:juz_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- ],
- pagination: {
- per_page: 1,
- current_page: 1,
- next_page: 2,
- total_pages: 7,
- total_records: 7,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/chapter_recitations/:id',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- {
- id: 43,
- chapter_id: 22,
- file_size: 19779712,
- format: 'mp3',
- total_files: 1,
- audio_url:
- 'https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee//022.mp3',
- },
- {
- id: 87,
- chapter_id: 44,
- file_size: 6453376,
- format: 'mp3',
- total_files: 1,
- audio_url:
- 'https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee//044.mp3',
- },
- ],
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_chapter/:chapter_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 2,
- total_records: 20,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/recitations/:recitation_id/by_hizb/:hizb_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- audio_files: [
- { verse_key: '1:1', url: 'AbdulBaset/Mujawwad/mp3/001001.mp3' },
- { verse_key: '1:2', url: 'AbdulBaset/Mujawwad/mp3/001002.mp3' },
- { verse_key: '1:3', url: 'AbdulBaset/Mujawwad/mp3/001003.mp3' },
- ],
- pagination: {
- per_page: 10,
- current_page: 1,
- next_page: 2,
- total_pages: 15,
- total_records: 148,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_page/:page_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- ],
- pagination: {
- per_page: 1,
- current_page: 1,
- next_page: 2,
- total_pages: 7,
- total_records: 7,
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_key/:verse_key',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verse: {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- })
- );
- }
- ),
-
- rest.get(
- 'https://api.quran.com/api/v4/verses/by_rub/:rub_number',
- (_req, res, ctx) => {
- return res(
- ctx.json({
- verses: [
- {
- id: 1,
- verse_number: 1,
- page_number: 1,
- verse_key: '1:1',
- juz_number: 1,
- hizb_number: 1,
- rub_number: 1,
- sajdah_type: null,
- sajdah_number: null,
- words: [
- {
- id: 1,
- position: 1,
- audio_url: 'wbw/001_001_001.mp3',
- char_type_name: 'word',
- line_number: 2,
- page_number: 1,
- code_v1: 'ﭑ',
- translation: {
- text: 'In (the) name',
- language_name: 'english',
- },
- transliteration: { text: "bis'mi", language_name: 'english' },
- },
- ],
- translations: [
- {
- resource_id: 131,
- text: 'In the Name of Allah—the Most Compassionate, Most Merciful.',
- },
- ],
- tafsirs: [
- {
- id: 82641,
- language_name: 'english',
- name: 'Tafsir Ibn Kathir',
- text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
- },
- ],
- },
- ],
- pagination: {
- per_page: 1,
- current_page: 1,
- next_page: 2,
- total_pages: 7,
- total_records: 7,
- },
- })
- );
- }
- ),
-
- rest.get('https://api.quran.com/api/v4/chapters/:id', (_req, res, ctx) => {
- return res(
- ctx.json({
- chapter: {
- id: 1,
- revelation_place: 'makkah',
- revelation_order: 5,
- bismillah_pre: false,
- name_simple: 'Al-Fatihah',
- name_complex: 'Al-Fātiĥah',
- name_arabic: 'الفاتحة',
- verses_count: 7,
- pages: [1, 1],
- translated_name: { language_name: 'english', name: 'The Opener' },
- },
- })
- );
- }),
-];
diff --git a/mocks/server.ts b/mocks/server.ts
deleted file mode 100644
index 304e274..0000000
--- a/mocks/server.ts
+++ /dev/null
@@ -1,10 +0,0 @@
-import { rest } from 'msw';
-import { setupServer } from 'msw/node';
-import { handlers } from './handlers';
-
-export const server = setupServer(
- ...handlers,
- rest.get('*', (_req, res, ctx) => {
- return res(ctx.status(404), ctx.json({ status: 404, error: 'Not found' }));
- })
-);
diff --git a/package.json b/package.json
index 69ccc79..25663ba 100644
--- a/package.json
+++ b/package.json
@@ -1,81 +1,33 @@
{
- "name": "@quranjs/api",
- "description": "A library for fetching quran data from the quran.com API.",
- "author": "Ahmed Riad (https://ar1.dev)",
- "publishConfig": {
- "access": "public"
- },
- "packageManager": "pnpm@9.12.0",
- "version": "1.7.1",
- "license": "MIT",
- "main": "dist/index.min.js",
- "module": "dist/index.min.mjs",
- "browser": "dist/index.umd.min.js",
- "types": "dist/index.d.ts",
- "exports": {
- ".": {
- "types": "./dist/index.d.ts",
- "require": "./dist/index.min.js",
- "import": "./dist/index.min.mjs"
- },
- "./cdn": "./dist/index.umd.min.js"
+ "name": "quranjs",
+ "private": true,
+ "packageManager": "pnpm@9.15.4",
+ "engines": {
+ "node": ">=22.12.0"
},
- "files": [
- "dist"
- ],
"scripts": {
- "postversion": "node ./scripts/postversion.mjs",
- "start": "tsup --watch",
- "build": "tsup",
- "test": "vitest run",
- "test:dev": "vitest",
- "test:coverage": "vitest run --coverage",
- "lint": "eslint src/** test/** mocks/**",
- "prepare": "husky install",
- "size": "size-limit",
- "analyze": "size-limit --why"
- },
- "dependencies": {
- "humps": "^2.0.1"
+ "build": "turbo run build",
+ "clean": "git clean -xdf node_modules",
+ "clean:workspaces": "turbo run clean",
+ "dev": "turbo watch dev --continue",
+ "format": "turbo run format --continue -- --cache --cache-location .cache/.prettiercache",
+ "format:fix": "turbo run format --continue -- --write --cache --cache-location .cache/.prettiercache",
+ "lint": "turbo run lint --continue --filter=\"./packages/*\" -- --cache --cache-location .cache/.eslintcache",
+ "test": "turbo run test --continue --filter=\"./packages/*\"",
+ "lint:fix": "turbo run lint --continue -- --fix --cache --cache-location .cache/.eslintcache",
+ "lint:ws": "pnpm dlx sherif@latest",
+ "postinstall": "pnpm lint:ws",
+ "typecheck": "turbo run typecheck --filter=\"./packages/*\"",
+ "changeset": "changeset",
+ "version-packages": "changeset version",
+ "release": "changeset publish"
},
"devDependencies": {
- "@size-limit/preset-small-lib": "^7.0.8",
- "@swc/core": "^1.10.4",
- "@types/humps": "^2.0.1",
- "@typescript-eslint/eslint-plugin": "^5.42.0",
- "@typescript-eslint/parser": "^5.42.0",
- "@vitest/coverage-c8": "^0.24.4",
- "cross-fetch": "^3.1.5",
- "esbuild-plugin-umd-wrapper": "^3.0.0",
- "eslint": "^8.26.0",
- "eslint-config-prettier": "^8.5.0",
- "eslint-plugin-prettier": "^4.2.1",
- "fast-check": "^3.3.0",
- "husky": "^7.0.4",
- "msw": "^0.39.2",
- "prettier": "^2.7.1",
- "rollup-plugin-analyzer": "^4.0.0",
- "size-limit": "^7.0.8",
- "tslib": "^2.3.1",
- "tsup": "^6.3.0",
- "typescript": "^4.6.2",
- "vitest": "^0.24.4"
+ "@changesets/cli": "^2.29.5",
+ "@quranjs/prettier-config": "workspace:*",
+ "prettier": "catalog:",
+ "turbo": "^2.5.5",
+ "typescript": "catalog:"
},
- "size-limit": [
- {
- "path": "dist/index.min.js",
- "limit": "15 KB"
- },
- {
- "path": "dist/index.min.mjs",
- "limit": "15 KB"
- },
- {
- "path": "dist/index.umd.min.js",
- "limit": "15 KB"
- }
- ],
- "engines": {
- "node": ">=12"
- }
+ "prettier": "@quranjs/prettier-config"
}
\ No newline at end of file
diff --git a/packages/api/eslint.config.js b/packages/api/eslint.config.js
new file mode 100644
index 0000000..9b484ff
--- /dev/null
+++ b/packages/api/eslint.config.js
@@ -0,0 +1,9 @@
+import baseConfig from "@quranjs/eslint-config/base";
+
+/** @type {import('typescript-eslint').Config} */
+export default [
+ {
+ ignores: ["dist/**"],
+ },
+ ...baseConfig,
+];
diff --git a/packages/api/mocks/handlers.ts b/packages/api/mocks/handlers.ts
new file mode 100644
index 0000000..e304616
--- /dev/null
+++ b/packages/api/mocks/handlers.ts
@@ -0,0 +1,1718 @@
+import { http, HttpResponse } from "msw";
+
+/**
+ * Helper function to validate authentication headers
+ *
+ * @param request - The incoming request object
+ * @returns True if authentication headers are valid
+ * @throws Error if authentication headers are missing
+ */
+const validateAuth = (request: Request): boolean => {
+ const authToken = request.headers.get("x-auth-token");
+ const clientId = request.headers.get("x-client-id");
+
+ if (!authToken || !clientId) {
+ throw new Error("Missing authentication headers");
+ }
+
+ return true;
+};
+
+export const handlers = [
+ // OAuth2 token endpoint for authentication
+ http.post("https://oauth2.quran.foundation/oauth2/token", () => {
+ return HttpResponse.json({
+ access_token: "mock-access-token",
+ token_type: "Bearer",
+ expires_in: 3600,
+ scope: "content",
+ });
+ }),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/uthmani_tajweed",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_key: "1:1",
+ text_uthmani_tajweed:
+ "بِسْمِ ٱ للَّهِ ٱ ل رَّحْمَـٰ نِ ٱ ل رَّحِي مِ ١ ",
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/chapters",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ chapters: [
+ {
+ id: 1,
+ revelation_place: "makkah",
+ revelation_order: 5,
+ bismillah_pre: false,
+ name_simple: "Al-Fatihah",
+ name_complex: "Al-Fātiĥah",
+ name_arabic: "الفاتحة",
+ verses_count: 7,
+ pages: [1, 1],
+ translated_name: {
+ language_name: "english",
+ name: "The Opener",
+ },
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/translations",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ translations: [
+ {
+ id: 131,
+ name: "Dr. Mustafa Khattab, the Clear Quran",
+ author_name: "Dr. Mustafa Khattab",
+ slug: "clearquran-with-tafsir",
+ language_name: "english",
+ translated_name: {
+ name: "Dr. Mustafa Khattab",
+ language_name: "english",
+ },
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/search",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({});
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/recitations",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ recitations: [
+ {
+ id: 1,
+ reciter_name: "AbdulBaset AbdulSamad",
+ style: "Mujawwad",
+ translated_name: {
+ name: "AbdulBaset AbdulSamad",
+ language_name: "english",
+ },
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ // Audio endpoints for recitations
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:reciterId",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ audioFiles: [
+ {
+ id: 1,
+ chapter_id: 1,
+ file_size: 123456,
+ format: "mp3",
+ total_files: 114,
+ recitation_id: params.reciterId,
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:reciterId/:chapterId",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ audioFile: {
+ id: 1,
+ chapter_id: params.chapterId,
+ file_size: 123456,
+ format: "mp3",
+ recitation_id: params.reciterId,
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitationId/by_chapter/:chapterId",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ audioFiles: [
+ {
+ id: 1,
+ chapter_id: params.chapterId,
+ verse_key: "1:1",
+ file_size: 123456,
+ format: "mp3",
+ recitation_id: params.recitationId,
+ },
+ ],
+ pagination: {
+ per_page: 50,
+ current_page: 1,
+ next_page: null,
+ total_pages: 1,
+ total_records: 1,
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitationId/by_ayah/:key",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ audioFiles: [
+ {
+ id: 1,
+ verse_key: params.key,
+ file_size: 123456,
+ format: "mp3",
+ recitation_id: params.recitationId,
+ },
+ ],
+ pagination: {
+ per_page: 50,
+ current_page: 1,
+ next_page: null,
+ total_pages: 1,
+ total_records: 1,
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ // Resource info endpoints
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/recitations/:id/info",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ recitationInfo: {
+ id: params.id,
+ reciter_name: "AbdulBaset AbdulSamad",
+ style: "Mujawwad",
+ qirat: "Hafs",
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/translations/:id/info",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ translationInfo: {
+ id: params.id,
+ name: "Dr. Mustafa Khattab, the Clear Quran",
+ author_name: "Dr. Mustafa Khattab",
+ slug: "clearquran-with-tafsir",
+ language_name: "english",
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/tafsirs/:id/info",
+ ({ request, params }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ tafsirInfo: {
+ id: params.id,
+ name: "Tafsir Ibn Kathir",
+ author_name: "Ibn Kathir",
+ slug: "ibn-kathir",
+ language_name: "arabic",
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ // Additional resource endpoints that were missing
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/chapter_infos",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ chapterInfos: [
+ {
+ id: 1,
+ chapter_id: 1,
+ language_name: "english",
+ short_text: "Brief info about Al-Fatihah",
+ source: "Quran.com",
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/chapter_reciters",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ reciters: [
+ {
+ id: 1,
+ reciter_name: "AbdulBaset AbdulSamad",
+ style: "Mujawwad",
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/recitation_styles",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ recitationStyles: {
+ mujawwad: "Mujawwad",
+ murattal: "Murattal",
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/verse_media",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ verseMedia: {
+ id: 1,
+ verse_key: "1:1",
+ media_type: "image",
+ url: "https://example.com/verse-media.jpg",
+ },
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/code_v2",
+ () => {
+ return HttpResponse.json({
+ verses: [{ id: 1, verse_key: "1:1", code_v2: " ﱂ ﱃ ﱄ ﱅ", v2_page: 1 }],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/chapter_recitations/:id/:chapter_number",
+ () => {
+ return HttpResponse.json({
+ audio_file: {
+ id: 43,
+ chapter_id: 22,
+ file_size: 19779712,
+ format: "mp3",
+ total_files: 1,
+ audio_url:
+ "https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee/022.mp3",
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_ayah/:ayah_key",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 15,
+ total_records: 148,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/code_v1",
+ () => {
+ return HttpResponse.json({
+ verses: [{ id: 1, verse_key: "1:1", code_v1: "ﭑ ﭒ ﭓ ﭔ ﭕ", v1_page: 1 }],
+ });
+ },
+ ),
+
+ http.get("https://apis.quran.foundation/content/api/v4/verses/random", () => {
+ return HttpResponse.json({
+ verse: {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ });
+ }),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_juz/:juz_number",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 2,
+ total_records: 20,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/translations/:translation_id",
+ () => {
+ return HttpResponse.json({
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ meta: {
+ translation_name: "Dr. Mustafa Khattab, the Clear Quran",
+ author_name: "Dr. Mustafa Khattab",
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/recitation_styles",
+ () => {
+ return HttpResponse.json({
+ recitation_styles: {
+ mujawwad: "Mujawwad is a melodic style of Holy Quran recitation",
+ murattal: "Murattal is at a slower pace, used for study and practice",
+ muallim: "Muallim is teaching style recitation of Holy Quran",
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/indopak",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_key: "1:1",
+ text_indopak: "بِسۡمِ اللهِ الرَّحۡم]ٰنِ الرَّحِيۡمِ",
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_page/:page_number",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 15,
+ total_records: 148,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_chapter/:chapter_number",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ ],
+ pagination: {
+ per_page: 1,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 7,
+ total_records: 7,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/chapters/:chapter_id/info",
+ () => {
+ return HttpResponse.json({
+ chapterInfo: {
+ id: 1,
+ chapter_id: 1,
+ language_name: "english",
+ short_text:
+ "This Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.",
+ source:
+ "Sayyid Abul Ala Maududi - Tafhim al-Qur'an - The Meaning of the Quran",
+ text: "Name \r\nThis Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.
\r\nPeriod of Revelation ...",
+ },
+ });
+ },
+ ),
+
+ http.get("https://apis.quran.foundation/chapters/:chapter_id/info", () => {
+ return HttpResponse.json({
+ chapter_info: {
+ id: 1,
+ chapter_id: 1,
+ language_name: "english",
+ short_text:
+ "This Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.",
+ source:
+ "Sayyid Abul Ala Maududi - Tafhim al-Qur'an - The Meaning of the Quran",
+ text: "Name \r\nThis Surah is named Al-Fatihah because of its subject-matter. Fatihah is that which opens a subject or a book or any other thing. In other words, Al-Fatihah is a sort of preface.
\r\nPeriod of Revelation ...",
+ },
+ });
+ }),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/chapter_infos",
+ () => {
+ return HttpResponse.json({
+ chapter_infos: [
+ {
+ id: 155,
+ name: "Hamza Roberto Piccardo",
+ author_name: "Hamza Roberto Piccardo",
+ slug: "hamza-roberto-piccardo-info",
+ language_name: "italian",
+ translated_name: {
+ name: "Hamza Roberto Piccardo",
+ language_name: "english",
+ },
+ },
+ {
+ id: 63,
+ name: "Chapter Info",
+ author_name: "Sayyid Abul Ala Maududi",
+ slug: null,
+ language_name: "malayalam",
+ translated_name: {
+ name: "Chapter Info",
+ language_name: "english",
+ },
+ },
+ {
+ id: 62,
+ name: "Chapter Info",
+ author_name: "Sayyid Abul Ala Maududi",
+ slug: null,
+ language_name: "tamil",
+ translated_name: {
+ name: "Chapter Info",
+ language_name: "english",
+ },
+ },
+ {
+ id: 61,
+ name: "Chapter Info",
+ author_name: "Sayyid Abul Ala Maududi",
+ slug: null,
+ language_name: "urdu",
+ translated_name: {
+ name: "Chapter Info",
+ language_name: "english",
+ },
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/verse_media",
+ () => {
+ return HttpResponse.json({
+ verse_media: [
+ {
+ id: 64,
+ name: "Bayyinah video commentary ",
+ author_name: "Bayyinah",
+ slug: "",
+ language_name: "english",
+ translated_name: {
+ name: "Bayyinah video commentary ",
+ language_name: "english",
+ },
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/juzs",
+ ({ request }) => {
+ try {
+ validateAuth(request);
+ return HttpResponse.json({
+ juzs: [
+ {
+ id: 1,
+ juz_number: 1,
+ verse_mapping: {
+ 1: "1-7",
+ 2: "1-141",
+ },
+ first_verse_id: 1,
+ last_verse_id: 148,
+ verses_count: 148,
+ },
+ {
+ id: 2,
+ juz_number: 2,
+ verse_mapping: {
+ 2: "142-252",
+ },
+ first_verse_id: 149,
+ last_verse_id: 259,
+ verses_count: 111,
+ },
+ {
+ id: 3,
+ juz_number: 3,
+ verse_mapping: {
+ 2: "253-286",
+ 3: "1-92",
+ },
+ first_verse_id: 260,
+ last_verse_id: 385,
+ verses_count: 126,
+ },
+ {
+ id: 4,
+ juz_number: 4,
+ verse_mapping: {
+ 3: "93-200",
+ 4: "1-23",
+ },
+ first_verse_id: 386,
+ last_verse_id: 516,
+ verses_count: 131,
+ },
+ {
+ id: 5,
+ juz_number: 5,
+ verse_mapping: {
+ 4: "24-147",
+ },
+ first_verse_id: 517,
+ last_verse_id: 640,
+ verses_count: 124,
+ },
+ {
+ id: 6,
+ juz_number: 6,
+ verse_mapping: {
+ 4: "148-176",
+ 5: "1-81",
+ },
+ first_verse_id: 641,
+ last_verse_id: 750,
+ verses_count: 110,
+ },
+ {
+ id: 7,
+ juz_number: 7,
+ verse_mapping: {
+ 5: "82-120",
+ 6: "1-110",
+ },
+ first_verse_id: 751,
+ last_verse_id: 899,
+ verses_count: 149,
+ },
+ {
+ id: 8,
+ juz_number: 8,
+ verse_mapping: {
+ 6: "111-165",
+ 7: "1-87",
+ },
+ first_verse_id: 900,
+ last_verse_id: 1041,
+ verses_count: 142,
+ },
+ {
+ id: 9,
+ juz_number: 9,
+ verse_mapping: {
+ 7: "88-206",
+ 8: "1-40",
+ },
+ first_verse_id: 1042,
+ last_verse_id: 1200,
+ verses_count: 159,
+ },
+ {
+ id: 10,
+ juz_number: 10,
+ verse_mapping: {
+ 8: "41-75",
+ 9: "1-92",
+ },
+ first_verse_id: 1201,
+ last_verse_id: 1327,
+ verses_count: 127,
+ },
+ {
+ id: 11,
+ juz_number: 11,
+ verse_mapping: {
+ 9: "93-129",
+ 10: "1-109",
+ 11: "1-5",
+ },
+ first_verse_id: 1328,
+ last_verse_id: 1478,
+ verses_count: 151,
+ },
+ {
+ id: 12,
+ juz_number: 12,
+ verse_mapping: {
+ 11: "6-123",
+ 12: "1-52",
+ },
+ first_verse_id: 1479,
+ last_verse_id: 1648,
+ verses_count: 170,
+ },
+ {
+ id: 13,
+ juz_number: 13,
+ verse_mapping: {
+ 12: "53-111",
+ 13: "1-43",
+ 14: "1-52",
+ },
+ first_verse_id: 1649,
+ last_verse_id: 1802,
+ verses_count: 154,
+ },
+ {
+ id: 14,
+ juz_number: 14,
+ verse_mapping: {
+ 15: "1-99",
+ 16: "1-128",
+ },
+ first_verse_id: 1803,
+ last_verse_id: 2029,
+ verses_count: 227,
+ },
+ {
+ id: 15,
+ juz_number: 15,
+ verse_mapping: {
+ 17: "1-111",
+ 18: "1-74",
+ },
+ first_verse_id: 2030,
+ last_verse_id: 2214,
+ verses_count: 185,
+ },
+ {
+ id: 16,
+ juz_number: 16,
+ verse_mapping: {
+ 18: "75-110",
+ 19: "1-98",
+ 20: "1-135",
+ },
+ first_verse_id: 2215,
+ last_verse_id: 2483,
+ verses_count: 269,
+ },
+ {
+ id: 17,
+ juz_number: 17,
+ verse_mapping: {
+ 21: "1-112",
+ 22: "1-78",
+ },
+ first_verse_id: 2484,
+ last_verse_id: 2673,
+ verses_count: 190,
+ },
+ {
+ id: 18,
+ juz_number: 18,
+ verse_mapping: {
+ 23: "1-118",
+ 24: "1-64",
+ 25: "1-20",
+ },
+ first_verse_id: 2674,
+ last_verse_id: 2875,
+ verses_count: 202,
+ },
+ {
+ id: 19,
+ juz_number: 19,
+ verse_mapping: {
+ 25: "21-77",
+ 26: "1-227",
+ 27: "1-55",
+ },
+ first_verse_id: 2876,
+ last_verse_id: 3214,
+ verses_count: 339,
+ },
+ {
+ id: 20,
+ juz_number: 20,
+ verse_mapping: {
+ 27: "56-93",
+ 28: "1-88",
+ 29: "1-45",
+ },
+ first_verse_id: 3215,
+ last_verse_id: 3385,
+ verses_count: 171,
+ },
+ {
+ id: 21,
+ juz_number: 21,
+ verse_mapping: {
+ 29: "46-69",
+ 30: "1-60",
+ 31: "1-34",
+ 32: "1-30",
+ 33: "1-30",
+ },
+ first_verse_id: 3386,
+ last_verse_id: 3563,
+ verses_count: 178,
+ },
+ {
+ id: 22,
+ juz_number: 22,
+ verse_mapping: {
+ 33: "31-73",
+ 34: "1-54",
+ 35: "1-45",
+ 36: "1-27",
+ },
+ first_verse_id: 3564,
+ last_verse_id: 3732,
+ verses_count: 169,
+ },
+ {
+ id: 23,
+ juz_number: 23,
+ verse_mapping: {
+ 36: "28-83",
+ 37: "1-182",
+ 38: "1-88",
+ 39: "1-31",
+ },
+ first_verse_id: 3733,
+ last_verse_id: 4089,
+ verses_count: 357,
+ },
+ {
+ id: 24,
+ juz_number: 24,
+ verse_mapping: {
+ 39: "32-75",
+ 40: "1-85",
+ 41: "1-46",
+ },
+ first_verse_id: 4090,
+ last_verse_id: 4264,
+ verses_count: 175,
+ },
+ {
+ id: 25,
+ juz_number: 25,
+ verse_mapping: {
+ 41: "47-54",
+ 42: "1-53",
+ 43: "1-89",
+ 44: "1-59",
+ 45: "1-37",
+ },
+ first_verse_id: 4265,
+ last_verse_id: 4510,
+ verses_count: 246,
+ },
+ {
+ id: 26,
+ juz_number: 26,
+ verse_mapping: {
+ 46: "1-35",
+ 47: "1-38",
+ 48: "1-29",
+ 49: "1-18",
+ 50: "1-45",
+ 51: "1-30",
+ },
+ first_verse_id: 4511,
+ last_verse_id: 4705,
+ verses_count: 195,
+ },
+ {
+ id: 27,
+ juz_number: 27,
+ verse_mapping: {
+ 51: "31-60",
+ 52: "1-49",
+ 53: "1-62",
+ 54: "1-55",
+ 55: "1-78",
+ 56: "1-96",
+ 57: "1-29",
+ },
+ first_verse_id: 4706,
+ last_verse_id: 5104,
+ verses_count: 399,
+ },
+ {
+ id: 28,
+ juz_number: 28,
+ verse_mapping: {
+ 58: "1-22",
+ 59: "1-24",
+ 60: "1-13",
+ 61: "1-14",
+ 62: "1-11",
+ 63: "1-11",
+ 64: "1-18",
+ 65: "1-12",
+ 66: "1-12",
+ },
+ first_verse_id: 5105,
+ last_verse_id: 5241,
+ verses_count: 137,
+ },
+ {
+ id: 29,
+ juz_number: 29,
+ verse_mapping: {
+ 67: "1-30",
+ 68: "1-52",
+ 69: "1-52",
+ 70: "1-44",
+ 71: "1-28",
+ 72: "1-28",
+ 73: "1-20",
+ 74: "1-56",
+ 75: "1-40",
+ 76: "1-31",
+ 77: "1-50",
+ },
+ first_verse_id: 5242,
+ last_verse_id: 5672,
+ verses_count: 431,
+ },
+ {
+ id: 30,
+ juz_number: 30,
+ verse_mapping: {
+ 78: "1-40",
+ 79: "1-46",
+ 80: "1-42",
+ 81: "1-29",
+ 82: "1-19",
+ 83: "1-36",
+ 84: "1-25",
+ 85: "1-22",
+ 86: "1-17",
+ 87: "1-19",
+ 88: "1-26",
+ 89: "1-30",
+ 90: "1-20",
+ 91: "1-15",
+ 92: "1-21",
+ 93: "1-11",
+ 94: "1-8",
+ 95: "1-8",
+ 96: "1-19",
+ 97: "1-5",
+ 98: "1-8",
+ 99: "1-8",
+ 100: "1-11",
+ 101: "1-11",
+ 102: "1-8",
+ 103: "1-3",
+ 104: "1-9",
+ 105: "1-5",
+ 106: "1-4",
+ 107: "1-7",
+ 108: "1-3",
+ 109: "1-6",
+ 110: "1-3",
+ 111: "1-5",
+ 112: "1-4",
+ 113: "1-5",
+ 114: "1-6",
+ },
+ first_verse_id: 5673,
+ last_verse_id: 6236,
+ verses_count: 564,
+ },
+ ],
+ });
+ } catch {
+ return HttpResponse.text("Unauthorized", { status: 401 });
+ }
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/imlaei",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_key: "1:1",
+ text_imlaei: "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ",
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/translations/:translation_id/info",
+ () => {
+ return HttpResponse.json({ info: { id: 1, info: null } });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/uthmani",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_key: "1:1",
+ text_uthmani: "بِسْمِ ٱللَّهِ ٱلرَّحْمَـٰنِ ٱلرَّحِيمِ",
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/tafsirs",
+ () => {
+ return HttpResponse.json({
+ tafsirs: [
+ {
+ id: 169,
+ name: "Tafsir Ibn Kathir",
+ author_name: "Hafiz Ibn Kathir",
+ slug: "en-tafisr-ibn-kathir",
+ language_name: "english",
+ translated_name: {
+ name: "Tafsir Ibn Kathir",
+ language_name: "english",
+ },
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/tafsirs/:tafsir_id",
+ () => {
+ return HttpResponse.json({
+ tafsirs: [
+ {
+ resource_id: 169,
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names This Surah is called
- Al-Fatihah, that is, the Opener of the Book, the Surah with which prayers are begun.',
+ },
+ ],
+ meta: {
+ tafsir_name: "Tafsir Ibn Kathir",
+ author_name: "Hafiz Ibn Kathir",
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/recitations/:recitation_id/info",
+ () => {
+ return HttpResponse.json({ info: { id: 1, info: null } });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/recitations/:recitation_id",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "Alafasy/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "Alafasy/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "Alafasy/mp3/001003.mp3" },
+ { verse_key: "1:4", url: "Alafasy/mp3/001004.mp3" },
+ { verse_key: "1:5", url: "Alafasy/mp3/001005.mp3" },
+ { verse_key: "1:6", url: "Alafasy/mp3/001006.mp3" },
+ { verse_key: "1:7", url: "Alafasy/mp3/001007.mp3" },
+ ],
+ meta: {
+ reciter_name: "Mishari Rashid al-`Afasy",
+ recitation_style: null,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/chapter_reciters",
+ () => {
+ return HttpResponse.json({
+ reciters: [
+ {
+ id: 3,
+ name: "Abu Bakr al-Shatri",
+ arabic_name: "أبو بكر الشاطرى",
+ relative_path: "abu_bakr_ash-shaatree/",
+ format: "mp3",
+ files_size: 1258422528,
+ },
+ {
+ id: 4,
+ name: "Sa`ud ash-Shuraym",
+ arabic_name: "سعود الشريم",
+ relative_path: "sa3ood_al-shuraym/",
+ format: "mp3",
+ files_size: 1258422528,
+ },
+ {
+ id: 5,
+ name: "Mishari Rashid al-`Afasy",
+ arabic_name: "مشاري راشد العفاسي",
+ relative_path: "mishaari_raashid_al_3afaasee/",
+ format: "mp3",
+ files_size: 1258422528,
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/languages",
+ () => {
+ return HttpResponse.json({
+ languages: [{ id: -71611860, iso_code: "amet" }],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_hizb/:hizb_number",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: '
Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ ],
+ pagination: {
+ per_page: 1,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 7,
+ total_records: 7,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/resources/tafsirs/:tafsir_id/info",
+ ({ params }) => {
+ const id = params.tafsir_id;
+ if (!id || !Number.isInteger(Number(id)))
+ return HttpResponse.json(
+ { status: 404, error: "Tafsir not found" },
+ { status: 404 },
+ );
+
+ return HttpResponse.json({
+ info: {
+ id: +id,
+ info: "",
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_rub/:rub_number",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 15,
+ total_records: 148,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/quran/verses/uthmani_simple",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_key: "1:1",
+ text_uthmani_simple: "بسم الله الرحمن الرحيم",
+ },
+ ],
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_juz/:juz_number",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ ],
+ pagination: {
+ per_page: 1,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 7,
+ total_records: 7,
+ },
+ });
+ },
+ ),
+
+ http.get("https://apis.quran.foundation/chapter_recitations/:id", () => {
+ return HttpResponse.json({
+ audio_files: [
+ {
+ id: 43,
+ chapter_id: 22,
+ file_size: 19779712,
+ format: "mp3",
+ total_files: 1,
+ audio_url:
+ "https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee//022.mp3",
+ },
+ {
+ id: 87,
+ chapter_id: 44,
+ file_size: 6453376,
+ format: "mp3",
+ total_files: 1,
+ audio_url:
+ "https://download.quranicaudio.com/quran/abdullaah_3awwaad_al-juhaynee//044.mp3",
+ },
+ ],
+ });
+ }),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_chapter/:chapter_number",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 2,
+ total_records: 20,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/recitations/:recitation_id/by_hizb/:hizb_number",
+ () => {
+ return HttpResponse.json({
+ audio_files: [
+ { verse_key: "1:1", url: "AbdulBaset/Mujawwad/mp3/001001.mp3" },
+ { verse_key: "1:2", url: "AbdulBaset/Mujawwad/mp3/001002.mp3" },
+ { verse_key: "1:3", url: "AbdulBaset/Mujawwad/mp3/001003.mp3" },
+ ],
+ pagination: {
+ per_page: 10,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 15,
+ total_records: 148,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_page/:page_number",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ ],
+ pagination: {
+ per_page: 1,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 7,
+ total_records: 7,
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_key/:verse_key",
+ () => {
+ return HttpResponse.json({
+ verse: {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ });
+ },
+ ),
+
+ http.get(
+ "https://apis.quran.foundation/content/api/v4/verses/by_rub/:rub_number",
+ () => {
+ return HttpResponse.json({
+ verses: [
+ {
+ id: 1,
+ verse_number: 1,
+ page_number: 1,
+ verse_key: "1:1",
+ juz_number: 1,
+ hizb_number: 1,
+ rub_number: 1,
+ sajdah_type: null,
+ sajdah_number: null,
+ words: [
+ {
+ id: 1,
+ position: 1,
+ audio_url: "wbw/001_001_001.mp3",
+ char_type_name: "word",
+ line_number: 2,
+ page_number: 1,
+ code_v1: "ﭑ",
+ translation: {
+ text: "In (the) name",
+ language_name: "english",
+ },
+ transliteration: { text: "bis'mi", language_name: "english" },
+ },
+ ],
+ translations: [
+ {
+ resource_id: 131,
+ text: "In the Name of Allah—the Most Compassionate, Most Merciful.",
+ },
+ ],
+ tafsirs: [
+ {
+ id: 82641,
+ language_name: "english",
+ name: "Tafsir Ibn Kathir",
+ text: 'Which was revealed in Makkah The Meaning of Al-Fatihah and its Various Names ',
+ },
+ ],
+ },
+ ],
+ pagination: {
+ per_page: 1,
+ current_page: 1,
+ next_page: 2,
+ total_pages: 7,
+ total_records: 7,
+ },
+ });
+ },
+ ),
+
+ http.get("https://apis.quran.foundation/content/api/v4/chapters/:id", () => {
+ return HttpResponse.json({
+ chapter: {
+ id: 1,
+ revelation_place: "makkah",
+ revelation_order: 5,
+ bismillah_pre: false,
+ name_simple: "Al-Fatihah",
+ name_complex: "Al-Fātiĥah",
+ name_arabic: "الفاتحة",
+ verses_count: 7,
+ pages: [1, 1],
+ translated_name: { language_name: "english", name: "The Opener" },
+ },
+ });
+ }),
+];
diff --git a/packages/api/mocks/server.ts b/packages/api/mocks/server.ts
new file mode 100644
index 0000000..9ec1bed
--- /dev/null
+++ b/packages/api/mocks/server.ts
@@ -0,0 +1,14 @@
+import { http, HttpResponse } from "msw";
+import { setupServer } from "msw/node";
+
+import { handlers } from "./handlers";
+
+export const server = setupServer(
+ ...handlers,
+ http.get("*", () => {
+ return HttpResponse.json(
+ { status: 404, error: "Not found" },
+ { status: 404 },
+ );
+ }),
+);
diff --git a/packages/api/package.json b/packages/api/package.json
new file mode 100644
index 0000000..0a0b49d
--- /dev/null
+++ b/packages/api/package.json
@@ -0,0 +1,81 @@
+{
+ "name": "@quranjs/api",
+ "description": "A library for fetching quran data from the quran.com API.",
+ "author": "Ahmed Riad (https://ar1.dev)",
+ "license": "MIT",
+ "repository": {
+ "type": "git",
+ "url": "https://github.com/quran/api-js",
+ "directory": "packages/api"
+ },
+ "publishConfig": {
+ "access": "public"
+ },
+ "version": "1.7.1",
+ "main": "dist/index.min.js",
+ "module": "dist/index.min.mjs",
+ "browser": "dist/index.umd.min.js",
+ "types": "dist/index.d.ts",
+ "exports": {
+ ".": {
+ "types": "./dist/index.d.ts",
+ "require": "./dist/index.min.js",
+ "import": "./dist/index.min.mjs"
+ },
+ "./cdn": "./dist/index.umd.min.js"
+ },
+ "files": [
+ "dist",
+ "package.json",
+ "LICENSE",
+ "README.md"
+ ],
+ "scripts": {
+ "build": "tsup",
+ "dev": "tsup --watch",
+ "test": "vitest run",
+ "test:dev": "vitest",
+ "test:coverage": "vitest run --coverage",
+ "lint": "eslint \"src/**/*.ts*\" \"test/**/*.ts*\" \"mocks/**/*.ts*\"",
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
+ "size": "size-limit",
+ "analyze": "size-limit --why"
+ },
+ "dependencies": {
+ "humps": "^2.0.1"
+ },
+ "devDependencies": {
+ "@quranjs/eslint-config": "workspace:*",
+ "@quranjs/prettier-config": "workspace:*",
+ "@quranjs/tsconfig": "workspace:*",
+ "@size-limit/preset-small-lib": "^7.0.8",
+ "@swc/core": "^1.10.4",
+ "@types/humps": "^2.0.1",
+ "@types/node": "^24.2.0",
+ "@vitest/coverage-v8": "^3.2.4",
+ "cross-fetch": "^3.1.5",
+ "eslint": "catalog:",
+ "fast-check": "^3.3.0",
+ "msw": "^2.11.5",
+ "prettier": "catalog:",
+ "rollup-plugin-analyzer": "^4.0.0",
+ "size-limit": "^7.0.8",
+ "tsup": "^8.5.0",
+ "typescript": "catalog:",
+ "vitest": "^3.2.4"
+ },
+ "prettier": "@quranjs/prettier-config",
+ "size-limit": [
+ {
+ "path": "dist/index.min.js",
+ "limit": "15 KB"
+ },
+ {
+ "path": "dist/index.min.mjs",
+ "limit": "15 KB"
+ }
+ ],
+ "engines": {
+ "node": ">=18"
+ }
+}
\ No newline at end of file
diff --git a/packages/api/src/index.ts b/packages/api/src/index.ts
new file mode 100644
index 0000000..b17d194
--- /dev/null
+++ b/packages/api/src/index.ts
@@ -0,0 +1,4 @@
+export { QuranClient } from "./sdk/client";
+
+export * from "./types";
+export * from "./utils";
diff --git a/packages/api/src/lib/retry.ts b/packages/api/src/lib/retry.ts
new file mode 100644
index 0000000..5692942
--- /dev/null
+++ b/packages/api/src/lib/retry.ts
@@ -0,0 +1,24 @@
+export const retry = async (
+ fn: () => Promise,
+ options: { retries: number } = { retries: 3 },
+): Promise => {
+ let lastError: Error;
+
+ for (let i = 0; i <= options.retries; i++) {
+ try {
+ return await fn();
+ } catch (error) {
+ lastError = error as Error;
+ if (i === options.retries) {
+ throw lastError;
+ }
+
+ // Simple exponential backoff
+ await new Promise((resolve) =>
+ setTimeout(resolve, Math.pow(2, i) * 1000),
+ );
+ }
+ }
+
+ throw lastError!;
+};
diff --git a/packages/api/src/lib/url.ts b/packages/api/src/lib/url.ts
new file mode 100644
index 0000000..50e1ddf
--- /dev/null
+++ b/packages/api/src/lib/url.ts
@@ -0,0 +1,44 @@
+import type { ApiParams } from "@/types";
+import humps from "humps";
+
+const { decamelize, decamelizeKeys } = humps;
+
+export const removeBeginningSlash = (url: string) => {
+ return url.startsWith("/") ? url.slice(1) : url;
+};
+
+const fieldsKey = ["wordFields", "translationFields", "fields"];
+
+export const paramsToString = (params?: ApiParams): string => {
+ if (!params) return "";
+
+ const paramsWithDecamelizedKeys = decamelizeKeys(params) as ApiParams;
+ const paramsString = new URLSearchParams();
+
+ for (const [key, value] of Object.entries(paramsWithDecamelizedKeys)) {
+ if (value === undefined) continue;
+
+ if (typeof value === "string") {
+ paramsString.set(key, value);
+ } else if (typeof value === "number") {
+ paramsString.set(key, value.toString());
+ } else if (typeof value === "boolean") {
+ paramsString.set(key, value.toString());
+ } else if (Array.isArray(value)) {
+ paramsString.set(key, value.join(","));
+ }
+
+ // fields is a special case, it's an object with boolean values
+ if (fieldsKey.includes(key)) {
+ const fields = Object.entries(value)
+ .filter(([, value]) => value)
+ .map(([key]) => decamelize(key));
+ if (fields.length > 0) {
+ paramsString.set(key, fields.join(","));
+ }
+ }
+ }
+
+ if (paramsString.size === 0) return "";
+ return `?${paramsString.toString()}`;
+};
diff --git a/packages/api/src/sdk/audio.ts b/packages/api/src/sdk/audio.ts
new file mode 100644
index 0000000..cee35c0
--- /dev/null
+++ b/packages/api/src/sdk/audio.ts
@@ -0,0 +1,114 @@
+import type {
+ BaseApiParams,
+ ChapterId,
+ ChapterRecitation,
+ Pagination,
+ VerseKey,
+ VerseRecitation,
+ VerseRecitationField,
+} from "@/types";
+import { isValidChapterId, isValidVerseKey } from "@/utils";
+
+import type { QuranFetcher } from "./fetcher";
+
+type GetChapterRecitationOptions = BaseApiParams;
+
+type GetVerseRecitationOptions = BaseApiParams & {
+ fields?: Partial>;
+};
+
+/**
+ * Audio API methods
+ */
+export class QuranAudio {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Get all chapter recitations for specific reciter
+ * @param {string} reciterId
+ * @param {GetChapterRecitationOptions} options
+ * @example
+ * client.audio.findAllChapterRecitations('2')
+ */
+ async findAllChapterRecitations(
+ reciterId: string,
+ options?: GetChapterRecitationOptions,
+ ): Promise {
+ const { audioFiles } = await this.fetcher.fetch<{
+ audioFiles: ChapterRecitation[];
+ }>(`/content/api/v4/recitations/${reciterId}`, options);
+
+ return audioFiles;
+ }
+
+ /**
+ * Get a specific chapter recitation by reciter and chapter
+ * @param {string} reciterId
+ * @param {ChapterId} chapterId
+ * @param {GetChapterRecitationOptions} options
+ * @example
+ * client.audio.findChapterRecitationById('2', '1')
+ */
+ async findChapterRecitationById(
+ reciterId: string,
+ chapterId: ChapterId,
+ options?: GetChapterRecitationOptions,
+ ): Promise {
+ if (!isValidChapterId(chapterId)) throw new Error("Invalid chapter id");
+
+ const { audioFile } = await this.fetcher.fetch<{
+ audioFile: ChapterRecitation;
+ }>(`/content/api/v4/recitations/${reciterId}/${chapterId}`, options);
+
+ return audioFile;
+ }
+
+ /**
+ * Get verse recitations by chapter
+ * @param {ChapterId} chapterId
+ * @param {string} recitationId
+ * @param {GetVerseRecitationOptions} options
+ * @example
+ * client.audio.findVerseRecitationsByChapter('1', '2')
+ */
+ async findVerseRecitationsByChapter(
+ chapterId: ChapterId,
+ recitationId: string,
+ options?: GetVerseRecitationOptions,
+ ): Promise<{ audioFiles: VerseRecitation[]; pagination: Pagination }> {
+ if (!isValidChapterId(chapterId)) throw new Error("Invalid chapter id");
+
+ const data = await this.fetcher.fetch<{
+ audioFiles: VerseRecitation[];
+ pagination: Pagination;
+ }>(
+ `/content/api/v4/recitations/${recitationId}/by_chapter/${chapterId}`,
+ options,
+ );
+
+ return data;
+ }
+
+ /**
+ * Get verse recitations by verse key
+ * @param {VerseKey} key
+ * @param {string} recitationId
+ * @param {GetVerseRecitationOptions} options
+ * @example
+ * client.audio.findVerseRecitationsByKey('1:1', '2')
+ */
+ async findVerseRecitationsByKey(
+ key: VerseKey,
+ recitationId: string,
+ options?: GetVerseRecitationOptions,
+ ): Promise<{ audioFiles: VerseRecitation[]; pagination: Pagination }> {
+ if (!isValidVerseKey(key)) throw new Error("Invalid verse key");
+
+ const data = await this.fetcher.fetch<{
+ audioFiles: VerseRecitation[];
+ pagination: Pagination;
+ }>(`/content/api/v4/recitations/${recitationId}/by_ayah/${key}`, options);
+
+ return data;
+ }
+}
diff --git a/packages/api/src/sdk/chapters.ts b/packages/api/src/sdk/chapters.ts
new file mode 100644
index 0000000..fa966c7
--- /dev/null
+++ b/packages/api/src/sdk/chapters.ts
@@ -0,0 +1,71 @@
+import type { BaseApiParams, Chapter, ChapterId, ChapterInfo } from "@/types";
+import { isValidChapterId } from "@/utils";
+
+import type { QuranFetcher } from "./fetcher";
+
+type GetChapterOptions = BaseApiParams;
+
+/**
+ * Chapters API methods
+ */
+export class QuranChapters {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Get all chapters.
+ * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-chapters
+ * @param {GetChapterOptions} options
+ * @example
+ * client.chapters.findAll()
+ */
+ async findAll(options?: GetChapterOptions): Promise {
+ const { chapters } = await this.fetcher.fetch<{ chapters: Chapter[] }>(
+ "/content/api/v4/chapters",
+ options,
+ );
+
+ return chapters;
+ }
+
+ /**
+ * Get chapter by id.
+ * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/get-chapter
+ * @param {ChapterId} id chapter id, minimum 1, maximum 114
+ * @param {GetChapterOptions} options
+ * @example
+ * client.chapters.findById('1')
+ * client.chapters.findById('114')
+ */
+ async findById(id: ChapterId, options?: GetChapterOptions): Promise {
+ if (!isValidChapterId(id)) throw new Error("Invalid chapter id");
+
+ const { chapter } = await this.fetcher.fetch<{ chapter: Chapter }>(
+ `/content/api/v4/chapters/${id}`,
+ options,
+ );
+
+ return chapter;
+ }
+
+ /**
+ * Get chapter info by id.
+ * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/get-chapter-info
+ * @param {ChapterId} id chapter id, minimum 1, maximum 114
+ * @param {GetChapterOptions} options
+ * @example
+ * client.chapters.findInfoById('1')
+ * client.chapters.findInfoById('114')
+ */
+ async findInfoById(
+ id: ChapterId,
+ options?: GetChapterOptions,
+ ): Promise {
+ if (!isValidChapterId(id)) throw new Error("Invalid chapter id");
+
+ const { chapterInfo } = await this.fetcher.fetch<{
+ chapterInfo: ChapterInfo;
+ }>(`/content/api/v4/chapters/${id}/info`, options);
+
+ return chapterInfo;
+ }
+}
diff --git a/packages/api/src/sdk/client.ts b/packages/api/src/sdk/client.ts
new file mode 100644
index 0000000..52e1653
--- /dev/null
+++ b/packages/api/src/sdk/client.ts
@@ -0,0 +1,84 @@
+import type { QuranClientConfig } from "@/types";
+import { Language } from "@/types";
+
+import { QuranAudio } from "./audio";
+import { QuranChapters } from "./chapters";
+import { QuranFetcher } from "./fetcher";
+import { QuranJuzs } from "./juzs";
+import { QuranResources } from "./resources";
+import { QuranSearch } from "./search";
+import { QuranVerses } from "./verses";
+
+/**
+ * Main Quran API client
+ */
+export class QuranClient {
+ private config: Required<
+ Pick
+ > &
+ Omit;
+ private fetcher: QuranFetcher;
+
+ public readonly chapters: QuranChapters;
+ public readonly verses: QuranVerses;
+ public readonly juzs: QuranJuzs;
+ public readonly audio: QuranAudio;
+ public readonly resources: QuranResources;
+ public readonly search: QuranSearch;
+
+ constructor(config: QuranClientConfig) {
+ // Resolve configuration with defaults
+ this.config = {
+ contentBaseUrl: "https://apis.quran.foundation",
+ authBaseUrl: "https://oauth2.quran.foundation",
+ ...config,
+ defaults: {
+ language: Language.ARABIC,
+ ...config.defaults,
+ },
+ };
+
+ // Initialize the fetcher
+ this.fetcher = new QuranFetcher(this.config);
+ this.fetcher.getFetch(); // validate fetch function is available
+
+ // Initialize all API modules with the fetcher only
+ this.chapters = new QuranChapters(this.fetcher);
+ this.verses = new QuranVerses(this.fetcher);
+ this.juzs = new QuranJuzs(this.fetcher);
+ this.audio = new QuranAudio(this.fetcher);
+ this.resources = new QuranResources(this.fetcher);
+ this.search = new QuranSearch(this.fetcher);
+ }
+
+ /**
+ * Get the current configuration
+ */
+ public getConfig(): QuranClientConfig {
+ return { ...this.config };
+ }
+
+ /**
+ * Update the configuration
+ */
+ public updateConfig(newConfig: Partial): void {
+ this.config = {
+ ...this.config,
+ ...newConfig,
+ defaults: {
+ ...this.config.defaults,
+ ...newConfig.defaults,
+ },
+ };
+
+ // Update the fetcher with new config
+ this.fetcher.updateConfig(this.config);
+ }
+
+ /**
+ * Clear cached authentication token
+ */
+ public clearCachedToken(): void {
+ this.fetcher.clearCachedToken();
+ }
+}
diff --git a/packages/api/src/sdk/fetcher.ts b/packages/api/src/sdk/fetcher.ts
new file mode 100644
index 0000000..dc22d77
--- /dev/null
+++ b/packages/api/src/sdk/fetcher.ts
@@ -0,0 +1,140 @@
+import type {
+ ApiParams,
+ CachedToken,
+ CustomFetcher,
+ QuranClientConfig,
+ TokenResponse,
+} from "@/types";
+import { retry } from "@/lib/retry";
+import { paramsToString, removeBeginningSlash } from "@/lib/url";
+import humps from "humps";
+
+const { camelizeKeys } = humps;
+
+type Config = Required<
+ Pick
+> &
+ Omit;
+
+/**
+ * Handles HTTP requests with authentication for the Quran API
+ */
+export class QuranFetcher {
+ private cachedToken: CachedToken | null = null;
+
+ constructor(private config: Config) {}
+
+ /**
+ * Update the configuration
+ */
+ updateConfig(config: Config): void {
+ this.config = config;
+ }
+
+ public getFetch(): CustomFetcher {
+ const { fetch: fetchFn } = this.config;
+ const doFetch = fetchFn ?? globalThis.fetch;
+
+ if (typeof doFetch !== "function") {
+ throw new Error(
+ "No fetch function available. Please provide a fetch implementation or ensure global fetch is available.",
+ );
+ }
+
+ return doFetch;
+ }
+
+ private doFetch(...args: Parameters) {
+ const runFetch = this.getFetch();
+ return runFetch(...args);
+ }
+
+ /**
+ * Get access token for API authentication
+ */
+ private async getAccessToken(): Promise {
+ // add 30 seconds to the expiration time to account for clock skew
+ if (this.cachedToken && this.cachedToken.expiresAt > Date.now() + 30_000) {
+ return this.cachedToken.value; // still fresh
+ }
+
+ const { clientId, clientSecret, authBaseUrl } = this.config;
+
+ const auth = btoa(`${clientId}:${clientSecret}`);
+
+ const body = new URLSearchParams({
+ grant_type: "client_credentials",
+ scope: "content",
+ }).toString();
+
+ const res = await retry(
+ () =>
+ this.doFetch(`${authBaseUrl}/oauth2/token`, {
+ method: "POST",
+ headers: {
+ Authorization: `Basic ${auth}`,
+ "Content-Type": "application/x-www-form-urlencoded",
+ Accept: "application/json",
+ },
+ body,
+ }),
+ { retries: 3 },
+ );
+
+ if (!res.ok) {
+ throw new Error(`Token request failed: ${res.statusText}`);
+ }
+
+ const json = (await res.json()) as TokenResponse;
+
+ // Calculate expiration time (current time + expires_in seconds - converted to milliseconds)
+ const expiresAt = Date.now() + json.expires_in * 1000;
+
+ this.cachedToken = {
+ value: json.access_token,
+ expiresAt,
+ };
+
+ return this.cachedToken.value;
+ }
+
+ /**
+ * Clear cached token (useful for testing or forcing re-authentication)
+ */
+ clearCachedToken(): void {
+ this.cachedToken = null;
+ }
+
+ /**
+ * Make URL with base URL and query parameters
+ */
+ private makeUrl(url: string, params?: ApiParams): string {
+ const { contentBaseUrl } = this.config;
+ return `${contentBaseUrl}/${removeBeginningSlash(url)}${paramsToString(params)}`;
+ }
+
+ /**
+ * Make authenticated HTTP request
+ */
+ async fetch(url: string, params?: ApiParams): Promise {
+ const { clientId, defaults } = this.config;
+
+ const token = await this.getAccessToken();
+ const fullUrl = this.makeUrl(url, { ...defaults, ...params });
+
+ const res = await this.doFetch(fullUrl, {
+ headers: {
+ "x-auth-token": token,
+ "x-client-id": clientId,
+ "Content-Type": "application/json",
+ },
+ });
+
+ if (!res.ok || res.status >= 400) {
+ throw new Error(`${res.status} ${res.statusText}`);
+ }
+
+ const json = await res.json();
+ return camelizeKeys(json as object) as T;
+ }
+}
diff --git a/packages/api/src/sdk/juzs.ts b/packages/api/src/sdk/juzs.ts
new file mode 100644
index 0000000..0e4ee9c
--- /dev/null
+++ b/packages/api/src/sdk/juzs.ts
@@ -0,0 +1,23 @@
+import type { Juz } from "@/types";
+
+import type { QuranFetcher } from "./fetcher";
+
+/**
+ * Juzs API methods
+ */
+export class QuranJuzs {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Get All Juzs
+ * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/juzs
+ * @example
+ * client.juzs.findAll()
+ */
+ async findAll(): Promise {
+ const { juzs } = await this.fetcher.fetch<{ juzs: Juz[] }>(
+ "/content/api/v4/juzs",
+ );
+ return juzs;
+ }
+}
diff --git a/packages/api/src/sdk/resources.ts b/packages/api/src/sdk/resources.ts
new file mode 100644
index 0000000..49cd06b
--- /dev/null
+++ b/packages/api/src/sdk/resources.ts
@@ -0,0 +1,207 @@
+import type {
+ BaseApiParams,
+ ChapterInfoResource,
+ ChapterReciterResource,
+ LanguageResource,
+ RecitationInfoResource,
+ RecitationResource,
+ RecitationStylesResource,
+ TafsirInfoResource,
+ TafsirResource,
+ TranslationInfoResource,
+ TranslationResource,
+ VerseMediaResource,
+} from "@/types";
+
+import type { QuranFetcher } from "./fetcher";
+
+type GetResourceOptions = BaseApiParams;
+
+/**
+ * Resources API methods
+ */
+export class QuranResources {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Get all recitations.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllRecitations()
+ */
+ async findAllRecitations(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { recitations } = await this.fetcher.fetch<{
+ recitations: RecitationResource[];
+ }>("/content/api/v4/resources/recitations", options);
+
+ return recitations;
+ }
+
+ /**
+ * Get all translations.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllTranslations()
+ */
+ async findAllTranslations(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { translations } = await this.fetcher.fetch<{
+ translations: TranslationResource[];
+ }>("/content/api/v4/resources/translations", options);
+
+ return translations;
+ }
+
+ /**
+ * Get all tafsirs.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllTafsirs()
+ */
+ async findAllTafsirs(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { tafsirs } = await this.fetcher.fetch<{
+ tafsirs: TafsirResource[];
+ }>("/content/api/v4/resources/tafsirs", options);
+
+ return tafsirs;
+ }
+
+ /**
+ * Get all languages.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllLanguages()
+ */
+ async findAllLanguages(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { languages } = await this.fetcher.fetch<{
+ languages: LanguageResource[];
+ }>("/content/api/v4/resources/languages", options);
+
+ return languages;
+ }
+
+ /**
+ * Get recitation info by id.
+ * @param {string} id recitation id
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findRecitationInfo('1')
+ */
+ async findRecitationInfo(
+ id: string,
+ options?: GetResourceOptions,
+ ): Promise {
+ const { recitationInfo } = await this.fetcher.fetch<{
+ recitationInfo: RecitationInfoResource;
+ }>(`/content/api/v4/resources/recitations/${id}/info`, options);
+
+ return recitationInfo;
+ }
+
+ /**
+ * Get translation info by id.
+ * @param {string} id translation id
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findTranslationInfo('131')
+ */
+ async findTranslationInfo(
+ id: string,
+ options?: GetResourceOptions,
+ ): Promise {
+ const { translationInfo } = await this.fetcher.fetch<{
+ translationInfo: TranslationInfoResource;
+ }>(`/content/api/v4/resources/translations/${id}/info`, options);
+
+ return translationInfo;
+ }
+
+ /**
+ * Get tafsir info by id.
+ * @param {string} id tafsir id
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findTafsirInfo('171')
+ */
+ async findTafsirInfo(
+ id: string,
+ options?: GetResourceOptions,
+ ): Promise {
+ const { tafsirInfo } = await this.fetcher.fetch<{
+ tafsirInfo: TafsirInfoResource;
+ }>(`/content/api/v4/resources/tafsirs/${id}/info`, options);
+
+ return tafsirInfo;
+ }
+
+ /**
+ * Get all chapter infos.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllChapterInfos()
+ */
+ async findAllChapterInfos(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { chapterInfos } = await this.fetcher.fetch<{
+ chapterInfos: ChapterInfoResource[];
+ }>("/content/api/v4/resources/chapter_infos", options);
+
+ return chapterInfos;
+ }
+
+ /**
+ * Get all chapter reciters.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllChapterReciters()
+ */
+ async findAllChapterReciters(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { reciters } = await this.fetcher.fetch<{
+ reciters: ChapterReciterResource[];
+ }>("/content/api/v4/resources/chapter_reciters", options);
+
+ return reciters;
+ }
+
+ /**
+ * Get all recitation styles.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findAllRecitationStyles()
+ */
+ async findAllRecitationStyles(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { recitationStyles } = await this.fetcher.fetch<{
+ recitationStyles: RecitationStylesResource;
+ }>("/content/api/v4/resources/recitation_styles", options);
+
+ return recitationStyles;
+ }
+
+ /**
+ * Get verse media.
+ * @param {GetResourceOptions} options
+ * @example
+ * client.resources.findVerseMedia()
+ */
+ async findVerseMedia(
+ options?: GetResourceOptions,
+ ): Promise {
+ const { verseMedia } = await this.fetcher.fetch<{
+ verseMedia: VerseMediaResource;
+ }>("/content/api/v4/resources/verse_media", options);
+
+ return verseMedia;
+ }
+}
diff --git a/packages/api/src/sdk/search.ts b/packages/api/src/sdk/search.ts
new file mode 100644
index 0000000..89d0bea
--- /dev/null
+++ b/packages/api/src/sdk/search.ts
@@ -0,0 +1,39 @@
+import type { SearchParams, SearchResponse } from "@/types";
+
+import type { QuranFetcher } from "./fetcher";
+
+type SearchOptions = SearchParams;
+
+/**
+ * Search API methods
+ */
+export class QuranSearch {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Search
+ * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/search
+ * @param {string} q search query
+ * @param {SearchOptions} options
+ * @example
+ * client.search.search('نور')
+ * client.search.search('نور', { language: Language.ENGLISH })
+ * client.search.search('نور', { language: Language.ENGLISH, size: 10 })
+ * client.search.search('نور', { language: Language.ENGLISH, page: 2 })
+ */
+ async search(
+ q: string,
+ options?: SearchOptions,
+ ): Promise {
+ const { search } = await this.fetcher.fetch(
+ "/content/api/v4/search",
+ {
+ q,
+ size: 30, // search-specific default
+ ...options,
+ },
+ );
+
+ return search;
+ }
+}
diff --git a/packages/api/src/sdk/verses.ts b/packages/api/src/sdk/verses.ts
new file mode 100644
index 0000000..4d030b9
--- /dev/null
+++ b/packages/api/src/sdk/verses.ts
@@ -0,0 +1,196 @@
+import type {
+ BaseApiParams,
+ ChapterId,
+ HizbNumber,
+ JuzNumber,
+ PageNumber,
+ PaginationParams,
+ RubNumber,
+ TranslationField,
+ Verse,
+ VerseField,
+ VerseKey,
+ WordField,
+} from "@/types";
+import {
+ isValidChapterId,
+ isValidHizb,
+ isValidJuz,
+ isValidQuranPage,
+ isValidRub,
+ isValidVerseKey,
+} from "@/utils";
+
+import type { QuranFetcher } from "./fetcher";
+
+type GetVerseOptions = BaseApiParams &
+ PaginationParams & {
+ reciter?: string | number;
+ words?: boolean;
+ translations?: string[] | number[];
+ tafsirs?: string[] | number[];
+ wordFields?: Partial>;
+ translationFields?: Partial>;
+ fields?: Partial>;
+ };
+
+/**
+ * Verses API methods
+ */
+export class QuranVerses {
+ constructor(private fetcher: QuranFetcher) {}
+
+ /**
+ * Get a specific verse by its key.
+ * @param {VerseKey} key verse key in format "chapter:verse" (e.g., "1:1")
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByKey('1:1')
+ * client.verses.findByKey('2:255')
+ */
+ async findByKey(key: VerseKey, options?: GetVerseOptions): Promise {
+ if (!isValidVerseKey(key)) throw new Error("Invalid verse key");
+
+ const { verse } = await this.fetcher.fetch<{ verse: Verse }>(
+ `/content/api/v4/verses/by_key/${key}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verse;
+ }
+
+ /**
+ * Get verses by chapter.
+ * @param {ChapterId} id chapter id, minimum 1, maximum 114
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByChapter('1')
+ */
+ async findByChapter(
+ id: ChapterId,
+ options?: GetVerseOptions,
+ ): Promise {
+ if (!isValidChapterId(id)) throw new Error("Invalid chapter id");
+
+ const { verses } = await this.fetcher.fetch<{ verses: Verse[] }>(
+ `/content/api/v4/verses/by_chapter/${id}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verses;
+ }
+
+ /**
+ * Get verses by page number.
+ * @param {PageNumber} page page number
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByPage('1')
+ */
+ async findByPage(
+ page: PageNumber,
+ options?: GetVerseOptions,
+ ): Promise {
+ if (!isValidQuranPage(page)) throw new Error("Invalid page number");
+
+ const { verses } = await this.fetcher.fetch<{ verses: Verse[] }>(
+ `/content/api/v4/verses/by_page/${page}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verses;
+ }
+
+ /**
+ * Get verses by juz number.
+ * @param {JuzNumber} juz juz number
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByJuz('1')
+ */
+ async findByJuz(juz: JuzNumber, options?: GetVerseOptions): Promise {
+ if (!isValidJuz(juz)) throw new Error("Invalid juz");
+
+ const { verses } = await this.fetcher.fetch<{ verses: Verse[] }>(
+ `/content/api/v4/verses/by_juz/${juz}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verses;
+ }
+
+ /**
+ * Get verses by hizb number.
+ * @param {HizbNumber} hizb hizb number
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByHizb('1')
+ */
+ async findByHizb(
+ hizb: HizbNumber,
+ options?: GetVerseOptions,
+ ): Promise {
+ if (!isValidHizb(hizb)) throw new Error("Invalid hizb");
+
+ const { verses } = await this.fetcher.fetch<{ verses: Verse[] }>(
+ `/content/api/v4/verses/by_hizb/${hizb}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verses;
+ }
+
+ /**
+ * Get verses by rub number.
+ * @param {RubNumber} rub rub number
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findByRub('1')
+ */
+ async findByRub(rub: RubNumber, options?: GetVerseOptions): Promise {
+ if (!isValidRub(rub)) throw new Error("Invalid rub");
+
+ const { verses } = await this.fetcher.fetch<{ verses: Verse[] }>(
+ `/content/api/v4/verses/by_rub/${rub}`,
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verses;
+ }
+
+ /**
+ * Get a random verse.
+ * @param {GetVerseOptions} options
+ * @example
+ * client.verses.findRandom()
+ */
+ async findRandom(options?: GetVerseOptions): Promise {
+ const { verse } = await this.fetcher.fetch<{ verse: Verse }>(
+ "/content/api/v4/verses/random",
+ {
+ words: false, // verses-specific default
+ ...options,
+ },
+ );
+
+ return verse;
+ }
+}
diff --git a/packages/api/src/types/BaseApiOptions.ts b/packages/api/src/types/BaseApiOptions.ts
new file mode 100644
index 0000000..c075c21
--- /dev/null
+++ b/packages/api/src/types/BaseApiOptions.ts
@@ -0,0 +1,6 @@
+import type { CustomFetcher, Language } from ".";
+
+export interface BaseApiOptions {
+ language: Language;
+ fetchFn?: CustomFetcher;
+}
diff --git a/packages/api/src/types/BaseApiParams.ts b/packages/api/src/types/BaseApiParams.ts
new file mode 100644
index 0000000..02b7cf3
--- /dev/null
+++ b/packages/api/src/types/BaseApiParams.ts
@@ -0,0 +1,34 @@
+import type { Language } from ".";
+
+export type ApiParams = Record<
+ string,
+ string | number | boolean | unknown[] | undefined | Record
+>;
+
+/**
+ * Base parameters that are common across most API endpoints
+ */
+export interface BaseApiParams extends ApiParams {
+ /** Language for the response */
+ language?: Language;
+}
+
+/**
+ * Pagination parameters
+ */
+export interface PaginationParams extends ApiParams {
+ /** Page number for pagination */
+ page?: number;
+ /** Number of items per page */
+ perPage?: number;
+}
+
+/**
+ * Search parameters
+ */
+export interface SearchParams extends BaseApiParams {
+ /** Number of results to return */
+ size?: number;
+ /** Page number for pagination */
+ page?: number;
+}
diff --git a/src/types/api/ApiResponses.ts b/packages/api/src/types/api/ApiResponses.ts
similarity index 79%
rename from src/types/api/ApiResponses.ts
rename to packages/api/src/types/api/ApiResponses.ts
index 3082cb9..7049e91 100644
--- a/src/types/api/ApiResponses.ts
+++ b/packages/api/src/types/api/ApiResponses.ts
@@ -1,5 +1,5 @@
-import { Translation } from './Translation';
-import { Word } from './Word';
+import type { Translation } from "./Translation";
+import type { Word } from "./Word";
export interface SearchResponse {
search: {
diff --git a/src/types/api/AudioData.ts b/packages/api/src/types/api/AudioData.ts
similarity index 75%
rename from src/types/api/AudioData.ts
rename to packages/api/src/types/api/AudioData.ts
index d195773..988a3b5 100644
--- a/src/types/api/AudioData.ts
+++ b/packages/api/src/types/api/AudioData.ts
@@ -1,5 +1,5 @@
-import { VerseKey } from '../VerseKey';
-import { Segment } from './Segment';
+import type { VerseKey } from "../common/verse-key";
+import type { Segment } from "./Segment";
export interface ChapterRecitation {
id: number;
diff --git a/src/types/api/AudioResponse.ts b/packages/api/src/types/api/AudioResponse.ts
similarity index 76%
rename from src/types/api/AudioResponse.ts
rename to packages/api/src/types/api/AudioResponse.ts
index 5e46d3f..7e8225e 100644
--- a/src/types/api/AudioResponse.ts
+++ b/packages/api/src/types/api/AudioResponse.ts
@@ -1,4 +1,4 @@
-import { Segment } from './Segment';
+import type { Segment } from "./Segment";
export interface AudioResponse {
url?: string;
diff --git a/src/types/api/Chapter.ts b/packages/api/src/types/api/Chapter.ts
similarity index 84%
rename from src/types/api/Chapter.ts
rename to packages/api/src/types/api/Chapter.ts
index 5bfe2e9..2d01d21 100644
--- a/src/types/api/Chapter.ts
+++ b/packages/api/src/types/api/Chapter.ts
@@ -1,4 +1,4 @@
-import { TranslatedName } from './TranslatedName';
+import type { TranslatedName } from "./TranslatedName";
export interface Chapter {
id: number;
diff --git a/src/types/api/ChapterInfo.ts b/packages/api/src/types/api/ChapterInfo.ts
similarity index 100%
rename from src/types/api/ChapterInfo.ts
rename to packages/api/src/types/api/ChapterInfo.ts
diff --git a/src/types/api/Footnote.ts b/packages/api/src/types/api/Footnote.ts
similarity index 100%
rename from src/types/api/Footnote.ts
rename to packages/api/src/types/api/Footnote.ts
diff --git a/src/types/api/Juz.ts b/packages/api/src/types/api/Juz.ts
similarity index 100%
rename from src/types/api/Juz.ts
rename to packages/api/src/types/api/Juz.ts
diff --git a/src/types/api/Pagination.ts b/packages/api/src/types/api/Pagination.ts
similarity index 100%
rename from src/types/api/Pagination.ts
rename to packages/api/src/types/api/Pagination.ts
diff --git a/src/types/api/Reciter.ts b/packages/api/src/types/api/Reciter.ts
similarity index 100%
rename from src/types/api/Reciter.ts
rename to packages/api/src/types/api/Reciter.ts
diff --git a/src/types/api/Resources.ts b/packages/api/src/types/api/Resources.ts
similarity index 96%
rename from src/types/api/Resources.ts
rename to packages/api/src/types/api/Resources.ts
index 5b3155e..c3de2a0 100644
--- a/src/types/api/Resources.ts
+++ b/packages/api/src/types/api/Resources.ts
@@ -1,4 +1,4 @@
-import { TranslatedName } from './TranslatedName';
+import type { TranslatedName } from "./TranslatedName";
export interface RecitationResource {
id?: number;
diff --git a/src/types/api/Segment.ts b/packages/api/src/types/api/Segment.ts
similarity index 100%
rename from src/types/api/Segment.ts
rename to packages/api/src/types/api/Segment.ts
diff --git a/src/types/api/Tafsir.ts b/packages/api/src/types/api/Tafsir.ts
similarity index 100%
rename from src/types/api/Tafsir.ts
rename to packages/api/src/types/api/Tafsir.ts
diff --git a/src/types/api/TafsirInfo.ts b/packages/api/src/types/api/TafsirInfo.ts
similarity index 74%
rename from src/types/api/TafsirInfo.ts
rename to packages/api/src/types/api/TafsirInfo.ts
index 311af96..e9d9d2a 100644
--- a/src/types/api/TafsirInfo.ts
+++ b/packages/api/src/types/api/TafsirInfo.ts
@@ -1,4 +1,4 @@
-import { TranslatedName } from './TranslatedName';
+import type { TranslatedName } from "./TranslatedName";
export interface TafsirInfo {
id?: number;
diff --git a/src/types/api/TranslatedName.ts b/packages/api/src/types/api/TranslatedName.ts
similarity index 100%
rename from src/types/api/TranslatedName.ts
rename to packages/api/src/types/api/TranslatedName.ts
diff --git a/src/types/api/Translation.ts b/packages/api/src/types/api/Translation.ts
similarity index 86%
rename from src/types/api/Translation.ts
rename to packages/api/src/types/api/Translation.ts
index cd4f7e2..cdfc6dc 100644
--- a/src/types/api/Translation.ts
+++ b/packages/api/src/types/api/Translation.ts
@@ -1,4 +1,4 @@
-import { VerseKey } from '../VerseKey';
+import type { VerseKey } from "../common/verse-key";
export interface Translation {
id?: number;
diff --git a/src/types/api/Transliteration.ts b/packages/api/src/types/api/Transliteration.ts
similarity index 100%
rename from src/types/api/Transliteration.ts
rename to packages/api/src/types/api/Transliteration.ts
diff --git a/src/types/api/Verse.ts b/packages/api/src/types/api/Verse.ts
similarity index 74%
rename from src/types/api/Verse.ts
rename to packages/api/src/types/api/Verse.ts
index 8b67e1a..d2addd3 100644
--- a/src/types/api/Verse.ts
+++ b/packages/api/src/types/api/Verse.ts
@@ -1,8 +1,8 @@
-import { VerseKey } from '../VerseKey';
-import { AudioResponse } from './AudioResponse';
-import { Tafsir } from './Tafsir';
-import { Translation } from './Translation';
-import { Word } from './Word';
+import type { VerseKey } from "../common/verse-key";
+import type { AudioResponse } from "./AudioResponse";
+import type { Tafsir } from "./Tafsir";
+import type { Translation } from "./Translation";
+import type { Word } from "./Word";
export interface Verse {
id: number;
diff --git a/src/types/api/Word.ts b/packages/api/src/types/api/Word.ts
similarity index 62%
rename from src/types/api/Word.ts
rename to packages/api/src/types/api/Word.ts
index 9258f21..20e654a 100644
--- a/src/types/api/Word.ts
+++ b/packages/api/src/types/api/Word.ts
@@ -1,13 +1,13 @@
-import { VerseKey } from '../VerseKey';
-import { Translation } from './Translation';
-import { Transliteration } from './Transliteration';
+import type { VerseKey } from "../common/verse-key";
+import type { Translation } from "./Translation";
+import type { Transliteration } from "./Transliteration";
export enum CharType {
- Word = 'word',
- End = 'end',
- Pause = 'pause',
- Sajdah = 'sajdah',
- RubElHizb = 'rub-el-hizb',
+ Word = "word",
+ End = "end",
+ Pause = "pause",
+ Sajdah = "sajdah",
+ RubElHizb = "rub-el-hizb",
}
export interface Word {
diff --git a/src/types/api/index.ts b/packages/api/src/types/api/index.ts
similarity index 94%
rename from src/types/api/index.ts
rename to packages/api/src/types/api/index.ts
index bd56a5e..ced9d6d 100644
--- a/src/types/api/index.ts
+++ b/packages/api/src/types/api/index.ts
@@ -16,3 +16,4 @@ export * from './Word';
export * from './Juz';
export * from './Pagination';
export * from './Resources';
+export * from './search-result';
diff --git a/packages/api/src/types/api/search-result.ts b/packages/api/src/types/api/search-result.ts
new file mode 100644
index 0000000..0524d7c
--- /dev/null
+++ b/packages/api/src/types/api/search-result.ts
@@ -0,0 +1,12 @@
+import type { VerseKey } from "../common/verse-key";
+import type { Translation } from "./Translation";
+import type { Word } from "./Word";
+
+export interface SearchResult {
+ verseKey: VerseKey;
+ verseId: number;
+ text: string;
+ highlighted?: string;
+ words: Word[];
+ translations: Translation[];
+}
diff --git a/packages/api/src/types/common/chapter-id.ts b/packages/api/src/types/common/chapter-id.ts
new file mode 100644
index 0000000..51be2c5
--- /dev/null
+++ b/packages/api/src/types/common/chapter-id.ts
@@ -0,0 +1,7 @@
+import type { versesMapping } from "@/utils/verses-mapping";
+
+import type { NumberUnionToString } from "../utils";
+
+export type ChapterId =
+ | keyof typeof versesMapping
+ | NumberUnionToString;
diff --git a/src/types/HizbNumber.ts b/packages/api/src/types/common/hizb-number.ts
similarity index 63%
rename from src/types/HizbNumber.ts
rename to packages/api/src/types/common/hizb-number.ts
index a84b8f9..ed73b58 100644
--- a/src/types/HizbNumber.ts
+++ b/packages/api/src/types/common/hizb-number.ts
@@ -1,4 +1,4 @@
-import { NumberRange, NumberUnionToString } from './utils';
+import type { NumberRange, NumberUnionToString } from "../utils";
type _HizbNumber = NumberRange<1, 61>;
export type HizbNumber = _HizbNumber | NumberUnionToString<_HizbNumber>;
diff --git a/src/types/JuzNumber.ts b/packages/api/src/types/common/juz-number.ts
similarity index 62%
rename from src/types/JuzNumber.ts
rename to packages/api/src/types/common/juz-number.ts
index edc52ea..cdf4a4b 100644
--- a/src/types/JuzNumber.ts
+++ b/packages/api/src/types/common/juz-number.ts
@@ -1,4 +1,4 @@
-import { NumberRange, NumberUnionToString } from './utils';
+import type { NumberRange, NumberUnionToString } from "../utils";
type _JuzNumber = NumberRange<1, 31>;
export type JuzNumber = _JuzNumber | NumberUnionToString<_JuzNumber>;
diff --git a/src/types/PageNumber.ts b/packages/api/src/types/common/page-number.ts
similarity index 63%
rename from src/types/PageNumber.ts
rename to packages/api/src/types/common/page-number.ts
index 5706548..290a2ad 100644
--- a/src/types/PageNumber.ts
+++ b/packages/api/src/types/common/page-number.ts
@@ -1,4 +1,4 @@
-import { NumberRange, NumberUnionToString } from './utils';
+import type { NumberRange, NumberUnionToString } from "../utils";
type _PageNumber = NumberRange<1, 605>;
export type PageNumber = _PageNumber | NumberUnionToString<_PageNumber>;
diff --git a/src/types/RubNumber.ts b/packages/api/src/types/common/rub-number.ts
similarity index 62%
rename from src/types/RubNumber.ts
rename to packages/api/src/types/common/rub-number.ts
index 47fe902..3029039 100644
--- a/src/types/RubNumber.ts
+++ b/packages/api/src/types/common/rub-number.ts
@@ -1,4 +1,4 @@
-import { NumberRange, NumberUnionToString } from './utils';
+import type { NumberRange, NumberUnionToString } from "../utils";
type _RubNumber = NumberRange<1, 241>;
export type RubNumber = _RubNumber | NumberUnionToString<_RubNumber>;
diff --git a/packages/api/src/types/common/verse-key.ts b/packages/api/src/types/common/verse-key.ts
new file mode 100644
index 0000000..af807f4
--- /dev/null
+++ b/packages/api/src/types/common/verse-key.ts
@@ -0,0 +1,16 @@
+import type { versesMapping } from "@/utils/verses-mapping";
+
+import type { Increment, NumberRange } from "../utils";
+
+/**
+ * A `VerseKey` is a string literal in the form `${chapter}:${verse}` where:
+ * - `chapter` is a valid chapter id from `versesMapping`
+ * - `verse` is within the range 1..(verseCount for that chapter)
+ */
+export type VerseKey = {
+ [TChapter in keyof typeof versesMapping]: `${TChapter}:${NumberRange<
+ 1,
+ // @ts-expect-error - we are using the versesMapping type
+ Increment<(typeof versesMapping)[TChapter]>
+ >}`;
+}[keyof typeof versesMapping];
diff --git a/packages/api/src/types/index.ts b/packages/api/src/types/index.ts
new file mode 100644
index 0000000..05784e7
--- /dev/null
+++ b/packages/api/src/types/index.ts
@@ -0,0 +1,127 @@
+export enum Language {
+ ARABIC = "ar",
+ ENGLISH = "en",
+ URDU = "ur",
+ BENGALI = "bn",
+ TURKISH = "tr",
+ SPANISH = "es",
+ GERMAN = "de",
+ BOSNIAN = "bs",
+ RUSSIAN = "ru",
+ ALBANIAN_AL = "al",
+ FRENCH = "fr",
+ DUTCH = "nl",
+ TAMIL = "ta",
+ TAJIK = "tg",
+ INDONESIAN = "id",
+ UZBEK = "uz",
+ VIETNAMESE = "vi",
+ CHINESE = "zh",
+ ITALIAN = "it",
+ JAPANESE = "ja",
+ MALAYALAM = "ml",
+ AMHARIC = "am",
+ KAZAKH = "kk",
+ PORTUGUESE = "pt",
+ TAGALOG = "tl",
+ THAI = "th",
+ KOREAN = "ko",
+ HINDI = "hi",
+ KURDISH = "ku",
+ HAUSA = "ha",
+ AZERI = "az",
+ SWAHILI = "sw",
+ PERSIAN = "fa",
+ SERBIAN = "sr",
+ MARANAO = "mrn",
+ AMAZIGH = "zgh",
+ ASSAMESE = "as",
+ BULGARIAN = "bg",
+ CHECHEN = "ce",
+ CZECH = "cs",
+ DIVEHI = "dv",
+ FINNISH = "fi",
+ GUJAARATI = "gu",
+ HEBREW = "he",
+ GEORGIAN = "ka",
+ CENTRAL_KHMER = "km",
+ GANDA = "lg",
+ MARATHI = "mr",
+ YORUBA = "yo",
+ MALAY = "ms",
+ NEPALI = "ne",
+ SWEDISH = "sv",
+ TELUGU = "te",
+ TATAR = "tt",
+ UYGHUR = "ug",
+ UKRAINIAN = "uk",
+ NORWEGIAN = "no",
+ OROMO = "om",
+ POLISH = "pl",
+ PASHTO = "ps",
+ ROMANIAN = "ro",
+ SINDHI = "sd",
+ NORTHERN_SAMI = "se",
+ SINHALA = "si",
+ SOMALI = "so",
+ ALBANIAN_SQ = "sq",
+}
+
+export enum QuranFont {
+ MadaniV1 = "code_v1",
+ MadaniV2 = "code_v2",
+ Uthmani = "text_uthmani",
+}
+
+export type VerseField =
+ | "chapterId"
+ | "textUthmani"
+ | "textUthmaniSimple"
+ | "textImlaei"
+ | "textImlaeiSimple"
+ | "textIndopak"
+ | "textIndopakNastaleeq"
+ | "textUthmaniTajweed"
+ | "imageUrl"
+ | "imageWidth"
+ | "codeV1"
+ | "codeV2"
+ | "v1Page"
+ | "v2Page";
+
+export type WordField =
+ | "v1Page"
+ | "v2Page"
+ | "textUthmani"
+ | "textImlaei"
+ | "textIndopak"
+ | "verseKey"
+ | "location"
+ | "codeV1"
+ | "codeV2";
+
+export type TranslationField =
+ | "resourceName"
+ | "verseId"
+ | "languageId"
+ | "languageName"
+ | "verseKey"
+ | "chapterId"
+ | "verseNumber"
+ | "juzNumber"
+ | "hizbNumber"
+ | "rubNumber"
+ | "pageNumber";
+
+export type VerseRecitationField = "id" | "chapterId" | "segments" | "format";
+
+export * from "./common/verse-key";
+export * from "./common/chapter-id";
+export * from "./common/hizb-number";
+export * from "./common/juz-number";
+export * from "./common/page-number";
+export * from "./common/rub-number";
+
+export * from "./api";
+export * from "./BaseApiParams";
+export * from "./quran-client";
diff --git a/packages/api/src/types/quran-client.ts b/packages/api/src/types/quran-client.ts
new file mode 100644
index 0000000..438b03e
--- /dev/null
+++ b/packages/api/src/types/quran-client.ts
@@ -0,0 +1,34 @@
+import type { BaseApiParams } from "./BaseApiParams";
+
+/**
+ * Custom fetcher function type that matches the native fetch API
+ */
+export type CustomFetcher = typeof fetch;
+
+export interface QuranClientConfig {
+ /** Client ID for authentication */
+ clientId: string;
+ /** Client secret for authentication */
+ clientSecret: string;
+
+ /** Base URL for content APIs */
+ contentBaseUrl?: string;
+ /** Base URL for authentication */
+ authBaseUrl?: string;
+
+ /** Custom fetch implementation */
+ fetch?: CustomFetcher;
+
+ /** Default parameters for all API calls */
+ defaults?: Partial;
+}
+
+export interface CachedToken {
+ value: string;
+ expiresAt: number;
+}
+
+export interface TokenResponse {
+ access_token: string;
+ expires_in: number;
+}
diff --git a/packages/api/src/types/utils.ts b/packages/api/src/types/utils.ts
new file mode 100644
index 0000000..ef53c2d
--- /dev/null
+++ b/packages/api/src/types/utils.ts
@@ -0,0 +1,47 @@
+type _NumbersFrom0ToN = Nr extends Nr
+ ? number extends Nr
+ ? number
+ : Nr extends 0
+ ? never
+ : _NumbersFrom0ToNRec
+ : never;
+
+type _NumbersFrom0ToNRec<
+ Nr extends number,
+ Counter extends unknown[],
+ Accumulator extends number,
+> = Counter["length"] extends Nr
+ ? Accumulator
+ : _NumbersFrom0ToNRec<
+ Nr,
+ [unknown, ...Counter],
+ Accumulator | Counter["length"]
+ >;
+
+export type NumberRange = Exclude<
+ _NumbersFrom0ToN,
+ _NumbersFrom0ToN
+>;
+
+export type NumberUnionToString = TType extends number
+ ? `${TType}`
+ : TType;
+
+/**
+ * Builds a tuple with a length equal to the provided number literal.
+ * Used for type-level arithmetic.
+ */
+type BuildTuple<
+ TLength extends number,
+ TAccumulator extends unknown[] = [],
+> = TAccumulator["length"] extends TLength
+ ? TAccumulator
+ : BuildTuple;
+
+/**
+ * Increments a numeric literal type by 1.
+ */
+export type Increment = [
+ ...BuildTuple,
+ unknown,
+]["length"];
diff --git a/packages/api/src/utils/index.ts b/packages/api/src/utils/index.ts
new file mode 100644
index 0000000..27818f5
--- /dev/null
+++ b/packages/api/src/utils/index.ts
@@ -0,0 +1,6 @@
+export { isValidChapterId } from "./is-valid-chapter-id";
+export { isValidJuz } from "./is-valid-juz";
+export { isValidRub } from "./is-valid-rub";
+export { isValidHizb } from "./is-valid-hizb";
+export { isValidQuranPage } from "./is-valid-quran-page";
+export { isValidVerseKey } from "./is-valid-verse-key";
diff --git a/packages/api/src/utils/is-valid-chapter-id.ts b/packages/api/src/utils/is-valid-chapter-id.ts
new file mode 100644
index 0000000..7645195
--- /dev/null
+++ b/packages/api/src/utils/is-valid-chapter-id.ts
@@ -0,0 +1,17 @@
+import type { ChapterId } from "../types";
+
+/**
+ * Validates chapter id
+ * @param id chapter id
+ * @example
+ * isValidChapterId('1') // true
+ * isValidChapterId('114') // true
+ * isValidChapterId('0') // false
+ * isValidChapterId('-1') // false
+ * isValidChapterId('200') // false
+ */
+export const isValidChapterId = (id: string | number): id is ChapterId => {
+ const parsedId = typeof id === "number" ? id : Number(id);
+ if (!parsedId || parsedId <= 0 || parsedId > 114) return false;
+ return true;
+};
diff --git a/packages/api/src/utils/is-valid-hizb.ts b/packages/api/src/utils/is-valid-hizb.ts
new file mode 100644
index 0000000..6330663
--- /dev/null
+++ b/packages/api/src/utils/is-valid-hizb.ts
@@ -0,0 +1,17 @@
+import type { HizbNumber } from "../types";
+
+/**
+ * Validates hizb number
+ * @param hizb hizb number
+ * @example
+ * isValidHizb('1') // true
+ * isValidHizb('60') // true
+ * isValidHizb('0') // false
+ * isValidHizb('-1') // false
+ * isValidHizb('200') // false
+ */
+export const isValidHizb = (hizb: string | number): hizb is HizbNumber => {
+ const parsedHizb = typeof hizb === "number" ? hizb : Number(hizb);
+ if (!parsedHizb || parsedHizb <= 0 || parsedHizb > 60) return false;
+ return true;
+};
diff --git a/packages/api/src/utils/is-valid-juz.ts b/packages/api/src/utils/is-valid-juz.ts
new file mode 100644
index 0000000..c28cc07
--- /dev/null
+++ b/packages/api/src/utils/is-valid-juz.ts
@@ -0,0 +1,17 @@
+import type { JuzNumber } from "../types";
+
+/**
+ * Validates juz number
+ * @param juz juz number
+ * @example
+ * isValidJuz('1') // true
+ * isValidJuz('30') // true
+ * isValidJuz('0') // false
+ * isValidJuz('-1') // false
+ * isValidJuz('200') // false
+ */
+export const isValidJuz = (juz: string | number): juz is JuzNumber => {
+ const parsedJuz = typeof juz === "number" ? juz : Number(juz);
+ if (!parsedJuz || parsedJuz <= 0 || parsedJuz > 30) return false;
+ return true;
+};
diff --git a/packages/api/src/utils/is-valid-quran-page.ts b/packages/api/src/utils/is-valid-quran-page.ts
new file mode 100644
index 0000000..012076a
--- /dev/null
+++ b/packages/api/src/utils/is-valid-quran-page.ts
@@ -0,0 +1,17 @@
+import type { PageNumber } from "../types";
+
+/**
+ * Validates mushaf page number
+ * @param page mushaf page number
+ * @example
+ * isValidQuranPage('1') // true
+ * isValidQuranPage('604') // true
+ * isValidQuranPage('0') // false
+ * isValidQuranPage('-1') // false
+ * isValidQuranPage('1000') // false
+ */
+export const isValidQuranPage = (page: string | number): page is PageNumber => {
+ const parsedPage = typeof page === "number" ? page : Number(page);
+ if (!parsedPage || parsedPage <= 0 || parsedPage > 604) return false;
+ return true;
+};
diff --git a/packages/api/src/utils/is-valid-rub.ts b/packages/api/src/utils/is-valid-rub.ts
new file mode 100644
index 0000000..14755d0
--- /dev/null
+++ b/packages/api/src/utils/is-valid-rub.ts
@@ -0,0 +1,17 @@
+import type { RubNumber } from "../types";
+
+/**
+ * Validates rub number
+ * @param rub rub number
+ * @example
+ * isValidRub('1') // true
+ * isValidRub('240') // true
+ * isValidRub('0') // false
+ * isValidRub('-1') // false
+ * isValidRub('300') // false
+ */
+export const isValidRub = (rub: string | number): rub is RubNumber => {
+ const parsedRub = typeof rub === "number" ? rub : Number(rub);
+ if (!parsedRub || parsedRub <= 0 || parsedRub > 240) return false;
+ return true;
+};
diff --git a/packages/api/src/utils/is-valid-verse-key.ts b/packages/api/src/utils/is-valid-verse-key.ts
new file mode 100644
index 0000000..f6c7ac9
--- /dev/null
+++ b/packages/api/src/utils/is-valid-verse-key.ts
@@ -0,0 +1,25 @@
+import type { ChapterId, VerseKey } from "../types";
+import { isValidChapterId } from "./is-valid-chapter-id";
+import { versesMapping } from "./verses-mapping";
+
+/**
+ * Validates verse key
+ * @param key colon separated verse key (chapter:verse)
+ * @example
+ * isValidVerseKey('1:1') // true
+ * isValidVerseKey('30:1') // true
+ * isValidVerseKey('0') // false
+ * isValidVerseKey('1:-') // false
+ * isValidVerseKey('1_1') // false
+ */
+export const isValidVerseKey = (key: string): key is VerseKey => {
+ const [chapterId, verseId] = key.trim().split(":");
+ if (!chapterId || !verseId || !isValidChapterId(chapterId)) return false;
+
+ const parsedVerse = Number(verseId);
+ const verseCount = versesMapping[chapterId as ChapterId];
+ if (!parsedVerse || parsedVerse <= 0 || parsedVerse > verseCount)
+ return false;
+
+ return true;
+};
diff --git a/packages/api/src/utils/verses-mapping.ts b/packages/api/src/utils/verses-mapping.ts
new file mode 100644
index 0000000..c2eaf92
--- /dev/null
+++ b/packages/api/src/utils/verses-mapping.ts
@@ -0,0 +1,119 @@
+/**
+ * Maps chapter number to verse count
+ */
+export const versesMapping = {
+ 1: 7,
+ 2: 286,
+ 3: 200,
+ 4: 176,
+ 5: 120,
+ 6: 165,
+ 7: 206,
+ 8: 75,
+ 9: 129,
+ 10: 109,
+ 11: 123,
+ 12: 111,
+ 13: 43,
+ 14: 52,
+ 15: 99,
+ 16: 128,
+ 17: 111,
+ 18: 110,
+ 19: 98,
+ 20: 135,
+ 21: 112,
+ 22: 78,
+ 23: 118,
+ 24: 64,
+ 25: 77,
+ 26: 227,
+ 27: 93,
+ 28: 88,
+ 29: 69,
+ 30: 60,
+ 31: 34,
+ 32: 30,
+ 33: 73,
+ 34: 54,
+ 35: 45,
+ 36: 83,
+ 37: 182,
+ 38: 88,
+ 39: 75,
+ 40: 85,
+ 41: 54,
+ 42: 53,
+ 43: 89,
+ 44: 59,
+ 45: 37,
+ 46: 35,
+ 47: 38,
+ 48: 29,
+ 49: 18,
+ 50: 45,
+ 51: 60,
+ 52: 49,
+ 53: 62,
+ 54: 55,
+ 55: 78,
+ 56: 96,
+ 57: 29,
+ 58: 22,
+ 59: 24,
+ 60: 13,
+ 61: 14,
+ 62: 11,
+ 63: 11,
+ 64: 18,
+ 65: 12,
+ 66: 12,
+ 67: 30,
+ 68: 52,
+ 69: 52,
+ 70: 44,
+ 71: 28,
+ 72: 28,
+ 73: 20,
+ 74: 56,
+ 75: 40,
+ 76: 31,
+ 77: 50,
+ 78: 40,
+ 79: 46,
+ 80: 42,
+ 81: 29,
+ 82: 19,
+ 83: 36,
+ 84: 25,
+ 85: 22,
+ 86: 17,
+ 87: 19,
+ 88: 26,
+ 89: 30,
+ 90: 20,
+ 91: 15,
+ 92: 21,
+ 93: 11,
+ 94: 8,
+ 95: 8,
+ 96: 19,
+ 97: 5,
+ 98: 8,
+ 99: 8,
+ 100: 11,
+ 101: 11,
+ 102: 8,
+ 103: 3,
+ 104: 9,
+ 105: 5,
+ 106: 4,
+ 107: 7,
+ 108: 3,
+ 109: 6,
+ 110: 3,
+ 111: 5,
+ 112: 4,
+ 113: 5,
+ 114: 6,
+} as const satisfies Record;
diff --git a/packages/api/test/audio.test.ts b/packages/api/test/audio.test.ts
new file mode 100644
index 0000000..a9e59b3
--- /dev/null
+++ b/packages/api/test/audio.test.ts
@@ -0,0 +1,80 @@
+import { describe, expect, it } from "vitest";
+
+import { testClient } from "./test-client";
+
+const VALID_RECITATION_ID = "1";
+const VALID_CHAPTER_ID = "1";
+const INVALID_CHAPTER_ID = "0";
+const VALID_VERSE_KEY = "1:1";
+const INVALID_VERSE_KEY = "0:0";
+
+describe("Audio API", () => {
+ describe("findAllChapterRecitations()", () => {
+ it("should return all chapter recitations for valid reciter", async () => {
+ const response =
+ await testClient.audio.findAllChapterRecitations(VALID_RECITATION_ID);
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findChapterRecitationById()", () => {
+ it("should return chapter recitation for valid params", async () => {
+ const response = await testClient.audio.findChapterRecitationById(
+ VALID_RECITATION_ID,
+ VALID_CHAPTER_ID,
+ );
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid chapter ID", async () => {
+ await expect(
+ testClient.audio.findChapterRecitationById(
+ VALID_RECITATION_ID,
+ // @ts-expect-error - invalid chapter ID
+ INVALID_CHAPTER_ID,
+ ),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findVerseRecitationsByChapter()", () => {
+ it("should return verse recitations for valid chapter", async () => {
+ const response = await testClient.audio.findVerseRecitationsByChapter(
+ VALID_CHAPTER_ID,
+ VALID_RECITATION_ID,
+ );
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid chapter ID", async () => {
+ await expect(
+ testClient.audio.findVerseRecitationsByChapter(
+ // @ts-expect-error - invalid chapter ID
+ INVALID_CHAPTER_ID,
+ VALID_RECITATION_ID,
+ ),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findVerseRecitationsByKey()", () => {
+ it("should return verse recitations for valid verse key", async () => {
+ const response = await testClient.audio.findVerseRecitationsByKey(
+ VALID_VERSE_KEY,
+ VALID_RECITATION_ID,
+ );
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid verse key", async () => {
+ await expect(
+ testClient.audio.findVerseRecitationsByKey(
+ // @ts-expect-error - invalid verse key
+ INVALID_VERSE_KEY,
+ VALID_RECITATION_ID,
+ ),
+ ).rejects.toThrowError();
+ });
+ });
+});
diff --git a/packages/api/test/chapters.test.ts b/packages/api/test/chapters.test.ts
new file mode 100644
index 0000000..ac76fc6
--- /dev/null
+++ b/packages/api/test/chapters.test.ts
@@ -0,0 +1,41 @@
+import { describe, expect, it } from "vitest";
+
+import { testClient } from "./test-client";
+
+describe("Chapters API", () => {
+ describe("findAll()", () => {
+ it("should return an array of chapters", async () => {
+ const response = await testClient.chapters.findAll();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findById()", () => {
+ it("should return chapter for valid chapter ID", async () => {
+ const response = await testClient.chapters.findById("1");
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid chapter ID", async () => {
+ await expect(
+ // @ts-expect-error - invalid chapter ID
+ testClient.chapters.findById("0"),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findInfoById()", () => {
+ it("should return chapter info for valid chapter ID", async () => {
+ const response = await testClient.chapters.findInfoById("1");
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid chapter ID", async () => {
+ await expect(
+ // @ts-expect-error - invalid chapter ID
+ testClient.chapters.findInfoById("0"),
+ ).rejects.toThrowError();
+ });
+ });
+});
diff --git a/packages/api/test/fetch-fn.test.ts b/packages/api/test/fetch-fn.test.ts
new file mode 100644
index 0000000..b23e46f
--- /dev/null
+++ b/packages/api/test/fetch-fn.test.ts
@@ -0,0 +1,34 @@
+import { describe, expect, it } from "vitest";
+
+import { QuranClient } from "../src";
+
+describe("Custom fetcher", () => {
+ it("should fail with no fetch", () => {
+ // @ts-expect-error - we are testing this
+ globalThis.fetch = undefined;
+
+ expect(
+ () =>
+ new QuranClient({
+ clientId: "test",
+ clientSecret: "test",
+ }),
+ ).toThrowError(/No fetch function available/);
+ });
+
+ it("should not fail if you pass a fetchFn", async () => {
+ // Save the original fetch that MSW has mocked
+ const originalFetch = globalThis.fetch;
+
+ // @ts-expect-error - we are testing this
+ globalThis.fetch = undefined;
+
+ const client = new QuranClient({
+ clientId: "test",
+ clientSecret: "test",
+ fetch: originalFetch,
+ });
+
+ await expect(client.chapters.findById("1")).resolves.not.toThrow();
+ });
+});
diff --git a/packages/api/test/juzs.test.ts b/packages/api/test/juzs.test.ts
new file mode 100644
index 0000000..3c9bcd7
--- /dev/null
+++ b/packages/api/test/juzs.test.ts
@@ -0,0 +1,13 @@
+import { describe, expect, it } from "vitest";
+
+import { testClient } from "./test-client";
+
+describe("Juzs API", () => {
+ describe("findAll()", () => {
+ it("should return an array of juzs", async () => {
+ const response = await testClient.juzs.findAll();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+});
diff --git a/packages/api/test/resources.test.ts b/packages/api/test/resources.test.ts
new file mode 100644
index 0000000..3e06763
--- /dev/null
+++ b/packages/api/test/resources.test.ts
@@ -0,0 +1,97 @@
+import { describe, expect, it } from "vitest";
+
+import { testClient } from "./test-client";
+
+const VALID_RECITATION_ID = "1";
+const VALID_TRANSLATION_ID = "1";
+const VALID_TAFSIR_ID = "169";
+
+describe("Resources API", () => {
+ describe("findAllChapterInfos()", () => {
+ it("should return an array of chapter infos", async () => {
+ const response = await testClient.resources.findAllChapterInfos();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findAllChapterReciters()", () => {
+ it("should return an array of chapter reciters", async () => {
+ const response = await testClient.resources.findAllChapterReciters();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findAllLanguages()", () => {
+ it("should return an array of languages", async () => {
+ const response = await testClient.resources.findAllLanguages();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findAllRecitationStyles()", () => {
+ it("should return recitation styles (not an array)", async () => {
+ const response = await testClient.resources.findAllRecitationStyles();
+ expect(response).toBeDefined();
+ // Note: This method returns an object, not an array despite containing "All" in name
+ expect(response).not.toBeInstanceOf(Array);
+ });
+ });
+
+ describe("findAllRecitations()", () => {
+ it("should return an array of recitations", async () => {
+ const response = await testClient.resources.findAllRecitations();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findAllTafsirs()", () => {
+ it("should return an array of tafsirs", async () => {
+ const response = await testClient.resources.findAllTafsirs();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findAllTranslations()", () => {
+ it("should return an array of translations", async () => {
+ const response = await testClient.resources.findAllTranslations();
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findVerseMedia()", () => {
+ it("should return verse media information", async () => {
+ const response = await testClient.resources.findVerseMedia();
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findRecitationInfo()", () => {
+ it("should return recitation info for valid ID", async () => {
+ const response =
+ await testClient.resources.findRecitationInfo(VALID_RECITATION_ID);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findTranslationInfo()", () => {
+ it("should return translation info for valid ID", async () => {
+ const response =
+ await testClient.resources.findTranslationInfo(VALID_TRANSLATION_ID);
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findTafsirInfo()", () => {
+ it("should return tafsir info for valid ID", async () => {
+ const response =
+ await testClient.resources.findTafsirInfo(VALID_TAFSIR_ID);
+ expect(response).toBeDefined();
+ });
+ });
+});
diff --git a/test/setup.ts b/packages/api/test/setup.ts
similarity index 53%
rename from test/setup.ts
rename to packages/api/test/setup.ts
index c417650..c9d4523 100644
--- a/test/setup.ts
+++ b/packages/api/test/setup.ts
@@ -1,24 +1,27 @@
-import fetch from 'cross-fetch';
-import { beforeAll, afterEach, afterAll, beforeEach } from 'vitest';
-import { server } from '../mocks/server';
+import fetch from "cross-fetch";
+import { afterAll, afterEach, beforeAll, beforeEach } from "vitest";
+
+import { server } from "../mocks/server";
// Establish API mocking before all tests.
-beforeAll(async () => {
+beforeAll(() => {
server.listen();
});
-beforeEach(async () => {
+beforeEach(() => {
// we do this instead of passing a fetchFn every time
globalThis.fetch = fetch;
});
// Reset any request handlers that we may add during the tests,
// so they don't affect other tests.
-afterEach(async () => {
+afterEach(() => {
+ // we do this instead of passing a fetchFn every time
+ globalThis.fetch = fetch;
server.resetHandlers();
});
// Clean up after the tests are finished.
-afterAll(async () => {
+afterAll(() => {
server.close();
});
diff --git a/packages/api/test/test-client.ts b/packages/api/test/test-client.ts
new file mode 100644
index 0000000..5b9cac5
--- /dev/null
+++ b/packages/api/test/test-client.ts
@@ -0,0 +1,11 @@
+import { Language, QuranClient } from "../src";
+
+// Create a shared test client for all tests
+export const testClient = new QuranClient({
+ clientId: "test-client-id",
+ clientSecret: "test-client-secret",
+ defaults: {
+ language: Language.ENGLISH,
+ perPage: 25,
+ },
+});
diff --git a/test/utils.test.ts b/packages/api/test/utils.test.ts
similarity index 61%
rename from test/utils.test.ts
rename to packages/api/test/utils.test.ts
index 77ce6d1..7561413 100644
--- a/test/utils.test.ts
+++ b/packages/api/test/utils.test.ts
@@ -1,49 +1,48 @@
-import { quran } from '../src/index';
-import { describe, it, expect } from 'vitest';
-import fc from 'fast-check';
+import fc from "fast-check";
+import { describe, expect, it } from "vitest";
-const utils = quran.utils;
+import * as utils from "../src/utils";
-describe('Utils', () => {
+describe("Utils", () => {
describe(`isValidChapterId`, () => {
- it('should return true for valid chapter id', () => {
+ it("should return true for valid chapter id", () => {
// This will generate numbers in the range [1, 114]
// and test them against the expected the value (which is truthy)
fc.assert(
fc.property(fc.integer({ min: 1, max: 114 }), (chapterId) => {
expect(utils.isValidChapterId(chapterId)).toBeTruthy();
- })
+ }),
);
});
- it('should return false for invalid chapter id (out of the range [1, 114])', () => {
+ it("should return false for invalid chapter id (out of the range [1, 114])", () => {
// Generate numbers that out of the range [1, 114]
fc.assert(
fc.property(fc.integer({ max: 0 }), (chapterIdString) => {
expect(utils.isValidChapterId(chapterIdString)).toBeFalsy();
- })
+ }),
);
fc.assert(
fc.property(fc.integer({ min: 115 }), (chapterIdString) => {
expect(utils.isValidChapterId(chapterIdString)).toBeFalsy();
- })
+ }),
);
});
- it('should return false for invalid chapter id (random strings that do not represent numbers)', () => {
+ it("should return false for invalid chapter id (random strings that do not represent numbers)", () => {
// Generate random strings that do not represent numbers
fc.assert(
fc.property(
fc.string().filter((s) => Number.isNaN(Number(s))),
(chapterIdString) => {
expect(utils.isValidChapterId(chapterIdString)).toBeFalsy();
- }
+ },
),
- { numRuns: 1000 }
+ { numRuns: 1000 },
);
});
- it('should return false for invalid chapter id (random strings that represent numbers that are out of the range [1, 114])', () => {
+ it("should return false for invalid chapter id (random strings that represent numbers that are out of the range [1, 114])", () => {
// Generate random strings that represent numbers that are out of the range [1, 114]
fc.assert(
fc.property(
@@ -52,24 +51,24 @@ describe('Utils', () => {
.filter(
(s) =>
Number.isInteger(Number(s)) &&
- (Number(s) > 114 || Number(s) <= 0)
+ (Number(s) > 114 || Number(s) <= 0),
),
(chapterIdString) => {
expect(utils.isValidChapterId(chapterIdString)).toBeFalsy();
- }
+ },
),
- { numRuns: 250 }
+ { numRuns: 250 },
);
});
});
describe(`isValidHizb`, () => {
- it('should return true for valid hizb', () => {
+ it("should return true for valid hizb", () => {
expect(utils.isValidHizb(1)).toBeTruthy();
expect(utils.isValidHizb(60)).toBeTruthy();
});
- it('should return false for invalid hizb', () => {
+ it("should return false for invalid hizb", () => {
expect(utils.isValidHizb(0)).toBeFalsy();
expect(utils.isValidHizb(61)).toBeFalsy();
expect(utils.isValidHizb(-10)).toBeFalsy();
@@ -77,11 +76,11 @@ describe('Utils', () => {
});
describe(`isValidJuz`, () => {
- it('should return true for valid chapter id', () => {
+ it("should return true for valid chapter id", () => {
expect(utils.isValidJuz(1)).toBeTruthy();
});
- it('should return false for invalid chapter id', () => {
+ it("should return false for invalid chapter id", () => {
expect(utils.isValidJuz(0)).toBeFalsy();
expect(utils.isValidJuz(31)).toBeFalsy();
expect(utils.isValidJuz(-10)).toBeFalsy();
@@ -89,12 +88,12 @@ describe('Utils', () => {
});
describe(`isValidQuranPage`, () => {
- it('should return true for valid page', () => {
+ it("should return true for valid page", () => {
expect(utils.isValidQuranPage(1)).toBeTruthy();
expect(utils.isValidQuranPage(604)).toBeTruthy();
});
- it('should return false for invalid page', () => {
+ it("should return false for invalid page", () => {
expect(utils.isValidQuranPage(0)).toBeFalsy();
expect(utils.isValidQuranPage(605)).toBeFalsy();
expect(utils.isValidQuranPage(-10)).toBeFalsy();
@@ -102,12 +101,12 @@ describe('Utils', () => {
});
describe(`isValidRub`, () => {
- it('should return true for valid rub', () => {
+ it("should return true for valid rub", () => {
expect(utils.isValidRub(1)).toBeTruthy();
expect(utils.isValidRub(240)).toBeTruthy();
});
- it('should return false for invalid rub', () => {
+ it("should return false for invalid rub", () => {
expect(utils.isValidRub(0)).toBeFalsy();
expect(utils.isValidRub(241)).toBeFalsy();
expect(utils.isValidRub(-10)).toBeFalsy();
@@ -115,18 +114,18 @@ describe('Utils', () => {
});
describe(`isValidVerseKey`, () => {
- it('should return true for valid verse key', () => {
- expect(utils.isValidVerseKey('1:1')).toBeTruthy();
- expect(utils.isValidVerseKey('114:1')).toBeTruthy();
+ it("should return true for valid verse key", () => {
+ expect(utils.isValidVerseKey("1:1")).toBeTruthy();
+ expect(utils.isValidVerseKey("114:1")).toBeTruthy();
});
- it('should return false for invalid verse key', () => {
- expect(utils.isValidVerseKey('0')).toBeFalsy();
- expect(utils.isValidVerseKey('1')).toBeFalsy();
- expect(utils.isValidVerseKey('0!0')).toBeFalsy();
- expect(utils.isValidVerseKey('!!')).toBeFalsy();
- expect(utils.isValidVerseKey(':')).toBeFalsy();
- expect(utils.isValidVerseKey('0:')).toBeFalsy();
+ it("should return false for invalid verse key", () => {
+ expect(utils.isValidVerseKey("0")).toBeFalsy();
+ expect(utils.isValidVerseKey("1")).toBeFalsy();
+ expect(utils.isValidVerseKey("0!0")).toBeFalsy();
+ expect(utils.isValidVerseKey("!!")).toBeFalsy();
+ expect(utils.isValidVerseKey(":")).toBeFalsy();
+ expect(utils.isValidVerseKey("0:")).toBeFalsy();
});
});
});
diff --git a/packages/api/test/verses.test.ts b/packages/api/test/verses.test.ts
new file mode 100644
index 0000000..471c913
--- /dev/null
+++ b/packages/api/test/verses.test.ts
@@ -0,0 +1,113 @@
+import { describe, expect, it } from "vitest";
+
+import { testClient } from "./test-client";
+
+const VALID_CHAPTER_ID = "1";
+const VALID_JUZ_NUMBER = "1";
+const VALID_VERSE_KEY = "1:1";
+const VALID_PAGE_NUMBER = "1";
+const VALID_HIZB_NUMBER = "1";
+const VALID_RUB_NUMBER = "1";
+
+const INVALID_CHAPTER_ID = "0";
+const INVALID_JUZ_NUMBER = "0";
+const INVALID_VERSE_KEY = "0:0";
+const INVALID_PAGE_NUMBER = "0";
+const INVALID_HIZB_NUMBER = "0";
+
+describe("Verses API", () => {
+ describe("findByChapter()", () => {
+ it("should return an array of verses for valid chapter", async () => {
+ const response = await testClient.verses.findByChapter(VALID_CHAPTER_ID);
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid chapter ID", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid chapter ID
+ testClient.verses.findByChapter(INVALID_CHAPTER_ID),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findByJuz()", () => {
+ it("should return an array of verses for valid juz", async () => {
+ const response = await testClient.verses.findByJuz(VALID_JUZ_NUMBER);
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid juz number", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid juz number
+ testClient.verses.findByJuz(INVALID_JUZ_NUMBER),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findByKey()", () => {
+ it("should return verse for valid verse key", async () => {
+ const response = await testClient.verses.findByKey(VALID_VERSE_KEY);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid verse key", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid verse key
+ testClient.verses.findByKey(INVALID_VERSE_KEY),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findByPage()", () => {
+ it("should return an array of verses for valid page", async () => {
+ const response = await testClient.verses.findByPage(VALID_PAGE_NUMBER);
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid page number", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid page number
+ testClient.verses.findByPage(INVALID_PAGE_NUMBER),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findRandom()", () => {
+ it("should return a random verse", async () => {
+ const response = await testClient.verses.findRandom();
+ expect(response).toBeDefined();
+ });
+ });
+
+ describe("findByHizb()", () => {
+ it("should return an array of verses for valid hizb", async () => {
+ const response = await testClient.verses.findByHizb(VALID_HIZB_NUMBER);
+ expect(response).toBeInstanceOf(Array);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid hizb number", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid hizb number
+ testClient.verses.findByHizb(INVALID_HIZB_NUMBER),
+ ).rejects.toThrowError();
+ });
+ });
+
+ describe("findByRub()", () => {
+ it("should return verses for valid rub", async () => {
+ const response = await testClient.verses.findByRub(VALID_RUB_NUMBER);
+ expect(response).toBeDefined();
+ });
+
+ it("should throw error for invalid rub number", async () => {
+ await expect(
+ // @ts-expect-error - testing invalid rub number
+ testClient.verses.findByRub(INVALID_CHAPTER_ID),
+ ).rejects.toThrowError();
+ });
+ });
+});
diff --git a/packages/api/tsconfig.json b/packages/api/tsconfig.json
new file mode 100644
index 0000000..6ff54c8
--- /dev/null
+++ b/packages/api/tsconfig.json
@@ -0,0 +1,11 @@
+{
+ "extends": "@quranjs/tsconfig/internal-package.json",
+ "include": ["src", "test", "mocks"],
+ "compilerOptions": {
+ "baseUrl": ".",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ },
+ "exclude": ["node_modules"]
+}
diff --git a/packages/api/tsup.config.ts b/packages/api/tsup.config.ts
new file mode 100644
index 0000000..1b2c1cd
--- /dev/null
+++ b/packages/api/tsup.config.ts
@@ -0,0 +1,34 @@
+import type { Options } from "tsup";
+import { defineConfig } from "tsup";
+
+const baseConfig: Options = {
+ entry: ["src/index.ts"],
+ outDir: "dist",
+ outExtension({ format, options }) {
+ const ext = format === "esm" ? "mjs" : "js";
+ const finalFormat = format === "cjs" || format === "esm" ? "" : format;
+
+ const outputExtension = options.minify
+ ? `${finalFormat}.min.${ext}`
+ : `${finalFormat}.${ext}`;
+
+ return {
+ js: outputExtension.startsWith(".")
+ ? outputExtension
+ : `.${outputExtension}`,
+ };
+ },
+ treeshake: true,
+ splitting: false,
+ sourcemap: true,
+ clean: true,
+ dts: true,
+};
+
+export default defineConfig((options) => [
+ {
+ ...baseConfig,
+ format: ["cjs", "esm"],
+ minify: !options.watch,
+ },
+]);
diff --git a/packages/api/vitest.config.ts b/packages/api/vitest.config.ts
new file mode 100644
index 0000000..42ba234
--- /dev/null
+++ b/packages/api/vitest.config.ts
@@ -0,0 +1,15 @@
+import path from "path";
+import { defineConfig } from "vitest/config";
+
+export default defineConfig({
+ resolve: {
+ alias: {
+ "@": path.resolve(__dirname, "./src"),
+ },
+ },
+ test: {
+ environment: "node",
+ include: ["./test/**/*.test.{js,ts,jsx,tsx}"],
+ setupFiles: ["./test/setup.ts"],
+ },
+});
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f9672e8..fe6166d 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -4,2904 +4,9072 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
+catalogs:
+ default:
+ eslint:
+ specifier: ^9.19.0
+ version: 9.32.0
+ prettier:
+ specifier: ^3.4.2
+ version: 3.6.2
+ tailwindcss:
+ specifier: ^4.1.11
+ version: 4.1.11
+ typescript:
+ specifier: ^5.9.2
+ version: 5.9.2
+ react19:
+ '@types/react':
+ specifier: ^19.1.2
+ version: 19.1.9
+ '@types/react-dom':
+ specifier: ^19.1.2
+ version: 19.1.7
+ react:
+ specifier: 19.1.0
+ version: 19.1.0
+ react-dom:
+ specifier: 19.1.0
+ version: 19.1.0
+
importers:
.:
+ devDependencies:
+ '@changesets/cli':
+ specifier: ^2.29.5
+ version: 2.29.5
+ '@quranjs/prettier-config':
+ specifier: workspace:*
+ version: link:tooling/prettier
+ prettier:
+ specifier: 'catalog:'
+ version: 3.6.2
+ turbo:
+ specifier: ^2.5.5
+ version: 2.5.5
+ typescript:
+ specifier: 'catalog:'
+ version: 5.9.2
+
+ apps/docs:
+ dependencies:
+ clsx:
+ specifier: ^2.1.1
+ version: 2.1.1
+ fumadocs-core:
+ specifier: 15.8.5
+ version: 15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ fumadocs-mdx:
+ specifier: 12.0.3
+ version: 12.0.3(fumadocs-core@15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1))
+ fumadocs-typescript:
+ specifier: ^4.0.11
+ version: 4.0.11(@types/react@19.1.9)(fumadocs-core@15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(fumadocs-ui@15.8.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.11))(typescript@5.9.2)
+ fumadocs-ui:
+ specifier: 15.8.5
+ version: 15.8.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.11)
+ lucide-react:
+ specifier: ^0.539.0
+ version: 0.539.0(react@19.1.0)
+ next:
+ specifier: 15.5.6
+ version: 15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react:
+ specifier: catalog:react19
+ version: 19.1.0
+ react-dom:
+ specifier: catalog:react19
+ version: 19.1.0(react@19.1.0)
+ tailwind-merge:
+ specifier: ^3.3.1
+ version: 3.3.1
+ devDependencies:
+ '@quranjs/eslint-config':
+ specifier: workspace:*
+ version: link:../../tooling/eslint
+ '@quranjs/prettier-config':
+ specifier: workspace:*
+ version: link:../../tooling/prettier
+ '@quranjs/tsconfig':
+ specifier: workspace:*
+ version: link:../../tooling/typescript
+ '@tailwindcss/postcss':
+ specifier: ^4.1.11
+ version: 4.1.11
+ '@types/mdx':
+ specifier: ^2.0.13
+ version: 2.0.13
+ '@types/node':
+ specifier: ^24.2.0
+ version: 24.2.0
+ '@types/react':
+ specifier: catalog:react19
+ version: 19.1.9
+ '@types/react-dom':
+ specifier: catalog:react19
+ version: 19.1.7(@types/react@19.1.9)
+ eslint:
+ specifier: 'catalog:'
+ version: 9.32.0(jiti@2.5.1)
+ postcss:
+ specifier: ^8.5.6
+ version: 8.5.6
+ prettier:
+ specifier: 'catalog:'
+ version: 3.6.2
+ tailwindcss:
+ specifier: 'catalog:'
+ version: 4.1.11
+ typescript:
+ specifier: 'catalog:'
+ version: 5.9.2
+
+ packages/api:
dependencies:
humps:
specifier: ^2.0.1
version: 2.0.1
devDependencies:
+ '@quranjs/eslint-config':
+ specifier: workspace:*
+ version: link:../../tooling/eslint
+ '@quranjs/prettier-config':
+ specifier: workspace:*
+ version: link:../../tooling/prettier
+ '@quranjs/tsconfig':
+ specifier: workspace:*
+ version: link:../../tooling/typescript
'@size-limit/preset-small-lib':
specifier: ^7.0.8
version: 7.0.8(size-limit@7.0.8)
'@swc/core':
specifier: ^1.10.4
- version: 1.10.4
+ version: 1.10.4(@swc/helpers@0.5.15)
'@types/humps':
specifier: ^2.0.1
version: 2.0.1
- '@typescript-eslint/eslint-plugin':
- specifier: ^5.42.0
- version: 5.42.0(@typescript-eslint/parser@5.42.0(eslint@8.26.0)(typescript@4.6.2))(eslint@8.26.0)(typescript@4.6.2)
- '@typescript-eslint/parser':
- specifier: ^5.42.0
- version: 5.42.0(eslint@8.26.0)(typescript@4.6.2)
- '@vitest/coverage-c8':
- specifier: ^0.24.4
- version: 0.24.4
+ '@types/node':
+ specifier: ^24.2.0
+ version: 24.2.0
+ '@vitest/coverage-v8':
+ specifier: ^3.2.4
+ version: 3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(yaml@2.8.1))
cross-fetch:
specifier: ^3.1.5
version: 3.1.5
- esbuild-plugin-umd-wrapper:
- specifier: ^3.0.0
- version: 3.0.0
eslint:
- specifier: ^8.26.0
- version: 8.26.0
- eslint-config-prettier:
- specifier: ^8.5.0
- version: 8.5.0(eslint@8.26.0)
- eslint-plugin-prettier:
- specifier: ^4.2.1
- version: 4.2.1(eslint-config-prettier@8.5.0(eslint@8.26.0))(eslint@8.26.0)(prettier@2.7.1)
+ specifier: 'catalog:'
+ version: 9.32.0(jiti@2.5.1)
fast-check:
specifier: ^3.3.0
version: 3.3.0
- husky:
- specifier: ^7.0.4
- version: 7.0.4
msw:
- specifier: ^0.39.2
- version: 0.39.2
+ specifier: ^2.11.5
+ version: 2.11.5(@types/node@24.2.0)(typescript@5.9.2)
prettier:
- specifier: ^2.7.1
- version: 2.7.1
+ specifier: 'catalog:'
+ version: 3.6.2
rollup-plugin-analyzer:
specifier: ^4.0.0
version: 4.0.0
size-limit:
specifier: ^7.0.8
version: 7.0.8
- tslib:
- specifier: ^2.3.1
- version: 2.3.1
tsup:
- specifier: ^6.3.0
- version: 6.3.0(@swc/core@1.10.4)(postcss@8.4.18)(typescript@4.6.2)
+ specifier: ^8.5.0
+ version: 8.5.0(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.5.1)(postcss@8.5.6)(typescript@5.9.2)(yaml@2.8.1)
typescript:
- specifier: ^4.6.2
- version: 4.6.2
+ specifier: 'catalog:'
+ version: 5.9.2
vitest:
- specifier: ^0.24.4
- version: 0.24.4
-
-packages:
+ specifier: ^3.2.4
+ version: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(yaml@2.8.1)
+
+ tooling/eslint:
+ dependencies:
+ '@eslint/compat':
+ specifier: ^1.2.5
+ version: 1.3.1(eslint@9.32.0(jiti@2.5.1))
+ '@next/eslint-plugin-next':
+ specifier: ^15.2.1
+ version: 15.4.6
+ eslint-plugin-import:
+ specifier: ^2.31.0
+ version: 2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-jsx-a11y:
+ specifier: ^6.10.2
+ version: 6.10.2(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-react:
+ specifier: ^7.37.4
+ version: 7.37.5(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-react-compiler:
+ specifier: beta
+ version: 19.0.0-beta-af1b7da-20250417(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-react-hooks:
+ specifier: ^5.1.0
+ version: 5.2.0(eslint@9.32.0(jiti@2.5.1))
+ eslint-plugin-turbo:
+ specifier: ^2.3.4
+ version: 2.5.5(eslint@9.32.0(jiti@2.5.1))(turbo@2.5.5)
+ typescript-eslint:
+ specifier: ^8.21.0
+ version: 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ devDependencies:
+ '@quranjs/prettier-config':
+ specifier: workspace:*
+ version: link:../prettier
+ '@quranjs/tsconfig':
+ specifier: workspace:*
+ version: link:../typescript
+ eslint:
+ specifier: 'catalog:'
+ version: 9.32.0(jiti@2.5.1)
+ prettier:
+ specifier: 'catalog:'
+ version: 3.6.2
+ typescript:
+ specifier: 'catalog:'
+ version: 5.9.2
- '@bcoe/v8-coverage@0.2.3':
- resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==}
+ tooling/prettier:
+ dependencies:
+ '@ianvs/prettier-plugin-sort-imports':
+ specifier: ^4.4.1
+ version: 4.5.1(prettier@3.6.2)
+ prettier:
+ specifier: 'catalog:'
+ version: 3.6.2
+ prettier-plugin-tailwindcss:
+ specifier: ^0.6.11
+ version: 0.6.14(@ianvs/prettier-plugin-sort-imports@4.5.1(prettier@3.6.2))(prettier@3.6.2)
+ devDependencies:
+ '@quranjs/tsconfig':
+ specifier: workspace:*
+ version: link:../typescript
+ '@types/node':
+ specifier: ^24.2.0
+ version: 24.2.0
+ typescript:
+ specifier: 'catalog:'
+ version: 5.9.2
- '@esbuild/android-arm@0.15.12':
- resolution: {integrity: sha512-IC7TqIqiyE0MmvAhWkl/8AEzpOtbhRNDo7aph47We1NbE5w2bt/Q+giAhe0YYeVpYnIhGMcuZY92qDK6dQauvA==}
- engines: {node: '>=12'}
- cpu: [arm]
- os: [android]
+ tooling/typescript: {}
- '@esbuild/linux-loong64@0.15.12':
- resolution: {integrity: sha512-tZEowDjvU7O7I04GYvWQOS4yyP9E/7YlsB0jjw1Ycukgr2ycEzKyIk5tms5WnLBymaewc6VmRKnn5IJWgK4eFw==}
- engines: {node: '>=12'}
- cpu: [loong64]
- os: [linux]
+packages:
- '@eslint/eslintrc@1.3.3':
- resolution: {integrity: sha512-uj3pT6Mg+3t39fvLrj8iuCIJ38zKO9FpGtJ4BBJebJhEwjoT+KLVNCcHT5QC9NGRIEi7fZ0ZR8YRb884auB4Lg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@alloc/quick-lru@5.2.0':
+ resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==}
+ engines: {node: '>=10'}
- '@humanwhocodes/config-array@0.11.7':
- resolution: {integrity: sha512-kBbPWzN8oVMLb0hOUYXhmxggL/1cJE6ydvjDIGi9EnAGUyA7cLVKQg+d/Dsm+KZwx2czGHrCmMVLiyg8s5JPKw==}
- engines: {node: '>=10.10.0'}
- deprecated: Use @eslint/config-array instead
+ '@ampproject/remapping@2.3.0':
+ resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==}
+ engines: {node: '>=6.0.0'}
- '@humanwhocodes/module-importer@1.0.1':
- resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
- engines: {node: '>=12.22'}
+ '@babel/code-frame@7.27.1':
+ resolution: {integrity: sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==}
+ engines: {node: '>=6.9.0'}
- '@humanwhocodes/object-schema@1.2.1':
- resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==}
- deprecated: Use @eslint/object-schema instead
+ '@babel/compat-data@7.28.0':
+ resolution: {integrity: sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==}
+ engines: {node: '>=6.9.0'}
- '@istanbuljs/schema@0.1.3':
- resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
- engines: {node: '>=8'}
+ '@babel/core@7.28.0':
+ resolution: {integrity: sha512-UlLAnTPrFdNGoFtbSXwcGFQBtQZJCNjaN6hQNP3UPvuNXT1i82N26KL3dZeIpNalWywr9IuQuncaAfUaS1g6sQ==}
+ engines: {node: '>=6.9.0'}
- '@jridgewell/resolve-uri@3.1.0':
- resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
- engines: {node: '>=6.0.0'}
+ '@babel/generator@7.28.0':
+ resolution: {integrity: sha512-lJjzvrbEeWrhB4P3QBsH7tey117PjLZnDbLiQEKjQ/fNJTjuq4HSqgFA+UNSwZT8D7dxxbnuSBMsa1lrWzKlQg==}
+ engines: {node: '>=6.9.0'}
- '@jridgewell/sourcemap-codec@1.4.14':
- resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==}
+ '@babel/helper-annotate-as-pure@7.27.3':
+ resolution: {integrity: sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==}
+ engines: {node: '>=6.9.0'}
- '@jridgewell/trace-mapping@0.3.17':
- resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==}
+ '@babel/helper-compilation-targets@7.27.2':
+ resolution: {integrity: sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==}
+ engines: {node: '>=6.9.0'}
- '@mswjs/cookies@0.2.0':
- resolution: {integrity: sha512-GTKYnIfXVP8GL8HRWrse+ujqDXCLKvu7+JoL6pvZFzS/d2i9pziByoWD69cOe35JNoSrx2DPNqrhUF+vgV3qUA==}
- engines: {node: '>=14'}
+ '@babel/helper-create-class-features-plugin@7.27.1':
+ resolution: {integrity: sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
- '@mswjs/interceptors@0.15.1':
- resolution: {integrity: sha512-D5B+ZJNlfvBm6ZctAfRBdNJdCHYAe2Ix4My5qfbHV5WH+3lkt3mmsjiWJzEh5ZwGDauzY487TldI275If7DJVw==}
- engines: {node: '>=14'}
+ '@babel/helper-globals@7.28.0':
+ resolution: {integrity: sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==}
+ engines: {node: '>=6.9.0'}
- '@nodelib/fs.scandir@2.1.5':
- resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
- engines: {node: '>= 8'}
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ resolution: {integrity: sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==}
+ engines: {node: '>=6.9.0'}
- '@nodelib/fs.stat@2.0.5':
- resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
- engines: {node: '>= 8'}
+ '@babel/helper-module-imports@7.27.1':
+ resolution: {integrity: sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==}
+ engines: {node: '>=6.9.0'}
- '@nodelib/fs.walk@1.2.8':
- resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
- engines: {node: '>= 8'}
+ '@babel/helper-module-transforms@7.27.3':
+ resolution: {integrity: sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
- '@open-draft/until@1.0.3':
- resolution: {integrity: sha512-Aq58f5HiWdyDlFffbbSjAlv596h/cOnt2DO1w3DOC7OJ5EHs0hd/nycJfiu9RJbT6Yk6F1knnRRXNSpxoIVZ9Q==}
+ '@babel/helper-optimise-call-expression@7.27.1':
+ resolution: {integrity: sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==}
+ engines: {node: '>=6.9.0'}
- '@size-limit/esbuild@7.0.8':
- resolution: {integrity: sha512-AzCrxJJThDvHrBNoolebYVgXu46c6HuS3fOxoXr3V0YWNM0qz81z5F3j7RruzboZnls8ZgME4WrH6GM5rB9gtA==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- peerDependencies:
- size-limit: 7.0.8
+ '@babel/helper-plugin-utils@7.27.1':
+ resolution: {integrity: sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==}
+ engines: {node: '>=6.9.0'}
- '@size-limit/file@7.0.8':
- resolution: {integrity: sha512-1KeFQuMXIXAH/iELqIX7x+YNYDFvzIvmxcp9PrdwEoSNL0dXdaDIo9WE/yz8xvOmUcKaLfqbWkL75DM0k91WHQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ '@babel/helper-replace-supers@7.27.1':
+ resolution: {integrity: sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==}
+ engines: {node: '>=6.9.0'}
peerDependencies:
- size-limit: 7.0.8
+ '@babel/core': ^7.0.0
- '@size-limit/preset-small-lib@7.0.8':
- resolution: {integrity: sha512-CT8nIYA/c2CSD+X4rAUgwqYccQMahJ6rBnaZxvi3YKFdkXIbuGNXHNjHsYaFksgwG9P4UjG/unyO5L73f3zQBw==}
- peerDependencies:
- size-limit: 7.0.8
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ resolution: {integrity: sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-darwin-arm64@1.10.4':
- resolution: {integrity: sha512-sV/eurLhkjn/197y48bxKP19oqcLydSel42Qsy2zepBltqUx+/zZ8+/IS0Bi7kaWVFxerbW1IPB09uq8Zuvm3g==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [darwin]
+ '@babel/helper-string-parser@7.27.1':
+ resolution: {integrity: sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-darwin-x64@1.10.4':
- resolution: {integrity: sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [darwin]
+ '@babel/helper-validator-identifier@7.27.1':
+ resolution: {integrity: sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-linux-arm-gnueabihf@1.10.4':
- resolution: {integrity: sha512-zd7fXH5w8s+Sfvn2oO464KDWl+ZX1MJiVmE4Pdk46N3PEaNwE0koTfgx2vQRqRG4vBBobzVvzICC3618WcefOA==}
- engines: {node: '>=10'}
- cpu: [arm]
- os: [linux]
+ '@babel/helper-validator-option@7.27.1':
+ resolution: {integrity: sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-linux-arm64-gnu@1.10.4':
- resolution: {integrity: sha512-+UGfoHDxsMZgFD3tABKLeEZHqLNOkxStu+qCG7atGBhS4Slri6h6zijVvf4yI5X3kbXdvc44XV/hrP/Klnui2A==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
+ '@babel/helpers@7.28.2':
+ resolution: {integrity: sha512-/V9771t+EgXz62aCcyofnQhGM8DQACbRhvzKFsXKC9QM+5MadF8ZmIm0crDMaz3+o0h0zXfJnd4EhbYbxsrcFw==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-linux-arm64-musl@1.10.4':
- resolution: {integrity: sha512-cDDj2/uYsOH0pgAnDkovLZvKJpFmBMyXkxEG6Q4yw99HbzO6QzZ5HDGWGWVq/6dLgYKlnnmpjZCPPQIu01mXEg==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [linux]
+ '@babel/parser@7.28.0':
+ resolution: {integrity: sha512-jVZGvOxOuNSsuQuLRTh13nU0AogFlw32w/MT+LV6D3sP5WdbW61E77RnkbaO2dUvmPAYrBDJXGn5gGS6tH4j8g==}
+ engines: {node: '>=6.0.0'}
+ hasBin: true
- '@swc/core-linux-x64-gnu@1.10.4':
- resolution: {integrity: sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
+ '@babel/plugin-proposal-private-methods@7.18.6':
+ resolution: {integrity: sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==}
+ engines: {node: '>=6.9.0'}
+ deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-private-methods instead.
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
- '@swc/core-linux-x64-musl@1.10.4':
- resolution: {integrity: sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [linux]
+ '@babel/runtime@7.28.2':
+ resolution: {integrity: sha512-KHp2IflsnGywDjBWDkR9iEqiWSpc8GIi0lgTT3mOElT0PP1tG26P4tmFI2YvAdzgq9RGyoHZQEIEdZy6Ec5xCA==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-win32-arm64-msvc@1.10.4':
- resolution: {integrity: sha512-e6j5kBu4fIY7fFxFxnZI0MlEovRvp50Lg59Fw+DVbtqHk3C85dckcy5xKP+UoXeuEmFceauQDczUcGs19SRGSQ==}
- engines: {node: '>=10'}
- cpu: [arm64]
- os: [win32]
+ '@babel/template@7.27.2':
+ resolution: {integrity: sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-win32-ia32-msvc@1.10.4':
- resolution: {integrity: sha512-RSYHfdKgNXV/amY5Tqk1EWVsyQnhlsM//jeqMLw5Fy9rfxP592W9UTumNikNRPdjI8wKKzNMXDb1U29tQjN0dg==}
- engines: {node: '>=10'}
- cpu: [ia32]
- os: [win32]
+ '@babel/traverse@7.28.0':
+ resolution: {integrity: sha512-mGe7UK5wWyh0bKRfupsUchrQGqvDbZDbKJw+kcRGSmdHVYrv+ltd0pnpDTVpiTqnaBru9iEvA8pz8W46v0Amwg==}
+ engines: {node: '>=6.9.0'}
- '@swc/core-win32-x64-msvc@1.10.4':
- resolution: {integrity: sha512-1ujYpaqfqNPYdwKBlvJnOqcl+Syn3UrQ4XE0Txz6zMYgyh6cdU6a3pxqLqIUSJ12MtXRA9ZUhEz1ekU3LfLWXw==}
- engines: {node: '>=10'}
- cpu: [x64]
- os: [win32]
+ '@babel/types@7.28.2':
+ resolution: {integrity: sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==}
+ engines: {node: '>=6.9.0'}
- '@swc/core@1.10.4':
- resolution: {integrity: sha512-ut3zfiTLORMxhr6y/GBxkHmzcGuVpwJYX4qyXWuBKkpw/0g0S5iO1/wW7RnLnZbAi8wS/n0atRZoaZlXWBkeJg==}
- engines: {node: '>=10'}
- peerDependencies:
- '@swc/helpers': '*'
- peerDependenciesMeta:
- '@swc/helpers':
- optional: true
+ '@bcoe/v8-coverage@1.0.2':
+ resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==}
+ engines: {node: '>=18'}
- '@swc/counter@0.1.3':
- resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+ '@changesets/apply-release-plan@7.0.12':
+ resolution: {integrity: sha512-EaET7As5CeuhTzvXTQCRZeBUcisoYPDDcXvgTE/2jmmypKp0RC7LxKj/yzqeh/1qFTZI7oDGFcL1PHRuQuketQ==}
- '@swc/types@0.1.17':
- resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==}
+ '@changesets/assemble-release-plan@6.0.9':
+ resolution: {integrity: sha512-tPgeeqCHIwNo8sypKlS3gOPmsS3wP0zHt67JDuL20P4QcXiw/O4Hl7oXiuLnP9yg+rXLQ2sScdV1Kkzde61iSQ==}
- '@types/chai-subset@1.3.3':
- resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==}
+ '@changesets/changelog-git@0.2.1':
+ resolution: {integrity: sha512-x/xEleCFLH28c3bQeQIyeZf8lFXyDFVn1SgcBiR2Tw/r4IAWlk1fzxCEZ6NxQAjF2Nwtczoen3OA2qR+UawQ8Q==}
- '@types/chai@4.3.3':
- resolution: {integrity: sha512-hC7OMnszpxhZPduX+m+nrx+uFoLkWOMiR4oa/AZF3MuSETYTZmFfJAHqZEM8MVlvfG7BEUcgvtwoCTxBp6hm3g==}
+ '@changesets/cli@2.29.5':
+ resolution: {integrity: sha512-0j0cPq3fgxt2dPdFsg4XvO+6L66RC0pZybT9F4dG5TBrLA3jA/1pNkdTXH9IBBVHkgsKrNKenI3n1mPyPlIydg==}
+ hasBin: true
- '@types/cookie@0.4.1':
- resolution: {integrity: sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==}
+ '@changesets/config@3.1.1':
+ resolution: {integrity: sha512-bd+3Ap2TKXxljCggI0mKPfzCQKeV/TU4yO2h2C6vAihIo8tzseAn2e7klSuiyYYXvgu53zMN1OeYMIQkaQoWnA==}
- '@types/humps@2.0.1':
- resolution: {integrity: sha512-cxIGJjiOQRl5s/KjqoTa0u39qKrVD3T6+6eGsERva0MLBp9AMVG8udKn9JZgVDe9zF0J9H4SRVzKILK6iZ9IZQ==}
+ '@changesets/errors@0.2.0':
+ resolution: {integrity: sha512-6BLOQUscTpZeGljvyQXlWOItQyU71kCdGz7Pi8H8zdw6BI0g3m43iL4xKUVPWtG+qrrL9DTjpdn8eYuCQSRpow==}
- '@types/istanbul-lib-coverage@2.0.4':
- resolution: {integrity: sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==}
+ '@changesets/get-dependents-graph@2.1.3':
+ resolution: {integrity: sha512-gphr+v0mv2I3Oxt19VdWRRUxq3sseyUpX9DaHpTUmLj92Y10AGy+XOtV+kbM6L/fDcpx7/ISDFK6T8A/P3lOdQ==}
- '@types/js-levenshtein@1.1.1':
- resolution: {integrity: sha512-qC4bCqYGy1y/NP7dDVr7KJarn+PbX1nSpwA7JXdu0HxT3QYjO8MJ+cntENtHFVy2dRAyBV23OZ6MxsW1AM1L8g==}
+ '@changesets/get-release-plan@4.0.13':
+ resolution: {integrity: sha512-DWG1pus72FcNeXkM12tx+xtExyH/c9I1z+2aXlObH3i9YA7+WZEVaiHzHl03thpvAgWTRaH64MpfHxozfF7Dvg==}
- '@types/json-schema@7.0.10':
- resolution: {integrity: sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==}
+ '@changesets/get-version-range-type@0.4.0':
+ resolution: {integrity: sha512-hwawtob9DryoGTpixy1D3ZXbGgJu1Rhr+ySH2PvTLHvkZuQ7sRT4oQwMh0hbqZH1weAooedEjRsbrWcGLCeyVQ==}
- '@types/node@17.0.22':
- resolution: {integrity: sha512-8FwbVoG4fy+ykY86XCAclKZDORttqE5/s7dyWZKLXTdv3vRy5HozBEinG5IqhvPXXzIZEcTVbuHlQEI6iuwcmw==}
+ '@changesets/git@3.0.4':
+ resolution: {integrity: sha512-BXANzRFkX+XcC1q/d27NKvlJ1yf7PSAgi8JG6dt8EfbHFHi4neau7mufcSca5zRhwOL8j9s6EqsxmT+s+/E6Sw==}
- '@types/semver@7.3.13':
- resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==}
+ '@changesets/logger@0.1.1':
+ resolution: {integrity: sha512-OQtR36ZlnuTxKqoW4Sv6x5YIhOmClRd5pWsjZsddYxpWs517R0HkyiefQPIytCVh4ZcC5x9XaG8KTdd5iRQUfg==}
- '@types/set-cookie-parser@2.4.2':
- resolution: {integrity: sha512-fBZgytwhYAUkj/jC/FAV4RQ5EerRup1YQsXQCh8rZfiHkc4UahC192oH0smGwsXol3cL3A5oETuAHeQHmhXM4w==}
+ '@changesets/parse@0.4.1':
+ resolution: {integrity: sha512-iwksMs5Bf/wUItfcg+OXrEpravm5rEd9Bf4oyIPL4kVTmJQ7PNDSd6MDYkpSJR1pn7tz/k8Zf2DhTCqX08Ou+Q==}
- '@typescript-eslint/eslint-plugin@5.42.0':
- resolution: {integrity: sha512-5TJh2AgL6+wpL8H/GTSjNb4WrjKoR2rqvFxR/DDTqYNk6uXn8BJMEcncLSpMbf/XV1aS0jAjYwn98uvVCiAywQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- '@typescript-eslint/parser': ^5.0.0
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@changesets/pre@2.0.2':
+ resolution: {integrity: sha512-HaL/gEyFVvkf9KFg6484wR9s0qjAXlZ8qWPDkTyKF6+zqjBe/I2mygg3MbpZ++hdi0ToqNUF8cjj7fBy0dg8Ug==}
- '@typescript-eslint/parser@5.42.0':
- resolution: {integrity: sha512-Ixh9qrOTDRctFg3yIwrLkgf33AHyEIn6lhyf5cCfwwiGtkWhNpVKlEZApi3inGQR/barWnY7qY8FbGKBO7p3JA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@changesets/read@0.6.5':
+ resolution: {integrity: sha512-UPzNGhsSjHD3Veb0xO/MwvasGe8eMyNrR/sT9gR8Q3DhOQZirgKhhXv/8hVsI0QpPjR004Z9iFxoJU6in3uGMg==}
- '@typescript-eslint/scope-manager@5.42.0':
- resolution: {integrity: sha512-l5/3IBHLH0Bv04y+H+zlcLiEMEMjWGaCX6WyHE5Uk2YkSGAMlgdUPsT/ywTSKgu9D1dmmKMYgYZijObfA39Wow==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@changesets/should-skip-package@0.1.2':
+ resolution: {integrity: sha512-qAK/WrqWLNCP22UDdBTMPH5f41elVDlsNyat180A33dWxuUDyNpg6fPi/FyTZwRriVjg0L8gnjJn2F9XAoF0qw==}
- '@typescript-eslint/type-utils@5.42.0':
- resolution: {integrity: sha512-HW14TXC45dFVZxnVW8rnUGnvYyRC0E/vxXShFCthcC9VhVTmjqOmtqj6H5rm9Zxv+ORxKA/1aLGD7vmlLsdlOg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: '*'
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@changesets/types@4.1.0':
+ resolution: {integrity: sha512-LDQvVDv5Kb50ny2s25Fhm3d9QSZimsoUGBsUioj6MC3qbMUCuC8GPIvk/M6IvXx3lYhAs0lwWUQLb+VIEUCECw==}
- '@typescript-eslint/types@5.42.0':
- resolution: {integrity: sha512-t4lzO9ZOAUcHY6bXQYRuu+3SSYdD9TS8ooApZft4WARt4/f2Cj/YpvbTe8A4GuhT4bNW72goDMOy7SW71mZwGw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@changesets/types@6.1.0':
+ resolution: {integrity: sha512-rKQcJ+o1nKNgeoYRHKOS07tAMNd3YSN0uHaJOZYjBAgxfV7TUE7JE+z4BzZdQwb5hKaYbayKN5KrYV7ODb2rAA==}
- '@typescript-eslint/typescript-estree@5.42.0':
- resolution: {integrity: sha512-2O3vSq794x3kZGtV7i4SCWZWCwjEtkWfVqX4m5fbUBomOsEOyd6OAD1qU2lbvV5S8tgy/luJnOYluNyYVeOTTg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- typescript: '*'
- peerDependenciesMeta:
- typescript:
- optional: true
+ '@changesets/write@0.4.0':
+ resolution: {integrity: sha512-CdTLvIOPiCNuH71pyDu3rA+Q0n65cmAbXnwWH84rKGiFumFzkmHNT8KHTMEchcxN+Kl8I54xGUhJ7l3E7X396Q==}
- '@typescript-eslint/utils@5.42.0':
- resolution: {integrity: sha512-JZ++3+h1vbeG1NUECXQZE3hg0kias9kOtcQr3+JVQ3whnjvKuMyktJAAIj6743OeNPnGBmjj7KEmiDL7qsdnCQ==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- peerDependencies:
- eslint: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@emnapi/runtime@1.4.5':
+ resolution: {integrity: sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==}
- '@typescript-eslint/visitor-keys@5.42.0':
- resolution: {integrity: sha512-QHbu5Hf/2lOEOwy+IUw0GoSCuAzByTAWWrOTKzTzsotiUnWFpuKnXcAhC9YztAf2EElQ0VvIK+pHJUPkM0q7jg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@esbuild/aix-ppc64@0.25.11':
+ resolution: {integrity: sha512-Xt1dOL13m8u0WE8iplx9Ibbm+hFAO0GsU2P34UNoDGvZYkY8ifSiy6Zuc1lYxfG7svWE2fzqCUmFp5HCn51gJg==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
- '@vitest/coverage-c8@0.24.4':
- resolution: {integrity: sha512-1mhYQip6IJw1p9hzM+sH8O/RbILMe7FwScWI7COoMGAThdDRytDjmOal38F/EVrIPZY3nZ5hf7S7JFGjbb4bTg==}
- deprecated: v8 coverage is moved to @vitest/coverage-v8 package
+ '@esbuild/aix-ppc64@0.25.8':
+ resolution: {integrity: sha512-urAvrUedIqEiFR3FYSLTWQgLu5tb+m0qZw0NBEasUeo6wuqatkMDaRT+1uABiGXEu5vqgPd7FGE1BhsAIy9QVA==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [aix]
- '@xmldom/xmldom@0.7.5':
- resolution: {integrity: sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==}
- engines: {node: '>=10.0.0'}
- deprecated: this version is no longer supported, please update to at least 0.8.*
+ '@esbuild/android-arm64@0.25.11':
+ resolution: {integrity: sha512-9slpyFBc4FPPz48+f6jyiXOx/Y4v34TUeDDXJpZqAWQn/08lKGeD8aDp9TMn9jDz2CiEuHwfhRmGBvpnd/PWIQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
- acorn-jsx@5.3.2:
- resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
- peerDependencies:
- acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ '@esbuild/android-arm64@0.25.8':
+ resolution: {integrity: sha512-OD3p7LYzWpLhZEyATcTSJ67qB5D+20vbtr6vHlHWSQYhKtzUYrETuWThmzFpZtFsBIxRvhO07+UgVA9m0i/O1w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [android]
- acorn@8.8.1:
- resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==}
- engines: {node: '>=0.4.0'}
- hasBin: true
+ '@esbuild/android-arm@0.25.11':
+ resolution: {integrity: sha512-uoa7dU+Dt3HYsethkJ1k6Z9YdcHjTrSb5NUy66ZfZaSV8hEYGD5ZHbEMXnqLFlbBflLsl89Zke7CAdDJ4JI+Gg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
- ajv@6.12.6:
- resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+ '@esbuild/android-arm@0.25.8':
+ resolution: {integrity: sha512-RONsAvGCz5oWyePVnLdZY/HHwA++nxYWIX1atInlaW6SEkwq6XkP3+cb825EUcRs5Vss/lGh/2YxAb5xqc07Uw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [android]
- ansi-escapes@4.3.2:
- resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==}
- engines: {node: '>=8'}
+ '@esbuild/android-x64@0.25.11':
+ resolution: {integrity: sha512-Sgiab4xBjPU1QoPEIqS3Xx+R2lezu0LKIEcYe6pftr56PqPygbB7+szVnzoShbx64MUupqoE0KyRlN7gezbl8g==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
- ansi-regex@5.0.1:
- resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
- engines: {node: '>=8'}
+ '@esbuild/android-x64@0.25.8':
+ resolution: {integrity: sha512-yJAVPklM5+4+9dTeKwHOaA+LQkmrKFX96BM0A/2zQrbS6ENCmxc4OVoBs5dPkCCak2roAD+jKCdnmOqKszPkjA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [android]
- ansi-styles@4.3.0:
- resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
- engines: {node: '>=8'}
+ '@esbuild/darwin-arm64@0.25.11':
+ resolution: {integrity: sha512-VekY0PBCukppoQrycFxUqkCojnTQhdec0vevUL/EDOCnXd9LKWqD/bHwMPzigIJXPhC59Vd1WFIL57SKs2mg4w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
- any-promise@1.3.0:
- resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+ '@esbuild/darwin-arm64@0.25.8':
+ resolution: {integrity: sha512-Jw0mxgIaYX6R8ODrdkLLPwBqHTtYHJSmzzd+QeytSugzQ0Vg4c5rDky5VgkoowbZQahCbsv1rT1KW72MPIkevw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [darwin]
- anymatch@3.1.2:
- resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
- engines: {node: '>= 8'}
+ '@esbuild/darwin-x64@0.25.11':
+ resolution: {integrity: sha512-+hfp3yfBalNEpTGp9loYgbknjR695HkqtY3d3/JjSRUyPg/xd6q+mQqIb5qdywnDxRZykIHs3axEqU6l1+oWEQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
- argparse@2.0.1:
- resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+ '@esbuild/darwin-x64@0.25.8':
+ resolution: {integrity: sha512-Vh2gLxxHnuoQ+GjPNvDSDRpoBCUzY4Pu0kBqMBDlK4fuWbKgGtmDIeEC081xi26PPjn+1tct+Bh8FjyLlw1Zlg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [darwin]
- array-union@2.1.0:
- resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
- engines: {node: '>=8'}
+ '@esbuild/freebsd-arm64@0.25.11':
+ resolution: {integrity: sha512-CmKjrnayyTJF2eVuO//uSjl/K3KsMIeYeyN7FyDBjsR3lnSJHaXlVoAK8DZa7lXWChbuOk7NjAc7ygAwrnPBhA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
- assertion-error@1.1.0:
- resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==}
+ '@esbuild/freebsd-arm64@0.25.8':
+ resolution: {integrity: sha512-YPJ7hDQ9DnNe5vxOm6jaie9QsTwcKedPvizTVlqWG9GBSq+BuyWEDazlGaDTC5NGU4QJd666V0yqCBL2oWKPfA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [freebsd]
- balanced-match@1.0.2:
- resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+ '@esbuild/freebsd-x64@0.25.11':
+ resolution: {integrity: sha512-Dyq+5oscTJvMaYPvW3x3FLpi2+gSZTCE/1ffdwuM6G1ARang/mb3jvjxs0mw6n3Lsw84ocfo9CrNMqc5lTfGOw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
- base64-js@1.5.1:
- resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
+ '@esbuild/freebsd-x64@0.25.8':
+ resolution: {integrity: sha512-MmaEXxQRdXNFsRN/KcIimLnSJrk2r5H8v+WVafRWz5xdSVmWLoITZQXcgehI2ZE6gioE6HirAEToM/RvFBeuhw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [freebsd]
- binary-extensions@2.2.0:
- resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
- engines: {node: '>=8'}
+ '@esbuild/linux-arm64@0.25.11':
+ resolution: {integrity: sha512-Qr8AzcplUhGvdyUF08A1kHU3Vr2O88xxP0Tm8GcdVOUm25XYcMPp2YqSVHbLuXzYQMf9Bh/iKx7YPqECs6ffLA==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
- bl@4.1.0:
- resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==}
+ '@esbuild/linux-arm64@0.25.8':
+ resolution: {integrity: sha512-WIgg00ARWv/uYLU7lsuDK00d/hHSfES5BzdWAdAig1ioV5kaFNrtK8EqGcUBJhYqotlUByUKz5Qo6u8tt7iD/w==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [linux]
- brace-expansion@1.1.11:
- resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+ '@esbuild/linux-arm@0.25.11':
+ resolution: {integrity: sha512-TBMv6B4kCfrGJ8cUPo7vd6NECZH/8hPpBHHlYI3qzoYFvWu2AdTvZNuU/7hsbKWqu/COU7NIK12dHAAqBLLXgw==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
- braces@3.0.2:
- resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==}
- engines: {node: '>=8'}
+ '@esbuild/linux-arm@0.25.8':
+ resolution: {integrity: sha512-FuzEP9BixzZohl1kLf76KEVOsxtIBFwCaLupVuk4eFVnOZfU+Wsn+x5Ryam7nILV2pkq2TqQM9EZPsOBuMC+kg==}
+ engines: {node: '>=18'}
+ cpu: [arm]
+ os: [linux]
- buffer@5.7.1:
- resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==}
+ '@esbuild/linux-ia32@0.25.11':
+ resolution: {integrity: sha512-TmnJg8BMGPehs5JKrCLqyWTVAvielc615jbkOirATQvWWB1NMXY77oLMzsUjRLa0+ngecEmDGqt5jiDC6bfvOw==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
- bundle-require@3.1.0:
- resolution: {integrity: sha512-IIXtAO7fKcwPHNPt9kY/WNVJqy7NDy6YqJvv6ENH0TOZoJ+yjpEsn1w40WKZbR2ibfu5g1rfgJTvmFHpm5aOMA==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
- peerDependencies:
- esbuild: '>=0.13'
+ '@esbuild/linux-ia32@0.25.8':
+ resolution: {integrity: sha512-A1D9YzRX1i+1AJZuFFUMP1E9fMaYY+GnSQil9Tlw05utlE86EKTUA7RjwHDkEitmLYiFsRd9HwKBPEftNdBfjg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [linux]
- bytes-iec@3.1.1:
- resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==}
- engines: {node: '>= 0.8'}
+ '@esbuild/linux-loong64@0.25.11':
+ resolution: {integrity: sha512-DIGXL2+gvDaXlaq8xruNXUJdT5tF+SBbJQKbWy/0J7OhU8gOHOzKmGIlfTTl6nHaCOoipxQbuJi7O++ldrxgMw==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
- c8@7.12.0:
- resolution: {integrity: sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==}
- engines: {node: '>=10.12.0'}
- hasBin: true
+ '@esbuild/linux-loong64@0.25.8':
+ resolution: {integrity: sha512-O7k1J/dwHkY1RMVvglFHl1HzutGEFFZ3kNiDMSOyUrB7WcoHGf96Sh+64nTRT26l3GMbCW01Ekh/ThKM5iI7hQ==}
+ engines: {node: '>=18'}
+ cpu: [loong64]
+ os: [linux]
- cac@6.7.14:
- resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
- engines: {node: '>=8'}
+ '@esbuild/linux-mips64el@0.25.11':
+ resolution: {integrity: sha512-Osx1nALUJu4pU43o9OyjSCXokFkFbyzjXb6VhGIJZQ5JZi8ylCQ9/LFagolPsHtgw6himDSyb5ETSfmp4rpiKQ==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
- callsites@3.1.0:
- resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
- engines: {node: '>=6'}
+ '@esbuild/linux-mips64el@0.25.8':
+ resolution: {integrity: sha512-uv+dqfRazte3BzfMp8PAQXmdGHQt2oC/y2ovwpTteqrMx2lwaksiFZ/bdkXJC19ttTvNXBuWH53zy/aTj1FgGw==}
+ engines: {node: '>=18'}
+ cpu: [mips64el]
+ os: [linux]
- chai@4.3.6:
- resolution: {integrity: sha512-bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==}
- engines: {node: '>=4'}
+ '@esbuild/linux-ppc64@0.25.11':
+ resolution: {integrity: sha512-nbLFgsQQEsBa8XSgSTSlrnBSrpoWh7ioFDUmwo158gIm5NNP+17IYmNWzaIzWmgCxq56vfr34xGkOcZ7jX6CPw==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
- chalk@4.1.1:
- resolution: {integrity: sha512-diHzdDKxcU+bAsUboHLPEDQiw0qEe0qd7SYUn3HgcFlWgbDcfLGswOHYeGrHKzG9z6UYf01d9VFMfZxPM1xZSg==}
- engines: {node: '>=10'}
+ '@esbuild/linux-ppc64@0.25.8':
+ resolution: {integrity: sha512-GyG0KcMi1GBavP5JgAkkstMGyMholMDybAf8wF5A70CALlDM2p/f7YFE7H92eDeH/VBtFJA5MT4nRPDGg4JuzQ==}
+ engines: {node: '>=18'}
+ cpu: [ppc64]
+ os: [linux]
- chalk@4.1.2:
- resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
- engines: {node: '>=10'}
+ '@esbuild/linux-riscv64@0.25.11':
+ resolution: {integrity: sha512-HfyAmqZi9uBAbgKYP1yGuI7tSREXwIb438q0nqvlpxAOs3XnZ8RsisRfmVsgV486NdjD7Mw2UrFSw51lzUk1ww==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
- chardet@0.7.0:
- resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+ '@esbuild/linux-riscv64@0.25.8':
+ resolution: {integrity: sha512-rAqDYFv3yzMrq7GIcen3XP7TUEG/4LK86LUPMIz6RT8A6pRIDn0sDcvjudVZBiiTcZCY9y2SgYX2lgK3AF+1eg==}
+ engines: {node: '>=18'}
+ cpu: [riscv64]
+ os: [linux]
- check-error@1.0.2:
- resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==}
+ '@esbuild/linux-s390x@0.25.11':
+ resolution: {integrity: sha512-HjLqVgSSYnVXRisyfmzsH6mXqyvj0SA7pG5g+9W7ESgwA70AXYNpfKBqh1KbTxmQVaYxpzA/SvlB9oclGPbApw==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
- chokidar@3.5.3:
- resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
- engines: {node: '>= 8.10.0'}
+ '@esbuild/linux-s390x@0.25.8':
+ resolution: {integrity: sha512-Xutvh6VjlbcHpsIIbwY8GVRbwoviWT19tFhgdA7DlenLGC/mbc3lBoVb7jxj9Z+eyGqvcnSyIltYUrkKzWqSvg==}
+ engines: {node: '>=18'}
+ cpu: [s390x]
+ os: [linux]
- ci-job-number@1.2.2:
- resolution: {integrity: sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==}
+ '@esbuild/linux-x64@0.25.11':
+ resolution: {integrity: sha512-HSFAT4+WYjIhrHxKBwGmOOSpphjYkcswF449j6EjsjbinTZbp8PJtjsVK1XFJStdzXdy/jaddAep2FGY+wyFAQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
- cli-cursor@3.1.0:
- resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==}
- engines: {node: '>=8'}
+ '@esbuild/linux-x64@0.25.8':
+ resolution: {integrity: sha512-ASFQhgY4ElXh3nDcOMTkQero4b1lgubskNlhIfJrsH5OKZXDpUAKBlNS0Kx81jwOBp+HCeZqmoJuihTv57/jvQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [linux]
- cli-spinners@2.6.1:
- resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==}
- engines: {node: '>=6'}
+ '@esbuild/netbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-hr9Oxj1Fa4r04dNpWr3P8QKVVsjQhqrMSUzZzf+LZcYjZNqhA3IAfPQdEh1FLVUJSiu6sgAwp3OmwBfbFgG2Xg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
- cli-width@3.0.0:
- resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==}
- engines: {node: '>= 10'}
+ '@esbuild/netbsd-arm64@0.25.8':
+ resolution: {integrity: sha512-d1KfruIeohqAi6SA+gENMuObDbEjn22olAR7egqnkCD9DGBG0wsEARotkLgXDu6c4ncgWTZJtN5vcgxzWRMzcw==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [netbsd]
- cliui@7.0.4:
- resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==}
+ '@esbuild/netbsd-x64@0.25.11':
+ resolution: {integrity: sha512-u7tKA+qbzBydyj0vgpu+5h5AeudxOAGncb8N6C9Kh1N4n7wU1Xw1JDApsRjpShRpXRQlJLb9wY28ELpwdPcZ7A==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
- clone@1.0.4:
- resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==}
- engines: {node: '>=0.8'}
+ '@esbuild/netbsd-x64@0.25.8':
+ resolution: {integrity: sha512-nVDCkrvx2ua+XQNyfrujIG38+YGyuy2Ru9kKVNyh5jAys6n+l44tTtToqHjino2My8VAY6Lw9H7RI73XFi66Cg==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [netbsd]
- color-convert@2.0.1:
- resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
- engines: {node: '>=7.0.0'}
+ '@esbuild/openbsd-arm64@0.25.11':
+ resolution: {integrity: sha512-Qq6YHhayieor3DxFOoYM1q0q1uMFYb7cSpLD2qzDSvK1NAvqFi8Xgivv0cFC6J+hWVw2teCYltyy9/m/14ryHg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
- color-name@1.1.4:
- resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+ '@esbuild/openbsd-arm64@0.25.8':
+ resolution: {integrity: sha512-j8HgrDuSJFAujkivSMSfPQSAa5Fxbvk4rgNAS5i3K+r8s1X0p1uOO2Hl2xNsGFppOeHOLAVgYwDVlmxhq5h+SQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openbsd]
- commander@4.1.1:
- resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
- engines: {node: '>= 6'}
+ '@esbuild/openbsd-x64@0.25.11':
+ resolution: {integrity: sha512-CN+7c++kkbrckTOz5hrehxWN7uIhFFlmS/hqziSFVWpAzpWrQoAG4chH+nN3Be+Kzv/uuo7zhX716x3Sn2Jduw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
- concat-map@0.0.1:
- resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+ '@esbuild/openbsd-x64@0.25.8':
+ resolution: {integrity: sha512-1h8MUAwa0VhNCDp6Af0HToI2TJFAn1uqT9Al6DJVzdIBAd21m/G0Yfc77KDM3uF3T/YaOgQq3qTJHPbTOInaIQ==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [openbsd]
+
+ '@esbuild/openharmony-arm64@0.25.11':
+ resolution: {integrity: sha512-rOREuNIQgaiR+9QuNkbkxubbp8MSO9rONmwP5nKncnWJ9v5jQ4JxFnLu4zDSRPf3x4u+2VN4pM4RdyIzDty/wQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
- convert-source-map@1.9.0:
- resolution: {integrity: sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==}
+ '@esbuild/openharmony-arm64@0.25.8':
+ resolution: {integrity: sha512-r2nVa5SIK9tSWd0kJd9HCffnDHKchTGikb//9c7HX+r+wHYCpQrSgxhlY6KWV1nFo1l4KFbsMlHk+L6fekLsUg==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [openharmony]
- cookie@0.4.2:
- resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==}
- engines: {node: '>= 0.6'}
+ '@esbuild/sunos-x64@0.25.11':
+ resolution: {integrity: sha512-nq2xdYaWxyg9DcIyXkZhcYulC6pQ2FuCgem3LI92IwMgIZ69KHeY8T4Y88pcwoLIjbed8n36CyKoYRDygNSGhA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
- cross-fetch@3.1.5:
- resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
+ '@esbuild/sunos-x64@0.25.8':
+ resolution: {integrity: sha512-zUlaP2S12YhQ2UzUfcCuMDHQFJyKABkAjvO5YSndMiIkMimPmxA+BYSBikWgsRpvyxuRnow4nS5NPnf9fpv41w==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [sunos]
- cross-spawn@7.0.3:
- resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
- engines: {node: '>= 8'}
+ '@esbuild/win32-arm64@0.25.11':
+ resolution: {integrity: sha512-3XxECOWJq1qMZ3MN8srCJ/QfoLpL+VaxD/WfNRm1O3B4+AZ/BnLVgFbUV3eiRYDMXetciH16dwPbbHqwe1uU0Q==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
- debug@4.3.4:
- resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
- engines: {node: '>=6.0'}
+ '@esbuild/win32-arm64@0.25.8':
+ resolution: {integrity: sha512-YEGFFWESlPva8hGL+zvj2z/SaK+pH0SwOM0Nc/d+rVnW7GSTFlLBGzZkuSU9kFIGIo8q9X3ucpZhu8PDN5A2sQ==}
+ engines: {node: '>=18'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.11':
+ resolution: {integrity: sha512-3ukss6gb9XZ8TlRyJlgLn17ecsK4NSQTmdIXRASVsiS2sQ6zPPZklNJT5GR5tE/MUarymmy8kCEf5xPCNCqVOA==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-ia32@0.25.8':
+ resolution: {integrity: sha512-hiGgGC6KZ5LZz58OL/+qVVoZiuZlUYlYHNAmczOm7bs2oE1XriPFi5ZHHrS8ACpV5EjySrnoCKmcbQMN+ojnHg==}
+ engines: {node: '>=18'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.11':
+ resolution: {integrity: sha512-D7Hpz6A2L4hzsRpPaCYkQnGOotdUpDzSGRIv9I+1ITdHROSFUWW95ZPZWQmGka1Fg7W3zFJowyn9WGwMJ0+KPA==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@esbuild/win32-x64@0.25.8':
+ resolution: {integrity: sha512-cn3Yr7+OaaZq1c+2pe+8yxC8E144SReCQjN6/2ynubzYjvyqZjTXfQJpAcQpsdJq3My7XADANiYGHoFC69pLQw==}
+ engines: {node: '>=18'}
+ cpu: [x64]
+ os: [win32]
+
+ '@eslint-community/eslint-utils@4.7.0':
+ resolution: {integrity: sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
- supports-color: '*'
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+
+ '@eslint-community/regexpp@4.12.1':
+ resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+
+ '@eslint/compat@1.3.1':
+ resolution: {integrity: sha512-k8MHony59I5EPic6EQTCNOuPoVBnoYXkP+20xvwFjN7t0qI3ImyvyBgg+hIVPwC8JaxVjjUZld+cLfBLFDLucg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.40 || 9
peerDependenciesMeta:
- supports-color:
+ eslint:
optional: true
- deep-eql@3.0.1:
- resolution: {integrity: sha512-+QeIQyN5ZuO+3Uk5DYh6/1eKO0m0YmJFGNmFHGACpf1ClL1nmlV/p4gNgbl2pJGxgXb4faqo6UE+M5ACEMyVcw==}
- engines: {node: '>=0.12'}
+ '@eslint/config-array@0.21.0':
+ resolution: {integrity: sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- deep-is@0.1.4:
- resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+ '@eslint/config-helpers@0.3.0':
+ resolution: {integrity: sha512-ViuymvFmcJi04qdZeDc2whTHryouGcDlaxPqarTD0ZE10ISpxGUVZGZDx4w01upyIynL3iu6IXH2bS1NhclQMw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- defaults@1.0.3:
- resolution: {integrity: sha512-s82itHOnYrN0Ib8r+z7laQz3sdE+4FP3d9Q7VLO7U+KRT+CR0GsWuyHxzdAY82I7cXv0G/twrqomTJLOssO5HA==}
+ '@eslint/core@0.15.1':
+ resolution: {integrity: sha512-bkOp+iumZCCbt1K1CmWf0R9pM5yKpDv+ZXtvSyQpudrI9kuFLp+bM2WOPXImuD/ceQuaa8f5pj93Y7zyECIGNA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- dir-glob@3.0.1:
- resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
- engines: {node: '>=8'}
+ '@eslint/eslintrc@3.3.1':
+ resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- doctrine@3.0.0:
- resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==}
- engines: {node: '>=6.0.0'}
+ '@eslint/js@9.32.0':
+ resolution: {integrity: sha512-BBpRFZK3eX6uMLKz8WxFOBIFFcGFJ/g8XuwjTHCqHROSIsopI+ddn/d5Cfh36+7+e5edVS8dbSHnBNhrLEX0zg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- emoji-regex@8.0.0:
- resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+ '@eslint/object-schema@2.1.6':
+ resolution: {integrity: sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- esbuild-android-64@0.14.27:
- resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
+ '@eslint/plugin-kit@0.3.4':
+ resolution: {integrity: sha512-Ul5l+lHEcw3L5+k8POx6r74mxEYKG5kOb6Xpy2gCRW6zweT6TEhAf8vhxGgjhqrd/VO/Dirhsb+1hNpD1ue9hw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
- esbuild-android-64@0.15.12:
- resolution: {integrity: sha512-MJKXwvPY9g0rGps0+U65HlTsM1wUs9lbjt5CU19RESqycGFDRijMDQsh68MtbzkqWSRdEtiKS1mtPzKneaAI0Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [android]
+ '@floating-ui/core@1.7.3':
+ resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==}
- esbuild-android-arm64@0.14.27:
- resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
+ '@floating-ui/dom@1.7.3':
+ resolution: {integrity: sha512-uZA413QEpNuhtb3/iIKoYMSK07keHPYeXF02Zhd6e213j+d1NamLix/mCLxBUDW/Gx52sPH2m+chlUsyaBs/Ag==}
- esbuild-android-arm64@0.15.12:
- resolution: {integrity: sha512-Hc9SEcZbIMhhLcvhr1DH+lrrec9SFTiRzfJ7EGSBZiiw994gfkVV6vG0sLWqQQ6DD7V4+OggB+Hn0IRUdDUqvA==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [android]
+ '@floating-ui/react-dom@2.1.5':
+ resolution: {integrity: sha512-HDO/1/1oH9fjj4eLgegrlH3dklZpHtUYYFiVwMUwfGvk9jWDRWqkklA2/NFScknrcNSspbV868WjXORvreDX+Q==}
+ peerDependencies:
+ react: '>=16.8.0'
+ react-dom: '>=16.8.0'
- esbuild-darwin-64@0.14.27:
- resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
+ '@floating-ui/utils@0.2.10':
+ resolution: {integrity: sha512-aGTxbpbg8/b5JfU1HXSrbH3wXZuLPJcNEcZQFMxLs3oSzgtVu6nFPkbbGGUvBcUjKV2YyB9Wxxabo+HEH9tcRQ==}
- esbuild-darwin-64@0.15.12:
- resolution: {integrity: sha512-qkmqrTVYPFiePt5qFjP8w/S+GIUMbt6k8qmiPraECUWfPptaPJUGkCKrWEfYFRWB7bY23FV95rhvPyh/KARP8Q==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [darwin]
+ '@formatjs/intl-localematcher@0.6.2':
+ resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==}
- esbuild-darwin-arm64@0.14.27:
- resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
- os: [darwin]
+ '@humanfs/core@0.19.1':
+ resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==}
+ engines: {node: '>=18.18.0'}
- esbuild-darwin-arm64@0.15.12:
- resolution: {integrity: sha512-z4zPX02tQ41kcXMyN3c/GfZpIjKoI/BzHrdKUwhC/Ki5BAhWv59A9M8H+iqaRbwpzYrYidTybBwiZAIWCLJAkw==}
- engines: {node: '>=12'}
+ '@humanfs/node@0.16.6':
+ resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==}
+ engines: {node: '>=18.18.0'}
+
+ '@humanwhocodes/module-importer@1.0.1':
+ resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==}
+ engines: {node: '>=12.22'}
+
+ '@humanwhocodes/retry@0.3.1':
+ resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==}
+ engines: {node: '>=18.18'}
+
+ '@humanwhocodes/retry@0.4.3':
+ resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==}
+ engines: {node: '>=18.18'}
+
+ '@ianvs/prettier-plugin-sort-imports@4.5.1':
+ resolution: {integrity: sha512-vOQwIyQHnHz0ikvHEQDzwUkNfX74o/7qNEpm9LiPtyBvCg/AU/DOkhwe1o92chPS1QzS6G7HeiO+OwIt8a358A==}
+ peerDependencies:
+ '@prettier/plugin-oxc': ^0.0.4
+ '@vue/compiler-sfc': 2.7.x || 3.x
+ prettier: 2 || 3 || ^4.0.0-0
+ peerDependenciesMeta:
+ '@prettier/plugin-oxc':
+ optional: true
+ '@vue/compiler-sfc':
+ optional: true
+
+ '@img/sharp-darwin-arm64@0.34.3':
+ resolution: {integrity: sha512-ryFMfvxxpQRsgZJqBd4wsttYQbCxsJksrv9Lw/v798JcQ8+w84mBWuXwl+TT0WJ/WrYOLaYpwQXi3sA9nTIaIg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm64]
os: [darwin]
- esbuild-freebsd-64@0.14.27:
- resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [freebsd]
-
- esbuild-freebsd-64@0.15.12:
- resolution: {integrity: sha512-XFL7gKMCKXLDiAiBjhLG0XECliXaRLTZh6hsyzqUqPUf/PY4C6EJDTKIeqqPKXaVJ8+fzNek88285krSz1QECw==}
- engines: {node: '>=12'}
+ '@img/sharp-darwin-x64@0.34.3':
+ resolution: {integrity: sha512-yHpJYynROAj12TA6qil58hmPmAwxKKC7reUqtGLzsOHfP7/rniNGTL8tjWX6L3CTV4+5P4ypcS7Pp+7OB+8ihA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
- os: [freebsd]
+ os: [darwin]
- esbuild-freebsd-arm64@0.14.27:
- resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==}
- engines: {node: '>=12'}
+ '@img/sharp-libvips-darwin-arm64@1.2.0':
+ resolution: {integrity: sha512-sBZmpwmxqwlqG9ueWFXtockhsxefaV6O84BMOrhtg/YqbTaRdqDE7hxraVE3y6gVM4eExmfzW4a8el9ArLeEiQ==}
cpu: [arm64]
- os: [freebsd]
+ os: [darwin]
- esbuild-freebsd-arm64@0.15.12:
- resolution: {integrity: sha512-jwEIu5UCUk6TjiG1X+KQnCGISI+ILnXzIzt9yDVrhjug2fkYzlLbl0K43q96Q3KB66v6N1UFF0r5Ks4Xo7i72g==}
- engines: {node: '>=12'}
+ '@img/sharp-libvips-darwin-x64@1.2.0':
+ resolution: {integrity: sha512-M64XVuL94OgiNHa5/m2YvEQI5q2cl9d/wk0qFTDVXcYzi43lxuiFTftMR1tOnFQovVXNZJ5TURSDK2pNe9Yzqg==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@img/sharp-libvips-linux-arm64@1.2.0':
+ resolution: {integrity: sha512-RXwd0CgG+uPRX5YYrkzKyalt2OJYRiJQ8ED/fi1tq9WQW2jsQIn0tqrlR5l5dr/rjqq6AHAxURhj2DVjyQWSOA==}
cpu: [arm64]
- os: [freebsd]
+ os: [linux]
- esbuild-linux-32@0.14.27:
- resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==}
- engines: {node: '>=12'}
- cpu: [ia32]
+ '@img/sharp-libvips-linux-arm@1.2.0':
+ resolution: {integrity: sha512-mWd2uWvDtL/nvIzThLq3fr2nnGfyr/XMXlq8ZJ9WMR6PXijHlC3ksp0IpuhK6bougvQrchUAfzRLnbsen0Cqvw==}
+ cpu: [arm]
os: [linux]
- esbuild-linux-32@0.15.12:
- resolution: {integrity: sha512-uSQuSEyF1kVzGzuIr4XM+v7TPKxHjBnLcwv2yPyCz8riV8VUCnO/C4BF3w5dHiVpCd5Z1cebBtZJNlC4anWpwA==}
- engines: {node: '>=12'}
- cpu: [ia32]
+ '@img/sharp-libvips-linux-ppc64@1.2.0':
+ resolution: {integrity: sha512-Xod/7KaDDHkYu2phxxfeEPXfVXFKx70EAFZ0qyUdOjCcxbjqyJOEUpDe6RIyaunGxT34Anf9ue/wuWOqBW2WcQ==}
+ cpu: [ppc64]
os: [linux]
- esbuild-linux-64@0.14.27:
- resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==}
- engines: {node: '>=12'}
- cpu: [x64]
+ '@img/sharp-libvips-linux-s390x@1.2.0':
+ resolution: {integrity: sha512-eMKfzDxLGT8mnmPJTNMcjfO33fLiTDsrMlUVcp6b96ETbnJmd4uvZxVJSKPQfS+odwfVaGifhsB07J1LynFehw==}
+ cpu: [s390x]
os: [linux]
- esbuild-linux-64@0.15.12:
- resolution: {integrity: sha512-QcgCKb7zfJxqT9o5z9ZUeGH1k8N6iX1Y7VNsEi5F9+HzN1OIx7ESxtQXDN9jbeUSPiRH1n9cw6gFT3H4qbdvcA==}
- engines: {node: '>=12'}
+ '@img/sharp-libvips-linux-x64@1.2.0':
+ resolution: {integrity: sha512-ZW3FPWIc7K1sH9E3nxIGB3y3dZkpJlMnkk7z5tu1nSkBoCgw2nSRTFHI5pB/3CQaJM0pdzMF3paf9ckKMSE9Tg==}
cpu: [x64]
os: [linux]
- esbuild-linux-arm64@0.14.27:
- resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==}
- engines: {node: '>=12'}
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.0':
+ resolution: {integrity: sha512-UG+LqQJbf5VJ8NWJ5Z3tdIe/HXjuIdo4JeVNADXBFuG7z9zjoegpzzGIyV5zQKi4zaJjnAd2+g2nna8TZvuW9Q==}
cpu: [arm64]
os: [linux]
- esbuild-linux-arm64@0.15.12:
- resolution: {integrity: sha512-HtNq5xm8fUpZKwWKS2/YGwSfTF+339L4aIA8yphNKYJckd5hVdhfdl6GM2P3HwLSCORS++++7++//ApEwXEuAQ==}
- engines: {node: '>=12'}
- cpu: [arm64]
+ '@img/sharp-libvips-linuxmusl-x64@1.2.0':
+ resolution: {integrity: sha512-SRYOLR7CXPgNze8akZwjoGBoN1ThNZoqpOgfnOxmWsklTGVfJiGJoC/Lod7aNMGA1jSsKWM1+HRX43OP6p9+6Q==}
+ cpu: [x64]
os: [linux]
- esbuild-linux-arm@0.14.27:
- resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==}
- engines: {node: '>=12'}
- cpu: [arm]
+ '@img/sharp-linux-arm64@0.34.3':
+ resolution: {integrity: sha512-QdrKe3EvQrqwkDrtuTIjI0bu6YEJHTgEeqdzI3uWJOH6G1O8Nl1iEeVYRGdj1h5I21CqxSvQp1Yv7xeU3ZewbA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
os: [linux]
- esbuild-linux-arm@0.15.12:
- resolution: {integrity: sha512-Wf7T0aNylGcLu7hBnzMvsTfEXdEdJY/hY3u36Vla21aY66xR0MS5I1Hw8nVquXjTN0A6fk/vnr32tkC/C2lb0A==}
- engines: {node: '>=12'}
+ '@img/sharp-linux-arm@0.34.3':
+ resolution: {integrity: sha512-oBK9l+h6KBN0i3dC8rYntLiVfW8D8wH+NPNT3O/WBHeW0OQWCjfWksLUaPidsrDKpJgXp3G3/hkmhptAW0I3+A==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [arm]
os: [linux]
- esbuild-linux-mips64le@0.14.27:
- resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
+ '@img/sharp-linux-ppc64@0.34.3':
+ resolution: {integrity: sha512-GLtbLQMCNC5nxuImPR2+RgrviwKwVql28FWZIW1zWruy6zLgA5/x2ZXk3mxj58X/tszVF69KK0Is83V8YgWhLA==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ppc64]
os: [linux]
- esbuild-linux-mips64le@0.15.12:
- resolution: {integrity: sha512-Qol3+AvivngUZkTVFgLpb0H6DT+N5/zM3V1YgTkryPYFeUvuT5JFNDR3ZiS6LxhyF8EE+fiNtzwlPqMDqVcc6A==}
- engines: {node: '>=12'}
- cpu: [mips64el]
+ '@img/sharp-linux-s390x@0.34.3':
+ resolution: {integrity: sha512-3gahT+A6c4cdc2edhsLHmIOXMb17ltffJlxR0aC2VPZfwKoTGZec6u5GrFgdR7ciJSsHT27BD3TIuGcuRT0KmQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [s390x]
os: [linux]
- esbuild-linux-ppc64le@0.14.27:
- resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==}
- engines: {node: '>=12'}
- cpu: [ppc64]
+ '@img/sharp-linux-x64@0.34.3':
+ resolution: {integrity: sha512-8kYso8d806ypnSq3/Ly0QEw90V5ZoHh10yH0HnrzOCr6DKAPI6QVHvwleqMkVQ0m+fc7EH8ah0BB0QPuWY6zJQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
os: [linux]
- esbuild-linux-ppc64le@0.15.12:
- resolution: {integrity: sha512-4D8qUCo+CFKaR0cGXtGyVsOI7w7k93Qxb3KFXWr75An0DHamYzq8lt7TNZKoOq/Gh8c40/aKaxvcZnTgQ0TJNg==}
- engines: {node: '>=12'}
- cpu: [ppc64]
+ '@img/sharp-linuxmusl-arm64@0.34.3':
+ resolution: {integrity: sha512-vAjbHDlr4izEiXM1OTggpCcPg9tn4YriK5vAjowJsHwdBIdx0fYRsURkxLG2RLm9gyBq66gwtWI8Gx0/ov+JKQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
os: [linux]
- esbuild-linux-riscv64@0.14.27:
- resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==}
- engines: {node: '>=12'}
- cpu: [riscv64]
+ '@img/sharp-linuxmusl-x64@0.34.3':
+ resolution: {integrity: sha512-gCWUn9547K5bwvOn9l5XGAEjVTTRji4aPTqLzGXHvIr6bIDZKNTA34seMPgM0WmSf+RYBH411VavCejp3PkOeQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [x64]
os: [linux]
- esbuild-linux-riscv64@0.15.12:
- resolution: {integrity: sha512-G9w6NcuuCI6TUUxe6ka0enjZHDnSVK8bO+1qDhMOCtl7Tr78CcZilJj8SGLN00zO5iIlwNRZKHjdMpfFgNn1VA==}
- engines: {node: '>=12'}
- cpu: [riscv64]
- os: [linux]
+ '@img/sharp-wasm32@0.34.3':
+ resolution: {integrity: sha512-+CyRcpagHMGteySaWos8IbnXcHgfDn7pO2fiC2slJxvNq9gDipYBN42/RagzctVRKgxATmfqOSulgZv5e1RdMg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [wasm32]
- esbuild-linux-s390x@0.14.27:
- resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
+ '@img/sharp-win32-arm64@0.34.3':
+ resolution: {integrity: sha512-MjnHPnbqMXNC2UgeLJtX4XqoVHHlZNd+nPt1kRPmj63wURegwBhZlApELdtxM2OIZDRv/DFtLcNhVbd1z8GYXQ==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [arm64]
+ os: [win32]
- esbuild-linux-s390x@0.15.12:
- resolution: {integrity: sha512-Lt6BDnuXbXeqSlVuuUM5z18GkJAZf3ERskGZbAWjrQoi9xbEIsj/hEzVnSAFLtkfLuy2DE4RwTcX02tZFunXww==}
- engines: {node: '>=12'}
- cpu: [s390x]
- os: [linux]
+ '@img/sharp-win32-ia32@0.34.3':
+ resolution: {integrity: sha512-xuCdhH44WxuXgOM714hn4amodJMZl3OEvf0GVTm0BEyMeA2to+8HEdRPShH0SLYptJY1uBw+SCFP9WVQi1Q/cw==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+ cpu: [ia32]
+ os: [win32]
- esbuild-netbsd-64@0.14.27:
- resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==}
- engines: {node: '>=12'}
+ '@img/sharp-win32-x64@0.34.3':
+ resolution: {integrity: sha512-OWwz05d++TxzLEv4VnsTz5CmZ6mI6S05sfQGEMrNrQcOEERbX46332IvE7pO/EUiw7jUrrS40z/M7kPyjfl04g==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
cpu: [x64]
- os: [netbsd]
+ os: [win32]
- esbuild-netbsd-64@0.15.12:
- resolution: {integrity: sha512-jlUxCiHO1dsqoURZDQts+HK100o0hXfi4t54MNRMCAqKGAV33JCVvMplLAa2FwviSojT/5ZG5HUfG3gstwAG8w==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [netbsd]
+ '@inquirer/ansi@1.0.1':
+ resolution: {integrity: sha512-yqq0aJW/5XPhi5xOAL1xRCpe1eh8UFVgYFpFsjEqmIR8rKLyP+HINvFXwUaxYICflJrVlxnp7lLN6As735kVpw==}
+ engines: {node: '>=18'}
- esbuild-openbsd-64@0.14.27:
- resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
+ '@inquirer/confirm@5.1.19':
+ resolution: {integrity: sha512-wQNz9cfcxrtEnUyG5PndC8g3gZ7lGDBzmWiXZkX8ot3vfZ+/BLjR8EvyGX4YzQLeVqtAlY/YScZpW7CW8qMoDQ==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- esbuild-openbsd-64@0.15.12:
- resolution: {integrity: sha512-1o1uAfRTMIWNOmpf8v7iudND0L6zRBYSH45sofCZywrcf7NcZA+c7aFsS1YryU+yN7aRppTqdUK1PgbZVaB1Dw==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [openbsd]
+ '@inquirer/core@10.3.0':
+ resolution: {integrity: sha512-Uv2aPPPSK5jeCplQmQ9xadnFx2Zhj9b5Dj7bU6ZeCdDNNY11nhYy4btcSdtDguHqCT2h5oNeQTcUNSGGLA7NTA==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
- esbuild-plugin-umd-wrapper@3.0.0:
- resolution: {integrity: sha512-Ht3jrO7r8oF8FgPIhMnfNQvYLHhz2QA1ggPqfBhoVq0VfYNczqJ6nwQ4PhO5UvrUymn+Q0Nc50xpiDbxI+KR2Q==}
+ '@inquirer/figures@1.0.14':
+ resolution: {integrity: sha512-DbFgdt+9/OZYFM+19dbpXOSeAstPy884FPy1KjDu4anWwymZeOYhMY1mdFri172htv6mvc/uvIAAi7b7tvjJBQ==}
+ engines: {node: '>=18'}
- esbuild-sunos-64@0.14.27:
- resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==}
- engines: {node: '>=12'}
- cpu: [x64]
- os: [sunos]
+ '@inquirer/type@3.0.9':
+ resolution: {integrity: sha512-QPaNt/nmE2bLGQa9b7wwyRJoLZ7pN6rcyXvzU0YCmivmJyq1BVo94G98tStRWkoD1RgDX5C+dPlhhHzNdu/W/w==}
+ engines: {node: '>=18'}
+ peerDependencies:
+ '@types/node': '>=18'
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+
+ '@isaacs/balanced-match@4.0.1':
+ resolution: {integrity: sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==}
+ engines: {node: 20 || >=22}
- esbuild-sunos-64@0.15.12:
- resolution: {integrity: sha512-nkl251DpoWoBO9Eq9aFdoIt2yYmp4I3kvQjba3jFKlMXuqQ9A4q+JaqdkCouG3DHgAGnzshzaGu6xofGcXyPXg==}
+ '@isaacs/brace-expansion@5.0.0':
+ resolution: {integrity: sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==}
+ engines: {node: 20 || >=22}
+
+ '@isaacs/cliui@8.0.2':
+ resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==}
engines: {node: '>=12'}
+
+ '@isaacs/fs-minipass@4.0.1':
+ resolution: {integrity: sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==}
+ engines: {node: '>=18.0.0'}
+
+ '@istanbuljs/schema@0.1.3':
+ resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==}
+ engines: {node: '>=8'}
+
+ '@jridgewell/gen-mapping@0.3.12':
+ resolution: {integrity: sha512-OuLGC46TjB5BbN1dH8JULVVZY4WTdkF7tV9Ys6wLL1rubZnCMstOhNHueU5bLCrnRuDhKPDM4g6sw4Bel5Gzqg==}
+
+ '@jridgewell/resolve-uri@3.1.0':
+ resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==}
+ engines: {node: '>=6.0.0'}
+
+ '@jridgewell/sourcemap-codec@1.5.4':
+ resolution: {integrity: sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==}
+
+ '@jridgewell/trace-mapping@0.3.29':
+ resolution: {integrity: sha512-uw6guiW/gcAGPDhLmd77/6lW8QLeiV5RUTsAX46Db6oLhGaVj4lhnPwb184s1bkc8kdVg/+h988dro8GRDpmYQ==}
+
+ '@manypkg/find-root@1.1.0':
+ resolution: {integrity: sha512-mki5uBvhHzO8kYYix/WRy2WX8S3B5wdVSc9D6KcU5lQNglP2yt58/VfLuAK49glRXChosY8ap2oJ1qgma3GUVA==}
+
+ '@manypkg/get-packages@1.1.3':
+ resolution: {integrity: sha512-fo+QhuU3qE/2TQMQmbVMqaQ6EWbMhi4ABWP+O4AM1NqPBuy0OrApV5LO6BrrgnhtAHS2NH6RrVk9OL181tTi8A==}
+
+ '@mdx-js/mdx@3.1.1':
+ resolution: {integrity: sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==}
+
+ '@mswjs/interceptors@0.39.8':
+ resolution: {integrity: sha512-2+BzZbjRO7Ct61k8fMNHEtoKjeWI9pIlHFTqBwZ5icHpqszIgEZbjb1MW5Z0+bITTCTl3gk4PDBxs9tA/csXvA==}
+ engines: {node: '>=18'}
+
+ '@next/env@15.5.6':
+ resolution: {integrity: sha512-3qBGRW+sCGzgbpc5TS1a0p7eNxnOarGVQhZxfvTdnV0gFI61lX7QNtQ4V1TSREctXzYn5NetbUsLvyqwLFJM6Q==}
+
+ '@next/eslint-plugin-next@15.4.6':
+ resolution: {integrity: sha512-2NOu3ln+BTcpnbIDuxx6MNq+pRrCyey4WSXGaJIyt0D2TYicHeO9QrUENNjcf673n3B1s7hsiV5xBYRCK1Q8kA==}
+
+ '@next/swc-darwin-arm64@15.5.6':
+ resolution: {integrity: sha512-ES3nRz7N+L5Umz4KoGfZ4XX6gwHplwPhioVRc25+QNsDa7RtUF/z8wJcbuQ2Tffm5RZwuN2A063eapoJ1u4nPg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@next/swc-darwin-x64@15.5.6':
+ resolution: {integrity: sha512-JIGcytAyk9LQp2/nuVZPAtj8uaJ/zZhsKOASTjxDug0SPU9LAM3wy6nPU735M1OqacR4U20LHVF5v5Wnl9ptTA==}
+ engines: {node: '>= 10'}
cpu: [x64]
- os: [sunos]
+ os: [darwin]
- esbuild-windows-32@0.14.27:
- resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
+ '@next/swc-linux-arm64-gnu@15.5.6':
+ resolution: {integrity: sha512-qvz4SVKQ0P3/Im9zcS2RmfFL/UCQnsJKJwQSkissbngnB/12c6bZTCB0gHTexz1s6d/mD0+egPKXAIRFVS7hQg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- esbuild-windows-32@0.15.12:
- resolution: {integrity: sha512-WlGeBZHgPC00O08luIp5B2SP4cNCp/PcS+3Pcg31kdcJPopHxLkdCXtadLU9J82LCfw4TVls21A6lilQ9mzHrw==}
- engines: {node: '>=12'}
- cpu: [ia32]
- os: [win32]
+ '@next/swc-linux-arm64-musl@15.5.6':
+ resolution: {integrity: sha512-FsbGVw3SJz1hZlvnWD+T6GFgV9/NYDeLTNQB2MXoPN5u9VA9OEDy6fJEfePfsUKAhJufFbZLgp0cPxMuV6SV0w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
- esbuild-windows-64@0.14.27:
- resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==}
- engines: {node: '>=12'}
+ '@next/swc-linux-x64-gnu@15.5.6':
+ resolution: {integrity: sha512-3QnHGFWlnvAgyxFxt2Ny8PTpXtQD7kVEeaFat5oPAHHI192WKYB+VIKZijtHLGdBBvc16tiAkPTDmQNOQ0dyrA==}
+ engines: {node: '>= 10'}
cpu: [x64]
- os: [win32]
+ os: [linux]
- esbuild-windows-64@0.15.12:
- resolution: {integrity: sha512-VActO3WnWZSN//xjSfbiGOSyC+wkZtI8I4KlgrTo5oHJM6z3MZZBCuFaZHd8hzf/W9KPhF0lY8OqlmWC9HO5AA==}
- engines: {node: '>=12'}
+ '@next/swc-linux-x64-musl@15.5.6':
+ resolution: {integrity: sha512-OsGX148sL+TqMK9YFaPFPoIaJKbFJJxFzkXZljIgA9hjMjdruKht6xDCEv1HLtlLNfkx3c5w2GLKhj7veBQizQ==}
+ engines: {node: '>= 10'}
cpu: [x64]
- os: [win32]
+ os: [linux]
- esbuild-windows-arm64@0.14.27:
- resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==}
- engines: {node: '>=12'}
+ '@next/swc-win32-arm64-msvc@15.5.6':
+ resolution: {integrity: sha512-ONOMrqWxdzXDJNh2n60H6gGyKed42Ieu6UTVPZteXpuKbLZTH4G4eBMsr5qWgOBA+s7F+uB4OJbZnrkEDnZ5Fg==}
+ engines: {node: '>= 10'}
cpu: [arm64]
os: [win32]
- esbuild-windows-arm64@0.15.12:
- resolution: {integrity: sha512-Of3MIacva1OK/m4zCNIvBfz8VVROBmQT+gRX6pFTLPngFYcj6TFH/12VveAqq1k9VB2l28EoVMNMUCcmsfwyuA==}
- engines: {node: '>=12'}
- cpu: [arm64]
+ '@next/swc-win32-x64-msvc@15.5.6':
+ resolution: {integrity: sha512-pxK4VIjFRx1MY92UycLOOw7dTdvccWsNETQ0kDHkBlcFH1GrTLUjSiHU1ohrznnux6TqRHgv5oflhfIWZwVROQ==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
os: [win32]
- esbuild@0.14.27:
- resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==}
- engines: {node: '>=12'}
- hasBin: true
+ '@nodelib/fs.scandir@2.1.5':
+ resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==}
+ engines: {node: '>= 8'}
- esbuild@0.15.12:
- resolution: {integrity: sha512-PcT+/wyDqJQsRVhaE9uX/Oq4XLrFh0ce/bs2TJh4CSaw9xuvI+xFrH2nAYOADbhQjUgAhNWC5LKoUsakm4dxng==}
- engines: {node: '>=12'}
- hasBin: true
+ '@nodelib/fs.stat@2.0.5':
+ resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==}
+ engines: {node: '>= 8'}
- escalade@3.1.1:
- resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==}
- engines: {node: '>=6'}
+ '@nodelib/fs.walk@1.2.8':
+ resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==}
+ engines: {node: '>= 8'}
- escape-string-regexp@1.0.5:
- resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==}
- engines: {node: '>=0.8.0'}
+ '@open-draft/deferred-promise@2.2.0':
+ resolution: {integrity: sha512-CecwLWx3rhxVQF6V4bAgPS5t+So2sTbPgAzafKkVizyi7tlwpcFpdFqq+wqF2OwNBmqFuu6tOyouTuxgpMfzmA==}
- escape-string-regexp@4.0.0:
- resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
- engines: {node: '>=10'}
+ '@open-draft/logger@0.3.0':
+ resolution: {integrity: sha512-X2g45fzhxH238HKO4xbSr7+wBS8Fvw6ixhTDuvLd5mqh6bJJCFAPwU9mPDxbcrRtfxv4u5IHCEH77BmxvXmmxQ==}
- eslint-config-prettier@8.5.0:
- resolution: {integrity: sha512-obmWKLUNCnhtQRKc+tmnYuQl0pFU1ibYJQ5BGhTVB08bHe9wC8qUeG7c08dj9XX+AuPj1YSGSQIHl1pnDHZR0Q==}
- hasBin: true
+ '@open-draft/until@2.1.0':
+ resolution: {integrity: sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg==}
+
+ '@orama/orama@3.1.16':
+ resolution: {integrity: sha512-scSmQBD8eANlMUOglxHrN1JdSW8tDghsPuS83otqealBiIeMukCQMOf/wc0JJjDXomqwNdEQFLXLGHrU6PGxuA==}
+ engines: {node: '>= 20.0.0'}
+
+ '@pkgjs/parseargs@0.11.0':
+ resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==}
+ engines: {node: '>=14'}
+
+ '@radix-ui/number@1.1.1':
+ resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==}
+
+ '@radix-ui/primitive@1.1.3':
+ resolution: {integrity: sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==}
+
+ '@radix-ui/react-accordion@1.2.12':
+ resolution: {integrity: sha512-T4nygeh9YE9dLRPhAHSeOZi7HBXo+0kYIPJXayZfvWOWA0+n3dESrZbjfDPUABkUNym6Hd+f2IR113To8D2GPA==}
peerDependencies:
- eslint: '>=7.0.0'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- eslint-plugin-prettier@4.2.1:
- resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==}
- engines: {node: '>=12.0.0'}
+ '@radix-ui/react-arrow@1.1.7':
+ resolution: {integrity: sha512-F+M1tLhO+mlQaOWspE8Wstg+z6PwxwRd8oQ8IXceWz92kfAmalTRf0EjrouQeo7QssEPfCn05B4Ihs1K9WQ/7w==}
peerDependencies:
- eslint: '>=7.28.0'
- eslint-config-prettier: '*'
- prettier: '>=2.0.0'
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
peerDependenciesMeta:
- eslint-config-prettier:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
optional: true
- eslint-scope@5.1.1:
- resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==}
- engines: {node: '>=8.0.0'}
+ '@radix-ui/react-collapsible@1.1.12':
+ resolution: {integrity: sha512-Uu+mSh4agx2ib1uIGPP4/CKNULyajb3p92LsVXmH2EHVMTfZWpll88XJ0j4W0z3f8NK1eYl1+Mf/szHPmcHzyA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- eslint-scope@7.1.1:
- resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@radix-ui/react-collection@1.1.7':
+ resolution: {integrity: sha512-Fh9rGN0MoI4ZFUNyfFVNU4y9LUz93u9/0K+yLgA2bwRojxM8JU1DyvvMBabnZPBgMWREAJvU2jjVzq+LrFUglw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- eslint-utils@3.0.0:
- resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==}
- engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0}
+ '@radix-ui/react-compose-refs@1.1.2':
+ resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==}
peerDependencies:
- eslint: '>=5'
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- eslint-visitor-keys@2.1.0:
- resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==}
- engines: {node: '>=10'}
+ '@radix-ui/react-context@1.1.2':
+ resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- eslint-visitor-keys@3.3.0:
- resolution: {integrity: sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@radix-ui/react-dialog@1.1.15':
+ resolution: {integrity: sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- eslint@8.26.0:
- resolution: {integrity: sha512-kzJkpaw1Bfwheq4VXUezFriD1GxszX6dUekM7Z3aC2o4hju+tsR/XyTC3RcoSD7jmy9VkPU3+N6YjVU2e96Oyg==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
- deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options.
- hasBin: true
+ '@radix-ui/react-direction@1.1.1':
+ resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- espree@9.4.0:
- resolution: {integrity: sha512-DQmnRpLj7f6TgN/NYb0MTzJXL+vJF9h3pHy4JhCIs3zwcgez8xmGg3sXHcEO97BrmO2OSvCwMdfdlyl+E9KjOw==}
- engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+ '@radix-ui/react-dismissable-layer@1.1.11':
+ resolution: {integrity: sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- esquery@1.4.0:
- resolution: {integrity: sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==}
- engines: {node: '>=0.10'}
+ '@radix-ui/react-focus-guards@1.1.3':
+ resolution: {integrity: sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- esrecurse@4.3.0:
- resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
- engines: {node: '>=4.0'}
+ '@radix-ui/react-focus-scope@1.1.7':
+ resolution: {integrity: sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- estraverse@4.3.0:
- resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==}
- engines: {node: '>=4.0'}
+ '@radix-ui/react-id@1.1.1':
+ resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
- estraverse@5.3.0:
- resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
- engines: {node: '>=4.0'}
+ '@radix-ui/react-navigation-menu@1.2.14':
+ resolution: {integrity: sha512-YB9mTFQvCOAQMHU+C/jVl96WmuWeltyUEpRJJky51huhds5W2FQr1J8D/16sQlf0ozxkPK8uF3niQMdUwZPv5w==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- esutils@2.0.3:
- resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
- engines: {node: '>=0.10.0'}
+ '@radix-ui/react-popover@1.1.15':
+ resolution: {integrity: sha512-kr0X2+6Yy/vJzLYJUPCZEc8SfQcf+1COFoAqauJm74umQhta9M7lNJHP7QQS3vkvcGLQUbWpMzwrXYwrYztHKA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-popper@1.2.8':
+ resolution: {integrity: sha512-0NJQ4LFFUuWkE7Oxf0htBKS6zLkkjBH+hM1uk7Ng705ReR8m/uelduy1DBo0PyBXPKVnBA6YBlU94MBGXrSBCw==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- events@3.3.0:
- resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==}
- engines: {node: '>=0.8.x'}
+ '@radix-ui/react-portal@1.1.9':
+ resolution: {integrity: sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
- execa@5.1.1:
- resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==}
- engines: {node: '>=10'}
+ '@radix-ui/react-presence@1.1.5':
+ resolution: {integrity: sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-primitive@2.1.3':
+ resolution: {integrity: sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-roving-focus@1.1.11':
+ resolution: {integrity: sha512-7A6S9jSgm/S+7MdtNDSb+IU859vQqJ/QAtcYQcfFC6W8RS4IxIZDldLR0xqCFZ6DCyrQLjLPsxtTNch5jVA4lA==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-scroll-area@1.2.10':
+ resolution: {integrity: sha512-tAXIa1g3sM5CGpVT0uIbUx/U3Gs5N8T52IICuCtObaos1S8fzsrPXG5WObkQN3S6NVl6wKgPhAIiBGbWnvc97A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-slot@1.2.3':
+ resolution: {integrity: sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-tabs@1.1.13':
+ resolution: {integrity: sha512-7xdcatg7/U+7+Udyoj2zodtI9H/IIopqo+YOIcZOq1nJwXWBZ9p8xiu5llXlekDbZkca79a/fozEYQXIA4sW6A==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/react-use-callback-ref@1.1.1':
+ resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-controllable-state@1.2.2':
+ resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-effect-event@0.0.2':
+ resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-escape-keydown@1.1.1':
+ resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-layout-effect@1.1.1':
+ resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-previous@1.1.1':
+ resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-rect@1.1.1':
+ resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-use-size@1.1.1':
+ resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ '@radix-ui/react-visually-hidden@1.2.3':
+ resolution: {integrity: sha512-pzJq12tEaaIhqjbzpCuv/OypJY/BPavOofm+dbab+MHLajy277+1lLm6JFcGgF5eskJ6mquGirhXY2GD/8u8Ug==}
+ peerDependencies:
+ '@types/react': '*'
+ '@types/react-dom': '*'
+ react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ '@types/react-dom':
+ optional: true
+
+ '@radix-ui/rect@1.1.1':
+ resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==}
+
+ '@rollup/rollup-android-arm-eabi@4.46.2':
+ resolution: {integrity: sha512-Zj3Hl6sN34xJtMv7Anwb5Gu01yujyE/cLBDB2gnHTAHaWS1Z38L7kuSG+oAh0giZMqG060f/YBStXtMH6FvPMA==}
+ cpu: [arm]
+ os: [android]
+
+ '@rollup/rollup-android-arm64@4.46.2':
+ resolution: {integrity: sha512-nTeCWY83kN64oQ5MGz3CgtPx8NSOhC5lWtsjTs+8JAJNLcP3QbLCtDDgUKQc/Ro/frpMq4SHUaHN6AMltcEoLQ==}
+ cpu: [arm64]
+ os: [android]
+
+ '@rollup/rollup-darwin-arm64@4.46.2':
+ resolution: {integrity: sha512-HV7bW2Fb/F5KPdM/9bApunQh68YVDU8sO8BvcW9OngQVN3HHHkw99wFupuUJfGR9pYLLAjcAOA6iO+evsbBaPQ==}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@rollup/rollup-darwin-x64@4.46.2':
+ resolution: {integrity: sha512-SSj8TlYV5nJixSsm/y3QXfhspSiLYP11zpfwp6G/YDXctf3Xkdnk4woJIF5VQe0of2OjzTt8EsxnJDCdHd2xMA==}
+ cpu: [x64]
+ os: [darwin]
+
+ '@rollup/rollup-freebsd-arm64@4.46.2':
+ resolution: {integrity: sha512-ZyrsG4TIT9xnOlLsSSi9w/X29tCbK1yegE49RYm3tu3wF1L/B6LVMqnEWyDB26d9Ecx9zrmXCiPmIabVuLmNSg==}
+ cpu: [arm64]
+ os: [freebsd]
+
+ '@rollup/rollup-freebsd-x64@4.46.2':
+ resolution: {integrity: sha512-pCgHFoOECwVCJ5GFq8+gR8SBKnMO+xe5UEqbemxBpCKYQddRQMgomv1104RnLSg7nNvgKy05sLsY51+OVRyiVw==}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
+ resolution: {integrity: sha512-EtP8aquZ0xQg0ETFcxUbU71MZlHaw9MChwrQzatiE8U/bvi5uv/oChExXC4mWhjiqK7azGJBqU0tt5H123SzVA==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm-musleabihf@4.46.2':
+ resolution: {integrity: sha512-qO7F7U3u1nfxYRPM8HqFtLd+raev2K137dsV08q/LRKRLEc7RsiDWihUnrINdsWQxPR9jqZ8DIIZ1zJJAm5PjQ==}
+ cpu: [arm]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-gnu@4.46.2':
+ resolution: {integrity: sha512-3dRaqLfcOXYsfvw5xMrxAk9Lb1f395gkoBYzSFcc/scgRFptRXL9DOaDpMiehf9CO8ZDRJW2z45b6fpU5nwjng==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-arm64-musl@4.46.2':
+ resolution: {integrity: sha512-fhHFTutA7SM+IrR6lIfiHskxmpmPTJUXpWIsBXpeEwNgZzZZSg/q4i6FU4J8qOGyJ0TR+wXBwx/L7Ho9z0+uDg==}
+ cpu: [arm64]
+ os: [linux]
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
+ resolution: {integrity: sha512-i7wfGFXu8x4+FRqPymzjD+Hyav8l95UIZ773j7J7zRYc3Xsxy2wIn4x+llpunexXe6laaO72iEjeeGyUFmjKeA==}
+ cpu: [loong64]
+ os: [linux]
+
+ '@rollup/rollup-linux-ppc64-gnu@4.46.2':
+ resolution: {integrity: sha512-B/l0dFcHVUnqcGZWKcWBSV2PF01YUt0Rvlurci5P+neqY/yMKchGU8ullZvIv5e8Y1C6wOn+U03mrDylP5q9Yw==}
+ cpu: [ppc64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-gnu@4.46.2':
+ resolution: {integrity: sha512-32k4ENb5ygtkMwPMucAb8MtV8olkPT03oiTxJbgkJa7lJ7dZMr0GCFJlyvy+K8iq7F/iuOr41ZdUHaOiqyR3iQ==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-riscv64-musl@4.46.2':
+ resolution: {integrity: sha512-t5B2loThlFEauloaQkZg9gxV05BYeITLvLkWOkRXogP4qHXLkWSbSHKM9S6H1schf/0YGP/qNKtiISlxvfmmZw==}
+ cpu: [riscv64]
+ os: [linux]
+
+ '@rollup/rollup-linux-s390x-gnu@4.46.2':
+ resolution: {integrity: sha512-YKjekwTEKgbB7n17gmODSmJVUIvj8CX7q5442/CK80L8nqOUbMtf8b01QkG3jOqyr1rotrAnW6B/qiHwfcuWQA==}
+ cpu: [s390x]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-gnu@4.46.2':
+ resolution: {integrity: sha512-Jj5a9RUoe5ra+MEyERkDKLwTXVu6s3aACP51nkfnK9wJTraCC8IMe3snOfALkrjTYd2G1ViE1hICj0fZ7ALBPA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-linux-x64-musl@4.46.2':
+ resolution: {integrity: sha512-7kX69DIrBeD7yNp4A5b81izs8BqoZkCIaxQaOpumcJ1S/kmqNFjPhDu1LHeVXv0SexfHQv5cqHsxLOjETuqDuA==}
+ cpu: [x64]
+ os: [linux]
+
+ '@rollup/rollup-win32-arm64-msvc@4.46.2':
+ resolution: {integrity: sha512-wiJWMIpeaak/jsbaq2HMh/rzZxHVW1rU6coyeNNpMwk5isiPjSTx0a4YLSlYDwBH/WBvLz+EtsNqQScZTLJy3g==}
+ cpu: [arm64]
+ os: [win32]
+
+ '@rollup/rollup-win32-ia32-msvc@4.46.2':
+ resolution: {integrity: sha512-gBgaUDESVzMgWZhcyjfs9QFK16D8K6QZpwAaVNJxYDLHWayOta4ZMjGm/vsAEy3hvlS2GosVFlBlP9/Wb85DqQ==}
+ cpu: [ia32]
+ os: [win32]
+
+ '@rollup/rollup-win32-x64-msvc@4.46.2':
+ resolution: {integrity: sha512-CvUo2ixeIQGtF6WvuB87XWqPQkoFAFqW+HUo/WzHwuHDvIwZCtjdWXoYCcr06iKGydiqTclC4jU/TNObC/xKZg==}
+ cpu: [x64]
+ os: [win32]
+
+ '@rtsao/scc@1.1.0':
+ resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==}
+
+ '@shikijs/core@3.13.0':
+ resolution: {integrity: sha512-3P8rGsg2Eh2qIHekwuQjzWhKI4jV97PhvYjYUzGqjvJfqdQPz+nMlfWahU24GZAyW1FxFI1sYjyhfh5CoLmIUA==}
+
+ '@shikijs/engine-javascript@3.13.0':
+ resolution: {integrity: sha512-Ty7xv32XCp8u0eQt8rItpMs6rU9Ki6LJ1dQOW3V/56PKDcpvfHPnYFbsx5FFUP2Yim34m/UkazidamMNVR4vKg==}
+
+ '@shikijs/engine-oniguruma@3.13.0':
+ resolution: {integrity: sha512-O42rBGr4UDSlhT2ZFMxqM7QzIU+IcpoTMzb3W7AlziI1ZF7R8eS2M0yt5Ry35nnnTX/LTLXFPUjRFCIW+Operg==}
+
+ '@shikijs/langs@3.13.0':
+ resolution: {integrity: sha512-672c3WAETDYHwrRP0yLy3W1QYB89Hbpj+pO4KhxK6FzIrDI2FoEXNiNCut6BQmEApYLfuYfpgOZaqbY+E9b8wQ==}
+
+ '@shikijs/rehype@3.13.0':
+ resolution: {integrity: sha512-dxvB5gXEpiTI3beGwOPEwxFxQNmUWM4cwOWbvUmL6DnQJGl18/+cCjVHZK2OnasmU0v7SvM39Zh3iliWdwfBDA==}
+
+ '@shikijs/themes@3.13.0':
+ resolution: {integrity: sha512-Vxw1Nm1/Od8jyA7QuAenaV78BG2nSr3/gCGdBkLpfLscddCkzkL36Q5b67SrLLfvAJTOUzW39x4FHVCFriPVgg==}
+
+ '@shikijs/transformers@3.13.0':
+ resolution: {integrity: sha512-833lcuVzcRiG+fXvgslWsM2f4gHpjEgui1ipIknSizRuTgMkNZupiXE5/TVJ6eSYfhNBFhBZKkReKWO2GgYmqA==}
+
+ '@shikijs/types@3.13.0':
+ resolution: {integrity: sha512-oM9P+NCFri/mmQ8LoFGVfVyemm5Hi27330zuOBp0annwJdKH1kOLndw3zCtAVDehPLg9fKqoEx3Ht/wNZxolfw==}
+
+ '@shikijs/vscode-textmate@10.0.2':
+ resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==}
+
+ '@size-limit/esbuild@7.0.8':
+ resolution: {integrity: sha512-AzCrxJJThDvHrBNoolebYVgXu46c6HuS3fOxoXr3V0YWNM0qz81z5F3j7RruzboZnls8ZgME4WrH6GM5rB9gtA==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ peerDependencies:
+ size-limit: 7.0.8
+
+ '@size-limit/file@7.0.8':
+ resolution: {integrity: sha512-1KeFQuMXIXAH/iELqIX7x+YNYDFvzIvmxcp9PrdwEoSNL0dXdaDIo9WE/yz8xvOmUcKaLfqbWkL75DM0k91WHQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ peerDependencies:
+ size-limit: 7.0.8
+
+ '@size-limit/preset-small-lib@7.0.8':
+ resolution: {integrity: sha512-CT8nIYA/c2CSD+X4rAUgwqYccQMahJ6rBnaZxvi3YKFdkXIbuGNXHNjHsYaFksgwG9P4UjG/unyO5L73f3zQBw==}
+ peerDependencies:
+ size-limit: 7.0.8
+
+ '@standard-schema/spec@1.0.0':
+ resolution: {integrity: sha512-m2bOd0f2RT9k8QJx1JN85cZYyH1RqFBdlwtkSlf4tBDYLCiiZnv1fIIwacK6cqwXavOydf0NPToMQgpKq+dVlA==}
+
+ '@swc/core-darwin-arm64@1.10.4':
+ resolution: {integrity: sha512-sV/eurLhkjn/197y48bxKP19oqcLydSel42Qsy2zepBltqUx+/zZ8+/IS0Bi7kaWVFxerbW1IPB09uq8Zuvm3g==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@swc/core-darwin-x64@1.10.4':
+ resolution: {integrity: sha512-gjYNU6vrAUO4+FuovEo9ofnVosTFXkF0VDuo1MKPItz6e2pxc2ale4FGzLw0Nf7JB1sX4a8h06CN16/pLJ8Q2w==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@swc/core-linux-arm-gnueabihf@1.10.4':
+ resolution: {integrity: sha512-zd7fXH5w8s+Sfvn2oO464KDWl+ZX1MJiVmE4Pdk46N3PEaNwE0koTfgx2vQRqRG4vBBobzVvzICC3618WcefOA==}
+ engines: {node: '>=10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@swc/core-linux-arm64-gnu@1.10.4':
+ resolution: {integrity: sha512-+UGfoHDxsMZgFD3tABKLeEZHqLNOkxStu+qCG7atGBhS4Slri6h6zijVvf4yI5X3kbXdvc44XV/hrP/Klnui2A==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-arm64-musl@1.10.4':
+ resolution: {integrity: sha512-cDDj2/uYsOH0pgAnDkovLZvKJpFmBMyXkxEG6Q4yw99HbzO6QzZ5HDGWGWVq/6dLgYKlnnmpjZCPPQIu01mXEg==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@swc/core-linux-x64-gnu@1.10.4':
+ resolution: {integrity: sha512-qJXh9D6Kf5xSdGWPINpLGixAbB5JX8JcbEJpRamhlDBoOcQC79dYfOMEIxWPhTS1DGLyFakAx2FX/b2VmQmj0g==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-linux-x64-musl@1.10.4':
+ resolution: {integrity: sha512-A76lIAeyQnHCVt0RL/pG+0er8Qk9+acGJqSZOZm67Ve3B0oqMd871kPtaHBM0BW3OZAhoILgfHW3Op9Q3mx3Cw==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@swc/core-win32-arm64-msvc@1.10.4':
+ resolution: {integrity: sha512-e6j5kBu4fIY7fFxFxnZI0MlEovRvp50Lg59Fw+DVbtqHk3C85dckcy5xKP+UoXeuEmFceauQDczUcGs19SRGSQ==}
+ engines: {node: '>=10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@swc/core-win32-ia32-msvc@1.10.4':
+ resolution: {integrity: sha512-RSYHfdKgNXV/amY5Tqk1EWVsyQnhlsM//jeqMLw5Fy9rfxP592W9UTumNikNRPdjI8wKKzNMXDb1U29tQjN0dg==}
+ engines: {node: '>=10'}
+ cpu: [ia32]
+ os: [win32]
+
+ '@swc/core-win32-x64-msvc@1.10.4':
+ resolution: {integrity: sha512-1ujYpaqfqNPYdwKBlvJnOqcl+Syn3UrQ4XE0Txz6zMYgyh6cdU6a3pxqLqIUSJ12MtXRA9ZUhEz1ekU3LfLWXw==}
+ engines: {node: '>=10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@swc/core@1.10.4':
+ resolution: {integrity: sha512-ut3zfiTLORMxhr6y/GBxkHmzcGuVpwJYX4qyXWuBKkpw/0g0S5iO1/wW7RnLnZbAi8wS/n0atRZoaZlXWBkeJg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@swc/helpers': '*'
+ peerDependenciesMeta:
+ '@swc/helpers':
+ optional: true
+
+ '@swc/counter@0.1.3':
+ resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==}
+
+ '@swc/helpers@0.5.15':
+ resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==}
+
+ '@swc/types@0.1.17':
+ resolution: {integrity: sha512-V5gRru+aD8YVyCOMAjMpWR1Ui577DD5KSJsHP8RAxopAH22jFz6GZd/qxqjO6MJHQhcsjvjOFXyDhyLQUnMveQ==}
+
+ '@tailwindcss/node@4.1.11':
+ resolution: {integrity: sha512-yzhzuGRmv5QyU9qLNg4GTlYI6STedBWRE7NjxP45CsFYYq9taI0zJXZBMqIC/c8fViNLhmrbpSFS57EoxUmD6Q==}
+
+ '@tailwindcss/oxide-android-arm64@4.1.11':
+ resolution: {integrity: sha512-3IfFuATVRUMZZprEIx9OGDjG3Ou3jG4xQzNTvjDoKmU9JdmoCohQJ83MYd0GPnQIu89YoJqvMM0G3uqLRFtetg==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [android]
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.11':
+ resolution: {integrity: sha512-ESgStEOEsyg8J5YcMb1xl8WFOXfeBmrhAwGsFxxB2CxY9evy63+AtpbDLAyRkJnxLy2WsD1qF13E97uQyP1lfQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-darwin-x64@4.1.11':
+ resolution: {integrity: sha512-EgnK8kRchgmgzG6jE10UQNaH9Mwi2n+yw1jWmof9Vyg2lpKNX2ioe7CJdf9M5f8V9uaQxInenZkOxnTVL3fhAw==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [darwin]
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.11':
+ resolution: {integrity: sha512-xdqKtbpHs7pQhIKmqVpxStnY1skuNh4CtbcyOHeX1YBE0hArj2romsFGb6yUmzkq/6M24nkxDqU8GYrKrz+UcA==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [freebsd]
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
+ resolution: {integrity: sha512-ryHQK2eyDYYMwB5wZL46uoxz2zzDZsFBwfjssgB7pzytAeCCa6glsiJGjhTEddq/4OsIjsLNMAiMlHNYnkEEeg==}
+ engines: {node: '>= 10'}
+ cpu: [arm]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
+ resolution: {integrity: sha512-mYwqheq4BXF83j/w75ewkPJmPZIqqP1nhoghS9D57CLjsh3Nfq0m4ftTotRYtGnZd3eCztgbSPJ9QhfC91gDZQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
+ resolution: {integrity: sha512-m/NVRFNGlEHJrNVk3O6I9ggVuNjXHIPoD6bqay/pubtYC9QIdAMpS+cswZQPBLvVvEF6GtSNONbDkZrjWZXYNQ==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
+ resolution: {integrity: sha512-YW6sblI7xukSD2TdbbaeQVDysIm/UPJtObHJHKxDEcW2exAtY47j52f8jZXkqE1krdnkhCMGqP3dbniu1Te2Fg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.11':
+ resolution: {integrity: sha512-e3C/RRhGunWYNC3aSF7exsQkdXzQ/M+aYuZHKnw4U7KQwTJotnWsGOIVih0s2qQzmEzOFIJ3+xt7iq67K/p56Q==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [linux]
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.11':
+ resolution: {integrity: sha512-Xo1+/GU0JEN/C/dvcammKHzeM6NqKovG+6921MR6oadee5XPBaKOumrJCXvopJ/Qb5TH7LX/UAywbqrP4lax0g==}
+ engines: {node: '>=14.0.0'}
+ cpu: [wasm32]
+ bundledDependencies:
+ - '@napi-rs/wasm-runtime'
+ - '@emnapi/core'
+ - '@emnapi/runtime'
+ - '@tybys/wasm-util'
+ - '@emnapi/wasi-threads'
+ - tslib
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
+ resolution: {integrity: sha512-UgKYx5PwEKrac3GPNPf6HVMNhUIGuUh4wlDFR2jYYdkX6pL/rn73zTq/4pzUm8fOjAn5L8zDeHp9iXmUGOXZ+w==}
+ engines: {node: '>= 10'}
+ cpu: [arm64]
+ os: [win32]
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
+ resolution: {integrity: sha512-YfHoggn1j0LK7wR82TOucWc5LDCguHnoS879idHekmmiR7g9HUtMw9MI0NHatS28u/Xlkfi9w5RJWgz2Dl+5Qg==}
+ engines: {node: '>= 10'}
+ cpu: [x64]
+ os: [win32]
+
+ '@tailwindcss/oxide@4.1.11':
+ resolution: {integrity: sha512-Q69XzrtAhuyfHo+5/HMgr1lAiPP/G40OMFAnws7xcFEYqcypZmdW8eGXaOUIeOl1dzPJBPENXgbjsOyhg2nkrg==}
+ engines: {node: '>= 10'}
+
+ '@tailwindcss/postcss@4.1.11':
+ resolution: {integrity: sha512-q/EAIIpF6WpLhKEuQSEVMZNMIY8KhWoAemZ9eylNAih9jxMGAYPPWBn3I9QL/2jZ+e7OEz/tZkX5HwbBR4HohA==}
+
+ '@ts-morph/common@0.28.1':
+ resolution: {integrity: sha512-W74iWf7ILp1ZKNYXY5qbddNaml7e9Sedv5lvU1V8lftlitkc9Pq1A+jlH23ltDgWYeZFFEqGCD1Ies9hqu3O+g==}
+
+ '@types/chai@5.2.2':
+ resolution: {integrity: sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==}
+
+ '@types/debug@4.1.12':
+ resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==}
+
+ '@types/deep-eql@4.0.2':
+ resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==}
+
+ '@types/estree-jsx@1.0.5':
+ resolution: {integrity: sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==}
+
+ '@types/estree@1.0.8':
+ resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==}
+
+ '@types/hast@3.0.4':
+ resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==}
+
+ '@types/humps@2.0.1':
+ resolution: {integrity: sha512-cxIGJjiOQRl5s/KjqoTa0u39qKrVD3T6+6eGsERva0MLBp9AMVG8udKn9JZgVDe9zF0J9H4SRVzKILK6iZ9IZQ==}
+
+ '@types/json-schema@7.0.15':
+ resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==}
+
+ '@types/json5@0.0.29':
+ resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==}
+
+ '@types/mdast@4.0.4':
+ resolution: {integrity: sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==}
+
+ '@types/mdx@2.0.13':
+ resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==}
+
+ '@types/ms@2.1.0':
+ resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==}
+
+ '@types/node@12.20.55':
+ resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==}
+
+ '@types/node@24.2.0':
+ resolution: {integrity: sha512-3xyG3pMCq3oYCNg7/ZP+E1ooTaGB4cG8JWRsqqOYQdbWNY4zbaV0Ennrd7stjiJEFZCaybcIgpTjJWHRfBSIDw==}
+
+ '@types/react-dom@19.1.7':
+ resolution: {integrity: sha512-i5ZzwYpqjmrKenzkoLM2Ibzt6mAsM7pxB6BCIouEVVmgiqaMj1TjaK7hnA36hbW5aZv20kx7Lw6hWzPWg0Rurw==}
+ peerDependencies:
+ '@types/react': ^19.0.0
+
+ '@types/react@19.1.9':
+ resolution: {integrity: sha512-WmdoynAX8Stew/36uTSVMcLJJ1KRh6L3IZRx1PZ7qJtBqT3dYTgyDTx8H1qoRghErydW7xw9mSJ3wS//tCRpFA==}
+
+ '@types/statuses@2.0.6':
+ resolution: {integrity: sha512-xMAgYwceFhRA2zY+XbEA7mxYbA093wdiW8Vu6gZPGWy9cmOyU9XesH1tNcEWsKFd5Vzrqx5T3D38PWx1FIIXkA==}
+
+ '@types/unist@2.0.11':
+ resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==}
+
+ '@types/unist@3.0.3':
+ resolution: {integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==}
+
+ '@typescript-eslint/eslint-plugin@8.39.0':
+ resolution: {integrity: sha512-bhEz6OZeUR+O/6yx9Jk6ohX6H9JSFTaiY0v9/PuKT3oGK0rn0jNplLmyFUGV+a9gfYnVNwGDwS/UkLIuXNb2Rw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ '@typescript-eslint/parser': ^8.39.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/parser@8.39.0':
+ resolution: {integrity: sha512-g3WpVQHngx0aLXn6kfIYCZxM6rRJlWzEkVpqEFLT3SgEDsp9cpCbxxgwnE504q4H+ruSDh/VGS6nqZIDynP+vg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/project-service@8.39.0':
+ resolution: {integrity: sha512-CTzJqaSq30V/Z2Og9jogzZt8lJRR5TKlAdXmWgdu4hgcC9Kww5flQ+xFvMxIBWVNdxJO7OifgdOK4PokMIWPew==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/scope-manager@8.39.0':
+ resolution: {integrity: sha512-8QOzff9UKxOh6npZQ/4FQu4mjdOCGSdO3p44ww0hk8Vu+IGbg0tB/H1LcTARRDzGCC8pDGbh2rissBuuoPgH8A==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/tsconfig-utils@8.39.0':
+ resolution: {integrity: sha512-Fd3/QjmFV2sKmvv3Mrj8r6N8CryYiCS8Wdb/6/rgOXAWGcFuc+VkQuG28uk/4kVNVZBQuuDHEDUpo/pQ32zsIQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/type-utils@8.39.0':
+ resolution: {integrity: sha512-6B3z0c1DXVT2vYA9+z9axjtc09rqKUPRmijD5m9iv8iQpHBRYRMBcgxSiKTZKm6FwWw1/cI4v6em35OsKCiN5Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/types@8.39.0':
+ resolution: {integrity: sha512-ArDdaOllnCj3yn/lzKn9s0pBQYmmyme/v1HbGIGB0GB/knFI3fWMHloC+oYTJW46tVbYnGKTMDK4ah1sC2v0Kg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@typescript-eslint/typescript-estree@8.39.0':
+ resolution: {integrity: sha512-ndWdiflRMvfIgQRpckQQLiB5qAKQ7w++V4LlCHwp62eym1HLB/kw7D9f2e8ytONls/jt89TEasgvb+VwnRprsw==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/utils@8.39.0':
+ resolution: {integrity: sha512-4GVSvNA0Vx1Ktwvf4sFE+exxJ3QGUorQG1/A5mRfRNZtkBT2xrA/BCO2H0eALx/PnvCS6/vmYwRdDA41EoffkQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ '@typescript-eslint/visitor-keys@8.39.0':
+ resolution: {integrity: sha512-ldgiJ+VAhQCfIjeOgu8Kj5nSxds0ktPOSO9p4+0VDH2R2pLvQraaM5Oen2d7NxzMCm+Sn/vJT+mv2H5u6b/3fA==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ '@ungap/structured-clone@1.3.0':
+ resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==}
+
+ '@vitest/coverage-v8@3.2.4':
+ resolution: {integrity: sha512-EyF9SXU6kS5Ku/U82E259WSnvg6c8KTjppUncuNdm5QHpe17mwREHnjDzozC8x9MZ0xfBUFSaLkRv4TMA75ALQ==}
+ peerDependencies:
+ '@vitest/browser': 3.2.4
+ vitest: 3.2.4
+ peerDependenciesMeta:
+ '@vitest/browser':
+ optional: true
+
+ '@vitest/expect@3.2.4':
+ resolution: {integrity: sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==}
+
+ '@vitest/mocker@3.2.4':
+ resolution: {integrity: sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==}
+ peerDependencies:
+ msw: ^2.4.9
+ vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0
+ peerDependenciesMeta:
+ msw:
+ optional: true
+ vite:
+ optional: true
+
+ '@vitest/pretty-format@3.2.4':
+ resolution: {integrity: sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==}
+
+ '@vitest/runner@3.2.4':
+ resolution: {integrity: sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==}
+
+ '@vitest/snapshot@3.2.4':
+ resolution: {integrity: sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==}
+
+ '@vitest/spy@3.2.4':
+ resolution: {integrity: sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==}
+
+ '@vitest/utils@3.2.4':
+ resolution: {integrity: sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==}
+
+ acorn-jsx@5.3.2:
+ resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ acorn@8.15.0:
+ resolution: {integrity: sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==}
+ engines: {node: '>=0.4.0'}
+ hasBin: true
+
+ ajv@6.12.6:
+ resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==}
+
+ ansi-colors@4.1.3:
+ resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==}
+ engines: {node: '>=6'}
+
+ ansi-regex@5.0.1:
+ resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==}
+ engines: {node: '>=8'}
+
+ ansi-regex@6.1.0:
+ resolution: {integrity: sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==}
+ engines: {node: '>=12'}
+
+ ansi-styles@4.3.0:
+ resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==}
+ engines: {node: '>=8'}
+
+ ansi-styles@6.2.1:
+ resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==}
+ engines: {node: '>=12'}
+
+ any-promise@1.3.0:
+ resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==}
+
+ anymatch@3.1.2:
+ resolution: {integrity: sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==}
+ engines: {node: '>= 8'}
+
+ argparse@1.0.10:
+ resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
+
+ argparse@2.0.1:
+ resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==}
+
+ aria-hidden@1.2.6:
+ resolution: {integrity: sha512-ik3ZgC9dY/lYVVM++OISsaYDeg1tb0VtP5uL3ouh1koGOaUMDPpbFIei4JkFimWUFPn90sbMNMXQAIVOlnYKJA==}
+ engines: {node: '>=10'}
+
+ aria-query@5.3.2:
+ resolution: {integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==}
+ engines: {node: '>= 0.4'}
+
+ array-buffer-byte-length@1.0.2:
+ resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
+ engines: {node: '>= 0.4'}
+
+ array-includes@3.1.9:
+ resolution: {integrity: sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==}
+ engines: {node: '>= 0.4'}
+
+ array-union@2.1.0:
+ resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
+ engines: {node: '>=8'}
+
+ array.prototype.findlast@1.2.5:
+ resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.findlastindex@1.2.6:
+ resolution: {integrity: sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flat@1.3.3:
+ resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.flatmap@1.3.3:
+ resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==}
+ engines: {node: '>= 0.4'}
+
+ array.prototype.tosorted@1.1.4:
+ resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==}
+ engines: {node: '>= 0.4'}
+
+ arraybuffer.prototype.slice@1.0.4:
+ resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==}
+ engines: {node: '>= 0.4'}
+
+ assertion-error@2.0.1:
+ resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==}
+ engines: {node: '>=12'}
+
+ ast-types-flow@0.0.8:
+ resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==}
+
+ ast-v8-to-istanbul@0.3.4:
+ resolution: {integrity: sha512-cxrAnZNLBnQwBPByK4CeDaw5sWZtMilJE/Q3iDA0aamgaIVNDF9T6K2/8DfYDZEejZ2jNnDrG9m8MY72HFd0KA==}
+
+ astring@1.9.0:
+ resolution: {integrity: sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==}
+ hasBin: true
+
+ async-function@1.0.0:
+ resolution: {integrity: sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==}
+ engines: {node: '>= 0.4'}
+
+ available-typed-arrays@1.0.7:
+ resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==}
+ engines: {node: '>= 0.4'}
+
+ axe-core@4.10.3:
+ resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==}
+ engines: {node: '>=4'}
+
+ axobject-query@4.1.0:
+ resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==}
+ engines: {node: '>= 0.4'}
+
+ bail@2.0.2:
+ resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
+
+ balanced-match@1.0.2:
+ resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==}
+
+ better-path-resolve@1.0.0:
+ resolution: {integrity: sha512-pbnl5XzGBdrFU/wT4jqmJVPn2B6UHPBOhzMQkY/SPUPB6QtUXtmBHBIwCbXJol93mOpGMnQyP/+BB19q04xj7g==}
+ engines: {node: '>=4'}
+
+ binary-extensions@2.2.0:
+ resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==}
+ engines: {node: '>=8'}
+
+ brace-expansion@1.1.11:
+ resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==}
+
+ brace-expansion@2.0.2:
+ resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==}
+
+ braces@3.0.3:
+ resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
+ engines: {node: '>=8'}
+
+ browserslist@4.25.1:
+ resolution: {integrity: sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==}
+ engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
+ hasBin: true
+
+ bundle-require@5.1.0:
+ resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ peerDependencies:
+ esbuild: '>=0.18'
+
+ bytes-iec@3.1.1:
+ resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==}
+ engines: {node: '>= 0.8'}
+
+ cac@6.7.14:
+ resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==}
+ engines: {node: '>=8'}
+
+ call-bind-apply-helpers@1.0.2:
+ resolution: {integrity: sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==}
+ engines: {node: '>= 0.4'}
+
+ call-bind@1.0.8:
+ resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==}
+ engines: {node: '>= 0.4'}
+
+ call-bound@1.0.4:
+ resolution: {integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==}
+ engines: {node: '>= 0.4'}
+
+ callsites@3.1.0:
+ resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
+ engines: {node: '>=6'}
+
+ caniuse-lite@1.0.30001731:
+ resolution: {integrity: sha512-lDdp2/wrOmTRWuoB5DpfNkC0rJDU8DqRa6nYL6HK6sytw70QMopt/NIc/9SM7ylItlBWfACXk0tEn37UWM/+mg==}
+
+ ccount@2.0.1:
+ resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==}
+
+ chai@5.2.1:
+ resolution: {integrity: sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==}
+ engines: {node: '>=18'}
+
+ chalk@4.1.2:
+ resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==}
+ engines: {node: '>=10'}
+
+ character-entities-html4@2.1.0:
+ resolution: {integrity: sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==}
+
+ character-entities-legacy@3.0.0:
+ resolution: {integrity: sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==}
+
+ character-entities@2.0.2:
+ resolution: {integrity: sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==}
+
+ character-reference-invalid@2.0.1:
+ resolution: {integrity: sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==}
+
+ chardet@0.7.0:
+ resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==}
+
+ check-error@2.1.1:
+ resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==}
+ engines: {node: '>= 16'}
+
+ chokidar@3.5.3:
+ resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==}
+ engines: {node: '>= 8.10.0'}
+
+ chokidar@4.0.3:
+ resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==}
+ engines: {node: '>= 14.16.0'}
+
+ chownr@3.0.0:
+ resolution: {integrity: sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==}
+ engines: {node: '>=18'}
+
+ ci-info@3.9.0:
+ resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==}
+ engines: {node: '>=8'}
+
+ ci-job-number@1.2.2:
+ resolution: {integrity: sha512-CLOGsVDrVamzv8sXJGaILUVI6dsuAkouJP/n6t+OxLPeeA4DDby7zn9SB6EUpa1H7oIKoE+rMmkW80zYsFfUjA==}
+
+ class-variance-authority@0.7.1:
+ resolution: {integrity: sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==}
+
+ cli-width@4.1.0:
+ resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==}
+ engines: {node: '>= 12'}
+
+ client-only@0.0.1:
+ resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==}
+
+ cliui@8.0.1:
+ resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==}
+ engines: {node: '>=12'}
+
+ clsx@2.1.1:
+ resolution: {integrity: sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==}
+ engines: {node: '>=6'}
+
+ code-block-writer@13.0.3:
+ resolution: {integrity: sha512-Oofo0pq3IKnsFtuHqSF7TqBfr71aeyZDVJ0HpmqB7FBM2qEigL0iPONSCZSO9pE9dZTAxANe5XHG9Uy0YMv8cg==}
+
+ collapse-white-space@2.1.0:
+ resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
+
+ color-convert@2.0.1:
+ resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==}
+ engines: {node: '>=7.0.0'}
+
+ color-name@1.1.4:
+ resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==}
+
+ color-string@1.9.1:
+ resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==}
+
+ color@4.2.3:
+ resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==}
+ engines: {node: '>=12.5.0'}
+
+ comma-separated-tokens@2.0.3:
+ resolution: {integrity: sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==}
+
+ commander@4.1.1:
+ resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==}
+ engines: {node: '>= 6'}
+
+ compute-scroll-into-view@3.1.1:
+ resolution: {integrity: sha512-VRhuHOLoKYOy4UbilLbUzbYg93XLjv2PncJC50EuTWPA3gaja1UjBsUP/D/9/juV3vQFr6XBEzn9KCAHdUvOHw==}
+
+ concat-map@0.0.1:
+ resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
+
+ confbox@0.1.8:
+ resolution: {integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==}
+
+ consola@3.4.2:
+ resolution: {integrity: sha512-5IKcdX0nnYavi6G7TtOhwkYzyjfJlatbjMjuLSfE2kYT5pMDOilZ4OvMhi637CcDICTmz3wARPoyhqyX1Y+XvA==}
+ engines: {node: ^14.18.0 || >=16.10.0}
+
+ convert-source-map@2.0.0:
+ resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==}
+
+ cookie@1.0.2:
+ resolution: {integrity: sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==}
+ engines: {node: '>=18'}
+
+ cross-fetch@3.1.5:
+ resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==}
+
+ cross-spawn@7.0.6:
+ resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==}
+ engines: {node: '>= 8'}
+
+ cssesc@3.0.0:
+ resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ csstype@3.1.3:
+ resolution: {integrity: sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==}
+
+ damerau-levenshtein@1.0.8:
+ resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
+
+ data-view-buffer@1.0.2:
+ resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-length@1.0.2:
+ resolution: {integrity: sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==}
+ engines: {node: '>= 0.4'}
+
+ data-view-byte-offset@1.0.1:
+ resolution: {integrity: sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==}
+ engines: {node: '>= 0.4'}
+
+ debug@3.2.7:
+ resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ debug@4.4.1:
+ resolution: {integrity: sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==}
+ engines: {node: '>=6.0'}
+ peerDependencies:
+ supports-color: '*'
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+
+ decode-named-character-reference@1.2.0:
+ resolution: {integrity: sha512-c6fcElNV6ShtZXmsgNgFFV5tVX2PaV4g+MOAkb8eXHvn6sryJBrZa9r0zV6+dtTyoCKxtDy5tyQ5ZwQuidtd+Q==}
+
+ deep-eql@5.0.2:
+ resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==}
+ engines: {node: '>=6'}
+
+ deep-is@0.1.4:
+ resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
+
+ define-data-property@1.1.4:
+ resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
+ engines: {node: '>= 0.4'}
+
+ define-properties@1.2.1:
+ resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
+ engines: {node: '>= 0.4'}
+
+ dequal@2.0.3:
+ resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==}
+ engines: {node: '>=6'}
+
+ detect-indent@6.1.0:
+ resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==}
+ engines: {node: '>=8'}
+
+ detect-libc@2.0.4:
+ resolution: {integrity: sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==}
+ engines: {node: '>=8'}
+
+ detect-node-es@1.1.0:
+ resolution: {integrity: sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==}
+
+ devlop@1.1.0:
+ resolution: {integrity: sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==}
+
+ dir-glob@3.0.1:
+ resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==}
+ engines: {node: '>=8'}
+
+ doctrine@2.1.0:
+ resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==}
+ engines: {node: '>=0.10.0'}
+
+ dotenv@16.0.3:
+ resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==}
+ engines: {node: '>=12'}
+
+ dunder-proto@1.0.1:
+ resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==}
+ engines: {node: '>= 0.4'}
+
+ eastasianwidth@0.2.0:
+ resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==}
+
+ electron-to-chromium@1.5.198:
+ resolution: {integrity: sha512-G5COfnp3w+ydVu80yprgWSfmfQaYRh9DOxfhAxstLyetKaLyl55QrNjx8C38Pc/C+RaDmb1M0Lk8wPEMQ+bGgQ==}
+
+ emoji-regex@8.0.0:
+ resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
+
+ emoji-regex@9.2.2:
+ resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==}
+
+ enhanced-resolve@5.18.3:
+ resolution: {integrity: sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==}
+ engines: {node: '>=10.13.0'}
+
+ enquirer@2.4.1:
+ resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==}
+ engines: {node: '>=8.6'}
+
+ es-abstract@1.24.0:
+ resolution: {integrity: sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==}
+ engines: {node: '>= 0.4'}
+
+ es-define-property@1.0.1:
+ resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==}
+ engines: {node: '>= 0.4'}
+
+ es-errors@1.3.0:
+ resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
+ engines: {node: '>= 0.4'}
+
+ es-iterator-helpers@1.2.1:
+ resolution: {integrity: sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==}
+ engines: {node: '>= 0.4'}
+
+ es-module-lexer@1.7.0:
+ resolution: {integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==}
+
+ es-object-atoms@1.1.1:
+ resolution: {integrity: sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==}
+ engines: {node: '>= 0.4'}
+
+ es-set-tostringtag@2.1.0:
+ resolution: {integrity: sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==}
+ engines: {node: '>= 0.4'}
+
+ es-shim-unscopables@1.1.0:
+ resolution: {integrity: sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==}
+ engines: {node: '>= 0.4'}
+
+ es-to-primitive@1.3.0:
+ resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==}
+ engines: {node: '>= 0.4'}
+
+ esast-util-from-estree@2.0.0:
+ resolution: {integrity: sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==}
+
+ esast-util-from-js@2.0.1:
+ resolution: {integrity: sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==}
+
+ esbuild-android-64@0.14.27:
+ resolution: {integrity: sha512-LuEd4uPuj/16Y8j6kqy3Z2E9vNY9logfq8Tq+oTE2PZVuNs3M1kj5Qd4O95ee66yDGb3isaOCV7sOLDwtMfGaQ==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [android]
+
+ esbuild-android-arm64@0.14.27:
+ resolution: {integrity: sha512-E8Ktwwa6vX8q7QeJmg8yepBYXaee50OdQS3BFtEHKrzbV45H4foMOeEE7uqdjGQZFBap5VAqo7pvjlyA92wznQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [android]
+
+ esbuild-darwin-64@0.14.27:
+ resolution: {integrity: sha512-czw/kXl/1ZdenPWfw9jDc5iuIYxqUxgQ/Q+hRd4/3udyGGVI31r29LCViN2bAJgGvQkqyLGVcG03PJPEXQ5i2g==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [darwin]
+
+ esbuild-darwin-arm64@0.14.27:
+ resolution: {integrity: sha512-BEsv2U2U4o672oV8+xpXNxN9bgqRCtddQC6WBh4YhXKDcSZcdNh7+6nS+DM2vu7qWIWNA4JbRG24LUUYXysimQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [darwin]
+
+ esbuild-freebsd-64@0.14.27:
+ resolution: {integrity: sha512-7FeiFPGBo+ga+kOkDxtPmdPZdayrSzsV9pmfHxcyLKxu+3oTcajeZlOO1y9HW+t5aFZPiv7czOHM4KNd0tNwCA==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [freebsd]
+
+ esbuild-freebsd-arm64@0.14.27:
+ resolution: {integrity: sha512-8CK3++foRZJluOWXpllG5zwAVlxtv36NpHfsbWS7TYlD8S+QruXltKlXToc/5ZNzBK++l6rvRKELu/puCLc7jA==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [freebsd]
+
+ esbuild-linux-32@0.14.27:
+ resolution: {integrity: sha512-qhNYIcT+EsYSBClZ5QhLzFzV5iVsP1YsITqblSaztr3+ZJUI+GoK8aXHyzKd7/CKKuK93cxEMJPpfi1dfsOfdw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [linux]
+
+ esbuild-linux-64@0.14.27:
+ resolution: {integrity: sha512-ESjck9+EsHoTaKWlFKJpPZRN26uiav5gkI16RuI8WBxUdLrrAlYuYSndxxKgEn1csd968BX/8yQZATYf/9+/qg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [linux]
+
+ esbuild-linux-arm64@0.14.27:
+ resolution: {integrity: sha512-no6Mi17eV2tHlJnqBHRLekpZ2/VYx+NfGxKcBE/2xOMYwctsanCaXxw4zapvNrGE9X38vefVXLz6YCF8b1EHiQ==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [linux]
+
+ esbuild-linux-arm@0.14.27:
+ resolution: {integrity: sha512-JnnmgUBdqLQO9hoNZQqNHFWlNpSX82vzB3rYuCJMhtkuaWQEmQz6Lec1UIxJdC38ifEghNTBsF9bbe8dFilnCw==}
+ engines: {node: '>=12'}
+ cpu: [arm]
+ os: [linux]
+
+ esbuild-linux-mips64le@0.14.27:
+ resolution: {integrity: sha512-NolWP2uOvIJpbwpsDbwfeExZOY1bZNlWE/kVfkzLMsSgqeVcl5YMen/cedRe9mKnpfLli+i0uSp7N+fkKNU27A==}
+ engines: {node: '>=12'}
+ cpu: [mips64el]
+ os: [linux]
+
+ esbuild-linux-ppc64le@0.14.27:
+ resolution: {integrity: sha512-/7dTjDvXMdRKmsSxKXeWyonuGgblnYDn0MI1xDC7J1VQXny8k1qgNp6VmrlsawwnsymSUUiThhkJsI+rx0taNA==}
+ engines: {node: '>=12'}
+ cpu: [ppc64]
+ os: [linux]
+
+ esbuild-linux-riscv64@0.14.27:
+ resolution: {integrity: sha512-D+aFiUzOJG13RhrSmZgrcFaF4UUHpqj7XSKrIiCXIj1dkIkFqdrmqMSOtSs78dOtObWiOrFCDDzB24UyeEiNGg==}
+ engines: {node: '>=12'}
+ cpu: [riscv64]
+ os: [linux]
+
+ esbuild-linux-s390x@0.14.27:
+ resolution: {integrity: sha512-CD/D4tj0U4UQjELkdNlZhQ8nDHU5rBn6NGp47Hiz0Y7/akAY5i0oGadhEIg0WCY/HYVXFb3CsSPPwaKcTOW3bg==}
+ engines: {node: '>=12'}
+ cpu: [s390x]
+ os: [linux]
+
+ esbuild-netbsd-64@0.14.27:
+ resolution: {integrity: sha512-h3mAld69SrO1VoaMpYl3a5FNdGRE/Nqc+E8VtHOag4tyBwhCQXxtvDDOAKOUQexBGca0IuR6UayQ4ntSX5ij1Q==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [netbsd]
+
+ esbuild-openbsd-64@0.14.27:
+ resolution: {integrity: sha512-xwSje6qIZaDHXWoPpIgvL+7fC6WeubHHv18tusLYMwL+Z6bEa4Pbfs5IWDtQdHkArtfxEkIZz77944z8MgDxGw==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [openbsd]
+
+ esbuild-sunos-64@0.14.27:
+ resolution: {integrity: sha512-/nBVpWIDjYiyMhuqIqbXXsxBc58cBVH9uztAOIfWShStxq9BNBik92oPQPJ57nzWXRNKQUEFWr4Q98utDWz7jg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [sunos]
+
+ esbuild-windows-32@0.14.27:
+ resolution: {integrity: sha512-Q9/zEjhZJ4trtWhFWIZvS/7RUzzi8rvkoaS9oiizkHTTKd8UxFwn/Mm2OywsAfYymgUYm8+y2b+BKTNEFxUekw==}
+ engines: {node: '>=12'}
+ cpu: [ia32]
+ os: [win32]
+
+ esbuild-windows-64@0.14.27:
+ resolution: {integrity: sha512-b3y3vTSl5aEhWHK66ngtiS/c6byLf6y/ZBvODH1YkBM+MGtVL6jN38FdHUsZasCz9gFwYs/lJMVY9u7GL6wfYg==}
+ engines: {node: '>=12'}
+ cpu: [x64]
+ os: [win32]
+
+ esbuild-windows-arm64@0.14.27:
+ resolution: {integrity: sha512-I/reTxr6TFMcR5qbIkwRGvldMIaiBu2+MP0LlD7sOlNXrfqIl9uNjsuxFPGEG4IRomjfQ5q8WT+xlF/ySVkqKg==}
+ engines: {node: '>=12'}
+ cpu: [arm64]
+ os: [win32]
+
+ esbuild@0.14.27:
+ resolution: {integrity: sha512-MZQt5SywZS3hA9fXnMhR22dv0oPGh6QtjJRIYbgL1AeqAoQZE+Qn5ppGYQAoHv/vq827flj4tIJ79Mrdiwk46Q==}
+ engines: {node: '>=12'}
+ hasBin: true
+
+ esbuild@0.25.11:
+ resolution: {integrity: sha512-KohQwyzrKTQmhXDW1PjCv3Tyspn9n5GcY2RTDqeORIdIJY8yKIF7sTSopFmn/wpMPW4rdPXI0UE5LJLuq3bx0Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ esbuild@0.25.8:
+ resolution: {integrity: sha512-vVC0USHGtMi8+R4Kz8rt6JhEWLxsv9Rnu/lGYbPR8u47B+DCBksq9JarW0zOO7bs37hyOK1l2/oqtbciutL5+Q==}
+ engines: {node: '>=18'}
+ hasBin: true
+
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
+ engines: {node: '>=6'}
+
+ escape-string-regexp@4.0.0:
+ resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
+ engines: {node: '>=10'}
+
+ escape-string-regexp@5.0.0:
+ resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
+ engines: {node: '>=12'}
+
+ eslint-import-resolver-node@0.3.9:
+ resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==}
+
+ eslint-module-utils@2.12.1:
+ resolution: {integrity: sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: '*'
+ eslint-import-resolver-node: '*'
+ eslint-import-resolver-typescript: '*'
+ eslint-import-resolver-webpack: '*'
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+ eslint:
+ optional: true
+ eslint-import-resolver-node:
+ optional: true
+ eslint-import-resolver-typescript:
+ optional: true
+ eslint-import-resolver-webpack:
+ optional: true
+
+ eslint-plugin-import@2.32.0:
+ resolution: {integrity: sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ '@typescript-eslint/parser': '*'
+ eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9
+ peerDependenciesMeta:
+ '@typescript-eslint/parser':
+ optional: true
+
+ eslint-plugin-jsx-a11y@6.10.2:
+ resolution: {integrity: sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==}
+ engines: {node: '>=4.0'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9
+
+ eslint-plugin-react-compiler@19.0.0-beta-af1b7da-20250417:
+ resolution: {integrity: sha512-m3eVzHqtXFtu6rViWx/kBhv9Jcpj+Q4pkfRWyF47TIBa+Jo8DAB90OoeDh0JR896rtG1OXogLKKd+b6lzFup0A==}
+ engines: {node: ^14.17.0 || ^16.0.0 || >= 18.0.0}
+ peerDependencies:
+ eslint: '>=7'
+
+ eslint-plugin-react-hooks@5.2.0:
+ resolution: {integrity: sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+
+ eslint-plugin-react@7.37.5:
+ resolution: {integrity: sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==}
+ engines: {node: '>=4'}
+ peerDependencies:
+ eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7
+
+ eslint-plugin-turbo@2.5.5:
+ resolution: {integrity: sha512-IlN65X6W7rgK88u5xl1xC+7FIGKA7eyaca0yxZQ9CBNV6keAaqtjZQLw8ZfXdv7T+MzTLYkYOeOHAv8yCRUx4Q==}
+ peerDependencies:
+ eslint: '>6.6.0'
+ turbo: '>2.0.0'
+
+ eslint-scope@8.4.0:
+ resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint-visitor-keys@3.4.3:
+ resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ eslint-visitor-keys@4.2.1:
+ resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ eslint@9.32.0:
+ resolution: {integrity: sha512-LSehfdpgMeWcTZkWZVIJl+tkZ2nuSkyyB9C27MZqFWXuph7DvaowgcTvKqxvpLW1JZIk8PN7hFY3Rj9LQ7m7lg==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ hasBin: true
+ peerDependencies:
+ jiti: '*'
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+
+ espree@10.4.0:
+ resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+
+ esprima@4.0.1:
+ resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==}
+ engines: {node: '>=4'}
+ hasBin: true
+
+ esquery@1.6.0:
+ resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==}
+ engines: {node: '>=0.10'}
+
+ esrecurse@4.3.0:
+ resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==}
+ engines: {node: '>=4.0'}
+
+ estraverse@5.3.0:
+ resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==}
+ engines: {node: '>=4.0'}
+
+ estree-util-attach-comments@3.0.0:
+ resolution: {integrity: sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==}
+
+ estree-util-build-jsx@3.0.1:
+ resolution: {integrity: sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==}
+
+ estree-util-is-identifier-name@3.0.0:
+ resolution: {integrity: sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==}
+
+ estree-util-scope@1.0.0:
+ resolution: {integrity: sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==}
+
+ estree-util-to-js@2.0.0:
+ resolution: {integrity: sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==}
+
+ estree-util-value-to-estree@3.4.0:
+ resolution: {integrity: sha512-Zlp+gxis+gCfK12d3Srl2PdX2ybsEA8ZYy6vQGVQTNNYLEGRQQ56XB64bjemN8kxIKXP1nC9ip4Z+ILy9LGzvQ==}
+
+ estree-util-visit@2.0.0:
+ resolution: {integrity: sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==}
+
+ estree-walker@3.0.3:
+ resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==}
+
+ esutils@2.0.3:
+ resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==}
+ engines: {node: '>=0.10.0'}
+
+ expect-type@1.2.2:
+ resolution: {integrity: sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==}
+ engines: {node: '>=12.0.0'}
+
+ extend@3.0.2:
+ resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
+
+ extendable-error@0.1.7:
+ resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==}
+
+ external-editor@3.1.0:
+ resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
+ engines: {node: '>=4'}
+
+ fast-check@3.3.0:
+ resolution: {integrity: sha512-Zu6tZ4g0T4H9Tiz3tdNPEHrSbuICj7yhdOM9RCZKNMkpjZ9avDV3ORklXaEmh4zvkX24/bGZ9DxKKqWfXttUqw==}
+ engines: {node: '>=8.0.0'}
+
+ fast-deep-equal@3.1.3:
+ resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+
+ fast-glob@3.3.1:
+ resolution: {integrity: sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-glob@3.3.3:
+ resolution: {integrity: sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==}
+ engines: {node: '>=8.6.0'}
+
+ fast-json-stable-stringify@2.1.0:
+ resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+
+ fast-levenshtein@2.0.6:
+ resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+
+ fastq@1.13.0:
+ resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
+
+ fdir@6.4.6:
+ resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ fdir@6.5.0:
+ resolution: {integrity: sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==}
+ engines: {node: '>=12.0.0'}
+ peerDependencies:
+ picomatch: ^3 || ^4
+ peerDependenciesMeta:
+ picomatch:
+ optional: true
+
+ file-entry-cache@8.0.0:
+ resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==}
+ engines: {node: '>=16.0.0'}
+
+ fill-range@7.1.1:
+ resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
+ engines: {node: '>=8'}
+
+ find-up@4.1.0:
+ resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==}
+ engines: {node: '>=8'}
+
+ find-up@5.0.0:
+ resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
+ engines: {node: '>=10'}
+
+ fix-dts-default-cjs-exports@1.0.1:
+ resolution: {integrity: sha512-pVIECanWFC61Hzl2+oOCtoJ3F17kglZC/6N94eRWycFgBH35hHx0Li604ZIzhseh97mf2p0cv7vVrOZGoqhlEg==}
+
+ flat-cache@4.0.1:
+ resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==}
+ engines: {node: '>=16'}
+
+ flatted@3.3.3:
+ resolution: {integrity: sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==}
+
+ for-each@0.3.5:
+ resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
+ engines: {node: '>= 0.4'}
+
+ foreground-child@3.3.1:
+ resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==}
+ engines: {node: '>=14'}
+
+ fs-extra@7.0.1:
+ resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fs-extra@8.1.0:
+ resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==}
+ engines: {node: '>=6 <7 || >=8'}
+
+ fsevents@2.3.3:
+ resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==}
+ engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
+ os: [darwin]
+
+ fumadocs-core@15.8.5:
+ resolution: {integrity: sha512-hyJtKGuB2J/5y7tDfI1EnGMKlNbSXM5N5cpwvgCY0DcBJwFMDG/GpSpaVRzh3aWy67pAYDZFIwdtbKXBa/q5bg==}
+ peerDependencies:
+ '@mixedbread/sdk': ^0.19.0
+ '@oramacloud/client': 1.x.x || 2.x.x
+ '@tanstack/react-router': 1.x.x
+ '@types/react': '*'
+ algoliasearch: 5.x.x
+ lucide-react: '*'
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ react-router: 7.x.x
+ waku: ^0.26.0
+ peerDependenciesMeta:
+ '@mixedbread/sdk':
+ optional: true
+ '@oramacloud/client':
+ optional: true
+ '@tanstack/react-router':
+ optional: true
+ '@types/react':
+ optional: true
+ algoliasearch:
+ optional: true
+ lucide-react:
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ react-dom:
+ optional: true
+ react-router:
+ optional: true
+ waku:
+ optional: true
+
+ fumadocs-mdx@12.0.3:
+ resolution: {integrity: sha512-OYqbHSmzkejG+iUMlZJJOitaVbCgBdo/REc/9Sq1WaZ1vq6bH9PCFU0cKJlRdHbQSGRfVg5EJJy5uKy5+iNFGQ==}
+ hasBin: true
+ peerDependencies:
+ '@fumadocs/mdx-remote': ^1.4.0
+ fumadocs-core: ^14.0.0 || ^15.0.0
+ next: ^15.3.0
+ react: '*'
+ vite: 6.x.x || 7.x.x
+ peerDependenciesMeta:
+ '@fumadocs/mdx-remote':
+ optional: true
+ next:
+ optional: true
+ react:
+ optional: true
+ vite:
+ optional: true
+
+ fumadocs-typescript@4.0.11:
+ resolution: {integrity: sha512-X18YTMmOa6cN0APjFrVZNv8G1+wAYHPS6RPjjJshmkQt50SWRjpq38xMreIWyBF+Q9kkLReC9HkMeYbpZt7Pfg==}
+ peerDependencies:
+ '@types/react': '*'
+ fumadocs-core: ^15.7.0
+ fumadocs-ui: ^15.7.0
+ typescript: '*'
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ fumadocs-ui:
+ optional: true
+
+ fumadocs-ui@15.8.5:
+ resolution: {integrity: sha512-9pyB+9rOOsrFnmmZ9xREp/OgVhyaSq2ocEpqTNbeQ7tlJ6JWbdFWfW0C9lRXprQEB6DJWUDtDxqKS5QXLH0EGA==}
+ peerDependencies:
+ '@types/react': '*'
+ next: 14.x.x || 15.x.x
+ react: 18.x.x || 19.x.x
+ react-dom: 18.x.x || 19.x.x
+ tailwindcss: ^3.4.14 || ^4.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+ next:
+ optional: true
+ tailwindcss:
+ optional: true
+
+ function-bind@1.1.2:
+ resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
+
+ function.prototype.name@1.1.8:
+ resolution: {integrity: sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==}
+ engines: {node: '>= 0.4'}
+
+ functions-have-names@1.2.3:
+ resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
+
+ gensync@1.0.0-beta.2:
+ resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
+ engines: {node: '>=6.9.0'}
+
+ get-caller-file@2.0.5:
+ resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
+ engines: {node: 6.* || 8.* || >= 10.*}
+
+ get-intrinsic@1.3.0:
+ resolution: {integrity: sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==}
+ engines: {node: '>= 0.4'}
+
+ get-nonce@1.0.1:
+ resolution: {integrity: sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==}
+ engines: {node: '>=6'}
+
+ get-proto@1.0.1:
+ resolution: {integrity: sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==}
+ engines: {node: '>= 0.4'}
+
+ get-symbol-description@1.1.0:
+ resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
+ engines: {node: '>= 0.4'}
+
+ github-slugger@2.0.0:
+ resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==}
+
+ glob-parent@5.1.2:
+ resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
+ engines: {node: '>= 6'}
+
+ glob-parent@6.0.2:
+ resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
+ engines: {node: '>=10.13.0'}
+
+ glob@10.4.5:
+ resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==}
+ hasBin: true
+
+ globals@14.0.0:
+ resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==}
+ engines: {node: '>=18'}
+
+ globalthis@1.0.4:
+ resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==}
+ engines: {node: '>= 0.4'}
+
+ globby@11.1.0:
+ resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
+ engines: {node: '>=10'}
+
+ gopd@1.2.0:
+ resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==}
+ engines: {node: '>= 0.4'}
+
+ graceful-fs@4.2.11:
+ resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==}
+
+ graphemer@1.4.0:
+ resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==}
+
+ graphql@16.11.0:
+ resolution: {integrity: sha512-mS1lbMsxgQj6hge1XZ6p7GPhbrtFwUFYi3wRzXAC/FmYnyXMTvvI3td3rjmQ2u8ewXueaSvRPWaEcgVVOT9Jnw==}
+ engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0}
+
+ has-bigints@1.1.0:
+ resolution: {integrity: sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==}
+ engines: {node: '>= 0.4'}
+
+ has-flag@4.0.0:
+ resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
+ engines: {node: '>=8'}
+
+ has-property-descriptors@1.0.2:
+ resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
+
+ has-proto@1.2.0:
+ resolution: {integrity: sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==}
+ engines: {node: '>= 0.4'}
+
+ has-symbols@1.1.0:
+ resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==}
+ engines: {node: '>= 0.4'}
+
+ has-tostringtag@1.0.2:
+ resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
+ engines: {node: '>= 0.4'}
+
+ hasown@2.0.2:
+ resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
+ engines: {node: '>= 0.4'}
+
+ hast-util-to-estree@3.1.3:
+ resolution: {integrity: sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==}
+
+ hast-util-to-html@9.0.5:
+ resolution: {integrity: sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==}
+
+ hast-util-to-jsx-runtime@2.3.6:
+ resolution: {integrity: sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==}
+
+ hast-util-to-string@3.0.1:
+ resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==}
+
+ hast-util-whitespace@3.0.0:
+ resolution: {integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==}
+
+ headers-polyfill@4.0.3:
+ resolution: {integrity: sha512-IScLbePpkvO846sIwOtOTDjutRMWdXdJmXdMvk6gCBHxFO8d+QKOQedyZSxFTTFYRSmlgSTDtXqqq4pcenBXLQ==}
+
+ hermes-estree@0.25.1:
+ resolution: {integrity: sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==}
+
+ hermes-parser@0.25.1:
+ resolution: {integrity: sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==}
+
+ html-escaper@2.0.2:
+ resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+
+ html-void-elements@3.0.0:
+ resolution: {integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==}
+
+ human-id@4.1.1:
+ resolution: {integrity: sha512-3gKm/gCSUipeLsRYZbbdA1BD83lBoWUkZ7G9VFrhWPAU76KwYo5KR8V28bpoPm/ygy0x5/GCbpRQdY7VLYCoIg==}
+ hasBin: true
+
+ humps@2.0.1:
+ resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==}
+
+ iconv-lite@0.4.24:
+ resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
+ engines: {node: '>=0.10.0'}
+
+ ignore@5.2.0:
+ resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
+ engines: {node: '>= 4'}
+
+ ignore@7.0.5:
+ resolution: {integrity: sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==}
+ engines: {node: '>= 4'}
+
+ image-size@2.0.2:
+ resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==}
+ engines: {node: '>=16.x'}
+ hasBin: true
+
+ import-fresh@3.3.0:
+ resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
+ engines: {node: '>=6'}
+
+ imurmurhash@0.1.4:
+ resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
+ engines: {node: '>=0.8.19'}
+
+ inline-style-parser@0.2.4:
+ resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==}
+
+ internal-slot@1.1.0:
+ resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==}
+ engines: {node: '>= 0.4'}
+
+ is-alphabetical@2.0.1:
+ resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
+
+ is-alphanumerical@2.0.1:
+ resolution: {integrity: sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==}
+
+ is-array-buffer@3.0.5:
+ resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==}
+ engines: {node: '>= 0.4'}
+
+ is-arrayish@0.3.2:
+ resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==}
+
+ is-async-function@2.1.1:
+ resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==}
+ engines: {node: '>= 0.4'}
+
+ is-bigint@1.1.0:
+ resolution: {integrity: sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==}
+ engines: {node: '>= 0.4'}
+
+ is-binary-path@2.1.0:
+ resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
+ engines: {node: '>=8'}
+
+ is-boolean-object@1.2.2:
+ resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
+ engines: {node: '>= 0.4'}
+
+ is-callable@1.2.7:
+ resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
+ engines: {node: '>= 0.4'}
+
+ is-core-module@2.16.1:
+ resolution: {integrity: sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==}
+ engines: {node: '>= 0.4'}
+
+ is-data-view@1.0.2:
+ resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
+ engines: {node: '>= 0.4'}
+
+ is-date-object@1.1.0:
+ resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
+ engines: {node: '>= 0.4'}
+
+ is-decimal@2.0.1:
+ resolution: {integrity: sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==}
+
+ is-extglob@2.1.1:
+ resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
+ engines: {node: '>=0.10.0'}
+
+ is-finalizationregistry@1.1.1:
+ resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==}
+ engines: {node: '>= 0.4'}
+
+ is-fullwidth-code-point@3.0.0:
+ resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
+ engines: {node: '>=8'}
+
+ is-generator-function@1.1.0:
+ resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==}
+ engines: {node: '>= 0.4'}
+
+ is-glob@4.0.3:
+ resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
+ engines: {node: '>=0.10.0'}
+
+ is-hexadecimal@2.0.1:
+ resolution: {integrity: sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==}
+
+ is-map@2.0.3:
+ resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==}
+ engines: {node: '>= 0.4'}
+
+ is-negative-zero@2.0.3:
+ resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==}
+ engines: {node: '>= 0.4'}
+
+ is-node-process@1.2.0:
+ resolution: {integrity: sha512-Vg4o6/fqPxIjtxgUH5QLJhwZ7gW5diGCVlXpuUfELC62CuxM1iHcRe51f2W1FDy04Ai4KJkagKjx3XaqyfRKXw==}
+
+ is-number-object@1.1.1:
+ resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
+ engines: {node: '>= 0.4'}
+
+ is-number@7.0.0:
+ resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
+ engines: {node: '>=0.12.0'}
+
+ is-plain-obj@4.1.0:
+ resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==}
+ engines: {node: '>=12'}
+
+ is-regex@1.2.1:
+ resolution: {integrity: sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==}
+ engines: {node: '>= 0.4'}
+
+ is-set@2.0.3:
+ resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==}
+ engines: {node: '>= 0.4'}
+
+ is-shared-array-buffer@1.0.4:
+ resolution: {integrity: sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==}
+ engines: {node: '>= 0.4'}
+
+ is-string@1.1.1:
+ resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==}
+ engines: {node: '>= 0.4'}
+
+ is-subdir@1.2.0:
+ resolution: {integrity: sha512-2AT6j+gXe/1ueqbW6fLZJiIw3F8iXGJtt0yDrZaBhAZEG1raiTxKWU+IPqMCzQAXOUCKdA4UDMgacKH25XG2Cw==}
+ engines: {node: '>=4'}
+
+ is-symbol@1.1.1:
+ resolution: {integrity: sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==}
+ engines: {node: '>= 0.4'}
+
+ is-typed-array@1.1.15:
+ resolution: {integrity: sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==}
+ engines: {node: '>= 0.4'}
+
+ is-weakmap@2.0.2:
+ resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==}
+ engines: {node: '>= 0.4'}
+
+ is-weakref@1.1.1:
+ resolution: {integrity: sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==}
+ engines: {node: '>= 0.4'}
+
+ is-weakset@2.0.4:
+ resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
+ engines: {node: '>= 0.4'}
+
+ is-windows@1.0.2:
+ resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
+ engines: {node: '>=0.10.0'}
+
+ isarray@2.0.5:
+ resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==}
+
+ isexe@2.0.0:
+ resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+
+ istanbul-lib-coverage@3.2.2:
+ resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==}
+ engines: {node: '>=8'}
+
+ istanbul-lib-report@3.0.1:
+ resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==}
+ engines: {node: '>=10'}
+
+ istanbul-lib-source-maps@5.0.6:
+ resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==}
+ engines: {node: '>=10'}
+
+ istanbul-reports@3.1.7:
+ resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==}
+ engines: {node: '>=8'}
+
+ iterator.prototype@1.1.5:
+ resolution: {integrity: sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==}
+ engines: {node: '>= 0.4'}
+
+ jackspeak@3.4.3:
+ resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==}
+
+ jiti@2.5.1:
+ resolution: {integrity: sha512-twQoecYPiVA5K/h6SxtORw/Bs3ar+mLUtoPSc7iMXzQzK8d7eJ/R09wmTwAjiamETn1cXYPGfNnu7DMoHgu12w==}
+ hasBin: true
+
+ joycon@3.1.1:
+ resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
+ engines: {node: '>=10'}
+
+ js-tokens@4.0.0:
+ resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==}
+
+ js-tokens@9.0.1:
+ resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==}
+
+ js-yaml@3.14.1:
+ resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==}
+ hasBin: true
+
+ js-yaml@4.1.0:
+ resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
+ hasBin: true
+
+ jsesc@3.1.0:
+ resolution: {integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ json-buffer@3.0.1:
+ resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==}
+
+ json-schema-traverse@0.4.1:
+ resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+
+ json-stable-stringify-without-jsonify@1.0.1:
+ resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+
+ json5@1.0.2:
+ resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
+ hasBin: true
+
+ json5@2.2.3:
+ resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==}
+ engines: {node: '>=6'}
+ hasBin: true
+
+ jsonfile@4.0.0:
+ resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==}
+
+ jsx-ast-utils@3.3.5:
+ resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==}
+ engines: {node: '>=4.0'}
+
+ keyv@4.5.4:
+ resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==}
+
+ language-subtag-registry@0.3.23:
+ resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==}
+
+ language-tags@1.0.9:
+ resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==}
+ engines: {node: '>=0.10'}
+
+ levn@0.4.1:
+ resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
+ engines: {node: '>= 0.8.0'}
+
+ lightningcss-darwin-arm64@1.30.1:
+ resolution: {integrity: sha512-c8JK7hyE65X1MHMN+Viq9n11RRC7hgin3HhYKhrMyaXflk5GVplZ60IxyoVtzILeKr+xAJwg6zK6sjTBJ0FKYQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [darwin]
+
+ lightningcss-darwin-x64@1.30.1:
+ resolution: {integrity: sha512-k1EvjakfumAQoTfcXUcHQZhSpLlkAuEkdMBsI/ivWw9hL+7FtilQc0Cy3hrx0AAQrVtQAbMI7YjCgYgvn37PzA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [darwin]
+
+ lightningcss-freebsd-x64@1.30.1:
+ resolution: {integrity: sha512-kmW6UGCGg2PcyUE59K5r0kWfKPAVy4SltVeut+umLCFoJ53RdCUWxcRDzO1eTaxf/7Q2H7LTquFHPL5R+Gjyig==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [freebsd]
+
+ lightningcss-linux-arm-gnueabihf@1.30.1:
+ resolution: {integrity: sha512-MjxUShl1v8pit+6D/zSPq9S9dQ2NPFSQwGvxBCYaBYLPlCWuPh9/t1MRS8iUaR8i+a6w7aps+B4N0S1TYP/R+Q==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm]
+ os: [linux]
+
+ lightningcss-linux-arm64-gnu@1.30.1:
+ resolution: {integrity: sha512-gB72maP8rmrKsnKYy8XUuXi/4OctJiuQjcuqWNlJQ6jZiWqtPvqFziskH3hnajfvKB27ynbVCucKSm2rkQp4Bw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-arm64-musl@1.30.1:
+ resolution: {integrity: sha512-jmUQVx4331m6LIX+0wUhBbmMX7TCfjF5FoOH6SD1CttzuYlGNVpA7QnrmLxrsub43ClTINfGSYyHe2HWeLl5CQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [linux]
+
+ lightningcss-linux-x64-gnu@1.30.1:
+ resolution: {integrity: sha512-piWx3z4wN8J8z3+O5kO74+yr6ze/dKmPnI7vLqfSqI8bccaTGY5xiSGVIJBDd5K5BHlvVLpUB3S2YCfelyJ1bw==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-linux-x64-musl@1.30.1:
+ resolution: {integrity: sha512-rRomAK7eIkL+tHY0YPxbc5Dra2gXlI63HL+v1Pdi1a3sC+tJTcFrHX+E86sulgAXeI7rSzDYhPSeHHjqFhqfeQ==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [linux]
+
+ lightningcss-win32-arm64-msvc@1.30.1:
+ resolution: {integrity: sha512-mSL4rqPi4iXq5YVqzSsJgMVFENoa4nGTT/GjO2c0Yl9OuQfPsIfncvLrEW6RbbB24WtZ3xP/2CCmI3tNkNV4oA==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [arm64]
+ os: [win32]
+
+ lightningcss-win32-x64-msvc@1.30.1:
+ resolution: {integrity: sha512-PVqXh48wh4T53F/1CCu8PIPCxLzWyCnn/9T5W1Jpmdy5h9Cwd+0YQS6/LwhHXSafuc61/xg9Lv5OrCby6a++jg==}
+ engines: {node: '>= 12.0.0'}
+ cpu: [x64]
+ os: [win32]
+
+ lightningcss@1.30.1:
+ resolution: {integrity: sha512-xi6IyHML+c9+Q3W0S4fCQJOym42pyurFiJUHEcEyHS0CeKzia4yZDEsLlqOFykxOdHpNy0NmvVO31vcSqAxJCg==}
+ engines: {node: '>= 12.0.0'}
+
+ lilconfig@2.0.6:
+ resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
+ engines: {node: '>=10'}
+
+ lilconfig@3.1.3:
+ resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==}
+ engines: {node: '>=14'}
+
+ lines-and-columns@1.2.4:
+ resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+
+ load-tsconfig@0.2.3:
+ resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+
+ locate-path@5.0.0:
+ resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==}
+ engines: {node: '>=8'}
+
+ locate-path@6.0.0:
+ resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
+ engines: {node: '>=10'}
+
+ lodash.merge@4.6.2:
+ resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+
+ lodash.sortby@4.7.0:
+ resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+
+ lodash.startcase@4.4.0:
+ resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
+
+ longest-streak@3.1.0:
+ resolution: {integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==}
+
+ loose-envify@1.4.0:
+ resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==}
+ hasBin: true
+
+ loupe@3.2.0:
+ resolution: {integrity: sha512-2NCfZcT5VGVNX9mSZIxLRkEAegDGBpuQZBy13desuHeVORmBDyAET4TkJr4SjqQy3A8JDofMN6LpkK8Xcm/dlw==}
+
+ lru-cache@10.4.3:
+ resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==}
+
+ lru-cache@11.2.2:
+ resolution: {integrity: sha512-F9ODfyqML2coTIsQpSkRHnLSZMtkU8Q+mSfcaIyKwy58u+8k5nvAYeiNhsyMARvzNcXJ9QfWVrcPsC9e9rAxtg==}
+ engines: {node: 20 || >=22}
+
+ lru-cache@5.1.1:
+ resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
+
+ lru-cache@6.0.0:
+ resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
+ engines: {node: '>=10'}
+
+ lucide-react@0.539.0:
+ resolution: {integrity: sha512-VVISr+VF2krO91FeuCrm1rSOLACQUYVy7NQkzrOty52Y8TlTPcXcMdQFj9bYzBgXbWCiywlwSZ3Z8u6a+6bMlg==}
+ peerDependencies:
+ react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ magic-string@0.30.17:
+ resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==}
+
+ magicast@0.3.5:
+ resolution: {integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==}
+
+ make-dir@4.0.0:
+ resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==}
+ engines: {node: '>=10'}
+
+ markdown-extensions@2.0.0:
+ resolution: {integrity: sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==}
+ engines: {node: '>=16'}
+
+ markdown-table@3.0.4:
+ resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==}
+
+ math-intrinsics@1.1.0:
+ resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
+ engines: {node: '>= 0.4'}
+
+ mdast-util-find-and-replace@3.0.2:
+ resolution: {integrity: sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==}
+
+ mdast-util-from-markdown@2.0.2:
+ resolution: {integrity: sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==}
+
+ mdast-util-gfm-autolink-literal@2.0.1:
+ resolution: {integrity: sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==}
+
+ mdast-util-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-sqpDWlsHn7Ac9GNZQMeUzPQSMzR6Wv0WKRNvQRg0KqHh02fpTz69Qc1QSseNX29bhz1ROIyNyxExfawVKTm1GQ==}
+
+ mdast-util-gfm-strikethrough@2.0.0:
+ resolution: {integrity: sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==}
+
+ mdast-util-gfm-table@2.0.0:
+ resolution: {integrity: sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==}
+
+ mdast-util-gfm-task-list-item@2.0.0:
+ resolution: {integrity: sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==}
+
+ mdast-util-gfm@3.1.0:
+ resolution: {integrity: sha512-0ulfdQOM3ysHhCJ1p06l0b0VKlhU0wuQs3thxZQagjcjPrlFRqY215uZGHHJan9GEAXd9MbfPjFJz+qMkVR6zQ==}
+
+ mdast-util-mdx-expression@2.0.1:
+ resolution: {integrity: sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==}
+
+ mdast-util-mdx-jsx@3.2.0:
+ resolution: {integrity: sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==}
+
+ mdast-util-mdx@3.0.0:
+ resolution: {integrity: sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==}
+
+ mdast-util-mdxjs-esm@2.0.1:
+ resolution: {integrity: sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==}
+
+ mdast-util-phrasing@4.1.0:
+ resolution: {integrity: sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==}
+
+ mdast-util-to-hast@13.2.0:
+ resolution: {integrity: sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==}
+
+ mdast-util-to-markdown@2.1.2:
+ resolution: {integrity: sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==}
+
+ mdast-util-to-string@4.0.0:
+ resolution: {integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==}
+
+ merge2@1.4.1:
+ resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
+ engines: {node: '>= 8'}
+
+ micromark-core-commonmark@2.0.3:
+ resolution: {integrity: sha512-RDBrHEMSxVFLg6xvnXmb1Ayr2WzLAWjeSATAoxwKYJV94TeNavgoIdA0a9ytzDSVzBy2YKFK+emCPOEibLeCrg==}
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ resolution: {integrity: sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==}
+
+ micromark-extension-gfm-footnote@2.1.0:
+ resolution: {integrity: sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==}
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ resolution: {integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==}
+
+ micromark-extension-gfm-table@2.1.1:
+ resolution: {integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==}
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ resolution: {integrity: sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==}
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ resolution: {integrity: sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==}
+
+ micromark-extension-gfm@3.0.0:
+ resolution: {integrity: sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==}
+
+ micromark-extension-mdx-expression@3.0.1:
+ resolution: {integrity: sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==}
+
+ micromark-extension-mdx-jsx@3.0.2:
+ resolution: {integrity: sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==}
+
+ micromark-extension-mdx-md@2.0.0:
+ resolution: {integrity: sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==}
+
+ micromark-extension-mdxjs-esm@3.0.0:
+ resolution: {integrity: sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==}
+
+ micromark-extension-mdxjs@3.0.0:
+ resolution: {integrity: sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==}
+
+ micromark-factory-destination@2.0.1:
+ resolution: {integrity: sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==}
+
+ micromark-factory-label@2.0.1:
+ resolution: {integrity: sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==}
+
+ micromark-factory-mdx-expression@2.0.3:
+ resolution: {integrity: sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==}
+
+ micromark-factory-space@2.0.1:
+ resolution: {integrity: sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==}
+
+ micromark-factory-title@2.0.1:
+ resolution: {integrity: sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==}
+
+ micromark-factory-whitespace@2.0.1:
+ resolution: {integrity: sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==}
+
+ micromark-util-character@2.1.1:
+ resolution: {integrity: sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==}
+
+ micromark-util-chunked@2.0.1:
+ resolution: {integrity: sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==}
+
+ micromark-util-classify-character@2.0.1:
+ resolution: {integrity: sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==}
+
+ micromark-util-combine-extensions@2.0.1:
+ resolution: {integrity: sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==}
+
+ micromark-util-decode-numeric-character-reference@2.0.2:
+ resolution: {integrity: sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==}
+
+ micromark-util-decode-string@2.0.1:
+ resolution: {integrity: sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==}
+
+ micromark-util-encode@2.0.1:
+ resolution: {integrity: sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==}
+
+ micromark-util-events-to-acorn@2.0.3:
+ resolution: {integrity: sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==}
+
+ micromark-util-html-tag-name@2.0.1:
+ resolution: {integrity: sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==}
+
+ micromark-util-normalize-identifier@2.0.1:
+ resolution: {integrity: sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==}
+
+ micromark-util-resolve-all@2.0.1:
+ resolution: {integrity: sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==}
+
+ micromark-util-sanitize-uri@2.0.1:
+ resolution: {integrity: sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==}
+
+ micromark-util-subtokenize@2.1.0:
+ resolution: {integrity: sha512-XQLu552iSctvnEcgXw6+Sx75GflAPNED1qx7eBJ+wydBb2KCbRZe+NwvIEEMM83uml1+2WSXpBAcp9IUCgCYWA==}
+
+ micromark-util-symbol@2.0.1:
+ resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
+
+ micromark-util-types@2.0.2:
+ resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
+
+ micromark@4.0.2:
+ resolution: {integrity: sha512-zpe98Q6kvavpCr1NPVSCMebCKfD7CA2NqZ+rykeNhONIJBpc1tFKt9hucLGwha3jNTNI8lHpctWJWoimVF4PfA==}
+
+ micromatch@4.0.8:
+ resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
+ engines: {node: '>=8.6'}
+
+ minimatch@10.0.3:
+ resolution: {integrity: sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==}
+ engines: {node: 20 || >=22}
+
+ minimatch@3.1.2:
+ resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+
+ minimatch@9.0.5:
+ resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minimist@1.2.8:
+ resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
+
+ minipass@7.1.2:
+ resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==}
+ engines: {node: '>=16 || 14 >=14.17'}
+
+ minizlib@3.0.2:
+ resolution: {integrity: sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==}
+ engines: {node: '>= 18'}
+
+ mkdirp@1.0.4:
+ resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mkdirp@3.0.1:
+ resolution: {integrity: sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ mlly@1.7.4:
+ resolution: {integrity: sha512-qmdSIPC4bDJXgZTCR7XosJiNKySV7O215tsPtDN9iEO/7q/76b/ijtgRu/+epFXSJhijtTCCGp3DWS549P3xKw==}
+
+ mri@1.2.0:
+ resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==}
+ engines: {node: '>=4'}
+
+ ms@2.1.3:
+ resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==}
+
+ msw@2.11.5:
+ resolution: {integrity: sha512-atFI4GjKSJComxcigz273honh8h4j5zzpk5kwG4tGm0TPcYne6bqmVrufeRll6auBeouIkXqZYXxVbWSWxM3RA==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ typescript: '>= 4.8.x'
+ peerDependenciesMeta:
+ typescript:
+ optional: true
+
+ mute-stream@2.0.0:
+ resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==}
+ engines: {node: ^18.17.0 || >=20.5.0}
+
+ mz@2.7.0:
+ resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+
+ nanoid@3.3.11:
+ resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==}
+ engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
+ hasBin: true
+
+ nanospinner@1.0.0:
+ resolution: {integrity: sha512-14c2r2QQ9xfTmdbqdF51FKCNvww+0ZON9GeEHur+pBdOufoFvxD4CZQRaYWmFrGH3Nuv7PZ/9Q+wsV+hFSp32g==}
+
+ natural-compare@1.4.0:
+ resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+
+ negotiator@1.0.0:
+ resolution: {integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==}
+ engines: {node: '>= 0.6'}
+
+ next-themes@0.4.6:
+ resolution: {integrity: sha512-pZvgD5L0IEvX5/9GWyHMf3m8BKiVQwsCMHfoFosXtXBMnaS0ZnIJ9ST4b4NqLVKDEm8QBxoNNGNaBv2JNF6XNA==}
+ peerDependencies:
+ react: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+ react-dom: ^16.8 || ^17 || ^18 || ^19 || ^19.0.0-rc
+
+ next@15.5.6:
+ resolution: {integrity: sha512-zTxsnI3LQo3c9HSdSf91O1jMNsEzIXDShXd4wVdg9y5shwLqBXi4ZtUUJyB86KGVSJLZx0PFONvO54aheGX8QQ==}
+ engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0}
+ hasBin: true
+ peerDependencies:
+ '@opentelemetry/api': ^1.1.0
+ '@playwright/test': ^1.51.1
+ babel-plugin-react-compiler: '*'
+ react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0
+ sass: ^1.3.0
+ peerDependenciesMeta:
+ '@opentelemetry/api':
+ optional: true
+ '@playwright/test':
+ optional: true
+ babel-plugin-react-compiler:
+ optional: true
+ sass:
+ optional: true
+
+ node-fetch@2.6.7:
+ resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
+ engines: {node: 4.x || >=6.0.0}
+ peerDependencies:
+ encoding: ^0.1.0
+ peerDependenciesMeta:
+ encoding:
+ optional: true
+
+ node-releases@2.0.19:
+ resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==}
+
+ normalize-path@3.0.0:
+ resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
+ engines: {node: '>=0.10.0'}
+
+ npm-to-yarn@3.0.1:
+ resolution: {integrity: sha512-tt6PvKu4WyzPwWUzy/hvPFqn+uwXO0K1ZHka8az3NnrhWJDmSqI8ncWq0fkL0k/lmmi5tAC11FXwXuh0rFbt1A==}
+ engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
+
+ object-assign@4.1.1:
+ resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
+ engines: {node: '>=0.10.0'}
+
+ object-inspect@1.13.4:
+ resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
+ engines: {node: '>= 0.4'}
+
+ object-keys@1.1.1:
+ resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
+ engines: {node: '>= 0.4'}
+
+ object.assign@4.1.7:
+ resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
+ engines: {node: '>= 0.4'}
+
+ object.entries@1.1.9:
+ resolution: {integrity: sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==}
+ engines: {node: '>= 0.4'}
+
+ object.fromentries@2.0.8:
+ resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==}
+ engines: {node: '>= 0.4'}
+
+ object.groupby@1.0.3:
+ resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==}
+ engines: {node: '>= 0.4'}
+
+ object.values@1.2.1:
+ resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
+ engines: {node: '>= 0.4'}
+
+ oniguruma-parser@0.12.1:
+ resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==}
+
+ oniguruma-to-es@4.3.3:
+ resolution: {integrity: sha512-rPiZhzC3wXwE59YQMRDodUwwT9FZ9nNBwQQfsd1wfdtlKEyCdRV0avrTcSZ5xlIvGRVPd/cx6ZN45ECmS39xvg==}
+
+ optionator@0.9.4:
+ resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==}
+ engines: {node: '>= 0.8.0'}
+
+ os-tmpdir@1.0.2:
+ resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
+ engines: {node: '>=0.10.0'}
+
+ outdent@0.5.0:
+ resolution: {integrity: sha512-/jHxFIzoMXdqPzTaCpFzAAWhpkSjZPF4Vsn6jAfNpmbH/ymsmd7Qc6VE9BGn0L6YMj6uwpQLxCECpus4ukKS9Q==}
+
+ outvariant@1.4.3:
+ resolution: {integrity: sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA==}
+
+ own-keys@1.0.1:
+ resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==}
+ engines: {node: '>= 0.4'}
+
+ p-filter@2.1.0:
+ resolution: {integrity: sha512-ZBxxZ5sL2HghephhpGAQdoskxplTwr7ICaehZwLIlfL6acuVgZPm8yBNuRAFBGEqtD/hmUeq9eqLg2ys9Xr/yw==}
+ engines: {node: '>=8'}
+
+ p-limit@2.3.0:
+ resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==}
+ engines: {node: '>=6'}
+
+ p-limit@3.1.0:
+ resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
+ engines: {node: '>=10'}
+
+ p-locate@4.1.0:
+ resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==}
+ engines: {node: '>=8'}
+
+ p-locate@5.0.0:
+ resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
+ engines: {node: '>=10'}
+
+ p-map@2.1.0:
+ resolution: {integrity: sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==}
+ engines: {node: '>=6'}
+
+ p-try@2.2.0:
+ resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
+ engines: {node: '>=6'}
+
+ package-json-from-dist@1.0.1:
+ resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==}
+
+ package-manager-detector@0.2.11:
+ resolution: {integrity: sha512-BEnLolu+yuz22S56CU1SUKq3XC3PkwD5wv4ikR4MfGvnRVcmzXR9DwSlW2fEamyTPyXHomBJRzgapeuBvRNzJQ==}
+
+ parent-module@1.0.1:
+ resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
+ engines: {node: '>=6'}
+
+ parse-entities@4.0.2:
+ resolution: {integrity: sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==}
+
+ path-browserify@1.0.1:
+ resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==}
+
+ path-exists@4.0.0:
+ resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
+ engines: {node: '>=8'}
+
+ path-key@3.1.1:
+ resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
+ engines: {node: '>=8'}
+
+ path-parse@1.0.7:
+ resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+
+ path-scurry@1.11.1:
+ resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==}
+ engines: {node: '>=16 || 14 >=14.18'}
+
+ path-to-regexp@6.3.0:
+ resolution: {integrity: sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==}
+
+ path-to-regexp@8.3.0:
+ resolution: {integrity: sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==}
+
+ path-type@4.0.0:
+ resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
+ engines: {node: '>=8'}
+
+ pathe@2.0.3:
+ resolution: {integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==}
+
+ pathval@2.0.1:
+ resolution: {integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==}
+ engines: {node: '>= 14.16'}
+
+ picocolors@1.1.1:
+ resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==}
+
+ picomatch@2.3.1:
+ resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
+ engines: {node: '>=8.6'}
+
+ picomatch@4.0.3:
+ resolution: {integrity: sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==}
+ engines: {node: '>=12'}
+
+ pify@4.0.1:
+ resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==}
+ engines: {node: '>=6'}
+
+ pirates@4.0.5:
+ resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
+ engines: {node: '>= 6'}
+
+ pkg-types@1.3.1:
+ resolution: {integrity: sha512-/Jm5M4RvtBFVkKWRu2BLUTNP8/M2a+UwuAX+ae4770q1qVGtfjG+WTCupoZixokjmHiry8uI+dlY8KXYV5HVVQ==}
+
+ possible-typed-array-names@1.1.0:
+ resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
+ engines: {node: '>= 0.4'}
+
+ postcss-load-config@6.0.1:
+ resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==}
+ engines: {node: '>= 18'}
+ peerDependencies:
+ jiti: '>=1.21.0'
+ postcss: '>=8.0.9'
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+ postcss:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ postcss-selector-parser@7.1.0:
+ resolution: {integrity: sha512-8sLjZwK0R+JlxlYcTuVnyT2v+htpdrjDOKuMcOVdYjt52Lh8hWRYpxBPoKx/Zg+bcjc3wx6fmQevMmUztS/ccA==}
+ engines: {node: '>=4'}
+
+ postcss@8.4.31:
+ resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ postcss@8.5.6:
+ resolution: {integrity: sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==}
+ engines: {node: ^10 || ^12 || >=14}
+
+ prelude-ls@1.2.1:
+ resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
+ engines: {node: '>= 0.8.0'}
+
+ prettier-plugin-tailwindcss@0.6.14:
+ resolution: {integrity: sha512-pi2e/+ZygeIqntN+vC573BcW5Cve8zUB0SSAGxqpB4f96boZF4M3phPVoOFCeypwkpRYdi7+jQ5YJJUwrkGUAg==}
+ engines: {node: '>=14.21.3'}
+ peerDependencies:
+ '@ianvs/prettier-plugin-sort-imports': '*'
+ '@prettier/plugin-hermes': '*'
+ '@prettier/plugin-oxc': '*'
+ '@prettier/plugin-pug': '*'
+ '@shopify/prettier-plugin-liquid': '*'
+ '@trivago/prettier-plugin-sort-imports': '*'
+ '@zackad/prettier-plugin-twig': '*'
+ prettier: ^3.0
+ prettier-plugin-astro: '*'
+ prettier-plugin-css-order: '*'
+ prettier-plugin-import-sort: '*'
+ prettier-plugin-jsdoc: '*'
+ prettier-plugin-marko: '*'
+ prettier-plugin-multiline-arrays: '*'
+ prettier-plugin-organize-attributes: '*'
+ prettier-plugin-organize-imports: '*'
+ prettier-plugin-sort-imports: '*'
+ prettier-plugin-style-order: '*'
+ prettier-plugin-svelte: '*'
+ peerDependenciesMeta:
+ '@ianvs/prettier-plugin-sort-imports':
+ optional: true
+ '@prettier/plugin-hermes':
+ optional: true
+ '@prettier/plugin-oxc':
+ optional: true
+ '@prettier/plugin-pug':
+ optional: true
+ '@shopify/prettier-plugin-liquid':
+ optional: true
+ '@trivago/prettier-plugin-sort-imports':
+ optional: true
+ '@zackad/prettier-plugin-twig':
+ optional: true
+ prettier-plugin-astro:
+ optional: true
+ prettier-plugin-css-order:
+ optional: true
+ prettier-plugin-import-sort:
+ optional: true
+ prettier-plugin-jsdoc:
+ optional: true
+ prettier-plugin-marko:
+ optional: true
+ prettier-plugin-multiline-arrays:
+ optional: true
+ prettier-plugin-organize-attributes:
+ optional: true
+ prettier-plugin-organize-imports:
+ optional: true
+ prettier-plugin-sort-imports:
+ optional: true
+ prettier-plugin-style-order:
+ optional: true
+ prettier-plugin-svelte:
+ optional: true
+
+ prettier@2.7.1:
+ resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
+ engines: {node: '>=10.13.0'}
+ hasBin: true
+
+ prettier@3.6.2:
+ resolution: {integrity: sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==}
+ engines: {node: '>=14'}
+ hasBin: true
+
+ prop-types@15.8.1:
+ resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
+
+ property-information@7.1.0:
+ resolution: {integrity: sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==}
+
+ punycode@2.1.1:
+ resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
+ engines: {node: '>=6'}
+
+ pure-rand@5.0.3:
+ resolution: {integrity: sha512-9N8x1h8dptBQpHyC7aZMS+iNOAm97WMGY0AFrguU1cpfW3I5jINkWe5BIY5md0ofy+1TCIELsVcm/GJXZSaPbw==}
+
+ quansync@0.2.10:
+ resolution: {integrity: sha512-t41VRkMYbkHyCYmOvx/6URnN80H7k4X0lLdBMGsz+maAwrJQYB1djpV6vHrQIBE0WBSGqhtEHrK9U3DWWH8v7A==}
+
+ queue-microtask@1.2.3:
+ resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+
+ react-dom@19.1.0:
+ resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==}
+ peerDependencies:
+ react: ^19.1.0
+
+ react-is@16.13.1:
+ resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==}
+
+ react-medium-image-zoom@5.4.0:
+ resolution: {integrity: sha512-BsE+EnFVQzFIlyuuQrZ9iTwyKpKkqdFZV1ImEQN573QPqGrIUuNni7aF+sZwDcxlsuOMayCr6oO/PZR/yJnbRg==}
+ peerDependencies:
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+
+ react-remove-scroll-bar@2.3.8:
+ resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-remove-scroll@2.7.1:
+ resolution: {integrity: sha512-HpMh8+oahmIdOuS5aFKKY6Pyog+FNaZV/XyJOq7b4YFwsFHe5yYfdbIalI4k3vU2nSDql7YskmUseHsRrJqIPA==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react-style-singleton@2.2.3:
+ resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ react@19.1.0:
+ resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==}
+ engines: {node: '>=0.10.0'}
+
+ read-yaml-file@1.1.0:
+ resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==}
+ engines: {node: '>=6'}
+
+ readdirp@3.6.0:
+ resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
+ engines: {node: '>=8.10.0'}
+
+ readdirp@4.1.2:
+ resolution: {integrity: sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==}
+ engines: {node: '>= 14.18.0'}
+
+ recma-build-jsx@1.0.0:
+ resolution: {integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==}
+
+ recma-jsx@1.0.1:
+ resolution: {integrity: sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==}
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+
+ recma-parse@1.0.0:
+ resolution: {integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==}
+
+ recma-stringify@1.0.0:
+ resolution: {integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==}
+
+ reflect.getprototypeof@1.0.10:
+ resolution: {integrity: sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==}
+ engines: {node: '>= 0.4'}
+
+ regex-recursion@6.0.2:
+ resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==}
+
+ regex-utilities@2.3.0:
+ resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==}
+
+ regex@6.0.1:
+ resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==}
+
+ regexp.prototype.flags@1.5.4:
+ resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
+ engines: {node: '>= 0.4'}
+
+ rehype-recma@1.0.0:
+ resolution: {integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==}
+
+ remark-gfm@4.0.1:
+ resolution: {integrity: sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==}
+
+ remark-mdx@3.1.1:
+ resolution: {integrity: sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==}
+
+ remark-parse@11.0.0:
+ resolution: {integrity: sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==}
+
+ remark-rehype@11.1.2:
+ resolution: {integrity: sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==}
+
+ remark-stringify@11.0.0:
+ resolution: {integrity: sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==}
+
+ remark@15.0.1:
+ resolution: {integrity: sha512-Eht5w30ruCXgFmxVUSlNWQ9iiimq07URKeFS3hNc8cUWy1llX4KDWfyEDZRycMc+znsN9Ux5/tJ/BFdgdOwA3A==}
+
+ require-directory@2.1.1:
+ resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
+ engines: {node: '>=0.10.0'}
+
+ resolve-from@4.0.0:
+ resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
+ engines: {node: '>=4'}
+
+ resolve-from@5.0.0:
+ resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
+ engines: {node: '>=8'}
+
+ resolve@1.22.10:
+ resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
+ engines: {node: '>= 0.4'}
+ hasBin: true
+
+ resolve@2.0.0-next.5:
+ resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==}
+ hasBin: true
+
+ rettime@0.7.0:
+ resolution: {integrity: sha512-LPRKoHnLKd/r3dVxcwO7vhCW+orkOGj9ViueosEBK6ie89CijnfRlhaDhHq/3Hxu4CkWQtxwlBG0mzTQY6uQjw==}
+
+ reusify@1.0.4:
+ resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
+ engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+
+ rollup-plugin-analyzer@4.0.0:
+ resolution: {integrity: sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==}
+ engines: {node: '>=8.0.0'}
+
+ rollup@4.46.2:
+ resolution: {integrity: sha512-WMmLFI+Boh6xbop+OAGo9cQ3OgX9MIg7xOQjn+pTCwOkk+FNDAeAemXkJ3HzDJrVXleLOFVa1ipuc1AmEx1Dwg==}
+ engines: {node: '>=18.0.0', npm: '>=8.0.0'}
+ hasBin: true
+
+ run-parallel@1.2.0:
+ resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+
+ safe-array-concat@1.1.3:
+ resolution: {integrity: sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==}
+ engines: {node: '>=0.4'}
+
+ safe-push-apply@1.0.0:
+ resolution: {integrity: sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==}
+ engines: {node: '>= 0.4'}
+
+ safe-regex-test@1.1.0:
+ resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
+ engines: {node: '>= 0.4'}
+
+ safer-buffer@2.1.2:
+ resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+
+ scheduler@0.26.0:
+ resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==}
+
+ scroll-into-view-if-needed@3.1.0:
+ resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==}
+
+ semver@6.3.1:
+ resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==}
+ hasBin: true
+
+ semver@7.3.5:
+ resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ semver@7.7.2:
+ resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==}
+ engines: {node: '>=10'}
+ hasBin: true
+
+ set-function-length@1.2.2:
+ resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
+ engines: {node: '>= 0.4'}
+
+ set-function-name@2.0.2:
+ resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
+ engines: {node: '>= 0.4'}
+
+ set-proto@1.0.0:
+ resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
+ engines: {node: '>= 0.4'}
+
+ sharp@0.34.3:
+ resolution: {integrity: sha512-eX2IQ6nFohW4DbvHIOLRB3MHFpYqaqvXd3Tp5e/T/dSH83fxaNJQRvDMhASmkNTsNTVF2/OOopzRCt7xokgPfg==}
+ engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0}
+
+ shebang-command@2.0.0:
+ resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
+ engines: {node: '>=8'}
+
+ shebang-regex@3.0.0:
+ resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
+ engines: {node: '>=8'}
+
+ shiki@3.13.0:
+ resolution: {integrity: sha512-aZW4l8Og16CokuCLf8CF8kq+KK2yOygapU5m3+hoGw0Mdosc6fPitjM+ujYarppj5ZIKGyPDPP1vqmQhr+5/0g==}
+
+ side-channel-list@1.0.0:
+ resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-map@1.0.1:
+ resolution: {integrity: sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==}
+ engines: {node: '>= 0.4'}
+
+ side-channel-weakmap@1.0.2:
+ resolution: {integrity: sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==}
+ engines: {node: '>= 0.4'}
+
+ side-channel@1.1.0:
+ resolution: {integrity: sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==}
+ engines: {node: '>= 0.4'}
+
+ siginfo@2.0.0:
+ resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==}
+
+ signal-exit@4.1.0:
+ resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==}
+ engines: {node: '>=14'}
+
+ simple-swizzle@0.2.2:
+ resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==}
+
+ size-limit@7.0.8:
+ resolution: {integrity: sha512-3h76c9E0e/nNhYLSR7IBI/bSoXICeo7EYkYjlyVqNIsu7KvN/PQmMbIXeyd2QKIF8iZKhaiZQoXLkGWbyPDtvQ==}
+ engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
+ hasBin: true
+
+ slash@3.0.0:
+ resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
+ engines: {node: '>=8'}
+
+ source-map-js@1.2.1:
+ resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
+ engines: {node: '>=0.10.0'}
+
+ source-map@0.7.6:
+ resolution: {integrity: sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==}
+ engines: {node: '>= 12'}
+
+ source-map@0.8.0-beta.0:
+ resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
+ engines: {node: '>= 8'}
+ deprecated: The work that was done in this beta branch won't be included in future versions
+
+ space-separated-tokens@2.0.2:
+ resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==}
+
+ spawndamnit@3.0.1:
+ resolution: {integrity: sha512-MmnduQUuHCoFckZoWnXsTg7JaiLBJrKFj9UI2MbRPGaJeVpsLcVBu6P/IGZovziM/YBsellCmsprgNA+w0CzVg==}
+
+ sprintf-js@1.0.3:
+ resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
+
+ stackback@0.0.2:
+ resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
+
+ statuses@2.0.2:
+ resolution: {integrity: sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==}
+ engines: {node: '>= 0.8'}
+
+ std-env@3.9.0:
+ resolution: {integrity: sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==}
+
+ stop-iteration-iterator@1.1.0:
+ resolution: {integrity: sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==}
+ engines: {node: '>= 0.4'}
+
+ strict-event-emitter@0.5.1:
+ resolution: {integrity: sha512-vMgjE/GGEPEFnhFub6pa4FmJBRBVOLpIII2hvCZ8Kzb7K0hlHo7mQv6xYrBvCL2LtAIBwFUK8wvuJgTVSQ5MFQ==}
+
+ string-width@4.2.3:
+ resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
+ engines: {node: '>=8'}
+
+ string-width@5.1.2:
+ resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==}
+ engines: {node: '>=12'}
+
+ string.prototype.includes@2.0.1:
+ resolution: {integrity: sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.matchall@4.0.12:
+ resolution: {integrity: sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.repeat@1.0.0:
+ resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==}
+
+ string.prototype.trim@1.2.10:
+ resolution: {integrity: sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimend@1.0.9:
+ resolution: {integrity: sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==}
+ engines: {node: '>= 0.4'}
+
+ string.prototype.trimstart@1.0.8:
+ resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==}
+ engines: {node: '>= 0.4'}
+
+ stringify-entities@4.0.4:
+ resolution: {integrity: sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==}
+
+ strip-ansi@6.0.1:
+ resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
+ engines: {node: '>=8'}
+
+ strip-ansi@7.1.0:
+ resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==}
+ engines: {node: '>=12'}
+
+ strip-bom@3.0.0:
+ resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==}
+ engines: {node: '>=4'}
+
+ strip-json-comments@3.1.1:
+ resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
+ engines: {node: '>=8'}
+
+ strip-literal@3.0.0:
+ resolution: {integrity: sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==}
+
+ style-to-js@1.1.17:
+ resolution: {integrity: sha512-xQcBGDxJb6jjFCTzvQtfiPn6YvvP2O8U1MDIPNfJQlWMYfktPy+iGsHE7cssjs7y84d9fQaK4UF3RIJaAHSoYA==}
+
+ style-to-object@1.0.9:
+ resolution: {integrity: sha512-G4qppLgKu/k6FwRpHiGiKPaPTFcG3g4wNVX/Qsfu+RqQM30E7Tyu/TEgxcL9PNLF5pdRLwQdE3YKKf+KF2Dzlw==}
+
+ styled-jsx@5.1.6:
+ resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==}
+ engines: {node: '>= 12.0.0'}
+ peerDependencies:
+ '@babel/core': '*'
+ babel-plugin-macros: '*'
+ react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0'
+ peerDependenciesMeta:
+ '@babel/core':
+ optional: true
+ babel-plugin-macros:
+ optional: true
+
+ sucrase@3.35.0:
+ resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==}
+ engines: {node: '>=16 || 14 >=14.17'}
+ hasBin: true
+
+ supports-color@7.2.0:
+ resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
+ engines: {node: '>=8'}
+
+ supports-preserve-symlinks-flag@1.0.0:
+ resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
+ engines: {node: '>= 0.4'}
+
+ tailwind-merge@3.3.1:
+ resolution: {integrity: sha512-gBXpgUm/3rp1lMZZrM/w7D8GKqshif0zAymAhbCyIt8KMe+0v9DQ7cdYLR4FHH/cKpdTXb+A/tKKU3eolfsI+g==}
+
+ tailwindcss@4.1.11:
+ resolution: {integrity: sha512-2E9TBm6MDD/xKYe+dvJZAmg3yxIEDNRc0jwlNyDg/4Fil2QcSLjFKGVff0lAf1jjeaArlG/M75Ey/EYr/OJtBA==}
+
+ tapable@2.2.2:
+ resolution: {integrity: sha512-Re10+NauLTMCudc7T5WLFLAwDhQ0JWdrMK+9B2M8zR5hRExKmsRDCBA7/aV/pNJFltmBFO5BAMlQFi/vq3nKOg==}
+ engines: {node: '>=6'}
+
+ tar@7.4.3:
+ resolution: {integrity: sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==}
+ engines: {node: '>=18'}
+
+ term-size@2.2.1:
+ resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==}
+ engines: {node: '>=8'}
+
+ test-exclude@7.0.1:
+ resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==}
+ engines: {node: '>=18'}
+
+ thenify-all@1.6.0:
+ resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
+ engines: {node: '>=0.8'}
+
+ thenify@3.3.1:
+ resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+
+ tinybench@2.9.0:
+ resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==}
+
+ tinyexec@0.3.2:
+ resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==}
+
+ tinyexec@1.0.1:
+ resolution: {integrity: sha512-5uC6DDlmeqiOwCPmK9jMSdOuZTh8bU39Ys6yidB+UTt5hfZUPGAypSgFRiEp+jbi9qH40BLDvy85jIU88wKSqw==}
+
+ tinyglobby@0.2.14:
+ resolution: {integrity: sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==}
+ engines: {node: '>=12.0.0'}
+
+ tinyglobby@0.2.15:
+ resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==}
+ engines: {node: '>=12.0.0'}
+
+ tinypool@1.1.1:
+ resolution: {integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==}
+ engines: {node: ^18.0.0 || >=20.0.0}
+
+ tinyrainbow@2.0.0:
+ resolution: {integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==}
+ engines: {node: '>=14.0.0'}
+
+ tinyspy@4.0.3:
+ resolution: {integrity: sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==}
+ engines: {node: '>=14.0.0'}
+
+ tldts-core@7.0.17:
+ resolution: {integrity: sha512-DieYoGrP78PWKsrXr8MZwtQ7GLCUeLxihtjC1jZsW1DnvSMdKPitJSe8OSYDM2u5H6g3kWJZpePqkp43TfLh0g==}
+
+ tldts@7.0.17:
+ resolution: {integrity: sha512-Y1KQBgDd/NUc+LfOtKS6mNsC9CCaH+m2P1RoIZy7RAPo3C3/t8X45+zgut31cRZtZ3xKPjfn3TkGTrctC2TQIQ==}
+ hasBin: true
+
+ tmp@0.0.33:
+ resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
+ engines: {node: '>=0.6.0'}
+
+ to-regex-range@5.0.1:
+ resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
+ engines: {node: '>=8.0'}
+
+ tough-cookie@6.0.0:
+ resolution: {integrity: sha512-kXuRi1mtaKMrsLUxz3sQYvVl37B0Ns6MzfrtV5DvJceE9bPyspOqk9xxv7XbZWcfLWbFmm997vl83qUWVJA64w==}
+ engines: {node: '>=16'}
+
+ tr46@0.0.3:
+ resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+
+ tr46@1.0.1:
+ resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+
+ tree-kill@1.2.2:
+ resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
+ hasBin: true
+
+ trim-lines@3.0.1:
+ resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==}
+
+ trough@2.2.0:
+ resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==}
+
+ ts-api-utils@2.1.0:
+ resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==}
+ engines: {node: '>=18.12'}
+ peerDependencies:
+ typescript: '>=4.8.4'
+
+ ts-interface-checker@0.1.13:
+ resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+
+ ts-morph@27.0.2:
+ resolution: {integrity: sha512-fhUhgeljcrdZ+9DZND1De1029PrE+cMkIP7ooqkLRTrRLTqcki2AstsyJm0vRNbTbVCNJ0idGlbBrfqc7/nA8w==}
+
+ tsconfig-paths@3.15.0:
+ resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==}
+
+ tslib@2.8.1:
+ resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==}
+
+ tsup@8.5.0:
+ resolution: {integrity: sha512-VmBp77lWNQq6PfuMqCHD3xWl22vEoWsKajkF8t+yMBawlUS8JzEI+vOVMeuNZIuMML8qXRizFKi9oD5glKQVcQ==}
+ engines: {node: '>=18'}
+ hasBin: true
+ peerDependencies:
+ '@microsoft/api-extractor': ^7.36.0
+ '@swc/core': ^1
+ postcss: ^8.4.12
+ typescript: '>=4.5.0'
+ peerDependenciesMeta:
+ '@microsoft/api-extractor':
+ optional: true
+ '@swc/core':
+ optional: true
+ postcss:
+ optional: true
+ typescript:
+ optional: true
+
+ turbo-darwin-64@2.5.5:
+ resolution: {integrity: sha512-RYnTz49u4F5tDD2SUwwtlynABNBAfbyT2uU/brJcyh5k6lDLyNfYKdKmqd3K2ls4AaiALWrFKVSBsiVwhdFNzQ==}
+ cpu: [x64]
+ os: [darwin]
+
+ turbo-darwin-arm64@2.5.5:
+ resolution: {integrity: sha512-Tk+ZeSNdBobZiMw9aFypQt0DlLsWSFWu1ymqsAdJLuPoAH05qCfYtRxE1pJuYHcJB5pqI+/HOxtJoQ40726Btw==}
+ cpu: [arm64]
+ os: [darwin]
+
+ turbo-linux-64@2.5.5:
+ resolution: {integrity: sha512-2/XvMGykD7VgsvWesZZYIIVXMlgBcQy+ZAryjugoTcvJv8TZzSU/B1nShcA7IAjZ0q7OsZ45uP2cOb8EgKT30w==}
+ cpu: [x64]
+ os: [linux]
+
+ turbo-linux-arm64@2.5.5:
+ resolution: {integrity: sha512-DW+8CjCjybu0d7TFm9dovTTVg1VRnlkZ1rceO4zqsaLrit3DgHnN4to4uwyuf9s2V/BwS3IYcRy+HG9BL596Iw==}
+ cpu: [arm64]
+ os: [linux]
+
+ turbo-windows-64@2.5.5:
+ resolution: {integrity: sha512-q5p1BOy8ChtSZfULuF1BhFMYIx6bevXu4fJ+TE/hyNfyHJIfjl90Z6jWdqAlyaFLmn99X/uw+7d6T/Y/dr5JwQ==}
+ cpu: [x64]
+ os: [win32]
+
+ turbo-windows-arm64@2.5.5:
+ resolution: {integrity: sha512-AXbF1KmpHUq3PKQwddMGoKMYhHsy5t1YBQO8HZ04HLMR0rWv9adYlQ8kaeQJTko1Ay1anOBFTqaxfVOOsu7+1Q==}
+ cpu: [arm64]
+ os: [win32]
+
+ turbo@2.5.5:
+ resolution: {integrity: sha512-eZ7wI6KjtT1eBqCnh2JPXWNUAxtoxxfi6VdBdZFvil0ychCOTxbm7YLRBi1JSt7U3c+u3CLxpoPxLdvr/Npr3A==}
+ hasBin: true
+
+ type-check@0.4.0:
+ resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
+ engines: {node: '>= 0.8.0'}
+
+ type-fest@4.41.0:
+ resolution: {integrity: sha512-TeTSQ6H5YHvpqVwBRcnLDCBnDOHWYu7IvGbHT6N8AOymcr9PJGjc1GTtiWZTYg0NCgYwvnYWEkVChQAr9bjfwA==}
+ engines: {node: '>=16'}
+
+ typed-array-buffer@1.0.3:
+ resolution: {integrity: sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-length@1.0.3:
+ resolution: {integrity: sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-byte-offset@1.0.4:
+ resolution: {integrity: sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==}
+ engines: {node: '>= 0.4'}
+
+ typed-array-length@1.0.7:
+ resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
+ engines: {node: '>= 0.4'}
+
+ typescript-eslint@8.39.0:
+ resolution: {integrity: sha512-lH8FvtdtzcHJCkMOKnN73LIn6SLTpoojgJqDAxPm1jCR14eWSGPX8ul/gggBdPMk/d5+u9V854vTYQ8T5jF/1Q==}
+ engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: '>=4.8.4 <6.0.0'
+
+ typescript@5.9.2:
+ resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==}
+ engines: {node: '>=14.17'}
+ hasBin: true
+
+ ufo@1.6.1:
+ resolution: {integrity: sha512-9a4/uxlTWJ4+a5i0ooc1rU7C7YOw3wT+UGqdeNNHWnOF9qcMBgLRS+4IYUqbczewFx4mLEig6gawh7X6mFlEkA==}
+
+ unbox-primitive@1.1.0:
+ resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
+ engines: {node: '>= 0.4'}
+
+ undici-types@7.10.0:
+ resolution: {integrity: sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==}
+
+ unified@11.0.5:
+ resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==}
+
+ unist-util-is@6.0.0:
+ resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==}
+
+ unist-util-position-from-estree@2.0.0:
+ resolution: {integrity: sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==}
+
+ unist-util-position@5.0.0:
+ resolution: {integrity: sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==}
+
+ unist-util-stringify-position@4.0.0:
+ resolution: {integrity: sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==}
+
+ unist-util-visit-parents@6.0.1:
+ resolution: {integrity: sha512-L/PqWzfTP9lzzEa6CKs0k2nARxTdZduw3zyh8d2NVBnsyvHjSX4TWse388YrrQKbvI8w20fGjGlhgT96WwKykw==}
+
+ unist-util-visit@5.0.0:
+ resolution: {integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==}
+
+ universalify@0.1.2:
+ resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==}
+ engines: {node: '>= 4.0.0'}
+
+ until-async@3.0.2:
+ resolution: {integrity: sha512-IiSk4HlzAMqTUseHHe3VhIGyuFmN90zMTpD3Z3y8jeQbzLIq500MVM7Jq2vUAnTKAFPJrqwkzr6PoTcPhGcOiw==}
+
+ update-browserslist-db@1.1.3:
+ resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
+ hasBin: true
+ peerDependencies:
+ browserslist: '>= 4.21.0'
+
+ uri-js@4.4.1:
+ resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+
+ use-callback-ref@1.3.3:
+ resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ use-sidecar@1.1.3:
+ resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==}
+ engines: {node: '>=10'}
+ peerDependencies:
+ '@types/react': '*'
+ react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
+
+ util-deprecate@1.0.2:
+ resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+
+ vfile-message@4.0.3:
+ resolution: {integrity: sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==}
+
+ vfile@6.0.3:
+ resolution: {integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==}
+
+ vite-node@3.2.4:
+ resolution: {integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+
+ vite@7.0.6:
+ resolution: {integrity: sha512-MHFiOENNBd+Bd9uvc8GEsIzdkn1JxMmEeYX35tI3fv0sJBUTfW5tQsoaOwuY4KhBI09A3dUJ/DXf2yxPVPUceg==}
+ engines: {node: ^20.19.0 || >=22.12.0}
+ hasBin: true
+ peerDependencies:
+ '@types/node': ^20.19.0 || >=22.12.0
+ jiti: '>=1.21.0'
+ less: ^4.0.0
+ lightningcss: ^1.21.0
+ sass: ^1.70.0
+ sass-embedded: ^1.70.0
+ stylus: '>=0.54.8'
+ sugarss: ^5.0.0
+ terser: ^5.16.0
+ tsx: ^4.8.1
+ yaml: ^2.4.2
+ peerDependenciesMeta:
+ '@types/node':
+ optional: true
+ jiti:
+ optional: true
+ less:
+ optional: true
+ lightningcss:
+ optional: true
+ sass:
+ optional: true
+ sass-embedded:
+ optional: true
+ stylus:
+ optional: true
+ sugarss:
+ optional: true
+ terser:
+ optional: true
+ tsx:
+ optional: true
+ yaml:
+ optional: true
+
+ vitest@3.2.4:
+ resolution: {integrity: sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==}
+ engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
+ hasBin: true
+ peerDependencies:
+ '@edge-runtime/vm': '*'
+ '@types/debug': ^4.1.12
+ '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0
+ '@vitest/browser': 3.2.4
+ '@vitest/ui': 3.2.4
+ happy-dom: '*'
+ jsdom: '*'
+ peerDependenciesMeta:
+ '@edge-runtime/vm':
+ optional: true
+ '@types/debug':
+ optional: true
+ '@types/node':
+ optional: true
+ '@vitest/browser':
+ optional: true
+ '@vitest/ui':
+ optional: true
+ happy-dom:
+ optional: true
+ jsdom:
+ optional: true
+
+ webidl-conversions@3.0.1:
+ resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+
+ webidl-conversions@4.0.2:
+ resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+
+ whatwg-url@5.0.0:
+ resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+
+ whatwg-url@7.1.0:
+ resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+
+ which-boxed-primitive@1.1.1:
+ resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==}
+ engines: {node: '>= 0.4'}
+
+ which-builtin-type@1.2.1:
+ resolution: {integrity: sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==}
+ engines: {node: '>= 0.4'}
+
+ which-collection@1.0.2:
+ resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==}
+ engines: {node: '>= 0.4'}
+
+ which-typed-array@1.1.19:
+ resolution: {integrity: sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==}
+ engines: {node: '>= 0.4'}
+
+ which@2.0.2:
+ resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
+ engines: {node: '>= 8'}
+ hasBin: true
+
+ why-is-node-running@2.3.0:
+ resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==}
+ engines: {node: '>=8'}
+ hasBin: true
+
+ word-wrap@1.2.5:
+ resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==}
+ engines: {node: '>=0.10.0'}
+
+ wrap-ansi@6.2.0:
+ resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==}
+ engines: {node: '>=8'}
+
+ wrap-ansi@7.0.0:
+ resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
+ engines: {node: '>=10'}
+
+ wrap-ansi@8.1.0:
+ resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==}
+ engines: {node: '>=12'}
+
+ y18n@5.0.8:
+ resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
+ engines: {node: '>=10'}
+
+ yallist@3.1.1:
+ resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==}
+
+ yallist@4.0.0:
+ resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+
+ yallist@5.0.0:
+ resolution: {integrity: sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==}
+ engines: {node: '>=18'}
+
+ yaml@2.8.1:
+ resolution: {integrity: sha512-lcYcMxX2PO9XMGvAJkJ3OsNMw+/7FKes7/hgerGUYWIoWu5j/+YQqcZr5JnPZWzOsEBgMbSbiSTn/dv/69Mkpw==}
+ engines: {node: '>= 14.6'}
+ hasBin: true
+
+ yargs-parser@21.1.1:
+ resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==}
+ engines: {node: '>=12'}
+
+ yargs@17.7.2:
+ resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==}
+ engines: {node: '>=12'}
+
+ yocto-queue@0.1.0:
+ resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
+ engines: {node: '>=10'}
+
+ yoctocolors-cjs@2.1.3:
+ resolution: {integrity: sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==}
+ engines: {node: '>=18'}
+
+ zod-validation-error@3.5.3:
+ resolution: {integrity: sha512-OT5Y8lbUadqVZCsnyFaTQ4/O2mys4tj7PqhdbBCp7McPwvIEKfPtdA6QfPeFQK2/Rz5LgwmAXRJTugBNBi0btw==}
+ engines: {node: '>=18.0.0'}
+ peerDependencies:
+ zod: ^3.25.0 || ^4.0.0
+
+ zod@3.25.76:
+ resolution: {integrity: sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==}
+
+ zod@4.1.12:
+ resolution: {integrity: sha512-JInaHOamG8pt5+Ey8kGmdcAcg3OL9reK8ltczgHTAwNhMys/6ThXHityHxVV2p3fkw/c+MAvBHFVYHFZDmjMCQ==}
+
+ zwitch@2.0.4:
+ resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}
+
+snapshots:
+
+ '@alloc/quick-lru@5.2.0': {}
+
+ '@ampproject/remapping@2.3.0':
+ dependencies:
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
+
+ '@babel/code-frame@7.27.1':
+ dependencies:
+ '@babel/helper-validator-identifier': 7.27.1
+ js-tokens: 4.0.0
+ picocolors: 1.1.1
+
+ '@babel/compat-data@7.28.0': {}
+
+ '@babel/core@7.28.0':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.0
+ '@babel/helper-compilation-targets': 7.27.2
+ '@babel/helper-module-transforms': 7.27.3(@babel/core@7.28.0)
+ '@babel/helpers': 7.28.2
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ convert-source-map: 2.0.0
+ debug: 4.4.1
+ gensync: 1.0.0-beta.2
+ json5: 2.2.3
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/generator@7.28.0':
+ dependencies:
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
+ '@jridgewell/gen-mapping': 0.3.12
+ '@jridgewell/trace-mapping': 0.3.29
+ jsesc: 3.1.0
+
+ '@babel/helper-annotate-as-pure@7.27.3':
+ dependencies:
+ '@babel/types': 7.28.2
+
+ '@babel/helper-compilation-targets@7.27.2':
+ dependencies:
+ '@babel/compat-data': 7.28.0
+ '@babel/helper-validator-option': 7.27.1
+ browserslist: 4.25.1
+ lru-cache: 5.1.1
+ semver: 6.3.1
+
+ '@babel/helper-create-class-features-plugin@7.27.1(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-annotate-as-pure': 7.27.3
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/helper-replace-supers': 7.27.1(@babel/core@7.28.0)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.27.1
+ '@babel/traverse': 7.28.0
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-globals@7.28.0': {}
+
+ '@babel/helper-member-expression-to-functions@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-imports@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-module-transforms@7.27.3(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-module-imports': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+ '@babel/traverse': 7.28.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-optimise-call-expression@7.27.1':
+ dependencies:
+ '@babel/types': 7.28.2
+
+ '@babel/helper-plugin-utils@7.27.1': {}
+
+ '@babel/helper-replace-supers@7.27.1(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-member-expression-to-functions': 7.27.1
+ '@babel/helper-optimise-call-expression': 7.27.1
+ '@babel/traverse': 7.28.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.27.1':
+ dependencies:
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.27.1': {}
+
+ '@babel/helper-validator-identifier@7.27.1': {}
+
+ '@babel/helper-validator-option@7.27.1': {}
+
+ '@babel/helpers@7.28.2':
+ dependencies:
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.2
+
+ '@babel/parser@7.28.0':
+ dependencies:
+ '@babel/types': 7.28.2
+
+ '@babel/plugin-proposal-private-methods@7.18.6(@babel/core@7.28.0)':
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/helper-create-class-features-plugin': 7.27.1(@babel/core@7.28.0)
+ '@babel/helper-plugin-utils': 7.27.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/runtime@7.28.2': {}
+
+ '@babel/template@7.27.2':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
+
+ '@babel/traverse@7.28.0':
+ dependencies:
+ '@babel/code-frame': 7.27.1
+ '@babel/generator': 7.28.0
+ '@babel/helper-globals': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/template': 7.27.2
+ '@babel/types': 7.28.2
+ debug: 4.4.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/types@7.28.2':
+ dependencies:
+ '@babel/helper-string-parser': 7.27.1
+ '@babel/helper-validator-identifier': 7.27.1
+
+ '@bcoe/v8-coverage@1.0.2': {}
+
+ '@changesets/apply-release-plan@7.0.12':
+ dependencies:
+ '@changesets/config': 3.1.1
+ '@changesets/get-version-range-type': 0.4.0
+ '@changesets/git': 3.0.4
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ detect-indent: 6.1.0
+ fs-extra: 7.0.1
+ lodash.startcase: 4.4.0
+ outdent: 0.5.0
+ prettier: 2.7.1
+ resolve-from: 5.0.0
+ semver: 7.7.2
+
+ '@changesets/assemble-release-plan@6.0.9':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ semver: 7.7.2
+
+ '@changesets/changelog-git@0.2.1':
+ dependencies:
+ '@changesets/types': 6.1.0
+
+ '@changesets/cli@2.29.5':
+ dependencies:
+ '@changesets/apply-release-plan': 7.0.12
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/changelog-git': 0.2.1
+ '@changesets/config': 3.1.1
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/get-release-plan': 4.0.13
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.5
+ '@changesets/should-skip-package': 0.1.2
+ '@changesets/types': 6.1.0
+ '@changesets/write': 0.4.0
+ '@manypkg/get-packages': 1.1.3
+ ansi-colors: 4.1.3
+ ci-info: 3.9.0
+ enquirer: 2.4.1
+ external-editor: 3.1.0
+ fs-extra: 7.0.1
+ mri: 1.2.0
+ p-limit: 2.3.0
+ package-manager-detector: 0.2.11
+ picocolors: 1.1.1
+ resolve-from: 5.0.0
+ semver: 7.7.2
+ spawndamnit: 3.0.1
+ term-size: 2.2.1
+
+ '@changesets/config@3.1.1':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/get-dependents-graph': 2.1.3
+ '@changesets/logger': 0.1.1
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+ micromatch: 4.0.8
+
+ '@changesets/errors@0.2.0':
+ dependencies:
+ extendable-error: 0.1.7
+
+ '@changesets/get-dependents-graph@2.1.3':
+ dependencies:
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ picocolors: 1.1.1
+ semver: 7.7.2
+
+ '@changesets/get-release-plan@4.0.13':
+ dependencies:
+ '@changesets/assemble-release-plan': 6.0.9
+ '@changesets/config': 3.1.1
+ '@changesets/pre': 2.0.2
+ '@changesets/read': 0.6.5
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+
+ '@changesets/get-version-range-type@0.4.0': {}
+
+ '@changesets/git@3.0.4':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@manypkg/get-packages': 1.1.3
+ is-subdir: 1.2.0
+ micromatch: 4.0.8
+ spawndamnit: 3.0.1
+
+ '@changesets/logger@0.1.1':
+ dependencies:
+ picocolors: 1.1.1
+
+ '@changesets/parse@0.4.1':
+ dependencies:
+ '@changesets/types': 6.1.0
+ js-yaml: 3.14.1
+
+ '@changesets/pre@2.0.2':
+ dependencies:
+ '@changesets/errors': 0.2.0
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+ fs-extra: 7.0.1
+
+ '@changesets/read@0.6.5':
+ dependencies:
+ '@changesets/git': 3.0.4
+ '@changesets/logger': 0.1.1
+ '@changesets/parse': 0.4.1
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ p-filter: 2.1.0
+ picocolors: 1.1.1
+
+ '@changesets/should-skip-package@0.1.2':
+ dependencies:
+ '@changesets/types': 6.1.0
+ '@manypkg/get-packages': 1.1.3
+
+ '@changesets/types@4.1.0': {}
+
+ '@changesets/types@6.1.0': {}
+
+ '@changesets/write@0.4.0':
+ dependencies:
+ '@changesets/types': 6.1.0
+ fs-extra: 7.0.1
+ human-id: 4.1.1
+ prettier: 2.7.1
+
+ '@emnapi/runtime@1.4.5':
+ dependencies:
+ tslib: 2.8.1
+ optional: true
+
+ '@esbuild/aix-ppc64@0.25.11':
+ optional: true
+
+ '@esbuild/aix-ppc64@0.25.8':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/android-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/android-arm@0.25.11':
+ optional: true
+
+ '@esbuild/android-arm@0.25.8':
+ optional: true
+
+ '@esbuild/android-x64@0.25.11':
+ optional: true
+
+ '@esbuild/android-x64@0.25.8':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/darwin-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.11':
+ optional: true
+
+ '@esbuild/darwin-x64@0.25.8':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/freebsd-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.11':
+ optional: true
+
+ '@esbuild/freebsd-x64@0.25.8':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/linux-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.11':
+ optional: true
+
+ '@esbuild/linux-arm@0.25.8':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.11':
+ optional: true
+
+ '@esbuild/linux-ia32@0.25.8':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.11':
+ optional: true
+
+ '@esbuild/linux-loong64@0.25.8':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.11':
+ optional: true
+
+ '@esbuild/linux-mips64el@0.25.8':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.11':
+ optional: true
+
+ '@esbuild/linux-ppc64@0.25.8':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.11':
+ optional: true
+
+ '@esbuild/linux-riscv64@0.25.8':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.11':
+ optional: true
+
+ '@esbuild/linux-s390x@0.25.8':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.11':
+ optional: true
+
+ '@esbuild/linux-x64@0.25.8':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/netbsd-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.11':
+ optional: true
+
+ '@esbuild/netbsd-x64@0.25.8':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/openbsd-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.11':
+ optional: true
+
+ '@esbuild/openbsd-x64@0.25.8':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/openharmony-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.11':
+ optional: true
+
+ '@esbuild/sunos-x64@0.25.8':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.11':
+ optional: true
+
+ '@esbuild/win32-arm64@0.25.8':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.11':
+ optional: true
+
+ '@esbuild/win32-ia32@0.25.8':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.11':
+ optional: true
+
+ '@esbuild/win32-x64@0.25.8':
+ optional: true
+
+ '@eslint-community/eslint-utils@4.7.0(eslint@9.32.0(jiti@2.5.1))':
+ dependencies:
+ eslint: 9.32.0(jiti@2.5.1)
+ eslint-visitor-keys: 3.4.3
+
+ '@eslint-community/regexpp@4.12.1': {}
+
+ '@eslint/compat@1.3.1(eslint@9.32.0(jiti@2.5.1))':
+ optionalDependencies:
+ eslint: 9.32.0(jiti@2.5.1)
+
+ '@eslint/config-array@0.21.0':
+ dependencies:
+ '@eslint/object-schema': 2.1.6
+ debug: 4.4.1
+ minimatch: 3.1.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/config-helpers@0.3.0': {}
+
+ '@eslint/core@0.15.1':
+ dependencies:
+ '@types/json-schema': 7.0.15
+
+ '@eslint/eslintrc@3.3.1':
+ dependencies:
+ ajv: 6.12.6
+ debug: 4.4.1
+ espree: 10.4.0
+ globals: 14.0.0
+ ignore: 5.2.0
+ import-fresh: 3.3.0
+ js-yaml: 4.1.0
+ minimatch: 3.1.2
+ strip-json-comments: 3.1.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@eslint/js@9.32.0': {}
+
+ '@eslint/object-schema@2.1.6': {}
+
+ '@eslint/plugin-kit@0.3.4':
+ dependencies:
+ '@eslint/core': 0.15.1
+ levn: 0.4.1
+
+ '@floating-ui/core@1.7.3':
+ dependencies:
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/dom@1.7.3':
+ dependencies:
+ '@floating-ui/core': 1.7.3
+ '@floating-ui/utils': 0.2.10
+
+ '@floating-ui/react-dom@2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@floating-ui/dom': 1.7.3
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+
+ '@floating-ui/utils@0.2.10': {}
+
+ '@formatjs/intl-localematcher@0.6.2':
+ dependencies:
+ tslib: 2.8.1
+
+ '@humanfs/core@0.19.1': {}
+
+ '@humanfs/node@0.16.6':
+ dependencies:
+ '@humanfs/core': 0.19.1
+ '@humanwhocodes/retry': 0.3.1
+
+ '@humanwhocodes/module-importer@1.0.1': {}
+
+ '@humanwhocodes/retry@0.3.1': {}
+
+ '@humanwhocodes/retry@0.4.3': {}
+
+ '@ianvs/prettier-plugin-sort-imports@4.5.1(prettier@3.6.2)':
+ dependencies:
+ '@babel/generator': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/traverse': 7.28.0
+ '@babel/types': 7.28.2
+ prettier: 3.6.2
+ semver: 7.7.2
+ transitivePeerDependencies:
+ - supports-color
+
+ '@img/sharp-darwin-arm64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-arm64': 1.2.0
+ optional: true
+
+ '@img/sharp-darwin-x64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-darwin-x64': 1.2.0
+ optional: true
+
+ '@img/sharp-libvips-darwin-arm64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-darwin-x64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linux-arm@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linux-ppc64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linux-s390x@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linux-x64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-arm64@1.2.0':
+ optional: true
+
+ '@img/sharp-libvips-linuxmusl-x64@1.2.0':
+ optional: true
+
+ '@img/sharp-linux-arm64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm64': 1.2.0
+ optional: true
+
+ '@img/sharp-linux-arm@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-arm': 1.2.0
+ optional: true
+
+ '@img/sharp-linux-ppc64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-ppc64': 1.2.0
+ optional: true
+
+ '@img/sharp-linux-s390x@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-s390x': 1.2.0
+ optional: true
+
+ '@img/sharp-linux-x64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linux-x64': 1.2.0
+ optional: true
+
+ '@img/sharp-linuxmusl-arm64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.0
+ optional: true
+
+ '@img/sharp-linuxmusl-x64@0.34.3':
+ optionalDependencies:
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.0
+ optional: true
+
+ '@img/sharp-wasm32@0.34.3':
+ dependencies:
+ '@emnapi/runtime': 1.4.5
+ optional: true
+
+ '@img/sharp-win32-arm64@0.34.3':
+ optional: true
+
+ '@img/sharp-win32-ia32@0.34.3':
+ optional: true
+
+ '@img/sharp-win32-x64@0.34.3':
+ optional: true
+
+ '@inquirer/ansi@1.0.1': {}
+
+ '@inquirer/confirm@5.1.19(@types/node@24.2.0)':
+ dependencies:
+ '@inquirer/core': 10.3.0(@types/node@24.2.0)
+ '@inquirer/type': 3.0.9(@types/node@24.2.0)
+ optionalDependencies:
+ '@types/node': 24.2.0
+
+ '@inquirer/core@10.3.0(@types/node@24.2.0)':
+ dependencies:
+ '@inquirer/ansi': 1.0.1
+ '@inquirer/figures': 1.0.14
+ '@inquirer/type': 3.0.9(@types/node@24.2.0)
+ cli-width: 4.1.0
+ mute-stream: 2.0.0
+ signal-exit: 4.1.0
+ wrap-ansi: 6.2.0
+ yoctocolors-cjs: 2.1.3
+ optionalDependencies:
+ '@types/node': 24.2.0
+
+ '@inquirer/figures@1.0.14': {}
+
+ '@inquirer/type@3.0.9(@types/node@24.2.0)':
+ optionalDependencies:
+ '@types/node': 24.2.0
+
+ '@isaacs/balanced-match@4.0.1': {}
+
+ '@isaacs/brace-expansion@5.0.0':
+ dependencies:
+ '@isaacs/balanced-match': 4.0.1
+
+ '@isaacs/cliui@8.0.2':
+ dependencies:
+ string-width: 5.1.2
+ string-width-cjs: string-width@4.2.3
+ strip-ansi: 7.1.0
+ strip-ansi-cjs: strip-ansi@6.0.1
+ wrap-ansi: 8.1.0
+ wrap-ansi-cjs: wrap-ansi@7.0.0
+
+ '@isaacs/fs-minipass@4.0.1':
+ dependencies:
+ minipass: 7.1.2
+
+ '@istanbuljs/schema@0.1.3': {}
+
+ '@jridgewell/gen-mapping@0.3.12':
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.4
+ '@jridgewell/trace-mapping': 0.3.29
+
+ '@jridgewell/resolve-uri@3.1.0': {}
+
+ '@jridgewell/sourcemap-codec@1.5.4': {}
+
+ '@jridgewell/trace-mapping@0.3.29':
+ dependencies:
+ '@jridgewell/resolve-uri': 3.1.0
+ '@jridgewell/sourcemap-codec': 1.5.4
+
+ '@manypkg/find-root@1.1.0':
+ dependencies:
+ '@babel/runtime': 7.28.2
+ '@types/node': 12.20.55
+ find-up: 4.1.0
+ fs-extra: 8.1.0
+
+ '@manypkg/get-packages@1.1.3':
+ dependencies:
+ '@babel/runtime': 7.28.2
+ '@changesets/types': 4.1.0
+ '@manypkg/find-root': 1.1.0
+ fs-extra: 8.1.0
+ globby: 11.1.0
+ read-yaml-file: 1.1.0
+
+ '@mdx-js/mdx@3.1.1':
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdx': 2.0.13
+ acorn: 8.15.0
+ collapse-white-space: 2.1.0
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-util-scope: 1.0.0
+ estree-walker: 3.0.3
+ hast-util-to-jsx-runtime: 2.3.6
+ markdown-extensions: 2.0.0
+ recma-build-jsx: 1.0.0
+ recma-jsx: 1.0.1(acorn@8.15.0)
+ recma-stringify: 1.0.0
+ rehype-recma: 1.0.0
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ remark-rehype: 11.1.2
+ source-map: 0.7.6
+ unified: 11.0.5
+ unist-util-position-from-estree: 2.0.0
+ unist-util-stringify-position: 4.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
+ transitivePeerDependencies:
+ - supports-color
+
+ '@mswjs/interceptors@0.39.8':
+ dependencies:
+ '@open-draft/deferred-promise': 2.2.0
+ '@open-draft/logger': 0.3.0
+ '@open-draft/until': 2.1.0
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+ strict-event-emitter: 0.5.1
+
+ '@next/env@15.5.6': {}
+
+ '@next/eslint-plugin-next@15.4.6':
+ dependencies:
+ fast-glob: 3.3.1
+
+ '@next/swc-darwin-arm64@15.5.6':
+ optional: true
+
+ '@next/swc-darwin-x64@15.5.6':
+ optional: true
+
+ '@next/swc-linux-arm64-gnu@15.5.6':
+ optional: true
+
+ '@next/swc-linux-arm64-musl@15.5.6':
+ optional: true
+
+ '@next/swc-linux-x64-gnu@15.5.6':
+ optional: true
+
+ '@next/swc-linux-x64-musl@15.5.6':
+ optional: true
+
+ '@next/swc-win32-arm64-msvc@15.5.6':
+ optional: true
+
+ '@next/swc-win32-x64-msvc@15.5.6':
+ optional: true
+
+ '@nodelib/fs.scandir@2.1.5':
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ run-parallel: 1.2.0
+
+ '@nodelib/fs.stat@2.0.5': {}
+
+ '@nodelib/fs.walk@1.2.8':
+ dependencies:
+ '@nodelib/fs.scandir': 2.1.5
+ fastq: 1.13.0
+
+ '@open-draft/deferred-promise@2.2.0': {}
+
+ '@open-draft/logger@0.3.0':
+ dependencies:
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+
+ '@open-draft/until@2.1.0': {}
+
+ '@orama/orama@3.1.16': {}
+
+ '@pkgjs/parseargs@0.11.0':
+ optional: true
+
+ '@radix-ui/number@1.1.1': {}
+
+ '@radix-ui/primitive@1.1.3': {}
+
+ '@radix-ui/react-accordion@1.2.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-arrow@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-collapsible@1.1.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-collection@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-context@1.1.2(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-dialog@1.1.15(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ aria-hidden: 1.2.6
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ react-remove-scroll: 2.7.1(@types/react@19.1.9)(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-direction@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-dismissable-layer@1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-focus-guards@1.1.3(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-focus-scope@1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-id@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-navigation-menu@1.2.14(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-visually-hidden': 1.2.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-popover@1.1.15(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-dismissable-layer': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-focus-guards': 1.1.3(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-focus-scope': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-popper': 1.2.8(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-portal': 1.1.9(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ aria-hidden: 1.2.6
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ react-remove-scroll: 2.7.1(@types/react@19.1.9)(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-popper@1.2.8(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@floating-ui/react-dom': 2.1.5(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-arrow': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/rect': 1.1.1
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-portal@1.1.9(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-presence@1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-primitive@2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-roving-focus@1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-collection': 1.1.7(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-scroll-area@1.2.10(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/number': 1.1.1
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-slot@1.2.3(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-tabs@1.1.13(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/primitive': 1.1.3
+ '@radix-ui/react-context': 1.1.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-id': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-roving-focus': 1.1.11(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/rect': 1.1.1
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-use-size@1.1.1(@types/react@19.1.9)(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ react: 19.1.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ '@radix-ui/react-visually-hidden@1.2.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)':
+ dependencies:
+ '@radix-ui/react-primitive': 2.1.3(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
+ '@types/react-dom': 19.1.7(@types/react@19.1.9)
+
+ '@radix-ui/rect@1.1.1': {}
+
+ '@rollup/rollup-android-arm-eabi@4.46.2':
+ optional: true
+
+ '@rollup/rollup-android-arm64@4.46.2':
+ optional: true
+
+ '@rollup/rollup-darwin-arm64@4.46.2':
+ optional: true
+
+ '@rollup/rollup-darwin-x64@4.46.2':
+ optional: true
+
+ '@rollup/rollup-freebsd-arm64@4.46.2':
+ optional: true
+
+ '@rollup/rollup-freebsd-x64@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-gnueabihf@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm-musleabihf@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-arm64-musl@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-loongarch64-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-ppc64-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-riscv64-musl@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-s390x-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-gnu@4.46.2':
+ optional: true
+
+ '@rollup/rollup-linux-x64-musl@4.46.2':
+ optional: true
+
+ '@rollup/rollup-win32-arm64-msvc@4.46.2':
+ optional: true
+
+ '@rollup/rollup-win32-ia32-msvc@4.46.2':
+ optional: true
+
+ '@rollup/rollup-win32-x64-msvc@4.46.2':
+ optional: true
+
+ '@rtsao/scc@1.1.0': {}
+
+ '@shikijs/core@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+ hast-util-to-html: 9.0.5
+
+ '@shikijs/engine-javascript@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+ '@shikijs/vscode-textmate': 10.0.2
+ oniguruma-to-es: 4.3.3
+
+ '@shikijs/engine-oniguruma@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+ '@shikijs/vscode-textmate': 10.0.2
+
+ '@shikijs/langs@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+
+ '@shikijs/rehype@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+ '@types/hast': 3.0.4
+ hast-util-to-string: 3.0.1
+ shiki: 3.13.0
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+
+ '@shikijs/themes@3.13.0':
+ dependencies:
+ '@shikijs/types': 3.13.0
+
+ '@shikijs/transformers@3.13.0':
+ dependencies:
+ '@shikijs/core': 3.13.0
+ '@shikijs/types': 3.13.0
+
+ '@shikijs/types@3.13.0':
+ dependencies:
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ '@shikijs/vscode-textmate@10.0.2': {}
+
+ '@size-limit/esbuild@7.0.8(size-limit@7.0.8)':
+ dependencies:
+ esbuild: 0.14.27
+ nanoid: 3.3.11
+ size-limit: 7.0.8
+
+ '@size-limit/file@7.0.8(size-limit@7.0.8)':
+ dependencies:
+ semver: 7.3.5
+ size-limit: 7.0.8
+
+ '@size-limit/preset-small-lib@7.0.8(size-limit@7.0.8)':
+ dependencies:
+ '@size-limit/esbuild': 7.0.8(size-limit@7.0.8)
+ '@size-limit/file': 7.0.8(size-limit@7.0.8)
+ size-limit: 7.0.8
+
+ '@standard-schema/spec@1.0.0': {}
+
+ '@swc/core-darwin-arm64@1.10.4':
+ optional: true
+
+ '@swc/core-darwin-x64@1.10.4':
+ optional: true
+
+ '@swc/core-linux-arm-gnueabihf@1.10.4':
+ optional: true
+
+ '@swc/core-linux-arm64-gnu@1.10.4':
+ optional: true
+
+ '@swc/core-linux-arm64-musl@1.10.4':
+ optional: true
+
+ '@swc/core-linux-x64-gnu@1.10.4':
+ optional: true
+
+ '@swc/core-linux-x64-musl@1.10.4':
+ optional: true
+
+ '@swc/core-win32-arm64-msvc@1.10.4':
+ optional: true
+
+ '@swc/core-win32-ia32-msvc@1.10.4':
+ optional: true
+
+ '@swc/core-win32-x64-msvc@1.10.4':
+ optional: true
+
+ '@swc/core@1.10.4(@swc/helpers@0.5.15)':
+ dependencies:
+ '@swc/counter': 0.1.3
+ '@swc/types': 0.1.17
+ optionalDependencies:
+ '@swc/core-darwin-arm64': 1.10.4
+ '@swc/core-darwin-x64': 1.10.4
+ '@swc/core-linux-arm-gnueabihf': 1.10.4
+ '@swc/core-linux-arm64-gnu': 1.10.4
+ '@swc/core-linux-arm64-musl': 1.10.4
+ '@swc/core-linux-x64-gnu': 1.10.4
+ '@swc/core-linux-x64-musl': 1.10.4
+ '@swc/core-win32-arm64-msvc': 1.10.4
+ '@swc/core-win32-ia32-msvc': 1.10.4
+ '@swc/core-win32-x64-msvc': 1.10.4
+ '@swc/helpers': 0.5.15
+
+ '@swc/counter@0.1.3': {}
+
+ '@swc/helpers@0.5.15':
+ dependencies:
+ tslib: 2.8.1
+
+ '@swc/types@0.1.17':
+ dependencies:
+ '@swc/counter': 0.1.3
+
+ '@tailwindcss/node@4.1.11':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ enhanced-resolve: 5.18.3
+ jiti: 2.5.1
+ lightningcss: 1.30.1
+ magic-string: 0.30.17
+ source-map-js: 1.2.1
+ tailwindcss: 4.1.11
+
+ '@tailwindcss/oxide-android-arm64@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-arm64@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-darwin-x64@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-freebsd-x64@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-gnu@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-linux-arm64-musl@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-gnu@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-linux-x64-musl@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-wasm32-wasi@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-win32-arm64-msvc@4.1.11':
+ optional: true
+
+ '@tailwindcss/oxide-win32-x64-msvc@4.1.11':
+ optional: true
- external-editor@3.1.0:
- resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==}
- engines: {node: '>=4'}
+ '@tailwindcss/oxide@4.1.11':
+ dependencies:
+ detect-libc: 2.0.4
+ tar: 7.4.3
+ optionalDependencies:
+ '@tailwindcss/oxide-android-arm64': 4.1.11
+ '@tailwindcss/oxide-darwin-arm64': 4.1.11
+ '@tailwindcss/oxide-darwin-x64': 4.1.11
+ '@tailwindcss/oxide-freebsd-x64': 4.1.11
+ '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.11
+ '@tailwindcss/oxide-linux-arm64-gnu': 4.1.11
+ '@tailwindcss/oxide-linux-arm64-musl': 4.1.11
+ '@tailwindcss/oxide-linux-x64-gnu': 4.1.11
+ '@tailwindcss/oxide-linux-x64-musl': 4.1.11
+ '@tailwindcss/oxide-wasm32-wasi': 4.1.11
+ '@tailwindcss/oxide-win32-arm64-msvc': 4.1.11
+ '@tailwindcss/oxide-win32-x64-msvc': 4.1.11
- fast-check@3.3.0:
- resolution: {integrity: sha512-Zu6tZ4g0T4H9Tiz3tdNPEHrSbuICj7yhdOM9RCZKNMkpjZ9avDV3ORklXaEmh4zvkX24/bGZ9DxKKqWfXttUqw==}
- engines: {node: '>=8.0.0'}
+ '@tailwindcss/postcss@4.1.11':
+ dependencies:
+ '@alloc/quick-lru': 5.2.0
+ '@tailwindcss/node': 4.1.11
+ '@tailwindcss/oxide': 4.1.11
+ postcss: 8.5.6
+ tailwindcss: 4.1.11
- fast-deep-equal@3.1.3:
- resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
+ '@ts-morph/common@0.28.1':
+ dependencies:
+ minimatch: 10.0.3
+ path-browserify: 1.0.1
+ tinyglobby: 0.2.15
- fast-diff@1.2.0:
- resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==}
+ '@types/chai@5.2.2':
+ dependencies:
+ '@types/deep-eql': 4.0.2
- fast-glob@3.2.11:
- resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
- engines: {node: '>=8.6.0'}
+ '@types/debug@4.1.12':
+ dependencies:
+ '@types/ms': 2.1.0
- fast-json-stable-stringify@2.1.0:
- resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==}
+ '@types/deep-eql@4.0.2': {}
- fast-levenshtein@2.0.6:
- resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==}
+ '@types/estree-jsx@1.0.5':
+ dependencies:
+ '@types/estree': 1.0.8
- fastq@1.13.0:
- resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==}
+ '@types/estree@1.0.8': {}
- figures@3.2.0:
- resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
- engines: {node: '>=8'}
+ '@types/hast@3.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
- file-entry-cache@6.0.1:
- resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ '@types/humps@2.0.1': {}
- fill-range@7.0.1:
- resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==}
- engines: {node: '>=8'}
+ '@types/json-schema@7.0.15': {}
- find-up@5.0.0:
- resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==}
- engines: {node: '>=10'}
+ '@types/json5@0.0.29': {}
- flat-cache@3.0.4:
- resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==}
- engines: {node: ^10.12.0 || >=12.0.0}
+ '@types/mdast@4.0.4':
+ dependencies:
+ '@types/unist': 3.0.3
- flatted@3.2.5:
- resolution: {integrity: sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==}
+ '@types/mdx@2.0.13': {}
- foreground-child@2.0.0:
- resolution: {integrity: sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==}
- engines: {node: '>=8.0.0'}
+ '@types/ms@2.1.0': {}
- fs.realpath@1.0.0:
- resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==}
+ '@types/node@12.20.55': {}
- fsevents@2.3.2:
- resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==}
- engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0}
- os: [darwin]
+ '@types/node@24.2.0':
+ dependencies:
+ undici-types: 7.10.0
- function-bind@1.1.1:
- resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==}
+ '@types/react-dom@19.1.7(@types/react@19.1.9)':
+ dependencies:
+ '@types/react': 19.1.9
- get-caller-file@2.0.5:
- resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==}
- engines: {node: 6.* || 8.* || >= 10.*}
+ '@types/react@19.1.9':
+ dependencies:
+ csstype: 3.1.3
- get-func-name@2.0.0:
- resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==}
+ '@types/statuses@2.0.6': {}
- get-stream@6.0.1:
- resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==}
- engines: {node: '>=10'}
+ '@types/unist@2.0.11': {}
- glob-parent@5.1.2:
- resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==}
- engines: {node: '>= 6'}
+ '@types/unist@3.0.3': {}
- glob-parent@6.0.2:
- resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==}
- engines: {node: '>=10.13.0'}
+ '@typescript-eslint/eslint-plugin@8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+ dependencies:
+ '@eslint-community/regexpp': 4.12.1
+ '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ '@typescript-eslint/scope-manager': 8.39.0
+ '@typescript-eslint/type-utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.39.0
+ eslint: 9.32.0(jiti@2.5.1)
+ graphemer: 1.4.0
+ ignore: 7.0.5
+ natural-compare: 1.4.0
+ ts-api-utils: 2.1.0(typescript@5.9.2)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- glob@7.1.6:
- resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==}
- deprecated: Glob versions prior to v9 are no longer supported
+ '@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+ dependencies:
+ '@typescript-eslint/scope-manager': 8.39.0
+ '@typescript-eslint/types': 8.39.0
+ '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/visitor-keys': 8.39.0
+ debug: 4.4.1
+ eslint: 9.32.0(jiti@2.5.1)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- glob@7.2.3:
- resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==}
- deprecated: Glob versions prior to v9 are no longer supported
+ '@typescript-eslint/project-service@8.39.0(typescript@5.9.2)':
+ dependencies:
+ '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.39.0
+ debug: 4.4.1
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- globals@13.17.0:
- resolution: {integrity: sha512-1C+6nQRb1GwGMKm2dH/E7enFAMxGTmGI7/dEdhy/DNelv85w9B72t3uc5frtMNXIbzrarJJ/lTCjcaZwbLJmyw==}
- engines: {node: '>=8'}
+ '@typescript-eslint/scope-manager@8.39.0':
+ dependencies:
+ '@typescript-eslint/types': 8.39.0
+ '@typescript-eslint/visitor-keys': 8.39.0
- globby@11.1.0:
- resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==}
- engines: {node: '>=10'}
+ '@typescript-eslint/tsconfig-utils@8.39.0(typescript@5.9.2)':
+ dependencies:
+ typescript: 5.9.2
- grapheme-splitter@1.0.4:
- resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
+ '@typescript-eslint/type-utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+ dependencies:
+ '@typescript-eslint/types': 8.39.0
+ '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ debug: 4.4.1
+ eslint: 9.32.0(jiti@2.5.1)
+ ts-api-utils: 2.1.0(typescript@5.9.2)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- graphql@16.3.0:
- resolution: {integrity: sha512-xm+ANmA16BzCT5pLjuXySbQVFwH3oJctUVdy81w1sV0vBU0KgDdBGtxQOUd5zqOBk/JayAFeG8Dlmeq74rjm/A==}
- engines: {node: ^12.22.0 || ^14.16.0 || >=16.0.0}
+ '@typescript-eslint/types@8.39.0': {}
- has-flag@4.0.0:
- resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==}
- engines: {node: '>=8'}
+ '@typescript-eslint/typescript-estree@8.39.0(typescript@5.9.2)':
+ dependencies:
+ '@typescript-eslint/project-service': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/tsconfig-utils': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/types': 8.39.0
+ '@typescript-eslint/visitor-keys': 8.39.0
+ debug: 4.4.1
+ fast-glob: 3.3.3
+ is-glob: 4.0.3
+ minimatch: 9.0.5
+ semver: 7.7.2
+ ts-api-utils: 2.1.0(typescript@5.9.2)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- has@1.0.3:
- resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==}
- engines: {node: '>= 0.4.0'}
+ '@typescript-eslint/utils@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)':
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+ '@typescript-eslint/scope-manager': 8.39.0
+ '@typescript-eslint/types': 8.39.0
+ '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+ eslint: 9.32.0(jiti@2.5.1)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
- headers-polyfill@3.0.4:
- resolution: {integrity: sha512-I1DOM1EdWYntdrnCvqQtcKwSSuiTzoqOExy4v1mdcFixFZABlWP4IPHdmoLtPda0abMHqDOY4H9svhQ10DFR4w==}
+ '@typescript-eslint/visitor-keys@8.39.0':
+ dependencies:
+ '@typescript-eslint/types': 8.39.0
+ eslint-visitor-keys: 4.2.1
+
+ '@ungap/structured-clone@1.3.0': {}
+
+ '@vitest/coverage-v8@3.2.4(vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(yaml@2.8.1))':
+ dependencies:
+ '@ampproject/remapping': 2.3.0
+ '@bcoe/v8-coverage': 1.0.2
+ ast-v8-to-istanbul: 0.3.4
+ debug: 4.4.1
+ istanbul-lib-coverage: 3.2.2
+ istanbul-lib-report: 3.0.1
+ istanbul-lib-source-maps: 5.0.6
+ istanbul-reports: 3.1.7
+ magic-string: 0.30.17
+ magicast: 0.3.5
+ std-env: 3.9.0
+ test-exclude: 7.0.1
+ tinyrainbow: 2.0.0
+ vitest: 3.2.4(@types/debug@4.1.12)(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(yaml@2.8.1)
+ transitivePeerDependencies:
+ - supports-color
- html-escaper@2.0.2:
- resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==}
+ '@vitest/expect@3.2.4':
+ dependencies:
+ '@types/chai': 5.2.2
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.2.1
+ tinyrainbow: 2.0.0
- human-signals@2.1.0:
- resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==}
- engines: {node: '>=10.17.0'}
+ '@vitest/mocker@3.2.4(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(vite@7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1))':
+ dependencies:
+ '@vitest/spy': 3.2.4
+ estree-walker: 3.0.3
+ magic-string: 0.30.17
+ optionalDependencies:
+ msw: 2.11.5(@types/node@24.2.0)(typescript@5.9.2)
+ vite: 7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)
- humps@2.0.1:
- resolution: {integrity: sha512-E0eIbrFWUhwfXJmsbdjRQFQPrl5pTEoKlz163j1mTqqUnU9PgR4AgB8AIITzuB3vLBdxZXyZ9TDIrwB2OASz4g==}
+ '@vitest/pretty-format@3.2.4':
+ dependencies:
+ tinyrainbow: 2.0.0
- husky@7.0.4:
- resolution: {integrity: sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==}
- engines: {node: '>=12'}
- hasBin: true
+ '@vitest/runner@3.2.4':
+ dependencies:
+ '@vitest/utils': 3.2.4
+ pathe: 2.0.3
+ strip-literal: 3.0.0
- iconv-lite@0.4.24:
- resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==}
- engines: {node: '>=0.10.0'}
+ '@vitest/snapshot@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ magic-string: 0.30.17
+ pathe: 2.0.3
- ieee754@1.2.1:
- resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==}
+ '@vitest/spy@3.2.4':
+ dependencies:
+ tinyspy: 4.0.3
- ignore@5.2.0:
- resolution: {integrity: sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==}
- engines: {node: '>= 4'}
+ '@vitest/utils@3.2.4':
+ dependencies:
+ '@vitest/pretty-format': 3.2.4
+ loupe: 3.2.0
+ tinyrainbow: 2.0.0
- import-fresh@3.3.0:
- resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
- engines: {node: '>=6'}
+ acorn-jsx@5.3.2(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
- imurmurhash@0.1.4:
- resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
- engines: {node: '>=0.8.19'}
+ acorn@8.15.0: {}
- inflight@1.0.6:
- resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
- deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
+ ajv@6.12.6:
+ dependencies:
+ fast-deep-equal: 3.1.3
+ fast-json-stable-stringify: 2.1.0
+ json-schema-traverse: 0.4.1
+ uri-js: 4.4.1
- inherits@2.0.4:
- resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==}
+ ansi-colors@4.1.3: {}
- inquirer@8.2.2:
- resolution: {integrity: sha512-pG7I/si6K/0X7p1qU+rfWnpTE1UIkTONN1wxtzh0d+dHXtT/JG6qBgLxoyHVsQa8cFABxAPh0pD6uUUHiAoaow==}
- engines: {node: '>=12.0.0'}
+ ansi-regex@5.0.1: {}
- is-binary-path@2.1.0:
- resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==}
- engines: {node: '>=8'}
+ ansi-regex@6.1.0: {}
- is-core-module@2.11.0:
- resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==}
+ ansi-styles@4.3.0:
+ dependencies:
+ color-convert: 2.0.1
- is-extglob@2.1.1:
- resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
- engines: {node: '>=0.10.0'}
+ ansi-styles@6.2.1: {}
- is-fullwidth-code-point@3.0.0:
- resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==}
- engines: {node: '>=8'}
+ any-promise@1.3.0: {}
- is-glob@4.0.3:
- resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==}
- engines: {node: '>=0.10.0'}
+ anymatch@3.1.2:
+ dependencies:
+ normalize-path: 3.0.0
+ picomatch: 2.3.1
- is-interactive@1.0.0:
- resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==}
- engines: {node: '>=8'}
+ argparse@1.0.10:
+ dependencies:
+ sprintf-js: 1.0.3
- is-node-process@1.0.1:
- resolution: {integrity: sha512-5IcdXuf++TTNt3oGl9EBdkvndXA8gmc4bz/Y+mdEpWh3Mcn/+kOw6hI7LD5CocqJWMzeb0I0ClndRVNdEPuJXQ==}
+ argparse@2.0.1: {}
- is-number@7.0.0:
- resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
- engines: {node: '>=0.12.0'}
+ aria-hidden@1.2.6:
+ dependencies:
+ tslib: 2.8.1
- is-path-inside@3.0.3:
- resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==}
- engines: {node: '>=8'}
+ aria-query@5.3.2: {}
- is-stream@2.0.1:
- resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==}
- engines: {node: '>=8'}
+ array-buffer-byte-length@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ is-array-buffer: 3.0.5
- is-unicode-supported@0.1.0:
- resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==}
- engines: {node: '>=10'}
+ array-includes@3.1.9:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ is-string: 1.1.1
+ math-intrinsics: 1.1.0
- isexe@2.0.0:
- resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
+ array-union@2.1.0: {}
- istanbul-lib-coverage@3.2.0:
- resolution: {integrity: sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==}
- engines: {node: '>=8'}
+ array.prototype.findlast@1.2.5:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-shim-unscopables: 1.1.0
- istanbul-lib-report@3.0.0:
- resolution: {integrity: sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==}
- engines: {node: '>=8'}
+ array.prototype.findlastindex@1.2.6:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-shim-unscopables: 1.1.0
- istanbul-reports@3.1.5:
- resolution: {integrity: sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==}
- engines: {node: '>=8'}
+ array.prototype.flat@1.3.3:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-shim-unscopables: 1.1.0
- joycon@3.1.1:
- resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==}
- engines: {node: '>=10'}
+ array.prototype.flatmap@1.3.3:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-shim-unscopables: 1.1.0
- js-levenshtein@1.1.6:
- resolution: {integrity: sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==}
- engines: {node: '>=0.10.0'}
+ array.prototype.tosorted@1.1.4:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-shim-unscopables: 1.1.0
- js-sdsl@4.1.5:
- resolution: {integrity: sha512-08bOAKweV2NUC1wqTtf3qZlnpOX/R2DU9ikpjOHs0H+ibQv3zpncVQg6um4uYtRtrwIX8M4Nh3ytK4HGlYAq7Q==}
+ arraybuffer.prototype.slice@1.0.4:
+ dependencies:
+ array-buffer-byte-length: 1.0.2
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ is-array-buffer: 3.0.5
- js-yaml@4.1.0:
- resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==}
- hasBin: true
+ assertion-error@2.0.1: {}
- json-schema-traverse@0.4.1:
- resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==}
+ ast-types-flow@0.0.8: {}
- json-stable-stringify-without-jsonify@1.0.1:
- resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==}
+ ast-v8-to-istanbul@0.3.4:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.29
+ estree-walker: 3.0.3
+ js-tokens: 9.0.1
- levn@0.4.1:
- resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==}
- engines: {node: '>= 0.8.0'}
+ astring@1.9.0: {}
- lilconfig@2.0.6:
- resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==}
- engines: {node: '>=10'}
+ async-function@1.0.0: {}
- lines-and-columns@1.2.4:
- resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==}
+ available-typed-arrays@1.0.7:
+ dependencies:
+ possible-typed-array-names: 1.1.0
- load-tsconfig@0.2.3:
- resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==}
- engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
+ axe-core@4.10.3: {}
- local-pkg@0.4.2:
- resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==}
- engines: {node: '>=14'}
+ axobject-query@4.1.0: {}
- locate-path@6.0.0:
- resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==}
- engines: {node: '>=10'}
+ bail@2.0.2: {}
- lodash.merge@4.6.2:
- resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
+ balanced-match@1.0.2: {}
- lodash.sortby@4.7.0:
- resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==}
+ better-path-resolve@1.0.0:
+ dependencies:
+ is-windows: 1.0.2
- lodash@4.17.21:
- resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==}
+ binary-extensions@2.2.0: {}
- log-symbols@4.1.0:
- resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==}
- engines: {node: '>=10'}
+ brace-expansion@1.1.11:
+ dependencies:
+ balanced-match: 1.0.2
+ concat-map: 0.0.1
- loupe@2.3.4:
- resolution: {integrity: sha512-OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==}
- deprecated: Please upgrade to 2.3.7 which fixes GHSA-4q6p-r6v2-jvc5
+ brace-expansion@2.0.2:
+ dependencies:
+ balanced-match: 1.0.2
- lru-cache@6.0.0:
- resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==}
- engines: {node: '>=10'}
+ braces@3.0.3:
+ dependencies:
+ fill-range: 7.1.1
- make-dir@3.1.0:
- resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
- engines: {node: '>=8'}
+ browserslist@4.25.1:
+ dependencies:
+ caniuse-lite: 1.0.30001731
+ electron-to-chromium: 1.5.198
+ node-releases: 2.0.19
+ update-browserslist-db: 1.1.3(browserslist@4.25.1)
- merge-stream@2.0.0:
- resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==}
+ bundle-require@5.1.0(esbuild@0.25.8):
+ dependencies:
+ esbuild: 0.25.8
+ load-tsconfig: 0.2.3
- merge2@1.4.1:
- resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==}
- engines: {node: '>= 8'}
+ bytes-iec@3.1.1: {}
- micromatch@4.0.4:
- resolution: {integrity: sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==}
- engines: {node: '>=8.6'}
+ cac@6.7.14: {}
- mimic-fn@2.1.0:
- resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==}
- engines: {node: '>=6'}
+ call-bind-apply-helpers@1.0.2:
+ dependencies:
+ es-errors: 1.3.0
+ function-bind: 1.1.2
- minimatch@3.1.2:
- resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==}
+ call-bind@1.0.8:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ get-intrinsic: 1.3.0
+ set-function-length: 1.2.2
- mkdirp@1.0.4:
- resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==}
- engines: {node: '>=10'}
- hasBin: true
+ call-bound@1.0.4:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ get-intrinsic: 1.3.0
- ms@2.1.2:
- resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==}
+ callsites@3.1.0: {}
- msw@0.39.2:
- resolution: {integrity: sha512-ju/HpqQpE4/qCxZ23t5Gaau0KREn4QuFzdG28nP1EpidMrymMJuIvNd32+2uGTGG031PMwrC41YW7vCxHOwyHA==}
- engines: {node: '>=14'}
- hasBin: true
+ caniuse-lite@1.0.30001731: {}
- mute-stream@0.0.8:
- resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==}
+ ccount@2.0.1: {}
- mz@2.7.0:
- resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==}
+ chai@5.2.1:
+ dependencies:
+ assertion-error: 2.0.1
+ check-error: 2.1.1
+ deep-eql: 5.0.2
+ loupe: 3.2.0
+ pathval: 2.0.1
- nanoid@3.3.4:
- resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
- engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
- hasBin: true
+ chalk@4.1.2:
+ dependencies:
+ ansi-styles: 4.3.0
+ supports-color: 7.2.0
- nanospinner@1.0.0:
- resolution: {integrity: sha512-14c2r2QQ9xfTmdbqdF51FKCNvww+0ZON9GeEHur+pBdOufoFvxD4CZQRaYWmFrGH3Nuv7PZ/9Q+wsV+hFSp32g==}
+ character-entities-html4@2.1.0: {}
- natural-compare-lite@1.4.0:
- resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==}
+ character-entities-legacy@3.0.0: {}
- natural-compare@1.4.0:
- resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
+ character-entities@2.0.2: {}
- node-fetch@2.6.7:
- resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==}
- engines: {node: 4.x || >=6.0.0}
- peerDependencies:
- encoding: ^0.1.0
- peerDependenciesMeta:
- encoding:
- optional: true
+ character-reference-invalid@2.0.1: {}
- normalize-path@3.0.0:
- resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==}
- engines: {node: '>=0.10.0'}
+ chardet@0.7.0: {}
- npm-run-path@4.0.1:
- resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==}
- engines: {node: '>=8'}
+ check-error@2.1.1: {}
- object-assign@4.1.1:
- resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
- engines: {node: '>=0.10.0'}
+ chokidar@3.5.3:
+ dependencies:
+ anymatch: 3.1.2
+ braces: 3.0.3
+ glob-parent: 5.1.2
+ is-binary-path: 2.1.0
+ is-glob: 4.0.3
+ normalize-path: 3.0.0
+ readdirp: 3.6.0
+ optionalDependencies:
+ fsevents: 2.3.3
- once@1.4.0:
- resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==}
+ chokidar@4.0.3:
+ dependencies:
+ readdirp: 4.1.2
- onetime@5.1.2:
- resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==}
- engines: {node: '>=6'}
+ chownr@3.0.0: {}
- optionator@0.9.1:
- resolution: {integrity: sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==}
- engines: {node: '>= 0.8.0'}
+ ci-info@3.9.0: {}
- ora@5.4.1:
- resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==}
- engines: {node: '>=10'}
+ ci-job-number@1.2.2: {}
- os-tmpdir@1.0.2:
- resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==}
- engines: {node: '>=0.10.0'}
+ class-variance-authority@0.7.1:
+ dependencies:
+ clsx: 2.1.1
- outvariant@1.3.0:
- resolution: {integrity: sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ==}
+ cli-width@4.1.0: {}
- p-limit@3.1.0:
- resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==}
- engines: {node: '>=10'}
+ client-only@0.0.1: {}
- p-locate@5.0.0:
- resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
- engines: {node: '>=10'}
+ cliui@8.0.1:
+ dependencies:
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
+ wrap-ansi: 7.0.0
- parent-module@1.0.1:
- resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
- engines: {node: '>=6'}
+ clsx@2.1.1: {}
- path-exists@4.0.0:
- resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==}
- engines: {node: '>=8'}
+ code-block-writer@13.0.3: {}
- path-is-absolute@1.0.1:
- resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==}
- engines: {node: '>=0.10.0'}
+ collapse-white-space@2.1.0: {}
- path-key@3.1.1:
- resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==}
- engines: {node: '>=8'}
+ color-convert@2.0.1:
+ dependencies:
+ color-name: 1.1.4
- path-parse@1.0.7:
- resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==}
+ color-name@1.1.4: {}
- path-to-regexp@6.2.0:
- resolution: {integrity: sha512-f66KywYG6+43afgE/8j/GoiNyygk/bnoCbps++3ErRKsIYkGGupyv07R2Ok5m9i67Iqc+T2g1eAUGUPzWhYTyg==}
+ color-string@1.9.1:
+ dependencies:
+ color-name: 1.1.4
+ simple-swizzle: 0.2.2
+ optional: true
- path-type@4.0.0:
- resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==}
- engines: {node: '>=8'}
+ color@4.2.3:
+ dependencies:
+ color-convert: 2.0.1
+ color-string: 1.9.1
+ optional: true
- pathval@1.1.1:
- resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==}
+ comma-separated-tokens@2.0.3: {}
- picocolors@1.0.0:
- resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
+ commander@4.1.1: {}
- picomatch@2.3.1:
- resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==}
- engines: {node: '>=8.6'}
+ compute-scroll-into-view@3.1.1: {}
- pirates@4.0.5:
- resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==}
- engines: {node: '>= 6'}
+ concat-map@0.0.1: {}
- postcss-load-config@3.1.4:
- resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==}
- engines: {node: '>= 10'}
- peerDependencies:
- postcss: '>=8.0.9'
- ts-node: '>=9.0.0'
- peerDependenciesMeta:
- postcss:
- optional: true
- ts-node:
- optional: true
+ confbox@0.1.8: {}
- postcss@8.4.18:
- resolution: {integrity: sha512-Wi8mWhncLJm11GATDaQKobXSNEYGUHeQLiQqDFG1qQ5UTDPTEvKw0Xt5NsTpktGTwLps3ByrWsBrG0rB8YQ9oA==}
- engines: {node: ^10 || ^12 || >=14}
+ consola@3.4.2: {}
- prelude-ls@1.2.1:
- resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==}
- engines: {node: '>= 0.8.0'}
+ convert-source-map@2.0.0: {}
- prettier-linter-helpers@1.0.0:
- resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==}
- engines: {node: '>=6.0.0'}
+ cookie@1.0.2: {}
- prettier@2.7.1:
- resolution: {integrity: sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==}
- engines: {node: '>=10.13.0'}
- hasBin: true
+ cross-fetch@3.1.5:
+ dependencies:
+ node-fetch: 2.6.7
+ transitivePeerDependencies:
+ - encoding
- punycode@2.1.1:
- resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==}
- engines: {node: '>=6'}
+ cross-spawn@7.0.6:
+ dependencies:
+ path-key: 3.1.1
+ shebang-command: 2.0.0
+ which: 2.0.2
- pure-rand@5.0.3:
- resolution: {integrity: sha512-9N8x1h8dptBQpHyC7aZMS+iNOAm97WMGY0AFrguU1cpfW3I5jINkWe5BIY5md0ofy+1TCIELsVcm/GJXZSaPbw==}
+ cssesc@3.0.0: {}
- queue-microtask@1.2.3:
- resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
+ csstype@3.1.3: {}
- readable-stream@3.6.0:
- resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==}
- engines: {node: '>= 6'}
+ damerau-levenshtein@1.0.8: {}
- readdirp@3.6.0:
- resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==}
- engines: {node: '>=8.10.0'}
+ data-view-buffer@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- regexpp@3.2.0:
- resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
- engines: {node: '>=8'}
+ data-view-byte-length@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- require-directory@2.1.1:
- resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==}
- engines: {node: '>=0.10.0'}
+ data-view-byte-offset@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-data-view: 1.0.2
- resolve-from@4.0.0:
- resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
- engines: {node: '>=4'}
+ debug@3.2.7:
+ dependencies:
+ ms: 2.1.3
- resolve-from@5.0.0:
- resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==}
- engines: {node: '>=8'}
+ debug@4.4.1:
+ dependencies:
+ ms: 2.1.3
- resolve@1.22.1:
- resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==}
- hasBin: true
+ decode-named-character-reference@1.2.0:
+ dependencies:
+ character-entities: 2.0.2
- restore-cursor@3.1.0:
- resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
- engines: {node: '>=8'}
+ deep-eql@5.0.2: {}
- reusify@1.0.4:
- resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==}
- engines: {iojs: '>=1.0.0', node: '>=0.10.0'}
+ deep-is@0.1.4: {}
- rimraf@3.0.2:
- resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==}
- deprecated: Rimraf versions prior to v4 are no longer supported
- hasBin: true
+ define-data-property@1.1.4:
+ dependencies:
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ gopd: 1.2.0
- rollup-plugin-analyzer@4.0.0:
- resolution: {integrity: sha512-LL9GEt3bkXp6Wa19SNR5MWcvHNMvuTFYg+eYBZN2OIFhSWN+pEJUQXEKu5BsOeABob3x9PDaLKW7w5iOJnsESQ==}
- engines: {node: '>=8.0.0'}
+ define-properties@1.2.1:
+ dependencies:
+ define-data-property: 1.1.4
+ has-property-descriptors: 1.0.2
+ object-keys: 1.1.1
- rollup@2.79.1:
- resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==}
- engines: {node: '>=10.0.0'}
- hasBin: true
+ dequal@2.0.3: {}
- run-async@2.4.1:
- resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==}
- engines: {node: '>=0.12.0'}
+ detect-indent@6.1.0: {}
- run-parallel@1.2.0:
- resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==}
+ detect-libc@2.0.4: {}
- rxjs@7.5.5:
- resolution: {integrity: sha512-sy+H0pQofO95VDmFLzyaw9xNJU4KTRSwQIGM6+iG3SypAtCiLDzpeG8sJrNCWn2Up9km+KhkvTdbkrdy+yzZdw==}
+ detect-node-es@1.1.0: {}
- safe-buffer@5.2.1:
- resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==}
+ devlop@1.1.0:
+ dependencies:
+ dequal: 2.0.3
- safer-buffer@2.1.2:
- resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
+ dir-glob@3.0.1:
+ dependencies:
+ path-type: 4.0.0
- semver@6.3.0:
- resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==}
- hasBin: true
+ doctrine@2.1.0:
+ dependencies:
+ esutils: 2.0.3
- semver@7.3.5:
- resolution: {integrity: sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==}
- engines: {node: '>=10'}
- hasBin: true
+ dotenv@16.0.3: {}
- semver@7.3.8:
- resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==}
- engines: {node: '>=10'}
- hasBin: true
+ dunder-proto@1.0.1:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-errors: 1.3.0
+ gopd: 1.2.0
- set-cookie-parser@2.4.8:
- resolution: {integrity: sha512-edRH8mBKEWNVIVMKejNnuJxleqYE/ZSdcT8/Nem9/mmosx12pctd80s2Oy00KNZzrogMZS5mauK2/ymL1bvlvg==}
+ eastasianwidth@0.2.0: {}
- shebang-command@2.0.0:
- resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==}
- engines: {node: '>=8'}
+ electron-to-chromium@1.5.198: {}
- shebang-regex@3.0.0:
- resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
- engines: {node: '>=8'}
+ emoji-regex@8.0.0: {}
- signal-exit@3.0.7:
- resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==}
+ emoji-regex@9.2.2: {}
- size-limit@7.0.8:
- resolution: {integrity: sha512-3h76c9E0e/nNhYLSR7IBI/bSoXICeo7EYkYjlyVqNIsu7KvN/PQmMbIXeyd2QKIF8iZKhaiZQoXLkGWbyPDtvQ==}
- engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
- hasBin: true
+ enhanced-resolve@5.18.3:
+ dependencies:
+ graceful-fs: 4.2.11
+ tapable: 2.2.2
- slash@3.0.0:
- resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
- engines: {node: '>=8'}
+ enquirer@2.4.1:
+ dependencies:
+ ansi-colors: 4.1.3
+ strip-ansi: 6.0.1
- source-map-js@1.0.2:
- resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
- engines: {node: '>=0.10.0'}
+ es-abstract@1.24.0:
+ dependencies:
+ array-buffer-byte-length: 1.0.2
+ arraybuffer.prototype.slice: 1.0.4
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ data-view-buffer: 1.0.2
+ data-view-byte-length: 1.0.2
+ data-view-byte-offset: 1.0.1
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ es-set-tostringtag: 2.1.0
+ es-to-primitive: 1.3.0
+ function.prototype.name: 1.1.8
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ get-symbol-description: 1.1.0
+ globalthis: 1.0.4
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ internal-slot: 1.1.0
+ is-array-buffer: 3.0.5
+ is-callable: 1.2.7
+ is-data-view: 1.0.2
+ is-negative-zero: 2.0.3
+ is-regex: 1.2.1
+ is-set: 2.0.3
+ is-shared-array-buffer: 1.0.4
+ is-string: 1.1.1
+ is-typed-array: 1.1.15
+ is-weakref: 1.1.1
+ math-intrinsics: 1.1.0
+ object-inspect: 1.13.4
+ object-keys: 1.1.1
+ object.assign: 4.1.7
+ own-keys: 1.0.1
+ regexp.prototype.flags: 1.5.4
+ safe-array-concat: 1.1.3
+ safe-push-apply: 1.0.0
+ safe-regex-test: 1.1.0
+ set-proto: 1.0.0
+ stop-iteration-iterator: 1.1.0
+ string.prototype.trim: 1.2.10
+ string.prototype.trimend: 1.0.9
+ string.prototype.trimstart: 1.0.8
+ typed-array-buffer: 1.0.3
+ typed-array-byte-length: 1.0.3
+ typed-array-byte-offset: 1.0.4
+ typed-array-length: 1.0.7
+ unbox-primitive: 1.1.0
+ which-typed-array: 1.1.19
+
+ es-define-property@1.0.1: {}
+
+ es-errors@1.3.0: {}
+
+ es-iterator-helpers@1.2.1:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-set-tostringtag: 2.1.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ globalthis: 1.0.4
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+ has-proto: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ iterator.prototype: 1.1.5
+ safe-array-concat: 1.1.3
+
+ es-module-lexer@1.7.0: {}
+
+ es-object-atoms@1.1.1:
+ dependencies:
+ es-errors: 1.3.0
+
+ es-set-tostringtag@2.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ es-shim-unscopables@1.1.0:
+ dependencies:
+ hasown: 2.0.2
+
+ es-to-primitive@1.3.0:
+ dependencies:
+ is-callable: 1.2.7
+ is-date-object: 1.1.0
+ is-symbol: 1.1.1
+
+ esast-util-from-estree@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ unist-util-position-from-estree: 2.0.0
+
+ esast-util-from-js@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ acorn: 8.15.0
+ esast-util-from-estree: 2.0.0
+ vfile-message: 4.0.3
- source-map@0.8.0-beta.0:
- resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==}
- engines: {node: '>= 8'}
+ esbuild-android-64@0.14.27:
+ optional: true
- statuses@2.0.1:
- resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==}
- engines: {node: '>= 0.8'}
+ esbuild-android-arm64@0.14.27:
+ optional: true
- strict-event-emitter@0.2.0:
- resolution: {integrity: sha512-zv7K2egoKwkQkZGEaH8m+i2D0XiKzx5jNsiSul6ja2IYFvil10A59Z9Y7PPAAe5OW53dQUf9CfsHKzjZzKkm1w==}
+ esbuild-darwin-64@0.14.27:
+ optional: true
- string-width@4.2.3:
- resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==}
- engines: {node: '>=8'}
+ esbuild-darwin-arm64@0.14.27:
+ optional: true
- string_decoder@1.3.0:
- resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==}
+ esbuild-freebsd-64@0.14.27:
+ optional: true
- strip-ansi@6.0.1:
- resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==}
- engines: {node: '>=8'}
+ esbuild-freebsd-arm64@0.14.27:
+ optional: true
- strip-final-newline@2.0.0:
- resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==}
- engines: {node: '>=6'}
+ esbuild-linux-32@0.14.27:
+ optional: true
- strip-json-comments@3.1.1:
- resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==}
- engines: {node: '>=8'}
+ esbuild-linux-64@0.14.27:
+ optional: true
- strip-literal@0.4.2:
- resolution: {integrity: sha512-pv48ybn4iE1O9RLgCAN0iU4Xv7RlBTiit6DKmMiErbs9x1wH6vXBs45tWc0H5wUIF6TLTrKweqkmYF/iraQKNw==}
+ esbuild-linux-arm64@0.14.27:
+ optional: true
- sucrase@3.28.0:
- resolution: {integrity: sha512-TK9600YInjuiIhVM3729rH4ZKPOsGeyXUwY+Ugu9eilNbdTFyHr6XcAGYbRVZPDgWj6tgI7bx95aaJjHnbffag==}
- engines: {node: '>=8'}
- hasBin: true
+ esbuild-linux-arm@0.14.27:
+ optional: true
- supports-color@7.2.0:
- resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==}
- engines: {node: '>=8'}
+ esbuild-linux-mips64le@0.14.27:
+ optional: true
- supports-preserve-symlinks-flag@1.0.0:
- resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
- engines: {node: '>= 0.4'}
+ esbuild-linux-ppc64le@0.14.27:
+ optional: true
- test-exclude@6.0.0:
- resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==}
- engines: {node: '>=8'}
+ esbuild-linux-riscv64@0.14.27:
+ optional: true
- text-table@0.2.0:
- resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==}
+ esbuild-linux-s390x@0.14.27:
+ optional: true
- thenify-all@1.6.0:
- resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==}
- engines: {node: '>=0.8'}
+ esbuild-netbsd-64@0.14.27:
+ optional: true
- thenify@3.3.1:
- resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==}
+ esbuild-openbsd-64@0.14.27:
+ optional: true
- through@2.3.8:
- resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==}
+ esbuild-sunos-64@0.14.27:
+ optional: true
- tinybench@2.3.1:
- resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==}
+ esbuild-windows-32@0.14.27:
+ optional: true
- tinypool@0.3.0:
- resolution: {integrity: sha512-NX5KeqHOBZU6Bc0xj9Vr5Szbb1j8tUHIeD18s41aDJaPeC5QTdEhK0SpdpUrZlj2nv5cctNcSjaKNanXlfcVEQ==}
- engines: {node: '>=14.0.0'}
+ esbuild-windows-64@0.14.27:
+ optional: true
- tinyspy@1.0.2:
- resolution: {integrity: sha512-bSGlgwLBYf7PnUsQ6WOc6SJ3pGOcd+d8AA6EUnLDDM0kWEstC1JIlSZA3UNliDXhd9ABoS7hiRBDCu+XP/sf1Q==}
- engines: {node: '>=14.0.0'}
+ esbuild-windows-arm64@0.14.27:
+ optional: true
- tmp@0.0.33:
- resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==}
- engines: {node: '>=0.6.0'}
+ esbuild@0.14.27:
+ optionalDependencies:
+ esbuild-android-64: 0.14.27
+ esbuild-android-arm64: 0.14.27
+ esbuild-darwin-64: 0.14.27
+ esbuild-darwin-arm64: 0.14.27
+ esbuild-freebsd-64: 0.14.27
+ esbuild-freebsd-arm64: 0.14.27
+ esbuild-linux-32: 0.14.27
+ esbuild-linux-64: 0.14.27
+ esbuild-linux-arm: 0.14.27
+ esbuild-linux-arm64: 0.14.27
+ esbuild-linux-mips64le: 0.14.27
+ esbuild-linux-ppc64le: 0.14.27
+ esbuild-linux-riscv64: 0.14.27
+ esbuild-linux-s390x: 0.14.27
+ esbuild-netbsd-64: 0.14.27
+ esbuild-openbsd-64: 0.14.27
+ esbuild-sunos-64: 0.14.27
+ esbuild-windows-32: 0.14.27
+ esbuild-windows-64: 0.14.27
+ esbuild-windows-arm64: 0.14.27
- to-regex-range@5.0.1:
- resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
- engines: {node: '>=8.0'}
+ esbuild@0.25.11:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.11
+ '@esbuild/android-arm': 0.25.11
+ '@esbuild/android-arm64': 0.25.11
+ '@esbuild/android-x64': 0.25.11
+ '@esbuild/darwin-arm64': 0.25.11
+ '@esbuild/darwin-x64': 0.25.11
+ '@esbuild/freebsd-arm64': 0.25.11
+ '@esbuild/freebsd-x64': 0.25.11
+ '@esbuild/linux-arm': 0.25.11
+ '@esbuild/linux-arm64': 0.25.11
+ '@esbuild/linux-ia32': 0.25.11
+ '@esbuild/linux-loong64': 0.25.11
+ '@esbuild/linux-mips64el': 0.25.11
+ '@esbuild/linux-ppc64': 0.25.11
+ '@esbuild/linux-riscv64': 0.25.11
+ '@esbuild/linux-s390x': 0.25.11
+ '@esbuild/linux-x64': 0.25.11
+ '@esbuild/netbsd-arm64': 0.25.11
+ '@esbuild/netbsd-x64': 0.25.11
+ '@esbuild/openbsd-arm64': 0.25.11
+ '@esbuild/openbsd-x64': 0.25.11
+ '@esbuild/openharmony-arm64': 0.25.11
+ '@esbuild/sunos-x64': 0.25.11
+ '@esbuild/win32-arm64': 0.25.11
+ '@esbuild/win32-ia32': 0.25.11
+ '@esbuild/win32-x64': 0.25.11
+
+ esbuild@0.25.8:
+ optionalDependencies:
+ '@esbuild/aix-ppc64': 0.25.8
+ '@esbuild/android-arm': 0.25.8
+ '@esbuild/android-arm64': 0.25.8
+ '@esbuild/android-x64': 0.25.8
+ '@esbuild/darwin-arm64': 0.25.8
+ '@esbuild/darwin-x64': 0.25.8
+ '@esbuild/freebsd-arm64': 0.25.8
+ '@esbuild/freebsd-x64': 0.25.8
+ '@esbuild/linux-arm': 0.25.8
+ '@esbuild/linux-arm64': 0.25.8
+ '@esbuild/linux-ia32': 0.25.8
+ '@esbuild/linux-loong64': 0.25.8
+ '@esbuild/linux-mips64el': 0.25.8
+ '@esbuild/linux-ppc64': 0.25.8
+ '@esbuild/linux-riscv64': 0.25.8
+ '@esbuild/linux-s390x': 0.25.8
+ '@esbuild/linux-x64': 0.25.8
+ '@esbuild/netbsd-arm64': 0.25.8
+ '@esbuild/netbsd-x64': 0.25.8
+ '@esbuild/openbsd-arm64': 0.25.8
+ '@esbuild/openbsd-x64': 0.25.8
+ '@esbuild/openharmony-arm64': 0.25.8
+ '@esbuild/sunos-x64': 0.25.8
+ '@esbuild/win32-arm64': 0.25.8
+ '@esbuild/win32-ia32': 0.25.8
+ '@esbuild/win32-x64': 0.25.8
+
+ escalade@3.2.0: {}
- tr46@0.0.3:
- resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
+ escape-string-regexp@4.0.0: {}
- tr46@1.0.1:
- resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==}
+ escape-string-regexp@5.0.0: {}
- tree-kill@1.2.2:
- resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
- hasBin: true
+ eslint-import-resolver-node@0.3.9:
+ dependencies:
+ debug: 3.2.7
+ is-core-module: 2.16.1
+ resolve: 1.22.10
+ transitivePeerDependencies:
+ - supports-color
- ts-interface-checker@0.1.13:
- resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==}
+ eslint-module-utils@2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ debug: 3.2.7
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ eslint: 9.32.0(jiti@2.5.1)
+ eslint-import-resolver-node: 0.3.9
+ transitivePeerDependencies:
+ - supports-color
- tslib@1.14.1:
- resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==}
+ eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ '@rtsao/scc': 1.1.0
+ array-includes: 3.1.9
+ array.prototype.findlastindex: 1.2.6
+ array.prototype.flat: 1.3.3
+ array.prototype.flatmap: 1.3.3
+ debug: 3.2.7
+ doctrine: 2.1.0
+ eslint: 9.32.0(jiti@2.5.1)
+ eslint-import-resolver-node: 0.3.9
+ eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint-import-resolver-node@0.3.9)(eslint@9.32.0(jiti@2.5.1))
+ hasown: 2.0.2
+ is-core-module: 2.16.1
+ is-glob: 4.0.3
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ object.groupby: 1.0.3
+ object.values: 1.2.1
+ semver: 6.3.1
+ string.prototype.trimend: 1.0.9
+ tsconfig-paths: 3.15.0
+ optionalDependencies:
+ '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ transitivePeerDependencies:
+ - eslint-import-resolver-typescript
+ - eslint-import-resolver-webpack
+ - supports-color
- tslib@2.3.1:
- resolution: {integrity: sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==}
+ eslint-plugin-jsx-a11y@6.10.2(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ aria-query: 5.3.2
+ array-includes: 3.1.9
+ array.prototype.flatmap: 1.3.3
+ ast-types-flow: 0.0.8
+ axe-core: 4.10.3
+ axobject-query: 4.1.0
+ damerau-levenshtein: 1.0.8
+ emoji-regex: 9.2.2
+ eslint: 9.32.0(jiti@2.5.1)
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ language-tags: 1.0.9
+ minimatch: 3.1.2
+ object.fromentries: 2.0.8
+ safe-regex-test: 1.1.0
+ string.prototype.includes: 2.0.1
+
+ eslint-plugin-react-compiler@19.0.0-beta-af1b7da-20250417(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ '@babel/core': 7.28.0
+ '@babel/parser': 7.28.0
+ '@babel/plugin-proposal-private-methods': 7.18.6(@babel/core@7.28.0)
+ eslint: 9.32.0(jiti@2.5.1)
+ hermes-parser: 0.25.1
+ zod: 3.25.76
+ zod-validation-error: 3.5.3(zod@3.25.76)
+ transitivePeerDependencies:
+ - supports-color
- tsup@6.3.0:
- resolution: {integrity: sha512-IaNQO/o1rFgadLhNonVKNCT2cks+vvnWX3DnL8sB87lBDqRvJXHENr5lSPJlqwplUlDxSwZK8dSg87rgBu6Emw==}
- engines: {node: '>=14'}
- hasBin: true
- peerDependencies:
- '@swc/core': ^1
- postcss: ^8.4.12
- typescript: ^4.1.0
- peerDependenciesMeta:
- '@swc/core':
- optional: true
- postcss:
- optional: true
- typescript:
- optional: true
+ eslint-plugin-react-hooks@5.2.0(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ eslint: 9.32.0(jiti@2.5.1)
- tsutils@3.21.0:
- resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
- engines: {node: '>= 6'}
- peerDependencies:
- typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
+ eslint-plugin-react@7.37.5(eslint@9.32.0(jiti@2.5.1)):
+ dependencies:
+ array-includes: 3.1.9
+ array.prototype.findlast: 1.2.5
+ array.prototype.flatmap: 1.3.3
+ array.prototype.tosorted: 1.1.4
+ doctrine: 2.1.0
+ es-iterator-helpers: 1.2.1
+ eslint: 9.32.0(jiti@2.5.1)
+ estraverse: 5.3.0
+ hasown: 2.0.2
+ jsx-ast-utils: 3.3.5
+ minimatch: 3.1.2
+ object.entries: 1.1.9
+ object.fromentries: 2.0.8
+ object.values: 1.2.1
+ prop-types: 15.8.1
+ resolve: 2.0.0-next.5
+ semver: 6.3.1
+ string.prototype.matchall: 4.0.12
+ string.prototype.repeat: 1.0.0
- type-check@0.4.0:
- resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==}
- engines: {node: '>= 0.8.0'}
+ eslint-plugin-turbo@2.5.5(eslint@9.32.0(jiti@2.5.1))(turbo@2.5.5):
+ dependencies:
+ dotenv: 16.0.3
+ eslint: 9.32.0(jiti@2.5.1)
+ turbo: 2.5.5
- type-detect@4.0.8:
- resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==}
- engines: {node: '>=4'}
+ eslint-scope@8.4.0:
+ dependencies:
+ esrecurse: 4.3.0
+ estraverse: 5.3.0
- type-fest@0.20.2:
- resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==}
- engines: {node: '>=10'}
+ eslint-visitor-keys@3.4.3: {}
- type-fest@0.21.3:
- resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==}
- engines: {node: '>=10'}
+ eslint-visitor-keys@4.2.1: {}
- type-fest@1.4.0:
- resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==}
- engines: {node: '>=10'}
+ eslint@9.32.0(jiti@2.5.1):
+ dependencies:
+ '@eslint-community/eslint-utils': 4.7.0(eslint@9.32.0(jiti@2.5.1))
+ '@eslint-community/regexpp': 4.12.1
+ '@eslint/config-array': 0.21.0
+ '@eslint/config-helpers': 0.3.0
+ '@eslint/core': 0.15.1
+ '@eslint/eslintrc': 3.3.1
+ '@eslint/js': 9.32.0
+ '@eslint/plugin-kit': 0.3.4
+ '@humanfs/node': 0.16.6
+ '@humanwhocodes/module-importer': 1.0.1
+ '@humanwhocodes/retry': 0.4.3
+ '@types/estree': 1.0.8
+ '@types/json-schema': 7.0.15
+ ajv: 6.12.6
+ chalk: 4.1.2
+ cross-spawn: 7.0.6
+ debug: 4.4.1
+ escape-string-regexp: 4.0.0
+ eslint-scope: 8.4.0
+ eslint-visitor-keys: 4.2.1
+ espree: 10.4.0
+ esquery: 1.6.0
+ esutils: 2.0.3
+ fast-deep-equal: 3.1.3
+ file-entry-cache: 8.0.0
+ find-up: 5.0.0
+ glob-parent: 6.0.2
+ ignore: 5.2.0
+ imurmurhash: 0.1.4
+ is-glob: 4.0.3
+ json-stable-stringify-without-jsonify: 1.0.1
+ lodash.merge: 4.6.2
+ minimatch: 3.1.2
+ natural-compare: 1.4.0
+ optionator: 0.9.4
+ optionalDependencies:
+ jiti: 2.5.1
+ transitivePeerDependencies:
+ - supports-color
- typescript@4.6.2:
- resolution: {integrity: sha512-HM/hFigTBHZhLXshn9sN37H085+hQGeJHJ/X7LpBWLID/fbc2acUMfU+lGD98X81sKP+pFa9f0DZmCwB9GnbAg==}
- engines: {node: '>=4.2.0'}
- hasBin: true
+ espree@10.4.0:
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ eslint-visitor-keys: 4.2.1
- uri-js@4.4.1:
- resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
+ esprima@4.0.1: {}
- util-deprecate@1.0.2:
- resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
+ esquery@1.6.0:
+ dependencies:
+ estraverse: 5.3.0
- v8-to-istanbul@9.0.1:
- resolution: {integrity: sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==}
- engines: {node: '>=10.12.0'}
+ esrecurse@4.3.0:
+ dependencies:
+ estraverse: 5.3.0
- vite@3.2.2:
- resolution: {integrity: sha512-pLrhatFFOWO9kS19bQ658CnRYzv0WLbsPih6R+iFeEEhDOuYgYCX2rztUViMz/uy/V8cLCJvLFeiOK7RJEzHcw==}
- engines: {node: ^14.18.0 || >=16.0.0}
- hasBin: true
- peerDependencies:
- less: '*'
- sass: '*'
- stylus: '*'
- sugarss: '*'
- terser: ^5.4.0
- peerDependenciesMeta:
- less:
- optional: true
- sass:
- optional: true
- stylus:
- optional: true
- sugarss:
- optional: true
- terser:
- optional: true
+ estraverse@5.3.0: {}
- vitest@0.24.4:
- resolution: {integrity: sha512-4ratHSyVEJPtBLV00uhL4Wj3Pmandc9rsxUkE0q9peNOfaOgGF4lEepdkaXGRi9AGFKr1GRVtjGOJ6Fp2lCpEg==}
- engines: {node: '>=v14.16.0'}
- hasBin: true
- peerDependencies:
- '@edge-runtime/vm': '*'
- '@vitest/browser': '*'
- '@vitest/ui': '*'
- happy-dom: '*'
- jsdom: '*'
- peerDependenciesMeta:
- '@edge-runtime/vm':
- optional: true
- '@vitest/browser':
- optional: true
- '@vitest/ui':
- optional: true
- happy-dom:
- optional: true
- jsdom:
- optional: true
+ estree-util-attach-comments@3.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
- wcwidth@1.0.1:
- resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==}
+ estree-util-build-jsx@3.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ estree-walker: 3.0.3
- webidl-conversions@3.0.1:
- resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
+ estree-util-is-identifier-name@3.0.0: {}
- webidl-conversions@4.0.2:
- resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==}
+ estree-util-scope@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
- whatwg-url@5.0.0:
- resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==}
+ estree-util-to-js@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ astring: 1.9.0
+ source-map: 0.7.6
- whatwg-url@7.1.0:
- resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==}
+ estree-util-value-to-estree@3.4.0:
+ dependencies:
+ '@types/estree': 1.0.8
- which@2.0.2:
- resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==}
- engines: {node: '>= 8'}
- hasBin: true
+ estree-util-visit@2.0.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/unist': 3.0.3
- word-wrap@1.2.3:
- resolution: {integrity: sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==}
- engines: {node: '>=0.10.0'}
+ estree-walker@3.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
- wrap-ansi@7.0.0:
- resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==}
- engines: {node: '>=10'}
+ esutils@2.0.3: {}
- wrappy@1.0.2:
- resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==}
+ expect-type@1.2.2: {}
- y18n@5.0.8:
- resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==}
- engines: {node: '>=10'}
+ extend@3.0.2: {}
- yallist@4.0.0:
- resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==}
+ extendable-error@0.1.7: {}
- yaml@1.10.2:
- resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==}
- engines: {node: '>= 6'}
+ external-editor@3.1.0:
+ dependencies:
+ chardet: 0.7.0
+ iconv-lite: 0.4.24
+ tmp: 0.0.33
- yargs-parser@20.2.9:
- resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==}
- engines: {node: '>=10'}
+ fast-check@3.3.0:
+ dependencies:
+ pure-rand: 5.0.3
- yargs-parser@21.0.1:
- resolution: {integrity: sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==}
- engines: {node: '>=12'}
+ fast-deep-equal@3.1.3: {}
- yargs@16.2.0:
- resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==}
- engines: {node: '>=10'}
+ fast-glob@3.3.1:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
- yargs@17.4.0:
- resolution: {integrity: sha512-WJudfrk81yWFSOkZYpAZx4Nt7V4xp7S/uJkX0CnxovMCt1wCE8LNftPpNuF9X/u9gN5nsD7ycYtRcDf2pL3UiA==}
- engines: {node: '>=12'}
+ fast-glob@3.3.3:
+ dependencies:
+ '@nodelib/fs.stat': 2.0.5
+ '@nodelib/fs.walk': 1.2.8
+ glob-parent: 5.1.2
+ merge2: 1.4.1
+ micromatch: 4.0.8
- yocto-queue@0.1.0:
- resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==}
- engines: {node: '>=10'}
+ fast-json-stable-stringify@2.1.0: {}
-snapshots:
+ fast-levenshtein@2.0.6: {}
- '@bcoe/v8-coverage@0.2.3': {}
+ fastq@1.13.0:
+ dependencies:
+ reusify: 1.0.4
- '@esbuild/android-arm@0.15.12':
- optional: true
+ fdir@6.4.6(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
- '@esbuild/linux-loong64@0.15.12':
- optional: true
+ fdir@6.5.0(picomatch@4.0.3):
+ optionalDependencies:
+ picomatch: 4.0.3
- '@eslint/eslintrc@1.3.3':
+ file-entry-cache@8.0.0:
dependencies:
- ajv: 6.12.6
- debug: 4.3.4
- espree: 9.4.0
- globals: 13.17.0
- ignore: 5.2.0
- import-fresh: 3.3.0
- js-yaml: 4.1.0
- minimatch: 3.1.2
- strip-json-comments: 3.1.1
- transitivePeerDependencies:
- - supports-color
+ flat-cache: 4.0.1
- '@humanwhocodes/config-array@0.11.7':
+ fill-range@7.1.1:
dependencies:
- '@humanwhocodes/object-schema': 1.2.1
- debug: 4.3.4
- minimatch: 3.1.2
- transitivePeerDependencies:
- - supports-color
-
- '@humanwhocodes/module-importer@1.0.1': {}
-
- '@humanwhocodes/object-schema@1.2.1': {}
-
- '@istanbuljs/schema@0.1.3': {}
-
- '@jridgewell/resolve-uri@3.1.0': {}
-
- '@jridgewell/sourcemap-codec@1.4.14': {}
+ to-regex-range: 5.0.1
- '@jridgewell/trace-mapping@0.3.17':
+ find-up@4.1.0:
dependencies:
- '@jridgewell/resolve-uri': 3.1.0
- '@jridgewell/sourcemap-codec': 1.4.14
+ locate-path: 5.0.0
+ path-exists: 4.0.0
- '@mswjs/cookies@0.2.0':
+ find-up@5.0.0:
dependencies:
- '@types/set-cookie-parser': 2.4.2
- set-cookie-parser: 2.4.8
+ locate-path: 6.0.0
+ path-exists: 4.0.0
- '@mswjs/interceptors@0.15.1':
+ fix-dts-default-cjs-exports@1.0.1:
dependencies:
- '@open-draft/until': 1.0.3
- '@xmldom/xmldom': 0.7.5
- debug: 4.3.4
- headers-polyfill: 3.0.4
- outvariant: 1.3.0
- strict-event-emitter: 0.2.0
- transitivePeerDependencies:
- - supports-color
+ magic-string: 0.30.17
+ mlly: 1.7.4
+ rollup: 4.46.2
- '@nodelib/fs.scandir@2.1.5':
+ flat-cache@4.0.1:
dependencies:
- '@nodelib/fs.stat': 2.0.5
- run-parallel: 1.2.0
+ flatted: 3.3.3
+ keyv: 4.5.4
- '@nodelib/fs.stat@2.0.5': {}
+ flatted@3.3.3: {}
- '@nodelib/fs.walk@1.2.8':
+ for-each@0.3.5:
dependencies:
- '@nodelib/fs.scandir': 2.1.5
- fastq: 1.13.0
-
- '@open-draft/until@1.0.3': {}
+ is-callable: 1.2.7
- '@size-limit/esbuild@7.0.8(size-limit@7.0.8)':
+ foreground-child@3.3.1:
dependencies:
- esbuild: 0.14.27
- nanoid: 3.3.4
- size-limit: 7.0.8
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
- '@size-limit/file@7.0.8(size-limit@7.0.8)':
+ fs-extra@7.0.1:
dependencies:
- semver: 7.3.5
- size-limit: 7.0.8
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
- '@size-limit/preset-small-lib@7.0.8(size-limit@7.0.8)':
+ fs-extra@8.1.0:
dependencies:
- '@size-limit/esbuild': 7.0.8(size-limit@7.0.8)
- '@size-limit/file': 7.0.8(size-limit@7.0.8)
- size-limit: 7.0.8
+ graceful-fs: 4.2.11
+ jsonfile: 4.0.0
+ universalify: 0.1.2
- '@swc/core-darwin-arm64@1.10.4':
+ fsevents@2.3.3:
optional: true
- '@swc/core-darwin-x64@1.10.4':
- optional: true
+ fumadocs-core@15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@formatjs/intl-localematcher': 0.6.2
+ '@orama/orama': 3.1.16
+ '@shikijs/rehype': 3.13.0
+ '@shikijs/transformers': 3.13.0
+ github-slugger: 2.0.0
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ image-size: 2.0.2
+ negotiator: 1.0.0
+ npm-to-yarn: 3.0.1
+ path-to-regexp: 8.3.0
+ react-remove-scroll: 2.7.1(@types/react@19.1.9)(react@19.1.0)
+ remark: 15.0.1
+ remark-gfm: 4.0.1
+ remark-rehype: 11.1.2
+ scroll-into-view-if-needed: 3.1.0
+ shiki: 3.13.0
+ unist-util-visit: 5.0.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+ lucide-react: 0.539.0(react@19.1.0)
+ next: 15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ transitivePeerDependencies:
+ - supports-color
- '@swc/core-linux-arm-gnueabihf@1.10.4':
- optional: true
+ fumadocs-mdx@12.0.3(fumadocs-core@15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react@19.1.0)(vite@7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)):
+ dependencies:
+ '@mdx-js/mdx': 3.1.1
+ '@standard-schema/spec': 1.0.0
+ chokidar: 4.0.3
+ esbuild: 0.25.11
+ estree-util-value-to-estree: 3.4.0
+ fumadocs-core: 15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ js-yaml: 4.1.0
+ lru-cache: 11.2.2
+ mdast-util-to-markdown: 2.1.2
+ picocolors: 1.1.1
+ remark-mdx: 3.1.1
+ remark-parse: 11.0.0
+ tinyexec: 1.0.1
+ tinyglobby: 0.2.15
+ unified: 11.0.5
+ unist-util-visit: 5.0.0
+ zod: 4.1.12
+ optionalDependencies:
+ next: 15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ react: 19.1.0
+ vite: 7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)
+ transitivePeerDependencies:
+ - supports-color
- '@swc/core-linux-arm64-gnu@1.10.4':
- optional: true
+ fumadocs-typescript@4.0.11(@types/react@19.1.9)(fumadocs-core@15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(fumadocs-ui@15.8.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.11))(typescript@5.9.2):
+ dependencies:
+ estree-util-value-to-estree: 3.4.0
+ fumadocs-core: 15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ hast-util-to-estree: 3.1.3
+ hast-util-to-jsx-runtime: 2.3.6
+ remark: 15.0.1
+ remark-rehype: 11.1.2
+ tinyglobby: 0.2.15
+ ts-morph: 27.0.2
+ typescript: 5.9.2
+ unist-util-visit: 5.0.0
+ optionalDependencies:
+ '@types/react': 19.1.9
+ fumadocs-ui: 15.8.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.11)
+ transitivePeerDependencies:
+ - supports-color
+
+ fumadocs-ui@15.8.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(tailwindcss@4.1.11):
+ dependencies:
+ '@radix-ui/react-accordion': 1.2.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-collapsible': 1.1.12(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-dialog': 1.1.15(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-direction': 1.1.1(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-navigation-menu': 1.2.14(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-popover': 1.1.15(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-presence': 1.1.5(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-scroll-area': 1.2.10(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ '@radix-ui/react-slot': 1.2.3(@types/react@19.1.9)(react@19.1.0)
+ '@radix-ui/react-tabs': 1.1.13(@types/react-dom@19.1.7(@types/react@19.1.9))(@types/react@19.1.9)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ class-variance-authority: 0.7.1
+ fumadocs-core: 15.8.5(@types/react@19.1.9)(lucide-react@0.539.0(react@19.1.0))(next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ lodash.merge: 4.6.2
+ next-themes: 0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ postcss-selector-parser: 7.1.0
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ react-medium-image-zoom: 5.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ scroll-into-view-if-needed: 3.1.0
+ tailwind-merge: 3.3.1
+ optionalDependencies:
+ '@types/react': 19.1.9
+ next: 15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0)
+ tailwindcss: 4.1.11
+ transitivePeerDependencies:
+ - '@mixedbread/sdk'
+ - '@oramacloud/client'
+ - '@tanstack/react-router'
+ - '@types/react-dom'
+ - algoliasearch
+ - lucide-react
+ - react-router
+ - supports-color
+ - waku
+
+ function-bind@1.1.2: {}
+
+ function.prototype.name@1.1.8:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ functions-have-names: 1.2.3
+ hasown: 2.0.2
+ is-callable: 1.2.7
- '@swc/core-linux-arm64-musl@1.10.4':
- optional: true
+ functions-have-names@1.2.3: {}
- '@swc/core-linux-x64-gnu@1.10.4':
- optional: true
+ gensync@1.0.0-beta.2: {}
- '@swc/core-linux-x64-musl@1.10.4':
- optional: true
+ get-caller-file@2.0.5: {}
- '@swc/core-win32-arm64-msvc@1.10.4':
- optional: true
+ get-intrinsic@1.3.0:
+ dependencies:
+ call-bind-apply-helpers: 1.0.2
+ es-define-property: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ function-bind: 1.1.2
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ hasown: 2.0.2
+ math-intrinsics: 1.1.0
- '@swc/core-win32-ia32-msvc@1.10.4':
- optional: true
+ get-nonce@1.0.1: {}
- '@swc/core-win32-x64-msvc@1.10.4':
- optional: true
+ get-proto@1.0.1:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-object-atoms: 1.1.1
- '@swc/core@1.10.4':
+ get-symbol-description@1.1.0:
dependencies:
- '@swc/counter': 0.1.3
- '@swc/types': 0.1.17
- optionalDependencies:
- '@swc/core-darwin-arm64': 1.10.4
- '@swc/core-darwin-x64': 1.10.4
- '@swc/core-linux-arm-gnueabihf': 1.10.4
- '@swc/core-linux-arm64-gnu': 1.10.4
- '@swc/core-linux-arm64-musl': 1.10.4
- '@swc/core-linux-x64-gnu': 1.10.4
- '@swc/core-linux-x64-musl': 1.10.4
- '@swc/core-win32-arm64-msvc': 1.10.4
- '@swc/core-win32-ia32-msvc': 1.10.4
- '@swc/core-win32-x64-msvc': 1.10.4
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
- '@swc/counter@0.1.3': {}
+ github-slugger@2.0.0: {}
- '@swc/types@0.1.17':
+ glob-parent@5.1.2:
dependencies:
- '@swc/counter': 0.1.3
+ is-glob: 4.0.3
- '@types/chai-subset@1.3.3':
+ glob-parent@6.0.2:
dependencies:
- '@types/chai': 4.3.3
+ is-glob: 4.0.3
- '@types/chai@4.3.3': {}
+ glob@10.4.5:
+ dependencies:
+ foreground-child: 3.3.1
+ jackspeak: 3.4.3
+ minimatch: 9.0.5
+ minipass: 7.1.2
+ package-json-from-dist: 1.0.1
+ path-scurry: 1.11.1
- '@types/cookie@0.4.1': {}
+ globals@14.0.0: {}
- '@types/humps@2.0.1': {}
+ globalthis@1.0.4:
+ dependencies:
+ define-properties: 1.2.1
+ gopd: 1.2.0
- '@types/istanbul-lib-coverage@2.0.4': {}
+ globby@11.1.0:
+ dependencies:
+ array-union: 2.1.0
+ dir-glob: 3.0.1
+ fast-glob: 3.3.3
+ ignore: 5.2.0
+ merge2: 1.4.1
+ slash: 3.0.0
- '@types/js-levenshtein@1.1.1': {}
+ gopd@1.2.0: {}
- '@types/json-schema@7.0.10': {}
+ graceful-fs@4.2.11: {}
- '@types/node@17.0.22': {}
+ graphemer@1.4.0: {}
- '@types/semver@7.3.13': {}
+ graphql@16.11.0: {}
- '@types/set-cookie-parser@2.4.2':
- dependencies:
- '@types/node': 17.0.22
+ has-bigints@1.1.0: {}
- '@typescript-eslint/eslint-plugin@5.42.0(@typescript-eslint/parser@5.42.0(eslint@8.26.0)(typescript@4.6.2))(eslint@8.26.0)(typescript@4.6.2)':
- dependencies:
- '@typescript-eslint/parser': 5.42.0(eslint@8.26.0)(typescript@4.6.2)
- '@typescript-eslint/scope-manager': 5.42.0
- '@typescript-eslint/type-utils': 5.42.0(eslint@8.26.0)(typescript@4.6.2)
- '@typescript-eslint/utils': 5.42.0(eslint@8.26.0)(typescript@4.6.2)
- debug: 4.3.4
- eslint: 8.26.0
- ignore: 5.2.0
- natural-compare-lite: 1.4.0
- regexpp: 3.2.0
- semver: 7.3.8
- tsutils: 3.21.0(typescript@4.6.2)
- optionalDependencies:
- typescript: 4.6.2
- transitivePeerDependencies:
- - supports-color
+ has-flag@4.0.0: {}
- '@typescript-eslint/parser@5.42.0(eslint@8.26.0)(typescript@4.6.2)':
+ has-property-descriptors@1.0.2:
dependencies:
- '@typescript-eslint/scope-manager': 5.42.0
- '@typescript-eslint/types': 5.42.0
- '@typescript-eslint/typescript-estree': 5.42.0(typescript@4.6.2)
- debug: 4.3.4
- eslint: 8.26.0
- optionalDependencies:
- typescript: 4.6.2
- transitivePeerDependencies:
- - supports-color
+ es-define-property: 1.0.1
- '@typescript-eslint/scope-manager@5.42.0':
+ has-proto@1.2.0:
dependencies:
- '@typescript-eslint/types': 5.42.0
- '@typescript-eslint/visitor-keys': 5.42.0
+ dunder-proto: 1.0.1
- '@typescript-eslint/type-utils@5.42.0(eslint@8.26.0)(typescript@4.6.2)':
+ has-symbols@1.1.0: {}
+
+ has-tostringtag@1.0.2:
dependencies:
- '@typescript-eslint/typescript-estree': 5.42.0(typescript@4.6.2)
- '@typescript-eslint/utils': 5.42.0(eslint@8.26.0)(typescript@4.6.2)
- debug: 4.3.4
- eslint: 8.26.0
- tsutils: 3.21.0(typescript@4.6.2)
- optionalDependencies:
- typescript: 4.6.2
- transitivePeerDependencies:
- - supports-color
+ has-symbols: 1.1.0
- '@typescript-eslint/types@5.42.0': {}
+ hasown@2.0.2:
+ dependencies:
+ function-bind: 1.1.2
- '@typescript-eslint/typescript-estree@5.42.0(typescript@4.6.2)':
+ hast-util-to-estree@3.1.3:
dependencies:
- '@typescript-eslint/types': 5.42.0
- '@typescript-eslint/visitor-keys': 5.42.0
- debug: 4.3.4
- globby: 11.1.0
- is-glob: 4.0.3
- semver: 7.3.8
- tsutils: 3.21.0(typescript@4.6.2)
- optionalDependencies:
- typescript: 4.6.2
+ '@types/estree': 1.0.8
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-attach-comments: 3.0.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.17
+ unist-util-position: 5.0.0
+ zwitch: 2.0.4
transitivePeerDependencies:
- supports-color
- '@typescript-eslint/utils@5.42.0(eslint@8.26.0)(typescript@4.6.2)':
- dependencies:
- '@types/json-schema': 7.0.10
- '@types/semver': 7.3.13
- '@typescript-eslint/scope-manager': 5.42.0
- '@typescript-eslint/types': 5.42.0
- '@typescript-eslint/typescript-estree': 5.42.0(typescript@4.6.2)
- eslint: 8.26.0
- eslint-scope: 5.1.1
- eslint-utils: 3.0.0(eslint@8.26.0)
- semver: 7.3.8
+ hast-util-to-html@9.0.5:
+ dependencies:
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ comma-separated-tokens: 2.0.3
+ hast-util-whitespace: 3.0.0
+ html-void-elements: 3.0.0
+ mdast-util-to-hast: 13.2.0
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ stringify-entities: 4.0.4
+ zwitch: 2.0.4
+
+ hast-util-to-jsx-runtime@2.3.6:
+ dependencies:
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ '@types/unist': 3.0.3
+ comma-separated-tokens: 2.0.3
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ hast-util-whitespace: 3.0.0
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ property-information: 7.1.0
+ space-separated-tokens: 2.0.2
+ style-to-js: 1.1.17
+ unist-util-position: 5.0.0
+ vfile-message: 4.0.3
transitivePeerDependencies:
- supports-color
- - typescript
- '@typescript-eslint/visitor-keys@5.42.0':
+ hast-util-to-string@3.0.1:
dependencies:
- '@typescript-eslint/types': 5.42.0
- eslint-visitor-keys: 3.3.0
+ '@types/hast': 3.0.4
- '@vitest/coverage-c8@0.24.4':
+ hast-util-whitespace@3.0.0:
dependencies:
- c8: 7.12.0
- vitest: 0.24.4
- transitivePeerDependencies:
- - '@edge-runtime/vm'
- - '@vitest/browser'
- - '@vitest/ui'
- - happy-dom
- - jsdom
- - less
- - sass
- - stylus
- - sugarss
- - supports-color
- - terser
+ '@types/hast': 3.0.4
+
+ headers-polyfill@4.0.3: {}
- '@xmldom/xmldom@0.7.5': {}
+ hermes-estree@0.25.1: {}
- acorn-jsx@5.3.2(acorn@8.8.1):
+ hermes-parser@0.25.1:
dependencies:
- acorn: 8.8.1
+ hermes-estree: 0.25.1
- acorn@8.8.1: {}
+ html-escaper@2.0.2: {}
- ajv@6.12.6:
- dependencies:
- fast-deep-equal: 3.1.3
- fast-json-stable-stringify: 2.1.0
- json-schema-traverse: 0.4.1
- uri-js: 4.4.1
+ html-void-elements@3.0.0: {}
- ansi-escapes@4.3.2:
- dependencies:
- type-fest: 0.21.3
+ human-id@4.1.1: {}
- ansi-regex@5.0.1: {}
+ humps@2.0.1: {}
- ansi-styles@4.3.0:
+ iconv-lite@0.4.24:
dependencies:
- color-convert: 2.0.1
+ safer-buffer: 2.1.2
- any-promise@1.3.0: {}
+ ignore@5.2.0: {}
- anymatch@3.1.2:
+ ignore@7.0.5: {}
+
+ image-size@2.0.2: {}
+
+ import-fresh@3.3.0:
dependencies:
- normalize-path: 3.0.0
- picomatch: 2.3.1
+ parent-module: 1.0.1
+ resolve-from: 4.0.0
- argparse@2.0.1: {}
+ imurmurhash@0.1.4: {}
- array-union@2.1.0: {}
+ inline-style-parser@0.2.4: {}
- assertion-error@1.1.0: {}
+ internal-slot@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ hasown: 2.0.2
+ side-channel: 1.1.0
- balanced-match@1.0.2: {}
+ is-alphabetical@2.0.1: {}
- base64-js@1.5.1: {}
+ is-alphanumerical@2.0.1:
+ dependencies:
+ is-alphabetical: 2.0.1
+ is-decimal: 2.0.1
- binary-extensions@2.2.0: {}
+ is-array-buffer@3.0.5:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- bl@4.1.0:
+ is-arrayish@0.3.2:
+ optional: true
+
+ is-async-function@2.1.1:
dependencies:
- buffer: 5.7.1
- inherits: 2.0.4
- readable-stream: 3.6.0
+ async-function: 1.0.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- brace-expansion@1.1.11:
+ is-bigint@1.1.0:
dependencies:
- balanced-match: 1.0.2
- concat-map: 0.0.1
+ has-bigints: 1.1.0
- braces@3.0.2:
+ is-binary-path@2.1.0:
dependencies:
- fill-range: 7.0.1
+ binary-extensions: 2.2.0
- buffer@5.7.1:
+ is-boolean-object@1.2.2:
dependencies:
- base64-js: 1.5.1
- ieee754: 1.2.1
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
+
+ is-callable@1.2.7: {}
- bundle-require@3.1.0(esbuild@0.15.12):
+ is-core-module@2.16.1:
dependencies:
- esbuild: 0.15.12
- load-tsconfig: 0.2.3
+ hasown: 2.0.2
- bytes-iec@3.1.1: {}
+ is-data-view@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ is-typed-array: 1.1.15
- c8@7.12.0:
+ is-date-object@1.1.0:
dependencies:
- '@bcoe/v8-coverage': 0.2.3
- '@istanbuljs/schema': 0.1.3
- find-up: 5.0.0
- foreground-child: 2.0.0
- istanbul-lib-coverage: 3.2.0
- istanbul-lib-report: 3.0.0
- istanbul-reports: 3.1.5
- rimraf: 3.0.2
- test-exclude: 6.0.0
- v8-to-istanbul: 9.0.1
- yargs: 16.2.0
- yargs-parser: 20.2.9
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- cac@6.7.14: {}
+ is-decimal@2.0.1: {}
- callsites@3.1.0: {}
+ is-extglob@2.1.1: {}
- chai@4.3.6:
+ is-finalizationregistry@1.1.1:
dependencies:
- assertion-error: 1.1.0
- check-error: 1.0.2
- deep-eql: 3.0.1
- get-func-name: 2.0.0
- loupe: 2.3.4
- pathval: 1.1.1
- type-detect: 4.0.8
+ call-bound: 1.0.4
- chalk@4.1.1:
+ is-fullwidth-code-point@3.0.0: {}
+
+ is-generator-function@1.1.0:
dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ call-bound: 1.0.4
+ get-proto: 1.0.1
+ has-tostringtag: 1.0.2
+ safe-regex-test: 1.1.0
- chalk@4.1.2:
+ is-glob@4.0.3:
dependencies:
- ansi-styles: 4.3.0
- supports-color: 7.2.0
+ is-extglob: 2.1.1
- chardet@0.7.0: {}
+ is-hexadecimal@2.0.1: {}
- check-error@1.0.2: {}
+ is-map@2.0.3: {}
- chokidar@3.5.3:
+ is-negative-zero@2.0.3: {}
+
+ is-node-process@1.2.0: {}
+
+ is-number-object@1.1.1:
dependencies:
- anymatch: 3.1.2
- braces: 3.0.2
- glob-parent: 5.1.2
- is-binary-path: 2.1.0
- is-glob: 4.0.3
- normalize-path: 3.0.0
- readdirp: 3.6.0
- optionalDependencies:
- fsevents: 2.3.2
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- ci-job-number@1.2.2: {}
+ is-number@7.0.0: {}
- cli-cursor@3.1.0:
+ is-plain-obj@4.1.0: {}
+
+ is-regex@1.2.1:
dependencies:
- restore-cursor: 3.1.0
+ call-bound: 1.0.4
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+ hasown: 2.0.2
+
+ is-set@2.0.3: {}
- cli-spinners@2.6.1: {}
+ is-shared-array-buffer@1.0.4:
+ dependencies:
+ call-bound: 1.0.4
- cli-width@3.0.0: {}
+ is-string@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-tostringtag: 1.0.2
- cliui@7.0.4:
+ is-subdir@1.2.0:
dependencies:
- string-width: 4.2.3
- strip-ansi: 6.0.1
- wrap-ansi: 7.0.0
+ better-path-resolve: 1.0.0
- clone@1.0.4: {}
+ is-symbol@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
+ has-symbols: 1.1.0
+ safe-regex-test: 1.1.0
- color-convert@2.0.1:
+ is-typed-array@1.1.15:
dependencies:
- color-name: 1.1.4
+ which-typed-array: 1.1.19
- color-name@1.1.4: {}
+ is-weakmap@2.0.2: {}
- commander@4.1.1: {}
+ is-weakref@1.1.1:
+ dependencies:
+ call-bound: 1.0.4
- concat-map@0.0.1: {}
+ is-weakset@2.0.4:
+ dependencies:
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
- convert-source-map@1.9.0: {}
+ is-windows@1.0.2: {}
- cookie@0.4.2: {}
+ isarray@2.0.5: {}
- cross-fetch@3.1.5:
+ isexe@2.0.0: {}
+
+ istanbul-lib-coverage@3.2.2: {}
+
+ istanbul-lib-report@3.0.1:
dependencies:
- node-fetch: 2.6.7
+ istanbul-lib-coverage: 3.2.2
+ make-dir: 4.0.0
+ supports-color: 7.2.0
+
+ istanbul-lib-source-maps@5.0.6:
+ dependencies:
+ '@jridgewell/trace-mapping': 0.3.29
+ debug: 4.4.1
+ istanbul-lib-coverage: 3.2.2
transitivePeerDependencies:
- - encoding
+ - supports-color
- cross-spawn@7.0.3:
+ istanbul-reports@3.1.7:
dependencies:
- path-key: 3.1.1
- shebang-command: 2.0.0
- which: 2.0.2
+ html-escaper: 2.0.2
+ istanbul-lib-report: 3.0.1
- debug@4.3.4:
+ iterator.prototype@1.1.5:
dependencies:
- ms: 2.1.2
+ define-data-property: 1.1.4
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ has-symbols: 1.1.0
+ set-function-name: 2.0.2
- deep-eql@3.0.1:
+ jackspeak@3.4.3:
dependencies:
- type-detect: 4.0.8
+ '@isaacs/cliui': 8.0.2
+ optionalDependencies:
+ '@pkgjs/parseargs': 0.11.0
- deep-is@0.1.4: {}
+ jiti@2.5.1: {}
- defaults@1.0.3:
- dependencies:
- clone: 1.0.4
+ joycon@3.1.1: {}
- dir-glob@3.0.1:
+ js-tokens@4.0.0: {}
+
+ js-tokens@9.0.1: {}
+
+ js-yaml@3.14.1:
dependencies:
- path-type: 4.0.0
+ argparse: 1.0.10
+ esprima: 4.0.1
- doctrine@3.0.0:
+ js-yaml@4.1.0:
dependencies:
- esutils: 2.0.3
+ argparse: 2.0.1
- emoji-regex@8.0.0: {}
+ jsesc@3.1.0: {}
- esbuild-android-64@0.14.27:
- optional: true
+ json-buffer@3.0.1: {}
- esbuild-android-64@0.15.12:
- optional: true
+ json-schema-traverse@0.4.1: {}
- esbuild-android-arm64@0.14.27:
- optional: true
+ json-stable-stringify-without-jsonify@1.0.1: {}
- esbuild-android-arm64@0.15.12:
- optional: true
+ json5@1.0.2:
+ dependencies:
+ minimist: 1.2.8
- esbuild-darwin-64@0.14.27:
- optional: true
+ json5@2.2.3: {}
- esbuild-darwin-64@0.15.12:
- optional: true
+ jsonfile@4.0.0:
+ optionalDependencies:
+ graceful-fs: 4.2.11
- esbuild-darwin-arm64@0.14.27:
- optional: true
+ jsx-ast-utils@3.3.5:
+ dependencies:
+ array-includes: 3.1.9
+ array.prototype.flat: 1.3.3
+ object.assign: 4.1.7
+ object.values: 1.2.1
- esbuild-darwin-arm64@0.15.12:
- optional: true
+ keyv@4.5.4:
+ dependencies:
+ json-buffer: 3.0.1
- esbuild-freebsd-64@0.14.27:
- optional: true
+ language-subtag-registry@0.3.23: {}
- esbuild-freebsd-64@0.15.12:
- optional: true
+ language-tags@1.0.9:
+ dependencies:
+ language-subtag-registry: 0.3.23
- esbuild-freebsd-arm64@0.14.27:
- optional: true
+ levn@0.4.1:
+ dependencies:
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
- esbuild-freebsd-arm64@0.15.12:
+ lightningcss-darwin-arm64@1.30.1:
optional: true
- esbuild-linux-32@0.14.27:
+ lightningcss-darwin-x64@1.30.1:
optional: true
- esbuild-linux-32@0.15.12:
+ lightningcss-freebsd-x64@1.30.1:
optional: true
- esbuild-linux-64@0.14.27:
+ lightningcss-linux-arm-gnueabihf@1.30.1:
optional: true
- esbuild-linux-64@0.15.12:
+ lightningcss-linux-arm64-gnu@1.30.1:
optional: true
- esbuild-linux-arm64@0.14.27:
+ lightningcss-linux-arm64-musl@1.30.1:
optional: true
- esbuild-linux-arm64@0.15.12:
+ lightningcss-linux-x64-gnu@1.30.1:
optional: true
- esbuild-linux-arm@0.14.27:
+ lightningcss-linux-x64-musl@1.30.1:
optional: true
- esbuild-linux-arm@0.15.12:
+ lightningcss-win32-arm64-msvc@1.30.1:
optional: true
- esbuild-linux-mips64le@0.14.27:
+ lightningcss-win32-x64-msvc@1.30.1:
optional: true
- esbuild-linux-mips64le@0.15.12:
- optional: true
+ lightningcss@1.30.1:
+ dependencies:
+ detect-libc: 2.0.4
+ optionalDependencies:
+ lightningcss-darwin-arm64: 1.30.1
+ lightningcss-darwin-x64: 1.30.1
+ lightningcss-freebsd-x64: 1.30.1
+ lightningcss-linux-arm-gnueabihf: 1.30.1
+ lightningcss-linux-arm64-gnu: 1.30.1
+ lightningcss-linux-arm64-musl: 1.30.1
+ lightningcss-linux-x64-gnu: 1.30.1
+ lightningcss-linux-x64-musl: 1.30.1
+ lightningcss-win32-arm64-msvc: 1.30.1
+ lightningcss-win32-x64-msvc: 1.30.1
- esbuild-linux-ppc64le@0.14.27:
- optional: true
+ lilconfig@2.0.6: {}
- esbuild-linux-ppc64le@0.15.12:
- optional: true
+ lilconfig@3.1.3: {}
- esbuild-linux-riscv64@0.14.27:
- optional: true
+ lines-and-columns@1.2.4: {}
- esbuild-linux-riscv64@0.15.12:
- optional: true
+ load-tsconfig@0.2.3: {}
- esbuild-linux-s390x@0.14.27:
- optional: true
+ locate-path@5.0.0:
+ dependencies:
+ p-locate: 4.1.0
- esbuild-linux-s390x@0.15.12:
- optional: true
+ locate-path@6.0.0:
+ dependencies:
+ p-locate: 5.0.0
- esbuild-netbsd-64@0.14.27:
- optional: true
+ lodash.merge@4.6.2: {}
- esbuild-netbsd-64@0.15.12:
- optional: true
+ lodash.sortby@4.7.0: {}
- esbuild-openbsd-64@0.14.27:
- optional: true
+ lodash.startcase@4.4.0: {}
- esbuild-openbsd-64@0.15.12:
- optional: true
+ longest-streak@3.1.0: {}
+
+ loose-envify@1.4.0:
+ dependencies:
+ js-tokens: 4.0.0
- esbuild-plugin-umd-wrapper@3.0.0: {}
+ loupe@3.2.0: {}
- esbuild-sunos-64@0.14.27:
- optional: true
+ lru-cache@10.4.3: {}
- esbuild-sunos-64@0.15.12:
- optional: true
+ lru-cache@11.2.2: {}
+
+ lru-cache@5.1.1:
+ dependencies:
+ yallist: 3.1.1
+
+ lru-cache@6.0.0:
+ dependencies:
+ yallist: 4.0.0
+
+ lucide-react@0.539.0(react@19.1.0):
+ dependencies:
+ react: 19.1.0
- esbuild-windows-32@0.14.27:
- optional: true
+ magic-string@0.30.17:
+ dependencies:
+ '@jridgewell/sourcemap-codec': 1.5.4
- esbuild-windows-32@0.15.12:
- optional: true
+ magicast@0.3.5:
+ dependencies:
+ '@babel/parser': 7.28.0
+ '@babel/types': 7.28.2
+ source-map-js: 1.2.1
- esbuild-windows-64@0.14.27:
- optional: true
+ make-dir@4.0.0:
+ dependencies:
+ semver: 7.7.2
- esbuild-windows-64@0.15.12:
- optional: true
+ markdown-extensions@2.0.0: {}
- esbuild-windows-arm64@0.14.27:
- optional: true
+ markdown-table@3.0.4: {}
- esbuild-windows-arm64@0.15.12:
- optional: true
+ math-intrinsics@1.1.0: {}
- esbuild@0.14.27:
- optionalDependencies:
- esbuild-android-64: 0.14.27
- esbuild-android-arm64: 0.14.27
- esbuild-darwin-64: 0.14.27
- esbuild-darwin-arm64: 0.14.27
- esbuild-freebsd-64: 0.14.27
- esbuild-freebsd-arm64: 0.14.27
- esbuild-linux-32: 0.14.27
- esbuild-linux-64: 0.14.27
- esbuild-linux-arm: 0.14.27
- esbuild-linux-arm64: 0.14.27
- esbuild-linux-mips64le: 0.14.27
- esbuild-linux-ppc64le: 0.14.27
- esbuild-linux-riscv64: 0.14.27
- esbuild-linux-s390x: 0.14.27
- esbuild-netbsd-64: 0.14.27
- esbuild-openbsd-64: 0.14.27
- esbuild-sunos-64: 0.14.27
- esbuild-windows-32: 0.14.27
- esbuild-windows-64: 0.14.27
- esbuild-windows-arm64: 0.14.27
+ mdast-util-find-and-replace@3.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ escape-string-regexp: 5.0.0
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
- esbuild@0.15.12:
- optionalDependencies:
- '@esbuild/android-arm': 0.15.12
- '@esbuild/linux-loong64': 0.15.12
- esbuild-android-64: 0.15.12
- esbuild-android-arm64: 0.15.12
- esbuild-darwin-64: 0.15.12
- esbuild-darwin-arm64: 0.15.12
- esbuild-freebsd-64: 0.15.12
- esbuild-freebsd-arm64: 0.15.12
- esbuild-linux-32: 0.15.12
- esbuild-linux-64: 0.15.12
- esbuild-linux-arm: 0.15.12
- esbuild-linux-arm64: 0.15.12
- esbuild-linux-mips64le: 0.15.12
- esbuild-linux-ppc64le: 0.15.12
- esbuild-linux-riscv64: 0.15.12
- esbuild-linux-s390x: 0.15.12
- esbuild-netbsd-64: 0.15.12
- esbuild-openbsd-64: 0.15.12
- esbuild-sunos-64: 0.15.12
- esbuild-windows-32: 0.15.12
- esbuild-windows-64: 0.15.12
- esbuild-windows-arm64: 0.15.12
-
- escalade@3.1.1: {}
-
- escape-string-regexp@1.0.5: {}
+ mdast-util-from-markdown@2.0.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ mdast-util-to-string: 4.0.0
+ micromark: 4.0.2
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-decode-string: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-stringify-position: 4.0.0
+ transitivePeerDependencies:
+ - supports-color
- escape-string-regexp@4.0.0: {}
+ mdast-util-gfm-autolink-literal@2.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-find-and-replace: 3.0.2
+ micromark-util-character: 2.1.1
- eslint-config-prettier@8.5.0(eslint@8.26.0):
+ mdast-util-gfm-footnote@2.1.0:
dependencies:
- eslint: 8.26.0
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ micromark-util-normalize-identifier: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
- eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.5.0(eslint@8.26.0))(eslint@8.26.0)(prettier@2.7.1):
+ mdast-util-gfm-strikethrough@2.0.0:
dependencies:
- eslint: 8.26.0
- prettier: 2.7.1
- prettier-linter-helpers: 1.0.0
- optionalDependencies:
- eslint-config-prettier: 8.5.0(eslint@8.26.0)
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- eslint-scope@5.1.1:
+ mdast-util-gfm-table@2.0.0:
dependencies:
- esrecurse: 4.3.0
- estraverse: 4.3.0
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ markdown-table: 3.0.4
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- eslint-scope@7.1.1:
+ mdast-util-gfm-task-list-item@2.0.0:
dependencies:
- esrecurse: 4.3.0
- estraverse: 5.3.0
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- eslint-utils@3.0.0(eslint@8.26.0):
+ mdast-util-gfm@3.1.0:
dependencies:
- eslint: 8.26.0
- eslint-visitor-keys: 2.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-gfm-autolink-literal: 2.0.1
+ mdast-util-gfm-footnote: 2.1.0
+ mdast-util-gfm-strikethrough: 2.0.0
+ mdast-util-gfm-table: 2.0.0
+ mdast-util-gfm-task-list-item: 2.0.0
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- eslint-visitor-keys@2.1.0: {}
+ mdast-util-mdx-expression@2.0.1:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- eslint-visitor-keys@3.3.0: {}
+ mdast-util-mdx-jsx@3.2.0:
+ dependencies:
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ ccount: 2.0.1
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ parse-entities: 4.0.2
+ stringify-entities: 4.0.4
+ unist-util-stringify-position: 4.0.0
+ vfile-message: 4.0.3
+ transitivePeerDependencies:
+ - supports-color
- eslint@8.26.0:
+ mdast-util-mdx@3.0.0:
dependencies:
- '@eslint/eslintrc': 1.3.3
- '@humanwhocodes/config-array': 0.11.7
- '@humanwhocodes/module-importer': 1.0.1
- '@nodelib/fs.walk': 1.2.8
- ajv: 6.12.6
- chalk: 4.1.2
- cross-spawn: 7.0.3
- debug: 4.3.4
- doctrine: 3.0.0
- escape-string-regexp: 4.0.0
- eslint-scope: 7.1.1
- eslint-utils: 3.0.0(eslint@8.26.0)
- eslint-visitor-keys: 3.3.0
- espree: 9.4.0
- esquery: 1.4.0
- esutils: 2.0.3
- fast-deep-equal: 3.1.3
- file-entry-cache: 6.0.1
- find-up: 5.0.0
- glob-parent: 6.0.2
- globals: 13.17.0
- grapheme-splitter: 1.0.4
- ignore: 5.2.0
- import-fresh: 3.3.0
- imurmurhash: 0.1.4
- is-glob: 4.0.3
- is-path-inside: 3.0.3
- js-sdsl: 4.1.5
- js-yaml: 4.1.0
- json-stable-stringify-without-jsonify: 1.0.1
- levn: 0.4.1
- lodash.merge: 4.6.2
- minimatch: 3.1.2
- natural-compare: 1.4.0
- optionator: 0.9.1
- regexpp: 3.2.0
- strip-ansi: 6.0.1
- strip-json-comments: 3.1.1
- text-table: 0.2.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-mdx-expression: 2.0.1
+ mdast-util-mdx-jsx: 3.2.0
+ mdast-util-mdxjs-esm: 2.0.1
+ mdast-util-to-markdown: 2.1.2
transitivePeerDependencies:
- supports-color
- espree@9.4.0:
+ mdast-util-mdxjs-esm@2.0.1:
dependencies:
- acorn: 8.8.1
- acorn-jsx: 5.3.2(acorn@8.8.1)
- eslint-visitor-keys: 3.3.0
+ '@types/estree-jsx': 1.0.5
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ devlop: 1.1.0
+ mdast-util-from-markdown: 2.0.2
+ mdast-util-to-markdown: 2.1.2
+ transitivePeerDependencies:
+ - supports-color
- esquery@1.4.0:
+ mdast-util-phrasing@4.1.0:
dependencies:
- estraverse: 5.3.0
+ '@types/mdast': 4.0.4
+ unist-util-is: 6.0.0
- esrecurse@4.3.0:
+ mdast-util-to-hast@13.2.0:
dependencies:
- estraverse: 5.3.0
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ '@ungap/structured-clone': 1.3.0
+ devlop: 1.1.0
+ micromark-util-sanitize-uri: 2.0.1
+ trim-lines: 3.0.1
+ unist-util-position: 5.0.0
+ unist-util-visit: 5.0.0
+ vfile: 6.0.3
- estraverse@4.3.0: {}
+ mdast-util-to-markdown@2.1.2:
+ dependencies:
+ '@types/mdast': 4.0.4
+ '@types/unist': 3.0.3
+ longest-streak: 3.1.0
+ mdast-util-phrasing: 4.1.0
+ mdast-util-to-string: 4.0.0
+ micromark-util-classify-character: 2.0.1
+ micromark-util-decode-string: 2.0.1
+ unist-util-visit: 5.0.0
+ zwitch: 2.0.4
- estraverse@5.3.0: {}
+ mdast-util-to-string@4.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
- esutils@2.0.3: {}
+ merge2@1.4.1: {}
- events@3.3.0: {}
+ micromark-core-commonmark@2.0.3:
+ dependencies:
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-factory-destination: 2.0.1
+ micromark-factory-label: 2.0.1
+ micromark-factory-space: 2.0.1
+ micromark-factory-title: 2.0.1
+ micromark-factory-whitespace: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-html-tag-name: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-autolink-literal@2.1.0:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-footnote@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-strikethrough@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-classify-character: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-table@2.1.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-tagfilter@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm-task-list-item@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-gfm@3.0.0:
+ dependencies:
+ micromark-extension-gfm-autolink-literal: 2.1.0
+ micromark-extension-gfm-footnote: 2.1.0
+ micromark-extension-gfm-strikethrough: 2.1.0
+ micromark-extension-gfm-table: 2.1.1
+ micromark-extension-gfm-tagfilter: 2.0.0
+ micromark-extension-gfm-task-list-item: 2.1.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-expression@3.0.1:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+
+ micromark-extension-mdx-jsx@3.0.2:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ estree-util-is-identifier-name: 3.0.0
+ micromark-factory-mdx-expression: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
+
+ micromark-extension-mdx-md@2.0.0:
+ dependencies:
+ micromark-util-types: 2.0.2
- execa@5.1.1:
+ micromark-extension-mdxjs-esm@3.0.0:
dependencies:
- cross-spawn: 7.0.3
- get-stream: 6.0.1
- human-signals: 2.1.0
- is-stream: 2.0.1
- merge-stream: 2.0.0
- npm-run-path: 4.0.1
- onetime: 5.1.2
- signal-exit: 3.0.7
- strip-final-newline: 2.0.0
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
- external-editor@3.1.0:
+ micromark-extension-mdxjs@3.0.0:
dependencies:
- chardet: 0.7.0
- iconv-lite: 0.4.24
- tmp: 0.0.33
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ micromark-extension-mdx-expression: 3.0.1
+ micromark-extension-mdx-jsx: 3.0.2
+ micromark-extension-mdx-md: 2.0.0
+ micromark-extension-mdxjs-esm: 3.0.0
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-types: 2.0.2
- fast-check@3.3.0:
+ micromark-factory-destination@2.0.1:
dependencies:
- pure-rand: 5.0.3
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- fast-deep-equal@3.1.3: {}
+ micromark-factory-label@2.0.1:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- fast-diff@1.2.0: {}
+ micromark-factory-mdx-expression@2.0.3:
+ dependencies:
+ '@types/estree': 1.0.8
+ devlop: 1.1.0
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-events-to-acorn: 2.0.3
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ unist-util-position-from-estree: 2.0.0
+ vfile-message: 4.0.3
- fast-glob@3.2.11:
+ micromark-factory-space@2.0.1:
dependencies:
- '@nodelib/fs.stat': 2.0.5
- '@nodelib/fs.walk': 1.2.8
- glob-parent: 5.1.2
- merge2: 1.4.1
- micromatch: 4.0.4
+ micromark-util-character: 2.1.1
+ micromark-util-types: 2.0.2
- fast-json-stable-stringify@2.1.0: {}
+ micromark-factory-title@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- fast-levenshtein@2.0.6: {}
+ micromark-factory-whitespace@2.0.1:
+ dependencies:
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- fastq@1.13.0:
+ micromark-util-character@2.1.1:
dependencies:
- reusify: 1.0.4
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- figures@3.2.0:
+ micromark-util-chunked@2.0.1:
dependencies:
- escape-string-regexp: 1.0.5
+ micromark-util-symbol: 2.0.1
- file-entry-cache@6.0.1:
+ micromark-util-classify-character@2.0.1:
dependencies:
- flat-cache: 3.0.4
+ micromark-util-character: 2.1.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- fill-range@7.0.1:
+ micromark-util-combine-extensions@2.0.1:
dependencies:
- to-regex-range: 5.0.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-types: 2.0.2
- find-up@5.0.0:
+ micromark-util-decode-numeric-character-reference@2.0.2:
dependencies:
- locate-path: 6.0.0
- path-exists: 4.0.0
+ micromark-util-symbol: 2.0.1
- flat-cache@3.0.4:
+ micromark-util-decode-string@2.0.1:
dependencies:
- flatted: 3.2.5
- rimraf: 3.0.2
+ decode-named-character-reference: 1.2.0
+ micromark-util-character: 2.1.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-symbol: 2.0.1
- flatted@3.2.5: {}
+ micromark-util-encode@2.0.1: {}
- foreground-child@2.0.0:
+ micromark-util-events-to-acorn@2.0.3:
dependencies:
- cross-spawn: 7.0.3
- signal-exit: 3.0.7
+ '@types/estree': 1.0.8
+ '@types/unist': 3.0.3
+ devlop: 1.1.0
+ estree-util-visit: 2.0.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ vfile-message: 4.0.3
- fs.realpath@1.0.0: {}
+ micromark-util-html-tag-name@2.0.1: {}
- fsevents@2.3.2:
- optional: true
+ micromark-util-normalize-identifier@2.0.1:
+ dependencies:
+ micromark-util-symbol: 2.0.1
- function-bind@1.1.1: {}
+ micromark-util-resolve-all@2.0.1:
+ dependencies:
+ micromark-util-types: 2.0.2
- get-caller-file@2.0.5: {}
+ micromark-util-sanitize-uri@2.0.1:
+ dependencies:
+ micromark-util-character: 2.1.1
+ micromark-util-encode: 2.0.1
+ micromark-util-symbol: 2.0.1
- get-func-name@2.0.0: {}
+ micromark-util-subtokenize@2.1.0:
+ dependencies:
+ devlop: 1.1.0
+ micromark-util-chunked: 2.0.1
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
- get-stream@6.0.1: {}
+ micromark-util-symbol@2.0.1: {}
- glob-parent@5.1.2:
- dependencies:
- is-glob: 4.0.3
+ micromark-util-types@2.0.2: {}
- glob-parent@6.0.2:
+ micromark@4.0.2:
dependencies:
- is-glob: 4.0.3
+ '@types/debug': 4.1.12
+ debug: 4.4.1
+ decode-named-character-reference: 1.2.0
+ devlop: 1.1.0
+ micromark-core-commonmark: 2.0.3
+ micromark-factory-space: 2.0.1
+ micromark-util-character: 2.1.1
+ micromark-util-chunked: 2.0.1
+ micromark-util-combine-extensions: 2.0.1
+ micromark-util-decode-numeric-character-reference: 2.0.2
+ micromark-util-encode: 2.0.1
+ micromark-util-normalize-identifier: 2.0.1
+ micromark-util-resolve-all: 2.0.1
+ micromark-util-sanitize-uri: 2.0.1
+ micromark-util-subtokenize: 2.1.0
+ micromark-util-symbol: 2.0.1
+ micromark-util-types: 2.0.2
+ transitivePeerDependencies:
+ - supports-color
- glob@7.1.6:
+ micromatch@4.0.8:
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
+ braces: 3.0.3
+ picomatch: 2.3.1
- glob@7.2.3:
+ minimatch@10.0.3:
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
+ '@isaacs/brace-expansion': 5.0.0
- globals@13.17.0:
+ minimatch@3.1.2:
dependencies:
- type-fest: 0.20.2
+ brace-expansion: 1.1.11
- globby@11.1.0:
+ minimatch@9.0.5:
dependencies:
- array-union: 2.1.0
- dir-glob: 3.0.1
- fast-glob: 3.2.11
- ignore: 5.2.0
- merge2: 1.4.1
- slash: 3.0.0
+ brace-expansion: 2.0.2
- grapheme-splitter@1.0.4: {}
+ minimist@1.2.8: {}
- graphql@16.3.0: {}
-
- has-flag@4.0.0: {}
+ minipass@7.1.2: {}
- has@1.0.3:
+ minizlib@3.0.2:
dependencies:
- function-bind: 1.1.1
+ minipass: 7.1.2
- headers-polyfill@3.0.4: {}
+ mkdirp@1.0.4: {}
- html-escaper@2.0.2: {}
+ mkdirp@3.0.1: {}
+
+ mlly@1.7.4:
+ dependencies:
+ acorn: 8.15.0
+ pathe: 2.0.3
+ pkg-types: 1.3.1
+ ufo: 1.6.1
+
+ mri@1.2.0: {}
+
+ ms@2.1.3: {}
+
+ msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2):
+ dependencies:
+ '@inquirer/confirm': 5.1.19(@types/node@24.2.0)
+ '@mswjs/interceptors': 0.39.8
+ '@open-draft/deferred-promise': 2.2.0
+ '@types/statuses': 2.0.6
+ cookie: 1.0.2
+ graphql: 16.11.0
+ headers-polyfill: 4.0.3
+ is-node-process: 1.2.0
+ outvariant: 1.4.3
+ path-to-regexp: 6.3.0
+ picocolors: 1.1.1
+ rettime: 0.7.0
+ statuses: 2.0.2
+ strict-event-emitter: 0.5.1
+ tough-cookie: 6.0.0
+ type-fest: 4.41.0
+ until-async: 3.0.2
+ yargs: 17.7.2
+ optionalDependencies:
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - '@types/node'
- human-signals@2.1.0: {}
+ mute-stream@2.0.0: {}
- humps@2.0.1: {}
+ mz@2.7.0:
+ dependencies:
+ any-promise: 1.3.0
+ object-assign: 4.1.1
+ thenify-all: 1.6.0
- husky@7.0.4: {}
+ nanoid@3.3.11: {}
- iconv-lite@0.4.24:
+ nanospinner@1.0.0:
dependencies:
- safer-buffer: 2.1.2
+ picocolors: 1.1.1
- ieee754@1.2.1: {}
+ natural-compare@1.4.0: {}
- ignore@5.2.0: {}
+ negotiator@1.0.0: {}
- import-fresh@3.3.0:
+ next-themes@0.4.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
- parent-module: 1.0.1
- resolve-from: 4.0.0
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
- imurmurhash@0.1.4: {}
+ next@15.5.6(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
+ dependencies:
+ '@next/env': 15.5.6
+ '@swc/helpers': 0.5.15
+ caniuse-lite: 1.0.30001731
+ postcss: 8.4.31
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
+ styled-jsx: 5.1.6(react@19.1.0)
+ optionalDependencies:
+ '@next/swc-darwin-arm64': 15.5.6
+ '@next/swc-darwin-x64': 15.5.6
+ '@next/swc-linux-arm64-gnu': 15.5.6
+ '@next/swc-linux-arm64-musl': 15.5.6
+ '@next/swc-linux-x64-gnu': 15.5.6
+ '@next/swc-linux-x64-musl': 15.5.6
+ '@next/swc-win32-arm64-msvc': 15.5.6
+ '@next/swc-win32-x64-msvc': 15.5.6
+ sharp: 0.34.3
+ transitivePeerDependencies:
+ - '@babel/core'
+ - babel-plugin-macros
- inflight@1.0.6:
+ node-fetch@2.6.7:
dependencies:
- once: 1.4.0
- wrappy: 1.0.2
+ whatwg-url: 5.0.0
+
+ node-releases@2.0.19: {}
+
+ normalize-path@3.0.0: {}
+
+ npm-to-yarn@3.0.1: {}
- inherits@2.0.4: {}
+ object-assign@4.1.1: {}
+
+ object-inspect@1.13.4: {}
- inquirer@8.2.2:
+ object-keys@1.1.1: {}
+
+ object.assign@4.1.7:
dependencies:
- ansi-escapes: 4.3.2
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-width: 3.0.0
- external-editor: 3.1.0
- figures: 3.2.0
- lodash: 4.17.21
- mute-stream: 0.0.8
- ora: 5.4.1
- run-async: 2.4.1
- rxjs: 7.5.5
- string-width: 4.2.3
- strip-ansi: 6.0.1
- through: 2.3.8
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
+ has-symbols: 1.1.0
+ object-keys: 1.1.1
- is-binary-path@2.1.0:
+ object.entries@1.1.9:
dependencies:
- binary-extensions: 2.2.0
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
- is-core-module@2.11.0:
+ object.fromentries@2.0.8:
dependencies:
- has: 1.0.3
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-object-atoms: 1.1.1
- is-extglob@2.1.1: {}
+ object.groupby@1.0.3:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
- is-fullwidth-code-point@3.0.0: {}
+ object.values@1.2.1:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
- is-glob@4.0.3:
+ oniguruma-parser@0.12.1: {}
+
+ oniguruma-to-es@4.3.3:
dependencies:
- is-extglob: 2.1.1
+ oniguruma-parser: 0.12.1
+ regex: 6.0.1
+ regex-recursion: 6.0.2
- is-interactive@1.0.0: {}
+ optionator@0.9.4:
+ dependencies:
+ deep-is: 0.1.4
+ fast-levenshtein: 2.0.6
+ levn: 0.4.1
+ prelude-ls: 1.2.1
+ type-check: 0.4.0
+ word-wrap: 1.2.5
- is-node-process@1.0.1: {}
+ os-tmpdir@1.0.2: {}
- is-number@7.0.0: {}
+ outdent@0.5.0: {}
- is-path-inside@3.0.3: {}
+ outvariant@1.4.3: {}
- is-stream@2.0.1: {}
+ own-keys@1.0.1:
+ dependencies:
+ get-intrinsic: 1.3.0
+ object-keys: 1.1.1
+ safe-push-apply: 1.0.0
- is-unicode-supported@0.1.0: {}
+ p-filter@2.1.0:
+ dependencies:
+ p-map: 2.1.0
- isexe@2.0.0: {}
+ p-limit@2.3.0:
+ dependencies:
+ p-try: 2.2.0
- istanbul-lib-coverage@3.2.0: {}
+ p-limit@3.1.0:
+ dependencies:
+ yocto-queue: 0.1.0
- istanbul-lib-report@3.0.0:
+ p-locate@4.1.0:
dependencies:
- istanbul-lib-coverage: 3.2.0
- make-dir: 3.1.0
- supports-color: 7.2.0
+ p-limit: 2.3.0
- istanbul-reports@3.1.5:
+ p-locate@5.0.0:
dependencies:
- html-escaper: 2.0.2
- istanbul-lib-report: 3.0.0
+ p-limit: 3.1.0
- joycon@3.1.1: {}
+ p-map@2.1.0: {}
- js-levenshtein@1.1.6: {}
+ p-try@2.2.0: {}
- js-sdsl@4.1.5: {}
+ package-json-from-dist@1.0.1: {}
- js-yaml@4.1.0:
+ package-manager-detector@0.2.11:
dependencies:
- argparse: 2.0.1
-
- json-schema-traverse@0.4.1: {}
+ quansync: 0.2.10
- json-stable-stringify-without-jsonify@1.0.1: {}
+ parent-module@1.0.1:
+ dependencies:
+ callsites: 3.1.0
- levn@0.4.1:
+ parse-entities@4.0.2:
dependencies:
- prelude-ls: 1.2.1
- type-check: 0.4.0
+ '@types/unist': 2.0.11
+ character-entities-legacy: 3.0.0
+ character-reference-invalid: 2.0.1
+ decode-named-character-reference: 1.2.0
+ is-alphanumerical: 2.0.1
+ is-decimal: 2.0.1
+ is-hexadecimal: 2.0.1
- lilconfig@2.0.6: {}
+ path-browserify@1.0.1: {}
- lines-and-columns@1.2.4: {}
+ path-exists@4.0.0: {}
- load-tsconfig@0.2.3: {}
+ path-key@3.1.1: {}
- local-pkg@0.4.2: {}
+ path-parse@1.0.7: {}
- locate-path@6.0.0:
+ path-scurry@1.11.1:
dependencies:
- p-locate: 5.0.0
+ lru-cache: 10.4.3
+ minipass: 7.1.2
- lodash.merge@4.6.2: {}
+ path-to-regexp@6.3.0: {}
- lodash.sortby@4.7.0: {}
+ path-to-regexp@8.3.0: {}
- lodash@4.17.21: {}
+ path-type@4.0.0: {}
- log-symbols@4.1.0:
- dependencies:
- chalk: 4.1.2
- is-unicode-supported: 0.1.0
+ pathe@2.0.3: {}
- loupe@2.3.4:
- dependencies:
- get-func-name: 2.0.0
+ pathval@2.0.1: {}
- lru-cache@6.0.0:
- dependencies:
- yallist: 4.0.0
+ picocolors@1.1.1: {}
- make-dir@3.1.0:
- dependencies:
- semver: 6.3.0
+ picomatch@2.3.1: {}
- merge-stream@2.0.0: {}
+ picomatch@4.0.3: {}
- merge2@1.4.1: {}
+ pify@4.0.1: {}
+
+ pirates@4.0.5: {}
- micromatch@4.0.4:
+ pkg-types@1.3.1:
dependencies:
- braces: 3.0.2
- picomatch: 2.3.1
+ confbox: 0.1.8
+ mlly: 1.7.4
+ pathe: 2.0.3
- mimic-fn@2.1.0: {}
+ possible-typed-array-names@1.1.0: {}
- minimatch@3.1.2:
+ postcss-load-config@6.0.1(jiti@2.5.1)(postcss@8.5.6)(yaml@2.8.1):
dependencies:
- brace-expansion: 1.1.11
+ lilconfig: 3.1.3
+ optionalDependencies:
+ jiti: 2.5.1
+ postcss: 8.5.6
+ yaml: 2.8.1
- mkdirp@1.0.4: {}
+ postcss-selector-parser@7.1.0:
+ dependencies:
+ cssesc: 3.0.0
+ util-deprecate: 1.0.2
- ms@2.1.2: {}
+ postcss@8.4.31:
+ dependencies:
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
- msw@0.39.2:
+ postcss@8.5.6:
dependencies:
- '@mswjs/cookies': 0.2.0
- '@mswjs/interceptors': 0.15.1
- '@open-draft/until': 1.0.3
- '@types/cookie': 0.4.1
- '@types/js-levenshtein': 1.1.1
- chalk: 4.1.1
- chokidar: 3.5.3
- cookie: 0.4.2
- graphql: 16.3.0
- headers-polyfill: 3.0.4
- inquirer: 8.2.2
- is-node-process: 1.0.1
- js-levenshtein: 1.1.6
- node-fetch: 2.6.7
- path-to-regexp: 6.2.0
- statuses: 2.0.1
- strict-event-emitter: 0.2.0
- type-fest: 1.4.0
- yargs: 17.4.0
- transitivePeerDependencies:
- - encoding
- - supports-color
+ nanoid: 3.3.11
+ picocolors: 1.1.1
+ source-map-js: 1.2.1
+
+ prelude-ls@1.2.1: {}
+
+ prettier-plugin-tailwindcss@0.6.14(@ianvs/prettier-plugin-sort-imports@4.5.1(prettier@3.6.2))(prettier@3.6.2):
+ dependencies:
+ prettier: 3.6.2
+ optionalDependencies:
+ '@ianvs/prettier-plugin-sort-imports': 4.5.1(prettier@3.6.2)
+
+ prettier@2.7.1: {}
- mute-stream@0.0.8: {}
+ prettier@3.6.2: {}
- mz@2.7.0:
+ prop-types@15.8.1:
dependencies:
- any-promise: 1.3.0
+ loose-envify: 1.4.0
object-assign: 4.1.1
- thenify-all: 1.6.0
+ react-is: 16.13.1
- nanoid@3.3.4: {}
+ property-information@7.1.0: {}
- nanospinner@1.0.0:
- dependencies:
- picocolors: 1.0.0
-
- natural-compare-lite@1.4.0: {}
+ punycode@2.1.1: {}
- natural-compare@1.4.0: {}
+ pure-rand@5.0.3: {}
- node-fetch@2.6.7:
- dependencies:
- whatwg-url: 5.0.0
+ quansync@0.2.10: {}
- normalize-path@3.0.0: {}
+ queue-microtask@1.2.3: {}
- npm-run-path@4.0.1:
+ react-dom@19.1.0(react@19.1.0):
dependencies:
- path-key: 3.1.1
+ react: 19.1.0
+ scheduler: 0.26.0
- object-assign@4.1.1: {}
+ react-is@16.13.1: {}
- once@1.4.0:
+ react-medium-image-zoom@5.4.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0):
dependencies:
- wrappy: 1.0.2
+ react: 19.1.0
+ react-dom: 19.1.0(react@19.1.0)
- onetime@5.1.2:
+ react-remove-scroll-bar@2.3.8(@types/react@19.1.9)(react@19.1.0):
dependencies:
- mimic-fn: 2.1.0
+ react: 19.1.0
+ react-style-singleton: 2.2.3(@types/react@19.1.9)(react@19.1.0)
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.1.9
- optionator@0.9.1:
+ react-remove-scroll@2.7.1(@types/react@19.1.9)(react@19.1.0):
dependencies:
- deep-is: 0.1.4
- fast-levenshtein: 2.0.6
- levn: 0.4.1
- prelude-ls: 1.2.1
- type-check: 0.4.0
- word-wrap: 1.2.3
+ react: 19.1.0
+ react-remove-scroll-bar: 2.3.8(@types/react@19.1.9)(react@19.1.0)
+ react-style-singleton: 2.2.3(@types/react@19.1.9)(react@19.1.0)
+ tslib: 2.8.1
+ use-callback-ref: 1.3.3(@types/react@19.1.9)(react@19.1.0)
+ use-sidecar: 1.1.3(@types/react@19.1.9)(react@19.1.0)
+ optionalDependencies:
+ '@types/react': 19.1.9
- ora@5.4.1:
+ react-style-singleton@2.2.3(@types/react@19.1.9)(react@19.1.0):
dependencies:
- bl: 4.1.0
- chalk: 4.1.2
- cli-cursor: 3.1.0
- cli-spinners: 2.6.1
- is-interactive: 1.0.0
- is-unicode-supported: 0.1.0
- log-symbols: 4.1.0
- strip-ansi: 6.0.1
- wcwidth: 1.0.1
-
- os-tmpdir@1.0.2: {}
-
- outvariant@1.3.0: {}
+ get-nonce: 1.0.1
+ react: 19.1.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.1.9
- p-limit@3.1.0:
- dependencies:
- yocto-queue: 0.1.0
+ react@19.1.0: {}
- p-locate@5.0.0:
+ read-yaml-file@1.1.0:
dependencies:
- p-limit: 3.1.0
+ graceful-fs: 4.2.11
+ js-yaml: 3.14.1
+ pify: 4.0.1
+ strip-bom: 3.0.0
- parent-module@1.0.1:
+ readdirp@3.6.0:
dependencies:
- callsites: 3.1.0
-
- path-exists@4.0.0: {}
-
- path-is-absolute@1.0.1: {}
+ picomatch: 2.3.1
- path-key@3.1.1: {}
+ readdirp@4.1.2: {}
- path-parse@1.0.7: {}
+ recma-build-jsx@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-build-jsx: 3.0.1
+ vfile: 6.0.3
- path-to-regexp@6.2.0: {}
+ recma-jsx@1.0.1(acorn@8.15.0):
+ dependencies:
+ acorn: 8.15.0
+ acorn-jsx: 5.3.2(acorn@8.15.0)
+ estree-util-to-js: 2.0.0
+ recma-parse: 1.0.0
+ recma-stringify: 1.0.0
+ unified: 11.0.5
- path-type@4.0.0: {}
+ recma-parse@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ esast-util-from-js: 2.0.1
+ unified: 11.0.5
+ vfile: 6.0.3
- pathval@1.1.1: {}
+ recma-stringify@1.0.0:
+ dependencies:
+ '@types/estree': 1.0.8
+ estree-util-to-js: 2.0.0
+ unified: 11.0.5
+ vfile: 6.0.3
- picocolors@1.0.0: {}
+ reflect.getprototypeof@1.0.10:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ get-proto: 1.0.1
+ which-builtin-type: 1.2.1
- picomatch@2.3.1: {}
+ regex-recursion@6.0.2:
+ dependencies:
+ regex-utilities: 2.3.0
- pirates@4.0.5: {}
+ regex-utilities@2.3.0: {}
- postcss-load-config@3.1.4(postcss@8.4.18):
+ regex@6.0.1:
dependencies:
- lilconfig: 2.0.6
- yaml: 1.10.2
- optionalDependencies:
- postcss: 8.4.18
+ regex-utilities: 2.3.0
- postcss@8.4.18:
+ regexp.prototype.flags@1.5.4:
dependencies:
- nanoid: 3.3.4
- picocolors: 1.0.0
- source-map-js: 1.0.2
-
- prelude-ls@1.2.1: {}
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-errors: 1.3.0
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ set-function-name: 2.0.2
- prettier-linter-helpers@1.0.0:
+ rehype-recma@1.0.0:
dependencies:
- fast-diff: 1.2.0
-
- prettier@2.7.1: {}
+ '@types/estree': 1.0.8
+ '@types/hast': 3.0.4
+ hast-util-to-estree: 3.1.3
+ transitivePeerDependencies:
+ - supports-color
- punycode@2.1.1: {}
+ remark-gfm@4.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-gfm: 3.1.0
+ micromark-extension-gfm: 3.0.0
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
- pure-rand@5.0.3: {}
+ remark-mdx@3.1.1:
+ dependencies:
+ mdast-util-mdx: 3.0.0
+ micromark-extension-mdxjs: 3.0.0
+ transitivePeerDependencies:
+ - supports-color
- queue-microtask@1.2.3: {}
+ remark-parse@11.0.0:
+ dependencies:
+ '@types/mdast': 4.0.4
+ mdast-util-from-markdown: 2.0.2
+ micromark-util-types: 2.0.2
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
- readable-stream@3.6.0:
+ remark-rehype@11.1.2:
dependencies:
- inherits: 2.0.4
- string_decoder: 1.3.0
- util-deprecate: 1.0.2
+ '@types/hast': 3.0.4
+ '@types/mdast': 4.0.4
+ mdast-util-to-hast: 13.2.0
+ unified: 11.0.5
+ vfile: 6.0.3
- readdirp@3.6.0:
+ remark-stringify@11.0.0:
dependencies:
- picomatch: 2.3.1
+ '@types/mdast': 4.0.4
+ mdast-util-to-markdown: 2.1.2
+ unified: 11.0.5
- regexpp@3.2.0: {}
+ remark@15.0.1:
+ dependencies:
+ '@types/mdast': 4.0.4
+ remark-parse: 11.0.0
+ remark-stringify: 11.0.0
+ unified: 11.0.5
+ transitivePeerDependencies:
+ - supports-color
require-directory@2.1.1: {}
@@ -2909,54 +9077,140 @@ snapshots:
resolve-from@5.0.0: {}
- resolve@1.22.1:
+ resolve@1.22.10:
dependencies:
- is-core-module: 2.11.0
+ is-core-module: 2.16.1
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
- restore-cursor@3.1.0:
+ resolve@2.0.0-next.5:
dependencies:
- onetime: 5.1.2
- signal-exit: 3.0.7
+ is-core-module: 2.16.1
+ path-parse: 1.0.7
+ supports-preserve-symlinks-flag: 1.0.0
- reusify@1.0.4: {}
+ rettime@0.7.0: {}
- rimraf@3.0.2:
- dependencies:
- glob: 7.2.3
+ reusify@1.0.4: {}
rollup-plugin-analyzer@4.0.0: {}
- rollup@2.79.1:
+ rollup@4.46.2:
+ dependencies:
+ '@types/estree': 1.0.8
optionalDependencies:
- fsevents: 2.3.2
-
- run-async@2.4.1: {}
+ '@rollup/rollup-android-arm-eabi': 4.46.2
+ '@rollup/rollup-android-arm64': 4.46.2
+ '@rollup/rollup-darwin-arm64': 4.46.2
+ '@rollup/rollup-darwin-x64': 4.46.2
+ '@rollup/rollup-freebsd-arm64': 4.46.2
+ '@rollup/rollup-freebsd-x64': 4.46.2
+ '@rollup/rollup-linux-arm-gnueabihf': 4.46.2
+ '@rollup/rollup-linux-arm-musleabihf': 4.46.2
+ '@rollup/rollup-linux-arm64-gnu': 4.46.2
+ '@rollup/rollup-linux-arm64-musl': 4.46.2
+ '@rollup/rollup-linux-loongarch64-gnu': 4.46.2
+ '@rollup/rollup-linux-ppc64-gnu': 4.46.2
+ '@rollup/rollup-linux-riscv64-gnu': 4.46.2
+ '@rollup/rollup-linux-riscv64-musl': 4.46.2
+ '@rollup/rollup-linux-s390x-gnu': 4.46.2
+ '@rollup/rollup-linux-x64-gnu': 4.46.2
+ '@rollup/rollup-linux-x64-musl': 4.46.2
+ '@rollup/rollup-win32-arm64-msvc': 4.46.2
+ '@rollup/rollup-win32-ia32-msvc': 4.46.2
+ '@rollup/rollup-win32-x64-msvc': 4.46.2
+ fsevents: 2.3.3
run-parallel@1.2.0:
dependencies:
queue-microtask: 1.2.3
- rxjs@7.5.5:
+ safe-array-concat@1.1.3:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ get-intrinsic: 1.3.0
+ has-symbols: 1.1.0
+ isarray: 2.0.5
+
+ safe-push-apply@1.0.0:
dependencies:
- tslib: 2.3.1
+ es-errors: 1.3.0
+ isarray: 2.0.5
- safe-buffer@5.2.1: {}
+ safe-regex-test@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-regex: 1.2.1
safer-buffer@2.1.2: {}
- semver@6.3.0: {}
+ scheduler@0.26.0: {}
+
+ scroll-into-view-if-needed@3.1.0:
+ dependencies:
+ compute-scroll-into-view: 3.1.1
+
+ semver@6.3.1: {}
semver@7.3.5:
dependencies:
lru-cache: 6.0.0
- semver@7.3.8:
+ semver@7.7.2: {}
+
+ set-function-length@1.2.2:
dependencies:
- lru-cache: 6.0.0
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ function-bind: 1.1.2
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-property-descriptors: 1.0.2
+
+ set-function-name@2.0.2:
+ dependencies:
+ define-data-property: 1.1.4
+ es-errors: 1.3.0
+ functions-have-names: 1.2.3
+ has-property-descriptors: 1.0.2
- set-cookie-parser@2.4.8: {}
+ set-proto@1.0.0:
+ dependencies:
+ dunder-proto: 1.0.1
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+
+ sharp@0.34.3:
+ dependencies:
+ color: 4.2.3
+ detect-libc: 2.0.4
+ semver: 7.7.2
+ optionalDependencies:
+ '@img/sharp-darwin-arm64': 0.34.3
+ '@img/sharp-darwin-x64': 0.34.3
+ '@img/sharp-libvips-darwin-arm64': 1.2.0
+ '@img/sharp-libvips-darwin-x64': 1.2.0
+ '@img/sharp-libvips-linux-arm': 1.2.0
+ '@img/sharp-libvips-linux-arm64': 1.2.0
+ '@img/sharp-libvips-linux-ppc64': 1.2.0
+ '@img/sharp-libvips-linux-s390x': 1.2.0
+ '@img/sharp-libvips-linux-x64': 1.2.0
+ '@img/sharp-libvips-linuxmusl-arm64': 1.2.0
+ '@img/sharp-libvips-linuxmusl-x64': 1.2.0
+ '@img/sharp-linux-arm': 0.34.3
+ '@img/sharp-linux-arm64': 0.34.3
+ '@img/sharp-linux-ppc64': 0.34.3
+ '@img/sharp-linux-s390x': 0.34.3
+ '@img/sharp-linux-x64': 0.34.3
+ '@img/sharp-linuxmusl-arm64': 0.34.3
+ '@img/sharp-linuxmusl-x64': 0.34.3
+ '@img/sharp-wasm32': 0.34.3
+ '@img/sharp-win32-arm64': 0.34.3
+ '@img/sharp-win32-ia32': 0.34.3
+ '@img/sharp-win32-x64': 0.34.3
+ optional: true
shebang-command@2.0.0:
dependencies:
@@ -2964,7 +9218,53 @@ snapshots:
shebang-regex@3.0.0: {}
- signal-exit@3.0.7: {}
+ shiki@3.13.0:
+ dependencies:
+ '@shikijs/core': 3.13.0
+ '@shikijs/engine-javascript': 3.13.0
+ '@shikijs/engine-oniguruma': 3.13.0
+ '@shikijs/langs': 3.13.0
+ '@shikijs/themes': 3.13.0
+ '@shikijs/types': 3.13.0
+ '@shikijs/vscode-textmate': 10.0.2
+ '@types/hast': 3.0.4
+
+ side-channel-list@1.0.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-map@1.0.1:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+
+ side-channel-weakmap@1.0.2:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ get-intrinsic: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-map: 1.0.1
+
+ side-channel@1.1.0:
+ dependencies:
+ es-errors: 1.3.0
+ object-inspect: 1.13.4
+ side-channel-list: 1.0.0
+ side-channel-map: 1.0.1
+ side-channel-weakmap: 1.0.2
+
+ siginfo@2.0.0: {}
+
+ signal-exit@4.1.0: {}
+
+ simple-swizzle@0.2.2:
+ dependencies:
+ is-arrayish: 0.3.2
+ optional: true
size-limit@7.0.8:
dependencies:
@@ -2975,21 +9275,39 @@ snapshots:
lilconfig: 2.0.6
mkdirp: 1.0.4
nanospinner: 1.0.0
- picocolors: 1.0.0
+ picocolors: 1.1.1
slash@3.0.0: {}
- source-map-js@1.0.2: {}
+ source-map-js@1.2.1: {}
+
+ source-map@0.7.6: {}
source-map@0.8.0-beta.0:
dependencies:
whatwg-url: 7.1.0
- statuses@2.0.1: {}
+ space-separated-tokens@2.0.2: {}
+
+ spawndamnit@3.0.1:
+ dependencies:
+ cross-spawn: 7.0.6
+ signal-exit: 4.1.0
+
+ sprintf-js@1.0.3: {}
+
+ stackback@0.0.2: {}
- strict-event-emitter@0.2.0:
+ statuses@2.0.2: {}
+
+ std-env@3.9.0: {}
+
+ stop-iteration-iterator@1.1.0:
dependencies:
- events: 3.3.0
+ es-errors: 1.3.0
+ internal-slot: 1.1.0
+
+ strict-event-emitter@0.5.1: {}
string-width@4.2.3:
dependencies:
@@ -2997,26 +9315,101 @@ snapshots:
is-fullwidth-code-point: 3.0.0
strip-ansi: 6.0.1
- string_decoder@1.3.0:
+ string-width@5.1.2:
+ dependencies:
+ eastasianwidth: 0.2.0
+ emoji-regex: 9.2.2
+ strip-ansi: 7.1.0
+
+ string.prototype.includes@2.0.1:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+
+ string.prototype.matchall@4.0.12:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-errors: 1.3.0
+ es-object-atoms: 1.1.1
+ get-intrinsic: 1.3.0
+ gopd: 1.2.0
+ has-symbols: 1.1.0
+ internal-slot: 1.1.0
+ regexp.prototype.flags: 1.5.4
+ set-function-name: 2.0.2
+ side-channel: 1.1.0
+
+ string.prototype.repeat@1.0.0:
+ dependencies:
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+
+ string.prototype.trim@1.2.10:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-data-property: 1.1.4
+ define-properties: 1.2.1
+ es-abstract: 1.24.0
+ es-object-atoms: 1.1.1
+ has-property-descriptors: 1.0.2
+
+ string.prototype.trimend@1.0.9:
+ dependencies:
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
+
+ string.prototype.trimstart@1.0.8:
+ dependencies:
+ call-bind: 1.0.8
+ define-properties: 1.2.1
+ es-object-atoms: 1.1.1
+
+ stringify-entities@4.0.4:
dependencies:
- safe-buffer: 5.2.1
+ character-entities-html4: 2.1.0
+ character-entities-legacy: 3.0.0
strip-ansi@6.0.1:
dependencies:
ansi-regex: 5.0.1
- strip-final-newline@2.0.0: {}
+ strip-ansi@7.1.0:
+ dependencies:
+ ansi-regex: 6.1.0
+
+ strip-bom@3.0.0: {}
strip-json-comments@3.1.1: {}
- strip-literal@0.4.2:
+ strip-literal@3.0.0:
+ dependencies:
+ js-tokens: 9.0.1
+
+ style-to-js@1.1.17:
+ dependencies:
+ style-to-object: 1.0.9
+
+ style-to-object@1.0.9:
+ dependencies:
+ inline-style-parser: 0.2.4
+
+ styled-jsx@5.1.6(react@19.1.0):
dependencies:
- acorn: 8.8.1
+ client-only: 0.0.1
+ react: 19.1.0
- sucrase@3.28.0:
+ sucrase@3.35.0:
dependencies:
+ '@jridgewell/gen-mapping': 0.3.12
commander: 4.1.1
- glob: 7.1.6
+ glob: 10.4.5
lines-and-columns: 1.2.4
mz: 2.7.0
pirates: 4.0.5
@@ -3028,13 +9421,28 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {}
- test-exclude@6.0.0:
+ tailwind-merge@3.3.1: {}
+
+ tailwindcss@4.1.11: {}
+
+ tapable@2.2.2: {}
+
+ tar@7.4.3:
dependencies:
- '@istanbuljs/schema': 0.1.3
- glob: 7.2.3
- minimatch: 3.1.2
+ '@isaacs/fs-minipass': 4.0.1
+ chownr: 3.0.0
+ minipass: 7.1.2
+ minizlib: 3.0.2
+ mkdirp: 3.0.1
+ yallist: 5.0.0
- text-table@0.2.0: {}
+ term-size@2.2.1: {}
+
+ test-exclude@7.0.1:
+ dependencies:
+ '@istanbuljs/schema': 0.1.3
+ glob: 10.4.5
+ minimatch: 9.0.5
thenify-all@1.6.0:
dependencies:
@@ -3044,13 +9452,33 @@ snapshots:
dependencies:
any-promise: 1.3.0
- through@2.3.8: {}
+ tinybench@2.9.0: {}
+
+ tinyexec@0.3.2: {}
+
+ tinyexec@1.0.1: {}
+
+ tinyglobby@0.2.14:
+ dependencies:
+ fdir: 6.4.6(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ tinyglobby@0.2.15:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+
+ tinypool@1.1.1: {}
- tinybench@2.3.1: {}
+ tinyrainbow@2.0.0: {}
- tinypool@0.3.0: {}
+ tinyspy@4.0.3: {}
- tinyspy@1.0.2: {}
+ tldts-core@7.0.17: {}
+
+ tldts@7.0.17:
+ dependencies:
+ tldts-core: 7.0.17
tmp@0.0.33:
dependencies:
@@ -3060,6 +9488,10 @@ snapshots:
dependencies:
is-number: 7.0.0
+ tough-cookie@6.0.0:
+ dependencies:
+ tldts: 7.0.17
+
tr46@0.0.3: {}
tr46@1.0.1:
@@ -3068,100 +9500,304 @@ snapshots:
tree-kill@1.2.2: {}
+ trim-lines@3.0.1: {}
+
+ trough@2.2.0: {}
+
+ ts-api-utils@2.1.0(typescript@5.9.2):
+ dependencies:
+ typescript: 5.9.2
+
ts-interface-checker@0.1.13: {}
- tslib@1.14.1: {}
+ ts-morph@27.0.2:
+ dependencies:
+ '@ts-morph/common': 0.28.1
+ code-block-writer: 13.0.3
+
+ tsconfig-paths@3.15.0:
+ dependencies:
+ '@types/json5': 0.0.29
+ json5: 1.0.2
+ minimist: 1.2.8
+ strip-bom: 3.0.0
- tslib@2.3.1: {}
+ tslib@2.8.1: {}
- tsup@6.3.0(@swc/core@1.10.4)(postcss@8.4.18)(typescript@4.6.2):
+ tsup@8.5.0(@swc/core@1.10.4(@swc/helpers@0.5.15))(jiti@2.5.1)(postcss@8.5.6)(typescript@5.9.2)(yaml@2.8.1):
dependencies:
- bundle-require: 3.1.0(esbuild@0.15.12)
+ bundle-require: 5.1.0(esbuild@0.25.8)
cac: 6.7.14
- chokidar: 3.5.3
- debug: 4.3.4
- esbuild: 0.15.12
- execa: 5.1.1
- globby: 11.1.0
+ chokidar: 4.0.3
+ consola: 3.4.2
+ debug: 4.4.1
+ esbuild: 0.25.8
+ fix-dts-default-cjs-exports: 1.0.1
joycon: 3.1.1
- postcss-load-config: 3.1.4(postcss@8.4.18)
+ picocolors: 1.1.1
+ postcss-load-config: 6.0.1(jiti@2.5.1)(postcss@8.5.6)(yaml@2.8.1)
resolve-from: 5.0.0
- rollup: 2.79.1
+ rollup: 4.46.2
source-map: 0.8.0-beta.0
- sucrase: 3.28.0
+ sucrase: 3.35.0
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.14
tree-kill: 1.2.2
optionalDependencies:
- '@swc/core': 1.10.4
- postcss: 8.4.18
- typescript: 4.6.2
+ '@swc/core': 1.10.4(@swc/helpers@0.5.15)
+ postcss: 8.5.6
+ typescript: 5.9.2
transitivePeerDependencies:
+ - jiti
- supports-color
- - ts-node
+ - tsx
+ - yaml
- tsutils@3.21.0(typescript@4.6.2):
- dependencies:
- tslib: 1.14.1
- typescript: 4.6.2
+ turbo-darwin-64@2.5.5:
+ optional: true
+
+ turbo-darwin-arm64@2.5.5:
+ optional: true
+
+ turbo-linux-64@2.5.5:
+ optional: true
+
+ turbo-linux-arm64@2.5.5:
+ optional: true
+
+ turbo-windows-64@2.5.5:
+ optional: true
+
+ turbo-windows-arm64@2.5.5:
+ optional: true
+
+ turbo@2.5.5:
+ optionalDependencies:
+ turbo-darwin-64: 2.5.5
+ turbo-darwin-arm64: 2.5.5
+ turbo-linux-64: 2.5.5
+ turbo-linux-arm64: 2.5.5
+ turbo-windows-64: 2.5.5
+ turbo-windows-arm64: 2.5.5
type-check@0.4.0:
dependencies:
prelude-ls: 1.2.1
- type-detect@4.0.8: {}
+ type-fest@4.41.0: {}
+
+ typed-array-buffer@1.0.3:
+ dependencies:
+ call-bound: 1.0.4
+ es-errors: 1.3.0
+ is-typed-array: 1.1.15
+
+ typed-array-byte-length@1.0.3:
+ dependencies:
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+
+ typed-array-byte-offset@1.0.4:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ has-proto: 1.2.0
+ is-typed-array: 1.1.15
+ reflect.getprototypeof: 1.0.10
+
+ typed-array-length@1.0.7:
+ dependencies:
+ call-bind: 1.0.8
+ for-each: 0.3.5
+ gopd: 1.2.0
+ is-typed-array: 1.1.15
+ possible-typed-array-names: 1.1.0
+ reflect.getprototypeof: 1.0.10
+
+ typescript-eslint@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2):
+ dependencies:
+ '@typescript-eslint/eslint-plugin': 8.39.0(@typescript-eslint/parser@8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2))(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ '@typescript-eslint/parser': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ '@typescript-eslint/typescript-estree': 8.39.0(typescript@5.9.2)
+ '@typescript-eslint/utils': 8.39.0(eslint@9.32.0(jiti@2.5.1))(typescript@5.9.2)
+ eslint: 9.32.0(jiti@2.5.1)
+ typescript: 5.9.2
+ transitivePeerDependencies:
+ - supports-color
+
+ typescript@5.9.2: {}
+
+ ufo@1.6.1: {}
+
+ unbox-primitive@1.1.0:
+ dependencies:
+ call-bound: 1.0.4
+ has-bigints: 1.1.0
+ has-symbols: 1.1.0
+ which-boxed-primitive: 1.1.1
+
+ undici-types@7.10.0: {}
+
+ unified@11.0.5:
+ dependencies:
+ '@types/unist': 3.0.3
+ bail: 2.0.2
+ devlop: 1.1.0
+ extend: 3.0.2
+ is-plain-obj: 4.1.0
+ trough: 2.2.0
+ vfile: 6.0.3
+
+ unist-util-is@6.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
- type-fest@0.20.2: {}
+ unist-util-position-from-estree@2.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-position@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-stringify-position@4.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+
+ unist-util-visit-parents@6.0.1:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+
+ unist-util-visit@5.0.0:
+ dependencies:
+ '@types/unist': 3.0.3
+ unist-util-is: 6.0.0
+ unist-util-visit-parents: 6.0.1
- type-fest@0.21.3: {}
+ universalify@0.1.2: {}
- type-fest@1.4.0: {}
+ until-async@3.0.2: {}
- typescript@4.6.2: {}
+ update-browserslist-db@1.1.3(browserslist@4.25.1):
+ dependencies:
+ browserslist: 4.25.1
+ escalade: 3.2.0
+ picocolors: 1.1.1
uri-js@4.4.1:
dependencies:
punycode: 2.1.1
+ use-callback-ref@1.3.3(@types/react@19.1.9)(react@19.1.0):
+ dependencies:
+ react: 19.1.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.1.9
+
+ use-sidecar@1.1.3(@types/react@19.1.9)(react@19.1.0):
+ dependencies:
+ detect-node-es: 1.1.0
+ react: 19.1.0
+ tslib: 2.8.1
+ optionalDependencies:
+ '@types/react': 19.1.9
+
util-deprecate@1.0.2: {}
- v8-to-istanbul@9.0.1:
+ vfile-message@4.0.3:
dependencies:
- '@jridgewell/trace-mapping': 0.3.17
- '@types/istanbul-lib-coverage': 2.0.4
- convert-source-map: 1.9.0
+ '@types/unist': 3.0.3
+ unist-util-stringify-position: 4.0.0
- vite@3.2.2:
+ vfile@6.0.3:
dependencies:
- esbuild: 0.15.12
- postcss: 8.4.18
- resolve: 1.22.1
- rollup: 2.79.1
- optionalDependencies:
- fsevents: 2.3.2
+ '@types/unist': 3.0.3
+ vfile-message: 4.0.3
- vitest@0.24.4:
+ vite-node@3.2.4(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1):
dependencies:
- '@types/chai': 4.3.3
- '@types/chai-subset': 1.3.3
- '@types/node': 17.0.22
- chai: 4.3.6
- debug: 4.3.4
- local-pkg: 0.4.2
- strip-literal: 0.4.2
- tinybench: 2.3.1
- tinypool: 0.3.0
- tinyspy: 1.0.2
- vite: 3.2.2
+ cac: 6.7.14
+ debug: 4.4.1
+ es-module-lexer: 1.7.0
+ pathe: 2.0.3
+ vite: 7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)
transitivePeerDependencies:
+ - '@types/node'
+ - jiti
- less
+ - lightningcss
- sass
+ - sass-embedded
- stylus
- sugarss
- supports-color
- terser
+ - tsx
+ - yaml
- wcwidth@1.0.1:
+ vite@7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1):
dependencies:
- defaults: 1.0.3
+ esbuild: 0.25.11
+ fdir: 6.5.0(picomatch@4.0.3)
+ picomatch: 4.0.3
+ postcss: 8.5.6
+ rollup: 4.46.2
+ tinyglobby: 0.2.15
+ optionalDependencies:
+ '@types/node': 24.2.0
+ fsevents: 2.3.3
+ jiti: 2.5.1
+ lightningcss: 1.30.1
+ yaml: 2.8.1
+
+ vitest@3.2.4(@types/debug@4.1.12)(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(yaml@2.8.1):
+ dependencies:
+ '@types/chai': 5.2.2
+ '@vitest/expect': 3.2.4
+ '@vitest/mocker': 3.2.4(msw@2.11.5(@types/node@24.2.0)(typescript@5.9.2))(vite@7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1))
+ '@vitest/pretty-format': 3.2.4
+ '@vitest/runner': 3.2.4
+ '@vitest/snapshot': 3.2.4
+ '@vitest/spy': 3.2.4
+ '@vitest/utils': 3.2.4
+ chai: 5.2.1
+ debug: 4.4.1
+ expect-type: 1.2.2
+ magic-string: 0.30.17
+ pathe: 2.0.3
+ picomatch: 4.0.3
+ std-env: 3.9.0
+ tinybench: 2.9.0
+ tinyexec: 0.3.2
+ tinyglobby: 0.2.15
+ tinypool: 1.1.1
+ tinyrainbow: 2.0.0
+ vite: 7.0.6(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)
+ vite-node: 3.2.4(@types/node@24.2.0)(jiti@2.5.1)(lightningcss@1.30.1)(yaml@2.8.1)
+ why-is-node-running: 2.3.0
+ optionalDependencies:
+ '@types/debug': 4.1.12
+ '@types/node': 24.2.0
+ transitivePeerDependencies:
+ - jiti
+ - less
+ - lightningcss
+ - msw
+ - sass
+ - sass-embedded
+ - stylus
+ - sugarss
+ - supports-color
+ - terser
+ - tsx
+ - yaml
webidl-conversions@3.0.1: {}
@@ -3178,11 +9814,63 @@ snapshots:
tr46: 1.0.1
webidl-conversions: 4.0.2
+ which-boxed-primitive@1.1.1:
+ dependencies:
+ is-bigint: 1.1.0
+ is-boolean-object: 1.2.2
+ is-number-object: 1.1.1
+ is-string: 1.1.1
+ is-symbol: 1.1.1
+
+ which-builtin-type@1.2.1:
+ dependencies:
+ call-bound: 1.0.4
+ function.prototype.name: 1.1.8
+ has-tostringtag: 1.0.2
+ is-async-function: 2.1.1
+ is-date-object: 1.1.0
+ is-finalizationregistry: 1.1.1
+ is-generator-function: 1.1.0
+ is-regex: 1.2.1
+ is-weakref: 1.1.1
+ isarray: 2.0.5
+ which-boxed-primitive: 1.1.1
+ which-collection: 1.0.2
+ which-typed-array: 1.1.19
+
+ which-collection@1.0.2:
+ dependencies:
+ is-map: 2.0.3
+ is-set: 2.0.3
+ is-weakmap: 2.0.2
+ is-weakset: 2.0.4
+
+ which-typed-array@1.1.19:
+ dependencies:
+ available-typed-arrays: 1.0.7
+ call-bind: 1.0.8
+ call-bound: 1.0.4
+ for-each: 0.3.5
+ get-proto: 1.0.1
+ gopd: 1.2.0
+ has-tostringtag: 1.0.2
+
which@2.0.2:
dependencies:
isexe: 2.0.0
- word-wrap@1.2.3: {}
+ why-is-node-running@2.3.0:
+ dependencies:
+ siginfo: 2.0.0
+ stackback: 0.0.2
+
+ word-wrap@1.2.5: {}
+
+ wrap-ansi@6.2.0:
+ dependencies:
+ ansi-styles: 4.3.0
+ string-width: 4.2.3
+ strip-ansi: 6.0.1
wrap-ansi@7.0.0:
dependencies:
@@ -3190,36 +9878,45 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
- wrappy@1.0.2: {}
+ wrap-ansi@8.1.0:
+ dependencies:
+ ansi-styles: 6.2.1
+ string-width: 5.1.2
+ strip-ansi: 7.1.0
y18n@5.0.8: {}
+ yallist@3.1.1: {}
+
yallist@4.0.0: {}
- yaml@1.10.2: {}
+ yallist@5.0.0: {}
- yargs-parser@20.2.9: {}
+ yaml@2.8.1:
+ optional: true
- yargs-parser@21.0.1: {}
+ yargs-parser@21.1.1: {}
- yargs@16.2.0:
+ yargs@17.7.2:
dependencies:
- cliui: 7.0.4
- escalade: 3.1.1
+ cliui: 8.0.1
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
y18n: 5.0.8
- yargs-parser: 20.2.9
+ yargs-parser: 21.1.1
+
+ yocto-queue@0.1.0: {}
- yargs@17.4.0:
+ yoctocolors-cjs@2.1.3: {}
+
+ zod-validation-error@3.5.3(zod@3.25.76):
dependencies:
- cliui: 7.0.4
- escalade: 3.1.1
- get-caller-file: 2.0.5
- require-directory: 2.1.1
- string-width: 4.2.3
- y18n: 5.0.8
- yargs-parser: 21.0.1
+ zod: 3.25.76
- yocto-queue@0.1.0: {}
+ zod@3.25.76: {}
+
+ zod@4.1.12: {}
+
+ zwitch@2.0.4: {}
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..db4f8ad
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,17 @@
+packages:
+- packages/*
+- tooling/*
+- apps/*
+
+catalog:
+ eslint: ^9.19.0
+ prettier: ^3.4.2
+ tailwindcss: ^4.1.11
+ typescript: ^5.9.2
+
+catalogs:
+ react19:
+ react: 19.1.0
+ react-dom: 19.1.0
+ '@types/react': ^19.1.2
+ '@types/react-dom': ^19.1.2
diff --git a/scripts/postversion.mjs b/scripts/postversion.mjs
deleted file mode 100644
index cce6d17..0000000
--- a/scripts/postversion.mjs
+++ /dev/null
@@ -1,25 +0,0 @@
-import { fileURLToPath } from 'url';
-import fs from 'fs';
-import path from 'path';
-
-const __filename = fileURLToPath(import.meta.url);
-const __dirname = path.dirname(__filename);
-
-const packageJson = fs.readFileSync(
- path.join(__dirname, '../package.json'),
- 'utf8'
-);
-const version = JSON.parse(packageJson).version;
-
-const dist = path.join(__dirname, '../dist');
-
-// replace {{VERSION_TO_REPLACE}} in dist/* with the current version
-const files = fs.readdirSync(dist);
-files.forEach((file) => {
- const content = fs.readFileSync(path.join(dist, file), 'utf8');
- const newContent = content.replace('{{VERSION_TO_REPLACE}}', version);
- fs.writeFileSync(path.join(dist, file), newContent);
-});
-
-// eslint-disable-next-line no-undef
-console.log('✅ Version replaced in dist/*');
diff --git a/src/index.ts b/src/index.ts
deleted file mode 100644
index 409b7e0..0000000
--- a/src/index.ts
+++ /dev/null
@@ -1,2 +0,0 @@
-export { default as quran } from './sdk';
-export * from './types';
diff --git a/src/sdk/index.ts b/src/sdk/index.ts
deleted file mode 100644
index d420ee1..0000000
--- a/src/sdk/index.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import v4 from './v4';
-import utils from './utils';
-
-const quran = {
- v4,
- utils,
-};
-
-export default quran;
diff --git a/src/sdk/utils.ts b/src/sdk/utils.ts
deleted file mode 100644
index 0584018..0000000
--- a/src/sdk/utils.ts
+++ /dev/null
@@ -1,239 +0,0 @@
-import {
- ChapterId,
- HizbNumber,
- JuzNumber,
- PageNumber,
- RubNumber,
- VerseKey,
-} from '../types';
-
-// this maps chapterNumber to verseCount
-export const versesMapping = {
- '1': 7,
- '2': 286,
- '3': 200,
- '4': 176,
- '5': 120,
- '6': 165,
- '7': 206,
- '8': 75,
- '9': 129,
- '10': 109,
- '11': 123,
- '12': 111,
- '13': 43,
- '14': 52,
- '15': 99,
- '16': 128,
- '17': 111,
- '18': 110,
- '19': 98,
- '20': 135,
- '21': 112,
- '22': 78,
- '23': 118,
- '24': 64,
- '25': 77,
- '26': 227,
- '27': 93,
- '28': 88,
- '29': 69,
- '30': 60,
- '31': 34,
- '32': 30,
- '33': 73,
- '34': 54,
- '35': 45,
- '36': 83,
- '37': 182,
- '38': 88,
- '39': 75,
- '40': 85,
- '41': 54,
- '42': 53,
- '43': 89,
- '44': 59,
- '45': 37,
- '46': 35,
- '47': 38,
- '48': 29,
- '49': 18,
- '50': 45,
- '51': 60,
- '52': 49,
- '53': 62,
- '54': 55,
- '55': 78,
- '56': 96,
- '57': 29,
- '58': 22,
- '59': 24,
- '60': 13,
- '61': 14,
- '62': 11,
- '63': 11,
- '64': 18,
- '65': 12,
- '66': 12,
- '67': 30,
- '68': 52,
- '69': 52,
- '70': 44,
- '71': 28,
- '72': 28,
- '73': 20,
- '74': 56,
- '75': 40,
- '76': 31,
- '77': 50,
- '78': 40,
- '79': 46,
- '80': 42,
- '81': 29,
- '82': 19,
- '83': 36,
- '84': 25,
- '85': 22,
- '86': 17,
- '87': 19,
- '88': 26,
- '89': 30,
- '90': 20,
- '91': 15,
- '92': 21,
- '93': 11,
- '94': 8,
- '95': 8,
- '96': 19,
- '97': 5,
- '98': 8,
- '99': 8,
- '100': 11,
- '101': 11,
- '102': 8,
- '103': 3,
- '104': 9,
- '105': 5,
- '106': 4,
- '107': 7,
- '108': 3,
- '109': 6,
- '110': 3,
- '111': 5,
- '112': 4,
- '113': 5,
- '114': 6,
-};
-
-/**
- * Validates chapter id
- * @param id chapter id
- * @example
- isValidChapterId('1') // true
- isValidChapterId('114') // true
- isValidChapterId('0') // false
- isValidChapterId('-1') // false
- isValidChapterId('200') // false
- */
-const isValidChapterId = (id: string | number): id is ChapterId => {
- const parsedId = typeof id === 'number' ? id : Number(id);
- if (!parsedId || parsedId <= 0 || parsedId > 114) return false;
- return true;
-};
-
-/**
- * Validates juz number
- * @param juz juz number
- * @example
- isValidJuz('1') // true
- isValidJuz('30') // true
- isValidJuz('0') // false
- isValidJuz('-1') // false
- isValidJuz('200') // false
- */
-const isValidJuz = (juz: string | number): juz is JuzNumber => {
- const parsedJuz = typeof juz === 'number' ? juz : Number(juz);
- if (!parsedJuz || parsedJuz <= 0 || parsedJuz > 30) return false;
- return true;
-};
-
-/**
- * Validates rub number
- * @param rub rub number
- * @example
- isValidRub('1') // true
- isValidRub('240') // true
- isValidRub('0') // false
- isValidRub('-1') // false
- isValidRub('300') // false
- */
-const isValidRub = (rub: string | number): rub is RubNumber => {
- const parsedRub = typeof rub === 'number' ? rub : Number(rub);
- if (!parsedRub || parsedRub <= 0 || parsedRub > 240) return false;
- return true;
-};
-
-/**
- * Validates hizb number
- * @param hizb hizb number
- * @example
- isValidHizb('1') // true
- isValidHizb('60') // true
- isValidHizb('0') // false
- isValidHizb('-1') // false
- isValidHizb('200') // false
- */
-const isValidHizb = (hizb: string | number): hizb is HizbNumber => {
- const parsedHizb = typeof hizb === 'number' ? hizb : Number(hizb);
- if (!parsedHizb || parsedHizb <= 0 || parsedHizb > 60) return false;
- return true;
-};
-
-/**
- * Validates mushaf page number
- * @param page mushaf page number
- * @example
- isValidQuranPage('1') // true
- isValidQuranPage('604') // true
- isValidQuranPage('0') // false
- isValidQuranPage('-1') // false
- isValidQuranPage('1000') // false
- */
-const isValidQuranPage = (page: string | number): page is PageNumber => {
- const parsedPage = typeof page === 'number' ? page : Number(page);
- if (!parsedPage || parsedPage <= 0 || parsedPage > 604) return false;
- return true;
-};
-
-/**
- * Validates verse key
- * @param key colon separated verse key (chapter:verse)
- * @example
- isValidVerseKey('1:1') // true
- isValidVerseKey('30:1') // true
- isValidVerseKey('0') // false
- isValidVerseKey('1:-') // false
- isValidVerseKey('1_1') // false
- */
-const isValidVerseKey = (key: string): key is VerseKey => {
- const [chapterId, verseId] = key.trim().split(':');
- if (!chapterId || !verseId || !isValidChapterId(chapterId)) return false;
-
- const parsedVerse = Number(verseId);
- const verseCount = (versesMapping as Record)[chapterId];
- if (!parsedVerse || parsedVerse <= 0 || parsedVerse > verseCount)
- return false;
-
- return true;
-};
-
-const utils = {
- isValidChapterId,
- isValidJuz,
- isValidRub,
- isValidHizb,
- isValidQuranPage,
- isValidVerseKey,
-};
-
-export default utils;
diff --git a/src/sdk/v4/_fetcher.ts b/src/sdk/v4/_fetcher.ts
deleted file mode 100644
index 0b643d4..0000000
--- a/src/sdk/v4/_fetcher.ts
+++ /dev/null
@@ -1,85 +0,0 @@
-import humps from 'humps';
-import { FetchFn } from '../../types';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-import { removeBeginningSlash } from '../../utils/misc';
-
-export const API_BASE_URL = 'https://api.quran.com/api/v4/';
-
-const { camelizeKeys, decamelize, decamelizeKeys } = humps;
-
-export const makeUrl = (url: string, params?: Record) => {
- const baseUrl = `${API_BASE_URL}${removeBeginningSlash(url)}`;
- if (!params) return baseUrl;
-
- const paramsWithDecamelizedKeys = decamelizeKeys(params) as Record<
- string,
- string
- >;
- const paramsString = new URLSearchParams(
- Object.entries(paramsWithDecamelizedKeys).filter(
- ([, value]) => value !== undefined
- )
- ).toString();
- if (!paramsString) return baseUrl;
-
- return `${baseUrl}?${paramsString}`;
-};
-
-export const fetcher = async (
- url: string,
- params: Record = {},
- fetchFn?: FetchFn
-) => {
- if (fetchFn) {
- const json = await fetchFn(makeUrl(url, params));
- return camelizeKeys(json) as T;
- }
-
- if (typeof globalThis.fetch !== 'function') {
- throw new Error(
- 'Looks like there is no global fetch function. Take a look at https://quranjs.com/techniques#custom-fetcher for more info.'
- );
- }
-
- // if there is no fetchFn, we use the global fetch
- const res = await globalThis.fetch(makeUrl(url, params));
-
- if (!res.ok || res.status >= 400) {
- throw new Error(`${res.status} ${res.statusText}`);
- }
-
- const json = await res.json();
-
- return camelizeKeys(json) as T;
-};
-
-type MergeApiOptionsObject = Pick & {
- fields?: Record;
-} & Record;
-
-export const mergeApiOptions = (
- options: MergeApiOptionsObject = {},
- defaultOptions: Record = {}
-) => {
- const clonedOptions = { ...options };
-
- // we can set it to undefined because `makeUrl` will filter it out
- if (clonedOptions.fetchFn) clonedOptions.fetchFn = undefined;
-
- const final: Record = {
- ...defaultOptions,
- ...clonedOptions,
- };
-
- if (final.fields) {
- const fields: string[] = [];
- Object.entries(final.fields).forEach(([key, value]) => {
- if (value) fields.push(decamelize(key));
- });
-
- // convert `fields` to a string sperated by commas
- final.fields = fields.join(',');
- }
-
- return final;
-};
diff --git a/src/sdk/v4/audio.ts b/src/sdk/v4/audio.ts
deleted file mode 100644
index 1cc6234..0000000
--- a/src/sdk/v4/audio.ts
+++ /dev/null
@@ -1,246 +0,0 @@
-import {
- ChapterRecitation,
- VerseRecitation,
- ChapterId,
- HizbNumber,
- JuzNumber,
- Language,
- PageNumber,
- Pagination,
- RubNumber,
- VerseKey,
- VerseRecitationField,
-} from '../../types';
-import Utils from '../utils';
-import { fetcher, mergeApiOptions } from './_fetcher';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-
-type GetChapterRecitationOptions = Partial;
-
-const defaultChapterRecitationsOptions: GetChapterRecitationOptions = {
- language: Language.ARABIC,
-};
-
-type GetVerseRecitationOptions = Partial<
- BaseApiOptions & {
- fields: Partial>;
- }
->;
-
-const defaultVerseRecitationsOptions: GetVerseRecitationOptions = {
- language: Language.ARABIC,
-};
-
-/**
- * Get all chapter recitations for specific reciter
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciter-audio-files
- * @param {string} reciterId
- * @param {GetChapterRecitationOptions} options
- * @example
- * quran.v4.audio.findAllChapterRecitations('2')
- */
-const findAllChapterRecitations = async (
- reciterId: string,
- options?: GetChapterRecitationOptions
-) => {
- const params = mergeApiOptions(options, defaultChapterRecitationsOptions);
- const { audioFiles } = await fetcher<{ audioFiles: ChapterRecitation[] }>(
- `/chapter_recitations/${reciterId}`,
- params,
- options?.fetchFn
- );
- return audioFiles;
-};
-
-/**
- * Get chapter recitation for specific reciter and a specific chapter
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciter-audio-file
- * @param {ChapterId} chapterId
- * @param {string} reciterId
- * @param {GetChapterRecitationOptions} options
- * @example
- * quran.v4.audio.findChapterRecitationById('1', '2') // first chapter recitation for reciter 2
- */
-const findChapterRecitationById = async (
- chapterId: ChapterId,
- reciterId: string,
- options?: GetChapterRecitationOptions
-) => {
- if (!Utils.isValidChapterId(chapterId)) throw new Error('Invalid chapter id');
-
- const params = mergeApiOptions(options, defaultChapterRecitationsOptions);
- const { audioFile } = await fetcher<{ audioFile: ChapterRecitation }>(
- `/chapter_recitations/${reciterId}/${chapterId}`,
- params,
- options?.fetchFn
- );
-
- return audioFile;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific chapter
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-surah-recitation
- * @param {ChapterId} chapterId
- * @param {string} recitationId
- * @param {GetVerseRecitationOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByChapter('1', '2')
- */
-const findVerseRecitationsByChapter = async (
- chapterId: ChapterId,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidChapterId(chapterId)) throw new Error('Invalid chapter id');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(
- `/recitations/${recitationId}/by_chapter/${chapterId}`,
- params,
- options?.fetchFn
- );
-
- return data;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific juz
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-juz-recitaiton
- * @param {JuzNumber} juz
- * @param {string} recitationId
- * @param {GetRecitationsOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByJuz('1', '2')
- */
-const findVerseRecitationsByJuz = async (
- juz: JuzNumber,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidJuz(juz)) throw new Error('Invalid juz');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(`/recitations/${recitationId}/by_juz/${juz}`, params, options?.fetchFn);
-
- return data;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific mushaf page
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-page-recitaiton
- * @param {PageNumber} page
- * @param {string} recitationId
- * @param {GetVerseRecitationOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByPage('1', '2')
- */
-const findVerseRecitationsByPage = async (
- page: PageNumber,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidQuranPage(page)) throw new Error('Invalid page');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(`/recitations/${recitationId}/by_page/${page}`, params, options?.fetchFn);
-
- return data;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific rub
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-rub-el-hizb-recitaiton
- * @param {RubNumber} rub
- * @param {string} recitationId
- * @param {GetVerseRecitationOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByRub('1', '2')
- */
-const findVerseRecitationsByRub = async (
- rub: RubNumber,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidRub(rub)) throw new Error('Invalid rub');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(`/recitations/${recitationId}/by_rub/${rub}`, params, options?.fetchFn);
-
- return data;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific hizb
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-hizb-recitaiton
- * @param {HizbNumber} hizb
- * @param {string} recitationId
- * @param {GetVerseRecitationOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByHizb('1', '2')
- */
-const findVerseRecitationsByHizb = async (
- hizb: HizbNumber,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidHizb(hizb)) throw new Error('Invalid hizb');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(`/recitations/${recitationId}/by_hizb/${hizb}`, params, options?.fetchFn);
-
- return data;
-};
-
-/**
- * Get all verse audio files for a specific reciter and a specific verse
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-ayah-recitaiton
- * @param {VerseKey} key
- * @param {string} recitationId
- * @param {GetVerseRecitationOptions} options
- * @example
- * quran.v4.audio.findVerseRecitationsByKey('1:1', '2')
- */
-const findVerseRecitationsByKey = async (
- key: VerseKey,
- recitationId: string,
- options?: GetVerseRecitationOptions
-) => {
- if (!Utils.isValidVerseKey(key)) throw new Error('Invalid verse key');
-
- const params = mergeApiOptions(options, defaultVerseRecitationsOptions);
- const data = await fetcher<{
- audioFiles: VerseRecitation[];
- pagination: Pagination;
- }>(`/recitations/${recitationId}/by_ayah/${key}`, params, options?.fetchFn);
-
- return data;
-};
-
-const audio = {
- findAllChapterRecitations,
- findChapterRecitationById,
- findVerseRecitationsByChapter,
- findVerseRecitationsByJuz,
- findVerseRecitationsByPage,
- findVerseRecitationsByRub,
- findVerseRecitationsByHizb,
- findVerseRecitationsByKey,
-};
-
-export default audio;
diff --git a/src/sdk/v4/chapters.ts b/src/sdk/v4/chapters.ts
deleted file mode 100644
index 2ba3907..0000000
--- a/src/sdk/v4/chapters.ts
+++ /dev/null
@@ -1,80 +0,0 @@
-import { Chapter, ChapterId, ChapterInfo, Language } from '../../types';
-import { fetcher, mergeApiOptions } from './_fetcher';
-import Utils from '../utils';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-
-type GetChapterOptions = Partial;
-
-const defaultOptions: GetChapterOptions = {
- language: Language.ARABIC,
-};
-
-/**
- * Get all chapters.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/list-chapters
- * @param {GetChapterOptions} options
- * @example
- * quran.v4.chapters.findAll()
- */
-const findAll = async (options?: GetChapterOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { chapters } = await fetcher<{ chapters: Chapter[] }>(
- '/chapters',
- params,
- options?.fetchFn
- );
-
- return chapters;
-};
-
-/**
- * Get chapter by id.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/get-chapter
- * @param {ChapterId} id chapter id, minimum 1, maximum 114
- * @param {GetChapterOptions} options
- * @example
- * quran.v4.chapters.findById('1')
- * quran.v4.chapters.findById('114')
- */
-const findById = async (id: ChapterId, options?: GetChapterOptions) => {
- if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id');
-
- const params = mergeApiOptions(options, defaultOptions);
- const { chapter } = await fetcher<{ chapter: Chapter }>(
- `/chapters/${id}`,
- params,
- options?.fetchFn
- );
-
- return chapter;
-};
-
-/**
- * Get chapter info by id.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/info
- * @param {ChapterId} id chapter id, minimum 1, maximum 114
- * @param {GetChapterOptions} options
- * @example
- * quran.v4.chapters.findInfoById('1')
- * quran.v4.chapters.findInfoById('114')
- */
-const findInfoById = async (id: ChapterId, options?: GetChapterOptions) => {
- if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id');
-
- const params = mergeApiOptions(options, defaultOptions);
- const { chapterInfo } = await fetcher<{ chapterInfo: ChapterInfo }>(
- `/chapters/${id}/info`,
- params,
- options?.fetchFn
- );
-
- return chapterInfo;
-};
-
-const chapters = {
- findAll,
- findById,
- findInfoById,
-};
-
-export default chapters;
diff --git a/src/sdk/v4/index.ts b/src/sdk/v4/index.ts
deleted file mode 100644
index 492bc61..0000000
--- a/src/sdk/v4/index.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-import chapters from './chapters';
-import verses from './verses';
-import juzs from './juzs';
-import audio from './audio';
-import resources from './resources';
-import search from './search';
-
-const v4 = {
- chapters,
- verses,
- juzs,
- audio,
- resources,
- search,
-};
-
-export default v4;
diff --git a/src/sdk/v4/juzs.ts b/src/sdk/v4/juzs.ts
deleted file mode 100644
index fb41b38..0000000
--- a/src/sdk/v4/juzs.ts
+++ /dev/null
@@ -1,22 +0,0 @@
-import { Juz } from '../../types';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-import { fetcher } from './_fetcher';
-
-/**
- * Get All Juzs
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/juzs
- * @example
- * quran.v4.juzs.findAll()
- */
-const findAll = async (options?: Omit) => {
- const { juzs } = await fetcher<{ juzs: Juz[] }>(
- '/juzs',
- undefined,
- options?.fetchFn
- );
- return juzs;
-};
-
-const juzs = { findAll };
-
-export default juzs;
diff --git a/src/sdk/v4/resources.ts b/src/sdk/v4/resources.ts
deleted file mode 100644
index 52c7db0..0000000
--- a/src/sdk/v4/resources.ts
+++ /dev/null
@@ -1,220 +0,0 @@
-import {
- ChapterInfoResource,
- ChapterReciterResource,
- Language,
- LanguageResource,
- RecitationInfoResource,
- RecitationResource,
- RecitationStylesResource,
- TafsirInfoResource,
- TafsirResource,
- TranslationInfoResource,
- TranslationResource,
- VerseMediaResource,
-} from '../../types';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-import { fetcher, mergeApiOptions } from './_fetcher';
-
-type GetResourceOptions = Partial;
-
-const defaultOptions: GetResourceOptions = {
- language: Language.ARABIC,
-};
-
-/**
- * Get all recitations.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitations
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllRecitations()
- */
-const findAllRecitations = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options);
- const { recitations } = await fetcher<{
- recitations: RecitationResource[];
- }>('/resources/recitations', params, options?.fetchFn);
-
- return recitations;
-};
-
-/**
- * Get all recitation info.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitation-info
- * @param {string} id recitation id
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findRecitationInfo('1')
- */
-const findRecitationInfo = async (id: string, options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { info } = await fetcher<{
- info: RecitationInfoResource;
- }>(`/resources/recitations/${id}/info`, params, options?.fetchFn);
-
- return info;
-};
-
-/**
- * Get all translations.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/translations
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllTranslations()
- */
-const findAllTranslations = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { translations } = await fetcher<{
- translations: TranslationResource[];
- }>('/resources/translations', params, options?.fetchFn);
-
- return translations;
-};
-
-/**
- * Get translation info.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/translation-info
- * @param {string} id translation id
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findTranslationInfo('169')
- */
-const findTranslationInfo = async (
- id: string,
- options?: GetResourceOptions
-) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { info } = await fetcher<{
- info: TranslationInfoResource;
- }>(`/resources/translations/${id}/info`, params, options?.fetchFn);
-
- return info;
-};
-
-/**
- * Get all tafsirs.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/tafsirs
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllTafsirs()
- */
-const findAllTafsirs = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { tafsirs } = await fetcher<{
- tafsirs: TafsirResource[];
- }>('/resources/tafsirs', params, options?.fetchFn);
-
- return tafsirs;
-};
-
-/**
- * Get tafsir info.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/tafsir-info
- * @param {string} id tafsir id
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findTafsirInfo('1')
- */
-const findTafsirInfo = async (id: string, options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { info } = await fetcher<{
- info: TafsirInfoResource;
- }>(`/resources/tafsirs/${id}/info`, params, options?.fetchFn);
-
- return info;
-};
-
-/**
- * Get all recitation styles.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/recitation-styles
- * @example
- * quran.v4.resources.findAllRecitationStyles()
- */
-const findAllRecitationStyles = async (
- options?: Omit
-) => {
- const { recitationStyles } = await fetcher<{
- recitationStyles: RecitationStylesResource;
- }>('/resources/recitation_styles', undefined, options?.fetchFn);
-
- return recitationStyles;
-};
-
-/**
- * Get all languages.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/languages
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllLanguages()
- */
-const findAllLanguages = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { languages } = await fetcher<{
- languages: LanguageResource[];
- }>('/resources/languages', params, options?.fetchFn);
-
- return languages;
-};
-
-/**
- * Get all chapter infos.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-info
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllChapterInfos()
- */
-const findAllChapterInfos = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { chapterInfos } = await fetcher<{
- chapterInfos: ChapterInfoResource[];
- }>('/resources/chapter_infos', params, options?.fetchFn);
-
- return chapterInfos;
-};
-
-/**
- * Get verse media.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verse-media
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findVerseMedia()
- */
-const findVerseMedia = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { verseMedia } = await fetcher<{
- verseMedia: VerseMediaResource;
- }>(`/resources/verse_media`, params, options?.fetchFn);
-
- return verseMedia;
-};
-
-/**
- * Get all chapter reciters.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/chapter-reciters
- * @param {GetResourceOptions} options
- * @example
- * quran.v4.resources.findAllChapterReciters()
- */
-const findAllChapterReciters = async (options?: GetResourceOptions) => {
- const params = mergeApiOptions(options, defaultOptions);
- const { reciters } = await fetcher<{
- reciters: ChapterReciterResource[];
- }>(`/resources/chapter_reciters`, params, options?.fetchFn);
-
- return reciters;
-};
-
-const resources = {
- findAllRecitations,
- findAllTranslations,
- findAllTafsirs,
- findAllRecitationStyles,
- findAllLanguages,
- findVerseMedia,
- findAllChapterReciters,
- findAllChapterInfos,
- findRecitationInfo,
- findTranslationInfo,
- findTafsirInfo,
-};
-
-export default resources;
diff --git a/src/sdk/v4/search.ts b/src/sdk/v4/search.ts
deleted file mode 100644
index c15ef18..0000000
--- a/src/sdk/v4/search.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Language, SearchResponse } from '../../types';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-import { fetcher, mergeApiOptions } from './_fetcher';
-
-type SearchOptions = Partial<
- BaseApiOptions & {
- size: number;
- page: number;
- }
->;
-
-const defaultSearchOptions: SearchOptions = {
- language: Language.ARABIC,
- size: 30,
-};
-
-/**
- * Search
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/search
- * @param {string} q search query
- * @param {SearchOptions} options
- * @example
- * quran.v4.search.search('نور')
- * quran.v4.search.search('نور', { language: Language.ENGLISH })
- * quran.v4.search.search('نور', { language: Language.ENGLISH, size: 10 })
- * quran.v4.search.search('نور', { language: Language.ENGLISH, page: 2 })
- */
-const search = async (q: string, options?: SearchOptions) => {
- const params = mergeApiOptions({ q, ...options }, defaultSearchOptions);
- const { search } = await fetcher(
- '/search',
- params,
- options?.fetchFn
- );
-
- return search;
-};
-
-const searchApi = { search };
-
-export default searchApi;
diff --git a/src/sdk/v4/verses.ts b/src/sdk/v4/verses.ts
deleted file mode 100644
index 5afbfc8..0000000
--- a/src/sdk/v4/verses.ts
+++ /dev/null
@@ -1,238 +0,0 @@
-import {
- ChapterId,
- HizbNumber,
- JuzNumber,
- Language,
- PageNumber,
- RubNumber,
- TranslationField,
- Verse,
- VerseField,
- VerseKey,
- WordField,
-} from '../../types';
-import humps from 'humps';
-import Utils from '../utils';
-import { fetcher, mergeApiOptions } from './_fetcher';
-import { BaseApiOptions } from '../../types/BaseApiOptions';
-
-const { decamelize } = humps;
-
-type GetVerseOptions = Partial<
- BaseApiOptions & {
- reciter: string | number;
- words: boolean;
- translations: string[] | number[];
- tafsirs: string[] | number[];
- wordFields: Partial>;
- translationFields: Partial>;
- fields: Partial>;
- page: number;
- perPage: number;
- }
->;
-
-const defaultOptions: GetVerseOptions = {
- language: Language.ARABIC,
- perPage: 50,
- words: false,
-};
-
-const mergeVerseOptions = (options: GetVerseOptions = {}) => {
- const result = mergeApiOptions(options, defaultOptions);
-
- // @ts-expect-error - we accept an array of strings, however, the API expects a comma separated string
- if (result.translations) result.translations = result.translations.join(',');
-
- // @ts-expect-error - we accept an array of strings, however, the API expects a comma separated string
- if (result.tafsirs) result.tafsirs = result.tafsirs.join(',');
-
- if (result.wordFields) {
- const wordFields: string[] = [];
- Object.entries(result.wordFields).forEach(([key, value]) => {
- if (value) wordFields.push(decamelize(key));
- });
- result.wordFields = wordFields.join(',');
- }
-
- if (result.translationFields) {
- const translationFields: string[] = [];
- Object.entries(result.translationFields).forEach(([key, value]) => {
- if (value) translationFields.push(decamelize(key));
- });
- result.translationFields = translationFields.join(',');
- }
-
- // rename `reciter` to `audio` because the API expects `audio`
- if (result.reciter) {
- result.audio = result.reciter;
- result.reciter = undefined;
- }
-
- return result;
-};
-
-/**
- * Get a specific ayah with key. Key is combination of surah number and ayah number.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-verse-key
- * @param {VerseKey} key - surah number and ayah number separated by a colon.
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByKey('1:1')
- * quran.v4.verses.findByKey('101:5')
- */
-const findByKey = async (key: VerseKey, options?: GetVerseOptions) => {
- if (!Utils.isValidVerseKey(key)) throw new Error('Invalid verse key');
- const params = mergeVerseOptions(options);
- const url = `/verses/by_key/${key}`;
- const { verse } = await fetcher<{ verse: Verse }>(
- url,
- params,
- options?.fetchFn
- );
-
- return verse;
-};
-
-/**
- * Get all ayahs for a specific chapter (surah).
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-chapter-number
- * @param {ChapterId} id - chapter id (surah number)
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByChapter('1')
- * quran.v4.verses.findByChapter('101')
- */
-const findByChapter = async (id: ChapterId, options?: GetVerseOptions) => {
- if (!Utils.isValidChapterId(id)) throw new Error('Invalid chapter id');
- const params = mergeVerseOptions(options);
- const url = `/verses/by_chapter/${id}`;
- const { verses } = await fetcher<{ verses: Verse[] }>(
- url,
- params,
- options?.fetchFn
- );
-
- return verses;
-};
-
-/**
- * Get all ayahs for a specific page in the Quran.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-page-number
- * @param {PageNumber} page - Quran page number
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByPage('1')
- * quran.v4.verses.findByPage('101')
- */
-const findByPage = async (page: PageNumber, options?: GetVerseOptions) => {
- if (!Utils.isValidQuranPage(page)) throw new Error('Invalid page');
-
- const params = mergeVerseOptions(options);
- const url = `/verses/by_page/${page}`;
- const { verses } = await fetcher<{ verses: Verse[] }>(
- url,
- params,
- options?.fetchFn
- );
-
- return verses;
-};
-
-/**
- * Get all ayahs for a Juz.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-juz-number
- * @param {JuzNumber} juz - juz number
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByJuz('1')
- * quran.v4.verses.findByJuz('29')
- */
-const findByJuz = async (juz: JuzNumber, options?: GetVerseOptions) => {
- if (!Utils.isValidJuz(juz)) throw new Error('Invalid juz');
-
- const params = mergeVerseOptions(options);
- const url = `/verses/by_juz/${juz}`;
- const { verses } = await fetcher<{ verses: Verse[] }>(
- url,
- params,
- options?.fetchFn
- );
-
- return verses;
-};
-
-/**
- * Get all ayahs for a Hizb.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-hizb-number
- * @param {HizbNumber} hizb - hizb number
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByHizb('1')
- * quran.v4.verses.findByHizb('29')
- */
-const findByHizb = async (hizb: HizbNumber, options?: GetVerseOptions) => {
- if (!Utils.isValidHizb(hizb)) throw new Error('Invalid hizb');
-
- const params = mergeVerseOptions(options);
- const url = `/verses/by_hizb/${hizb}`;
- const { verses } = await fetcher<{ verses: Verse[] }>(
- url,
- params,
- options?.fetchFn
- );
-
- return verses;
-};
-
-/**
- * Get all ayahs for a Rub.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/verses-by-rub-el-hizb-number
- * @param {RubNumber} rub - rub number
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findByRub('1')
- * quran.v4.verses.findByRub('29')
- */
-const findByRub = async (rub: RubNumber, options?: GetVerseOptions) => {
- if (!Utils.isValidRub(rub)) throw new Error('Invalid rub');
-
- const params = mergeVerseOptions(options);
- const { verses } = await fetcher<{ verses: Verse[] }>(
- `/verses/by_rub/${rub}`,
- params,
- options?.fetchFn
- );
-
- return verses;
-};
-
-/**
- * Get a random ayah.
- * @description https://api-docs.quran.com/docs/quran.com_versioned/4.0.0/random-verse
- * @param {GetVerseOptions} options
- * @example
- * quran.v4.verses.findRandom()
- */
-const findRandom = async (options?: GetVerseOptions) => {
- const params = mergeVerseOptions(options);
- const { verse } = await fetcher<{ verse: Verse }>(
- '/verses/random',
- params,
- options?.fetchFn
- );
-
- return verse;
-};
-
-const verses = {
- findByKey,
- findByChapter,
- findByPage,
- findByJuz,
- findByHizb,
- findByRub,
- findRandom,
-};
-
-export default verses;
diff --git a/src/types/BaseApiOptions.ts b/src/types/BaseApiOptions.ts
deleted file mode 100644
index 0d7ff7a..0000000
--- a/src/types/BaseApiOptions.ts
+++ /dev/null
@@ -1,6 +0,0 @@
-import { FetchFn, Language } from '.';
-
-export interface BaseApiOptions {
- language: Language;
- fetchFn?: FetchFn;
-}
diff --git a/src/types/ChapterId.ts b/src/types/ChapterId.ts
deleted file mode 100644
index 58aa526..0000000
--- a/src/types/ChapterId.ts
+++ /dev/null
@@ -1,4 +0,0 @@
-import { NumberRange, NumberUnionToString } from './utils';
-
-type _ChapterId = NumberRange<1, 115>;
-export type ChapterId = _ChapterId | NumberUnionToString<_ChapterId>;
diff --git a/src/types/FetchFn.ts b/src/types/FetchFn.ts
deleted file mode 100644
index d1ab6c8..0000000
--- a/src/types/FetchFn.ts
+++ /dev/null
@@ -1 +0,0 @@
-export type FetchFn = (url: string) => Promise>;
diff --git a/src/types/VerseKey.ts b/src/types/VerseKey.ts
deleted file mode 100644
index 1ceec40..0000000
--- a/src/types/VerseKey.ts
+++ /dev/null
@@ -1,117 +0,0 @@
-import { NumberRange } from './utils';
-
-export type VerseKey =
- | `1:${NumberRange<1, 8>}`
- | `2:${NumberRange<1, 287>}`
- | `3:${NumberRange<1, 201>}`
- | `4:${NumberRange<1, 177>}`
- | `5:${NumberRange<1, 121>}`
- | `6:${NumberRange<1, 166>}`
- | `7:${NumberRange<1, 207>}`
- | `8:${NumberRange<1, 76>}`
- | `9:${NumberRange<1, 130>}`
- | `10:${NumberRange<1, 110>}`
- | `11:${NumberRange<1, 124>}`
- | `12:${NumberRange<1, 112>}`
- | `13:${NumberRange<1, 44>}`
- | `14:${NumberRange<1, 53>}`
- | `15:${NumberRange<1, 100>}`
- | `16:${NumberRange<1, 129>}`
- | `17:${NumberRange<1, 112>}`
- | `18:${NumberRange<1, 111>}`
- | `19:${NumberRange<1, 99>}`
- | `20:${NumberRange<1, 136>}`
- | `21:${NumberRange<1, 113>}`
- | `22:${NumberRange<1, 79>}`
- | `23:${NumberRange<1, 119>}`
- | `24:${NumberRange<1, 65>}`
- | `25:${NumberRange<1, 78>}`
- | `26:${NumberRange<1, 228>}`
- | `27:${NumberRange<1, 94>}`
- | `28:${NumberRange<1, 89>}`
- | `29:${NumberRange<1, 70>}`
- | `30:${NumberRange<1, 61>}`
- | `31:${NumberRange<1, 35>}`
- | `32:${NumberRange<1, 31>}`
- | `33:${NumberRange<1, 74>}`
- | `34:${NumberRange<1, 55>}`
- | `35:${NumberRange<1, 46>}`
- | `36:${NumberRange<1, 84>}`
- | `37:${NumberRange<1, 183>}`
- | `38:${NumberRange<1, 89>}`
- | `39:${NumberRange<1, 76>}`
- | `40:${NumberRange<1, 86>}`
- | `41:${NumberRange<1, 55>}`
- | `42:${NumberRange<1, 54>}`
- | `43:${NumberRange<1, 90>}`
- | `44:${NumberRange<1, 60>}`
- | `45:${NumberRange<1, 38>}`
- | `46:${NumberRange<1, 36>}`
- | `47:${NumberRange<1, 39>}`
- | `48:${NumberRange<1, 30>}`
- | `49:${NumberRange<1, 19>}`
- | `50:${NumberRange<1, 46>}`
- | `51:${NumberRange<1, 61>}`
- | `52:${NumberRange<1, 50>}`
- | `53:${NumberRange<1, 63>}`
- | `54:${NumberRange<1, 56>}`
- | `55:${NumberRange<1, 79>}`
- | `56:${NumberRange<1, 97>}`
- | `57:${NumberRange<1, 30>}`
- | `58:${NumberRange<1, 23>}`
- | `59:${NumberRange<1, 25>}`
- | `60:${NumberRange<1, 14>}`
- | `61:${NumberRange<1, 15>}`
- | `62:${NumberRange<1, 12>}`
- | `63:${NumberRange<1, 12>}`
- | `64:${NumberRange<1, 19>}`
- | `65:${NumberRange<1, 13>}`
- | `66:${NumberRange<1, 13>}`
- | `67:${NumberRange<1, 31>}`
- | `68:${NumberRange<1, 53>}`
- | `69:${NumberRange<1, 53>}`
- | `70:${NumberRange<1, 45>}`
- | `71:${NumberRange<1, 29>}`
- | `72:${NumberRange<1, 29>}`
- | `73:${NumberRange<1, 21>}`
- | `74:${NumberRange<1, 57>}`
- | `75:${NumberRange<1, 41>}`
- | `76:${NumberRange<1, 32>}`
- | `77:${NumberRange<1, 51>}`
- | `78:${NumberRange<1, 41>}`
- | `79:${NumberRange<1, 47>}`
- | `80:${NumberRange<1, 43>}`
- | `81:${NumberRange<1, 30>}`
- | `82:${NumberRange<1, 20>}`
- | `83:${NumberRange<1, 37>}`
- | `84:${NumberRange<1, 26>}`
- | `85:${NumberRange<1, 23>}`
- | `86:${NumberRange<1, 18>}`
- | `87:${NumberRange<1, 20>}`
- | `88:${NumberRange<1, 27>}`
- | `89:${NumberRange<1, 31>}`
- | `90:${NumberRange<1, 21>}`
- | `91:${NumberRange<1, 16>}`
- | `92:${NumberRange<1, 22>}`
- | `93:${NumberRange<1, 12>}`
- | `94:${NumberRange<1, 9>}`
- | `95:${NumberRange<1, 9>}`
- | `96:${NumberRange<1, 20>}`
- | `97:${NumberRange<1, 6>}`
- | `98:${NumberRange<1, 9>}`
- | `99:${NumberRange<1, 9>}`
- | `100:${NumberRange<1, 12>}`
- | `101:${NumberRange<1, 12>}`
- | `102:${NumberRange<1, 9>}`
- | `103:${NumberRange<1, 4>}`
- | `104:${NumberRange<1, 10>}`
- | `105:${NumberRange<1, 6>}`
- | `106:${NumberRange<1, 5>}`
- | `107:${NumberRange<1, 8>}`
- | `108:${NumberRange<1, 4>}`
- | `109:${NumberRange<1, 7>}`
- | `110:${NumberRange<1, 4>}`
- | `111:${NumberRange<1, 6>}`
- | `112:${NumberRange<1, 5>}`
- | `113:${NumberRange<1, 6>}`
- | `114:${NumberRange<1, 7>}`;
diff --git a/src/types/index.ts b/src/types/index.ts
deleted file mode 100644
index c8ad982..0000000
--- a/src/types/index.ts
+++ /dev/null
@@ -1,137 +0,0 @@
-export enum Language {
- ARABIC = 'ar',
- ENGLISH = 'en',
- URDU = 'ur',
- BENGALI = 'bn',
- TURKISH = 'tr',
- SPANISH = 'es',
- GERMAN = 'de',
- BOSNIAN = 'bs',
- RUSSIAN = 'ru',
- ALBANIAN_AL = 'al',
- FRENCH = 'fr',
- DUTCH = 'nl',
- TAMIL = 'ta',
- TAJIK = 'tg',
- INDONESIAN = 'id',
- UZBEK = 'uz',
- VIETNAMESE = 'vi',
- CHINESE = 'zh',
- ITALIAN = 'it',
- JAPANESE = 'ja',
- MALAYALAM = 'ml',
- AMHARIC = 'am',
- KAZAKH = 'kk',
- PORTUGUESE = 'pt',
- TAGALOG = 'tl',
- THAI = 'th',
- KOREAN = 'ko',
- HINDI = 'hi',
- KURDISH = 'ku',
- HAUSA = 'ha',
- AZERI = 'az',
- SWAHILI = 'sw',
- PERSIAN = 'fa',
- SERBIAN = 'sr',
- MARANAO = 'mrn',
- AMAZIGH = 'zgh',
- ASSAMESE = 'as',
- BULGARIAN = 'bg',
- CHECHEN = 'ce',
- CZECH = 'cs',
-
- DIVEHI = 'dv',
- DHIVEHI = 'dv',
- MALDIVIAN = 'dv',
-
- FINNISH = 'fi',
- GUJAARATI = 'gu',
- HEBREW = 'he',
- GEORGIAN = 'ka',
- CENTRAL_KHMER = 'km',
- GANDA = 'lg',
- MARATHI = 'mr',
- YORUBA = 'yo',
- MALAY = 'ms',
- NEPALI = 'ne',
- SWEDISH = 'sv',
- TELUGU = 'te',
- TATAR = 'tt',
-
- UIGHUR = 'ug',
- UYGHUR = 'ug',
-
- UKRAINIAN = 'uk',
- NORWEGIAN = 'no',
- OROMO = 'om',
- POLISH = 'pl',
- PASHTO = 'ps',
- ROMANIAN = 'ro',
- SINDHI = 'sd',
- NORTHERN_SAMI = 'se',
-
- SINHALA = 'si',
- SINHALESE = 'si',
-
- SOMALI = 'so',
- ALBANIAN_SQ = 'sq',
-}
-
-export enum QuranFont {
- MadaniV1 = 'code_v1',
- MadaniV2 = 'code_v2',
- Uthmani = 'text_uthmani',
-}
-
-export type VerseField =
- | 'chapterId'
- | 'textUthmani'
- | 'textUthmaniSimple'
- | 'textImlaei'
- | 'textImlaeiSimple'
- | 'textIndopak'
- | 'textIndopakNastaleeq'
- | 'textUthmaniTajweed'
- | 'imageUrl'
- | 'imageWidth'
- | 'codeV1'
- | 'codeV2'
- | 'v1Page'
- | 'v2Page';
-
-export type WordField =
- | 'v1Page'
- | 'v2Page'
- | 'textUthmani'
- | 'textImlaei'
- | 'textIndopak'
- | 'verseKey'
- | 'location'
- | 'codeV1'
- | 'codeV2';
-
-export type TranslationField =
- | 'resourceName'
- | 'verseId'
- | 'languageId'
- | 'languageName'
- | 'verseKey'
- | 'chapterId'
- | 'verseNumber'
- | 'juzNumber'
- | 'hizbNumber'
- | 'rubNumber'
- | 'pageNumber';
-
-export type VerseRecitationField = 'id' | 'chapterId' | 'segments' | 'format';
-
-export * from './VerseKey';
-export * from './ChapterId';
-export * from './HizbNumber';
-export * from './JuzNumber';
-export * from './PageNumber';
-export * from './RubNumber';
-
-export * from './api';
-
-export * from './FetchFn';
diff --git a/src/types/utils.ts b/src/types/utils.ts
deleted file mode 100644
index 1cf0528..0000000
--- a/src/types/utils.ts
+++ /dev/null
@@ -1,24 +0,0 @@
-type _NumbersFrom0ToN = Nr extends Nr
- ? number extends Nr
- ? number
- : Nr extends 0
- ? never
- : _NumbersFrom0ToNRec
- : never;
-
-type _NumbersFrom0ToNRec<
- Nr extends number,
- Counter extends any[],
- Accumulator extends number
-> = Counter['length'] extends Nr
- ? Accumulator
- : _NumbersFrom0ToNRec;
-
-export type NumberRange = Exclude<
- _NumbersFrom0ToN,
- _NumbersFrom0ToN
->;
-
-export type NumberUnionToString = TType extends number
- ? `${TType}`
- : TType;
diff --git a/src/utils/misc.ts b/src/utils/misc.ts
deleted file mode 100644
index f68039d..0000000
--- a/src/utils/misc.ts
+++ /dev/null
@@ -1,3 +0,0 @@
-export const removeBeginningSlash = (url: string) => {
- return url.startsWith('/') ? url.slice(1) : url;
-};
diff --git a/test/audio.test.ts b/test/audio.test.ts
deleted file mode 100644
index d2d7c26..0000000
--- a/test/audio.test.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { createApiTest } from './utils';
-
-const recitation = '2'; // abdulbaset abdulsamad
-
-createApiTest('audio', {
- findAllChapterRecitations: {},
- findChapterRecitationById: {
- params: ['1', recitation], // chapterId, reciterId
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByChapter: {
- params: ['1', recitation],
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByHizb: {
- params: ['1', recitation],
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByJuz: {
- params: ['1', recitation],
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByKey: {
- params: ['1:1', recitation],
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByPage: {
- params: ['1', recitation],
- rejectParams: ['0' as any, '0'],
- },
- findVerseRecitationsByRub: {
- params: ['1', recitation],
- rejectParams: ['0' as any, '0'],
- },
-});
diff --git a/test/chapters.test.ts b/test/chapters.test.ts
deleted file mode 100644
index d8f8cf3..0000000
--- a/test/chapters.test.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-import { createApiTest } from './utils';
-
-createApiTest('chapters', {
- findAll: {},
- findById: {
- params: ['1'],
- rejectParams: ['0' as any],
- },
- findInfoById: {
- params: ['1'],
- rejectParams: ['0' as any],
- },
-});
diff --git a/test/fetchFn.test.ts b/test/fetchFn.test.ts
deleted file mode 100644
index b57ba1b..0000000
--- a/test/fetchFn.test.ts
+++ /dev/null
@@ -1,27 +0,0 @@
-import { describe, expect, it } from 'vitest';
-import fetch from 'cross-fetch';
-import { quran } from '../src';
-
-describe('Custom fetcher', () => {
- it('should fail with no fetch', () => {
- // @ts-expect-error - we are testing this
- globalThis.fetch = undefined;
-
- expect(() => quran.v4.chapters.findAll()).rejects.toThrowError(
- /global fetch/
- );
- });
-
- it('should not fail if you pass a fetchFn', () => {
- // @ts-expect-error - we are testing this
- globalThis.fetch = undefined;
-
- expect(
- quran.v4.chapters.findById('1', {
- fetchFn: (url) => {
- return fetch(url).then((res) => res.json());
- },
- })
- ).resolves.not.toThrow();
- });
-});
diff --git a/test/juzs.test.ts b/test/juzs.test.ts
deleted file mode 100644
index 094f3d4..0000000
--- a/test/juzs.test.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import { createApiTest } from './utils';
-
-createApiTest('juzs', {
- findAll: {},
-});
diff --git a/test/resources.test.ts b/test/resources.test.ts
deleted file mode 100644
index 1d4a99b..0000000
--- a/test/resources.test.ts
+++ /dev/null
@@ -1,26 +0,0 @@
-import { createApiTest } from './utils';
-
-createApiTest('resources', {
- findAllChapterInfos: {},
- findAllChapterReciters: {},
- findAllLanguages: {},
- findAllRecitationStyles: {
- // we did that because method name contains `All`, but the response isn't an array
- expect: {
- array: false,
- },
- },
- findAllRecitations: {},
- findAllTafsirs: {},
- findAllTranslations: {},
- findVerseMedia: {},
- findRecitationInfo: {
- params: ['1'],
- },
- findTranslationInfo: {
- params: ['1'],
- },
- findTafsirInfo: {
- params: ['169'],
- },
-});
diff --git a/test/tsconfig.json b/test/tsconfig.json
deleted file mode 100644
index b2e01ee..0000000
--- a/test/tsconfig.json
+++ /dev/null
@@ -1,7 +0,0 @@
-{
- "extends": "../tsconfig.json",
- "include": ["./**/*"],
- "compilerOptions": {
- "rootDir": "../"
- }
-}
diff --git a/test/utils.ts b/test/utils.ts
deleted file mode 100644
index 6f093af..0000000
--- a/test/utils.ts
+++ /dev/null
@@ -1,114 +0,0 @@
-import { describe, it, expect } from 'vitest';
-import { quran } from '../src/index';
-
-type Fn = (...args: any[]) => any;
-type ApiName = keyof typeof quran['v4'];
-type ArgumentTypes = F extends (...args: infer A) => any
- ? A
- : never;
-
-type ApiFunctionParams<
- T extends ApiName,
- Func extends keyof typeof quran['v4'][T]
-> = ArgumentTypes<
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
- // @ts-ignore
- typeof quran['v4'][T][Func]
->;
-
-// type ApiFunctionReturn<
-// T extends ApiName,
-// Func extends keyof typeof quran['v4'][T]
-// > = ReturnType<
-// // @ts-ignore
-// typeof quran['v4'][T][Func]
-// >;
-
-type Params = {
- [FunctionName in keyof typeof quran['v4'][T]]:
- | ApiFunctionParams
- | {
- expect?: { array?: boolean };
- params?: ApiFunctionParams | boolean;
- rejectParams?: ApiFunctionParams;
- cases?:
- | ApiFunctionParams[]
- | Record>;
- customCases?: (method: typeof quran['v4'][T][FunctionName]) => void;
- };
-};
-
-const isObject = (obj: any) =>
- obj && typeof obj === 'object' && !Array.isArray(obj);
-
-export const createApiTest = (
- key: T,
- params: Params = {} as any
-) => {
- const title = key[0].toUpperCase() + key.slice(1);
- const api = quran.v4[key];
-
- return describe(`${title} API`, () => {
- Object.keys(api).forEach((functionKey) => {
- const method = (api as any)[functionKey as ApiName] as Fn;
- const options = (params as any)[functionKey] || {};
-
- let args: any[] | undefined = [];
- if (Array.isArray(options)) args = options;
- else if (Array.isArray(options.params)) args = options.params;
- else if (options.params === false) args = undefined;
-
- const rejectArgs = options.rejectParams || [];
- const cases = options.cases || [];
- const expectOptions = options.expect || {};
- const customCases = options.customCases || null;
-
- const expectArray =
- (functionKey.includes('All') && expectOptions.array !== false) ||
- expectOptions.array === true;
-
- describe(`${functionKey}()`, () => {
- if (args !== undefined) {
- it(`should return response`, async () => {
- const response = await method(...(args as any[]));
- if (expectArray) expect(response).toBeInstanceOf(Array);
- expect(response).toBeDefined();
- });
- }
-
- if (rejectArgs.length) {
- it(`should throw with invalid params`, async () => {
- await expect(method(...rejectArgs)).rejects.toThrowError();
- });
- }
-
- if (cases) {
- if (Array.isArray(cases) && cases.length)
- cases.forEach((caseArgs, idx) => {
- it(`case ${idx}`, async () => {
- const response = await method(...caseArgs);
- if (expectArray) expect(response).toBeInstanceOf(Array);
- expect(response).toBeDefined();
- });
- });
-
- if (isObject(cases)) {
- Object.keys(cases).forEach((caseKey) => {
- it(caseKey, async () => {
- const response = await method(...cases[caseKey]);
- if (expectArray) expect(response).toBeInstanceOf(Array);
- expect(response).toBeDefined();
- });
- });
- }
- }
-
- if (customCases) {
- describe('Custom Cases', () => {
- customCases(method);
- });
- }
- });
- });
- });
-};
diff --git a/test/verses.test.ts b/test/verses.test.ts
deleted file mode 100644
index 0390bbe..0000000
--- a/test/verses.test.ts
+++ /dev/null
@@ -1,69 +0,0 @@
-import { expect, it, vi } from 'vitest';
-import { createApiTest } from './utils';
-import * as internalFetcher from '../src/sdk/v4/_fetcher';
-
-createApiTest('verses', {
- findByChapter: {
- expect: {
- array: true,
- },
- params: ['1'],
- rejectParams: ['0' as any],
- customCases: (method) => {
- it('should return indopak_nastaleeq text', async () => {
- const fetcherSpy = vi.spyOn(internalFetcher, 'fetcher');
-
- const response = await method(1, {
- fields: { textIndopakNastaleeq: true },
- });
-
- const expectedIndopakNastaleeqText =
- 'بِسْمِ اللّٰهِ الرَّحْمٰنِ الرَّحِیْمِ ۟';
-
- expect(fetcherSpy).toHaveBeenCalledWith(
- '/verses/by_chapter/1',
- {
- language: 'ar',
- perPage: 50,
- words: false,
- fields: 'text_indopak_nastaleeq',
- },
- undefined
- );
- expect(response[0].textIndopakNastaleeq).toBe(
- expectedIndopakNastaleeqText
- );
- });
- },
- },
- findByJuz: {
- expect: {
- array: true,
- },
- params: ['1'],
- rejectParams: ['0' as any],
- },
- findByKey: {
- params: ['1:1'],
- rejectParams: ['0:0' as any],
- },
- findByPage: {
- expect: {
- array: true,
- },
- params: ['1'],
- rejectParams: ['0' as any],
- },
- findRandom: {},
- findByHizb: {
- expect: {
- array: true,
- },
- params: ['1'],
- rejectParams: ['0' as any],
- },
- findByRub: {
- params: ['1'],
- rejectParams: ['0' as any],
- },
-});
diff --git a/tooling/eslint/base.js b/tooling/eslint/base.js
new file mode 100644
index 0000000..bff287f
--- /dev/null
+++ b/tooling/eslint/base.js
@@ -0,0 +1,85 @@
+///
+
+import * as path from "node:path";
+import { includeIgnoreFile } from "@eslint/compat";
+import eslint from "@eslint/js";
+import importPlugin from "eslint-plugin-import";
+import turboPlugin from "eslint-plugin-turbo";
+import tseslint from "typescript-eslint";
+
+/**
+ * All packages that leverage t3-env should use this rule
+ */
+export const restrictEnvAccess = tseslint.config(
+ { ignores: ["**/env.ts"] },
+ {
+ files: ["**/*.js", "**/*.ts", "**/*.tsx"],
+ rules: {
+ "no-restricted-properties": [
+ "error",
+ {
+ object: "process",
+ property: "env",
+ message:
+ "Use `import { env } from '@/env'` instead to ensure validated types.",
+ },
+ ],
+ "no-restricted-imports": [
+ "error",
+ {
+ name: "process",
+ importNames: ["env"],
+ message:
+ "Use `import { env } from '@/env'` instead to ensure validated types.",
+ },
+ ],
+ },
+ },
+);
+
+export default tseslint.config(
+ // Ignore files not tracked by VCS and any config files
+ includeIgnoreFile(path.join(import.meta.dirname, "../../.gitignore")),
+ { ignores: ["**/*.config.*"] },
+ {
+ files: ["**/*.js", "**/*.ts", "**/*.tsx"],
+ plugins: {
+ import: importPlugin,
+ turbo: turboPlugin,
+ },
+ extends: [
+ eslint.configs.recommended,
+ ...tseslint.configs.recommended,
+ ...tseslint.configs.recommendedTypeChecked,
+ ],
+ rules: {
+ ...turboPlugin.configs.recommended.rules,
+ "@typescript-eslint/no-unused-vars": [
+ "error",
+ { argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
+ ],
+ "@typescript-eslint/consistent-type-imports": [
+ "warn",
+ { prefer: "type-imports", fixStyle: "separate-type-imports" },
+ ],
+ "@typescript-eslint/no-misused-promises": [
+ 2,
+ { checksVoidReturn: { attributes: false } },
+ ],
+ "@typescript-eslint/no-unnecessary-condition": [
+ "error",
+ {
+ allowConstantLoopConditions: true,
+ },
+ ],
+ "@typescript-eslint/no-non-null-assertion": "off",
+ "@typescript-eslint/restrict-template-expressions": "off",
+ "@typescript-eslint/no-unsafe-assignment": "off",
+ "import/consistent-type-specifier-style": ["error", "prefer-top-level"],
+ },
+ },
+ {
+ linterOptions: { reportUnusedDisableDirectives: true },
+ languageOptions: { parserOptions: { projectService: true } },
+ },
+);
diff --git a/tooling/eslint/nextjs.js b/tooling/eslint/nextjs.js
new file mode 100644
index 0000000..8e60206
--- /dev/null
+++ b/tooling/eslint/nextjs.js
@@ -0,0 +1,18 @@
+// @ts-nocheck
+import nextPlugin from "@next/eslint-plugin-next";
+
+/** @type {Awaited} */
+export default [
+ {
+ files: ["**/*.ts", "**/*.tsx"],
+ plugins: {
+ "@next/next": nextPlugin,
+ },
+ rules: {
+ ...nextPlugin.configs.recommended.rules,
+ ...nextPlugin.configs["core-web-vitals"].rules,
+ // TypeError: context.getAncestors is not a function
+ "@next/next/no-duplicate-head": "off",
+ },
+ },
+];
diff --git a/tooling/eslint/package.json b/tooling/eslint/package.json
new file mode 100644
index 0000000..45e0e80
--- /dev/null
+++ b/tooling/eslint/package.json
@@ -0,0 +1,35 @@
+{
+ "name": "@quranjs/eslint-config",
+ "private": true,
+ "version": "0.3.0",
+ "type": "module",
+ "exports": {
+ "./base": "./base.js",
+ "./nextjs": "./nextjs.js",
+ "./react": "./react.js"
+ },
+ "scripts": {
+ "clean": "git clean -xdf .cache .turbo node_modules",
+ "format": "prettier --check . --ignore-path ../../.gitignore",
+ "typecheck": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@eslint/compat": "^1.2.5",
+ "@next/eslint-plugin-next": "^15.2.1",
+ "eslint-plugin-import": "^2.31.0",
+ "eslint-plugin-jsx-a11y": "^6.10.2",
+ "eslint-plugin-react": "^7.37.4",
+ "eslint-plugin-react-compiler": "beta",
+ "eslint-plugin-react-hooks": "^5.1.0",
+ "eslint-plugin-turbo": "^2.3.4",
+ "typescript-eslint": "^8.21.0"
+ },
+ "devDependencies": {
+ "@quranjs/prettier-config": "workspace:*",
+ "@quranjs/tsconfig": "workspace:*",
+ "eslint": "catalog:",
+ "prettier": "catalog:",
+ "typescript": "catalog:"
+ },
+ "prettier": "@quranjs/prettier-config"
+}
diff --git a/tooling/eslint/react.js b/tooling/eslint/react.js
new file mode 100644
index 0000000..e010450
--- /dev/null
+++ b/tooling/eslint/react.js
@@ -0,0 +1,25 @@
+import reactPlugin from "eslint-plugin-react";
+import compilerPlugin from "eslint-plugin-react-compiler";
+import hooksPlugin from "eslint-plugin-react-hooks";
+
+/** @type {Awaited} */
+export default [
+ {
+ files: ["**/*.ts", "**/*.tsx"],
+ plugins: {
+ react: reactPlugin,
+ "react-compiler": compilerPlugin,
+ "react-hooks": hooksPlugin,
+ },
+ rules: {
+ ...reactPlugin.configs["jsx-runtime"].rules,
+ ...hooksPlugin.configs.recommended.rules,
+ "react-compiler/react-compiler": "error",
+ },
+ languageOptions: {
+ globals: {
+ React: "writable",
+ },
+ },
+ },
+];
diff --git a/tooling/eslint/tsconfig.json b/tooling/eslint/tsconfig.json
new file mode 100644
index 0000000..39938f2
--- /dev/null
+++ b/tooling/eslint/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "extends": "@quranjs/tsconfig/base.json",
+ "include": ["."],
+ "exclude": ["node_modules"]
+}
diff --git a/tooling/eslint/types.d.ts b/tooling/eslint/types.d.ts
new file mode 100644
index 0000000..a138aac
--- /dev/null
+++ b/tooling/eslint/types.d.ts
@@ -0,0 +1 @@
+declare module "eslint-plugin-import";
diff --git a/tooling/prettier/index.js b/tooling/prettier/index.js
new file mode 100644
index 0000000..95d1d6c
--- /dev/null
+++ b/tooling/prettier/index.js
@@ -0,0 +1,49 @@
+import { fileURLToPath } from "node:url";
+
+/** @typedef {import("prettier").Config} PrettierConfig */
+/** @typedef {import("prettier-plugin-tailwindcss").PluginOptions} TailwindConfig */
+/** @typedef {import("@ianvs/prettier-plugin-sort-imports").PluginConfig} SortImportsConfig */
+
+/** @type { PrettierConfig | SortImportsConfig | TailwindConfig } */
+const config = {
+ plugins: [
+ "@ianvs/prettier-plugin-sort-imports",
+ "prettier-plugin-tailwindcss",
+ ],
+ tailwindConfig: fileURLToPath(
+ new URL("../../tooling/tailwind/web.ts", import.meta.url),
+ ),
+ tailwindFunctions: ["cn", "cva"],
+ importOrder: [
+ "",
+ "^(react/(.*)$)|^(react$)",
+ "^(next/(.*)$)|^(next$)",
+ "",
+ "",
+ "^@quranjs",
+ "^@quranjs/(.*)$",
+ "",
+ "^[.|..|~]",
+ "^~/",
+ "^[../]",
+ "^[./]",
+ ],
+ importOrderParserPlugins: ["typescript", "jsx", "decorators-legacy"],
+ importOrderTypeScriptVersion: "4.4.0",
+ overrides: [
+ {
+ files: "*.json.hbs",
+ options: {
+ parser: "json",
+ },
+ },
+ {
+ files: "*.js.hbs",
+ options: {
+ parser: "babel",
+ },
+ },
+ ],
+};
+
+export default config;
diff --git a/tooling/prettier/package.json b/tooling/prettier/package.json
new file mode 100644
index 0000000..19db859
--- /dev/null
+++ b/tooling/prettier/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "@quranjs/prettier-config",
+ "private": true,
+ "version": "0.1.0",
+ "type": "module",
+ "exports": {
+ ".": "./index.js"
+ },
+ "scripts": {
+ "clean": "git clean -xdf .cache .turbo node_modules",
+ "format": "prettier --check . --ignore-path ../../.gitignore",
+ "typecheck": "tsc --noEmit"
+ },
+ "dependencies": {
+ "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
+ "prettier": "catalog:",
+ "prettier-plugin-tailwindcss": "^0.6.11"
+ },
+ "devDependencies": {
+ "@quranjs/tsconfig": "workspace:*",
+ "@types/node": "^24.2.0",
+ "typescript": "catalog:"
+ },
+ "prettier": "@quranjs/prettier-config"
+}
diff --git a/tooling/prettier/tsconfig.json b/tooling/prettier/tsconfig.json
new file mode 100644
index 0000000..d96e3e1
--- /dev/null
+++ b/tooling/prettier/tsconfig.json
@@ -0,0 +1,5 @@
+{
+ "extends": "@quranjs/tsconfig/base.json",
+ "include": ["."],
+ "exclude": ["node_modules"]
+}
\ No newline at end of file
diff --git a/tooling/typescript/base.json b/tooling/typescript/base.json
new file mode 100644
index 0000000..0b38e0d
--- /dev/null
+++ b/tooling/typescript/base.json
@@ -0,0 +1,34 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "compilerOptions": {
+ /** Base Options */
+ "esModuleInterop": true,
+ "skipLibCheck": true,
+ "target": "ES2022",
+ "lib": [
+ "ES2022"
+ ],
+ "allowJs": true,
+ "resolveJsonModule": true,
+ "moduleDetection": "force",
+ "isolatedModules": true,
+ /** Keep TSC performant in monorepos */
+ "incremental": true,
+ "disableSourceOfProjectReferenceRedirect": true,
+ "tsBuildInfoFile": "${configDir}/.cache/tsbuildinfo.json",
+ /** Strictness */
+ "strict": true,
+ "noUncheckedIndexedAccess": true,
+ "checkJs": true,
+ /** Transpile using Bundler (not tsc) */
+ "module": "Preserve",
+ "moduleResolution": "Bundler",
+ "noEmit": true
+ },
+ "exclude": [
+ "node_modules",
+ "build",
+ "dist",
+ ".next"
+ ]
+}
\ No newline at end of file
diff --git a/tooling/typescript/internal-package.json b/tooling/typescript/internal-package.json
new file mode 100644
index 0000000..8e05da2
--- /dev/null
+++ b/tooling/typescript/internal-package.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://json.schemastore.org/tsconfig",
+ "extends": "./base.json",
+ "compilerOptions": {
+ "declaration": true,
+ "declarationMap": true,
+ "emitDeclarationOnly": true,
+ "noEmit": false,
+ "outDir": "${configDir}/dist"
+ }
+}
\ No newline at end of file
diff --git a/tooling/typescript/package.json b/tooling/typescript/package.json
new file mode 100644
index 0000000..571a908
--- /dev/null
+++ b/tooling/typescript/package.json
@@ -0,0 +1,8 @@
+{
+ "name": "@quranjs/tsconfig",
+ "private": true,
+ "version": "0.1.0",
+ "files": [
+ "*.json"
+ ]
+}
\ No newline at end of file
diff --git a/tsconfig.json b/tsconfig.json
deleted file mode 100644
index 51dd033..0000000
--- a/tsconfig.json
+++ /dev/null
@@ -1,23 +0,0 @@
-{
- // see https://www.typescriptlang.org/tsconfig to better understand tsconfigs
- "include": ["src", "types"],
- "compilerOptions": {
- "module": "esnext",
- "lib": ["dom", "esnext"],
- "importHelpers": true,
- "declaration": true,
- "sourceMap": true,
- "rootDir": "./src",
- "strict": true,
- "noImplicitReturns": true,
- "noFallthroughCasesInSwitch": true,
- "noUnusedLocals": true,
- "noUnusedParameters": true,
- "moduleResolution": "node",
- "jsx": "react",
- "esModuleInterop": true,
- "skipLibCheck": true,
- "forceConsistentCasingInFileNames": true,
- "noEmit": true
- }
-}
diff --git a/tsup.config.ts b/tsup.config.ts
deleted file mode 100644
index 3c49e21..0000000
--- a/tsup.config.ts
+++ /dev/null
@@ -1,103 +0,0 @@
-import { defineConfig, Format, type Options } from 'tsup';
-import { createUmdWrapper } from './umd-wrapper-plugin.mjs';
-import { dependencies } from './package.json';
-
-const externalDependencies = Object.keys(dependencies);
-
-const clientName = 'quranjsApi';
-const clientVersion = `{{VERSION_TO_REPLACE}}`;
-
-const baseConfig: Options = {
- entry: ['src/index.ts'],
- outDir: 'dist',
- outExtension({ format, options }) {
- const ext = format === 'esm' ? 'mjs' : 'js';
- const finalFormat = format === 'cjs' || format === 'esm' ? '' : format;
-
- const outputExtension = options.minify
- ? `${finalFormat}.min.${ext}`
- : `${finalFormat}.${ext}`;
-
- return {
- js: outputExtension.startsWith('.')
- ? outputExtension
- : `.${outputExtension}`,
- };
- },
- treeshake: true,
- splitting: false,
- sourcemap: true,
- clean: true,
- dts: true,
-};
-
-const umdConfig: Options = {
- ...baseConfig,
- platform: 'browser',
- target: ['chrome90', 'edge90', 'firefox90', 'opera98', 'safari15'],
- format: ['umd' as Format],
- noExternal: externalDependencies,
- banner: { js: `/* @QuranJS/API version ${clientVersion} */\n` },
- define: {
- __VERSION__: `'${clientVersion}'`,
- },
- name: '@quranjs/api',
- globalName: clientName,
- bundle: true,
- esbuildPlugins: [],
-};
-
-// export default defineConfig((options) => [
-// {
-// entry: ['src/index.ts'],
-// format: ['esm', 'cjs'],
-// splitting: false,
-// sourcemap: true,
-// clean: true,
-// dts: true,
-// treeshake: true,
-// minify: !options.watch,
-// },
-// {
-// // Configuration for CDNs
-// entry: ['src/index.ts'],
-// format: 'iife', // For CDNs (IIFE format for browsers)
-// globalName: 'quran', // Global variable for browser use
-// outDir: 'dist/umd',
-// splitting: false,
-// sourcemap: false,
-// clean: true,
-// dts: true,
-// treeshake: true,
-// minify: !options.watch,
-// },
-// ]);
-
-export default defineConfig((options) => [
- {
- ...baseConfig,
- format: ['cjs', 'esm'],
- minify: !options.watch,
- },
- {
- ...umdConfig,
- minify: false,
- plugins: [createUmdWrapper({ libraryName: clientName, external: [] })],
- },
- {
- ...umdConfig,
- minify: true,
- plugins: [createUmdWrapper({ libraryName: clientName, external: [] })],
- },
- // {
- // ...umdConfig,
- // minify: false,
- // target: 'es5',
- // outputExtension: {
- // js: `browser.js`,
- // },
- // esbuildPlugins: [
- // umdWrapper({ libraryName: clientName, external: 'inherit' }),
- // ],
- // },
-]);
diff --git a/turbo.json b/turbo.json
new file mode 100644
index 0000000..82ba7ed
--- /dev/null
+++ b/turbo.json
@@ -0,0 +1,71 @@
+{
+ "$schema": "https://turborepo.org/schema.json",
+ "ui": "tui",
+ "tasks": {
+ "topo": {
+ "dependsOn": [
+ "^topo"
+ ]
+ },
+ "build": {
+ "dependsOn": [
+ "^build"
+ ],
+ "outputs": [
+ ".cache/tsbuildinfo.json",
+ "dist/**"
+ ]
+ },
+ "dev": {
+ "dependsOn": [
+ "^dev"
+ ],
+ "cache": false,
+ "persistent": false
+ },
+ "format": {
+ "outputs": [
+ ".cache/.prettiercache"
+ ],
+ "outputLogs": "new-only"
+ },
+ "lint": {
+ "dependsOn": [
+ "^topo",
+ "^build"
+ ],
+ "outputs": [
+ ".cache/.eslintcache"
+ ]
+ },
+ "test": {
+ "dependsOn": [
+ "^topo"
+ ]
+ },
+ "typecheck": {
+ "dependsOn": [
+ "^topo",
+ "^build"
+ ],
+ "outputs": [
+ ".cache/tsbuildinfo.json"
+ ]
+ },
+ "clean": {
+ "cache": false
+ },
+ "//#clean": {
+ "cache": false
+ }
+ },
+ "globalEnv": [],
+ "globalPassThroughEnv": [
+ "NODE_ENV",
+ "CI",
+ "VERCEL",
+ "VERCEL_ENV",
+ "VERCEL_URL",
+ "npm_lifecycle_event"
+ ]
+}
\ No newline at end of file
diff --git a/umd-wrapper-plugin.mjs b/umd-wrapper-plugin.mjs
deleted file mode 100644
index b011e81..0000000
--- a/umd-wrapper-plugin.mjs
+++ /dev/null
@@ -1,180 +0,0 @@
-/* eslint-disable no-undef */
-import path from 'path';
-import fs from 'fs';
-
-/*
- Plugin is based on the `esbuild-plugin-umd-wrapper`, found at:
- https://github.com/inqnuam/esbuild-plugin-umd-wrapper
-*/
-
-// eslint-disable-next-line no-unused-vars
-const createWrapperWithLib = ({
- depsKeys,
- depsValKey,
- amdLoader,
- lib,
- defineDeps,
- globalDeps,
- requireDeps,
-}) => {
- return `(function (g, f) {
- if ("object" == typeof exports && "object" == typeof module) {
- module.exports = f(${requireDeps});
- } else if ("function" == typeof ${amdLoader} && ${amdLoader}.amd) {
- ${amdLoader}("${lib}", ${defineDeps}, f);
- } else if ("object" == typeof exports) {
- exports["${lib}"] = f(${requireDeps});
- } else {
- g["${lib}"] = {};
- Object.assign(g["${lib}"], f(${globalDeps}));
- }
- }(this, (${depsKeys}) => {
- var exports = {};
- var module = { exports };\n\n`;
-};
-
-export const alphabet = [
- '__da',
- '__db',
- '__dc',
- '__dd',
- '__de',
- '__df',
- '__dg',
- '__dh',
- '__di',
- '__dj',
- '__dk',
- '__dl',
- '__dm',
- '__dn',
- '__do',
- '__dp',
- '__dq',
- '__dr',
- '__ds',
- '__dt',
- '__du',
- '__dv',
- '__dw',
- '__dx',
- '__dy',
- '__dz',
-];
-
-function getUmdBanner(opts) {
- const external = opts.external ?? [];
- const defineDeps = external?.length ? `['${external.join("', '")}']` : '[]';
- const globalDeps = external?.map((x) => `g["${x}"]`).join(', ') ?? '';
- const requireDeps = external?.map((x) => `require('${x}')`).join(', ') ?? '';
- let deps = [];
- if (external) {
- deps = external.map((x, i) => {
- return {
- key: alphabet[i],
- val: x,
- };
- });
- }
- const depsKeys = deps.map((x) => x.key).join(', ');
- const depsValKey = deps.map((x) => `"${x.val}": ${x.key}`).join(', ');
- const options = {
- depsKeys,
- depsValKey,
- amdLoader: 'define',
- defineDeps,
- globalDeps,
- requireDeps,
- lib: opts.libraryName,
- };
- const result = createWrapperWithLib(options);
- return result;
-}
-
-export const umdFooter = `if (typeof module.exports == "object" && typeof exports == "object") {
- var __cp = (to, from, except, desc) => {
- if ((from && typeof from === "object") || typeof from === "function") {
- for (let key of Object.getOwnPropertyNames(from)) {
- if (!Object.prototype.hasOwnProperty.call(to, key) && key !== except)
- Object.defineProperty(to, key, {
- get: () => from[key],
- enumerable: !(desc = Object.getOwnPropertyDescriptor(from, key)) || desc.enumerable,
- });
- }
- }
- return to;
- };
- module.exports = __cp(module.exports, exports);
- }
- return module.exports;
- }))\n\n\n`;
-
-export const umdWrapperSetup = (build) => {
- const { initialOptions } = build;
- const external = initialOptions.external;
- const content = getUmdBanner(external);
- if (initialOptions.footer) {
- if (initialOptions.footer.js) {
- initialOptions.footer.js += umdFooter;
- } else {
- initialOptions.footer.js = umdFooter;
- }
- } else {
- initialOptions.footer = {
- js: umdFooter,
- };
- }
-
- if (initialOptions.banner) {
- if (initialOptions.banner.js) {
- initialOptions.banner.js += content;
- } else {
- initialOptions.banner.js = content;
- }
- } else {
- initialOptions.banner = {
- js: content,
- };
- }
-};
-
-export const createUmdWrapper = (opts) => {
- let pluginExternalDependencies = [];
-
- return {
- name: 'add-umd-wrapper',
- esbuildOptions(options) {
- options.format = 'cjs';
- pluginExternalDependencies = [];
- return options;
- },
- buildEnd(result) {
- try {
- result.writtenFiles.forEach((file) => {
- const filePath = path.join(process.cwd(), file.name);
- if (file.name.endsWith('.js')) {
- const fileName = path.basename(file.name);
- const umdBanner = getUmdBanner({
- ...opts,
- external: pluginExternalDependencies,
- });
-
- const content = fs.readFileSync(filePath, 'utf-8');
- const patchedFileContents = content.replace(
- `//# sourceMappingURL=${fileName}.map`,
- ''
- );
- const scriptContent = `\n\n\n${patchedFileContents}\n\n\n`;
- const wrappedContent = `${umdBanner}${scriptContent}${umdFooter}\n\n//# sourceMappingURL=${fileName}.map\n`;
- const newContent = `/* umd */\n${wrappedContent}`;
-
- fs.writeFileSync(filePath, newContent, 'utf8');
- }
- });
- } catch (err) {
- // eslint-disable-next-line no-console
- console.error(err);
- }
- },
- };
-};
diff --git a/vitest.config.ts b/vitest.config.ts
deleted file mode 100644
index ef3a9b0..0000000
--- a/vitest.config.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { defineConfig } from 'vitest/config';
-
-export default defineConfig({
- test: {
- environment: 'node',
- include: ['./test/**/*.test.{js,ts,jsx,tsx}'],
- setupFiles: ['./test/setup.ts'],
- },
-});