mirror of
https://github.com/php-flasher/php-flasher.git
synced 2026-03-31 15:07:47 +01:00
Merge pull request #200 from php-flasher/phpstan
Improve Type Safety and IDE Support with Enhanced PHPDoc Annotations and Stricter PHPStan Validations
This commit is contained in:
+4
-4
@@ -41,15 +41,15 @@
|
||||
"require-dev": {
|
||||
"larastan/larastan": "^2.9.8",
|
||||
"mockery/mockery": "^1.6.12",
|
||||
"orchestra/testbench": "^9.5.0",
|
||||
"overtrue/phplint": "^9.4.1",
|
||||
"orchestra/testbench": "^9.5.2",
|
||||
"overtrue/phplint": "^9.5.3",
|
||||
"php-cs-fixer/shim": "^3.64.0",
|
||||
"phpstan/phpstan": "^1.12.6",
|
||||
"phpstan/phpstan-mockery": "^1.1.3",
|
||||
"phpstan/phpstan-phpunit": "^1.4.0",
|
||||
"phpstan/phpstan-symfony": "^1.4",
|
||||
"phpstan/phpstan-symfony": "^1.4.10",
|
||||
"phpunit/phpunit": "^10.5.26",
|
||||
"rector/rector": "^1.2.6",
|
||||
"rector/rector": "^1.2.7",
|
||||
"rector/swiss-knife": "^1.0.0",
|
||||
"spatie/ray": "^1.41.2",
|
||||
"symplify/monorepo-builder": "^11.2.22"
|
||||
|
||||
Generated
+85
-87
@@ -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": "560df60fbc195a8e0eb74495c0c487a8",
|
||||
"content-hash": "56132bd0ea6cb15e87e676175b408184",
|
||||
"packages": [
|
||||
{
|
||||
"name": "brick/math",
|
||||
@@ -3162,31 +3162,31 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache",
|
||||
"version": "v6.4.0",
|
||||
"version": "v7.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/cache.git",
|
||||
"reference": "ac2d25f97b17eec6e19760b6b9962a4f7c44356a"
|
||||
"reference": "5e2376f726d61541b9617512e374808d12c1dc22"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/ac2d25f97b17eec6e19760b6b9962a4f7c44356a",
|
||||
"reference": "ac2d25f97b17eec6e19760b6b9962a4f7c44356a",
|
||||
"url": "https://api.github.com/repos/symfony/cache/zipball/5e2376f726d61541b9617512e374808d12c1dc22",
|
||||
"reference": "5e2376f726d61541b9617512e374808d12c1dc22",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"php": ">=8.2",
|
||||
"psr/cache": "^2.0|^3.0",
|
||||
"psr/log": "^1.1|^2|^3",
|
||||
"symfony/cache-contracts": "^2.5|^3",
|
||||
"symfony/service-contracts": "^2.5|^3",
|
||||
"symfony/var-exporter": "^6.3.6|^7.0"
|
||||
"symfony/var-exporter": "^6.4|^7.0"
|
||||
},
|
||||
"conflict": {
|
||||
"doctrine/dbal": "<2.13.1",
|
||||
"symfony/dependency-injection": "<5.4",
|
||||
"symfony/http-kernel": "<5.4",
|
||||
"symfony/var-dumper": "<5.4"
|
||||
"doctrine/dbal": "<3.6",
|
||||
"symfony/dependency-injection": "<6.4",
|
||||
"symfony/http-kernel": "<6.4",
|
||||
"symfony/var-dumper": "<6.4"
|
||||
},
|
||||
"provide": {
|
||||
"psr/cache-implementation": "2.0|3.0",
|
||||
@@ -3195,15 +3195,15 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"cache/integration-tests": "dev-master",
|
||||
"doctrine/dbal": "^2.13.1|^3|^4",
|
||||
"doctrine/dbal": "^3.6|^4",
|
||||
"predis/predis": "^1.1|^2.0",
|
||||
"psr/simple-cache": "^1.0|^2.0|^3.0",
|
||||
"symfony/config": "^5.4|^6.0|^7.0",
|
||||
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||
"symfony/filesystem": "^5.4|^6.0|^7.0",
|
||||
"symfony/http-kernel": "^5.4|^6.0|^7.0",
|
||||
"symfony/messenger": "^5.4|^6.0|^7.0",
|
||||
"symfony/var-dumper": "^5.4|^6.0|^7.0"
|
||||
"symfony/config": "^6.4|^7.0",
|
||||
"symfony/dependency-injection": "^6.4|^7.0",
|
||||
"symfony/filesystem": "^6.4|^7.0",
|
||||
"symfony/http-kernel": "^6.4|^7.0",
|
||||
"symfony/messenger": "^6.4|^7.0",
|
||||
"symfony/var-dumper": "^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -3238,7 +3238,7 @@
|
||||
"psr6"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/cache/tree/v6.4.0"
|
||||
"source": "https://github.com/symfony/cache/tree/v7.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3254,7 +3254,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-11-24T19:28:07+00:00"
|
||||
"time": "2023-11-25T15:40:35+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/cache-contracts",
|
||||
@@ -3857,24 +3857,24 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher",
|
||||
"version": "v6.4.0",
|
||||
"version": "v7.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/event-dispatcher.git",
|
||||
"reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6"
|
||||
"reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6",
|
||||
"reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6",
|
||||
"url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c459b40ffe67c49af6fd392aac374c9edf8a027e",
|
||||
"reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"php": ">=8.2",
|
||||
"symfony/event-dispatcher-contracts": "^2.5|^3"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/dependency-injection": "<5.4",
|
||||
"symfony/dependency-injection": "<6.4",
|
||||
"symfony/service-contracts": "<2.5"
|
||||
},
|
||||
"provide": {
|
||||
@@ -3883,13 +3883,13 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/log": "^1|^2|^3",
|
||||
"symfony/config": "^5.4|^6.0|^7.0",
|
||||
"symfony/dependency-injection": "^5.4|^6.0|^7.0",
|
||||
"symfony/error-handler": "^5.4|^6.0|^7.0",
|
||||
"symfony/expression-language": "^5.4|^6.0|^7.0",
|
||||
"symfony/http-foundation": "^5.4|^6.0|^7.0",
|
||||
"symfony/config": "^6.4|^7.0",
|
||||
"symfony/dependency-injection": "^6.4|^7.0",
|
||||
"symfony/error-handler": "^6.4|^7.0",
|
||||
"symfony/expression-language": "^6.4|^7.0",
|
||||
"symfony/http-foundation": "^6.4|^7.0",
|
||||
"symfony/service-contracts": "^2.5|^3",
|
||||
"symfony/stopwatch": "^5.4|^6.0|^7.0"
|
||||
"symfony/stopwatch": "^6.4|^7.0"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
@@ -3917,7 +3917,7 @@
|
||||
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
|
||||
"homepage": "https://symfony.com",
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v6.4.0"
|
||||
"source": "https://github.com/symfony/event-dispatcher/tree/v7.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -3933,7 +3933,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-07-27T06:52:43+00:00"
|
||||
"time": "2023-07-27T16:29:09+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/event-dispatcher-contracts",
|
||||
@@ -7816,16 +7816,16 @@
|
||||
},
|
||||
{
|
||||
"name": "orchestra/testbench",
|
||||
"version": "v9.5.0",
|
||||
"version": "v9.5.2",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/orchestral/testbench.git",
|
||||
"reference": "a040a69b5481e40d742c67c92a30e1b22b5968f1"
|
||||
"reference": "bc404d840ffbb722bf0bbb042251ef83223482f9"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/orchestral/testbench/zipball/a040a69b5481e40d742c67c92a30e1b22b5968f1",
|
||||
"reference": "a040a69b5481e40d742c67c92a30e1b22b5968f1",
|
||||
"url": "https://api.github.com/repos/orchestral/testbench/zipball/bc404d840ffbb722bf0bbb042251ef83223482f9",
|
||||
"reference": "bc404d840ffbb722bf0bbb042251ef83223482f9",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7833,7 +7833,7 @@
|
||||
"fakerphp/faker": "^1.23",
|
||||
"laravel/framework": "^11.11",
|
||||
"mockery/mockery": "^1.6",
|
||||
"orchestra/testbench-core": "^9.5",
|
||||
"orchestra/testbench-core": "^9.5.3",
|
||||
"orchestra/workbench": "^9.6",
|
||||
"php": "^8.2",
|
||||
"phpunit/phpunit": "^10.5 || ^11.0.1",
|
||||
@@ -7865,22 +7865,22 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/orchestral/testbench/issues",
|
||||
"source": "https://github.com/orchestral/testbench/tree/v9.5.0"
|
||||
"source": "https://github.com/orchestral/testbench/tree/v9.5.2"
|
||||
},
|
||||
"time": "2024-09-24T05:44:14+00:00"
|
||||
"time": "2024-10-06T13:07:57+00:00"
|
||||
},
|
||||
{
|
||||
"name": "orchestra/testbench-core",
|
||||
"version": "v9.5.0",
|
||||
"version": "v9.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/orchestral/testbench-core.git",
|
||||
"reference": "4880c3f840cac2b9c0a26d46e927d1994aabc69f"
|
||||
"reference": "9a5754622881f601951427a94c04c50e448cbf09"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/orchestral/testbench-core/zipball/4880c3f840cac2b9c0a26d46e927d1994aabc69f",
|
||||
"reference": "4880c3f840cac2b9c0a26d46e927d1994aabc69f",
|
||||
"url": "https://api.github.com/repos/orchestral/testbench-core/zipball/9a5754622881f601951427a94c04c50e448cbf09",
|
||||
"reference": "9a5754622881f601951427a94c04c50e448cbf09",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7893,7 +7893,7 @@
|
||||
"laravel/framework": "<11.11.0 || >=12.0.0",
|
||||
"laravel/serializable-closure": "<1.3.0 || >=2.0.0",
|
||||
"nunomaduro/collision": "<8.0.0 || >=9.0.0",
|
||||
"phpunit/phpunit": "<10.5.0 || 11.0.0 || >=11.4.0"
|
||||
"phpunit/phpunit": "<10.5.0 || 11.0.0 || >=11.5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"fakerphp/faker": "^1.23",
|
||||
@@ -7957,7 +7957,7 @@
|
||||
"issues": "https://github.com/orchestral/testbench/issues",
|
||||
"source": "https://github.com/orchestral/testbench-core"
|
||||
},
|
||||
"time": "2024-09-23T13:18:23+00:00"
|
||||
"time": "2024-10-06T11:20:27+00:00"
|
||||
},
|
||||
{
|
||||
"name": "orchestra/workbench",
|
||||
@@ -8027,30 +8027,31 @@
|
||||
},
|
||||
{
|
||||
"name": "overtrue/phplint",
|
||||
"version": "9.4.1",
|
||||
"version": "9.5.3",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/overtrue/phplint.git",
|
||||
"reference": "cec4a0dbb9d00077dafa2f0cd89f4ca532814276"
|
||||
"reference": "584063a687abca041551e0b14c47fe9fc574b193"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/overtrue/phplint/zipball/cec4a0dbb9d00077dafa2f0cd89f4ca532814276",
|
||||
"reference": "cec4a0dbb9d00077dafa2f0cd89f4ca532814276",
|
||||
"url": "https://api.github.com/repos/overtrue/phplint/zipball/584063a687abca041551e0b14c47fe9fc574b193",
|
||||
"reference": "584063a687abca041551e0b14c47fe9fc574b193",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"composer-runtime-api": "^2.0",
|
||||
"ext-dom": "*",
|
||||
"ext-json": "*",
|
||||
"ext-mbstring": "*",
|
||||
"php": "^8.1",
|
||||
"symfony/cache": "^6.4 || ^7.0",
|
||||
"symfony/console": "^6.4 || ^7.0",
|
||||
"symfony/event-dispatcher": "^6.4 || ^7.0",
|
||||
"symfony/finder": "^6.4 || ^7.0",
|
||||
"symfony/options-resolver": "^6.4 || ^7.0",
|
||||
"symfony/process": "^6.4 || ^7.0",
|
||||
"symfony/yaml": "^6.4 || ^7.0"
|
||||
"php": "^8.2",
|
||||
"symfony/cache": "^7.0",
|
||||
"symfony/console": "^7.0",
|
||||
"symfony/event-dispatcher": "^7.0",
|
||||
"symfony/finder": "^7.0",
|
||||
"symfony/options-resolver": "^7.0",
|
||||
"symfony/process": "^7.0",
|
||||
"symfony/yaml": "^7.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"bamarni/composer-bin-plugin": "^1.4",
|
||||
@@ -8072,13 +8073,10 @@
|
||||
"pre-commit": [
|
||||
"composer style:fix",
|
||||
"composer code:check"
|
||||
],
|
||||
"pre-push": [
|
||||
"composer qa:check"
|
||||
]
|
||||
},
|
||||
"branch-alias": {
|
||||
"dev-main": "9.4.x-dev"
|
||||
"dev-main": "9.5.x-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -8110,7 +8108,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/overtrue/phplint/issues",
|
||||
"source": "https://github.com/overtrue/phplint/tree/9.4.1"
|
||||
"source": "https://github.com/overtrue/phplint/tree/9.5.3"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -8118,7 +8116,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-07-05T14:16:33+00:00"
|
||||
"time": "2024-10-11T07:13:25+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phar-io/manifest",
|
||||
@@ -8533,22 +8531,22 @@
|
||||
},
|
||||
{
|
||||
"name": "phpstan/phpstan-symfony",
|
||||
"version": "1.4.0",
|
||||
"version": "1.4.10",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpstan/phpstan-symfony.git",
|
||||
"reference": "51183fefbaf4713aa81eddbd273dc59dd5e5ff71"
|
||||
"reference": "f7d5782044bedf93aeb3f38e09c91148ee90e5a1"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/51183fefbaf4713aa81eddbd273dc59dd5e5ff71",
|
||||
"reference": "51183fefbaf4713aa81eddbd273dc59dd5e5ff71",
|
||||
"url": "https://api.github.com/repos/phpstan/phpstan-symfony/zipball/f7d5782044bedf93aeb3f38e09c91148ee90e5a1",
|
||||
"reference": "f7d5782044bedf93aeb3f38e09c91148ee90e5a1",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-simplexml": "*",
|
||||
"php": "^7.2 || ^8.0",
|
||||
"phpstan/phpstan": "^1.11"
|
||||
"phpstan/phpstan": "^1.12"
|
||||
},
|
||||
"conflict": {
|
||||
"symfony/framework-bundle": "<3.0"
|
||||
@@ -8599,9 +8597,9 @@
|
||||
"description": "Symfony Framework extensions and rules for PHPStan",
|
||||
"support": {
|
||||
"issues": "https://github.com/phpstan/phpstan-symfony/issues",
|
||||
"source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.0"
|
||||
"source": "https://github.com/phpstan/phpstan-symfony/tree/1.4.10"
|
||||
},
|
||||
"time": "2024-04-20T06:38:35+00:00"
|
||||
"time": "2024-09-26T18:14:50+00:00"
|
||||
},
|
||||
{
|
||||
"name": "phpunit/php-code-coverage",
|
||||
@@ -9104,16 +9102,16 @@
|
||||
},
|
||||
{
|
||||
"name": "rector/rector",
|
||||
"version": "1.2.6",
|
||||
"version": "1.2.7",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/rectorphp/rector.git",
|
||||
"reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99"
|
||||
"reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/6ca85da28159dbd3bb36211c5104b7bc91278e99",
|
||||
"reference": "6ca85da28159dbd3bb36211c5104b7bc91278e99",
|
||||
"url": "https://api.github.com/repos/rectorphp/rector/zipball/5b33bdd871895276e2c18e5410a4a57df9233ee0",
|
||||
"reference": "5b33bdd871895276e2c18e5410a4a57df9233ee0",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -9151,7 +9149,7 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/rectorphp/rector/issues",
|
||||
"source": "https://github.com/rectorphp/rector/tree/1.2.6"
|
||||
"source": "https://github.com/rectorphp/rector/tree/1.2.7"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -9159,7 +9157,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-10-03T08:56:44+00:00"
|
||||
"time": "2024-10-12T11:12:46+00:00"
|
||||
},
|
||||
{
|
||||
"name": "rector/swiss-knife",
|
||||
@@ -10399,20 +10397,20 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/options-resolver",
|
||||
"version": "v6.4.0",
|
||||
"version": "v7.0.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/options-resolver.git",
|
||||
"reference": "22301f0e7fdeaacc14318928612dee79be99860e"
|
||||
"reference": "700ff4096e346f54cb628ea650767c8130f1001f"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/22301f0e7fdeaacc14318928612dee79be99860e",
|
||||
"reference": "22301f0e7fdeaacc14318928612dee79be99860e",
|
||||
"url": "https://api.github.com/repos/symfony/options-resolver/zipball/700ff4096e346f54cb628ea650767c8130f1001f",
|
||||
"reference": "700ff4096e346f54cb628ea650767c8130f1001f",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=8.1",
|
||||
"php": ">=8.2",
|
||||
"symfony/deprecation-contracts": "^2.5|^3"
|
||||
},
|
||||
"type": "library",
|
||||
@@ -10446,7 +10444,7 @@
|
||||
"options"
|
||||
],
|
||||
"support": {
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v6.4.0"
|
||||
"source": "https://github.com/symfony/options-resolver/tree/v7.0.0"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -10462,7 +10460,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2023-08-08T10:16:24+00:00"
|
||||
"time": "2023-08-08T10:20:21+00:00"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-iconv",
|
||||
@@ -10967,13 +10965,13 @@
|
||||
],
|
||||
"aliases": [],
|
||||
"minimum-stability": "dev",
|
||||
"stability-flags": [],
|
||||
"stability-flags": {},
|
||||
"prefer-stable": true,
|
||||
"prefer-lowest": true,
|
||||
"platform": {
|
||||
"php": ">=8.2",
|
||||
"ext-intl": "*"
|
||||
},
|
||||
"platform-dev": [],
|
||||
"platform-dev": {},
|
||||
"plugin-api-version": "2.6.0"
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"dist/main.css": "/dist/main.c51cfb93.css",
|
||||
"dist/main.css": "/dist/main.61bfd6c6.css",
|
||||
"dist/main.js": "/dist/main.911a168a.js",
|
||||
"dist/455.3a7b4474.css": "/dist/455.3a7b4474.css",
|
||||
"dist/455.095e6545.js": "/dist/455.095e6545.js",
|
||||
|
||||
Vendored
+1
-1
@@ -2,7 +2,7 @@
|
||||
"entrypoints": {
|
||||
"main": {
|
||||
"css": [
|
||||
"/dist/main.c51cfb93.css"
|
||||
"/dist/main.61bfd6c6.css"
|
||||
],
|
||||
"js": [
|
||||
"/dist/main.911a168a.js"
|
||||
|
||||
File diff suppressed because one or more lines are too long
Generated
+398
-322
@@ -17,15 +17,15 @@
|
||||
],
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config": "^2.27.3",
|
||||
"@babel/core": "^7.25.7",
|
||||
"@babel/preset-env": "^7.25.7",
|
||||
"@babel/core": "^7.25.8",
|
||||
"@babel/preset-env": "^7.25.8",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-commonjs": "^25.0.8",
|
||||
"@rollup/plugin-eslint": "^9.0.5",
|
||||
"@rollup/plugin-node-resolve": "^15.3.0",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/node": "^20.16.10",
|
||||
"@types/node": "^20.16.11",
|
||||
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||
"@typescript-eslint/parser": "^7.18.0",
|
||||
"all-contributors-cli": "^6.26.1",
|
||||
@@ -49,10 +49,10 @@
|
||||
"rollup-plugin-filesize": "^10.0.0",
|
||||
"rollup-plugin-postcss": "^4.0.2",
|
||||
"rollup-plugin-progress": "^1.1.2",
|
||||
"sass": "^1.79.4",
|
||||
"sass": "^1.79.5",
|
||||
"ts-node": "^10.9.2",
|
||||
"tslib": "^2.7.0",
|
||||
"typescript": "^5.6.2"
|
||||
"typescript": "^5.6.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@ampproject/remapping": {
|
||||
@@ -408,9 +408,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/compat-data": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz",
|
||||
"integrity": "sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz",
|
||||
"integrity": "sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -418,9 +418,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/core": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz",
|
||||
"integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz",
|
||||
"integrity": "sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -430,10 +430,10 @@
|
||||
"@babel/helper-compilation-targets": "^7.25.7",
|
||||
"@babel/helper-module-transforms": "^7.25.7",
|
||||
"@babel/helpers": "^7.25.7",
|
||||
"@babel/parser": "^7.25.7",
|
||||
"@babel/parser": "^7.25.8",
|
||||
"@babel/template": "^7.25.7",
|
||||
"@babel/traverse": "^7.25.7",
|
||||
"@babel/types": "^7.25.7",
|
||||
"@babel/types": "^7.25.8",
|
||||
"convert-source-map": "^2.0.0",
|
||||
"debug": "^4.1.0",
|
||||
"gensync": "^1.0.0-beta.2",
|
||||
@@ -775,13 +775,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/parser": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz",
|
||||
"integrity": "sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz",
|
||||
"integrity": "sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/types": "^7.25.7"
|
||||
"@babel/types": "^7.25.8"
|
||||
},
|
||||
"bin": {
|
||||
"parser": "bin/babel-parser.js"
|
||||
@@ -887,74 +887,6 @@
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-async-generators": {
|
||||
"version": "7.8.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
|
||||
"integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-class-properties": {
|
||||
"version": "7.12.13",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
|
||||
"integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.12.13"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-class-static-block": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
|
||||
"integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.14.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-dynamic-import": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
|
||||
"integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-export-namespace-from": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
|
||||
"integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.3"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-import-assertions": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz",
|
||||
@@ -987,142 +919,6 @@
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-import-meta": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
|
||||
"integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-json-strings": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
|
||||
"integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-logical-assignment-operators": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
|
||||
"integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
|
||||
"integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-numeric-separator": {
|
||||
"version": "7.10.4",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
|
||||
"integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.10.4"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-object-rest-spread": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
|
||||
"integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-optional-catch-binding": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
|
||||
"integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-optional-chaining": {
|
||||
"version": "7.8.3",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
|
||||
"integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.8.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-private-property-in-object": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
|
||||
"integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.14.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-top-level-await": {
|
||||
"version": "7.14.5",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
|
||||
"integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.14.5"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"@babel/core": "^7.0.0-0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-syntax-unicode-sets-regex": {
|
||||
"version": "7.18.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
|
||||
@@ -1157,15 +953,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-async-generator-functions": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz",
|
||||
"integrity": "sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz",
|
||||
"integrity": "sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/helper-remap-async-to-generator": "^7.25.7",
|
||||
"@babel/plugin-syntax-async-generators": "^7.8.4",
|
||||
"@babel/traverse": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1243,15 +1038,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-class-static-block": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz",
|
||||
"integrity": "sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz",
|
||||
"integrity": "sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-create-class-features-plugin": "^7.25.7",
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-class-static-block": "^7.14.5"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1375,14 +1169,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-dynamic-import": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz",
|
||||
"integrity": "sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz",
|
||||
"integrity": "sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1409,14 +1202,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-export-namespace-from": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz",
|
||||
"integrity": "sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz",
|
||||
"integrity": "sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-export-namespace-from": "^7.8.3"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1461,14 +1253,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-json-strings": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz",
|
||||
"integrity": "sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz",
|
||||
"integrity": "sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-json-strings": "^7.8.3"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1494,14 +1285,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-logical-assignment-operators": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz",
|
||||
"integrity": "sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz",
|
||||
"integrity": "sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1631,14 +1421,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz",
|
||||
"integrity": "sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz",
|
||||
"integrity": "sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1648,14 +1437,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-numeric-separator": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz",
|
||||
"integrity": "sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz",
|
||||
"integrity": "sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-numeric-separator": "^7.10.4"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1665,15 +1453,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-object-rest-spread": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz",
|
||||
"integrity": "sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz",
|
||||
"integrity": "sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-compilation-targets": "^7.25.7",
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
|
||||
"@babel/plugin-transform-parameters": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
@@ -1701,14 +1488,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-optional-catch-binding": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz",
|
||||
"integrity": "sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz",
|
||||
"integrity": "sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1718,15 +1504,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-optional-chaining": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz",
|
||||
"integrity": "sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz",
|
||||
"integrity": "sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.7",
|
||||
"@babel/plugin-syntax-optional-chaining": "^7.8.3"
|
||||
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1769,16 +1554,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/plugin-transform-private-property-in-object": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz",
|
||||
"integrity": "sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz",
|
||||
"integrity": "sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/helper-annotate-as-pure": "^7.25.7",
|
||||
"@babel/helper-create-class-features-plugin": "^7.25.7",
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/plugin-syntax-private-property-in-object": "^7.14.5"
|
||||
"@babel/helper-plugin-utils": "^7.25.7"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
@@ -1985,13 +1769,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/preset-env": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz",
|
||||
"integrity": "sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz",
|
||||
"integrity": "sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/compat-data": "^7.25.7",
|
||||
"@babel/compat-data": "^7.25.8",
|
||||
"@babel/helper-compilation-targets": "^7.25.7",
|
||||
"@babel/helper-plugin-utils": "^7.25.7",
|
||||
"@babel/helper-validator-option": "^7.25.7",
|
||||
@@ -2001,45 +1785,30 @@
|
||||
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.25.7",
|
||||
"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.7",
|
||||
"@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
|
||||
"@babel/plugin-syntax-async-generators": "^7.8.4",
|
||||
"@babel/plugin-syntax-class-properties": "^7.12.13",
|
||||
"@babel/plugin-syntax-class-static-block": "^7.14.5",
|
||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
||||
"@babel/plugin-syntax-export-namespace-from": "^7.8.3",
|
||||
"@babel/plugin-syntax-import-assertions": "^7.25.7",
|
||||
"@babel/plugin-syntax-import-attributes": "^7.25.7",
|
||||
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
||||
"@babel/plugin-syntax-json-strings": "^7.8.3",
|
||||
"@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
|
||||
"@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
|
||||
"@babel/plugin-syntax-numeric-separator": "^7.10.4",
|
||||
"@babel/plugin-syntax-object-rest-spread": "^7.8.3",
|
||||
"@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
|
||||
"@babel/plugin-syntax-optional-chaining": "^7.8.3",
|
||||
"@babel/plugin-syntax-private-property-in-object": "^7.14.5",
|
||||
"@babel/plugin-syntax-top-level-await": "^7.14.5",
|
||||
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
|
||||
"@babel/plugin-transform-arrow-functions": "^7.25.7",
|
||||
"@babel/plugin-transform-async-generator-functions": "^7.25.7",
|
||||
"@babel/plugin-transform-async-generator-functions": "^7.25.8",
|
||||
"@babel/plugin-transform-async-to-generator": "^7.25.7",
|
||||
"@babel/plugin-transform-block-scoped-functions": "^7.25.7",
|
||||
"@babel/plugin-transform-block-scoping": "^7.25.7",
|
||||
"@babel/plugin-transform-class-properties": "^7.25.7",
|
||||
"@babel/plugin-transform-class-static-block": "^7.25.7",
|
||||
"@babel/plugin-transform-class-static-block": "^7.25.8",
|
||||
"@babel/plugin-transform-classes": "^7.25.7",
|
||||
"@babel/plugin-transform-computed-properties": "^7.25.7",
|
||||
"@babel/plugin-transform-destructuring": "^7.25.7",
|
||||
"@babel/plugin-transform-dotall-regex": "^7.25.7",
|
||||
"@babel/plugin-transform-duplicate-keys": "^7.25.7",
|
||||
"@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.7",
|
||||
"@babel/plugin-transform-dynamic-import": "^7.25.7",
|
||||
"@babel/plugin-transform-dynamic-import": "^7.25.8",
|
||||
"@babel/plugin-transform-exponentiation-operator": "^7.25.7",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.7",
|
||||
"@babel/plugin-transform-export-namespace-from": "^7.25.8",
|
||||
"@babel/plugin-transform-for-of": "^7.25.7",
|
||||
"@babel/plugin-transform-function-name": "^7.25.7",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.7",
|
||||
"@babel/plugin-transform-json-strings": "^7.25.8",
|
||||
"@babel/plugin-transform-literals": "^7.25.7",
|
||||
"@babel/plugin-transform-logical-assignment-operators": "^7.25.7",
|
||||
"@babel/plugin-transform-logical-assignment-operators": "^7.25.8",
|
||||
"@babel/plugin-transform-member-expression-literals": "^7.25.7",
|
||||
"@babel/plugin-transform-modules-amd": "^7.25.7",
|
||||
"@babel/plugin-transform-modules-commonjs": "^7.25.7",
|
||||
@@ -2047,15 +1816,15 @@
|
||||
"@babel/plugin-transform-modules-umd": "^7.25.7",
|
||||
"@babel/plugin-transform-named-capturing-groups-regex": "^7.25.7",
|
||||
"@babel/plugin-transform-new-target": "^7.25.7",
|
||||
"@babel/plugin-transform-nullish-coalescing-operator": "^7.25.7",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.7",
|
||||
"@babel/plugin-transform-object-rest-spread": "^7.25.7",
|
||||
"@babel/plugin-transform-nullish-coalescing-operator": "^7.25.8",
|
||||
"@babel/plugin-transform-numeric-separator": "^7.25.8",
|
||||
"@babel/plugin-transform-object-rest-spread": "^7.25.8",
|
||||
"@babel/plugin-transform-object-super": "^7.25.7",
|
||||
"@babel/plugin-transform-optional-catch-binding": "^7.25.7",
|
||||
"@babel/plugin-transform-optional-chaining": "^7.25.7",
|
||||
"@babel/plugin-transform-optional-catch-binding": "^7.25.8",
|
||||
"@babel/plugin-transform-optional-chaining": "^7.25.8",
|
||||
"@babel/plugin-transform-parameters": "^7.25.7",
|
||||
"@babel/plugin-transform-private-methods": "^7.25.7",
|
||||
"@babel/plugin-transform-private-property-in-object": "^7.25.7",
|
||||
"@babel/plugin-transform-private-property-in-object": "^7.25.8",
|
||||
"@babel/plugin-transform-property-literals": "^7.25.7",
|
||||
"@babel/plugin-transform-regenerator": "^7.25.7",
|
||||
"@babel/plugin-transform-reserved-words": "^7.25.7",
|
||||
@@ -2155,9 +1924,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/types": {
|
||||
"version": "7.25.7",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz",
|
||||
"integrity": "sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ==",
|
||||
"version": "7.25.8",
|
||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz",
|
||||
"integrity": "sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2917,6 +2686,292 @@
|
||||
"node": "^14.17.0 || ^16.13.0 || >=18.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz",
|
||||
"integrity": "sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"detect-libc": "^1.0.3",
|
||||
"is-glob": "^4.0.3",
|
||||
"micromatch": "^4.0.5",
|
||||
"node-addon-api": "^7.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@parcel/watcher-android-arm64": "2.4.1",
|
||||
"@parcel/watcher-darwin-arm64": "2.4.1",
|
||||
"@parcel/watcher-darwin-x64": "2.4.1",
|
||||
"@parcel/watcher-freebsd-x64": "2.4.1",
|
||||
"@parcel/watcher-linux-arm-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-arm64-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-arm64-musl": "2.4.1",
|
||||
"@parcel/watcher-linux-x64-glibc": "2.4.1",
|
||||
"@parcel/watcher-linux-x64-musl": "2.4.1",
|
||||
"@parcel/watcher-win32-arm64": "2.4.1",
|
||||
"@parcel/watcher-win32-ia32": "2.4.1",
|
||||
"@parcel/watcher-win32-x64": "2.4.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-android-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"android"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-darwin-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-darwin-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-freebsd-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"freebsd"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA==",
|
||||
"cpu": [
|
||||
"arm"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm64-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-arm64-musl": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz",
|
||||
"integrity": "sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-x64-glibc": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz",
|
||||
"integrity": "sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-linux-x64-musl": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz",
|
||||
"integrity": "sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"linux"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-arm64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz",
|
||||
"integrity": "sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg==",
|
||||
"cpu": [
|
||||
"arm64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-ia32": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz",
|
||||
"integrity": "sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw==",
|
||||
"cpu": [
|
||||
"ia32"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@parcel/watcher-win32-x64": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz",
|
||||
"integrity": "sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A==",
|
||||
"cpu": [
|
||||
"x64"
|
||||
],
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"optional": true,
|
||||
"os": [
|
||||
"win32"
|
||||
],
|
||||
"engines": {
|
||||
"node": ">= 10.0.0"
|
||||
},
|
||||
"funding": {
|
||||
"type": "opencollective",
|
||||
"url": "https://opencollective.com/parcel"
|
||||
}
|
||||
},
|
||||
"node_modules/@pkgjs/parseargs": {
|
||||
"version": "0.11.0",
|
||||
"resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz",
|
||||
@@ -3648,9 +3703,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.16.10",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz",
|
||||
"integrity": "sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA==",
|
||||
"version": "20.16.11",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz",
|
||||
"integrity": "sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -5908,6 +5963,19 @@
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/detect-libc": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz",
|
||||
"integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
"detect-libc": "bin/detect-libc.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=0.10"
|
||||
}
|
||||
},
|
||||
"node_modules/didyoumean": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz",
|
||||
@@ -10042,6 +10110,13 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/node-addon-api": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz",
|
||||
"integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||
@@ -13511,12 +13586,13 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/sass": {
|
||||
"version": "1.79.4",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz",
|
||||
"integrity": "sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg==",
|
||||
"version": "1.79.5",
|
||||
"resolved": "https://registry.npmjs.org/sass/-/sass-1.79.5.tgz",
|
||||
"integrity": "sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@parcel/watcher": "^2.4.1",
|
||||
"chokidar": "^4.0.0",
|
||||
"immutable": "^4.0.0",
|
||||
"source-map-js": ">=0.6.2 <2.0.0"
|
||||
@@ -14681,9 +14757,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/typescript": {
|
||||
"version": "5.6.2",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz",
|
||||
"integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==",
|
||||
"version": "5.6.3",
|
||||
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz",
|
||||
"integrity": "sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"bin": {
|
||||
|
||||
+5
-5
@@ -19,15 +19,15 @@
|
||||
},
|
||||
"devDependencies": {
|
||||
"@antfu/eslint-config": "^2.27.3",
|
||||
"@babel/core": "^7.25.7",
|
||||
"@babel/preset-env": "^7.25.7",
|
||||
"@babel/core": "^7.25.8",
|
||||
"@babel/preset-env": "^7.25.8",
|
||||
"@rollup/plugin-babel": "^6.0.4",
|
||||
"@rollup/plugin-commonjs": "^25.0.8",
|
||||
"@rollup/plugin-eslint": "^9.0.5",
|
||||
"@rollup/plugin-node-resolve": "^15.3.0",
|
||||
"@rollup/plugin-terser": "^0.4.4",
|
||||
"@rollup/plugin-typescript": "^11.1.6",
|
||||
"@types/node": "^20.16.10",
|
||||
"@types/node": "^20.16.11",
|
||||
"@typescript-eslint/eslint-plugin": "^7.18.0",
|
||||
"@typescript-eslint/parser": "^7.18.0",
|
||||
"all-contributors-cli": "^6.26.1",
|
||||
@@ -51,9 +51,9 @@
|
||||
"rollup-plugin-filesize": "^10.0.0",
|
||||
"rollup-plugin-postcss": "^4.0.2",
|
||||
"rollup-plugin-progress": "^1.1.2",
|
||||
"sass": "^1.79.4",
|
||||
"sass": "^1.79.5",
|
||||
"ts-node": "^10.9.2",
|
||||
"tslib": "^2.7.0",
|
||||
"typescript": "^5.6.2"
|
||||
"typescript": "^5.6.3"
|
||||
}
|
||||
}
|
||||
|
||||
+130
-13
@@ -4,10 +4,110 @@ declare(strict_types=1);
|
||||
|
||||
namespace Flasher\Noty\Prime;
|
||||
|
||||
use Flasher\Prime\Notification\Envelope;
|
||||
use Flasher\Prime\Notification\NotificationBuilder;
|
||||
|
||||
/**
|
||||
* @phpstan-type NotificationType "success"|"info"|"warning"|"error"|"alert"|"information"
|
||||
* @phpstan-type OptionsType array{
|
||||
* layout?: "top"|"topLeft"|"topCenter"|"topRight"|"center"|"centerLeft"|"centerRight"|"bottom"|"bottomLeft"|"bottomCenter"|"bottomRight",
|
||||
* theme?: "relax"|"mint"|"metroui",
|
||||
* timeout?: false|int,
|
||||
* progressBar?: bool,
|
||||
* closeWith?: string[],
|
||||
* animation?: array{
|
||||
* open?: string|null,
|
||||
* close?: string|null,
|
||||
* },
|
||||
* sounds?: array{
|
||||
* sources?: string[],
|
||||
* volume?: int,
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* docTitle?: array{
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* modal?: bool,
|
||||
* id?: bool|string,
|
||||
* force?: bool,
|
||||
* queue?: string,
|
||||
* killer?: bool|string,
|
||||
* container?: false|string,
|
||||
* buttons?: string[],
|
||||
* visibilityControl?: bool,
|
||||
* }
|
||||
*/
|
||||
final class NotyBuilder extends NotificationBuilder
|
||||
{
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
*/
|
||||
public function type(string $type): static
|
||||
{
|
||||
return parent::type($type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function success(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::success($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function error(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::error($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function info(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::info($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function warning(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::warning($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
* @phpstan-param OptionsType $options
|
||||
*/
|
||||
public function flash(?string $type = null, ?string $message = null, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::flash($type, $message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function options(array $options, bool $append = true): static
|
||||
{
|
||||
return parent::options($options, $append);
|
||||
}
|
||||
|
||||
/**
|
||||
* @template T of OptionsType
|
||||
* @template K of key-of<T>
|
||||
*
|
||||
* @phpstan-param K $name
|
||||
* @phpstan-param T[K] $value
|
||||
*/
|
||||
public function option(string $name, mixed $value): static
|
||||
{
|
||||
return parent::option($name, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* This string can contain HTML too. But be careful and don't pass user inputs to this parameter.
|
||||
*/
|
||||
@@ -17,7 +117,7 @@ final class NotyBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string, mixed> $options
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function alert(?string $message = null, ?string $title = null, array $options = []): self
|
||||
{
|
||||
@@ -39,7 +139,7 @@ final class NotyBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "top"|"topLeft"|"topCenter"|"topRight"|"center"|"centerLeft"|"centerRight"|"bottom"|"bottomLeft"|"bottomCenter"|"bottomRight" $layout
|
||||
* @phpstan-param OptionsType['layout'] $layout
|
||||
*
|
||||
* - ClassName generator uses this value → noty_layout__${layout}
|
||||
*/
|
||||
@@ -51,7 +151,7 @@ final class NotyBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "relax"|"mint"|"metroui" $theme
|
||||
* @phpstan-param OptionsType['theme'] $theme
|
||||
*
|
||||
* ClassName generator uses this value → noty_theme__${theme}
|
||||
*/
|
||||
@@ -65,7 +165,7 @@ final class NotyBuilder extends NotificationBuilder
|
||||
/**
|
||||
* false, 1000, 3000, 3500, etc. Delay for closing event in milliseconds (ms). Set 'false' for sticky notifications.
|
||||
*/
|
||||
public function timeout(bool|int $timeout): self
|
||||
public function timeout(false|int $timeout): self
|
||||
{
|
||||
$this->option('timeout', $timeout);
|
||||
|
||||
@@ -95,35 +195,52 @@ final class NotyBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "open"|"close" $animation
|
||||
* @param "open"|"close" $option
|
||||
* @param "noty_effects_open"|"noty_effects_close"|string $effect
|
||||
*
|
||||
* If string, assumed to be CSS class name. If null, no animation at all. If function, runs the function. (v3.0.1+)
|
||||
* You can use animate.css class names or your custom css animations as well.
|
||||
*/
|
||||
public function animation(string $animation, string $effect): self
|
||||
public function animation(string $option, string $effect): self
|
||||
{
|
||||
$this->option('animation.'.$animation, $effect);
|
||||
/** @phpstan-var OptionsType['animation'] $animation */
|
||||
$animation = $this->getEnvelope()->getOption('animation', []);
|
||||
$animation[$option] = $effect;
|
||||
|
||||
$this->option('animation', $animation);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "sources"|"volume"|"conditions" $option
|
||||
* @phpstan-param "sources"|"volume"|"conditions" $option
|
||||
* @phpstan-param ($option is "sources" ? string[] :
|
||||
* ($option is "volume" ? int :
|
||||
* ($option is "conditions" ? string[] :
|
||||
* mixed))) $value
|
||||
*/
|
||||
public function sounds(string $option, mixed $value): self
|
||||
{
|
||||
$this->option('sounds.'.$option, $value);
|
||||
/** @phpstan-var OptionsType['sounds'] $sounds */
|
||||
$sounds = $this->getEnvelope()->getOption('sounds', []);
|
||||
$sounds[$option] = $value;
|
||||
|
||||
$this->option('sounds', $sounds); // @phpstan-ignore-line
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "conditions"|string $option
|
||||
* @phpstan-param "conditions"|string $option
|
||||
* @phpstan-param ($option is "conditions" ? string[] : mixed) $value
|
||||
*/
|
||||
public function docTitle(string $option, string $docTitle): self
|
||||
public function docTitle(string $option, mixed $value): self
|
||||
{
|
||||
$this->option('docTitle'.$option, $docTitle);
|
||||
/** @phpstan-var OptionsType['docTitle'] $docTitle */
|
||||
$docTitle = $this->getEnvelope()->getOption('docTitle', []);
|
||||
$docTitle[$option] = $value;
|
||||
|
||||
$this->option('docTitle', $docTitle); // @phpstan-ignore-line
|
||||
|
||||
return $this;
|
||||
}
|
||||
@@ -176,7 +293,7 @@ final class NotyBuilder extends NotificationBuilder
|
||||
/**
|
||||
* Custom container selector string. Like '.my-custom-container'. Layout parameter will be ignored.
|
||||
*/
|
||||
public function container(bool|string $container): self
|
||||
public function container(false|string $container): self
|
||||
{
|
||||
$this->option('container', $container);
|
||||
|
||||
|
||||
@@ -17,8 +17,34 @@ if (!\function_exists('Flasher\Noty\Prime\noty')) {
|
||||
* When called with arguments, it creates a Noty notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Noty notification
|
||||
* @param "success"|"info"|"warning"|"error"|"alert"|"information" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* layout?: "top"|"topLeft"|"topCenter"|"topRight"|"center"|"centerLeft"|"centerRight"|"bottom"|"bottomLeft"|"bottomCenter"|"bottomRight",
|
||||
* theme?: "relax"|"mint"|"metroui",
|
||||
* timeout?: false|int,
|
||||
* progressBar?: bool,
|
||||
* closeWith?: string[],
|
||||
* animation?: array{
|
||||
* open?: string|null,
|
||||
* close?: string|null,
|
||||
* },
|
||||
* sounds?: array{
|
||||
* sources?: string[],
|
||||
* volume?: int,
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* docTitle?: array{
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* modal?: bool,
|
||||
* id?: bool|string,
|
||||
* force?: bool,
|
||||
* queue?: string,
|
||||
* killer?: bool|string,
|
||||
* container?: false|string,
|
||||
* buttons?: string[],
|
||||
* visibilityControl?: bool,
|
||||
* } $options additional options for the Noty notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|NotyInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -16,8 +16,34 @@ if (!function_exists('noty')) {
|
||||
* When called with arguments, it creates a Noty notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Noty notification
|
||||
* @param "success"|"info"|"warning"|"error"|"alert"|"information" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* layout?: "top"|"topLeft"|"topCenter"|"topRight"|"center"|"centerLeft"|"centerRight"|"bottom"|"bottomLeft"|"bottomCenter"|"bottomRight",
|
||||
* theme?: "relax"|"mint"|"metroui",
|
||||
* timeout?: false|int,
|
||||
* progressBar?: bool,
|
||||
* closeWith?: string[],
|
||||
* animation?: array{
|
||||
* open?: string|null,
|
||||
* close?: string|null,
|
||||
* },
|
||||
* sounds?: array{
|
||||
* sources?: string[],
|
||||
* volume?: int,
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* docTitle?: array{
|
||||
* conditions?: string[],
|
||||
* },
|
||||
* modal?: bool,
|
||||
* id?: bool|string,
|
||||
* force?: bool,
|
||||
* queue?: string,
|
||||
* killer?: bool|string,
|
||||
* container?: false|string,
|
||||
* buttons?: string[],
|
||||
* visibilityControl?: bool,
|
||||
* } $options additional options for the Noty notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|NotyInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -6,6 +6,19 @@ namespace Flasher\Notyf\Prime;
|
||||
|
||||
use Flasher\Prime\Notification\NotificationBuilder;
|
||||
|
||||
/**
|
||||
* @phpstan-type NotificationType "success"|"info"|"warning"|"error"
|
||||
* @phpstan-type OptionsType array{
|
||||
* duration?: int,
|
||||
* ripple?: bool,
|
||||
* position?: array{
|
||||
* x: "left"|"center"|"right",
|
||||
* y: "top"|"center"|"bottom",
|
||||
* },
|
||||
* dismissible?: bool,
|
||||
* background?: string,
|
||||
* }
|
||||
*/
|
||||
final class NotyfBuilder extends NotificationBuilder
|
||||
{
|
||||
/**
|
||||
|
||||
@@ -17,8 +17,17 @@ if (!\function_exists('Flasher\Notyf\Prime\notyf')) {
|
||||
* When called with arguments, it creates a Notyf notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Notyf notification
|
||||
* @param "success"|"info"|"warning"|"error" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* duration?: int,
|
||||
* ripple?: bool,
|
||||
* position?: array{
|
||||
* x: "left"|"center"|"right",
|
||||
* y: "top"|"center"|"bottom",
|
||||
* },
|
||||
* dismissible?: bool,
|
||||
* background?: string,
|
||||
* } $options additional options for the Notyf notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|NotyfInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -16,8 +16,17 @@ if (!function_exists('notyf')) {
|
||||
* When called with arguments, it creates a Notyf notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Notyf notification
|
||||
* @param "success"|"info"|"warning"|"error" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* duration?: int,
|
||||
* ripple?: bool,
|
||||
* position?: array{
|
||||
* x: "left"|"center"|"right",
|
||||
* y: "top"|"center"|"bottom",
|
||||
* },
|
||||
* dismissible?: bool,
|
||||
* background?: string,
|
||||
* } $options additional options for the Notyf notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|NotyfInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -20,3 +20,4 @@ expectedReturnValues(\Flasher\Prime\Notification\NotificationInterface::getType(
|
||||
expectedArguments(\Flasher\Prime\Notification\NotificationBuilderInterface::handler(), 0, 'flasher', 'toastr', 'noty', 'notyf', 'sweetalert');
|
||||
|
||||
expectedArguments(\Flasher\Prime\FlasherInterface::render(), 0, 'html', 'json', 'array');
|
||||
expectedArguments(\Flasher\Prime\Notification\FlasherBuilder::option(), 0, 'timeout', 'timeouts', 'fps', 'position', 'direction', 'rtl', 'style', 'escapeHtml');
|
||||
|
||||
@@ -8,7 +8,7 @@ use Flasher\Prime\Factory\NotificationFactoryInterface;
|
||||
use Flasher\Prime\Response\Presenter\ArrayPresenter;
|
||||
|
||||
/**
|
||||
* @mixin \Flasher\Prime\Notification\FlasherBuilder
|
||||
* @mixin \Flasher\Prime\Notification\NotificationBuilder
|
||||
*
|
||||
* @phpstan-import-type ArrayPresenterType from ArrayPresenter
|
||||
*/
|
||||
|
||||
@@ -103,7 +103,10 @@ final class Envelope implements NotificationInterface
|
||||
*/
|
||||
public function get(string $type): ?StampInterface
|
||||
{
|
||||
return $this->stamps[$type] ?? null; // @phpstan-ignore-line
|
||||
/** @var T|null $stamp */
|
||||
$stamp = $this->stamps[$type] ?? null;
|
||||
|
||||
return $stamp;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -4,8 +4,90 @@ declare(strict_types=1);
|
||||
|
||||
namespace Flasher\Prime\Notification;
|
||||
|
||||
/**
|
||||
* @phpstan-type NotificationType "success"|"info"|"warning"|"error"
|
||||
* @phpstan-type OptionsType array{
|
||||
* timeout?: int,
|
||||
* timeouts?: array<string, int>,
|
||||
* fps?: int,
|
||||
* position?: "top-right"|"top-left"|"top-center"|"bottom-right"|"bottom-left"|"bottom-center",
|
||||
* direction?: "top"|"bottom",
|
||||
* rtl?: bool,
|
||||
* style?: array<string, mixed>,
|
||||
* escapeHtml?: bool,
|
||||
* }
|
||||
*/
|
||||
final class FlasherBuilder extends NotificationBuilder
|
||||
{
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
*/
|
||||
public function type(string $type): static
|
||||
{
|
||||
return parent::type($type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function success(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::success($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function error(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::error($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function info(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::info($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function warning(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::warning($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
* @phpstan-param OptionsType $options
|
||||
*/
|
||||
public function flash(?string $type = null, ?string $message = null, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::flash($type, $message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function options(array $options, bool $append = true): static
|
||||
{
|
||||
return parent::options($options, $append);
|
||||
}
|
||||
|
||||
/**
|
||||
* @template T of OptionsType
|
||||
* @template K of key-of<T>
|
||||
*
|
||||
* @phpstan-param K $name
|
||||
* @phpstan-param T[K] $value
|
||||
*/
|
||||
public function option(string $name, mixed $value): static
|
||||
{
|
||||
return parent::option($name, $value);
|
||||
}
|
||||
|
||||
public function timeout(int $milliseconds): self
|
||||
{
|
||||
$this->option('timeout', $milliseconds);
|
||||
@@ -13,6 +95,9 @@ final class FlasherBuilder extends NotificationBuilder
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "top"|"bottom" $direction
|
||||
*/
|
||||
public function direction(string $direction): self
|
||||
{
|
||||
$this->option('direction', $direction);
|
||||
@@ -20,6 +105,9 @@ final class FlasherBuilder extends NotificationBuilder
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-param OptionsType['position'] $position
|
||||
*/
|
||||
public function position(string $position): self
|
||||
{
|
||||
$this->option('position', $position);
|
||||
|
||||
@@ -7,8 +7,150 @@ namespace Flasher\SweetAlert\Prime;
|
||||
use Flasher\Prime\Notification\Envelope;
|
||||
use Flasher\Prime\Notification\NotificationBuilder;
|
||||
|
||||
/**
|
||||
* @phpstan-type NotificationType "success"|"info"|"warning"|"error"|"question"
|
||||
* @phpstan-type CustomClassType "container"|"popup"|"header"|"title"|"closeButton"|"icon"|"image"|"content"|"input"|"inputLabel"|"validationMessage"|"actions"|"confirmButton"|"denyButton"|"cancelButton"|"loader"|"footer"
|
||||
* @phpstan-type OptionsType array{
|
||||
* title?: string,
|
||||
* titleText?: string,
|
||||
* html?: string,
|
||||
* text?: string,
|
||||
* icon?: string,
|
||||
* iconColor?: string,
|
||||
* iconHtml?: string,
|
||||
* showClass?: mixed,
|
||||
* hideClass?: mixed,
|
||||
* footer?: string,
|
||||
* backdrop?: bool|string,
|
||||
* toast?: bool,
|
||||
* target?: string,
|
||||
* input?: "text"|"email"|"password"|"number"|"tel"|"range"|"textarea"|"search"|"url"|"select"|"radio"|"checkbox"|"file"|"date"|"datetime-local"|"time"|"week"|"month",
|
||||
* width?: string,
|
||||
* padding?: string,
|
||||
* background?: string,
|
||||
* position?: "top"|"top-start"|"top-end"|"center"|"center-start"|"center-end"|"bottom"|"bottom-start"|"bottom-end",
|
||||
* grow?: "column"|"fullscreen"|"row"|false,
|
||||
* customClass?: array<CustomClassType, string>,
|
||||
* timer?: int,
|
||||
* timerProgressBar?: bool,
|
||||
* heightAuto?: bool,
|
||||
* allowOutsideClick?: bool|string,
|
||||
* allowEscapeKey?: bool|string,
|
||||
* allowEnterKey?: bool|string,
|
||||
* stopKeydownPropagation?: bool,
|
||||
* keydownListenerCapture?: bool,
|
||||
* showConfirmButton?: bool,
|
||||
* showDenyButton?: bool,
|
||||
* showCancelButton?: bool,
|
||||
* confirmButtonText?: string,
|
||||
* denyButtonText?: string,
|
||||
* cancelButtonText?: string,
|
||||
* confirmButtonColor?: string,
|
||||
* denyButtonColor?: string,
|
||||
* cancelButtonColor?: string,
|
||||
* confirmButtonAriaLabel?: string,
|
||||
* denyButtonAriaLabel?: string,
|
||||
* cancelButtonAriaLabel?: string,
|
||||
* buttonsStyling?: bool,
|
||||
* reverseButtons?: bool,
|
||||
* focusConfirm?: bool,
|
||||
* focusDeny?: bool,
|
||||
* focusCancel?: bool,
|
||||
* showCloseButton?: bool,
|
||||
* closeButtonHtml?: string,
|
||||
* closeButtonAriaLabel?: string,
|
||||
* loaderHtml?: string,
|
||||
* showLoaderOnConfirm?: bool,
|
||||
* scrollbarPadding?: bool,
|
||||
* preConfirm?: bool|string,
|
||||
* preDeny?: string,
|
||||
* returnInputValueOnDeny?: bool,
|
||||
* animation?: bool,
|
||||
* imageUrl?: string,
|
||||
* imageWidth?: int,
|
||||
* imageHeight?: int,
|
||||
* imageAlt?: string,
|
||||
* inputLabel?: string,
|
||||
* inputPlaceholder?: string,
|
||||
* inputValue?: string,
|
||||
* inputOptions?: string,
|
||||
* inputAutoTrim?: bool,
|
||||
* inputAttributes?: string,
|
||||
* inputValidator?: string,
|
||||
* validationMessage?: string,
|
||||
* }
|
||||
*/
|
||||
final class SweetAlertBuilder extends NotificationBuilder
|
||||
{
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
*/
|
||||
public function type(string $type): static
|
||||
{
|
||||
return parent::type($type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function success(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::success($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function error(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::error($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function info(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::info($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function warning(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::warning($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
* @phpstan-param OptionsType $options
|
||||
*/
|
||||
public function flash(?string $type = null, ?string $message = null, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::flash($type, $message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function options(array $options, bool $append = true): static
|
||||
{
|
||||
return parent::options($options, $append);
|
||||
}
|
||||
|
||||
/**
|
||||
* @template T of OptionsType
|
||||
* @template K of key-of<T>
|
||||
*
|
||||
* @phpstan-param K $name
|
||||
* @phpstan-param T[K] $value
|
||||
*/
|
||||
public function option(string $name, mixed $value): static
|
||||
{
|
||||
return parent::option($name, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a question typed alert message.
|
||||
*
|
||||
@@ -190,7 +332,7 @@ final class SweetAlertBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "text"|"email"|"password"|"number"|"tel"|"range"|"textarea"|"search"|"url"|"select"|"radio"|"checkbox"|"file"|"date"|"datetime-local"|"time"|"week"|"month" $input
|
||||
* @phpstan-param OptionsType['input'] $input
|
||||
*
|
||||
* Input field type, can be text, email, password, number, tel, range, textarea, select, radio, checkbox, file and
|
||||
* url
|
||||
@@ -233,7 +375,7 @@ final class SweetAlertBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "top"|"top-start"|"top-end"|"center"|"center-start"|"center-end"|"bottom"|"bottom-start"|"bottom-end" $position
|
||||
* @phpstan-param OptionsType['position'] $position
|
||||
*
|
||||
* Popup window position, can be 'top', 'top-start', 'top-end', 'center', 'center-start', 'center-end', 'bottom',
|
||||
* 'bottom-start', or 'bottom-end'
|
||||
@@ -246,12 +388,12 @@ final class SweetAlertBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "row"|"column"|"fullscreen"|false $grow
|
||||
* @phpstan-param "column"|"fullscreen"|"row"|false $grow
|
||||
*
|
||||
* Paired with window position, sets the direction the popup should grow in, can be set to 'row', 'column',
|
||||
* 'fullscreen', or false
|
||||
*/
|
||||
public function grow(bool|string $grow): self
|
||||
public function grow(string|false $grow): self
|
||||
{
|
||||
$this->option('grow', $grow);
|
||||
|
||||
@@ -259,14 +401,15 @@ final class SweetAlertBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "container"|"popup"|"header"|"title"|"closeButton"|"icon"|"image"|"content"|"input"|"inputLabel"|"validationMessage"|"actions"|"confirmButton"|"denyButton"|"cancelButton"|"loader"|"footer" $customClass
|
||||
* @phpstan-param CustomClassType $customClass
|
||||
*
|
||||
* A custom CSS class for the popup
|
||||
*/
|
||||
public function customClass(string $customClass, string $value): self
|
||||
{
|
||||
/** @var OptionsType['customClass'] $option */
|
||||
$option = $this->getEnvelope()->getOption('customClass', []);
|
||||
$option[$customClass] = $value; // @phpstan-ignore-line
|
||||
$option[$customClass] = $value;
|
||||
|
||||
$this->option('customClass', $option);
|
||||
|
||||
|
||||
@@ -17,8 +17,76 @@ if (!\function_exists('Flasher\SweetAlert\Prime\sweetalert')) {
|
||||
* When called with arguments, it creates a Sweetalert notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Sweetalert notification
|
||||
* @param "success"|"info"|"warning"|"error"|"question" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* title?: string,
|
||||
* titleText?: string,
|
||||
* html?: string,
|
||||
* text?: string,
|
||||
* icon?: string,
|
||||
* iconColor?: string,
|
||||
* iconHtml?: string,
|
||||
* showClass?: mixed,
|
||||
* hideClass?: mixed,
|
||||
* footer?: string,
|
||||
* backdrop?: bool|string,
|
||||
* toast?: bool,
|
||||
* target?: string,
|
||||
* input?: "text"|"email"|"password"|"number"|"tel"|"range"|"textarea"|"search"|"url"|"select"|"radio"|"checkbox"|"file"|"date"|"datetime-local"|"time"|"week"|"month",
|
||||
* width?: string,
|
||||
* padding?: string,
|
||||
* background?: string,
|
||||
* position?: "top"|"top-start"|"top-end"|"center"|"center-start"|"center-end"|"bottom"|"bottom-start"|"bottom-end",
|
||||
* grow?: "column"|"fullscreen"|"row"|false,
|
||||
* customClass?: array<"container"|"popup"|"header"|"title"|"closeButton"|"icon"|"image"|"content"|"input"|"inputLabel"|"validationMessage"|"actions"|"confirmButton"|"denyButton"|"cancelButton"|"loader"|"footer", string>,
|
||||
* timer?: int,
|
||||
* timerProgressBar?: bool,
|
||||
* heightAuto?: bool,
|
||||
* allowOutsideClick?: bool|string,
|
||||
* allowEscapeKey?: bool|string,
|
||||
* allowEnterKey?: bool|string,
|
||||
* stopKeydownPropagation?: bool,
|
||||
* keydownListenerCapture?: bool,
|
||||
* showConfirmButton?: bool,
|
||||
* showDenyButton?: bool,
|
||||
* showCancelButton?: bool,
|
||||
* confirmButtonText?: string,
|
||||
* denyButtonText?: string,
|
||||
* cancelButtonText?: string,
|
||||
* confirmButtonColor?: string,
|
||||
* denyButtonColor?: string,
|
||||
* cancelButtonColor?: string,
|
||||
* confirmButtonAriaLabel?: string,
|
||||
* denyButtonAriaLabel?: string,
|
||||
* cancelButtonAriaLabel?: string,
|
||||
* buttonsStyling?: bool,
|
||||
* reverseButtons?: bool,
|
||||
* focusConfirm?: bool,
|
||||
* focusDeny?: bool,
|
||||
* focusCancel?: bool,
|
||||
* showCloseButton?: bool,
|
||||
* closeButtonHtml?: string,
|
||||
* closeButtonAriaLabel?: string,
|
||||
* loaderHtml?: string,
|
||||
* showLoaderOnConfirm?: bool,
|
||||
* scrollbarPadding?: bool,
|
||||
* preConfirm?: bool|string,
|
||||
* preDeny?: string,
|
||||
* returnInputValueOnDeny?: bool,
|
||||
* animation?: bool,
|
||||
* imageUrl?: string,
|
||||
* imageWidth?: int,
|
||||
* imageHeight?: int,
|
||||
* imageAlt?: string,
|
||||
* inputLabel?: string,
|
||||
* inputPlaceholder?: string,
|
||||
* inputValue?: string,
|
||||
* inputOptions?: string,
|
||||
* inputAutoTrim?: bool,
|
||||
* inputAttributes?: string,
|
||||
* inputValidator?: string,
|
||||
* validationMessage?: string,
|
||||
* } $options additional options for the Sweetalert notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|SweetAlertInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -15,10 +15,78 @@ if (!function_exists('sweetalert')) {
|
||||
* When called with no arguments, it returns an instance of SweetAlertInterface.
|
||||
* When called with arguments, it creates a Sweetalert notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Sweetalert notification
|
||||
* @param string|null $title the title of the notification
|
||||
* @phpstan-param string|null $message the message content of the notification
|
||||
* @phpstan-param "success"|"info"|"warning"|"error"|"question" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @phpstan-param array{
|
||||
* title?: string,
|
||||
* titleText?: string,
|
||||
* html?: string,
|
||||
* text?: string,
|
||||
* icon?: string,
|
||||
* iconColor?: string,
|
||||
* iconHtml?: string,
|
||||
* showClass?: mixed,
|
||||
* hideClass?: mixed,
|
||||
* footer?: string,
|
||||
* backdrop?: bool|string,
|
||||
* toast?: bool,
|
||||
* target?: string,
|
||||
* input?: "text"|"email"|"password"|"number"|"tel"|"range"|"textarea"|"search"|"url"|"select"|"radio"|"checkbox"|"file"|"date"|"datetime-local"|"time"|"week"|"month",
|
||||
* width?: string,
|
||||
* padding?: string,
|
||||
* background?: string,
|
||||
* position?: "top"|"top-start"|"top-end"|"center"|"center-start"|"center-end"|"bottom"|"bottom-start"|"bottom-end",
|
||||
* grow?: "column"|"fullscreen"|"row"|false,
|
||||
* customClass?: array<"container"|"popup"|"header"|"title"|"closeButton"|"icon"|"image"|"content"|"input"|"inputLabel"|"validationMessage"|"actions"|"confirmButton"|"denyButton"|"cancelButton"|"loader"|"footer", string>,
|
||||
* timer?: int,
|
||||
* timerProgressBar?: bool,
|
||||
* heightAuto?: bool,
|
||||
* allowOutsideClick?: bool|string,
|
||||
* allowEscapeKey?: bool|string,
|
||||
* allowEnterKey?: bool|string,
|
||||
* stopKeydownPropagation?: bool,
|
||||
* keydownListenerCapture?: bool,
|
||||
* showConfirmButton?: bool,
|
||||
* showDenyButton?: bool,
|
||||
* showCancelButton?: bool,
|
||||
* confirmButtonText?: string,
|
||||
* denyButtonText?: string,
|
||||
* cancelButtonText?: string,
|
||||
* confirmButtonColor?: string,
|
||||
* denyButtonColor?: string,
|
||||
* cancelButtonColor?: string,
|
||||
* confirmButtonAriaLabel?: string,
|
||||
* denyButtonAriaLabel?: string,
|
||||
* cancelButtonAriaLabel?: string,
|
||||
* buttonsStyling?: bool,
|
||||
* reverseButtons?: bool,
|
||||
* focusConfirm?: bool,
|
||||
* focusDeny?: bool,
|
||||
* focusCancel?: bool,
|
||||
* showCloseButton?: bool,
|
||||
* closeButtonHtml?: string,
|
||||
* closeButtonAriaLabel?: string,
|
||||
* loaderHtml?: string,
|
||||
* showLoaderOnConfirm?: bool,
|
||||
* scrollbarPadding?: bool,
|
||||
* preConfirm?: bool|string,
|
||||
* preDeny?: string,
|
||||
* returnInputValueOnDeny?: bool,
|
||||
* animation?: bool,
|
||||
* imageUrl?: string,
|
||||
* imageWidth?: int,
|
||||
* imageHeight?: int,
|
||||
* imageAlt?: string,
|
||||
* inputLabel?: string,
|
||||
* inputPlaceholder?: string,
|
||||
* inputValue?: string,
|
||||
* inputOptions?: string,
|
||||
* inputAutoTrim?: bool,
|
||||
* inputAttributes?: string,
|
||||
* inputValidator?: string,
|
||||
* validationMessage?: string,
|
||||
* } $options additional options for the Sweetalert notification
|
||||
* @phpstan-param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|SweetAlertInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
* Returns an instance of SweetAlertInterface when no arguments are provided.
|
||||
|
||||
@@ -4,10 +4,117 @@ declare(strict_types=1);
|
||||
|
||||
namespace Flasher\Toastr\Prime;
|
||||
|
||||
use Flasher\Prime\Notification\Envelope;
|
||||
use Flasher\Prime\Notification\NotificationBuilder;
|
||||
|
||||
/**
|
||||
* @phpstan-type NotificationType "success"|"info"|"warning"|"error"
|
||||
* @phpstan-type OptionsType array{
|
||||
* closeButton?: bool,
|
||||
* closeClass?: string,
|
||||
* closeDuration?: int,
|
||||
* closeEasing?: string,
|
||||
* closeHtml?: string,
|
||||
* closeMethod?: string,
|
||||
* closeOnHover?: bool,
|
||||
* containerId?: string,
|
||||
* debug?: bool,
|
||||
* escapeHtml?: bool,
|
||||
* extendedTimeOut?: int,
|
||||
* hideDuration?: int,
|
||||
* hideEasing?: string,
|
||||
* hideMethod?: string,
|
||||
* iconClass?: string,
|
||||
* messageClass?: string,
|
||||
* newestOnTop?: bool,
|
||||
* onHidden?: string,
|
||||
* onShown?: string,
|
||||
* positionClass?: "toast-top-right"|"toast-top-center"|"toast-bottom-center"|"toast-top-full-width"|"toast-bottom-full-width"|"toast-top-left"|"toast-bottom-right"|"toast-bottom-left",
|
||||
* preventDuplicates?: bool,
|
||||
* progressBar?: bool,
|
||||
* progressClass?: string,
|
||||
* rtl?: bool,
|
||||
* showDuration?: int,
|
||||
* showEasing?: string,
|
||||
* showMethod?: string,
|
||||
* tapToDismiss?: bool,
|
||||
* target?: string,
|
||||
* timeOut?: int,
|
||||
* titleClass?: string,
|
||||
* toastClass?: string,
|
||||
* }
|
||||
*/
|
||||
final class ToastrBuilder extends NotificationBuilder
|
||||
{
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
*/
|
||||
public function type(string $type): static
|
||||
{
|
||||
return parent::type($type);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function success(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::success($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function error(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::error($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function info(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::info($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function warning(string $message, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::warning($message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @phpstan-param NotificationType $type
|
||||
* @phpstan-param OptionsType $options
|
||||
*/
|
||||
public function flash(?string $type = null, ?string $message = null, array $options = [], ?string $title = null): Envelope
|
||||
{
|
||||
return parent::flash($type, $message, $options, $title);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param OptionsType $options
|
||||
*/
|
||||
public function options(array $options, bool $append = true): static
|
||||
{
|
||||
return parent::options($options, $append);
|
||||
}
|
||||
|
||||
/**
|
||||
* @template T of OptionsType
|
||||
* @template K of key-of<T>
|
||||
*
|
||||
* @phpstan-param K $name
|
||||
* @phpstan-param T[K] $value
|
||||
*/
|
||||
public function option(string $name, mixed $value): static
|
||||
{
|
||||
return parent::option($name, $value);
|
||||
}
|
||||
|
||||
/**
|
||||
* Enable a close button.
|
||||
*/
|
||||
@@ -170,7 +277,7 @@ final class ToastrBuilder extends NotificationBuilder
|
||||
}
|
||||
|
||||
/**
|
||||
* @param "toast-top-right"|"toast-top-center"|"toast-bottom-center"|"toast-top-full-width"|"toast-bottom-full-width"|"toast-top-left"|"toast-bottom-right"|"toast-bottom-left" $positionClass
|
||||
* @phpstan-param OptionsType['positionClass'] $positionClass
|
||||
*/
|
||||
public function positionClass(string $positionClass): self
|
||||
{
|
||||
|
||||
@@ -17,8 +17,41 @@ if (!\function_exists('Flasher\Toastr\Prime\toastr')) {
|
||||
* When called with arguments, it creates a Toastr notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Toastr notification
|
||||
* @param "success"|"info"|"warning"|"error" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* closeButton?: bool,
|
||||
* closeClass?: string,
|
||||
* closeDuration?: int,
|
||||
* closeEasing?: string,
|
||||
* closeHtml?: string,
|
||||
* closeMethod?: string,
|
||||
* closeOnHover?: bool,
|
||||
* containerId?: string,
|
||||
* debug?: bool,
|
||||
* escapeHtml?: bool,
|
||||
* extendedTimeOut?: int,
|
||||
* hideDuration?: int,
|
||||
* hideEasing?: string,
|
||||
* hideMethod?: string,
|
||||
* iconClass?: string,
|
||||
* messageClass?: string,
|
||||
* newestOnTop?: bool,
|
||||
* onHidden?: string,
|
||||
* onShown?: string,
|
||||
* positionClass?: "toast-top-right"|"toast-top-center"|"toast-bottom-center"|"toast-top-full-width"|"toast-bottom-full-width"|"toast-top-left"|"toast-bottom-right"|"toast-bottom-left",
|
||||
* preventDuplicates?: bool,
|
||||
* progressBar?: bool,
|
||||
* progressClass?: string,
|
||||
* rtl?: bool,
|
||||
* showDuration?: int,
|
||||
* showEasing?: string,
|
||||
* showMethod?: string,
|
||||
* tapToDismiss?: bool,
|
||||
* target?: string,
|
||||
* timeOut?: int,
|
||||
* titleClass?: string,
|
||||
* toastClass?: string,
|
||||
* } $options additional options for the Toastr notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|ToastrInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -16,8 +16,41 @@ if (!function_exists('toastr')) {
|
||||
* When called with arguments, it creates a Toastr notification and returns an Envelope.
|
||||
*
|
||||
* @param string|null $message the message content of the notification
|
||||
* @param string $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array<string, mixed> $options additional options for the Toastr notification
|
||||
* @param "success"|"info"|"warning"|"error" $type The type of the notification (e.g., success, error, warning, info).
|
||||
* @param array{
|
||||
* closeButton?: bool,
|
||||
* closeClass?: string,
|
||||
* closeDuration?: int,
|
||||
* closeEasing?: string,
|
||||
* closeHtml?: string,
|
||||
* closeMethod?: string,
|
||||
* closeOnHover?: bool,
|
||||
* containerId?: string,
|
||||
* debug?: bool,
|
||||
* escapeHtml?: bool,
|
||||
* extendedTimeOut?: int,
|
||||
* hideDuration?: int,
|
||||
* hideEasing?: string,
|
||||
* hideMethod?: string,
|
||||
* iconClass?: string,
|
||||
* messageClass?: string,
|
||||
* newestOnTop?: bool,
|
||||
* onHidden?: string,
|
||||
* onShown?: string,
|
||||
* positionClass?: "toast-top-right"|"toast-top-center"|"toast-bottom-center"|"toast-top-full-width"|"toast-bottom-full-width"|"toast-top-left"|"toast-bottom-right"|"toast-bottom-left",
|
||||
* preventDuplicates?: bool,
|
||||
* progressBar?: bool,
|
||||
* progressClass?: string,
|
||||
* rtl?: bool,
|
||||
* showDuration?: int,
|
||||
* showEasing?: string,
|
||||
* showMethod?: string,
|
||||
* tapToDismiss?: bool,
|
||||
* target?: string,
|
||||
* timeOut?: int,
|
||||
* titleClass?: string,
|
||||
* toastClass?: string,
|
||||
* } $options additional options for the Toastr notification
|
||||
* @param string|null $title the title of the notification
|
||||
*
|
||||
* @return Envelope|ToastrInterface Returns an Envelope containing the notification details when arguments are provided.
|
||||
|
||||
@@ -99,17 +99,17 @@ final class NotyBuilderTest extends TestCase
|
||||
$envelope = $this->notyBuilder->getEnvelope();
|
||||
$options = $envelope->getNotification()->getOptions();
|
||||
|
||||
$this->assertSame(['animation.open' => 'fadeIn'], $options);
|
||||
$this->assertSame(['animation' => ['open' => 'fadeIn']], $options);
|
||||
}
|
||||
|
||||
public function testSounds(): void
|
||||
{
|
||||
$this->notyBuilder->sounds('sources', 'sound.mp3');
|
||||
$this->notyBuilder->sounds('sources', ['sound.mp3']);
|
||||
|
||||
$envelope = $this->notyBuilder->getEnvelope();
|
||||
$options = $envelope->getNotification()->getOptions();
|
||||
|
||||
$this->assertSame(['sounds.sources' => 'sound.mp3'], $options);
|
||||
$this->assertSame(['sounds' => ['sources' => ['sound.mp3']]], $options);
|
||||
}
|
||||
|
||||
public function testDocTitle(): void
|
||||
@@ -119,7 +119,7 @@ final class NotyBuilderTest extends TestCase
|
||||
$envelope = $this->notyBuilder->getEnvelope();
|
||||
$options = $envelope->getNotification()->getOptions();
|
||||
|
||||
$this->assertSame(['docTitleSuccess' => 'Title Changed'], $options);
|
||||
$this->assertSame(['docTitle' => ['Success' => 'Title Changed']], $options);
|
||||
}
|
||||
|
||||
public function testModal(): void
|
||||
|
||||
Reference in New Issue
Block a user