diff --git a/.commit b/.commit deleted file mode 100644 index 08e4f981fb6..00000000000 --- a/.commit +++ /dev/null @@ -1,23 +0,0 @@ -bug #2154 [Dropzone] Enable file replacement via "drag-and-drop" (rrr63) - -This PR was merged into the 2.x branch. - -Discussion ----------- - -[Dropzone] Enable file replacement via "drag-and-drop" - -| Q | A -| ------------- | --- -| Bug fix? | yes -| New feature? | no -| Issues | Fix #1480 -| License | MIT - -Adding `dragenter` event to allow file replacement - -Commits -------- - - - diff --git a/.notes b/.notes deleted file mode 100644 index 0ab36e49f19..00000000000 --- a/.notes +++ /dev/null @@ -1,47 +0,0 @@ ---------------------------------------------------------------------------- - -by smnandre at 2024-09-11T21:39:36Z - -Hi @rrr63 ! Thank you for this PR - -Could you add just a screenshot or two, for other to understand what you're adding ? - -I'm wondering, you add on dragEnter, but you don't revert if the drag is canceled ? - -Also, it would be great to add a test or two :) - - - ---------------------------------------------------------------------------- - -by rrr63 at 2024-09-12T06:34:12Z - -Hi @smnandre , - -You're right, i canceled when the drag leaves, and added a test for both, enter and leave. -Both, enter and leave are in the same test to get the right drag area from enter event. - -Demo : -![dropzone](https://github.com/user-attachments/assets/76143fdd-1dbc-4129-92f2-43e9780eed4b) - - - - ---------------------------------------------------------------------------- - -by smnandre at 2024-09-12T17:27:47Z - -Wow, thank you very much! I'll try tonight but this will probably more be this week-end :) - ---------------------------------------------------------------------------- - -by smnandre at 2024-09-12T17:31:45Z - -Could you add a entry in the CHANGELOG (inside the Dropzone folder) ? Next version will be 2.20 - ---------------------------------------------------------------------------- - -by rrr63 at 2024-09-12T18:36:43Z - -Sure i can, just copied the title :) - diff --git a/src/Autocomplete/composer.json b/src/Autocomplete/composer.json index 94b94e39918..8698cd4d7d5 100644 --- a/src/Autocomplete/composer.json +++ b/src/Autocomplete/composer.json @@ -29,8 +29,7 @@ "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-foundation": "^6.3|^7.0", "symfony/http-kernel": "^6.3|^7.0", - "symfony/property-access": "^6.3|^7.0", - "symfony/string": "^6.3|^7.0" + "symfony/property-access": "^6.3|^7.0" }, "require-dev": { "doctrine/collections": "^1.6.8|^2.0", diff --git a/src/Autocomplete/doc/index.rst b/src/Autocomplete/doc/index.rst index 2ba45d7691d..69ade32aaf8 100644 --- a/src/Autocomplete/doc/index.rst +++ b/src/Autocomplete/doc/index.rst @@ -30,10 +30,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage in a Form (without Ajax) ------------------------------ diff --git a/src/Autocomplete/src/AutocompleteBundle.php b/src/Autocomplete/src/AutocompleteBundle.php index adb471a144e..a8add0a42e5 100644 --- a/src/Autocomplete/src/AutocompleteBundle.php +++ b/src/Autocomplete/src/AutocompleteBundle.php @@ -20,7 +20,7 @@ */ final class AutocompleteBundle extends Bundle { - public function build(ContainerBuilder $container) + public function build(ContainerBuilder $container): void { $container->addCompilerPass(new AutocompleteFormTypePass()); } diff --git a/src/Autocomplete/src/AutocompleterRegistry.php b/src/Autocomplete/src/AutocompleterRegistry.php index 31f81c21de7..c3c6586507d 100644 --- a/src/Autocomplete/src/AutocompleterRegistry.php +++ b/src/Autocomplete/src/AutocompleterRegistry.php @@ -28,6 +28,9 @@ public function getAutocompleter(string $alias): ?EntityAutocompleterInterface return $this->autocompletersLocator->has($alias) ? $this->autocompletersLocator->get($alias) : null; } + /** + * @return list + */ public function getAutocompleterNames(): array { return array_keys($this->autocompletersLocator->getProvidedServices()); diff --git a/src/Autocomplete/src/DependencyInjection/AutocompleteExtension.php b/src/Autocomplete/src/DependencyInjection/AutocompleteExtension.php index c44103c8505..3dec572a11b 100644 --- a/src/Autocomplete/src/DependencyInjection/AutocompleteExtension.php +++ b/src/Autocomplete/src/DependencyInjection/AutocompleteExtension.php @@ -40,7 +40,7 @@ */ final class AutocompleteExtension extends Extension implements PrependExtensionInterface { - public function prepend(ContainerBuilder $container) + public function prepend(ContainerBuilder $container): void { $bundles = $container->getParameter('kernel.bundles'); @@ -61,7 +61,7 @@ public function prepend(ContainerBuilder $container) } } - public function load(array $configs, ContainerBuilder $container) + public function load(array $configs, ContainerBuilder $container): void { $this->registerBasicServices($container); if (ContainerBuilder::willBeAvailable('symfony/form', Form::class, ['symfony/framework-bundle'])) { diff --git a/src/Autocomplete/src/DependencyInjection/AutocompleteFormTypePass.php b/src/Autocomplete/src/DependencyInjection/AutocompleteFormTypePass.php index b07c23fce7c..fd6cb19df3f 100644 --- a/src/Autocomplete/src/DependencyInjection/AutocompleteFormTypePass.php +++ b/src/Autocomplete/src/DependencyInjection/AutocompleteFormTypePass.php @@ -29,13 +29,13 @@ class AutocompleteFormTypePass implements CompilerPassInterface /** @var string Tag applied to EntityAutocompleterInterface classes */ public const ENTITY_AUTOCOMPLETER_TAG = 'ux.entity_autocompleter'; - public function process(ContainerBuilder $container) + public function process(ContainerBuilder $container): void { $this->processEntityAutocompleteFieldTag($container); $this->processEntityAutocompleterTag($container); } - private function processEntityAutocompleteFieldTag(ContainerBuilder $container) + private function processEntityAutocompleteFieldTag(ContainerBuilder $container): void { foreach ($container->findTaggedServiceIds(self::ENTITY_AUTOCOMPLETE_FIELD_TAG, true) as $serviceId => $tag) { $serviceDefinition = $container->getDefinition($serviceId); @@ -68,7 +68,7 @@ private function getAlias(string $serviceId, Definition $serviceDefinition, arra return $attribute->getAlias() ?: AsEntityAutocompleteField::shortName($class); } - private function processEntityAutocompleterTag(ContainerBuilder $container) + private function processEntityAutocompleterTag(ContainerBuilder $container): void { $servicesMap = []; foreach ($container->findTaggedServiceIds(self::ENTITY_AUTOCOMPLETER_TAG, true) as $serviceId => $tag) { diff --git a/src/Autocomplete/src/Form/AsEntityAutocompleteField.php b/src/Autocomplete/src/Form/AsEntityAutocompleteField.php index d707c4b71b5..94119fba8b8 100644 --- a/src/Autocomplete/src/Form/AsEntityAutocompleteField.php +++ b/src/Autocomplete/src/Form/AsEntityAutocompleteField.php @@ -11,8 +11,6 @@ namespace Symfony\UX\Autocomplete\Form; -use Symfony\Component\String\UnicodeString; - /** * All form types that want to expose autocomplete functionality should have this. * @@ -37,13 +35,25 @@ public function getRoute(): string return $this->route; } + /** + * @internal + * + * @param class-string $class + */ public static function shortName(string $class): string { - $string = new UnicodeString($class); + if ($pos = (int) strrpos($class, '\\')) { + $class = substr($class, $pos + 1); + } - return $string->afterLast('\\')->snake()->toString(); + return strtolower(preg_replace('/([a-z])([A-Z])/', '$1_$2', $class)); } + /** + * @internal + * + * @param class-string $class + */ public static function getInstance(string $class): ?self { $reflectionClass = new \ReflectionClass($class); diff --git a/src/Autocomplete/src/Maker/MakeAutocompleteField.php b/src/Autocomplete/src/Maker/MakeAutocompleteField.php index 41ef37a4f80..1588b2cb22c 100644 --- a/src/Autocomplete/src/Maker/MakeAutocompleteField.php +++ b/src/Autocomplete/src/Maker/MakeAutocompleteField.php @@ -53,7 +53,7 @@ public static function getCommandDescription(): string return 'Generates an Ajax-autocomplete form field class for symfony/ux-autocomplete.'; } - public function configureCommand(Command $command, InputConfiguration $inputConfig) + public function configureCommand(Command $command, InputConfiguration $inputConfig): void { $command ->setHelp(<<addClassDependency(FormInterface::class, 'symfony/form'); } - public function interact(InputInterface $input, ConsoleStyle $io, Command $command) + public function interact(InputInterface $input, ConsoleStyle $io, Command $command): void { if (null === $this->doctrineHelper) { throw new \LogicException('Somehow the DoctrineHelper service is missing from MakerBundle.'); @@ -94,7 +94,7 @@ public function interact(InputInterface $input, ConsoleStyle $io, Command $comma ); } - public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator) + public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator): void { if (null === $this->doctrineHelper) { throw new \LogicException('Somehow the DoctrineHelper service is missing from MakerBundle.'); diff --git a/src/Autocomplete/tests/Unit/Form/AsEntityAutocompleteFieldTest.php b/src/Autocomplete/tests/Unit/Form/AsEntityAutocompleteFieldTest.php new file mode 100644 index 00000000000..c7fabeafd7d --- /dev/null +++ b/src/Autocomplete/tests/Unit/Form/AsEntityAutocompleteFieldTest.php @@ -0,0 +1,42 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\UX\Autocomplete\Tests\Unit\Form; + +use PHPUnit\Framework\TestCase; +use Symfony\UX\Autocomplete\Form\AsEntityAutocompleteField; +use Symfony\UX\Autocomplete\Tests\Fixtures\Form\ProductType; + +class AsEntityAutocompleteFieldTest extends TestCase +{ + /** + * @dataProvider provideClassNames + */ + public function testShortName(string $shortName, string $className): void + { + $this->assertEquals($shortName, AsEntityAutocompleteField::shortName($className)); + } + + /** + * @return iterable<{string, string}> + */ + public static function provideClassNames(): iterable + { + yield from [ + ['as_entity_autocomplete_field', AsEntityAutocompleteField::class], + ['product_type', ProductType::class], + ['bar', 'Bar'], + ['foo_bar', 'FooBar'], + ['foo_bar', 'Foo\FooBar'], + ['foo_bar', 'Foo\Bar\FooBar'], + ]; + } +} diff --git a/src/Chartjs/doc/index.rst b/src/Chartjs/doc/index.rst index e54ef1bd35e..8c9c1424943 100644 --- a/src/Chartjs/doc/index.rst +++ b/src/Chartjs/doc/index.rst @@ -26,10 +26,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- @@ -99,9 +95,6 @@ First, install the plugin: $ npm install chartjs-plugin-zoom -D - # or use yarn - $ yarn add chartjs-plugin-zoom --dev - Then register the plugin globally. This can be done in your ``app.js`` file: .. code-block:: javascript diff --git a/src/Cropperjs/doc/index.rst b/src/Cropperjs/doc/index.rst index df4ef6eef35..663948d8a01 100644 --- a/src/Cropperjs/doc/index.rst +++ b/src/Cropperjs/doc/index.rst @@ -26,10 +26,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/Dropzone/doc/index.rst b/src/Dropzone/doc/index.rst index cff26ffbda6..c5af43dce0f 100644 --- a/src/Dropzone/doc/index.rst +++ b/src/Dropzone/doc/index.rst @@ -28,10 +28,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/LazyImage/doc/index.rst b/src/LazyImage/doc/index.rst index 272384a0cc1..b8369e0ff5e 100644 --- a/src/LazyImage/doc/index.rst +++ b/src/LazyImage/doc/index.rst @@ -30,10 +30,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/LiveComponent/doc/index.rst b/src/LiveComponent/doc/index.rst index db2dd2933d3..d4c3ea9dca5 100644 --- a/src/LiveComponent/doc/index.rst +++ b/src/LiveComponent/doc/index.rst @@ -87,10 +87,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - If your project is localized in different languages (either via the `locale route parameter`_ or by `setting the locale in the request`_) add the ``{_locale}`` attribute to the UX Live Components route definition to keep the locale between re-renders: diff --git a/src/Notify/doc/index.rst b/src/Notify/doc/index.rst index 32611d7a6c4..f6c75eaf40c 100644 --- a/src/Notify/doc/index.rst +++ b/src/Notify/doc/index.rst @@ -25,10 +25,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/React/doc/index.rst b/src/React/doc/index.rst index 954061c8308..08a99031444 100644 --- a/src/React/doc/index.rst +++ b/src/React/doc/index.rst @@ -39,10 +39,6 @@ Next, install a package to help React: $ npm install -D @babel/preset-react --force $ npm run watch - # or use yarn - $ yarn add @babel/preset-react --dev --force - $ yarn watch - That's it! Any files inside ``assets/react/controllers/`` can now be rendered as React components. diff --git a/src/Svelte/doc/index.rst b/src/Svelte/doc/index.rst index 3dc0a92f405..b37ee8fa3d1 100644 --- a/src/Svelte/doc/index.rst +++ b/src/Svelte/doc/index.rst @@ -31,10 +31,6 @@ Install the bundle using Composer and Symfony Flex: $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - The Flex recipe will automatically set things up for you, like adding ``.enableSvelte()`` to your ``webpack.config.js`` file and adding code to load your Svelte components inside ``assets/app.js``. @@ -45,9 +41,6 @@ Next, install a package to help Svelte: $ npm install svelte-loader --save-dev - # or use yarn - $ yarn add svelte-loader --dev - That's it! Any files inside ``assets/svelte/controllers/`` can now be rendered as Svelte components. diff --git a/src/Swup/doc/index.rst b/src/Swup/doc/index.rst index 1b2ed8cc438..d97ffa8bf86 100644 --- a/src/Swup/doc/index.rst +++ b/src/Swup/doc/index.rst @@ -30,10 +30,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/TogglePassword/doc/index.rst b/src/TogglePassword/doc/index.rst index c9ea6cf0b4f..ee4e4ed1065 100644 --- a/src/TogglePassword/doc/index.rst +++ b/src/TogglePassword/doc/index.rst @@ -32,10 +32,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage with Symfony Forms ------------------------ diff --git a/src/Translator/doc/index.rst b/src/Translator/doc/index.rst index 6d194ce4a53..bb965b002a9 100644 --- a/src/Translator/doc/index.rst +++ b/src/Translator/doc/index.rst @@ -35,10 +35,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - After installing the bundle, the following file should be created, thanks to the Symfony Flex recipe: .. code-block:: javascript diff --git a/src/Turbo/CONTRIBUTING.md b/src/Turbo/CONTRIBUTING.md index 3eb5e018b6d..bc4c29ac10c 100644 --- a/src/Turbo/CONTRIBUTING.md +++ b/src/Turbo/CONTRIBUTING.md @@ -13,8 +13,6 @@ Install the test app: $ composer install $ cd tests/app - $ yarn install - $ yarn build $ php public/index.php doctrine:schema:create Start the test app: diff --git a/src/Turbo/README.md b/src/Turbo/README.md index aa855d717d7..538794fc22b 100644 --- a/src/Turbo/README.md +++ b/src/Turbo/README.md @@ -37,8 +37,6 @@ Configure test environment (working directory: `src/Turbo`): composer update docker compose up -d cd tests/app -yarn install -yarn build php public/index.php doctrine:schema:create ``` diff --git a/src/Turbo/doc/index.rst b/src/Turbo/doc/index.rst index 336145ca68c..53ac4c6a73b 100644 --- a/src/Turbo/doc/index.rst +++ b/src/Turbo/doc/index.rst @@ -37,10 +37,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/Typed/doc/index.rst b/src/Typed/doc/index.rst index 1a84eacaf95..f6423bbd699 100644 --- a/src/Typed/doc/index.rst +++ b/src/Typed/doc/index.rst @@ -31,10 +31,6 @@ needed if you're using AssetMapper): $ npm install --force $ npm run watch - # or use yarn - $ yarn install --force - $ yarn watch - Usage ----- diff --git a/src/Vue/doc/index.rst b/src/Vue/doc/index.rst index 3f19e3afa9b..0f4f8d0ccc2 100644 --- a/src/Vue/doc/index.rst +++ b/src/Vue/doc/index.rst @@ -39,10 +39,6 @@ Next, install a package to help Vue: $ npm install -D vue-loader --force $ npm run watch - # or with yarn - $ yarn add vue-loader --dev --force - $ yarn watch - That's it! Any files inside ``assets/vue/controllers/`` can now be rendered as Vue components. diff --git a/ux.symfony.com/assets/build/README.md b/ux.symfony.com/assets/build/README.md deleted file mode 100644 index 815eabac1e6..00000000000 --- a/ux.symfony.com/assets/build/README.md +++ /dev/null @@ -1,8 +0,0 @@ -# assets/build Directory - -This project uses some items - like React and Svelte - that have their own custom, -non-Javascript formats (e.g. JSX). These require a build step to conver the custom -format to pure JavaScript. See the "scripts" section of package.json for more details. - -This directory is committed to avoid needing to run the build step during deploy, -but it could be ignored. diff --git a/ux.symfony.com/assets/app-react.js b/ux.symfony.com/assets/react/app-react.js similarity index 84% rename from ux.symfony.com/assets/app-react.js rename to ux.symfony.com/assets/react/app-react.js index f1c8c39cb81..8b62bee1e6c 100644 --- a/ux.symfony.com/assets/app-react.js +++ b/ux.symfony.com/assets/react/app-react.js @@ -1,5 +1,5 @@ import {registerReactControllerComponents} from '@symfony/ux-react'; -import './app.js'; +import '../app.js'; registerReactControllerComponents(); diff --git a/ux.symfony.com/assets/react/components/PackageList.jsx b/ux.symfony.com/assets/react/components/PackageList.jsx deleted file mode 100644 index 9aab4470d2c..00000000000 --- a/ux.symfony.com/assets/react/components/PackageList.jsx +++ /dev/null @@ -1,37 +0,0 @@ -import React from 'react'; - -export default function (props) { - if (props.packages.length === 0) { - return ( -
Sad trombone... we haven't built any components that match this search yet!
- ); - } - - return ( -
- {props.packages.map(item => ( - -
-
-
- {`Image -
-

- {item.humanName} -

-
-
-
- ))} -
- ); -} diff --git a/ux.symfony.com/assets/build/react/components/PackageList.js b/ux.symfony.com/assets/react/dist/components/PackageList.js similarity index 100% rename from ux.symfony.com/assets/build/react/components/PackageList.js rename to ux.symfony.com/assets/react/dist/components/PackageList.js diff --git a/ux.symfony.com/assets/build/react/controllers/PackageSearch.js b/ux.symfony.com/assets/react/dist/controllers/PackageSearch.js similarity index 100% rename from ux.symfony.com/assets/build/react/controllers/PackageSearch.js rename to ux.symfony.com/assets/react/dist/controllers/PackageSearch.js diff --git a/ux.symfony.com/assets/react/src/components/PackageList.jsx b/ux.symfony.com/assets/react/src/components/PackageList.jsx new file mode 100644 index 00000000000..235b31ca36a --- /dev/null +++ b/ux.symfony.com/assets/react/src/components/PackageList.jsx @@ -0,0 +1,20 @@ +import React from 'react'; + +export default function (props) { + if (props.packages.length === 0) { + return 'No packages found'; + } + + return ( + props.packages.map(item => ( +
+
+ {`Image +
+

+ {item.humanName} +

+
+ )) + ); +} diff --git a/ux.symfony.com/assets/react/controllers/PackageSearch.jsx b/ux.symfony.com/assets/react/src/controllers/PackageSearch.jsx similarity index 100% rename from ux.symfony.com/assets/react/controllers/PackageSearch.jsx rename to ux.symfony.com/assets/react/src/controllers/PackageSearch.jsx diff --git a/ux.symfony.com/assets/react/src/package.json b/ux.symfony.com/assets/react/src/package.json new file mode 100644 index 00000000000..b6812da41fe --- /dev/null +++ b/ux.symfony.com/assets/react/src/package.json @@ -0,0 +1,12 @@ +{ + "devDependencies": { + "@babel/cli": "^7.25.6", + "@babel/core": "^7.25.2", + "@babel/preset-react": "^7.24.7" + }, + "license": "MIT", + "private": true, + "scripts": { + "build": "../build/node_modules/.bin/babel ../. --out-dir ../../build/react --presets=@babel/preset-react" + } +} diff --git a/ux.symfony.com/assets/styles/app.scss b/ux.symfony.com/assets/styles/app.scss index 0b17c833edf..27873192b1b 100644 --- a/ux.symfony.com/assets/styles/app.scss +++ b/ux.symfony.com/assets/styles/app.scss @@ -143,6 +143,7 @@ $utilities: map-remove( @import "components/ProductGrid"; @import "components/PackageHeader"; @import "components/PackageBox"; +@import "components/PackageList"; @import "components/Cookbook"; @import "components/SupportBox"; @import "components/Tabs"; diff --git a/ux.symfony.com/assets/styles/components/_PackageList.scss b/ux.symfony.com/assets/styles/components/_PackageList.scss new file mode 100644 index 00000000000..27b7d60f0eb --- /dev/null +++ b/ux.symfony.com/assets/styles/components/_PackageList.scss @@ -0,0 +1,61 @@ +.PackageList { + --gradient: #202427; + --color: #C8CED2; + display: grid; + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); + gap: .75rem; +} + +.PackageListItem { + background: var(--bs-body-bg); + border-radius: .75rem; + border: 0.66px solid var(--bs-secondary-bg-subtle); + padding: .5rem; + display: flex; + align-items: center; + justify-content: flex-start; + gap: .75rem; + position: relative; +} + +.PackageListItem__icon { + width: 3rem; + aspect-ratio: 1; + border-radius: 14%; + background: var(--gradient); + display: grid; + place-items: center; + + img { + width: 100%; + height: 100%; + max-width: 50%; + max-height: 50%; + transition: transform 0.35s; + .PackageListItem:hover & { + transform: scale(1.05); + } + } +} + +.PackageListItem__label { + font-size: 1.25rem; + font-family: var(--font-family-title); + font-weight: 600; + margin: 0; + flex: 1; + opacity: .85; + transition: opacity 0.5s; + letter-spacing: -0.07ch; + + .PackageListItem:hover & { + opacity: 1; + transition: opacity 0.25s; + } + + a:after { + content: " "; + inset: 0; + position: absolute; + } +} diff --git a/ux.symfony.com/assets/app-svelte.js b/ux.symfony.com/assets/svelte/app-svelte.js similarity index 84% rename from ux.symfony.com/assets/app-svelte.js rename to ux.symfony.com/assets/svelte/app-svelte.js index cd38b60b69f..85ef795bb79 100644 --- a/ux.symfony.com/assets/app-svelte.js +++ b/ux.symfony.com/assets/svelte/app-svelte.js @@ -1,5 +1,5 @@ import {registerSvelteControllerComponents} from '@symfony/ux-svelte'; -import './app.js'; +import '../app.js'; registerSvelteControllerComponents(); diff --git a/ux.symfony.com/assets/build/svelte/components/PackageList.js b/ux.symfony.com/assets/svelte/dist/components/PackageList.js similarity index 100% rename from ux.symfony.com/assets/build/svelte/components/PackageList.js rename to ux.symfony.com/assets/svelte/dist/components/PackageList.js diff --git a/ux.symfony.com/assets/build/svelte/controllers/PackageSearch.js b/ux.symfony.com/assets/svelte/dist/controllers/PackageSearch.js similarity index 100% rename from ux.symfony.com/assets/build/svelte/controllers/PackageSearch.js rename to ux.symfony.com/assets/svelte/dist/controllers/PackageSearch.js diff --git a/ux.symfony.com/bin/compile_svelte.js b/ux.symfony.com/assets/svelte/src/build.js similarity index 90% rename from ux.symfony.com/bin/compile_svelte.js rename to ux.symfony.com/assets/svelte/src/build.js index 967b809ea57..0df0dd3a9b7 100644 --- a/ux.symfony.com/bin/compile_svelte.js +++ b/ux.symfony.com/assets/svelte/src/build.js @@ -31,6 +31,6 @@ function compileDirectory(inputDir, outputDir) { } compileDirectory( - path.join(__dirname, '..', 'assets', 'svelte'), - path.join(__dirname, '..', 'assets', 'build', 'svelte'), + path.join(__dirname, '..', 'src' ), + path.join(__dirname, '..', 'dist' ), ); diff --git a/ux.symfony.com/assets/svelte/components/PackageList.svelte b/ux.symfony.com/assets/svelte/src/components/PackageList.svelte similarity index 100% rename from ux.symfony.com/assets/svelte/components/PackageList.svelte rename to ux.symfony.com/assets/svelte/src/components/PackageList.svelte diff --git a/ux.symfony.com/assets/svelte/controllers/PackageSearch.svelte b/ux.symfony.com/assets/svelte/src/controllers/PackageSearch.svelte similarity index 100% rename from ux.symfony.com/assets/svelte/controllers/PackageSearch.svelte rename to ux.symfony.com/assets/svelte/src/controllers/PackageSearch.svelte diff --git a/ux.symfony.com/package.json b/ux.symfony.com/assets/svelte/src/package.json similarity index 77% rename from ux.symfony.com/package.json rename to ux.symfony.com/assets/svelte/src/package.json index f0fd6aff260..bdac40b7000 100644 --- a/ux.symfony.com/package.json +++ b/ux.symfony.com/assets/svelte/src/package.json @@ -9,7 +9,6 @@ "private": true, "scripts": { "build": "yarn build-react && yarn build-svelte", - "build-react": "babel assets/react --out-dir assets/build/react --presets=@babel/preset-react", "build-svelte": "node bin/compile_svelte.js" } } diff --git a/ux.symfony.com/assets/app-vue.js b/ux.symfony.com/assets/vue/app-vue.js similarity index 83% rename from ux.symfony.com/assets/app-vue.js rename to ux.symfony.com/assets/vue/app-vue.js index 9999d5e9474..7a964d534d3 100644 --- a/ux.symfony.com/assets/app-vue.js +++ b/ux.symfony.com/assets/vue/app-vue.js @@ -1,5 +1,5 @@ import {registerVueControllerComponents} from '@symfony/ux-vue'; -import './app.js'; +import '../app.js'; registerVueControllerComponents(); diff --git a/ux.symfony.com/assets/vue/components/PackageList.js b/ux.symfony.com/assets/vue/components/PackageList.js index 70ff7977941..7fc72294a50 100644 --- a/ux.symfony.com/assets/vue/components/PackageList.js +++ b/ux.symfony.com/assets/vue/components/PackageList.js @@ -1,34 +1,21 @@ export default { props: ['packages'], template: ` -
-
- Sad trombone... we haven't built any components that match this search yet! +
+ No packages found. Sad trombone...
-
- -
- ` }; diff --git a/ux.symfony.com/assets/vue/controllers/PackageSearch.js b/ux.symfony.com/assets/vue/controllers/PackageSearch.js index 2259612f66d..a27bf8ec06f 100644 --- a/ux.symfony.com/assets/vue/controllers/PackageSearch.js +++ b/ux.symfony.com/assets/vue/controllers/PackageSearch.js @@ -1,4 +1,4 @@ -/* +/** | Single-File Components - e.g. PackageSearch.vue - | are supported when using Webpack Encore. */ diff --git a/ux.symfony.com/config/packages/asset_mapper.yaml b/ux.symfony.com/config/packages/asset_mapper.yaml index 7a6b8642a78..56abd2b3e04 100644 --- a/ux.symfony.com/config/packages/asset_mapper.yaml +++ b/ux.symfony.com/config/packages/asset_mapper.yaml @@ -7,10 +7,12 @@ framework: - '*/assets/styles/_*.scss' - '*/assets/styles/**/_*.scss' - '*/assets/icons/**' + - '*/assets/react/src/**' # Exclude React source + build files + - '*/assets/svelte/src/**' # Exclude Svelte source + build files importmap_polyfill: false react: - controllers_path: '%kernel.project_dir%/assets/build/react/controllers' + controllers_path: '%kernel.project_dir%/assets/react/dist/controllers' svelte: - controllers_path: '%kernel.project_dir%/assets/build/svelte/controllers' + controllers_path: '%kernel.project_dir%/assets/svelte/dist/controllers' diff --git a/ux.symfony.com/importmap.php b/ux.symfony.com/importmap.php index 90273c85077..a09ee73a588 100644 --- a/ux.symfony.com/importmap.php +++ b/ux.symfony.com/importmap.php @@ -17,15 +17,15 @@ 'entrypoint' => true, ], 'app-react' => [ - 'path' => './assets/app-react.js', + 'path' => './assets/react/app-react.js', 'entrypoint' => true, ], 'app-svelte' => [ - 'path' => './assets/app-svelte.js', + 'path' => './assets/svelte/app-svelte.js', 'entrypoint' => true, ], 'app-vue' => [ - 'path' => './assets/app-vue.js', + 'path' => './assets/vue/app-vue.js', 'entrypoint' => true, ], 'demos/live-memory' => [ diff --git a/ux.symfony.com/templates/components/FileTree.html.twig b/ux.symfony.com/templates/components/FileTree.html.twig new file mode 100644 index 00000000000..70519766053 --- /dev/null +++ b/ux.symfony.com/templates/components/FileTree.html.twig @@ -0,0 +1,22 @@ +
+ {{ _self.fileTree(files) }} +
+ +{% macro fileTree(files) %} + {% for file_info in files %} +
  • + + + {{ file_info.filename }} + + {% if file_info.files is defined %} +
      + {{ _self.fileTree(file_info.files) }} +
    + {% endif %} +
  • + {% endfor %} +{% endmacro %} diff --git a/ux.symfony.com/templates/components/Package/PackageListItem.html.twig b/ux.symfony.com/templates/components/Package/PackageListItem.html.twig new file mode 100644 index 00000000000..c3e0b31b697 --- /dev/null +++ b/ux.symfony.com/templates/components/Package/PackageListItem.html.twig @@ -0,0 +1,8 @@ + diff --git a/ux.symfony.com/templates/components/Package/SearchPackages.html.twig b/ux.symfony.com/templates/components/Package/SearchPackages.html.twig index ba5923ed3c8..fe4cd45d959 100644 --- a/ux.symfony.com/templates/components/Package/SearchPackages.html.twig +++ b/ux.symfony.com/templates/components/Package/SearchPackages.html.twig @@ -1,18 +1,13 @@ - - {% if computed.packages|length > 0 %} -
    - {% for package in computed.packages %} - {{ include('main/_package_in_list.html.twig', {package}) }} - {% endfor %} -
    - {% else %} -
    Ah! No packages found matching "{{ query }}"
    - {% endif %} + + +
    + {% for package in computed.packages %} + {{ include('components/Package/PackageListItem.html.twig', {package}) }} + {% else %} + No packages found "{{ query }}" + {% endfor %} +
    +
    diff --git a/ux.symfony.com/templates/main/_file_tree.html.twig b/ux.symfony.com/templates/main/_file_tree.html.twig deleted file mode 100644 index 460bd5b4168..00000000000 --- a/ux.symfony.com/templates/main/_file_tree.html.twig +++ /dev/null @@ -1,29 +0,0 @@ -{% macro summaryAttributes(description) %} - {% if description %} - data-bs-toggle="tooltip" data-bs-html="true" data-bs-placement="right" title="{{ description|e('html_attr') }}" - {% endif %} -{% endmacro %} - -{% for file_info in files %} - {% if file_info.isDirectory %} -
  • - - - {{ file_info.filename }} - - -
      - {{ include('main/_file_tree.html.twig', { - files: file_info.files - }) }} -
    -
  • - {% else %} -
  • - - - {{ file_info.filename }} - -
  • - {% endif %} -{% endfor %} diff --git a/ux.symfony.com/templates/main/_package_in_list.html.twig b/ux.symfony.com/templates/main/_package_in_list.html.twig deleted file mode 100644 index 27924e351fa..00000000000 --- a/ux.symfony.com/templates/main/_package_in_list.html.twig +++ /dev/null @@ -1,10 +0,0 @@ - -
    -
    -
    - Image for the {{ package.humanName }} UX package -
    -

    {{ package.humanName }}

    -
    -
    -
    diff --git a/ux.symfony.com/templates/main/homepage.html.twig b/ux.symfony.com/templates/main/homepage.html.twig index 451a647a673..be793193221 100644 --- a/ux.symfony.com/templates/main/homepage.html.twig +++ b/ux.symfony.com/templates/main/homepage.html.twig @@ -37,13 +37,9 @@
    -
    +
    -
      - {{ include('main/_file_tree.html.twig', { - files: recipeFileTree.files - }) }} -
    +
    diff --git a/ux.symfony.com/templates/ux_packages/live_component.html.twig b/ux.symfony.com/templates/ux_packages/live_component.html.twig index e256d524585..b8eb5a286a8 100644 --- a/ux.symfony.com/templates/ux_packages/live_component.html.twig +++ b/ux.symfony.com/templates/ux_packages/live_component.html.twig @@ -26,10 +26,10 @@ {% block demo_title %} Live Components {% endblock %} + {% block demo_content %} - -
    +
    Automatic debouncing
    Loading states
    @@ -61,6 +61,6 @@
    - {{ parent() }} +{{ parent() }} {% endblock %} diff --git a/ux.symfony.com/templates/ux_packages/react.html.twig b/ux.symfony.com/templates/ux_packages/react.html.twig index aaba413028f..b2ea1a16f67 100644 --- a/ux.symfony.com/templates/ux_packages/react.html.twig +++ b/ux.symfony.com/templates/ux_packages/react.html.twig @@ -20,7 +20,7 @@ {% endblock %} {% block code_block_left %} - + {% endblock %} {% block code_block_right %} @@ -34,9 +34,7 @@ {% block demo_title %}UX React{% endblock %} {% block demo_content %} -
    - Loading... +
    + Loading...
    {% endblock %} diff --git a/ux.symfony.com/templates/ux_packages/svelte.html.twig b/ux.symfony.com/templates/ux_packages/svelte.html.twig index d554f368814..baf3338cde7 100644 --- a/ux.symfony.com/templates/ux_packages/svelte.html.twig +++ b/ux.symfony.com/templates/ux_packages/svelte.html.twig @@ -20,7 +20,7 @@ {% endblock %} {% block code_block_left %} - + {% endblock %} {% block code_block_right %} @@ -34,9 +34,7 @@ {% block demo_title %}UX Svelte{% endblock %} {% block demo_content %} -
    - Loading... +
    + Loading...
    {% endblock %} diff --git a/ux.symfony.com/templates/ux_packages/swup.html.twig b/ux.symfony.com/templates/ux_packages/swup.html.twig index 443e3d74863..e602bf99b5c 100644 --- a/ux.symfony.com/templates/ux_packages/swup.html.twig +++ b/ux.symfony.com/templates/ux_packages/swup.html.twig @@ -31,9 +31,10 @@ {% block demo_content %} {% block swup_specific_demo_content %}
    -
    + +
    {% for package in results %} - {{ include('main/_package_in_list.html.twig', {package}) }} + {{ include('components/Package/PackageListItem.html.twig', {package}) }} {% endfor %}
    @@ -50,7 +51,7 @@
    {% endblock %} -
    +
    Ajax-powered page navigation
    URL in address bar changes
    diff --git a/ux.symfony.com/templates/ux_packages/vue.html.twig b/ux.symfony.com/templates/ux_packages/vue.html.twig index ad098415d0a..d529fd1a41c 100644 --- a/ux.symfony.com/templates/ux_packages/vue.html.twig +++ b/ux.symfony.com/templates/ux_packages/vue.html.twig @@ -34,9 +34,7 @@ {% block demo_title %}UX Vue.js{% endblock %} {% block demo_content %} -
    - Loading... +
    + Loading...
    {% endblock %} diff --git a/ux.symfony.com/yarn.lock b/ux.symfony.com/yarn.lock deleted file mode 100644 index f6ac844bda1..00000000000 --- a/ux.symfony.com/yarn.lock +++ /dev/null @@ -1,698 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@ampproject/remapping@^2.2.0": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/cli@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/cli/-/cli-7.25.6.tgz#bc35561adc78ade43ac9c09a690768493ab9ed95" - integrity sha512-Z+Doemr4VtvSD2SNHTrkiFZ1LX+JI6tyRXAAOb4N9khIuPyoEPmTPJarPm8ljJV1D6bnMQjyHMWTT9NeKbQuXA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.25" - commander "^6.2.0" - convert-source-map "^2.0.0" - fs-readdir-recursive "^1.1.0" - glob "^7.2.0" - make-dir "^2.1.0" - slash "^2.0.0" - optionalDependencies: - "@nicolo-ribaudo/chokidar-2" "2.1.8-no-fsevents.3" - chokidar "^3.6.0" - -"@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== - dependencies: - "@babel/highlight" "^7.24.7" - picocolors "^1.0.0" - -"@babel/compat-data@^7.25.2": - version "7.25.4" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== - -"@babel/core@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/generator@^7.25.0", "@babel/generator@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== - dependencies: - "@babel/types" "^7.25.6" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" - -"@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== - dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helpers@^7.25.0": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.25.6.tgz#57ee60141829ba2e102f30711ffe3afab357cc60" - integrity sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" - chalk "^2.4.2" - js-tokens "^4.0.0" - picocolors "^1.0.0" - -"@babel/parser@^7.25.0", "@babel/parser@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== - dependencies: - "@babel/types" "^7.25.6" - -"@babel/plugin-syntax-jsx@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-react-display-name@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz#9caff79836803bc666bcfe210aeb6626230c293b" - integrity sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-react-jsx-development@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz#eaee12f15a93f6496d852509a850085e6361470b" - integrity sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ== - dependencies: - "@babel/plugin-transform-react-jsx" "^7.24.7" - -"@babel/plugin-transform-react-jsx@^7.24.7": - version "7.25.2" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.2.tgz#e37e8ebfa77e9f0b16ba07fadcb6adb47412227a" - integrity sha512-KQsqEAVBpU82NM/B/N9j9WOdphom1SZH3R+2V7INrQUH+V9EBFwZsEJl8eBIVeQE62FxJCc70jzEZwqU7RcVqA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/types" "^7.25.2" - -"@babel/plugin-transform-react-pure-annotations@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz#bdd9d140d1c318b4f28b29a00fb94f97ecab1595" - integrity sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/preset-react@^7.24.7": - version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.24.7.tgz#480aeb389b2a798880bf1f889199e3641cbb22dc" - integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-transform-react-display-name" "^7.24.7" - "@babel/plugin-transform-react-jsx" "^7.24.7" - "@babel/plugin-transform-react-jsx-development" "^7.24.7" - "@babel/plugin-transform-react-pure-annotations" "^7.24.7" - -"@babel/template@^7.25.0": - version "7.25.0" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.24.7", "@babel/traverse@^7.25.2": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.24.7", "@babel/types@^7.25.0", "@babel/types@^7.25.2", "@babel/types@^7.25.6": - version "7.25.6" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== - dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" - -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.3" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/gen-mapping@^0.3.5": - version "0.3.5" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36" - integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg== - dependencies: - "@jridgewell/set-array" "^1.2.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.24" - -"@jridgewell/resolve-uri@3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - -"@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/set-array@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280" - integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A== - -"@jridgewell/sourcemap-codec@1.4.14": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - -"@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.15" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/sourcemap-codec@^1.4.14": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" - integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== - -"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25": - version "0.3.25" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0" - integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@^0.3.9": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz#25783b2086daf6ff1dcb53c9249ae480e4dd4cd6" - integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - -"@nicolo-ribaudo/chokidar-2@2.1.8-no-fsevents.3": - version "2.1.8-no-fsevents.3" - resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz#323d72dd25103d0c4fbdce89dadf574a787b1f9b" - integrity sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ== - -ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - -anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.23.1: - version "4.24.0" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" - integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== - dependencies: - caniuse-lite "^1.0.30001663" - electron-to-chromium "^1.5.28" - node-releases "^2.0.18" - update-browserslist-db "^1.1.0" - -caniuse-lite@^1.0.30001663: - version "1.0.30001664" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001664.tgz#d588d75c9682d3301956b05a3749652a80677df4" - integrity sha512-AmE7k4dXiNKQipgn7a2xg558IRqPN3jMQY/rOsbxDhrd0tyChwbITBfiwtnqz8bi2M5mIWbxAYBvk7W7QBUS2g== - -chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - -chokidar@^3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" - integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - -color-convert@^1.9.0: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - -commander@^6.2.0: - version "6.2.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c" - integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -convert-source-map@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" - integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== - -debug@^4.1.0: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@^4.3.1: - version "4.3.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - -electron-to-chromium@^1.5.28: - version "1.5.29" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.29.tgz#aa592a3caa95d07cc26a66563accf99fa573a1ee" - integrity sha512-PF8n2AlIhCKXQ+gTpiJi0VhcHDb69kYX4MtCiivctc2QD3XuNZ/XIOlbGzt7WAjjEev0TtaH6Cu3arZExm5DOw== - -escalade@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" - integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== - -escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -fs-readdir-recursive@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz#e32fc030a2ccee44a6b5371308da54be0b397d27" - integrity sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA== - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - -gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - -glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob@^7.2.0: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - -has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@2: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-glob@^4.0.1, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -json5@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - -lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - -make-dir@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" - integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA== - dependencies: - pify "^4.0.1" - semver "^5.6.0" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -ms@^2.1.3: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - -node-releases@^2.0.18: - version "2.0.18" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" - integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== - -normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - -once@^1.3.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picocolors@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" - integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== - -picomatch@^2.0.4, picomatch@^2.2.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pify@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" - integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g== - -readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - -semver@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - -semver@^6.3.1: - version "6.3.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" - integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== - -slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - -supports-color@^5.3.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - -svelte@^3.59.1: - version "3.59.1" - resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.59.1.tgz#3de3d56b9165748f32f3131589b8d183cabe7449" - integrity sha512-pKj8fEBmqf6mq3/NfrB9SLtcJcUvjYSWyePlfCqN9gujLB25RitWK8PvFzlwim6hD/We35KbPlRteuA6rnPGcQ== - -to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - -to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - -update-browserslist-db@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" - integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== - dependencies: - escalade "^3.2.0" - picocolors "^1.1.0" - -wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -yallist@^3.0.2: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==