refactor(plugins): create Field objects per field type in settings forms + handle rendering in class

update manifest.schema.json to have defaultValue type differ based on field type
This commit is contained in:
Yassine Doghri 2024-12-23 15:35:47 +00:00
commit 34be5bccab
48 changed files with 3875 additions and 2553 deletions

View file

@ -19,6 +19,8 @@ class DropDeprecatedPodcastsFields extends BaseMigration
#[Override]
public function up(): void
{
// TODO: migrate data
$this->forge->dropColumn(
'podcasts',
'episode_description_footer_markdown,episode_description_footer_html,is_owner_email_removed_from_feed,medium,payment_pointer,verify_txt,custom_rss,partner_id,partner_link_url,partner_image_url'

View file

@ -55,7 +55,7 @@ use RuntimeException;
* @property string $language_code
* @property int $category_id
* @property Category|null $category
* @property string $other_categories_ids
* @property int[] $other_categories_ids
* @property Category[] $other_categories
* @property string|null $parental_advisory
* @property string|null $publisher
@ -111,7 +111,10 @@ class Podcast extends Entity
*/
protected ?array $other_categories = null;
protected string $other_categories_ids = '';
/**
* @var int[]
*/
protected array $other_categories_ids = [];
/**
* @var Episode[]|null
@ -523,10 +526,13 @@ class Podcast extends Entity
return $this->other_categories;
}
public function getOtherCategoriesIds(): string
/**
* @return int[]
*/
public function getOtherCategoriesIds(): array
{
if ($this->other_categories_ids === '') {
$this->other_categories_ids = implode(',', array_column($this->getOtherCategories(), 'id'));
if ($this->other_categories_ids === []) {
$this->other_categories_ids = array_column($this->getOtherCategories(), 'id');
}
return $this->other_categories_ids;

View file

@ -21,4 +21,9 @@ class OtherRules
{
return is_array($str);
}
public function is_string_or_list(mixed $str = null): bool
{
return is_string($str) || is_array($str);
}
}

View file

@ -10,12 +10,9 @@ class CodeEditor extends FormComponent
{
protected array $props = ['content', 'lang'];
/**
* @var array<string, string>
*/
protected array $attributes = [
'rows' => '6',
'class' => 'textarea',
'class' => 'bg-elevated w-full rounded-lg border-3 border-contrast focus:border-contrast focus-within:ring-accent transition',
];
protected string $lang = '';

View file

@ -26,9 +26,15 @@ abstract class FormComponent extends Component
protected string $name;
protected string $value = '';
/**
* @var string|string[]|null
*/
protected string|array|null $value = null;
protected string $defaultValue = '';
/**
* @var string|string[]
*/
protected string|array $defaultValue = '';
protected bool $isRequired = false;
@ -61,8 +67,16 @@ abstract class FormComponent extends Component
}
}
protected function getValue(): string
protected function getValue(): string|array
{
return old($this->name, $this->value === '' ? $this->defaultValue : $this->value);
$valueCast = $this->casts['value'] ?? '';
if ($valueCast === 'array') {
return old($this->name, in_array($this->value, [[], null], true) ? $this->defaultValue : $this->value) ?? [];
}
return old(
$this->name,
in_array($this->value, ['', null], true) ? $this->defaultValue : $this->value
) ?? '';
}
}

View file

@ -11,7 +11,9 @@ class SelectMulti extends FormComponent
protected array $props = ['options'];
protected array $casts = [
'options' => 'array',
'value' => 'array',
'defaultValue' => 'array',
'options' => 'array',
];
/**
@ -36,9 +38,9 @@ class SelectMulti extends FormComponent
$this->attributes = [...$defaultAttributes, ...$this->attributes];
$options = '';
$selected = explode(',', $this->getValue()) ?? [];
$selected = $this->getValue();
foreach ($this->options as $option) {
$options .= '<option ' . (array_key_exists('description', $option) ? 'data-label-description="' . $option['description'] . '" ' : '') . 'value="' . $option['value'] . '"' . (in_array((string) $option['value'], $selected, true) ? ' selected' : '') . '>' . $option['label'] . '</option>';
$options .= '<option ' . (array_key_exists('description', $option) ? 'data-label-description="' . $option['description'] . '" ' : '') . 'value="' . $option['value'] . '"' . (in_array($option['value'], $selected, true) ? ' selected' : '') . '>' . $option['label'] . '</option>';
}
$this->attributes['name'] = $this->name . '[]';

View file

@ -8,6 +8,10 @@ use Override;
class Textarea extends FormComponent
{
protected array $attributes = [
'rows' => '6',
];
public function setValue(string $value): void
{
$this->value = htmlspecialchars_decode($value);

View file

@ -9,7 +9,7 @@
"php": "^8.3",
"adaures/ipcat-php": "^v1.0.0",
"adaures/podcast-persons-taxonomy": "^v1.0.1",
"aws/aws-sdk-php": "^3.334.7",
"aws/aws-sdk-php": "^3.336.2",
"chrisjean/php-ico": "^1.0.4",
"cocur/slugify": "^v4.6.0",
"codeigniter4/framework": "v4.5.5",
@ -35,8 +35,8 @@
"codeigniter/phpstan-codeigniter": "v1.5.1",
"mikey179/vfsstream": "^v1.6.12",
"phpstan/extension-installer": "^1.4.3",
"phpstan/phpstan": "^2.0.3",
"phpunit/phpunit": "^11.5.1",
"phpstan/phpstan": "^2.0.4",
"phpunit/phpunit": "^11.5.2",
"rector/rector": "^2.0.3",
"symplify/coding-standard": "^12.2.3",
"symplify/easy-coding-standard": "^12.5.4"

64
composer.lock generated
View file

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
"content-hash": "8bdf144f383531caa188f1c211ec092a",
"content-hash": "f95311413c714e2dcef9364da4348b30",
"packages": [
{
"name": "adaures/ipcat-php",
@ -189,16 +189,16 @@
},
{
"name": "aws/aws-sdk-php",
"version": "3.334.7",
"version": "3.336.2",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
"reference": "8e0104e95a1edba209e077e6c4212b8cca04686f"
"reference": "954bfdfc048840ca34afe2a2e1cbcff6681989c4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/8e0104e95a1edba209e077e6c4212b8cca04686f",
"reference": "8e0104e95a1edba209e077e6c4212b8cca04686f",
"url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/954bfdfc048840ca34afe2a2e1cbcff6681989c4",
"reference": "954bfdfc048840ca34afe2a2e1cbcff6681989c4",
"shasum": ""
},
"require": {
@ -275,9 +275,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
"source": "https://github.com/aws/aws-sdk-php/tree/3.334.7"
"source": "https://github.com/aws/aws-sdk-php/tree/3.336.2"
},
"time": "2024-12-16T19:09:36+00:00"
"time": "2024-12-20T19:05:10+00:00"
},
{
"name": "brick/math",
@ -1354,16 +1354,16 @@
},
{
"name": "laminas/laminas-escaper",
"version": "2.14.0",
"version": "2.15.0",
"source": {
"type": "git",
"url": "https://github.com/laminas/laminas-escaper.git",
"reference": "0f7cb975f4443cf22f33408925c231225cfba8cb"
"reference": "c612b0488ae486284c39885efca494c180f16351"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/0f7cb975f4443cf22f33408925c231225cfba8cb",
"reference": "0f7cb975f4443cf22f33408925c231225cfba8cb",
"url": "https://api.github.com/repos/laminas/laminas-escaper/zipball/c612b0488ae486284c39885efca494c180f16351",
"reference": "c612b0488ae486284c39885efca494c180f16351",
"shasum": ""
},
"require": {
@ -1375,12 +1375,12 @@
"zendframework/zend-escaper": "*"
},
"require-dev": {
"infection/infection": "^0.27.9",
"laminas/laminas-coding-standard": "~3.0.0",
"infection/infection": "^0.27.11",
"laminas/laminas-coding-standard": "~3.0.1",
"maglnet/composer-require-checker": "^3.8.0",
"phpunit/phpunit": "^9.6.16",
"phpunit/phpunit": "^9.6.22",
"psalm/plugin-phpunit": "^0.19.0",
"vimeo/psalm": "^5.21.1"
"vimeo/psalm": "^5.26.1"
},
"type": "library",
"autoload": {
@ -1407,7 +1407,7 @@
"type": "community_bridge"
}
],
"time": "2024-10-24T10:12:53+00:00"
"time": "2024-12-17T19:39:54+00:00"
},
{
"name": "league/commonmark",
@ -3637,11 +3637,11 @@
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
},
"phpstan": {
"includes": ["extension.neon"]
},
"branch-alias": {
"dev-main": "3.x-dev"
}
},
"autoload": {
@ -4316,16 +4316,16 @@
},
{
"name": "phpstan/phpstan",
"version": "2.0.3",
"version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
"reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4"
"reference": "50d276fc3bf1430ec315f2f109bbde2769821524"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/46b4d3529b12178112d9008337beda0cc2a1a6b4",
"reference": "46b4d3529b12178112d9008337beda0cc2a1a6b4",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/50d276fc3bf1430ec315f2f109bbde2769821524",
"reference": "50d276fc3bf1430ec315f2f109bbde2769821524",
"shasum": ""
},
"require": {
@ -4360,7 +4360,7 @@
"type": "github"
}
],
"time": "2024-11-28T22:19:37+00:00"
"time": "2024-12-17T17:14:01+00:00"
},
{
"name": "phpunit/php-code-coverage",
@ -4654,16 +4654,16 @@
},
{
"name": "phpunit/phpunit",
"version": "11.5.1",
"version": "11.5.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "2b94d4f2450b9869fa64a46fd8a6a41997aef56a"
"reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/2b94d4f2450b9869fa64a46fd8a6a41997aef56a",
"reference": "2b94d4f2450b9869fa64a46fd8a6a41997aef56a",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/153d0531b9f7e883c5053160cad6dd5ac28140b3",
"reference": "153d0531b9f7e883c5053160cad6dd5ac28140b3",
"shasum": ""
},
"require": {
@ -4677,13 +4677,13 @@
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
"php": ">=8.2",
"phpunit/php-code-coverage": "^11.0.7",
"phpunit/php-code-coverage": "^11.0.8",
"phpunit/php-file-iterator": "^5.1.0",
"phpunit/php-invoker": "^5.0.1",
"phpunit/php-text-template": "^4.0.1",
"phpunit/php-timer": "^7.0.1",
"sebastian/cli-parser": "^3.0.2",
"sebastian/code-unit": "^3.0.1",
"sebastian/code-unit": "^3.0.2",
"sebastian/comparator": "^6.2.1",
"sebastian/diff": "^6.0.2",
"sebastian/environment": "^7.2.0",
@ -4723,7 +4723,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.1"
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.2"
},
"funding": [
{
@ -4739,7 +4739,7 @@
"type": "tidelift"
}
],
"time": "2024-12-11T10:52:48+00:00"
"time": "2024-12-21T05:51:08+00:00"
},
{
"name": "psr/container",

View file

@ -11,18 +11,19 @@
"prepare": "astro telemetry disable"
},
"dependencies": {
"@astrojs/check": "^0.9.3",
"@astrojs/starlight": "^0.28.2",
"@astrojs/starlight-tailwind": "^2.0.3",
"@astrojs/tailwind": "^5.1.1",
"@astrojs/check": "^0.9.4",
"@astrojs/starlight": "^0.30.3",
"@astrojs/starlight-tailwind": "^3.0.0",
"@astrojs/tailwind": "^5.1.3",
"@fontsource/inter": "^5.1.0",
"@fontsource/rubik": "^5.1.0",
"astro": "^4.15.9",
"astro": "^5.1.0",
"autoprefixer": "^10.4.20",
"cssnano": "^7.0.6",
"postcss-preset-env": "^10.0.5",
"postcss-preset-env": "^10.1.2",
"sharp": "^0.33.5",
"tailwindcss": "^3.4.13",
"typescript": "^5.6.2"
"tailwindcss": "^3.4.17",
"typescript": "^5.7.2",
"zod": "3.24.1"
}
}

4622
docs/pnpm-lock.yaml generated
View file

@ -8,17 +8,17 @@ importers:
.:
dependencies:
"@astrojs/check":
specifier: ^0.9.3
version: 0.9.3(typescript@5.6.2)
specifier: ^0.9.4
version: 0.9.4(typescript@5.7.2)
"@astrojs/starlight":
specifier: ^0.28.2
version: 0.28.2(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))
specifier: ^0.30.3
version: 0.30.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))
"@astrojs/starlight-tailwind":
specifier: ^2.0.3
version: 2.0.3(@astrojs/starlight@0.28.2(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2)))(@astrojs/tailwind@5.1.1(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))(tailwindcss@3.4.13))(tailwindcss@3.4.13)
specifier: ^3.0.0
version: 3.0.0(@astrojs/starlight@0.30.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)))(@astrojs/tailwind@5.1.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))(tailwindcss@3.4.17))(tailwindcss@3.4.17)
"@astrojs/tailwind":
specifier: ^5.1.1
version: 5.1.1(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))(tailwindcss@3.4.13)
specifier: ^5.1.3
version: 5.1.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))(tailwindcss@3.4.17)
"@fontsource/inter":
specifier: ^5.1.0
version: 5.1.0
@ -26,26 +26,29 @@ importers:
specifier: ^5.1.0
version: 5.1.0
astro:
specifier: ^4.15.9
version: 4.15.9(rollup@4.22.5)(typescript@5.6.2)
specifier: ^5.1.0
version: 5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)
autoprefixer:
specifier: ^10.4.20
version: 10.4.20(postcss@8.4.38)
version: 10.4.20(postcss@8.4.47)
cssnano:
specifier: ^7.0.6
version: 7.0.6(postcss@8.4.38)
version: 7.0.6(postcss@8.4.47)
postcss-preset-env:
specifier: ^10.0.5
version: 10.0.5(postcss@8.4.38)
specifier: ^10.1.2
version: 10.1.2(postcss@8.4.47)
sharp:
specifier: ^0.33.5
version: 0.33.5
tailwindcss:
specifier: ^3.4.13
version: 3.4.13
specifier: ^3.4.17
version: 3.4.17
typescript:
specifier: ^5.6.2
version: 5.6.2
specifier: ^5.7.2
version: 5.7.2
zod:
specifier: 3.24.1
version: 3.24.1
packages:
"@alloc/quick-lru@5.2.0":
@ -55,17 +58,10 @@ packages:
}
engines: { node: ">=10" }
"@ampproject/remapping@2.2.1":
"@astrojs/check@0.9.4":
resolution:
{
integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==,
}
engines: { node: ">=6.0.0" }
"@astrojs/check@0.9.3":
resolution:
{
integrity: sha512-I6Dz45bMI5YRbp4yK2LKWsHH3/kkHRGdPGruGkLap6pqxhdcNh7oCgN04Ac+haDfc9ow5BYPGPmEhkwef15GQQ==,
integrity: sha512-IOheHwCtpUfvogHHsvu0AbeRZEnjJg3MopdLddkJE70mULItS/Vh37BHcI00mcOJcH1vhD3odbpvWokpxam7xA==,
}
hasBin: true
peerDependencies:
@ -77,16 +73,16 @@ packages:
integrity: sha512-bL/O7YBxsFt55YHU021oL+xz+B/9HvGNId3F9xURN16aeqDK9juHGktdkCSXz+U4nqFACq6ZFvWomOzhV+zfPw==,
}
"@astrojs/internal-helpers@0.4.1":
"@astrojs/internal-helpers@0.4.2":
resolution:
{
integrity: sha512-bMf9jFihO8YP940uD70SI/RDzIhUHJAolWVcO1v5PUivxGKvfLZTLTVVxEYzGYyPsA3ivdLNqMnL5VgmQySa+g==,
integrity: sha512-EdDWkC3JJVcpGpqJAU/5hSk2LKXyG3mNGkzGoAuyK+xoPHbaVdSuIWoN1QTnmK3N/gGfaaAfM8gO2KDCAW7S3w==,
}
"@astrojs/language-server@2.14.2":
"@astrojs/language-server@2.15.4":
resolution:
{
integrity: sha512-daUJ/+/2pPF3eGG4tVdXKyw0tabUDrJKwLzU8VTuNhEHIn3VZAIES6VT3+mX0lmKcMiKM8/bjZdfY+fPfmnsMA==,
integrity: sha512-JivzASqTPR2bao9BWsSc/woPHH7OGSGc9aMxXL4U6egVTqBycB3ZHdBJPuOCVtcGLrzdWTosAqVPz1BVoxE0+A==,
}
hasBin: true
peerDependencies:
@ -98,27 +94,27 @@ packages:
prettier-plugin-astro:
optional: true
"@astrojs/markdown-remark@5.2.0":
"@astrojs/markdown-remark@6.0.1":
resolution:
{
integrity: sha512-vWGM24KZXz11jR3JO+oqYU3T2qpuOi4uGivJ9SQLCAI01+vEkHC60YJMRvHPc+hwd60F7euNs1PeOEixIIiNQw==,
integrity: sha512-CTSYijj25NfxgZi15TU3CwPwgyD1/7yA3FcdcNmB9p94nydupiUbrIiq3IqeTp2m5kCVzxbPZeC7fTwEOaNyGw==,
}
"@astrojs/mdx@3.1.7":
"@astrojs/mdx@4.0.2":
resolution:
{
integrity: sha512-8lGdCt+S0TrZgQpbcP3fQJc4cTeacAirtz9TpAMtHCWrQGW8slKt3WG4/0N+bhZgYRC4h5AT5drzFz+y3wvmsg==,
integrity: sha512-uBoXNSSAUqhf2dVtJWFbSapwNkcnCzbISW98EcybFXvNgYt9g8yPJ7+lYnf+sH5pv0c/JEW8HlBvPSi81AVRlw==,
}
engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
engines: { node: ^18.17.1 || ^20.3.0 || >=22.0.0 }
peerDependencies:
astro: ^4.8.0
astro: ^5.0.0
"@astrojs/prism@3.1.0":
"@astrojs/prism@3.2.0":
resolution:
{
integrity: sha512-Z9IYjuXSArkAUx3N6xj6+Bnvx8OdUSHA8YoOgyepp3+zJmtVYJIl/I18GozdJVW1p5u/CNpl3Km7/gwTJK85cw==,
integrity: sha512-GilTHKGCW6HMq7y3BUv9Ac7GMe/MO9gi9GW62GzKtth0SwukCu/qp2wLiGpEujhY+VVhaG9v7kv/5vFzvf4NYw==,
}
engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
engines: { node: ^18.17.1 || ^20.3.0 || >=22.0.0 }
"@astrojs/sitemap@3.1.6":
resolution:
@ -126,153 +122,46 @@ packages:
integrity: sha512-1Qp2NvAzVImqA6y+LubKi1DVhve/hXXgFvB0szxiipzh7BvtuKe4oJJ9dXSqaubaTkt4nMa6dv6RCCAYeB6xaQ==,
}
"@astrojs/starlight-tailwind@2.0.3":
"@astrojs/starlight-tailwind@3.0.0":
resolution:
{
integrity: sha512-ZwbdXS/9rxYlo3tKZoTZoBPUnaaqek02b341dHwOkmMT0lIR2w+8k0mRUGxnRaYtPdMcaL+nYFd8RUa8sjdyRg==,
integrity: sha512-oYHG9RY+VaOSeAhheVZfm9HDA892qvcQA82VT86POYmg1OsgBuWwdf1ZbofV8iq/z5kO06ajcSdzhPE8lhEx8g==,
}
peerDependencies:
"@astrojs/starlight": ">=0.9.0"
"@astrojs/tailwind": ^5.0.0
"@astrojs/starlight": ">=0.30.0"
"@astrojs/tailwind": ^5.1.3
tailwindcss: ^3.3.3
"@astrojs/starlight@0.28.2":
"@astrojs/starlight@0.30.3":
resolution:
{
integrity: sha512-Q1/Ujl2EzWX71qwqdt/0KP3wOyX6Rvyzcep/zD3hRCtw/Vi2TReh4Q2wLwz7mnbuYU9H7YvBKYknbkmjC+K/0w==,
integrity: sha512-HbGYYIR2Rnrvvc2jD0dUpp8zUzv3jQYtG5im3aulDgE4Jo21Ahw0yXlb/Y134G3LALLbqhImmlbt/h/nDV3yMA==,
}
peerDependencies:
astro: ^4.14.0
astro: ^5.0.0
"@astrojs/tailwind@5.1.1":
"@astrojs/tailwind@5.1.3":
resolution:
{
integrity: sha512-LwurA10uIKcGRxQP2R81RvAnBT0WPKzBntXZBF4hrAefDgM5Uumn0nsGr6tdIjSARgYz4X+Cq/Vh78t3bql3yw==,
integrity: sha512-XF7WhXRhqEHGvADqc0kDtF7Yv/g4wAWTaj91jBBTBaYnc4+MQLH94duFfFa4NlTkRG40VQd012eF3MhO3Kk+bg==,
}
peerDependencies:
astro: ^3.0.0 || ^4.0.0 || ^5.0.0-beta.0
astro: ^3.0.0 || ^4.0.0 || ^5.0.0
tailwindcss: ^3.0.24
"@astrojs/telemetry@3.1.0":
"@astrojs/telemetry@3.2.0":
resolution:
{
integrity: sha512-/ca/+D8MIKEC8/A9cSaPUqQNZm+Es/ZinRv0ZAzvu2ios7POQSsVD+VOj7/hypWNsNM3T7RpfgNq7H2TU1KEHA==,
integrity: sha512-wxhSKRfKugLwLlr4OFfcqovk+LIFtKwLyGPqMsv+9/ibqqnW3Gv7tBhtKEb0gAyUAC4G9BTVQeQahqnQAhd6IQ==,
}
engines: { node: ^18.17.1 || ^20.3.0 || >=21.0.0 }
engines: { node: ^18.17.1 || ^20.3.0 || >=22.0.0 }
"@astrojs/yaml2ts@0.2.1":
"@astrojs/yaml2ts@0.2.2":
resolution:
{
integrity: sha512-CBaNwDQJz20E5WxzQh4thLVfhB3JEEGz72wRA+oJp6fQR37QLAqXZJU0mHC+yqMOQ6oj0GfRPJrz6hjf+zm6zA==,
integrity: sha512-GOfvSr5Nqy2z5XiwqTouBBpy5FyI6DEe+/g/Mk5am9SjILN1S5fOEvYK0GuWHg98yS/dobP4m8qyqw/URW35fQ==,
}
"@babel/code-frame@7.24.7":
resolution:
{
integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==,
}
engines: { node: ">=6.9.0" }
"@babel/compat-data@7.25.4":
resolution:
{
integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==,
}
engines: { node: ">=6.9.0" }
"@babel/core@7.25.2":
resolution:
{
integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==,
}
engines: { node: ">=6.9.0" }
"@babel/generator@7.24.7":
resolution:
{
integrity: sha512-oipXieGC3i45Y1A41t4tAqpnEZWgB/lC6Ehh6+rOviR5XWpTtMmLN+fGjz9vOiNRt0p6RtO6DtD0pdU3vpqdSA==,
}
engines: { node: ">=6.9.0" }
"@babel/generator@7.25.6":
resolution:
{
integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-annotate-as-pure@7.24.7":
resolution:
{
integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-compilation-targets@7.25.2":
resolution:
{
integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-environment-visitor@7.24.7":
resolution:
{
integrity: sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-function-name@7.24.7":
resolution:
{
integrity: sha512-FyoJTsj/PEUWu1/TYRiXTIHc8lbw+TDYkZuoE43opPS5TrI7MyONBE1oNvfguEXAD9yhQRrVBnXdXzSLQl9XnA==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-hoist-variables@7.24.7":
resolution:
{
integrity: sha512-MJJwhkoGy5c4ehfoRyrJ/owKeMl19U54h27YYftT0o2teQ3FJ3nQUf/I3LlJsX4l3qlw7WRXUmiyajvHXoTubQ==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-module-imports@7.24.7":
resolution:
{
integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-module-transforms@7.25.2":
resolution:
{
integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0
"@babel/helper-plugin-utils@7.24.8":
resolution:
{
integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-simple-access@7.24.7":
resolution:
{
integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-split-export-declaration@7.24.7":
resolution:
{
integrity: sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==,
}
engines: { node: ">=6.9.0" }
"@babel/helper-string-parser@7.24.8":
resolution:
{
@ -287,35 +176,6 @@ packages:
}
engines: { node: ">=6.9.0" }
"@babel/helper-validator-option@7.24.8":
resolution:
{
integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==,
}
engines: { node: ">=6.9.0" }
"@babel/helpers@7.25.6":
resolution:
{
integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==,
}
engines: { node: ">=6.9.0" }
"@babel/highlight@7.24.7":
resolution:
{
integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==,
}
engines: { node: ">=6.9.0" }
"@babel/parser@7.24.7":
resolution:
{
integrity: sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw==,
}
engines: { node: ">=6.0.0" }
hasBin: true
"@babel/parser@7.25.6":
resolution:
{
@ -324,24 +184,6 @@ packages:
engines: { node: ">=6.0.0" }
hasBin: true
"@babel/plugin-syntax-jsx@7.24.7":
resolution:
{
integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0-0
"@babel/plugin-transform-react-jsx@7.25.2":
resolution:
{
integrity: sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA==,
}
engines: { node: ">=6.9.0" }
peerDependencies:
"@babel/core": ^7.0.0-0
"@babel/runtime@7.25.6":
resolution:
{
@ -349,34 +191,6 @@ packages:
}
engines: { node: ">=6.9.0" }
"@babel/template@7.24.7":
resolution:
{
integrity: sha512-jYqfPrU9JTF0PmPy1tLYHW4Mp4KlgxJD9l2nP9fD6yT/ICi554DmrWBAEYpIelzjHf1msDP3PxJIRt/nFNfBig==,
}
engines: { node: ">=6.9.0" }
"@babel/template@7.25.0":
resolution:
{
integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==,
}
engines: { node: ">=6.9.0" }
"@babel/traverse@7.24.7":
resolution:
{
integrity: sha512-yb65Ed5S/QAcewNPh0nZczy9JdYXkkAbIsEo+P7BE7yO3txAY30Y/oPa3QkQ5It3xVG2kpKMg9MsdxZaO31uKA==,
}
engines: { node: ">=6.9.0" }
"@babel/traverse@7.25.6":
resolution:
{
integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==,
}
engines: { node: ">=6.9.0" }
"@babel/types@7.25.6":
resolution:
{
@ -384,15 +198,15 @@ packages:
}
engines: { node: ">=6.9.0" }
"@csstools/cascade-layer-name-parser@2.0.1":
"@csstools/cascade-layer-name-parser@2.0.4":
resolution:
{
integrity: sha512-G9ZYN5+yr/E6xYSiy1BwOEFP5p88ZtWo8sL4NztKBkRRAwRkzVGa70M+D+fYHugMID5jkLeNt5X9jYd5EaVuyg==,
integrity: sha512-7DFHlPuIxviKYZrOiwVU/PiHLm3lLUR23OMuEEtfEOQTOp9hzQ2JjdY6X5H18RVuUPJqSCI+qNnD5iOLMVE0bA==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.1
"@csstools/css-tokenizer": ^3.0.1
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
"@csstools/color-helpers@5.0.1":
resolution:
@ -401,92 +215,92 @@ packages:
}
engines: { node: ">=18" }
"@csstools/css-calc@2.0.1":
"@csstools/css-calc@2.1.0":
resolution:
{
integrity: sha512-e59V+sNp6e5m+9WnTUydA1DQO70WuKUdseflRpWmXxocF/h5wWGIxUjxfvLtajcmwstH0vm6l0reKMzcyI757Q==,
integrity: sha512-X69PmFOrjTZfN5ijxtI8hZ9kRADFSLrmmQ6hgDJ272Il049WGKpDY64KhrFm/7rbWve0z81QepawzjkKlqkNGw==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.1
"@csstools/css-tokenizer": ^3.0.1
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
"@csstools/css-color-parser@3.0.2":
"@csstools/css-color-parser@3.0.6":
resolution:
{
integrity: sha512-mNg7A6HnNjlm0we/pDS9dUafOuBxcanN0TBhEGeIk6zZincuk0+mAbnBqfVs29NlvWHZ8diwTG6g5FeU8246sA==,
integrity: sha512-S/IjXqTHdpI4EtzGoNCHfqraXF37x12ZZHA1Lk7zoT5pm2lMjFuqhX/89L7dqX4CcMacKK+6ZCs5TmEGb/+wKw==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.1
"@csstools/css-tokenizer": ^3.0.1
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
"@csstools/css-parser-algorithms@3.0.1":
"@csstools/css-parser-algorithms@3.0.4":
resolution:
{
integrity: sha512-lSquqZCHxDfuTg/Sk2hiS0mcSFCEBuj49JfzPHJogDBT0mGCyY5A1AQzBWngitrp7i1/HAZpIgzF/VjhOEIJIg==,
integrity: sha512-Up7rBoV77rv29d3uKHUIVubz1BTcgyUK72IvCQAbfbMv584xHcGKCKbWh7i8hPrRJ7qU4Y8IO3IY9m+iTB7P3A==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-tokenizer": ^3.0.1
"@csstools/css-tokenizer": ^3.0.3
"@csstools/css-tokenizer@3.0.1":
"@csstools/css-tokenizer@3.0.3":
resolution:
{
integrity: sha512-UBqaiu7kU0lfvaP982/o3khfXccVlHPWp0/vwwiIgDF0GmqqqxoiXC/6FCjlS9u92f7CoEz6nXKQnrn1kIAkOw==,
integrity: sha512-UJnjoFsmxfKUdNYdWgOB0mWUypuLvAfQPH1+pyvRJs6euowbFkFC6P13w1l8mJyi3vxYMxc9kld5jZEGRQs6bw==,
}
engines: { node: ">=18" }
"@csstools/media-query-list-parser@3.0.1":
"@csstools/media-query-list-parser@4.0.2":
resolution:
{
integrity: sha512-HNo8gGD02kHmcbX6PvCoUuOQvn4szyB9ca63vZHKX5A81QytgDG4oxG4IaEfHTlEZSZ6MjPEMWIVU+zF2PZcgw==,
integrity: sha512-EUos465uvVvMJehckATTlNqGj4UJWkTmdWuDMjqvSUkjGpmOyFZBVwb4knxCm/k2GMTXY+c/5RkdndzFYWeX5A==,
}
engines: { node: ">=18" }
peerDependencies:
"@csstools/css-parser-algorithms": ^3.0.1
"@csstools/css-tokenizer": ^3.0.1
"@csstools/css-parser-algorithms": ^3.0.4
"@csstools/css-tokenizer": ^3.0.3
"@csstools/postcss-cascade-layers@5.0.0":
"@csstools/postcss-cascade-layers@5.0.1":
resolution:
{
integrity: sha512-h+VunB3KXaoWTWEPBcdVk8Kz1eZ/CtDD+HXgKw5JLdbsViLEQdKUtFYH73VIQigdodng8s5DCrrwNQY7pnuWBA==,
integrity: sha512-XOfhI7GShVcKiKwmPAnWSqd2tBR0uxt+runAxttbSp/LY2U16yAVPmAf7e9q4JJ0d+xMNmpwNDLBXnmRCl3HMQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-color-function@4.0.2":
"@csstools/postcss-color-function@4.0.6":
resolution:
{
integrity: sha512-q/W3RXh66SM7WqxW3/KU6koL8nOgqyB/wrcU3+ThXnNtXY2+k8UgdE301ISJpMt6PDyYgC7eMaIBo535RvFIgw==,
integrity: sha512-EcvXfC60cTIumzpsxWuvVjb7rsJEHPvqn3jeMEBUaE3JSc4FRuP7mEQ+1eicxWmIrs3FtzMH9gR3sgA5TH+ebQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-color-mix-function@3.0.2":
"@csstools/postcss-color-mix-function@3.0.6":
resolution:
{
integrity: sha512-zG9PHNzZVCRk6eprm+T/ybrnuiwLdO+RR7+GCtNut+NZJGtPJj6bfPOEX23aOlMslLcRAlN6QOpxH3tovn+WpA==,
integrity: sha512-jVKdJn4+JkASYGhyPO+Wa5WXSx1+oUgaXb3JsjJn/BlrtFh5zjocCY7pwWi0nuP24V1fY7glQsxEYcYNy0dMFg==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-content-alt-text@2.0.1":
"@csstools/postcss-content-alt-text@2.0.4":
resolution:
{
integrity: sha512-TWjjewVZqdkjavsi8a2THuXgkhUum1k/m4QJpZpzOv72q6WnaoQZGSj5t5uCs7ymJr0H3qj6JcXMwMApSWUOGQ==,
integrity: sha512-YItlZUOuZJCBlRaCf8Aucc1lgN41qYGALMly0qQllrxYJhiyzlI6RxOTMUvtWk+KhS8GphMDsDhKQ7KTPfEMSw==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-exponential-functions@2.0.1":
"@csstools/postcss-exponential-functions@2.0.5":
resolution:
{
integrity: sha512-A/MG8es3ylFzZ30oYIQUyJcMOfTfCs0dqqBMzeuzaPRlx4q/72WG+BbKe/pL9BUNIWsM0Q8jn3e3la8enjHJJA==,
integrity: sha512-mi8R6dVfA2nDoKM3wcEi64I8vOYEgQVtVKCfmLHXupeLpACfGAided5ddMt5f+CnEodNu4DifuVwb0I6fQDGGQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -501,28 +315,28 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-gamut-mapping@2.0.2":
"@csstools/postcss-gamut-mapping@2.0.6":
resolution:
{
integrity: sha512-/1ur3ca9RWg/KnbLlxaDswyjLSGoaHNDruAzrVhkn5axgd7LOH6JHCBRhrKDafdMw9bf4MQrYFoaLfHAPekLFg==,
integrity: sha512-0ke7fmXfc8H+kysZz246yjirAH6JFhyX9GTlyRnM0exHO80XcA9zeJpy5pOp5zo/AZiC/q5Pf+Hw7Pd6/uAoYA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-gradients-interpolation-method@5.0.2":
"@csstools/postcss-gradients-interpolation-method@5.0.6":
resolution:
{
integrity: sha512-qRpvA4sduAfiV9yZG4OM7q/h2Qhr3lg+GrHe9NZwuzWnfSDLGh+Dh4Ea6fQ+1++jdKXW/Cb4/vHRp0ssQYra4w==,
integrity: sha512-Itrbx6SLUzsZ6Mz3VuOlxhbfuyLTogG5DwEF1V8dAi24iMuvQPIHd7Ti+pNDp7j6WixndJGZaoNR0f9VSzwuTg==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-hwb-function@4.0.2":
"@csstools/postcss-hwb-function@4.0.6":
resolution:
{
integrity: sha512-RUBVCyJE1hTsf9vGp3zrALeMollkAlHRFKm+T36y67nLfOOf+6GNQsdTGFAyLrY65skcm8ddC26Jp1n9ZIauEA==,
integrity: sha512-927Pqy3a1uBP7U8sTfaNdZVB0mNXzIrJO/GZ8us9219q9n06gOqCdfZ0E6d1P66Fm0fYHvxfDbfcUuwAn5UwhQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -546,19 +360,19 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-is-pseudo-class@5.0.0":
"@csstools/postcss-is-pseudo-class@5.0.1":
resolution:
{
integrity: sha512-E/CjrT03BL06WmrjupnrT0VUBTvxJdoW1hRVeXFa9qatWtvcLLw0j8hP372G4A9PpSGEMXi3/AoHzPf7DNryCQ==,
integrity: sha512-JLp3POui4S1auhDR0n8wHd/zTOWmMsmK3nQd3hhL6FhWPaox5W7j1se6zXOG/aP07wV2ww0lxbKYGwbBszOtfQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-light-dark-function@2.0.4":
"@csstools/postcss-light-dark-function@2.0.7":
resolution:
{
integrity: sha512-yHUt5DZ61Irvp72notmAl3Zt4Me50EWToWNocazyIFTVYFwwo/EucmV3hWi9zJehu3rOSvMclL7DzvRDfbak/A==,
integrity: sha512-ZZ0rwlanYKOHekyIPaU+sVm3BEHCe+Ha0/px+bmHe62n0Uc1lL34vbwrLYn6ote8PHlsqzKeTQdIejQCJ05tfw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -600,28 +414,28 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-logical-viewport-units@3.0.1":
"@csstools/postcss-logical-viewport-units@3.0.3":
resolution:
{
integrity: sha512-JsfaoTiBqIuRE+CYL4ZpYKOqJ965GyiMH4b8UrY0Z7i5GfMiHZrK7xtTB29piuyKQzrW+Z8w3PAExhwND9cuAQ==,
integrity: sha512-OC1IlG/yoGJdi0Y+7duz/kU/beCwO+Gua01sD6GtOtLi7ByQUpcIqs7UE/xuRPay4cHgOMatWdnDdsIDjnWpPw==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-media-minmax@2.0.1":
"@csstools/postcss-media-minmax@2.0.5":
resolution:
{
integrity: sha512-EMa3IgUip+F/MwH4r2KfIA9ym9hQkT2PpR9MOukdomfGGCFuw9V3n/iIOBKziN1qfeddsYoOvtYOKQcHU2yIjg==,
integrity: sha512-sdh5i5GToZOIAiwhdntRWv77QDtsxP2r2gXW/WbLSCoLr00KTq/yiF1qlQ5XX2+lmiFa8rATKMcbwl3oXDMNew==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.1":
"@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4":
resolution:
{
integrity: sha512-JTzMQz//INahTALkvXnC5lC2fJKzwb5PY443T2zaM9hAzM7nzHMLIlEfFgdtBahVIBtBSalMefdxNr99LGW1lQ==,
integrity: sha512-AnGjVslHMm5xw9keusQYvjVWvuS7KWK+OJagaG0+m9QnIjZsrysD2kJP/tr/UJIyYtMCtu8OkUd+Rajb4DqtIQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -645,10 +459,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-oklab-function@4.0.2":
"@csstools/postcss-oklab-function@4.0.6":
resolution:
{
integrity: sha512-2iSK/T77PHMeorakBAk/WLxSodfIJ/lmi6nxEkuruXfhGH7fByZim4Fw6ZJf4B73SVieRSH2ep8zvYkA2ZfRtA==,
integrity: sha512-Hptoa0uX+XsNacFBCIQKTUBrFKDiplHan42X73EklG6XmQLG7/aIvxoNhvZ7PvOWMt67Pw3bIlUY2nD6p5vL8A==,
}
engines: { node: ">=18" }
peerDependencies:
@ -663,28 +477,46 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-relative-color-syntax@3.0.2":
"@csstools/postcss-random-function@1.0.1":
resolution:
{
integrity: sha512-aBpuUdpJBswNGfw6lOkhown2cZ0YXrMjASye56nkoRpgRe9yDF4BM1fvEuakrCDiaeoUzVaI4SF6+344BflXfQ==,
integrity: sha512-Ab/tF8/RXktQlFwVhiC70UNfpFQRhtE5fQQoP2pO+KCPGLsLdWFiOuHgSRtBOqEshCVAzR4H6o38nhvRZq8deA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-scope-pseudo-class@4.0.0":
"@csstools/postcss-relative-color-syntax@3.0.6":
resolution:
{
integrity: sha512-+ZUOBtVMDcmHZcZqsP/jcNRriEILfWQflTI3tCTA+/RheXAg57VkFGyPDAilpQSqlCpxWLWG8VUFKFtZJPwuOg==,
integrity: sha512-yxP618Xb+ji1I624jILaYM62uEmZcmbdmFoZHoaThw896sq0vU39kqTTF+ZNic9XyPtPMvq0vyvbgmHaszq8xg==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-stepped-value-functions@4.0.1":
"@csstools/postcss-scope-pseudo-class@4.0.1":
resolution:
{
integrity: sha512-dk3KqVcIEYzy9Mvx8amoBbk123BWgd5DfjXDiPrEqxGma37PG7m/MoMmHQhuVHIjvPDHoJwyIZi2yy7j0RA5fw==,
integrity: sha512-IMi9FwtH6LMNuLea1bjVMQAsUhFxJnyLSgOp/cpv5hrzWmrUYU5fm0EguNDIIOHUqzXode8F/1qkC/tEo/qN8Q==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-sign-functions@1.1.0":
resolution:
{
integrity: sha512-SLcc20Nujx/kqbSwDmj6oaXgpy3UjFhBy1sfcqPgDkHfOIfUtUVH7OXO+j7BU4v/At5s61N5ZX6shvgPwluhsA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
"@csstools/postcss-stepped-value-functions@4.0.5":
resolution:
{
integrity: sha512-G6SJ6hZJkhxo6UZojVlLo14MohH4J5J7z8CRBrxxUYy9JuZiIqUo5TBYyDGcE0PLdzpg63a7mHSJz3VD+gMwqw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -699,10 +531,10 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/postcss-trigonometric-functions@4.0.1":
"@csstools/postcss-trigonometric-functions@4.0.5":
resolution:
{
integrity: sha512-QHOYuN3bzS/rcpAygFhJxJUtD8GuJEWF6f9Zm518Tq/cSMlcTgU+v0geyi5EqbmYxKMig2oKCKUSGqOj9gehkg==,
integrity: sha512-/YQThYkt5MLvAmVu7zxjhceCYlKrYddK6LEmK5I4ojlS6BmO9u2yO4+xjXzu2+NPYmHSTtP4NFSamBCMmJ1NJA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -717,23 +549,23 @@ packages:
peerDependencies:
postcss: ^8.4
"@csstools/selector-resolve-nested@2.0.0":
"@csstools/selector-resolve-nested@3.0.0":
resolution:
{
integrity: sha512-oklSrRvOxNeeOW1yARd4WNCs/D09cQjunGZUgSq6vM8GpzFswN+8rBZyJA29YFZhOTQ6GFzxgLDNtVbt9wPZMA==,
integrity: sha512-ZoK24Yku6VJU1gS79a5PFmC8yn3wIapiKmPgun0hZgEI5AOqgH2kiPRsPz1qkGv4HL+wuDLH83yQyk6inMYrJQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss-selector-parser: ^6.1.0
postcss-selector-parser: ^7.0.0
"@csstools/selector-specificity@4.0.0":
"@csstools/selector-specificity@5.0.0":
resolution:
{
integrity: sha512-189nelqtPd8++phaHNwYovKZI0FOzH1vQEE3QhHHkNIGrg5fSs9CbYP3RvfEH5geztnIA9Jwq91wyOIwAW5JIQ==,
integrity: sha512-PCqQV3c4CoVm3kdPhyeZ07VmBRdH2EpMFA/pd9OASpOEC3aXNGoqPDAZ80D0cLpMBxnmk0+yNhGsEx31hq7Gtw==,
}
engines: { node: ">=18" }
peerDependencies:
postcss-selector-parser: ^6.1.0
postcss-selector-parser: ^7.0.0
"@csstools/utilities@2.0.0":
resolution:
@ -808,6 +640,15 @@ packages:
cpu: [ppc64]
os: [aix]
"@esbuild/aix-ppc64@0.24.0":
resolution:
{
integrity: sha512-WtKdFM7ls47zkKHFVzMz8opM7LkcsIp9amDUBIAWirg70RM71WRSjdILPsY5Uv1D42ZpUfaPILDlfactHgsRkw==,
}
engines: { node: ">=18" }
cpu: [ppc64]
os: [aix]
"@esbuild/android-arm64@0.21.5":
resolution:
{
@ -817,6 +658,15 @@ packages:
cpu: [arm64]
os: [android]
"@esbuild/android-arm64@0.24.0":
resolution:
{
integrity: sha512-Vsm497xFM7tTIPYK9bNTYJyF/lsP590Qc1WxJdlB6ljCbdZKU9SY8i7+Iin4kyhV/KV5J2rOKsBQbB77Ab7L/w==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [android]
"@esbuild/android-arm@0.21.5":
resolution:
{
@ -826,6 +676,15 @@ packages:
cpu: [arm]
os: [android]
"@esbuild/android-arm@0.24.0":
resolution:
{
integrity: sha512-arAtTPo76fJ/ICkXWetLCc9EwEHKaeya4vMrReVlEIUCAUncH7M4bhMQ+M9Vf+FFOZJdTNMXNBrWwW+OXWpSew==,
}
engines: { node: ">=18" }
cpu: [arm]
os: [android]
"@esbuild/android-x64@0.21.5":
resolution:
{
@ -835,6 +694,15 @@ packages:
cpu: [x64]
os: [android]
"@esbuild/android-x64@0.24.0":
resolution:
{
integrity: sha512-t8GrvnFkiIY7pa7mMgJd7p8p8qqYIz1NYiAoKc75Zyv73L3DZW++oYMSHPRarcotTKuSs6m3hTOa5CKHaS02TQ==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [android]
"@esbuild/darwin-arm64@0.21.5":
resolution:
{
@ -844,6 +712,15 @@ packages:
cpu: [arm64]
os: [darwin]
"@esbuild/darwin-arm64@0.24.0":
resolution:
{
integrity: sha512-CKyDpRbK1hXwv79soeTJNHb5EiG6ct3efd/FTPdzOWdbZZfGhpbcqIpiD0+vwmpu0wTIL97ZRPZu8vUt46nBSw==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [darwin]
"@esbuild/darwin-x64@0.21.5":
resolution:
{
@ -853,6 +730,15 @@ packages:
cpu: [x64]
os: [darwin]
"@esbuild/darwin-x64@0.24.0":
resolution:
{
integrity: sha512-rgtz6flkVkh58od4PwTRqxbKH9cOjaXCMZgWD905JOzjFKW+7EiUObfd/Kav+A6Gyud6WZk9w+xu6QLytdi2OA==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [darwin]
"@esbuild/freebsd-arm64@0.21.5":
resolution:
{
@ -862,6 +748,15 @@ packages:
cpu: [arm64]
os: [freebsd]
"@esbuild/freebsd-arm64@0.24.0":
resolution:
{
integrity: sha512-6Mtdq5nHggwfDNLAHkPlyLBpE5L6hwsuXZX8XNmHno9JuL2+bg2BX5tRkwjyfn6sKbxZTq68suOjgWqCicvPXA==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [freebsd]
"@esbuild/freebsd-x64@0.21.5":
resolution:
{
@ -871,6 +766,15 @@ packages:
cpu: [x64]
os: [freebsd]
"@esbuild/freebsd-x64@0.24.0":
resolution:
{
integrity: sha512-D3H+xh3/zphoX8ck4S2RxKR6gHlHDXXzOf6f/9dbFt/NRBDIE33+cVa49Kil4WUjxMGW0ZIYBYtaGCa2+OsQwQ==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [freebsd]
"@esbuild/linux-arm64@0.21.5":
resolution:
{
@ -880,6 +784,15 @@ packages:
cpu: [arm64]
os: [linux]
"@esbuild/linux-arm64@0.24.0":
resolution:
{
integrity: sha512-TDijPXTOeE3eaMkRYpcy3LarIg13dS9wWHRdwYRnzlwlA370rNdZqbcp0WTyyV/k2zSxfko52+C7jU5F9Tfj1g==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [linux]
"@esbuild/linux-arm@0.21.5":
resolution:
{
@ -889,6 +802,15 @@ packages:
cpu: [arm]
os: [linux]
"@esbuild/linux-arm@0.24.0":
resolution:
{
integrity: sha512-gJKIi2IjRo5G6Glxb8d3DzYXlxdEj2NlkixPsqePSZMhLudqPhtZ4BUrpIuTjJYXxvF9njql+vRjB2oaC9XpBw==,
}
engines: { node: ">=18" }
cpu: [arm]
os: [linux]
"@esbuild/linux-ia32@0.21.5":
resolution:
{
@ -898,6 +820,15 @@ packages:
cpu: [ia32]
os: [linux]
"@esbuild/linux-ia32@0.24.0":
resolution:
{
integrity: sha512-K40ip1LAcA0byL05TbCQ4yJ4swvnbzHscRmUilrmP9Am7//0UjPreh4lpYzvThT2Quw66MhjG//20mrufm40mA==,
}
engines: { node: ">=18" }
cpu: [ia32]
os: [linux]
"@esbuild/linux-loong64@0.21.5":
resolution:
{
@ -907,6 +838,15 @@ packages:
cpu: [loong64]
os: [linux]
"@esbuild/linux-loong64@0.24.0":
resolution:
{
integrity: sha512-0mswrYP/9ai+CU0BzBfPMZ8RVm3RGAN/lmOMgW4aFUSOQBjA31UP8Mr6DDhWSuMwj7jaWOT0p0WoZ6jeHhrD7g==,
}
engines: { node: ">=18" }
cpu: [loong64]
os: [linux]
"@esbuild/linux-mips64el@0.21.5":
resolution:
{
@ -916,6 +856,15 @@ packages:
cpu: [mips64el]
os: [linux]
"@esbuild/linux-mips64el@0.24.0":
resolution:
{
integrity: sha512-hIKvXm0/3w/5+RDtCJeXqMZGkI2s4oMUGj3/jM0QzhgIASWrGO5/RlzAzm5nNh/awHE0A19h/CvHQe6FaBNrRA==,
}
engines: { node: ">=18" }
cpu: [mips64el]
os: [linux]
"@esbuild/linux-ppc64@0.21.5":
resolution:
{
@ -925,6 +874,15 @@ packages:
cpu: [ppc64]
os: [linux]
"@esbuild/linux-ppc64@0.24.0":
resolution:
{
integrity: sha512-HcZh5BNq0aC52UoocJxaKORfFODWXZxtBaaZNuN3PUX3MoDsChsZqopzi5UupRhPHSEHotoiptqikjN/B77mYQ==,
}
engines: { node: ">=18" }
cpu: [ppc64]
os: [linux]
"@esbuild/linux-riscv64@0.21.5":
resolution:
{
@ -934,6 +892,15 @@ packages:
cpu: [riscv64]
os: [linux]
"@esbuild/linux-riscv64@0.24.0":
resolution:
{
integrity: sha512-bEh7dMn/h3QxeR2KTy1DUszQjUrIHPZKyO6aN1X4BCnhfYhuQqedHaa5MxSQA/06j3GpiIlFGSsy1c7Gf9padw==,
}
engines: { node: ">=18" }
cpu: [riscv64]
os: [linux]
"@esbuild/linux-s390x@0.21.5":
resolution:
{
@ -943,6 +910,15 @@ packages:
cpu: [s390x]
os: [linux]
"@esbuild/linux-s390x@0.24.0":
resolution:
{
integrity: sha512-ZcQ6+qRkw1UcZGPyrCiHHkmBaj9SiCD8Oqd556HldP+QlpUIe2Wgn3ehQGVoPOvZvtHm8HPx+bH20c9pvbkX3g==,
}
engines: { node: ">=18" }
cpu: [s390x]
os: [linux]
"@esbuild/linux-x64@0.21.5":
resolution:
{
@ -952,6 +928,15 @@ packages:
cpu: [x64]
os: [linux]
"@esbuild/linux-x64@0.24.0":
resolution:
{
integrity: sha512-vbutsFqQ+foy3wSSbmjBXXIJ6PL3scghJoM8zCL142cGaZKAdCZHyf+Bpu/MmX9zT9Q0zFBVKb36Ma5Fzfa8xA==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [linux]
"@esbuild/netbsd-x64@0.21.5":
resolution:
{
@ -961,6 +946,24 @@ packages:
cpu: [x64]
os: [netbsd]
"@esbuild/netbsd-x64@0.24.0":
resolution:
{
integrity: sha512-hjQ0R/ulkO8fCYFsG0FZoH+pWgTTDreqpqY7UnQntnaKv95uP5iW3+dChxnx7C3trQQU40S+OgWhUVwCjVFLvg==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [netbsd]
"@esbuild/openbsd-arm64@0.24.0":
resolution:
{
integrity: sha512-MD9uzzkPQbYehwcN583yx3Tu5M8EIoTD+tUgKF982WYL9Pf5rKy9ltgD0eUgs8pvKnmizxjXZyLt0z6DC3rRXg==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [openbsd]
"@esbuild/openbsd-x64@0.21.5":
resolution:
{
@ -970,6 +973,15 @@ packages:
cpu: [x64]
os: [openbsd]
"@esbuild/openbsd-x64@0.24.0":
resolution:
{
integrity: sha512-4ir0aY1NGUhIC1hdoCzr1+5b43mw99uNwVzhIq1OY3QcEwPDO3B7WNXBzaKY5Nsf1+N11i1eOfFcq+D/gOS15Q==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [openbsd]
"@esbuild/sunos-x64@0.21.5":
resolution:
{
@ -979,6 +991,15 @@ packages:
cpu: [x64]
os: [sunos]
"@esbuild/sunos-x64@0.24.0":
resolution:
{
integrity: sha512-jVzdzsbM5xrotH+W5f1s+JtUy1UWgjU0Cf4wMvffTB8m6wP5/kx0KiaLHlbJO+dMgtxKV8RQ/JvtlFcdZ1zCPA==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [sunos]
"@esbuild/win32-arm64@0.21.5":
resolution:
{
@ -988,6 +1009,15 @@ packages:
cpu: [arm64]
os: [win32]
"@esbuild/win32-arm64@0.24.0":
resolution:
{
integrity: sha512-iKc8GAslzRpBytO2/aN3d2yb2z8XTVfNV0PjGlCxKo5SgWmNXx82I/Q3aG1tFfS+A2igVCY97TJ8tnYwpUWLCA==,
}
engines: { node: ">=18" }
cpu: [arm64]
os: [win32]
"@esbuild/win32-ia32@0.21.5":
resolution:
{
@ -997,6 +1027,15 @@ packages:
cpu: [ia32]
os: [win32]
"@esbuild/win32-ia32@0.24.0":
resolution:
{
integrity: sha512-vQW36KZolfIudCcTnaTpmLQ24Ha1RjygBo39/aLkM2kmjkWmZGEJ5Gn9l5/7tzXA42QGIoWbICfg6KLLkIw6yw==,
}
engines: { node: ">=18" }
cpu: [ia32]
os: [win32]
"@esbuild/win32-x64@0.21.5":
resolution:
{
@ -1006,28 +1045,37 @@ packages:
cpu: [x64]
os: [win32]
"@expressive-code/core@0.35.6":
"@esbuild/win32-x64@0.24.0":
resolution:
{
integrity: sha512-xGqCkmfkgT7lr/rvmfnYdDSeTdCSp1otAHgoFS6wNEeO7wGDPpxdosVqYiIcQ8CfWUABh/pGqWG90q+MV3824A==,
integrity: sha512-7IAFPrjSQIJrGsK6flwg7NFmwBoSTyF3rl7If0hNUFQU4ilTsEPL6GuMuU9BfIWVVGuRnuIidkSMC+c0Otu8IA==,
}
engines: { node: ">=18" }
cpu: [x64]
os: [win32]
"@expressive-code/core@0.38.3":
resolution:
{
integrity: sha512-s0/OtdRpBONwcn23O8nVwDNQqpBGKscysejkeBkwlIeHRLZWgiTVrusT5Idrdz1d8cW5wRk9iGsAIQmwDPXgJg==,
}
"@expressive-code/plugin-frames@0.35.6":
"@expressive-code/plugin-frames@0.38.3":
resolution:
{
integrity: sha512-CqjSWjDJ3wabMJZfL9ZAzH5UAGKg7KWsf1TBzr4xvUbZvWoBtLA/TboBML0U1Ls8h/4TRCIvR4VEb8dv5+QG3w==,
integrity: sha512-qL2oC6FplmHNQfZ8ZkTR64/wKo9x0c8uP2WDftR/ydwN/yhe1ed7ZWYb8r3dezxsls+tDokCnN4zYR594jbpvg==,
}
"@expressive-code/plugin-shiki@0.35.6":
"@expressive-code/plugin-shiki@0.38.3":
resolution:
{
integrity: sha512-xm+hzi9BsmhkDUGuyAWIydOAWer7Cs9cj8FM0t4HXaQ+qCubprT6wJZSKUxuvFJIUsIOqk1xXFaJzGJGnWtKMg==,
integrity: sha512-kqHnglZeesqG3UKrb6e9Fq5W36AZ05Y9tCREmSN2lw8LVTqENIeCIkLDdWtQ5VoHlKqwUEQFTVlRehdwoY7Gmw==,
}
"@expressive-code/plugin-text-markers@0.35.6":
"@expressive-code/plugin-text-markers@0.38.3":
resolution:
{
integrity: sha512-/k9eWVZSCs+uEKHR++22Uu6eIbHWEciVHbIuD8frT8DlqTtHYaaiwHPncO6KFWnGDz5i/gL7oyl6XmOi/E6GVg==,
integrity: sha512-dPK3+BVGTbTmGQGU3Fkj3jZ3OltWUAlxetMHI6limUGCWBCucZiwoZeFM/WmqQa71GyKRzhBT+iEov6kkz2xVA==,
}
"@fontsource/inter@5.1.0":
@ -1204,6 +1252,13 @@ packages:
cpu: [x64]
os: [win32]
"@isaacs/cliui@8.0.2":
resolution:
{
integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==,
}
engines: { node: ">=12" }
"@jridgewell/gen-mapping@0.3.5":
resolution:
{
@ -1225,12 +1280,6 @@ packages:
}
engines: { node: ">=6.0.0" }
"@jridgewell/sourcemap-codec@1.4.15":
resolution:
{
integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==,
}
"@jridgewell/sourcemap-codec@1.5.0":
resolution:
{
@ -1243,10 +1292,10 @@ packages:
integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==,
}
"@mdx-js/mdx@3.0.1":
"@mdx-js/mdx@3.1.0":
resolution:
{
integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==,
integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==,
}
"@nodelib/fs.scandir@2.1.5":
@ -1322,10 +1371,150 @@ packages:
cpu: [x64]
os: [win32]
"@rollup/pluginutils@5.1.2":
"@parcel/watcher-android-arm64@2.5.0":
resolution:
{
integrity: sha512-/FIdS3PyZ39bjZlwqFnWqCOVnW7o963LtKMwQOD0NhQqw22gSr2YY1afu3FxRip4ZCZNsD5jq6Aaz6QV3D/Njw==,
integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm64]
os: [android]
"@parcel/watcher-darwin-arm64@2.5.0":
resolution:
{
integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm64]
os: [darwin]
"@parcel/watcher-darwin-x64@2.5.0":
resolution:
{
integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==,
}
engines: { node: ">= 10.0.0" }
cpu: [x64]
os: [darwin]
"@parcel/watcher-freebsd-x64@2.5.0":
resolution:
{
integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==,
}
engines: { node: ">= 10.0.0" }
cpu: [x64]
os: [freebsd]
"@parcel/watcher-linux-arm-glibc@2.5.0":
resolution:
{
integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm]
os: [linux]
"@parcel/watcher-linux-arm-musl@2.5.0":
resolution:
{
integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm]
os: [linux]
"@parcel/watcher-linux-arm64-glibc@2.5.0":
resolution:
{
integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm64]
os: [linux]
"@parcel/watcher-linux-arm64-musl@2.5.0":
resolution:
{
integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm64]
os: [linux]
"@parcel/watcher-linux-x64-glibc@2.5.0":
resolution:
{
integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==,
}
engines: { node: ">= 10.0.0" }
cpu: [x64]
os: [linux]
"@parcel/watcher-linux-x64-musl@2.5.0":
resolution:
{
integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==,
}
engines: { node: ">= 10.0.0" }
cpu: [x64]
os: [linux]
"@parcel/watcher-wasm@2.5.0":
resolution:
{
integrity: sha512-Z4ouuR8Pfggk1EYYbTaIoxc+Yv4o7cGQnH0Xy8+pQ+HbiW+ZnwhcD2LPf/prfq1nIWpAxjOkQ8uSMFWMtBLiVQ==,
}
engines: { node: ">= 10.0.0" }
bundledDependencies:
- napi-wasm
"@parcel/watcher-win32-arm64@2.5.0":
resolution:
{
integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==,
}
engines: { node: ">= 10.0.0" }
cpu: [arm64]
os: [win32]
"@parcel/watcher-win32-ia32@2.5.0":
resolution:
{
integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==,
}
engines: { node: ">= 10.0.0" }
cpu: [ia32]
os: [win32]
"@parcel/watcher-win32-x64@2.5.0":
resolution:
{
integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==,
}
engines: { node: ">= 10.0.0" }
cpu: [x64]
os: [win32]
"@parcel/watcher@2.5.0":
resolution:
{
integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==,
}
engines: { node: ">= 10.0.0" }
"@pkgjs/parseargs@0.11.0":
resolution:
{
integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==,
}
engines: { node: ">=14" }
"@rollup/pluginutils@5.1.4":
resolution:
{
integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==,
}
engines: { node: ">=14.0.0" }
peerDependencies:
@ -1334,168 +1523,186 @@ packages:
rollup:
optional: true
"@rollup/rollup-android-arm-eabi@4.22.5":
"@rollup/rollup-android-arm-eabi@4.28.1":
resolution:
{
integrity: sha512-SU5cvamg0Eyu/F+kLeMXS7GoahL+OoizlclVFX3l5Ql6yNlywJJ0OuqTzUx0v+aHhPHEB/56CT06GQrRrGNYww==,
integrity: sha512-2aZp8AES04KI2dy3Ss6/MDjXbwBzj+i0GqKtWXgw2/Ma6E4jJvujryO6gJAghIRVz7Vwr9Gtl/8na3nDUKpraQ==,
}
cpu: [arm]
os: [android]
"@rollup/rollup-android-arm64@4.22.5":
"@rollup/rollup-android-arm64@4.28.1":
resolution:
{
integrity: sha512-S4pit5BP6E5R5C8S6tgU/drvgjtYW76FBuG6+ibG3tMvlD1h9LHVF9KmlmaUBQ8Obou7hEyS+0w+IR/VtxwNMQ==,
integrity: sha512-EbkK285O+1YMrg57xVA+Dp0tDBRB93/BZKph9XhMjezf6F4TpYjaUSuPt5J0fZXlSag0LmZAsTmdGGqPp4pQFA==,
}
cpu: [arm64]
os: [android]
"@rollup/rollup-darwin-arm64@4.22.5":
"@rollup/rollup-darwin-arm64@4.28.1":
resolution:
{
integrity: sha512-250ZGg4ipTL0TGvLlfACkIxS9+KLtIbn7BCZjsZj88zSg2Lvu3Xdw6dhAhfe/FjjXPVNCtcSp+WZjVsD3a/Zlw==,
integrity: sha512-prduvrMKU6NzMq6nxzQw445zXgaDBbMQvmKSJaxpaZ5R1QDM8w+eGxo6Y/jhT/cLoCvnZI42oEqf9KQNYz1fqQ==,
}
cpu: [arm64]
os: [darwin]
"@rollup/rollup-darwin-x64@4.22.5":
"@rollup/rollup-darwin-x64@4.28.1":
resolution:
{
integrity: sha512-D8brJEFg5D+QxFcW6jYANu+Rr9SlKtTenmsX5hOSzNYVrK5oLAEMTUgKWYJP+wdKyCdeSwnapLsn+OVRFycuQg==,
integrity: sha512-WsvbOunsUk0wccO/TV4o7IKgloJ942hVFK1CLatwv6TJspcCZb9umQkPdvB7FihmdxgaKR5JyxDjWpCOp4uZlQ==,
}
cpu: [x64]
os: [darwin]
"@rollup/rollup-linux-arm-gnueabihf@4.22.5":
"@rollup/rollup-freebsd-arm64@4.28.1":
resolution:
{
integrity: sha512-PNqXYmdNFyWNg0ma5LdY8wP+eQfdvyaBAojAXgO7/gs0Q/6TQJVXAXe8gwW9URjbS0YAammur0fynYGiWsKlXw==,
integrity: sha512-HTDPdY1caUcU4qK23FeeGxCdJF64cKkqajU0iBnTVxS8F7H/7BewvYoG+va1KPSL63kQ1PGNyiwKOfReavzvNA==,
}
cpu: [arm64]
os: [freebsd]
"@rollup/rollup-freebsd-x64@4.28.1":
resolution:
{
integrity: sha512-m/uYasxkUevcFTeRSM9TeLyPe2QDuqtjkeoTpP9SW0XxUWfcYrGDMkO/m2tTw+4NMAF9P2fU3Mw4ahNvo7QmsQ==,
}
cpu: [x64]
os: [freebsd]
"@rollup/rollup-linux-arm-gnueabihf@4.28.1":
resolution:
{
integrity: sha512-QAg11ZIt6mcmzpNE6JZBpKfJaKkqTm1A9+y9O+frdZJEuhQxiugM05gnCWiANHj4RmbgeVJpTdmKRmH/a+0QbA==,
}
cpu: [arm]
os: [linux]
"@rollup/rollup-linux-arm-musleabihf@4.22.5":
"@rollup/rollup-linux-arm-musleabihf@4.28.1":
resolution:
{
integrity: sha512-kSSCZOKz3HqlrEuwKd9TYv7vxPYD77vHSUvM2y0YaTGnFc8AdI5TTQRrM1yIp3tXCKrSL9A7JLoILjtad5t8pQ==,
integrity: sha512-dRP9PEBfolq1dmMcFqbEPSd9VlRuVWEGSmbxVEfiq2cs2jlZAl0YNxFzAQS2OrQmsLBLAATDMb3Z6MFv5vOcXg==,
}
cpu: [arm]
os: [linux]
"@rollup/rollup-linux-arm64-gnu@4.22.5":
"@rollup/rollup-linux-arm64-gnu@4.28.1":
resolution:
{
integrity: sha512-oTXQeJHRbOnwRnRffb6bmqmUugz0glXaPyspp4gbQOPVApdpRrY/j7KP3lr7M8kTfQTyrBUzFjj5EuHAhqH4/w==,
integrity: sha512-uGr8khxO+CKT4XU8ZUH1TTEUtlktK6Kgtv0+6bIFSeiSlnGJHG1tSFSjm41uQ9sAO/5ULx9mWOz70jYLyv1QkA==,
}
cpu: [arm64]
os: [linux]
"@rollup/rollup-linux-arm64-musl@4.22.5":
"@rollup/rollup-linux-arm64-musl@4.28.1":
resolution:
{
integrity: sha512-qnOTIIs6tIGFKCHdhYitgC2XQ2X25InIbZFor5wh+mALH84qnFHvc+vmWUpyX97B0hNvwNUL4B+MB8vJvH65Fw==,
integrity: sha512-QF54q8MYGAqMLrX2t7tNpi01nvq5RI59UBNx+3+37zoKX5KViPo/gk2QLhsuqok05sSCRluj0D00LzCwBikb0A==,
}
cpu: [arm64]
os: [linux]
"@rollup/rollup-linux-powerpc64le-gnu@4.22.5":
"@rollup/rollup-linux-loongarch64-gnu@4.28.1":
resolution:
{
integrity: sha512-TMYu+DUdNlgBXING13rHSfUc3Ky5nLPbWs4bFnT+R6Vu3OvXkTkixvvBKk8uO4MT5Ab6lC3U7x8S8El2q5o56w==,
integrity: sha512-vPul4uodvWvLhRco2w0GcyZcdyBfpfDRgNKU+p35AWEbJ/HPs1tOUrkSueVbBS0RQHAf/A+nNtDpvw95PeVKOA==,
}
cpu: [loong64]
os: [linux]
"@rollup/rollup-linux-powerpc64le-gnu@4.28.1":
resolution:
{
integrity: sha512-pTnTdBuC2+pt1Rmm2SV7JWRqzhYpEILML4PKODqLz+C7Ou2apEV52h19CR7es+u04KlqplggmN9sqZlekg3R1A==,
}
cpu: [ppc64]
os: [linux]
"@rollup/rollup-linux-riscv64-gnu@4.22.5":
"@rollup/rollup-linux-riscv64-gnu@4.28.1":
resolution:
{
integrity: sha512-PTQq1Kz22ZRvuhr3uURH+U/Q/a0pbxJoICGSprNLAoBEkyD3Sh9qP5I0Asn0y0wejXQBbsVMRZRxlbGFD9OK4A==,
integrity: sha512-vWXy1Nfg7TPBSuAncfInmAI/WZDd5vOklyLJDdIRKABcZWojNDY0NJwruY2AcnCLnRJKSaBgf/GiJfauu8cQZA==,
}
cpu: [riscv64]
os: [linux]
"@rollup/rollup-linux-s390x-gnu@4.22.5":
"@rollup/rollup-linux-s390x-gnu@4.28.1":
resolution:
{
integrity: sha512-bR5nCojtpuMss6TDEmf/jnBnzlo+6n1UhgwqUvRoe4VIotC7FG1IKkyJbwsT7JDsF2jxR+NTnuOwiGv0hLyDoQ==,
integrity: sha512-/yqC2Y53oZjb0yz8PVuGOQQNOTwxcizudunl/tFs1aLvObTclTwZ0JhXF2XcPT/zuaymemCDSuuUPXJJyqeDOg==,
}
cpu: [s390x]
os: [linux]
"@rollup/rollup-linux-x64-gnu@4.22.5":
"@rollup/rollup-linux-x64-gnu@4.28.1":
resolution:
{
integrity: sha512-N0jPPhHjGShcB9/XXZQWuWBKZQnC1F36Ce3sDqWpujsGjDz/CQtOL9LgTrJ+rJC8MJeesMWrMWVLKKNR/tMOCA==,
integrity: sha512-fzgeABz7rrAlKYB0y2kSEiURrI0691CSL0+KXwKwhxvj92VULEDQLpBYLHpF49MSiPG4sq5CK3qHMnb9tlCjBw==,
}
cpu: [x64]
os: [linux]
"@rollup/rollup-linux-x64-musl@4.22.5":
"@rollup/rollup-linux-x64-musl@4.28.1":
resolution:
{
integrity: sha512-uBa2e28ohzNNwjr6Uxm4XyaA1M/8aTgfF2T7UIlElLaeXkgpmIJ2EitVNQxjO9xLLLy60YqAgKn/AqSpCUkE9g==,
integrity: sha512-xQTDVzSGiMlSshpJCtudbWyRfLaNiVPXt1WgdWTwWz9n0U12cI2ZVtWe/Jgwyv/6wjL7b66uu61Vg0POWVfz4g==,
}
cpu: [x64]
os: [linux]
"@rollup/rollup-win32-arm64-msvc@4.22.5":
"@rollup/rollup-win32-arm64-msvc@4.28.1":
resolution:
{
integrity: sha512-RXT8S1HP8AFN/Kr3tg4fuYrNxZ/pZf1HemC5Tsddc6HzgGnJm0+Lh5rAHJkDuW3StI0ynNXukidROMXYl6ew8w==,
integrity: sha512-wSXmDRVupJstFP7elGMgv+2HqXelQhuNf+IS4V+nUpNVi/GUiBgDmfwD0UGN3pcAnWsgKG3I52wMOBnk1VHr/A==,
}
cpu: [arm64]
os: [win32]
"@rollup/rollup-win32-ia32-msvc@4.22.5":
"@rollup/rollup-win32-ia32-msvc@4.28.1":
resolution:
{
integrity: sha512-ElTYOh50InL8kzyUD6XsnPit7jYCKrphmddKAe1/Ytt74apOxDq5YEcbsiKs0fR3vff3jEneMM+3I7jbqaMyBg==,
integrity: sha512-ZkyTJ/9vkgrE/Rk9vhMXhf8l9D+eAhbAVbsGsXKy2ohmJaWg0LPQLnIxRdRp/bKyr8tXuPlXhIoGlEB5XpJnGA==,
}
cpu: [ia32]
os: [win32]
"@rollup/rollup-win32-x64-msvc@4.22.5":
"@rollup/rollup-win32-x64-msvc@4.28.1":
resolution:
{
integrity: sha512-+lvL/4mQxSV8MukpkKyyvfwhH266COcWlXE/1qxwN08ajovta3459zrjLghYMgDerlzNwLAcFpvU+WWE5y6nAQ==,
integrity: sha512-ZvK2jBafvttJjoIdKm/Q/Bh7IJ1Ose9IBOwpOXcOvW3ikGTQGmKDgxTC6oCAzW6PynbkKP8+um1du81XJHZ0JA==,
}
cpu: [x64]
os: [win32]
"@shikijs/core@1.20.0":
"@shikijs/core@1.24.3":
resolution:
{
integrity: sha512-KlO3iE0THzSdYkzDFugt8SHe6FR3qNYTkmpbdW1d6xo8juQkMjybxAw/cBi2npL2eb2F4PbbnSs5Z9tDusfvyg==,
integrity: sha512-VRcf4GYUIkxIchGM9DrapRcxtgojg4IWKUtX5EtW+4PJiGzF2xQqZSv27PJt+WLc18KT3CNLpNWow9JYV5n+Rg==,
}
"@shikijs/core@1.6.3":
"@shikijs/engine-javascript@1.24.3":
resolution:
{
integrity: sha512-QnJKHFUW95GnlJLJGP6QLx4M69HM0KlXk+R2Y8lr/x4nAx1Yb/lsuxq4XwybuUjTxbJk+BT0g/kvn0bcsjGGHg==,
integrity: sha512-De8tNLvYjeK6V0Gb47jIH2M+OKkw+lWnSV1j3HVDFMlNIglmVcTMG2fASc29W0zuFbfEEwKjO8Fe4KYSO6Ce3w==,
}
"@shikijs/engine-javascript@1.20.0":
"@shikijs/engine-oniguruma@1.24.3":
resolution:
{
integrity: sha512-ZUMo758uduM0Tfgzi/kd+0IKMbNdumCxxWjY36uf1DIs2Qyg9HIq3vA1Wfa/vc6HE7tHWFpANRi3mv7UzJ68MQ==,
integrity: sha512-iNnx950gs/5Nk+zrp1LuF+S+L7SKEhn8k9eXgFYPGhVshKppsYwRmW8tpmAMvILIMSDfrgqZ0w+3xWVQB//1Xw==,
}
"@shikijs/engine-oniguruma@1.20.0":
"@shikijs/types@1.24.3":
resolution:
{
integrity: sha512-MQ40WkVTZk7by33ces4PGK6XNFSo6PYvKTSAr2kTWdRNhFmOcnaX+1XzvFwB26eySXR7U74t91czZ1qJkEgxTA==,
integrity: sha512-FPMrJ69MNxhRtldRk69CghvaGlbbN3pKRuvko0zvbfa2dXp4pAngByToqS5OY5jvN8D7LKR4RJE8UvzlCOuViw==,
}
"@shikijs/types@1.20.0":
"@shikijs/vscode-textmate@9.3.1":
resolution:
{
integrity: sha512-y+EaDvU2K6/GaXOKXxJaGnr1XtmZMF7MfS0pSEDdxEq66gCtKsLwQvVwoQFdp7R7dLlNAro3ijEE19sMZ0pzqg==,
}
"@shikijs/vscode-textmate@9.2.2":
resolution:
{
integrity: sha512-TMp15K+GGYrWlZM8+Lnj9EaHEFmOen0WJBrfa17hF7taDOYthuPPV0GWzfd/9iMij0akS/8Yw2ikquH7uVi/fg==,
integrity: sha512-79QfK1393x9Ho60QFyLti+QfdJzRQCVLFb97kOIV7Eo9vQU/roINgk7m24uv0a7AUvN//RDH36FLjjK48v0s9g==,
}
"@trysound/sax@0.2.0":
@ -1511,30 +1718,6 @@ packages:
integrity: sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==,
}
"@types/babel__core@7.20.5":
resolution:
{
integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==,
}
"@types/babel__generator@7.6.7":
resolution:
{
integrity: sha512-6Sfsq+EaaLrw4RmdFWE9Onp63TOUue71AWb4Gpa6JxzgTYtimbM086WnYTy2U67AofR++QKCo08ZP6pwx8YFHQ==,
}
"@types/babel__template@7.4.4":
resolution:
{
integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==,
}
"@types/babel__traverse@7.20.4":
resolution:
{
integrity: sha512-mSM/iKUk5fDDrEV/e83qY+Cr3I1+Q3qqTuEn++HAWYjEa1+NxZr6CNrcJGf2ZTnq4HoFGC3zaTPZTobCzCFukA==,
}
"@types/cookie@0.6.0":
resolution:
{
@ -1553,34 +1736,22 @@ packages:
integrity: sha512-pvQ+TKeRHeiUGRhvYwRrQ/ISnohKkSJR14fT2yqyZ4e9K5vqc7hrtY2Y1Dw0ZwAzQ6DQsxsaCUuSIIi8v0Cq6w==,
}
"@types/estree@1.0.5":
resolution:
{
integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==,
}
"@types/estree@1.0.6":
resolution:
{
integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==,
}
"@types/hast@3.0.3":
resolution:
{
integrity: sha512-2fYGlaDy/qyLlhidX42wAH0KBi2TCjKMH8CHmBXgRlJ3Y+OXTiqsPQ6IWarZKwF1JoUcAJdPogv1d4b0COTpmQ==,
}
"@types/hast@3.0.4":
resolution:
{
integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==,
}
"@types/mdast@4.0.3":
"@types/js-yaml@4.0.9":
resolution:
{
integrity: sha512-LsjtqsyF+d2/yFOYaN22dHZI1Cpwkrj+g06G8+qtUKlhovPW89YhqSnfKtMbkgmEtYpH2gydRNULd6y8mciAFg==,
integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==,
}
"@types/mdast@4.0.4":
@ -1637,42 +1808,42 @@ packages:
integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==,
}
"@volar/kit@2.4.5":
"@volar/kit@2.4.11":
resolution:
{
integrity: sha512-ZzyErW5UiDfiIuJ/lpqc2Kx5PHDGDZ/bPlPJYpRcxlrn8Z8aDhRlsLHkNKcNiH65TmNahk2kbLaiejiqu6BD3A==,
integrity: sha512-ups5RKbMzMCr6RKafcCqDRnJhJDNWqo2vfekwOAj6psZ15v5TlcQFQAyokQJ3wZxVkzxrQM+TqTRDENfQEXpmA==,
}
peerDependencies:
typescript: "*"
"@volar/language-core@2.4.5":
"@volar/language-core@2.4.11":
resolution:
{
integrity: sha512-F4tA0DCO5Q1F5mScHmca0umsi2ufKULAnMOVBfMsZdT4myhVl4WdKRwCaKcfOkIEuyrAVvtq1ESBdZ+rSyLVww==,
integrity: sha512-lN2C1+ByfW9/JRPpqScuZt/4OrUUse57GLI6TbLgTIqBVemdl1wNcZ1qYGEo2+Gw8coYLgCy7SuKqn6IrQcQgg==,
}
"@volar/language-server@2.4.5":
"@volar/language-server@2.4.11":
resolution:
{
integrity: sha512-l5PswE0JzCtstTlwBUpikeSa3lNUBJhTuWtj9KclZTGi2Uex4RcqGOhTiDsUUtvdv/hEuYCxGq1EdJJPlQsD/g==,
integrity: sha512-W9P8glH1M8LGREJ7yHRCANI5vOvTrRO15EMLdmh5WNF9sZYSEbQxiHKckZhvGIkbeR1WAlTl3ORTrJXUghjk7g==,
}
"@volar/language-service@2.4.5":
"@volar/language-service@2.4.11":
resolution:
{
integrity: sha512-xiFlL0aViGg6JhwAXyohPrdlID13uom8WQg6DWYaV8ob8RRy+zoLlBUI8SpQctwlWEO9poyrYK01revijAwkcw==,
integrity: sha512-KIb6g8gjUkS2LzAJ9bJCLIjfsJjeRtmXlu7b2pDFGD3fNqdbC53cCAKzgWDs64xtQVKYBU13DLWbtSNFtGuMLQ==,
}
"@volar/source-map@2.4.5":
"@volar/source-map@2.4.11":
resolution:
{
integrity: sha512-varwD7RaKE2J/Z+Zu6j3mNNJbNT394qIxXwdvz/4ao/vxOfyClZpSDtLKkwWmecinkOVos5+PWkWraelfMLfpw==,
integrity: sha512-ZQpmafIGvaZMn/8iuvCFGrW3smeqkq/IIh9F1SdSx9aUl0J4Iurzd6/FhmjNO5g2ejF3rT45dKskgXWiofqlZQ==,
}
"@volar/typescript@2.4.5":
"@volar/typescript@2.4.11":
resolution:
{
integrity: sha512-mcT1mHvLljAEtHviVcBuOyAwwMKz1ibXTi5uYtP/pf4XxoAzpdkQ+Br2IC0NPCvLCbjPZmbf3I0udndkfB1CDg==,
integrity: sha512-2DT+Tdh88Spp5PyPbqhyoYavYCPDsqbHLFwcUI9K1NlY1YgUJvujGdrqUp0zWxnW7KWNTr3xSpMuv2WnaTKDAw==,
}
"@vscode/emmet-helper@2.9.3":
@ -1695,10 +1866,10 @@ packages:
peerDependencies:
acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
acorn@8.12.1:
acorn@8.14.0:
resolution:
{
integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==,
integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==,
}
engines: { node: ">=0.4.0" }
hasBin: true
@ -1729,13 +1900,6 @@ packages:
}
engines: { node: ">=12" }
ansi-styles@3.2.1:
resolution:
{
integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==,
}
engines: { node: ">=4" }
ansi-styles@4.3.0:
resolution:
{
@ -1781,11 +1945,12 @@ packages:
integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==,
}
aria-query@5.3.0:
aria-query@5.3.2:
resolution:
{
integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==,
integrity: sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==,
}
engines: { node: ">= 0.4" }
array-iterate@2.0.1:
resolution:
@ -1800,21 +1965,21 @@ packages:
}
hasBin: true
astro-expressive-code@0.35.6:
astro-expressive-code@0.38.3:
resolution:
{
integrity: sha512-1U4KrvFuodaCV3z4I1bIR16SdhQlPkolGsYTtiANxPZUVv/KitGSCTjzksrkPonn1XuwVqvnwmUUVzTLWngnBA==,
integrity: sha512-Tvdc7RV0G92BbtyEOsfJtXU35w41CkM94fOAzxbQP67Wj5jArfserJ321FO4XA7WG9QMV0GIBmQq77NBIRDzpQ==,
}
peerDependencies:
astro: ^4.0.0-beta || ^3.3.0
astro: ^4.0.0-beta || ^5.0.0-beta || ^3.3.0
astro@4.15.9:
astro@5.1.0:
resolution:
{
integrity: sha512-51oXq9qrZ5OPWYmEXt1kGrvWmVeWsx28SgBTzi2XW6iwcnW/wC5ONm6ol6qBGSCF93tQvZplXvuzpaw1injECA==,
integrity: sha512-g/cqwGK84Ozp5jyW45c3+2KQ4BeJtigbfwO8EA3lr7AC+XjE6/5dMvX4/bBaWf3gJVghd0L6cdqwlWikq+/Rrw==,
}
engines:
{ node: ^18.17.1 || ^20.3.0 || >=21.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" }
{ node: ^18.17.1 || ^20.3.0 || >=22.0.0, npm: ">=9.6.5", pnpm: ">=7.1.0" }
hasBin: true
autoprefixer@10.4.20:
@ -1877,26 +2042,19 @@ packages:
integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==,
}
boxen@7.1.1:
boxen@8.0.1:
resolution:
{
integrity: sha512-2hCgjEmP8YLWQ130n2FerGv7rYpfBmnmp9Uy2Le1vge6X3gZIfSmEzP5QTDElFxcvVcXlEn8Aq6MU/PZygIOog==,
integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==,
}
engines: { node: ">=14.16" }
engines: { node: ">=18" }
brace-expansion@1.1.11:
brace-expansion@2.0.1:
resolution:
{
integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==,
integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==,
}
braces@3.0.2:
resolution:
{
integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==,
}
engines: { node: ">=8" }
braces@3.0.3:
resolution:
{
@ -1919,12 +2077,12 @@ packages:
}
engines: { node: ">= 6" }
camelcase@7.0.1:
camelcase@8.0.0:
resolution:
{
integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==,
integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==,
}
engines: { node: ">=14.16" }
engines: { node: ">=16" }
caniuse-api@3.0.0:
resolution:
@ -1950,13 +2108,6 @@ packages:
integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==,
}
chalk@2.4.2:
resolution:
{
integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==,
}
engines: { node: ">=4" }
chalk@5.3.0:
resolution:
{
@ -1995,13 +2146,26 @@ packages:
}
engines: { node: ">= 8.10.0" }
ci-info@4.0.0:
chokidar@4.0.3:
resolution:
{
integrity: sha512-TdHqgGf9odd8SXNuxtUBVx8Nv+qZOejE6qyqiy5NtbYYQOeFa6zmHkxlPzmaLxWWHsU6nJmB7AETdVPi+2NBUg==,
integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==,
}
engines: { node: ">= 14.16.0" }
ci-info@4.1.0:
resolution:
{
integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==,
}
engines: { node: ">=8" }
citty@0.1.6:
resolution:
{
integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==,
}
cli-boxes@3.0.0:
resolution:
{
@ -2009,20 +2173,13 @@ packages:
}
engines: { node: ">=10" }
cli-cursor@5.0.0:
clipboardy@4.0.0:
resolution:
{
integrity: sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==,
integrity: sha512-5mOlNS0mhX0707P2I0aZ2V/cmHUEO/fL7VFLqszkhUsxt7RwnmrInf/eEQKlf5GzvYeHIjT+Ov1HRfNmymlG0w==,
}
engines: { node: ">=18" }
cli-spinners@2.9.2:
resolution:
{
integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==,
}
engines: { node: ">=6" }
cliui@8.0.1:
resolution:
{
@ -2043,12 +2200,6 @@ packages:
integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==,
}
color-convert@1.9.3:
resolution:
{
integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==,
}
color-convert@2.0.1:
resolution:
{
@ -2056,12 +2207,6 @@ packages:
}
engines: { node: ">=7.0.0" }
color-name@1.1.3:
resolution:
{
integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==,
}
color-name@1.1.4:
resolution:
{
@ -2113,29 +2258,49 @@ packages:
integrity: sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==,
}
concat-map@0.0.1:
confbox@0.1.8:
resolution:
{
integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==,
integrity: sha512-RMtmw0iFkeR4YV+fUOSucriAQNb9g8zFR52MWCtl+cCZOFRNL6zeB395vPzFhEjjn4fMxXudmELnl/KF/WrK6w==,
}
convert-source-map@2.0.0:
consola@3.2.3:
resolution:
{
integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==,
integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==,
}
engines: { node: ^14.18.0 || >=16.10.0 }
cookie-es@1.2.2:
resolution:
{
integrity: sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==,
}
cookie@0.6.0:
cookie@0.7.2:
resolution:
{
integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==,
integrity: sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==,
}
engines: { node: ">= 0.6" }
css-blank-pseudo@7.0.0:
cross-spawn@7.0.6:
resolution:
{
integrity: sha512-v9xXYGdm6LIn4iHEfu3egk/PM1g/yJr8uwTIj6E44kurv5dE/4y3QW7WdVmZ0PVnqfTuK+C0ClZcEEiaKWBL9Q==,
integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==,
}
engines: { node: ">= 8" }
crossws@0.3.1:
resolution:
{
integrity: sha512-HsZgeVYaG+b5zA+9PbIPGq4+J/CJynJuearykPsXx4V/eMhyQ5EDVg3Ak2FBZtVXCiOLu/U7IiwDHTr9MA+IKw==,
}
css-blank-pseudo@7.0.1:
resolution:
{
integrity: sha512-jf+twWGDf6LDoXDUode+nc7ZlrqfaNphrBIBrcmeP3D8yw1uPaix1gCC8LUQUGQ6CycuK2opkbFFWFuq/a94ag==,
}
engines: { node: ">=18" }
peerDependencies:
@ -2150,10 +2315,10 @@ packages:
peerDependencies:
postcss: ^8.0.9
css-has-pseudo@7.0.0:
css-has-pseudo@7.0.2:
resolution:
{
integrity: sha512-vO6k9bBt4/eEZ2PeHmS2VXjJga5SBy6O1ESyaOkse5/lvp6piFqg8Sh5KTU7X33M7Uh/oqo+M3EeMktQrZoTCQ==,
integrity: sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -2201,10 +2366,10 @@ packages:
}
engines: { node: ">= 6" }
cssdb@8.1.1:
cssdb@8.2.3:
resolution:
{
integrity: sha512-kRbSRgZoxtZNl5snb3nOzBkFOt5AwnephcUTIEFc2DebKG9PN50/cHarlwOooTxYQ/gxsnKs3BxykhNLmfvyLg==,
integrity: sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==,
}
cssesc@3.0.0:
@ -2249,18 +2414,6 @@ packages:
}
engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0, npm: ">=7.0.0" }
debug@4.3.4:
resolution:
{
integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==,
}
engines: { node: ">=6.0" }
peerDependencies:
supports-color: "*"
peerDependenciesMeta:
supports-color:
optional: true
debug@4.3.7:
resolution:
{
@ -2279,6 +2432,12 @@ packages:
integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==,
}
defu@6.1.4:
resolution:
{
integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==,
}
dequal@2.0.3:
resolution:
{
@ -2286,6 +2445,20 @@ packages:
}
engines: { node: ">=6" }
destr@2.0.3:
resolution:
{
integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==,
}
detect-libc@1.0.3:
resolution:
{
integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==,
}
engines: { node: ">=0.10" }
hasBin: true
detect-libc@2.0.3:
resolution:
{
@ -2300,10 +2473,10 @@ packages:
}
engines: { node: ">=18" }
devalue@5.0.0:
devalue@5.1.1:
resolution:
{
integrity: sha512-gO+/OMXF7488D+u3ue+G7Y4AA3ZmUnB3eHJXmBTgNHvr4ZNzl36A0ZtG+XCRNYCkYx/bFmw4qtkoFLa+wSrwAA==,
integrity: sha512-maua5KUiapvEwiEAe+XnlZ3Rh0GD+qI1J/nb9vrJc3muPXvcF/8gXYTWF76+5DAqHyDUtOIImEuo0YKE9mshVw==,
}
devlop@1.1.0:
@ -2363,10 +2536,10 @@ packages:
integrity: sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==,
}
dset@3.1.3:
dset@3.1.4:
resolution:
{
integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==,
integrity: sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==,
}
engines: { node: ">=4" }
@ -2388,6 +2561,12 @@ packages:
integrity: sha512-dJfbdY/hfeTyf/Ef7Y7ubLYzkBvPQ912wPaeVYpAxvFxkEBf/+hJu4H6vhAvFN6HlxqedlfVn2x1S44FfQ97pg==,
}
emoji-regex-xs@1.0.0:
resolution:
{
integrity: sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==,
}
emoji-regex@10.3.0:
resolution:
{
@ -2419,6 +2598,18 @@ packages:
integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==,
}
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@0.21.5:
resolution:
{
@ -2427,12 +2618,13 @@ packages:
engines: { node: ">=12" }
hasBin: true
escalade@3.1.1:
esbuild@0.24.0:
resolution:
{
integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==,
integrity: sha512-FuLPevChGDshgSicjisSooU0cemp/sGXR841D5LHMB7mTVOmsEHcAxaH3irL53+8YDIeVNQEySh4DaYU/iuPqQ==,
}
engines: { node: ">=6" }
engines: { node: ">=18" }
hasBin: true
escalade@3.2.0:
resolution:
@ -2441,13 +2633,6 @@ packages:
}
engines: { node: ">=6" }
escape-string-regexp@1.0.5:
resolution:
{
integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==,
}
engines: { node: ">=0.8.0" }
escape-string-regexp@5.0.0:
resolution:
{
@ -2481,6 +2666,12 @@ packages:
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:
{
@ -2511,18 +2702,18 @@ packages:
integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==,
}
expressive-code@0.35.6:
execa@8.0.1:
resolution:
{
integrity: sha512-+mx+TPTbMqgo0mL92Xh9QgjW0kSQIsEivMgEcOnaqKqL7qCw8Vkqc5Rg/di7ZYw4aMUSr74VTc+w8GQWu05j1g==,
integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==,
}
engines: { node: ">=16.17" }
extend-shallow@2.0.1:
expressive-code@0.38.3:
resolution:
{
integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==,
integrity: sha512-COM04AiUotHCKJgWdn7NtW2lqu8OW8owAidMpkXt1qxrZ9Q2iC7+tok/1qIn2ocGnczvr9paIySgGnEwFeEQ8Q==,
}
engines: { node: ">=0.10.0" }
extend@3.0.2:
resolution:
@ -2549,25 +2740,12 @@ packages:
integrity: sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row==,
}
fastq@1.15.0:
resolution:
{
integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==,
}
fastq@1.17.1:
resolution:
{
integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==,
}
fill-range@7.0.1:
resolution:
{
integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==,
}
engines: { node: ">=8" }
fill-range@7.1.1:
resolution:
{
@ -2602,18 +2780,19 @@ packages:
}
engines: { node: ">=8" }
foreground-child@3.3.0:
resolution:
{
integrity: sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==,
}
engines: { node: ">=14" }
fraction.js@4.3.7:
resolution:
{
integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==,
}
fs.realpath@1.0.0:
resolution:
{
integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==,
}
fsevents@2.3.3:
resolution:
{
@ -2628,13 +2807,6 @@ packages:
integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==,
}
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:
{
@ -2649,6 +2821,19 @@ packages:
}
engines: { node: ">=18" }
get-port-please@3.1.2:
resolution:
{
integrity: sha512-Gxc29eLs1fbn6LQ4jSU4vXjlwyZhF5HsGuMAa7gqBP4Rw4yxxltyDUuF5MBclFzDTXO+ACchGQoeela4DSfzdQ==,
}
get-stream@8.0.1:
resolution:
{
integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==,
}
engines: { node: ">=16" }
github-slugger@2.0.0:
resolution:
{
@ -2669,19 +2854,12 @@ packages:
}
engines: { node: ">=10.13.0" }
glob@7.1.6:
glob@10.4.5:
resolution:
{
integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==,
integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==,
}
deprecated: Glob versions prior to v9 are no longer supported
globals@11.12.0:
resolution:
{
integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==,
}
engines: { node: ">=4" }
hasBin: true
graceful-fs@4.2.11:
resolution:
@ -2689,19 +2867,11 @@ packages:
integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==,
}
gray-matter@4.0.3:
h3@1.13.0:
resolution:
{
integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==,
integrity: sha512-vFEAu/yf8UMUcB4s43OaDaigcqpQd14yanmOsn+NcRX3/guSKncyE2rOYhq8RIchgJrPSs/QiIddnTTR1ddiAg==,
}
engines: { node: ">=6.0" }
has-flag@3.0.0:
resolution:
{
integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==,
}
engines: { node: ">=4" }
hasown@2.0.0:
resolution:
@ -2722,6 +2892,12 @@ packages:
integrity: sha512-RXQBLMl9kjKVNkJTIO6bZyb2n+cUH8LFaSSzo82jiLT6Tfc+Pt7VQCS+/h3YwG4jaNE2TA2sdJisGWR+aJrp0g==,
}
hast-util-from-html@2.0.3:
resolution:
{
integrity: sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==,
}
hast-util-from-parse5@8.0.1:
resolution:
{
@ -2776,18 +2952,18 @@ packages:
integrity: sha512-lfX5g6hqVh9kjS/B9E2gSkvHH4SZNiQFiqWS0x9fENzEl+8W12RqdRxX6d/Cwxi30tPQs3bIO+aolQJNp1bIyw==,
}
hast-util-to-html@9.0.1:
resolution:
{
integrity: sha512-hZOofyZANbyWo+9RP75xIDV/gq+OUKx+T46IlwERnKmfpwp81XBFbT9mi26ws+SJchA4RVUQwIBJpqEOBhMzEQ==,
}
hast-util-to-html@9.0.3:
resolution:
{
integrity: sha512-M17uBDzMJ9RPCqLMO92gNNUDuBSq10a25SDBI08iCCxmorf4Yy6sYHK57n9WAbRAAaU+DuR4W6GN9K4DFZesYg==,
}
hast-util-to-html@9.0.4:
resolution:
{
integrity: sha512-wxQzXtdbhiwGAUKrnQJXlOPmHnEehzphwkK7aluUPQ+lEc1xefC8pblMgpp2w5ldBTEfveRIrADcrhGIWrlTDA==,
}
hast-util-to-jsx-runtime@2.3.0:
resolution:
{
@ -2854,6 +3030,20 @@ packages:
integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==,
}
http-shutdown@1.2.2:
resolution:
{
integrity: sha512-S9wWkJ/VSY9/k4qcjG318bqJNruzE4HySUhFYknwmu6LBP97KLLfwNf+n4V1BHurvFNkSKLFnK/RsuUnRTf9Vw==,
}
engines: { iojs: ">= 1.0.0", node: ">= 0.12.0" }
human-signals@5.0.0:
resolution:
{
integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==,
}
engines: { node: ">=16.17.0" }
i18next@23.15.1:
resolution:
{
@ -2866,19 +3056,6 @@ packages:
integrity: sha512-I6fiaX09Xivtk+THaMfAwnA3MVA5Big1WHF1Dfx9hFuvNIWpXnorlkzhcQf6ehrqQiiZECRt1poOAkPmer3ruw==,
}
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.
inherits@2.0.4:
resolution:
{
integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==,
}
inline-style-parser@0.1.1:
resolution:
{
@ -2891,6 +3068,12 @@ packages:
integrity: sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==,
}
iron-webcrypto@1.2.1:
resolution:
{
integrity: sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==,
}
is-alphabetical@2.0.1:
resolution:
{
@ -2936,13 +3119,6 @@ packages:
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
hasBin: true
is-extendable@0.1.1:
resolution:
{
integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==,
}
engines: { node: ">=0.10.0" }
is-extglob@2.1.1:
resolution:
{
@ -2978,13 +3154,6 @@ packages:
engines: { node: ">=14.16" }
hasBin: true
is-interactive@2.0.0:
resolution:
{
integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==,
}
engines: { node: ">=12" }
is-number@7.0.0:
resolution:
{
@ -2999,25 +3168,12 @@ packages:
}
engines: { node: ">=12" }
is-reference@3.0.2:
is-stream@3.0.0:
resolution:
{
integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==,
integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==,
}
is-unicode-supported@1.3.0:
resolution:
{
integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==,
}
engines: { node: ">=12" }
is-unicode-supported@2.0.0:
resolution:
{
integrity: sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==,
}
engines: { node: ">=18" }
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
is-wsl@3.1.0:
resolution:
@ -3026,18 +3182,38 @@ packages:
}
engines: { node: ">=16" }
jiti@1.21.0:
is64bit@2.0.0:
resolution:
{
integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==,
integrity: sha512-jv+8jaWCl0g2lSBkNSVXdzfBA0npK1HGC2KtWM9FumFRoGS94g3NbCCLVnCYHLjp4GrW2KZeeSTMo5ddtznmGw==,
}
engines: { node: ">=18" }
isexe@2.0.0:
resolution:
{
integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==,
}
jackspeak@3.4.3:
resolution:
{
integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==,
}
jiti@1.21.7:
resolution:
{
integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==,
}
hasBin: true
js-tokens@4.0.0:
jiti@2.4.2:
resolution:
{
integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==,
integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==,
}
hasBin: true
js-yaml@3.14.1:
resolution:
@ -3053,28 +3229,12 @@ packages:
}
hasBin: true
jsesc@2.5.2:
resolution:
{
integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==,
}
engines: { node: ">=4" }
hasBin: true
json-schema-traverse@1.0.0:
resolution:
{
integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==,
}
json5@2.2.3:
resolution:
{
integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==,
}
engines: { node: ">=6" }
hasBin: true
jsonc-parser@2.3.1:
resolution:
{
@ -3087,13 +3247,6 @@ packages:
integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==,
}
kind-of@6.0.3:
resolution:
{
integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==,
}
engines: { node: ">=0.10.0" }
kleur@3.0.3:
resolution:
{
@ -3108,20 +3261,6 @@ packages:
}
engines: { node: ">=6" }
lilconfig@2.1.0:
resolution:
{
integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==,
}
engines: { node: ">=10" }
lilconfig@3.1.1:
resolution:
{
integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==,
}
engines: { node: ">=14" }
lilconfig@3.1.2:
resolution:
{
@ -3129,12 +3268,26 @@ packages:
}
engines: { node: ">=14" }
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==,
}
listhen@1.9.0:
resolution:
{
integrity: sha512-I8oW2+QL5KJo8zXNWX046M134WchxsXC7SawLPvRQpogCbkyQIaFxPE89A2HiwR7vAK2Dm2ERBAmyjTYGYEpBg==,
}
hasBin: true
load-yaml-file@0.2.0:
resolution:
{
@ -3167,29 +3320,22 @@ packages:
integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==,
}
log-symbols@6.0.0:
resolution:
{
integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==,
}
engines: { node: ">=18" }
longest-streak@3.1.0:
resolution:
{
integrity: sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==,
}
lru-cache@5.1.1:
lru-cache@10.4.3:
resolution:
{
integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==,
integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==,
}
magic-string@0.30.11:
magic-string@0.30.17:
resolution:
{
integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==,
integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==,
}
magicast@0.3.5:
@ -3331,6 +3477,12 @@ packages:
integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==,
}
merge-stream@2.0.0:
resolution:
{
integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==,
}
merge2@1.4.1:
resolution:
{
@ -3554,13 +3706,6 @@ packages:
integrity: sha512-o/sd0nMof8kYff+TqcDx3VSrgBTcZpSvYcAHIfHhv5VAuNmisCxjhx6YmxS8PFEpb9z5WKWKPdzf0jM23ro3RQ==,
}
micromatch@4.0.5:
resolution:
{
integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==,
}
engines: { node: ">=8.6" }
micromatch@4.0.8:
resolution:
{
@ -3568,17 +3713,39 @@ packages:
}
engines: { node: ">=8.6" }
mimic-function@5.0.1:
mime@3.0.0:
resolution:
{
integrity: sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==,
integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==,
}
engines: { node: ">=18" }
engines: { node: ">=10.0.0" }
hasBin: true
minimatch@3.1.2:
mimic-fn@4.0.0:
resolution:
{
integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==,
integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==,
}
engines: { node: ">=12" }
minimatch@9.0.5:
resolution:
{
integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==,
}
engines: { node: ">=16 || 14 >=14.17" }
minipass@7.1.2:
resolution:
{
integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==,
}
engines: { node: ">=16 || 14 >=14.17" }
mlly@1.7.3:
resolution:
{
integrity: sha512-xUsx5n/mN0uQf4V548PKQ+YShA4/IW0KI1dZhrNrPCLG+xizETbHTkOa1f8/xut9JRPp8kQuMnz0oqwkTiLo/A==,
}
mrmime@2.0.0:
@ -3588,12 +3755,6 @@ packages:
}
engines: { node: ">=10" }
ms@2.1.2:
resolution:
{
integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==,
}
ms@2.1.3:
resolution:
{
@ -3633,6 +3794,25 @@ packages:
integrity: sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==,
}
node-addon-api@7.1.1:
resolution:
{
integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==,
}
node-fetch-native@1.6.4:
resolution:
{
integrity: sha512-IhOigYzAKHd244OC0JIMIUrjzctirCmPkaIfhDeGcEETWof5zKYUW7e7MYvChGWh/4CJeXEgsRyGzuF334rOOQ==,
}
node-forge@1.3.1:
resolution:
{
integrity: sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==,
}
engines: { node: ">= 6.13.0" }
node-releases@2.0.18:
resolution:
{
@ -3659,6 +3839,13 @@ packages:
integrity: sha512-5PDmaAsVfnWUgTUbJ3ERwn7u79Z0dYxN9ErxCpVJJqe2RK0PJ3z+iFUxuqjwtlDDegXvtWoxD/3Fzxox7tFGWA==,
}
npm-run-path@5.3.0:
resolution:
{
integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==,
}
engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 }
nth-check@2.1.1:
resolution:
{
@ -3679,31 +3866,30 @@ packages:
}
engines: { node: ">= 6" }
once@1.4.0:
ofetch@1.4.1:
resolution:
{
integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==,
integrity: sha512-QZj2DfGplQAr2oj9KzceK9Hwz6Whxazmn85yYeVuS3u9XTMOGMRx0kO95MQ+vLsj/S/NwBDMMLU5hpxvI6Tklw==,
}
onetime@7.0.0:
ohash@1.1.4:
resolution:
{
integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==,
}
engines: { node: ">=18" }
oniguruma-to-js@0.4.3:
resolution:
{
integrity: sha512-X0jWUcAlxORhOqqBREgPMgnshB7ZGYszBNspP+tS9hPD3l13CdaXcHbgImoHUHlrvGx/7AvFEkTRhAGYh+jzjQ==,
integrity: sha512-FlDryZAahJmEF3VR3w1KogSEdWX3WhA5GPakFx4J81kEAiHyLMpdLLElS8n8dfNadMgAne/MywcvmogzscVt4g==,
}
ora@8.1.0:
onetime@6.0.0:
resolution:
{
integrity: sha512-GQEkNkH/GHOhPFXcqZs3IDahXEQcQxsSjEkK4KvEEST4t7eNzoMjxTzef+EZ+JluDEV+Raoi3WQ2CflnRdSVnQ==,
integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==,
}
engines: { node: ">=12" }
oniguruma-to-es@0.8.0:
resolution:
{
integrity: sha512-rY+/a6b+uCgoYIL9itjY0x99UUDHXmGaw7Jjk5ZvM/3cxDJifyxFr/Zm4tTmF6Tre18gAakJo7AzhKUeMNLgHA==,
}
engines: { node: ">=18" }
p-limit@2.3.0:
resolution:
@ -3747,6 +3933,12 @@ packages:
}
engines: { node: ">=6" }
package-json-from-dist@1.0.1:
resolution:
{
integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==,
}
pagefind@1.0.4:
resolution:
{
@ -3785,12 +3977,19 @@ packages:
}
engines: { node: ">=8" }
path-is-absolute@1.0.1:
path-key@3.1.1:
resolution:
{
integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==,
integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==,
}
engines: { node: ">=0.10.0" }
engines: { node: ">=8" }
path-key@4.0.0:
resolution:
{
integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==,
}
engines: { node: ">=12" }
path-parse@1.0.7:
resolution:
@ -3798,10 +3997,17 @@ packages:
integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==,
}
periscopic@3.1.0:
path-scurry@1.11.1:
resolution:
{
integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==,
integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==,
}
engines: { node: ">=16 || 14 >=14.18" }
pathe@1.1.2:
resolution:
{
integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==,
}
picocolors@1.0.0:
@ -3816,6 +4022,12 @@ packages:
integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==,
}
picocolors@1.1.1:
resolution:
{
integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==,
}
picomatch@2.3.1:
resolution:
{
@ -3823,6 +4035,13 @@ packages:
}
engines: { node: ">=8.6" }
picomatch@4.0.2:
resolution:
{
integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==,
}
engines: { node: ">=12" }
pify@2.3.0:
resolution:
{
@ -3851,10 +4070,16 @@ packages:
}
engines: { node: ">=8" }
postcss-attribute-case-insensitive@7.0.0:
pkg-types@1.2.1:
resolution:
{
integrity: sha512-ETMUHIw67Kyv9Q81nden/NuJbRh+4/S963giXpfSLd5eaKK8kd1UdAHMVRV/NG/w/N6Cq8B0qZIZbZZWU/67+A==,
integrity: sha512-sQoqa8alT3nHjGuTjuKgOnvjo4cljkufdtLMnO2LBP/wRwuDlo1tkaEdMxCRhyGRPacv/ztlZgDPm2b7FAmEvw==,
}
postcss-attribute-case-insensitive@7.0.1:
resolution:
{
integrity: sha512-Uai+SupNSqzlschRyNx3kbCTWgY/2hcwtHEI/ej2LJWc9JJ77qKgGptd8DHwY1mXtZ7Aoh4z4yxfwMBue9eNgw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -3878,10 +4103,10 @@ packages:
peerDependencies:
postcss: ^8.4.6
postcss-color-functional-notation@7.0.2:
postcss-color-functional-notation@7.0.6:
resolution:
{
integrity: sha512-c2WkR0MS73s+P5SgY1KBaSEE61Rj+miW095rkWDnMQxbTCQkp6y/jft8U0QMxEsI4k1Pd4PdV+TP9/1zIDR6XQ==,
integrity: sha512-wLXvm8RmLs14Z2nVpB4CWlnvaWPRcOZFltJSlcbYwSJ1EDZKsKDhPKIMecCnuU054KSmlmubkqczmm6qBPCBhA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -3923,37 +4148,37 @@ packages:
peerDependencies:
postcss: ^8.4.31
postcss-custom-media@11.0.1:
postcss-custom-media@11.0.5:
resolution:
{
integrity: sha512-vfBliYVgEEJUFXCRPQ7jYt1wlD322u+/5GT0tZqMVYFInkpDHfjhU3nk2quTRW4uFc/umOOqLlxvrEOZRvloMw==,
integrity: sha512-SQHhayVNgDvSAdX9NQ/ygcDQGEY+aSF4b/96z7QUX6mqL5yl/JgG/DywcF6fW9XbnCRE+aVYk+9/nqGuzOPWeQ==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-custom-properties@14.0.1:
postcss-custom-properties@14.0.4:
resolution:
{
integrity: sha512-SB4GjuZjIq5GQFNbxFrirQPbkdbJooyNy8bh+fcJ8ZG0oasJTflTTtR4geb56h+FBVDIb9Hx4v/NiG2caOj8nQ==,
integrity: sha512-QnW8FCCK6q+4ierwjnmXF9Y9KF8q0JkbgVfvQEMa93x1GT8FvOiUevWCN2YLaOWyByeDX8S6VFbZEeWoAoXs2A==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-custom-selectors@8.0.1:
postcss-custom-selectors@8.0.4:
resolution:
{
integrity: sha512-2McIpyhAeKhUzVqrP4ZyMBpK5FuD+Y9tpQwhcof49652s7gez8057cSaOg/epYcKlztSYxb0GHfi7W5h3JoGUg==,
integrity: sha512-ASOXqNvDCE0dAJ/5qixxPeL1aOVGHGW2JwSy7HyjWNbnWTQCl+fDc968HY1jCmZI0+BaYT5CxsOiUhavpG/7eg==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-dir-pseudo-class@9.0.0:
postcss-dir-pseudo-class@9.0.1:
resolution:
{
integrity: sha512-T59BG9lURiXmhcJMyKbyjNAK3KCyEQYEhaz9GAETHXfIy9XbGQeyz+H0zIwRJlrP4KKRPJolNYe3QjQPemMjBA==,
integrity: sha512-tRBEK0MHYvcMUrAuYMEOa0zg9APqirBcgzi6P21OhxtJyJADo/SWBwY1CAwEohQ/6HDaa9jCjLRG7K3PVQYHEA==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4004,19 +4229,19 @@ packages:
peerDependencies:
postcss: ^8.4
postcss-focus-visible@10.0.0:
postcss-focus-visible@10.0.1:
resolution:
{
integrity: sha512-GJjzvTj7JY+zN7wVBQ4osdKX53QLUdr6r2rSEkBUqrEMDKu3fHMHKOY9rirdirbHCx3IETnK25EtpPARR2KWNw==,
integrity: sha512-U58wyjS/I1GZgjRok33aE8juW9qQgQUNwTSdxQGuShHzwuYdcklnvK/+qOWX1Q9kr7ysbraQ6ht6r+udansalA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-focus-within@9.0.0:
postcss-focus-within@9.0.1:
resolution:
{
integrity: sha512-QwflAWUToNZvQLGbc4qJhrQO8yZ5617L6hSNzNWDoqRX4FoIh9fbJbEjy0nvFPciaaOoCaeqcxBwYPbFU0HvBw==,
integrity: sha512-fzNUyS1yOYa7mOjpci/bR+u+ESvdar6hk8XNK/TRR0fiGTp2QT5N+ducP0n3rfH/m9I7H/EQU6lsa2BrgxkEjw==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4066,10 +4291,10 @@ packages:
peerDependencies:
postcss: ^8.4.21
postcss-lab-function@7.0.2:
postcss-lab-function@7.0.6:
resolution:
{
integrity: sha512-h4ARGLIBtC1PmCHsLgTWWj8j1i1CXoaht4A5RlITDX2z9AeFBak0YlY6sdF4oJGljrep+Dg2SSccIj4QnFbRDg==,
integrity: sha512-HPwvsoK7C949vBZ+eMyvH2cQeMr3UREoHvbtra76/UhDuiViZH6pir+z71UaJQohd7VDSVUdR6TkWYKExEc9aQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4162,10 +4387,19 @@ packages:
peerDependencies:
postcss: ^8.2.14
postcss-nesting@13.0.0:
postcss-nested@6.2.0:
resolution:
{
integrity: sha512-TCGQOizyqvEkdeTPM+t6NYwJ3EJszYE/8t8ILxw/YoeUvz2rz7aM8XTAmBWh9/DJjfaaabL88fWrsVHSPF2zgA==,
integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==,
}
engines: { node: ">=12.0" }
peerDependencies:
postcss: ^8.2.14
postcss-nesting@13.0.1:
resolution:
{
integrity: sha512-VbqqHkOBOt4Uu3G8Dm8n6lU5+9cJFxiuty9+4rcoyRPO9zZS1JIs6td49VIoix3qYqELHlJIn46Oih9SAKo+yQ==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4296,19 +4530,19 @@ packages:
peerDependencies:
postcss: ^8.4
postcss-preset-env@10.0.5:
postcss-preset-env@10.1.2:
resolution:
{
integrity: sha512-ipPOgr3RY0utgJDbNoCX2dxKoQ4e4WO1pC21QhDlxCAX8+qC8O2Ezkzb54fd+8XtZ1UveA5gLjBsVo6dJDoWIg==,
integrity: sha512-OqUBZ9ByVfngWhMNuBEMy52Izj07oIFA6K/EOGBlaSv+P12MiE1+S2cqXtS1VuW82demQ/Tzc7typYk3uHunkA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-pseudo-class-any-link@10.0.0:
postcss-pseudo-class-any-link@10.0.1:
resolution:
{
integrity: sha512-bde8VE08Gq3ekKDq2BQ0ESOjNX54lrFDK3U9zABPINaqHblbZL/4Wfo5Y2vk6U64yVd/sjDwTzuiisFBpGNNIQ==,
integrity: sha512-3el9rXlBOqTFaMFkWDOkHUTQekFIYnaQY55Rsp8As8QQkpiSgIYEcF/6Ond93oHiDsGb4kad8zjt+NPlOC1H0Q==,
}
engines: { node: ">=18" }
peerDependencies:
@ -4340,22 +4574,15 @@ packages:
peerDependencies:
postcss: ^8.0.3
postcss-selector-not@8.0.0:
postcss-selector-not@8.0.1:
resolution:
{
integrity: sha512-g/juh7A83GWc3+kWL8BiS3YUIJb3XNqIVKz1kGvgN3OhoGCsPncy1qo/+q61tjy5r87OxBhSY1+hcH3yOhEW+g==,
integrity: sha512-kmVy/5PYVb2UOhy0+LqUYAhKj7DUGDpSWa5LZqlkWJaaAV+dxxsOG3+St0yNLu6vsKD7Dmqx+nWQt0iil89+WA==,
}
engines: { node: ">=18" }
peerDependencies:
postcss: ^8.4
postcss-selector-parser@6.1.0:
resolution:
{
integrity: sha512-UMz42UD0UY0EApS0ZL9o1XnLhSTtvvvLe5Dc2H2O56fvRZi+KulDyf5ctDhhtYJBGKStV2FL1fy6253cmLgqVQ==,
}
engines: { node: ">=4" }
postcss-selector-parser@6.1.2:
resolution:
{
@ -4363,6 +4590,13 @@ packages:
}
engines: { node: ">=4" }
postcss-selector-parser@7.0.0:
resolution:
{
integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==,
}
engines: { node: ">=4" }
postcss-svgo@7.0.1:
resolution:
{
@ -4387,13 +4621,6 @@ packages:
integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==,
}
postcss@8.4.38:
resolution:
{
integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==,
}
engines: { node: ^10 || ^12 || >=14 }
postcss@8.4.47:
resolution:
{
@ -4401,6 +4628,13 @@ packages:
}
engines: { node: ^10 || ^12 || >=14 }
postcss@8.4.49:
resolution:
{
integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==,
}
engines: { node: ^10 || ^12 || >=14 }
preferred-pm@4.0.0:
resolution:
{
@ -4442,6 +4676,12 @@ packages:
integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==,
}
radix3@1.1.2:
resolution:
{
integrity: sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==,
}
read-cache@1.0.0:
resolution:
{
@ -4455,22 +4695,65 @@ packages:
}
engines: { node: ">=8.10.0" }
readdirp@4.0.2:
resolution:
{
integrity: sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA==,
}
engines: { node: ">= 14.16.0" }
recma-build-jsx@1.0.0:
resolution:
{
integrity: sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==,
}
recma-jsx@1.0.0:
resolution:
{
integrity: sha512-5vwkv65qWwYxg+Atz95acp8DMu1JDSqdGkA2Of1j6rCreyFUE/gp15fC8MnGEuG1W68UKjM6x6+YTWIh7hZM/Q==,
}
recma-parse@1.0.0:
resolution:
{
integrity: sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==,
}
recma-stringify@1.0.0:
resolution:
{
integrity: sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==,
}
regenerator-runtime@0.14.1:
resolution:
{
integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==,
}
regex@4.3.2:
regex-recursion@5.0.0:
resolution:
{
integrity: sha512-kK/AA3A9K6q2js89+VMymcboLOlF5lZRCYJv3gzszXFHBr6kO6qLGzbm+UIugBEV8SMMKCTR59txoY6ctRHYVw==,
integrity: sha512-UwyOqeobrCCqTXPcsSqH4gDhOjD5cI/b8kjngWgSZbxYh5yVjAwTjO5+hAuPRNiuR70+5RlWSs+U9PVcVcW9Lw==,
}
rehype-expressive-code@0.35.6:
regex-utilities@2.3.0:
resolution:
{
integrity: sha512-pPdE+pRcRw01kxMOwHQjuRxgwlblZt5+wAc3w2aPGgmcnn57wYjn07iKO7zaznDxYVxMYVvYlnL+R3vWFQS4Gw==,
integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==,
}
regex@5.0.2:
resolution:
{
integrity: sha512-/pczGbKIQgfTMRV0XjABvc5RzLqQmwqxLHdQao2RTXPk+pmTXB2P0IaUHYdYyk412YLwUIkaeMd5T+RzVgTqnQ==,
}
rehype-expressive-code@0.38.3:
resolution:
{
integrity: sha512-RYSSDkMBikoTbycZPkcWp6ELneANT4eTpND1DSRJ6nI2eVFUwTBDCvE2vO6jOOTaavwnPiydi4i/87NRyjpdOA==,
}
rehype-format@5.0.0:
@ -4497,18 +4780,36 @@ packages:
integrity: sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==,
}
rehype-recma@1.0.0:
resolution:
{
integrity: sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==,
}
rehype-stringify@10.0.0:
resolution:
{
integrity: sha512-1TX1i048LooI9QoecrXy7nGFFbFSufxVRAfc6Y9YMRAi56l+oB0zP51mLSV312uRuvVLPV1opSlJmslozR1XHQ==,
}
rehype-stringify@10.0.1:
resolution:
{
integrity: sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==,
}
rehype@13.0.1:
resolution:
{
integrity: sha512-AcSLS2mItY+0fYu9xKxOu1LhUZeBZZBx8//5HKzF+0XP+eP8+6a5MXn2+DW2kfXR6Dtp1FEXMVrjyKAcvcU8vg==,
}
rehype@13.0.2:
resolution:
{
integrity: sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==,
}
remark-directive@3.0.0:
resolution:
{
@ -4539,6 +4840,12 @@ packages:
integrity: sha512-z3tJrAs2kIs1AqIIy6pzHmAHlF1hWQ+OdY4/hv+Wxe35EhyLKcajL33iUEn3ScxtFox9nUvRufR/Zre8Q08H/g==,
}
remark-rehype@11.1.1:
resolution:
{
integrity: sha512-g/osARvjkBXb6Wo0XvAeXQohVta8i84ACbenPpoSsxTOQH/Ae0/RGP4WZgnMH5pMLpsj4FG7OHmcIcXxpza8eQ==,
}
remark-smartypants@3.0.2:
resolution:
{
@ -4585,13 +4892,6 @@ packages:
}
hasBin: true
restore-cursor@5.1.0:
resolution:
{
integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==,
}
engines: { node: ">=18" }
retext-latin@4.0.0:
resolution:
{
@ -4623,10 +4923,10 @@ packages:
}
engines: { iojs: ">=1.0.0", node: ">=0.10.0" }
rollup@4.22.5:
rollup@4.28.1:
resolution:
{
integrity: sha512-WoinX7GeQOFMGznEcWA1WrTQCd/tpEbMkc3nuMs9BT0CPjMdSjPMTVClwWd4pgSQwJdP65SK9mTCNvItlr5o7w==,
integrity: sha512-61fXYl/qNVinKmGSTHAZ6Yy8I3YIJC/r2m9feHo6SwVAVcLT5MPwOUFe7EuURA/4m0NR8lXG4BBXuo/IZEsjMg==,
}
engines: { node: ">=18.0.0", npm: ">=8.0.0" }
hasBin: true
@ -4643,28 +4943,6 @@ packages:
integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==,
}
section-matter@1.0.0:
resolution:
{
integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==,
}
engines: { node: ">=4" }
semver@6.3.1:
resolution:
{
integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==,
}
hasBin: true
semver@7.6.2:
resolution:
{
integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==,
}
engines: { node: ">=10" }
hasBin: true
semver@7.6.3:
resolution:
{
@ -4680,16 +4958,24 @@ packages:
}
engines: { node: ^18.17.0 || ^20.3.0 || >=21.0.0 }
shiki@1.20.0:
shebang-command@2.0.0:
resolution:
{
integrity: sha512-MZJJ1PCFsQB1Piq+25wiz0a75yUv8Q3/fzy7SzRx5ONdjdtGdyiKwYn8vb/FnK5kjS0voWGnPpjG16POauUR+g==,
integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==,
}
engines: { node: ">=8" }
shiki@1.6.3:
shebang-regex@3.0.0:
resolution:
{
integrity: sha512-lE1/YGlzFY0hQSyEfsZj18xGrTWxyhFQkaiILALqTBZPbJeYFWpbUhlmTGPOupYB/qC+H6sV4UznJzcEh3WMHQ==,
integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==,
}
engines: { node: ">=8" }
shiki@1.24.3:
resolution:
{
integrity: sha512-eMeX/ehE2IDKVs71kB4zVcDHjutNcOtm+yIRuR4sA6ThBbdFI0DffGJiyoKCodj0xRGxIoWC3pk/Anmm5mzHmA==,
}
signal-exit@4.1.0:
@ -4752,12 +5038,11 @@ packages:
integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==,
}
stdin-discarder@0.2.2:
std-env@3.8.0:
resolution:
{
integrity: sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==,
integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==,
}
engines: { node: ">=18" }
stream-replace-string@2.0.0:
resolution:
@ -4806,13 +5091,6 @@ packages:
}
engines: { node: ">=12" }
strip-bom-string@1.0.0:
resolution:
{
integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==,
}
engines: { node: ">=0.10.0" }
strip-bom@3.0.0:
resolution:
{
@ -4820,6 +5098,13 @@ packages:
}
engines: { node: ">=4" }
strip-final-newline@3.0.0:
resolution:
{
integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==,
}
engines: { node: ">=12" }
style-to-object@0.4.4:
resolution:
{
@ -4841,21 +5126,14 @@ packages:
peerDependencies:
postcss: ^8.4.31
sucrase@3.34.0:
sucrase@3.35.0:
resolution:
{
integrity: sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==,
integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==,
}
engines: { node: ">=8" }
engines: { node: ">=16 || 14 >=14.17" }
hasBin: true
supports-color@5.5.0:
resolution:
{
integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==,
}
engines: { node: ">=4" }
supports-preserve-symlinks-flag@1.0.0:
resolution:
{
@ -4871,10 +5149,17 @@ packages:
engines: { node: ">=14.0.0" }
hasBin: true
tailwindcss@3.4.13:
system-architecture@0.1.0:
resolution:
{
integrity: sha512-KqjHOJKogOUt5Bs752ykCeiwvi0fKVkr5oqsFNt/8px/tA8scFPIlkygsf6jXrfCqGHz7VflA6+yytWuM+XhFw==,
integrity: sha512-ulAk51I9UVUyJgxlv9M6lFot2WP3e7t8Kz9+IS6D4rVba1tR9kON+Ey69f+1R4Q8cd45Lod6a4IcJIxnzGc/zA==,
}
engines: { node: ">=18" }
tailwindcss@3.4.17:
resolution:
{
integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==,
}
engines: { node: ">=14.0.0" }
hasBin: true
@ -4892,10 +5177,10 @@ packages:
integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==,
}
tinyexec@0.3.0:
tinyexec@0.3.1:
resolution:
{
integrity: sha512-tVGE0mVJPGb0chKhqmsoosjsS+qUnJVGJpZgsHYQcGoPlG3B51R3PouqTgEGH2Dc9jjFyOqOpix6ZHNMXp1FZg==,
integrity: sha512-WiCJLEECkO18gwqIp6+hJg0//p23HXp4S+gGtAKu3mI2F2/sXC4FvHvXvB0zJVVaTPhx1/tOwdbRsa1sOBIKqQ==,
}
to-fast-properties@2.0.0:
@ -4930,10 +5215,10 @@ packages:
integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==,
}
tsconfck@3.1.3:
tsconfck@3.1.4:
resolution:
{
integrity: sha512-ulNZP1SVpRDesxeMLON/LtWM8HIgAJEIVpVVhBM6gsmvQ8+Rh+ZG7FWGvHh7Ah3pRABwVJWklWCr/BTZSv0xnQ==,
integrity: sha512-kdqWFGVJqe+KGYvlSO9NIaWn9jT1Ny4oKVzAJsKii5eoE9snzTJzL4+MMVOMn+fikWGFmKEylcXL710V/kIPJQ==,
}
engines: { node: ^18 || >=20 }
hasBin: true
@ -4949,12 +5234,12 @@ packages:
integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==,
}
type-fest@2.19.0:
type-fest@4.30.2:
resolution:
{
integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==,
integrity: sha512-UJShLPYi1aWqCdq9HycOL/gwsuqda1OISdBO3t8RlXQC4QvtuIz4b5FCfe2dQIWEpmlRExKmcTBfP1r9bhY7ig==,
}
engines: { node: ">=12.20" }
engines: { node: ">=16" }
typesafe-path@0.2.2:
resolution:
@ -4968,14 +5253,38 @@ packages:
integrity: sha512-ojEC7+Ci1ij9eE6hp8Jl9VUNnsEKzztktP5gtYNRMrTmfXVwA1PITYYAkpxCvvupdSYa/Re51B6KMcv1CTZEUA==,
}
typescript@5.6.2:
typescript@5.7.2:
resolution:
{
integrity: sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==,
integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==,
}
engines: { node: ">=14.17" }
hasBin: true
ufo@1.5.4:
resolution:
{
integrity: sha512-UsUk3byDzKd04EyoZ7U4DOlxQaD14JUKQl6/P7wiX4FNvUfm3XL246n9W5AmqwW5RSFJ27NAuM0iLscAOYUiGQ==,
}
ultrahtml@1.5.3:
resolution:
{
integrity: sha512-GykOvZwgDWZlTQMtp5jrD4BVL+gNn2NVlVafjcFUJ7taY20tqYdwdoWBFy6GBJsNTZe1GkGPkSl5knQAjtgceg==,
}
uncrypto@0.1.3:
resolution:
{
integrity: sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==,
}
unenv@1.10.0:
resolution:
{
integrity: sha512-wY5bskBQFL9n3Eca5XnhH6KbUo/tfvkwm9OpcdCvLaeA7piBNbavbOKJySEwQ1V0RH6HvNlSAFRTpvTqgKRQXQ==,
}
unified@11.0.5:
resolution:
{
@ -5042,6 +5351,75 @@ packages:
integrity: sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==,
}
unstorage@1.14.0:
resolution:
{
integrity: sha512-FjkD8JSdZyktjzPUR9KbR1Pc2tD9b+rEMMNMyvrlpBwQCftL9WgU7iAvb95QDBi5wDL75SQyTovQASBPzt3a9g==,
}
peerDependencies:
"@azure/app-configuration": ^1.8.0
"@azure/cosmos": ^4.2.0
"@azure/data-tables": ^13.3.0
"@azure/identity": ^4.5.0
"@azure/keyvault-secrets": ^4.9.0
"@azure/storage-blob": ^12.26.0
"@capacitor/preferences": ^6.0.3
"@deno/kv": ">=0.8.4"
"@netlify/blobs": ^6.5.0 || ^7.0.0 || ^8.1.0
"@planetscale/database": ^1.19.0
"@upstash/redis": ^1.34.3
"@vercel/blob": ">=0.27.0"
"@vercel/kv": ^1.0.1
aws4fetch: ^1.0.20
db0: ">=0.2.1"
idb-keyval: ^6.2.1
ioredis: ^5.4.1
uploadthing: ^7.4.1
peerDependenciesMeta:
"@azure/app-configuration":
optional: true
"@azure/cosmos":
optional: true
"@azure/data-tables":
optional: true
"@azure/identity":
optional: true
"@azure/keyvault-secrets":
optional: true
"@azure/storage-blob":
optional: true
"@capacitor/preferences":
optional: true
"@deno/kv":
optional: true
"@netlify/blobs":
optional: true
"@planetscale/database":
optional: true
"@upstash/redis":
optional: true
"@vercel/blob":
optional: true
"@vercel/kv":
optional: true
aws4fetch:
optional: true
db0:
optional: true
idb-keyval:
optional: true
ioredis:
optional: true
uploadthing:
optional: true
untun@0.1.3:
resolution:
{
integrity: sha512-4luGP9LMYszMRZwsvyUd9MrxgEGZdZuZgpVQHEEX0lCYFESasVRvZd0EYpCkOIbJKHMuv0LskpXc/8Un+MJzEQ==,
}
hasBin: true
update-browserslist-db@1.1.1:
resolution:
{
@ -5051,6 +5429,12 @@ packages:
peerDependencies:
browserslist: ">= 4.21.0"
uqr@0.1.2:
resolution:
{
integrity: sha512-MJu7ypHq6QasgF5YRTjqscSzQp/W11zoUk6kvmlH+fmWEs63Y0Eib13hYFwAzagRJcVY8WVnlV+eBDUGMJ5IbA==,
}
util-deprecate@1.0.2:
resolution:
{
@ -5075,25 +5459,30 @@ packages:
integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==,
}
vite@5.4.8:
vite@6.0.4:
resolution:
{
integrity: sha512-FqrItQ4DT1NC4zCUqMB4c4AZORMKIa0m8/URVCZ77OZ/QSNeJ54bU1vrFADbDsuwfIPcgknRkmqakQcgnL4GiQ==,
integrity: sha512-zwlH6ar+6o6b4Wp+ydhtIKLrGM/LoqZzcdVmkGAFun0KHTzIzjh+h0kungEx7KJg/PYnC80I4TII9WkjciSR6Q==,
}
engines: { node: ^18.0.0 || >=20.0.0 }
engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 }
hasBin: true
peerDependencies:
"@types/node": ^18.0.0 || >=20.0.0
"@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0
jiti: ">=1.21.0"
less: "*"
lightningcss: ^1.21.0
sass: "*"
sass-embedded: "*"
stylus: "*"
sugarss: "*"
terser: ^5.4.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:
@ -5108,22 +5497,26 @@ packages:
optional: true
terser:
optional: true
tsx:
optional: true
yaml:
optional: true
vitefu@1.0.2:
vitefu@1.0.4:
resolution:
{
integrity: sha512-0/iAvbXyM3RiPPJ4lyD4w6Mjgtf4ejTK6TPvTNG3H32PLwuT0N/ZjJLiXug7ETE/LWtTeHw9WRv7uX/tIKYyKg==,
integrity: sha512-y6zEE3PQf6uu/Mt6DTJ9ih+kyJLr4XcSgHR2zUkM8SWDhuixEJxfJ6CZGMHh1Ec3vPLoEA0IHU5oWzVqw8ulow==,
}
peerDependencies:
vite: ^3.0.0 || ^4.0.0 || ^5.0.0
vite: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0
peerDependenciesMeta:
vite:
optional: true
volar-service-css@0.0.61:
volar-service-css@0.0.62:
resolution:
{
integrity: sha512-Ct9L/w+IB1JU8F4jofcNCGoHy6TF83aiapfZq9A0qYYpq+Kk5dH+ONS+rVZSsuhsunq8UvAuF8Gk6B8IFLfniw==,
integrity: sha512-JwNyKsH3F8PuzZYuqPf+2e+4CTU8YoyUHEHVnoXNlrLe7wy9U3biomZ56llN69Ris7TTy/+DEX41yVxQpM4qvg==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5131,10 +5524,10 @@ packages:
"@volar/language-service":
optional: true
volar-service-emmet@0.0.61:
volar-service-emmet@0.0.62:
resolution:
{
integrity: sha512-iiYqBxjjcekqrRruw4COQHZME6EZYWVbkHjHDbULpml3g8HGJHzpAMkj9tXNCPxf36A+f1oUYjsvZt36qPg4cg==,
integrity: sha512-U4dxWDBWz7Pi4plpbXf4J4Z/ss6kBO3TYrACxWNsE29abu75QzVS0paxDDhI6bhqpbDFXlpsDhZ9aXVFpnfGRQ==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5142,10 +5535,10 @@ packages:
"@volar/language-service":
optional: true
volar-service-html@0.0.61:
volar-service-html@0.0.62:
resolution:
{
integrity: sha512-yFE+YmmgqIL5HI4ORqP++IYb1QaGcv+xBboI0WkCxJJ/M35HZj7f5rbT3eQ24ECLXFbFCFanckwyWJVz5KmN3Q==,
integrity: sha512-Zw01aJsZRh4GTGUjveyfEzEqpULQUdQH79KNEiKVYHZyuGtdBRYCHlrus1sueSNMxwwkuF5WnOHfvBzafs8yyQ==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5153,10 +5546,10 @@ packages:
"@volar/language-service":
optional: true
volar-service-prettier@0.0.61:
volar-service-prettier@0.0.62:
resolution:
{
integrity: sha512-F612nql5I0IS8HxXemCGvOR2Uxd4XooIwqYVUvk7WSBxP/+xu1jYvE3QJ7EVpl8Ty3S4SxPXYiYTsG3bi+gzIQ==,
integrity: sha512-h2yk1RqRTE+vkYZaI9KYuwpDfOQRrTEMvoHol0yW4GFKc75wWQRrb5n/5abDrzMPrkQbSip8JH2AXbvrRtYh4w==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5167,10 +5560,10 @@ packages:
prettier:
optional: true
volar-service-typescript-twoslash-queries@0.0.61:
volar-service-typescript-twoslash-queries@0.0.62:
resolution:
{
integrity: sha512-99FICGrEF0r1E2tV+SvprHPw9Knyg7BdW2fUch0tf59kG+KG+Tj4tL6tUg+cy8f23O/VXlmsWFMIE+bx1dXPnQ==,
integrity: sha512-KxFt4zydyJYYI0kFAcWPTh4u0Ha36TASPZkAnNY784GtgajerUqM80nX/W1d0wVhmcOFfAxkVsf/Ed+tiYU7ng==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5178,10 +5571,10 @@ packages:
"@volar/language-service":
optional: true
volar-service-typescript@0.0.61:
volar-service-typescript@0.0.62:
resolution:
{
integrity: sha512-4kRHxVbW7wFBHZWRU6yWxTgiKETBDIJNwmJUAWeP0mHaKpnDGj/astdRFKqGFRYVeEYl45lcUPhdJyrzanjsdQ==,
integrity: sha512-p7MPi71q7KOsH0eAbZwPBiKPp9B2+qrdHAd6VY5oTo9BUXatsOAdakTm9Yf0DUj6uWBAaOT01BSeVOPwucMV1g==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5189,10 +5582,10 @@ packages:
"@volar/language-service":
optional: true
volar-service-yaml@0.0.61:
volar-service-yaml@0.0.62:
resolution:
{
integrity: sha512-L+gbDiLDQQ1rZUbJ3mf3doDsoQUa8OZM/xdpk/unMg1Vz24Zmi2Ign8GrZyBD7bRoIQDwOH9gdktGDKzRPpUNw==,
integrity: sha512-k7gvv7sk3wa+nGll3MaSKyjwQsJjIGCHFjVkl3wjaSP2nouKyn9aokGmqjrl39mi88Oy49giog2GkZH526wjig==,
}
peerDependencies:
"@volar/language-service": ~2.4.0
@ -5206,12 +5599,6 @@ packages:
integrity: sha512-1BzTBuJfwMc3A0uX4JBdJgoxp74cjj4q2mDJdp49yD/GuAq4X0k5WtK6fNcMYr+FfJ9nqgR6lpfCSZDkARJ5qQ==,
}
vscode-html-languageservice@5.2.0:
resolution:
{
integrity: sha512-cdNMhyw57/SQzgUUGSIMQ66jikqEN6nBNyhx5YuOyj9310+eY9zw8Q0cXpiKzDX8aHYFewQEXRnigl06j/TVwQ==,
}
vscode-html-languageservice@5.3.1:
resolution:
{
@ -5251,12 +5638,6 @@ packages:
integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==,
}
vscode-languageserver-textdocument@1.0.11:
resolution:
{
integrity: sha512-X+8T3GoiwTVlJbicx/sIAF+yuJAqz8VvwJyoMVhwEMoEKE/fkDmrqUgDMyBECcM2A2frVZIUj5HI/ErRXCfOeA==,
}
vscode-languageserver-textdocument@1.0.12:
resolution:
{
@ -5327,12 +5708,20 @@ packages:
}
engines: { node: ">=18.12" }
widest-line@4.0.1:
which@2.0.2:
resolution:
{
integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==,
integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==,
}
engines: { node: ">=12" }
engines: { node: ">= 8" }
hasBin: true
widest-line@5.0.0:
resolution:
{
integrity: sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==,
}
engines: { node: ">=18" }
wrap-ansi@7.0.0:
resolution:
@ -5348,16 +5737,17 @@ packages:
}
engines: { node: ">=12" }
wrappy@1.0.2:
wrap-ansi@9.0.0:
resolution:
{
integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==,
integrity: sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==,
}
engines: { node: ">=18" }
xxhash-wasm@1.0.2:
xxhash-wasm@1.1.0:
resolution:
{
integrity: sha512-ibF0Or+FivM9lNrg+HGJfVX8WJqgo+kCLDc4vx6xMeTce7Aj+DLttKbxxRR/gNLSAelRc1omAPlJ77N/Jem07A==,
integrity: sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==,
}
y18n@5.0.8:
@ -5367,12 +5757,6 @@ packages:
}
engines: { node: ">=10" }
yallist@3.1.1:
resolution:
{
integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
}
yaml-language-server@1.15.0:
resolution:
{
@ -5387,13 +5771,6 @@ packages:
}
engines: { node: ">= 14" }
yaml@2.3.4:
resolution:
{
integrity: sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==,
}
engines: { node: ">= 14" }
yaml@2.5.1:
resolution:
{
@ -5423,13 +5800,27 @@ packages:
}
engines: { node: ">=12.20" }
zod-to-json-schema@3.23.3:
yocto-spinner@0.1.2:
resolution:
{
integrity: sha512-TYWChTxKQbRJp5ST22o/Irt9KC5nj7CdBKYB/AosCRdj/wxEMvv4NNaj9XVUHDOIp53ZxArGhnw5HMZziPFjog==,
integrity: sha512-VfmLIh/ZSZOJnVRQZc/dvpPP90lWL4G0bmxQMP0+U/2vKBA8GSpcBuWv17y7F+CZItRuO97HN1wdbb4p10uhOg==,
}
engines: { node: ">=18.19" }
yoctocolors@2.1.1:
resolution:
{
integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==,
}
engines: { node: ">=18" }
zod-to-json-schema@3.24.1:
resolution:
{
integrity: sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==,
}
peerDependencies:
zod: ^3.23.3
zod: ^3.24.1
zod-to-ts@1.2.0:
resolution:
@ -5440,10 +5831,10 @@ packages:
typescript: ^4.9.4 || ^5.0.2
zod: ^3
zod@3.23.8:
zod@3.24.1:
resolution:
{
integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==,
integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==,
}
zwitch@2.0.4:
@ -5455,18 +5846,12 @@ packages:
snapshots:
"@alloc/quick-lru@5.2.0": {}
"@ampproject/remapping@2.2.1":
"@astrojs/check@0.9.4(typescript@5.7.2)":
dependencies:
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
"@astrojs/check@0.9.3(typescript@5.6.2)":
dependencies:
"@astrojs/language-server": 2.14.2(typescript@5.6.2)
chokidar: 3.6.0
fast-glob: 3.3.2
"@astrojs/language-server": 2.15.4(typescript@5.7.2)
chokidar: 4.0.3
kleur: 4.1.5
typescript: 5.6.2
typescript: 5.7.2
yargs: 17.7.2
transitivePeerDependencies:
- prettier
@ -5474,47 +5859,47 @@ snapshots:
"@astrojs/compiler@2.10.3": {}
"@astrojs/internal-helpers@0.4.1": {}
"@astrojs/internal-helpers@0.4.2": {}
"@astrojs/language-server@2.14.2(typescript@5.6.2)":
"@astrojs/language-server@2.15.4(typescript@5.7.2)":
dependencies:
"@astrojs/compiler": 2.10.3
"@astrojs/yaml2ts": 0.2.1
"@jridgewell/sourcemap-codec": 1.4.15
"@volar/kit": 2.4.5(typescript@5.6.2)
"@volar/language-core": 2.4.5
"@volar/language-server": 2.4.5
"@volar/language-service": 2.4.5
"@volar/typescript": 2.4.5
"@astrojs/yaml2ts": 0.2.2
"@jridgewell/sourcemap-codec": 1.5.0
"@volar/kit": 2.4.11(typescript@5.7.2)
"@volar/language-core": 2.4.11
"@volar/language-server": 2.4.11
"@volar/language-service": 2.4.11
fast-glob: 3.3.2
muggle-string: 0.4.1
volar-service-css: 0.0.61(@volar/language-service@2.4.5)
volar-service-emmet: 0.0.61(@volar/language-service@2.4.5)
volar-service-html: 0.0.61(@volar/language-service@2.4.5)
volar-service-prettier: 0.0.61(@volar/language-service@2.4.5)
volar-service-typescript: 0.0.61(@volar/language-service@2.4.5)
volar-service-typescript-twoslash-queries: 0.0.61(@volar/language-service@2.4.5)
volar-service-yaml: 0.0.61(@volar/language-service@2.4.5)
vscode-html-languageservice: 5.2.0
volar-service-css: 0.0.62(@volar/language-service@2.4.11)
volar-service-emmet: 0.0.62(@volar/language-service@2.4.11)
volar-service-html: 0.0.62(@volar/language-service@2.4.11)
volar-service-prettier: 0.0.62(@volar/language-service@2.4.11)
volar-service-typescript: 0.0.62(@volar/language-service@2.4.11)
volar-service-typescript-twoslash-queries: 0.0.62(@volar/language-service@2.4.11)
volar-service-yaml: 0.0.62(@volar/language-service@2.4.11)
vscode-html-languageservice: 5.3.1
vscode-uri: 3.0.8
transitivePeerDependencies:
- typescript
"@astrojs/markdown-remark@5.2.0":
"@astrojs/markdown-remark@6.0.1":
dependencies:
"@astrojs/prism": 3.1.0
"@astrojs/prism": 3.2.0
github-slugger: 2.0.0
hast-util-from-html: 2.0.1
hast-util-from-html: 2.0.3
hast-util-to-text: 4.0.2
import-meta-resolve: 4.1.0
js-yaml: 4.1.0
mdast-util-definitions: 6.0.0
rehype-raw: 7.0.0
rehype-stringify: 10.0.0
rehype-stringify: 10.0.1
remark-gfm: 4.0.0
remark-parse: 11.0.0
remark-rehype: 11.1.0
remark-rehype: 11.1.1
remark-smartypants: 3.0.2
shiki: 1.20.0
shiki: 1.24.3
unified: 11.0.5
unist-util-remove-position: 5.0.0
unist-util-visit: 5.0.0
@ -5523,15 +5908,14 @@ snapshots:
transitivePeerDependencies:
- supports-color
"@astrojs/mdx@3.1.7(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))":
"@astrojs/mdx@4.0.2(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))":
dependencies:
"@astrojs/markdown-remark": 5.2.0
"@mdx-js/mdx": 3.0.1
acorn: 8.12.1
astro: 4.15.9(rollup@4.22.5)(typescript@5.6.2)
"@astrojs/markdown-remark": 6.0.1
"@mdx-js/mdx": 3.1.0(acorn@8.14.0)
acorn: 8.14.0
astro: 5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)
es-module-lexer: 1.5.4
estree-util-visit: 2.0.0
gray-matter: 4.0.3
hast-util-to-html: 9.0.3
kleur: 4.1.5
rehype-raw: 7.0.0
@ -5543,7 +5927,7 @@ snapshots:
transitivePeerDependencies:
- supports-color
"@astrojs/prism@3.1.0":
"@astrojs/prism@3.2.0":
dependencies:
prismjs: 1.29.0
@ -5551,29 +5935,31 @@ snapshots:
dependencies:
sitemap: 7.1.2
stream-replace-string: 2.0.0
zod: 3.23.8
zod: 3.24.1
"@astrojs/starlight-tailwind@2.0.3(@astrojs/starlight@0.28.2(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2)))(@astrojs/tailwind@5.1.1(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))(tailwindcss@3.4.13))(tailwindcss@3.4.13)":
"@astrojs/starlight-tailwind@3.0.0(@astrojs/starlight@0.30.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)))(@astrojs/tailwind@5.1.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))(tailwindcss@3.4.17))(tailwindcss@3.4.17)":
dependencies:
"@astrojs/starlight": 0.28.2(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))
"@astrojs/tailwind": 5.1.1(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))(tailwindcss@3.4.13)
tailwindcss: 3.4.13
"@astrojs/starlight": 0.30.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))
"@astrojs/tailwind": 5.1.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))(tailwindcss@3.4.17)
tailwindcss: 3.4.17
"@astrojs/starlight@0.28.2(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))":
"@astrojs/starlight@0.30.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))":
dependencies:
"@astrojs/mdx": 3.1.7(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))
"@astrojs/mdx": 4.0.2(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))
"@astrojs/sitemap": 3.1.6
"@pagefind/default-ui": 1.0.4
"@types/hast": 3.0.4
"@types/js-yaml": 4.0.9
"@types/mdast": 4.0.4
astro: 4.15.9(rollup@4.22.5)(typescript@5.6.2)
astro-expressive-code: 0.35.6(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))
astro: 5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)
astro-expressive-code: 0.38.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))
bcp-47: 2.1.0
hast-util-from-html: 2.0.1
hast-util-select: 6.0.2
hast-util-to-string: 3.0.0
hastscript: 9.0.0
i18next: 23.15.1
js-yaml: 4.1.0
mdast-util-directive: 3.0.0
mdast-util-to-markdown: 2.1.0
mdast-util-to-string: 4.0.0
@ -5587,456 +5973,301 @@ snapshots:
transitivePeerDependencies:
- supports-color
"@astrojs/tailwind@5.1.1(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2))(tailwindcss@3.4.13)":
"@astrojs/tailwind@5.1.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1))(tailwindcss@3.4.17)":
dependencies:
astro: 4.15.9(rollup@4.22.5)(typescript@5.6.2)
autoprefixer: 10.4.20(postcss@8.4.47)
postcss: 8.4.47
postcss-load-config: 4.0.2(postcss@8.4.47)
tailwindcss: 3.4.13
astro: 5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)
autoprefixer: 10.4.20(postcss@8.4.49)
postcss: 8.4.49
postcss-load-config: 4.0.2(postcss@8.4.49)
tailwindcss: 3.4.17
transitivePeerDependencies:
- ts-node
"@astrojs/telemetry@3.1.0":
"@astrojs/telemetry@3.2.0":
dependencies:
ci-info: 4.0.0
ci-info: 4.1.0
debug: 4.3.7
dlv: 1.1.3
dset: 3.1.3
dset: 3.1.4
is-docker: 3.0.0
is-wsl: 3.1.0
which-pm-runs: 1.1.0
transitivePeerDependencies:
- supports-color
"@astrojs/yaml2ts@0.2.1":
"@astrojs/yaml2ts@0.2.2":
dependencies:
yaml: 2.5.1
"@babel/code-frame@7.24.7":
dependencies:
"@babel/highlight": 7.24.7
picocolors: 1.0.0
"@babel/compat-data@7.25.4": {}
"@babel/core@7.25.2":
dependencies:
"@ampproject/remapping": 2.2.1
"@babel/code-frame": 7.24.7
"@babel/generator": 7.25.6
"@babel/helper-compilation-targets": 7.25.2
"@babel/helper-module-transforms": 7.25.2(@babel/core@7.25.2)
"@babel/helpers": 7.25.6
"@babel/parser": 7.25.6
"@babel/template": 7.25.0
"@babel/traverse": 7.25.6
"@babel/types": 7.25.6
convert-source-map: 2.0.0
debug: 4.3.7
gensync: 1.0.0-beta.2
json5: 2.2.3
semver: 6.3.1
transitivePeerDependencies:
- supports-color
"@babel/generator@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
jsesc: 2.5.2
"@babel/generator@7.25.6":
dependencies:
"@babel/types": 7.25.6
"@jridgewell/gen-mapping": 0.3.5
"@jridgewell/trace-mapping": 0.3.25
jsesc: 2.5.2
"@babel/helper-annotate-as-pure@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@babel/helper-compilation-targets@7.25.2":
dependencies:
"@babel/compat-data": 7.25.4
"@babel/helper-validator-option": 7.24.8
browserslist: 4.24.0
lru-cache: 5.1.1
semver: 6.3.1
"@babel/helper-environment-visitor@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@babel/helper-function-name@7.24.7":
dependencies:
"@babel/template": 7.24.7
"@babel/types": 7.25.6
"@babel/helper-hoist-variables@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@babel/helper-module-imports@7.24.7":
dependencies:
"@babel/traverse": 7.24.7
"@babel/types": 7.25.6
transitivePeerDependencies:
- supports-color
"@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)":
dependencies:
"@babel/core": 7.25.2
"@babel/helper-module-imports": 7.24.7
"@babel/helper-simple-access": 7.24.7
"@babel/helper-validator-identifier": 7.24.7
"@babel/traverse": 7.25.6
transitivePeerDependencies:
- supports-color
"@babel/helper-plugin-utils@7.24.8": {}
"@babel/helper-simple-access@7.24.7":
dependencies:
"@babel/traverse": 7.25.6
"@babel/types": 7.25.6
transitivePeerDependencies:
- supports-color
"@babel/helper-split-export-declaration@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@babel/helper-string-parser@7.24.8": {}
"@babel/helper-validator-identifier@7.24.7": {}
"@babel/helper-validator-option@7.24.8": {}
"@babel/helpers@7.25.6":
dependencies:
"@babel/template": 7.25.0
"@babel/types": 7.25.6
"@babel/highlight@7.24.7":
dependencies:
"@babel/helper-validator-identifier": 7.24.7
chalk: 2.4.2
js-tokens: 4.0.0
picocolors: 1.0.0
"@babel/parser@7.24.7":
dependencies:
"@babel/types": 7.25.6
"@babel/parser@7.25.6":
dependencies:
"@babel/types": 7.25.6
"@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)":
dependencies:
"@babel/core": 7.25.2
"@babel/helper-plugin-utils": 7.24.8
"@babel/plugin-transform-react-jsx@7.25.2(@babel/core@7.25.2)":
dependencies:
"@babel/core": 7.25.2
"@babel/helper-annotate-as-pure": 7.24.7
"@babel/helper-module-imports": 7.24.7
"@babel/helper-plugin-utils": 7.24.8
"@babel/plugin-syntax-jsx": 7.24.7(@babel/core@7.25.2)
"@babel/types": 7.25.6
transitivePeerDependencies:
- supports-color
"@babel/runtime@7.25.6":
dependencies:
regenerator-runtime: 0.14.1
"@babel/template@7.24.7":
dependencies:
"@babel/code-frame": 7.24.7
"@babel/parser": 7.24.7
"@babel/types": 7.25.6
"@babel/template@7.25.0":
dependencies:
"@babel/code-frame": 7.24.7
"@babel/parser": 7.25.6
"@babel/types": 7.25.6
"@babel/traverse@7.24.7":
dependencies:
"@babel/code-frame": 7.24.7
"@babel/generator": 7.24.7
"@babel/helper-environment-visitor": 7.24.7
"@babel/helper-function-name": 7.24.7
"@babel/helper-hoist-variables": 7.24.7
"@babel/helper-split-export-declaration": 7.24.7
"@babel/parser": 7.24.7
"@babel/types": 7.25.6
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
- supports-color
"@babel/traverse@7.25.6":
dependencies:
"@babel/code-frame": 7.24.7
"@babel/generator": 7.25.6
"@babel/parser": 7.25.6
"@babel/template": 7.25.0
"@babel/types": 7.25.6
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
- supports-color
"@babel/types@7.25.6":
dependencies:
"@babel/helper-string-parser": 7.24.8
"@babel/helper-validator-identifier": 7.24.7
to-fast-properties: 2.0.0
"@csstools/cascade-layer-name-parser@2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)":
"@csstools/cascade-layer-name-parser@2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/color-helpers@5.0.1": {}
"@csstools/css-calc@2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)":
"@csstools/css-calc@2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/css-color-parser@3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)":
"@csstools/css-color-parser@3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/color-helpers": 5.0.1
"@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1)":
"@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/css-tokenizer": 3.0.1
"@csstools/css-tokenizer": 3.0.3
"@csstools/css-tokenizer@3.0.1": {}
"@csstools/css-tokenizer@3.0.3": {}
"@csstools/media-query-list-parser@3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)":
"@csstools/media-query-list-parser@4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-cascade-layers@5.0.0(postcss@8.4.38)":
"@csstools/postcss-cascade-layers@5.0.1(postcss@8.4.47)":
dependencies:
"@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.0)
postcss: 8.4.38
postcss-selector-parser: 6.1.0
"@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
postcss: 8.4.47
postcss-selector-parser: 7.0.0
"@csstools/postcss-color-function@4.0.2(postcss@8.4.38)":
"@csstools/postcss-color-function@4.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-color-mix-function@3.0.2(postcss@8.4.38)":
"@csstools/postcss-color-mix-function@3.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-content-alt-text@2.0.1(postcss@8.4.38)":
"@csstools/postcss-content-alt-text@2.0.4(postcss@8.4.47)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-exponential-functions@2.0.1(postcss@8.4.38)":
"@csstools/postcss-exponential-functions@2.0.5(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
postcss: 8.4.38
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.38)":
"@csstools/postcss-font-format-keywords@4.0.0(postcss@8.4.47)":
dependencies:
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-gamut-mapping@2.0.2(postcss@8.4.38)":
"@csstools/postcss-gamut-mapping@2.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-gradients-interpolation-method@5.0.2(postcss@8.4.38)":
"@csstools/postcss-gradients-interpolation-method@5.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-hwb-function@4.0.2(postcss@8.4.38)":
"@csstools/postcss-hwb-function@4.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-ic-unit@4.0.0(postcss@8.4.38)":
"@csstools/postcss-ic-unit@4.0.0(postcss@8.4.47)":
dependencies:
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-initial@2.0.0(postcss@8.4.38)":
"@csstools/postcss-initial@2.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@csstools/postcss-is-pseudo-class@5.0.0(postcss@8.4.38)":
"@csstools/postcss-is-pseudo-class@5.0.1(postcss@8.4.47)":
dependencies:
"@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.0)
postcss: 8.4.38
postcss-selector-parser: 6.1.0
"@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
postcss: 8.4.47
postcss-selector-parser: 7.0.0
"@csstools/postcss-light-dark-function@2.0.4(postcss@8.4.38)":
"@csstools/postcss-light-dark-function@2.0.7(postcss@8.4.47)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.38)":
"@csstools/postcss-logical-float-and-clear@3.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.38)":
"@csstools/postcss-logical-overflow@2.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.38)":
"@csstools/postcss-logical-overscroll-behavior@2.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@csstools/postcss-logical-resize@3.0.0(postcss@8.4.38)":
"@csstools/postcss-logical-resize@3.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-logical-viewport-units@3.0.1(postcss@8.4.38)":
"@csstools/postcss-logical-viewport-units@3.0.3(postcss@8.4.47)":
dependencies:
"@csstools/css-tokenizer": 3.0.1
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-tokenizer": 3.0.3
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-media-minmax@2.0.1(postcss@8.4.38)":
"@csstools/postcss-media-minmax@2.0.5(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
postcss: 8.4.38
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
postcss: 8.4.47
"@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.1(postcss@8.4.38)":
"@csstools/postcss-media-queries-aspect-ratio-number-values@3.0.4(postcss@8.4.47)":
dependencies:
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
postcss: 8.4.38
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
postcss: 8.4.47
"@csstools/postcss-nested-calc@4.0.0(postcss@8.4.38)":
"@csstools/postcss-nested-calc@4.0.0(postcss@8.4.47)":
dependencies:
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.38)":
"@csstools/postcss-normalize-display-values@4.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-oklab-function@4.0.2(postcss@8.4.38)":
"@csstools/postcss-oklab-function@4.0.6(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.38)":
"@csstools/postcss-progressive-custom-properties@4.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-relative-color-syntax@3.0.2(postcss@8.4.38)":
"@csstools/postcss-random-function@1.0.1(postcss@8.4.47)":
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-scope-pseudo-class@4.0.0(postcss@8.4.38)":
"@csstools/postcss-relative-color-syntax@3.0.6(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
"@csstools/postcss-stepped-value-functions@4.0.1(postcss@8.4.38)":
"@csstools/postcss-scope-pseudo-class@4.0.1(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 7.0.0
"@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.38)":
"@csstools/postcss-sign-functions@1.1.0(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-stepped-value-functions@4.0.5(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-text-decoration-shorthand@4.0.1(postcss@8.4.47)":
dependencies:
"@csstools/color-helpers": 5.0.1
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
"@csstools/postcss-trigonometric-functions@4.0.1(postcss@8.4.38)":
"@csstools/postcss-trigonometric-functions@4.0.5(postcss@8.4.47)":
dependencies:
"@csstools/css-calc": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
postcss: 8.4.38
"@csstools/css-calc": 2.1.0(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
"@csstools/postcss-unset-value@4.0.0(postcss@8.4.38)":
"@csstools/postcss-unset-value@4.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@csstools/selector-resolve-nested@2.0.0(postcss-selector-parser@6.1.0)":
"@csstools/selector-resolve-nested@3.0.0(postcss-selector-parser@7.0.0)":
dependencies:
postcss-selector-parser: 6.1.0
postcss-selector-parser: 7.0.0
"@csstools/selector-specificity@4.0.0(postcss-selector-parser@6.1.0)":
"@csstools/selector-specificity@5.0.0(postcss-selector-parser@7.0.0)":
dependencies:
postcss-selector-parser: 6.1.0
postcss-selector-parser: 7.0.0
"@csstools/utilities@2.0.0(postcss@8.4.38)":
"@csstools/utilities@2.0.0(postcss@8.4.47)":
dependencies:
postcss: 8.4.38
postcss: 8.4.47
"@ctrl/tinycolor@4.1.0": {}
@ -6071,96 +6302,168 @@ snapshots:
"@esbuild/aix-ppc64@0.21.5":
optional: true
"@esbuild/aix-ppc64@0.24.0":
optional: true
"@esbuild/android-arm64@0.21.5":
optional: true
"@esbuild/android-arm64@0.24.0":
optional: true
"@esbuild/android-arm@0.21.5":
optional: true
"@esbuild/android-arm@0.24.0":
optional: true
"@esbuild/android-x64@0.21.5":
optional: true
"@esbuild/android-x64@0.24.0":
optional: true
"@esbuild/darwin-arm64@0.21.5":
optional: true
"@esbuild/darwin-arm64@0.24.0":
optional: true
"@esbuild/darwin-x64@0.21.5":
optional: true
"@esbuild/darwin-x64@0.24.0":
optional: true
"@esbuild/freebsd-arm64@0.21.5":
optional: true
"@esbuild/freebsd-arm64@0.24.0":
optional: true
"@esbuild/freebsd-x64@0.21.5":
optional: true
"@esbuild/freebsd-x64@0.24.0":
optional: true
"@esbuild/linux-arm64@0.21.5":
optional: true
"@esbuild/linux-arm64@0.24.0":
optional: true
"@esbuild/linux-arm@0.21.5":
optional: true
"@esbuild/linux-arm@0.24.0":
optional: true
"@esbuild/linux-ia32@0.21.5":
optional: true
"@esbuild/linux-ia32@0.24.0":
optional: true
"@esbuild/linux-loong64@0.21.5":
optional: true
"@esbuild/linux-loong64@0.24.0":
optional: true
"@esbuild/linux-mips64el@0.21.5":
optional: true
"@esbuild/linux-mips64el@0.24.0":
optional: true
"@esbuild/linux-ppc64@0.21.5":
optional: true
"@esbuild/linux-ppc64@0.24.0":
optional: true
"@esbuild/linux-riscv64@0.21.5":
optional: true
"@esbuild/linux-riscv64@0.24.0":
optional: true
"@esbuild/linux-s390x@0.21.5":
optional: true
"@esbuild/linux-s390x@0.24.0":
optional: true
"@esbuild/linux-x64@0.21.5":
optional: true
"@esbuild/linux-x64@0.24.0":
optional: true
"@esbuild/netbsd-x64@0.21.5":
optional: true
"@esbuild/netbsd-x64@0.24.0":
optional: true
"@esbuild/openbsd-arm64@0.24.0":
optional: true
"@esbuild/openbsd-x64@0.21.5":
optional: true
"@esbuild/openbsd-x64@0.24.0":
optional: true
"@esbuild/sunos-x64@0.21.5":
optional: true
"@esbuild/sunos-x64@0.24.0":
optional: true
"@esbuild/win32-arm64@0.21.5":
optional: true
"@esbuild/win32-arm64@0.24.0":
optional: true
"@esbuild/win32-ia32@0.21.5":
optional: true
"@esbuild/win32-ia32@0.24.0":
optional: true
"@esbuild/win32-x64@0.21.5":
optional: true
"@expressive-code/core@0.35.6":
"@esbuild/win32-x64@0.24.0":
optional: true
"@expressive-code/core@0.38.3":
dependencies:
"@ctrl/tinycolor": 4.1.0
hast-util-select: 6.0.2
hast-util-to-html: 9.0.1
hast-util-to-html: 9.0.3
hast-util-to-text: 4.0.2
hastscript: 9.0.0
postcss: 8.4.38
postcss-nested: 6.0.1(postcss@8.4.38)
postcss: 8.4.47
postcss-nested: 6.0.1(postcss@8.4.47)
unist-util-visit: 5.0.0
unist-util-visit-parents: 6.0.1
"@expressive-code/plugin-frames@0.35.6":
"@expressive-code/plugin-frames@0.38.3":
dependencies:
"@expressive-code/core": 0.35.6
"@expressive-code/core": 0.38.3
"@expressive-code/plugin-shiki@0.35.6":
"@expressive-code/plugin-shiki@0.38.3":
dependencies:
"@expressive-code/core": 0.35.6
shiki: 1.6.3
"@expressive-code/core": 0.38.3
shiki: 1.24.3
"@expressive-code/plugin-text-markers@0.35.6":
"@expressive-code/plugin-text-markers@0.38.3":
dependencies:
"@expressive-code/core": 0.35.6
"@expressive-code/core": 0.38.3
"@fontsource/inter@5.1.0": {}
@ -6241,41 +6544,49 @@ snapshots:
"@img/sharp-win32-x64@0.33.5":
optional: true
"@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
"@jridgewell/gen-mapping@0.3.5":
dependencies:
"@jridgewell/set-array": 1.2.1
"@jridgewell/sourcemap-codec": 1.4.15
"@jridgewell/sourcemap-codec": 1.5.0
"@jridgewell/trace-mapping": 0.3.25
"@jridgewell/resolve-uri@3.1.1": {}
"@jridgewell/set-array@1.2.1": {}
"@jridgewell/sourcemap-codec@1.4.15": {}
"@jridgewell/sourcemap-codec@1.5.0": {}
"@jridgewell/trace-mapping@0.3.25":
dependencies:
"@jridgewell/resolve-uri": 3.1.1
"@jridgewell/sourcemap-codec": 1.4.15
"@jridgewell/sourcemap-codec": 1.5.0
"@mdx-js/mdx@3.0.1":
"@mdx-js/mdx@3.1.0(acorn@8.14.0)":
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
"@types/estree-jsx": 1.0.3
"@types/hast": 3.0.4
"@types/mdx": 2.0.10
collapse-white-space: 2.1.0
devlop: 1.1.0
estree-util-build-jsx: 3.0.1
estree-util-is-identifier-name: 3.0.0
estree-util-to-js: 2.0.0
estree-util-scope: 1.0.0
estree-walker: 3.0.3
hast-util-to-estree: 3.1.0
hast-util-to-jsx-runtime: 2.3.0
markdown-extensions: 2.0.0
periscopic: 3.1.0
recma-build-jsx: 1.0.0
recma-jsx: 1.0.0(acorn@8.14.0)
recma-stringify: 1.0.0
rehype-recma: 1.0.0
remark-mdx: 3.0.0
remark-parse: 11.0.0
remark-rehype: 11.1.0
@ -6286,6 +6597,7 @@ snapshots:
unist-util-visit: 5.0.0
vfile: 6.0.3
transitivePeerDependencies:
- acorn
- supports-color
"@nodelib/fs.scandir@2.1.5":
@ -6298,7 +6610,7 @@ snapshots:
"@nodelib/fs.walk@1.2.8":
dependencies:
"@nodelib/fs.scandir": 2.1.5
fastq: 1.15.0
fastq: 1.17.1
"@oslojs/encoding@1.1.0": {}
@ -6319,117 +6631,171 @@ snapshots:
"@pagefind/windows-x64@1.0.4":
optional: true
"@rollup/pluginutils@5.1.2(rollup@4.22.5)":
"@parcel/watcher-android-arm64@2.5.0":
optional: true
"@parcel/watcher-darwin-arm64@2.5.0":
optional: true
"@parcel/watcher-darwin-x64@2.5.0":
optional: true
"@parcel/watcher-freebsd-x64@2.5.0":
optional: true
"@parcel/watcher-linux-arm-glibc@2.5.0":
optional: true
"@parcel/watcher-linux-arm-musl@2.5.0":
optional: true
"@parcel/watcher-linux-arm64-glibc@2.5.0":
optional: true
"@parcel/watcher-linux-arm64-musl@2.5.0":
optional: true
"@parcel/watcher-linux-x64-glibc@2.5.0":
optional: true
"@parcel/watcher-linux-x64-musl@2.5.0":
optional: true
"@parcel/watcher-wasm@2.5.0":
dependencies:
"@types/estree": 1.0.5
estree-walker: 2.0.2
picomatch: 2.3.1
is-glob: 4.0.3
micromatch: 4.0.8
"@parcel/watcher-win32-arm64@2.5.0":
optional: true
"@parcel/watcher-win32-ia32@2.5.0":
optional: true
"@parcel/watcher-win32-x64@2.5.0":
optional: true
"@parcel/watcher@2.5.0":
dependencies:
detect-libc: 1.0.3
is-glob: 4.0.3
micromatch: 4.0.8
node-addon-api: 7.1.1
optionalDependencies:
rollup: 4.22.5
"@parcel/watcher-android-arm64": 2.5.0
"@parcel/watcher-darwin-arm64": 2.5.0
"@parcel/watcher-darwin-x64": 2.5.0
"@parcel/watcher-freebsd-x64": 2.5.0
"@parcel/watcher-linux-arm-glibc": 2.5.0
"@parcel/watcher-linux-arm-musl": 2.5.0
"@parcel/watcher-linux-arm64-glibc": 2.5.0
"@parcel/watcher-linux-arm64-musl": 2.5.0
"@parcel/watcher-linux-x64-glibc": 2.5.0
"@parcel/watcher-linux-x64-musl": 2.5.0
"@parcel/watcher-win32-arm64": 2.5.0
"@parcel/watcher-win32-ia32": 2.5.0
"@parcel/watcher-win32-x64": 2.5.0
"@rollup/rollup-android-arm-eabi@4.22.5":
"@pkgjs/parseargs@0.11.0":
optional: true
"@rollup/rollup-android-arm64@4.22.5":
optional: true
"@rollup/rollup-darwin-arm64@4.22.5":
optional: true
"@rollup/rollup-darwin-x64@4.22.5":
optional: true
"@rollup/rollup-linux-arm-gnueabihf@4.22.5":
optional: true
"@rollup/rollup-linux-arm-musleabihf@4.22.5":
optional: true
"@rollup/rollup-linux-arm64-gnu@4.22.5":
optional: true
"@rollup/rollup-linux-arm64-musl@4.22.5":
optional: true
"@rollup/rollup-linux-powerpc64le-gnu@4.22.5":
optional: true
"@rollup/rollup-linux-riscv64-gnu@4.22.5":
optional: true
"@rollup/rollup-linux-s390x-gnu@4.22.5":
optional: true
"@rollup/rollup-linux-x64-gnu@4.22.5":
optional: true
"@rollup/rollup-linux-x64-musl@4.22.5":
optional: true
"@rollup/rollup-win32-arm64-msvc@4.22.5":
optional: true
"@rollup/rollup-win32-ia32-msvc@4.22.5":
optional: true
"@rollup/rollup-win32-x64-msvc@4.22.5":
optional: true
"@shikijs/core@1.20.0":
"@rollup/pluginutils@5.1.4(rollup@4.28.1)":
dependencies:
"@shikijs/engine-javascript": 1.20.0
"@shikijs/engine-oniguruma": 1.20.0
"@shikijs/types": 1.20.0
"@shikijs/vscode-textmate": 9.2.2
"@types/estree": 1.0.6
estree-walker: 2.0.2
picomatch: 4.0.2
optionalDependencies:
rollup: 4.28.1
"@rollup/rollup-android-arm-eabi@4.28.1":
optional: true
"@rollup/rollup-android-arm64@4.28.1":
optional: true
"@rollup/rollup-darwin-arm64@4.28.1":
optional: true
"@rollup/rollup-darwin-x64@4.28.1":
optional: true
"@rollup/rollup-freebsd-arm64@4.28.1":
optional: true
"@rollup/rollup-freebsd-x64@4.28.1":
optional: true
"@rollup/rollup-linux-arm-gnueabihf@4.28.1":
optional: true
"@rollup/rollup-linux-arm-musleabihf@4.28.1":
optional: true
"@rollup/rollup-linux-arm64-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-arm64-musl@4.28.1":
optional: true
"@rollup/rollup-linux-loongarch64-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-powerpc64le-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-riscv64-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-s390x-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-x64-gnu@4.28.1":
optional: true
"@rollup/rollup-linux-x64-musl@4.28.1":
optional: true
"@rollup/rollup-win32-arm64-msvc@4.28.1":
optional: true
"@rollup/rollup-win32-ia32-msvc@4.28.1":
optional: true
"@rollup/rollup-win32-x64-msvc@4.28.1":
optional: true
"@shikijs/core@1.24.3":
dependencies:
"@shikijs/engine-javascript": 1.24.3
"@shikijs/engine-oniguruma": 1.24.3
"@shikijs/types": 1.24.3
"@shikijs/vscode-textmate": 9.3.1
"@types/hast": 3.0.4
hast-util-to-html: 9.0.3
hast-util-to-html: 9.0.4
"@shikijs/core@1.6.3": {}
"@shikijs/engine-javascript@1.20.0":
"@shikijs/engine-javascript@1.24.3":
dependencies:
"@shikijs/types": 1.20.0
"@shikijs/vscode-textmate": 9.2.2
oniguruma-to-js: 0.4.3
"@shikijs/types": 1.24.3
"@shikijs/vscode-textmate": 9.3.1
oniguruma-to-es: 0.8.0
"@shikijs/engine-oniguruma@1.20.0":
"@shikijs/engine-oniguruma@1.24.3":
dependencies:
"@shikijs/types": 1.20.0
"@shikijs/vscode-textmate": 9.2.2
"@shikijs/types": 1.24.3
"@shikijs/vscode-textmate": 9.3.1
"@shikijs/types@1.20.0":
"@shikijs/types@1.24.3":
dependencies:
"@shikijs/vscode-textmate": 9.2.2
"@shikijs/vscode-textmate": 9.3.1
"@types/hast": 3.0.4
"@shikijs/vscode-textmate@9.2.2": {}
"@shikijs/vscode-textmate@9.3.1": {}
"@trysound/sax@0.2.0": {}
"@types/acorn@4.0.6":
dependencies:
"@types/estree": 1.0.5
"@types/babel__core@7.20.5":
dependencies:
"@babel/parser": 7.24.7
"@babel/types": 7.25.6
"@types/babel__generator": 7.6.7
"@types/babel__template": 7.4.4
"@types/babel__traverse": 7.20.4
"@types/babel__generator@7.6.7":
dependencies:
"@babel/types": 7.25.6
"@types/babel__template@7.4.4":
dependencies:
"@babel/parser": 7.24.7
"@babel/types": 7.25.6
"@types/babel__traverse@7.20.4":
dependencies:
"@babel/types": 7.25.6
"@types/estree": 1.0.6
"@types/cookie@0.6.0": {}
@ -6439,23 +6805,15 @@ snapshots:
"@types/estree-jsx@1.0.3":
dependencies:
"@types/estree": 1.0.5
"@types/estree@1.0.5": {}
"@types/estree": 1.0.6
"@types/estree@1.0.6": {}
"@types/hast@3.0.3":
dependencies:
"@types/unist": 3.0.2
"@types/hast@3.0.4":
dependencies:
"@types/unist": 3.0.2
"@types/mdast@4.0.3":
dependencies:
"@types/unist": 3.0.2
"@types/js-yaml@4.0.9": {}
"@types/mdast@4.0.4":
dependencies:
@ -6481,43 +6839,43 @@ snapshots:
"@ungap/structured-clone@1.2.0": {}
"@volar/kit@2.4.5(typescript@5.6.2)":
"@volar/kit@2.4.11(typescript@5.7.2)":
dependencies:
"@volar/language-service": 2.4.5
"@volar/typescript": 2.4.5
"@volar/language-service": 2.4.11
"@volar/typescript": 2.4.11
typesafe-path: 0.2.2
typescript: 5.6.2
vscode-languageserver-textdocument: 1.0.11
typescript: 5.7.2
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
"@volar/language-core@2.4.5":
"@volar/language-core@2.4.11":
dependencies:
"@volar/source-map": 2.4.5
"@volar/source-map": 2.4.11
"@volar/language-server@2.4.5":
"@volar/language-server@2.4.11":
dependencies:
"@volar/language-core": 2.4.5
"@volar/language-service": 2.4.5
"@volar/typescript": 2.4.5
"@volar/language-core": 2.4.11
"@volar/language-service": 2.4.11
"@volar/typescript": 2.4.11
path-browserify: 1.0.1
request-light: 0.7.0
vscode-languageserver: 9.0.1
vscode-languageserver-protocol: 3.17.5
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
"@volar/language-service@2.4.5":
"@volar/language-service@2.4.11":
dependencies:
"@volar/language-core": 2.4.5
"@volar/language-core": 2.4.11
vscode-languageserver-protocol: 3.17.5
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
"@volar/source-map@2.4.5": {}
"@volar/source-map@2.4.11": {}
"@volar/typescript@2.4.5":
"@volar/typescript@2.4.11":
dependencies:
"@volar/language-core": 2.4.5
"@volar/language-core": 2.4.11
path-browserify: 1.0.1
vscode-uri: 3.0.8
@ -6525,17 +6883,17 @@ snapshots:
dependencies:
emmet: 2.4.6
jsonc-parser: 2.3.1
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-languageserver-types: 3.17.5
vscode-uri: 2.1.2
"@vscode/l10n@0.0.18": {}
acorn-jsx@5.3.2(acorn@8.12.1):
acorn-jsx@5.3.2(acorn@8.14.0):
dependencies:
acorn: 8.12.1
acorn: 8.14.0
acorn@8.12.1: {}
acorn@8.14.0: {}
ajv@8.17.1:
dependencies:
@ -6552,10 +6910,6 @@ snapshots:
ansi-regex@6.0.1: {}
ansi-styles@3.2.1:
dependencies:
color-convert: 1.9.3
ansi-styles@4.3.0:
dependencies:
color-convert: 2.0.1
@ -6577,90 +6931,100 @@ snapshots:
argparse@2.0.1: {}
aria-query@5.3.0:
dependencies:
dequal: 2.0.3
aria-query@5.3.2: {}
array-iterate@2.0.1: {}
astring@1.8.6: {}
astro-expressive-code@0.35.6(astro@4.15.9(rollup@4.22.5)(typescript@5.6.2)):
astro-expressive-code@0.38.3(astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)):
dependencies:
astro: 4.15.9(rollup@4.22.5)(typescript@5.6.2)
rehype-expressive-code: 0.35.6
astro: 5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1)
rehype-expressive-code: 0.38.3
astro@4.15.9(rollup@4.22.5)(typescript@5.6.2):
astro@5.1.0(jiti@2.4.2)(rollup@4.28.1)(typescript@5.7.2)(yaml@2.5.1):
dependencies:
"@astrojs/compiler": 2.10.3
"@astrojs/internal-helpers": 0.4.1
"@astrojs/markdown-remark": 5.2.0
"@astrojs/telemetry": 3.1.0
"@babel/core": 7.25.2
"@babel/plugin-transform-react-jsx": 7.25.2(@babel/core@7.25.2)
"@babel/types": 7.25.6
"@astrojs/internal-helpers": 0.4.2
"@astrojs/markdown-remark": 6.0.1
"@astrojs/telemetry": 3.2.0
"@oslojs/encoding": 1.1.0
"@rollup/pluginutils": 5.1.2(rollup@4.22.5)
"@types/babel__core": 7.20.5
"@rollup/pluginutils": 5.1.4(rollup@4.28.1)
"@types/cookie": 0.6.0
acorn: 8.12.1
aria-query: 5.3.0
acorn: 8.14.0
aria-query: 5.3.2
axobject-query: 4.1.0
boxen: 7.1.1
ci-info: 4.0.0
boxen: 8.0.1
ci-info: 4.1.0
clsx: 2.1.1
common-ancestor-path: 1.0.1
cookie: 0.6.0
cookie: 0.7.2
cssesc: 3.0.0
debug: 4.3.7
deterministic-object-hash: 2.0.2
devalue: 5.0.0
devalue: 5.1.1
diff: 5.2.0
dlv: 1.1.3
dset: 3.1.3
dset: 3.1.4
es-module-lexer: 1.5.4
esbuild: 0.21.5
estree-walker: 3.0.3
fast-glob: 3.3.2
fastq: 1.17.1
flattie: 1.1.1
github-slugger: 2.0.0
gray-matter: 4.0.3
html-escaper: 3.0.3
http-cache-semantics: 4.1.1
js-yaml: 4.1.0
kleur: 4.1.5
magic-string: 0.30.11
magic-string: 0.30.17
magicast: 0.3.5
micromatch: 4.0.8
mrmime: 2.0.0
neotraverse: 0.6.18
ora: 8.1.0
p-limit: 6.1.0
p-queue: 8.0.1
preferred-pm: 4.0.0
prompts: 2.4.2
rehype: 13.0.1
rehype: 13.0.2
semver: 7.6.3
shiki: 1.20.0
string-width: 7.2.0
strip-ansi: 7.1.0
tinyexec: 0.3.0
tsconfck: 3.1.3(typescript@5.6.2)
shiki: 1.24.3
tinyexec: 0.3.1
tsconfck: 3.1.4(typescript@5.7.2)
ultrahtml: 1.5.3
unist-util-visit: 5.0.0
unstorage: 1.14.0
vfile: 6.0.3
vite: 5.4.8
vitefu: 1.0.2(vite@5.4.8)
vite: 6.0.4(jiti@2.4.2)(yaml@2.5.1)
vitefu: 1.0.4(vite@6.0.4(jiti@2.4.2)(yaml@2.5.1))
which-pm: 3.0.0
xxhash-wasm: 1.0.2
xxhash-wasm: 1.1.0
yargs-parser: 21.1.1
zod: 3.23.8
zod-to-json-schema: 3.23.3(zod@3.23.8)
zod-to-ts: 1.2.0(typescript@5.6.2)(zod@3.23.8)
yocto-spinner: 0.1.2
zod: 3.24.1
zod-to-json-schema: 3.24.1(zod@3.24.1)
zod-to-ts: 1.2.0(typescript@5.7.2)(zod@3.24.1)
optionalDependencies:
sharp: 0.33.5
transitivePeerDependencies:
- "@azure/app-configuration"
- "@azure/cosmos"
- "@azure/data-tables"
- "@azure/identity"
- "@azure/keyvault-secrets"
- "@azure/storage-blob"
- "@capacitor/preferences"
- "@deno/kv"
- "@netlify/blobs"
- "@planetscale/database"
- "@types/node"
- "@upstash/redis"
- "@vercel/blob"
- "@vercel/kv"
- aws4fetch
- db0
- idb-keyval
- ioredis
- jiti
- less
- lightningcss
- rollup
@ -6670,17 +7034,10 @@ snapshots:
- sugarss
- supports-color
- terser
- tsx
- typescript
autoprefixer@10.4.20(postcss@8.4.38):
dependencies:
browserslist: 4.24.0
caniuse-lite: 1.0.30001664
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.0
postcss: 8.4.38
postcss-value-parser: 4.2.0
- uploadthing
- yaml
autoprefixer@10.4.20(postcss@8.4.47):
dependencies:
@ -6692,6 +7049,16 @@ snapshots:
postcss: 8.4.47
postcss-value-parser: 4.2.0
autoprefixer@10.4.20(postcss@8.4.49):
dependencies:
browserslist: 4.24.0
caniuse-lite: 1.0.30001664
fraction.js: 4.3.7
normalize-range: 0.1.2
picocolors: 1.1.0
postcss: 8.4.49
postcss-value-parser: 4.2.0
axobject-query@4.1.0: {}
bail@2.0.2: {}
@ -6712,25 +7079,20 @@ snapshots:
boolbase@1.0.0: {}
boxen@7.1.1:
boxen@8.0.1:
dependencies:
ansi-align: 3.0.1
camelcase: 7.0.1
camelcase: 8.0.0
chalk: 5.3.0
cli-boxes: 3.0.0
string-width: 5.1.2
type-fest: 2.19.0
widest-line: 4.0.1
wrap-ansi: 8.1.0
string-width: 7.2.0
type-fest: 4.30.2
widest-line: 5.0.0
wrap-ansi: 9.0.0
brace-expansion@1.1.11:
brace-expansion@2.0.1:
dependencies:
balanced-match: 1.0.2
concat-map: 0.0.1
braces@3.0.2:
dependencies:
fill-range: 7.0.1
braces@3.0.3:
dependencies:
@ -6745,7 +7107,7 @@ snapshots:
camelcase-css@2.0.1: {}
camelcase@7.0.1: {}
camelcase@8.0.0: {}
caniuse-api@3.0.0:
dependencies:
@ -6760,12 +7122,6 @@ snapshots:
ccount@2.0.1: {}
chalk@2.4.2:
dependencies:
ansi-styles: 3.2.1
escape-string-regexp: 1.0.5
supports-color: 5.5.0
chalk@5.3.0: {}
character-entities-html4@2.1.0: {}
@ -6779,7 +7135,7 @@ snapshots:
chokidar@3.6.0:
dependencies:
anymatch: 3.1.3
braces: 3.0.2
braces: 3.0.3
glob-parent: 5.1.2
is-binary-path: 2.1.0
is-glob: 4.0.3
@ -6788,15 +7144,23 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
ci-info@4.0.0: {}
chokidar@4.0.3:
dependencies:
readdirp: 4.0.2
ci-info@4.1.0: {}
citty@0.1.6:
dependencies:
consola: 3.2.3
cli-boxes@3.0.0: {}
cli-cursor@5.0.0:
clipboardy@4.0.0:
dependencies:
restore-cursor: 5.1.0
cli-spinners@2.9.2: {}
execa: 8.0.1
is-wsl: 3.1.0
is64bit: 2.0.0
cliui@8.0.1:
dependencies:
@ -6808,16 +7172,10 @@ snapshots:
collapse-white-space@2.1.0: {}
color-convert@1.9.3:
dependencies:
color-name: 1.1.3
color-convert@2.0.1:
dependencies:
color-name: 1.1.4
color-name@1.1.3: {}
color-name@1.1.4: {}
color-string@1.9.1:
@ -6840,31 +7198,43 @@ snapshots:
common-ancestor-path@1.0.1: {}
concat-map@0.0.1: {}
confbox@0.1.8: {}
convert-source-map@2.0.0: {}
consola@3.2.3: {}
cookie@0.6.0: {}
cookie-es@1.2.2: {}
css-blank-pseudo@7.0.0(postcss@8.4.38):
cookie@0.7.2: {}
cross-spawn@7.0.6:
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
path-key: 3.1.1
shebang-command: 2.0.0
which: 2.0.2
css-declaration-sorter@7.2.0(postcss@8.4.38):
crossws@0.3.1:
dependencies:
postcss: 8.4.38
uncrypto: 0.1.3
css-has-pseudo@7.0.0(postcss@8.4.38):
css-blank-pseudo@7.0.1(postcss@8.4.47):
dependencies:
"@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.0)
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 7.0.0
css-declaration-sorter@7.2.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
css-has-pseudo@7.0.2(postcss@8.4.47):
dependencies:
"@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-value-parser: 4.2.0
css-prefers-color-scheme@10.0.0(postcss@8.4.38):
css-prefers-color-scheme@10.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
css-select@5.1.0:
dependencies:
@ -6888,62 +7258,58 @@ snapshots:
css-what@6.1.0: {}
cssdb@8.1.1: {}
cssdb@8.2.3: {}
cssesc@3.0.0: {}
cssnano-preset-default@7.0.6(postcss@8.4.38):
cssnano-preset-default@7.0.6(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
css-declaration-sorter: 7.2.0(postcss@8.4.38)
cssnano-utils: 5.0.0(postcss@8.4.38)
postcss: 8.4.38
postcss-calc: 10.0.2(postcss@8.4.38)
postcss-colormin: 7.0.2(postcss@8.4.38)
postcss-convert-values: 7.0.4(postcss@8.4.38)
postcss-discard-comments: 7.0.3(postcss@8.4.38)
postcss-discard-duplicates: 7.0.1(postcss@8.4.38)
postcss-discard-empty: 7.0.0(postcss@8.4.38)
postcss-discard-overridden: 7.0.0(postcss@8.4.38)
postcss-merge-longhand: 7.0.4(postcss@8.4.38)
postcss-merge-rules: 7.0.4(postcss@8.4.38)
postcss-minify-font-values: 7.0.0(postcss@8.4.38)
postcss-minify-gradients: 7.0.0(postcss@8.4.38)
postcss-minify-params: 7.0.2(postcss@8.4.38)
postcss-minify-selectors: 7.0.4(postcss@8.4.38)
postcss-normalize-charset: 7.0.0(postcss@8.4.38)
postcss-normalize-display-values: 7.0.0(postcss@8.4.38)
postcss-normalize-positions: 7.0.0(postcss@8.4.38)
postcss-normalize-repeat-style: 7.0.0(postcss@8.4.38)
postcss-normalize-string: 7.0.0(postcss@8.4.38)
postcss-normalize-timing-functions: 7.0.0(postcss@8.4.38)
postcss-normalize-unicode: 7.0.2(postcss@8.4.38)
postcss-normalize-url: 7.0.0(postcss@8.4.38)
postcss-normalize-whitespace: 7.0.0(postcss@8.4.38)
postcss-ordered-values: 7.0.1(postcss@8.4.38)
postcss-reduce-initial: 7.0.2(postcss@8.4.38)
postcss-reduce-transforms: 7.0.0(postcss@8.4.38)
postcss-svgo: 7.0.1(postcss@8.4.38)
postcss-unique-selectors: 7.0.3(postcss@8.4.38)
css-declaration-sorter: 7.2.0(postcss@8.4.47)
cssnano-utils: 5.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-calc: 10.0.2(postcss@8.4.47)
postcss-colormin: 7.0.2(postcss@8.4.47)
postcss-convert-values: 7.0.4(postcss@8.4.47)
postcss-discard-comments: 7.0.3(postcss@8.4.47)
postcss-discard-duplicates: 7.0.1(postcss@8.4.47)
postcss-discard-empty: 7.0.0(postcss@8.4.47)
postcss-discard-overridden: 7.0.0(postcss@8.4.47)
postcss-merge-longhand: 7.0.4(postcss@8.4.47)
postcss-merge-rules: 7.0.4(postcss@8.4.47)
postcss-minify-font-values: 7.0.0(postcss@8.4.47)
postcss-minify-gradients: 7.0.0(postcss@8.4.47)
postcss-minify-params: 7.0.2(postcss@8.4.47)
postcss-minify-selectors: 7.0.4(postcss@8.4.47)
postcss-normalize-charset: 7.0.0(postcss@8.4.47)
postcss-normalize-display-values: 7.0.0(postcss@8.4.47)
postcss-normalize-positions: 7.0.0(postcss@8.4.47)
postcss-normalize-repeat-style: 7.0.0(postcss@8.4.47)
postcss-normalize-string: 7.0.0(postcss@8.4.47)
postcss-normalize-timing-functions: 7.0.0(postcss@8.4.47)
postcss-normalize-unicode: 7.0.2(postcss@8.4.47)
postcss-normalize-url: 7.0.0(postcss@8.4.47)
postcss-normalize-whitespace: 7.0.0(postcss@8.4.47)
postcss-ordered-values: 7.0.1(postcss@8.4.47)
postcss-reduce-initial: 7.0.2(postcss@8.4.47)
postcss-reduce-transforms: 7.0.0(postcss@8.4.47)
postcss-svgo: 7.0.1(postcss@8.4.47)
postcss-unique-selectors: 7.0.3(postcss@8.4.47)
cssnano-utils@5.0.0(postcss@8.4.38):
cssnano-utils@5.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
cssnano@7.0.6(postcss@8.4.38):
cssnano@7.0.6(postcss@8.4.47):
dependencies:
cssnano-preset-default: 7.0.6(postcss@8.4.38)
cssnano-preset-default: 7.0.6(postcss@8.4.47)
lilconfig: 3.1.2
postcss: 8.4.38
postcss: 8.4.47
csso@5.0.5:
dependencies:
css-tree: 2.2.1
debug@4.3.4:
dependencies:
ms: 2.1.2
debug@4.3.7:
dependencies:
ms: 2.1.3
@ -6952,15 +7318,21 @@ snapshots:
dependencies:
character-entities: 2.0.2
defu@6.1.4: {}
dequal@2.0.3: {}
destr@2.0.3: {}
detect-libc@1.0.3: {}
detect-libc@2.0.3: {}
deterministic-object-hash@2.0.2:
dependencies:
base-64: 1.0.0
devalue@5.0.0: {}
devalue@5.1.1: {}
devlop@1.1.0:
dependencies:
@ -6992,7 +7364,7 @@ snapshots:
domelementtype: 2.3.0
domhandler: 5.0.3
dset@3.1.3: {}
dset@3.1.4: {}
eastasianwidth@0.2.0: {}
@ -7003,6 +7375,8 @@ snapshots:
"@emmetio/abbreviation": 2.3.3
"@emmetio/css-abbreviation": 2.1.8
emoji-regex-xs@1.0.0: {}
emoji-regex@10.3.0: {}
emoji-regex@8.0.0: {}
@ -7013,6 +7387,20 @@ snapshots:
es-module-lexer@1.5.4: {}
esast-util-from-estree@2.0.0:
dependencies:
"@types/estree-jsx": 1.0.3
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.3
acorn: 8.14.0
esast-util-from-estree: 2.0.0
vfile-message: 4.0.2
esbuild@0.21.5:
optionalDependencies:
"@esbuild/aix-ppc64": 0.21.5
@ -7039,19 +7427,42 @@ snapshots:
"@esbuild/win32-ia32": 0.21.5
"@esbuild/win32-x64": 0.21.5
escalade@3.1.1: {}
esbuild@0.24.0:
optionalDependencies:
"@esbuild/aix-ppc64": 0.24.0
"@esbuild/android-arm": 0.24.0
"@esbuild/android-arm64": 0.24.0
"@esbuild/android-x64": 0.24.0
"@esbuild/darwin-arm64": 0.24.0
"@esbuild/darwin-x64": 0.24.0
"@esbuild/freebsd-arm64": 0.24.0
"@esbuild/freebsd-x64": 0.24.0
"@esbuild/linux-arm": 0.24.0
"@esbuild/linux-arm64": 0.24.0
"@esbuild/linux-ia32": 0.24.0
"@esbuild/linux-loong64": 0.24.0
"@esbuild/linux-mips64el": 0.24.0
"@esbuild/linux-ppc64": 0.24.0
"@esbuild/linux-riscv64": 0.24.0
"@esbuild/linux-s390x": 0.24.0
"@esbuild/linux-x64": 0.24.0
"@esbuild/netbsd-x64": 0.24.0
"@esbuild/openbsd-arm64": 0.24.0
"@esbuild/openbsd-x64": 0.24.0
"@esbuild/sunos-x64": 0.24.0
"@esbuild/win32-arm64": 0.24.0
"@esbuild/win32-ia32": 0.24.0
"@esbuild/win32-x64": 0.24.0
escalade@3.2.0: {}
escape-string-regexp@1.0.5: {}
escape-string-regexp@5.0.0: {}
esprima@4.0.1: {}
estree-util-attach-comments@3.0.0:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
estree-util-build-jsx@3.0.1:
dependencies:
@ -7062,6 +7473,11 @@ snapshots:
estree-util-is-identifier-name@3.0.0: {}
estree-util-scope@1.0.0:
dependencies:
"@types/estree": 1.0.6
devlop: 1.1.0
estree-util-to-js@2.0.0:
dependencies:
"@types/estree-jsx": 1.0.3
@ -7077,20 +7493,28 @@ snapshots:
estree-walker@3.0.3:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
eventemitter3@5.0.1: {}
expressive-code@0.35.6:
execa@8.0.1:
dependencies:
"@expressive-code/core": 0.35.6
"@expressive-code/plugin-frames": 0.35.6
"@expressive-code/plugin-shiki": 0.35.6
"@expressive-code/plugin-text-markers": 0.35.6
cross-spawn: 7.0.6
get-stream: 8.0.1
human-signals: 5.0.0
is-stream: 3.0.0
merge-stream: 2.0.0
npm-run-path: 5.3.0
onetime: 6.0.0
signal-exit: 4.1.0
strip-final-newline: 3.0.0
extend-shallow@2.0.1:
expressive-code@0.38.3:
dependencies:
is-extendable: 0.1.1
"@expressive-code/core": 0.38.3
"@expressive-code/plugin-frames": 0.38.3
"@expressive-code/plugin-shiki": 0.38.3
"@expressive-code/plugin-text-markers": 0.38.3
extend@3.0.2: {}
@ -7102,22 +7526,14 @@ snapshots:
"@nodelib/fs.walk": 1.2.8
glob-parent: 5.1.2
merge2: 1.4.1
micromatch: 4.0.5
micromatch: 4.0.8
fast-uri@3.0.2: {}
fastq@1.15.0:
dependencies:
reusify: 1.0.4
fastq@1.17.1:
dependencies:
reusify: 1.0.4
fill-range@7.0.1:
dependencies:
to-regex-range: 5.0.1
fill-range@7.1.1:
dependencies:
to-regex-range: 5.0.1
@ -7136,21 +7552,26 @@ snapshots:
flattie@1.1.1: {}
fraction.js@4.3.7: {}
foreground-child@3.3.0:
dependencies:
cross-spawn: 7.0.6
signal-exit: 4.1.0
fs.realpath@1.0.0: {}
fraction.js@4.3.7: {}
fsevents@2.3.3:
optional: true
function-bind@1.1.2: {}
gensync@1.0.0-beta.2: {}
get-caller-file@2.0.5: {}
get-east-asian-width@1.2.0: {}
get-port-please@3.1.2: {}
get-stream@8.0.1: {}
github-slugger@2.0.0: {}
glob-parent@5.1.2:
@ -7161,27 +7582,29 @@ snapshots:
dependencies:
is-glob: 4.0.3
glob@7.1.6:
glob@10.4.5:
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
globals@11.12.0: {}
foreground-child: 3.3.0
jackspeak: 3.4.3
minimatch: 9.0.5
minipass: 7.1.2
package-json-from-dist: 1.0.1
path-scurry: 1.11.1
graceful-fs@4.2.11: {}
gray-matter@4.0.3:
h3@1.13.0:
dependencies:
js-yaml: 3.14.1
kind-of: 6.0.3
section-matter: 1.0.0
strip-bom-string: 1.0.0
has-flag@3.0.0: {}
cookie-es: 1.2.2
crossws: 0.3.1
defu: 6.1.4
destr: 2.0.3
iron-webcrypto: 1.2.1
ohash: 1.1.4
radix3: 1.1.2
ufo: 1.5.4
uncrypto: 0.1.3
unenv: 1.10.0
hasown@2.0.0:
dependencies:
@ -7201,6 +7624,15 @@ snapshots:
vfile: 6.0.3
vfile-message: 4.0.2
hast-util-from-html@2.0.3:
dependencies:
"@types/hast": 3.0.4
devlop: 1.1.0
hast-util-from-parse5: 8.0.1
parse5: 7.1.2
vfile: 6.0.3
vfile-message: 4.0.2
hast-util-from-parse5@8.0.1:
dependencies:
"@types/hast": 3.0.4
@ -7273,7 +7705,7 @@ snapshots:
hast-util-to-estree@3.1.0:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
"@types/estree-jsx": 1.0.3
"@types/hast": 3.0.4
comma-separated-tokens: 2.0.3
@ -7292,13 +7724,12 @@ snapshots:
transitivePeerDependencies:
- supports-color
hast-util-to-html@9.0.1:
hast-util-to-html@9.0.3:
dependencies:
"@types/hast": 3.0.4
"@types/unist": 3.0.2
ccount: 2.0.1
comma-separated-tokens: 2.0.3
hast-util-raw: 9.0.1
hast-util-whitespace: 3.0.0
html-void-elements: 3.0.0
mdast-util-to-hast: 13.0.2
@ -7307,7 +7738,7 @@ snapshots:
stringify-entities: 4.0.3
zwitch: 2.0.4
hast-util-to-html@9.0.3:
hast-util-to-html@9.0.4:
dependencies:
"@types/hast": 3.0.4
"@types/unist": 3.0.2
@ -7323,7 +7754,7 @@ snapshots:
hast-util-to-jsx-runtime@2.3.0:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
"@types/hast": 3.0.4
"@types/unist": 3.0.2
comma-separated-tokens: 2.0.3
@ -7357,7 +7788,7 @@ snapshots:
hast-util-to-text@4.0.2:
dependencies:
"@types/hast": 3.0.3
"@types/hast": 3.0.4
"@types/unist": 3.0.2
hast-util-is-element: 3.0.0
unist-util-find-after: 5.0.0
@ -7390,23 +7821,22 @@ snapshots:
http-cache-semantics@4.1.1: {}
http-shutdown@1.2.2: {}
human-signals@5.0.0: {}
i18next@23.15.1:
dependencies:
"@babel/runtime": 7.25.6
import-meta-resolve@4.1.0: {}
inflight@1.0.6:
dependencies:
once: 1.4.0
wrappy: 1.0.2
inherits@2.0.4: {}
inline-style-parser@0.1.1: {}
inline-style-parser@0.2.2: {}
iron-webcrypto@1.2.1: {}
is-alphabetical@2.0.1: {}
is-alphanumerical@2.0.1:
@ -7428,8 +7858,6 @@ snapshots:
is-docker@3.0.0: {}
is-extendable@0.1.1: {}
is-extglob@2.1.1: {}
is-fullwidth-code-point@3.0.0: {}
@ -7444,27 +7872,31 @@ snapshots:
dependencies:
is-docker: 3.0.0
is-interactive@2.0.0: {}
is-number@7.0.0: {}
is-plain-obj@4.1.0: {}
is-reference@3.0.2:
dependencies:
"@types/estree": 1.0.5
is-unicode-supported@1.3.0: {}
is-unicode-supported@2.0.0: {}
is-stream@3.0.0: {}
is-wsl@3.1.0:
dependencies:
is-inside-container: 1.0.0
jiti@1.21.0: {}
is64bit@2.0.0:
dependencies:
system-architecture: 0.1.0
js-tokens@4.0.0: {}
isexe@2.0.0: {}
jackspeak@3.4.3:
dependencies:
"@isaacs/cliui": 8.0.2
optionalDependencies:
"@pkgjs/parseargs": 0.11.0
jiti@1.21.7: {}
jiti@2.4.2: {}
js-yaml@3.14.1:
dependencies:
@ -7475,30 +7907,43 @@ snapshots:
dependencies:
argparse: 2.0.1
jsesc@2.5.2: {}
json-schema-traverse@1.0.0: {}
json5@2.2.3: {}
jsonc-parser@2.3.1: {}
jsonc-parser@3.3.1: {}
kind-of@6.0.3: {}
kleur@3.0.3: {}
kleur@4.1.5: {}
lilconfig@2.1.0: {}
lilconfig@3.1.1: {}
lilconfig@3.1.2: {}
lilconfig@3.1.3: {}
lines-and-columns@1.2.4: {}
listhen@1.9.0:
dependencies:
"@parcel/watcher": 2.5.0
"@parcel/watcher-wasm": 2.5.0
citty: 0.1.6
clipboardy: 4.0.0
consola: 3.2.3
crossws: 0.3.1
defu: 6.1.4
get-port-please: 3.1.2
h3: 1.13.0
http-shutdown: 1.2.2
jiti: 2.4.2
mlly: 1.7.3
node-forge: 1.3.1
pathe: 1.1.2
std-env: 3.8.0
ufo: 1.5.4
untun: 0.1.3
uqr: 0.1.2
load-yaml-file@0.2.0:
dependencies:
graceful-fs: 4.2.11
@ -7516,18 +7961,11 @@ snapshots:
lodash@4.17.21: {}
log-symbols@6.0.0:
dependencies:
chalk: 5.3.0
is-unicode-supported: 1.3.0
longest-streak@3.1.0: {}
lru-cache@5.1.1:
dependencies:
yallist: 3.1.1
lru-cache@10.4.3: {}
magic-string@0.30.11:
magic-string@0.30.17:
dependencies:
"@jridgewell/sourcemap-codec": 1.5.0
@ -7535,7 +7973,7 @@ snapshots:
dependencies:
"@babel/parser": 7.25.6
"@babel/types": 7.25.6
source-map-js: 1.2.0
source-map-js: 1.2.1
markdown-extensions@2.0.0: {}
@ -7543,7 +7981,7 @@ snapshots:
mdast-util-definitions@6.0.0:
dependencies:
"@types/mdast": 4.0.3
"@types/mdast": 4.0.4
"@types/unist": 3.0.2
unist-util-visit: 5.0.0
@ -7726,6 +8164,8 @@ snapshots:
mdn-data@2.0.30: {}
merge-stream@2.0.0: {}
merge2@1.4.1: {}
micromark-core-commonmark@2.0.0:
@ -7817,7 +8257,7 @@ snapshots:
micromark-extension-mdx-expression@3.0.0:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
devlop: 1.1.0
micromark-factory-mdx-expression: 2.0.1
micromark-factory-space: 2.0.0
@ -7829,7 +8269,7 @@ snapshots:
micromark-extension-mdx-jsx@3.0.0:
dependencies:
"@types/acorn": 4.0.6
"@types/estree": 1.0.5
"@types/estree": 1.0.6
devlop: 1.1.0
estree-util-is-identifier-name: 3.0.0
micromark-factory-mdx-expression: 2.0.1
@ -7845,7 +8285,7 @@ snapshots:
micromark-extension-mdxjs-esm@3.0.0:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
micromark-util-character: 2.0.1
@ -7857,8 +8297,8 @@ snapshots:
micromark-extension-mdxjs@3.0.0:
dependencies:
acorn: 8.12.1
acorn-jsx: 5.3.2(acorn@8.12.1)
acorn: 8.14.0
acorn-jsx: 5.3.2(acorn@8.14.0)
micromark-extension-mdx-expression: 3.0.0
micromark-extension-mdx-jsx: 3.0.0
micromark-extension-mdx-md: 2.0.0
@ -7881,7 +8321,7 @@ snapshots:
micromark-factory-mdx-expression@2.0.1:
dependencies:
"@types/estree": 1.0.5
"@types/estree": 1.0.6
devlop: 1.1.0
micromark-util-character: 2.0.1
micromark-util-events-to-acorn: 2.0.2
@ -7945,7 +8385,7 @@ snapshots:
micromark-util-events-to-acorn@2.0.2:
dependencies:
"@types/acorn": 4.0.6
"@types/estree": 1.0.5
"@types/estree": 1.0.6
"@types/unist": 3.0.2
devlop: 1.1.0
estree-util-visit: 2.0.0
@ -7983,7 +8423,7 @@ snapshots:
micromark@4.0.0:
dependencies:
"@types/debug": 4.1.12
debug: 4.3.4
debug: 4.3.7
decode-named-character-reference: 1.0.2
devlop: 1.1.0
micromark-core-commonmark: 2.0.0
@ -8002,26 +8442,30 @@ snapshots:
transitivePeerDependencies:
- supports-color
micromatch@4.0.5:
dependencies:
braces: 3.0.2
picomatch: 2.3.1
micromatch@4.0.8:
dependencies:
braces: 3.0.3
picomatch: 2.3.1
mimic-function@5.0.1: {}
mime@3.0.0: {}
minimatch@3.1.2:
mimic-fn@4.0.0: {}
minimatch@9.0.5:
dependencies:
brace-expansion: 1.1.11
brace-expansion: 2.0.1
minipass@7.1.2: {}
mlly@1.7.3:
dependencies:
acorn: 8.14.0
pathe: 1.1.2
pkg-types: 1.2.1
ufo: 1.5.4
mrmime@2.0.0: {}
ms@2.1.2: {}
ms@2.1.3: {}
muggle-string@0.4.1: {}
@ -8040,6 +8484,12 @@ snapshots:
dependencies:
"@types/nlcst": 2.0.3
node-addon-api@7.1.1: {}
node-fetch-native@1.6.4: {}
node-forge@1.3.1: {}
node-releases@2.0.18: {}
normalize-path@3.0.0: {}
@ -8048,6 +8498,10 @@ snapshots:
not@0.1.0: {}
npm-run-path@5.3.0:
dependencies:
path-key: 4.0.0
nth-check@2.1.1:
dependencies:
boolbase: 1.0.0
@ -8056,29 +8510,23 @@ snapshots:
object-hash@3.0.0: {}
once@1.4.0:
ofetch@1.4.1:
dependencies:
wrappy: 1.0.2
destr: 2.0.3
node-fetch-native: 1.6.4
ufo: 1.5.4
onetime@7.0.0:
dependencies:
mimic-function: 5.0.1
ohash@1.1.4: {}
oniguruma-to-js@0.4.3:
onetime@6.0.0:
dependencies:
regex: 4.3.2
mimic-fn: 4.0.0
ora@8.1.0:
oniguruma-to-es@0.8.0:
dependencies:
chalk: 5.3.0
cli-cursor: 5.0.0
cli-spinners: 2.9.2
is-interactive: 2.0.0
is-unicode-supported: 2.0.0
log-symbols: 6.0.0
stdin-discarder: 0.2.2
string-width: 7.2.0
strip-ansi: 7.1.0
emoji-regex-xs: 1.0.0
regex: 5.0.2
regex-recursion: 5.0.0
p-limit@2.3.0:
dependencies:
@ -8101,6 +8549,8 @@ snapshots:
p-try@2.2.0: {}
package-json-from-dist@1.0.1: {}
pagefind@1.0.4:
optionalDependencies:
"@pagefind/darwin-arm64": 1.0.4
@ -8137,22 +8587,29 @@ snapshots:
path-exists@4.0.0: {}
path-is-absolute@1.0.1: {}
path-key@3.1.1: {}
path-key@4.0.0: {}
path-parse@1.0.7: {}
periscopic@3.1.0:
path-scurry@1.11.1:
dependencies:
"@types/estree": 1.0.5
estree-walker: 3.0.3
is-reference: 3.0.2
lru-cache: 10.4.3
minipass: 7.1.2
pathe@1.1.2: {}
picocolors@1.0.0: {}
picocolors@1.1.0: {}
picocolors@1.1.1: {}
picomatch@2.3.1: {}
picomatch@4.0.2: {}
pify@2.3.0: {}
pify@4.0.1: {}
@ -8163,418 +8620,431 @@ snapshots:
dependencies:
find-up: 4.1.0
postcss-attribute-case-insensitive@7.0.0(postcss@8.4.38):
pkg-types@1.2.1:
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
confbox: 0.1.8
mlly: 1.7.3
pathe: 1.1.2
postcss-calc@10.0.2(postcss@8.4.38):
postcss-attribute-case-insensitive@7.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-calc@10.0.2(postcss@8.4.47):
dependencies:
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-value-parser: 4.2.0
postcss-clamp@4.1.0(postcss@8.4.38):
postcss-clamp@4.1.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-color-functional-notation@7.0.2(postcss@8.4.38):
postcss-color-functional-notation@7.0.6(postcss@8.4.47):
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-color-hex-alpha@10.0.0(postcss@8.4.38):
postcss-color-hex-alpha@10.0.0(postcss@8.4.47):
dependencies:
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-color-rebeccapurple@10.0.0(postcss@8.4.38):
postcss-color-rebeccapurple@10.0.0(postcss@8.4.47):
dependencies:
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-colormin@7.0.2(postcss@8.4.38):
postcss-colormin@7.0.2(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
caniuse-api: 3.0.0
colord: 2.9.3
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-convert-values@7.0.4(postcss@8.4.38):
postcss-convert-values@7.0.4(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-custom-media@11.0.1(postcss@8.4.38):
postcss-custom-media@11.0.5(postcss@8.4.47):
dependencies:
"@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/media-query-list-parser": 3.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
postcss: 8.4.38
"@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/media-query-list-parser": 4.0.2(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
postcss: 8.4.47
postcss-custom-properties@14.0.1(postcss@8.4.38):
postcss-custom-properties@14.0.4(postcss@8.4.47):
dependencies:
"@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-custom-selectors@8.0.1(postcss@8.4.38):
postcss-custom-selectors@8.0.4(postcss@8.4.47):
dependencies:
"@csstools/cascade-layer-name-parser": 2.0.1(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
postcss: 8.4.38
postcss-selector-parser: 6.1.0
"@csstools/cascade-layer-name-parser": 2.0.4(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-dir-pseudo-class@9.0.0(postcss@8.4.38):
postcss-dir-pseudo-class@9.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-discard-comments@7.0.3(postcss@8.4.38):
postcss-discard-comments@7.0.3(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-discard-duplicates@7.0.1(postcss@8.4.38):
postcss-discard-duplicates@7.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-discard-empty@7.0.0(postcss@8.4.38):
postcss-discard-empty@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-discard-overridden@7.0.0(postcss@8.4.38):
postcss-discard-overridden@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-double-position-gradients@6.0.0(postcss@8.4.38):
postcss-double-position-gradients@6.0.0(postcss@8.4.47):
dependencies:
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-focus-visible@10.0.0(postcss@8.4.38):
postcss-focus-visible@10.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-focus-within@9.0.0(postcss@8.4.38):
postcss-focus-within@9.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-font-variant@5.0.0(postcss@8.4.38):
postcss-font-variant@5.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-gap-properties@6.0.0(postcss@8.4.38):
postcss-gap-properties@6.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-image-set-function@7.0.0(postcss@8.4.38):
postcss-image-set-function@7.0.0(postcss@8.4.47):
dependencies:
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-import@15.1.0(postcss@8.4.38):
postcss-import@15.1.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
read-cache: 1.0.0
resolve: 1.22.8
postcss-js@4.0.1(postcss@8.4.38):
postcss-js@4.0.1(postcss@8.4.47):
dependencies:
camelcase-css: 2.0.1
postcss: 8.4.38
postcss: 8.4.47
postcss-lab-function@7.0.2(postcss@8.4.38):
postcss-lab-function@7.0.6(postcss@8.4.47):
dependencies:
"@csstools/css-color-parser": 3.0.2(@csstools/css-parser-algorithms@3.0.1(@csstools/css-tokenizer@3.0.1))(@csstools/css-tokenizer@3.0.1)
"@csstools/css-parser-algorithms": 3.0.1(@csstools/css-tokenizer@3.0.1)
"@csstools/css-tokenizer": 3.0.1
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/utilities": 2.0.0(postcss@8.4.38)
postcss: 8.4.38
postcss-load-config@4.0.2(postcss@8.4.38):
dependencies:
lilconfig: 3.1.1
yaml: 2.3.4
optionalDependencies:
postcss: 8.4.38
"@csstools/css-color-parser": 3.0.6(@csstools/css-parser-algorithms@3.0.4(@csstools/css-tokenizer@3.0.3))(@csstools/css-tokenizer@3.0.3)
"@csstools/css-parser-algorithms": 3.0.4(@csstools/css-tokenizer@3.0.3)
"@csstools/css-tokenizer": 3.0.3
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/utilities": 2.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-load-config@4.0.2(postcss@8.4.47):
dependencies:
lilconfig: 3.1.1
yaml: 2.3.4
lilconfig: 3.1.2
yaml: 2.5.1
optionalDependencies:
postcss: 8.4.47
postcss-logical@8.0.0(postcss@8.4.38):
postcss-load-config@4.0.2(postcss@8.4.49):
dependencies:
postcss: 8.4.38
lilconfig: 3.1.2
yaml: 2.5.1
optionalDependencies:
postcss: 8.4.49
postcss-logical@8.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-merge-longhand@7.0.4(postcss@8.4.38):
postcss-merge-longhand@7.0.4(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
stylehacks: 7.0.4(postcss@8.4.38)
stylehacks: 7.0.4(postcss@8.4.47)
postcss-merge-rules@7.0.4(postcss@8.4.38):
postcss-merge-rules@7.0.4(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
caniuse-api: 3.0.0
cssnano-utils: 5.0.0(postcss@8.4.38)
postcss: 8.4.38
cssnano-utils: 5.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-minify-font-values@7.0.0(postcss@8.4.38):
postcss-minify-font-values@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-minify-gradients@7.0.0(postcss@8.4.38):
postcss-minify-gradients@7.0.0(postcss@8.4.47):
dependencies:
colord: 2.9.3
cssnano-utils: 5.0.0(postcss@8.4.38)
postcss: 8.4.38
cssnano-utils: 5.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-minify-params@7.0.2(postcss@8.4.38):
postcss-minify-params@7.0.2(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
cssnano-utils: 5.0.0(postcss@8.4.38)
postcss: 8.4.38
cssnano-utils: 5.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-minify-selectors@7.0.4(postcss@8.4.38):
postcss-minify-selectors@7.0.4(postcss@8.4.47):
dependencies:
cssesc: 3.0.0
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-nested@6.0.1(postcss@8.4.38):
postcss-nested@6.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-nesting@13.0.0(postcss@8.4.38):
postcss-nested@6.2.0(postcss@8.4.47):
dependencies:
"@csstools/selector-resolve-nested": 2.0.0(postcss-selector-parser@6.1.0)
"@csstools/selector-specificity": 4.0.0(postcss-selector-parser@6.1.0)
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-normalize-charset@7.0.0(postcss@8.4.38):
postcss-nesting@13.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
"@csstools/selector-resolve-nested": 3.0.0(postcss-selector-parser@7.0.0)
"@csstools/selector-specificity": 5.0.0(postcss-selector-parser@7.0.0)
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-normalize-display-values@7.0.0(postcss@8.4.38):
postcss-normalize-charset@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-normalize-display-values@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-positions@7.0.0(postcss@8.4.38):
postcss-normalize-positions@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-repeat-style@7.0.0(postcss@8.4.38):
postcss-normalize-repeat-style@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-string@7.0.0(postcss@8.4.38):
postcss-normalize-string@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-timing-functions@7.0.0(postcss@8.4.38):
postcss-normalize-timing-functions@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-unicode@7.0.2(postcss@8.4.38):
postcss-normalize-unicode@7.0.2(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-url@7.0.0(postcss@8.4.38):
postcss-normalize-url@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-normalize-whitespace@7.0.0(postcss@8.4.38):
postcss-normalize-whitespace@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-opacity-percentage@3.0.0(postcss@8.4.38):
postcss-opacity-percentage@3.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-ordered-values@7.0.1(postcss@8.4.38):
postcss-ordered-values@7.0.1(postcss@8.4.47):
dependencies:
cssnano-utils: 5.0.0(postcss@8.4.38)
postcss: 8.4.38
cssnano-utils: 5.0.0(postcss@8.4.47)
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-overflow-shorthand@6.0.0(postcss@8.4.38):
postcss-overflow-shorthand@6.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-page-break@3.0.4(postcss@8.4.38):
postcss-page-break@3.0.4(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-place@10.0.0(postcss@8.4.38):
postcss-place@10.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-preset-env@10.0.5(postcss@8.4.38):
postcss-preset-env@10.1.2(postcss@8.4.47):
dependencies:
"@csstools/postcss-cascade-layers": 5.0.0(postcss@8.4.38)
"@csstools/postcss-color-function": 4.0.2(postcss@8.4.38)
"@csstools/postcss-color-mix-function": 3.0.2(postcss@8.4.38)
"@csstools/postcss-content-alt-text": 2.0.1(postcss@8.4.38)
"@csstools/postcss-exponential-functions": 2.0.1(postcss@8.4.38)
"@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.38)
"@csstools/postcss-gamut-mapping": 2.0.2(postcss@8.4.38)
"@csstools/postcss-gradients-interpolation-method": 5.0.2(postcss@8.4.38)
"@csstools/postcss-hwb-function": 4.0.2(postcss@8.4.38)
"@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.38)
"@csstools/postcss-initial": 2.0.0(postcss@8.4.38)
"@csstools/postcss-is-pseudo-class": 5.0.0(postcss@8.4.38)
"@csstools/postcss-light-dark-function": 2.0.4(postcss@8.4.38)
"@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.4.38)
"@csstools/postcss-logical-overflow": 2.0.0(postcss@8.4.38)
"@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.38)
"@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.38)
"@csstools/postcss-logical-viewport-units": 3.0.1(postcss@8.4.38)
"@csstools/postcss-media-minmax": 2.0.1(postcss@8.4.38)
"@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.1(postcss@8.4.38)
"@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.38)
"@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.38)
"@csstools/postcss-oklab-function": 4.0.2(postcss@8.4.38)
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.38)
"@csstools/postcss-relative-color-syntax": 3.0.2(postcss@8.4.38)
"@csstools/postcss-scope-pseudo-class": 4.0.0(postcss@8.4.38)
"@csstools/postcss-stepped-value-functions": 4.0.1(postcss@8.4.38)
"@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.38)
"@csstools/postcss-trigonometric-functions": 4.0.1(postcss@8.4.38)
"@csstools/postcss-unset-value": 4.0.0(postcss@8.4.38)
autoprefixer: 10.4.20(postcss@8.4.38)
"@csstools/postcss-cascade-layers": 5.0.1(postcss@8.4.47)
"@csstools/postcss-color-function": 4.0.6(postcss@8.4.47)
"@csstools/postcss-color-mix-function": 3.0.6(postcss@8.4.47)
"@csstools/postcss-content-alt-text": 2.0.4(postcss@8.4.47)
"@csstools/postcss-exponential-functions": 2.0.5(postcss@8.4.47)
"@csstools/postcss-font-format-keywords": 4.0.0(postcss@8.4.47)
"@csstools/postcss-gamut-mapping": 2.0.6(postcss@8.4.47)
"@csstools/postcss-gradients-interpolation-method": 5.0.6(postcss@8.4.47)
"@csstools/postcss-hwb-function": 4.0.6(postcss@8.4.47)
"@csstools/postcss-ic-unit": 4.0.0(postcss@8.4.47)
"@csstools/postcss-initial": 2.0.0(postcss@8.4.47)
"@csstools/postcss-is-pseudo-class": 5.0.1(postcss@8.4.47)
"@csstools/postcss-light-dark-function": 2.0.7(postcss@8.4.47)
"@csstools/postcss-logical-float-and-clear": 3.0.0(postcss@8.4.47)
"@csstools/postcss-logical-overflow": 2.0.0(postcss@8.4.47)
"@csstools/postcss-logical-overscroll-behavior": 2.0.0(postcss@8.4.47)
"@csstools/postcss-logical-resize": 3.0.0(postcss@8.4.47)
"@csstools/postcss-logical-viewport-units": 3.0.3(postcss@8.4.47)
"@csstools/postcss-media-minmax": 2.0.5(postcss@8.4.47)
"@csstools/postcss-media-queries-aspect-ratio-number-values": 3.0.4(postcss@8.4.47)
"@csstools/postcss-nested-calc": 4.0.0(postcss@8.4.47)
"@csstools/postcss-normalize-display-values": 4.0.0(postcss@8.4.47)
"@csstools/postcss-oklab-function": 4.0.6(postcss@8.4.47)
"@csstools/postcss-progressive-custom-properties": 4.0.0(postcss@8.4.47)
"@csstools/postcss-random-function": 1.0.1(postcss@8.4.47)
"@csstools/postcss-relative-color-syntax": 3.0.6(postcss@8.4.47)
"@csstools/postcss-scope-pseudo-class": 4.0.1(postcss@8.4.47)
"@csstools/postcss-sign-functions": 1.1.0(postcss@8.4.47)
"@csstools/postcss-stepped-value-functions": 4.0.5(postcss@8.4.47)
"@csstools/postcss-text-decoration-shorthand": 4.0.1(postcss@8.4.47)
"@csstools/postcss-trigonometric-functions": 4.0.5(postcss@8.4.47)
"@csstools/postcss-unset-value": 4.0.0(postcss@8.4.47)
autoprefixer: 10.4.20(postcss@8.4.47)
browserslist: 4.24.0
css-blank-pseudo: 7.0.0(postcss@8.4.38)
css-has-pseudo: 7.0.0(postcss@8.4.38)
css-prefers-color-scheme: 10.0.0(postcss@8.4.38)
cssdb: 8.1.1
postcss: 8.4.38
postcss-attribute-case-insensitive: 7.0.0(postcss@8.4.38)
postcss-clamp: 4.1.0(postcss@8.4.38)
postcss-color-functional-notation: 7.0.2(postcss@8.4.38)
postcss-color-hex-alpha: 10.0.0(postcss@8.4.38)
postcss-color-rebeccapurple: 10.0.0(postcss@8.4.38)
postcss-custom-media: 11.0.1(postcss@8.4.38)
postcss-custom-properties: 14.0.1(postcss@8.4.38)
postcss-custom-selectors: 8.0.1(postcss@8.4.38)
postcss-dir-pseudo-class: 9.0.0(postcss@8.4.38)
postcss-double-position-gradients: 6.0.0(postcss@8.4.38)
postcss-focus-visible: 10.0.0(postcss@8.4.38)
postcss-focus-within: 9.0.0(postcss@8.4.38)
postcss-font-variant: 5.0.0(postcss@8.4.38)
postcss-gap-properties: 6.0.0(postcss@8.4.38)
postcss-image-set-function: 7.0.0(postcss@8.4.38)
postcss-lab-function: 7.0.2(postcss@8.4.38)
postcss-logical: 8.0.0(postcss@8.4.38)
postcss-nesting: 13.0.0(postcss@8.4.38)
postcss-opacity-percentage: 3.0.0(postcss@8.4.38)
postcss-overflow-shorthand: 6.0.0(postcss@8.4.38)
postcss-page-break: 3.0.4(postcss@8.4.38)
postcss-place: 10.0.0(postcss@8.4.38)
postcss-pseudo-class-any-link: 10.0.0(postcss@8.4.38)
postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.38)
postcss-selector-not: 8.0.0(postcss@8.4.38)
css-blank-pseudo: 7.0.1(postcss@8.4.47)
css-has-pseudo: 7.0.2(postcss@8.4.47)
css-prefers-color-scheme: 10.0.0(postcss@8.4.47)
cssdb: 8.2.3
postcss: 8.4.47
postcss-attribute-case-insensitive: 7.0.1(postcss@8.4.47)
postcss-clamp: 4.1.0(postcss@8.4.47)
postcss-color-functional-notation: 7.0.6(postcss@8.4.47)
postcss-color-hex-alpha: 10.0.0(postcss@8.4.47)
postcss-color-rebeccapurple: 10.0.0(postcss@8.4.47)
postcss-custom-media: 11.0.5(postcss@8.4.47)
postcss-custom-properties: 14.0.4(postcss@8.4.47)
postcss-custom-selectors: 8.0.4(postcss@8.4.47)
postcss-dir-pseudo-class: 9.0.1(postcss@8.4.47)
postcss-double-position-gradients: 6.0.0(postcss@8.4.47)
postcss-focus-visible: 10.0.1(postcss@8.4.47)
postcss-focus-within: 9.0.1(postcss@8.4.47)
postcss-font-variant: 5.0.0(postcss@8.4.47)
postcss-gap-properties: 6.0.0(postcss@8.4.47)
postcss-image-set-function: 7.0.0(postcss@8.4.47)
postcss-lab-function: 7.0.6(postcss@8.4.47)
postcss-logical: 8.0.0(postcss@8.4.47)
postcss-nesting: 13.0.1(postcss@8.4.47)
postcss-opacity-percentage: 3.0.0(postcss@8.4.47)
postcss-overflow-shorthand: 6.0.0(postcss@8.4.47)
postcss-page-break: 3.0.4(postcss@8.4.47)
postcss-place: 10.0.0(postcss@8.4.47)
postcss-pseudo-class-any-link: 10.0.1(postcss@8.4.47)
postcss-replace-overflow-wrap: 4.0.0(postcss@8.4.47)
postcss-selector-not: 8.0.1(postcss@8.4.47)
postcss-pseudo-class-any-link@10.0.0(postcss@8.4.38):
postcss-pseudo-class-any-link@10.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-reduce-initial@7.0.2(postcss@8.4.38):
postcss-reduce-initial@7.0.2(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
caniuse-api: 3.0.0
postcss: 8.4.38
postcss: 8.4.47
postcss-reduce-transforms@7.0.0(postcss@8.4.38):
postcss-reduce-transforms@7.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-value-parser: 4.2.0
postcss-replace-overflow-wrap@4.0.0(postcss@8.4.38):
postcss-replace-overflow-wrap@4.0.0(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-not@8.0.0(postcss@8.4.38):
postcss-selector-not@8.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss-selector-parser: 6.1.0
postcss-selector-parser@6.1.0:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss: 8.4.47
postcss-selector-parser: 7.0.0
postcss-selector-parser@6.1.2:
dependencies:
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss-svgo@7.0.1(postcss@8.4.38):
postcss-selector-parser@7.0.0:
dependencies:
postcss: 8.4.38
cssesc: 3.0.0
util-deprecate: 1.0.2
postcss-svgo@7.0.1(postcss@8.4.47):
dependencies:
postcss: 8.4.47
postcss-value-parser: 4.2.0
svgo: 3.3.2
postcss-unique-selectors@7.0.3(postcss@8.4.38):
postcss-unique-selectors@7.0.3(postcss@8.4.47):
dependencies:
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 6.1.2
postcss-value-parser@4.2.0: {}
postcss@8.4.38:
dependencies:
nanoid: 3.3.7
picocolors: 1.0.0
source-map-js: 1.2.0
postcss@8.4.47:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.0
picocolors: 1.1.1
source-map-js: 1.2.1
postcss@8.4.49:
dependencies:
nanoid: 3.3.7
picocolors: 1.1.1
source-map-js: 1.2.1
preferred-pm@4.0.0:
@ -8597,6 +9067,8 @@ snapshots:
queue-microtask@1.2.3: {}
radix3@1.1.2: {}
read-cache@1.0.0:
dependencies:
pify: 2.3.0
@ -8605,13 +9077,53 @@ snapshots:
dependencies:
picomatch: 2.3.1
readdirp@4.0.2: {}
recma-build-jsx@1.0.0:
dependencies:
"@types/estree": 1.0.6
estree-util-build-jsx: 3.0.1
vfile: 6.0.3
recma-jsx@1.0.0(acorn@8.14.0):
dependencies:
acorn-jsx: 5.3.2(acorn@8.14.0)
estree-util-to-js: 2.0.0
recma-parse: 1.0.0
recma-stringify: 1.0.0
unified: 11.0.5
transitivePeerDependencies:
- acorn
recma-parse@1.0.0:
dependencies:
"@types/estree": 1.0.6
esast-util-from-js: 2.0.1
unified: 11.0.5
vfile: 6.0.3
recma-stringify@1.0.0:
dependencies:
"@types/estree": 1.0.6
estree-util-to-js: 2.0.0
unified: 11.0.5
vfile: 6.0.3
regenerator-runtime@0.14.1: {}
regex@4.3.2: {}
rehype-expressive-code@0.35.6:
regex-recursion@5.0.0:
dependencies:
expressive-code: 0.35.6
regex-utilities: 2.3.0
regex-utilities@2.3.0: {}
regex@5.0.2:
dependencies:
regex-utilities: 2.3.0
rehype-expressive-code@0.38.3:
dependencies:
expressive-code: 0.38.3
rehype-format@5.0.0:
dependencies:
@ -8644,10 +9156,24 @@ snapshots:
hast-util-raw: 9.0.1
vfile: 6.0.3
rehype-recma@1.0.0:
dependencies:
"@types/estree": 1.0.6
"@types/hast": 3.0.4
hast-util-to-estree: 3.1.0
transitivePeerDependencies:
- supports-color
rehype-stringify@10.0.0:
dependencies:
"@types/hast": 3.0.4
hast-util-to-html: 9.0.1
hast-util-to-html: 9.0.3
unified: 11.0.5
rehype-stringify@10.0.1:
dependencies:
"@types/hast": 3.0.4
hast-util-to-html: 9.0.3
unified: 11.0.5
rehype@13.0.1:
@ -8657,6 +9183,13 @@ snapshots:
rehype-stringify: 10.0.0
unified: 11.0.5
rehype@13.0.2:
dependencies:
"@types/hast": 3.0.4
rehype-parse: 9.0.0
rehype-stringify: 10.0.0
unified: 11.0.5
remark-directive@3.0.0:
dependencies:
"@types/mdast": 4.0.4
@ -8686,7 +9219,7 @@ snapshots:
remark-parse@11.0.0:
dependencies:
"@types/mdast": 4.0.3
"@types/mdast": 4.0.4
mdast-util-from-markdown: 2.0.0
micromark-util-types: 2.0.0
unified: 11.0.5
@ -8695,8 +9228,16 @@ snapshots:
remark-rehype@11.1.0:
dependencies:
"@types/hast": 3.0.3
"@types/mdast": 4.0.3
"@types/hast": 3.0.4
"@types/mdast": 4.0.4
mdast-util-to-hast: 13.0.2
unified: 11.0.5
vfile: 6.0.3
remark-rehype@11.1.1:
dependencies:
"@types/hast": 3.0.4
"@types/mdast": 4.0.4
mdast-util-to-hast: 13.0.2
unified: 11.0.5
vfile: 6.0.3
@ -8728,11 +9269,6 @@ snapshots:
path-parse: 1.0.7
supports-preserve-symlinks-flag: 1.0.0
restore-cursor@5.1.0:
dependencies:
onetime: 7.0.0
signal-exit: 4.1.0
retext-latin@4.0.0:
dependencies:
"@types/nlcst": 2.0.3
@ -8760,26 +9296,29 @@ snapshots:
reusify@1.0.4: {}
rollup@4.22.5:
rollup@4.28.1:
dependencies:
"@types/estree": 1.0.6
optionalDependencies:
"@rollup/rollup-android-arm-eabi": 4.22.5
"@rollup/rollup-android-arm64": 4.22.5
"@rollup/rollup-darwin-arm64": 4.22.5
"@rollup/rollup-darwin-x64": 4.22.5
"@rollup/rollup-linux-arm-gnueabihf": 4.22.5
"@rollup/rollup-linux-arm-musleabihf": 4.22.5
"@rollup/rollup-linux-arm64-gnu": 4.22.5
"@rollup/rollup-linux-arm64-musl": 4.22.5
"@rollup/rollup-linux-powerpc64le-gnu": 4.22.5
"@rollup/rollup-linux-riscv64-gnu": 4.22.5
"@rollup/rollup-linux-s390x-gnu": 4.22.5
"@rollup/rollup-linux-x64-gnu": 4.22.5
"@rollup/rollup-linux-x64-musl": 4.22.5
"@rollup/rollup-win32-arm64-msvc": 4.22.5
"@rollup/rollup-win32-ia32-msvc": 4.22.5
"@rollup/rollup-win32-x64-msvc": 4.22.5
"@rollup/rollup-android-arm-eabi": 4.28.1
"@rollup/rollup-android-arm64": 4.28.1
"@rollup/rollup-darwin-arm64": 4.28.1
"@rollup/rollup-darwin-x64": 4.28.1
"@rollup/rollup-freebsd-arm64": 4.28.1
"@rollup/rollup-freebsd-x64": 4.28.1
"@rollup/rollup-linux-arm-gnueabihf": 4.28.1
"@rollup/rollup-linux-arm-musleabihf": 4.28.1
"@rollup/rollup-linux-arm64-gnu": 4.28.1
"@rollup/rollup-linux-arm64-musl": 4.28.1
"@rollup/rollup-linux-loongarch64-gnu": 4.28.1
"@rollup/rollup-linux-powerpc64le-gnu": 4.28.1
"@rollup/rollup-linux-riscv64-gnu": 4.28.1
"@rollup/rollup-linux-s390x-gnu": 4.28.1
"@rollup/rollup-linux-x64-gnu": 4.28.1
"@rollup/rollup-linux-x64-musl": 4.28.1
"@rollup/rollup-win32-arm64-msvc": 4.28.1
"@rollup/rollup-win32-ia32-msvc": 4.28.1
"@rollup/rollup-win32-x64-msvc": 4.28.1
fsevents: 2.3.3
run-parallel@1.2.0:
@ -8788,15 +9327,6 @@ snapshots:
sax@1.3.0: {}
section-matter@1.0.0:
dependencies:
extend-shallow: 2.0.1
kind-of: 6.0.3
semver@6.3.1: {}
semver@7.6.2: {}
semver@7.6.3: {}
sharp@0.33.5:
@ -8825,18 +9355,20 @@ snapshots:
"@img/sharp-win32-ia32": 0.33.5
"@img/sharp-win32-x64": 0.33.5
shiki@1.20.0:
shebang-command@2.0.0:
dependencies:
"@shikijs/core": 1.20.0
"@shikijs/engine-javascript": 1.20.0
"@shikijs/engine-oniguruma": 1.20.0
"@shikijs/types": 1.20.0
"@shikijs/vscode-textmate": 9.2.2
"@types/hast": 3.0.4
shebang-regex: 3.0.0
shiki@1.6.3:
shebang-regex@3.0.0: {}
shiki@1.24.3:
dependencies:
"@shikijs/core": 1.6.3
"@shikijs/core": 1.24.3
"@shikijs/engine-javascript": 1.24.3
"@shikijs/engine-oniguruma": 1.24.3
"@shikijs/types": 1.24.3
"@shikijs/vscode-textmate": 9.3.1
"@types/hast": 3.0.4
signal-exit@4.1.0: {}
@ -8863,7 +9395,7 @@ snapshots:
sprintf-js@1.0.3: {}
stdin-discarder@0.2.2: {}
std-env@3.8.0: {}
stream-replace-string@2.0.0: {}
@ -8898,10 +9430,10 @@ snapshots:
dependencies:
ansi-regex: 6.0.1
strip-bom-string@1.0.0: {}
strip-bom@3.0.0: {}
strip-final-newline@3.0.0: {}
style-to-object@0.4.4:
dependencies:
inline-style-parser: 0.1.1
@ -8910,26 +9442,22 @@ snapshots:
dependencies:
inline-style-parser: 0.2.2
stylehacks@7.0.4(postcss@8.4.38):
stylehacks@7.0.4(postcss@8.4.47):
dependencies:
browserslist: 4.24.0
postcss: 8.4.38
postcss: 8.4.47
postcss-selector-parser: 6.1.2
sucrase@3.34.0:
sucrase@3.35.0:
dependencies:
"@jridgewell/gen-mapping": 0.3.5
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.6
ts-interface-checker: 0.1.13
supports-color@5.5.0:
dependencies:
has-flag: 3.0.0
supports-preserve-symlinks-flag@1.0.0: {}
svgo@3.3.2:
@ -8942,7 +9470,9 @@ snapshots:
csso: 5.0.5
picocolors: 1.0.0
tailwindcss@3.4.13:
system-architecture@0.1.0: {}
tailwindcss@3.4.17:
dependencies:
"@alloc/quick-lru": 5.2.0
arg: 5.0.2
@ -8952,20 +9482,20 @@ snapshots:
fast-glob: 3.3.2
glob-parent: 6.0.2
is-glob: 4.0.3
jiti: 1.21.0
lilconfig: 2.1.0
micromatch: 4.0.5
jiti: 1.21.7
lilconfig: 3.1.3
micromatch: 4.0.8
normalize-path: 3.0.0
object-hash: 3.0.0
picocolors: 1.0.0
postcss: 8.4.38
postcss-import: 15.1.0(postcss@8.4.38)
postcss-js: 4.0.1(postcss@8.4.38)
postcss-load-config: 4.0.2(postcss@8.4.38)
postcss-nested: 6.0.1(postcss@8.4.38)
postcss-selector-parser: 6.1.0
picocolors: 1.1.1
postcss: 8.4.47
postcss-import: 15.1.0(postcss@8.4.47)
postcss-js: 4.0.1(postcss@8.4.47)
postcss-load-config: 4.0.2(postcss@8.4.47)
postcss-nested: 6.2.0(postcss@8.4.47)
postcss-selector-parser: 6.1.2
resolve: 1.22.8
sucrase: 3.34.0
sucrase: 3.35.0
transitivePeerDependencies:
- ts-node
@ -8977,7 +9507,7 @@ snapshots:
dependencies:
any-promise: 1.3.0
tinyexec@0.3.0: {}
tinyexec@0.3.1: {}
to-fast-properties@2.0.0: {}
@ -8991,22 +9521,36 @@ snapshots:
ts-interface-checker@0.1.13: {}
tsconfck@3.1.3(typescript@5.6.2):
tsconfck@3.1.4(typescript@5.7.2):
optionalDependencies:
typescript: 5.6.2
typescript: 5.7.2
tslib@2.6.2:
optional: true
type-fest@2.19.0: {}
type-fest@4.30.2: {}
typesafe-path@0.2.2: {}
typescript-auto-import-cache@0.3.3:
dependencies:
semver: 7.6.2
semver: 7.6.3
typescript@5.6.2: {}
typescript@5.7.2: {}
ufo@1.5.4: {}
ultrahtml@1.5.3: {}
uncrypto@0.1.3: {}
unenv@1.10.0:
dependencies:
consola: 3.2.3
defu: 6.1.4
mime: 3.0.0
node-fetch-native: 1.6.4
pathe: 1.1.2
unified@11.0.5:
dependencies:
@ -9064,12 +9608,33 @@ snapshots:
unist-util-is: 6.0.0
unist-util-visit-parents: 6.0.1
unstorage@1.14.0:
dependencies:
anymatch: 3.1.3
chokidar: 3.6.0
citty: 0.1.6
destr: 2.0.3
h3: 1.13.0
listhen: 1.9.0
lru-cache: 10.4.3
node-fetch-native: 1.6.4
ofetch: 1.4.1
ufo: 1.5.4
untun@0.1.3:
dependencies:
citty: 0.1.6
consola: 3.2.3
pathe: 1.1.2
update-browserslist-db@1.1.1(browserslist@4.24.0):
dependencies:
browserslist: 4.24.0
escalade: 3.2.0
picocolors: 1.1.0
uqr@0.1.2: {}
util-deprecate@1.0.2: {}
vfile-location@5.0.2:
@ -9087,72 +9652,74 @@ snapshots:
"@types/unist": 3.0.2
vfile-message: 4.0.2
vite@5.4.8:
vite@6.0.4(jiti@2.4.2)(yaml@2.5.1):
dependencies:
esbuild: 0.21.5
postcss: 8.4.47
rollup: 4.22.5
esbuild: 0.24.0
postcss: 8.4.49
rollup: 4.28.1
optionalDependencies:
fsevents: 2.3.3
jiti: 2.4.2
yaml: 2.5.1
vitefu@1.0.2(vite@5.4.8):
vitefu@1.0.4(vite@6.0.4(jiti@2.4.2)(yaml@2.5.1)):
optionalDependencies:
vite: 5.4.8
vite: 6.0.4(jiti@2.4.2)(yaml@2.5.1)
volar-service-css@0.0.61(@volar/language-service@2.4.5):
volar-service-css@0.0.62(@volar/language-service@2.4.11):
dependencies:
vscode-css-languageservice: 6.3.1
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-emmet@0.0.61(@volar/language-service@2.4.5):
volar-service-emmet@0.0.62(@volar/language-service@2.4.11):
dependencies:
"@emmetio/css-parser": 0.4.0
"@emmetio/html-matcher": 1.3.0
"@vscode/emmet-helper": 2.9.3
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-html@0.0.61(@volar/language-service@2.4.5):
volar-service-html@0.0.62(@volar/language-service@2.4.11):
dependencies:
vscode-html-languageservice: 5.3.1
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-prettier@0.0.61(@volar/language-service@2.4.5):
volar-service-prettier@0.0.62(@volar/language-service@2.4.11):
dependencies:
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-typescript-twoslash-queries@0.0.61(@volar/language-service@2.4.5):
volar-service-typescript-twoslash-queries@0.0.62(@volar/language-service@2.4.11):
dependencies:
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-typescript@0.0.61(@volar/language-service@2.4.5):
volar-service-typescript@0.0.62(@volar/language-service@2.4.11):
dependencies:
path-browserify: 1.0.1
semver: 7.6.2
semver: 7.6.3
typescript-auto-import-cache: 0.3.3
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-nls: 5.2.0
vscode-uri: 3.0.8
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
volar-service-yaml@0.0.61(@volar/language-service@2.4.5):
volar-service-yaml@0.0.62(@volar/language-service@2.4.11):
dependencies:
vscode-uri: 3.0.8
yaml-language-server: 1.15.0
optionalDependencies:
"@volar/language-service": 2.4.5
"@volar/language-service": 2.4.11
vscode-css-languageservice@6.3.1:
dependencies:
@ -9161,13 +9728,6 @@ snapshots:
vscode-languageserver-types: 3.17.5
vscode-uri: 3.0.8
vscode-html-languageservice@5.2.0:
dependencies:
"@vscode/l10n": 0.0.18
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-types: 3.17.5
vscode-uri: 3.0.8
vscode-html-languageservice@5.3.1:
dependencies:
"@vscode/l10n": 0.0.18
@ -9178,7 +9738,7 @@ snapshots:
vscode-json-languageservice@4.1.8:
dependencies:
jsonc-parser: 3.3.1
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-languageserver-types: 3.17.5
vscode-nls: 5.2.0
vscode-uri: 3.0.8
@ -9197,8 +9757,6 @@ snapshots:
vscode-jsonrpc: 8.2.0
vscode-languageserver-types: 3.17.5
vscode-languageserver-textdocument@1.0.11: {}
vscode-languageserver-textdocument@1.0.12: {}
vscode-languageserver-types@3.16.0: {}
@ -9227,9 +9785,13 @@ snapshots:
dependencies:
load-yaml-file: 0.2.0
widest-line@4.0.1:
which@2.0.2:
dependencies:
string-width: 5.1.2
isexe: 2.0.0
widest-line@5.0.0:
dependencies:
string-width: 7.2.0
wrap-ansi@7.0.0:
dependencies:
@ -9243,14 +9805,16 @@ snapshots:
string-width: 5.1.2
strip-ansi: 7.1.0
wrappy@1.0.2: {}
wrap-ansi@9.0.0:
dependencies:
ansi-styles: 6.2.1
string-width: 7.2.0
strip-ansi: 7.1.0
xxhash-wasm@1.0.2: {}
xxhash-wasm@1.1.0: {}
y18n@5.0.8: {}
yallist@3.1.1: {}
yaml-language-server@1.15.0:
dependencies:
ajv: 8.17.1
@ -9258,7 +9822,7 @@ snapshots:
request-light: 0.5.8
vscode-json-languageservice: 4.1.8
vscode-languageserver: 7.0.0
vscode-languageserver-textdocument: 1.0.11
vscode-languageserver-textdocument: 1.0.12
vscode-languageserver-types: 3.17.5
vscode-nls: 5.2.0
vscode-uri: 3.0.8
@ -9268,8 +9832,6 @@ snapshots:
yaml@2.2.2: {}
yaml@2.3.4: {}
yaml@2.5.1: {}
yargs-parser@21.1.1: {}
@ -9277,7 +9839,7 @@ snapshots:
yargs@17.7.2:
dependencies:
cliui: 8.0.1
escalade: 3.1.1
escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
@ -9286,15 +9848,21 @@ snapshots:
yocto-queue@1.1.1: {}
zod-to-json-schema@3.23.3(zod@3.23.8):
yocto-spinner@0.1.2:
dependencies:
zod: 3.23.8
yoctocolors: 2.1.1
zod-to-ts@1.2.0(typescript@5.6.2)(zod@3.23.8):
yoctocolors@2.1.1: {}
zod-to-json-schema@3.24.1(zod@3.24.1):
dependencies:
typescript: 5.6.2
zod: 3.23.8
zod: 3.24.1
zod@3.23.8: {}
zod-to-ts@1.2.0(typescript@5.7.2)(zod@3.24.1):
dependencies:
typescript: 5.7.2
zod: 3.24.1
zod@3.24.1: {}
zwitch@2.0.4: {}

View file

@ -0,0 +1,8 @@
import { defineCollection } from "astro:content";
import { docsLoader, i18nLoader } from "@astrojs/starlight/loaders";
import { docsSchema, i18nSchema } from "@astrojs/starlight/schema";
export const collections = {
docs: defineCollection({ loader: docsLoader(), schema: docsSchema() }),
i18n: defineCollection({ loader: i18nLoader(), schema: i18nSchema() }),
};

View file

@ -1,7 +0,0 @@
import { defineCollection } from "astro:content";
import { docsSchema, i18nSchema } from "@astrojs/starlight/schema";
export const collections = {
docs: defineCollection({ schema: docsSchema() }),
i18n: defineCollection({ type: "data", schema: i18nSchema() }),
};

View file

@ -101,17 +101,18 @@ each property being a field key and the value being a `Field` object.
A field is a form element:
| Property | Type | Note |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `type` | `checkbox` \| `datetime` \| `email` \| `group` \| `html` \| `markdown` \| `number` \| `radio-group` \| `rss` \| `select-multiple` \| `select` \| `text` \| `textarea` \| `toggler` \| `url` | Default is `text` |
| `label` (required) | `string` | Can be translated (see i18n) |
| `hint` | `string` | Can be translated (see i18n) |
| `helper` | `string` | Can be translated (see i18n) |
| `defaultValue` | `string` | You can specify multiple comma separated values for `select-multiple` |
| `optional` | `boolean` | Default is `false` |
| `options` | `Options` | Required for `radio-group`, `select-multiple`, and `select` types. |
| `multiple` | `boolean` | Default is `false` |
| `fields` | `Array<string, Field>` | Required for `group` type |
| Property | Type | Note |
| ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| `type` | `checkbox`, `datetime`, `email`, `group`, `html`, `markdown`, `number`, `radio-group`, `rss`, `select-multiple`, `select`, `text`, `textarea`, `toggler`, `url` | Default is `text` |
| `label` (required) | `string` | Can be translated (see i18n) |
| `hint` | `string` | Can be translated (see i18n) |
| `helper` | `string` | Can be translated (see i18n) |
| `defaultValue` | `string` | You can specify multiple comma separated values for `select-multiple` |
| `validationRules` | `string` \| `array` | See [available validation rules](#available-validation-rules) |
| `optional` | `boolean` | Default is `false` |
| `options` | `Options` | Required for `radio-group`, `select-multiple`, and `select` types. |
| `multiple` | `boolean` | Default is `false` |
| `fields` | `Array<string, Field>` | Required for `group` type |
#### Options object
@ -133,3 +134,35 @@ plugin is installed.
Repository where the plugin's code lives. Helpful for people who want to
contribute.
#### Available validation rules
The following rules are a subset of
[CodeIgniter4's validation rules](https://codeigniter.com/user_guide/libraries/validation.html#available-rules).
| Rule | Parameter | Description | Example |
| --------------------- | --------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------- |
| alpha | No | Fails if field has anything other than alphabetic characters in ASCII. | |
| alpha_dash | No | Fails if field contains anything other than alphanumeric characters, underscores or dashes in ASCII. | |
| alpha_numeric | No | Fails if field contains anything other than alphanumeric characters in ASCII. | |
| alpha_numeric_punct | No | Fails if field contains anything other than alphanumeric, space, or this limited set of punctuation characters: `~` (tilde), `!` (exclamation), `#` (number), `$` (dollar), `%` (percent), `&` (ampersand), `*` (asterisk), `-` (dash), `_` (underscore), `+` (plus), `=` (equals), `\|` (vertical bar),`:`(colon),`.` (period). | |
| alpha_numeric_space | No | Fails if field contains anything other than alphanumeric or space characters in ASCII. | |
| alpha_space | No | Fails if field contains anything other than alphabetic characters or spaces in ASCII. | |
| decimal | No | Fails if field contains anything other than a decimal number. Also accepts a `+` or `-` sign for the number. | |
| differs | Yes | Fails if field does not differ from the one in the parameter. | `differs[field_name]` |
| exact_length | Yes | Fails if field length is not exactly the parameter value. One or more comma-separated values are possible. | `exact_length[5]` or `exact_length[5,8,12]` |
| greater_than | Yes | Fails if field is less than or equal to the parameter value or not numeric. | `greater_than[8]` |
| greater_than_equal_to | Yes | Fails if field is less than the parameter value, or not numeric. | `greater_than_equal_to[5]` |
| hex | No | Fails if field contains anything other than hexadecimal characters. | |
| in_list | Yes | Fails if field is not within a predetermined list. | `in_list[red,blue,green]` |
| integer | No | Fails if field contains anything other than an integer. | |
| is_natural | No | Fails if field contains anything other than a natural number: `0`, `1`, `2`, `3`, etc. | |
| is_natural_no_zero | No | Fails if field contains anything other than a natural number, except zero: `1`, `2`, `3`, etc. | |
| less_than | Yes | Fails if field is greater than or equal to the parameter value or not numeric. | `less_than[8]` |
| less_than_equal_to | Yes | Fails if field is greater than the parameter value or not numeric. | `less_than_equal_to[8]` |
| max_length | Yes | Fails if field is longer than the parameter value. | `max_length[8]` |
| min_length | Yes | Fails if field is shorter than the parameter value. | `min_length[3]` |
| not_in_list | Yes | Fails if field is within a predetermined list. | `not_in_list[red,blue,green]` |
| regex_match | Yes | Fails if field does not match the regular expression. | `regex_match[/regex/]` |
| valid_base64 | No | Fails if field contains anything other than valid Base64 characters. | |
| valid_date | Yes | Fails if field does not contain a valid date. Any string that `strtotime()` accepts is valid if you don't specify an optional parameter that matches a date format. | `valid_date[d/m/Y]` |

View file

@ -71,12 +71,12 @@ class CreatePlugin extends BaseCommand
$pluginName = CLI::prompt(
'Plugin name (<vendor>/<name>)',
'acme/hello-world',
Manifest::VALIDATION_RULES['name']
Manifest::$validation_rules['name']
);
CLI::newLine();
$description = CLI::prompt('Description', '', Manifest::VALIDATION_RULES['description']);
$description = CLI::prompt('Description', '', Manifest::$validation_rules['description']);
CLI::newLine();
$license = CLI::prompt('License', 'UNLICENSED', Manifest::VALIDATION_RULES['license']);
$license = CLI::prompt('License', 'UNLICENSED', Manifest::$validation_rules['license']);
CLI::newLine();
$hooks = CLI::promptByMultipleKeys('Which hooks do you want to implement?', Plugins::HOOKS);

View file

@ -18,6 +18,7 @@ use Modules\Plugins\Core\Markdown;
use Modules\Plugins\Core\Plugins;
use Modules\Plugins\Core\RSS;
use Modules\Plugins\Manifest\Field;
use Modules\Plugins\Manifest\Fields\Group;
class PluginController extends BaseController
{
@ -154,7 +155,6 @@ class PluginController extends BaseController
string $podcastId = null,
string $episodeId = null
): RedirectResponse {
$plugin = $this->plugins->getPlugin($vendor, $package);
if (! $plugin instanceof BasePlugin) {
@ -182,29 +182,35 @@ class PluginController extends BaseController
}
if ($field->multiple) {
if ($field->type === 'group') {
if ($field instanceof Group) {
foreach ($field->fields as $subField) {
$typeRules = $this->plugins::FIELDS_VALIDATIONS[$subField->type];
if (! in_array('permit_empty', $typeRules, true)) {
$typeRules[] = $subField->optional ? 'permit_empty' : 'required';
}
$rules[sprintf('%s.*.%s', $field->key, $subField->key)] = $typeRules;
$rules[sprintf('%s.*.%s', $field->key, $subField->key)] = [
...$typeRules,
...$subField->validationRules,
];
}
} else {
$rules[$field->key . '.*'] = $typeRules;
$rules[$field->key . '.*'] = [...$typeRules, ...$field->validationRules];
}
} elseif ($field->type === 'group') {
} elseif ($field instanceof Group) {
foreach ($field->fields as $subField) {
$typeRules = $this->plugins::FIELDS_VALIDATIONS[$subField->type];
if (! in_array('permit_empty', $typeRules, true)) {
$typeRules[] = $subField->optional ? 'permit_empty' : 'required';
}
$rules[sprintf('%s.%s', $field->key, $subField->key)] = $typeRules;
$rules[sprintf('%s.%s', $field->key, $subField->key)] = [
...$typeRules,
...$subField->validationRules,
];
}
} else {
$rules[$field->key] = $typeRules;
$rules[$field->key] = [...$typeRules, ...$field->validationRules];
}
}
@ -288,7 +294,7 @@ class PluginController extends BaseController
continue;
}
if ($field->type === 'group') {
if ($field instanceof Group) {
foreach ($val as $subKey => $subVal) {
/** @var Field|false $subField */
$subField = array_column($field->fields, null, 'key')[$subKey] ?? false;
@ -305,7 +311,7 @@ class PluginController extends BaseController
$value[$key] = $this->castValue($val, $field->type);
}
}
} elseif ($field->type === 'group') {
} elseif ($field instanceof Group) {
foreach ($fieldValue as $subKey => $subVal) {
/** @var Field|false $subField */
$subField = array_column($field->fields, null, 'key')[$subKey] ?? false;
@ -340,10 +346,9 @@ class PluginController extends BaseController
$value,
$this->request->getPost('client_timezone')
)->setTimezone(app_timezone()),
'markdown' => new Markdown($value),
'rss' => new RSS($value),
'comma-separated-string' => implode(',', $value),
default => $value,
'markdown' => new Markdown($value),
'rss' => new RSS($value),
default => $value,
};
}
}

