From 9133920fd240d1f95f36724f2a751ee381222b86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 24 Jan 2023 18:40:21 +0100 Subject: [PATCH 01/11] fix requirement --- composer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/composer.json b/composer.json index 30b0d5b..120c7c6 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "fykosak/nette-frontend-component", "require": { "php": ">=7.4", - "fykosak/nette-fks-utils": "dev-master#4054d9ff", + "fykosak/nette-fks-utils": "dev-master#a4a8bbb", "nette/application": "^v3.1.0", "nette/forms": "^3.1.0" }, From 354c39b70971ed01e488e1ac38e6f58cd26fd84b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 24 Jan 2023 18:42:53 +0100 Subject: [PATCH 02/11] lock --- composer.lock | 274 +++++++++++++++++++++++++------------------------- 1 file changed, 136 insertions(+), 138 deletions(-) diff --git a/composer.lock b/composer.lock index df83fb7..f3c7bb9 100644 --- a/composer.lock +++ b/composer.lock @@ -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": "78537ff33653caec783ea718bb47e9bc", + "content-hash": "30258290ce6c99b4b66e175f1b9317d5", "packages": [ { "name": "fykosak/nette-fks-utils", @@ -12,12 +12,12 @@ "source": { "type": "git", "url": "https://github.com/fykosak/nette-fks-utils.git", - "reference": "4054d9ff" + "reference": "a4a8bbb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fykosak/nette-fks-utils/zipball/4054d9ff", - "reference": "4054d9ff", + "url": "https://api.github.com/repos/fykosak/nette-fks-utils/zipball/a4a8bbb", + "reference": "a4a8bbb", "shasum": "" }, "require": { @@ -30,11 +30,11 @@ "nette/forms": "^v3.1.0", "nette/http": "^v3.1.0", "nette/utils": "^v3.2.0", - "php": "7.4.* | 8.0.* | 8.1.* " + "php": "8.1.*" }, "require-dev": { "nette/tester": "^v2.4.0", - "squizlabs/php_codesniffer": "3.6.0" + "squizlabs/php_codesniffer": "3.7.1" }, "default-branch": true, "type": "library", @@ -56,37 +56,37 @@ ], "support": { "issues": "https://github.com/fykosak/nette-fks-utils/issues", - "source": "https://github.com/fykosak/nette-fks-utils/tree/v0.1.0-RC2" + "source": "https://github.com/fykosak/nette-fks-utils/tree/v0.2.0" }, - "time": "2022-01-11T17:04:47+00:00" + "time": "2022-11-03T16:16:46+00:00" }, { "name": "latte/latte", - "version": "v2.11.0", + "version": "v2.11.6", "source": { "type": "git", "url": "https://github.com/nette/latte.git", - "reference": "a815687bfadaf3af51ae99f92edb4ea310c43426" + "reference": "af4dbb23a6044b1cf4904830a9b00246318c93d4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/latte/zipball/a815687bfadaf3af51ae99f92edb4ea310c43426", - "reference": "a815687bfadaf3af51ae99f92edb4ea310c43426", + "url": "https://api.github.com/repos/nette/latte/zipball/af4dbb23a6044b1cf4904830a9b00246318c93d4", + "reference": "af4dbb23a6044b1cf4904830a9b00246318c93d4", "shasum": "" }, "require": { "ext-json": "*", "ext-tokenizer": "*", - "php": ">=7.1 <8.2" + "php": ">=7.1 <8.3" }, "conflict": { "nette/application": "<2.4.1" }, "require-dev": { "nette/php-generator": "^3.3.4", - "nette/tester": "~2.0", + "nette/tester": "^2.0", "nette/utils": "^3.0", - "phpstan/phpstan": "^0.12", + "phpstan/phpstan": "^1", "tracy/tracy": "^2.3" }, "suggest": { @@ -140,33 +140,33 @@ ], "support": { "issues": "https://github.com/nette/latte/issues", - "source": "https://github.com/nette/latte/tree/v2.11.0" + "source": "https://github.com/nette/latte/tree/v2.11.6" }, - "time": "2022-02-22T18:39:58+00:00" + "time": "2022-11-04T14:53:52+00:00" }, { "name": "nette/application", - "version": "v3.1.5", + "version": "v3.1.10", "source": { "type": "git", "url": "https://github.com/nette/application.git", - "reference": "fa5da6a90ff71724353568894a4839aec627eae3" + "reference": "9c31b24407623437c1e1345cc2bd4e210b290135" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/application/zipball/fa5da6a90ff71724353568894a4839aec627eae3", - "reference": "fa5da6a90ff71724353568894a4839aec627eae3", + "url": "https://api.github.com/repos/nette/application/zipball/9c31b24407623437c1e1345cc2bd4e210b290135", + "reference": "9c31b24407623437c1e1345cc2bd4e210b290135", "shasum": "" }, "require": { "nette/component-model": "^3.0", "nette/http": "^3.0.2", "nette/routing": "^3.0.2", - "nette/utils": "^3.2.1", + "nette/utils": "^3.2.1 || ~4.0.0", "php": ">=7.2" }, "conflict": { - "latte/latte": "<2.7.1 || >=3.0", + "latte/latte": "<2.7.1 || >=3.0.0 <3.0.5 || >=3.1", "nette/caching": "<3.1", "nette/di": "<3.0.7", "nette/forms": "<3.0", @@ -174,7 +174,8 @@ "tracy/tracy": "<2.5" }, "require-dev": { - "latte/latte": "^2.10.2", + "jetbrains/phpstorm-attributes": "dev-master", + "latte/latte": "^2.10.2 || ^3.0.3", "mockery/mockery": "^1.0", "nette/di": "^v3.0", "nette/forms": "^3.0", @@ -231,26 +232,26 @@ ], "support": { "issues": "https://github.com/nette/application/issues", - "source": "https://github.com/nette/application/tree/v3.1.5" + "source": "https://github.com/nette/application/tree/v3.1.10" }, - "time": "2021-12-20T12:24:49+00:00" + "time": "2023-01-17T13:52:03+00:00" }, { "name": "nette/component-model", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/nette/component-model.git", - "reference": "20a39df12009029c7e425bc5e0439ee4ab5304af" + "reference": "9d97c0e1916bbf8e306283ab187834501fd4b1f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/component-model/zipball/20a39df12009029c7e425bc5e0439ee4ab5304af", - "reference": "20a39df12009029c7e425bc5e0439ee4ab5304af", + "url": "https://api.github.com/repos/nette/component-model/zipball/9d97c0e1916bbf8e306283ab187834501fd4b1f5", + "reference": "9d97c0e1916bbf8e306283ab187834501fd4b1f5", "shasum": "" }, "require": { - "nette/utils": "^2.5 || ^3.0", + "nette/utils": "^2.5 || ^3.0 || ~4.0.0", "php": ">=7.1" }, "require-dev": { @@ -293,45 +294,42 @@ ], "support": { "issues": "https://github.com/nette/component-model/issues", - "source": "https://github.com/nette/component-model/tree/v3.0.2" + "source": "https://github.com/nette/component-model/tree/v3.0.3" }, - "time": "2021-08-25T14:52:12+00:00" + "time": "2023-01-09T20:16:05+00:00" }, { "name": "nette/di", - "version": "v3.0.12", + "version": "v3.1.1", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "11c236b9f7bbfc5a95e7b24742ad8847936feeb5" + "reference": "4799ee684453bf5e70df1e87bec80bfbfc0e7d13" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/11c236b9f7bbfc5a95e7b24742ad8847936feeb5", - "reference": "11c236b9f7bbfc5a95e7b24742ad8847936feeb5", + "url": "https://api.github.com/repos/nette/di/zipball/4799ee684453bf5e70df1e87bec80bfbfc0e7d13", + "reference": "4799ee684453bf5e70df1e87bec80bfbfc0e7d13", "shasum": "" }, "require": { "ext-tokenizer": "*", - "nette/neon": "^3.3", - "nette/php-generator": "^3.5.4", - "nette/robot-loader": "^3.2", - "nette/schema": "^1.1", - "nette/utils": "^3.1.6", - "php": ">=7.1 <8.2" - }, - "conflict": { - "nette/bootstrap": "<3.0" + "nette/neon": "^3.3 || ^4.0", + "nette/php-generator": "^3.5.4 || ^4.0", + "nette/robot-loader": "^3.2 || ~4.0.0", + "nette/schema": "^1.2", + "nette/utils": "^3.2.5 || ~4.0.0", + "php": ">=7.2 <8.3" }, "require-dev": { - "nette/tester": "^2.2", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -368,22 +366,22 @@ ], "support": { "issues": "https://github.com/nette/di/issues", - "source": "https://github.com/nette/di/tree/v3.0.12" + "source": "https://github.com/nette/di/tree/v3.1.1" }, - "time": "2021-12-15T21:05:11+00:00" + "time": "2023-01-16T03:38:02+00:00" }, { "name": "nette/finder", - "version": "v2.5.3", + "version": "v2.6.0", "source": { "type": "git", "url": "https://github.com/nette/finder.git", - "reference": "64dc25b7929b731e72a1bc84a9e57727f5d5d3e8" + "reference": "991aefb42860abeab8e003970c3809a9d83cb932" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/64dc25b7929b731e72a1bc84a9e57727f5d5d3e8", - "reference": "64dc25b7929b731e72a1bc84a9e57727f5d5d3e8", + "url": "https://api.github.com/repos/nette/finder/zipball/991aefb42860abeab8e003970c3809a9d83cb932", + "reference": "991aefb42860abeab8e003970c3809a9d83cb932", "shasum": "" }, "require": { @@ -401,7 +399,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.5-dev" + "dev-master": "2.6-dev" } }, "autoload": { @@ -435,41 +433,40 @@ ], "support": { "issues": "https://github.com/nette/finder/issues", - "source": "https://github.com/nette/finder/tree/v2.5.3" + "source": "https://github.com/nette/finder/tree/v2.6.0" }, - "time": "2021-12-12T17:43:24+00:00" + "time": "2022-10-13T01:31:15+00:00" }, { "name": "nette/forms", - "version": "v3.1.6", + "version": "v3.1.10", "source": { "type": "git", "url": "https://github.com/nette/forms.git", - "reference": "4ed52434b61d7e532cb3bc77b048717703b91b0b" + "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/forms/zipball/4ed52434b61d7e532cb3bc77b048717703b91b0b", - "reference": "4ed52434b61d7e532cb3bc77b048717703b91b0b", + "url": "https://api.github.com/repos/nette/forms/zipball/12b4c12e9d65a4c97e10a37cee88fdd14db780b7", + "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7", "shasum": "" }, "require": { "nette/component-model": "^3.0", "nette/http": "^3.1", - "nette/utils": "^3.2.1", - "php": ">=7.2 <8.2" + "nette/utils": "^3.2.5 || ~4.0.0", + "php": ">=7.2 <8.3" }, "conflict": { - "latte/latte": ">=3.0", - "nette/di": "<3.0-stable" + "latte/latte": ">=3.1" }, "require-dev": { - "latte/latte": "^2.10.2", + "latte/latte": "^2.10.2 || ^3.0.3", "nette/application": "^3.0", "nette/di": "^3.0", - "nette/tester": "^2.0", - "phpstan/phpstan-nette": "^0.12", - "tracy/tracy": "^2.4" + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { @@ -510,27 +507,27 @@ ], "support": { "issues": "https://github.com/nette/forms/issues", - "source": "https://github.com/nette/forms/tree/v3.1.6" + "source": "https://github.com/nette/forms/tree/v3.1.10" }, - "time": "2021-11-09T11:56:09+00:00" + "time": "2023-01-19T14:37:56+00:00" }, { "name": "nette/http", - "version": "v3.1.5", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/nette/http.git", - "reference": "8146c2f2a262691a7139f9c56007961dcc5c1f42" + "reference": "0e16cd4f911665679b96bf569318a0dc7f087eda" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/http/zipball/8146c2f2a262691a7139f9c56007961dcc5c1f42", - "reference": "8146c2f2a262691a7139f9c56007961dcc5c1f42", + "url": "https://api.github.com/repos/nette/http/zipball/0e16cd4f911665679b96bf569318a0dc7f087eda", + "reference": "0e16cd4f911665679b96bf569318a0dc7f087eda", "shasum": "" }, "require": { - "nette/utils": "^3.1", - "php": ">=7.2 <8.2" + "nette/utils": "^3.2.1 || ~4.0.0", + "php": ">=7.2 <8.3" }, "conflict": { "nette/di": "<3.0.3", @@ -539,9 +536,9 @@ "require-dev": { "nette/di": "^3.0", "nette/security": "^3.0", - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.4" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.8" }, "suggest": { "ext-fileinfo": "to detect type of uploaded files" @@ -549,7 +546,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -588,31 +585,31 @@ ], "support": { "issues": "https://github.com/nette/http/issues", - "source": "https://github.com/nette/http/tree/v3.1.5" + "source": "https://github.com/nette/http/tree/v3.2.1" }, - "time": "2021-11-29T18:56:42+00:00" + "time": "2022-12-05T00:03:40+00:00" }, { "name": "nette/neon", - "version": "v3.3.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/nette/neon.git", - "reference": "54b287d8c2cdbe577b02e28ca1713e275b05ece2" + "reference": "372d945c156ee7f35c953339fb164538339e6283" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/54b287d8c2cdbe577b02e28ca1713e275b05ece2", - "reference": "54b287d8c2cdbe577b02e28ca1713e275b05ece2", + "url": "https://api.github.com/repos/nette/neon/zipball/372d945c156ee7f35c953339fb164538339e6283", + "reference": "372d945c156ee7f35c953339fb164538339e6283", "shasum": "" }, "require": { "ext-json": "*", - "php": ">=7.1" + "php": ">=8.0 <8.3" }, "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.7" }, "bin": [ @@ -621,7 +618,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.3-dev" + "dev-master": "3.4-dev" } }, "autoload": { @@ -656,41 +653,41 @@ ], "support": { "issues": "https://github.com/nette/neon/issues", - "source": "https://github.com/nette/neon/tree/v3.3.2" + "source": "https://github.com/nette/neon/tree/v3.4.0" }, - "time": "2021-11-25T15:57:41+00:00" + "time": "2023-01-13T03:08:29+00:00" }, { "name": "nette/php-generator", - "version": "v3.6.6", + "version": "v4.0.5", "source": { "type": "git", "url": "https://github.com/nette/php-generator.git", - "reference": "ad7d0a77f58260001bd263605eb2b9fbaf1d61a7" + "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/ad7d0a77f58260001bd263605eb2b9fbaf1d61a7", - "reference": "ad7d0a77f58260001bd263605eb2b9fbaf1d61a7", + "url": "https://api.github.com/repos/nette/php-generator/zipball/a8d6abeae5d8c7202cd69600e086a7a72877fc86", + "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86", "shasum": "" }, "require": { - "nette/utils": "^3.1.2", - "php": ">=7.2 <8.2" + "nette/utils": "^3.2.7 || ^4.0", + "php": ">=8.0 <8.3" }, "require-dev": { "nette/tester": "^2.4", - "nikic/php-parser": "^4.13", - "phpstan/phpstan": "^0.12", + "nikic/php-parser": "^4.15", + "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.8" }, "suggest": { - "nikic/php-parser": "to use ClassType::withBodiesFrom() & GlobalFunction::withBodyFrom()" + "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.6-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -714,7 +711,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.1 features.", + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.2 features.", "homepage": "https://nette.org", "keywords": [ "code", @@ -724,22 +721,22 @@ ], "support": { "issues": "https://github.com/nette/php-generator/issues", - "source": "https://github.com/nette/php-generator/tree/v3.6.6" + "source": "https://github.com/nette/php-generator/tree/v4.0.5" }, - "time": "2022-02-20T18:06:09+00:00" + "time": "2022-11-02T20:37:46+00:00" }, { "name": "nette/robot-loader", - "version": "v3.4.1", + "version": "v3.4.2", "source": { "type": "git", "url": "https://github.com/nette/robot-loader.git", - "reference": "e2adc334cb958164c050f485d99c44c430f51fe2" + "reference": "970c8f82be98ec54180c88a468cd2b057855d993" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/e2adc334cb958164c050f485d99c44c430f51fe2", - "reference": "e2adc334cb958164c050f485d99c44c430f51fe2", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/970c8f82be98ec54180c88a468cd2b057855d993", + "reference": "970c8f82be98ec54180c88a468cd2b057855d993", "shasum": "" }, "require": { @@ -791,32 +788,32 @@ ], "support": { "issues": "https://github.com/nette/robot-loader/issues", - "source": "https://github.com/nette/robot-loader/tree/v3.4.1" + "source": "https://github.com/nette/robot-loader/tree/v3.4.2" }, - "time": "2021-08-25T15:53:54+00:00" + "time": "2022-12-14T15:41:06+00:00" }, { "name": "nette/routing", - "version": "v3.0.2", + "version": "v3.0.4", "source": { "type": "git", "url": "https://github.com/nette/routing.git", - "reference": "5532e7e3612e13def357f089c1a5c25793a16843" + "reference": "eaefe6375303799366f3e43977daaf33f5f89b95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/routing/zipball/5532e7e3612e13def357f089c1a5c25793a16843", - "reference": "5532e7e3612e13def357f089c1a5c25793a16843", + "url": "https://api.github.com/repos/nette/routing/zipball/eaefe6375303799366f3e43977daaf33f5f89b95", + "reference": "eaefe6375303799366f3e43977daaf33f5f89b95", "shasum": "" }, "require": { - "nette/http": "^3.0", - "nette/utils": "^3.0", + "nette/http": "^3.0 || ~4.0.0", + "nette/utils": "^3.0 || ~4.0.0", "php": ">=7.1" }, "require-dev": { "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", + "phpstan/phpstan": "^1", "tracy/tracy": "^2.3" }, "type": "library", @@ -853,31 +850,31 @@ ], "support": { "issues": "https://github.com/nette/routing/issues", - "source": "https://github.com/nette/routing/tree/v3.0.2" + "source": "https://github.com/nette/routing/tree/v3.0.4" }, - "time": "2021-02-06T04:08:30+00:00" + "time": "2023-01-18T04:58:41+00:00" }, { "name": "nette/schema", - "version": "v1.2.2", + "version": "v1.2.3", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.2" + "php": ">=7.1 <8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^0.12", + "phpstan/phpstan-nette": "^1.0", "tracy/tracy": "^2.7" }, "type": "library", @@ -915,31 +912,32 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.2" + "source": "https://github.com/nette/schema/tree/v1.2.3" }, - "time": "2021-10-15T11:40:02+00:00" + "time": "2022-10-13T01:24:26+00:00" }, { "name": "nette/utils", - "version": "v3.2.7", + "version": "v3.2.9", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99" + "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99", + "url": "https://api.github.com/repos/nette/utils/zipball/c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", + "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", "shasum": "" }, "require": { - "php": ">=7.2 <8.2" + "php": ">=7.2 <8.3" }, "conflict": { "nette/di": "<3.0.6" }, "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", "nette/tester": "~2.0", "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.3" @@ -1000,9 +998,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.7" + "source": "https://github.com/nette/utils/tree/v3.2.9" }, - "time": "2022-01-24T11:29:14+00:00" + "time": "2023-01-18T03:26:20+00:00" } ], "packages-dev": [], From 83922c6d0aa990c67a9890b32697793e8325a051 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 24 Jan 2023 18:44:58 +0100 Subject: [PATCH 03/11] lock #2 --- composer.json | 2 +- composer.lock | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/composer.json b/composer.json index 120c7c6..7e350e3 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "fykosak/nette-frontend-component", "require": { "php": ">=7.4", - "fykosak/nette-fks-utils": "dev-master#a4a8bbb", + "fykosak/nette-fks-utils": "dev-dev-context-translator#a4a8bbb", "nette/application": "^v3.1.0", "nette/forms": "^3.1.0" }, diff --git a/composer.lock b/composer.lock index f3c7bb9..33b3ed3 100644 --- a/composer.lock +++ b/composer.lock @@ -4,11 +4,11 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "30258290ce6c99b4b66e175f1b9317d5", + "content-hash": "9ebf63ccd0bfc6e76427eb8f49eb6127", "packages": [ { "name": "fykosak/nette-fks-utils", - "version": "dev-master", + "version": "dev-dev-context-translator", "source": { "type": "git", "url": "https://github.com/fykosak/nette-fks-utils.git", @@ -30,13 +30,12 @@ "nette/forms": "^v3.1.0", "nette/http": "^v3.1.0", "nette/utils": "^v3.2.0", - "php": "8.1.*" + "php": "7.4.* | 8.0.* | 8.1.* " }, "require-dev": { "nette/tester": "^v2.4.0", - "squizlabs/php_codesniffer": "3.7.1" + "squizlabs/php_codesniffer": "3.6.0" }, - "default-branch": true, "type": "library", "autoload": { "psr-4": { @@ -56,9 +55,9 @@ ], "support": { "issues": "https://github.com/fykosak/nette-fks-utils/issues", - "source": "https://github.com/fykosak/nette-fks-utils/tree/v0.2.0" + "source": "https://github.com/fykosak/nette-fks-utils/tree/dev-context-translator" }, - "time": "2022-11-03T16:16:46+00:00" + "time": "2023-01-24T17:33:58+00:00" }, { "name": "latte/latte", From d78c3c5f8ebcdf6cd9e2dcaa3011435c602dad6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 11 Apr 2023 19:15:54 +0200 Subject: [PATCH 04/11] fix presnter link --- src/NetteActions/NetteActions.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/NetteActions/NetteActions.php b/src/NetteActions/NetteActions.php index 087a35d..28a18c2 100644 --- a/src/NetteActions/NetteActions.php +++ b/src/NetteActions/NetteActions.php @@ -26,6 +26,13 @@ public function addAction(string $key, string $destination, array $params = []): { $this->actions[$key] = $this->component->link($destination, $params); } + /** + * @throws InvalidLinkException + */ + public function addPresenterLink(string $key, string $destination, array $params = []): void + { + $this->actions[$key] = $this->component->getPresenter()->link($destination, $params); + } public function removeAction(string $key): void { From 8def4e3dcf5bd3e726ff92c4455c502dabc5b49b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 11 Apr 2023 19:19:05 +0200 Subject: [PATCH 05/11] add presenter link delegate --- src/Components/AjaxComponent.php | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/Components/AjaxComponent.php b/src/Components/AjaxComponent.php index 782c0d7..f80d2a0 100644 --- a/src/Components/AjaxComponent.php +++ b/src/Components/AjaxComponent.php @@ -35,6 +35,13 @@ final public function addAction(string $key, string $destination, array $params { $this->actions->addAction($key, $destination, $params); } + /** + * @throws InvalidLinkException + */ + final public function addPresenterLink(string $key, string $destination, array $params = []): void + { + $this->actions->addAction($key, $destination, $params); + } /** * @throws AbortException From d6061527ee5c73c707c0a2786db6110f8d92bf90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Tue, 11 Apr 2023 19:23:34 +0200 Subject: [PATCH 06/11] fix --- src/Components/AjaxComponent.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Components/AjaxComponent.php b/src/Components/AjaxComponent.php index f80d2a0..b675bb4 100644 --- a/src/Components/AjaxComponent.php +++ b/src/Components/AjaxComponent.php @@ -40,7 +40,7 @@ final public function addAction(string $key, string $destination, array $params */ final public function addPresenterLink(string $key, string $destination, array $params = []): void { - $this->actions->addAction($key, $destination, $params); + $this->actions->addPresenterLink($key, $destination, $params); } /** From 50f2caabe35d9a7c4346ce97ff3d628243cac2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Sat, 8 Jul 2023 20:27:37 +0200 Subject: [PATCH 07/11] update TS --- package-lock.json | 320 ++++++++++-------- package.json | 20 +- src/Components/ActionsStoreCreator.tsx | 20 -- src/Components/StoreCreator.tsx | 24 -- src/Components/StoreLoader.tsx | 38 --- src/Components/actions-store-creator.tsx | 16 + src/Components/store-creator.tsx | 17 + src/Components/store-loader.tsx | 20 ++ src/InputConnector/InputConnector.tsx | 61 ---- src/InputConnector/input-connector.tsx | 33 ++ .../{HashMapLoader.ts => hash-map-loader.ts} | 34 +- src/Loader/{Renderer.ts => renderer.ts} | 2 +- .../{netteActions.ts => nette-actions.ts} | 0 src/Responses/response.ts | 2 +- src/fetch/fech.ts | 2 +- .../redux/{netteFetch.ts => nette-fetch.ts} | 0 tsconfig.json | 4 + 17 files changed, 298 insertions(+), 315 deletions(-) delete mode 100644 src/Components/ActionsStoreCreator.tsx delete mode 100644 src/Components/StoreCreator.tsx delete mode 100644 src/Components/StoreLoader.tsx create mode 100644 src/Components/actions-store-creator.tsx create mode 100644 src/Components/store-creator.tsx create mode 100644 src/Components/store-loader.tsx delete mode 100644 src/InputConnector/InputConnector.tsx create mode 100644 src/InputConnector/input-connector.tsx rename src/Loader/{HashMapLoader.ts => hash-map-loader.ts} (66%) rename src/Loader/{Renderer.ts => renderer.ts} (92%) rename src/NetteActions/{netteActions.ts => nette-actions.ts} (100%) rename src/fetch/redux/{netteFetch.ts => nette-fetch.ts} (100%) diff --git a/package-lock.json b/package-lock.json index e488bfd..48a7966 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,18 +9,18 @@ "license": "ISC", "dependencies": { "babel-polyfill": "6.26.0", - "promise-polyfill": "8.1.3", - "react": "16.13.1", - "react-dom": "16.13.1", - "react-redux": "7.2.1", - "redux": "4.0.5", - "redux-logger": "3.0.6" + "promise-polyfill": "8.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-redux": "^8.0.0", + "redux": "^4.2.1", + "redux-logger": "^4.0.0" }, "devDependencies": { "@types/promise-polyfill": "latest", - "@types/react": "16.9.34", - "@types/react-dom": "16.9.6", - "@types/react-redux": "7.1.5", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@types/react-redux": "^7.1.25", "@typescript-eslint/eslint-plugin": "^5.4.0", "@typescript-eslint/parser": "^5.4.0", "eslint": "^7.0.0", @@ -28,7 +28,7 @@ "eslint-plugin-react": "^7.27.1", "eslint-webpack-plugin": "^3.1.0", "source-map-loader": "1.1.3", - "typescript": "latest" + "typescript": "4.9.5" } }, "node_modules/@babel/code-frame": { @@ -206,7 +206,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -233,32 +232,31 @@ "node_modules/@types/prop-types": { "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, "node_modules/@types/react": { - "version": "16.9.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.34.tgz", - "integrity": "sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow==", - "dev": true, + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", + "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", "dependencies": { "@types/prop-types": "*", - "csstype": "^2.2.0" + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, "node_modules/@types/react-dom": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.6.tgz", - "integrity": "sha512-S6ihtlPMDotrlCJE9ST1fRmYrQNNwfgL61UB4I1W7M6kPulUKx9fXAleW5zpdIjUQ4fTaaog8uERezjsGUj9HQ==", - "dev": true, + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", + "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "devOptional": true, "dependencies": { "@types/react": "*" } }, "node_modules/@types/react-redux": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.5.tgz", - "integrity": "sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA==", + "version": "7.1.25", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.25.tgz", + "integrity": "sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==", "dev": true, "dependencies": { "@types/hoist-non-react-statics": "^3.3.0", @@ -267,6 +265,16 @@ "redux": "^4.0.0" } }, + "node_modules/@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "node_modules/@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz", @@ -771,10 +779,9 @@ } }, "node_modules/csstype": { - "version": "2.6.19", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", - "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", - "dev": true + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "node_modules/debug": { "version": "4.3.2", @@ -2072,6 +2079,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -2275,14 +2283,15 @@ } }, "node_modules/promise-polyfill": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", - "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.3.0.tgz", + "integrity": "sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==" }, "node_modules/prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -2319,30 +2328,26 @@ ] }, "node_modules/react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "loose-envify": "^1.1.0" }, "engines": { "node": ">=0.10.0" } }, "node_modules/react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "dependencies": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.23.0" }, "peerDependencies": { - "react": "^16.13.1" + "react": "^18.2.0" } }, "node_modules/react-is": { @@ -2351,42 +2356,60 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "node_modules/react-redux": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.1.tgz", - "integrity": "sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.1.tgz", + "integrity": "sha512-5W0QaKtEhj+3bC0Nj0NkqkhIv8gLADH/2kYFMTHxCVqQILiWzLv6MaLuV5wJU3BQEdHKzTfcvPN0WMS6SC1oyA==", "dependencies": { - "@babel/runtime": "^7.5.5", - "hoist-non-react-statics": "^3.3.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^16.9.0" + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" }, "peerDependencies": { - "react": "^16.8.3", - "redux": "^2.0.0 || ^3.0.0 || ^4.0.0-0" + "@types/react": "^16.8 || ^17.0 || ^18.0", + "@types/react-dom": "^16.8 || ^17.0 || ^18.0", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0", + "react-native": ">=0.59", + "redux": "^4 || ^5.0.0-beta.0" }, "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + }, "react-dom": { "optional": true }, "react-native": { "optional": true + }, + "redux": { + "optional": true } } }, + "node_modules/react-redux/node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + }, "node_modules/redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "dependencies": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" + "@babel/runtime": "^7.9.2" } }, "node_modules/redux-logger": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", - "integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-4.0.0.tgz", + "integrity": "sha512-dl+5mQjk70HIlrgOgPMAL0d0hOhBTPQcG5zPPlPZKa/Yf4lU6A37mv3Xqn3lFp0eUguSApIa2GD/YJVOIQQi5A==", "dependencies": { "deep-diff": "^0.3.5" } @@ -2510,12 +2533,11 @@ "dev": true }, "node_modules/scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "dependencies": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "node_modules/schema-utils": { @@ -2779,14 +2801,6 @@ "node": ">=4" } }, - "node_modules/symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/table": { "version": "6.7.3", "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", @@ -2889,9 +2903,9 @@ } }, "node_modules/typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -2925,6 +2939,14 @@ "punycode": "^2.1.0" } }, + "node_modules/use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", @@ -3139,7 +3161,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, "requires": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -3166,32 +3187,31 @@ "@types/prop-types": { "version": "15.7.4", "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==" }, "@types/react": { - "version": "16.9.34", - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.9.34.tgz", - "integrity": "sha512-8AJlYMOfPe1KGLKyHpflCg5z46n0b5DbRfqDksxBLBTUpB75ypDBAO9eCUcjNwE6LCUslwTz00yyG/X9gaVtow==", - "dev": true, + "version": "18.2.14", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.14.tgz", + "integrity": "sha512-A0zjq+QN/O0Kpe30hA1GidzyFjatVvrpIvWLxD+xv67Vt91TWWgco9IvrJBkeyHm1trGaFS/FSGqPlhyeZRm0g==", "requires": { "@types/prop-types": "*", - "csstype": "^2.2.0" + "@types/scheduler": "*", + "csstype": "^3.0.2" } }, "@types/react-dom": { - "version": "16.9.6", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-16.9.6.tgz", - "integrity": "sha512-S6ihtlPMDotrlCJE9ST1fRmYrQNNwfgL61UB4I1W7M6kPulUKx9fXAleW5zpdIjUQ4fTaaog8uERezjsGUj9HQ==", - "dev": true, + "version": "18.2.6", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.6.tgz", + "integrity": "sha512-2et4PDvg6PVCyS7fuTc4gPoksV58bW0RwSxWKcPRcHZf0PRUGq03TKcD/rUHe3azfV6/5/biUBJw+HhCQjaP0A==", + "devOptional": true, "requires": { "@types/react": "*" } }, "@types/react-redux": { - "version": "7.1.5", - "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.5.tgz", - "integrity": "sha512-ZoNGQMDxh5ENY7PzU7MVonxDzS1l/EWiy8nUhDqxFqUZn4ovboCyvk4Djf68x6COb7vhGTKjyjxHxtFdAA5sUA==", + "version": "7.1.25", + "resolved": "https://registry.npmjs.org/@types/react-redux/-/react-redux-7.1.25.tgz", + "integrity": "sha512-bAGh4e+w5D8dajd6InASVIyCo4pZLJ66oLb80F9OBLO1gKESbZcRCJpTT6uLXX+HAB57zw1WTdwJdAsewuTweg==", "dev": true, "requires": { "@types/hoist-non-react-statics": "^3.3.0", @@ -3200,6 +3220,16 @@ "redux": "^4.0.0" } }, + "@types/scheduler": { + "version": "0.16.3", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", + "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" + }, + "@types/use-sync-external-store": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", + "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==" + }, "@typescript-eslint/eslint-plugin": { "version": "5.4.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz", @@ -3555,10 +3585,9 @@ } }, "csstype": { - "version": "2.6.19", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.19.tgz", - "integrity": "sha512-ZVxXaNy28/k3kJg0Fou5MiYpp88j7H9hLZp8PDC3jV0WFjfH5E9xHb56L0W59cPbKbcHXeP4qyT8PrHp8t6LcQ==", - "dev": true + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" }, "debug": { "version": "4.3.2", @@ -4513,7 +4542,8 @@ "object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true }, "object-inspect": { "version": "1.11.0", @@ -4657,14 +4687,15 @@ "dev": true }, "promise-polyfill": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.3.tgz", - "integrity": "sha512-MG5r82wBzh7pSKDRa9y+vllNHz3e3d4CNj1PQE4BQYxLme0gKYYBm9YENq+UkEikyZ0XbiGWxYlVw3Rl9O/U8g==" + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.3.0.tgz", + "integrity": "sha512-H5oELycFml5yto/atYqmjyigJoAo3+OXwolYiH7OfQuYlAqhxNvTfiNMbV9hsC6Yp83yE5r2KTVmtrG6R9i6Pg==" }, "prop-types": { "version": "15.7.2", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", + "dev": true, "requires": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -4684,24 +4715,20 @@ "dev": true }, "react": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react/-/react-16.13.1.tgz", - "integrity": "sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2" + "loose-envify": "^1.1.0" } }, "react-dom": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-16.13.1.tgz", - "integrity": "sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag==", + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", "requires": { "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.19.1" + "scheduler": "^0.23.0" } }, "react-is": { @@ -4710,30 +4737,37 @@ "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" }, "react-redux": { - "version": "7.2.1", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.1.tgz", - "integrity": "sha512-T+VfD/bvgGTUA74iW9d2i5THrDQWbweXP0AVNI8tNd1Rk5ch1rnMiJkDD67ejw7YBKM4+REvcvqRuWJb7BLuEg==", + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-8.1.1.tgz", + "integrity": "sha512-5W0QaKtEhj+3bC0Nj0NkqkhIv8gLADH/2kYFMTHxCVqQILiWzLv6MaLuV5wJU3BQEdHKzTfcvPN0WMS6SC1oyA==", "requires": { - "@babel/runtime": "^7.5.5", - "hoist-non-react-statics": "^3.3.0", - "loose-envify": "^1.4.0", - "prop-types": "^15.7.2", - "react-is": "^16.9.0" + "@babel/runtime": "^7.12.1", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/use-sync-external-store": "^0.0.3", + "hoist-non-react-statics": "^3.3.2", + "react-is": "^18.0.0", + "use-sync-external-store": "^1.0.0" + }, + "dependencies": { + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } } }, "redux": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/redux/-/redux-4.0.5.tgz", - "integrity": "sha512-VSz1uMAH24DM6MF72vcojpYPtrTUu3ByVWfPL1nPfVRb5mZVTve5GnNCUV53QM/BZ66xfWrm0CTWoM+Xlz8V1w==", + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/redux/-/redux-4.2.1.tgz", + "integrity": "sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==", "requires": { - "loose-envify": "^1.4.0", - "symbol-observable": "^1.2.0" + "@babel/runtime": "^7.9.2" } }, "redux-logger": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-3.0.6.tgz", - "integrity": "sha1-91VZZvMJjzyIYExEnPC69XeCdL8=", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redux-logger/-/redux-logger-4.0.0.tgz", + "integrity": "sha512-dl+5mQjk70HIlrgOgPMAL0d0hOhBTPQcG5zPPlPZKa/Yf4lU6A37mv3Xqn3lFp0eUguSApIa2GD/YJVOIQQi5A==", "requires": { "deep-diff": "^0.3.5" } @@ -4812,12 +4846,11 @@ "dev": true }, "scheduler": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.19.1.tgz", - "integrity": "sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", "requires": { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1" + "loose-envify": "^1.1.0" } }, "schema-utils": { @@ -5006,11 +5039,6 @@ "has-flag": "^3.0.0" } }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" - }, "table": { "version": "6.7.3", "resolved": "https://registry.npmjs.org/table/-/table-6.7.3.tgz", @@ -5090,9 +5118,9 @@ "dev": true }, "typescript": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz", - "integrity": "sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==", + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", "dev": true }, "unbox-primitive": { @@ -5116,6 +5144,12 @@ "punycode": "^2.1.0" } }, + "use-sync-external-store": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz", + "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==", + "requires": {} + }, "v8-compile-cache": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", diff --git a/package.json b/package.json index 28aba51..1ac3464 100644 --- a/package.json +++ b/package.json @@ -6,18 +6,18 @@ "license": "ISC", "dependencies": { "babel-polyfill": "6.26.0", - "promise-polyfill": "8.1.3", - "react": "16.13.1", - "react-dom": "16.13.1", - "react-redux": "7.2.1", - "redux": "4.0.5", - "redux-logger": "3.0.6" + "promise-polyfill": "8.3.0", + "react": "^18.0.0", + "react-dom": "^18.0.0", + "react-redux": "^8.0.0", + "redux": "^4.2.1", + "redux-logger": "^4.0.0" }, "devDependencies": { "@types/promise-polyfill": "latest", - "@types/react": "16.9.34", - "@types/react-dom": "16.9.6", - "@types/react-redux": "7.1.5", + "@types/react": "^18.0.0", + "@types/react-dom": "^18.0.0", + "@types/react-redux": "^7.1.25", "@typescript-eslint/eslint-plugin": "^5.4.0", "@typescript-eslint/parser": "^5.4.0", "eslint": "^7.0.0", @@ -25,6 +25,6 @@ "eslint-plugin-react": "^7.27.1", "eslint-webpack-plugin": "^3.1.0", "source-map-loader": "1.1.3", - "typescript": "latest" + "typescript": "4.9.5" } } diff --git a/src/Components/ActionsStoreCreator.tsx b/src/Components/ActionsStoreCreator.tsx deleted file mode 100644 index 672ec01..0000000 --- a/src/Components/ActionsStoreCreator.tsx +++ /dev/null @@ -1,20 +0,0 @@ -import * as React from 'react'; -import {Action, Reducer} from 'redux'; -import {DataResponse} from '../Responses/response'; -import StoreCreator from './StoreCreator'; -import StoreLoader from './StoreLoader'; - -interface OwnProps { - initialData: DataResponse; - app: Reducer>; -} - -export default class ActionsStoreCreator extends React.Component, Record> { - - public render() { - const {initialData, app} = this.props; - return - {this.props.children} - ; - } -} diff --git a/src/Components/StoreCreator.tsx b/src/Components/StoreCreator.tsx deleted file mode 100644 index 4a20142..0000000 --- a/src/Components/StoreCreator.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import * as React from 'react'; -import {Provider} from 'react-redux'; -import { - Action, - applyMiddleware, - createStore, Reducer, -} from 'redux'; -import logger from 'redux-logger'; - -interface OwnProps { - app: Reducer>; - dev?: boolean; -} - -export default class StoreCreator extends React.Component, Record> { - public render() { - const {app, dev} = this.props; - const store = dev === dev ? createStore(app, applyMiddleware(logger)) : createStore(app); - - return - {this.props.children} - ; - } -} diff --git a/src/Components/StoreLoader.tsx b/src/Components/StoreLoader.tsx deleted file mode 100644 index 966e885..0000000 --- a/src/Components/StoreLoader.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import * as React from 'react'; -import {connect} from 'react-redux'; -import {Action, Dispatch} from 'redux'; -import {DataResponse} from '../Responses/response'; -import {fetchSuccess} from '../fetch/redux/actions'; - -interface OwnProps { - initialData: DataResponse; - children: React.ReactNode; -} - -interface DispatchProps { - onInit(data: DataResponse): void; -} - -class StoreLoader extends React.Component & DispatchProps, Record> { - public componentDidMount() { - const {initialData, onInit} = this.props; - onInit(initialData); - } - - public render() { - return <> - {this.props.children} - ; - } -} - -function mapDispatchToProps(dispatch: Dispatch>): DispatchProps { - return { - onInit: (data) => dispatch(fetchSuccess(data)), - }; -} - -export default connect( - null, - mapDispatchToProps, -)(StoreLoader); diff --git a/src/Components/actions-store-creator.tsx b/src/Components/actions-store-creator.tsx new file mode 100644 index 0000000..8af017e --- /dev/null +++ b/src/Components/actions-store-creator.tsx @@ -0,0 +1,16 @@ +import * as React from 'react'; +import {Action, Reducer} from 'redux'; +import {DataResponse} from '../Responses/response'; +import StoreCreator from './store-creator'; +import StoreLoader from './store-loader'; + +interface OwnProps { + initialData: DataResponse; + app: Reducer>; +} + +export default function ActionsStoreCreator({initialData, app}: OwnProps) { + return + {this.props.children} + ; +} diff --git a/src/Components/store-creator.tsx b/src/Components/store-creator.tsx new file mode 100644 index 0000000..1cc4500 --- /dev/null +++ b/src/Components/store-creator.tsx @@ -0,0 +1,17 @@ +import * as React from 'react'; +import {Provider} from 'react-redux'; +import {Action, applyMiddleware, createStore, Reducer} from 'redux'; +import logger from 'redux-logger'; + +interface OwnProps { + app: Reducer>; + dev?: boolean; + children: React.ReactNode; +} + +export default function StoreCreator({app, dev, children}: OwnProps) { + const store = dev === dev ? createStore(app, applyMiddleware(logger)) : createStore(app); + return + {children} + ; +} diff --git a/src/Components/store-loader.tsx b/src/Components/store-loader.tsx new file mode 100644 index 0000000..acb787b --- /dev/null +++ b/src/Components/store-loader.tsx @@ -0,0 +1,20 @@ +import * as React from 'react'; +import {useEffect} from 'react'; +import {useDispatch} from 'react-redux'; +import {DataResponse} from '../Responses/response'; +import {fetchSuccess} from '../fetch/redux/actions'; + +interface OwnProps { + initialData: DataResponse; + children: React.ReactNode; +} + +export default function StoreLoader({initialData, children}: OwnProps) { + const dispatch = useDispatch(); + useEffect(() => { + dispatch(fetchSuccess(initialData)); + }, []); + return <> + {children} + ; +} diff --git a/src/InputConnector/InputConnector.tsx b/src/InputConnector/InputConnector.tsx deleted file mode 100644 index eddcedc..0000000 --- a/src/InputConnector/InputConnector.tsx +++ /dev/null @@ -1,61 +0,0 @@ -import {setInitialData} from './actions'; -import * as React from 'react'; -import {connect} from 'react-redux'; -import { - Action, - Dispatch, -} from 'redux'; -import {InputConnectorStateMap} from './reducer'; - -export interface OwnProps { - input: HTMLInputElement; -} - -export interface StateProps { - data: Record; -} - -export interface DispatchProps { - onSetInitialData(value: Record): void; -} - -class InputConnector extends React.Component { - - public componentDidMount() { - const {input, onSetInitialData} = this.props; - if (input.value) { - onSetInitialData(JSON.parse(input.value)); - } - } - - public UNSAFE_componentWillReceiveProps(newProps: OwnProps & StateProps & DispatchProps) { - const data: Record = {}; - let hasValue = false; - - for (const key in newProps.data) { - if (newProps.data.hasOwnProperty(key) && (newProps.data[key] !== null)) { - data[key] = newProps.data[key]; - hasValue = true; - } - } - this.props.input.value = hasValue ? JSON.stringify(data) : null; - this.props.input.dispatchEvent(new Event('change')); // netteForm compatibility - } - - public render() { - return null; - } -} - -const mapDispatchToProps = (dispatch: Dispatch>): DispatchProps => { - return { - onSetInitialData: (data: Record) => dispatch(setInitialData(data)), - }; -}; - -const mapStateToProps = (state: { inputConnector: InputConnectorStateMap }): StateProps => { - return { - data: state.inputConnector.data, - }; -}; -export default connect(mapStateToProps, mapDispatchToProps)(InputConnector); diff --git a/src/InputConnector/input-connector.tsx b/src/InputConnector/input-connector.tsx new file mode 100644 index 0000000..2ec819a --- /dev/null +++ b/src/InputConnector/input-connector.tsx @@ -0,0 +1,33 @@ +import {setInitialData} from './actions'; +import * as React from 'react'; +import {useEffect} from 'react'; +import {useDispatch, useSelector} from 'react-redux'; +import {InputConnectorStateMap} from './reducer'; + +export interface OwnProps { + input: HTMLInputElement; +} + +export default function InputConnector({input}: OwnProps) { + const values = useSelector((state: { inputConnector: InputConnectorStateMap }) => state.inputConnector?.data); + const newData = {}; + const dispatch = useDispatch(); + useEffect(() => { + if (input.value) { + dispatch(setInitialData(JSON.parse(input.value))); + } + }, []); + useEffect(() => { + let hasValue = false; + for (const key in values) { + if (values.hasOwnProperty(key) && (values[key] !== null)) { + newData[key] = values[key]; + hasValue = true; + } + } + input.value = hasValue ? JSON.stringify(newData) : null; + input.dispatchEvent(new Event('change')); // netteForm compatibility + + }, [values]); + return null; +} diff --git a/src/Loader/HashMapLoader.ts b/src/Loader/hash-map-loader.ts similarity index 66% rename from src/Loader/HashMapLoader.ts rename to src/Loader/hash-map-loader.ts index 39691c5..a1e574b 100644 --- a/src/Loader/HashMapLoader.ts +++ b/src/Loader/hash-map-loader.ts @@ -1,23 +1,23 @@ import * as React from 'react'; +import {FunctionComponent} from 'react'; import * as ReactDOM from 'react-dom'; -import {NetteActions} from '../NetteActions/netteActions'; -import {ComponentType} from 'react'; +import {NetteActions} from '../NetteActions/nette-actions'; export type mapRegisterCallback = (element: Element, frontendId: string, data: string, actions: NetteActions) => void; -type DataComponent = ComponentType +type DataComponent = FunctionComponent; -type ActionComponent, Data = unknown> = ComponentType; +type ActionComponent = FunctionComponent; -interface ComponentDatum = ComponentType> { +interface ComponentDatum = FunctionComponent> { component: Component; params: OwnProps; } export default class HashMapLoader { - private components: Record> = {}; - private actionsComponents: Record> = {}; - private dataComponents: Record> = {}; + private components: { [key: string]: ComponentDatum } = {}; + private actionsComponents: { [key: string]: ComponentDatum } = {}; + private dataComponents: { [key: string]: ComponentDatum } = {}; private apps: Record = {}; private keys: Record = {}; @@ -26,7 +26,7 @@ export default class HashMapLoader { this.apps[frontendId] = callback; } - public registerActionsComponent>( + public registerActionsComponent( frontendId: string, component: ActionComponent, params: OwnProps = null, @@ -35,7 +35,7 @@ export default class HashMapLoader { this.actionsComponents[frontendId] = {component, params}; } - public registerDataComponent>( + public registerDataComponent( frontendId: string, component: DataComponent, params: OwnProps = null, @@ -46,7 +46,7 @@ export default class HashMapLoader { public registerComponent>( frontendId: string, - component: ComponentType, + component: FunctionComponent, params: OwnProps = null, ): void { this.checkConflict(frontendId); @@ -56,7 +56,7 @@ export default class HashMapLoader { public render(element: Element): boolean { const frontendId = element.getAttribute('data-frontend-id'); - if (this.components.hasOwnProperty(frontendId)) { + if (Object.hasOwn(this.components, frontendId)) { const {component, params} = this.components[frontendId]; ReactDOM.render(React.createElement(component, params), element); return true; @@ -64,21 +64,23 @@ export default class HashMapLoader { const rawData = element.getAttribute('data-data'); const data = JSON.parse(rawData); - if (this.dataComponents.hasOwnProperty(frontendId)) { + if (Object.hasOwn(this.dataComponents, frontendId)) { const {component, params} = this.dataComponents[frontendId]; + // @ts-ignore ReactDOM.render(React.createElement(component, {data, ...params}), element); return true; } const actionsData = JSON.parse(element.getAttribute('data-actions')); const actions = new NetteActions(actionsData); - if (this.actionsComponents.hasOwnProperty(frontendId)) { + if (Object.hasOwn(this.actionsComponents, frontendId)) { const {component, params} = this.actionsComponents[frontendId]; + // @ts-ignore ReactDOM.render(React.createElement(component, {actions, data, ...params}), element); return true; } - if (this.apps.hasOwnProperty(frontendId)) { + if (Object.hasOwn(this.apps, frontendId)) { this.apps[frontendId](element, frontendId, rawData, actions); return true; } @@ -86,7 +88,7 @@ export default class HashMapLoader { } private checkConflict(frontendId: string): void { - if (this.keys.hasOwnProperty(frontendId)) { + if (Object.hasOwn(this.keys, frontendId)) { throw new Error('App with "' + frontendId + '" is already registred.'); } this.keys[frontendId] = true; diff --git a/src/Loader/Renderer.ts b/src/Loader/renderer.ts similarity index 92% rename from src/Loader/Renderer.ts rename to src/Loader/renderer.ts index 89591d0..83cbc96 100644 --- a/src/Loader/Renderer.ts +++ b/src/Loader/renderer.ts @@ -1,4 +1,4 @@ -import HashMapLoader from './HashMapLoader'; +import HashMapLoader from './hash-map-loader'; export default class Renderer { public readonly hashMapLoader: HashMapLoader; diff --git a/src/NetteActions/netteActions.ts b/src/NetteActions/nette-actions.ts similarity index 100% rename from src/NetteActions/netteActions.ts rename to src/NetteActions/nette-actions.ts diff --git a/src/Responses/response.ts b/src/Responses/response.ts index a05afd2..d2335f6 100644 --- a/src/Responses/response.ts +++ b/src/Responses/response.ts @@ -1,4 +1,4 @@ -import {NetteActions} from '../NetteActions/netteActions'; +import {NetteActions} from '../NetteActions/nette-actions'; export interface Message { level: string; diff --git a/src/fetch/fech.ts b/src/fetch/fech.ts index fa1d9f7..182c600 100644 --- a/src/fetch/fech.ts +++ b/src/fetch/fech.ts @@ -1,5 +1,5 @@ import {DataResponse} from '../Responses/response'; -import {NetteActions} from '../NetteActions/netteActions'; +import {NetteActions} from '../NetteActions/nette-actions'; export async function netteFetch( url: string, diff --git a/src/fetch/redux/netteFetch.ts b/src/fetch/redux/nette-fetch.ts similarity index 100% rename from src/fetch/redux/netteFetch.ts rename to src/fetch/redux/nette-fetch.ts diff --git a/tsconfig.json b/tsconfig.json index 5584f2b..59fbdcc 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -9,6 +9,10 @@ "jsx": "react", "allowJs": true, "baseUrl": ".", + "lib": [ + "esnext", + "dom" + ], "paths": { "FKSDB/*": [ "./app/*" From dc4f414eab6212ee90c0b484ae340d134bc8cb82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Sat, 8 Jul 2023 20:32:28 +0200 Subject: [PATCH 08/11] fix nette actions --- src/fetch/redux/reducer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/fetch/redux/reducer.ts b/src/fetch/redux/reducer.ts index 89f8207..5b4e11f 100644 --- a/src/fetch/redux/reducer.ts +++ b/src/fetch/redux/reducer.ts @@ -5,7 +5,7 @@ import { ActionFetchFail, ActionFetchSuccess, } from './actions'; -import {NetteActions} from '../../NetteActions/netteActions'; +import {NetteActions} from '../../NetteActions/nette-actions'; import {Message, DataResponse} from '../../Responses/response'; import {Action, Reducer} from 'redux'; From 86755fdb94b29a77b019eec46330127f56c7d212 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Sat, 8 Jul 2023 20:43:00 +0200 Subject: [PATCH 09/11] fix childs --- src/Components/actions-store-creator.tsx | 10 ++++++++-- src/Components/store-creator.tsx | 3 +-- src/Components/store-loader.tsx | 3 +-- 3 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/Components/actions-store-creator.tsx b/src/Components/actions-store-creator.tsx index 8af017e..eaa2a24 100644 --- a/src/Components/actions-store-creator.tsx +++ b/src/Components/actions-store-creator.tsx @@ -9,8 +9,14 @@ interface OwnProps { app: Reducer>; } -export default function ActionsStoreCreator({initialData, app}: OwnProps) { +export default function ActionsStoreCreator( + { + initialData, + app, + children, + }: React.PropsWithChildren>, +) { return - {this.props.children} + {children} ; } diff --git a/src/Components/store-creator.tsx b/src/Components/store-creator.tsx index 1cc4500..6a4574a 100644 --- a/src/Components/store-creator.tsx +++ b/src/Components/store-creator.tsx @@ -6,10 +6,9 @@ import logger from 'redux-logger'; interface OwnProps { app: Reducer>; dev?: boolean; - children: React.ReactNode; } -export default function StoreCreator({app, dev, children}: OwnProps) { +export default function StoreCreator({app, dev, children}: React.PropsWithChildren>) { const store = dev === dev ? createStore(app, applyMiddleware(logger)) : createStore(app); return {children} diff --git a/src/Components/store-loader.tsx b/src/Components/store-loader.tsx index acb787b..786d72b 100644 --- a/src/Components/store-loader.tsx +++ b/src/Components/store-loader.tsx @@ -6,10 +6,9 @@ import {fetchSuccess} from '../fetch/redux/actions'; interface OwnProps { initialData: DataResponse; - children: React.ReactNode; } -export default function StoreLoader({initialData, children}: OwnProps) { +export default function StoreLoader({initialData, children}: React.PropsWithChildren>) { const dispatch = useDispatch(); useEffect(() => { dispatch(fetchSuccess(initialData)); From 5650c5f8aecc174992230e026404327b90b5c7de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Sat, 8 Jul 2023 21:15:18 +0200 Subject: [PATCH 10/11] update reactDom --- src/Loader/hash-map-loader.ts | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/Loader/hash-map-loader.ts b/src/Loader/hash-map-loader.ts index a1e574b..f81e160 100644 --- a/src/Loader/hash-map-loader.ts +++ b/src/Loader/hash-map-loader.ts @@ -1,6 +1,6 @@ import * as React from 'react'; import {FunctionComponent} from 'react'; -import * as ReactDOM from 'react-dom'; +import {createRoot} from 'react-dom/client'; import {NetteActions} from '../NetteActions/nette-actions'; export type mapRegisterCallback = (element: Element, frontendId: string, data: string, actions: NetteActions) => void; @@ -54,11 +54,12 @@ export default class HashMapLoader { } public render(element: Element): boolean { + const root = createRoot(element); const frontendId = element.getAttribute('data-frontend-id'); if (Object.hasOwn(this.components, frontendId)) { const {component, params} = this.components[frontendId]; - ReactDOM.render(React.createElement(component, params), element); + root.render(React.createElement(component, params)); return true; } @@ -67,7 +68,7 @@ export default class HashMapLoader { if (Object.hasOwn(this.dataComponents, frontendId)) { const {component, params} = this.dataComponents[frontendId]; // @ts-ignore - ReactDOM.render(React.createElement(component, {data, ...params}), element); + root.render(React.createElement(component, {data, ...params})); return true; } @@ -76,7 +77,7 @@ export default class HashMapLoader { if (Object.hasOwn(this.actionsComponents, frontendId)) { const {component, params} = this.actionsComponents[frontendId]; // @ts-ignore - ReactDOM.render(React.createElement(component, {actions, data, ...params}), element); + root.render(React.createElement(component, {actions, data, ...params})); return true; } From 1f6b66fe654e3f9bf2350b1a1e0c35917a8d37fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20Mi=C5=A1o=20=C4=8Cerve=C5=88=C3=A1k?= Date: Wed, 16 Aug 2023 10:38:29 +0200 Subject: [PATCH 11/11] update packages --- composer.json | 2 +- composer.lock | 143 +++++++++++++++++++++++++------------------------- 2 files changed, 72 insertions(+), 73 deletions(-) diff --git a/composer.json b/composer.json index 7e350e3..5543b27 100644 --- a/composer.json +++ b/composer.json @@ -2,7 +2,7 @@ "name": "fykosak/nette-frontend-component", "require": { "php": ">=7.4", - "fykosak/nette-fks-utils": "dev-dev-context-translator#a4a8bbb", + "fykosak/nette-fks-utils": "^v0.1.1", "nette/application": "^v3.1.0", "nette/forms": "^3.1.0" }, diff --git a/composer.lock b/composer.lock index 33b3ed3..3992a67 100644 --- a/composer.lock +++ b/composer.lock @@ -4,20 +4,20 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "9ebf63ccd0bfc6e76427eb8f49eb6127", + "content-hash": "6036dcf158ff24b4e7079d51f7edc84c", "packages": [ { "name": "fykosak/nette-fks-utils", - "version": "dev-dev-context-translator", + "version": "v0.1.1", "source": { "type": "git", "url": "https://github.com/fykosak/nette-fks-utils.git", - "reference": "a4a8bbb" + "reference": "5d3f8e7256d345102c3c3b0e8fed9574e29fcefa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fykosak/nette-fks-utils/zipball/a4a8bbb", - "reference": "a4a8bbb", + "url": "https://api.github.com/repos/fykosak/nette-fks-utils/zipball/5d3f8e7256d345102c3c3b0e8fed9574e29fcefa", + "reference": "5d3f8e7256d345102c3c3b0e8fed9574e29fcefa", "shasum": "" }, "require": { @@ -34,6 +34,7 @@ }, "require-dev": { "nette/tester": "^v2.4.0", + "phpstan/phpstan": "1.10.26", "squizlabs/php_codesniffer": "3.6.0" }, "type": "library", @@ -55,9 +56,9 @@ ], "support": { "issues": "https://github.com/fykosak/nette-fks-utils/issues", - "source": "https://github.com/fykosak/nette-fks-utils/tree/dev-context-translator" + "source": "https://github.com/fykosak/nette-fks-utils/tree/v0.1.1" }, - "time": "2023-01-24T17:33:58+00:00" + "time": "2023-08-15T18:55:05+00:00" }, { "name": "latte/latte", @@ -145,16 +146,16 @@ }, { "name": "nette/application", - "version": "v3.1.10", + "version": "v3.1.11", "source": { "type": "git", "url": "https://github.com/nette/application.git", - "reference": "9c31b24407623437c1e1345cc2bd4e210b290135" + "reference": "b03bd4971b03e3fa582ac40ea429446cd00788bb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/application/zipball/9c31b24407623437c1e1345cc2bd4e210b290135", - "reference": "9c31b24407623437c1e1345cc2bd4e210b290135", + "url": "https://api.github.com/repos/nette/application/zipball/b03bd4971b03e3fa582ac40ea429446cd00788bb", + "reference": "b03bd4971b03e3fa582ac40ea429446cd00788bb", "shasum": "" }, "require": { @@ -231,9 +232,9 @@ ], "support": { "issues": "https://github.com/nette/application/issues", - "source": "https://github.com/nette/application/tree/v3.1.10" + "source": "https://github.com/nette/application/tree/v3.1.11" }, - "time": "2023-01-17T13:52:03+00:00" + "time": "2023-04-28T10:09:21+00:00" }, { "name": "nette/component-model", @@ -299,16 +300,16 @@ }, { "name": "nette/di", - "version": "v3.1.1", + "version": "v3.1.3", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "4799ee684453bf5e70df1e87bec80bfbfc0e7d13" + "reference": "a58a11eb6c1acbeb878d36efa614b301c87fbb95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/4799ee684453bf5e70df1e87bec80bfbfc0e7d13", - "reference": "4799ee684453bf5e70df1e87bec80bfbfc0e7d13", + "url": "https://api.github.com/repos/nette/di/zipball/a58a11eb6c1acbeb878d36efa614b301c87fbb95", + "reference": "a58a11eb6c1acbeb878d36efa614b301c87fbb95", "shasum": "" }, "require": { @@ -318,7 +319,7 @@ "nette/robot-loader": "^3.2 || ~4.0.0", "nette/schema": "^1.2", "nette/utils": "^3.2.5 || ~4.0.0", - "php": ">=7.2 <8.3" + "php": "7.2 - 8.3" }, "require-dev": { "nette/tester": "^2.4", @@ -365,9 +366,9 @@ ], "support": { "issues": "https://github.com/nette/di/issues", - "source": "https://github.com/nette/di/tree/v3.1.1" + "source": "https://github.com/nette/di/tree/v3.1.3" }, - "time": "2023-01-16T03:38:02+00:00" + "time": "2023-08-05T19:10:42+00:00" }, { "name": "nette/finder", @@ -438,16 +439,16 @@ }, { "name": "nette/forms", - "version": "v3.1.10", + "version": "v3.1.11", "source": { "type": "git", "url": "https://github.com/nette/forms.git", - "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7" + "reference": "64cdc2d6796a8fe1265bb21a6ee5e9ff93e2b3a4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/forms/zipball/12b4c12e9d65a4c97e10a37cee88fdd14db780b7", - "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7", + "url": "https://api.github.com/repos/nette/forms/zipball/64cdc2d6796a8fe1265bb21a6ee5e9ff93e2b3a4", + "reference": "64cdc2d6796a8fe1265bb21a6ee5e9ff93e2b3a4", "shasum": "" }, "require": { @@ -506,22 +507,22 @@ ], "support": { "issues": "https://github.com/nette/forms/issues", - "source": "https://github.com/nette/forms/tree/v3.1.10" + "source": "https://github.com/nette/forms/tree/v3.1.11" }, - "time": "2023-01-19T14:37:56+00:00" + "time": "2023-03-08T23:56:24+00:00" }, { "name": "nette/http", - "version": "v3.2.1", + "version": "v3.2.2", "source": { "type": "git", "url": "https://github.com/nette/http.git", - "reference": "0e16cd4f911665679b96bf569318a0dc7f087eda" + "reference": "9105c26de3dd47da5e7cf6b4132b5d871f835e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/http/zipball/0e16cd4f911665679b96bf569318a0dc7f087eda", - "reference": "0e16cd4f911665679b96bf569318a0dc7f087eda", + "url": "https://api.github.com/repos/nette/http/zipball/9105c26de3dd47da5e7cf6b4132b5d871f835e25", + "reference": "9105c26de3dd47da5e7cf6b4132b5d871f835e25", "shasum": "" }, "require": { @@ -584,31 +585,31 @@ ], "support": { "issues": "https://github.com/nette/http/issues", - "source": "https://github.com/nette/http/tree/v3.2.1" + "source": "https://github.com/nette/http/tree/v3.2.2" }, - "time": "2022-12-05T00:03:40+00:00" + "time": "2023-03-18T14:55:56+00:00" }, { "name": "nette/neon", - "version": "v3.4.0", + "version": "v3.3.3", "source": { "type": "git", "url": "https://github.com/nette/neon.git", - "reference": "372d945c156ee7f35c953339fb164538339e6283" + "reference": "22e384da162fab42961d48eb06c06d3ad0c11b95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/neon/zipball/372d945c156ee7f35c953339fb164538339e6283", - "reference": "372d945c156ee7f35c953339fb164538339e6283", + "url": "https://api.github.com/repos/nette/neon/zipball/22e384da162fab42961d48eb06c06d3ad0c11b95", + "reference": "22e384da162fab42961d48eb06c06d3ad0c11b95", "shasum": "" }, "require": { "ext-json": "*", - "php": ">=8.0 <8.3" + "php": ">=7.1" }, "require-dev": { - "nette/tester": "^2.4", - "phpstan/phpstan": "^1.0", + "nette/tester": "^2.0", + "phpstan/phpstan": "^0.12", "tracy/tracy": "^2.7" }, "bin": [ @@ -617,7 +618,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -652,41 +653,41 @@ ], "support": { "issues": "https://github.com/nette/neon/issues", - "source": "https://github.com/nette/neon/tree/v3.4.0" + "source": "https://github.com/nette/neon/tree/v3.3.3" }, - "time": "2023-01-13T03:08:29+00:00" + "time": "2022-03-10T02:04:26+00:00" }, { "name": "nette/php-generator", - "version": "v4.0.5", + "version": "v3.6.9", "source": { "type": "git", "url": "https://github.com/nette/php-generator.git", - "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86" + "reference": "d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/php-generator/zipball/a8d6abeae5d8c7202cd69600e086a7a72877fc86", - "reference": "a8d6abeae5d8c7202cd69600e086a7a72877fc86", + "url": "https://api.github.com/repos/nette/php-generator/zipball/d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6", + "reference": "d31782f7bd2ae84ad06f863391ec3fb77ca4d0a6", "shasum": "" }, "require": { - "nette/utils": "^3.2.7 || ^4.0", - "php": ">=8.0 <8.3" + "nette/utils": "^3.1.2", + "php": ">=7.2 <8.3" }, "require-dev": { "nette/tester": "^2.4", - "nikic/php-parser": "^4.15", - "phpstan/phpstan": "^1.0", + "nikic/php-parser": "^4.13", + "phpstan/phpstan": "^0.12", "tracy/tracy": "^2.8" }, "suggest": { - "nikic/php-parser": "to use ClassType::from(withBodies: true) & ClassType::fromCode()" + "nikic/php-parser": "to use ClassType::withBodiesFrom() & GlobalFunction::withBodyFrom()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "3.6-dev" } }, "autoload": { @@ -710,7 +711,7 @@ "homepage": "https://nette.org/contributors" } ], - "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.2 features.", + "description": "🐘 Nette PHP Generator: generates neat PHP code for you. Supports new PHP 8.1 features.", "homepage": "https://nette.org", "keywords": [ "code", @@ -720,9 +721,9 @@ ], "support": { "issues": "https://github.com/nette/php-generator/issues", - "source": "https://github.com/nette/php-generator/tree/v4.0.5" + "source": "https://github.com/nette/php-generator/tree/v3.6.9" }, - "time": "2022-11-02T20:37:46+00:00" + "time": "2022-10-04T11:49:47+00:00" }, { "name": "nette/robot-loader", @@ -855,21 +856,21 @@ }, { "name": "nette/schema", - "version": "v1.2.3", + "version": "v1.2.4", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f" + "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", - "reference": "abbdbb70e0245d5f3bf77874cea1dfb0c930d06f", + "url": "https://api.github.com/repos/nette/schema/zipball/c9ff517a53903b3d4e29ec547fb20feecb05b8ab", + "reference": "c9ff517a53903b3d4e29ec547fb20feecb05b8ab", "shasum": "" }, "require": { "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.3" + "php": "7.1 - 8.3" }, "require-dev": { "nette/tester": "^2.3 || ^2.4", @@ -911,26 +912,26 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.3" + "source": "https://github.com/nette/schema/tree/v1.2.4" }, - "time": "2022-10-13T01:24:26+00:00" + "time": "2023-08-05T18:56:25+00:00" }, { "name": "nette/utils", - "version": "v3.2.9", + "version": "v3.2.10", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c" + "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", - "reference": "c91bac3470c34b2ecd5400f6e6fdf0b64a836a5c", + "url": "https://api.github.com/repos/nette/utils/zipball/a4175c62652f2300c8017fb7e640f9ccb11648d2", + "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2", "shasum": "" }, "require": { - "php": ">=7.2 <8.3" + "php": ">=7.2 <8.4" }, "conflict": { "nette/di": "<3.0.6" @@ -997,17 +998,15 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.9" + "source": "https://github.com/nette/utils/tree/v3.2.10" }, - "time": "2023-01-18T03:26:20+00:00" + "time": "2023-07-30T15:38:18+00:00" } ], "packages-dev": [], "aliases": [], "minimum-stability": "stable", - "stability-flags": { - "fykosak/nette-fks-utils": 20 - }, + "stability-flags": [], "prefer-stable": false, "prefer-lowest": false, "platform": {