View file

@ -52,14 +52,13 @@ class Plugins
];
public const FIELDS_CASTS = [
'checkbox' => 'bool',
'datetime' => 'datetime',
'markdown' => 'markdown',
'number' => 'int',
'rss' => 'rss',
'toggler' => 'bool',
'url' => 'uri',
'select-multiple' => 'comma-separated-string',
'checkbox' => 'bool',
'datetime' => 'datetime',
'markdown' => 'markdown',
'number' => 'int',
'rss' => 'rss',
'toggler' => 'bool',
'url' => 'uri',
];
/**

View file

@ -4,7 +4,7 @@ declare(strict_types=1);
namespace Modules\Plugins\Manifest;
use Override;
use RuntimeException;
/**
* @property 'checkbox'|'datetime'|'email'|'group'|'html'|'markdown'|'number'|'radio-group'|'rss'|'select-multiple'|'select'|'text'|'textarea'|'toggler'|'url' $type
@ -14,28 +14,20 @@ use Override;
* @property string $helper
* @property string $defaultValue
* @property bool $optional
* @property Option[] $options
* @property bool $multiple
* @property Field[] $fields
* @property string[] $validationRules
*/
class Field extends ManifestObject
class Field extends ManifestObject implements FieldInterface
{
protected const VALIDATION_RULES = [
'type' => 'permit_empty|in_list[checkbox,datetime,email,group,html,markdown,number,radio-group,rss,select-multiple,select,text,textarea,toggler,url]',
'key' => 'required|alpha_dash',
'label' => 'required|string',
'hint' => 'permit_empty|string',
'helper' => 'permit_empty|string',
'defaultValue' => 'permit_empty|string',
'optional' => 'permit_empty|is_boolean',
'options' => 'permit_empty|is_list',
'multiple' => 'permit_empty|is_boolean',
'fields' => 'permit_empty|is_list',
];
protected const CASTS = [
'options' => [Option::class],
'fields' => [self::class],
public static array $validation_rules = [
'type' => 'permit_empty|in_list[checkbox,datetime,email,group,html,markdown,number,radio-group,rss,select-multiple,select,text,textarea,toggler,url]',
'key' => 'required|alpha_dash',
'label' => 'required|string',
'hint' => 'permit_empty|string',
'helper' => 'permit_empty|string',
'validationRules' => 'permit_empty|is_string_or_list',
'optional' => 'permit_empty|is_boolean',
'multiple' => 'permit_empty|is_boolean',
];
protected string $type = 'text';
@ -48,65 +40,83 @@ class Field extends ManifestObject
protected string $helper = '';
protected string $defaultValue = '';
/**
* @var string[]
*/
protected array $validationRules = [];
protected bool $optional = false;
protected bool $multiple = false;
/**
* @var Option[]
*/
protected array $options = [];
#[Override]
public function loadData(array $data): void
public function getLabel(): string
{
if (array_key_exists('options', $data)) {
$newOptions = [];
foreach ($data['options'] as $key => $option) {
$option['value'] = $key;
$newOptions[] = $option;
}
return $this->getTranslated('label');
}
$data['options'] = $newOptions;
}
public function getHint(): string
{
return $this->getTranslated('hint');
}
if (array_key_exists('fields', $data)) {
$newFields = [];
foreach ($data['fields'] as $key => $field) {
$field['key'] = $key;
$newFields[] = $field;
}
$data['fields'] = $newFields;
}
parent::loadData($data);
public function getHelper(): string
{
return $this->getTranslated('helper');
}
/**
* @return array{label:string,value:string,description:string}[]
* @param string|list<string> $values
*/
public function getOptionsArray(string $pluginKey): array
public function setValidationRules(string|array $values): void
{
$i18nKey = sprintf('%s.settings.%s.%s.options', $pluginKey, $this->type, $this->key);
$optionsArray = [];
foreach ($this->options as $option) {
$optionsArray[] = [
'value' => $option->value,
'label' => $option->getTranslated($i18nKey, 'label'),
'description' => $option->getTranslated($i18nKey, 'description'),
];
$validationRules = [];
if (is_string($values)) {
$validationRules = explode('|', $values);
}
return $optionsArray;
$allowedRules = [
'alpha',
'alpha_dash',
'alpha_numeric',
'alpha_numeric_punct',
'alpha_numeric_space',
'alpha_space',
'decimal',
'differs',
'exact_length',
'greater_than',
'greater_than_equal_to',
'hex',
'in_list',
'integer',
'is_natural',
'is_natural_no_zero',
'less_than',
'less_than_equal_to',
'max_length',
'min_length',
'not_in_list',
'regex_match',
'valid_base64',
'valid_date',
];
foreach ($validationRules as $rule) {
foreach ($allowedRules as $allowedRule) {
if (str_starts_with($rule, $allowedRule)) {
$this->validationRules[] = $rule;
}
}
}
}
public function getTranslated(string $pluginKey, string $property): string
public function render(string $name, mixed $value, string $class = ''): string
{
$key = sprintf('Plugin.%s.settings.%s.%s.%s', $pluginKey, $this->type, $this->key, $property);
throw new RuntimeException('Render function not defined in parent Field class');
}
private function getTranslated(string $property): string
{
$key = sprintf('Plugin.%s.settings.%s.%s.%s', $this->pluginKey, $this->type, $this->key, $property);
/** @var string $i18nField */
$i18nField = lang($key);

View file

@ -0,0 +1,10 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest;
interface FieldInterface
{
public function render(string $name, mixed $value, string $class = ''): string;
}

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property bool $defaultValue
*/
class Checkbox extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|is_boolean',
];
protected bool $defaultValue = false;
public function render(string $name, mixed $value, string $class = ''): string
{
$value = $value ? 'yes' : '';
return <<<HTML
<x-Forms.Checkbox
class="{$class}"
name="{$name}"
hint="{$this->hint}"
helper="{$this->helper}"
value="{$value}"
defaultValue="{$this->defaultValue}"
>{$this->label}</x-Forms.Checkbox>
HTML;
}
}

View file

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Datetime extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|valid_date',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="DatetimePicker"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Email extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|valid_email',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="Input"
class="{$class}"
type="email"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,36 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
use Modules\Plugins\Manifest\WithFieldsTrait;
use Override;
use RuntimeException;
class Group extends Field
{
use WithFieldsTrait;
public function __construct(string $pluginKey)
{
$this->injectRules();
parent::__construct($pluginKey);
}
#[Override]
public function loadData(array $data): void
{
$data = $this->transformData($data);
parent::loadData($data);
}
public function render(string $name, mixed $value, string $class = ''): string
{
// TODO: render group, depending on multiple
throw new RuntimeException('Render function not defined in Group Field class');
}
}

View file

@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Html extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
$value = htmlspecialchars($value ?? '');
return <<<HTML
<x-Forms.Field
as="CodeEditor"
lang="html"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Markdown extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="MarkdownEditor"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,38 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property int|null $defaultValue
*/
class Number extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|numeric',
];
protected ?int $defaultValue = null;
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="Input"
type="number"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,57 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
use Modules\Plugins\Manifest\WithOptionsTrait;
use Override;
/**
* @property string $defaultValue
*/
class RadioGroup extends Field
{
use WithOptionsTrait;
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function __construct(string $pluginKey)
{
$this->injectRules();
parent::__construct($pluginKey);
}
#[Override]
public function loadData(array $data): void
{
$data = $this->transformData($data);
parent::loadData($data);
}
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
$options = esc(json_encode($this->getOptionsArray()));
return <<<HTML
<x-Forms.RadioGroup
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
options="{$options}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,40 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Rss extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
$value = htmlspecialchars((string) $value);
$defaultValue = esc($this->defaultValue);
return <<<HTML
<x-Forms.Field
as="CodeEditor"
lang="xml"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,64 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
use Modules\Plugins\Manifest\Option;
use Modules\Plugins\Manifest\WithOptionsTrait;
use Override;
/**
* @property string $defaultValue
*/
class Select extends Field
{
use WithOptionsTrait;
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
'options' => 'is_list',
];
protected array $casts = [
'options' => [Option::class],
];
protected string $defaultValue = '';
public function __construct(string $pluginKey)
{
$this->injectRules();
parent::__construct($pluginKey);
}
#[Override]
public function loadData(array $data): void
{
$data = $this->transformData($data);
parent::loadData($data);
}
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
$options = esc(json_encode($this->getOptionsArray()));
return <<<HTML
<x-Forms.Field
as="Select"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
options="{$options}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,63 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
use Modules\Plugins\Manifest\WithOptionsTrait;
use Override;
/**
* @property list<string> $defaultValue
*/
class SelectMultiple extends Field
{
use WithOptionsTrait;
public static array $validation_rules = [
'defaultValue' => 'permit_empty|is_list',
];
/**
* @var list<string>
*/
protected array $defaultValue = [];
public function __construct(string $pluginKey)
{
$this->injectRules();
parent::__construct($pluginKey);
}
#[Override]
public function loadData(array $data): void
{
$data = $this->transformData($data);
parent::loadData($data);
}
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
$options = esc(json_encode($this->getOptionsArray()));
$value = esc(json_encode($value));
$defaultValue = esc(json_encode($this->defaultValue));
return <<<HTML
<x-Forms.Field
as="SelectMulti"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
options="{$options}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Text extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="Input"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,37 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Textarea extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|string',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="Textarea"
class="{$class}"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -0,0 +1,34 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property bool $defaultValue
*/
class Toggler extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|is_boolean',
];
protected bool $defaultValue = false;
public function render(string $name, mixed $value, string $class = ''): string
{
$value = $value ? 'yes' : '';
return <<<HTML
<x-Forms.Toggler
class="{$class}"
name="{$name}"
hint="{$this->hint}"
helper="{$this->helper}"
value="{$value}"
defaultValue="{$this->defaultValue}"
>{$this->label}</x-Forms.Toggler>
HTML;
}
}

View file

@ -0,0 +1,39 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest\Fields;
use Modules\Plugins\Manifest\Field;
/**
* @property string $defaultValue
*/
class Url extends Field
{
public static array $validation_rules = [
'defaultValue' => 'permit_empty|valid_url_strict',
];
protected string $defaultValue = '';
public function render(string $name, mixed $value, string $class = ''): string
{
$isRequired = $this->optional ? 'false' : 'true';
return <<<HTML
<x-Forms.Field
as="Input"
class="{$class}"
type="url"
placeholder="https://…"
name="{$name}"
label="{$this->label}"
hint="{$this->hint}"
helper="{$this->helper}"
isRequired="{$isRequired}"
value="{$value}"
defaultValue="{$this->defaultValue}"
/>
HTML;
}
}

View file

@ -23,10 +23,7 @@ use CodeIgniter\HTTP\URI;
*/
class Manifest extends ManifestObject
{
/**
* @var array<string,string>
*/
public const VALIDATION_RULES = [
public static array $validation_rules = [
'name' => 'required|max_length[128]|regex_match[/^[a-z0-9]([_.-]?[a-z0-9]+)*\/[a-z0-9]([_.-]?[a-z0-9]+)*$/]',
'version' => 'required|regex_match[/^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/]',
'description' => 'permit_empty|max_length[256]',
@ -41,7 +38,7 @@ class Manifest extends ManifestObject
'repository' => 'permit_empty|is_list',
];
protected const CASTS = [
protected array $casts = [
'authors' => [Person::class],
'homepage' => URI::class,
'settings' => Settings::class,

View file

@ -9,12 +9,15 @@ use Exception;
abstract class ManifestObject
{
protected const VALIDATION_RULES = [];
/**
* @var array<string,string>
*/
public static array $validation_rules = [];
/**
* @var array<string,string|array{string}>
*/
protected const CASTS = [];
protected array $casts = [];
/**
* @var array<string,array<string,string>>
@ -25,11 +28,28 @@ abstract class ManifestObject
protected readonly string $pluginKey,
) {
self::$errors[$pluginKey] = [];
$class = static::class;
$validation_rules = [];
$casts = [];
while ($class = get_parent_class($class)) {
$validation_rules = [...$validation_rules, ...get_class_vars($class)['validation_rules']];
$casts = [...$casts, ...get_class_vars($class)['casts']];
}
$this::$validation_rules = [...$validation_rules, ...$this::$validation_rules];
$this->casts = [...$casts, ...$this->casts];
}
public function __get(string $name): mixed
{
if (property_exists($this, $name)) {
// if a get method exists for this property, return that
$method = 'get' . str_replace(' ', '', ucwords(str_replace(['-', '_'], ' ', $name)));
if (method_exists($this, $method)) {
return $this->{$method}();
}
return $this->{$name};
}
@ -73,7 +93,7 @@ abstract class ManifestObject
/** @var Validation $validation */
$validation = service('validation');
$validation->setRules($this::VALIDATION_RULES);
$validation->setRules($this::$validation_rules);
if (! $validation->run($data)) {
foreach ($validation->getErrors() as $key => $message) {
@ -84,23 +104,30 @@ abstract class ManifestObject
}
foreach ($validation->getValidated() as $key => $value) {
if (array_key_exists($key, $this::CASTS)) {
$cast = $this::CASTS[$key];
$method = 'set' . str_replace(' ', '', ucwords(str_replace('_', ' ', $key)));
if (is_callable([$this, $method])) {
$this->{$method}($value);
continue;
}
if (is_array($cast)) {
if (is_array($value)) {
foreach ($value as $valueKey => $valueElement) {
if (is_subclass_of($cast[0], self::class)) {
$value[$valueKey] = new $cast[0]($this->pluginKey);
$value[$valueKey]->loadData($valueElement);
} else {
$value[$valueKey] = new $cast[0]($valueElement);
}
if (array_key_exists($key, $this->casts)) {
$cast = $this->casts[$key];
if (is_array($cast) && is_array($value)) {
foreach ($value as $valueKey => $valueElement) {
if (is_subclass_of($cast[0], self::class)) {
$manifestClass = $cast[0] === Field::class ? $this->getFieldClass(
$valueElement
) : $cast[0];
$value[$valueKey] = new $manifestClass($this->pluginKey);
$value[$valueKey]->loadData($valueElement);
} else {
$value[$valueKey] = new $cast[0]($valueElement);
}
}
} elseif (is_subclass_of($cast, self::class)) {
$manifestClass = $cast === Field::class ? $this->getFieldClass($value) : $cast;
$valueElement = $value;
$value = new $cast($this->pluginKey);
$value = new $manifestClass($this->pluginKey);
$value->loadData($valueElement ?? []);
} else {
$value = new $cast($value ?? []);
@ -123,4 +150,17 @@ abstract class ManifestObject
{
self::$errors[$this->pluginKey][$errorKey] = $errorMessage;
}
/**
* @param array<mixed> $data
*/
private function getFieldClass(array $data): string
{
$fieldType = $data['type'] ?? 'text';
return rtrim(Field::class, "\Field") . '\\Fields\\' . str_replace(
' ',
'',
ucwords(str_replace('-', ' ', $fieldType))
);
}
}

View file

@ -11,7 +11,7 @@ namespace Modules\Plugins\Manifest;
*/
class Option extends ManifestObject
{
protected const VALIDATION_RULES = [
public static array $validation_rules = [
'label' => 'required|string',
'value' => 'required|alpha_numeric_punct',
'description' => 'permit_empty|string',

View file

@ -15,18 +15,18 @@ use Override;
*/
class Person extends ManifestObject
{
protected const VALIDATION_RULES = [
protected const AUTHOR_STRING_PATTERN = '/^(?<name>[^<>()]*)\s*(<(?<email>.*)>)?\s*(\((?<url>.*)\))?$/';
public static array $validation_rules = [
'name' => 'required',
'email' => 'permit_empty|valid_email',
'url' => 'permit_empty|valid_url_strict',
];
protected const AUTHOR_STRING_PATTERN = '/^(?<name>[^<>()]*)\s*(<(?<email>.*)>)?\s*(\((?<url>.*)\))?$/';
/**
* @var array<string,array{string}|string>
*/
protected const CASTS = [
protected array $casts = [
'url' => URI::class,
];

View file

@ -13,7 +13,7 @@ use CodeIgniter\HTTP\URI;
*/
class Repository extends ManifestObject
{
protected const VALIDATION_RULES = [
public static array $validation_rules = [
'type' => 'permit_empty|in_list[git]',
'url' => 'required|valid_url_strict',
'directory' => 'permit_empty',
@ -22,7 +22,7 @@ class Repository extends ManifestObject
/**
* @var array<string,array{string}|string>
*/
protected const CASTS = [
protected array $casts = [
'url' => URI::class,
];

View file

@ -13,7 +13,7 @@ use Override;
*/
class Settings extends ManifestObject
{
protected const VALIDATION_RULES = [
public static array $validation_rules = [
'general' => 'permit_empty|is_list',
'podcast' => 'permit_empty|is_list',
'episode' => 'permit_empty|is_list',
@ -22,7 +22,7 @@ class Settings extends ManifestObject
/**
* @var array<string,array{string}|string>
*/
protected const CASTS = [
protected array $casts = [
'general' => [Field::class],
'podcast' => [Field::class],
'episode' => [Field::class],

View file

@ -0,0 +1,45 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest;
/**
* @property Field[] $fields
*/
trait WithFieldsTrait
{
/**
* @var Field[]
*/
protected array $options = [];
public function injectRules(): void
{
$this::$validation_rules = [...$this::$validation_rules, ...[
'fields' => 'is_list',
]];
$this->casts = [...$this->casts, ...[
'fields' => [Field::class],
]];
}
/**
* @param array<mixed> $data
* @return array<mixed>
*/
public function transformData(array $data): array
{
if (array_key_exists('fields', $data)) {
$newFields = [];
foreach ($data['fields'] as $key => $field) {
$field['key'] = $key;
$newFields[] = $field;
}
$data['fields'] = $newFields;
}
return $data;
}
}

View file

@ -0,0 +1,69 @@
<?php
declare(strict_types=1);
namespace Modules\Plugins\Manifest;
/**
* @property Option[] $options
*/
trait WithOptionsTrait
{
/**
* @var Option[]
*/
protected array $options = [];
public function injectRules(): void
{
if (isset($this::$validation_rules)) {
$this::$validation_rules = [...$this::$validation_rules, ...[
'options' => 'is_list',
]];
}
if (isset($this->casts)) {
$this->casts = [...$this->casts, ...[
'options' => [Option::class],
]];
}
}
/**
* @param array<mixed> $data
* @return array<mixed>
*/
public function transformData(array $data): array
{
if (array_key_exists('options', $data)) {
$newOptions = [];
foreach ($data['options'] as $key => $option) {
$option['value'] = $key;
$newOptions[] = $option;
}
$data['options'] = $newOptions;
}
return $data;
}
/**
* @return array{label:string,value:string,description:string}[]
*/
public function getOptionsArray(): array
{
$i18nKey = sprintf('%s.settings.%s.%s.options', $this->pluginKey, $this->type, $this->key);
$optionsArray = [];
foreach ($this->options as $option) {
$optionsArray[] = [
'value' => $option->value,
'label' => $option->getTranslated($i18nKey, 'label'),
'description' => $option->getTranslated($i18nKey, 'description'),
];
}
return $optionsArray;
}
}

View file

@ -204,32 +204,30 @@
"optional": {
"type": "boolean"
},
"defaultValue": {
"type": "string"
},
"options": {
"type": "object",
"patternProperties": {
"^[A-Za-z0-9]+[\\w\\-\\:\\.]*$": { "$ref": "#/$defs/option" }
},
"additionalProperties": false
"validationRules": {
"anyOf": [
{
"type": "string"
},
{
"type": "array",
"items": {
"type": "string"
}
}
]
},
"multiple": {
"type": "boolean"
},
"fields": {
"type": "object",
"patternProperties": {
"^[A-Za-z]+[\\w\\-\\:\\.]*$": { "$ref": "#/$defs/field" }
},
"additionalProperties": false
}
},
"required": ["label"],
"additionalProperties": false,
"unevaluatedProperties": false,
"allOf": [
{ "$ref": "#/$defs/field-multiple-implies-options-is-required" },
{ "$ref": "#/$defs/field-group-type-implies-fields-is-required" }
{ "$ref": "#/$defs/require-fields-for-group-type" },
{ "$ref": "#/$defs/default-value-based-on-type" }
]
},
"option": {
@ -246,37 +244,160 @@
"additionalProperties": false
},
"field-multiple-implies-options-is-required": {
"anyOf": [
"if": {
"properties": {
"type": {
"enum": ["radio-group", "select", "select-multiple"]
}
}
},
"then": {
"properties": {
"options": {
"type": "object",
"patternProperties": {
"^[A-Za-z0-9]+[\\w\\-\\:\\.]*$": { "$ref": "#/$defs/option" }
},
"additionalProperties": false
}
},
"required": ["options"]
}
},
"require-fields-for-group-type": {
"if": {
"properties": {
"type": {
"const": "group"
}
}
},
"then": {
"properties": {
"fields": {
"type": "object",
"patternProperties": {
"^[A-Za-z]+[\\w\\-\\:\\.]*$": { "$ref": "#/$defs/field" }
},
"additionalProperties": false
}
},
"required": ["fields"]
}
},
"default-value-based-on-type": {
"allOf": [
{
"not": {
"if": {
"properties": {
"type": {
"anyOf": [
{ "const": "radio-group" },
{ "const": "select" },
{ "const": "select-multiple" }
"enum": [
"html",
"markdown",
"radio-group",
"rss",
"select",
"text",
"textarea"
]
}
},
"required": ["type"]
}
},
"then": {
"properties": {
"defaultValue": { "type": "string" }
}
}
},
{ "required": ["options"] }
]
},
"field-group-type-implies-fields-is-required": {
"anyOf": [
{
"not": {
"if": {
"properties": {
"type": {
"anyOf": [{ "const": "group" }]
"enum": ["checkbox", "toggler"]
}
},
"required": ["type"]
}
},
"then": {
"properties": {
"defaultValue": { "type": "boolean" }
}
}
},
{ "required": ["fields"] }
{
"if": {
"properties": {
"type": {
"const": "datetime"
}
}
},
"then": {
"properties": {
"defaultValue": { "type": "string", "format": "date-time" }
}
}
},
{
"if": {
"properties": {
"type": {
"const": "email"
}
}
},
"then": {
"properties": {
"defaultValue": { "type": "string", "format": "email" }
}
}
},
{
"if": {
"properties": {
"type": {
"const": "number"
}
}
},
"then": {
"properties": {
"defaultValue": { "type": "number" }
}
}
},
{
"if": {
"properties": {
"type": {
"const": "select-multiple"
}
}
},
"then": {
"properties": {
"defaultValue": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
},
{
"if": {
"properties": {
"type": {
"const": "url"
}
}
},
"then": {
"properties": {
"defaultValue": { "type": "string", "format": "uri" }
}
}
}
]
}
}

View file

@ -35,7 +35,7 @@
"@codemirror/lang-xml": "^6.1.0",
"@codemirror/language": "^6.10.7",
"@codemirror/state": "^6.5.0",
"@codemirror/view": "^6.35.3",
"@codemirror/view": "^6.36.1",
"@floating-ui/dom": "^1.6.12",
"@github/clipboard-copy-element": "^1.3.0",
"@github/hotkey": "^3.1.1",
@ -51,7 +51,7 @@
"leaflet.markercluster": "^1.5.3",
"lit": "^3.2.1",
"marked": "^15.0.4",
"wavesurfer.js": "^7.8.11",
"wavesurfer.js": "^7.8.12",
"xml-formatter": "^3.6.3"
},
"devDependencies": {
@ -76,7 +76,7 @@
"eslint": "^9.17.0",
"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.2.1",
"globals": "^15.13.0",
"globals": "^15.14.0",
"husky": "^9.1.7",
"is-ci": "^4.1.0",
"lint-staged": "^15.2.11",
@ -91,10 +91,10 @@
"stylelint": "^16.12.0",
"stylelint-config-standard": "^36.0.1",
"svgo": "^3.3.2",
"tailwindcss": "^3.4.16",
"tailwindcss": "^3.4.17",
"typescript": "~5.7.2",
"typescript-eslint": "^8.18.1",
"vite": "^6.0.3",
"vite": "^6.0.5",
"vite-plugin-pwa": "^0.21.1",
"workbox-build": "^7.3.0",
"workbox-core": "^7.3.0",

116
pnpm-lock.yaml generated
View file

@ -29,8 +29,8 @@ importers:
specifier: ^6.5.0
version: 6.5.0
"@codemirror/view":
specifier: ^6.35.3
version: 6.35.3
specifier: ^6.36.1
version: 6.36.1
"@floating-ui/dom":
specifier: ^1.6.12
version: 1.6.12
@ -77,8 +77,8 @@ importers:
specifier: ^15.0.4
version: 15.0.4
wavesurfer.js:
specifier: ^7.8.11
version: 7.8.11
specifier: ^7.8.12
version: 7.8.12
xml-formatter:
specifier: ^3.6.3
version: 3.6.3
@ -112,10 +112,10 @@ importers:
version: 13.2.3(semantic-release@24.2.0(typescript@5.7.2))
"@tailwindcss/forms":
specifier: ^0.5.9
version: 0.5.9(tailwindcss@3.4.16)
version: 0.5.9(tailwindcss@3.4.17)
"@tailwindcss/typography":
specifier: ^0.5.15
version: 0.5.15(tailwindcss@3.4.16)
version: 0.5.15(tailwindcss@3.4.17)
"@types/eslint__js":
specifier: ^8.42.3
version: 8.42.3
@ -147,8 +147,8 @@ importers:
specifier: ^5.2.1
version: 5.2.1(@types/eslint@9.6.1)(eslint-config-prettier@9.1.0(eslint@9.17.0(jiti@2.4.1)))(eslint@9.17.0(jiti@2.4.1))(prettier@3.4.2)
globals:
specifier: ^15.13.0
version: 15.13.0
specifier: ^15.14.0
version: 15.14.0
husky:
specifier: ^9.1.7
version: 9.1.7
@ -192,8 +192,8 @@ importers:
specifier: ^3.3.2
version: 3.3.2
tailwindcss:
specifier: ^3.4.16
version: 3.4.16
specifier: ^3.4.17
version: 3.4.17
typescript:
specifier: ~5.7.2
version: 5.7.2
@ -201,11 +201,11 @@ importers:
specifier: ^8.18.1
version: 8.18.1(eslint@9.17.0(jiti@2.4.1))(typescript@5.7.2)
vite:
specifier: ^6.0.3
version: 6.0.3(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1)
specifier: ^6.0.5
version: 6.0.5(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1)
vite-plugin-pwa:
specifier: ^0.21.1
version: 0.21.1(vite@6.0.3(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0)
version: 0.21.1(vite@6.0.5(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0)
workbox-build:
specifier: ^7.3.0
version: 7.3.0
@ -1083,10 +1083,10 @@ packages:
integrity: sha512-MwBHVK60IiIHDcoMet78lxt6iw5gJOGSbNbOIVBHWVXIH4/Nq1+GQgLLGgI1KlnN86WDXsPudVaqYHKBIx7Eyw==,
}
"@codemirror/view@6.35.3":
"@codemirror/view@6.36.1":
resolution:
{
integrity: sha512-ScY7L8+EGdPl4QtoBiOzE4FELp7JmNUsBvgBcCakXWM2uiv/K89VAzU3BMDscf0DsACLvTKePbd5+cFDTcei6g==,
integrity: sha512-miD1nyT4m4uopZaDdO2uXU/LLHliKNYL9kB1C1wJHrunHLm/rpkb5QVSokqgw9hFqEZakrdlb/VGWX8aYZTslQ==,
}
"@colors/colors@1.5.0":
@ -4796,10 +4796,10 @@ packages:
}
engines: { node: ">=18" }
globals@15.13.0:
globals@15.14.0:
resolution:
{
integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==,
integrity: sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==,
}
engines: { node: ">=18" }
@ -8267,10 +8267,10 @@ packages:
}
engines: { node: ">=10.0.0" }
tailwindcss@3.4.16:
tailwindcss@3.4.17:
resolution:
{
integrity: sha512-TI4Cyx7gDiZ6r44ewaJmt0o6BrMCT5aK5e0rmJ/G9Xq3w7CX/5VXl/zIPEJZFUK5VEqwByyhqNPycPlvcK4ZNw==,
integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==,
}
engines: { node: ">=14.0.0" }
hasBin: true
@ -8699,10 +8699,10 @@ packages:
"@vite-pwa/assets-generator":
optional: true
vite@6.0.3:
vite@6.0.5:
resolution:
{
integrity: sha512-Cmuo5P0ENTN6HxLSo6IHsjCLn/81Vgrp81oaiFFMRa8gGDj5xEjIcEpf2ZymZtZR8oU0P2JX5WuUp/rlXcHkAw==,
integrity: sha512-akD5IAH/ID5imgue2DYhzsEwCi0/4VKY31uhMLEYJwPP4TiUp8pL5PIK+Wo7H8qT8JY9i+pVfPydcFPYD1EL7g==,
}
engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 }
hasBin: true
@ -8748,10 +8748,10 @@ packages:
integrity: sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==,
}
wavesurfer.js@7.8.11:
wavesurfer.js@7.8.12:
resolution:
{
integrity: sha512-bZs7A0vtTVOhuPoDGOXVevAIm+KVYBGwddjL9AeOS7kp/oPcVH9hQWQyR2rBAAfN6s0BKI+EdPEalkNaOmkA6A==,
integrity: sha512-Ovyv3ASEXXWmQVh3clpaZufkraRSg2Uv+28Z5zBHL4nB1HgTZ64lcFMUXX7yZlV5WAIN5ST9w3naaYmOdV2+iw==,
}
wcwidth@1.0.1:
@ -9015,14 +9015,6 @@ packages:
integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==,
}
yaml@2.6.0:
resolution:
{
integrity: sha512-a6ae//JvKDEra2kdi1qzCyrJW/WZCgFi8ydDV+eXExl95t+5R+ijnqHJbz9tmMh8FUjx3iv2fCQ4dclAQlO2UQ==,
}
engines: { node: ">= 14" }
hasBin: true
yaml@2.6.1:
resolution:
{
@ -9785,23 +9777,23 @@ snapshots:
"@babel/helper-string-parser": 7.25.9
"@babel/helper-validator-identifier": 7.25.9
"@codemirror/autocomplete@6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)":
"@codemirror/autocomplete@6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)":
dependencies:
"@codemirror/language": 6.10.7
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@codemirror/commands@6.7.1":
dependencies:
"@codemirror/language": 6.10.7
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@codemirror/lang-css@6.3.1(@codemirror/view@6.35.3)":
"@codemirror/lang-css@6.3.1(@codemirror/view@6.36.1)":
dependencies:
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)
"@codemirror/language": 6.10.7
"@codemirror/state": 6.5.0
"@lezer/common": 1.2.3
@ -9811,39 +9803,39 @@ snapshots:
"@codemirror/lang-html@6.4.9":
dependencies:
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)
"@codemirror/lang-css": 6.3.1(@codemirror/view@6.35.3)
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)
"@codemirror/lang-css": 6.3.1(@codemirror/view@6.36.1)
"@codemirror/lang-javascript": 6.2.2
"@codemirror/language": 6.10.7
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@lezer/css": 1.1.9
"@lezer/html": 1.3.10
"@codemirror/lang-javascript@6.2.2":
dependencies:
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)
"@codemirror/language": 6.10.7
"@codemirror/lint": 6.8.2
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@lezer/javascript": 1.4.21
"@codemirror/lang-xml@6.1.0":
dependencies:
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)
"@codemirror/language": 6.10.7
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@lezer/xml": 1.0.5
"@codemirror/language@6.10.7":
dependencies:
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
"@lezer/common": 1.2.3
"@lezer/highlight": 1.2.1
"@lezer/lr": 1.4.2
@ -9852,20 +9844,20 @@ snapshots:
"@codemirror/lint@6.8.2":
dependencies:
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
crelt: 1.0.6
"@codemirror/search@6.5.7":
dependencies:
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
crelt: 1.0.6
"@codemirror/state@6.5.0":
dependencies:
"@marijn/find-cluster-break": 1.0.2
"@codemirror/view@6.35.3":
"@codemirror/view@6.36.1":
dependencies:
"@codemirror/state": 6.5.0
style-mod: 4.1.2
@ -10857,18 +10849,18 @@ snapshots:
dependencies:
defer-to-connect: 2.0.1
"@tailwindcss/forms@0.5.9(tailwindcss@3.4.16)":
"@tailwindcss/forms@0.5.9(tailwindcss@3.4.17)":
dependencies:
mini-svg-data-uri: 1.4.4
tailwindcss: 3.4.16
tailwindcss: 3.4.17
"@tailwindcss/typography@0.5.15(tailwindcss@3.4.16)":
"@tailwindcss/typography@0.5.15(tailwindcss@3.4.17)":
dependencies:
lodash.castarray: 4.4.0
lodash.isplainobject: 4.0.6
lodash.merge: 4.6.2
postcss-selector-parser: 6.0.10
tailwindcss: 3.4.16
tailwindcss: 3.4.17
"@trysound/sax@0.2.0": {}
@ -11342,13 +11334,13 @@ snapshots:
codemirror@6.0.1(@lezer/common@1.2.3):
dependencies:
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.35.3)(@lezer/common@1.2.3)
"@codemirror/autocomplete": 6.18.2(@codemirror/language@6.10.7)(@codemirror/state@6.5.0)(@codemirror/view@6.36.1)(@lezer/common@1.2.3)
"@codemirror/commands": 6.7.1
"@codemirror/language": 6.10.7
"@codemirror/lint": 6.8.2
"@codemirror/search": 6.5.7
"@codemirror/state": 6.5.0
"@codemirror/view": 6.35.3
"@codemirror/view": 6.36.1
transitivePeerDependencies:
- "@lezer/common"
@ -12165,7 +12157,7 @@ snapshots:
foreground-child@3.3.0:
dependencies:
cross-spawn: 7.0.3
cross-spawn: 7.0.6
signal-exit: 4.1.0
form-data-encoder@4.0.2: {}
@ -12320,7 +12312,7 @@ snapshots:
globals@14.0.0: {}
globals@15.13.0: {}
globals@15.14.0: {}
globalthis@1.0.4:
dependencies:
@ -13421,7 +13413,7 @@ snapshots:
postcss-load-config@4.0.2(postcss@8.4.49):
dependencies:
lilconfig: 3.1.3
yaml: 2.6.0
yaml: 2.6.1
optionalDependencies:
postcss: 8.4.49
@ -14293,7 +14285,7 @@ snapshots:
string-width: 4.2.3
strip-ansi: 6.0.1
tailwindcss@3.4.16:
tailwindcss@3.4.17:
dependencies:
"@alloc/quick-lru": 5.2.0
arg: 5.0.2
@ -14537,18 +14529,18 @@ snapshots:
spdx-correct: 3.2.0
spdx-expression-parse: 3.0.1
vite-plugin-pwa@0.21.1(vite@6.0.3(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0):
vite-plugin-pwa@0.21.1(vite@6.0.5(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1))(workbox-build@7.3.0)(workbox-window@7.3.0):
dependencies:
debug: 4.3.7
pretty-bytes: 6.1.1
tinyglobby: 0.2.10
vite: 6.0.3(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1)
vite: 6.0.5(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1)
workbox-build: 7.3.0
workbox-window: 7.3.0
transitivePeerDependencies:
- supports-color
vite@6.0.3(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1):
vite@6.0.5(@types/node@22.9.0)(jiti@2.4.1)(terser@5.36.0)(yaml@2.6.1):
dependencies:
esbuild: 0.24.0
postcss: 8.4.49
@ -14562,7 +14554,7 @@ snapshots:
w3c-keyname@2.2.8: {}
wavesurfer.js@7.8.11: {}
wavesurfer.js@7.8.12: {}
wcwidth@1.0.1:
dependencies:
@ -14775,8 +14767,6 @@ snapshots:
yallist@3.1.1: {}
yaml@2.6.0: {}
yaml@2.6.1: {}
yargs-parser@18.1.3:

View file

@ -1,184 +0,0 @@
<?php switch ($type): case 'checkbox': ?>
<x-Forms.Checkbox
class="<?= $class ?>"
name="<?= $name ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
value="<?= $value ? 'yes' : '' ?>"
defaultValue="<?= $defaultValue ?>"
><?= $label ?></x-Forms.Checkbox>
<?php break;
case 'toggler': ?>
<x-Forms.Toggler
class="<?= $class ?>"
name="<?= $name ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
value="<?= $value ? 'yes' : '' ?>"
defaultValue="<?= $defaultValue ?>"
><?= $label ?></x-Forms.Toggler>
<?php break;
case 'radio-group': ?>
<x-Forms.RadioGroup
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
options="<?= $options ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'select': ?>
<x-Forms.Field
as="Select"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
options="<?= $options ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'select-multiple': ?>
<x-Forms.Field
as="SelectMulti"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
options="<?= $options ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'email': ?>
<x-Forms.Field
as="Input"
class="<?= $class ?>"
type="email"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'url': ?>
<x-Forms.Field
as="Input"
class="<?= $class ?>"
type="url"
placeholder="https://…"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'number': ?>
<x-Forms.Field
as="Input"
class="<?= $class ?>"
type="number"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'textarea': ?>
<x-Forms.Field
as="Textarea"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'html': ?>
<x-Forms.Field
as="CodeEditor"
lang="html"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= htmlspecialchars($value) ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'markdown': ?>
<x-Forms.Field
as="MarkdownEditor"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'rss': ?>
<x-Forms.Field
as="CodeEditor"
lang="xml"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= htmlspecialchars($value) ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
case 'datetime': ?>
<x-Forms.Field
as="DatetimePicker"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php break;
default: ?>
<x-Forms.Field
as="Input"
class="<?= $class ?>"
name="<?= $name ?>"
label="<?= $label ?>"
hint="<?= $hint ?>"
helper="<?= $helper ?>"
isRequired="<?= $optional ? 'false' : 'true' ?>"
value="<?= $value ?>"
defaultValue="<?= $defaultValue ?>"
/>
<?php endswitch; ?>

View file

@ -9,25 +9,14 @@
if ($field->type === 'group'): ?>
<div class="flex flex-col gap-4" data-field-array="<?= $field->key ?>">
<fieldset class="flex flex-col gap-6 rounded" data-field-array-container="<?= $field->key ?>">
<legend class="relative z-10 mb-4 font-bold text-heading-foreground font-display before:w-full before:absolute before:h-1/2 before:left-0 before:bottom-0 before:rounded-full before:bg-heading-background before:z-[-10] tracking-wide text-base"><?= $field->getTranslated($plugin->getKey(), 'label') ?></legend>
<legend class="relative z-10 mb-4 font-bold text-heading-foreground font-display before:w-full before:absolute before:h-1/2 before:left-0 before:bottom-0 before:rounded-full before:bg-heading-background before:z-[-10] tracking-wide text-base"><?= $field->label ?></legend>
<?php
$fieldArrayValues = get_plugin_setting($plugin->getKey(), $field->key, $context) ?? [''];
foreach ($fieldArrayValues as $index => $value): ?>
<fieldset class="relative flex flex-col border border-subtle p-4 rounded-tl-none rounded-md gap-2 bg-base" data-field-array-item="<?= $index ?>">
<legend class="absolute font-mono left-0 -top-px -ml-6 rounded-l-full rounded-r-none w-6 text-xs h-6 inline-flex items-center justify-center font-semibold border border-subtle bg-base"><span class="sr-only"><?= $field->getTranslated($plugin->getKey(), 'label') ?></span> <span data-field-array-number><?= $index + 1 ?></span></legend>
<legend class="absolute font-mono left-0 -top-px -ml-6 rounded-l-full rounded-r-none w-6 text-xs h-6 inline-flex items-center justify-center font-semibold border border-subtle bg-base"><span class="sr-only"><?= $field->label ?></span> <span data-field-array-number><?= $index + 1 ?></span></legend>
<?php foreach ($field->fields as $subfield): ?>
<?= view('plugins/_field', [
'class' => 'flex-1',
'type' => $subfield->type,
'name' => sprintf('%s[%s][%s]', $field->key, $index, $subfield->key),
'label' => $subfield->getTranslated($plugin->getKey(), 'label'),
'hint' => $subfield->getTranslated($plugin->getKey(), 'hint'),
'value' => $value[$subfield->key] ?? null,
'helper' => $subfield->getTranslated($plugin->getKey(), 'helper'),
'defaultValue' => esc($subfield->defaultValue),
'options' => esc(json_encode($subfield->getOptionsArray($plugin->getKey()))),
'optional' => $subfield->optional,
]) ?>
<?= $subfield->render(sprintf('%s[%s][%s]', $field->key, $index, $subfield->key), $value[$subfield->key] ?? null, 'flex-1'); ?>
<?php endforeach; ?>
<x-IconButton variant="danger" glyph="delete-bin-fill" data-field-array-delete="<?= $index ?>" class="absolute right-0 top-0 -mt-4 -mr-4"><?= lang('Common.forms.fieldArray.remove') ?></x-IconButton>
</fieldset>
@ -42,18 +31,7 @@
foreach ($fieldArrayValue as $index => $value): ?>
<div class="relative flex items-end" data-field-array-item="<?= $index ?>">
<span class="self-start mr-1 -ml-5 w-4 rtl text-sm before:content-['.']" data-field-array-number style="direction:rtl"><?= $index + 1 ?></span>
<?= view('plugins/_field', [
'class' => 'flex-1',
'type' => $field->type,
'name' => sprintf('%s[%s]', $field->key, $index),
'label' => $field->getTranslated($plugin->getKey(), 'label'),
'hint' => $field->getTranslated($plugin->getKey(), 'hint'),
'value' => $value,
'helper' => $field->getTranslated($plugin->getKey(), 'helper'),
'defaultValue' => esc($field->defaultValue),
'options' => esc(json_encode($field->getOptionsArray($plugin->getKey()))),
'optional' => $field->optional,
]) ?>
<?= $field->render(sprintf('%s[%s]', $field->key, $index), $value, 'flex-1'); ?>
<x-IconButton variant="danger" glyph="delete-bin-fill" data-field-array-delete="<?= $index ?>" type="button" class="mb-2 ml-2"><?= lang('Common.forms.fieldArray.remove') ?></x-IconButton>
</div>
<?php endforeach; ?>
@ -64,35 +42,13 @@
<?php elseif ($field->type === 'group'):
$value = get_plugin_setting($plugin->getKey(), $field->key, $context); ?>
<fieldset class="flex flex-col border border-subtle p-4 rounded-tl-none rounded-md gap-2 bg-base">
<legend class="relative z-10 font-bold text-heading-foreground font-display before:w-full before:absolute before:h-1/2 before:left-0 before:bottom-0 before:rounded-full before:bg-heading-background before:z-[-10] tracking-wide text-base"><?= $field->getTranslated($plugin->getKey(), 'label') ?></legend>
<legend class="relative z-10 font-bold text-heading-foreground font-display before:w-full before:absolute before:h-1/2 before:left-0 before:bottom-0 before:rounded-full before:bg-heading-background before:z-[-10] tracking-wide text-base"><?= $field->label ?></legend>
<?php foreach ($field->fields as $subfield): ?>
<?= view('plugins/_field', [
'class' => 'flex-1',
'type' => $subfield->type,
'name' => sprintf('%s[%s]', $field->key, $subfield->key),
'label' => $subfield->getTranslated($plugin->getKey(), 'label'),
'hint' => $subfield->getTranslated($plugin->getKey(), 'hint'),
'value' => $value[$subfield->key] ?? null,
'helper' => $subfield->getTranslated($plugin->getKey(), 'helper'),
'defaultValue' => esc($subfield->defaultValue),
'options' => esc(json_encode($subfield->getOptionsArray($plugin->getKey()))),
'optional' => $subfield->optional,
]) ?>
<?= $subfield->render(sprintf('%s[%s]', $field->key, $subfield->key), $value[$subfield->key] ?? null, 'flex-1'); ?>
<?php endforeach; ?>
</fieldset>
<?php else: ?>
<?= view('plugins/_field', [
'class' => '',
'type' => $field->type,
'name' => $field->key,
'label' => $field->getTranslated($plugin->getKey(), 'label'),
'hint' => $field->getTranslated($plugin->getKey(), 'hint'),
'value' => get_plugin_setting($plugin->getKey(), $field->key, $context),
'helper' => $field->getTranslated($plugin->getKey(), 'helper'),
'defaultValue' => esc($field->defaultValue),
'options' => esc(json_encode($field->getOptionsArray($plugin->getKey()))),
'optional' => $field->optional,
]) ?>
<?= $field->render($field->key, get_plugin_setting($plugin->getKey(), $field->key, $context)); ?>
<?php endif; ?>
<?php endforeach; ?>
@ -101,4 +57,5 @@
<?php endif; ?>
<x-Button class="self-end mt-4" variant="primary" type="submit"><?= lang('Common.forms.save') ?></x-Button>
</form>
</form>

View file

@ -102,7 +102,7 @@
name="other_categories"
label="<?= esc(lang('Podcast.form.other_categories')) ?>"
data-max-item-count="2"
value="<?= $podcast->other_categories_ids ?>"
value="<?= esc(json_encode($podcast->other_categories_ids)) ?>"
options="<?= esc(json_encode($categoryOptions)) ?>" />
<x-Forms.RadioGroup