summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--.gitlab-ci/pipeline.yml4
-rw-r--r--SECURITY.md4
-rw-r--r--composer.lock4
-rw-r--r--core/.phpstan-baseline.php122
-rw-r--r--core/.phpunit-next.xml164
-rw-r--r--core/assets/schemas/v1/metadata-full.schema.json20
-rw-r--r--core/assets/schemas/v1/metadata.schema.json20
-rw-r--r--core/composer.json2
-rw-r--r--core/core.services.yml1
-rw-r--r--core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php34
-rw-r--r--core/lib/Drupal/Component/Annotation/composer.json2
-rw-r--r--core/lib/Drupal/Core/Access/AccessGroupAnd.php (renamed from core/modules/block_content/src/Access/AccessGroupAnd.php)16
-rw-r--r--core/lib/Drupal/Core/Access/DependentAccessInterface.php (renamed from core/modules/block_content/src/Access/DependentAccessInterface.php)2
-rw-r--r--core/lib/Drupal/Core/Access/RefinableDependentAccessInterface.php (renamed from core/modules/block_content/src/Access/RefinableDependentAccessInterface.php)4
-rw-r--r--core/lib/Drupal/Core/Access/RefinableDependentAccessTrait.php (renamed from core/modules/block_content/src/Access/RefinableDependentAccessTrait.php)6
-rw-r--r--core/lib/Drupal/Core/Config/Plugin/Validation/Constraint/ConfigExistsConstraintValidator.php3
-rw-r--r--core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php5
-rw-r--r--core/lib/Drupal/Core/Extension/ModuleHandler.php6
-rw-r--r--core/lib/Drupal/Core/ProxyClass/Cron.php80
-rw-r--r--core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php346
-rw-r--r--core/lib/Drupal/Core/Test/RunTests/TestFileParser.php7
-rw-r--r--core/lib/Drupal/Core/Test/TestDiscovery.php41
-rw-r--r--core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php57
-rw-r--r--core/misc/dialog/off-canvas/css/button.pcss.css2
-rw-r--r--core/misc/dialog/off-canvas/css/tabledrag.pcss.css6
-rw-r--r--core/misc/dialog/off-canvas/css/wrapper.css2
-rw-r--r--core/misc/dialog/off-canvas/css/wrapper.pcss.css2
-rw-r--r--core/misc/tabledrag.js6
-rw-r--r--core/modules/automated_cron/automated_cron.services.yml2
-rw-r--r--core/modules/automated_cron/src/EventSubscriber/AutomatedCron.php52
-rw-r--r--core/modules/automated_cron/tests/src/Kernel/AutomatedCronTest.php46
-rw-r--r--core/modules/big_pipe/js/big_pipe.js3
-rw-r--r--core/modules/block_content/block_content.services.yml22
-rw-r--r--core/modules/block_content/src/BlockContentAccessControlHandler.php2
-rw-r--r--core/modules/block_content/src/BlockContentInterface.php2
-rw-r--r--core/modules/block_content/src/Entity/BlockContent.php2
-rw-r--r--core/modules/ckeditor5/css/drupalmedia.css2
-rw-r--r--core/modules/ckeditor5/js/build/drupalMedia.js2
-rw-r--r--core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js3
-rw-r--r--core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js3
-rw-r--r--core/modules/content_moderation/tests/src/Functional/WorkspaceContentModerationIntegrationTest.php3
-rw-r--r--core/modules/contextual/contextual.libraries.yml1
-rw-r--r--core/modules/contextual/js/contextual.js254
-rw-r--r--core/modules/contextual/js/contextualModelView.js254
-rw-r--r--core/modules/field_ui/css/field_ui_add_field.module.css2
-rw-r--r--core/modules/field_ui/css/field_ui_add_field.module.pcss.css2
-rw-r--r--core/modules/jsonapi/tests/src/Functional/WorkspaceTest.php3
-rw-r--r--core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php1
-rw-r--r--core/modules/layout_builder/css/layout-builder.pcss.css2
-rw-r--r--core/modules/layout_builder/css/off-canvas.css2
-rw-r--r--core/modules/layout_builder/css/off-canvas.pcss.css2
-rw-r--r--core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php2
-rw-r--r--core/modules/layout_builder/src/Plugin/Block/InlineBlock.php4
-rw-r--r--core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.info.yml5
-rw-r--r--core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.module19
-rw-r--r--core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBlockContentDependencyTest.php51
-rw-r--r--core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php2
-rw-r--r--core/modules/link/tests/src/Functional/LinkFieldUITest.php1
-rw-r--r--core/modules/navigation/components/badge/badge.component.yml3
-rw-r--r--core/modules/navigation/components/title/title.component.yml12
-rw-r--r--core/modules/navigation/components/toolbar-button/toolbar-button.component.yml16
-rw-r--r--core/modules/navigation/components/toolbar-button/toolbar-button.css2
-rw-r--r--core/modules/navigation/components/toolbar-button/toolbar-button.pcss.css2
-rw-r--r--core/modules/navigation/css/base/variables.css10
-rw-r--r--core/modules/navigation/css/base/variables.pcss.css10
-rw-r--r--core/modules/navigation/css/components/admin-toolbar.css4
-rw-r--r--core/modules/navigation/css/components/admin-toolbar.pcss.css4
-rw-r--r--core/modules/navigation/css/components/toolbar-dropdown.css2
-rw-r--r--core/modules/navigation/css/components/toolbar-dropdown.pcss.css2
-rw-r--r--core/modules/navigation/css/components/toolbar-menu.css4
-rw-r--r--core/modules/navigation/css/components/toolbar-menu.pcss.css4
-rw-r--r--core/modules/navigation/css/components/toolbar-message.css2
-rw-r--r--core/modules/navigation/css/components/toolbar-message.pcss.css2
-rw-r--r--core/modules/navigation/css/components/toolbar-popover.css6
-rw-r--r--core/modules/navigation/css/components/toolbar-popover.pcss.css6
-rw-r--r--core/modules/navigation/css/components/top-bar.css2
-rw-r--r--core/modules/navigation/css/components/top-bar.pcss.css2
-rw-r--r--core/modules/navigation/js/admin-toolbar-wrapper.js40
-rw-r--r--core/modules/navigation/src/Hook/NavigationHooks.php2
-rw-r--r--core/modules/navigation/src/WorkspacesLazyBuilder.php3
-rw-r--r--core/modules/navigation/templates/top-bar.html.twig28
-rw-r--r--core/modules/navigation/tests/src/Functional/NavigationWorkspacesUiTest.php49
-rw-r--r--core/modules/navigation/tests/src/Nightwatch/Tests/navigationDisplaceTest.js26
-rw-r--r--core/modules/package_manager/package_manager.services.yml9
-rw-r--r--core/modules/package_manager/src/DirectWritePreconditionBypass.php5
-rw-r--r--core/modules/package_manager/tests/src/Kernel/DirectWriteTest.php38
-rw-r--r--core/modules/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php1
-rw-r--r--core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php1
-rw-r--r--core/modules/settings_tray/css/settings_tray.theme.css6
-rw-r--r--core/modules/settings_tray/css/settings_tray.toolbar.css4
-rw-r--r--core/modules/shortcut/css/shortcut.theme.css2
-rw-r--r--core/modules/system/css/components/system-status-report-counters.css2
-rw-r--r--core/modules/system/tests/modules/module_test/module_test.file.inc14
-rw-r--r--core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.component.yml4
-rw-r--r--core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.twig1
-rw-r--r--core/modules/system/tests/modules/sdc_test/components/my-button/my-button.component.yml4
-rw-r--r--core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.component.yml13
-rw-r--r--core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.twig2
-rw-r--r--core/modules/system/tests/modules/sdc_test_replacements/components/my-button/my-button.component.yml4
-rw-r--r--core/modules/system/tests/src/Kernel/DateFormatAccessControlHandlerTest.php11
-rw-r--r--core/modules/system/tests/src/Kernel/System/CronQueueTest.php3
-rw-r--r--core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php1
-rw-r--r--core/modules/toolbar/css/toolbar.theme.css22
-rw-r--r--core/modules/views_ui/css/views_ui.admin.theme.css4
-rw-r--r--core/modules/workflows/tests/src/Kernel/WorkflowAccessControlHandlerTest.php11
-rw-r--r--core/modules/workspaces/css/workspaces.toolbar.pcss.css2
-rw-r--r--core/modules/workspaces/src/Controller/WorkspacesHtmlEntityFormController.php17
-rw-r--r--core/modules/workspaces/tests/modules/workspaces_test/src/Hook/WorkspacesTestHooks.php56
-rw-r--r--core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php13
-rw-r--r--core/modules/workspaces/tests/src/Functional/Rest/WorkspaceResourceTestBase.php2
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceCacheContextTest.php17
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceEntityDeleteTest.php6
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php4
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceMenuLinkContentIntegrationTest.php3
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceSwitcherTest.php15
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceTest.php8
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php24
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspaceViewsBulkFormTest.php4
-rw-r--r--core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php8
-rw-r--r--core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php1
-rw-r--r--core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php5
-rw-r--r--core/modules/workspaces/workspaces.install32
-rw-r--r--core/modules/workspaces_ui/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php3
-rw-r--r--core/package.json24
-rw-r--r--core/profiles/demo_umami/themes/umami/components/badge/badge.component.yml6
-rw-r--r--core/profiles/demo_umami/themes/umami/components/banner/banner.css2
-rw-r--r--core/profiles/demo_umami/themes/umami/components/card/card.component.yml4
-rw-r--r--core/profiles/demo_umami/themes/umami/components/title/title.component.yml9
-rw-r--r--core/profiles/demo_umami/themes/umami/css/classy/components/progress.css4
-rw-r--r--core/profiles/demo_umami/themes/umami/css/components/navigation/skip-link/skip-link.css2
-rw-r--r--core/scripts/css/compile.js1
-rwxr-xr-xcore/scripts/run-tests.sh222
-rw-r--r--core/tests/Drupal/KernelTests/Components/ComponentTranslationTest.php189
-rw-r--r--core/tests/Drupal/KernelTests/Core/Config/ConfigExistsConstraintValidatorTest.php7
-rw-r--r--core/tests/Drupal/KernelTests/Core/Extension/ModuleHandlerTest.php75
-rw-r--r--core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiFindAllClassFilesTest.php72
-rw-r--r--core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiGetTestClassesTest.php109
-rw-r--r--core/tests/Drupal/KernelTests/Core/Test/PhpUnitTestDiscoveryTest.php28
-rw-r--r--core/tests/Drupal/Tests/Core/Access/AccessGroupAndTest.php (renamed from core/modules/block_content/tests/src/Unit/Access/AccessGroupAndTest.php)8
-rw-r--r--core/tests/Drupal/Tests/Core/Access/AccessibleTestingTrait.php (renamed from core/modules/block_content/tests/src/Unit/Access/AccessibleTestingTrait.php)2
-rw-r--r--core/tests/Drupal/Tests/Core/Access/DependentAccessTest.php (renamed from core/modules/block_content/tests/src/Unit/Access/DependentAccessTest.php)18
-rw-r--r--core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php88
-rw-r--r--core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php7
-rw-r--r--core/tests/Drupal/Tests/Core/Test/RunTests/TestFileParserTest.php18
-rw-r--r--core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php40
-rw-r--r--core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php340
-rw-r--r--core/themes/claro/css/base/variables.css16
-rw-r--r--core/themes/claro/css/base/variables.pcss.css16
-rw-r--r--core/themes/claro/css/components/button.css2
-rw-r--r--core/themes/claro/css/components/button.pcss.css2
-rw-r--r--core/themes/claro/css/components/card.css2
-rw-r--r--core/themes/claro/css/components/card.pcss.css2
-rw-r--r--core/themes/claro/css/components/dropbutton.css10
-rw-r--r--core/themes/claro/css/components/dropbutton.pcss.css10
-rw-r--r--core/themes/claro/css/components/form--text.css1
-rw-r--r--core/themes/claro/css/components/form--text.pcss.css1
-rw-r--r--core/themes/claro/css/components/system-admin--modules.css2
-rw-r--r--core/themes/claro/css/components/system-admin--modules.pcss.css2
-rw-r--r--core/themes/claro/css/components/system-status-counter.css3
-rw-r--r--core/themes/claro/css/components/system-status-counter.pcss.css3
-rw-r--r--core/themes/claro/css/components/tabs.css4
-rw-r--r--core/themes/claro/css/components/tabs.pcss.css4
-rw-r--r--core/themes/claro/css/theme/toolbar.theme.css22
-rw-r--r--core/themes/claro/css/theme/toolbar.theme.pcss.css22
-rw-r--r--core/themes/claro/css/theme/views_ui.admin.theme.css8
-rw-r--r--core/themes/claro/css/theme/views_ui.admin.theme.pcss.css8
-rw-r--r--core/themes/olivero/css/components/ajax-progress.module.css4
-rw-r--r--core/themes/olivero/css/components/ajax-progress.module.pcss.css4
-rw-r--r--core/themes/olivero/css/components/breadcrumb.css4
-rw-r--r--core/themes/olivero/css/components/breadcrumb.pcss.css4
-rw-r--r--core/themes/olivero/css/components/cke-dialog.css2
-rw-r--r--core/themes/olivero/css/components/cke-dialog.pcss.css2
-rw-r--r--core/themes/olivero/css/components/dropbutton.pcss.css10
-rw-r--r--core/themes/olivero/css/components/form-select.css2
-rw-r--r--core/themes/olivero/css/components/form-select.pcss.css2
-rw-r--r--core/themes/olivero/css/components/header-navigation.css10
-rw-r--r--core/themes/olivero/css/components/header-navigation.pcss.css10
-rw-r--r--core/themes/olivero/css/components/navigation/nav-primary-wide.css2
-rw-r--r--core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css2
-rw-r--r--core/themes/olivero/css/components/navigation/nav-primary.pcss.css2
-rw-r--r--core/themes/olivero/css/components/node-preview-container.css4
-rw-r--r--core/themes/olivero/css/components/node-preview-container.pcss.css4
-rw-r--r--core/themes/olivero/css/components/site-header.css4
-rw-r--r--core/themes/olivero/css/components/site-header.pcss.css4
-rw-r--r--core/themes/olivero/css/components/tabs.css14
-rw-r--r--core/themes/olivero/css/components/tabs.pcss.css28
-rw-r--r--core/themes/olivero/css/layout/layout.pcss.css2
-rw-r--r--core/themes/olivero/olivero.libraries.yml16
-rw-r--r--core/themes/olivero/olivero.theme9
-rw-r--r--core/themes/stable9/css/settings_tray/settings_tray.theme.css6
-rw-r--r--core/themes/stable9/css/settings_tray/settings_tray.toolbar.css4
-rw-r--r--core/themes/stable9/css/shortcut/shortcut.theme.css2
-rw-r--r--core/themes/stable9/css/system/components/system-status-report-counters.css2
-rw-r--r--core/themes/stable9/css/toolbar/toolbar.theme.css24
-rw-r--r--core/themes/stable9/css/views_ui/views_ui.admin.theme.css4
-rw-r--r--core/themes/starterkit_theme/css/components/progress.css4
-rw-r--r--core/yarn.lock4954
197 files changed, 4239 insertions, 4665 deletions
diff --git a/.gitlab-ci/pipeline.yml b/.gitlab-ci/pipeline.yml
index 06f5c83acbca..c311b1a03a63 100644
--- a/.gitlab-ci/pipeline.yml
+++ b/.gitlab-ci/pipeline.yml
@@ -104,7 +104,7 @@ variables:
script:
- sudo -u www-data -E -H composer run-script drupal-phpunit-upgrade-check
# Need to pass this along directly.
- - sudo -u www-data -E -H php ./core/scripts/run-tests.sh --debug-discovery --color --keep-results --types "$TESTSUITE" --concurrency "$CONCURRENCY" --repeat "1" --sqlite "./sites/default/files/tests.sqlite" --dburl $SIMPLETEST_DB --url $SIMPLETEST_BASE_URL --verbose --non-html --all --ci-parallel-node-index $CI_PARALLEL_NODE_INDEX --ci-parallel-node-total $CI_PARALLEL_NODE_TOTAL
+ - sudo -u www-data -E -H php ./core/scripts/run-tests.sh --color --keep-results --types "$TESTSUITE" --concurrency "$CONCURRENCY" --repeat "1" --sqlite "./sites/default/files/tests.sqlite" --dburl $SIMPLETEST_DB --url $SIMPLETEST_BASE_URL --verbose --non-html --all --ci-parallel-node-index $CI_PARALLEL_NODE_INDEX --ci-parallel-node-total $CI_PARALLEL_NODE_TOTAL
.run-repeat-class-test: &run-repeat-class-test
script:
@@ -234,7 +234,7 @@ variables:
script:
- sudo -u www-data -E -H composer run-script drupal-phpunit-upgrade-check
# Run a small subset of tests to prove non W3C testing still works.
- - sudo -u www-data -E -H php ./core/scripts/run-tests.sh --debug-discovery --color --keep-results --types "$TESTSUITE" --concurrency "$CONCURRENCY" --repeat "1" --sqlite "./sites/default/files/tests.sqlite" --dburl $SIMPLETEST_DB --url $SIMPLETEST_BASE_URL --verbose --non-html javascript
+ - sudo -u www-data -E -H php ./core/scripts/run-tests.sh --color --keep-results --types "$TESTSUITE" --concurrency "$CONCURRENCY" --repeat "1" --sqlite "./sites/default/files/tests.sqlite" --dburl $SIMPLETEST_DB --url $SIMPLETEST_BASE_URL --verbose --non-html javascript
after_script:
- sed -i "s#$CI_PROJECT_DIR/##" ./sites/default/files/simpletest/phpunit-*.xml || true
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 000000000000..a2387cc05b8f
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,4 @@
+# Drupal Security Policy
+
+If you discover a security vulnerability in Drupal core or a contributed project
+(module, theme, or distribution) keep it confidential and [report it to the Drupal security team](https://www.drupal.org/docs/develop/issues/issue-procedures-and-etiquette/reporting-a-security-issue).
diff --git a/composer.lock b/composer.lock
index 88d80ff6611c..1fca73ad3e11 100644
--- a/composer.lock
+++ b/composer.lock
@@ -497,14 +497,14 @@
"dist": {
"type": "path",
"url": "core",
- "reference": "9a3b93d8f495d3f101bcc2d39ce91695b57aece6"
+ "reference": "7d2d6a32cdb382310276445d271aeb3348c5d103"
},
"require": {
"asm89/stack-cors": "^2.3",
"composer-runtime-api": "^2.1",
"composer/semver": "^3.3",
"doctrine/annotations": "^2.0",
- "doctrine/lexer": "^2.0",
+ "doctrine/lexer": "^2 || ^3",
"egulias/email-validator": "^3.2.1|^4.0",
"ext-date": "*",
"ext-dom": "*",
diff --git a/core/.phpstan-baseline.php b/core/.phpstan-baseline.php
index b7f87b4ee01b..4d2a906d93aa 100644
--- a/core/.phpstan-baseline.php
+++ b/core/.phpstan-baseline.php
@@ -11114,12 +11114,6 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/lib/Drupal/Core/Validation/Plugin/Validation/Constraint/UniqueFieldValueValidator.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\automated_cron\\\\EventSubscriber\\\\AutomatedCron\\:\\:onTerminate\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/automated_cron/src/EventSubscriber/AutomatedCron.php',
-];
-$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\ban\\\\BanIpManager\\:\\:banIp\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
@@ -11732,18 +11726,6 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/modules/block/tests/src/Unit/Plugin/migrate/process/BlockSettingsTest.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\block_content\\\\Access\\\\AccessGroupAnd\\:\\:addDependency\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/block_content/src/Access/AccessGroupAnd.php',
-];
-$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\block_content\\\\Access\\\\AccessGroupAnd\\:\\:getDependencies\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/block_content/src/Access/AccessGroupAnd.php',
-];
-$ignoreErrors[] = [
'message' => '#^Variable \\$dependency in empty\\(\\) always exists and is not falsy\\.$#',
'identifier' => 'empty.variable',
'count' => 1,
@@ -12092,12 +12074,6 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/modules/block_content/tests/src/Kernel/Migrate/MigrateBlockContentStubTest.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\Tests\\\\block_content\\\\Unit\\\\Access\\\\DependentAccessTest\\:\\:providerTestSetFirst\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/block_content/tests/src/Unit/Access/DependentAccessTest.php',
-];
-$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\Tests\\\\block_content\\\\Unit\\\\Menu\\\\BlockContentLocalTasksTest\\:\\:getBlockContentListingRoutes\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
@@ -27014,6 +26990,30 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/modules/node/src/Form/NodeDeleteForm.php',
];
$ignoreErrors[] = [
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:create\\(\\) has no return type specified\\.$#',
+ 'identifier' => 'missingType.return',
+ 'count' => 1,
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+];
+$ignoreErrors[] = [
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:form\\(\\) has no return type specified\\.$#',
+ 'identifier' => 'missingType.return',
+ 'count' => 1,
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+];
+$ignoreErrors[] = [
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:preview\\(\\) has no return type specified\\.$#',
+ 'identifier' => 'missingType.return',
+ 'count' => 1,
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+];
+$ignoreErrors[] = [
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:save\\(\\) should return int but return statement is missing\\.$#',
+ 'identifier' => 'return.missing',
+ 'count' => 2,
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+];
+$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodePreviewForm\\:\\:create\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
@@ -27056,58 +27056,58 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/modules/node/src/Form/NodeRevisionRevertTranslationForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\RebuildPermissionsForm\\:\\:submitForm\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:create\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/RebuildPermissionsForm.php',
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandler\\:\\:deleteGrants\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:form\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandler.php',
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandler\\:\\:writeDefaultGrant\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:save\\(\\) should return int but return statement is missing\\.$#',
+ 'identifier' => 'return.missing',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandler.php',
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandlerInterface\\:\\:deleteGrants\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:validateForm\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandlerInterface.php',
+ 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandlerInterface\\:\\:writeDefaultGrant\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\Form\\\\RebuildPermissionsForm\\:\\:submitForm\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandlerInterface.php',
+ 'path' => __DIR__ . '/modules/node/src/Form/RebuildPermissionsForm.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:create\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandler\\:\\:deleteGrants\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+ 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandler.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:form\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandler\\:\\:writeDefaultGrant\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+ 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandler.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:preview\\(\\) has no return type specified\\.$#',
+ 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandlerInterface\\:\\:deleteGrants\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+ 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandlerInterface.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeForm\\:\\:save\\(\\) should return int but return statement is missing\\.$#',
- 'identifier' => 'return.missing',
- 'count' => 2,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeForm.php',
+ 'message' => '#^Method Drupal\\\\node\\\\NodeAccessControlHandlerInterface\\:\\:writeDefaultGrant\\(\\) has no return type specified\\.$#',
+ 'identifier' => 'missingType.return',
+ 'count' => 1,
+ 'path' => __DIR__ . '/modules/node/src/NodeAccessControlHandlerInterface.php',
];
$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\node\\\\NodeGrantDatabaseStorage\\:\\:alterQuery\\(\\) should return int but return statement is missing\\.$#',
@@ -27194,30 +27194,6 @@ $ignoreErrors[] = [
'path' => __DIR__ . '/modules/node/src/NodeTranslationHandler.php',
];
$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:create\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
-];
-$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:form\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
-];
-$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:save\\(\\) should return int but return statement is missing\\.$#',
- 'identifier' => 'return.missing',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
-];
-$ignoreErrors[] = [
- 'message' => '#^Method Drupal\\\\node\\\\Form\\\\NodeTypeForm\\:\\:validateForm\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
- 'count' => 1,
- 'path' => __DIR__ . '/modules/node/src/Form/NodeTypeForm.php',
-];
-$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\node\\\\NodeTypeInterface\\:\\:setDisplaySubmitted\\(\\) has no return type specified\\.$#',
'identifier' => 'missingType.return',
'count' => 1,
@@ -48507,25 +48483,25 @@ $ignoreErrors[] = [
];
$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\Tests\\\\workspaces\\\\Functional\\\\WorkspaceFormValidationTest\\:\\:isLabelInContentOverview\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
+ 'identifier' => 'missingType.return',
'count' => 1,
'path' => __DIR__ . '/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php',
];
$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\Tests\\\\workspaces\\\\Functional\\\\WorkspaceFormValidationTest\\:\\:setupWorkspaceSwitcherBlock\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
+ 'identifier' => 'missingType.return',
'count' => 1,
'path' => __DIR__ . '/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php',
];
$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\Tests\\\\workspaces\\\\Functional\\\\WorkspaceFormValidationTest\\:\\:switchToLive\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
+ 'identifier' => 'missingType.return',
'count' => 1,
'path' => __DIR__ . '/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php',
];
$ignoreErrors[] = [
'message' => '#^Method Drupal\\\\Tests\\\\workspaces\\\\Functional\\\\WorkspaceFormValidationTest\\:\\:switchToWorkspace\\(\\) has no return type specified\\.$#',
- 'identifier' => 'missingType.return',
+ 'identifier' => 'missingType.return',
'count' => 1,
'path' => __DIR__ . '/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php',
];
diff --git a/core/.phpunit-next.xml b/core/.phpunit-next.xml
deleted file mode 100644
index 944ec9dfadd4..000000000000
--- a/core/.phpunit-next.xml
+++ /dev/null
@@ -1,164 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-
-<!-- This is a near-copy of phpunit.xml.dist, used to test with upcoming
- PHPUnit versions.
-
- Current differences:
- * for PHPUnit 11: removed duplicate directories from <testsuites>,
- required in PHPUnit 10, but that cause duplication warnings in
- PHPUnit 11.
--->
-
-
-<!-- For how to customize PHPUnit configuration, see core/tests/README.md. -->
-<!-- TODO set checkForUnintentionallyCoveredCode="true" once https://www.drupal.org/node/2626832 is resolved. -->
-<!-- PHPUnit expects functional tests to be run with either a privileged user
- or your current system user. See core/tests/README.md and
- https://www.drupal.org/node/2116263 for details.
--->
-<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- bootstrap="tests/bootstrap.php"
- colors="true"
- beStrictAboutTestsThatDoNotTestAnything="true"
- beStrictAboutOutputDuringTests="true"
- beStrictAboutChangesToGlobalState="true"
- failOnRisky="true"
- failOnWarning="true"
- displayDetailsOnTestsThatTriggerErrors="true"
- displayDetailsOnTestsThatTriggerWarnings="true"
- displayDetailsOnTestsThatTriggerDeprecations="true"
- cacheResult="false"
- xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/10.5/phpunit.xsd"
- cacheDirectory=".phpunit.cache">
- <php>
- <!-- Set error reporting to E_ALL. -->
- <ini name="error_reporting" value="32767"/>
- <!-- Do not limit the amount of memory tests take to run. -->
- <ini name="memory_limit" value="-1"/>
- <!-- Example SIMPLETEST_BASE_URL value: http://localhost -->
- <env name="SIMPLETEST_BASE_URL" value=""/>
- <!-- Example SIMPLETEST_DB value: mysql://username:password@localhost/database_name#table_prefix -->
- <env name="SIMPLETEST_DB" value=""/>
- <!-- By default, browser tests will output links that use the base URL set
- in SIMPLETEST_BASE_URL. However, if your SIMPLETEST_BASE_URL is an internal
- path (such as may be the case in a virtual or Docker-based environment),
- you can set the base URL used in the browser test output links to something
- reachable from your host machine here. This will allow you to follow them
- directly and view the output. -->
- <env name="BROWSERTEST_OUTPUT_BASE_URL" value=""/>
- <!-- The environment variable SYMFONY_DEPRECATIONS_HELPER is used to configure
- the behavior of the deprecation tests.
- Drupal core's testing framework is setting this variable to its defaults.
- Projects with their own requirements need to manage this variable
- explicitly.
- -->
- <!-- To disable deprecation testing completely uncomment the next line. -->
- <!-- <env name="SYMFONY_DEPRECATIONS_HELPER" value="disabled"/> -->
- <!-- Deprecation errors can be selectively ignored by specifying a file of
- regular expression patterns for exclusion.
- Uncomment the line below to specify a custom deprecations ignore file.
- NOTE: it may be required to specify the full path to the file to run tests
- correctly.
- -->
- <!-- <env name="SYMFONY_DEPRECATIONS_HELPER" value="ignoreFile=.deprecation-ignore.txt"/> -->
- <!-- Example for changing the driver class for mink tests MINK_DRIVER_CLASS value: 'Drupal\FunctionalJavascriptTests\DrupalSelenium2Driver' -->
- <env name="MINK_DRIVER_CLASS" value=""/>
- <!-- Example for changing the driver args to mink tests MINK_DRIVER_ARGS value: '["http://127.0.0.1:8510"]' -->
- <env name="MINK_DRIVER_ARGS" value=""/>
- <!-- Example for changing the driver args to webdriver tests MINK_DRIVER_ARGS_WEBDRIVER value: '["chrome", { "goog:chromeOptions": { "w3c": false } }, "http://localhost:4444/wd/hub"]' For using the Firefox browser, replace "chrome" with "firefox" -->
- <env name="MINK_DRIVER_ARGS_WEBDRIVER" value=""/>
- </php>
- <extensions>
- <!-- Functional tests HTML output logging. -->
- <bootstrap class="Drupal\TestTools\Extension\HtmlLogging\HtmlOutputLogger">
- <!-- The directory where the browser output will be stored. If a relative
- path is specified, it will be relative to the current working directory
- of the process running the PHPUnit CLI. In CI environments, this can be
- overridden by the value set for the "BROWSERTEST_OUTPUT_DIRECTORY"
- environment variable.
- -->
- <parameter name="outputDirectory" value="sites/simpletest/browser_output"/>
- <!-- By default browser tests print the individual links in the test run
- report. To avoid overcrowding the output in CI environments, you can
- set the "verbose" parameter or the "BROWSERTEST_OUTPUT_VERBOSE"
- environment variable to "false". In GitLabCI, the output is saved
- anyway as an artifact that can be browsed or downloaded from Gitlab.
- -->
- <parameter name="verbose" value="true"/>
- </bootstrap>
- <!-- Debug dump() printer. -->
- <bootstrap class="Drupal\TestTools\Extension\Dump\DebugDump">
- <parameter name="colors" value="true"/>
- <parameter name="printCaller" value="true"/>
- </bootstrap>
- </extensions>
- <testsuites>
- <testsuite name="unit-component">
- <directory>tests/Drupal/Tests/Component</directory>
- </testsuite>
- <testsuite name="unit">
- <directory>tests/Drupal/Tests</directory>
- <exclude>tests/Drupal/Tests/Component</exclude>
- <directory>modules/**/tests/src/Unit</directory>
- <directory>profiles/**/tests/src/Unit</directory>
- <directory>themes/**/tests/src/Unit</directory>
- <directory>../modules/**/tests/src/Unit</directory>
- <directory>../profiles/**/tests/src/Unit</directory>
- <directory>../themes/**/tests/src/Unit</directory>
- </testsuite>
- <testsuite name="kernel">
- <directory>tests/Drupal/KernelTests</directory>
- <directory>modules/**/tests/src/Kernel</directory>
- <directory>recipes/*/tests/src/Kernel</directory>
- <directory>profiles/**/tests/src/Kernel</directory>
- <directory>themes/**/tests/src/Kernel</directory>
- <directory>../modules/**/tests/src/Kernel</directory>
- <directory>../profiles/**/tests/src/Kernel</directory>
- <directory>../themes/**/tests/src/Kernel</directory>
- </testsuite>
- <testsuite name="functional">
- <directory>tests/Drupal/FunctionalTests</directory>
- <directory>modules/**/tests/src/Functional</directory>
- <directory>profiles/**/tests/src/Functional</directory>
- <directory>recipes/*/tests/src/Functional</directory>
- <directory>themes/**/tests/src/Functional</directory>
- <directory>../modules/**/tests/src/Functional</directory>
- <directory>../profiles/**/tests/src/Functional</directory>
- <directory>../themes/**/tests/src/Functional</directory>
- </testsuite>
- <testsuite name="functional-javascript">
- <directory>tests/Drupal/FunctionalJavascriptTests</directory>
- <directory>modules/**/tests/src/FunctionalJavascript</directory>
- <directory>recipes/*/tests/src/FunctionalJavascript</directory>
- <directory>profiles/**/tests/src/FunctionalJavascript</directory>
- <directory>themes/**/tests/src/FunctionalJavascript</directory>
- <directory>../modules/**/tests/src/FunctionalJavascript</directory>
- <directory>../profiles/**/tests/src/FunctionalJavascript</directory>
- <directory>../themes/**/tests/src/FunctionalJavascript</directory>
- </testsuite>
- <testsuite name="build">
- <directory>tests/Drupal/BuildTests</directory>
- <directory>modules/**/tests/src/Build</directory>
- </testsuite>
- </testsuites>
- <!-- Settings for coverage reports. -->
- <source ignoreSuppressionOfDeprecations="true">
- <include>
- <directory>./includes</directory>
- <directory>./lib</directory>
- <directory>./modules</directory>
- <directory>../modules</directory>
- <directory>../sites</directory>
- </include>
- <exclude>
- <directory>./lib/Drupal/Component</directory>
- <directory>./modules/*/src/Tests</directory>
- <directory>./modules/*/tests</directory>
- <directory>../modules/*/src/Tests</directory>
- <directory>../modules/*/tests</directory>
- <directory>../modules/*/*/src/Tests</directory>
- <directory>../modules/*/*/tests</directory>
- </exclude>
- </source>
-</phpunit>
diff --git a/core/assets/schemas/v1/metadata-full.schema.json b/core/assets/schemas/v1/metadata-full.schema.json
index ac275eb1bdfb..53121eb4d2b3 100644
--- a/core/assets/schemas/v1/metadata-full.schema.json
+++ b/core/assets/schemas/v1/metadata-full.schema.json
@@ -2,6 +2,24 @@
"$id": "https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata-full.schema.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"$defs": {
+ "propDefinition": {
+ "$ref": "http://json-schema.org/draft-04/schema#",
+ "meta:enum": {
+ "type": "object",
+ "minItems": 1,
+ "uniqueItems": true,
+ "patternProperties": {
+ "additionalProperties": false,
+ "^[a-zA-Z0-9_-]*$": {
+ "type": "string"
+ }
+ }
+ },
+ "x-translation-context": {
+ "type": "string",
+ "title": "Translation Context"
+ }
+ },
"slotDefinition": {
"type": "object",
"additionalProperties": false,
@@ -160,7 +178,7 @@
]
},
"props": {
- "$ref": "http://json-schema.org/draft-04/schema#"
+ "$ref": "#/$defs/propDefinition"
},
"slots": {
"$ref": "metadata.schema.json#/$defs/slotDefinition"
diff --git a/core/assets/schemas/v1/metadata.schema.json b/core/assets/schemas/v1/metadata.schema.json
index 5e5c753360fd..b5f52676f3c3 100644
--- a/core/assets/schemas/v1/metadata.schema.json
+++ b/core/assets/schemas/v1/metadata.schema.json
@@ -2,6 +2,24 @@
"$id": "https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json",
"$schema": "http://json-schema.org/draft-04/schema#",
"$defs": {
+ "propDefinition": {
+ "$ref": "http://json-schema.org/draft-04/schema#",
+ "meta:enum": {
+ "type": "object",
+ "minItems": 1,
+ "uniqueItems": true,
+ "patternProperties": {
+ "additionalProperties": false,
+ "^[a-zA-Z0-9_-]*$": {
+ "type": "string"
+ }
+ }
+ },
+ "x-translation-context": {
+ "type": "string",
+ "title": "Translation Context"
+ }
+ },
"slotDefinition": {
"type": "object",
"additionalProperties": false,
@@ -208,7 +226,7 @@
]
},
"props": {
- "$ref": "http://json-schema.org/draft-04/schema#"
+ "$ref": "#/$defs/propDefinition"
},
"slots": {
"$ref": "#/$defs/slotDefinition"
diff --git a/core/composer.json b/core/composer.json
index 9b0e3d5305ec..e871fa3acb55 100644
--- a/core/composer.json
+++ b/core/composer.json
@@ -38,7 +38,7 @@
"revolt/event-loop": "^1.0",
"twig/twig": "^3.21.0",
"doctrine/annotations": "^2.0",
- "doctrine/lexer": "^2.0",
+ "doctrine/lexer": "^2 || ^3",
"guzzlehttp/guzzle": "^7.5",
"guzzlehttp/psr7": "^2.4.5",
"egulias/email-validator": "^3.2.1|^4.0",
diff --git a/core/core.services.yml b/core/core.services.yml
index 789eee02214b..534266780de9 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -461,7 +461,6 @@ services:
cron:
class: Drupal\Core\Cron
arguments: ['@module_handler', '@lock', '@queue', '@state', '@account_switcher', '@logger.channel.cron', '@plugin.manager.queue_worker', '@datetime.time', '%queue.config%']
- lazy: true
Drupal\Core\CronInterface: '@cron'
diff.formatter:
class: Drupal\Core\Diff\DiffFormatter
diff --git a/core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php b/core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
index 052542ecfca7..5fb3e2e3a75e 100644
--- a/core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
+++ b/core/lib/Drupal/Component/Annotation/Doctrine/DocParser.php
@@ -417,7 +417,7 @@ final class DocParser
$message = sprintf('Expected %s, got ', $expected);
$message .= ($this->lexer->lookahead === null)
? 'end of string'
- : sprintf("'%s' at position %s", $token['value'], $token['position']);
+ : sprintf("'%s' at position %s", $token->value, $token->position);
if (strlen($this->context)) {
$message .= ' in ' . $this->context;
@@ -616,13 +616,13 @@ final class DocParser
$annotations = array();
while (null !== $this->lexer->lookahead) {
- if (DocLexer::T_AT !== $this->lexer->lookahead['type']) {
+ if (DocLexer::T_AT !== $this->lexer->lookahead->type) {
$this->lexer->moveNext();
continue;
}
// make sure the @ is preceded by non-catchable pattern
- if (null !== $this->lexer->token && $this->lexer->lookahead['position'] === $this->lexer->token['position'] + strlen($this->lexer->token['value'])) {
+ if (null !== $this->lexer->token && $this->lexer->lookahead->position === $this->lexer->token->position + strlen($this->lexer->token->value)) {
$this->lexer->moveNext();
continue;
}
@@ -630,8 +630,8 @@ final class DocParser
// make sure the @ is followed by either a namespace separator, or
// an identifier token
if ((null === $peek = $this->lexer->glimpse())
- || (DocLexer::T_NAMESPACE_SEPARATOR !== $peek['type'] && !in_array($peek['type'], self::$classIdentifiers, true))
- || $peek['position'] !== $this->lexer->lookahead['position'] + 1) {
+ || (DocLexer::T_NAMESPACE_SEPARATOR !== $peek->type && !in_array($peek->type, self::$classIdentifiers, true))
+ || $peek->position !== $this->lexer->lookahead->position + 1) {
$this->lexer->moveNext();
continue;
}
@@ -988,17 +988,17 @@ final class DocParser
$this->lexer->moveNext();
- $className = $this->lexer->token['value'];
+ $className = $this->lexer->token->value;
while (
null !== $this->lexer->lookahead &&
- $this->lexer->lookahead['position'] === ($this->lexer->token['position'] + strlen($this->lexer->token['value'])) &&
+ $this->lexer->lookahead->position === ($this->lexer->token->position + strlen($this->lexer->token->value)) &&
$this->lexer->isNextToken(DocLexer::T_NAMESPACE_SEPARATOR)
) {
$this->match(DocLexer::T_NAMESPACE_SEPARATOR);
$this->matchAny(self::$classIdentifiers);
- $className .= '\\' . $this->lexer->token['value'];
+ $className .= '\\' . $this->lexer->token->value;
}
return $className;
@@ -1013,7 +1013,7 @@ final class DocParser
{
$peek = $this->lexer->glimpse();
- if (DocLexer::T_EQUALS === $peek['type']) {
+ if (DocLexer::T_EQUALS === $peek->type) {
return $this->FieldAssignment();
}
@@ -1039,18 +1039,18 @@ final class DocParser
return $this->Constant();
}
- switch ($this->lexer->lookahead['type']) {
+ switch ($this->lexer->lookahead->type) {
case DocLexer::T_STRING:
$this->match(DocLexer::T_STRING);
- return $this->lexer->token['value'];
+ return $this->lexer->token->value;
case DocLexer::T_INTEGER:
$this->match(DocLexer::T_INTEGER);
- return (int)$this->lexer->token['value'];
+ return (int)$this->lexer->token->value;
case DocLexer::T_FLOAT:
$this->match(DocLexer::T_FLOAT);
- return (float)$this->lexer->token['value'];
+ return (float)$this->lexer->token->value;
case DocLexer::T_TRUE:
$this->match(DocLexer::T_TRUE);
@@ -1078,7 +1078,7 @@ final class DocParser
private function FieldAssignment()
{
$this->match(DocLexer::T_IDENTIFIER);
- $fieldName = $this->lexer->token['value'];
+ $fieldName = $this->lexer->token->value;
$this->match(DocLexer::T_EQUALS);
@@ -1146,14 +1146,14 @@ final class DocParser
{
$peek = $this->lexer->glimpse();
- if (DocLexer::T_EQUALS === $peek['type']
- || DocLexer::T_COLON === $peek['type']) {
+ if (DocLexer::T_EQUALS === $peek->type
+ || DocLexer::T_COLON === $peek->type) {
if ($this->lexer->isNextToken(DocLexer::T_IDENTIFIER)) {
$key = $this->Constant();
} else {
$this->matchAny(array(DocLexer::T_INTEGER, DocLexer::T_STRING));
- $key = $this->lexer->token['value'];
+ $key = $this->lexer->token->value;
}
$this->matchAny(array(DocLexer::T_EQUALS, DocLexer::T_COLON));
diff --git a/core/lib/Drupal/Component/Annotation/composer.json b/core/lib/Drupal/Component/Annotation/composer.json
index 3575798a7c15..24977f8da9f7 100644
--- a/core/lib/Drupal/Component/Annotation/composer.json
+++ b/core/lib/Drupal/Component/Annotation/composer.json
@@ -9,7 +9,7 @@
"require": {
"php": ">=8.3.0",
"doctrine/annotations": "^2.0",
- "doctrine/lexer": "^2.0",
+ "doctrine/lexer": "^2 || ^3",
"drupal/core-class-finder": "11.x-dev",
"drupal/core-file-cache": "11.x-dev",
"drupal/core-plugin": "11.x-dev",
diff --git a/core/modules/block_content/src/Access/AccessGroupAnd.php b/core/lib/Drupal/Core/Access/AccessGroupAnd.php
index be86d9e97000..d4535ccac523 100644
--- a/core/modules/block_content/src/Access/AccessGroupAnd.php
+++ b/core/lib/Drupal/Core/Access/AccessGroupAnd.php
@@ -1,9 +1,7 @@
<?php
-namespace Drupal\block_content\Access;
+namespace Drupal\Core\Access;
-use Drupal\Core\Access\AccessibleInterface;
-use Drupal\Core\Access\AccessResult;
use Drupal\Core\Session\AccountInterface;
/**
@@ -21,7 +19,12 @@ class AccessGroupAnd implements AccessibleInterface {
protected $dependencies = [];
/**
- * {@inheritdoc}
+ * Adds an access dependency.
+ *
+ * @param \Drupal\Core\Access\AccessibleInterface $dependency
+ * The access dependency to be added.
+ *
+ * @return $this
*/
public function addDependency(AccessibleInterface $dependency) {
$this->dependencies[] = $dependency;
@@ -40,7 +43,10 @@ class AccessGroupAnd implements AccessibleInterface {
}
/**
- * {@inheritdoc}
+ * Gets all the access dependencies.
+ *
+ * @return list<\Drupal\Core\Access\AccessibleInterface>
+ * The list of access dependencies.
*/
public function getDependencies() {
return $this->dependencies;
diff --git a/core/modules/block_content/src/Access/DependentAccessInterface.php b/core/lib/Drupal/Core/Access/DependentAccessInterface.php
index bc6a6dcec694..eee44102c953 100644
--- a/core/modules/block_content/src/Access/DependentAccessInterface.php
+++ b/core/lib/Drupal/Core/Access/DependentAccessInterface.php
@@ -1,6 +1,6 @@
<?php
-namespace Drupal\block_content\Access;
+namespace Drupal\Core\Access;
/**
* Interface for AccessibleInterface objects that have an access dependency.
diff --git a/core/modules/block_content/src/Access/RefinableDependentAccessInterface.php b/core/lib/Drupal/Core/Access/RefinableDependentAccessInterface.php
index 5d9eaf430b43..a6e5e671aaae 100644
--- a/core/modules/block_content/src/Access/RefinableDependentAccessInterface.php
+++ b/core/lib/Drupal/Core/Access/RefinableDependentAccessInterface.php
@@ -1,8 +1,6 @@
<?php
-namespace Drupal\block_content\Access;
-
-use Drupal\Core\Access\AccessibleInterface;
+namespace Drupal\Core\Access;
/**
* An interface to allow adding an access dependency.
diff --git a/core/modules/block_content/src/Access/RefinableDependentAccessTrait.php b/core/lib/Drupal/Core/Access/RefinableDependentAccessTrait.php
index 98b2a547ccfb..96b966e8d873 100644
--- a/core/modules/block_content/src/Access/RefinableDependentAccessTrait.php
+++ b/core/lib/Drupal/Core/Access/RefinableDependentAccessTrait.php
@@ -1,11 +1,9 @@
<?php
-namespace Drupal\block_content\Access;
-
-use Drupal\Core\Access\AccessibleInterface;
+namespace Drupal\Core\Access;
/**
- * Trait for \Drupal\block_content\Access\RefinableDependentAccessInterface.
+ * Trait for \Drupal\Core\Access\RefinableDependentAccessInterface.
*
* @internal
*/
diff --git a/core/lib/Drupal/Core/Config/Plugin/Validation/Constraint/ConfigExistsConstraintValidator.php b/core/lib/Drupal/Core/Config/Plugin/Validation/Constraint/ConfigExistsConstraintValidator.php
index fbc7542a7de9..9f6d1188dc88 100644
--- a/core/lib/Drupal/Core/Config/Plugin/Validation/Constraint/ConfigExistsConstraintValidator.php
+++ b/core/lib/Drupal/Core/Config/Plugin/Validation/Constraint/ConfigExistsConstraintValidator.php
@@ -5,6 +5,7 @@ declare(strict_types = 1);
namespace Drupal\Core\Config\Plugin\Validation\Constraint;
use Drupal\Core\Config\ConfigFactoryInterface;
+use Drupal\Core\Config\Schema\TypeResolver;
use Drupal\Core\DependencyInjection\ContainerInjectionInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
use Symfony\Component\Validator\Constraint;
@@ -50,6 +51,8 @@ class ConfigExistsConstraintValidator extends ConstraintValidator implements Con
return;
}
+ $constraint->prefix = TypeResolver::resolveDynamicTypeName($constraint->prefix, $this->context->getObject());
+
if (!in_array($constraint->prefix . $name, $this->configFactory->listAll($constraint->prefix), TRUE)) {
$this->context->addViolation($constraint->message, ['@name' => $constraint->prefix . $name]);
}
diff --git a/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php b/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
index 1cdeb7263cee..127318c1cd0c 100644
--- a/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
+++ b/core/lib/Drupal/Core/DependencyInjection/Compiler/BackendCompilerPass.php
@@ -37,7 +37,6 @@ class BackendCompilerPass implements CompilerPassInterface {
* {@inheritdoc}
*/
public function process(ContainerBuilder $container): void {
- $driver_backend = NULL;
if ($container->hasParameter('default_backend')) {
$default_backend = $container->getParameter('default_backend');
// Opt out from the default backend.
@@ -64,10 +63,10 @@ class BackendCompilerPass implements CompilerPassInterface {
if ($container->hasAlias($id)) {
continue;
}
- if ($container->hasDefinition("$driver_backend.$id") || $container->hasAlias("$driver_backend.$id")) {
+ if (isset($driver_backend) && ($container->hasDefinition("$driver_backend.$id") || $container->hasAlias("$driver_backend.$id"))) {
$container->setAlias($id, new Alias("$driver_backend.$id"));
}
- elseif ($container->hasDefinition("$default_backend.$id") || $container->hasAlias("$default_backend.$id")) {
+ elseif (!empty($default_backend) && ($container->hasDefinition("$default_backend.$id") || $container->hasAlias("$default_backend.$id"))) {
$container->setAlias($id, new Alias("$default_backend.$id"));
}
}
diff --git a/core/lib/Drupal/Core/Extension/ModuleHandler.php b/core/lib/Drupal/Core/Extension/ModuleHandler.php
index 53cf3c95aa5f..ad361d3fe669 100644
--- a/core/lib/Drupal/Core/Extension/ModuleHandler.php
+++ b/core/lib/Drupal/Core/Extension/ModuleHandler.php
@@ -333,6 +333,9 @@ class ModuleHandler implements ModuleHandlerInterface {
*/
public function resetImplementations() {
$this->alterEventListeners = [];
+ $this->invokeMap = [];
+ $this->listenersByHook = [];
+ $this->modulesByHook = [];
}
/**
@@ -730,6 +733,7 @@ class ModuleHandler implements ModuleHandlerInterface {
*/
protected function getFlatHookListeners(string $hook): array {
if (!isset($this->listenersByHook[$hook])) {
+ $this->listenersByHook[$hook] = [];
foreach ($this->eventDispatcher->getListeners("drupal_hook.$hook") as $listener) {
if (is_array($listener) && is_object($listener[0])) {
$module = $this->hookImplementationsMap[$hook][get_class($listener[0])][$listener[1]];
@@ -755,7 +759,7 @@ class ModuleHandler implements ModuleHandlerInterface {
}
}
- return $this->listenersByHook[$hook] ?? [];
+ return $this->listenersByHook[$hook];
}
}
diff --git a/core/lib/Drupal/Core/ProxyClass/Cron.php b/core/lib/Drupal/Core/ProxyClass/Cron.php
deleted file mode 100644
index 640b9d030c53..000000000000
--- a/core/lib/Drupal/Core/ProxyClass/Cron.php
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-// phpcs:ignoreFile
-
-/**
- * This file was generated via php core/scripts/generate-proxy-class.php 'Drupal\Core\Cron' "core/lib/Drupal/Core".
- */
-
-namespace Drupal\Core\ProxyClass {
-
- /**
- * Provides a proxy class for \Drupal\Core\Cron.
- *
- * @see \Drupal\Component\ProxyBuilder
- */
- class Cron implements \Drupal\Core\CronInterface
- {
-
- use \Drupal\Core\DependencyInjection\DependencySerializationTrait;
-
- /**
- * The id of the original proxied service.
- *
- * @var string
- */
- protected $drupalProxyOriginalServiceId;
-
- /**
- * The real proxied service, after it was lazy loaded.
- *
- * @var \Drupal\Core\Cron
- */
- protected $service;
-
- /**
- * The service container.
- *
- * @var \Symfony\Component\DependencyInjection\ContainerInterface
- */
- protected $container;
-
- /**
- * Constructs a ProxyClass Drupal proxy object.
- *
- * @param \Symfony\Component\DependencyInjection\ContainerInterface $container
- * The container.
- * @param string $drupal_proxy_original_service_id
- * The service ID of the original service.
- */
- public function __construct(\Symfony\Component\DependencyInjection\ContainerInterface $container, $drupal_proxy_original_service_id)
- {
- $this->container = $container;
- $this->drupalProxyOriginalServiceId = $drupal_proxy_original_service_id;
- }
-
- /**
- * Lazy loads the real service from the container.
- *
- * @return object
- * Returns the constructed real service.
- */
- protected function lazyLoadItself()
- {
- if (!isset($this->service)) {
- $this->service = $this->container->get($this->drupalProxyOriginalServiceId);
- }
-
- return $this->service;
- }
-
- /**
- * {@inheritdoc}
- */
- public function run()
- {
- return $this->lazyLoadItself()->run();
- }
-
- }
-
-}
diff --git a/core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php b/core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php
deleted file mode 100644
index d9737028821c..000000000000
--- a/core/lib/Drupal/Core/Test/PhpUnitTestDiscovery.php
+++ /dev/null
@@ -1,346 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Drupal\Core\Test;
-
-use Drupal\Core\Test\Exception\MissingGroupException;
-use Drupal\TestTools\PhpUnitCompatibility\RunnerVersion;
-use PHPUnit\Framework\DataProviderTestSuite;
-use PHPUnit\Framework\Test;
-use PHPUnit\Framework\TestCase;
-use PHPUnit\Framework\TestSuite;
-use PHPUnit\TextUI\Configuration\Builder;
-use PHPUnit\TextUI\Configuration\TestSuiteBuilder;
-
-/**
- * Discovers available tests using the PHPUnit API.
- *
- * @internal
- */
-class PhpUnitTestDiscovery {
-
- /**
- * The map of legacy test suite identifiers to phpunit.xml ones.
- *
- * @var array<string,string>
- */
- private array $map = [
- 'PHPUnit-FunctionalJavascript' => 'functional-javascript',
- 'PHPUnit-Functional' => 'functional',
- 'PHPUnit-Kernel' => 'kernel',
- 'PHPUnit-Unit' => 'unit',
- 'PHPUnit-Unit-Component' => 'unit-component',
- 'PHPUnit-Build' => 'build',
- ];
-
- /**
- * The reverse map of legacy test suite identifiers to phpunit.xml ones.
- *
- * @var array<string,string>
- */
- private array $reverseMap;
-
- /**
- * The warnings generated during the discovery.
- *
- * @var list<string>
- */
- private array $warnings = [];
-
- public function __construct(
- private string $configurationFilePath,
- ) {
- $this->reverseMap = array_flip($this->map);
- }
-
- /**
- * Discovers available tests.
- *
- * @param string|null $extension
- * (optional) The name of an extension to limit discovery to; e.g., 'node'.
- * @param list<string> $testSuites
- * (optional) An array of PHPUnit test suites to filter the discovery for.
- * @param string|null $directory
- * (optional) Limit discovered tests to a specific directory.
- *
- * @return array<string<array<class-string, array{name: class-string, description: string, group: string|int, groups: list<string|int>, type: string, file: string, tests_count: positive-int}>>>
- * An array of test groups keyed by the group name. Each test group is an
- * array of test class information arrays as returned by
- * ::getTestClassInfo(), keyed by test class. If a test class belongs to
- * multiple groups, it will appear under all group keys it belongs to.
- */
- public function getTestClasses(?string $extension = NULL, array $testSuites = [], ?string $directory = NULL): array {
- $this->warnings = [];
-
- $args = ['--configuration', $this->configurationFilePath];
-
- if (!empty($testSuites)) {
- // Convert $testSuites from Drupal's legacy syntax to the syntax used in
- // phpunit.xml, that is necessary to PHPUnit to be able to apply the
- // test suite filter. For example, 'PHPUnit-Unit' to 'unit'.
- $tmp = [];
- foreach ($testSuites as $i) {
- if (!is_string($i)) {
- throw new \InvalidArgumentException("Test suite must be a string");
- }
- if (str_contains($i, ' ')) {
- throw new \InvalidArgumentException("Test suite name '{$i}' is invalid");
- }
- $tmp[] = $this->map[$i] ?? $i;
- }
- $args[] = '--testsuite=' . implode(',', $tmp);
- }
-
- if ($directory !== NULL) {
- $args[] = $directory;
- }
-
- $phpUnitConfiguration = (new Builder())->build($args);
-
- // TestSuiteBuilder calls the test data providers during the discovery.
- // Data providers may be changing the Drupal service container, which leads
- // to potential issues. We save the current container before running the
- // discovery, and in case a change is detected, reset it and raise
- // warnings so that developers can tune their data provider code.
- if (\Drupal::hasContainer()) {
- $container = \Drupal::getContainer();
- $containerObjectId = spl_object_id($container);
- }
- $phpUnitTestSuite = (new TestSuiteBuilder())->build($phpUnitConfiguration);
- if (isset($containerObjectId) && $containerObjectId !== spl_object_id(\Drupal::getContainer())) {
- $this->warnings[] = '*** The service container was changed during the test discovery ***';
- $this->warnings[] = 'Probably a test data provider method called \\Drupal::setContainer.';
- $this->warnings[] = 'Ensure that all the data providers restore the original container before returning data.';
- assert(isset($container));
- \Drupal::setContainer($container);
- }
-
- $list = $directory === NULL ?
- $this->getTestList($phpUnitTestSuite, $extension) :
- $this->getTestListLimitedToDirectory($phpUnitTestSuite, $extension, $testSuites);
-
- // Sort the groups and tests within the groups by name.
- uksort($list, 'strnatcasecmp');
- foreach ($list as &$tests) {
- uksort($tests, 'strnatcasecmp');
- }
-
- return $list;
- }
-
- /**
- * Discovers all class files in all available extensions.
- *
- * @param string|null $extension
- * (optional) The name of an extension to limit discovery to; e.g., 'node'.
- * @param string|null $directory
- * (optional) Limit discovered tests to a specific directory.
- *
- * @return array
- * A classmap containing all discovered class files; i.e., a map of
- * fully-qualified classnames to path names.
- */
- public function findAllClassFiles(?string $extension = NULL, ?string $directory = NULL): array {
- $testClasses = $this->getTestClasses($extension, [], $directory);
- $classMap = [];
- foreach ($testClasses as $group) {
- foreach ($group as $className => $info) {
- $classMap[$className] = $info['file'];
- }
- }
- return $classMap;
- }
-
- /**
- * Returns the warnings generated during the discovery.
- *
- * @return list<string>
- * The warnings.
- */
- public function getWarnings(): array {
- return $this->warnings;
- }
-
- /**
- * Returns a list of tests from a TestSuite object.
- *
- * @param \PHPUnit\Framework\TestSuite $phpUnitTestSuite
- * The TestSuite object returned by PHPUnit test discovery.
- * @param string|null $extension
- * The name of an extension to limit discovery to; e.g., 'node'.
- *
- * @return array<string<array<class-string, array{name: class-string, description: string, group: string|int, groups: list<string|int>, type: string, file: string, tests_count: positive-int}>>>
- * An array of test groups keyed by the group name. Each test group is an
- * array of test class information arrays as returned by
- * ::getTestClassInfo(), keyed by test class. If a test class belongs to
- * multiple groups, it will appear under all group keys it belongs to.
- */
- private function getTestList(TestSuite $phpUnitTestSuite, ?string $extension): array {
- $list = [];
- foreach ($phpUnitTestSuite->tests() as $testSuite) {
- foreach ($testSuite->tests() as $testClass) {
- if ($extension !== NULL && !str_starts_with($testClass->name(), "Drupal\\Tests\\{$extension}\\")) {
- continue;
- }
-
- $item = $this->getTestClassInfo(
- $testClass,
- $this->reverseMap[$testSuite->name()] ?? $testSuite->name(),
- );
-
- foreach ($item['groups'] as $group) {
- $list[$group][$item['name']] = $item;
- }
- }
- }
- return $list;
- }
-
- /**
- * Returns a list of tests from a TestSuite object limited to a directory.
- *
- * @param \PHPUnit\Framework\TestSuite $phpUnitTestSuite
- * The TestSuite object returned by PHPUnit test discovery.
- * @param string|null $extension
- * The name of an extension to limit discovery to; e.g., 'node'.
- * @param list<string> $testSuites
- * An array of PHPUnit test suites to filter the discovery for.
- *
- * @return array<string<array<class-string, array{name: class-string, description: string, group: string|int, groups: list<string|int>, type: string, file: string, tests_count: positive-int}>>>
- * An array of test groups keyed by the group name. Each test group is an
- * array of test class information arrays as returned by
- * ::getTestClassInfo(), keyed by test class. If a test class belongs to
- * multiple groups, it will appear under all group keys it belongs to.
- */
- private function getTestListLimitedToDirectory(TestSuite $phpUnitTestSuite, ?string $extension, array $testSuites): array {
- $list = [];
-
- // In this case, PHPUnit found a single test class to run tests for.
- if ($phpUnitTestSuite->isForTestClass()) {
- if ($extension !== NULL && !str_starts_with($phpUnitTestSuite->name(), "Drupal\\Tests\\{$extension}\\")) {
- return [];
- }
-
- // Take the test suite name from the class namespace.
- $testSuite = 'PHPUnit-' . TestDiscovery::getPhpunitTestSuite($phpUnitTestSuite->name());
- if (!empty($testSuites) && !in_array($testSuite, $testSuites, TRUE)) {
- return [];
- }
-
- $item = $this->getTestClassInfo($phpUnitTestSuite, $testSuite);
-
- foreach ($item['groups'] as $group) {
- $list[$group][$item['name']] = $item;
- }
- return $list;
- }
-
- // Multiple test classes were found.
- $list = [];
- foreach ($phpUnitTestSuite->tests() as $testClass) {
- if ($extension !== NULL && !str_starts_with($testClass->name(), "Drupal\\Tests\\{$extension}\\")) {
- continue;
- }
-
- // Take the test suite name from the class namespace.
- $testSuite = 'PHPUnit-' . TestDiscovery::getPhpunitTestSuite($testClass->name());
- if (!empty($testSuites) && !in_array($testSuite, $testSuites, TRUE)) {
- continue;
- }
-
- $item = $this->getTestClassInfo($testClass, $testSuite);
-
- foreach ($item['groups'] as $group) {
- $list[$group][$item['name']] = $item;
- }
- }
- return $list;
-
- }
-
- /**
- * Returns the test class information.
- *
- * @param \PHPUnit\Framework\Test $testClass
- * The test class.
- * @param string $testSuite
- * The test suite of this test class.
- *
- * @return array{name: class-string, description: string, group: string|int, groups: list<string|int>, type: string, file: string, tests_count: positive-int}
- * The test class information.
- */
- private function getTestClassInfo(Test $testClass, string $testSuite): array {
- $reflection = new \ReflectionClass($testClass->name());
-
- // Let PHPUnit API return the groups, as it will deal transparently with
- // annotations or attributes, but skip groups generated by PHPUnit
- // internally and starting with a double underscore prefix.
- if (RunnerVersion::getMajor() < 11) {
- $groups = array_filter($testClass->groups(), function (string $value): bool {
- return !str_starts_with($value, '__phpunit');
- });
- }
- else {
- // In PHPUnit 11+, we need to coalesce the groups from individual tests
- // as they may not be available from the test class level (when tests are
- // backed by data providers).
- $tmp = [];
- foreach ($testClass as $test) {
- if ($test instanceof DataProviderTestSuite) {
- foreach ($test as $testWithData) {
- $tmp = array_merge($tmp, $testWithData->groups());
- }
- }
- else {
- $tmp = array_merge($tmp, $test->groups());
- }
- }
- $groups = array_filter(array_unique($tmp), function (string $value): bool {
- return !str_starts_with($value, '__phpunit');
- });
- }
- if (empty($groups)) {
- throw new MissingGroupException(sprintf('Missing group metadata in test class %s', $testClass->name()));
- }
-
- // Let PHPUnit API return the class coverage information.
- $test = $testClass;
- while (!$test instanceof TestCase) {
- $test = $test->tests()[0];
- }
- if (($metadata = $test->valueObjectForEvents()->metadata()->isCoversClass()) && $metadata->isNotEmpty()) {
- $description = sprintf('Tests %s.', $metadata->asArray()[0]->className());
- }
- elseif (($metadata = $test->valueObjectForEvents()->metadata()->isCoversDefaultClass()) && $metadata->isNotEmpty()) {
- $description = sprintf('Tests %s.', $metadata->asArray()[0]->className());
- }
- else {
- $description = TestDiscovery::parseTestClassSummary($reflection->getDocComment());
- }
-
- // Find the test cases count.
- $count = 0;
- foreach ($testClass->tests() as $testCase) {
- if ($testCase instanceof TestCase) {
- // If it's a straight test method, counts 1.
- $count++;
- }
- else {
- // It's a data provider test suite, count 1 per data set provided.
- $count += count($testCase->tests());
- }
- }
-
- return [
- 'name' => $testClass->name(),
- 'group' => $groups[0],
- 'groups' => $groups,
- 'type' => $testSuite,
- 'description' => $description,
- 'file' => $reflection->getFileName(),
- 'tests_count' => $count,
- ];
- }
-
-}
diff --git a/core/lib/Drupal/Core/Test/RunTests/TestFileParser.php b/core/lib/Drupal/Core/Test/RunTests/TestFileParser.php
index 8ab5260aa660..12aa757e57ee 100644
--- a/core/lib/Drupal/Core/Test/RunTests/TestFileParser.php
+++ b/core/lib/Drupal/Core/Test/RunTests/TestFileParser.php
@@ -4,16 +4,9 @@ namespace Drupal\Core\Test\RunTests;
use PHPUnit\Framework\TestCase;
-@trigger_error('Drupal\Core\Test\RunTests\TestFileParser is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is no replacement. See https://www.drupal.org/node/3447698', E_USER_DEPRECATED);
-
/**
* Parses class names from PHP files without loading them.
*
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is no
- * replacement.
- *
- * @see https://www.drupal.org/node/3447698
- *
* @internal
*/
class TestFileParser {
diff --git a/core/lib/Drupal/Core/Test/TestDiscovery.php b/core/lib/Drupal/Core/Test/TestDiscovery.php
index 468256779b31..1347d0c583f4 100644
--- a/core/lib/Drupal/Core/Test/TestDiscovery.php
+++ b/core/lib/Drupal/Core/Test/TestDiscovery.php
@@ -7,7 +7,6 @@ use Drupal\Component\Annotation\Reflection\MockFileFinder;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Extension\ExtensionDiscovery;
use Drupal\Core\Test\Exception\MissingGroupException;
-use PHPUnit\Framework\Attributes\Group;
/**
* Discovers available tests.
@@ -27,11 +26,6 @@ class TestDiscovery {
* Statically cached list of test classes.
*
* @var array
- *
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is
- * no replacement.
- *
- * @see https://www.drupal.org/node/3447698
*/
protected $testClasses;
@@ -155,14 +149,8 @@ class TestDiscovery {
*
* @todo Remove singular grouping; retain list of groups in 'group' key.
* @see https://www.drupal.org/node/2296615
- *
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use
- * PhpUnitTestDiscovery::getTestClasses() instead.
- *
- * @see https://www.drupal.org/node/3447698
*/
public function getTestClasses($extension = NULL, array $types = [], ?string $directory = NULL) {
- @trigger_error(__METHOD__ . '() is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use PhpUnitTestDiscovery::getTestClasses() instead. See https://www.drupal.org/node/3447698', E_USER_DEPRECATED);
if (!isset($extension) && empty($types)) {
if (!empty($this->testClasses)) {
return $this->testClasses;
@@ -187,15 +175,6 @@ class TestDiscovery {
catch (MissingGroupException $e) {
// If the class name ends in Test and is not a migrate table dump.
if (str_ends_with($classname, 'Test') && !str_contains($classname, 'migrate_drupal\Tests\Table')) {
- $reflection = new \ReflectionClass($classname);
- $groupAttributes = $reflection->getAttributes(Group::class, \ReflectionAttribute::IS_INSTANCEOF);
- if (!empty($groupAttributes)) {
- $group = '##no-group-annotations';
- $info['group'] = $group;
- $info['groups'] = [$group];
- $list[$group][$classname] = $info;
- continue;
- }
throw $e;
}
// If the class is @group annotation just skip it. Most likely it is an
@@ -237,14 +216,8 @@ class TestDiscovery {
* @return array
* A classmap containing all discovered class files; i.e., a map of
* fully-qualified classnames to path names.
- *
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use
- * PhpUnitTestDiscovery::findAllClassFiles() instead.
- *
- * @see https://www.drupal.org/node/3447698
*/
public function findAllClassFiles($extension = NULL, ?string $directory = NULL) {
- @trigger_error(__METHOD__ . '() is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. Use PhpUnitTestDiscovery::findAllClassFiles() instead. See https://www.drupal.org/node/3447698', E_USER_DEPRECATED);
$classmap = [];
$namespaces = $this->registerTestNamespaces();
if (isset($extension)) {
@@ -283,14 +256,8 @@ class TestDiscovery {
*
* @todo Limit to '*Test.php' files (~10% less files to reflect/introspect).
* @see https://www.drupal.org/node/2296635
- *
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is
- * no replacement.
- *
- * @see https://www.drupal.org/node/3447698
*/
public static function scanDirectory($namespace_prefix, $path) {
- @trigger_error(__METHOD__ . '() is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is no replacement. See https://www.drupal.org/node/3447698', E_USER_DEPRECATED);
if (!str_ends_with($namespace_prefix, '\\')) {
throw new \InvalidArgumentException("Namespace prefix for $path must contain a trailing namespace separator.");
}
@@ -345,14 +312,8 @@ class TestDiscovery {
*
* @throws \Drupal\Core\Test\Exception\MissingGroupException
* If the class does not have a @group annotation.
- *
- * @deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is
- * no replacement.
- *
- * @see https://www.drupal.org/node/3447698
*/
public static function getTestInfo($classname, $doc_comment = NULL) {
- @trigger_error(__METHOD__ . '() is deprecated in drupal:11.2.0 and is removed from drupal:12.0.0. There is no replacement. See https://www.drupal.org/node/3447698', E_USER_DEPRECATED);
if ($doc_comment === NULL) {
$reflection = new \ReflectionClass($classname);
$doc_comment = $reflection->getDocComment();
@@ -389,7 +350,7 @@ class TestDiscovery {
$info['type'] = 'PHPUnit-' . static::getPhpunitTestSuite($classname);
if (!empty($annotations['coversDefaultClass'])) {
- $info['description'] = 'Tests ' . ltrim($annotations['coversDefaultClass']) . '.';
+ $info['description'] = 'Tests ' . $annotations['coversDefaultClass'] . '.';
}
else {
$info['description'] = static::parseTestClassSummary($doc_comment);
diff --git a/core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php b/core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php
index e19e759f173c..8cdb368e2e95 100644
--- a/core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php
+++ b/core/lib/Drupal/Core/Theme/Component/ComponentMetadata.php
@@ -14,6 +14,11 @@ class ComponentMetadata {
use StringTranslationTrait;
/**
+ * The ID of the component, in the form of provider:machine_name.
+ */
+ public readonly string $id;
+
+ /**
* The absolute path to the component directory.
*
* @var string
@@ -115,6 +120,7 @@ class ComponentMetadata {
if (str_starts_with($path, $app_root)) {
$path = substr($path, strlen($app_root));
}
+ $this->id = $metadata_info['id'];
$this->mandatorySchemas = $enforce_schemas;
$this->path = $path;
@@ -149,7 +155,7 @@ class ComponentMetadata {
private function parseSchemaInfo(array $metadata_info): ?array {
if (empty($metadata_info['props'])) {
if ($this->mandatorySchemas) {
- throw new InvalidComponentException(sprintf('The component "%s" does not provide schema information. Schema definitions are mandatory for components declared in modules. For components declared in themes, schema definitions are only mandatory if the "enforce_prop_schemas" key is set to "true" in the theme info file.', $metadata_info['id']));
+ throw new InvalidComponentException(sprintf('The component "%s" does not provide schema information. Schema definitions are mandatory for components declared in modules. For components declared in themes, schema definitions are only mandatory if the "enforce_prop_schemas" key is set to "true" in the theme info file.', $this->id));
}
$schema = NULL;
}
@@ -167,6 +173,12 @@ class ComponentMetadata {
$schema_props = $metadata_info['props'];
foreach ($schema_props['properties'] ?? [] as $name => $prop_schema) {
$type = $prop_schema['type'] ?? '';
+ if (isset($prop_schema['enum'], $prop_schema['meta:enum'])) {
+ $enum_keys_diff = array_diff($prop_schema['enum'], array_keys($prop_schema['meta:enum']));
+ if (!empty($enum_keys_diff)) {
+ throw new InvalidComponentException(sprintf('The values for the %s prop enum in component %s must be defined in meta:enum.', $name, $this->id));
+ }
+ }
$schema['properties'][$name]['type'] = array_unique([
...(array) $type,
'object',
@@ -197,6 +209,14 @@ class ComponentMetadata {
* The normalized value object.
*/
public function normalize(): array {
+ $meta = [];
+ if (!empty($this->schema['properties'])) {
+ foreach ($this->schema['properties'] as $prop_name => $prop_definition) {
+ if (!empty($prop_definition['meta:enum'])) {
+ $meta['properties'][$prop_name] = $this->getEnumOptions($prop_name);
+ }
+ }
+ }
return [
'path' => $this->path,
'machineName' => $this->machineName,
@@ -204,7 +224,42 @@ class ComponentMetadata {
'name' => $this->name,
'group' => $this->group,
'variants' => $this->variants,
+ 'meta' => $meta,
];
}
+ /**
+ * Get translated options labels from enumeration.
+ *
+ * @param string $propertyName
+ * The enum property name.
+ *
+ * @return array<string, \Drupal\Core\StringTranslation\TranslatableMarkup>
+ * An array with enum options as keys and the (non-rendered)
+ * translated labels as values.
+ */
+ public function getEnumOptions(string $propertyName): array {
+ $options = [];
+ if (isset($this->schema['properties'][$propertyName])) {
+ $prop_definition = $this->schema['properties'][$propertyName];
+ if (!empty($prop_definition['enum'])) {
+ $translation_context = $prop_definition['x-translation-context'] ?? '';
+ // We convert ['a', 'b'], into ['a' => t('a'), 'b' => t('b')].
+ $options = array_combine(
+ $prop_definition['enum'],
+ // @phpcs:ignore Drupal.Semantics.FunctionT.NotLiteralString
+ array_map(fn($value) => $this->t($value, [], ['context' => $translation_context]), $prop_definition['enum']),
+ );
+ if (!empty($prop_definition['meta:enum'])) {
+ foreach ($prop_definition['meta:enum'] as $enum_value => $enum_label) {
+ $options[$enum_value] =
+ // @phpcs:ignore Drupal.Semantics.FunctionT.NotLiteralString
+ $this->t($enum_label, [], ['context' => $translation_context]);
+ }
+ }
+ }
+ }
+ return $options;
+ }
+
}
diff --git a/core/misc/dialog/off-canvas/css/button.pcss.css b/core/misc/dialog/off-canvas/css/button.pcss.css
index 50288fc1e01e..42a9eba3d168 100644
--- a/core/misc/dialog/off-canvas/css/button.pcss.css
+++ b/core/misc/dialog/off-canvas/css/button.pcss.css
@@ -104,7 +104,7 @@
}
}
- @nest .no-touchevents & .button--small {
+ .no-touchevents & .button--small {
padding: 2px 1em;
font-size: 13px;
}
diff --git a/core/misc/dialog/off-canvas/css/tabledrag.pcss.css b/core/misc/dialog/off-canvas/css/tabledrag.pcss.css
index 9bce191ba33f..3fadc12cddfb 100644
--- a/core/misc/dialog/off-canvas/css/tabledrag.pcss.css
+++ b/core/misc/dialog/off-canvas/css/tabledrag.pcss.css
@@ -86,16 +86,16 @@
width: 5px;
}
- @nest .touchevents & .draggable td {
+ .touchevents & .draggable td {
padding: 0 10px;
}
- @nest .touchevents & .draggable .menu-item__link {
+ .touchevents & .draggable .menu-item__link {
display: inline-block;
padding: 10px 0;
}
- @nest .touchevents & a.tabledrag-handle {
+ .touchevents & a.tabledrag-handle {
width: 40px;
height: 44px;
}
diff --git a/core/misc/dialog/off-canvas/css/wrapper.css b/core/misc/dialog/off-canvas/css/wrapper.css
index 706d5a0e9d48..c5dbc71f1300 100644
--- a/core/misc/dialog/off-canvas/css/wrapper.css
+++ b/core/misc/dialog/off-canvas/css/wrapper.css
@@ -11,7 +11,7 @@
* @internal
*/
#drupal-off-canvas-wrapper {
- --off-canvas-wrapper-box-shadow: 0 0 0.25rem 2px rgba(0, 0, 0, 0.3);
+ --off-canvas-wrapper-box-shadow: 0 0 0.25rem 2px rgb(0, 0, 0, 0.3);
--off-canvas-wrapper-border-color: #2d2d2d;
--off-canvas-wrapper-border-width: 1px;
diff --git a/core/misc/dialog/off-canvas/css/wrapper.pcss.css b/core/misc/dialog/off-canvas/css/wrapper.pcss.css
index c16a7e652df1..c16b30a7d0bb 100644
--- a/core/misc/dialog/off-canvas/css/wrapper.pcss.css
+++ b/core/misc/dialog/off-canvas/css/wrapper.pcss.css
@@ -5,7 +5,7 @@
* @internal
*/
#drupal-off-canvas-wrapper {
- --off-canvas-wrapper-box-shadow: 0 0 4px 2px rgba(0, 0, 0, 0.3);
+ --off-canvas-wrapper-box-shadow: 0 0 4px 2px rgb(0, 0, 0, 0.3);
--off-canvas-wrapper-border-color: #2d2d2d;
--off-canvas-wrapper-border-width: 1px;
diff --git a/core/misc/tabledrag.js b/core/misc/tabledrag.js
index b9f32bd54138..5786ebd9431a 100644
--- a/core/misc/tabledrag.js
+++ b/core/misc/tabledrag.js
@@ -1064,8 +1064,7 @@
const nextRow = $nextRow.get(0);
sourceRow = changedRow;
if (
- previousRow &&
- previousRow.matches('.draggable') &&
+ previousRow?.matches('.draggable') &&
$previousRow.find(`.${group}`).length
) {
if (this.indentEnabled) {
@@ -1079,8 +1078,7 @@
sourceRow = previousRow;
}
} else if (
- nextRow &&
- nextRow.matches('.draggable') &&
+ nextRow?.matches('.draggable') &&
$nextRow.find(`.${group}`).length
) {
if (this.indentEnabled) {
diff --git a/core/modules/automated_cron/automated_cron.services.yml b/core/modules/automated_cron/automated_cron.services.yml
index 0cc66d22384e..69c364b1f250 100644
--- a/core/modules/automated_cron/automated_cron.services.yml
+++ b/core/modules/automated_cron/automated_cron.services.yml
@@ -4,6 +4,6 @@ parameters:
services:
_defaults:
autoconfigure: true
+ autowire: true
automated_cron.subscriber:
class: Drupal\automated_cron\EventSubscriber\AutomatedCron
- arguments: ['@cron', '@config.factory', '@state']
diff --git a/core/modules/automated_cron/src/EventSubscriber/AutomatedCron.php b/core/modules/automated_cron/src/EventSubscriber/AutomatedCron.php
index c237f07ea34d..80258bad508e 100644
--- a/core/modules/automated_cron/src/EventSubscriber/AutomatedCron.php
+++ b/core/modules/automated_cron/src/EventSubscriber/AutomatedCron.php
@@ -1,10 +1,12 @@
<?php
+declare(strict_types=1);
+
namespace Drupal\automated_cron\EventSubscriber;
use Drupal\Core\Config\ConfigFactoryInterface;
-use Drupal\Core\CronInterface;
use Drupal\Core\State\StateInterface;
+use Symfony\Component\DependencyInjection\Attribute\AutowireServiceClosure;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\HttpKernel\Event\TerminateEvent;
use Symfony\Component\HttpKernel\KernelEvents;
@@ -14,42 +16,12 @@ use Symfony\Component\HttpKernel\KernelEvents;
*/
class AutomatedCron implements EventSubscriberInterface {
- /**
- * The cron service.
- *
- * @var \Drupal\Core\CronInterface
- */
- protected $cron;
-
- /**
- * The cron configuration.
- *
- * @var \Drupal\Core\Config\Config
- */
- protected $config;
-
- /**
- * The state key value store.
- *
- * @var \Drupal\Core\State\StateInterface
- */
- protected $state;
-
- /**
- * Constructs a new automated cron runner.
- *
- * @param \Drupal\Core\CronInterface $cron
- * The cron service.
- * @param \Drupal\Core\Config\ConfigFactoryInterface $config_factory
- * The config factory.
- * @param \Drupal\Core\State\StateInterface $state
- * The state key-value store service.
- */
- public function __construct(CronInterface $cron, ConfigFactoryInterface $config_factory, StateInterface $state) {
- $this->cron = $cron;
- $this->config = $config_factory->get('automated_cron.settings');
- $this->state = $state;
- }
+ public function __construct(
+ #[AutowireServiceClosure('cron')]
+ protected readonly \Closure $cron,
+ protected readonly ConfigFactoryInterface $configFactory,
+ protected StateInterface $state,
+ ) {}
/**
* Run the automated cron if enabled.
@@ -57,12 +29,12 @@ class AutomatedCron implements EventSubscriberInterface {
* @param \Symfony\Component\HttpKernel\Event\TerminateEvent $event
* The Event to process.
*/
- public function onTerminate(TerminateEvent $event) {
- $interval = $this->config->get('interval');
+ public function onTerminate(TerminateEvent $event): void {
+ $interval = $this->configFactory->get('automated_cron.settings')->get('interval');
if ($interval > 0) {
$cron_next = $this->state->get('system.cron_last', 0) + $interval;
if ((int) $event->getRequest()->server->get('REQUEST_TIME') > $cron_next) {
- $this->cron->run();
+ ($this->cron)()->run();
}
}
}
diff --git a/core/modules/automated_cron/tests/src/Kernel/AutomatedCronTest.php b/core/modules/automated_cron/tests/src/Kernel/AutomatedCronTest.php
new file mode 100644
index 000000000000..40f71d091c26
--- /dev/null
+++ b/core/modules/automated_cron/tests/src/Kernel/AutomatedCronTest.php
@@ -0,0 +1,46 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Drupal\Tests\automated_cron\Kernel;
+
+use Drupal\KernelTests\KernelTestBase;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+
+/**
+ * Tests for automated_cron.
+ *
+ * @group automated_cron
+ */
+class AutomatedCronTest extends KernelTestBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ protected static $modules = ['automated_cron'];
+
+ /**
+ * Tests that automated cron runs cron on an HTTP request.
+ *
+ * @covers \Drupal\automated_cron\EventSubscriber\AutomatedCron::onTerminate
+ */
+ public function testRunsCronOnHttpRequest(): void {
+ // Set automated_cron interval and times.
+ // Any interval > 0 should work.
+ $this->config('automated_cron.settings')->set('interval', 10800)->save();
+ $request = new Request();
+
+ // Cron uses `$_SERVER['REQUEST_TIME']` to set `system.cron_last`
+ // because there is no request stack, so we set the request time
+ // to the same.
+ $expected = $_SERVER['REQUEST_TIME'];
+ $request->server->set('REQUEST_TIME', $expected);
+
+ // Invoke `AutomatedCron::onTerminate` and check result.
+ $this->assertNull($this->container->get('state')->get('system.cron_last'));
+ $this->container->get('kernel')->terminate($request, new Response());
+ $this->assertEquals($expected, $this->container->get('state')->get('system.cron_last'));
+ }
+
+}
diff --git a/core/modules/big_pipe/js/big_pipe.js b/core/modules/big_pipe/js/big_pipe.js
index 3c3e106e7037..cc8c7a244961 100644
--- a/core/modules/big_pipe/js/big_pipe.js
+++ b/core/modules/big_pipe/js/big_pipe.js
@@ -91,8 +91,7 @@
return Boolean(
node.nodeType === Node.ELEMENT_NODE &&
node.nodeName === 'SCRIPT' &&
- node.dataset &&
- node.dataset.bigPipeReplacementForPlaceholderWithId &&
+ node.dataset?.bigPipeReplacementForPlaceholderWithId &&
typeof drupalSettings.bigPipePlaceholderIds[
node.dataset.bigPipeReplacementForPlaceholderWithId
] !== 'undefined',
diff --git a/core/modules/block_content/block_content.services.yml b/core/modules/block_content/block_content.services.yml
index 2661eda513b5..5d43a1d37f8e 100644
--- a/core/modules/block_content/block_content.services.yml
+++ b/core/modules/block_content/block_content.services.yml
@@ -1,6 +1,28 @@
parameters:
block_content.skip_procedural_hook_scan: false
+ block_content.moved_classes:
+ Drupal\block_content\Access\AccessGroupAnd:
+ class: Drupal\Core\Access\AccessGroupAnd
+ deprecation_version: drupal:11.2.0
+ removed_version: drupal:12.0.0
+ change_record: https://www.drupal.org/node/3527501
+ Drupal\block_content\Access\DependentAccessInterface:
+ class: Drupal\Core\Access\DependentAccessInterface
+ deprecation_version: drupal:11.2.0
+ removed_version: drupal:12.0.0
+ change_record: https://www.drupal.org/node/3527501
+ Drupal\block_content\Access\RefinableDependentAccessInterface:
+ class: Drupal\Core\Access\RefinableDependentAccessInterface
+ deprecation_version: drupal:11.2.0
+ removed_version: drupal:12.0.0
+ change_record: https://www.drupal.org/node/3527501
+ Drupal\block_content\Access\RefinableDependentAccessTrait:
+ class: Drupal\Core\Access\RefinableDependentAccessTrait
+ deprecation_version: drupal:11.2.0
+ removed_version: drupal:12.0.0
+ change_record: https://www.drupal.org/node/3527501
+
services:
_defaults:
autoconfigure: true
diff --git a/core/modules/block_content/src/BlockContentAccessControlHandler.php b/core/modules/block_content/src/BlockContentAccessControlHandler.php
index 34d5dd6e5ed0..0d2765e8018a 100644
--- a/core/modules/block_content/src/BlockContentAccessControlHandler.php
+++ b/core/modules/block_content/src/BlockContentAccessControlHandler.php
@@ -2,10 +2,10 @@
namespace Drupal\block_content;
-use Drupal\block_content\Access\DependentAccessInterface;
use Drupal\block_content\Event\BlockContentGetDependencyEvent;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Access\AccessResultInterface;
+use Drupal\Core\Access\DependentAccessInterface;
use Drupal\Core\Entity\EntityAccessControlHandler;
use Drupal\Core\Entity\EntityHandlerInterface;
use Drupal\Core\Entity\EntityInterface;
diff --git a/core/modules/block_content/src/BlockContentInterface.php b/core/modules/block_content/src/BlockContentInterface.php
index f6763f451c57..e4f80d202541 100644
--- a/core/modules/block_content/src/BlockContentInterface.php
+++ b/core/modules/block_content/src/BlockContentInterface.php
@@ -2,7 +2,7 @@
namespace Drupal\block_content;
-use Drupal\block_content\Access\RefinableDependentAccessInterface;
+use Drupal\Core\Access\RefinableDependentAccessInterface;
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Entity\EntityChangedInterface;
use Drupal\Core\Entity\EntityPublishedInterface;
diff --git a/core/modules/block_content/src/Entity/BlockContent.php b/core/modules/block_content/src/Entity/BlockContent.php
index 0d92bde49300..ed69e44f6f6a 100644
--- a/core/modules/block_content/src/Entity/BlockContent.php
+++ b/core/modules/block_content/src/Entity/BlockContent.php
@@ -10,13 +10,13 @@ use Drupal\block_content\BlockContentTranslationHandler;
use Drupal\block_content\BlockContentViewBuilder;
use Drupal\block_content\BlockContentViewsData;
use Drupal\block_content\Form\BlockContentDeleteForm;
+use Drupal\Core\Access\RefinableDependentAccessTrait;
use Drupal\Core\Entity\Attribute\ContentEntityType;
use Drupal\Core\Entity\Routing\RevisionHtmlRouteProvider;
use Drupal\Core\Entity\Form\RevisionRevertForm;
use Drupal\Core\Entity\Form\RevisionDeleteForm;
use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
use Drupal\Core\StringTranslation\TranslatableMarkup;
-use Drupal\block_content\Access\RefinableDependentAccessTrait;
use Drupal\Core\Entity\EditorialContentEntityBase;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Entity\EntityTypeInterface;
diff --git a/core/modules/ckeditor5/css/drupalmedia.css b/core/modules/ckeditor5/css/drupalmedia.css
index 07ce32c8fedc..4dd9a4e3afa0 100644
--- a/core/modules/ckeditor5/css/drupalmedia.css
+++ b/core/modules/ckeditor5/css/drupalmedia.css
@@ -28,7 +28,7 @@
display: table-caption;
padding: 0.6em;
caption-side: bottom;
- word-break: break-word;
+ overflow-wrap: break-word;
color: hsl(0, 0%, 20%);
outline-offset: -1px;
background-color: hsl(0, 0%, 97%);
diff --git a/core/modules/ckeditor5/js/build/drupalMedia.js b/core/modules/ckeditor5/js/build/drupalMedia.js
index 38c848e43941..9e3b2765bd5c 100644
--- a/core/modules/ckeditor5/js/build/drupalMedia.js
+++ b/core/modules/ckeditor5/js/build/drupalMedia.js
@@ -1 +1 @@
-!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.drupalMedia=t())}(globalThis,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/engine.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/engine.js")},"ckeditor5/src/ui.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/utils.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"ckeditor5/src/widget.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{"use strict";i.d(n,{default:()=>ne});var e=i("ckeditor5/src/core.js"),t=i("ckeditor5/src/widget.js");function a(e){return!!e&&e.is("element","drupalMedia")}function r(e){return(0,t.isWidget)(e)&&!!e.getCustomProperty("drupalMedia")}function o(e){const t=e.getSelectedElement();return a(t)?t:e.getFirstPosition().findAncestor("drupalMedia")}function s(e){const t=e.getSelectedElement();if(t&&r(t))return t;if(null===e.getFirstPosition())return null;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&r(i))return i;i=i.parent}return null}function l(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function d(e){for(const t of e){if(t.hasAttribute("data-drupal-media-preview"))return t;if(t.childCount){const e=d(t.getChildren());if(e)return e}}return null}function u(e){return`drupalElementStyle${e[0].toUpperCase()+e.substring(1)}`}class c extends e.Command{execute(e){const t=this.editor.plugins.get("DrupalMediaEditing"),i=Object.entries(t.attrs).reduce(((e,[t,i])=>(e[i]=t,e)),{}),n=Object.keys(e).reduce(((t,n)=>(i[n]&&(t[i[n]]=e[n]),t)),{});if(this.editor.plugins.has("DrupalElementStyleEditing")){const t=this.editor.plugins.get("DrupalElementStyleEditing"),{normalizedStyles:i}=t;for(const a of Object.keys(i))for(const i of t.normalizedStyles[a])if(e[i.attributeName]&&i.attributeValue===e[i.attributeName]){const e=u(a);n[e]=i.name}}this.editor.model.change((e=>{this.editor.model.insertObject(function(e,t){return e.createElement("drupalMedia",t)}(e,n))}))}refresh(){const e=this.editor.model,t=e.document.selection,i=e.schema.findAllowedParent(t.getFirstPosition(),"drupalMedia");this.isEnabled=null!==i}}const m="METADATA_ERROR";class p extends e.Plugin{static get requires(){return[t.Widget]}constructor(e){super(e),this.attrs={drupalMediaAlt:"alt",drupalMediaEntityType:"data-entity-type",drupalMediaEntityUuid:"data-entity-uuid"},this.converterAttributes=["drupalMediaEntityUuid","drupalElementStyleViewMode","drupalMediaEntityType","drupalMediaAlt"]}init(){const e=this.editor.config.get("drupalMedia");if(!e)return;const{previewURL:t,themeError:i}=e;this.previewUrl=t,this.labelError=Drupal.t("Preview failed"),this.themeError=i||`\n <p>${Drupal.t("An error occurred while trying to preview the media. Save your work and reload this page.")}<p>\n `,this._defineSchema(),this._defineConverters(),this._defineListeners(),this.editor.commands.add("insertDrupalMedia",new c(this.editor))}upcastDrupalMediaIsImage(e){const{model:t,plugins:i}=this.editor;i.get("DrupalMediaMetadataRepository").getMetadata(e).then((i=>{e&&t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",!!i.imageSourceMetadata,e)}))})).catch((i=>{e&&(console.warn(i.toString()),t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",m,e)})))}))}upcastDrupalMediaType(e){this.editor.plugins.get("DrupalMediaMetadataRepository").getMetadata(e).then((t=>{e&&this.editor.model.enqueueChange({isUndoable:!1},(i=>{i.setAttribute("drupalMediaType",t.type,e)}))})).catch((t=>{e&&(console.warn(t.toString()),this.editor.model.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaType",m,e)})))}))}async _fetchPreview(e){const t={text:this._renderElement(e),uuid:e.getAttribute("drupalMediaEntityUuid")},i=await fetch(`${this.previewUrl}?${new URLSearchParams(t)}`,{headers:{"X-Drupal-MediaPreview-CSRF-Token":this.editor.config.get("drupalMedia").previewCsrfToken}});if(i.ok){return{label:i.headers.get("drupal-media-label"),preview:await i.text()}}return{label:this.labelError,preview:this.themeError}}_defineSchema(){this.editor.model.schema.register("drupalMedia",{inheritAllFrom:"$blockObject",allowAttributes:Object.keys(this.attrs)}),this.editor.editing.view.domConverter.blockElements.push("drupal-media")}_defineConverters(){const e=this.editor.conversion,i=this.editor.plugins.get("DrupalMediaMetadataRepository");e.for("upcast").elementToElement({view:{name:"drupal-media"},model:"drupalMedia"}).add((e=>{e.on("element:drupal-media",((e,t)=>{const[n]=t.modelRange.getItems();i.getMetadata(n).then((e=>{n&&(this.upcastDrupalMediaIsImage(n),this.editor.model.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaType",e.type,n)})))})).catch((e=>{console.warn(e.toString())}))}),{priority:"lowest"})})),e.for("dataDowncast").elementToElement({model:"drupalMedia",view:{name:"drupal-media"}}),e.for("editingDowncast").elementToElement({model:"drupalMedia",view:(e,{writer:i})=>{const n=i.createContainerElement("figure",{class:"drupal-media"});if(!this.previewUrl){const e=i.createRawElement("div",{"data-drupal-media-preview":"unavailable"});i.insert(i.createPositionAt(n,0),e)}return i.setCustomProperty("drupalMedia",!0,n),(0,t.toWidget)(n,i,{label:Drupal.t("Media widget")})}}).add((e=>{const t=(e,t,i)=>{const n=i.writer,a=t.item,r=i.mapper.toViewElement(t.item);let o=d(r.getChildren());if(o){if("ready"!==o.getAttribute("data-drupal-media-preview"))return;n.setAttribute("data-drupal-media-preview","loading",o)}else o=n.createRawElement("div",{"data-drupal-media-preview":"loading"}),n.insert(n.createPositionAt(r,0),o);this._fetchPreview(a).then((({label:e,preview:t})=>{o&&this.editor.editing.view.change((i=>{const n=i.createRawElement("div",{"data-drupal-media-preview":"ready","aria-label":e},(e=>{e.innerHTML=t}));i.insert(i.createPositionBefore(o),n),i.remove(o)}))}))};return this.converterAttributes.forEach((i=>{e.on(`attribute:${i}:drupalMedia`,t)})),e})),e.for("editingDowncast").add((e=>{e.on("attribute:drupalElementStyleAlign:drupalMedia",((e,t,i)=>{const n={left:"drupal-media-style-align-left",right:"drupal-media-style-align-right",center:"drupal-media-style-align-center"},a=i.mapper.toViewElement(t.item),r=i.writer;n[t.attributeOldValue]&&r.removeClass(n[t.attributeOldValue],a),n[t.attributeNewValue]&&i.consumable.consume(t.item,e.name)&&r.addClass(n[t.attributeNewValue],a)}))})),Object.keys(this.attrs).forEach((t=>{const i={model:{key:t,name:"drupalMedia"},view:{name:"drupal-media",key:this.attrs[t]}};e.for("dataDowncast").attributeToAttribute(i),e.for("upcast").attributeToAttribute(i)}))}_defineListeners(){this.editor.model.on("insertContent",((e,[t])=>{a(t)&&(this.upcastDrupalMediaIsImage(t),this.upcastDrupalMediaType(t))}))}_renderElement(e){const t=this.editor.model.change((t=>{const i=t.createDocumentFragment(),n=t.cloneElement(e,!1);return["linkHref"].forEach((e=>{t.removeAttribute(e,n)})),t.append(n,i),i}));return this.editor.data.stringify(t)}static get pluginName(){return"DrupalMediaEditing"}}var g=i("ckeditor5/src/ui.js");class h extends e.Plugin{init(){const e=this.editor,t=this.editor.config.get("drupalMedia");if(!t)return;const{libraryURL:i,openDialog:n,dialogSettings:a={}}=t;i&&"function"==typeof n&&e.ui.componentFactory.add("drupalMedia",(t=>{const r=e.commands.get("insertDrupalMedia"),o=new g.ButtonView(t);return o.set({label:Drupal.t("Insert Media"),icon:'<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1873 4.86414L10.2509 6.86414V7.02335H10.2499V15.5091C9.70972 15.1961 9.01793 15.1048 8.34069 15.3136C7.12086 15.6896 6.41013 16.8967 6.75322 18.0096C7.09631 19.1226 8.3633 19.72 9.58313 19.344C10.6666 19.01 11.3484 18.0203 11.2469 17.0234H11.2499V9.80173L18.1803 8.25067V14.3868C17.6401 14.0739 16.9483 13.9825 16.2711 14.1913C15.0513 14.5674 14.3406 15.7744 14.6836 16.8875C15.0267 18.0004 16.2937 18.5978 17.5136 18.2218C18.597 17.8877 19.2788 16.8982 19.1773 15.9011H19.1803V8.02687L19.1873 8.0253V4.86414Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5039 0.743652H0.386932V12.1603H13.5039V0.743652ZM12.3379 1.75842H1.55289V11.1454H1.65715L4.00622 8.86353L6.06254 10.861L9.24985 5.91309L11.3812 9.22179L11.7761 8.6676L12.3379 9.45621V1.75842ZM6.22048 4.50869C6.22048 5.58193 5.35045 6.45196 4.27722 6.45196C3.20398 6.45196 2.33395 5.58193 2.33395 4.50869C2.33395 3.43546 3.20398 2.56543 4.27722 2.56543C5.35045 2.56543 6.22048 3.43546 6.22048 4.50869Z"/></svg>\n',tooltip:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(o,"execute",(()=>{n(i,(({attributes:t})=>{e.execute("insertDrupalMedia",t)}),a)})),o}))}}class f extends e.Plugin{static get requires(){return[t.WidgetToolbarRepository]}static get pluginName(){return"DrupalMediaToolbar"}afterInit(){const{editor:e}=this;var i;e.plugins.get(t.WidgetToolbarRepository).register("drupalMedia",{ariaLabel:Drupal.t("Drupal Media toolbar"),items:(i=e.config.get("drupalMedia.toolbar"),i.map((e=>l(e)?e.name:e))||[]),getRelatedElement:e=>s(e)})}}class b extends e.Command{refresh(){const e=o(this.editor.model.document.selection);this.isEnabled=!!e&&e.getAttribute("drupalMediaIsImage")&&e.getAttribute("drupalMediaIsImage")!==m,this.isEnabled?this.value=e.getAttribute("drupalMediaAlt"):this.value=!1}execute(e){const{model:t}=this.editor,i=o(t.document.selection);e.newValue=e.newValue.trim(),t.change((t=>{e.newValue.length>0?t.setAttribute("drupalMediaAlt",e.newValue,i):t.removeAttribute("drupalMediaAlt",i)}))}}class w extends e.Plugin{init(){this._data=new WeakMap}getMetadata(e){if(this._data.get(e))return new Promise((t=>{t(this._data.get(e))}));const t=this.editor.config.get("drupalMedia");if(!t)return new Promise(((e,t)=>{t(new Error("drupalMedia configuration is required for parsing metadata."))}));if(!e.hasAttribute("drupalMediaEntityUuid"))return new Promise(((e,t)=>{t(new Error("drupalMedia element must have drupalMediaEntityUuid attribute to retrieve metadata."))}));const{metadataUrl:i}=t;return(async e=>{const t=await fetch(e);if(t.ok)return JSON.parse(await t.text());throw new Error("Fetching media embed metadata from the server failed.")})(`${i}&${new URLSearchParams({uuid:e.getAttribute("drupalMediaEntityUuid")})}`).then((t=>(this._data.set(e,t),t)))}static get pluginName(){return"DrupalMediaMetadataRepository"}}class y extends e.Plugin{static get requires(){return[w]}static get pluginName(){return"MediaImageTextAlternativeEditing"}init(){const{editor:e,editor:{model:t,conversion:i}}=this;t.schema.extend("drupalMedia",{allowAttributes:["drupalMediaIsImage"]}),i.for("editingDowncast").add((e=>{e.on("attribute:drupalMediaIsImage",((e,t,i)=>{const{writer:n,mapper:a}=i,r=a.toViewElement(t.item);if(t.attributeNewValue!==m){const e=Array.from(r.getChildren()).find((e=>e.getCustomProperty("drupalMediaMetadataError")));return void(e&&(n.setCustomProperty("widgetLabel",e.getCustomProperty("drupalMediaOriginalWidgetLabel"),e),n.removeElement(e)))}const o=Drupal.t("Not all functionality may be available because some information could not be retrieved."),s=new g.Template({tag:"span",children:[{tag:"span",attributes:{class:"drupal-media__metadata-error-icon","data-cke-tooltip-text":o}}]}).render(),l=n.createRawElement("div",{class:"drupal-media__metadata-error"},((e,t)=>{t.setContentOf(e,s.outerHTML)}));n.setCustomProperty("drupalMediaMetadataError",!0,l);const d=r.getCustomProperty("widgetLabel");n.setCustomProperty("drupalMediaOriginalWidgetLabel",d,l),n.setCustomProperty("widgetLabel",`${d} (${o})`,r),n.insert(n.createPositionAt(r,0),l)}),{priority:"low"})})),e.commands.add("mediaImageTextAlternative",new b(this.editor))}}function v(e){const t=e.editing.view,i=g.BalloonPanelView.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast]}}var E=i("ckeditor5/src/utils.js");class M extends g.View{constructor(t){super(t),this.focusTracker=new E.FocusTracker,this.keystrokes=new E.KeystrokeHandler,this.decorativeToggle=this._decorativeToggleView(),this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(Drupal.t("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(Drupal.t("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new g.ViewCollection,this._focusCycler=new g.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-alternative-text-form","ck-vertical-form"],tabindex:"-1"},children:[{tag:"div",children:[this.decorativeToggle]},this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,g.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,g.submitHandler)({view:this}),[this.decorativeToggle,this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}_createButton(e,t,i,n){const a=new g.ButtonView(this.locale);return a.set({label:e,icon:t,tooltip:!0}),a.extendTemplate({attributes:{class:i}}),n&&a.delegate("execute").to(this,n),a}_createLabeledInputView(){const e=new g.LabeledFieldView(this.locale,g.createLabeledInputText);return e.bind("class").to(this.decorativeToggle,"isOn",(e=>e?"ck-hidden":"")),e.label=Drupal.t("Alternative text override"),e}_decorativeToggleView(){const e=new g.SwitchButtonView(this.locale);return e.set({withText:!0,label:Drupal.t("Decorative image")}),e.on("execute",(()=>{e.isOn&&(this.labeledInput.fieldView.element.value=""),e.set("isOn",!e.isOn)})),e}}class k extends e.Plugin{static get requires(){return[g.ContextualBalloon]}static get pluginName(){return"MediaImageTextAlternativeUi"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor;t.ui.componentFactory.add("mediaImageTextAlternative",(i=>{const n=t.commands.get("mediaImageTextAlternative"),a=new g.ButtonView(i);return a.set({label:Drupal.t("Override media image alternative text"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isVisible").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new M(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("mediaImageTextAlternative",{newValue:this._form.decorativeToggle.isOn?'""':this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{s(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(s(e.editing.view.document.selection)){const i=v(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,g.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("mediaImageTextAlternative"),i=this._form.decorativeToggle,n=e.plugins.get("DrupalMediaMetadataRepository"),r=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:v(e)}),i.isOn='""'===t.value,r.fieldView.element.value=t.value||"",r.fieldView.value=r.fieldView.element.value,this._form.defaultAltText="";const o=e.model.document.selection.getSelectedElement();a(o)&&n.getMetadata(o).then((e=>{this._form.defaultAltText=e.imageSourceMetadata?e.imageSourceMetadata.alt:"",r.infoText=Drupal.t(`Leave blank to use the default alternative text: "${this._form.defaultAltText}".`)})).catch((e=>{console.warn(e.toString())})),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class D extends e.Plugin{static get requires(){return[y,k]}static get pluginName(){return"MediaImageTextAlternative"}}function C(e,t,i){if(t.attributes)for(const[n,a]of Object.entries(t.attributes))e.setAttribute(n,a,i);t.styles&&e.setStyle(t.styles,i),t.classes&&e.addClass(t.classes,i)}function A(e,t,i){if(!i.consumable.consume(t.item,e.name))return;const n=i.mapper.toViewElement(t.item);C(i.writer,t.attributeNewValue,n)}class _ extends e.Plugin{constructor(e){if(super(e),!e.plugins.has("GeneralHtmlSupport"))return;e.plugins.has("DataFilter")&&e.plugins.has("DataSchema")||console.error("DataFilter and DataSchema plugins are required for Drupal Media to integrate with General HTML Support plugin.");const{schema:t}=e.model,{conversion:i}=e,n=this.editor.plugins.get("DataFilter");this.editor.plugins.get("DataSchema").registerBlockElement({model:"drupalMedia",view:"drupal-media"}),n.on("register:drupal-media",((e,a)=>{"drupalMedia"===a.model&&(t.extend("drupalMedia",{allowAttributes:["htmlLinkAttributes","htmlAttributes"]}),i.for("upcast").add(function(e){return t=>{t.on("element:drupal-media",((t,i,n)=>{function a(t,a){const r=e.processViewAttributes(t,n);r&&n.writer.setAttribute(a,r,i.modelRange)}const r=i.viewItem,o=r.parent;a(r,"htmlAttributes"),o.is("element","a")&&a(o,"htmlLinkAttributes")}),{priority:"low"})}}(n)),i.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item),a=function(e,t,i){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",i))return e}(i.writer,n,"a");C(i.writer,t.item.getAttribute("htmlLinkAttributes"),a)}),{priority:"low"})})),i.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item).parent;C(i.writer,t.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"}),e.on("attribute:htmlAttributes:drupalMedia",A,{priority:"low"})})),e.stop())}))}static get pluginName(){return"DrupalMediaGeneralHtmlSupport"}}class x extends e.Plugin{static get requires(){return[p,_,h,f,D]}static get pluginName(){return"DrupalMedia"}}var V=i("ckeditor5/src/engine.js");function S(e){return Array.from(e.getChildren()).find((e=>"drupal-media"===e.name))}function T(e){return t=>{t.on(`attribute:${e.id}:drupalMedia`,((t,i,n)=>{const a=n.mapper.toViewElement(i.item);let r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r=!r&&a.is("element","a")?a:Array.from(a.getAncestors()).find((e=>"a"===e.name)),r){for(const[t,i]of(0,E.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)Object.prototype.hasOwnProperty.call(e.styles,t)&&n.writer.setStyle(t,e.styles[t],r)}}))}}function I(e,t){return e=>{e.on("element:a",((e,i,n)=>{const a=i.viewItem;if(!S(a))return;const r=new V.Matcher(t._createPattern()).match(a);if(!r)return;if(!n.consumable.consume(a,r.match))return;const o=i.modelCursor.nodeBefore;n.writer.setAttribute(t.id,!0,o)}),{priority:"high"})}}class L extends e.Plugin{static get requires(){return["LinkEditing","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaEditing"}init(){const{editor:e}=this;e.model.schema.extend("drupalMedia",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,i)=>{const n=t.viewItem,a=S(n);if(!a)return;if(!i.consumable.consume(n,{attributes:["href"],name:!0}))return;const r=n.getAttribute("href");if(null===r)return;const o=i.convertItem(a,t.modelCursor);t.modelRange=o.modelRange,t.modelCursor=o.modelCursor;const s=t.modelCursor.nodeBefore;s&&s.is("element","drupalMedia")&&i.writer.setAttribute("linkHref",r,s)}),{priority:"high"})})),e.conversion.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r)t.attributeNewValue?n.setAttribute("href",t.attributeNewValue,r):(n.move(n.createRangeIn(r),n.createPositionAt(a,0)),n.remove(r));else{const e=Array.from(a.getChildren()).find((e=>e.getAttribute("data-drupal-media-preview"))),i=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionAt(a,0),i),n.move(n.createRangeOn(e),n.createPositionAt(i,0))}}),{priority:"high"})})),e.conversion.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionBefore(a),r),n.move(n.createRangeOn(a),n.createPositionAt(r,0))}),{priority:"high"})})),this._enableManualDecorators();if(e.commands.get("link").automaticDecorators.length>0)throw new Error("The Drupal Media plugin is not compatible with automatic link decorators. To use Drupal Media, disable any plugins providing automatic link decorators.")}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.model.schema.extend("drupalMedia",{allowAttributes:i.id}),e.conversion.for("downcast").add(T(i)),e.conversion.for("upcast").add(I(0,i))}}class O extends e.Plugin{static get requires(){return["LinkEditing","LinkUI","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaUi"}init(){const{editor:e}=this,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedMedia(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkMediaButton()}_createToolbarLinkMediaButton(){const{editor:e}=this;e.ui.componentFactory.add("drupalLinkMedia",(t=>{const i=new g.ButtonView(t),n=e.plugins.get("LinkUI"),a=e.commands.get("link");return i.set({isEnabled:!0,label:Drupal.t("Link media"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>\n',keystroke:"Ctrl+K",tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(a,"isEnabled"),i.bind("isOn").to(a,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>{this._isSelectedLinkedMedia(e.model.document.selection)?n._addActionsView():n._showUI(!0)})),i}))}_isSelectedLinkedMedia(e){const t=e.getSelectedElement();return!!t&&t.is("element","drupalMedia")&&t.hasAttribute("linkHref")}}class P extends e.Plugin{static get requires(){return[L,O]}static get pluginName(){return"DrupalLinkMedia"}}const B={get inline(){return{name:"inline",title:"In line",icon:e.icons.objectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:e.icons.objectLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:e.icons.objectBlockLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:e.icons.objectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:e.icons.objectRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:e.icons.objectBlockRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:e.icons.objectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:e.icons.objectRight,modelElements:["imageBlock"],className:"image-style-side"}}},N=(()=>({full:e.icons.objectFullWidth,left:e.icons.objectBlockLeft,right:e.icons.objectBlockRight,center:e.icons.objectCenter,inlineLeft:e.icons.objectLeft,inlineRight:e.icons.objectRight,inline:e.icons.objectInline}))(),j=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function R(e){(0,E.logWarning)("image-style-configuration-definition-invalid",e)}const F={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?B[e]?{...B[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(B[e.name],e);"string"==typeof e.icon&&(e.icon=N[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:a}=e;if(!(n&&n.length&&a))return R({style:e}),!1;{const a=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>a.includes(e))))return(0,E.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...j]:[]},warnInvalidStyle:R,DEFAULT_OPTIONS:B,DEFAULT_ICONS:N,DEFAULT_DROPDOWN_DEFINITIONS:j};function U(e,t,i){for(const n of t)if(i.checkAttribute(e,n))return!0;return!1}function H(e,t,i){const n=e.getSelectedElement();if(n&&U(n,i,t))return n;let{parent:a}=e.getFirstPosition();for(;a;){if(a.is("element")&&U(a,i,t))return a;a=a.parent}return null}class $ extends e.Command{constructor(e,t){super(e),this.styles={},Object.keys(t).forEach((e=>{this.styles[e]=new Map(t[e].map((e=>[e.name,e])))})),this.modelAttributes=[];for(const e of Object.keys(t)){const t=u(e);this.modelAttributes.push(t)}}refresh(){const{editor:e}=this,t=H(e.model.document.selection,e.model.schema,this.modelAttributes);this.isEnabled=!!t,this.isEnabled?this.value=this.getValue(t):this.value=!1}getValue(e){const t={};return Object.keys(this.styles).forEach((i=>{const n=u(i);if(e.hasAttribute(n))t[i]=e.getAttribute(n);else for(const[,e]of this.styles[i])e.isDefault&&(t[i]=e.name)})),t}execute(e={}){const{editor:{model:t}}=this,{value:i,group:n}=e,a=u(n);t.change((e=>{const r=H(t.document.selection,t.schema,this.modelAttributes);!i||this.styles[n].get(i).isDefault?e.removeAttribute(a,r):e.setAttribute(a,i,r)}))}}function q(e,t){for(const i of t)if(i.name===e)return i}class W extends e.Plugin{init(){const{editor:t}=this,i=t.config.get("drupalElementStyles");this.normalizedStyles={},Object.keys(i).forEach((t=>{this.normalizedStyles[t]=i[t].map((t=>("string"==typeof t.icon&&e.icons[t.icon]&&(t.icon=e.icons[t.icon]),t.name&&(t.name=`${t.name}`),t))).filter((e=>e.isDefault||e.attributeName&&e.attributeValue?e.modelElements&&Array.isArray(e.modelElements)?!!e.name||(console.warn("drupalElementStyles options must include a name."),!1):(console.warn("drupalElementStyles options must include an array of supported modelElements."),!1):(console.warn(`${e.attributeValue} drupalElementStyles options must include attributeName and attributeValue.`),!1)))})),this._setupConversion(),t.commands.add("drupalElementStyle",new $(t,this.normalizedStyles))}_setupConversion(){const{editor:e}=this,{schema:t}=e.model;Object.keys(this.normalizedStyles).forEach((i=>{const n=u(i),a=(r=this.normalizedStyles[i],(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=q(t.attributeNewValue,r),a=q(t.attributeOldValue,r),o=i.mapper.toViewElement(t.item),s=i.writer;a&&("class"===a.attributeName?s.removeClass(a.attributeValue,o):s.removeAttribute(a.attributeName,o)),n&&("class"===n.attributeName?s.addClass(n.attributeValue,o):n.isDefault||s.setAttribute(n.attributeName,n.attributeValue,o))});var r;const o=function(e,t){const i=e.filter((e=>!e.isDefault));return(e,n,a)=>{if(!n.modelRange)return;const r=n.viewItem,o=(0,E.first)(n.modelRange.getItems());if(o&&a.schema.checkAttribute(o,t))for(const e of i)if("class"===e.attributeName)a.consumable.consume(r,{classes:e.attributeValue})&&a.writer.setAttribute(t,e.name,o);else if(a.consumable.consume(r,{attributes:[e.attributeName]}))for(const e of i)e.attributeValue===r.getAttribute(e.attributeName)&&a.writer.setAttribute(t,e.name,o)}}(this.normalizedStyles[i],n);e.editing.downcastDispatcher.on(`attribute:${n}`,a),e.data.downcastDispatcher.on(`attribute:${n}`,a);[...new Set(this.normalizedStyles[i].map((e=>e.modelElements)).flat())].forEach((e=>{t.extend(e,{allowAttributes:n})})),e.data.upcastDispatcher.on("element",o,{priority:"low"})}))}static get pluginName(){return"DrupalElementStyleEditing"}}const K=e=>e,z=(e,t)=>(e?`${e}: `:"")+t;function Z(e,t){return`drupalElementStyle:${t}:${e}`}class G extends e.Plugin{static get requires(){return[W]}init(){const{plugins:e}=this.editor,t=this.editor.config.get("drupalMedia.toolbar")||[],i=e.get("DrupalElementStyleEditing").normalizedStyles;Object.keys(i).forEach((e=>{i[e].forEach((t=>{this._createButton(t,e,i[e])}))}));t.filter(l).filter((e=>{const t=[];if(!e.display)return console.warn("dropdown configuration must include a display key specifying either listDropdown or splitButton."),!1;e.items.includes(e.defaultItem)||console.warn("defaultItem must be part of items in the dropdown configuration.");for(const i of e.items){const e=i.split(":")[1];t.push(e)}return!!t.every((e=>e===t[0]))||(console.warn("dropdown configuration should only contain buttons from one group."),!1)})).forEach((e=>{if(e.items.length>=2){const t=e.name.split(":")[1];switch(e.display){case"splitButton":this._createDropdown(e,i[t]);break;case"listDropdown":this._createListDropdown(e,i[t])}}}))}updateOptionVisibility(e,t,i,n){const{selection:a}=this.editor.model.document,r={};r[n]=e;const o=a?a.getSelectedElement():H(a,this.editor.model.schema,r),s=e.filter((function(e){for(const[t,i]of(0,E.toMap)(e.modelAttributes))if(o&&o.hasAttribute(t))return i.includes(o.getAttribute(t));return!0}));i.hasOwnProperty("model")?s.includes(t)?i.model.set({class:""}):i.model.set({class:"ck-hidden"}):s.includes(t)?i.set({class:""}):i.set({class:"ck-hidden"})}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let a;const{defaultItem:r,items:o,title:s}=e,l=o.filter((e=>{const i=e.split(":")[1];return t.find((({name:t})=>Z(t,i)===e))})).map((e=>{const t=i.create(e);return e===r&&(a=t),t}));o.length!==l.length&&F.warnInvalidStyle({dropdown:e});const d=(0,g.createDropdown)(n,g.SplitButtonView),u=d.buttonView;return(0,g.addToolbarToDropdown)(d,l),u.set({label:z(s,a.label),class:null,tooltip:!0}),u.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(K);return t<0?a.icon:l[t].icon})),u.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(K);return z(s,t<0?a.label:l[t].label)})),u.bind("isOn").toMany(l,"isOn",((...e)=>e.some(K))),u.bind("class").toMany(l,"isOn",((...e)=>e.some(K)?"ck-splitbutton_flatten":null)),u.on("execute",(()=>{l.some((({isOn:e})=>e))?d.isOpen=!d.isOpen:a.fire("execute")})),d.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(K))),d}))}_createButton(e,t,i){const n=e.name;this.editor.ui.componentFactory.add(Z(n,t),(a=>{const r=this.editor.commands.get("drupalElementStyle"),o=new g.ButtonView(a);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(r,"isEnabled"),o.bind("isOn").to(r,"value",(e=>e&&e[t]===n)),o.on("execute",this._executeCommand.bind(this,n,t)),this.listenTo(this.editor.ui,"update",(()=>{this.updateOptionVisibility(i,e,o,t)})),o}))}getDropdownListItemDefinitions(e,t,i){const n=new E.Collection;return e.forEach((t=>{const a={type:"button",model:new g.ViewModel({group:i,commandValue:t.name,label:t.title,withText:!0,class:""})};n.add(a),this.listenTo(this.editor.ui,"update",(()=>{this.updateOptionVisibility(e,t,a,i)}))})),n}_createListDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let a;const{defaultItem:r,items:o,title:s,defaultText:l}=e,d=e.name.split(":")[1],u=o.filter((e=>t.find((({name:t})=>Z(t,d)===e)))).map((e=>{const t=i.create(e);return e===r&&(a=t),t}));o.length!==u.length&&F.warnInvalidStyle({dropdown:e});const c=(0,g.createDropdown)(n,g.DropdownButtonView),m=c.buttonView;m.set({label:z(s,a.label),class:null,tooltip:l,withText:!0});const p=this.editor.commands.get("drupalElementStyle");return m.bind("label").to(p,"value",(e=>{if(e?.[d])for(const i of t)if(i.name===e[d])return i.title;return l})),c.bind("isOn").to(p),c.bind("isEnabled").to(this),(0,g.addListToDropdown)(c,this.getDropdownListItemDefinitions(t,p,d)),this.listenTo(c,"execute",(e=>{this._executeCommand(e.source.commandValue,e.source.group)})),c}))}_executeCommand(e,t){this.editor.execute("drupalElementStyle",{value:e,group:t}),this.editor.editing.view.focus()}static get pluginName(){return"DrupalElementStyleUi"}}class J extends e.Plugin{static get requires(){return[W,G]}static get pluginName(){return"DrupalElementStyle"}}function X(e){const t=e.getFirstPosition().findAncestor("caption");return t&&a(t.parent)?t:null}function Q(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}class Y extends e.Command{refresh(){const e=this.editor.model.document.selection,t=e.getSelectedElement();if(!t)return this.isEnabled=!!o(e),void(this.value=!!X(e));this.isEnabled=a(t),this.isEnabled?this.value=!!Q(t):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideDrupalMediaCaption(e):this._showDrupalMediaCaption(e,t)}))}_showDrupalMediaCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("DrupalMediaCaptionEditing"),a=o(i),r=n._getSavedCaption(a)||e.createElement("caption");e.append(r,a),t&&e.setSelection(r,"in")}_hideDrupalMediaCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("DrupalMediaCaptionEditing");let a,r=i.getSelectedElement();r?a=Q(r):(a=X(i),r=o(i)),n._saveCaption(r,a),e.setSelection(r,"on"),e.remove(a)}}class ee extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"drupalMedia"}):t.register("caption",{allowIn:"drupalMedia",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleMediaCaption",new Y(e)),this._setupConversion()}_setupConversion(){const e=this.editor,i=e.editing.view;var n;e.conversion.for("upcast").add(function(e){const t=(t,i,n)=>{const{viewItem:a}=i,{writer:r,consumable:o}=n;if(!i.modelRange||!o.consume(a,{attributes:["data-caption"]}))return;const s=r.createElement("caption"),l=i.modelRange.start.nodeAfter,d=e.data.processor.toView(a.getAttribute("data-caption"));n.consumable.constructor.createFrom(d,n.consumable),n.convertChildren(d,s),r.append(s,l)};return e=>{e.on("element:drupal-media",t,{priority:"low"})}}(e)),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!a(e.parent))return null;const r=n.createEditableElement("figcaption");return r.placeholder=Drupal.t("Enter media caption"),(0,V.enablePlaceholder)({view:i,element:r,keepOnFocus:!0}),(0,t.toWidgetEditable)(r,n)}}),e.editing.mapper.on("modelToViewPosition",(n=i,(e,t)=>{const i=t.modelPosition,r=i.parent;if(!a(r))return;const o=t.mapper.toViewElement(r);t.viewPosition=n.createPositionAt(o,i.offset+1)})),e.conversion.for("dataDowncast").add(function(e){return t=>{t.on("insert:caption",((t,i,n)=>{const{consumable:r,writer:o,mapper:s}=n;if(!a(i.item.parent)||!r.consume(i.item,"insert"))return;const l=e.model.createRangeIn(i.item),d=o.createDocumentFragment();s.bindElements(i.item,d);for(const{item:t}of Array.from(l)){const i={item:t,range:e.model.createRangeOn(t)},a=`insert:${t.name||"$text"}`;e.data.downcastDispatcher.fire(a,i,n);for(const a of t.getAttributeKeys())Object.assign(i,{attributeKey:a,attributeOldValue:null,attributeNewValue:i.item.getAttribute(a)}),e.data.downcastDispatcher.fire(`attribute:${a}`,i,n)}for(const e of o.createRangeIn(d).getItems())s.unbindViewElement(e);s.unbindViewElement(d);const u=e.data.processor.toData(d);if(u){const e=s.toViewElement(i.item.parent);o.setAttribute("data-caption",u,e)}}))}}(e))}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?V.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class te extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionUI"}init(){const{editor:t}=this,i=t.editing.view;t.ui.componentFactory.add("toggleDrupalMediaCaption",(n=>{const a=new g.ButtonView(n),r=t.commands.get("toggleMediaCaption");return a.set({label:Drupal.t("Caption media"),icon:e.icons.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(r,"value","isEnabled"),a.bind("label").to(r,"value",(e=>e?Drupal.t("Toggle caption off"):Drupal.t("Toggle caption on"))),this.listenTo(a,"execute",(()=>{t.execute("toggleMediaCaption",{focusCaptionOnShow:!0});const e=X(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("drupal-media__caption_highlighted",n)}))}t.editing.view.focus()})),a}))}}class ie extends e.Plugin{static get requires(){return[ee,te]}static get pluginName(){return"DrupalMediaCaption"}}const ne={DrupalMedia:x,MediaImageTextAlternative:D,MediaImageTextAlternativeEditing:y,MediaImageTextAlternativeUi:k,DrupalLinkMedia:P,DrupalMediaCaption:ie,DrupalElementStyle:J}})(),n=n.default})())); \ No newline at end of file
+!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.CKEditor5=t():(e.CKEditor5=e.CKEditor5||{},e.CKEditor5.drupalMedia=t())}(globalThis,(()=>(()=>{var e={"ckeditor5/src/core.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/core.js")},"ckeditor5/src/engine.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/engine.js")},"ckeditor5/src/ui.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/ui.js")},"ckeditor5/src/utils.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/utils.js")},"ckeditor5/src/widget.js":(e,t,i)=>{e.exports=i("dll-reference CKEditor5.dll")("./src/widget.js")},"dll-reference CKEditor5.dll":e=>{"use strict";e.exports=CKEditor5.dll}},t={};function i(n){var a=t[n];if(void 0!==a)return a.exports;var r=t[n]={exports:{}};return e[n](r,r.exports,i),r.exports}i.d=(e,t)=>{for(var n in t)i.o(t,n)&&!i.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var n={};return(()=>{"use strict";i.d(n,{default:()=>ne});var e=i("ckeditor5/src/core.js"),t=i("ckeditor5/src/widget.js");function a(e){return!!e&&e.is("element","drupalMedia")}function r(e){return(0,t.isWidget)(e)&&!!e.getCustomProperty("drupalMedia")}function o(e){const t=e.getSelectedElement();return a(t)?t:e.getFirstPosition().findAncestor("drupalMedia")}function s(e){const t=e.getSelectedElement();if(t&&r(t))return t;if(null===e.getFirstPosition())return null;let i=e.getFirstPosition().parent;for(;i;){if(i.is("element")&&r(i))return i;i=i.parent}return null}function l(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function d(e){for(const t of e){if(t.hasAttribute("data-drupal-media-preview"))return t;if(t.childCount){const e=d(t.getChildren());if(e)return e}}return null}function u(e){return`drupalElementStyle${e[0].toUpperCase()+e.substring(1)}`}class c extends e.Command{execute(e){const t=this.editor.plugins.get("DrupalMediaEditing"),i=Object.entries(t.attrs).reduce(((e,[t,i])=>(e[i]=t,e)),{}),n=Object.keys(e).reduce(((t,n)=>(i[n]&&(t[i[n]]=e[n]),t)),{});if(this.editor.plugins.has("DrupalElementStyleEditing")){const t=this.editor.plugins.get("DrupalElementStyleEditing"),{normalizedStyles:i}=t;for(const a of Object.keys(i))for(const i of t.normalizedStyles[a])if(e[i.attributeName]&&i.attributeValue===e[i.attributeName]){const e=u(a);n[e]=i.name}}this.editor.model.change((e=>{this.editor.model.insertObject(function(e,t){return e.createElement("drupalMedia",t)}(e,n))}))}refresh(){const e=this.editor.model,t=e.document.selection,i=e.schema.findAllowedParent(t.getFirstPosition(),"drupalMedia");this.isEnabled=null!==i}}const m="METADATA_ERROR";class p extends e.Plugin{static get requires(){return[t.Widget]}constructor(e){super(e),this.attrs={drupalMediaAlt:"alt",drupalMediaEntityType:"data-entity-type",drupalMediaEntityUuid:"data-entity-uuid"},this.converterAttributes=["drupalMediaEntityUuid","drupalElementStyleViewMode","drupalMediaEntityType","drupalMediaAlt"]}init(){const e=this.editor.config.get("drupalMedia");if(!e)return;const{previewURL:t,themeError:i}=e;this.previewUrl=t,this.labelError=Drupal.t("Preview failed"),this.themeError=i||`\n <p>${Drupal.t("An error occurred while trying to preview the media. Save your work and reload this page.")}<p>\n `,this._defineSchema(),this._defineConverters(),this._defineListeners(),this.editor.commands.add("insertDrupalMedia",new c(this.editor))}upcastDrupalMediaIsImage(e){const{model:t,plugins:i}=this.editor;i.get("DrupalMediaMetadataRepository").getMetadata(e).then((i=>{e&&t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",!!i.imageSourceMetadata,e)}))})).catch((i=>{e&&(console.warn(i.toString()),t.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaIsImage",m,e)})))}))}upcastDrupalMediaType(e){this.editor.plugins.get("DrupalMediaMetadataRepository").getMetadata(e).then((t=>{e&&this.editor.model.enqueueChange({isUndoable:!1},(i=>{i.setAttribute("drupalMediaType",t.type,e)}))})).catch((t=>{e&&(console.warn(t.toString()),this.editor.model.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaType",m,e)})))}))}async _fetchPreview(e){const t={text:this._renderElement(e),uuid:e.getAttribute("drupalMediaEntityUuid")},i=await fetch(`${this.previewUrl}?${new URLSearchParams(t)}`,{headers:{"X-Drupal-MediaPreview-CSRF-Token":this.editor.config.get("drupalMedia").previewCsrfToken}});if(i.ok){return{label:i.headers.get("drupal-media-label"),preview:await i.text()}}return{label:this.labelError,preview:this.themeError}}_defineSchema(){this.editor.model.schema.register("drupalMedia",{inheritAllFrom:"$blockObject",allowAttributes:Object.keys(this.attrs)}),this.editor.editing.view.domConverter.blockElements.push("drupal-media")}_defineConverters(){const e=this.editor.conversion,i=this.editor.plugins.get("DrupalMediaMetadataRepository");e.for("upcast").elementToElement({view:{name:"drupal-media"},model:"drupalMedia"}).add((e=>{e.on("element:drupal-media",((e,t)=>{const[n]=t.modelRange.getItems();i.getMetadata(n).then((e=>{n&&(this.upcastDrupalMediaIsImage(n),this.editor.model.enqueueChange({isUndoable:!1},(t=>{t.setAttribute("drupalMediaType",e.type,n)})))})).catch((e=>{console.warn(e.toString())}))}),{priority:"lowest"})})),e.for("dataDowncast").elementToElement({model:"drupalMedia",view:{name:"drupal-media"}}),e.for("editingDowncast").elementToElement({model:"drupalMedia",view:(e,{writer:i})=>{const n=i.createContainerElement("figure",{class:"drupal-media"});if(!this.previewUrl){const e=i.createRawElement("div",{"data-drupal-media-preview":"unavailable"});i.insert(i.createPositionAt(n,0),e)}return i.setCustomProperty("drupalMedia",!0,n),(0,t.toWidget)(n,i,{label:Drupal.t("Media widget")})}}).add((e=>{const t=(e,t,i)=>{const n=i.writer,a=t.item,r=i.mapper.toViewElement(t.item);let o=d(r.getChildren());if(o){if("ready"!==o.getAttribute("data-drupal-media-preview"))return;n.setAttribute("data-drupal-media-preview","loading",o)}else o=n.createRawElement("div",{"data-drupal-media-preview":"loading"}),n.insert(n.createPositionAt(r,0),o);this._fetchPreview(a).then((({label:e,preview:t})=>{o&&this.editor.editing.view.change((i=>{const n=i.createRawElement("div",{"data-drupal-media-preview":"ready","aria-label":e},(e=>{e.innerHTML=t}));i.insert(i.createPositionBefore(o),n),i.remove(o)}))}))};return this.converterAttributes.forEach((i=>{e.on(`attribute:${i}:drupalMedia`,t)})),e})),e.for("editingDowncast").add((e=>{e.on("attribute:drupalElementStyleAlign:drupalMedia",((e,t,i)=>{const n={left:"drupal-media-style-align-left",right:"drupal-media-style-align-right",center:"drupal-media-style-align-center"},a=i.mapper.toViewElement(t.item),r=i.writer;n[t.attributeOldValue]&&r.removeClass(n[t.attributeOldValue],a),n[t.attributeNewValue]&&i.consumable.consume(t.item,e.name)&&r.addClass(n[t.attributeNewValue],a)}))})),Object.keys(this.attrs).forEach((t=>{const i={model:{key:t,name:"drupalMedia"},view:{name:"drupal-media",key:this.attrs[t]}};e.for("dataDowncast").attributeToAttribute(i),e.for("upcast").attributeToAttribute(i)}))}_defineListeners(){this.editor.model.on("insertContent",((e,[t])=>{a(t)&&(this.upcastDrupalMediaIsImage(t),this.upcastDrupalMediaType(t))}))}_renderElement(e){const t=this.editor.model.change((t=>{const i=t.createDocumentFragment(),n=t.cloneElement(e,!1);return["linkHref"].forEach((e=>{t.removeAttribute(e,n)})),t.append(n,i),i}));return this.editor.data.stringify(t)}static get pluginName(){return"DrupalMediaEditing"}}var g=i("ckeditor5/src/ui.js");class h extends e.Plugin{init(){const e=this.editor,t=this.editor.config.get("drupalMedia");if(!t)return;const{libraryURL:i,openDialog:n,dialogSettings:a={}}=t;i&&"function"==typeof n&&e.ui.componentFactory.add("drupalMedia",(t=>{const r=e.commands.get("insertDrupalMedia"),o=new g.ButtonView(t);return o.set({label:Drupal.t("Insert Media"),icon:'<svg width="20" height="20" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M19.1873 4.86414L10.2509 6.86414V7.02335H10.2499V15.5091C9.70972 15.1961 9.01793 15.1048 8.34069 15.3136C7.12086 15.6896 6.41013 16.8967 6.75322 18.0096C7.09631 19.1226 8.3633 19.72 9.58313 19.344C10.6666 19.01 11.3484 18.0203 11.2469 17.0234H11.2499V9.80173L18.1803 8.25067V14.3868C17.6401 14.0739 16.9483 13.9825 16.2711 14.1913C15.0513 14.5674 14.3406 15.7744 14.6836 16.8875C15.0267 18.0004 16.2937 18.5978 17.5136 18.2218C18.597 17.8877 19.2788 16.8982 19.1773 15.9011H19.1803V8.02687L19.1873 8.0253V4.86414Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M13.5039 0.743652H0.386932V12.1603H13.5039V0.743652ZM12.3379 1.75842H1.55289V11.1454H1.65715L4.00622 8.86353L6.06254 10.861L9.24985 5.91309L11.3812 9.22179L11.7761 8.6676L12.3379 9.45621V1.75842ZM6.22048 4.50869C6.22048 5.58193 5.35045 6.45196 4.27722 6.45196C3.20398 6.45196 2.33395 5.58193 2.33395 4.50869C2.33395 3.43546 3.20398 2.56543 4.27722 2.56543C5.35045 2.56543 6.22048 3.43546 6.22048 4.50869Z"/></svg>\n',tooltip:!0}),o.bind("isOn","isEnabled").to(r,"value","isEnabled"),this.listenTo(o,"execute",(()=>{n(i,(({attributes:t})=>{e.execute("insertDrupalMedia",t)}),a)})),o}))}}class f extends e.Plugin{static get requires(){return[t.WidgetToolbarRepository]}static get pluginName(){return"DrupalMediaToolbar"}afterInit(){const{editor:e}=this;var i;e.plugins.get(t.WidgetToolbarRepository).register("drupalMedia",{ariaLabel:Drupal.t("Drupal Media toolbar"),items:(i=e.config.get("drupalMedia.toolbar"),i.map((e=>l(e)?e.name:e))||[]),getRelatedElement:e=>s(e)})}}class b extends e.Command{refresh(){const e=o(this.editor.model.document.selection);this.isEnabled=e?.getAttribute("drupalMediaIsImage")&&e.getAttribute("drupalMediaIsImage")!==m,this.isEnabled?this.value=e.getAttribute("drupalMediaAlt"):this.value=!1}execute(e){const{model:t}=this.editor,i=o(t.document.selection);e.newValue=e.newValue.trim(),t.change((t=>{e.newValue.length>0?t.setAttribute("drupalMediaAlt",e.newValue,i):t.removeAttribute("drupalMediaAlt",i)}))}}class w extends e.Plugin{init(){this._data=new WeakMap}getMetadata(e){if(this._data.get(e))return new Promise((t=>{t(this._data.get(e))}));const t=this.editor.config.get("drupalMedia");if(!t)return new Promise(((e,t)=>{t(new Error("drupalMedia configuration is required for parsing metadata."))}));if(!e.hasAttribute("drupalMediaEntityUuid"))return new Promise(((e,t)=>{t(new Error("drupalMedia element must have drupalMediaEntityUuid attribute to retrieve metadata."))}));const{metadataUrl:i}=t;return(async e=>{const t=await fetch(e);if(t.ok)return JSON.parse(await t.text());throw new Error("Fetching media embed metadata from the server failed.")})(`${i}&${new URLSearchParams({uuid:e.getAttribute("drupalMediaEntityUuid")})}`).then((t=>(this._data.set(e,t),t)))}static get pluginName(){return"DrupalMediaMetadataRepository"}}class y extends e.Plugin{static get requires(){return[w]}static get pluginName(){return"MediaImageTextAlternativeEditing"}init(){const{editor:e,editor:{model:t,conversion:i}}=this;t.schema.extend("drupalMedia",{allowAttributes:["drupalMediaIsImage"]}),i.for("editingDowncast").add((e=>{e.on("attribute:drupalMediaIsImage",((e,t,i)=>{const{writer:n,mapper:a}=i,r=a.toViewElement(t.item);if(t.attributeNewValue!==m){const e=Array.from(r.getChildren()).find((e=>e.getCustomProperty("drupalMediaMetadataError")));return void(e&&(n.setCustomProperty("widgetLabel",e.getCustomProperty("drupalMediaOriginalWidgetLabel"),e),n.removeElement(e)))}const o=Drupal.t("Not all functionality may be available because some information could not be retrieved."),s=new g.Template({tag:"span",children:[{tag:"span",attributes:{class:"drupal-media__metadata-error-icon","data-cke-tooltip-text":o}}]}).render(),l=n.createRawElement("div",{class:"drupal-media__metadata-error"},((e,t)=>{t.setContentOf(e,s.outerHTML)}));n.setCustomProperty("drupalMediaMetadataError",!0,l);const d=r.getCustomProperty("widgetLabel");n.setCustomProperty("drupalMediaOriginalWidgetLabel",d,l),n.setCustomProperty("widgetLabel",`${d} (${o})`,r),n.insert(n.createPositionAt(r,0),l)}),{priority:"low"})})),e.commands.add("mediaImageTextAlternative",new b(this.editor))}}function v(e){const t=e.editing.view,i=g.BalloonPanelView.defaultPositions;return{target:t.domConverter.viewToDom(t.document.selection.getSelectedElement()),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast]}}var E=i("ckeditor5/src/utils.js");class M extends g.View{constructor(t){super(t),this.focusTracker=new E.FocusTracker,this.keystrokes=new E.KeystrokeHandler,this.decorativeToggle=this._decorativeToggleView(),this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(Drupal.t("Save"),e.icons.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(Drupal.t("Cancel"),e.icons.cancel,"ck-button-cancel","cancel"),this._focusables=new g.ViewCollection,this._focusCycler=new g.FocusCycler({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-alternative-text-form","ck-vertical-form"],tabindex:"-1"},children:[{tag:"div",children:[this.decorativeToggle]},this.labeledInput,this.saveButtonView,this.cancelButtonView]}),(0,g.injectCssTransitionDisabler)(this)}render(){super.render(),this.keystrokes.listenTo(this.element),(0,g.submitHandler)({view:this}),[this.decorativeToggle,this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((e=>{this._focusables.add(e),this.focusTracker.add(e.element)}))}_createButton(e,t,i,n){const a=new g.ButtonView(this.locale);return a.set({label:e,icon:t,tooltip:!0}),a.extendTemplate({attributes:{class:i}}),n&&a.delegate("execute").to(this,n),a}_createLabeledInputView(){const e=new g.LabeledFieldView(this.locale,g.createLabeledInputText);return e.bind("class").to(this.decorativeToggle,"isOn",(e=>e?"ck-hidden":"")),e.label=Drupal.t("Alternative text override"),e}_decorativeToggleView(){const e=new g.SwitchButtonView(this.locale);return e.set({withText:!0,label:Drupal.t("Decorative image")}),e.on("execute",(()=>{e.isOn&&(this.labeledInput.fieldView.element.value=""),e.set("isOn",!e.isOn)})),e}}class k extends e.Plugin{static get requires(){return[g.ContextualBalloon]}static get pluginName(){return"MediaImageTextAlternativeUi"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor;t.ui.componentFactory.add("mediaImageTextAlternative",(i=>{const n=t.commands.get("mediaImageTextAlternative"),a=new g.ButtonView(i);return a.set({label:Drupal.t("Override media image alternative text"),icon:e.icons.lowVision,tooltip:!0}),a.bind("isVisible").to(n,"isEnabled"),this.listenTo(a,"execute",(()=>{this._showForm()})),a}))}_createForm(){const e=this.editor,t=e.editing.view.document;this._balloon=this.editor.plugins.get("ContextualBalloon"),this._form=new M(e.locale),this._form.render(),this.listenTo(this._form,"submit",(()=>{e.execute("mediaImageTextAlternative",{newValue:this._form.decorativeToggle.isOn?'""':this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,"cancel",(()=>{this._hideForm(!0)})),this._form.keystrokes.set("Esc",((e,t)=>{this._hideForm(!0),t()})),this.listenTo(e.ui,"update",(()=>{s(t.selection)?this._isVisible&&function(e){const t=e.plugins.get("ContextualBalloon");if(s(e.editing.view.document.selection)){const i=v(e);t.updatePosition(i)}}(e):this._hideForm(!0)})),(0,g.clickOutsideHandler)({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const e=this.editor,t=e.commands.get("mediaImageTextAlternative"),i=this._form.decorativeToggle,n=e.plugins.get("DrupalMediaMetadataRepository"),r=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:v(e)}),i.isOn='""'===t.value,r.fieldView.element.value=t.value||"",r.fieldView.value=r.fieldView.element.value,this._form.defaultAltText="";const o=e.model.document.selection.getSelectedElement();a(o)&&n.getMetadata(o).then((e=>{this._form.defaultAltText=e.imageSourceMetadata?e.imageSourceMetadata.alt:"",r.infoText=Drupal.t(`Leave blank to use the default alternative text: "${this._form.defaultAltText}".`)})).catch((e=>{console.warn(e.toString())})),this._form.enableCssTransitions()}_hideForm(e){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),e&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class D extends e.Plugin{static get requires(){return[y,k]}static get pluginName(){return"MediaImageTextAlternative"}}function C(e,t,i){if(t.attributes)for(const[n,a]of Object.entries(t.attributes))e.setAttribute(n,a,i);t.styles&&e.setStyle(t.styles,i),t.classes&&e.addClass(t.classes,i)}function A(e,t,i){if(!i.consumable.consume(t.item,e.name))return;const n=i.mapper.toViewElement(t.item);C(i.writer,t.attributeNewValue,n)}class _ extends e.Plugin{constructor(e){if(super(e),!e.plugins.has("GeneralHtmlSupport"))return;e.plugins.has("DataFilter")&&e.plugins.has("DataSchema")||console.error("DataFilter and DataSchema plugins are required for Drupal Media to integrate with General HTML Support plugin.");const{schema:t}=e.model,{conversion:i}=e,n=this.editor.plugins.get("DataFilter");this.editor.plugins.get("DataSchema").registerBlockElement({model:"drupalMedia",view:"drupal-media"}),n.on("register:drupal-media",((e,a)=>{"drupalMedia"===a.model&&(t.extend("drupalMedia",{allowAttributes:["htmlLinkAttributes","htmlAttributes"]}),i.for("upcast").add(function(e){return t=>{t.on("element:drupal-media",((t,i,n)=>{function a(t,a){const r=e.processViewAttributes(t,n);r&&n.writer.setAttribute(a,r,i.modelRange)}const r=i.viewItem,o=r.parent;a(r,"htmlAttributes"),o.is("element","a")&&a(o,"htmlLinkAttributes")}),{priority:"low"})}}(n)),i.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item),a=function(e,t,i){const n=e.createRangeOn(t);for(const{item:e}of n.getWalker())if(e.is("element",i))return e}(i.writer,n,"a");C(i.writer,t.item.getAttribute("htmlLinkAttributes"),a)}),{priority:"low"})})),i.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{if(!i.consumable.consume(t.item,"attribute:htmlLinkAttributes:drupalMedia"))return;const n=i.mapper.toViewElement(t.item).parent;C(i.writer,t.item.getAttribute("htmlLinkAttributes"),n)}),{priority:"low"}),e.on("attribute:htmlAttributes:drupalMedia",A,{priority:"low"})})),e.stop())}))}static get pluginName(){return"DrupalMediaGeneralHtmlSupport"}}class x extends e.Plugin{static get requires(){return[p,_,h,f,D]}static get pluginName(){return"DrupalMedia"}}var V=i("ckeditor5/src/engine.js");function S(e){return Array.from(e.getChildren()).find((e=>"drupal-media"===e.name))}function T(e){return t=>{t.on(`attribute:${e.id}:drupalMedia`,((t,i,n)=>{const a=n.mapper.toViewElement(i.item);let r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r=!r&&a.is("element","a")?a:Array.from(a.getAncestors()).find((e=>"a"===e.name)),r){for(const[t,i]of(0,E.toMap)(e.attributes))n.writer.setAttribute(t,i,r);e.classes&&n.writer.addClass(e.classes,r);for(const t in e.styles)Object.prototype.hasOwnProperty.call(e.styles,t)&&n.writer.setStyle(t,e.styles[t],r)}}))}}function I(e,t){return e=>{e.on("element:a",((e,i,n)=>{const a=i.viewItem;if(!S(a))return;const r=new V.Matcher(t._createPattern()).match(a);if(!r)return;if(!n.consumable.consume(a,r.match))return;const o=i.modelCursor.nodeBefore;n.writer.setAttribute(t.id,!0,o)}),{priority:"high"})}}class L extends e.Plugin{static get requires(){return["LinkEditing","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaEditing"}init(){const{editor:e}=this;e.model.schema.extend("drupalMedia",{allowAttributes:["linkHref"]}),e.conversion.for("upcast").add((e=>{e.on("element:a",((e,t,i)=>{const n=t.viewItem,a=S(n);if(!a)return;if(!i.consumable.consume(n,{attributes:["href"],name:!0}))return;const r=n.getAttribute("href");if(null===r)return;const o=i.convertItem(a,t.modelCursor);t.modelRange=o.modelRange,t.modelCursor=o.modelCursor;const s=t.modelCursor.nodeBefore;s&&s.is("element","drupalMedia")&&i.writer.setAttribute("linkHref",r,s)}),{priority:"high"})})),e.conversion.for("editingDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=Array.from(a.getChildren()).find((e=>"a"===e.name));if(r)t.attributeNewValue?n.setAttribute("href",t.attributeNewValue,r):(n.move(n.createRangeIn(r),n.createPositionAt(a,0)),n.remove(r));else{const e=Array.from(a.getChildren()).find((e=>e.getAttribute("data-drupal-media-preview"))),i=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionAt(a,0),i),n.move(n.createRangeOn(e),n.createPositionAt(i,0))}}),{priority:"high"})})),e.conversion.for("dataDowncast").add((e=>{e.on("attribute:linkHref:drupalMedia",((e,t,i)=>{const{writer:n}=i;if(!i.consumable.consume(t.item,e.name))return;const a=i.mapper.toViewElement(t.item),r=n.createContainerElement("a",{href:t.attributeNewValue});n.insert(n.createPositionBefore(a),r),n.move(n.createRangeOn(a),n.createPositionAt(r,0))}),{priority:"high"})})),this._enableManualDecorators();if(e.commands.get("link").automaticDecorators.length>0)throw new Error("The Drupal Media plugin is not compatible with automatic link decorators. To use Drupal Media, disable any plugins providing automatic link decorators.")}_enableManualDecorators(){const e=this.editor,t=e.commands.get("link");for(const i of t.manualDecorators)e.model.schema.extend("drupalMedia",{allowAttributes:i.id}),e.conversion.for("downcast").add(T(i)),e.conversion.for("upcast").add(I(0,i))}}class O extends e.Plugin{static get requires(){return["LinkEditing","LinkUI","DrupalMediaEditing"]}static get pluginName(){return"DrupalLinkMediaUi"}init(){const{editor:e}=this,t=e.editing.view.document;this.listenTo(t,"click",((t,i)=>{this._isSelectedLinkedMedia(e.model.document.selection)&&(i.preventDefault(),t.stop())}),{priority:"high"}),this._createToolbarLinkMediaButton()}_createToolbarLinkMediaButton(){const{editor:e}=this;e.ui.componentFactory.add("drupalLinkMedia",(t=>{const i=new g.ButtonView(t),n=e.plugins.get("LinkUI"),a=e.commands.get("link");return i.set({isEnabled:!0,label:Drupal.t("Link media"),icon:'<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="m11.077 15 .991-1.416a.75.75 0 1 1 1.229.86l-1.148 1.64a.748.748 0 0 1-.217.206 5.251 5.251 0 0 1-8.503-5.955.741.741 0 0 1 .12-.274l1.147-1.639a.75.75 0 1 1 1.228.86L4.933 10.7l.006.003a3.75 3.75 0 0 0 6.132 4.294l.006.004zm5.494-5.335a.748.748 0 0 1-.12.274l-1.147 1.639a.75.75 0 1 1-1.228-.86l.86-1.23a3.75 3.75 0 0 0-6.144-4.301l-.86 1.229a.75.75 0 0 1-1.229-.86l1.148-1.64a.748.748 0 0 1 .217-.206 5.251 5.251 0 0 1 8.503 5.955zm-4.563-2.532a.75.75 0 0 1 .184 1.045l-3.155 4.505a.75.75 0 1 1-1.229-.86l3.155-4.506a.75.75 0 0 1 1.045-.184z"/></svg>\n',keystroke:"Ctrl+K",tooltip:!0,isToggleable:!0}),i.bind("isEnabled").to(a,"isEnabled"),i.bind("isOn").to(a,"value",(e=>!!e)),this.listenTo(i,"execute",(()=>{this._isSelectedLinkedMedia(e.model.document.selection)?n._addActionsView():n._showUI(!0)})),i}))}_isSelectedLinkedMedia(e){const t=e.getSelectedElement();return t?.is("element","drupalMedia")&&t.hasAttribute("linkHref")}}class P extends e.Plugin{static get requires(){return[L,O]}static get pluginName(){return"DrupalLinkMedia"}}const B={get inline(){return{name:"inline",title:"In line",icon:e.icons.objectInline,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:e.icons.objectLeft,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:e.icons.objectBlockLeft,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:e.icons.objectCenter,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:e.icons.objectRight,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:e.icons.objectBlockRight,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:e.icons.objectCenter,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:e.icons.objectRight,modelElements:["imageBlock"],className:"image-style-side"}}},N=(()=>({full:e.icons.objectFullWidth,left:e.icons.objectBlockLeft,right:e.icons.objectBlockRight,center:e.icons.objectCenter,inlineLeft:e.icons.objectLeft,inlineRight:e.icons.objectRight,inline:e.icons.objectInline}))(),j=[{name:"imageStyle:wrapText",title:"Wrap text",defaultItem:"imageStyle:alignLeft",items:["imageStyle:alignLeft","imageStyle:alignRight"]},{name:"imageStyle:breakText",title:"Break text",defaultItem:"imageStyle:block",items:["imageStyle:alignBlockLeft","imageStyle:block","imageStyle:alignBlockRight"]}];function R(e){(0,E.logWarning)("image-style-configuration-definition-invalid",e)}const F={normalizeStyles:function(e){return(e.configuredStyles.options||[]).map((e=>function(e){e="string"==typeof e?B[e]?{...B[e]}:{name:e}:function(e,t){const i={...t};for(const n in e)Object.prototype.hasOwnProperty.call(t,n)||(i[n]=e[n]);return i}(B[e.name],e);"string"==typeof e.icon&&(e.icon=N[e.icon]||e.icon);return e}(e))).filter((t=>function(e,{isBlockPluginLoaded:t,isInlinePluginLoaded:i}){const{modelElements:n,name:a}=e;if(!(n&&n.length&&a))return R({style:e}),!1;{const a=[t?"imageBlock":null,i?"imageInline":null];if(!n.some((e=>a.includes(e))))return(0,E.logWarning)("image-style-missing-dependency",{style:e,missingPlugins:n.map((e=>"imageBlock"===e?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(t,e)))},getDefaultStylesConfiguration:function(e,t){return e&&t?{options:["inline","alignLeft","alignRight","alignCenter","alignBlockLeft","alignBlockRight","block","side"]}:e?{options:["block","side"]}:t?{options:["inline","alignLeft","alignRight"]}:{}},getDefaultDropdownDefinitions:function(e){return e.has("ImageBlockEditing")&&e.has("ImageInlineEditing")?[...j]:[]},warnInvalidStyle:R,DEFAULT_OPTIONS:B,DEFAULT_ICONS:N,DEFAULT_DROPDOWN_DEFINITIONS:j};function U(e,t,i){for(const n of t)if(i.checkAttribute(e,n))return!0;return!1}function H(e,t,i){const n=e.getSelectedElement();if(n&&U(n,i,t))return n;let{parent:a}=e.getFirstPosition();for(;a;){if(a.is("element")&&U(a,i,t))return a;a=a.parent}return null}class $ extends e.Command{constructor(e,t){super(e),this.styles={},Object.keys(t).forEach((e=>{this.styles[e]=new Map(t[e].map((e=>[e.name,e])))})),this.modelAttributes=[];for(const e of Object.keys(t)){const t=u(e);this.modelAttributes.push(t)}}refresh(){const{editor:e}=this,t=H(e.model.document.selection,e.model.schema,this.modelAttributes);this.isEnabled=!!t,this.isEnabled?this.value=this.getValue(t):this.value=!1}getValue(e){const t={};return Object.keys(this.styles).forEach((i=>{const n=u(i);if(e.hasAttribute(n))t[i]=e.getAttribute(n);else for(const[,e]of this.styles[i])e.isDefault&&(t[i]=e.name)})),t}execute(e={}){const{editor:{model:t}}=this,{value:i,group:n}=e,a=u(n);t.change((e=>{const r=H(t.document.selection,t.schema,this.modelAttributes);!i||this.styles[n].get(i).isDefault?e.removeAttribute(a,r):e.setAttribute(a,i,r)}))}}function q(e,t){for(const i of t)if(i.name===e)return i}class W extends e.Plugin{init(){const{editor:t}=this,i=t.config.get("drupalElementStyles");this.normalizedStyles={},Object.keys(i).forEach((t=>{this.normalizedStyles[t]=i[t].map((t=>("string"==typeof t.icon&&e.icons[t.icon]&&(t.icon=e.icons[t.icon]),t.name&&(t.name=`${t.name}`),t))).filter((e=>e.isDefault||e.attributeName&&e.attributeValue?e.modelElements&&Array.isArray(e.modelElements)?!!e.name||(console.warn("drupalElementStyles options must include a name."),!1):(console.warn("drupalElementStyles options must include an array of supported modelElements."),!1):(console.warn(`${e.attributeValue} drupalElementStyles options must include attributeName and attributeValue.`),!1)))})),this._setupConversion(),t.commands.add("drupalElementStyle",new $(t,this.normalizedStyles))}_setupConversion(){const{editor:e}=this,{schema:t}=e.model;Object.keys(this.normalizedStyles).forEach((i=>{const n=u(i),a=(r=this.normalizedStyles[i],(e,t,i)=>{if(!i.consumable.consume(t.item,e.name))return;const n=q(t.attributeNewValue,r),a=q(t.attributeOldValue,r),o=i.mapper.toViewElement(t.item),s=i.writer;a&&("class"===a.attributeName?s.removeClass(a.attributeValue,o):s.removeAttribute(a.attributeName,o)),n&&("class"===n.attributeName?s.addClass(n.attributeValue,o):n.isDefault||s.setAttribute(n.attributeName,n.attributeValue,o))});var r;const o=function(e,t){const i=e.filter((e=>!e.isDefault));return(e,n,a)=>{if(!n.modelRange)return;const r=n.viewItem,o=(0,E.first)(n.modelRange.getItems());if(o&&a.schema.checkAttribute(o,t))for(const e of i)if("class"===e.attributeName)a.consumable.consume(r,{classes:e.attributeValue})&&a.writer.setAttribute(t,e.name,o);else if(a.consumable.consume(r,{attributes:[e.attributeName]}))for(const e of i)e.attributeValue===r.getAttribute(e.attributeName)&&a.writer.setAttribute(t,e.name,o)}}(this.normalizedStyles[i],n);e.editing.downcastDispatcher.on(`attribute:${n}`,a),e.data.downcastDispatcher.on(`attribute:${n}`,a);[...new Set(this.normalizedStyles[i].map((e=>e.modelElements)).flat())].forEach((e=>{t.extend(e,{allowAttributes:n})})),e.data.upcastDispatcher.on("element",o,{priority:"low"})}))}static get pluginName(){return"DrupalElementStyleEditing"}}const K=e=>e,z=(e,t)=>(e?`${e}: `:"")+t;function Z(e,t){return`drupalElementStyle:${t}:${e}`}class G extends e.Plugin{static get requires(){return[W]}init(){const{plugins:e}=this.editor,t=this.editor.config.get("drupalMedia.toolbar")||[],i=e.get("DrupalElementStyleEditing").normalizedStyles;Object.keys(i).forEach((e=>{i[e].forEach((t=>{this._createButton(t,e,i[e])}))}));t.filter(l).filter((e=>{const t=[];if(!e.display)return console.warn("dropdown configuration must include a display key specifying either listDropdown or splitButton."),!1;e.items.includes(e.defaultItem)||console.warn("defaultItem must be part of items in the dropdown configuration.");for(const i of e.items){const e=i.split(":")[1];t.push(e)}return!!t.every((e=>e===t[0]))||(console.warn("dropdown configuration should only contain buttons from one group."),!1)})).forEach((e=>{if(e.items.length>=2){const t=e.name.split(":")[1];switch(e.display){case"splitButton":this._createDropdown(e,i[t]);break;case"listDropdown":this._createListDropdown(e,i[t])}}}))}updateOptionVisibility(e,t,i,n){const{selection:a}=this.editor.model.document,r={};r[n]=e;const o=a?a.getSelectedElement():H(a,this.editor.model.schema,r),s=e.filter((function(e){for(const[t,i]of(0,E.toMap)(e.modelAttributes))if(o&&o.hasAttribute(t))return i.includes(o.getAttribute(t));return!0}));i.hasOwnProperty("model")?s.includes(t)?i.model.set({class:""}):i.model.set({class:"ck-hidden"}):s.includes(t)?i.set({class:""}):i.set({class:"ck-hidden"})}_createDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let a;const{defaultItem:r,items:o,title:s}=e,l=o.filter((e=>{const i=e.split(":")[1];return t.find((({name:t})=>Z(t,i)===e))})).map((e=>{const t=i.create(e);return e===r&&(a=t),t}));o.length!==l.length&&F.warnInvalidStyle({dropdown:e});const d=(0,g.createDropdown)(n,g.SplitButtonView),u=d.buttonView;return(0,g.addToolbarToDropdown)(d,l),u.set({label:z(s,a.label),class:null,tooltip:!0}),u.bind("icon").toMany(l,"isOn",((...e)=>{const t=e.findIndex(K);return t<0?a.icon:l[t].icon})),u.bind("label").toMany(l,"isOn",((...e)=>{const t=e.findIndex(K);return z(s,t<0?a.label:l[t].label)})),u.bind("isOn").toMany(l,"isOn",((...e)=>e.some(K))),u.bind("class").toMany(l,"isOn",((...e)=>e.some(K)?"ck-splitbutton_flatten":null)),u.on("execute",(()=>{l.some((({isOn:e})=>e))?d.isOpen=!d.isOpen:a.fire("execute")})),d.bind("isEnabled").toMany(l,"isEnabled",((...e)=>e.some(K))),d}))}_createButton(e,t,i){const n=e.name;this.editor.ui.componentFactory.add(Z(n,t),(a=>{const r=this.editor.commands.get("drupalElementStyle"),o=new g.ButtonView(a);return o.set({label:e.title,icon:e.icon,tooltip:!0,isToggleable:!0}),o.bind("isEnabled").to(r,"isEnabled"),o.bind("isOn").to(r,"value",(e=>e&&e[t]===n)),o.on("execute",this._executeCommand.bind(this,n,t)),this.listenTo(this.editor.ui,"update",(()=>{this.updateOptionVisibility(i,e,o,t)})),o}))}getDropdownListItemDefinitions(e,t,i){const n=new E.Collection;return e.forEach((t=>{const a={type:"button",model:new g.ViewModel({group:i,commandValue:t.name,label:t.title,withText:!0,class:""})};n.add(a),this.listenTo(this.editor.ui,"update",(()=>{this.updateOptionVisibility(e,t,a,i)}))})),n}_createListDropdown(e,t){const i=this.editor.ui.componentFactory;i.add(e.name,(n=>{let a;const{defaultItem:r,items:o,title:s,defaultText:l}=e,d=e.name.split(":")[1],u=o.filter((e=>t.find((({name:t})=>Z(t,d)===e)))).map((e=>{const t=i.create(e);return e===r&&(a=t),t}));o.length!==u.length&&F.warnInvalidStyle({dropdown:e});const c=(0,g.createDropdown)(n,g.DropdownButtonView),m=c.buttonView;m.set({label:z(s,a.label),class:null,tooltip:l,withText:!0});const p=this.editor.commands.get("drupalElementStyle");return m.bind("label").to(p,"value",(e=>{if(e?.[d])for(const i of t)if(i.name===e[d])return i.title;return l})),c.bind("isOn").to(p),c.bind("isEnabled").to(this),(0,g.addListToDropdown)(c,this.getDropdownListItemDefinitions(t,p,d)),this.listenTo(c,"execute",(e=>{this._executeCommand(e.source.commandValue,e.source.group)})),c}))}_executeCommand(e,t){this.editor.execute("drupalElementStyle",{value:e,group:t}),this.editor.editing.view.focus()}static get pluginName(){return"DrupalElementStyleUi"}}class J extends e.Plugin{static get requires(){return[W,G]}static get pluginName(){return"DrupalElementStyle"}}function X(e){const t=e.getFirstPosition().findAncestor("caption");return t&&a(t.parent)?t:null}function Q(e){for(const t of e.getChildren())if(t&&t.is("element","caption"))return t;return null}class Y extends e.Command{refresh(){const e=this.editor.model.document.selection,t=e.getSelectedElement();if(!t)return this.isEnabled=!!o(e),void(this.value=!!X(e));this.isEnabled=a(t),this.isEnabled?this.value=!!Q(t):this.value=!1}execute(e={}){const{focusCaptionOnShow:t}=e;this.editor.model.change((e=>{this.value?this._hideDrupalMediaCaption(e):this._showDrupalMediaCaption(e,t)}))}_showDrupalMediaCaption(e,t){const i=this.editor.model.document.selection,n=this.editor.plugins.get("DrupalMediaCaptionEditing"),a=o(i),r=n._getSavedCaption(a)||e.createElement("caption");e.append(r,a),t&&e.setSelection(r,"in")}_hideDrupalMediaCaption(e){const t=this.editor,i=t.model.document.selection,n=t.plugins.get("DrupalMediaCaptionEditing");let a,r=i.getSelectedElement();r?a=Q(r):(a=X(i),r=o(i)),n._saveCaption(r,a),e.setSelection(r,"on"),e.remove(a)}}class ee extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionEditing"}constructor(e){super(e),this._savedCaptionsMap=new WeakMap}init(){const e=this.editor,t=e.model.schema;t.isRegistered("caption")?t.extend("caption",{allowIn:"drupalMedia"}):t.register("caption",{allowIn:"drupalMedia",allowContentOf:"$block",isLimit:!0}),e.commands.add("toggleMediaCaption",new Y(e)),this._setupConversion()}_setupConversion(){const e=this.editor,i=e.editing.view;var n;e.conversion.for("upcast").add(function(e){const t=(t,i,n)=>{const{viewItem:a}=i,{writer:r,consumable:o}=n;if(!i.modelRange||!o.consume(a,{attributes:["data-caption"]}))return;const s=r.createElement("caption"),l=i.modelRange.start.nodeAfter,d=e.data.processor.toView(a.getAttribute("data-caption"));n.consumable.constructor.createFrom(d,n.consumable),n.convertChildren(d,s),r.append(s,l)};return e=>{e.on("element:drupal-media",t,{priority:"low"})}}(e)),e.conversion.for("editingDowncast").elementToElement({model:"caption",view:(e,{writer:n})=>{if(!a(e.parent))return null;const r=n.createEditableElement("figcaption");return r.placeholder=Drupal.t("Enter media caption"),(0,V.enablePlaceholder)({view:i,element:r,keepOnFocus:!0}),(0,t.toWidgetEditable)(r,n)}}),e.editing.mapper.on("modelToViewPosition",(n=i,(e,t)=>{const i=t.modelPosition,r=i.parent;if(!a(r))return;const o=t.mapper.toViewElement(r);t.viewPosition=n.createPositionAt(o,i.offset+1)})),e.conversion.for("dataDowncast").add(function(e){return t=>{t.on("insert:caption",((t,i,n)=>{const{consumable:r,writer:o,mapper:s}=n;if(!a(i.item.parent)||!r.consume(i.item,"insert"))return;const l=e.model.createRangeIn(i.item),d=o.createDocumentFragment();s.bindElements(i.item,d);for(const{item:t}of Array.from(l)){const i={item:t,range:e.model.createRangeOn(t)},a=`insert:${t.name||"$text"}`;e.data.downcastDispatcher.fire(a,i,n);for(const a of t.getAttributeKeys())Object.assign(i,{attributeKey:a,attributeOldValue:null,attributeNewValue:i.item.getAttribute(a)}),e.data.downcastDispatcher.fire(`attribute:${a}`,i,n)}for(const e of o.createRangeIn(d).getItems())s.unbindViewElement(e);s.unbindViewElement(d);const u=e.data.processor.toData(d);if(u){const e=s.toViewElement(i.item.parent);o.setAttribute("data-caption",u,e)}}))}}(e))}_getSavedCaption(e){const t=this._savedCaptionsMap.get(e);return t?V.Element.fromJSON(t):null}_saveCaption(e,t){this._savedCaptionsMap.set(e,t.toJSON())}}class te extends e.Plugin{static get requires(){return[]}static get pluginName(){return"DrupalMediaCaptionUI"}init(){const{editor:t}=this,i=t.editing.view;t.ui.componentFactory.add("toggleDrupalMediaCaption",(n=>{const a=new g.ButtonView(n),r=t.commands.get("toggleMediaCaption");return a.set({label:Drupal.t("Caption media"),icon:e.icons.caption,tooltip:!0,isToggleable:!0}),a.bind("isOn","isEnabled").to(r,"value","isEnabled"),a.bind("label").to(r,"value",(e=>e?Drupal.t("Toggle caption off"):Drupal.t("Toggle caption on"))),this.listenTo(a,"execute",(()=>{t.execute("toggleMediaCaption",{focusCaptionOnShow:!0});const e=X(t.model.document.selection);if(e){const n=t.editing.mapper.toViewElement(e);i.scrollToTheSelection(),i.change((e=>{e.addClass("drupal-media__caption_highlighted",n)}))}t.editing.view.focus()})),a}))}}class ie extends e.Plugin{static get requires(){return[ee,te]}static get pluginName(){return"DrupalMediaCaption"}}const ne={DrupalMedia:x,MediaImageTextAlternative:D,MediaImageTextAlternativeEditing:y,MediaImageTextAlternativeUi:k,DrupalLinkMedia:P,DrupalMediaCaption:ie,DrupalElementStyle:J}})(),n=n.default})())); \ No newline at end of file
diff --git a/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js b/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js
index cb4685e49f23..2b96be9e32e5 100644
--- a/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js
+++ b/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/drupallinkmedia/drupallinkmediaui.js
@@ -103,8 +103,7 @@ export default class DrupalLinkMediaUI extends Plugin {
_isSelectedLinkedMedia(selection) {
const selectedModelElement = selection.getSelectedElement();
return (
- !!selectedModelElement &&
- selectedModelElement.is('element', 'drupalMedia') &&
+ selectedModelElement?.is('element', 'drupalMedia') &&
selectedModelElement.hasAttribute('linkHref')
);
}
diff --git a/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js b/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
index b4623eee7728..2ae8ca9d809d 100644
--- a/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
+++ b/core/modules/ckeditor5/js/ckeditor5_plugins/drupalMedia/src/mediaimagetextalternative/mediaimagetextalternativecommand.js
@@ -22,8 +22,7 @@ export default class MediaImageTextAlternativeCommand extends Command {
this.editor.model.document.selection,
);
this.isEnabled =
- !!drupalMediaElement &&
- drupalMediaElement.getAttribute('drupalMediaIsImage') &&
+ drupalMediaElement?.getAttribute('drupalMediaIsImage') &&
drupalMediaElement.getAttribute('drupalMediaIsImage') !== METADATA_ERROR;
if (this.isEnabled) {
diff --git a/core/modules/content_moderation/tests/src/Functional/WorkspaceContentModerationIntegrationTest.php b/core/modules/content_moderation/tests/src/Functional/WorkspaceContentModerationIntegrationTest.php
index 4b4fbe2c7905..2462173f970b 100644
--- a/core/modules/content_moderation/tests/src/Functional/WorkspaceContentModerationIntegrationTest.php
+++ b/core/modules/content_moderation/tests/src/Functional/WorkspaceContentModerationIntegrationTest.php
@@ -33,7 +33,7 @@ class WorkspaceContentModerationIntegrationTest extends ModerationStateTestBase
protected function getAdministratorPermissions(): array {
return array_merge($this->permissions, [
'bypass node access',
- 'view any workspace',
+ 'administer workspaces',
]);
}
@@ -50,6 +50,7 @@ class WorkspaceContentModerationIntegrationTest extends ModerationStateTestBase
$this->createContentTypeFromUi('Article', 'article', TRUE);
$this->setupWorkspaceSwitcherBlock();
+ $this->createWorkspaceThroughUi('Stage', 'stage');
}
/**
diff --git a/core/modules/contextual/contextual.libraries.yml b/core/modules/contextual/contextual.libraries.yml
index 6798d02d9070..0e80f3aed427 100644
--- a/core/modules/contextual/contextual.libraries.yml
+++ b/core/modules/contextual/contextual.libraries.yml
@@ -1,7 +1,6 @@
drupal.contextual-links:
version: VERSION
js:
- js/contextualModelView.js: {}
# Ensure to run before contextual/drupal.context-toolbar.
js/contextual.js: { weight: -2 }
css:
diff --git a/core/modules/contextual/js/contextual.js b/core/modules/contextual/js/contextual.js
index f1008eabe07b..5a852e28fbac 100644
--- a/core/modules/contextual/js/contextual.js
+++ b/core/modules/contextual/js/contextual.js
@@ -256,7 +256,259 @@
}
},
}),
- ContextualModelView: {},
+
+ /**
+ * Models the state of a contextual link's trigger, list & region.
+ */
+ ContextualModelView: class {
+ constructor($contextual, $region, options) {
+ this.title = options.title || '';
+ this.regionIsHovered = false;
+ this._hasFocus = false;
+ this._isOpen = false;
+ this._isLocked = false;
+ this.strings = options.strings;
+ this.timer = NaN;
+ this.modelId = btoa(Math.random()).substring(0, 12);
+ this.$region = $region;
+ this.$contextual = $contextual;
+
+ if (!document.body.classList.contains('touchevents')) {
+ this.$region.on({
+ mouseenter: () => {
+ this.regionIsHovered = true;
+ },
+ mouseleave: () => {
+ this.close().blur();
+ this.regionIsHovered = false;
+ },
+ 'mouseleave mouseenter': () => this.render(),
+ });
+ this.$contextual.on('mouseenter', () => {
+ this.focus();
+ this.render();
+ });
+ }
+
+ this.$contextual.on(
+ {
+ click: () => {
+ this.toggleOpen();
+ },
+ touchend: () => {
+ Drupal.contextual.ContextualModelView.touchEndToClick();
+ },
+ focus: () => {
+ this.focus();
+ },
+ blur: () => {
+ this.blur();
+ },
+ 'click blur touchend focus': () => this.render(),
+ },
+ '.trigger',
+ );
+
+ this.$contextual.on(
+ {
+ click: () => {
+ this.close().blur();
+ },
+ touchend: (event) => {
+ Drupal.contextual.ContextualModelView.touchEndToClick(event);
+ },
+ focus: () => {
+ this.focus();
+ },
+ blur: () => {
+ this.waitCloseThenBlur();
+ },
+ 'click blur touchend focus': () => this.render(),
+ },
+ '.contextual-links a',
+ );
+
+ this.render();
+
+ // Let other JavaScript react to the adding of a new contextual link.
+ $(document).trigger('drupalContextualLinkAdded', {
+ $el: $contextual,
+ $region,
+ model: this,
+ });
+ }
+
+ /**
+ * Updates the rendered representation of the current contextual links.
+ */
+ render() {
+ const { isOpen } = this;
+ const isVisible = this.isLocked || this.regionIsHovered || isOpen;
+ this.$region.toggleClass('focus', this.hasFocus);
+ this.$contextual
+ .toggleClass('open', isOpen)
+ // Update the visibility of the trigger.
+ .find('.trigger')
+ .toggleClass('visually-hidden', !isVisible);
+
+ this.$contextual.find('.contextual-links').prop('hidden', !isOpen);
+ const trigger = this.$contextual.find('.trigger').get(0);
+ trigger.textContent = Drupal.t('@action @title configuration options', {
+ '@action': !isOpen ? this.strings.open : this.strings.close,
+ '@title': this.title,
+ });
+ trigger.setAttribute('aria-pressed', isOpen);
+ }
+
+ /**
+ * Prevents delay and simulated mouse events.
+ *
+ * @param {jQuery.Event} event the touch end event.
+ */
+ static touchEndToClick(event) {
+ event.preventDefault();
+ event.target.click();
+ }
+
+ /**
+ * Set up a timeout to allow a user to tab between the trigger and the
+ * contextual links without the menu dismissing.
+ */
+ waitCloseThenBlur() {
+ this.timer = window.setTimeout(() => {
+ this.isOpen = false;
+ this.hasFocus = false;
+ this.render();
+ }, 150);
+ }
+
+ /**
+ * Opens or closes the contextual link.
+ *
+ * If it is opened, then also give focus.
+ *
+ * @return {Drupal.contextual.ContextualModelView}
+ * The current contextual model view.
+ */
+ toggleOpen() {
+ const newIsOpen = !this.isOpen;
+ this.isOpen = newIsOpen;
+ if (newIsOpen) {
+ this.focus();
+ }
+ return this;
+ }
+
+ /**
+ * Gives focus to this contextual link.
+ *
+ * Also closes + removes focus from every other contextual link.
+ *
+ * @return {Drupal.contextual.ContextualModelView}
+ * The current contextual model view.
+ */
+ focus() {
+ const { modelId } = this;
+ Drupal.contextual.instances.forEach((model) => {
+ if (model.modelId !== modelId) {
+ model.close().blur();
+ }
+ });
+ window.clearTimeout(this.timer);
+ this.hasFocus = true;
+ return this;
+ }
+
+ /**
+ * Removes focus from this contextual link, unless it is open.
+ *
+ * @return {Drupal.contextual.ContextualModelView}
+ * The current contextual model view.
+ */
+ blur() {
+ if (!this.isOpen) {
+ this.hasFocus = false;
+ }
+ return this;
+ }
+
+ /**
+ * Closes this contextual link.
+ *
+ * Does not call blur() because we want to allow a contextual link to have
+ * focus, yet be closed for example when hovering.
+ *
+ * @return {Drupal.contextual.ContextualModelView}
+ * The current contextual model view.
+ */
+ close() {
+ this.isOpen = false;
+ return this;
+ }
+
+ /**
+ * Gets the current focus state.
+ *
+ * @return {boolean} the focus state.
+ */
+ get hasFocus() {
+ return this._hasFocus;
+ }
+
+ /**
+ * Sets the current focus state.
+ *
+ * @param {boolean} value - new focus state
+ */
+ set hasFocus(value) {
+ this._hasFocus = value;
+ this.$region.toggleClass('focus', this._hasFocus);
+ }
+
+ /**
+ * Gets the current open state.
+ *
+ * @return {boolean} the open state.
+ */
+ get isOpen() {
+ return this._isOpen;
+ }
+
+ /**
+ * Sets the current open state.
+ *
+ * @param {boolean} value - new open state
+ */
+ set isOpen(value) {
+ this._isOpen = value;
+ // Nested contextual region handling: hide any nested contextual triggers.
+ this.$region
+ .closest('.contextual-region')
+ .find('.contextual .trigger:not(:first)')
+ .toggle(!this.isOpen);
+ }
+
+ /**
+ * Gets the current locked state.
+ *
+ * @return {boolean} the locked state.
+ */
+ get isLocked() {
+ return this._isLocked;
+ }
+
+ /**
+ * Sets the current locked state.
+ *
+ * @param {boolean} value - new locked state
+ */
+ set isLocked(value) {
+ if (value !== this._isLocked) {
+ this._isLocked = value;
+ this.render();
+ }
+ }
+ },
};
/**
diff --git a/core/modules/contextual/js/contextualModelView.js b/core/modules/contextual/js/contextualModelView.js
deleted file mode 100644
index 4488045e2236..000000000000
--- a/core/modules/contextual/js/contextualModelView.js
+++ /dev/null
@@ -1,254 +0,0 @@
-(($, Drupal) => {
- /**
- * Models the state of a contextual link's trigger, list & region.
- */
- Drupal.contextual.ContextualModelView = class {
- constructor($contextual, $region, options) {
- this.title = options.title || '';
- this.regionIsHovered = false;
- this._hasFocus = false;
- this._isOpen = false;
- this._isLocked = false;
- this.strings = options.strings;
- this.timer = NaN;
- this.modelId = btoa(Math.random()).substring(0, 12);
- this.$region = $region;
- this.$contextual = $contextual;
-
- if (!document.body.classList.contains('touchevents')) {
- this.$region.on({
- mouseenter: () => {
- this.regionIsHovered = true;
- },
- mouseleave: () => {
- this.close().blur();
- this.regionIsHovered = false;
- },
- 'mouseleave mouseenter': () => this.render(),
- });
- this.$contextual.on('mouseenter', () => {
- this.focus();
- this.render();
- });
- }
-
- this.$contextual.on(
- {
- click: () => {
- this.toggleOpen();
- },
- touchend: () => {
- Drupal.contextual.ContextualModelView.touchEndToClick();
- },
- focus: () => {
- this.focus();
- },
- blur: () => {
- this.blur();
- },
- 'click blur touchend focus': () => this.render(),
- },
- '.trigger',
- );
-
- this.$contextual.on(
- {
- click: () => {
- this.close().blur();
- },
- touchend: (event) => {
- Drupal.contextual.ContextualModelView.touchEndToClick(event);
- },
- focus: () => {
- this.focus();
- },
- blur: () => {
- this.waitCloseThenBlur();
- },
- 'click blur touchend focus': () => this.render(),
- },
- '.contextual-links a',
- );
-
- this.render();
-
- // Let other JavaScript react to the adding of a new contextual link.
- $(document).trigger('drupalContextualLinkAdded', {
- $el: $contextual,
- $region,
- model: this,
- });
- }
-
- /**
- * Updates the rendered representation of the current contextual links.
- */
- render() {
- const { isOpen } = this;
- const isVisible = this.isLocked || this.regionIsHovered || isOpen;
- this.$region.toggleClass('focus', this.hasFocus);
- this.$contextual
- .toggleClass('open', isOpen)
- // Update the visibility of the trigger.
- .find('.trigger')
- .toggleClass('visually-hidden', !isVisible);
-
- this.$contextual.find('.contextual-links').prop('hidden', !isOpen);
- const trigger = this.$contextual.find('.trigger').get(0);
- trigger.textContent = Drupal.t('@action @title configuration options', {
- '@action': !isOpen ? this.strings.open : this.strings.close,
- '@title': this.title,
- });
- trigger.setAttribute('aria-pressed', isOpen);
- }
-
- /**
- * Prevents delay and simulated mouse events.
- *
- * @param {jQuery.Event} event the touch end event.
- */
- static touchEndToClick(event) {
- event.preventDefault();
- event.target.click();
- }
-
- /**
- * Set up a timeout to allow a user to tab between the trigger and the
- * contextual links without the menu dismissing.
- */
- waitCloseThenBlur() {
- this.timer = window.setTimeout(() => {
- this.isOpen = false;
- this.hasFocus = false;
- this.render();
- }, 150);
- }
-
- /**
- * Opens or closes the contextual link.
- *
- * If it is opened, then also give focus.
- *
- * @return {Drupal.contextual.ContextualModelView}
- * The current contextual model view.
- */
- toggleOpen() {
- const newIsOpen = !this.isOpen;
- this.isOpen = newIsOpen;
- if (newIsOpen) {
- this.focus();
- }
- return this;
- }
-
- /**
- * Gives focus to this contextual link.
- *
- * Also closes + removes focus from every other contextual link.
- *
- * @return {Drupal.contextual.ContextualModelView}
- * The current contextual model view.
- */
- focus() {
- const { modelId } = this;
- Drupal.contextual.instances.forEach((model) => {
- if (model.modelId !== modelId) {
- model.close().blur();
- }
- });
- window.clearTimeout(this.timer);
- this.hasFocus = true;
- return this;
- }
-
- /**
- * Removes focus from this contextual link, unless it is open.
- *
- * @return {Drupal.contextual.ContextualModelView}
- * The current contextual model view.
- */
- blur() {
- if (!this.isOpen) {
- this.hasFocus = false;
- }
- return this;
- }
-
- /**
- * Closes this contextual link.
- *
- * Does not call blur() because we want to allow a contextual link to have
- * focus, yet be closed for example when hovering.
- *
- * @return {Drupal.contextual.ContextualModelView}
- * The current contextual model view.
- */
- close() {
- this.isOpen = false;
- return this;
- }
-
- /**
- * Gets the current focus state.
- *
- * @return {boolean} the focus state.
- */
- get hasFocus() {
- return this._hasFocus;
- }
-
- /**
- * Sets the current focus state.
- *
- * @param {boolean} value - new focus state
- */
- set hasFocus(value) {
- this._hasFocus = value;
- this.$region.toggleClass('focus', this._hasFocus);
- }
-
- /**
- * Gets the current open state.
- *
- * @return {boolean} the open state.
- */
- get isOpen() {
- return this._isOpen;
- }
-
- /**
- * Sets the current open state.
- *
- * @param {boolean} value - new open state
- */
- set isOpen(value) {
- this._isOpen = value;
- // Nested contextual region handling: hide any nested contextual triggers.
- this.$region
- .closest('.contextual-region')
- .find('.contextual .trigger:not(:first)')
- .toggle(!this.isOpen);
- }
-
- /**
- * Gets the current locked state.
- *
- * @return {boolean} the locked state.
- */
- get isLocked() {
- return this._isLocked;
- }
-
- /**
- * Sets the current locked state.
- *
- * @param {boolean} value - new locked state
- */
- set isLocked(value) {
- if (value !== this._isLocked) {
- this._isLocked = value;
- this.render();
- }
- }
- };
-})(jQuery, Drupal);
diff --git a/core/modules/field_ui/css/field_ui_add_field.module.css b/core/modules/field_ui/css/field_ui_add_field.module.css
index d12e6cc8a302..5b84207b5f0c 100644
--- a/core/modules/field_ui/css/field_ui_add_field.module.css
+++ b/core/modules/field_ui/css/field_ui_add_field.module.css
@@ -16,7 +16,7 @@
--input-fg-color: var(--color-gray);
--color-blue: #003ecc;
--color-red: #dc2323;
- --details-box-shadow: 0 2px 0.25rem rgba(0, 0, 0, 0.1);
+ --details-box-shadow: 0 2px 0.25rem rgb(0, 0, 0, 0.1);
}
.field-ui-new-storage-wrapper {
diff --git a/core/modules/field_ui/css/field_ui_add_field.module.pcss.css b/core/modules/field_ui/css/field_ui_add_field.module.pcss.css
index b136e0f4b3cc..fc27ca1a253e 100644
--- a/core/modules/field_ui/css/field_ui_add_field.module.pcss.css
+++ b/core/modules/field_ui/css/field_ui_add_field.module.pcss.css
@@ -9,7 +9,7 @@
--input-fg-color: var(--color-gray);
--color-blue: #003ecc;
--color-red: #dc2323;
- --details-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ --details-box-shadow: 0 2px 4px rgb(0, 0, 0, 0.1);
}
.field-ui-new-storage-wrapper {
diff --git a/core/modules/jsonapi/tests/src/Functional/WorkspaceTest.php b/core/modules/jsonapi/tests/src/Functional/WorkspaceTest.php
index 97eec557d22d..48cbc20067a9 100644
--- a/core/modules/jsonapi/tests/src/Functional/WorkspaceTest.php
+++ b/core/modules/jsonapi/tests/src/Functional/WorkspaceTest.php
@@ -15,6 +15,7 @@ use Drupal\workspaces\Entity\Workspace;
* JSON:API integration test for the "Workspace" content entity type.
*
* @group jsonapi
+ * @group workspaces
*/
class WorkspaceTest extends ResourceTestBase {
@@ -142,7 +143,7 @@ class WorkspaceTest extends ResourceTestBase {
'changed' => (new \DateTime())->setTimestamp($this->entity->getChangedTime())->setTimezone(new \DateTimeZone('UTC'))->format(\DateTime::RFC3339),
'label' => 'Campaign',
'drupal_internal__id' => 'campaign',
- 'drupal_internal__revision_id' => 2,
+ 'drupal_internal__revision_id' => 1,
],
'relationships' => [
'parent' => [
diff --git a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php
index fe5ff0ca0627..54fdf4b0d21d 100644
--- a/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php
+++ b/core/modules/language/tests/src/Kernel/Migrate/d7/MigrateLanguageNegotiationSettingsTest.php
@@ -10,7 +10,6 @@ use Drupal\Tests\migrate_drupal\Kernel\d7\MigrateDrupal7TestBase;
/**
* Tests the migration of language negotiation.
*
- * @group #slow
* @group migrate_drupal_7
*/
class MigrateLanguageNegotiationSettingsTest extends MigrateDrupal7TestBase {
diff --git a/core/modules/layout_builder/css/layout-builder.pcss.css b/core/modules/layout_builder/css/layout-builder.pcss.css
index 7ddb9543e007..06b73b42992d 100644
--- a/core/modules/layout_builder/css/layout-builder.pcss.css
+++ b/core/modules/layout_builder/css/layout-builder.pcss.css
@@ -91,7 +91,7 @@
pointer-events: none;
}
- @nest .layout-builder--content-preview-disabled & {
+ .layout-builder--content-preview-disabled & {
margin: 0;
border-bottom: 2px dashed #979797;
}
diff --git a/core/modules/layout_builder/css/off-canvas.css b/core/modules/layout_builder/css/off-canvas.css
index 1caa028602f5..0b90c63ce615 100644
--- a/core/modules/layout_builder/css/off-canvas.css
+++ b/core/modules/layout_builder/css/off-canvas.css
@@ -95,7 +95,7 @@
#drupal-off-canvas-wrapper .inline-block-create-button:hover,
#drupal-off-canvas-wrapper .inline-block-list__item:hover {
- background-color: rgba(255, 255, 255, 0.05);
+ background-color: rgb(255, 255, 255, 0.05);
}
#drupal-off-canvas-wrapper .inline-block-create-button:focus,
diff --git a/core/modules/layout_builder/css/off-canvas.pcss.css b/core/modules/layout_builder/css/off-canvas.pcss.css
index a63de90a0dd6..55083338bded 100644
--- a/core/modules/layout_builder/css/off-canvas.pcss.css
+++ b/core/modules/layout_builder/css/off-canvas.pcss.css
@@ -80,7 +80,7 @@
color: var(--off-canvas-text-color);
&:hover {
- background-color: rgba(255, 255, 255, 0.05);
+ background-color: rgb(255, 255, 255, 0.05);
}
&:focus {
diff --git a/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php b/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
index 786fa3d786af..162928bb0918 100644
--- a/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
+++ b/core/modules/layout_builder/src/EventSubscriber/BlockComponentRenderArray.php
@@ -2,8 +2,8 @@
namespace Drupal\layout_builder\EventSubscriber;
-use Drupal\block_content\Access\RefinableDependentAccessInterface;
use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Access\RefinableDependentAccessInterface;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Cache\CacheableMetadata;
use Drupal\Core\Render\Element;
diff --git a/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php b/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
index 2c66d43b8200..14686b9f532b 100644
--- a/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
+++ b/core/modules/layout_builder/src/Plugin/Block/InlineBlock.php
@@ -2,10 +2,10 @@
namespace Drupal\layout_builder\Plugin\Block;
-use Drupal\block_content\Access\RefinableDependentAccessInterface;
-use Drupal\block_content\Access\RefinableDependentAccessTrait;
use Drupal\Component\Utility\NestedArray;
use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Access\RefinableDependentAccessInterface;
+use Drupal\Core\Access\RefinableDependentAccessTrait;
use Drupal\Core\Block\Attribute\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Entity\Entity\EntityFormDisplay;
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.info.yml b/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.info.yml
new file mode 100644
index 000000000000..691e00a80c5a
--- /dev/null
+++ b/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.info.yml
@@ -0,0 +1,5 @@
+name: 'Layout Builder BLock Content dependency test'
+type: module
+description: 'Support module for testing Layout Builder''s implicit dependencies on Block Content'
+package: Testing
+version: VERSION
diff --git a/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.module b/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.module
new file mode 100644
index 000000000000..93bb03de4048
--- /dev/null
+++ b/core/modules/layout_builder/tests/modules/layout_builder_block_content_dependency_test/layout_builder_block_content_dependency_test.module
@@ -0,0 +1,19 @@
+<?php
+
+/**
+ * @file
+ * Provides hook implementations for testing Layout Builder with Block Content.
+ */
+
+declare(strict_types=1);
+
+/**
+ * Implements hook_modules_installed().
+ */
+function layout_builder_block_content_dependency_test_modules_installed(array $modules, bool $is_syncing): void {
+ // @see Drupal\Tests\layout_builder\Kernel\LayoutBuilderBlockContentDependencyTest
+ if (in_array('layout_builder', $modules)) {
+ \Drupal::service('plugin.manager.block')->getDefinitions();
+ \Drupal::service('module_installer')->install(['block_content']);
+ }
+}
diff --git a/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBlockContentDependencyTest.php b/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBlockContentDependencyTest.php
new file mode 100644
index 000000000000..faa5d26bec92
--- /dev/null
+++ b/core/modules/layout_builder/tests/src/Kernel/LayoutBuilderBlockContentDependencyTest.php
@@ -0,0 +1,51 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Drupal\Tests\layout_builder\Kernel;
+
+use Drupal\KernelTests\KernelTestBase;
+
+/**
+ * Test for installing Layout Builder before Block Content in the same request.
+ *
+ * @group layout_builder
+ */
+class LayoutBuilderBlockContentDependencyTest extends KernelTestBase {
+
+ /**
+ * Test that block_content can be successfully installed after layout_builder.
+ *
+ * The InlineBlock plugin class in layout_builder uses
+ * RefinableDependentAccessTrait, which used to live in block_content, though
+ * block_content is not a layout_builder dependency. Since the BlockContent
+ * entity type class also uses the same trait, if, in order and in the same
+ * request:
+ * 1. layout_builder is installed first without block_content
+ * 2. block plugins are discovered
+ * 3. block_content is installed,
+ * a fatal error can occur, because the trait was missing before block_content
+ * is installed and gets aliased to an empty trait. When the installation of
+ * the block_content module installs the BlockContent entity type, the empty
+ * trait is missing the methods that need to be implemented from the
+ * interface.
+ *
+ * @see \Drupal\Component\Plugin\Discovery\AttributeClassDiscovery
+ * @see \Drupal\Component\Discovery\MissingClassDetectionClassLoader
+ */
+ public function testInstallLayoutBuilderAndBlockContent(): void {
+ $this->assertFalse(\Drupal::moduleHandler()->moduleExists('block_content'));
+ // Prevent classes in the block_content modules from being loaded before the
+ // module is installed.
+ $this->classLoader->setPsr4("Drupal\\block_content\\", '');
+
+ // Install test module that will act on layout_builder being installed and
+ // at that time does block plugin discovery first, then installs
+ // block_content.
+ \Drupal::service('module_installer')->install(['layout_builder_block_content_dependency_test']);
+
+ \Drupal::service('module_installer')->install(['layout_builder']);
+ $this->assertTrue(\Drupal::moduleHandler()->moduleExists('block_content'));
+ }
+
+}
diff --git a/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php b/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
index 530feea461da..baa6a080aa5a 100644
--- a/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
+++ b/core/modules/layout_builder/tests/src/Unit/BlockComponentRenderArrayTest.php
@@ -4,9 +4,9 @@ declare(strict_types=1);
namespace Drupal\Tests\layout_builder\Unit;
-use Drupal\block_content\Access\RefinableDependentAccessInterface;
use Drupal\Component\Plugin\Context\ContextInterface;
use Drupal\Core\Access\AccessResult;
+use Drupal\Core\Access\RefinableDependentAccessInterface;
use Drupal\Core\Block\BlockManagerInterface;
use Drupal\Core\Block\BlockPluginInterface;
use Drupal\Core\Cache\Cache;
diff --git a/core/modules/link/tests/src/Functional/LinkFieldUITest.php b/core/modules/link/tests/src/Functional/LinkFieldUITest.php
index 5c78abc23910..694fb6b36774 100644
--- a/core/modules/link/tests/src/Functional/LinkFieldUITest.php
+++ b/core/modules/link/tests/src/Functional/LinkFieldUITest.php
@@ -15,7 +15,6 @@ use Drupal\Tests\field_ui\Traits\FieldUiTestTrait;
* Tests link field UI functionality.
*
* @group link
- * @group #slow
*/
class LinkFieldUITest extends BrowserTestBase {
diff --git a/core/modules/navigation/components/badge/badge.component.yml b/core/modules/navigation/components/badge/badge.component.yml
index a7bb04f963eb..a7940d1efa54 100644
--- a/core/modules/navigation/components/badge/badge.component.yml
+++ b/core/modules/navigation/components/badge/badge.component.yml
@@ -21,6 +21,9 @@ props:
enum:
- info
- success
+ meta:enum:
+ info: Information
+ success: Success
slots:
label:
type: string
diff --git a/core/modules/navigation/components/title/title.component.yml b/core/modules/navigation/components/title/title.component.yml
index 696960d455f5..1001c42c109f 100644
--- a/core/modules/navigation/components/title/title.component.yml
+++ b/core/modules/navigation/components/title/title.component.yml
@@ -23,6 +23,9 @@ props:
enum:
- ellipsis
- xs
+ meta:enum:
+ ellipsis: Ellipsis
+ xs: 'Extra-small'
extra_classes:
type: array
title: Extra classes.
@@ -43,6 +46,15 @@ props:
- h5
- h6
- span
+ meta:enum:
+ h1: Heading 1
+ h2: Heading 2
+ h3: Heading 3
+ h4: Heading 4
+ h5: Heading 5
+ h6: Heading 6
+ span: Inline
+ x-translation-context: HTML tag
# Provide a default value
default: h2
icon:
diff --git a/core/modules/navigation/components/toolbar-button/toolbar-button.component.yml b/core/modules/navigation/components/toolbar-button/toolbar-button.component.yml
index 87e29a14bf44..130cca22e1cb 100644
--- a/core/modules/navigation/components/toolbar-button/toolbar-button.component.yml
+++ b/core/modules/navigation/components/toolbar-button/toolbar-button.component.yml
@@ -37,6 +37,17 @@ props:
- primary
- small-offset
- weight--400
+ meta:enum:
+ collapsible: Collapsible
+ dark: Dark
+ expand--down: Expands down
+ expand--side: Expands to the side
+ large: Large
+ non-interactive: Non-Interactive
+ primary: Primary
+ small-offset: Small offset
+ weight--400: Weight 400
+ x-translation-context: Toolbar button modifiers
extra_classes:
type: array
title: Extra classes.
@@ -53,6 +64,11 @@ props:
- a
- button
- span
+ meta:enum:
+ a: Link
+ button: Button
+ span: Inline
+ x-translation-context: HTML tag
# Provide a default value
default: button
icon:
diff --git a/core/modules/navigation/components/toolbar-button/toolbar-button.css b/core/modules/navigation/components/toolbar-button/toolbar-button.css
index 3af3cbfdd39d..85bfb00883cf 100644
--- a/core/modules/navigation/components/toolbar-button/toolbar-button.css
+++ b/core/modules/navigation/components/toolbar-button/toolbar-button.css
@@ -36,7 +36,7 @@
text-align: start;
-webkit-text-decoration: none;
text-decoration: none;
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--toolbar-button-color);
border: 0;
border-radius: var(--admin-toolbar-space-8);
diff --git a/core/modules/navigation/components/toolbar-button/toolbar-button.pcss.css b/core/modules/navigation/components/toolbar-button/toolbar-button.pcss.css
index 9b40b8fcb460..0e1d5f3bdd57 100644
--- a/core/modules/navigation/components/toolbar-button/toolbar-button.pcss.css
+++ b/core/modules/navigation/components/toolbar-button/toolbar-button.pcss.css
@@ -33,7 +33,7 @@
cursor: pointer;
text-align: start;
text-decoration: none;
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--toolbar-button-color);
border: 0;
border-radius: var(--admin-toolbar-space-8);
diff --git a/core/modules/navigation/css/base/variables.css b/core/modules/navigation/css/base/variables.css
index 91063f3f09d9..c56c7322b6f4 100644
--- a/core/modules/navigation/css/base/variables.css
+++ b/core/modules/navigation/css/base/variables.css
@@ -74,14 +74,14 @@ We need it root to calculate the size of the displace in .dialog-off-canvas-main
/* White. */
--admin-toolbar-color-white: var(--drupal-admin-color-white, #fff);
/* Expanded background color. */
- --admin-toolbar-color-expanded: rgba(231, 234, 243, 0.5); /* --admin-toolbar-color-gray-050 */
+ --admin-toolbar-color-expanded: rgb(231, 234, 243, 0.5); /* --admin-toolbar-color-gray-050 */
/* Fonts. */
--admin-toolbar-font-family: inter, sans-serif;
/* Shadows. */
- --admin-toolbar-color-shadow-0: rgba(0, 0, 0, 0);
- --admin-toolbar-color-shadow-6: rgba(0, 0, 0, 0.06);
- --admin-toolbar-color-shadow-8: rgba(0, 0, 0, 0.08);
- --admin-toolbar-color-shadow-15: rgba(0, 0, 0, 0.15);
+ --admin-toolbar-color-shadow-0: rgb(0, 0, 0, 0);
+ --admin-toolbar-color-shadow-6: rgb(0, 0, 0, 0.06);
+ --admin-toolbar-color-shadow-8: rgb(0, 0, 0, 0.08);
+ --admin-toolbar-color-shadow-15: rgb(0, 0, 0, 0.15);
/**
* Spaces.
diff --git a/core/modules/navigation/css/base/variables.pcss.css b/core/modules/navigation/css/base/variables.pcss.css
index ae9655a7ad0e..844e0ba048a7 100644
--- a/core/modules/navigation/css/base/variables.pcss.css
+++ b/core/modules/navigation/css/base/variables.pcss.css
@@ -71,14 +71,14 @@ We need it root to calculate the size of the displace in .dialog-off-canvas-main
/* White. */
--admin-toolbar-color-white: var(--drupal-admin-color-white, #fff);
/* Expanded background color. */
- --admin-toolbar-color-expanded: rgba(231, 234, 243, 0.5); /* --admin-toolbar-color-gray-050 */
+ --admin-toolbar-color-expanded: rgb(231, 234, 243, 0.5); /* --admin-toolbar-color-gray-050 */
/* Fonts. */
--admin-toolbar-font-family: inter, sans-serif;
/* Shadows. */
- --admin-toolbar-color-shadow-0: rgba(0, 0, 0, 0);
- --admin-toolbar-color-shadow-6: rgba(0, 0, 0, 0.06);
- --admin-toolbar-color-shadow-8: rgba(0, 0, 0, 0.08);
- --admin-toolbar-color-shadow-15: rgba(0, 0, 0, 0.15);
+ --admin-toolbar-color-shadow-0: rgb(0, 0, 0, 0);
+ --admin-toolbar-color-shadow-6: rgb(0, 0, 0, 0.06);
+ --admin-toolbar-color-shadow-8: rgb(0, 0, 0, 0.08);
+ --admin-toolbar-color-shadow-15: rgb(0, 0, 0, 0.15);
/**
* Spaces.
diff --git a/core/modules/navigation/css/components/admin-toolbar.css b/core/modules/navigation/css/components/admin-toolbar.css
index 25fd9ca1cc02..8e8636d8a855 100644
--- a/core/modules/navigation/css/components/admin-toolbar.css
+++ b/core/modules/navigation/css/components/admin-toolbar.css
@@ -94,7 +94,7 @@ body {
.admin-toolbar {
block-size: calc(100vh - var(--drupal-displace-offset-top, 0px));
transform: none;
- inset-block-start: var(--drupal-displace-offset-top, 0);
+ inset-block-start: 0;
}
}
@media only screen and (max-height: 18.75rem) {
@@ -333,7 +333,7 @@ body {
display: none;
width: 100vw;
height: 100vh;
- background-color: rgba(0, 0, 0, 0.14);
+ background-color: rgb(0, 0, 0, 0.14);
}
:where([data-admin-toolbar="expanded"]) .admin-toolbar-overlay {
display: block;
diff --git a/core/modules/navigation/css/components/admin-toolbar.pcss.css b/core/modules/navigation/css/components/admin-toolbar.pcss.css
index 0b13b08252e1..55ffd803e693 100644
--- a/core/modules/navigation/css/components/admin-toolbar.pcss.css
+++ b/core/modules/navigation/css/components/admin-toolbar.pcss.css
@@ -95,7 +95,7 @@ body {
@media (--admin-toolbar-desktop) {
block-size: calc(100vh - var(--drupal-displace-offset-top, 0px));
transform: none;
- inset-block-start: var(--drupal-displace-offset-top, 0);
+ inset-block-start: 0;
}
@media only screen and (max-height: 300px) {
@@ -354,7 +354,7 @@ body {
display: none;
width: 100vw;
height: 100vh;
- background-color: rgba(0, 0, 0, 0.14);
+ background-color: rgb(0, 0, 0, 0.14);
:where([data-admin-toolbar="expanded"]) & {
display: block;
diff --git a/core/modules/navigation/css/components/toolbar-dropdown.css b/core/modules/navigation/css/components/toolbar-dropdown.css
index f21bf044137a..eca3b63b27e4 100644
--- a/core/modules/navigation/css/components/toolbar-dropdown.css
+++ b/core/modules/navigation/css/components/toolbar-dropdown.css
@@ -50,7 +50,7 @@
padding: var(--admin-toolbar-space-8) var(--admin-toolbar-space-16);
border-radius: var(--admin-toolbar-space-12);
background: white;
- box-shadow: 0 14px 30px 0 rgba(0, 0, 0, 0.1);
+ box-shadow: 0 14px 30px 0 rgb(0, 0, 0, 0.1);
}
[data-drupal-dropdown][aria-expanded="true"] + .toolbar-dropdown__menu {
display: block;
diff --git a/core/modules/navigation/css/components/toolbar-dropdown.pcss.css b/core/modules/navigation/css/components/toolbar-dropdown.pcss.css
index 6c462a08ba86..91cd88d0a5fc 100644
--- a/core/modules/navigation/css/components/toolbar-dropdown.pcss.css
+++ b/core/modules/navigation/css/components/toolbar-dropdown.pcss.css
@@ -49,7 +49,7 @@
padding: var(--admin-toolbar-space-8) var(--admin-toolbar-space-16);
border-radius: var(--admin-toolbar-space-12);
background: white;
- box-shadow: 0 14px 30px 0 rgba(0, 0, 0, 0.1);
+ box-shadow: 0 14px 30px 0 rgb(0, 0, 0, 0.1);
}
[data-drupal-dropdown][aria-expanded="true"] + .toolbar-dropdown__menu {
diff --git a/core/modules/navigation/css/components/toolbar-menu.css b/core/modules/navigation/css/components/toolbar-menu.css
index 33e2af3bcb9a..9b411c7cba75 100644
--- a/core/modules/navigation/css/components/toolbar-menu.css
+++ b/core/modules/navigation/css/components/toolbar-menu.css
@@ -51,7 +51,7 @@
-webkit-text-decoration: none;
text-decoration: none;
letter-spacing: var(--admin-toolbar-letter-spacing-0-06);
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--admin-toolbar-color-gray-800);
border: none;
background-color: transparent;
@@ -133,5 +133,5 @@
rotate: -90deg;
}
[dir="rtl"] :is([aria-expanded="true"] .toolbar-menu__chevron) {
- rotate: 0;
+ rotate: none;
}
diff --git a/core/modules/navigation/css/components/toolbar-menu.pcss.css b/core/modules/navigation/css/components/toolbar-menu.pcss.css
index 7f2c98950cc1..60fc599d7122 100644
--- a/core/modules/navigation/css/components/toolbar-menu.pcss.css
+++ b/core/modules/navigation/css/components/toolbar-menu.pcss.css
@@ -55,7 +55,7 @@
text-align: start;
text-decoration: none;
letter-spacing: var(--admin-toolbar-letter-spacing-0-06);
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--admin-toolbar-color-gray-800);
border: none;
background-color: transparent;
@@ -150,7 +150,7 @@
rotate: -90deg;
[dir="rtl"] & {
- rotate: 0;
+ rotate: none;
}
}
}
diff --git a/core/modules/navigation/css/components/toolbar-message.css b/core/modules/navigation/css/components/toolbar-message.css
index 11b50e9459be..8a852a0fc703 100644
--- a/core/modules/navigation/css/components/toolbar-message.css
+++ b/core/modules/navigation/css/components/toolbar-message.css
@@ -15,7 +15,7 @@
text-align: start;
-webkit-text-decoration: none;
text-decoration: none;
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--admin-toolbar-color-gray-800);
border: 0;
border-radius: var(--admin-toolbar-space-8);
diff --git a/core/modules/navigation/css/components/toolbar-message.pcss.css b/core/modules/navigation/css/components/toolbar-message.pcss.css
index 9689014aab43..9e0f401fb4a5 100644
--- a/core/modules/navigation/css/components/toolbar-message.pcss.css
+++ b/core/modules/navigation/css/components/toolbar-message.pcss.css
@@ -7,7 +7,7 @@
cursor: pointer;
text-align: start;
text-decoration: none;
- word-break: break-word;
+ overflow-wrap: break-word;
color: var(--admin-toolbar-color-gray-800);
border: 0;
border-radius: var(--admin-toolbar-space-8);
diff --git a/core/modules/navigation/css/components/toolbar-popover.css b/core/modules/navigation/css/components/toolbar-popover.css
index 76f587a325e6..532e873d96e6 100644
--- a/core/modules/navigation/css/components/toolbar-popover.css
+++ b/core/modules/navigation/css/components/toolbar-popover.css
@@ -48,9 +48,9 @@
padding-block-start: var(--admin-toolbar-space-16);
transform: translateX(0);
box-shadow:
- 0 0 72px rgba(0, 0, 0, 0.2),
- 0 0 8px rgba(0, 0, 0, 0.04),
- 0 0 40px rgba(0, 0, 0, 0.06);
+ 0 0 72px rgb(0, 0, 0, 0.2),
+ 0 0 8px rgb(0, 0, 0, 0.04),
+ 0 0 40px rgb(0, 0, 0, 0.06);
inline-size: var(--admin-toolbar-popover-width);
inset-block-start: var(--drupal-displace-offset-top, 0);
inset-inline-start: 1px;
diff --git a/core/modules/navigation/css/components/toolbar-popover.pcss.css b/core/modules/navigation/css/components/toolbar-popover.pcss.css
index 6a8b2a019c24..a12ebe955edb 100644
--- a/core/modules/navigation/css/components/toolbar-popover.pcss.css
+++ b/core/modules/navigation/css/components/toolbar-popover.pcss.css
@@ -47,9 +47,9 @@
padding-block-start: var(--admin-toolbar-space-16);
transform: translateX(0);
box-shadow:
- 0 0 72px rgba(0, 0, 0, 0.2),
- 0 0 8px rgba(0, 0, 0, 0.04),
- 0 0 40px rgba(0, 0, 0, 0.06);
+ 0 0 72px rgb(0, 0, 0, 0.2),
+ 0 0 8px rgb(0, 0, 0, 0.04),
+ 0 0 40px rgb(0, 0, 0, 0.06);
inline-size: var(--admin-toolbar-popover-width);
inset-block-start: var(--drupal-displace-offset-top, 0);
inset-inline-start: 1px;
diff --git a/core/modules/navigation/css/components/top-bar.css b/core/modules/navigation/css/components/top-bar.css
index 65a489cd78b7..134b0a506c75 100644
--- a/core/modules/navigation/css/components/top-bar.css
+++ b/core/modules/navigation/css/components/top-bar.css
@@ -22,7 +22,7 @@
.top-bar {
block-size: var(--admin-toolbar-top-bar-height);
position: fixed;
- inset-block-start: var(--drupal-displace-offset-top, 0);
+ inset-block-start: 0;
inset-inline-start: 0;
width: 100vw;
padding-block: var(--admin-toolbar-space-12);
diff --git a/core/modules/navigation/css/components/top-bar.pcss.css b/core/modules/navigation/css/components/top-bar.pcss.css
index b55604dfa569..0a34a4b17dae 100644
--- a/core/modules/navigation/css/components/top-bar.pcss.css
+++ b/core/modules/navigation/css/components/top-bar.pcss.css
@@ -18,7 +18,7 @@
@media (--admin-toolbar-desktop) {
block-size: var(--admin-toolbar-top-bar-height);
position: fixed;
- inset-block-start: var(--drupal-displace-offset-top, 0);
+ inset-block-start: 0;
inset-inline-start: 0;
width: 100vw;
padding-block: var(--admin-toolbar-space-12);
diff --git a/core/modules/navigation/js/admin-toolbar-wrapper.js b/core/modules/navigation/js/admin-toolbar-wrapper.js
index c9e2ecb9cae9..6c32da0b6f6c 100644
--- a/core/modules/navigation/js/admin-toolbar-wrapper.js
+++ b/core/modules/navigation/js/admin-toolbar-wrapper.js
@@ -81,31 +81,35 @@
Drupal.displace(true);
});
-
- /**
- * Initialize Drupal.displace()
- *
- * We add the displace attribute to a separate full width element because we
- * don't want this element to have transitions. Note that this element and the
- * navbar share the same exact width.
- */
- const initDisplace = () => {
- const displaceElement = doc
- .querySelector('.admin-toolbar')
- ?.querySelector('.admin-toolbar__displace-placeholder');
- const edge = document.documentElement.dir === 'rtl' ? 'right' : 'left';
- displaceElement?.setAttribute(`data-offset-${edge}`, '');
- Drupal.displace(true);
- };
-
- initDisplace();
}
+ /**
+ * Initialize Drupal.displace()
+ *
+ * We add the displace attribute to a separate full width element because we
+ * don't want this element to have transitions. Note that this element and the
+ * navbar share the same exact width.
+ *
+ * @param {HTMLElement} el - The admin toolbar wrapper.
+ */
+ const initDisplace = (el) => {
+ const displaceElement = el.querySelector(
+ '.admin-toolbar__displace-placeholder',
+ );
+ const edge = document.documentElement.dir === 'rtl' ? 'right' : 'left';
+ displaceElement?.setAttribute(`data-offset-${edge}`, '');
+ Drupal.displace(true);
+ };
+
// Any triggers on page. Inside or outside sidebar.
// For now button in sidebar + mobile header and background.
Drupal.behaviors.navigationProcessToolbarTriggers = {
attach: (context) => {
+ once('navigation-displace', '.admin-toolbar', context).forEach(
+ initDisplace,
+ );
+
const triggers = once(
'admin-toolbar-trigger',
'[aria-controls="admin-toolbar"]',
diff --git a/core/modules/navigation/src/Hook/NavigationHooks.php b/core/modules/navigation/src/Hook/NavigationHooks.php
index ed4eb8283668..540a2659af53 100644
--- a/core/modules/navigation/src/Hook/NavigationHooks.php
+++ b/core/modules/navigation/src/Hook/NavigationHooks.php
@@ -62,7 +62,7 @@ class NavigationHooks {
$output = '';
$output .= '<h3>' . $this->t('About') . '</h3>';
$output .= '<p>' . $this->t('The Navigation module provides a left-aligned, collapsible, vertical sidebar navigation.') . '</p>';
- $output .= '<p>' . $this->t('For more information, see the <a href=":docs">online documentation for the Navigation module</a>.', [':docs' => 'https://www.drupal.org/project/navigation']) . '</p>';
+ $output .= '<p>' . $this->t('For more information, see the <a href=":docs">online documentation for the Navigation module</a>.', [':docs' => 'https://www.drupal.org/docs/develop/core-modules-and-themes/core-modules/navigation-module']) . '</p>';
return $output;
}
$configuration_route = 'layout_builder.navigation.';
diff --git a/core/modules/navigation/src/WorkspacesLazyBuilder.php b/core/modules/navigation/src/WorkspacesLazyBuilder.php
index 3134fa4745ed..146f7d83dc9b 100644
--- a/core/modules/navigation/src/WorkspacesLazyBuilder.php
+++ b/core/modules/navigation/src/WorkspacesLazyBuilder.php
@@ -59,6 +59,9 @@ final class WorkspacesLazyBuilder {
'title' => $active_workspace ? $active_workspace->label() : $this->t('Live'),
'url' => $url,
'class' => 'workspaces',
+ 'icon' => [
+ 'icon_id' => 'workspaces',
+ ],
],
],
'#attached' => [
diff --git a/core/modules/navigation/templates/top-bar.html.twig b/core/modules/navigation/templates/top-bar.html.twig
index 6efdeed523f9..319f97f67478 100644
--- a/core/modules/navigation/templates/top-bar.html.twig
+++ b/core/modules/navigation/templates/top-bar.html.twig
@@ -13,17 +13,19 @@
*/
#}
{% set attributes = create_attribute() %}
-<aside {{ attributes.addClass('top-bar').setAttribute('data-drupal-admin-styles', '').setAttribute('aria-labelledby', 'top-bar__title') }}>
- <h3 id="top-bar__title" class="visually-hidden">{{ 'Administrative top bar'|t }}</h3>
- <div class="top-bar__content">
- <div class="top-bar__tools">
- {{- tools -}}
+{% if tools or context|render or actions|render %}
+ <aside {{ attributes.addClass('top-bar').setAttribute('data-drupal-admin-styles', '').setAttribute('aria-labelledby', 'top-bar__title').setAttribute('data-offset-top', true) }}>
+ <h3 id="top-bar__title" class="visually-hidden">{{ 'Administrative top bar'|t }}</h3>
+ <div class="top-bar__content">
+ <div class="top-bar__tools">
+ {{- tools -}}
+ </div>
+ <div class="top-bar__context">
+ {{- context -}}
+ </div>
+ <div class="top-bar__actions">
+ {{- actions -}}
+ </div>
</div>
- <div class="top-bar__context">
- {{- context -}}
- </div>
- <div class="top-bar__actions">
- {{- actions -}}
- </div>
- </div>
-</aside>
+ </aside>
+{% endif %}
diff --git a/core/modules/navigation/tests/src/Functional/NavigationWorkspacesUiTest.php b/core/modules/navigation/tests/src/Functional/NavigationWorkspacesUiTest.php
new file mode 100644
index 000000000000..48de404b65ae
--- /dev/null
+++ b/core/modules/navigation/tests/src/Functional/NavigationWorkspacesUiTest.php
@@ -0,0 +1,49 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Drupal\Tests\navigation\Functional;
+
+use Drupal\Tests\BrowserTestBase;
+
+/**
+ * Tests for \Drupal\navigation\WorkspacesLazyBuilder.
+ *
+ * @group navigation
+ */
+class NavigationWorkspacesUiTest extends BrowserTestBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ protected static $modules = ['navigation', 'workspaces_ui'];
+
+ /**
+ * {@inheritdoc}
+ */
+ protected $defaultTheme = 'stark';
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function setUp(): void {
+ parent::setUp();
+
+ $admin_user = $this->drupalCreateUser([
+ 'access navigation',
+ 'administer workspaces',
+ ]);
+ $this->drupalLogin($admin_user);
+ }
+
+ /**
+ * Tests the Workspaces button in the navigation bar.
+ */
+ public function testWorkspacesNavigationButton(): void {
+ $this->drupalGet('<front>');
+ $this->assertSession()->statusCodeEquals(200);
+ $this->assertSession()->elementAttributeContains('css', 'a.toolbar-button--icon--workspaces svg', 'width', '20');
+ $this->assertSession()->elementAttributeContains('css', 'a.toolbar-button--icon--workspaces svg', 'class', 'toolbar-button__icon');
+ }
+
+}
diff --git a/core/modules/navigation/tests/src/Nightwatch/Tests/navigationDisplaceTest.js b/core/modules/navigation/tests/src/Nightwatch/Tests/navigationDisplaceTest.js
new file mode 100644
index 000000000000..ce9acfacc514
--- /dev/null
+++ b/core/modules/navigation/tests/src/Nightwatch/Tests/navigationDisplaceTest.js
@@ -0,0 +1,26 @@
+/**
+ * Verify that Drupal.displace() attribute is properly added by JavaScript.
+ */
+module.exports = {
+ '@tags': ['core', 'navigation'],
+ browser(browser) {
+ browser
+ .drupalInstall()
+ .drupalInstallModule('navigation', true)
+ .drupalInstallModule('big_pipe')
+ .setWindowSize(1220, 800);
+ },
+ after(browser) {
+ browser.drupalUninstall();
+ },
+
+ 'Verify displace attribute': (browser) => {
+ browser.drupalLoginAsAdmin(() => {
+ browser
+ .drupalRelativeURL('/admin/')
+ .waitForElementPresent(
+ '.admin-toolbar__displace-placeholder[data-offset-left]',
+ );
+ });
+ },
+};
diff --git a/core/modules/package_manager/package_manager.services.yml b/core/modules/package_manager/package_manager.services.yml
index d7bbaf94820c..059be5542701 100644
--- a/core/modules/package_manager/package_manager.services.yml
+++ b/core/modules/package_manager/package_manager.services.yml
@@ -203,8 +203,15 @@ services:
class: PhpTuf\ComposerStager\Internal\Translation\Service\SymfonyTranslatorProxy
public: false
- Drupal\package_manager\DirectWritePreconditionBypass:
+ package_manager.direct_write_precondition.directories:
+ class: Drupal\package_manager\DirectWritePreconditionBypass
decorates: 'PhpTuf\ComposerStager\API\Precondition\Service\ActiveAndStagingDirsAreDifferentInterface'
arguments:
- '@.inner'
public: false
+ package_manager.direct_write_precondition.rsync:
+ class: Drupal\package_manager\DirectWritePreconditionBypass
+ decorates: 'PhpTuf\ComposerStager\API\Precondition\Service\RsyncIsAvailableInterface'
+ arguments:
+ - '@.inner'
+ public: false
diff --git a/core/modules/package_manager/src/DirectWritePreconditionBypass.php b/core/modules/package_manager/src/DirectWritePreconditionBypass.php
index ba456d270d7f..ef346b0ae254 100644
--- a/core/modules/package_manager/src/DirectWritePreconditionBypass.php
+++ b/core/modules/package_manager/src/DirectWritePreconditionBypass.php
@@ -8,6 +8,7 @@ use Drupal\Core\StringTranslation\StringTranslationTrait;
use PhpTuf\ComposerStager\API\Path\Value\PathInterface;
use PhpTuf\ComposerStager\API\Path\Value\PathListInterface;
use PhpTuf\ComposerStager\API\Precondition\Service\ActiveAndStagingDirsAreDifferentInterface;
+use PhpTuf\ComposerStager\API\Precondition\Service\RsyncIsAvailableInterface;
use PhpTuf\ComposerStager\API\Process\Service\ProcessInterface;
use PhpTuf\ComposerStager\API\Translation\Value\TranslatableInterface;
@@ -22,7 +23,7 @@ use PhpTuf\ComposerStager\API\Translation\Value\TranslatableInterface;
* at any time without warning. External code should not interact with this
* class.
*/
-final class DirectWritePreconditionBypass implements ActiveAndStagingDirsAreDifferentInterface {
+final class DirectWritePreconditionBypass implements ActiveAndStagingDirsAreDifferentInterface, RsyncIsAvailableInterface {
use StringTranslationTrait;
@@ -34,7 +35,7 @@ final class DirectWritePreconditionBypass implements ActiveAndStagingDirsAreDiff
private static bool $isBypassed = FALSE;
public function __construct(
- private readonly ActiveAndStagingDirsAreDifferentInterface $decorated,
+ private readonly ActiveAndStagingDirsAreDifferentInterface|RsyncIsAvailableInterface $decorated,
) {}
/**
diff --git a/core/modules/package_manager/tests/src/Kernel/DirectWriteTest.php b/core/modules/package_manager/tests/src/Kernel/DirectWriteTest.php
index 3208fddbbf43..8c34ae002732 100644
--- a/core/modules/package_manager/tests/src/Kernel/DirectWriteTest.php
+++ b/core/modules/package_manager/tests/src/Kernel/DirectWriteTest.php
@@ -18,12 +18,14 @@ use Drupal\package_manager\StatusCheckTrait;
use Drupal\package_manager\ValidationResult;
use PhpTuf\ComposerStager\API\Core\BeginnerInterface;
use PhpTuf\ComposerStager\API\Core\CommitterInterface;
+use PhpTuf\ComposerStager\API\Path\Factory\PathFactoryInterface;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
/**
* @covers \Drupal\package_manager\EventSubscriber\DirectWriteSubscriber
* @covers \Drupal\package_manager\SandboxManagerBase::isDirectWrite
+ * @covers \Drupal\package_manager\DirectWritePreconditionBypass
*
* @group package_manager
*/
@@ -231,4 +233,40 @@ class DirectWriteTest extends PackageManagerKernelTestBase implements EventSubsc
$this->assertFalse($sandbox_manager->isDirectWrite());
}
+ /**
+ * Tests that direct-write bypasses certain Composer Stager preconditions.
+ *
+ * @param class-string $service_class
+ * The class name of the precondition service.
+ *
+ * @testWith ["PhpTuf\\ComposerStager\\API\\Precondition\\Service\\ActiveAndStagingDirsAreDifferentInterface"]
+ * ["PhpTuf\\ComposerStager\\API\\Precondition\\Service\\RsyncIsAvailableInterface"]
+ */
+ public function testPreconditionBypass(string $service_class): void {
+ // Set up conditions where the active and sandbox directories are the same,
+ // and the path to rsync isn't valid.
+ $path = $this->container->get(PathFactoryInterface::class)
+ ->create('/the/absolute/apex');
+ $this->config('package_manager.settings')
+ ->set('executables.rsync', "C:\Not Rsync.exe")
+ ->save();
+
+ /** @var \PhpTuf\ComposerStager\API\Precondition\Service\PreconditionInterface $precondition */
+ $precondition = $this->container->get($service_class);
+ // The precondition should be unfulfilled.
+ $this->assertFalse($precondition->isFulfilled($path, $path));
+
+ // Initializing a sandbox manager with direct-write support should bypass
+ // the precondition.
+ $this->setSetting('package_manager_allow_direct_write', TRUE);
+ $sandbox_manager = $this->createStage(TestDirectWriteSandboxManager::class);
+ $sandbox_manager->create();
+ $this->assertTrue($sandbox_manager->isDirectWrite());
+
+ // The precondition should be fulfilled, and clear that it's because we're
+ // in direct-write mode.
+ $this->assertTrue($precondition->isFulfilled($path, $path));
+ $this->assertSame('This precondition has been skipped because it is not needed in direct-write mode.', (string) $precondition->getStatusMessage($path, $path));
+ }
+
}
diff --git a/core/modules/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php b/core/modules/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
index 2e9a0977fa36..90348cdfdd3c 100644
--- a/core/modules/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
+++ b/core/modules/package_manager/tests/src/Kernel/SupportedReleaseValidatorTest.php
@@ -13,6 +13,7 @@ use Drupal\Tests\package_manager\Traits\FixtureUtilityTrait;
* @coversDefaultClass \Drupal\package_manager\Validator\SupportedReleaseValidator
* @group #slow
* @group package_manager
+ * @group #slow
* @internal
*/
class SupportedReleaseValidatorTest extends PackageManagerKernelTestBase {
diff --git a/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php b/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php
index be5d811fe543..d5cc9759ab18 100644
--- a/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php
+++ b/core/modules/path/tests/src/Kernel/Migrate/d6/MigrateUrlAliasTest.php
@@ -13,7 +13,6 @@ use Drupal\Tests\Traits\Core\PathAliasTestTrait;
/**
* URL alias migration.
*
- * @group #slow
* @group migrate_drupal_6
*/
class MigrateUrlAliasTest extends MigrateDrupal6TestBase {
diff --git a/core/modules/settings_tray/css/settings_tray.theme.css b/core/modules/settings_tray/css/settings_tray.theme.css
index 9363baad5ecb..28070a0f7273 100644
--- a/core/modules/settings_tray/css/settings_tray.theme.css
+++ b/core/modules/settings_tray/css/settings_tray.theme.css
@@ -61,10 +61,10 @@
/* Style the editables while in edit mode. */
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable {
- outline: 1px dashed rgba(0, 0, 0, 0.5);
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7);
+ outline: 1px dashed rgb(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 1px rgb(255, 255, 255, 0.7);
}
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable:hover,
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable.settings-tray-active-editable {
- background-color: rgba(0, 0, 0, 0.2);
+ background-color: rgb(0, 0, 0, 0.2);
}
diff --git a/core/modules/settings_tray/css/settings_tray.toolbar.css b/core/modules/settings_tray/css/settings_tray.toolbar.css
index 61b1fa268282..5655111787ce 100644
--- a/core/modules/settings_tray/css/settings_tray.toolbar.css
+++ b/core/modules/settings_tray/css/settings_tray.toolbar.css
@@ -23,7 +23,7 @@
color: #eee;
background-color: #0066a1;
background-image: linear-gradient(to bottom, #0066a1, #005b98);
- text-shadow: 0 1px hsla(0, 0%, 0%, 0.5);
+ text-shadow: 0 1px hsl(0, 0%, 0%, 0.5);
font-weight: 700;
-webkit-font-smoothing: antialiased;
}
@@ -31,7 +31,7 @@
color: #fff;
background-color: #0a7bc1;
background-image: linear-gradient(to bottom, #0a7bc1, #0a6eb4);
- text-shadow: 0 1px hsla(0, 0%, 0%, 0.5);
+ text-shadow: 0 1px hsl(0, 0%, 0%, 0.5);
font-weight: 700;
-webkit-font-smoothing: antialiased;
}
diff --git a/core/modules/shortcut/css/shortcut.theme.css b/core/modules/shortcut/css/shortcut.theme.css
index d7a5fa146f71..d98e6f1864b3 100644
--- a/core/modules/shortcut/css/shortcut.theme.css
+++ b/core/modules/shortcut/css/shortcut.theme.css
@@ -43,7 +43,7 @@
color: #fff;
border-radius: 5px;
background: #000;
- background: rgba(0, 0, 0, 0.5);
+ background: rgb(0, 0, 0, 0.5);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
diff --git a/core/modules/system/css/components/system-status-report-counters.css b/core/modules/system/css/components/system-status-report-counters.css
index 7040c257a0f2..54ffabe5fc1c 100644
--- a/core/modules/system/css/components/system-status-report-counters.css
+++ b/core/modules/system/css/components/system-status-report-counters.css
@@ -9,7 +9,7 @@
padding: 0.5em 0;
text-align: center;
white-space: nowrap;
- background-color: rgba(0, 0, 0, 0.063);
+ background-color: rgb(0, 0, 0, 0.063);
}
@media screen and (min-width: 60em) {
diff --git a/core/modules/system/tests/modules/module_test/module_test.file.inc b/core/modules/system/tests/modules/module_test/module_test.file.inc
index c0cee6f1905e..5ba5f5614ca7 100644
--- a/core/modules/system/tests/modules/module_test/module_test.file.inc
+++ b/core/modules/system/tests/modules/module_test/module_test.file.inc
@@ -16,3 +16,17 @@ declare(strict_types=1);
function module_test_test_hook(): array {
return ['module_test' => 'success!'];
}
+
+/**
+ * Implements hook_test_reset_implementations_hook().
+ */
+function module_test_test_reset_implementations_hook(): string {
+ return __FUNCTION__;
+}
+
+/**
+ * Implements hook_test_reset_implementations_alter().
+ */
+function module_test_test_reset_implementations_alter(array &$data): void {
+ $data[] = __FUNCTION__;
+}
diff --git a/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.component.yml b/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.component.yml
index 195903e9ee74..0c89a0740a6b 100644
--- a/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.component.yml
+++ b/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.component.yml
@@ -29,6 +29,10 @@ props:
enum:
- ''
- _blank
+ meta:enum:
+ '': 'Open in same window'
+ _blank: 'Open in a new window'
+ x-translation-context: Banner link target
image:
title: Media Image
description: Background image for the banner.
diff --git a/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.twig b/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.twig
index c99fead737ad..2bd75f35382b 100644
--- a/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.twig
+++ b/core/modules/system/tests/modules/sdc_test/components/my-banner/my-banner.twig
@@ -7,6 +7,7 @@
<div {{ attributes }}>
<div class="component--my-banner--header">
<h3>{{ heading }}</h3>
+ <p>CTA target selected value: {{ componentMetadata.meta.properties.ctaTarget[ctaTarget] }}</p>
{% include 'sdc_test:my-cta' with { text: ctaText, href: ctaHref, target: ctaTarget } only %}
</div>
<div class="component--my-banner--body">
diff --git a/core/modules/system/tests/modules/sdc_test/components/my-button/my-button.component.yml b/core/modules/system/tests/modules/sdc_test/components/my-button/my-button.component.yml
index 65b3c472096b..d0d4f8c73b46 100644
--- a/core/modules/system/tests/modules/sdc_test/components/my-button/my-button.component.yml
+++ b/core/modules/system/tests/modules/sdc_test/components/my-button/my-button.component.yml
@@ -24,3 +24,7 @@ props:
- power
- like
- external
+ meta:enum:
+ power: 'Power'
+ like: 'Like'
+ external: 'External'
diff --git a/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.component.yml b/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.component.yml
index 889dfe885205..6d16be49cf74 100644
--- a/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.component.yml
+++ b/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.component.yml
@@ -17,12 +17,23 @@ props:
type: string
title: URL
format: uri
+ examples:
+ - https://drupal.org
target:
type: string
title: Target
+ description: The target for opening the link.
enum:
- ''
- - _blank
+ - '_blank'
+ meta:enum:
+ '': 'Open in same window'
+ _blank: 'Open in a new window'
+ x-translation-context: CTA link target
+ default: ''
+ examples:
+ - ''
+ - '_blank'
attributes:
type: Drupal\Core\Template\Attribute
name: Attributes
diff --git a/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.twig b/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.twig
index e1a326ccf078..afc40f7bd546 100644
--- a/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.twig
+++ b/core/modules/system/tests/modules/sdc_test/components/my-cta/my-cta.twig
@@ -6,5 +6,5 @@
{% endif %}
<a {{ attributes }} href="{{ href }}">
- {{ text }}
+ {{ text }} ({{ componentMetadata.meta.properties.target[target] }})
</a>
diff --git a/core/modules/system/tests/modules/sdc_test_replacements/components/my-button/my-button.component.yml b/core/modules/system/tests/modules/sdc_test_replacements/components/my-button/my-button.component.yml
index b87f1180111e..053387cf9c4f 100644
--- a/core/modules/system/tests/modules/sdc_test_replacements/components/my-button/my-button.component.yml
+++ b/core/modules/system/tests/modules/sdc_test_replacements/components/my-button/my-button.component.yml
@@ -24,3 +24,7 @@ props:
- power
- like
- external
+ meta:enum:
+ power: 'Power'
+ like: 'Like'
+ external: 'External'
diff --git a/core/modules/system/tests/src/Kernel/DateFormatAccessControlHandlerTest.php b/core/modules/system/tests/src/Kernel/DateFormatAccessControlHandlerTest.php
index 82d866e985e4..6c8c42da59e8 100644
--- a/core/modules/system/tests/src/Kernel/DateFormatAccessControlHandlerTest.php
+++ b/core/modules/system/tests/src/Kernel/DateFormatAccessControlHandlerTest.php
@@ -77,8 +77,6 @@ class DateFormatAccessControlHandlerTest extends KernelTestBase {
* An array of test cases.
*/
public static function providerTestAccess(): array {
- $originalContainer = \Drupal::hasContainer() ? \Drupal::getContainer() : NULL;
-
$c = new ContainerBuilder();
$cache_contexts_manager = (new Prophet())->prophesize(CacheContextsManager::class);
$cache_contexts_manager->assertValidTokens()->willReturn(TRUE);
@@ -86,7 +84,7 @@ class DateFormatAccessControlHandlerTest extends KernelTestBase {
$c->set('cache_contexts_manager', $cache_contexts_manager);
\Drupal::setContainer($c);
- $data = [
+ return [
'No permission + unlocked' => [
[],
'unlocked',
@@ -124,13 +122,6 @@ class DateFormatAccessControlHandlerTest extends KernelTestBase {
AccessResult::allowed()->addCacheContexts(['user.permissions']),
],
];
-
- // Restore the original container if needed.
- if ($originalContainer) {
- \Drupal::setContainer($originalContainer);
- }
-
- return $data;
}
}
diff --git a/core/modules/system/tests/src/Kernel/System/CronQueueTest.php b/core/modules/system/tests/src/Kernel/System/CronQueueTest.php
index 96a02f8f1644..069a26c3eb5f 100644
--- a/core/modules/system/tests/src/Kernel/System/CronQueueTest.php
+++ b/core/modules/system/tests/src/Kernel/System/CronQueueTest.php
@@ -70,7 +70,6 @@ class CronQueueTest extends KernelTestBase {
parent::setUp();
$this->connection = Database::getConnection();
- $this->cron = \Drupal::service('cron');
$time = $this->prophesize('Drupal\Component\Datetime\TimeInterface');
$time->getCurrentTime()->willReturn($this->currentTime);
@@ -91,6 +90,8 @@ class CronQueueTest extends KernelTestBase {
});
$this->container->set('queue', $queue_factory->reveal());
+ // Instantiate the `cron` service after the mock queue factory is set.
+ $this->cron = \Drupal::service('cron');
}
/**
diff --git a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php
index 511778daf200..1d9654dd5050 100644
--- a/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php
+++ b/core/modules/taxonomy/tests/src/Kernel/Migrate/d6/MigrateTermNodeTest.php
@@ -10,7 +10,6 @@ use Drupal\node\Entity\Node;
/**
* Upgrade taxonomy term node associations.
*
- * @group #slow
* @group migrate_drupal_6
*/
class MigrateTermNodeTest extends MigrateDrupal6TestBase {
diff --git a/core/modules/toolbar/css/toolbar.theme.css b/core/modules/toolbar/css/toolbar.theme.css
index ea108f658098..d6def4739400 100644
--- a/core/modules/toolbar/css/toolbar.theme.css
+++ b/core/modules/toolbar/css/toolbar.theme.css
@@ -5,10 +5,10 @@
font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
/* Set base font size to 13px based on root ems. */
font-size: 0.8125rem;
- -moz-tap-highlight-color: rgba(0, 0, 0, 0);
- -o-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-tap-highlight-color: rgb(0, 0, 0, 0);
+ -o-tap-highlight-color: rgb(0, 0, 0, 0);
+ -webkit-tap-highlight-color: rgb(0, 0, 0, 0);
+ tap-highlight-color: rgb(0, 0, 0, 0);
-moz-touch-callout: none;
-o-touch-callout: none;
-webkit-touch-callout: none;
@@ -31,10 +31,10 @@
.toolbar .toolbar-bar {
color: #ddd;
background-color: #0f0f0f;
- box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-bar {
- box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-bar .toolbar-item {
color: #fff;
@@ -44,7 +44,7 @@
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:hover,
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus {
- background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+ background-image: linear-gradient(rgb(255, 255, 255, 0.125) 20%, transparent 200%);
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active {
color: #000;
@@ -68,19 +68,19 @@
.toolbar .toolbar-tray-vertical {
border-right: 1px solid #aaa; /* LTR */
background-color: #f5f5f5;
- box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 5px 2px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-tray-vertical {
border-right: 0 none;
border-left: 1px solid #aaa;
- box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 5px 2px rgb(0, 0, 0, 0.3333);
}
.toolbar-horizontal .toolbar-tray {
border-bottom: 1px solid #aaa;
- box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -2px 1px 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar-horizontal .toolbar-tray {
- box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 2px 1px 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-tray-horizontal .toolbar-tray {
background-color: #f5f5f5;
diff --git a/core/modules/views_ui/css/views_ui.admin.theme.css b/core/modules/views_ui/css/views_ui.admin.theme.css
index 529e8fa77c63..554d5044cb79 100644
--- a/core/modules/views_ui/css/views_ui.admin.theme.css
+++ b/core/modules/views_ui/css/views_ui.admin.theme.css
@@ -39,11 +39,11 @@
background:
linear-gradient(-90deg, #fff 0, #e8e8e8 100%) no-repeat,
repeat-y;
- box-shadow: 0 0 0 rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 0 rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:hover {
border-color: #d0d0d0;
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 1px rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:active {
border-color: #c0c0c0;
diff --git a/core/modules/workflows/tests/src/Kernel/WorkflowAccessControlHandlerTest.php b/core/modules/workflows/tests/src/Kernel/WorkflowAccessControlHandlerTest.php
index 180edc868f60..e46fbcf417bf 100644
--- a/core/modules/workflows/tests/src/Kernel/WorkflowAccessControlHandlerTest.php
+++ b/core/modules/workflows/tests/src/Kernel/WorkflowAccessControlHandlerTest.php
@@ -124,8 +124,6 @@ class WorkflowAccessControlHandlerTest extends KernelTestBase {
* An array of test data.
*/
public static function checkAccessProvider() {
- $originalContainer = \Drupal::hasContainer() ? \Drupal::getContainer() : NULL;
-
$container = new ContainerBuilder();
$cache_contexts_manager = (new Prophet())->prophesize(CacheContextsManager::class);
$cache_contexts_manager->assertValidTokens()->willReturn(TRUE);
@@ -133,7 +131,7 @@ class WorkflowAccessControlHandlerTest extends KernelTestBase {
$container->set('cache_contexts_manager', $cache_contexts_manager);
\Drupal::setContainer($container);
- $data = [
+ return [
'Admin view' => [
'adminUser',
'view',
@@ -277,13 +275,6 @@ class WorkflowAccessControlHandlerTest extends KernelTestBase {
AccessResult::allowed()->addCacheContexts(['user.permissions']),
],
];
-
- // Restore the original container if needed.
- if ($originalContainer) {
- \Drupal::setContainer($originalContainer);
- }
-
- return $data;
}
}
diff --git a/core/modules/workspaces/css/workspaces.toolbar.pcss.css b/core/modules/workspaces/css/workspaces.toolbar.pcss.css
index 84b3fa8f986f..a603d53949cd 100644
--- a/core/modules/workspaces/css/workspaces.toolbar.pcss.css
+++ b/core/modules/workspaces/css/workspaces.toolbar.pcss.css
@@ -52,7 +52,7 @@
text-align: start;
color: inherit;
- @nest .toolbar-oriented & {
+ .toolbar-oriented & {
width: auto;
text-align: initial;
}
diff --git a/core/modules/workspaces/src/Controller/WorkspacesHtmlEntityFormController.php b/core/modules/workspaces/src/Controller/WorkspacesHtmlEntityFormController.php
index 6f9d6d5b6563..aa5aa49f9d20 100644
--- a/core/modules/workspaces/src/Controller/WorkspacesHtmlEntityFormController.php
+++ b/core/modules/workspaces/src/Controller/WorkspacesHtmlEntityFormController.php
@@ -35,11 +35,16 @@ class WorkspacesHtmlEntityFormController extends FormController {
*/
public function getContentResult(Request $request, RouteMatchInterface $route_match): array {
$form_arg = $this->getFormArgument($route_match);
- $form_object = $this->getFormObject($route_match, $form_arg);
+ // If no operation is provided, use 'default'.
+ $form_arg .= '.default';
+ [$entity_type_id, $operation] = explode('.', $form_arg);
- /** @var \Drupal\Core\Entity\EntityInterface $entity */
- $entity = $form_object->getEntity();
- if ($this->workspaceInfo->isEntitySupported($entity)) {
+ if ($route_match->getRawParameter($entity_type_id) !== NULL) {
+ /** @var \Drupal\Core\Entity\EntityInterface $entity */
+ $entity = $route_match->getParameter($entity_type_id);
+ }
+
+ if (isset($entity) && $this->workspaceInfo->isEntitySupported($entity)) {
$active_workspace = $this->workspaceManager->getActiveWorkspace();
// Prepare a minimal render array in case we need to return it.
@@ -48,7 +53,7 @@ class WorkspacesHtmlEntityFormController extends FormController {
$build['#cache']['max-age'] = $entity->getCacheMaxAge();
// Prevent entities from being edited if they're tracked in workspace.
- if ($form_object->getOperation() !== 'delete') {
+ if ($operation !== 'delete') {
$constraints = array_values(array_filter($entity->getTypedData()->getConstraints(), function ($constraint) {
return $constraint instanceof EntityWorkspaceConflictConstraint;
}));
@@ -68,7 +73,7 @@ class WorkspacesHtmlEntityFormController extends FormController {
// Prevent entities from being deleted in a workspace if they have a
// published default revision.
- if ($form_object->getOperation() === 'delete' && $active_workspace && !$this->workspaceInfo->isEntityDeletable($entity, $active_workspace)) {
+ if ($operation === 'delete' && $active_workspace && !$this->workspaceInfo->isEntityDeletable($entity, $active_workspace)) {
$build['#markup'] = $this->t('This @entity_type_label can only be deleted in the Live workspace.', [
'@entity_type_label' => $entity->getEntityType()->getSingularLabel(),
]);
diff --git a/core/modules/workspaces/tests/modules/workspaces_test/src/Hook/WorkspacesTestHooks.php b/core/modules/workspaces/tests/modules/workspaces_test/src/Hook/WorkspacesTestHooks.php
index d452d343ca3d..d5d64ca55495 100644
--- a/core/modules/workspaces/tests/modules/workspaces_test/src/Hook/WorkspacesTestHooks.php
+++ b/core/modules/workspaces/tests/modules/workspaces_test/src/Hook/WorkspacesTestHooks.php
@@ -4,13 +4,21 @@ declare(strict_types=1);
namespace Drupal\workspaces_test\Hook;
+use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Hook\Attribute\Hook;
+use Drupal\Core\KeyValueStore\KeyValueFactoryInterface;
+use Symfony\Component\DependencyInjection\Attribute\Autowire;
/**
* Hook implementations for workspaces_test.
*/
class WorkspacesTestHooks {
+ public function __construct(
+ #[Autowire(service: 'keyvalue')]
+ protected readonly KeyValueFactoryInterface $keyValueFactory,
+ ) {}
+
/**
* Implements hook_entity_type_alter().
*/
@@ -31,7 +39,53 @@ class WorkspacesTestHooks {
public function entityTranslationCreate(): void {
/** @var \Drupal\workspaces\WorkspaceManagerInterface $workspace_manager */
$workspace_manager = \Drupal::service('workspaces.manager');
- \Drupal::keyValue('ws_test')->set('workspace_was_active', $workspace_manager->hasActiveWorkspace());
+ $this->keyValueFactory->get('ws_test')->set('workspace_was_active', $workspace_manager->hasActiveWorkspace());
+ }
+
+ /**
+ * Implements hook_entity_create().
+ */
+ #[Hook('entity_create')]
+ public function entityCreate(EntityInterface $entity): void {
+ $this->incrementHookCount('hook_entity_create', $entity);
+ }
+
+ /**
+ * Implements hook_entity_presave().
+ */
+ #[Hook('entity_presave')]
+ public function entityPresave(EntityInterface $entity): void {
+ $this->incrementHookCount('hook_entity_presave', $entity);
+ }
+
+ /**
+ * Implements hook_entity_insert().
+ */
+ #[Hook('entity_insert')]
+ public function entityInsert(EntityInterface $entity): void {
+ $this->incrementHookCount('hook_entity_insert', $entity);
+ }
+
+ /**
+ * Implements hook_entity_update().
+ */
+ #[Hook('entity_update')]
+ public function entityUpdate(EntityInterface $entity): void {
+ $this->incrementHookCount('hook_entity_update', $entity);
+ }
+
+ /**
+ * Increments the invocation count for a specific entity hook.
+ *
+ * @param string $hook_name
+ * The name of the hook being invoked (e.g., 'hook_entity_create').
+ * @param \Drupal\Core\Entity\EntityInterface $entity
+ * The entity object involved in the hook.
+ */
+ protected function incrementHookCount(string $hook_name, EntityInterface $entity): void {
+ $key = $entity->getEntityTypeId() . '.' . $hook_name . '.count';
+ $count = $this->keyValueFactory->get('ws_test')->get($key, 0);
+ $this->keyValueFactory->get('ws_test')->set($key, $count + 1);
}
}
diff --git a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
index c3fe0e722a2e..19007def89d9 100644
--- a/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
+++ b/core/modules/workspaces/tests/src/Functional/PathWorkspacesTest.php
@@ -7,7 +7,6 @@ namespace Drupal\Tests\workspaces\Functional;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\content_translation\Traits\ContentTranslationTestTrait;
use Drupal\Tests\WaitTerminateTestTrait;
-use Drupal\workspaces\Entity\Workspace;
/**
* Tests path aliases with workspaces.
@@ -91,9 +90,8 @@ class PathWorkspacesTest extends BrowserTestBase {
'status' => TRUE,
]);
- // Switch to Stage and create an alias for the node.
- $stage = Workspace::load('stage');
- $this->switchToWorkspace($stage);
+ // Activate a workspace and create an alias for the node.
+ $stage = $this->createAndActivateWorkspaceThroughUi('Stage', 'stage');
$edit = [
'path[0][alias]' => '/' . $this->randomMachineName(),
@@ -131,9 +129,8 @@ class PathWorkspacesTest extends BrowserTestBase {
'status' => TRUE,
]);
- // Switch to Stage and create an alias for the node.
- $stage = Workspace::load('stage');
- $this->switchToWorkspace($stage);
+ // Activate a workspace and create an alias for the node.
+ $stage = $this->createAndActivateWorkspaceThroughUi('Stage', 'stage');
$edit = [
'path[0][alias]' => '/' . $this->randomMachineName(),
@@ -169,7 +166,7 @@ class PathWorkspacesTest extends BrowserTestBase {
* Tests path aliases with workspaces for translatable nodes.
*/
public function testPathAliasesWithTranslation(): void {
- $stage = Workspace::load('stage');
+ $stage = $this->createWorkspaceThroughUi('Stage', 'stage');
// Create one node with a random alias.
$default_node = $this->drupalCreateNode([
diff --git a/core/modules/workspaces/tests/src/Functional/Rest/WorkspaceResourceTestBase.php b/core/modules/workspaces/tests/src/Functional/Rest/WorkspaceResourceTestBase.php
index b998af426b25..3cbddf127d9a 100644
--- a/core/modules/workspaces/tests/src/Functional/Rest/WorkspaceResourceTestBase.php
+++ b/core/modules/workspaces/tests/src/Functional/Rest/WorkspaceResourceTestBase.php
@@ -123,7 +123,7 @@ abstract class WorkspaceResourceTestBase extends EntityResourceTestBase {
],
'revision_id' => [
[
- 'value' => 2,
+ 'value' => 1,
],
],
'parent' => [],
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceCacheContextTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceCacheContextTest.php
index 2109552e7619..9f9dad806f66 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceCacheContextTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceCacheContextTest.php
@@ -66,17 +66,22 @@ class WorkspaceCacheContextTest extends BrowserTestBase {
$cache_bin = $variation_cache_factory->get($build['#cache']['bin']);
$this->assertInstanceOf(\stdClass::class, $cache_bin->get($build['#cache']['keys'], CacheableMetadata::createFromRenderArray($build)));
- // Switch to the 'stage' workspace and check that the correct workspace
- // cache context is used.
+ // Switch to the test workspace and check that the correct workspace cache
+ // context is used.
$test_user = $this->drupalCreateUser(['view any workspace']);
$this->drupalLogin($test_user);
- $stage = Workspace::load('stage');
+ $vultures = Workspace::create([
+ 'id' => 'vultures',
+ 'label' => 'Vultures',
+ ]);
+ $vultures->save();
+
$workspace_manager = \Drupal::service('workspaces.manager');
- $workspace_manager->setActiveWorkspace($stage);
+ $workspace_manager->setActiveWorkspace($vultures);
$cache_context = new WorkspaceCacheContext($workspace_manager);
- $this->assertSame('stage', $cache_context->getContext());
+ $this->assertSame('vultures', $cache_context->getContext());
$build = \Drupal::entityTypeManager()->getViewBuilder('node')->view($node, 'full');
@@ -85,7 +90,7 @@ class WorkspaceCacheContextTest extends BrowserTestBase {
$this->assertContains('workspace', $build['#cache']['contexts']);
$context_tokens = $cache_contexts_manager->convertTokensToKeys($build['#cache']['contexts'])->getKeys();
- $this->assertContains('[workspace]=stage', $context_tokens);
+ $this->assertContains('[workspace]=vultures', $context_tokens);
// Test that a cache entry is created.
$cache_bin = $variation_cache_factory->get($build['#cache']['bin']);
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceEntityDeleteTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceEntityDeleteTest.php
index 165eb6c1d959..25ce72c1af41 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceEntityDeleteTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceEntityDeleteTest.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Drupal\Tests\workspaces\Functional;
use Drupal\Tests\BrowserTestBase;
-use Drupal\workspaces\Entity\Workspace;
/**
* Tests entity deletions with workspaces.
@@ -56,7 +55,7 @@ class WorkspaceEntityDeleteTest extends BrowserTestBase {
$this->drupalLogin($editor);
// Create a Dev workspace as a child of Stage.
- $stage = Workspace::load('stage');
+ $stage = $this->createWorkspaceThroughUi('Stage', 'stage');
$dev = $this->createWorkspaceThroughUi('Dev', 'dev', 'stage');
// Create a published and an unpublished node in Live.
@@ -141,8 +140,7 @@ class WorkspaceEntityDeleteTest extends BrowserTestBase {
// Create a published node in Live.
$published_live = $this->createNodeThroughUi('Test 1 published - live', 'article');
- $stage = Workspace::load('stage');
- $this->switchToWorkspace($stage);
+ $this->createAndActivateWorkspaceThroughUi('Stage', 'stage');
// A user with the 'bypass node access' permission will be able to see the
// 'Delete' operation button, but it shouldn't be able to perform the
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php
index efd3bef34c21..f01c554cea7a 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceFormValidationTest.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Drupal\Tests\workspaces\Functional;
use Drupal\Tests\BrowserTestBase;
-use Drupal\workspaces\Entity\Workspace;
/**
* Tests Workspaces form validation.
@@ -40,8 +39,7 @@ class WorkspaceFormValidationTest extends BrowserTestBase {
* Tests partial form validation through #limit_validation_errors.
*/
public function testValidateLimitErrors(): void {
- $stage = Workspace::load('stage');
- $this->switchToWorkspace($stage);
+ $this->createAndActivateWorkspaceThroughUi();
$edit = [
'test' => 'test1',
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceMenuLinkContentIntegrationTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceMenuLinkContentIntegrationTest.php
index 864ac8c1a365..75f6db02b153 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceMenuLinkContentIntegrationTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceMenuLinkContentIntegrationTest.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Drupal\Tests\workspaces\Functional;
use Drupal\Tests\BrowserTestBase;
-use Drupal\workspaces\Entity\Workspace;
/**
* Tests workspace integration for custom menu links.
@@ -61,7 +60,7 @@ class WorkspaceMenuLinkContentIntegrationTest extends BrowserTestBase {
* Tests custom menu links in non-default workspaces.
*/
public function testWorkspacesWithCustomMenuLinks(): void {
- $stage = Workspace::load('stage');
+ $stage = $this->createWorkspaceThroughUi('Stage', 'stage');
$this->setupWorkspaceSwitcherBlock();
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceSwitcherTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceSwitcherTest.php
index d7ac36a5e889..eef28c5ff65f 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceSwitcherTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceSwitcherTest.php
@@ -7,6 +7,7 @@ namespace Drupal\Tests\workspaces\Functional;
use Drupal\dynamic_page_cache\EventSubscriber\DynamicPageCacheSubscriber;
use Drupal\Tests\BrowserTestBase;
use Drupal\Tests\system\Functional\Cache\AssertPageCacheContextsAndTagsTrait;
+use Drupal\workspaces\Entity\Workspace;
/**
* Tests workspace switching functionality.
@@ -52,14 +53,18 @@ class WorkspaceSwitcherTest extends BrowserTestBase {
$mayer = $this->drupalCreateUser($permissions);
$this->drupalLogin($mayer);
+
+ $this->createWorkspaceThroughUi('Vultures', 'vultures');
+ $this->createWorkspaceThroughUi('Gravity', 'gravity');
}
/**
* Tests switching workspace via the switcher block and admin page.
*/
public function testSwitchingWorkspaces(): void {
- $this->createAndActivateWorkspaceThroughUi('Vultures', 'vultures');
- $gravity = $this->createWorkspaceThroughUi('Gravity', 'gravity');
+ $vultures = Workspace::load('vultures');
+ $gravity = Workspace::load('gravity');
+ $this->switchToWorkspace($vultures);
// Confirm the block shows on the front page.
$this->drupalGet('<front>');
@@ -89,12 +94,12 @@ class WorkspaceSwitcherTest extends BrowserTestBase {
// When adding a query parameter the workspace will be switched.
$current_user_url = \Drupal::currentUser()->getAccount()->toUrl();
- $this->drupalGet($current_user_url, ['query' => ['workspace' => 'stage']]);
- $web_assert->elementContains('css', '#block-workspace-switcher', 'Stage');
+ $this->drupalGet($current_user_url, ['query' => ['workspace' => 'vultures']]);
+ $web_assert->elementContains('css', '#block-workspace-switcher', 'Vultures');
// The workspace switching via query parameter should persist.
$this->drupalGet($current_user_url);
- $web_assert->elementContains('css', '#block-workspace-switcher', 'Stage');
+ $web_assert->elementContains('css', '#block-workspace-switcher', 'Vultures');
// Check that WorkspaceCacheContext provides the cache context used to
// support its functionality.
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
index 0684f46467e0..b632e60efd50 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceTest.php
@@ -33,6 +33,7 @@ class WorkspaceTest extends BrowserTestBase {
'user',
'workspaces',
'workspaces_ui',
+ 'workspaces_test',
];
/**
@@ -157,6 +158,7 @@ class WorkspaceTest extends BrowserTestBase {
public function testWorkspaceFormRevisions(): void {
$this->drupalLogin($this->editor1);
$storage = \Drupal::entityTypeManager()->getStorage('workspace');
+ $this->createWorkspaceThroughUi('Stage', 'stage');
// The current 'stage' workspace entity should be revision 1.
$stage_workspace = $storage->load('stage');
@@ -334,7 +336,7 @@ class WorkspaceTest extends BrowserTestBase {
$user->delete();
$this->drupalGet('/admin/config/workflow/workspaces');
$this->assertSession()->pageTextContains('Summer event');
- $summer_event_workspace_row = $page->find('css', 'table tbody tr:nth-of-type(3)');
+ $summer_event_workspace_row = $page->find('css', 'table tbody tr:nth-of-type(2)');
$this->assertEquals('N/A', $summer_event_workspace_row->find('css', 'td:nth-of-type(2)')->getText());
}
@@ -364,7 +366,9 @@ class WorkspaceTest extends BrowserTestBase {
$this->assertSession()->pageTextContains('There are no changes that can be published from Test workspace to Live.');
// Create a node in the workspace.
- $this->createNodeThroughUi('Test node', 'test');
+ $this->drupalGet('/node/add/test');
+ $this->assertEquals(1, \Drupal::keyValue('ws_test')->get('node.hook_entity_create.count'));
+ $this->submitForm(['title[0][value]' => 'Test node'], 'Save');
$this->drupalGet('/admin/config/workflow/workspaces/manage/test_workspace/publish');
$this->assertSession()->statusCodeEquals(200);
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php b/core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php
index 7f4230b07733..56e91d8a26ba 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceTestUtilities.php
@@ -56,9 +56,9 @@ trait WorkspaceTestUtilities {
/**
* Creates and activates a new Workspace through the UI.
*
- * @param string $label
+ * @param string|null $label
* The label of the workspace to create.
- * @param string $id
+ * @param string|null $id
* The ID of the workspace to create.
* @param string $parent
* (optional) The ID of the parent workspace. Defaults to '_none'.
@@ -66,7 +66,10 @@ trait WorkspaceTestUtilities {
* @return \Drupal\workspaces\WorkspaceInterface
* The workspace that was just created.
*/
- protected function createAndActivateWorkspaceThroughUi(string $label, string $id, string $parent = '_none'): WorkspaceInterface {
+ protected function createAndActivateWorkspaceThroughUi(?string $label = NULL, ?string $id = NULL, string $parent = '_none'): WorkspaceInterface {
+ $id ??= $this->randomMachineName();
+ $label ??= $this->randomString();
+
$this->drupalGet('/admin/config/workflow/workspaces/add');
$this->submitForm([
'id' => $id,
@@ -76,15 +79,19 @@ trait WorkspaceTestUtilities {
$this->getSession()->getPage()->hasContent("$label ($id)");
- return Workspace::load($id);
+ // Keep the test runner in sync with the system under test.
+ $workspace = Workspace::load($id);
+ \Drupal::service('workspaces.manager')->setActiveWorkspace($workspace);
+
+ return $workspace;
}
/**
* Creates a new Workspace through the UI.
*
- * @param string $label
+ * @param string|null $label
* The label of the workspace to create.
- * @param string $id
+ * @param string|null $id
* The ID of the workspace to create.
* @param string $parent
* (optional) The ID of the parent workspace. Defaults to '_none'.
@@ -92,7 +99,10 @@ trait WorkspaceTestUtilities {
* @return \Drupal\workspaces\WorkspaceInterface
* The workspace that was just created.
*/
- protected function createWorkspaceThroughUi($label, $id, $parent = '_none') {
+ protected function createWorkspaceThroughUi(?string $label = NULL, ?string $id = NULL, string $parent = '_none') {
+ $id ??= $this->randomMachineName();
+ $label ??= $this->randomString();
+
$this->drupalGet('/admin/config/workflow/workspaces/add');
$this->submitForm([
'id' => $id,
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspaceViewsBulkFormTest.php b/core/modules/workspaces/tests/src/Functional/WorkspaceViewsBulkFormTest.php
index de8795b644ab..92b2673341e6 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspaceViewsBulkFormTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspaceViewsBulkFormTest.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Drupal\Tests\workspaces\Functional;
use Drupal\Tests\views\Functional\BulkFormTest;
-use Drupal\workspaces\Entity\Workspace;
/**
* Tests the views bulk form in a workspace.
@@ -40,8 +39,7 @@ class WorkspaceViewsBulkFormTest extends BulkFormTest {
// Ensure that all the test methods are executed in the context of a
// workspace.
$this->setupWorkspaceSwitcherBlock();
- $stage = Workspace::load('stage');
- $this->switchToWorkspace($stage);
+ $this->createAndActivateWorkspaceThroughUi('Test workspace', 'test');
}
/**
diff --git a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
index c14fe48effbc..487e0dc5f55c 100644
--- a/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
+++ b/core/modules/workspaces/tests/src/Functional/WorkspacesUninstallTest.php
@@ -43,18 +43,12 @@ class WorkspacesUninstallTest extends BrowserTestBase {
*/
public function testUninstallingWorkspace(): void {
$this->createContentType(['type' => 'article']);
- $this->drupalGet('/admin/modules/uninstall');
- $session = $this->assertSession();
- $session->linkExists('Remove workspaces');
- $this->clickLink('Remove workspaces');
- $session->pageTextContains('Are you sure you want to delete all workspaces?');
- $this->drupalGet('/admin/modules/uninstall/entity/workspace');
- $this->submitForm([], 'Delete all workspaces');
$this->drupalGet('admin/modules/uninstall');
$this->submitForm(['uninstall[workspaces_ui]' => TRUE], 'Uninstall');
$this->submitForm([], 'Uninstall');
$this->submitForm(['uninstall[workspaces]' => TRUE], 'Uninstall');
$this->submitForm([], 'Uninstall');
+ $session = $this->assertSession();
$session->pageTextContains('The selected modules have been uninstalled.');
$session->pageTextNotContains('Workspaces');
diff --git a/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php b/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php
index d058cfcc8382..f59aba78bb5f 100644
--- a/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php
+++ b/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesLayoutBuilderIntegrationTest.php
@@ -62,6 +62,7 @@ class WorkspacesLayoutBuilderIntegrationTest extends InlineBlockTestBase {
]);
$this->drupalLogin($this->defaultUser);
$this->setupWorkspaceSwitcherBlock();
+ Workspace::create(['id' => 'stage', 'label' => 'Stage'])->save();
// Enable layout builder.
$this->drupalGet(static::FIELD_UI_PREFIX . '/display/default');
diff --git a/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php b/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php
index 83ecb8e434f9..49cac2860ae7 100644
--- a/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php
+++ b/core/modules/workspaces/tests/src/FunctionalJavascript/WorkspacesMediaLibraryIntegrationTest.php
@@ -47,8 +47,9 @@ class WorkspacesMediaLibraryIntegrationTest extends EntityReferenceWidgetTest {
// Ensure that all the test methods are executed in the context of a
// workspace.
- $stage = Workspace::load('stage');
- \Drupal::service('workspaces.manager')->setActiveWorkspace($stage);
+ $workspace = Workspace::create(['id' => 'test', 'label' => 'Test']);
+ $workspace->save();
+ \Drupal::service('workspaces.manager')->setActiveWorkspace($workspace);
}
/**
diff --git a/core/modules/workspaces/workspaces.install b/core/modules/workspaces/workspaces.install
index 6c9c99f29a3c..be1f19a3a30f 100644
--- a/core/modules/workspaces/workspaces.install
+++ b/core/modules/workspaces/workspaces.install
@@ -6,38 +6,6 @@
*/
use Drupal\Core\Entity\EntityTypeInterface;
-use Drupal\workspaces\Entity\Workspace;
-
-/**
- * Implements hook_install().
- */
-function workspaces_install(): void {
- // Set the owner of these default workspaces to be first user which has the
- // 'administrator' role. This way we avoid hard coding user ID 1 for sites
- // that prefer to not give it any special meaning.
- $admin_roles = \Drupal::entityTypeManager()->getStorage('user_role')->getQuery()
- ->condition('is_admin', TRUE)
- ->execute();
- if (!empty($admin_roles)) {
- $query = \Drupal::entityTypeManager()->getStorage('user')->getQuery()
- ->accessCheck(FALSE)
- ->condition('roles', $admin_roles, 'IN')
- ->condition('status', 1)
- ->sort('uid', 'ASC')
- ->range(0, 1);
- $result = $query->execute();
- }
-
- // Default to user ID 1 if we could not find any other administrator users.
- $owner_id = !empty($result) ? reset($result) : 1;
-
- // Create a 'stage' workspace by default.
- Workspace::create([
- 'id' => 'stage',
- 'label' => 'Stage',
- 'uid' => $owner_id,
- ])->save();
-}
/**
* Implements hook_schema().
diff --git a/core/modules/workspaces_ui/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php b/core/modules/workspaces_ui/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php
index 488a6dd34c3c..b83953de37e4 100644
--- a/core/modules/workspaces_ui/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php
+++ b/core/modules/workspaces_ui/tests/src/FunctionalJavascript/WorkspaceToolbarIntegrationTest.php
@@ -5,10 +5,12 @@ declare(strict_types=1);
namespace Drupal\Tests\workspaces_ui\FunctionalJavascript;
use Drupal\Tests\system\FunctionalJavascript\OffCanvasTestBase;
+use Drupal\workspaces\Entity\Workspace;
/**
* Tests workspace settings stray integration.
*
+ * @group workspaces
* @group workspaces_ui
*/
class WorkspaceToolbarIntegrationTest extends OffCanvasTestBase {
@@ -34,6 +36,7 @@ class WorkspaceToolbarIntegrationTest extends OffCanvasTestBase {
'access administration pages',
]);
$this->drupalLogin($admin_user);
+ Workspace::create(['id' => 'stage', 'label' => 'Stage'])->save();
}
/**
diff --git a/core/package.json b/core/package.json
index 48adc5b12dd0..b04ff92f861a 100644
--- a/core/package.json
+++ b/core/package.json
@@ -67,13 +67,13 @@
"dotenv-safe": "^9.1.0",
"eslint": "^8.57.1",
"eslint-config-airbnb-base": "^15.0.0",
- "eslint-config-prettier": "^9.1.0",
+ "eslint-config-prettier": "^10.1.3",
"eslint-formatter-gitlab": "^5.1.0",
"eslint-plugin-import": "^2.31.0",
- "eslint-plugin-no-jquery": "^3.1.0",
- "eslint-plugin-prettier": "^5.2.1",
- "eslint-plugin-yml": "^1.16.0",
- "glob": "11.0.2",
+ "eslint-plugin-no-jquery": "^3.1.1",
+ "eslint-plugin-prettier": "^5.4.0",
+ "eslint-plugin-yml": "^1.18.0",
+ "glob": "11.0.0",
"htmx.org": "2.0.4",
"jquery": "^4.0.0-beta.2",
"jquery-ui": "^1.14.1",
@@ -84,19 +84,19 @@
"mkdirp": "^3.0.1",
"nightwatch": "^3.12.1",
"normalize.css": "^8.0.1",
- "postcss": "^8.4.40",
+ "postcss": "^8.5.3",
"postcss-header": "^3.0.3",
"postcss-import": "^16.1.0",
- "postcss-preset-env": "^9.6.0",
+ "postcss-preset-env": "^10.1.6",
"postcss-pxtorem": "^6.1.0",
"postcss-url": "^10.1.3",
- "prettier": "^3.4.2",
+ "prettier": "^3.5.3",
"sortablejs": "^1.15.6",
- "stylelint": "^16.11.0",
+ "stylelint": "^16.19.1",
"stylelint-checkstyle-formatter": "^0.1.2",
- "stylelint-config-standard": "^36.0.1",
- "stylelint-order": "^6.0.4",
- "stylelint-prettier": "^5.0.2",
+ "stylelint-config-standard": "^38.0.0",
+ "stylelint-order": "^7.0.0",
+ "stylelint-prettier": "^5.0.3",
"tabbable": "^6.2.0",
"terser": "^5.39.0",
"terser-webpack-plugin": "^5.3.14",
diff --git a/core/profiles/demo_umami/themes/umami/components/badge/badge.component.yml b/core/profiles/demo_umami/themes/umami/components/badge/badge.component.yml
index 1d68092cc07f..dbe75182edf2 100644
--- a/core/profiles/demo_umami/themes/umami/components/badge/badge.component.yml
+++ b/core/profiles/demo_umami/themes/umami/components/badge/badge.component.yml
@@ -27,6 +27,12 @@ props:
- timer
- serves
- difficulty
+ meta:enum:
+ knife: Knife
+ timer: Timer
+ serves: Serves
+ difficulty: Difficulty
+ x-translation-context: Umami recipes icon names
slots:
label:
type: string
diff --git a/core/profiles/demo_umami/themes/umami/components/banner/banner.css b/core/profiles/demo_umami/themes/umami/components/banner/banner.css
index b60dd0b5b9cc..ecfd328a102e 100644
--- a/core/profiles/demo_umami/themes/umami/components/banner/banner.css
+++ b/core/profiles/demo_umami/themes/umami/components/banner/banner.css
@@ -39,7 +39,7 @@
padding: 1.777em;
color: #fff;
border: 1px solid #464646;
- background: rgba(0, 0, 0, 0.42);
+ background: rgb(0, 0, 0, 0.42);
}
.banner__image img {
diff --git a/core/profiles/demo_umami/themes/umami/components/card/card.component.yml b/core/profiles/demo_umami/themes/umami/components/card/card.component.yml
index 58dbae540082..96183ac24bc0 100644
--- a/core/profiles/demo_umami/themes/umami/components/card/card.component.yml
+++ b/core/profiles/demo_umami/themes/umami/components/card/card.component.yml
@@ -24,6 +24,10 @@ props:
enum:
- article
- div
+ meta:enum:
+ article: Article
+ div: Container
+ x-translation-context: HTML tag
# Provide a default value
default: article
diff --git a/core/profiles/demo_umami/themes/umami/components/title/title.component.yml b/core/profiles/demo_umami/themes/umami/components/title/title.component.yml
index df26ee3abf88..007a82b7361f 100644
--- a/core/profiles/demo_umami/themes/umami/components/title/title.component.yml
+++ b/core/profiles/demo_umami/themes/umami/components/title/title.component.yml
@@ -30,6 +30,15 @@ props:
- h5
- h6
- span
+ meta:enum:
+ h1: Heading 1
+ h2: Heading 2
+ h3: Heading 3
+ h4: Heading 4
+ h5: Heading 5
+ h6: Heading 6
+ span: Inline
+ x-translation-context: HTML tag
# Provide a default value
default: h2
diff --git a/core/profiles/demo_umami/themes/umami/css/classy/components/progress.css b/core/profiles/demo_umami/themes/umami/css/classy/components/progress.css
index f8561b2eaf60..6ff2e1949884 100644
--- a/core/profiles/demo_umami/themes/umami/css/classy/components/progress.css
+++ b/core/profiles/demo_umami/themes/umami/css/classy/components/progress.css
@@ -10,7 +10,7 @@
border-radius: 10em;
background-color: #f2f1eb;
background-image: linear-gradient(#e7e7df, #f0f0f0);
- box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.16);
+ box-shadow: inset 0 1px 3px hsl(0, 0%, 0%, 0.16);
}
.progress__bar {
height: 16px;
@@ -23,7 +23,7 @@
border: 1px #07629a solid;
border-radius: 10em;
background: #057ec9;
- background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), linear-gradient(to right bottom, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
+ background-image: linear-gradient(to bottom, rgb(0, 0, 0, 0), rgb(0, 0, 0, 0.15)), linear-gradient(to right bottom, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
background-size: 40px 40px;
}
[dir="rtl"] .progress__bar {
diff --git a/core/profiles/demo_umami/themes/umami/css/components/navigation/skip-link/skip-link.css b/core/profiles/demo_umami/themes/umami/css/components/navigation/skip-link/skip-link.css
index 1dd4758ced04..6f9e5c4e4dfb 100644
--- a/core/profiles/demo_umami/themes/umami/css/components/navigation/skip-link/skip-link.css
+++ b/core/profiles/demo_umami/themes/umami/css/components/navigation/skip-link/skip-link.css
@@ -12,7 +12,7 @@
border-radius: 0 0 10px 10px;
outline: 0;
background: #444;
- background: rgba(0, 0, 0, 0.6);
+ background: rgb(0, 0, 0, 0.6);
}
.skip-link.visually-hidden.focusable:focus {
position: absolute !important;
diff --git a/core/scripts/css/compile.js b/core/scripts/css/compile.js
index 9f5b71cb929d..a3794cd618ec 100644
--- a/core/scripts/css/compile.js
+++ b/core/scripts/css/compile.js
@@ -34,6 +34,7 @@ module.exports = (filePath, callback) => {
'image-set-function': false,
'prefers-color-scheme-query': false,
'content-alt-text': false,
+ 'nesting-rules': { edition: '2021' },
}
}),
postcssPixelsToRem({
diff --git a/core/scripts/run-tests.sh b/core/scripts/run-tests.sh
index 96f16eed9c71..4545a00cc3ac 100755
--- a/core/scripts/run-tests.sh
+++ b/core/scripts/run-tests.sh
@@ -17,13 +17,14 @@ use Drupal\Component\Utility\Timer;
use Drupal\Core\Composer\Composer;
use Drupal\Core\Database\Database;
use Drupal\Core\Test\EnvironmentCleaner;
-use Drupal\Core\Test\PhpUnitTestDiscovery;
use Drupal\Core\Test\PhpUnitTestRunner;
use Drupal\Core\Test\SimpletestTestRunResultsStorage;
+use Drupal\Core\Test\RunTests\TestFileParser;
use Drupal\Core\Test\TestDatabase;
use Drupal\Core\Test\TestRun;
use Drupal\Core\Test\TestRunnerKernel;
use Drupal\Core\Test\TestRunResultsStorageInterface;
+use Drupal\Core\Test\TestDiscovery;
use Drupal\BuildTests\Framework\BuildTestBase;
use Drupal\FunctionalJavascriptTests\WebDriverTestBase;
use Drupal\KernelTests\KernelTestBase;
@@ -48,10 +49,6 @@ const SIMPLETEST_SCRIPT_COLOR_EXCEPTION = 33;
const SIMPLETEST_SCRIPT_COLOR_YELLOW = 33;
// A refreshing cyan.
const SIMPLETEST_SCRIPT_COLOR_CYAN = 36;
-// A fainting gray.
-const SIMPLETEST_SCRIPT_COLOR_GRAY = 90;
-// A notable white.
-const SIMPLETEST_SCRIPT_COLOR_BRIGHT_WHITE = "1;97";
// Restricting the chunk of queries prevents memory exhaustion.
const SIMPLETEST_SCRIPT_SQLITE_VARIABLE_LIMIT = 350;
@@ -89,12 +86,12 @@ if ($args['list']) {
// Display all available tests organized by one @group annotation.
echo "\nAvailable test groups & classes\n";
echo "-------------------------------\n\n";
- $test_discovery = new PhpUnitTestDiscovery(\Drupal::root() . \DIRECTORY_SEPARATOR . 'core');
+ $test_discovery = new TestDiscovery(
+ \Drupal::root(),
+ \Drupal::service('class_loader')
+ );
try {
$groups = $test_discovery->getTestClasses($args['module']);
- foreach ($test_discovery->getWarnings() as $warning) {
- simpletest_script_print($warning . "\n", SIMPLETEST_SCRIPT_COLOR_EXCEPTION);
- }
}
catch (Exception $e) {
error_log((string) $e);
@@ -122,8 +119,11 @@ if ($args['list']) {
// @see https://www.drupal.org/node/2569585
if ($args['list-files'] || $args['list-files-json']) {
// List all files which could be run as tests.
- $test_discovery = new PhpUnitTestDiscovery(\Drupal::root() . \DIRECTORY_SEPARATOR . 'core');
- // PhpUnitTestDiscovery::findAllClassFiles() gives us a classmap similar to a
+ $test_discovery = new TestDiscovery(
+ \Drupal::root(),
+ \Drupal::service('class_loader')
+ );
+ // TestDiscovery::findAllClassFiles() gives us a classmap similar to a
// Composer 'classmap' array.
$test_classes = $test_discovery->findAllClassFiles();
// JSON output is the easiest.
@@ -177,15 +177,6 @@ if (!Composer::upgradePHPUnitCheck(Version::id())) {
exit(SIMPLETEST_SCRIPT_EXIT_FAILURE);
}
-echo "\n";
-echo "Drupal test run\n\n";
-echo sprintf("Drupal Version: %s\n", \Drupal::VERSION);
-echo sprintf("PHP Version: %s\n", \PHP_VERSION);
-echo sprintf("PHP Binary: %s\n", $php ?? getenv('_'));
-echo sprintf("PHPUnit Version: %s\n", Version::id());
-echo "-------------------------------\n";
-echo "\n";
-
$test_list = simpletest_script_get_test_list();
// Try to allocate unlimited time to run the tests.
@@ -364,11 +355,6 @@ All arguments are long options.
The index of the job in the job set.
- --debug-discovery
-
- If provided, dumps detailed information on the tests selected
- for execution, before the execution starts.
-
<test1>[,<test2>[,<test3> ...]]
One or more tests to be run. By default, these are interpreted
@@ -441,7 +427,6 @@ function simpletest_script_parse_args() {
'non-html' => FALSE,
'ci-parallel-node-index' => 1,
'ci-parallel-node-total' => 1,
- 'debug-discovery' => FALSE,
];
// Override with set values.
@@ -934,15 +919,17 @@ function simpletest_script_command(TestRun $test_run, string $test_class): array
function simpletest_script_get_test_list() {
global $args;
- $test_discovery = new PhpUnitTestDiscovery(\Drupal::root() . \DIRECTORY_SEPARATOR . 'core');
+ $test_discovery = new TestDiscovery(
+ \Drupal::root(),
+ \Drupal::service('class_loader')
+ );
+ $types_processed = empty($args['types']);
$test_list = [];
$slow_tests = [];
if ($args['all'] || $args['module'] || $args['directory']) {
try {
$groups = $test_discovery->getTestClasses($args['module'], $args['types'], $args['directory']);
- foreach ($test_discovery->getWarnings() as $warning) {
- simpletest_script_print($warning . "\n", SIMPLETEST_SCRIPT_COLOR_EXCEPTION);
- }
+ $types_processed = TRUE;
}
catch (Exception $e) {
echo (string) $e;
@@ -951,34 +938,30 @@ function simpletest_script_get_test_list() {
// Ensure that tests marked explicitly as @group #slow are run at the
// beginning of each job.
if (key($groups) === '#slow') {
- $slow_tests = array_shift($groups);
+ $slow_tests = array_keys(array_shift($groups));
}
$not_slow_tests = [];
foreach ($groups as $group => $tests) {
- $not_slow_tests = array_merge($not_slow_tests, $tests);
+ $not_slow_tests = array_merge($not_slow_tests, array_keys($tests));
}
// Filter slow tests out of the not slow tests and ensure a unique list
// since tests may appear in more than one group.
- $not_slow_tests = array_diff_key($not_slow_tests, $slow_tests);
+ $not_slow_tests = array_unique(array_diff($not_slow_tests, $slow_tests));
// If the tests are not being run in parallel, then ensure slow tests run
// all together first.
if ((int) $args['ci-parallel-node-total'] <= 1 ) {
sort_tests_by_type_and_methods($slow_tests);
sort_tests_by_type_and_methods($not_slow_tests);
- $all_tests_list = array_merge($slow_tests, $not_slow_tests);
- assign_tests_sequence($all_tests_list);
- dump_tests_sequence($all_tests_list, $args);
- $test_list = array_keys($all_tests_list);
+ $test_list = array_merge($slow_tests, $not_slow_tests);
}
else {
- // Sort all tests by the number of test cases on the test class.
- // This is used in combination with @group #slow to start the slowest
- // tests first and distribute tests between test runners.
+ // Sort all tests by the number of public methods on the test class.
+ // This is a proxy for the approximate time taken to run the test,
+ // which is used in combination with @group #slow to start the slowest tests
+ // first and distribute tests between test runners.
sort_tests_by_public_method_count($slow_tests);
sort_tests_by_public_method_count($not_slow_tests);
- $all_tests_list = array_merge($slow_tests, $not_slow_tests);
- assign_tests_sequence($all_tests_list);
// Now set up a bin per test runner.
$bin_count = (int) $args['ci-parallel-node-total'];
@@ -992,8 +975,6 @@ function simpletest_script_get_test_list() {
$binned_other_tests = place_tests_into_bins($not_slow_tests, $bin_count);
$other_tests_for_job = $binned_other_tests[$args['ci-parallel-node-index'] - 1];
$test_list = array_merge($slow_tests_for_job, $other_tests_for_job);
- dump_bin_tests_sequence($args['ci-parallel-node-index'], $all_tests_list, $test_list, $args);
- $test_list = array_keys($test_list);
}
}
else {
@@ -1007,9 +988,6 @@ function simpletest_script_get_test_list() {
else {
try {
$groups = $test_discovery->getTestClasses(NULL, $args['types']);
- foreach ($test_discovery->getWarnings() as $warning) {
- simpletest_script_print($warning . "\n", SIMPLETEST_SCRIPT_COLOR_EXCEPTION);
- }
}
catch (Exception $e) {
echo (string) $e;
@@ -1027,24 +1005,19 @@ function simpletest_script_get_test_list() {
}
elseif ($args['file']) {
// Extract test case class names from specified files.
+ $parser = new TestFileParser();
foreach ($args['test_names'] as $file) {
- if (!file_exists($file) || is_dir($file)) {
+ if (!file_exists($file)) {
simpletest_script_print_error('File not found: ' . $file);
exit(SIMPLETEST_SCRIPT_EXIT_FAILURE);
}
- $fileTests = current($test_discovery->getTestClasses(NULL, [], $file));
- $test_list = array_merge($test_list, $fileTests);
+ $test_list = array_merge($test_list, $parser->getTestListFromFile($file));
}
- assign_tests_sequence($test_list);
- dump_tests_sequence($test_list, $args);
- $test_list = array_keys($test_list);
}
else {
try {
$groups = $test_discovery->getTestClasses(NULL, $args['types']);
- foreach ($test_discovery->getWarnings() as $warning) {
- simpletest_script_print($warning . "\n", SIMPLETEST_SCRIPT_COLOR_EXCEPTION);
- }
+ $types_processed = TRUE;
}
catch (Exception $e) {
echo (string) $e;
@@ -1061,15 +1034,22 @@ function simpletest_script_get_test_list() {
}
// Merge the tests from the groups together.
foreach ($args['test_names'] as $group_name) {
- $test_list = array_merge($test_list, $groups[$group_name]);
+ $test_list = array_merge($test_list, array_keys($groups[$group_name]));
}
- assign_tests_sequence($test_list);
- dump_tests_sequence($test_list, $args);
// Ensure our list of tests contains only one entry for each test.
- $test_list = array_keys($test_list);
+ $test_list = array_unique($test_list);
}
}
+ // If the test list creation does not automatically limit by test type then
+ // we need to do so here.
+ if (!$types_processed) {
+ $test_list = array_filter($test_list, function ($test_class) use ($args) {
+ $test_info = TestDiscovery::getTestInfo($test_class);
+ return in_array($test_info['type'], $args['types'], TRUE);
+ });
+ }
+
if (empty($test_list)) {
simpletest_script_print_error('No valid tests were specified.');
exit(SIMPLETEST_SCRIPT_EXIT_FAILURE);
@@ -1082,11 +1062,11 @@ function simpletest_script_get_test_list() {
* Sort tests by test type and number of public methods.
*/
function sort_tests_by_type_and_methods(array &$tests): void {
- uasort($tests, function ($a, $b) {
- if (get_test_type_weight($a['name']) === get_test_type_weight($b['name'])) {
- return $b['tests_count'] <=> $a['tests_count'];
+ usort($tests, function ($a, $b) {
+ if (get_test_type_weight($a) === get_test_type_weight($b)) {
+ return get_test_class_method_count($b) <=> get_test_class_method_count($a);
}
- return get_test_type_weight($b['name']) <=> get_test_type_weight($a['name']);
+ return get_test_type_weight($b) <=> get_test_type_weight($a);
});
}
@@ -1103,8 +1083,8 @@ function sort_tests_by_type_and_methods(array &$tests): void {
* An array of test class names.
*/
function sort_tests_by_public_method_count(array &$tests): void {
- uasort($tests, function ($a, $b) {
- return $b['tests_count'] <=> $a['tests_count'];
+ usort($tests, function ($a, $b) {
+ return get_test_class_method_count($b) <=> get_test_class_method_count($a);
});
}
@@ -1125,46 +1105,28 @@ function get_test_type_weight(string $class): int {
}
/**
- * Assigns the test sequence.
+ * Get an approximate test method count for a test class.
*
- * @param array $tests
- * The array of test class info.
- */
-function assign_tests_sequence(array &$tests): void {
- $i = 0;
- foreach ($tests as &$testInfo) {
- $testInfo['sequence'] = ++$i;
- }
-}
-
-/**
- * Dumps the list of tests in order of execution after sorting.
- *
- * @param array $tests
- * The array of test class info.
- * @param array $args
- * The command line arguments.
+ * @param string $class
+ * The test class name.
*/
-function dump_tests_sequence(array $tests, array $args): void {
- if ($args['debug-discovery'] === FALSE) {
- return;
- }
- echo "Test execution sequence\n";
- echo "-----------------------\n\n";
- echo " Seq Slow? Group Cnt Class\n";
- echo "-----------------------------------------\n";
- $i = 0;
- foreach ($tests as $testInfo) {
- echo sprintf(
- "%4d %5s %15s %4d %s\n",
- $testInfo['sequence'],
- in_array('#slow', $testInfo['groups']) ? '#slow' : '',
- trim_with_ellipsis($testInfo['group'], 15, \STR_PAD_RIGHT),
- $testInfo['tests_count'],
- trim_with_ellipsis($testInfo['name'], 60, \STR_PAD_LEFT),
- );
+function get_test_class_method_count(string $class): int {
+ $reflection = new \ReflectionClass($class);
+ $count = 0;
+ foreach ($reflection->getMethods(\ReflectionMethod::IS_PUBLIC) as $method) {
+ // If a method uses a dataProvider, increase the count by 20 since data
+ // providers result in a single method running multiple times.
+ $comments = $method->getDocComment();
+ preg_match_all('#@(.*?)\n#s', $comments, $annotations);
+ foreach ($annotations[1] as $annotation) {
+ if (str_starts_with($annotation, 'dataProvider')) {
+ $count = $count + 20;
+ continue;
+ }
+ }
+ $count++;
}
- echo "-----------------------------------------\n\n";
+ return $count;
}
/**
@@ -1187,51 +1149,13 @@ function place_tests_into_bins(array $tests, int $bin_count) {
// Create a bin corresponding to each parallel test job.
$bins = array_fill(0, $bin_count, []);
// Go through each test and add them to one bin at a time.
- $i = 0;
foreach ($tests as $key => $test) {
- $bins[($i++ % $bin_count)][$key] = $test;
+ $bins[($key % $bin_count)][] = $test;
}
return $bins;
}
/**
- * Dumps the list of tests in order of execution for a bin.
- *
- * @param int $bin
- * The bin.
- * @param array $allTests
- * The list of all test classes discovered.
- * @param array $tests
- * The list of test class to run for this bin.
- * @param array $args
- * The command line arguments.
- */
-function dump_bin_tests_sequence(int $bin, array $allTests, array $tests, array $args): void {
- if ($args['debug-discovery'] === FALSE) {
- return;
- }
- echo "Test execution sequence. ";
- echo "Tests marked *** will be executed in this PARALLEL BIN #{$bin}.\n";
- echo "-------------------------------------------------------------------------------------\n\n";
- echo "Bin Seq Slow? Group Cnt Class\n";
- echo "--------------------------------------------\n";
- foreach ($allTests as $testInfo) {
- $inBin = isset($tests[$testInfo['name']]);
- $message = sprintf(
- "%s %4d %5s %15s %4d %s\n",
- $inBin ? "***" : " ",
- $testInfo['sequence'],
- in_array('#slow', $testInfo['groups']) ? '#slow' : '',
- trim_with_ellipsis($testInfo['group'], 15, \STR_PAD_RIGHT),
- $testInfo['tests_count'],
- trim_with_ellipsis($testInfo['name'], 60, \STR_PAD_LEFT),
- );
- simpletest_script_print($message, $inBin ? SIMPLETEST_SCRIPT_COLOR_BRIGHT_WHITE : SIMPLETEST_SCRIPT_COLOR_GRAY);
- }
- echo "-------------------------------------------------\n\n";
-}
-
-/**
* Initialize the reporter.
*/
function simpletest_script_reporter_init(): void {
@@ -1246,6 +1170,12 @@ function simpletest_script_reporter_init(): void {
'debug' => 'Log',
];
+ echo "\n";
+ echo "Drupal test run\n";
+ echo "Using PHP Binary: $php\n";
+ echo "---------------\n";
+ echo "\n";
+
// Tell the user about what tests are to be run.
if ($args['all']) {
echo "All tests will run.\n\n";
@@ -1448,7 +1378,7 @@ function simpletest_script_reporter_display_results(TestRunResultsStorageInterfa
function simpletest_script_format_result($result): void {
global $args, $results_map, $color;
- $summary = sprintf("%-9.9s %9.3fs %s\n", $results_map[$result->status], $result->time, trim_with_ellipsis($result->function, 80, STR_PAD_LEFT));
+ $summary = sprintf("%-9.9s %9.3fs %-80.80s\n", $results_map[$result->status], $result->time, trim_with_ellipsis($result->function, 80, STR_PAD_LEFT));
simpletest_script_print($summary, simpletest_script_color_code($result->status));
@@ -1610,12 +1540,12 @@ function simpletest_script_load_messages_by_test_id(TestRunResultsStorageInterfa
*/
function trim_with_ellipsis(string $input, int $length, int $side): string {
if (strlen($input) < $length) {
- return str_pad($input, $length, ' ', \STR_PAD_RIGHT);
+ return str_pad($input, $length, ' ', STR_PAD_RIGHT);
}
elseif (strlen($input) > $length) {
return match($side) {
- \STR_PAD_RIGHT => substr($input, 0, $length - 1) . '…',
- default => '…' . substr($input, -$length + 1),
+ STR_PAD_RIGHT => substr($input, 0, $length - 3) . '...',
+ default => '...' . substr($input, -$length + 3),
};
}
return $input;
diff --git a/core/tests/Drupal/KernelTests/Components/ComponentTranslationTest.php b/core/tests/Drupal/KernelTests/Components/ComponentTranslationTest.php
new file mode 100644
index 000000000000..4495e8fda6a6
--- /dev/null
+++ b/core/tests/Drupal/KernelTests/Components/ComponentTranslationTest.php
@@ -0,0 +1,189 @@
+<?php
+
+declare(strict_types=1);
+
+// cspell:ignore Abre er bânnêh en una nueba bentana la mîmma
+
+namespace Drupal\KernelTests\Components;
+
+use Drupal\language\Entity\ConfigurableLanguage;
+use Drupal\locale\StringInterface;
+use Drupal\locale\StringStorageInterface;
+use Symfony\Component\DomCrawler\Crawler;
+use Symfony\Component\HttpFoundation\Request;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\HttpKernelInterface;
+use Symfony\Component\HttpKernel\TerminableInterface;
+
+/**
+ * Tests the component can be translated.
+ *
+ * @group sdc
+ */
+class ComponentTranslationTest extends ComponentKernelTestBase {
+
+ /**
+ * {@inheritdoc}
+ */
+ protected static $modules = [
+ 'system',
+ 'sdc_test',
+ 'locale',
+ 'language',
+ ];
+
+ /**
+ * {@inheritdoc}
+ */
+ protected static $themes = ['sdc_theme_test'];
+
+ /**
+ * The locale storage.
+ *
+ * @var \Drupal\locale\StringStorageInterface
+ */
+ protected StringStorageInterface $storage;
+
+ /**
+ * {@inheritdoc}
+ */
+ protected function setUp(): void {
+ parent::setUp();
+ // Add a default locale storage for all these tests.
+ $this->storage = $this->container->get('locale.storage');
+ ConfigurableLanguage::createFromLangcode('epa')->save();
+ $this->container->get('string_translation')->setDefaultLangcode('epa');
+ $this->installSchema('locale', [
+ 'locales_location',
+ 'locales_source',
+ 'locales_target',
+ ]);
+ }
+
+ /**
+ * Test that components render enum props correctly with their translations.
+ */
+ public function testEnumPropsCanBeTranslated(): void {
+ $bannerString = $this->buildSourceString(['source' => 'Open in a new window', 'context' => 'Banner link target']);
+ $bannerString->save();
+ $ctaString = $this->buildSourceString(['source' => 'Open in a new window', 'context' => 'CTA link target']);
+ $ctaString->save();
+ $ctaEmptyString = $this->buildSourceString(['source' => 'Open in same window', 'context' => 'CTA link target']);
+ $ctaEmptyString->save();
+ $this->createTranslation($bannerString, 'epa', ['translation' => 'Abre er bânnêh en una nueba bentana']);
+ $this->createTranslation($ctaString, 'epa', ['translation' => 'Abre er CTA en una nueba bentana']);
+ $this->createTranslation($ctaEmptyString, 'epa', ['translation' => 'Abre er CTA en la mîmma bentana']);
+
+ $build = [
+ 'banner' => [
+ '#type' => 'component',
+ '#component' => 'sdc_test:my-banner',
+ '#props' => [
+ 'heading' => 'I am a banner',
+ 'ctaText' => 'Click me',
+ 'ctaHref' => 'https://www.example.org',
+ 'ctaTarget' => '_blank',
+ ],
+ ],
+ 'cta' => [
+ '#type' => 'component',
+ '#component' => 'sdc_test:my-cta',
+ '#props' => [
+ 'text' => 'Click me',
+ 'href' => 'https://www.example.org',
+ 'target' => '_blank',
+ ],
+ ],
+ 'cta_with_empty_enum' => [
+ '#type' => 'component',
+ '#component' => 'sdc_test:my-cta',
+ '#props' => [
+ 'text' => 'Click me',
+ 'href' => 'https://www.example.org',
+ 'target' => '',
+ ],
+ ],
+ ];
+ \Drupal::state()->set('sdc_test_component', $build);
+ $response = $this->request(Request::create('sdc-test-component'));
+ $crawler = new Crawler($response->getContent());
+
+ // Assert that even if the source is the same, the translations depend on
+ // the enum context.
+ $this->assertStringContainsString('Abre er bânnêh en una nueba bentana', $crawler->filter('#sdc-wrapper [data-component-id="sdc_test:my-banner"]')->outerHtml());
+ $this->assertStringContainsString('Abre er CTA en una nueba bentana', $crawler->filter('#sdc-wrapper a[data-component-id="sdc_test:my-cta"]:nth-of-type(1)')->outerHtml());
+ $this->assertStringContainsString('Abre er CTA en la mîmma bentana', $crawler->filter('#sdc-wrapper a[data-component-id="sdc_test:my-cta"]:nth-of-type(2)')->outerHtml());
+ }
+
+ /**
+ * Creates random source string object.
+ *
+ * @param array $values
+ * The values array.
+ *
+ * @return \Drupal\locale\StringInterface
+ * A locale string.
+ */
+ protected function buildSourceString(array $values = []): StringInterface {
+ return $this->storage->createString($values += [
+ 'source' => $this->randomMachineName(100),
+ 'context' => $this->randomMachineName(20),
+ ]);
+ }
+
+ /**
+ * Creates single translation for source string.
+ *
+ * @param \Drupal\locale\StringInterface $source
+ * The source string.
+ * @param string $langcode
+ * The language code.
+ * @param array $values
+ * The values array.
+ *
+ * @return \Drupal\locale\StringInterface
+ * The translated string object.
+ */
+ protected function createTranslation(StringInterface $source, $langcode, array $values = []): StringInterface {
+ return $this->storage->createTranslation($values + [
+ 'lid' => $source->lid,
+ 'language' => $langcode,
+ 'translation' => $this->randomMachineName(100),
+ ])->save();
+ }
+
+ /**
+ * Passes a request to the HTTP kernel and returns a response.
+ *
+ * @param \Symfony\Component\HttpFoundation\Request $request
+ * The request.
+ *
+ * @return \Symfony\Component\HttpFoundation\Response
+ * The response.
+ */
+ protected function request(Request $request): Response {
+ // @todo We should replace this when https://drupal.org/i/3390193 lands.
+ // Reset the request stack.
+ // \Drupal\KernelTests\KernelTestBase::bootKernel() pushes a bogus request
+ // to boot the kernel, but it is also needed for any URL generation in tests
+ // to work. We also need to reset the request stack every time we make a
+ // request.
+ $request_stack = $this->container->get('request_stack');
+ while ($request_stack->getCurrentRequest() !== NULL) {
+ $request_stack->pop();
+ }
+
+ $http_kernel = $this->container->get('http_kernel');
+ self::assertInstanceOf(HttpKernelInterface::class, $http_kernel);
+ $response = $http_kernel->handle($request, HttpKernelInterface::MAIN_REQUEST, FALSE);
+ $content = $response->getContent();
+ self::assertNotFalse($content);
+ $this->setRawContent($content);
+
+ self::assertInstanceOf(TerminableInterface::class, $http_kernel);
+ $http_kernel->terminate($request, $response);
+
+ return $response;
+ }
+
+}
diff --git a/core/tests/Drupal/KernelTests/Core/Config/ConfigExistsConstraintValidatorTest.php b/core/tests/Drupal/KernelTests/Core/Config/ConfigExistsConstraintValidatorTest.php
index bcdc76cc71d7..3d3ee862cef6 100644
--- a/core/tests/Drupal/KernelTests/Core/Config/ConfigExistsConstraintValidatorTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Config/ConfigExistsConstraintValidatorTest.php
@@ -28,6 +28,7 @@ class ConfigExistsConstraintValidatorTest extends KernelTestBase {
*
* @testWith [{}, "system.site", "system.site"]
* [{"prefix": "system."}, "site", "system.site"]
+ * [{"prefix": "system.[%parent.reference]."}, "admin", "system.menu.admin"]
*/
public function testValidation(array $constraint_options, string $value, string $expected_config_name): void {
// Create a data definition that specifies the value must be a string with
@@ -37,7 +38,11 @@ class ConfigExistsConstraintValidatorTest extends KernelTestBase {
/** @var \Drupal\Core\TypedData\TypedDataManagerInterface $typed_data */
$typed_data = $this->container->get('typed_data_manager');
- $data = $typed_data->create($definition, $value);
+
+ // Create a data definition for the parent data.
+ $parent_data_definition = $typed_data->createDataDefinition('map');
+ $parent_data = $typed_data->create($parent_data_definition, ['reference' => 'menu']);
+ $data = $typed_data->create($definition, $value, 'data_name', $parent_data);
$violations = $data->validate();
$this->assertCount(1, $violations);
diff --git a/core/tests/Drupal/KernelTests/Core/Extension/ModuleHandlerTest.php b/core/tests/Drupal/KernelTests/Core/Extension/ModuleHandlerTest.php
index 8ee28a968fd5..c90cb5e0aad7 100644
--- a/core/tests/Drupal/KernelTests/Core/Extension/ModuleHandlerTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Extension/ModuleHandlerTest.php
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Drupal\KernelTests\Core\Extension;
use Drupal\Core\Extension\Exception\UnknownExtensionException;
+use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\KernelTests\KernelTestBase;
/**
@@ -36,4 +37,78 @@ class ModuleHandlerTest extends KernelTestBase {
$this->assertNotNull(\Drupal::service('module_handler')->getName('module_test'));
}
+ /**
+ * Tests that resetImplementations() clears the hook memory cache.
+ *
+ * @covers ::resetImplementations
+ */
+ public function testResetImplementationsClearsHooks(): void {
+ $oldModuleHandler = \Drupal::moduleHandler();
+ $this->assertHasResetHookImplementations(FALSE, $oldModuleHandler);
+
+ // Installing a module does not trigger ->resetImplementations().
+ /** @var \Drupal\Core\Extension\ModuleInstallerInterface $moduleInstaller */
+ $moduleInstaller = \Drupal::service('module_installer');
+ $moduleInstaller->install(['module_test']);
+ $this->assertHasResetHookImplementations(FALSE, $oldModuleHandler);
+ // Only the new ModuleHandler instance has the updated implementations.
+ $moduleHandler = \Drupal::moduleHandler();
+ $this->assertHasResetHookImplementations(TRUE, $moduleHandler);
+ $backupModuleList = $moduleHandler->getModuleList();
+ $moduleListWithout = array_diff_key($backupModuleList, ['module_test' => TRUE]);
+ $this->assertArrayHasKey('module_test', $backupModuleList);
+
+ // Silently setting the property does not clear the hooks cache.
+ $moduleListProperty = (new \ReflectionProperty($moduleHandler, 'moduleList'));
+ $this->assertSame($backupModuleList, $moduleListProperty->getValue($moduleHandler));
+ $moduleListProperty->setValue($moduleHandler, $moduleListWithout);
+ $this->assertHasResetHookImplementations(TRUE, $moduleHandler);
+
+ // Directly calling ->resetImplementations() clears the hook caches.
+ $moduleHandler->resetImplementations();
+ $this->assertHasResetHookImplementations(FALSE, $moduleHandler);
+ $moduleListProperty->setValue($moduleHandler, $backupModuleList);
+ $this->assertHasResetHookImplementations(FALSE, $moduleHandler);
+ $moduleHandler->resetImplementations();
+ $this->assertHasResetHookImplementations(TRUE, $moduleHandler);
+
+ // Calling ->setModuleList() triggers ->resetImplementations().
+ $moduleHandler->setModuleList(['system']);
+ $this->assertHasResetHookImplementations(FALSE, $moduleHandler);
+ $moduleHandler->setModuleList($backupModuleList);
+ $this->assertHasResetHookImplementations(TRUE, $moduleHandler);
+
+ // Uninstalling a module triggers ->resetImplementations().
+ /** @var \Drupal\Core\Extension\ModuleInstallerInterface $moduleInstaller */
+ $moduleInstaller = \Drupal::service('module_installer');
+ $moduleInstaller->uninstall(['module_test']);
+ $this->assertSame($moduleListWithout, $moduleHandler->getModuleList());
+ $this->assertHasResetHookImplementations(FALSE, $moduleHandler);
+ }
+
+ /**
+ * Asserts whether certain hook implementations exist.
+ *
+ * This is used to verify that all internal hook cache properties have been
+ * reset and updated.
+ *
+ * @param bool $exists
+ * TRUE if the implementations are expected to exist, FALSE if not.
+ * @param \Drupal\Core\Extension\ModuleHandlerInterface $moduleHandler
+ * The module handler.
+ *
+ * @see \module_test_test_reset_implementations_hook()
+ * @see \module_test_test_reset_implementations_alter()
+ */
+ protected function assertHasResetHookImplementations(bool $exists, ModuleHandlerInterface $moduleHandler): void {
+ $this->assertSame($exists, $moduleHandler->hasImplementations('test_reset_implementations_hook'));
+ $this->assertSame($exists, $moduleHandler->hasImplementations('test_reset_implementations_alter'));
+ $expected_list = $exists ? ['module_test_test_reset_implementations_hook'] : [];
+ $this->assertSame($expected_list, $moduleHandler->invokeAll('test_reset_implementations_hook'));
+ $expected_alter_list = $exists ? ['module_test_test_reset_implementations_alter'] : [];
+ $alter_list = [];
+ $moduleHandler->alter('test_reset_implementations', $alter_list);
+ $this->assertSame($expected_alter_list, $alter_list);
+ }
+
}
diff --git a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiFindAllClassFilesTest.php b/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiFindAllClassFilesTest.php
deleted file mode 100644
index feb6addef2a3..000000000000
--- a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiFindAllClassFilesTest.php
+++ /dev/null
@@ -1,72 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Drupal\KernelTests\Core\Test;
-
-use Drupal\Core\Test\PhpUnitTestDiscovery;
-use Drupal\Core\Test\TestDiscovery;
-use Drupal\KernelTests\KernelTestBase;
-use Drupal\TestTools\PhpUnitCompatibility\RunnerVersion;
-use PHPUnit\Framework\Attributes\CoversClass;
-use PHPUnit\Framework\Attributes\DataProvider;
-use PHPUnit\Framework\Attributes\Group;
-use PHPUnit\Framework\Attributes\IgnoreDeprecations;
-
-/**
- * Tests ::findAllClassFiles() between TestDiscovery and PhpUnitTestDiscovery.
- *
- * PhpUnitTestDiscovery uses PHPUnit API to build the list of test classes,
- * while TestDiscovery uses Drupal legacy code.
- */
-#[CoversClass(PhpUnitTestDiscovery::class)]
-#[Group('TestSuites')]
-#[Group('Test')]
-#[Group('#slow')]
-class PhpUnitApiFindAllClassFilesTest extends KernelTestBase {
-
- /**
- * Checks that Drupal legacy and PHPUnit API based discoveries are equal.
- */
- #[DataProvider('argumentsProvider')]
- #[IgnoreDeprecations]
- public function testEquality(?string $extension = NULL, ?string $directory = NULL): void {
- $testDiscovery = new TestDiscovery(
- $this->container->getParameter('app.root'),
- $this->container->get('class_loader')
- );
- $internalList = $testDiscovery->findAllClassFiles($extension, $directory);
-
- // Location of PHPUnit configuration file.
- $configurationFilePath = $this->container->getParameter('app.root') . \DIRECTORY_SEPARATOR . 'core';
- // @todo once PHPUnit 10 is no longer used, remove the condition.
- // @see https://www.drupal.org/project/drupal/issues/3497116
- if (RunnerVersion::getMajor() >= 11) {
- $configurationFilePath .= \DIRECTORY_SEPARATOR . '.phpunit-next.xml';
- }
-
- $phpUnitTestDiscovery = new PhpUnitTestDiscovery($configurationFilePath);
-
- $phpUnitList = $phpUnitTestDiscovery->findAllClassFiles($extension, $directory);
-
- // Downgrade results to make them comparable, working around bugs and
- // additions.
- // 1. TestDiscovery discovers non-test classes that PHPUnit does not.
- $internalList = array_intersect_key($internalList, $phpUnitList);
-
- $this->assertEquals($internalList, $phpUnitList);
- }
-
- /**
- * Provides test data to ::testEquality.
- */
- public static function argumentsProvider(): \Generator {
- yield 'All tests' => [];
- yield 'Extension: system' => ['extension' => 'system'];
- yield 'Extension: system, directory' => [
- 'extension' => 'system',
- 'directory' => 'core/modules/system/tests/src',
- ];
- }
-
-}
diff --git a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiGetTestClassesTest.php b/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiGetTestClassesTest.php
deleted file mode 100644
index 32d21e3e6c39..000000000000
--- a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitApiGetTestClassesTest.php
+++ /dev/null
@@ -1,109 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-namespace Drupal\KernelTests\Core\Test;
-
-use Drupal\Core\Test\PhpUnitTestDiscovery;
-use Drupal\Core\Test\TestDiscovery;
-use Drupal\KernelTests\KernelTestBase;
-use Drupal\TestTools\PhpUnitCompatibility\RunnerVersion;
-use PHPUnit\Framework\Attributes\CoversClass;
-use PHPUnit\Framework\Attributes\DataProvider;
-use PHPUnit\Framework\Attributes\Group;
-use PHPUnit\Framework\Attributes\IgnoreDeprecations;
-
-/**
- * Tests ::getTestClasses() between TestDiscovery and PhpPUnitTestDiscovery.
- *
- * PhpPUnitTestDiscovery uses PHPUnit API to build the list of test classes,
- * while TestDiscovery uses Drupal legacy code.
- */
-#[CoversClass(PhpUnitTestDiscovery::class)]
-#[Group('TestSuites')]
-#[Group('Test')]
-#[Group('#slow')]
-class PhpUnitApiGetTestClassesTest extends KernelTestBase {
-
- /**
- * Checks that Drupal legacy and PHPUnit API based discoveries are equal.
- */
- #[DataProvider('argumentsProvider')]
- #[IgnoreDeprecations]
- public function testEquality(array $suites, ?string $extension = NULL, ?string $directory = NULL): void {
- $testDiscovery = new TestDiscovery(
- $this->container->getParameter('app.root'),
- $this->container->get('class_loader')
- );
- $internalList = $testDiscovery->getTestClasses($extension, $suites, $directory);
-
- // Location of PHPUnit configuration file.
- $configurationFilePath = $this->container->getParameter('app.root') . \DIRECTORY_SEPARATOR . 'core';
- // @todo once PHPUnit 10 is no longer used, remove the condition.
- // @see https://www.drupal.org/project/drupal/issues/3497116
- if (RunnerVersion::getMajor() >= 11) {
- $configurationFilePath .= \DIRECTORY_SEPARATOR . '.phpunit-next.xml';
- }
-
- $phpUnitTestDiscovery = new PhpUnitTestDiscovery($configurationFilePath);
-
- $phpUnitList = $phpUnitTestDiscovery->getTestClasses($extension, $suites, $directory);
-
- // Downgrade results to make them comparable, working around bugs and
- // additions.
- // 1. Remove TestDiscovery empty groups.
- $internalList = array_filter($internalList);
- // 2. Remove TestDiscovery '##no-group-annotations' group.
- unset($internalList['##no-group-annotations']);
- // 3. Remove 'file' and 'tests_count' keys from PHPUnit results.
- foreach ($phpUnitList as &$group) {
- foreach ($group as &$testClass) {
- unset($testClass['file']);
- unset($testClass['tests_count']);
- }
- }
- // 4. Remove from PHPUnit results groups not found by TestDiscovery.
- $phpUnitList = array_intersect_key($phpUnitList, $internalList);
- // 5. Remove from PHPUnit groups classes not found by TestDiscovery.
- foreach ($phpUnitList as $groupName => &$group) {
- $group = array_intersect_key($group, $internalList[$groupName]);
- }
- // 6. Remove from PHPUnit test classes groups not found by TestDiscovery.
- foreach ($phpUnitList as $groupName => &$group) {
- foreach ($group as $testClassName => &$testClass) {
- $testClass['groups'] = array_intersect_key($testClass['groups'], $internalList[$groupName][$testClassName]['groups']);
- }
- }
-
- $this->assertEquals($internalList, $phpUnitList);
- }
-
- /**
- * Provides test data to ::testEquality.
- */
- public static function argumentsProvider(): \Generator {
- yield 'All tests' => ['suites' => []];
- yield 'Testsuite: functional-javascript' => ['suites' => ['PHPUnit-FunctionalJavascript']];
- yield 'Testsuite: functional' => ['suites' => ['PHPUnit-Functional']];
- yield 'Testsuite: kernel' => ['suites' => ['PHPUnit-Kernel']];
- yield 'Testsuite: unit' => ['suites' => ['PHPUnit-Unit']];
- yield 'Testsuite: unit-component' => ['suites' => ['PHPUnit-Unit-Component']];
- yield 'Testsuite: build' => ['suites' => ['PHPUnit-Build']];
- yield 'Extension: system' => ['suites' => [], 'extension' => 'system'];
- yield 'Extension: system, testsuite: unit' => [
- 'suites' => ['PHPUnit-Unit'],
- 'extension' => 'system',
- ];
- yield 'Extension: system, directory' => [
- 'suites' => [],
- 'extension' => 'system',
- 'directory' => 'core/modules/system/tests/src',
- ];
- yield 'Extension: system, testsuite: unit, directory' => [
- 'suites' => ['PHPUnit-Unit'],
- 'extension' => 'system',
- 'directory' => 'core/modules/system/tests/src',
- ];
- }
-
-}
diff --git a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitTestDiscoveryTest.php b/core/tests/Drupal/KernelTests/Core/Test/PhpUnitTestDiscoveryTest.php
index d8534458049c..705981f75079 100644
--- a/core/tests/Drupal/KernelTests/Core/Test/PhpUnitTestDiscoveryTest.php
+++ b/core/tests/Drupal/KernelTests/Core/Test/PhpUnitTestDiscoveryTest.php
@@ -7,8 +7,6 @@ namespace Drupal\KernelTests\Core\Test;
use Drupal\Core\Test\TestDiscovery;
use Drupal\KernelTests\KernelTestBase;
use Drupal\TestTools\PhpUnitCompatibility\RunnerVersion;
-use PHPUnit\Framework\Attributes\Group;
-use PHPUnit\Framework\Attributes\IgnoreDeprecations;
use PHPUnit\TextUI\Configuration\Builder;
use PHPUnit\TextUI\Configuration\TestSuiteBuilder;
use Symfony\Component\Process\Process;
@@ -24,10 +22,11 @@ use Symfony\Component\Process\Process;
* list thus generated, with the list generated by
* \Drupal\Core\Test\TestDiscovery, which is used by run-tests.sh, to ensure
* both methods will run the same tests,
+ *
+ * @group TestSuites
+ * @group Test
+ * @group #slow
*/
-#[Group('TestSuites')]
-#[Group('Test')]
-#[Group('#slow')]
class PhpUnitTestDiscoveryTest extends KernelTestBase {
private const TEST_LIST_MISMATCH_MESSAGE =
@@ -62,7 +61,6 @@ class PhpUnitTestDiscoveryTest extends KernelTestBase {
/**
* Tests equality of test discovery between run-tests.sh and PHPUnit CLI.
*/
- #[IgnoreDeprecations]
public function testPhpUnitTestDiscoveryEqualsInternal(): void {
// Drupal's test discovery, used by run-tests.sh.
$testDiscovery = new TestDiscovery(
@@ -78,19 +76,11 @@ class PhpUnitTestDiscoveryTest extends KernelTestBase {
$internalList = array_unique($internalList);
asort($internalList);
- // Location of PHPUnit configuration file.
- $configurationFilePath = $this->root . \DIRECTORY_SEPARATOR . 'core';
- // @todo once PHPUnit 10 is no longer used, remove the condition.
- // @see https://www.drupal.org/project/drupal/issues/3497116
- if (RunnerVersion::getMajor() >= 11) {
- $configurationFilePath .= \DIRECTORY_SEPARATOR . '.phpunit-next.xml';
- }
-
// PHPUnit's test discovery - via CLI execution.
$process = new Process([
'vendor/bin/phpunit',
'--configuration',
- $configurationFilePath,
+ 'core',
'--list-tests-xml',
$this->xmlOutputFile,
], $this->root);
@@ -123,8 +113,14 @@ class PhpUnitTestDiscoveryTest extends KernelTestBase {
// Check against Drupal's discovery.
$this->assertEquals(implode("\n", $phpUnitClientList), implode("\n", $internalList), self::TEST_LIST_MISMATCH_MESSAGE);
+ // @todo once PHPUnit 10 is no longer used re-enable the rest of the test.
+ // @see https://www.drupal.org/project/drupal/issues/3497116
+ if (RunnerVersion::getMajor() >= 11) {
+ $this->markTestIncomplete('On PHPUnit 11+ the test triggers warnings due to phpunit.xml setup. Re-enable in https://www.drupal.org/project/drupal/issues/3497116.');
+ }
+
// PHPUnit's test discovery - via API.
- $phpUnitConfiguration = (new Builder())->build(['--configuration', $configurationFilePath]);
+ $phpUnitConfiguration = (new Builder())->build(['--configuration', 'core']);
$phpUnitTestSuite = (new TestSuiteBuilder())->build($phpUnitConfiguration);
$phpUnitApiList = [];
foreach ($phpUnitTestSuite->tests() as $testSuite) {
diff --git a/core/modules/block_content/tests/src/Unit/Access/AccessGroupAndTest.php b/core/tests/Drupal/Tests/Core/Access/AccessGroupAndTest.php
index b9fd73b49fa6..c3116c6f4988 100644
--- a/core/modules/block_content/tests/src/Unit/Access/AccessGroupAndTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/AccessGroupAndTest.php
@@ -2,9 +2,9 @@
declare(strict_types=1);
-namespace Drupal\Tests\block_content\Unit\Access;
+namespace Drupal\Tests\Core\Access;
-use Drupal\block_content\Access\AccessGroupAnd;
+use Drupal\Core\Access\AccessGroupAnd;
use Drupal\Core\Access\AccessResult;
use Drupal\Core\Session\AccountInterface;
use Drupal\Tests\UnitTestCase;
@@ -12,7 +12,7 @@ use Drupal\Tests\UnitTestCase;
/**
* Tests accessible groups.
*
- * @group block_content
+ * @group Access
*/
class AccessGroupAndTest extends UnitTestCase {
@@ -27,7 +27,7 @@ class AccessGroupAndTest extends UnitTestCase {
}
/**
- * @covers \Drupal\block_content\Access\AccessGroupAnd
+ * @covers \Drupal\Core\Access\AccessGroupAnd
*/
public function testGroups(): void {
$allowedAccessible = $this->createAccessibleDouble(AccessResult::allowed());
diff --git a/core/modules/block_content/tests/src/Unit/Access/AccessibleTestingTrait.php b/core/tests/Drupal/Tests/Core/Access/AccessibleTestingTrait.php
index a407e2388754..cf6d663a91a7 100644
--- a/core/modules/block_content/tests/src/Unit/Access/AccessibleTestingTrait.php
+++ b/core/tests/Drupal/Tests/Core/Access/AccessibleTestingTrait.php
@@ -2,7 +2,7 @@
declare(strict_types=1);
-namespace Drupal\Tests\block_content\Unit\Access;
+namespace Drupal\Tests\Core\Access;
use Drupal\Core\Access\AccessibleInterface;
use Drupal\Core\Access\AccessResultInterface;
diff --git a/core/modules/block_content/tests/src/Unit/Access/DependentAccessTest.php b/core/tests/Drupal/Tests/Core/Access/DependentAccessTest.php
index 55c9a89a10ca..43e924087ab3 100644
--- a/core/modules/block_content/tests/src/Unit/Access/DependentAccessTest.php
+++ b/core/tests/Drupal/Tests/Core/Access/DependentAccessTest.php
@@ -2,19 +2,19 @@
declare(strict_types=1);
-namespace Drupal\Tests\block_content\Unit\Access;
+namespace Drupal\Tests\Core\Access;
-use Drupal\block_content\Access\AccessGroupAnd;
+use Drupal\Core\Access\AccessGroupAnd;
use Drupal\Core\Access\AccessResult;
-use Drupal\block_content\Access\RefinableDependentAccessInterface;
-use Drupal\block_content\Access\RefinableDependentAccessTrait;
+use Drupal\Core\Access\RefinableDependentAccessInterface;
+use Drupal\Core\Access\RefinableDependentAccessTrait;
use Drupal\Core\Session\AccountInterface;
use Drupal\Tests\UnitTestCase;
/**
- * @coversDefaultClass \Drupal\block_content\Access\RefinableDependentAccessTrait
+ * @coversDefaultClass \Drupal\Core\Access\RefinableDependentAccessTrait
*
- * @group block_content
+ * @group Access
*/
class DependentAccessTest extends UnitTestCase {
use AccessibleTestingTrait;
@@ -91,7 +91,7 @@ class DependentAccessTest extends UnitTestCase {
$this->assertEquals('Because I said so', $accessResult->getReason());
$testRefinable->addAccessDependency($this->neutral);
- /** @var \Drupal\block_content\Access\AccessGroupAnd $dependency */
+ /** @var \Drupal\Core\Access\AccessGroupAnd $dependency */
$dependency = $testRefinable->getAccessDependency();
// Ensure the new dependency create a new AND group when merged.
$this->assertInstanceOf(AccessGroupAnd::class, $dependency);
@@ -121,7 +121,7 @@ class DependentAccessTest extends UnitTestCase {
}
$testRefinable->addAccessDependency($this->neutral);
- /** @var \Drupal\block_content\Access\AccessGroupAnd $dependency */
+ /** @var \Drupal\Core\Access\AccessGroupAnd $dependency */
$dependency = $testRefinable->getAccessDependency();
// Ensure the new dependency is merged with the existing group.
@@ -142,7 +142,7 @@ class DependentAccessTest extends UnitTestCase {
* mergeAccessDependency() first. A call to either should behave the same on a
* new RefinableDependentAccessInterface object.
*/
- public static function providerTestSetFirst() {
+ public static function providerTestSetFirst(): array {
return [
[TRUE],
[FALSE],
diff --git a/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php b/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php
index c910a3c99c77..7af0c490d074 100644
--- a/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php
+++ b/core/tests/Drupal/Tests/Core/DependencyInjection/Compiler/BackendCompilerPassTest.php
@@ -4,8 +4,10 @@ declare(strict_types=1);
namespace Drupal\Tests\Core\DependencyInjection\Compiler;
+use Drupal\Core\Database\Connection;
use Drupal\Core\DependencyInjection\Compiler\BackendCompilerPass;
use Drupal\Tests\UnitTestCase;
+use PHPUnit\Framework\MockObject\MockObject;
use Symfony\Component\DependencyInjection\Alias;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\DependencyInjection\Definition;
@@ -92,6 +94,16 @@ class BackendCompilerPassTest extends UnitTestCase {
$container->setDefinition('DriverTestMysql.service', new Definition(__NAMESPACE__ . '\\ServiceClassDriverTestMysql'));
$this->backendPass->process($container);
$this->assertEquals($prefix . 'DriverTestMysql', get_class($container->get('service')));
+
+ // Verify that if the container has a default_backend parameter,
+ // and there is a service named ".my-service", the right alias is created.
+ $container = $this->getMockDriverContainerWithDefaultBackendParameterArgumentAndDotPrefixedService();
+ $this->backendPass->process($container);
+
+ // Verify that if the db service returns no driver, no invalid aliases are
+ // created.
+ $container = $this->getMockDriverContainerWithNullDriverBackend();
+ $this->backendPass->process($container);
}
/**
@@ -154,6 +166,82 @@ class BackendCompilerPassTest extends UnitTestCase {
return $container;
}
+ /**
+ * Creates a container with a database mock definition in it.
+ *
+ * This mock won't declare a driver nor databaseType to ensure no invalid
+ * aliases are set.
+ *
+ * @return \Symfony\Component\DependencyInjection\ContainerBuilder
+ * The container with a mock database service in it.
+ */
+ protected function getMockDriverContainerWithNullDriverBackend(): ContainerBuilder&MockObject {
+ $container = $this->getMockBuilder(ContainerBuilder::class)->getMock();
+ $mock = $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->getMock();
+ $mock->expects($this->once())
+ ->method('driver')
+ ->willReturn(NULL);
+ $mock->expects($this->once())
+ ->method('databaseType')
+ ->willReturn(NULL);
+ $container->expects($this->any())
+ ->method('get')
+ ->with('database')
+ ->willReturn($mock);
+ $container->expects($this->once())
+ ->method('findTaggedServiceIds')
+ ->willReturn(['fakeService' => ['class' => 'fakeServiceClass']]);
+ $container->expects($this->never())
+ ->method('hasDefinition')
+ ->with('.fakeService')
+ ->willReturn(TRUE);
+ $container->expects($this->never())
+ ->method('setAlias');
+ return $container;
+ }
+
+ /**
+ * Creates a container with a database mock definition in it.
+ *
+ * This mock container has a default_backend parameter and a dot-prefixed
+ * service to verify the right aliases are set.
+ *
+ * @return \Symfony\Component\DependencyInjection\ContainerBuilder
+ * The container with a mock database service in it.
+ */
+ protected function getMockDriverContainerWithDefaultBackendParameterArgumentAndDotPrefixedService(): ContainerBuilder&MockObject {
+ $container = $this->getMockBuilder(ContainerBuilder::class)->getMock();
+ $container->expects($this->once())
+ ->method('hasParameter')
+ ->with('default_backend')
+ ->willReturn(TRUE);
+ $container->expects($this->once())
+ ->method('getParameter')
+ ->with('default_backend')
+ ->willReturn('a_valid_default_backend');
+
+ $mock = $this->getMockBuilder(Connection::class)->disableOriginalConstructor()->getMock();
+ $mock->expects($this->never())
+ ->method('driver');
+ $mock->expects($this->never())
+ ->method('databaseType');
+ $container->expects($this->any())
+ ->method('get')
+ ->with('database')
+ ->willReturn($mock);
+ $container->expects($this->once())
+ ->method('findTaggedServiceIds')
+ ->willReturn(['fakeService' => ['class' => 'fakeServiceClass']]);
+ $container->expects($this->once())
+ ->method('hasDefinition')
+ ->with('a_valid_default_backend.fakeService')
+ ->willReturn(TRUE);
+ $container->expects($this->once())
+ ->method('setAlias')
+ ->with('fakeService', new Alias('a_valid_default_backend.fakeService'));
+ return $container;
+ }
+
}
/**
diff --git a/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php b/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
index d0759a4bf082..08fa2eceaf54 100644
--- a/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
+++ b/core/tests/Drupal/Tests/Core/Menu/LocalActionManagerTest.php
@@ -203,8 +203,6 @@ class LocalActionManagerTest extends UnitTestCase {
}
public static function getActionsForRouteProvider() {
- $originalContainer = \Drupal::hasContainer() ? \Drupal::getContainer() : NULL;
-
$cache_contexts_manager = (new Prophet())->prophesize(CacheContextsManager::class);
$cache_contexts_manager->assertValidTokens(Argument::any())
->willReturn(TRUE);
@@ -386,11 +384,6 @@ class LocalActionManagerTest extends UnitTestCase {
],
];
- // Restore the original container if needed.
- if ($originalContainer) {
- \Drupal::setContainer($originalContainer);
- }
-
return $data;
}
diff --git a/core/tests/Drupal/Tests/Core/Test/RunTests/TestFileParserTest.php b/core/tests/Drupal/Tests/Core/Test/RunTests/TestFileParserTest.php
index 9138d54523d6..957b2f61f97b 100644
--- a/core/tests/Drupal/Tests/Core/Test/RunTests/TestFileParserTest.php
+++ b/core/tests/Drupal/Tests/Core/Test/RunTests/TestFileParserTest.php
@@ -6,18 +6,12 @@ namespace Drupal\Tests\Core\Test\RunTests;
use Drupal\Core\Test\RunTests\TestFileParser;
use Drupal\Tests\UnitTestCase;
-use PHPUnit\Framework\Attributes\CoversClass;
-use PHPUnit\Framework\Attributes\DataProvider;
-use PHPUnit\Framework\Attributes\Group;
-use PHPUnit\Framework\Attributes\IgnoreDeprecations;
/**
- * Tests for the deprecated TestFileParser class.
+ * @coversDefaultClass \Drupal\Core\Test\RunTests\TestFileParser
+ * @group Test
+ * @group RunTests
*/
-#[CoversClass(TestFileParser::class)]
-#[Group('Test')]
-#[Group('RunTest')]
-#[IgnoreDeprecations]
class TestFileParserTest extends UnitTestCase {
public static function provideTestFileContents() {
@@ -72,9 +66,9 @@ COMPOUND
}
/**
- * @legacy-covers ::parseContents
+ * @covers ::parseContents
+ * @dataProvider provideTestFileContents
*/
- #[DataProvider('provideTestFileContents')]
public function testParseContents($expected, $contents): void {
$parser = new TestFileParser();
@@ -84,7 +78,7 @@ COMPOUND
}
/**
- * @legacy-covers ::getTestListFromFile
+ * @covers ::getTestListFromFile
*/
public function testGetTestListFromFile(): void {
$parser = new TestFileParser();
diff --git a/core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php b/core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php
index 0fb55e6c7f8a..bfbb4ca2e40d 100644
--- a/core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php
+++ b/core/tests/Drupal/Tests/Core/Test/TestDiscoveryTest.php
@@ -13,23 +13,17 @@ use Drupal\Core\Test\Exception\MissingGroupException;
use Drupal\Core\Test\TestDiscovery;
use Drupal\Tests\UnitTestCase;
use org\bovigo\vfs\vfsStream;
-use PHPUnit\Framework\Attributes\CoversClass;
-use PHPUnit\Framework\Attributes\DataProvider;
-use PHPUnit\Framework\Attributes\Group;
-use PHPUnit\Framework\Attributes\IgnoreDeprecations;
/**
- * Unit tests for TestDiscovery.
+ * @coversDefaultClass \Drupal\Core\Test\TestDiscovery
+ * @group Test
*/
-#[CoversClass(TestDiscovery::class)]
-#[Group('Test')]
-#[IgnoreDeprecations]
class TestDiscoveryTest extends UnitTestCase {
/**
- * @legacy-covers ::getTestInfo
+ * @covers ::getTestInfo
+ * @dataProvider infoParserProvider
*/
- #[DataProvider('infoParserProvider')]
public function testTestInfoParser($expected, $classname, $doc_comment = NULL): void {
$info = TestDiscovery::getTestInfo($classname, $doc_comment);
$this->assertEquals($expected, $info);
@@ -40,14 +34,14 @@ class TestDiscoveryTest extends UnitTestCase {
$tests[] = [
// Expected result.
[
- 'name' => TestDatabaseTest::class,
+ 'name' => static::class,
'group' => 'Test',
- 'groups' => ['Test', 'simpletest', 'Template'],
- 'description' => 'Tests \Drupal\Core\Test\TestDatabase.',
+ 'groups' => ['Test'],
+ 'description' => 'Tests \Drupal\Core\Test\TestDiscovery.',
'type' => 'PHPUnit-Unit',
],
// Classname.
- TestDatabaseTest::class,
+ static::class,
];
// A core unit test.
@@ -223,7 +217,7 @@ class TestDiscoveryTest extends UnitTestCase {
}
/**
- * @legacy-covers ::getTestInfo
+ * @covers ::getTestInfo
*/
public function testTestInfoParserMissingGroup(): void {
$classname = 'Drupal\KernelTests\field\BulkDeleteTest';
@@ -238,7 +232,7 @@ EOT;
}
/**
- * @legacy-covers ::getTestInfo
+ * @covers ::getTestInfo
*/
public function testTestInfoParserMissingSummary(): void {
$classname = 'Drupal\KernelTests\field\BulkDeleteTest';
@@ -317,7 +311,7 @@ EOF;
}
/**
- * @legacy-covers ::getTestClasses
+ * @covers ::getTestClasses
*/
public function testGetTestClasses(): void {
$this->setupVfsWithTestClasses();
@@ -386,7 +380,7 @@ EOF;
}
/**
- * @legacy-covers ::getTestClasses
+ * @covers ::getTestClasses
*/
public function testGetTestClassesWithSelectedTypes(): void {
$this->setupVfsWithTestClasses();
@@ -431,7 +425,7 @@ EOF;
}
/**
- * @legacy-covers ::getTestClasses
+ * @covers ::getTestClasses
*/
public function testGetTestsInProfiles(): void {
$this->setupVfsWithTestClasses();
@@ -460,9 +454,9 @@ EOF;
}
/**
- * @legacy-covers ::getPhpunitTestSuite
+ * @covers ::getPhpunitTestSuite
+ * @dataProvider providerTestGetPhpunitTestSuite
*/
- #[DataProvider('providerTestGetPhpunitTestSuite')]
public function testGetPhpunitTestSuite($classname, $expected): void {
$this->assertEquals($expected, TestDiscovery::getPhpunitTestSuite($classname));
}
@@ -488,7 +482,7 @@ EOF;
/**
* Ensure that classes are not reflected when the docblock is empty.
*
- * @legacy-covers ::getTestInfo
+ * @covers ::getTestInfo
*/
public function testGetTestInfoEmptyDocblock(): void {
// If getTestInfo() performed reflection, it won't be able to find the
@@ -503,7 +497,7 @@ EOF;
/**
* Ensure TestDiscovery::scanDirectory() ignores certain abstract file types.
*
- * @legacy-covers ::scanDirectory
+ * @covers ::scanDirectory
*/
public function testScanDirectoryNoAbstract(): void {
$this->setupVfsWithTestClasses();
diff --git a/core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php b/core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php
index 4e0555eb2ae8..6d24143339e6 100644
--- a/core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php
+++ b/core/tests/Drupal/Tests/Core/Theme/Component/ComponentMetadataTest.php
@@ -4,9 +4,11 @@ declare(strict_types=1);
namespace Drupal\Tests\Core\Theme\Component;
+use Drupal\Core\DependencyInjection\ContainerBuilder;
use Drupal\Core\Theme\Component\ComponentMetadata;
use Drupal\Core\Render\Component\Exception\InvalidComponentException;
use Drupal\Tests\UnitTestCaseTest;
+use PHPUnit\Framework\Attributes\DataProvider;
/**
* Unit tests for the component metadata class.
@@ -18,10 +20,13 @@ class ComponentMetadataTest extends UnitTestCaseTest {
/**
* Tests that the correct data is returned for each property.
- *
- * @dataProvider dataProviderMetadata
*/
- public function testMetadata(array $metadata_info, array $expectations): void {
+ #[DataProvider('dataProviderMetadata')]
+ public function testMetadata(array $metadata_info, array $expectations, bool $missing_schema, ?\Throwable $expectedException = NULL): void {
+ if ($expectedException !== NULL) {
+ $this->expectException($expectedException::class);
+ $this->expectExceptionMessage($expectedException->getMessage());
+ }
$metadata = new ComponentMetadata($metadata_info, 'foo/', FALSE);
$this->assertSame($expectations['path'], $metadata->path);
$this->assertSame($expectations['status'], $metadata->status);
@@ -31,18 +36,23 @@ class ComponentMetadataTest extends UnitTestCaseTest {
/**
* Tests the correct checks when enforcing schemas or not.
- *
- * @dataProvider dataProviderMetadata
*/
- public function testMetadataEnforceSchema(array $metadata_info, array $expectations, bool $missing_schema): void {
+ #[DataProvider('dataProviderMetadata')]
+ public function testMetadataEnforceSchema(array $metadata_info, array $expectations, bool $missing_schema, ?\Throwable $expected_exception = NULL): void {
if ($missing_schema) {
$this->expectException(InvalidComponentException::class);
$this->expectExceptionMessage('The component "' . $metadata_info['id'] . '" does not provide schema information. Schema definitions are mandatory for components declared in modules. For components declared in themes, schema definitions are only mandatory if the "enforce_prop_schemas" key is set to "true" in the theme info file.');
new ComponentMetadata($metadata_info, 'foo/', TRUE);
}
else {
+ if ($expected_exception !== NULL) {
+ $this->expectException($expected_exception::class);
+ $this->expectExceptionMessage($expected_exception->getMessage());
+ }
new ComponentMetadata($metadata_info, 'foo/', TRUE);
- $this->expectNotToPerformAssertions();
+ if ($expected_exception === NULL) {
+ $this->expectNotToPerformAssertions();
+ }
}
}
@@ -71,7 +81,7 @@ class ComponentMetadataTest extends UnitTestCaseTest {
],
TRUE,
],
- 'complete example with schema' => [
+ 'complete example with schema, but no meta:enum' => [
[
'$schema' => 'https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json',
'id' => 'core:my-button',
@@ -136,7 +146,321 @@ class ComponentMetadataTest extends UnitTestCaseTest {
],
FALSE,
],
+ 'complete example with schema, but no matching meta:enum' => [
+ [
+ '$schema' => 'https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json',
+ 'id' => 'core:my-button',
+ 'machineName' => 'my-button',
+ 'path' => 'foo/my-other/path',
+ 'name' => 'Button',
+ 'description' => 'JavaScript enhanced button that tracks the number of times a user clicked it.',
+ 'libraryOverrides' => ['dependencies' => ['core/drupal']],
+ 'group' => 'my-group',
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'properties' => [
+ 'text' => [
+ 'type' => 'string',
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => 'string',
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'fav' => 'Favorite',
+ 'external' => 'External',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'path' => 'my-other/path',
+ 'status' => 'stable',
+ 'thumbnail' => '',
+ 'group' => 'my-group',
+ 'additionalProperties' => FALSE,
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'additionalProperties' => FALSE,
+ 'properties' => [
+ 'text' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'fav' => 'Favorite',
+ 'external' => 'External',
+ ],
+ ],
+ ],
+ ],
+ ],
+ FALSE,
+ new InvalidComponentException('The values for the iconType prop enum in component core:my-button must be defined in meta:enum.'),
+ ],
+ 'complete example with schema (including meta:enum)' => [
+ [
+ '$schema' => 'https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json',
+ 'id' => 'core:my-button',
+ 'machineName' => 'my-button',
+ 'path' => 'foo/my-other/path',
+ 'name' => 'Button',
+ 'description' => 'JavaScript enhanced button that tracks the number of times a user clicked it.',
+ 'libraryOverrides' => ['dependencies' => ['core/drupal']],
+ 'group' => 'my-group',
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'properties' => [
+ 'text' => [
+ 'type' => 'string',
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => 'string',
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'like' => 'Like',
+ 'external' => 'External',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'path' => 'my-other/path',
+ 'status' => 'stable',
+ 'thumbnail' => '',
+ 'group' => 'my-group',
+ 'additionalProperties' => FALSE,
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'additionalProperties' => FALSE,
+ 'properties' => [
+ 'text' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'like' => 'Like',
+ 'external' => 'External',
+ ],
+ ],
+ ],
+ ],
+ ],
+ FALSE,
+ ],
+ 'complete example with schema (including meta:enum and x-translation-context)' => [
+ [
+ '$schema' => 'https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json',
+ 'id' => 'core:my-button',
+ 'machineName' => 'my-button',
+ 'path' => 'foo/my-other/path',
+ 'name' => 'Button',
+ 'description' => 'JavaScript enhanced button that tracks the number of times a user clicked it.',
+ 'libraryOverrides' => ['dependencies' => ['core/drupal']],
+ 'group' => 'my-group',
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'properties' => [
+ 'text' => [
+ 'type' => 'string',
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => 'string',
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'like' => 'Like',
+ 'external' => 'External',
+ ],
+ 'x-translation-context' => 'Icon Type',
+ ],
+ ],
+ ],
+ ],
+ [
+ 'path' => 'my-other/path',
+ 'status' => 'stable',
+ 'thumbnail' => '',
+ 'group' => 'my-group',
+ 'additionalProperties' => FALSE,
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'additionalProperties' => FALSE,
+ 'properties' => [
+ 'text' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Title',
+ 'description' => 'The title for the button',
+ 'minLength' => 2,
+ 'examples' => ['Press', 'Submit now'],
+ ],
+ 'iconType' => [
+ 'type' => ['string', 'object'],
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ 'meta:enum' => [
+ 'power' => 'Power',
+ 'like' => 'Like',
+ 'external' => 'External',
+ ],
+ 'x-translation-context' => 'Icon Type',
+ ],
+ ],
+ ],
+ ],
+ FALSE,
+ ],
+ ];
+ }
+
+ public static function dataProviderEnumOptionsMetadata(): array {
+ $common_schema = [
+ '$schema' => 'https://git.drupalcode.org/project/drupal/-/raw/HEAD/core/assets/schemas/v1/metadata.schema.json',
+ 'id' => 'core:my-button',
+ 'machineName' => 'my-button',
+ 'path' => 'foo/my-other/path',
+ 'name' => 'Button',
+ ];
+ return [
+ 'no meta:enum' => [$common_schema +
+ [
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'properties' => [
+ 'iconType' => [
+ 'type' => 'string',
+ 'title' => 'Icon Type',
+ 'enum' => [
+ 'power',
+ 'like',
+ 'external',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'iconType',
+ [
+ 'power' => 'power',
+ 'like' => 'like',
+ 'external' => 'external',
+ ],
+ '',
+ ],
+ 'meta:enum, with x-translation-context' => [$common_schema +
+ [
+ 'props' => [
+ 'type' => 'object',
+ 'required' => ['text'],
+ 'properties' => [
+ 'target' => [
+ 'type' => 'string',
+ 'title' => 'Icon Type',
+ 'enum' => [
+ '',
+ '_blank',
+ ],
+ 'meta:enum' => [
+ '' => 'Opens in same window',
+ '_blank' => 'Opens in new window',
+ ],
+ 'x-translation-context' => 'Link target',
+ ],
+ ],
+ ],
+ ],
+ 'target',
+ [
+ '' => 'Opens in same window',
+ '_blank' => 'Opens in new window',
+ ],
+ 'Link target',
+ ],
];
}
+ /**
+ * @covers ::getEnumOptions
+ */
+ #[DataProvider('dataProviderEnumOptionsMetadata')]
+ public function testGetEnumOptions(array $metadata_info, string $prop_name, array $expected_values, string $expected_context): void {
+ $translation = $this->getStringTranslationStub();
+ $container = new ContainerBuilder();
+ $container->set('string_translation', $translation);
+ \Drupal::setContainer($container);
+
+ $component_metadata = new ComponentMetadata($metadata_info, 'foo/', TRUE);
+ $options = $component_metadata->getEnumOptions($prop_name);
+ $rendered_options = array_map(fn($value) => (string) $value, $options);
+ $this->assertSame($expected_values, $rendered_options);
+ foreach ($options as $translatable) {
+ $this->assertSame($expected_context, $translatable->getOption('context'));
+ }
+ }
+
}
diff --git a/core/themes/claro/css/base/variables.css b/core/themes/claro/css/base/variables.css
index af4f053bd3b9..54cb0e5becd0 100644
--- a/core/themes/claro/css/base/variables.css
+++ b/core/themes/claro/css/base/variables.css
@@ -12,9 +12,9 @@
--color-white: #fff;
--color-text: var(--color-gray);
--color-text-light: var(--color-gray-500);
- --color-gray-050-o-40: rgba(243, 244, 249, 0.4);
+ --color-gray-050-o-40: rgb(243, 244, 249, 0.4);
/* Secondary. */
- --color-gray-200-o-80: rgba(212, 212, 218, 0.8);
+ --color-gray-200-o-80: rgb(212, 212, 218, 0.8);
--color-maximumred: var(--color-red-500);
--color-sunglow: #ffd23f;
--color-sunglow-shaded: #977405;
@@ -80,7 +80,7 @@
--color-link: var(--color-absolutezero);
--color-link-hover: var(--color-absolutezero-hover);
--color-link-active: var(--color-absolutezero-active);
- --color-divider: rgba(142, 146, 156, 0.5);
+ --color-divider: rgb(142, 146, 156, 0.5);
/*
* Typography.
*/
@@ -124,7 +124,7 @@
/**
* Shadows.
*/
- --shadow-z3: 0 0.875rem 1.875rem rgba(0, 0, 0, 0.1);
+ --shadow-z3: 0 0.875rem 1.875rem rgb(0, 0, 0, 0.1);
/*
* Inputs.
*/
@@ -137,7 +137,7 @@
--input--focus-border-color: var(--color-absolutezero);
--input--error-color: var(--color-maximumred);
--input--error-border-color: var(--color-maximumred);
- --input--disabled-color: rgba(84, 85, 96, 0.6); /* Davy's gray with 0.6 opacity. */
+ --input--disabled-color: rgb(84, 85, 96, 0.6); /* Davy's gray with 0.6 opacity. */
--input--disabled-fg-color: var(--color-gray-800);
--input--disabled-bg-color: #f2f2f3; /* Light gray with 0.3 opacity on white bg. */
--input--disabled-border-color: #bababf; /* Old silver with 0.5 opacity on white bg. */
@@ -166,7 +166,7 @@
--details-summary-shadow-color: var(--color-focus);
--details-summary-focus-border-size: var(--focus-border-size);
--details-desktop-wrapper-padding-start: calc(var(--space-m) + var(--space-s) + var(--space-xs));
- --details-box-shadow: 0 2px 0.25rem rgba(0, 0, 0, 0.1);
+ --details-box-shadow: 0 2px 0.25rem rgb(0, 0, 0, 0.1);
--details-border-size: 1px;
--details-border-size-radius: 2px;
--details-accordion-border-size-radius: var(--base-border-radius);
@@ -205,8 +205,8 @@
--jui-dropdown-bg-color: var(--color-white);
--jui-dropdown--active-fg-color: var(--color-white);
--jui-dropdown--active-bg-color: var(--color-absolutezero);
- --jui-dropdown-border-color: rgba(216, 217, 224, 0.8); /* Light gray with 0.8 opacity. */
- --jui-dropdown-shadow-color: rgba(34, 35, 48, 0.1); /* Text color with 0.1 opacity. */
+ --jui-dropdown-border-color: rgb(216, 217, 224, 0.8); /* Light gray with 0.8 opacity. */
+ --jui-dropdown-shadow-color: rgb(34, 35, 48, 0.1); /* Text color with 0.1 opacity. */
/**
* jQuery.UI dialog.
*/
diff --git a/core/themes/claro/css/base/variables.pcss.css b/core/themes/claro/css/base/variables.pcss.css
index 5376e30b1d81..30b0e12a8f61 100644
--- a/core/themes/claro/css/base/variables.pcss.css
+++ b/core/themes/claro/css/base/variables.pcss.css
@@ -6,9 +6,9 @@
--color-white: #fff;
--color-text: var(--color-gray);
--color-text-light: var(--color-gray-500);
- --color-gray-050-o-40: rgba(243, 244, 249, 0.4);
+ --color-gray-050-o-40: rgb(243, 244, 249, 0.4);
/* Secondary. */
- --color-gray-200-o-80: rgba(212, 212, 218, 0.8);
+ --color-gray-200-o-80: rgb(212, 212, 218, 0.8);
--color-maximumred: var(--color-red-500);
--color-sunglow: #ffd23f;
--color-sunglow-shaded: #977405;
@@ -74,7 +74,7 @@
--color-link: var(--color-absolutezero);
--color-link-hover: var(--color-absolutezero-hover);
--color-link-active: var(--color-absolutezero-active);
- --color-divider: rgba(142, 146, 156, 0.5);
+ --color-divider: rgb(142, 146, 156, 0.5);
/*
* Typography.
*/
@@ -118,7 +118,7 @@
/**
* Shadows.
*/
- --shadow-z3: 0 14px 30px rgba(0, 0, 0, 0.1);
+ --shadow-z3: 0 14px 30px rgb(0, 0, 0, 0.1);
/*
* Inputs.
*/
@@ -131,7 +131,7 @@
--input--focus-border-color: var(--color-absolutezero);
--input--error-color: var(--color-maximumred);
--input--error-border-color: var(--color-maximumred);
- --input--disabled-color: rgba(84, 85, 96, 0.6); /* Davy's gray with 0.6 opacity. */
+ --input--disabled-color: rgb(84, 85, 96, 0.6); /* Davy's gray with 0.6 opacity. */
--input--disabled-fg-color: var(--color-gray-800);
--input--disabled-bg-color: #f2f2f3; /* Light gray with 0.3 opacity on white bg. */
--input--disabled-border-color: #bababf; /* Old silver with 0.5 opacity on white bg. */
@@ -160,7 +160,7 @@
--details-summary-shadow-color: var(--color-focus);
--details-summary-focus-border-size: var(--focus-border-size);
--details-desktop-wrapper-padding-start: calc(var(--space-m) + var(--space-s) + var(--space-xs));
- --details-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ --details-box-shadow: 0 2px 4px rgb(0, 0, 0, 0.1);
--details-border-size: 1px;
--details-border-size-radius: 2px;
--details-accordion-border-size-radius: var(--base-border-radius);
@@ -199,8 +199,8 @@
--jui-dropdown-bg-color: var(--color-white);
--jui-dropdown--active-fg-color: var(--color-white);
--jui-dropdown--active-bg-color: var(--color-absolutezero);
- --jui-dropdown-border-color: rgba(216, 217, 224, 0.8); /* Light gray with 0.8 opacity. */
- --jui-dropdown-shadow-color: rgba(34, 35, 48, 0.1); /* Text color with 0.1 opacity. */
+ --jui-dropdown-border-color: rgb(216, 217, 224, 0.8); /* Light gray with 0.8 opacity. */
+ --jui-dropdown-shadow-color: rgb(34, 35, 48, 0.1); /* Text color with 0.1 opacity. */
/**
* jQuery.UI dialog.
*/
diff --git a/core/themes/claro/css/components/button.css b/core/themes/claro/css/components/button.css
index f7b56bb3923a..313472bba3b8 100644
--- a/core/themes/claro/css/components/button.css
+++ b/core/themes/claro/css/components/button.css
@@ -53,7 +53,7 @@
}
.button:not(:focus) {
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 2px rgb(0, 0, 0, 0.25);
}
.button:hover {
diff --git a/core/themes/claro/css/components/button.pcss.css b/core/themes/claro/css/components/button.pcss.css
index 4500621d316d..136b9d293c6e 100644
--- a/core/themes/claro/css/components/button.pcss.css
+++ b/core/themes/claro/css/components/button.pcss.css
@@ -43,7 +43,7 @@
-webkit-font-smoothing: antialiased; /* 2 */
&:not(:focus) {
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 2px rgb(0, 0, 0, 0.25);
}
&:hover {
diff --git a/core/themes/claro/css/components/card.css b/core/themes/claro/css/components/card.css
index 9d35e7b6c542..ad5f509d29a9 100644
--- a/core/themes/claro/css/components/card.css
+++ b/core/themes/claro/css/components/card.css
@@ -16,7 +16,7 @@
--card-border-color: var(--color-gray-200-o-80);
--card-border-radius-size: var(--base-border-radius);
--card-image-border-radius-size: calc(var(--card-border-radius-size) - var(--card-border-size));
- --card-box-shadow: 0 0.25rem 0.625rem rgba(0, 0, 0, 0.1);
+ --card-box-shadow: 0 0.25rem 0.625rem rgb(0, 0, 0, 0.1);
}
.card {
diff --git a/core/themes/claro/css/components/card.pcss.css b/core/themes/claro/css/components/card.pcss.css
index 2f3db1770f9f..16e09714b87c 100644
--- a/core/themes/claro/css/components/card.pcss.css
+++ b/core/themes/claro/css/components/card.pcss.css
@@ -9,7 +9,7 @@
--card-border-color: var(--color-gray-200-o-80);
--card-border-radius-size: var(--base-border-radius);
--card-image-border-radius-size: calc(var(--card-border-radius-size) - var(--card-border-size));
- --card-box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
+ --card-box-shadow: 0 4px 10px rgb(0, 0, 0, 0.1);
}
.card {
diff --git a/core/themes/claro/css/components/dropbutton.css b/core/themes/claro/css/components/dropbutton.css
index e2e144c60d45..44a0d3e60d8a 100644
--- a/core/themes/claro/css/components/dropbutton.css
+++ b/core/themes/claro/css/components/dropbutton.css
@@ -41,7 +41,7 @@
.dropbutton-wrapper {
display: inline-flex;
border-radius: var(--button-border-radius-size);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 2px rgb(0, 0, 0, 0.25);
}
.form-actions .dropbutton-wrapper,
@@ -166,7 +166,7 @@
.dropbutton__toggle:hover {
color: var(--button-fg-color);
background-color: var(--button--hover-bg-color);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);
}
.dropbutton__toggle:focus {
@@ -288,7 +288,7 @@
text-decoration: none;
color: var(--button-fg-color);
background-color: var(--button--hover-bg-color);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);
}
.dropbutton__item:first-of-type > *:focus:hover,
@@ -355,7 +355,7 @@
.dropbutton__item:first-of-type ~ .dropbutton__item {
border: var(--dropbutton-border-size) solid var(--color-gray-200);
border-bottom: 0;
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 2px 10px rgb(0, 0, 0, 0.15);
}
:is(.dropbutton__item:first-of-type ~ .dropbutton__item) ~ .dropbutton__item {
@@ -386,7 +386,7 @@
border: var(--dropbutton-border-size) solid transparent !important; /* 1 */
border-radius: var(--dropbutton-border-radius-size);
background: var(--color-white);
- box-shadow: 0;
+ box-shadow: none;
font-size: var(--dropbutton-font-size);
font-weight: normal;
line-height: var(--dropbutton-line-height);
diff --git a/core/themes/claro/css/components/dropbutton.pcss.css b/core/themes/claro/css/components/dropbutton.pcss.css
index 87cf45cb1aff..b7d8b7f057a0 100644
--- a/core/themes/claro/css/components/dropbutton.pcss.css
+++ b/core/themes/claro/css/components/dropbutton.pcss.css
@@ -34,7 +34,7 @@
.dropbutton-wrapper {
display: inline-flex;
border-radius: var(--button-border-radius-size);
- box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 1px 2px rgb(0, 0, 0, 0.25);
}
.form-actions .dropbutton-wrapper,
@@ -146,7 +146,7 @@
&:hover {
color: var(--button-fg-color);
background-color: var(--button--hover-bg-color);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);
}
&:focus {
z-index: 2;
@@ -261,7 +261,7 @@
text-decoration: none;
color: var(--button-fg-color);
background-color: var(--button--hover-bg-color);
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.25);
}
& > *:focus:hover,
@@ -325,7 +325,7 @@
.dropbutton__item:first-of-type ~ .dropbutton__item {
border: var(--dropbutton-border-size) solid var(--color-gray-200);
border-bottom: 0;
- box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
+ box-shadow: 0 2px 10px rgb(0, 0, 0, 0.15);
& ~ .dropbutton__item {
border-top: 0;
}
@@ -353,7 +353,7 @@
border: var(--dropbutton-border-size) solid transparent !important; /* 1 */
border-radius: var(--dropbutton-border-radius-size);
background: var(--color-white);
- box-shadow: 0;
+ box-shadow: none;
font-size: var(--dropbutton-font-size);
font-weight: normal;
line-height: var(--dropbutton-line-height);
diff --git a/core/themes/claro/css/components/form--text.css b/core/themes/claro/css/components/form--text.css
index 643c8209221e..80b54bc6bd2b 100644
--- a/core/themes/claro/css/components/form--text.css
+++ b/core/themes/claro/css/components/form--text.css
@@ -47,6 +47,7 @@
.form-element--type-date,
.form-element--type-time {
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
vertical-align: -webkit-baseline-middle; /* Prevent iOS input jump while filling. */
}
diff --git a/core/themes/claro/css/components/form--text.pcss.css b/core/themes/claro/css/components/form--text.pcss.css
index bbea06397a0d..737765a70ff7 100644
--- a/core/themes/claro/css/components/form--text.pcss.css
+++ b/core/themes/claro/css/components/form--text.pcss.css
@@ -38,6 +38,7 @@
*/
.form-element--type-date,
.form-element--type-time {
+ /* stylelint-disable-next-line declaration-property-value-no-unknown */
vertical-align: -webkit-baseline-middle; /* Prevent iOS input jump while filling. */
}
.form-element--type-date {
diff --git a/core/themes/claro/css/components/system-admin--modules.css b/core/themes/claro/css/components/system-admin--modules.css
index ebf5216ad9a7..1c566a73b20e 100644
--- a/core/themes/claro/css/components/system-admin--modules.css
+++ b/core/themes/claro/css/components/system-admin--modules.css
@@ -20,7 +20,7 @@
padding: 0.25rem var(--space-l);
border: 1px solid var(--color-gray-200);
border-radius: 2px 2px 0 0;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.1);
}
/* Visually hide the module filter input description. */
diff --git a/core/themes/claro/css/components/system-admin--modules.pcss.css b/core/themes/claro/css/components/system-admin--modules.pcss.css
index 0e42fa310d1b..b442cb099543 100644
--- a/core/themes/claro/css/components/system-admin--modules.pcss.css
+++ b/core/themes/claro/css/components/system-admin--modules.pcss.css
@@ -13,7 +13,7 @@
padding: 0.25rem var(--space-l);
border: 1px solid var(--color-gray-200);
border-radius: 2px 2px 0 0;
- box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 2px 4px rgb(0, 0, 0, 0.1);
}
/* Visually hide the module filter input description. */
diff --git a/core/themes/claro/css/components/system-status-counter.css b/core/themes/claro/css/components/system-status-counter.css
index 764a9176a6f9..2c2f0764adb3 100644
--- a/core/themes/claro/css/components/system-status-counter.css
+++ b/core/themes/claro/css/components/system-status-counter.css
@@ -36,8 +36,7 @@
background-size: 2.5rem;
}
[dir="rtl"] .system-status-counter__status-icon::before {
- border-inline-end: 1px solid #e6e4df;
- border-inline-start: 0;
+ background-position: left center;
}
@media (forced-colors: active) {
.system-status-counter__status-icon::before {
diff --git a/core/themes/claro/css/components/system-status-counter.pcss.css b/core/themes/claro/css/components/system-status-counter.pcss.css
index f61ca3a374ae..7f9e7a4f9d74 100644
--- a/core/themes/claro/css/components/system-status-counter.pcss.css
+++ b/core/themes/claro/css/components/system-status-counter.pcss.css
@@ -31,8 +31,7 @@
background-size: 40px;
[dir="rtl"] & {
- border-inline-end: 1px solid #e6e4df;
- border-inline-start: 0;
+ background-position: left center;
}
@media (forced-colors: active) {
diff --git a/core/themes/claro/css/components/tabs.css b/core/themes/claro/css/components/tabs.css
index 438e796d775a..8c575e2b2bae 100644
--- a/core/themes/claro/css/components/tabs.css
+++ b/core/themes/claro/css/components/tabs.css
@@ -20,8 +20,8 @@
--tabs-link-height: 3rem; /* 48px */
--tabs-secondary-link-height: 2.5rem; /* 40px */
--tabs-base-border: 1px solid var(--color-gray-200);
- --tabs-base-shadow: 0 2px 0.25rem rgba(0, 0, 0, 0.1);
- --tabs-trigger-border: 1px solid rgba(216, 217, 224, 0.8);
+ --tabs-base-shadow: 0 2px 0.25rem rgb(0, 0, 0, 0.1);
+ --tabs-trigger-border: 1px solid rgb(216, 217, 224, 0.8);
--tabs--hover-bg-color: var(--color-bgblue-active);
}
diff --git a/core/themes/claro/css/components/tabs.pcss.css b/core/themes/claro/css/components/tabs.pcss.css
index 25a46ffec5fa..81dcb7b65d25 100644
--- a/core/themes/claro/css/components/tabs.pcss.css
+++ b/core/themes/claro/css/components/tabs.pcss.css
@@ -13,8 +13,8 @@
--tabs-link-height: 3rem; /* 48px */
--tabs-secondary-link-height: 2.5rem; /* 40px */
--tabs-base-border: 1px solid var(--color-gray-200);
- --tabs-base-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
- --tabs-trigger-border: 1px solid rgba(216, 217, 224, 0.8);
+ --tabs-base-shadow: 0 2px 4px rgb(0, 0, 0, 0.1);
+ --tabs-trigger-border: 1px solid rgb(216, 217, 224, 0.8);
--tabs--hover-bg-color: var(--color-bgblue-active);
}
diff --git a/core/themes/claro/css/theme/toolbar.theme.css b/core/themes/claro/css/theme/toolbar.theme.css
index 9285456847b9..ebb846490f57 100644
--- a/core/themes/claro/css/theme/toolbar.theme.css
+++ b/core/themes/claro/css/theme/toolbar.theme.css
@@ -14,10 +14,10 @@
font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
/* Set base font size to 13px based on root ems. */
font-size: 0.8125rem;
- -moz-tap-highlight-color: rgba(0, 0, 0, 0);
- -o-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-tap-highlight-color: rgb(0, 0, 0, 0);
+ -o-tap-highlight-color: rgb(0, 0, 0, 0);
+ -webkit-tap-highlight-color: rgb(0, 0, 0, 0);
+ tap-highlight-color: rgb(0, 0, 0, 0);
-moz-touch-callout: none;
-o-touch-callout: none;
-webkit-touch-callout: none;
@@ -41,10 +41,10 @@
.toolbar .toolbar-bar {
color: #ddd;
background-color: #0f0f0f;
- box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-bar {
- box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-bar .toolbar-item {
color: #fff;
@@ -54,7 +54,7 @@
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:hover,
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus {
- background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+ background-image: linear-gradient(rgb(255, 255, 255, 0.125) 20%, transparent 200%);
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active {
color: #000;
@@ -77,19 +77,19 @@
.toolbar .toolbar-tray-vertical {
border-right: 1px solid #aaa; /* LTR */
background-color: #f5f5f5;
- box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 5px 2px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-tray-vertical {
border-right: 0 none;
border-left: 1px solid #aaa;
- box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 5px 2px rgb(0, 0, 0, 0.3333);
}
.toolbar-horizontal .toolbar-tray {
border-bottom: 1px solid #aaa;
- box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -2px 1px 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar-horizontal .toolbar-tray {
- box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 2px 1px 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-tray-horizontal .toolbar-tray {
background-color: #f5f5f5;
diff --git a/core/themes/claro/css/theme/toolbar.theme.pcss.css b/core/themes/claro/css/theme/toolbar.theme.pcss.css
index c732bdb270c3..898fe544b49a 100644
--- a/core/themes/claro/css/theme/toolbar.theme.pcss.css
+++ b/core/themes/claro/css/theme/toolbar.theme.pcss.css
@@ -8,10 +8,10 @@
font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
/* Set base font size to 13px based on root ems. */
font-size: 0.8125rem;
- -moz-tap-highlight-color: rgba(0, 0, 0, 0);
- -o-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-tap-highlight-color: rgb(0, 0, 0, 0);
+ -o-tap-highlight-color: rgb(0, 0, 0, 0);
+ -webkit-tap-highlight-color: rgb(0, 0, 0, 0);
+ tap-highlight-color: rgb(0, 0, 0, 0);
-moz-touch-callout: none;
-o-touch-callout: none;
-webkit-touch-callout: none;
@@ -34,10 +34,10 @@
.toolbar .toolbar-bar {
color: #ddd;
background-color: #0f0f0f;
- box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-bar {
- box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-bar .toolbar-item {
color: #fff;
@@ -47,7 +47,7 @@
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:hover,
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus {
- background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+ background-image: linear-gradient(rgb(255, 255, 255, 0.125) 20%, transparent 200%);
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active {
color: #000;
@@ -71,19 +71,19 @@
.toolbar .toolbar-tray-vertical {
border-right: 1px solid #aaa; /* LTR */
background-color: #f5f5f5;
- box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 5px 2px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-tray-vertical {
border-right: 0 none;
border-left: 1px solid #aaa;
- box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 5px 2px rgb(0, 0, 0, 0.3333);
}
.toolbar-horizontal .toolbar-tray {
border-bottom: 1px solid #aaa;
- box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -2px 1px 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar-horizontal .toolbar-tray {
- box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 2px 1px 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-tray-horizontal .toolbar-tray {
background-color: #f5f5f5;
diff --git a/core/themes/claro/css/theme/views_ui.admin.theme.css b/core/themes/claro/css/theme/views_ui.admin.theme.css
index 50cbeabd2c41..f22f51fbcadf 100644
--- a/core/themes/claro/css/theme/views_ui.admin.theme.css
+++ b/core/themes/claro/css/theme/views_ui.admin.theme.css
@@ -46,12 +46,12 @@
background:
linear-gradient(-90deg, #fff 0, #e8e8e8 100%) no-repeat,
repeat-y;
- box-shadow: 0 0 0 rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 0 rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:hover {
border-color: #d0d0d0;
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 1px rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:active {
@@ -582,7 +582,7 @@ td.group-title {
padding: 0.3rem 0.8rem;
border: 1px solid #dedfe4;
border-radius: 2px 2px 0 0;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 4px 20px rgb(0, 0, 0, 0.1);
}
.views-ui-dialog .form-item-selected {
@@ -611,7 +611,7 @@ td.group-title {
width: 100%;
height: 0.1875rem;
content: "";
- background: linear-gradient(to bottom, rgba(80, 81, 86, 0.11) 0%, rgba(18, 19, 20, 0.02) 49%, rgba(18, 19, 20, 0) 100%);
+ background: linear-gradient(to bottom, rgb(80, 81, 86, 0.11) 0%, rgb(18, 19, 20, 0.02) 49%, rgb(18, 19, 20, 0) 100%);
}
.views-ui-dialog .views-offset-top > * {
diff --git a/core/themes/claro/css/theme/views_ui.admin.theme.pcss.css b/core/themes/claro/css/theme/views_ui.admin.theme.pcss.css
index 46c8e8b5e839..53271964bae2 100644
--- a/core/themes/claro/css/theme/views_ui.admin.theme.pcss.css
+++ b/core/themes/claro/css/theme/views_ui.admin.theme.pcss.css
@@ -33,11 +33,11 @@
background:
linear-gradient(-90deg, #fff 0, #e8e8e8 100%) no-repeat,
repeat-y;
- box-shadow: 0 0 0 rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 0 rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:hover {
border-color: #d0d0d0;
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 1px rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:active {
border-color: #c0c0c0;
@@ -474,7 +474,7 @@ td.group-title {
padding: 0.3rem 0.8rem;
border: 1px solid #dedfe4;
border-radius: 2px 2px 0 0;
- box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 4px 20px rgb(0, 0, 0, 0.1);
}
.views-ui-dialog .form-item-selected {
margin: 0;
@@ -498,7 +498,7 @@ td.group-title {
width: 100%;
height: 3px;
content: "";
- background: linear-gradient(to bottom, rgba(80, 81, 86, 0.11) 0%, rgba(18, 19, 20, 0.02) 49%, rgba(18, 19, 20, 0) 100%);
+ background: linear-gradient(to bottom, rgb(80, 81, 86, 0.11) 0%, rgb(18, 19, 20, 0.02) 49%, rgb(18, 19, 20, 0) 100%);
}
.views-ui-dialog .views-offset-top > * {
diff --git a/core/themes/olivero/css/components/ajax-progress.module.css b/core/themes/olivero/css/components/ajax-progress.module.css
index b80c2c0edbc5..39ef53e0b858 100644
--- a/core/themes/olivero/css/components/ajax-progress.module.css
+++ b/core/themes/olivero/css/components/ajax-progress.module.css
@@ -61,7 +61,7 @@
border: 1px solid var(--color--gray-70);
border-radius: 3.5rem;
background-color: var(--color--white);
- box-shadow: 0 0.25rem 0.625rem rgba(34, 35, 48, 0.1); /* LTR */
+ box-shadow: 0 0.25rem 0.625rem rgb(34, 35, 48, 0.1); /* LTR */
}
.ajax-progress-fullscreen::before {
@@ -76,7 +76,7 @@
}
[dir="rtl"] .ajax-progress-fullscreen {
- box-shadow: 0 -0.25rem 0.625rem rgba(34, 35, 48, 0.1);
+ box-shadow: 0 -0.25rem 0.625rem rgb(34, 35, 48, 0.1);
}
/**
diff --git a/core/themes/olivero/css/components/ajax-progress.module.pcss.css b/core/themes/olivero/css/components/ajax-progress.module.pcss.css
index adbe812b0ccd..6efbc83ec706 100644
--- a/core/themes/olivero/css/components/ajax-progress.module.pcss.css
+++ b/core/themes/olivero/css/components/ajax-progress.module.pcss.css
@@ -54,7 +54,7 @@
border: 1px solid var(--color--gray-70);
border-radius: 3.5rem;
background-color: var(--color--white);
- box-shadow: 0 0.25rem 0.625rem rgba(34, 35, 48, 0.1); /* LTR */
+ box-shadow: 0 0.25rem 0.625rem rgb(34, 35, 48, 0.1); /* LTR */
&::before {
position: absolute;
@@ -69,7 +69,7 @@
}
[dir="rtl"] .ajax-progress-fullscreen {
- box-shadow: 0 -0.25rem 0.625rem rgba(34, 35, 48, 0.1);
+ box-shadow: 0 -0.25rem 0.625rem rgb(34, 35, 48, 0.1);
}
/**
diff --git a/core/themes/olivero/css/components/breadcrumb.css b/core/themes/olivero/css/components/breadcrumb.css
index 4dfb61c30ae5..5f4d9d52ba8c 100644
--- a/core/themes/olivero/css/components/breadcrumb.css
+++ b/core/themes/olivero/css/components/breadcrumb.css
@@ -26,7 +26,7 @@
width: var(--sp3);
height: var(--sp2);
content: "";
- background: linear-gradient(to left, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%); /* LTR */
+ background: linear-gradient(to left, var(--color--white) 0%, rgb(255, 255, 255, 0) 100%); /* LTR */
}
@media (min-width: 62.5rem) {
@@ -42,7 +42,7 @@
}
[dir="rtl"] .breadcrumb::after {
- background: linear-gradient(to right, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%);
+ background: linear-gradient(to right, var(--color--white) 0%, rgb(255, 255, 255, 0) 100%);
}
.breadcrumb__content {
diff --git a/core/themes/olivero/css/components/breadcrumb.pcss.css b/core/themes/olivero/css/components/breadcrumb.pcss.css
index 9f07f6cc59c9..d1f84c131c6e 100644
--- a/core/themes/olivero/css/components/breadcrumb.pcss.css
+++ b/core/themes/olivero/css/components/breadcrumb.pcss.css
@@ -19,7 +19,7 @@
width: var(--sp3);
height: var(--sp2);
content: "";
- background: linear-gradient(to left, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%); /* LTR */
+ background: linear-gradient(to left, var(--color--white) 0%, rgb(255, 255, 255, 0) 100%); /* LTR */
@media (--lg) {
content: none;
@@ -32,7 +32,7 @@
}
[dir="rtl"] .breadcrumb::after {
- background: linear-gradient(to right, var(--color--white) 0%, rgba(255, 255, 255, 0) 100%);
+ background: linear-gradient(to right, var(--color--white) 0%, rgb(255, 255, 255, 0) 100%);
}
.breadcrumb__content {
diff --git a/core/themes/olivero/css/components/cke-dialog.css b/core/themes/olivero/css/components/cke-dialog.css
index 7f45209e7eb2..27949ed7d067 100644
--- a/core/themes/olivero/css/components/cke-dialog.css
+++ b/core/themes/olivero/css/components/cke-dialog.css
@@ -11,5 +11,5 @@
*/
select.cke_dialog_ui_input_select {
- appearance: menulist;
+ appearance: auto;
}
diff --git a/core/themes/olivero/css/components/cke-dialog.pcss.css b/core/themes/olivero/css/components/cke-dialog.pcss.css
index 342e585221d4..5371245a353f 100644
--- a/core/themes/olivero/css/components/cke-dialog.pcss.css
+++ b/core/themes/olivero/css/components/cke-dialog.pcss.css
@@ -4,5 +4,5 @@
*/
select.cke_dialog_ui_input_select {
- appearance: menulist;
+ appearance: auto;
}
diff --git a/core/themes/olivero/css/components/dropbutton.pcss.css b/core/themes/olivero/css/components/dropbutton.pcss.css
index 0a30685ea12c..8437d69a573e 100644
--- a/core/themes/olivero/css/components/dropbutton.pcss.css
+++ b/core/themes/olivero/css/components/dropbutton.pcss.css
@@ -27,11 +27,11 @@
padding-inline-end: var(--dropbutton--height);
border-radius: var(--dropbutton--border-radius);
- @nest .dropbutton-single & {
+ .dropbutton-single & {
padding-inline-end: 0;
}
- @nest .dropbutton-wrapper.open & {
+ .dropbutton-wrapper.open & {
border-radius: var(--dropbutton--border-radius) var(--dropbutton--border-radius) 0 0;
}
}
@@ -75,7 +75,7 @@
border-right: solid 2px var(--dropbutton--outline-color);
border-bottom: solid 2px var(--dropbutton--outline-color);
- @nest .dropbutton-wrapper.open & {
+ .dropbutton-wrapper.open & {
transform: translateY(25%) rotate(225deg);
}
}
@@ -119,7 +119,7 @@
}
/* Special rules if there is only one action. */
- @nest .dropbutton-single & {
+ .dropbutton-single & {
&:first-child {
border-right: solid 1px transparent; /* LTR */
border-radius: var(--dropbutton--border-radius);
@@ -151,7 +151,7 @@
color: var(--dropbutton--text-hover-color);
}
- @nest .dropbutton-wrapper.open & {
+ .dropbutton-wrapper.open & {
visibility: visible;
}
}
diff --git a/core/themes/olivero/css/components/form-select.css b/core/themes/olivero/css/components/form-select.css
index 72067ba874ab..47a9e2878b16 100644
--- a/core/themes/olivero/css/components/form-select.css
+++ b/core/themes/olivero/css/components/form-select.css
@@ -80,7 +80,7 @@ select.form-element--small {
select {
padding-inline-end: var(--sp);
background-image: none;
- appearance: listbox; /* Default <select> appearance value for modern browsers. */
+ appearance: auto; /* Default <select> appearance value for modern browsers. */
/* Lets browser set <select> appearance to whatever the browser's default is. */
}
diff --git a/core/themes/olivero/css/components/form-select.pcss.css b/core/themes/olivero/css/components/form-select.pcss.css
index 37d08fd294b7..3269808d1a37 100644
--- a/core/themes/olivero/css/components/form-select.pcss.css
+++ b/core/themes/olivero/css/components/form-select.pcss.css
@@ -70,7 +70,7 @@ select {
@media (forced-colors: active) {
padding-inline-end: var(--sp);
background-image: none;
- appearance: listbox; /* Default <select> appearance value for modern browsers. */
+ appearance: auto; /* Default <select> appearance value for modern browsers. */
/* Lets browser set <select> appearance to whatever the browser's default is. */
@supports (appearance: revert) {
diff --git a/core/themes/olivero/css/components/header-navigation.css b/core/themes/olivero/css/components/header-navigation.css
index 1f070c67e6db..2dfc75b4ba01 100644
--- a/core/themes/olivero/css/components/header-navigation.css
+++ b/core/themes/olivero/css/components/header-navigation.css
@@ -32,7 +32,7 @@
* viewport on short screens. */
border-block-start: solid var(--color--white) calc(var(--sp3) + var(--drupal-displace-offset-top, 0px));
background-color: var(--color--white);
- box-shadow: 0 0 72px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 0 72px rgb(0, 0, 0, 0.1);
}
.header-nav.is-active {
@@ -138,12 +138,12 @@ html.js .header-nav {
background: var(--color--gray-5);
}
+.is-overlay-active .header-nav-overlay {
+ display: block;
+}
+
@media (forced-colors: active) {
.header-nav-overlay {
background: canvastext;
}
}
-
-.is-overlay-active .header-nav-overlay {
- display: block;
-}
diff --git a/core/themes/olivero/css/components/header-navigation.pcss.css b/core/themes/olivero/css/components/header-navigation.pcss.css
index b8b615e87117..ba09c1d9f55f 100644
--- a/core/themes/olivero/css/components/header-navigation.pcss.css
+++ b/core/themes/olivero/css/components/header-navigation.pcss.css
@@ -27,7 +27,7 @@
* viewport on short screens. */
border-block-start: solid var(--color--white) calc(var(--sp3) + var(--drupal-displace-offset-top, 0px));
background-color: var(--color--white);
- box-shadow: 0 0 72px rgba(0, 0, 0, 0.1);
+ box-shadow: 0 0 72px rgb(0, 0, 0, 0.1);
&.is-active {
visibility: visible;
@@ -122,11 +122,11 @@ body.is-always-mobile-nav {
opacity: 0.2;
background: var(--color--gray-5);
- @media (forced-colors: active) {
- background: canvastext;
+ .is-overlay-active & {
+ display: block;
}
- @nest .is-overlay-active & {
- display: block;
+ @media (forced-colors: active) {
+ background: canvastext;
}
}
diff --git a/core/themes/olivero/css/components/navigation/nav-primary-wide.css b/core/themes/olivero/css/components/navigation/nav-primary-wide.css
index 2506d46f3bab..6b21c65d67f2 100644
--- a/core/themes/olivero/css/components/navigation/nav-primary-wide.css
+++ b/core/themes/olivero/css/components/navigation/nav-primary-wide.css
@@ -137,7 +137,7 @@
border-left: solid 1px transparent;
border-radius: 0 0 2px 2px;
background: var(--color--white);
- box-shadow: 0 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 0 1px 36px rgb(0, 0, 0, 0.08);
}
body:not(.is-always-mobile-nav) .primary-nav__menu--level-2.is-active-menu-parent {
diff --git a/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css b/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css
index 24d5cdcedf0b..9d67e67556c7 100644
--- a/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css
+++ b/core/themes/olivero/css/components/navigation/nav-primary-wide.pcss.css
@@ -139,7 +139,7 @@ body:not(.is-always-mobile-nav) {
border-left: solid 1px transparent;
border-radius: 0 0 2px 2px;
background: var(--color--white);
- box-shadow: 0 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 0 1px 36px rgb(0, 0, 0, 0.08);
&.is-active-menu-parent {
visibility: visible;
diff --git a/core/themes/olivero/css/components/navigation/nav-primary.pcss.css b/core/themes/olivero/css/components/navigation/nav-primary.pcss.css
index a7f69278ce17..d99048dae82b 100644
--- a/core/themes/olivero/css/components/navigation/nav-primary.pcss.css
+++ b/core/themes/olivero/css/components/navigation/nav-primary.pcss.css
@@ -116,7 +116,7 @@
}
&::after {
- @nest .primary-nav__menu-link:hover & {
+ .primary-nav__menu-link:hover & {
transform: scaleX(1);
}
}
diff --git a/core/themes/olivero/css/components/node-preview-container.css b/core/themes/olivero/css/components/node-preview-container.css
index 2564c4597b96..9b260a9d69fd 100644
--- a/core/themes/olivero/css/components/node-preview-container.css
+++ b/core/themes/olivero/css/components/node-preview-container.css
@@ -15,13 +15,13 @@
padding-inline-start: calc(var(--sp0-5) + var(--drupal-displace-offset-left, 0rem));
padding-inline-end: calc(var(--sp0-5) + var(--drupal-displace-offset-right, 0rem));
background: var(--color--white);
- box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */
+ box-shadow: -36px 1px 36px rgb(0, 0, 0, 0.08); /* LTR */
}
[dir="rtl"] .node-preview-container {
padding-inline-start: calc(var(--sp0-5) + var(--drupal-displace-offset-right, 0rem));
padding-inline-end: calc(var(--sp0-5) + var(--drupal-displace-offset-left, 0rem));
- box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 36px 1px 36px rgb(0, 0, 0, 0.08);
}
.toolbar-vertical.toolbar-tray-open .node-preview-container {
diff --git a/core/themes/olivero/css/components/node-preview-container.pcss.css b/core/themes/olivero/css/components/node-preview-container.pcss.css
index cffcc44f315f..90bd6ca89595 100644
--- a/core/themes/olivero/css/components/node-preview-container.pcss.css
+++ b/core/themes/olivero/css/components/node-preview-container.pcss.css
@@ -10,13 +10,13 @@
padding-inline-start: calc(var(--sp0-5) + var(--drupal-displace-offset-left, 0rem));
padding-inline-end: calc(var(--sp0-5) + var(--drupal-displace-offset-right, 0rem));
background: var(--color--white);
- box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */
+ box-shadow: -36px 1px 36px rgb(0, 0, 0, 0.08); /* LTR */
}
[dir="rtl"] .node-preview-container {
padding-inline-start: calc(var(--sp0-5) + var(--drupal-displace-offset-right, 0rem));
padding-inline-end: calc(var(--sp0-5) + var(--drupal-displace-offset-left, 0rem));
- box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 36px 1px 36px rgb(0, 0, 0, 0.08);
}
.toolbar-vertical.toolbar-tray-open .node-preview-container {
diff --git a/core/themes/olivero/css/components/site-header.css b/core/themes/olivero/css/components/site-header.css
index beb3f4ce6200..17fc4014ecd5 100644
--- a/core/themes/olivero/css/components/site-header.css
+++ b/core/themes/olivero/css/components/site-header.css
@@ -81,13 +81,13 @@
@media (min-width: 75rem) {
.site-header__fixable.is-expanded .site-header__inner {
- box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */
+ box-shadow: -36px 1px 36px rgb(0, 0, 0, 0.08); /* LTR */
}
}
@media (min-width: 75rem) {
[dir="rtl"] .site-header__fixable.is-expanded .site-header__inner {
- box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 36px 1px 36px rgb(0, 0, 0, 0.08);
}
}
diff --git a/core/themes/olivero/css/components/site-header.pcss.css b/core/themes/olivero/css/components/site-header.pcss.css
index 1c3f3ceabbbd..b19216408595 100644
--- a/core/themes/olivero/css/components/site-header.pcss.css
+++ b/core/themes/olivero/css/components/site-header.pcss.css
@@ -77,13 +77,13 @@ html.js body:not(.is-always-mobile-nav) .site-header__inner {
.site-header__fixable.is-expanded .site-header__inner {
@media (--nav) {
- box-shadow: -36px 1px 36px rgba(0, 0, 0, 0.08); /* LTR */
+ box-shadow: -36px 1px 36px rgb(0, 0, 0, 0.08); /* LTR */
}
}
[dir="rtl"] .site-header__fixable.is-expanded .site-header__inner {
@media (--nav) {
- box-shadow: 36px 1px 36px rgba(0, 0, 0, 0.08);
+ box-shadow: 36px 1px 36px rgb(0, 0, 0, 0.08);
}
}
diff --git a/core/themes/olivero/css/components/tabs.css b/core/themes/olivero/css/components/tabs.css
index 0a74fc715130..8eebba05c448 100644
--- a/core/themes/olivero/css/components/tabs.css
+++ b/core/themes/olivero/css/components/tabs.css
@@ -42,13 +42,6 @@
.tabs__tab.is-active {
display: flex;
}
-@media (min-width: 43.75rem) {
- .tabs__tab {
- display: flex;
- margin-block-end: 0;
- margin-inline-start: calc(-1 * var(--tabs-border-width));
- }
-}
/* Show tabs when JavaScript disabled. */
html:not(.js) .tabs__tab {
display: flex;
@@ -66,6 +59,13 @@ html:not(.js) .tabs__tab {
display: flex;
}
}
+@media (min-width: 43.75rem) {
+ .tabs__tab {
+ display: flex;
+ margin-block-end: 0;
+ margin-inline-start: calc(-1 * var(--tabs-border-width));
+ }
+}
.tabs__link {
display: flex;
flex-grow: 1;
diff --git a/core/themes/olivero/css/components/tabs.pcss.css b/core/themes/olivero/css/components/tabs.pcss.css
index 200749bb0150..3c94c2414bed 100644
--- a/core/themes/olivero/css/components/tabs.pcss.css
+++ b/core/themes/olivero/css/components/tabs.pcss.css
@@ -41,30 +41,30 @@
display: flex;
}
- @media (--tabs-layout-switch) {
- display: flex;
- margin-block-end: 0;
- margin-inline-start: calc(-1 * var(--tabs-border-width));
- }
-
/* Show tabs when JavaScript disabled. */
- @nest html:not(.js) & {
+ html:not(.js) & {
display: flex;
}
/* Show tabs when tabs-expanded class is present. */
- @nest .tabs.is-expanded & {
+ .tabs.is-expanded & {
display: flex;
}
/* Secondary tabs will always be expanded. */
- @nest .tabs--secondary & {
+ .tabs--secondary & {
display: block;
@media (--tabs-layout-switch) {
display: flex;
}
}
+
+ @media (--tabs-layout-switch) {
+ display: flex;
+ margin-block-end: 0;
+ margin-inline-start: calc(-1 * var(--tabs-border-width));
+ }
}
.tabs__link {
@@ -121,7 +121,7 @@
}
/* No regular borders or background color for secondary tab links. */
- @nest .tabs--secondary & {
+ .tabs--secondary & {
@media (--tabs-layout-switch) {
border-color: transparent;
background-color: transparent;
@@ -152,7 +152,7 @@
}
/* Button will not work when JavaScript is disabled, so we hide it. */
- @nest html:not(.js) & {
+ html:not(.js) & {
display: none;
}
@@ -182,7 +182,7 @@
&:nth-child(1) {
inset-block-start: 0;
- @nest .tabs__trigger[aria-expanded="true"] & {
+ .tabs__trigger[aria-expanded="true"] & {
inset-block-start: calc(50% + 1px);
transform: rotate(45deg);
}
@@ -191,7 +191,7 @@
&:nth-child(2) {
inset-block-start: calc(50% + 1px);
- @nest .tabs__trigger[aria-expanded="true"] & {
+ .tabs__trigger[aria-expanded="true"] & {
opacity: 0;
}
}
@@ -199,7 +199,7 @@
&:nth-child(3) {
inset-block-start: calc(100% + 2px);
- @nest .tabs__trigger[aria-expanded="true"] & {
+ .tabs__trigger[aria-expanded="true"] & {
inset-block-start: calc(50% + 1px);
transform: rotate(-45deg);
}
diff --git a/core/themes/olivero/css/layout/layout.pcss.css b/core/themes/olivero/css/layout/layout.pcss.css
index eed28ec0716f..3b8e9b80b1df 100644
--- a/core/themes/olivero/css/layout/layout.pcss.css
+++ b/core/themes/olivero/css/layout/layout.pcss.css
@@ -13,7 +13,7 @@
/* This fixes an issue where if the toolbar is open in vertical mode, and
* the mobile navigation is open, the "close" button gets pushed outside of
* the viewport. */
- @nest body.is-fixed & {
+ body.is-fixed & {
width: calc(100% - var(--drupal-displace-offset-left, 0px) - var(--drupal-displace-offset-right, 0px));
}
}
diff --git a/core/themes/olivero/olivero.libraries.yml b/core/themes/olivero/olivero.libraries.yml
index 137a4296eb67..c699ebc72c8d 100644
--- a/core/themes/olivero/olivero.libraries.yml
+++ b/core/themes/olivero/olivero.libraries.yml
@@ -45,6 +45,7 @@ global-styling:
css/components/site-header.css: {}
css/components/skip-link.css: {}
css/components/pager.css: {}
+ css/components/table.css: {}
css/components/text-content.css: {}
css/components/wide-content.css: {}
@@ -290,18 +291,3 @@ tags:
css:
theme:
css/components/tags.css: {}
-
-olivero.table:
- version: VERSION
- css:
- component:
- css/components/table.css: {}
- moved_files:
- olivero/global-styling:
- deprecation_version: 11.2.0
- removed_version: 12.0.0
- deprecation_link: https://www.drupal.org/node/3517675
- css:
- component:
- css/components/table.css:
- base: css/components/table.css
diff --git a/core/themes/olivero/olivero.theme b/core/themes/olivero/olivero.theme
index b2f3bff26841..d10ee7d155cd 100644
--- a/core/themes/olivero/olivero.theme
+++ b/core/themes/olivero/olivero.theme
@@ -617,15 +617,6 @@ function olivero_preprocess_table(&$variables): void {
}
}
}
-
- $variables['#attached']['library'][] = 'olivero/olivero.table';
-}
-
-/**
- * Implements hook_preprocess_HOOK() for views-view-table templates.
- */
-function olivero_preprocess_views_view_table(&$variables): void {
- $variables['#attached']['library'][] = 'olivero/olivero.table';
}
/**
diff --git a/core/themes/stable9/css/settings_tray/settings_tray.theme.css b/core/themes/stable9/css/settings_tray/settings_tray.theme.css
index 1dcaee1c4413..3c23d08da5b1 100644
--- a/core/themes/stable9/css/settings_tray/settings_tray.theme.css
+++ b/core/themes/stable9/css/settings_tray/settings_tray.theme.css
@@ -61,10 +61,10 @@
/* Style the editables while in edit mode. */
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable {
- outline: 1px dashed rgba(0, 0, 0, 0.5);
- box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.7);
+ outline: 1px dashed rgb(0, 0, 0, 0.5);
+ box-shadow: 0 0 0 1px rgb(255, 255, 255, 0.7);
}
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable:hover,
.dialog-off-canvas-main-canvas.js-settings-tray-edit-mode .settings-tray-editable.settings-tray-active-editable {
- background-color: rgba(0, 0, 0, 0.2);
+ background-color: rgb(0, 0, 0, 0.2);
}
diff --git a/core/themes/stable9/css/settings_tray/settings_tray.toolbar.css b/core/themes/stable9/css/settings_tray/settings_tray.toolbar.css
index b378615dff12..7a25fad4c112 100644
--- a/core/themes/stable9/css/settings_tray/settings_tray.toolbar.css
+++ b/core/themes/stable9/css/settings_tray/settings_tray.toolbar.css
@@ -23,7 +23,7 @@
color: #eee;
background-color: #0066a1;
background-image: linear-gradient(to bottom, #0066a1, #005b98);
- text-shadow: 0 1px hsla(0, 0%, 0%, 0.5);
+ text-shadow: 0 1px hsl(0, 0%, 0%, 0.5);
font-weight: 700;
-webkit-font-smoothing: antialiased;
}
@@ -31,7 +31,7 @@
color: #fff;
background-color: #0a7bc1;
background-image: linear-gradient(to bottom, #0a7bc1, #0a6eb4);
- text-shadow: 0 1px hsla(0, 0%, 0%, 0.5);
+ text-shadow: 0 1px hsl(0, 0%, 0%, 0.5);
font-weight: 700;
-webkit-font-smoothing: antialiased;
}
diff --git a/core/themes/stable9/css/shortcut/shortcut.theme.css b/core/themes/stable9/css/shortcut/shortcut.theme.css
index d7a5fa146f71..d98e6f1864b3 100644
--- a/core/themes/stable9/css/shortcut/shortcut.theme.css
+++ b/core/themes/stable9/css/shortcut/shortcut.theme.css
@@ -43,7 +43,7 @@
color: #fff;
border-radius: 5px;
background: #000;
- background: rgba(0, 0, 0, 0.5);
+ background: rgb(0, 0, 0, 0.5);
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
diff --git a/core/themes/stable9/css/system/components/system-status-report-counters.css b/core/themes/stable9/css/system/components/system-status-report-counters.css
index 7040c257a0f2..54ffabe5fc1c 100644
--- a/core/themes/stable9/css/system/components/system-status-report-counters.css
+++ b/core/themes/stable9/css/system/components/system-status-report-counters.css
@@ -9,7 +9,7 @@
padding: 0.5em 0;
text-align: center;
white-space: nowrap;
- background-color: rgba(0, 0, 0, 0.063);
+ background-color: rgb(0, 0, 0, 0.063);
}
@media screen and (min-width: 60em) {
diff --git a/core/themes/stable9/css/toolbar/toolbar.theme.css b/core/themes/stable9/css/toolbar/toolbar.theme.css
index b0c8ada38920..b3c3967a9cd5 100644
--- a/core/themes/stable9/css/toolbar/toolbar.theme.css
+++ b/core/themes/stable9/css/toolbar/toolbar.theme.css
@@ -5,10 +5,10 @@
font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
/* Set base font size to 13px based on root ems. */
font-size: 0.8125rem;
- -moz-tap-highlight-color: rgba(0, 0, 0, 0);
- -o-tap-highlight-color: rgba(0, 0, 0, 0);
- -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
- tap-highlight-color: rgba(0, 0, 0, 0);
+ -moz-tap-highlight-color: rgb(0, 0, 0, 0);
+ -o-tap-highlight-color: rgb(0, 0, 0, 0);
+ -webkit-tap-highlight-color: rgb(0, 0, 0, 0);
+ tap-highlight-color: rgb(0, 0, 0, 0);
-moz-touch-callout: none;
-o-touch-callout: none;
-webkit-touch-callout: none;
@@ -31,10 +31,10 @@
.toolbar .toolbar-bar {
color: #ddd;
background-color: #0f0f0f;
- box-shadow: -1px 0 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-bar {
- box-shadow: 1px 0 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-bar .toolbar-item {
color: #fff;
@@ -44,10 +44,10 @@
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:hover,
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item:focus {
- background-image: linear-gradient(rgba(255, 255, 255, 0.125) 20%, transparent 200%);
+ background-image: linear-gradient(rgb(255, 255, 255, 0.125) 20%, transparent 200%);
}
.toolbar .toolbar-bar .toolbar-tab > .toolbar-item.is-active {
- background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%);
+ background-image: linear-gradient(rgb(255, 255, 255, 0.25) 20%, transparent 200%);
}
/**
@@ -66,19 +66,19 @@
.toolbar .toolbar-tray-vertical {
border-right: 1px solid #aaa; /* LTR */
background-color: #f5f5f5;
- box-shadow: -1px 0 5px 2px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -1px 0 5px 2px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar .toolbar-tray-vertical {
border-right: 0 none;
border-left: 1px solid #aaa;
- box-shadow: 1px 0 5px 2px rgba(0, 0, 0, 0.3333);
+ box-shadow: 1px 0 5px 2px rgb(0, 0, 0, 0.3333);
}
.toolbar-horizontal .toolbar-tray {
border-bottom: 1px solid #aaa;
- box-shadow: -2px 1px 3px 1px rgba(0, 0, 0, 0.3333); /* LTR */
+ box-shadow: -2px 1px 3px 1px rgb(0, 0, 0, 0.3333); /* LTR */
}
[dir="rtl"] .toolbar-horizontal .toolbar-tray {
- box-shadow: 2px 1px 3px 1px rgba(0, 0, 0, 0.3333);
+ box-shadow: 2px 1px 3px 1px rgb(0, 0, 0, 0.3333);
}
.toolbar .toolbar-tray-horizontal .toolbar-tray {
background-color: #f5f5f5;
diff --git a/core/themes/stable9/css/views_ui/views_ui.admin.theme.css b/core/themes/stable9/css/views_ui/views_ui.admin.theme.css
index a95a0c06a410..4e0b3d2a5181 100644
--- a/core/themes/stable9/css/views_ui/views_ui.admin.theme.css
+++ b/core/themes/stable9/css/views_ui/views_ui.admin.theme.css
@@ -39,11 +39,11 @@
background:
linear-gradient(-90deg, #fff 0, #e8e8e8 100%) no-repeat,
repeat-y;
- box-shadow: 0 0 0 rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 0 rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:hover {
border-color: #d0d0d0;
- box-shadow: 0 0 1px rgba(0, 0, 0, 0.3333) inset;
+ box-shadow: 0 0 1px rgb(0, 0, 0, 0.3333) inset;
}
.views-admin a.icon:active {
border-color: #c0c0c0;
diff --git a/core/themes/starterkit_theme/css/components/progress.css b/core/themes/starterkit_theme/css/components/progress.css
index f8561b2eaf60..6ff2e1949884 100644
--- a/core/themes/starterkit_theme/css/components/progress.css
+++ b/core/themes/starterkit_theme/css/components/progress.css
@@ -10,7 +10,7 @@
border-radius: 10em;
background-color: #f2f1eb;
background-image: linear-gradient(#e7e7df, #f0f0f0);
- box-shadow: inset 0 1px 3px hsla(0, 0%, 0%, 0.16);
+ box-shadow: inset 0 1px 3px hsl(0, 0%, 0%, 0.16);
}
.progress__bar {
height: 16px;
@@ -23,7 +23,7 @@
border: 1px #07629a solid;
border-radius: 10em;
background: #057ec9;
- background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.15)), linear-gradient(to right bottom, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
+ background-image: linear-gradient(to bottom, rgb(0, 0, 0, 0), rgb(0, 0, 0, 0.15)), linear-gradient(to right bottom, #0094f0 0%, #0094f0 25%, #007ecc 25%, #007ecc 50%, #0094f0 50%, #0094f0 75%, #0094f0 100%);
background-size: 40px 40px;
}
[dir="rtl"] .progress__bar {
diff --git a/core/yarn.lock b/core/yarn.lock
index 01c8a24805d9..685da4ef7429 100644
--- a/core/yarn.lock
+++ b/core/yarn.lock
@@ -5,51 +5,34 @@ __metadata:
version: 8
cacheKey: 10c0
-"@aashutoshrathi/word-wrap@npm:^1.2.3":
- version: 1.2.6
- resolution: "@aashutoshrathi/word-wrap@npm:1.2.6"
- checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f
- languageName: node
- linkType: hard
-
"@asamuzakjp/css-color@npm:^3.1.2":
- version: 3.1.7
- resolution: "@asamuzakjp/css-color@npm:3.1.7"
+ version: 3.2.0
+ resolution: "@asamuzakjp/css-color@npm:3.2.0"
dependencies:
"@csstools/css-calc": "npm:^2.1.3"
"@csstools/css-color-parser": "npm:^3.0.9"
"@csstools/css-parser-algorithms": "npm:^3.0.4"
"@csstools/css-tokenizer": "npm:^3.0.3"
lru-cache: "npm:^10.4.3"
- checksum: 10c0/ac70af38c9b9d972941fe9dbed5221118077bc8f217617edbd534d9c7c281fd2c4023d0f0daa349d57b895cb73430d67d509b722226294bad2910a81d9439e91
+ checksum: 10c0/a4bf1c831751b1fae46b437e37e8a38c0b5bd58d23230157ae210bd1e905fe509b89b7c243e63d1522d852668a6292ed730a160e21342772b4e5b7b8ea14c092
languageName: node
linkType: hard
"@babel/code-frame@npm:^7.0.0":
- version: 7.23.5
- resolution: "@babel/code-frame@npm:7.23.5"
+ version: 7.27.1
+ resolution: "@babel/code-frame@npm:7.27.1"
dependencies:
- "@babel/highlight": "npm:^7.23.4"
- chalk: "npm:^2.4.2"
- checksum: 10c0/a10e843595ddd9f97faa99917414813c06214f4d9205294013e20c70fbdf4f943760da37dec1d998bf3e6fc20fa2918a47c0e987a7e458663feb7698063ad7c6
- languageName: node
- linkType: hard
-
-"@babel/helper-validator-identifier@npm:^7.22.20":
- version: 7.22.20
- resolution: "@babel/helper-validator-identifier@npm:7.22.20"
- checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e
+ "@babel/helper-validator-identifier": "npm:^7.27.1"
+ js-tokens: "npm:^4.0.0"
+ picocolors: "npm:^1.1.1"
+ checksum: 10c0/5dd9a18baa5fce4741ba729acc3a3272c49c25cb8736c4b18e113099520e7ef7b545a4096a26d600e4416157e63e87d66db46aa3fbf0a5f2286da2705c12da00
languageName: node
linkType: hard
-"@babel/highlight@npm:^7.23.4":
- version: 7.23.4
- resolution: "@babel/highlight@npm:7.23.4"
- dependencies:
- "@babel/helper-validator-identifier": "npm:^7.22.20"
- chalk: "npm:^2.4.2"
- js-tokens: "npm:^4.0.0"
- checksum: 10c0/fbff9fcb2f5539289c3c097d130e852afd10d89a3a08ac0b5ebebbc055cc84a4bcc3dcfed463d488cde12dd0902ef1858279e31d7349b2e8cee43913744bda33
+"@babel/helper-validator-identifier@npm:^7.27.1":
+ version: 7.27.1
+ resolution: "@babel/helper-validator-identifier@npm:7.27.1"
+ checksum: 10c0/c558f11c4871d526498e49d07a84752d1800bf72ac0d3dad100309a2eaba24efbf56ea59af5137ff15e3a00280ebe588560534b0e894a4750f8b1411d8f78b84
languageName: node
linkType: hard
@@ -823,217 +806,222 @@ __metadata:
languageName: node
linkType: hard
-"@cspell/cspell-bundled-dicts@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-bundled-dicts@npm:8.16.1"
- dependencies:
- "@cspell/dict-ada": "npm:^4.0.5"
- "@cspell/dict-al": "npm:^1.0.3"
- "@cspell/dict-aws": "npm:^4.0.7"
- "@cspell/dict-bash": "npm:^4.1.8"
- "@cspell/dict-companies": "npm:^3.1.7"
- "@cspell/dict-cpp": "npm:^6.0.2"
- "@cspell/dict-cryptocurrencies": "npm:^5.0.3"
- "@cspell/dict-csharp": "npm:^4.0.5"
- "@cspell/dict-css": "npm:^4.0.16"
- "@cspell/dict-dart": "npm:^2.2.4"
- "@cspell/dict-django": "npm:^4.1.3"
- "@cspell/dict-docker": "npm:^1.1.11"
- "@cspell/dict-dotnet": "npm:^5.0.8"
- "@cspell/dict-elixir": "npm:^4.0.6"
- "@cspell/dict-en-common-misspellings": "npm:^2.0.7"
+"@cspell/cspell-bundled-dicts@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-bundled-dicts@npm:8.19.4"
+ dependencies:
+ "@cspell/dict-ada": "npm:^4.1.0"
+ "@cspell/dict-al": "npm:^1.1.0"
+ "@cspell/dict-aws": "npm:^4.0.10"
+ "@cspell/dict-bash": "npm:^4.2.0"
+ "@cspell/dict-companies": "npm:^3.1.15"
+ "@cspell/dict-cpp": "npm:^6.0.8"
+ "@cspell/dict-cryptocurrencies": "npm:^5.0.4"
+ "@cspell/dict-csharp": "npm:^4.0.6"
+ "@cspell/dict-css": "npm:^4.0.17"
+ "@cspell/dict-dart": "npm:^2.3.0"
+ "@cspell/dict-data-science": "npm:^2.0.8"
+ "@cspell/dict-django": "npm:^4.1.4"
+ "@cspell/dict-docker": "npm:^1.1.13"
+ "@cspell/dict-dotnet": "npm:^5.0.9"
+ "@cspell/dict-elixir": "npm:^4.0.7"
+ "@cspell/dict-en-common-misspellings": "npm:^2.0.10"
"@cspell/dict-en-gb": "npm:1.1.33"
- "@cspell/dict-en_us": "npm:^4.3.28"
- "@cspell/dict-filetypes": "npm:^3.0.8"
- "@cspell/dict-flutter": "npm:^1.0.3"
- "@cspell/dict-fonts": "npm:^4.0.3"
- "@cspell/dict-fsharp": "npm:^1.0.4"
- "@cspell/dict-fullstack": "npm:^3.2.3"
- "@cspell/dict-gaming-terms": "npm:^1.0.8"
- "@cspell/dict-git": "npm:^3.0.3"
- "@cspell/dict-golang": "npm:^6.0.17"
- "@cspell/dict-google": "npm:^1.0.4"
- "@cspell/dict-haskell": "npm:^4.0.4"
- "@cspell/dict-html": "npm:^4.0.10"
+ "@cspell/dict-en_us": "npm:^4.4.3"
+ "@cspell/dict-filetypes": "npm:^3.0.11"
+ "@cspell/dict-flutter": "npm:^1.1.0"
+ "@cspell/dict-fonts": "npm:^4.0.4"
+ "@cspell/dict-fsharp": "npm:^1.1.0"
+ "@cspell/dict-fullstack": "npm:^3.2.6"
+ "@cspell/dict-gaming-terms": "npm:^1.1.1"
+ "@cspell/dict-git": "npm:^3.0.4"
+ "@cspell/dict-golang": "npm:^6.0.20"
+ "@cspell/dict-google": "npm:^1.0.8"
+ "@cspell/dict-haskell": "npm:^4.0.5"
+ "@cspell/dict-html": "npm:^4.0.11"
"@cspell/dict-html-symbol-entities": "npm:^4.0.3"
- "@cspell/dict-java": "npm:^5.0.10"
- "@cspell/dict-julia": "npm:^1.0.4"
- "@cspell/dict-k8s": "npm:^1.0.9"
+ "@cspell/dict-java": "npm:^5.0.11"
+ "@cspell/dict-julia": "npm:^1.1.0"
+ "@cspell/dict-k8s": "npm:^1.0.10"
+ "@cspell/dict-kotlin": "npm:^1.1.0"
"@cspell/dict-latex": "npm:^4.0.3"
- "@cspell/dict-lorem-ipsum": "npm:^4.0.3"
- "@cspell/dict-lua": "npm:^4.0.6"
- "@cspell/dict-makefile": "npm:^1.0.3"
- "@cspell/dict-markdown": "npm:^2.0.7"
- "@cspell/dict-monkeyc": "npm:^1.0.9"
- "@cspell/dict-node": "npm:^5.0.5"
- "@cspell/dict-npm": "npm:^5.1.14"
- "@cspell/dict-php": "npm:^4.0.13"
- "@cspell/dict-powershell": "npm:^5.0.13"
- "@cspell/dict-public-licenses": "npm:^2.0.11"
- "@cspell/dict-python": "npm:^4.2.12"
- "@cspell/dict-r": "npm:^2.0.4"
- "@cspell/dict-ruby": "npm:^5.0.7"
- "@cspell/dict-rust": "npm:^4.0.10"
- "@cspell/dict-scala": "npm:^5.0.6"
- "@cspell/dict-software-terms": "npm:^4.1.17"
- "@cspell/dict-sql": "npm:^2.1.8"
- "@cspell/dict-svelte": "npm:^1.0.5"
- "@cspell/dict-swift": "npm:^2.0.4"
- "@cspell/dict-terraform": "npm:^1.0.6"
- "@cspell/dict-typescript": "npm:^3.1.11"
- "@cspell/dict-vue": "npm:^3.0.3"
- checksum: 10c0/e463119ee822188d751ce1344e17d99955e66081a1d2b15f08c677307fa1643cac51e59809115fa129577fb17c7dde327d926290b126cfc8998f6d57f7e355e9
+ "@cspell/dict-lorem-ipsum": "npm:^4.0.4"
+ "@cspell/dict-lua": "npm:^4.0.7"
+ "@cspell/dict-makefile": "npm:^1.0.4"
+ "@cspell/dict-markdown": "npm:^2.0.10"
+ "@cspell/dict-monkeyc": "npm:^1.0.10"
+ "@cspell/dict-node": "npm:^5.0.7"
+ "@cspell/dict-npm": "npm:^5.2.1"
+ "@cspell/dict-php": "npm:^4.0.14"
+ "@cspell/dict-powershell": "npm:^5.0.14"
+ "@cspell/dict-public-licenses": "npm:^2.0.13"
+ "@cspell/dict-python": "npm:^4.2.17"
+ "@cspell/dict-r": "npm:^2.1.0"
+ "@cspell/dict-ruby": "npm:^5.0.8"
+ "@cspell/dict-rust": "npm:^4.0.11"
+ "@cspell/dict-scala": "npm:^5.0.7"
+ "@cspell/dict-shell": "npm:^1.1.0"
+ "@cspell/dict-software-terms": "npm:^5.0.5"
+ "@cspell/dict-sql": "npm:^2.2.0"
+ "@cspell/dict-svelte": "npm:^1.0.6"
+ "@cspell/dict-swift": "npm:^2.0.5"
+ "@cspell/dict-terraform": "npm:^1.1.1"
+ "@cspell/dict-typescript": "npm:^3.2.1"
+ "@cspell/dict-vue": "npm:^3.0.4"
+ checksum: 10c0/ae51370ba8a62357c4612d2d23c3fb4387e0b7f01f91e404709ab0ec8251fdbb4225b224b6b0c3bcdd79dabdf437eca6a6bc58337a63e5debdf7eaa219d5872d
languageName: node
linkType: hard
-"@cspell/cspell-json-reporter@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-json-reporter@npm:8.16.1"
+"@cspell/cspell-json-reporter@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-json-reporter@npm:8.19.4"
dependencies:
- "@cspell/cspell-types": "npm:8.16.1"
- checksum: 10c0/6e4125417fe62dafe906ef0235f278a17cc499cc499becde72f75058be9d8ecf8f8f0b22000652d8d70a1c3bffbdb045a58fb10ab694255c3a6983ec08e4a93f
+ "@cspell/cspell-types": "npm:8.19.4"
+ checksum: 10c0/892d2f6b5e46813b959559c61b53d51dbd837220584267be927c50725b80cd330c2dc3c1801ed5072501ad5103d7b2f8ff592545b56289cea85d24f83c431551
languageName: node
linkType: hard
-"@cspell/cspell-pipe@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-pipe@npm:8.16.1"
- checksum: 10c0/95dda90bf897571e58b09ad3eca85f07dedb07278f55217e63ee76078863bffd74b3653cee3b6d0e04e70c624f9f56737f8de8f88a5a05d01e94f33916933321
+"@cspell/cspell-pipe@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-pipe@npm:8.19.4"
+ checksum: 10c0/2f4407745dffd56a484ce530149f0b9580e6feda4e41d59f43195e75536f3bbcc7b35e188b2a68b3e47c9fb8d891b000a62892079e9c58c4aee11cb3dd74e484
languageName: node
linkType: hard
-"@cspell/cspell-resolver@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-resolver@npm:8.16.1"
+"@cspell/cspell-resolver@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-resolver@npm:8.19.4"
dependencies:
global-directory: "npm:^4.0.1"
- checksum: 10c0/9329b897571458098a8828814bf27dc04b7b390eb499ac5f6254aa98300d91cff3d4fa16e24777f6d9fa754cf5f86e109b3efcc778ed61ad1940e884d8a7cba8
+ checksum: 10c0/0db5cff86be3780a226e1f51afb0734035331437d2eaf0b899b425dd2f209448126defb6bdfbe1656b53a1c82dee22ff708f419e5fa34cb8db464aa65359887a
languageName: node
linkType: hard
-"@cspell/cspell-service-bus@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-service-bus@npm:8.16.1"
- checksum: 10c0/08b5be05a377a7412b0e690a8cac287a6029937ff10f754fdaf1d7d9e0b71536f7489ebf91fc77c8e922689d7c553b5e41dda8bf023f55ab09920871c4584989
+"@cspell/cspell-service-bus@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-service-bus@npm:8.19.4"
+ checksum: 10c0/7031c9a248148d76d9c431479912a6d633fbca88d8fd2132cf9b34d497548881b5e51f9181847bc3afd4058f73c3b1be722f5f27676bb648c5c13b289977134b
languageName: node
linkType: hard
-"@cspell/cspell-types@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/cspell-types@npm:8.16.1"
- checksum: 10c0/4072186ff1a69003f73c7ccbcd5d1a7d38ec5500b5b6659b71a09f9614a4e735fa47a3f4ad012f81a223de0358daff9a6f6bab1c32a054cc492ca6710cff174f
+"@cspell/cspell-types@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/cspell-types@npm:8.19.4"
+ checksum: 10c0/5c462d7836b21dd9eaca66abb04b3341423548baa897ac7a173bff996731bd2e986818cd1defcdda1ec7866e4ea76730f97d8696c8a45846f1fa8fd571d5ad1a
languageName: node
linkType: hard
-"@cspell/dict-ada@npm:^4.0.5":
- version: 4.0.5
- resolution: "@cspell/dict-ada@npm:4.0.5"
- checksum: 10c0/eac1a1852bc71131ac96ce70a3857cb97b0c2f28036a56badbd51b4d2f5c03eb53e85e2d91ced74a9b77898ff478ef27099cc8f452166304f7a475bf672bc710
+"@cspell/dict-ada@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "@cspell/dict-ada@npm:4.1.0"
+ checksum: 10c0/1600b1fc4f033f41edf07d18ee71232d9b6ae654dc4256ce759ae663186e1e2f6fbbc605508d11ee756d909e53a0e2dfcf1171371333de06094f709ee9172af7
languageName: node
linkType: hard
-"@cspell/dict-al@npm:^1.0.3":
- version: 1.0.3
- resolution: "@cspell/dict-al@npm:1.0.3"
- checksum: 10c0/77a54c7b7945669f938e52f51361353d934829161f96ea32582de50055ce35f69d3aa4f7bef8aeaac0a92da605a6546fecb5143138e757d631eda6c1c353d86c
+"@cspell/dict-al@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-al@npm:1.1.0"
+ checksum: 10c0/448be78bf11a3775e766122efcf322f6cebe689f2a2e9c7bb83e7745c666b80ef6411806552a66af4112a95ae007d3b342874e69d3d280173839cc55df295ea5
languageName: node
linkType: hard
-"@cspell/dict-aws@npm:^4.0.7":
- version: 4.0.7
- resolution: "@cspell/dict-aws@npm:4.0.7"
- checksum: 10c0/6d736b25c99a6ba270c857bbf478af20a744632b7559223a6b49d5f10dfdaddd08a05cf5e5e65fc8c42fbe5e1d1d302a0068e778479352a4dff368b54986b023
+"@cspell/dict-aws@npm:^4.0.10":
+ version: 4.0.10
+ resolution: "@cspell/dict-aws@npm:4.0.10"
+ checksum: 10c0/938d8bbd9960f152aea5cb2712fdd644d734acfda9f72aaf490ccdce6dd016dc5a4d2a38e37d8a13234e69346e6b1a74178fb4ae3d9525c4e64656c1d90fe057
languageName: node
linkType: hard
-"@cspell/dict-bash@npm:^4.1.8":
- version: 4.1.8
- resolution: "@cspell/dict-bash@npm:4.1.8"
- checksum: 10c0/5b111fbc365123dd003d9781b1de5e06cf33edbec6c203361cb749f3206bbca9207367191f0d405c1feb00225315b804510698d39c2e02cf7b8f049b4a9e3815
+"@cspell/dict-bash@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "@cspell/dict-bash@npm:4.2.0"
+ dependencies:
+ "@cspell/dict-shell": "npm:1.1.0"
+ checksum: 10c0/9fa084d80f64fa706e87e1ad1db459433a5d0ba4a7c850de9f165b7a50f24410e447589b3374b53ca4da6397ee13c8c0205ff4bc5083d9c25a32e69b3bd2fe8b
languageName: node
linkType: hard
-"@cspell/dict-companies@npm:^3.1.7":
- version: 3.1.7
- resolution: "@cspell/dict-companies@npm:3.1.7"
- checksum: 10c0/edb92c7e25ea46f24f0d8b657304878d16bd808cd21a90a3338ade7e78705d7aa677d49c7650d54e88d4ce8d726b4f003324ea8827397a480173b9817f69d3cf
+"@cspell/dict-companies@npm:^3.1.15":
+ version: 3.2.1
+ resolution: "@cspell/dict-companies@npm:3.2.1"
+ checksum: 10c0/8e98d9321277a1e05b88a95f3ac2c421568c2806a5319177b8a998316dedd888d063793135f57b73f1b88d636bbbe45e43249574804c1a42913f8fbd252263b2
languageName: node
linkType: hard
-"@cspell/dict-cpp@npm:^6.0.2":
- version: 6.0.2
- resolution: "@cspell/dict-cpp@npm:6.0.2"
- checksum: 10c0/548d4d31bb4876993159f02e70c9559a34a9e6d7220d788876cd31256883ecf3798d983108526b7e801399216e28c82f37564512e6cbedaa6478b3e8097bee06
+"@cspell/dict-cpp@npm:^6.0.8":
+ version: 6.0.8
+ resolution: "@cspell/dict-cpp@npm:6.0.8"
+ checksum: 10c0/8388be63c7db452c556af908951b91bb141e3320d640a967d90c847a5ba6e09b41356772d842b586074b4ec1beb8049b9abd56a8fe9037650b2ddd9b28f6724c
languageName: node
linkType: hard
-"@cspell/dict-cryptocurrencies@npm:^5.0.3":
- version: 5.0.3
- resolution: "@cspell/dict-cryptocurrencies@npm:5.0.3"
- checksum: 10c0/e150a791f477b0c8a9ed6bb806f4dec90e6ee3d026307fdd4535ab01294fedf1a44ed29f52cb7662e79cb25847b16753d52d573bdf7c97c3b8393de18a82a615
+"@cspell/dict-cryptocurrencies@npm:^5.0.4":
+ version: 5.0.4
+ resolution: "@cspell/dict-cryptocurrencies@npm:5.0.4"
+ checksum: 10c0/f9bf46de9efc543f7270f46ec424151aa297c0e3d969f7f350eaa9f1e6ad0a7eecb668ceeb53c23c5dd54fc49277dbbaa96d476b71515f72b246cbd0c2569b4d
languageName: node
linkType: hard
-"@cspell/dict-csharp@npm:^4.0.5":
- version: 4.0.5
- resolution: "@cspell/dict-csharp@npm:4.0.5"
- checksum: 10c0/444b11f206cb3beea6fadd74f54b2ade7c51320373cf6d45a502bb4c2213f62f9bd766938f7d317afc18299cfc2f592777b30ef8166c49202ef97ad0e1c64dba
+"@cspell/dict-csharp@npm:^4.0.6":
+ version: 4.0.6
+ resolution: "@cspell/dict-csharp@npm:4.0.6"
+ checksum: 10c0/d10ceb009e6a2b838d5ba5b035124bc1e02cf0e3eff10631b814ae8e4c1de7f7b35d60f3509f4b6b81a59e86bf1fdd0dee925191811825f7e1454d080cf3ebba
languageName: node
linkType: hard
-"@cspell/dict-css@npm:^4.0.16":
- version: 4.0.16
- resolution: "@cspell/dict-css@npm:4.0.16"
- checksum: 10c0/f75b58153f780f2e2ab16eb0a032823d30f323b8651c5ee532212de27d89fc28c00b629aa13b9dba5c780a4a533b9f783e6e3cc8acfb0c2030981920986622d7
+"@cspell/dict-css@npm:^4.0.17":
+ version: 4.0.17
+ resolution: "@cspell/dict-css@npm:4.0.17"
+ checksum: 10c0/87ceb92f3a65b0b4089e2150abb86431d09ad27f4a00af233c01c799d9786495ae66ea8b1a7f089a923ad5fb6efcdbf92227a6728b0b826a76fa03a24c379a7c
languageName: node
linkType: hard
-"@cspell/dict-dart@npm:^2.2.4":
- version: 2.2.4
- resolution: "@cspell/dict-dart@npm:2.2.4"
- checksum: 10c0/b7b6b00f330c24aa28a28596da19a3013a8170ade143124b3b92950d1890267d31d2b8375ddb84801e399b9530b79627f57594c64b7253601c8e97501af900a4
+"@cspell/dict-dart@npm:^2.3.0":
+ version: 2.3.0
+ resolution: "@cspell/dict-dart@npm:2.3.0"
+ checksum: 10c0/493ac7de691fd93596014168f3def8253dd4e97a139ba60715c4368ef5183df5a75c2bb04ba63f2d791686bf5a6d91005237e5ed96636959e77e5a7e79e0999e
languageName: node
linkType: hard
-"@cspell/dict-data-science@npm:^2.0.5":
- version: 2.0.5
- resolution: "@cspell/dict-data-science@npm:2.0.5"
- checksum: 10c0/06241df1c687b61fa3843825baf45509027100ed870f15f42f2880525a67f2c70617323ff2710a28fa40a4189165e610ee5831a3f618729cdf95bc543399b984
+"@cspell/dict-data-science@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "@cspell/dict-data-science@npm:2.0.8"
+ checksum: 10c0/fd93eea55bab6d418f6e36a0dd2fd28ea7ec15598139086dcf6d664e0fae5c3235f5ec71c2d2449315e58bd23b153aa0bbd84d894ecfbf2e619d8f93c2e3614f
languageName: node
linkType: hard
-"@cspell/dict-django@npm:^4.1.3":
- version: 4.1.3
- resolution: "@cspell/dict-django@npm:4.1.3"
- checksum: 10c0/b97c376b6f4cb013c1aa356a97930969fc371005214c5a492bf82c298e28a665ae452031b673cc7c79132562c10cd191cb611a06f8f78eee744165cd5c091835
+"@cspell/dict-django@npm:^4.1.4":
+ version: 4.1.4
+ resolution: "@cspell/dict-django@npm:4.1.4"
+ checksum: 10c0/bf55dc7aaf575d4cb50f48a9fd6b5619ae23a8f6c741197a8a4942fbc4188280d5fdd614b07a659d6828ca7004f2707101ed268ac48cc41e606cf9694bad9523
languageName: node
linkType: hard
-"@cspell/dict-docker@npm:^1.1.11":
- version: 1.1.11
- resolution: "@cspell/dict-docker@npm:1.1.11"
- checksum: 10c0/d9f73b8924c116879417cb0820733aa83d16d553e7f3ef5dcbc56ed54b212c20b62ab1b41d4119c2337f06b1458cf2655169d7fdda9b68f8d83bee7a2db17fc0
+"@cspell/dict-docker@npm:^1.1.13":
+ version: 1.1.14
+ resolution: "@cspell/dict-docker@npm:1.1.14"
+ checksum: 10c0/cf929524dff283db90a1c8e4a6363ccbbed9d49c41d33038ca98cacca7a159e960798224b23433e008d842cc091069b23aa4de915ef1278fc023efc2a38079bd
languageName: node
linkType: hard
-"@cspell/dict-dotnet@npm:^5.0.8":
- version: 5.0.8
- resolution: "@cspell/dict-dotnet@npm:5.0.8"
- checksum: 10c0/436b8df241b2083430681820d00a1d5ee66ef707835b23f1ff7121636e66985a19b2352fb98ec4e64236ba88685ed41d5b9ec5ce891758eb79b6d1686035add4
+"@cspell/dict-dotnet@npm:^5.0.9":
+ version: 5.0.9
+ resolution: "@cspell/dict-dotnet@npm:5.0.9"
+ checksum: 10c0/ac30f0a8d4e3f9c1468060e1d6cbe09ff4c60046c01ef665539996fdb62ca794bc1fbee75347c1d50e11e82782b9eeeadb175ab4e8746501ed561400d611d3a8
languageName: node
linkType: hard
-"@cspell/dict-elixir@npm:^4.0.6":
- version: 4.0.6
- resolution: "@cspell/dict-elixir@npm:4.0.6"
- checksum: 10c0/d321a0b224829bad3f463e8f58104519a885b71023bc00bc2f9168e72a0b7a8c33369e3bf3afeead9137d73cff9275277c4c79419a9be0bf29227e5543514038
+"@cspell/dict-elixir@npm:^4.0.7":
+ version: 4.0.7
+ resolution: "@cspell/dict-elixir@npm:4.0.7"
+ checksum: 10c0/c65521e34aa4d7eb6ed4cb1bb86033dfd98d7d40715846d8d987801ce392ac96f1f4280a8e8be166fa6918660441c140e80b37799734393a3e4572a36b1975f9
languageName: node
linkType: hard
-"@cspell/dict-en-common-misspellings@npm:^2.0.7":
- version: 2.0.7
- resolution: "@cspell/dict-en-common-misspellings@npm:2.0.7"
- checksum: 10c0/d865d80ea170cecb4699c9973f6735d3c9f80d1b1337da6eb7d211d09bbd0774d4deec3b5802e7ef0101a0fcc5fb2121c4264cb2f2f0f7ebdc30e9bc527d7bbc
+"@cspell/dict-en-common-misspellings@npm:^2.0.10":
+ version: 2.0.11
+ resolution: "@cspell/dict-en-common-misspellings@npm:2.0.11"
+ checksum: 10c0/da3bc9fb18705b2bf721c8d49012fc17b726fc5c9dc1fd9b559e39e2a7d043870914a6f21b3eb397f4667c030a5bb17819b18098ef113e6ddde8143a202f22ea
languageName: node
linkType: hard
@@ -1044,80 +1032,80 @@ __metadata:
languageName: node
linkType: hard
-"@cspell/dict-en_us@npm:^4.3.28":
- version: 4.3.28
- resolution: "@cspell/dict-en_us@npm:4.3.28"
- checksum: 10c0/6bee6d8313d6a2cd5afa0ac47a736507f97e8262e8a28a032831115689b44992addd3ed64e5dec82d72cd0881cea224114feca71c3d48920477b8f17dd735315
+"@cspell/dict-en_us@npm:^4.4.3":
+ version: 4.4.9
+ resolution: "@cspell/dict-en_us@npm:4.4.9"
+ checksum: 10c0/d8a4b102ca3d14e0d4425584fcd010434f981fe3839d9c70cbc3f8bb562fefa0443f83b2d4f1f46407a3dec5c172c0c8a67ad69e88145a1b22f1d5d2d0b4f0d7
languageName: node
linkType: hard
-"@cspell/dict-filetypes@npm:^3.0.8":
- version: 3.0.8
- resolution: "@cspell/dict-filetypes@npm:3.0.8"
- checksum: 10c0/aaa419b473a090f529145dd19124cff80921d0a553df530ceded2b8d3d78274957cb7e55bb0a8f552f15066a29281d857369a145da6b4d2738142e0b24dfe314
+"@cspell/dict-filetypes@npm:^3.0.11":
+ version: 3.0.12
+ resolution: "@cspell/dict-filetypes@npm:3.0.12"
+ checksum: 10c0/9674c3e8a7ec52654ba01c691d9817479690efbe796c5b6cc30ba51ce68d6a6f7da68c8be2a385964007328db8d1c65d30d7a876c12382f726faa35fe29c6a74
languageName: node
linkType: hard
-"@cspell/dict-flutter@npm:^1.0.3":
- version: 1.0.3
- resolution: "@cspell/dict-flutter@npm:1.0.3"
- checksum: 10c0/9e77406e03f7b3eea37efc54f16b33b8c4823ec1b6fb9462ae34c4665abbf5b7a1c351c475e927b0ca70963882eb97f9a206572be1de2ca80208f3fddca32197
+"@cspell/dict-flutter@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-flutter@npm:1.1.0"
+ checksum: 10c0/b72e82a7bdd76b7383f227eaf8714b940406bdcd39d63fcd576ae9cbd80b7c579fe7a11a07c92200550a6e9583e18a4b45501b80684f02f8da5731d8af154974
languageName: node
linkType: hard
-"@cspell/dict-fonts@npm:^4.0.3":
- version: 4.0.3
- resolution: "@cspell/dict-fonts@npm:4.0.3"
- checksum: 10c0/6415cb21a5d940d4aedf7b557f866394a280a9bbfabcd466151be74f57758e0a95d3a1f7929b1a148d11eccbd34549809ec83e9f599966ff54c97b46ea309ebe
+"@cspell/dict-fonts@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "@cspell/dict-fonts@npm:4.0.4"
+ checksum: 10c0/589c680baf00cf41153ff9e9a3e6d948ca4d451f7626edbfce6ee5c3f4dd60ea293c0d8f9f442f000730c2f064b8013425735de25267c406e11a10e94809696a
languageName: node
linkType: hard
-"@cspell/dict-fsharp@npm:^1.0.4":
- version: 1.0.4
- resolution: "@cspell/dict-fsharp@npm:1.0.4"
- checksum: 10c0/6af0bff9b4ffface5c6fcf5564fa919a09e8b4152b1b00c11d51522455f4699aa66f95e2a096e4614cc8e2e99e161434d6c5430b9dbd9d9bd50aba6a9a4a6239
+"@cspell/dict-fsharp@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-fsharp@npm:1.1.0"
+ checksum: 10c0/78d994fe596db26f7ca7465e39f0924661c83fbadcd107d2f1f4148de76ef4054dd54d41c8dc128804130573f16285569f88f7ca1f1d17f156e97089e937d533
languageName: node
linkType: hard
-"@cspell/dict-fullstack@npm:^3.2.3":
- version: 3.2.3
- resolution: "@cspell/dict-fullstack@npm:3.2.3"
- checksum: 10c0/e3c461cdb7ab20143ce33bdfdb39da9bb737123b55656a172434224e73cb14638718433113222ea72521a3af7ae0454a4d70d7c3bbf4432e4ecf3e0eed045fe5
+"@cspell/dict-fullstack@npm:^3.2.6":
+ version: 3.2.6
+ resolution: "@cspell/dict-fullstack@npm:3.2.6"
+ checksum: 10c0/bf3482a116586a4d45881ec5e9264f396e1fb2426b172901d799baa6533f6aa19055f8b2f651546272b7bdd73f0223d2a723c3ce0e3df1cb398fe37a9161df5c
languageName: node
linkType: hard
-"@cspell/dict-gaming-terms@npm:^1.0.8":
- version: 1.0.8
- resolution: "@cspell/dict-gaming-terms@npm:1.0.8"
- checksum: 10c0/7617d5278021598dd65cd2be68c0a22144a02888a82bf4ba8c7e49fec2ba6d22fb185d50b3f187bb40abaa2881f9e585f185b0539889684d5d49aa65f533ae09
+"@cspell/dict-gaming-terms@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "@cspell/dict-gaming-terms@npm:1.1.1"
+ checksum: 10c0/93ee860370074503732750dbcaf6fb6c030a1518e694b3c77597c9956b0f594a66a583fed22392fbfa1f1ca244e16fbd31cd5734c509ce3bfbe583177b5ba5b4
languageName: node
linkType: hard
-"@cspell/dict-git@npm:^3.0.3":
- version: 3.0.3
- resolution: "@cspell/dict-git@npm:3.0.3"
- checksum: 10c0/63511720f621dc90a946585597c8c9e75bae4971c163e1c31a9fc2e34fbd3af4ad0ab9042e0b8a3eef4971cbcf78d4f6057fe4c799a93c0879219944bd730c8e
+"@cspell/dict-git@npm:^3.0.4":
+ version: 3.0.5
+ resolution: "@cspell/dict-git@npm:3.0.5"
+ checksum: 10c0/0701288549667be5f4e736132d48fbded409dba10f02949e3e613f4f67944a817172331f5f092dab4d4ab18f41174f5b6bccedc7cf46da1c93c9b278a73de316
languageName: node
linkType: hard
-"@cspell/dict-golang@npm:^6.0.17":
- version: 6.0.17
- resolution: "@cspell/dict-golang@npm:6.0.17"
- checksum: 10c0/a4f98996e33639d987d06868ed7e4e34dc5bd0167f9907872331c1d125f9d0185ab39852ef232e355681e1fa1bb778fc0aefa4782ecfda94c08b83f6ef0d4f5e
+"@cspell/dict-golang@npm:^6.0.20":
+ version: 6.0.21
+ resolution: "@cspell/dict-golang@npm:6.0.21"
+ checksum: 10c0/da791b918c4cf5584149e091f15fb1db0c3acef14b4d774df08586b8353f8ccb4f5b699ad471f67d7818205799c474587b88d9d824702da10083413cb04cc992
languageName: node
linkType: hard
-"@cspell/dict-google@npm:^1.0.4":
- version: 1.0.4
- resolution: "@cspell/dict-google@npm:1.0.4"
- checksum: 10c0/2af215e6632e3b93869e054a3a24084bcbf6b4bc7eff0ff9ca631d8f93699f89902f588ec83ada97811362085e88fba2b12f3300d41ca457cd5584e0e37573bd
+"@cspell/dict-google@npm:^1.0.8":
+ version: 1.0.8
+ resolution: "@cspell/dict-google@npm:1.0.8"
+ checksum: 10c0/89385531361d1b00da54c2cade3e29442b6ba7baa2f5a4922b628ee79fb97c860319480061dd01a5a99b527514cad0594699c15a57bdf6c4c17c783aa257a0ab
languageName: node
linkType: hard
-"@cspell/dict-haskell@npm:^4.0.4":
- version: 4.0.4
- resolution: "@cspell/dict-haskell@npm:4.0.4"
- checksum: 10c0/257b59f2fb9e931fadf5409386037cadd44304ed2606ffaf21d50576fcf0bc839fce1b2e59d07833de82e87e3013be48ecc87fb4a56be199f5070cd92ad943ef
+"@cspell/dict-haskell@npm:^4.0.5":
+ version: 4.0.5
+ resolution: "@cspell/dict-haskell@npm:4.0.5"
+ checksum: 10c0/a2d8cf98c208ecc5733c888037c9366d26f37ff8c7ed46756ad4d8651efe69a5d98447c0bf859cb3660b1c541ab1f8b4b0650591c327ff07a10c9d458b9be24a
languageName: node
linkType: hard
@@ -1128,31 +1116,38 @@ __metadata:
languageName: node
linkType: hard
-"@cspell/dict-html@npm:^4.0.10":
- version: 4.0.10
- resolution: "@cspell/dict-html@npm:4.0.10"
- checksum: 10c0/1ccdca06b36107e70f0031c7797ec062dab75a3570b07d6579f28eaa78dd0a900b800a41fc07ed03f8383e83d8956db9d4384fd24992c7842557aa78b40ad3a9
+"@cspell/dict-html@npm:^4.0.11":
+ version: 4.0.11
+ resolution: "@cspell/dict-html@npm:4.0.11"
+ checksum: 10c0/6bb7751cae019a2dd2df8660f2b220078cbf7cdbbb3e7bf647428295f7483c1efce31f04a3ea459da5c6b6d22f87c0b5fc77f5a14f3ed17aa382c25f1483f9ad
languageName: node
linkType: hard
-"@cspell/dict-java@npm:^5.0.10":
- version: 5.0.10
- resolution: "@cspell/dict-java@npm:5.0.10"
- checksum: 10c0/5e3113559154c2069466a6d7b3bc9c95708ab26ac025ca8f86645f5bbf492d89b369c6dc73a53d4b672f7f6141b646a970d6abdbd04c8b0e47c4689b5587edd5
+"@cspell/dict-java@npm:^5.0.11":
+ version: 5.0.11
+ resolution: "@cspell/dict-java@npm:5.0.11"
+ checksum: 10c0/167ad55bec88ad9986d39fc483e20c0af64ffc5127bff42114ede20c8f90dc26074ee680266a8d09517a83c37bf50b2f0f5581ada870326ae2212c0c8caabb40
languageName: node
linkType: hard
-"@cspell/dict-julia@npm:^1.0.4":
- version: 1.0.4
- resolution: "@cspell/dict-julia@npm:1.0.4"
- checksum: 10c0/abd10732352d1d53a929c546e78f87afc745f4351add328b0e1bf093905b8083dc76fa29ba9ce3d29b893e96fdc44ed04b0418331430b4731fbb249debb10403
+"@cspell/dict-julia@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-julia@npm:1.1.0"
+ checksum: 10c0/851cc5d4e6f15f7b15fad6b601ae4a67158a9522e5dbdf675fddcd20255d0e89ff265a740a0c05a37c80d7aadfd0e9027de2b81b9d8d698ccdb5fdf26dcf1f89
languageName: node
linkType: hard
-"@cspell/dict-k8s@npm:^1.0.9":
- version: 1.0.9
- resolution: "@cspell/dict-k8s@npm:1.0.9"
- checksum: 10c0/66298e07977f1950114ed457f755d3be8faeb5ce6d70677ca60d144b9fb1a6f7e67c1d2b3ffa71232499a6100fd0c83c77c03baa220d99b0be2ac31e150b45db
+"@cspell/dict-k8s@npm:^1.0.10":
+ version: 1.0.10
+ resolution: "@cspell/dict-k8s@npm:1.0.10"
+ checksum: 10c0/d6de5ea9ad152f04e12fcc9b462608769e0fb99b0520d6786674dae9c3dd8ad04a40843fabf7510974b71bc2b32d5e47b11b4c9095118e90d856d18dbbf94787
+ languageName: node
+ linkType: hard
+
+"@cspell/dict-kotlin@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-kotlin@npm:1.1.0"
+ checksum: 10c0/39e5c979d63958a06e2bfd89aa0a7f70217aac3a847603a5516395290d7c877ccb600cc5270e83edb25251106980592000dee5fb6700812c27ee6c61d281952f
languageName: node
linkType: hard
@@ -1163,211 +1158,212 @@ __metadata:
languageName: node
linkType: hard
-"@cspell/dict-lorem-ipsum@npm:^4.0.3":
- version: 4.0.3
- resolution: "@cspell/dict-lorem-ipsum@npm:4.0.3"
- checksum: 10c0/4c7682bb442e27894527c21265268ad7786dc4d087e0fae6c6c88a6483e93b07e0f26d59ef6a6bd836a5c92c3af6878914b2f98cad100ff244f0fd484ba03644
+"@cspell/dict-lorem-ipsum@npm:^4.0.4":
+ version: 4.0.4
+ resolution: "@cspell/dict-lorem-ipsum@npm:4.0.4"
+ checksum: 10c0/a8f734acdab01f4171a38b079a2509fb27ceafef347ff02464e32211bf6877655f79ca411a681e415bb1b0a3feb524f00f3397734e945ada368179fe9080834a
languageName: node
linkType: hard
-"@cspell/dict-lua@npm:^4.0.6":
- version: 4.0.6
- resolution: "@cspell/dict-lua@npm:4.0.6"
- checksum: 10c0/8fb550f3c7762ff1e3215cb1a4677b43a59a463c99eae5ac7eddf360269ec4d2abbc1cbcb4933df52eea026a65e681d62934c60bb92d0791640be81b5cbdc51c
+"@cspell/dict-lua@npm:^4.0.7":
+ version: 4.0.7
+ resolution: "@cspell/dict-lua@npm:4.0.7"
+ checksum: 10c0/4f6ea6d098f44a7bb5c87326ddb7f6e6e2e728f04445baef0c7d217c7399cea566a2b16e58724c8ed7ccf7dabdb1218c318330013ffa43f71782c288287855ca
languageName: node
linkType: hard
-"@cspell/dict-makefile@npm:^1.0.3":
- version: 1.0.3
- resolution: "@cspell/dict-makefile@npm:1.0.3"
- checksum: 10c0/22576eca594afd4e8680e00d56d42a4298501f4a24e1999f150de8f3d85afe21698fa2cdcdd9b49a979b39bda7ebe364f57a818225312e39bddc92a760d61c78
+"@cspell/dict-makefile@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "@cspell/dict-makefile@npm:1.0.4"
+ checksum: 10c0/ac59836e7dcf95de7e2c04e5cf17a357c7aa06e72c638352beb3e8c7d94ab7736c3d1387f4829d24db3d4b1868fceddfb728ec3812c5f5062faf609668d3a970
languageName: node
linkType: hard
-"@cspell/dict-markdown@npm:^2.0.7":
- version: 2.0.7
- resolution: "@cspell/dict-markdown@npm:2.0.7"
+"@cspell/dict-markdown@npm:^2.0.10":
+ version: 2.0.10
+ resolution: "@cspell/dict-markdown@npm:2.0.10"
peerDependencies:
- "@cspell/dict-css": ^4.0.16
- "@cspell/dict-html": ^4.0.10
+ "@cspell/dict-css": ^4.0.17
+ "@cspell/dict-html": ^4.0.11
"@cspell/dict-html-symbol-entities": ^4.0.3
- "@cspell/dict-typescript": ^3.1.11
- checksum: 10c0/8731b19ab5f25a33d5905337f011cfb8ed86b89edbc4a348d79ad0f6f1fee108046ab434786c277d961ae29d2e78d7958347f8c4005434a0a7fd07b2a8e9cc80
+ "@cspell/dict-typescript": ^3.2.1
+ checksum: 10c0/e976a295c1f936576edf412cf50818eccdd22c4a872d6a1a93e6499fa5577eb8564af1b61da09b5072f05053c92477573b30bff781a0c4819e9452cced413eb7
languageName: node
linkType: hard
-"@cspell/dict-monkeyc@npm:^1.0.9":
- version: 1.0.9
- resolution: "@cspell/dict-monkeyc@npm:1.0.9"
- checksum: 10c0/1ba425768363afeefa777ef0886dc421b2f47496794567473fc02a1453410638a6e340a1b06f67e63a6fc00b0e6253bf6c74d4bf11d8cd630ceecedf11c55aad
+"@cspell/dict-monkeyc@npm:^1.0.10":
+ version: 1.0.10
+ resolution: "@cspell/dict-monkeyc@npm:1.0.10"
+ checksum: 10c0/a48278f3d751b9d8f90930c55b9736c72aac02589c353849e68782de2e8019a16be88d5014693341a52db627ef9989ac4ea71b973a67c0cf2f8bacce8ec75a14
languageName: node
linkType: hard
-"@cspell/dict-node@npm:^5.0.5":
- version: 5.0.5
- resolution: "@cspell/dict-node@npm:5.0.5"
- checksum: 10c0/237821d87a25bbf2286cf1b3b03f2a7186342fdf1d335d22f32c74155c466c18cb1d862f2d540bade3dfa8020380c11d9df4b3046227c2f599429a232c488f2a
+"@cspell/dict-node@npm:^5.0.7":
+ version: 5.0.7
+ resolution: "@cspell/dict-node@npm:5.0.7"
+ checksum: 10c0/46520be977286bcc497ac883e47c407335dfd0522fff7c4a0e2d84e9b592ee5cdac432a19610f88f75550d1e2bea227c5fb5fb30eb13f47cc8b02ace24a7cad2
languageName: node
linkType: hard
-"@cspell/dict-npm@npm:^5.1.14":
- version: 5.1.15
- resolution: "@cspell/dict-npm@npm:5.1.15"
- checksum: 10c0/d45c219aaaeddf3378ee24616bf5f890011b58f00366374c9d8b2e337412e95115379496c570d4efc2d353af39d860d3604f2491a5c58b0cbad0e74c88f5b09f
+"@cspell/dict-npm@npm:^5.2.1":
+ version: 5.2.4
+ resolution: "@cspell/dict-npm@npm:5.2.4"
+ checksum: 10c0/b01a07baef601ca46bed697037b09c7aafa93cbb1b9b0206147e8746c280d1c9e9095cb0ec2909f5493978130155e98c48c681059b38bfd109cab5e0edd91714
languageName: node
linkType: hard
-"@cspell/dict-php@npm:^4.0.13":
- version: 4.0.13
- resolution: "@cspell/dict-php@npm:4.0.13"
- checksum: 10c0/2d2ee84a4b102290206c1f5ab710efb547b3c4d2be0f231930fe3323a5d846843ecfee5684c656ca90ee3ebff649af19d6022fbbe9bf304fddb77b353aed1ffa
+"@cspell/dict-php@npm:^4.0.14":
+ version: 4.0.14
+ resolution: "@cspell/dict-php@npm:4.0.14"
+ checksum: 10c0/185754d3e56de9db37db265e2073cca2977ad15d7b228c6a2a272db5699d8019b1d7096a8b76483bd757b0c00bbc426abffad37dcec404cdfc9912d7380b0cf9
languageName: node
linkType: hard
-"@cspell/dict-powershell@npm:^5.0.13":
- version: 5.0.13
- resolution: "@cspell/dict-powershell@npm:5.0.13"
- checksum: 10c0/8b731e720da9963f2ea2a10bf4560a4db41f9bd9dc4cd2de0bc9fb5f2b69e18e5a89d6f3b7cd8836d9b7adf11376634fd6a25792f8edab237ff82b3d1f624aec
+"@cspell/dict-powershell@npm:^5.0.14":
+ version: 5.0.14
+ resolution: "@cspell/dict-powershell@npm:5.0.14"
+ checksum: 10c0/2409aeb029c0abe869ce9d684fc17e9d117bf3f2d55a227a6229924c69ba70e1bd3683dd6f3cc309e1abdd435d6610dd6ad1a794ea28116997eeacd07efbc107
languageName: node
linkType: hard
-"@cspell/dict-public-licenses@npm:^2.0.11":
- version: 2.0.11
- resolution: "@cspell/dict-public-licenses@npm:2.0.11"
- checksum: 10c0/81fefcd0f425c5a354f3bcdfa635eba4dcb0a0c42c61fa379b2318510d080f619aaa01c5ea249b58a63462af83c9b6a5bbd5b259b0f9807a70d02723f4af20fa
+"@cspell/dict-public-licenses@npm:^2.0.13":
+ version: 2.0.13
+ resolution: "@cspell/dict-public-licenses@npm:2.0.13"
+ checksum: 10c0/c9fafd755e7543a14483abebe743b6e69eb3ce6d321e91c589ef2931d18de721c0c8f71e5fe750c7c3dd4146903aba56d54fac853c83d4d2779ce4989db3e650
languageName: node
linkType: hard
-"@cspell/dict-python@npm:^4.2.12":
- version: 4.2.12
- resolution: "@cspell/dict-python@npm:4.2.12"
+"@cspell/dict-python@npm:^4.2.17":
+ version: 4.2.18
+ resolution: "@cspell/dict-python@npm:4.2.18"
dependencies:
- "@cspell/dict-data-science": "npm:^2.0.5"
- checksum: 10c0/930f7f10eb89c56994d5e8d891d55950331c010e5f0d5dec03383a0d001078df646b44b003014504aba827dda8a1ff564902186586dc6e9ffc9637fa70b8a5bd
+ "@cspell/dict-data-science": "npm:^2.0.8"
+ checksum: 10c0/4d1023b720dbf6fc7eeeed4d3bda35ef4cf8c8a8ebbf339abdbe407f7c69b621bd5cf63c8327ee06b1d94f15753973528a5529f4720da2a6e30a5e379ca1904a
languageName: node
linkType: hard
-"@cspell/dict-r@npm:^2.0.4":
- version: 2.0.4
- resolution: "@cspell/dict-r@npm:2.0.4"
- checksum: 10c0/3f5d2fdb41f058be4eb21a79b19f0c1f033e501ecfd30e43f5c3dd810235b9837c0cac1b5e2dc087845fd3db9e2d33e4ab31dd22b89c861d98d011e0cb33eb05
+"@cspell/dict-r@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "@cspell/dict-r@npm:2.1.0"
+ checksum: 10c0/96a1057a5789b15e85e7a3eca9042b0f94645da953b7919840fcb97f6ab72d1ebaae792e962cabb7479e1adbb9d8e565a9340c7b415518c713d578f2779c802a
languageName: node
linkType: hard
-"@cspell/dict-ruby@npm:^5.0.7":
- version: 5.0.7
- resolution: "@cspell/dict-ruby@npm:5.0.7"
- checksum: 10c0/84ae8331467911d687f9c145a0cc310f06e9bae0c2abc872cfc2d890abe0fe9c53a7f6ea7d3f5de546ffcc715b2b8c63dcfe30e5d58a9eea910d307dad335b55
+"@cspell/dict-ruby@npm:^5.0.8":
+ version: 5.0.8
+ resolution: "@cspell/dict-ruby@npm:5.0.8"
+ checksum: 10c0/24807292b33f3468c1580ef9bc781a6c93bb3b745b9130fa1d23ae9fe685609e08f13b0bdd61d271ec7307cf86273909fcff3958cc190a08b4fc2433729cf950
languageName: node
linkType: hard
-"@cspell/dict-rust@npm:^4.0.10":
- version: 4.0.10
- resolution: "@cspell/dict-rust@npm:4.0.10"
- checksum: 10c0/6731d59a9f7172f4d5e5d16ddd7dc848e0a5ed1dea2c58bef69dc91122e33f38ce1f942dd1eeaf6d154ec8bde279b2cb33330727d2057e80fa5ec64616ea1bf8
+"@cspell/dict-rust@npm:^4.0.11":
+ version: 4.0.11
+ resolution: "@cspell/dict-rust@npm:4.0.11"
+ checksum: 10c0/f5adf582f45b02c0695e1118b1f99952cc3a443625b279b0d657dce1c297b74f9782c000e45959b9ab096509de99c0549c1dd01b49a83a3fd6d7453444a4d776
languageName: node
linkType: hard
-"@cspell/dict-scala@npm:^5.0.6":
- version: 5.0.6
- resolution: "@cspell/dict-scala@npm:5.0.6"
- checksum: 10c0/5018e63ef1e0b640d229a7a22baaae1244bfaa7d5639365f92ef4b4acd0d44e315905259f5a9135dbabf172390eb89b43cc04cf94d4b3a54e4c2f79083af75d8
+"@cspell/dict-scala@npm:^5.0.7":
+ version: 5.0.7
+ resolution: "@cspell/dict-scala@npm:5.0.7"
+ checksum: 10c0/273eb0123b59d55624ce837b793c12a06f672ffd7653c40565d9647682b11851862929ae6f1171fe5b28dbb3ef4f5f7b892d4b3f939130f6947f75358684e59b
languageName: node
linkType: hard
-"@cspell/dict-software-terms@npm:^4.1.17":
- version: 4.1.18
- resolution: "@cspell/dict-software-terms@npm:4.1.18"
- checksum: 10c0/cb7886107082ae973aae26fb35d0d1ea3851f8fc44e430e78120a85b08e3abb203e99e2a52a2a3e368fc3eb1aea22103b5185a79b03750604d2a4c88e9d1cff0
+"@cspell/dict-shell@npm:1.1.0, @cspell/dict-shell@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "@cspell/dict-shell@npm:1.1.0"
+ checksum: 10c0/820343ea423769099fc27ed1c5aa1e23b2f6d9f2552375b0f6343d4d6b34b2d010c15167883d46d3e68d5612770d23704ce0baf5c8fef4b0864224d38605a7f8
languageName: node
linkType: hard
-"@cspell/dict-sql@npm:^2.1.8":
- version: 2.1.8
- resolution: "@cspell/dict-sql@npm:2.1.8"
- checksum: 10c0/dad458146cba600716cc4990ed58a39ca1386049d85a66c0b484ba95c404743d650099b2e55ce11d472c7c183fd1e21519de6808f47a80aacb9db190d199e4b1
+"@cspell/dict-software-terms@npm:^5.0.5":
+ version: 5.0.10
+ resolution: "@cspell/dict-software-terms@npm:5.0.10"
+ checksum: 10c0/58c87c316a47651c61920fd5366e120a7679b2d0a0359cda176ac2697d435724d2f7dd9ce81e6a050750e966b5fd6690a5698d31cac95a47808007343a5ba74d
languageName: node
linkType: hard
-"@cspell/dict-svelte@npm:^1.0.5":
- version: 1.0.5
- resolution: "@cspell/dict-svelte@npm:1.0.5"
- checksum: 10c0/9f482c333c304a465fa5ae6cdbb736f32b47ca57a68ad6f3429a79720aa54082553381130272d7bfad01207c186aa557e712c0c5904d5b8d9b8fdfdfa9a88438
+"@cspell/dict-sql@npm:^2.2.0":
+ version: 2.2.0
+ resolution: "@cspell/dict-sql@npm:2.2.0"
+ checksum: 10c0/bf509e15ef2973f829a1e52620b004a5c507837a25342645ea2776ff4c529f2c6422887316f78a1c217d490d65da41da385da98935f955c681e515a6b7a71703
languageName: node
linkType: hard
-"@cspell/dict-swift@npm:^2.0.4":
- version: 2.0.4
- resolution: "@cspell/dict-swift@npm:2.0.4"
- checksum: 10c0/10ef516b54da3b7c5e4a69009d444faaf4986f32121050ef319e997b25a0d63f707de7027dad4d17303d86d9707fad044f5ffae25e96e9fbca3a6aea555eccd5
+"@cspell/dict-svelte@npm:^1.0.6":
+ version: 1.0.6
+ resolution: "@cspell/dict-svelte@npm:1.0.6"
+ checksum: 10c0/81864325d7bc97d51abbfbd717e2b3dca9eeffb1042be9483407493664c5c53fa7176cb07f648a2a7633da39870de37a20067e13a3ddc008803c5e80c37c5f15
languageName: node
linkType: hard
-"@cspell/dict-terraform@npm:^1.0.6":
- version: 1.0.6
- resolution: "@cspell/dict-terraform@npm:1.0.6"
- checksum: 10c0/0494d01703d671c47b93085ba791c2098640d11fc366adc877df16e79b5eccedf7d93d46d6acb37f4fa24f2c7ffac761ff1cd4c539ece2701519abbbbaa445e4
+"@cspell/dict-swift@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "@cspell/dict-swift@npm:2.0.5"
+ checksum: 10c0/3123cfde3661ae2b6255863ce4afc648e7e30f20ffb3289e51a624c4b9688cb4e489aff864987e7a1b6f893026f97f5082a8c688e05491f60cad6cc03558ef3c
languageName: node
linkType: hard
-"@cspell/dict-typescript@npm:^3.1.11":
- version: 3.1.11
- resolution: "@cspell/dict-typescript@npm:3.1.11"
- checksum: 10c0/080558cb1399c64ff0a9cb5b711e726bf6585e983f6559518b13f9ec1770db2880434ee772186b755b863c8a22f6b4c1660038627e5c32239dd1ddc59ee87273
+"@cspell/dict-terraform@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "@cspell/dict-terraform@npm:1.1.1"
+ checksum: 10c0/c6d54c4e9cae5f8e83fe07051d09224c7d8cdbe02e3d8c75613f1c01e187a0959065fbe9c67fcaf8715aac6633196b32839e5ae05e9a63d7b07448b3e7e33eb3
languageName: node
linkType: hard
-"@cspell/dict-vue@npm:^3.0.3":
- version: 3.0.3
- resolution: "@cspell/dict-vue@npm:3.0.3"
- checksum: 10c0/8b69413b5b5002cff8b1b2f8441accc14fdc1fca731ff30be66ba925e9cbbb4caf428c2a35327b756269fbe608db7d3ec0946f8017f8433ee508ead14147389f
+"@cspell/dict-typescript@npm:^3.2.1":
+ version: 3.2.1
+ resolution: "@cspell/dict-typescript@npm:3.2.1"
+ checksum: 10c0/79069c810021210052c450a5c68097108730ff07c57a411e156f2ed225bcef8504b80581975867ac952d942b675409a5a16ca29d91c684438528e9bd525ec42b
languageName: node
linkType: hard
-"@cspell/dynamic-import@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/dynamic-import@npm:8.16.1"
- dependencies:
- import-meta-resolve: "npm:^4.1.0"
- checksum: 10c0/083b0de1795ecc2b72a2205919735804a7626bb67ca28dab6007c58dc70eca496cad0b7ef2534476dd163a9b427eb0063be369de5949755aaf89c328d96da3ce
+"@cspell/dict-vue@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "@cspell/dict-vue@npm:3.0.4"
+ checksum: 10c0/8a39099c15a6d2ae640aa5a2947dc0c9baf782a8754afaccc0d1fb014fda20be121cf4c2cff6f7e9e61c62fab52a7b8b2a3a07dfe2996b6ea6e4d80165746416
languageName: node
linkType: hard
-"@cspell/filetypes@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/filetypes@npm:8.16.1"
- checksum: 10c0/539f230eb097b95e36777f93891034fa6657af7fb04eac38ffd464440b8e6c5b9445c83b8202260104b8e102218f7759c88d8e603681af907c03e99f0a65fb7d
+"@cspell/dynamic-import@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/dynamic-import@npm:8.19.4"
+ dependencies:
+ "@cspell/url": "npm:8.19.4"
+ import-meta-resolve: "npm:^4.1.0"
+ checksum: 10c0/2af14cdc075da171353d1b46edc34d8912ce3897f93eb76060c322d64fc885000c6450b625bd2fa453eaf078ace1442c983419fbeea186450ad2ac9df0609559
languageName: node
linkType: hard
-"@cspell/strong-weak-map@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/strong-weak-map@npm:8.16.1"
- checksum: 10c0/11338336d372dab8898017eb54bf7f31e3d92b5a51d192f2185df99d92473a8ce8e6742f29a8670faa0a1a520c4de3166e6dbac26fc93b61ff6f74aa35d6fdf3
+"@cspell/filetypes@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/filetypes@npm:8.19.4"
+ checksum: 10c0/c559bbc6e30bd8b1a0fe95f47a1d5eb631785df99ff1c2740ca02e118c3ab608e9b88ffae0e875d5d958c0152a7effff8e522ee371fdc505eaee505ea80f15d4
languageName: node
linkType: hard
-"@cspell/url@npm:8.16.1":
- version: 8.16.1
- resolution: "@cspell/url@npm:8.16.1"
- checksum: 10c0/79ce9e8946c79c0c5b2a8f49c3cdab89edca7b21e5b23152f951a3b78905a2bd829a45139ad6cca4126879e43d8f5c6ddd92d90b30203c6b1acc19b677164f19
+"@cspell/strong-weak-map@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/strong-weak-map@npm:8.19.4"
+ checksum: 10c0/ffa84dc389ac9285a3994d6fa85fc9cc025007b351851bfd4ea14dca472f58c3f805d4dba97edd454674becbcb97f02b24001072eb0c66fcad74b4fc6235ad78
languageName: node
linkType: hard
-"@csstools/cascade-layer-name-parser@npm:^1.0.13":
- version: 1.0.13
- resolution: "@csstools/cascade-layer-name-parser@npm:1.0.13"
- peerDependencies:
- "@csstools/css-parser-algorithms": ^2.7.1
- "@csstools/css-tokenizer": ^2.4.1
- checksum: 10c0/a6412fc8601af1baadc8195934aa668d3476e799891c9d0883390f31ec8678e9b565ac14d919bec633bbc086657ac12aa4cd852c718851a2d34517ee6856ff8e
+"@cspell/url@npm:8.19.4":
+ version: 8.19.4
+ resolution: "@cspell/url@npm:8.19.4"
+ checksum: 10c0/37dc0414bd1c7d425b253877a685a317745ef61716ca1306b2aca41e79334f85c9afc5103a62b7c4fc4be754ff8fd63f00c04a7bfa13fcc3e2f64cdee1c12617
languageName: node
linkType: hard
-"@csstools/color-helpers@npm:^4.2.1":
- version: 4.2.1
- resolution: "@csstools/color-helpers@npm:4.2.1"
- checksum: 10c0/72e11b186ad0f6019a9b4b3752e620fa798c2a40cf47e8cad565dff46e572c9342eb8cf804542d7886344a1e540555d77f20119ace6b2d8a45b6e5ef8a41685c
+"@csstools/cascade-layer-name-parser@npm:^2.0.4":
+ version: 2.0.4
+ resolution: "@csstools/cascade-layer-name-parser@npm:2.0.4"
+ peerDependencies:
+ "@csstools/css-parser-algorithms": ^3.0.4
+ "@csstools/css-tokenizer": ^3.0.3
+ checksum: 10c0/774f2bcc96a576183853191bdfd31df15e22c51901ee01678ee47f1d1afcb4ab0e6d9a78e08f7383ac089c7e0b390013633f45ff1f1d577c9aefd252589bcced
languageName: node
linkType: hard
@@ -1378,16 +1374,6 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-calc@npm:^1.2.4":
- version: 1.2.4
- resolution: "@csstools/css-calc@npm:1.2.4"
- peerDependencies:
- "@csstools/css-parser-algorithms": ^2.7.1
- "@csstools/css-tokenizer": ^2.4.1
- checksum: 10c0/6233746eb642797b7fbc2cf6e7651e95700b294e78e3c29e8730c3236bb92cf62903efb6e54639e8f877683c40646e137c95e615c4450809b21b61a6192888ca
- languageName: node
- linkType: hard
-
"@csstools/css-calc@npm:^2.1.3":
version: 2.1.3
resolution: "@csstools/css-calc@npm:2.1.3"
@@ -1398,19 +1384,6 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-color-parser@npm:^2.0.4":
- version: 2.0.4
- resolution: "@csstools/css-color-parser@npm:2.0.4"
- dependencies:
- "@csstools/color-helpers": "npm:^4.2.1"
- "@csstools/css-calc": "npm:^1.2.4"
- peerDependencies:
- "@csstools/css-parser-algorithms": ^2.7.1
- "@csstools/css-tokenizer": ^2.4.1
- checksum: 10c0/e009a2f34b6c328daad54262deb86b71c6a7a9a1da1db8ad39cf719641e1a728ed8ddbd23613d519d26deee33b89ba12cb15a6928718c1b3cc5e24ac1ed02f47
- languageName: node
- linkType: hard
-
"@csstools/css-color-parser@npm:^3.0.9":
version: 3.0.9
resolution: "@csstools/css-color-parser@npm:3.0.9"
@@ -1424,15 +1397,6 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-parser-algorithms@npm:^2.7.1":
- version: 2.7.1
- resolution: "@csstools/css-parser-algorithms@npm:2.7.1"
- peerDependencies:
- "@csstools/css-tokenizer": ^2.4.1
- checksum: 10c0/7d29bef6f5790ddb67d922ad232253bf910e4fa5293f5e4a5ed8b920ae9bd4e8171942df7d8943af23b42fd4e9fb460181394d20c97da9562e6ce98a875e8c47
- languageName: node
- linkType: hard
-
"@csstools/css-parser-algorithms@npm:^3.0.4":
version: 3.0.4
resolution: "@csstools/css-parser-algorithms@npm:3.0.4"
@@ -1442,13 +1406,6 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/css-tokenizer@npm:^2.4.1":
- version: 2.4.1
- resolution: "@csstools/css-tokenizer@npm:2.4.1"
- checksum: 10c0/fe71cee85ec7372da07083d088b6a704f43e5d3d2d8071c4b8a86fae60408b559a218a43f8625bf2f0be5c7f90c8f3ad20a1aae1921119a1c02b51c310cc2b6b
- languageName: node
- linkType: hard
-
"@csstools/css-tokenizer@npm:^3.0.3":
version: 3.0.3
resolution: "@csstools/css-tokenizer@npm:3.0.3"
@@ -1456,16 +1413,6 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/media-query-list-parser@npm:^2.1.13":
- version: 2.1.13
- resolution: "@csstools/media-query-list-parser@npm:2.1.13"
- peerDependencies:
- "@csstools/css-parser-algorithms": ^2.7.1
- "@csstools/css-tokenizer": ^2.4.1
- checksum: 10c0/8bf72342c15581b8f658633436d83c26a214056f6b960ff121b940271f4b1b5b07e9cc3990a73e684fb72319592f0c392408b4f0e08bbe242b2065aa456e2733
- languageName: node
- linkType: hard
-
"@csstools/media-query-list-parser@npm:^4.0.2":
version: 4.0.2
resolution: "@csstools/media-query-list-parser@npm:4.0.2"
@@ -1476,392 +1423,409 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/postcss-cascade-layers@npm:^4.0.6":
- version: 4.0.6
- resolution: "@csstools/postcss-cascade-layers@npm:4.0.6"
+"@csstools/postcss-cascade-layers@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "@csstools/postcss-cascade-layers@npm:5.0.1"
dependencies:
- "@csstools/selector-specificity": "npm:^3.1.1"
- postcss-selector-parser: "npm:^6.0.13"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/134019e9b3f71de39034658e2a284f549883745a309f774d8d272871f9e65680e0981c893766537a8a56ed7f41dba2d0f9fc3cb4fa4057c227bc193976a2ec79
+ checksum: 10c0/5cc3c6f220d9216f7ab16e716a20d6db845f127c917521e6236342bfa871accd63eb662a04c1e24a28e396412dcb47b1c4abccc490b88e4010cd704d14a702f1
languageName: node
linkType: hard
-"@csstools/postcss-color-function@npm:^3.0.19":
- version: 3.0.19
- resolution: "@csstools/postcss-color-function@npm:3.0.19"
+"@csstools/postcss-color-function@npm:^4.0.9":
+ version: 4.0.9
+ resolution: "@csstools/postcss-color-function@npm:4.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/067e33d7dfc32b56fe63d4f97464a3eaf27dde720961e44feab6076bd2c172dd4c1bad16aa37a922dcbba470756bd6a13e728d9e71eab6937d48d83873cd1879
+ checksum: 10c0/11f7e8a1a4d6ff113706928eb4702454d18ee8d6b07166b98d33b499ba1933cdf034876101a9c3d22fcc009d054ca6fe2df1455daf391d5eb4af86fa6b530e75
languageName: node
linkType: hard
-"@csstools/postcss-color-mix-function@npm:^2.0.19":
- version: 2.0.19
- resolution: "@csstools/postcss-color-mix-function@npm:2.0.19"
+"@csstools/postcss-color-mix-function@npm:^3.0.9":
+ version: 3.0.9
+ resolution: "@csstools/postcss-color-mix-function@npm:3.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/e967d93672a065806dc78da0153f8b4f5087f7c3ddfe361eba4942780760d47b317124913c9b0dda7f9bfff1253f77d1b6debd8a6a2aa3a6c80e263101da5e8c
+ checksum: 10c0/e26ecec62ac6085e8c46225e444bfb6082fffad1559005c0746226b22f995727c2e4ede0fb347e37c81e8f4f2ac9cf4de88800184a650638351f4cbfb8baf1d3
languageName: node
linkType: hard
-"@csstools/postcss-content-alt-text@npm:^1.0.0":
- version: 1.0.0
- resolution: "@csstools/postcss-content-alt-text@npm:1.0.0"
+"@csstools/postcss-content-alt-text@npm:^2.0.5":
+ version: 2.0.5
+ resolution: "@csstools/postcss-content-alt-text@npm:2.0.5"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/0c2c64857ac652989d00c3d2ba49d0cd1cc245193cba6724d2f5841aa990ee6a07267cfebc6fabde6a6246616df60373006d17c5ea9b904129fbfd826dc10a8d
+ checksum: 10c0/fd0543e8195b1a1228fa41995d48bafafb635d32b0b80bdae8edfc3af7fcccb75aa472a072e552420ed0bd2f62d38e764483e3b9cca25a41dc2b450098b2436d
languageName: node
linkType: hard
-"@csstools/postcss-exponential-functions@npm:^1.0.9":
- version: 1.0.9
- resolution: "@csstools/postcss-exponential-functions@npm:1.0.9"
+"@csstools/postcss-exponential-functions@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "@csstools/postcss-exponential-functions@npm:2.0.8"
dependencies:
- "@csstools/css-calc": "npm:^1.2.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/eaec29ef6ec201786c606176235dced4af1922d5ac56c6b0993ad2e7d87464a32702d9b28cae9a76e8527f741b50cbc31d4c646f45d02dc69d520f241b3e7878
+ checksum: 10c0/8ed7cea3ab7b3fce351dc678c97aad0c12d9e9eae43c9793081fc09e2b3281a89a9d67e57df02d87b6af40839d582b5d08523a9f9bfabbd4e05e319995ae7789
languageName: node
linkType: hard
-"@csstools/postcss-font-format-keywords@npm:^3.0.2":
- version: 3.0.2
- resolution: "@csstools/postcss-font-format-keywords@npm:3.0.2"
+"@csstools/postcss-font-format-keywords@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@csstools/postcss-font-format-keywords@npm:4.0.0"
dependencies:
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/1b9bf031ce1a00fef1fae0b1ad614eddc6bb4c036ecad47e065c99063ba3d2f6ab8e47f9db02a6fbe8b75b0e02a075a7a80480d4296918970ba9e8d36f07a523
+ checksum: 10c0/eb794fb95fefcac75e606d185255e601636af177866a317b0c6b6c375055e7240be53918229fd8d4bba00df01bedd2256bdac2b0ad4a4c2ec64f9d27cd6ff639
languageName: node
linkType: hard
-"@csstools/postcss-gamut-mapping@npm:^1.0.11":
- version: 1.0.11
- resolution: "@csstools/postcss-gamut-mapping@npm:1.0.11"
+"@csstools/postcss-gamut-mapping@npm:^2.0.9":
+ version: 2.0.9
+ resolution: "@csstools/postcss-gamut-mapping@npm:2.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/29e755013f1d1de34eb62a931ed410d2830ca3dfc81476cb3c72d9d3260b85a9adedc51aa548550c6e308f3f9640c489e6953db40e9cac9835d0421d5b14ef1f
+ checksum: 10c0/a5985c74bfa8c0fc4406cec807818e35949c73d62b6acd2901dbdd54a30afa7d2094f839ba550812bca76f0df95205492f271df4bab03f4b15115cf10b06b1b5
languageName: node
linkType: hard
-"@csstools/postcss-gradients-interpolation-method@npm:^4.0.20":
- version: 4.0.20
- resolution: "@csstools/postcss-gradients-interpolation-method@npm:4.0.20"
+"@csstools/postcss-gradients-interpolation-method@npm:^5.0.9":
+ version: 5.0.9
+ resolution: "@csstools/postcss-gradients-interpolation-method@npm:5.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/6588825a72a1471e2d6036c8cf7dbad2bf05f369d96dbdd68ff5ce7ff91803b8ee1146f5f1bf6f3ab6299944549da872914664c3f9e8ae5a31847f76f0085c74
+ checksum: 10c0/b284558e38c096e1abfb04306717e23eec841ab23979479adbe165332db84503493b74e6d23d7752abec9327b9bfc343857e9a2393957d5bb9fd2e249570467e
languageName: node
linkType: hard
-"@csstools/postcss-hwb-function@npm:^3.0.18":
- version: 3.0.18
- resolution: "@csstools/postcss-hwb-function@npm:3.0.18"
+"@csstools/postcss-hwb-function@npm:^4.0.9":
+ version: 4.0.9
+ resolution: "@csstools/postcss-hwb-function@npm:4.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/e9d76b0b2f9c54920124ca1804b49e3f5b26e003729418b5ef4b340ff1baa4779da1c02be618888fdbcc2d0747182352efbbd3ffe128e2417928c35c25443789
+ checksum: 10c0/31f9b3540e8af221e1716944ed8719f97ae335e5f866dfc96a3d81f042ef8975ce0d6163925cb32514f4903cb35177bf8d814a571da3f44b63244f88b6b395ad
languageName: node
linkType: hard
-"@csstools/postcss-ic-unit@npm:^3.0.7":
- version: 3.0.7
- resolution: "@csstools/postcss-ic-unit@npm:3.0.7"
+"@csstools/postcss-ic-unit@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@csstools/postcss-ic-unit@npm:4.0.1"
dependencies:
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/2add905b75860c64d7174886fecfc76d86e3818f42f003f4bbfc0604cc7f0f31c6dbd1651e6b9512fea876190d80033578ae49e813b64b17c8cf3b1f03d8e146
+ checksum: 10c0/1097cbdc385bcf32e15df1ed2946477c5927e34ebaf273297f1ae46aeaf2084c7a63858ba1a7a5e1f241be441968a2e1c6deb43ddb101708110c7f608b6fc525
languageName: node
linkType: hard
-"@csstools/postcss-initial@npm:^1.0.1":
- version: 1.0.1
- resolution: "@csstools/postcss-initial@npm:1.0.1"
+"@csstools/postcss-initial@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "@csstools/postcss-initial@npm:2.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/5d21c7c611d90a4b6758ba5be5e38d8d9eea9499c62797c4f5e01fbc9ccc2c68daf1c201850efe70ffa4ff9e979e7dea80b854b8793768550879562881aa6f9f
+ checksum: 10c0/dbff7084ef4f1c4647efe2b147001daf172003c15b5e22689f0540d03c8d362f2a332cd9cf136e6c8dcda7564ee30492a4267ea188f72cb9c1000fb9bcfbfef8
languageName: node
linkType: hard
-"@csstools/postcss-is-pseudo-class@npm:^4.0.8":
- version: 4.0.8
- resolution: "@csstools/postcss-is-pseudo-class@npm:4.0.8"
+"@csstools/postcss-is-pseudo-class@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "@csstools/postcss-is-pseudo-class@npm:5.0.1"
dependencies:
- "@csstools/selector-specificity": "npm:^3.1.1"
- postcss-selector-parser: "npm:^6.0.13"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/82f191571c3e0973354a54ef15feeb17f9408b4abbefad19fc0f087683b1212fc854cdf09a47324267dd47be4c5cb47d63b8d083695a67c3f8f3e53df3d561f6
+ checksum: 10c0/3aaab18ebb2dcf5565efa79813eaa987d40de1e086765358524392a09631c68ad1ee952e6aff8f42513b2c18ab84891787e065fe287f696128498fc641520b6c
languageName: node
linkType: hard
-"@csstools/postcss-light-dark-function@npm:^1.0.8":
- version: 1.0.8
- resolution: "@csstools/postcss-light-dark-function@npm:1.0.8"
+"@csstools/postcss-light-dark-function@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "@csstools/postcss-light-dark-function@npm:2.0.8"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/78fa6d799d38f14af1b32b534eedbec9478033e1fbc5a4e820f2421e865673d010b69b391546686ceb408ead64d79bb4eba2a4fb1fc9f0de70ff21e3ff8477c6
+ checksum: 10c0/5494516f52d467dcace80495a4fb0fbd24207ae13634bb82b5c24e5d52e84665aebc28cd31fed8d96a41e91bf822185aba5a3d01680a140278c484741516c383
languageName: node
linkType: hard
-"@csstools/postcss-logical-float-and-clear@npm:^2.0.1":
- version: 2.0.1
- resolution: "@csstools/postcss-logical-float-and-clear@npm:2.0.1"
+"@csstools/postcss-logical-float-and-clear@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@csstools/postcss-logical-float-and-clear@npm:3.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/92d9184bf8a159753a5872463dcfde580abd9b935e2a59f7ebe601cd14d9871f2f9f4dc18d8bbe251e7d8a3e446e302d9d99bf408d9cabbd9a6323825f5e833d
+ checksum: 10c0/71a20e8c37877bf68ae615d7bb93fc11b4f8da8be8b1dc1a6e0fc69e27f189712ed71436b8ed51fa69fdb98b8e6718df2b5f42f246c4d39badaf0e43020fcfd4
languageName: node
linkType: hard
-"@csstools/postcss-logical-overflow@npm:^1.0.1":
- version: 1.0.1
- resolution: "@csstools/postcss-logical-overflow@npm:1.0.1"
+"@csstools/postcss-logical-overflow@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@csstools/postcss-logical-overflow@npm:2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/a8f5b1fdaf4ce7b1665407dac2f2e0c0ea11195e6873cfc714d9cd206489170fd91fc172b337330baf60191206f60579e235264f0dc7fee750ccd27ffe02c163
+ checksum: 10c0/0e103343d3ff8b34eef01b02355c5e010d272fd12d149a242026bb13ab1577b7f3a11fd4514be9342d96f73d61dac1f093a9bd36ece591753ed09a84eb7fca0a
languageName: node
linkType: hard
-"@csstools/postcss-logical-overscroll-behavior@npm:^1.0.1":
- version: 1.0.1
- resolution: "@csstools/postcss-logical-overscroll-behavior@npm:1.0.1"
+"@csstools/postcss-logical-overscroll-behavior@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@csstools/postcss-logical-overscroll-behavior@npm:2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/9485502bd9235276525351818d6cc11544ac1b270bb4f527f3fac32fe98ac66269366c34cdb8f61920b10ff9aac5824935004a5927490a5febca77eb41226604
+ checksum: 10c0/1649601bb26f04d760fb5ebc42cdf414fa2a380b8ec22fe1c117f664c286665a786bd7bbda01b7e7567eaf3cc018a4f36a5c9805f6751cc497da223e0ffe9524
languageName: node
linkType: hard
-"@csstools/postcss-logical-resize@npm:^2.0.1":
- version: 2.0.1
- resolution: "@csstools/postcss-logical-resize@npm:2.0.1"
+"@csstools/postcss-logical-resize@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@csstools/postcss-logical-resize@npm:3.0.0"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/18f7e19ea465a15b334d8231b9ed98b630c74a6c2a6c52884437b852065f7b55bb1282cdbbdc1136aade479e996605b01799ab0ab771e2c47fd78d966ed33162
+ checksum: 10c0/4f12efcaf5468ff359bb3f32f0f66034b9acc9b3ac21fcd2f30a1c8998fc653ebac0091f35c8b7e8dbfe6ccf595aee67f9b06a67adf45a8844e49a82d98b4386
languageName: node
linkType: hard
-"@csstools/postcss-logical-viewport-units@npm:^2.0.11":
- version: 2.0.11
- resolution: "@csstools/postcss-logical-viewport-units@npm:2.0.11"
+"@csstools/postcss-logical-viewport-units@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "@csstools/postcss-logical-viewport-units@npm:3.0.3"
dependencies:
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/20207e9b7fc3ab52df5fcd06fde71fca4fd22bd6bd451cfc2ec6ea69994708b7fc5381e203dc4367293a8de00b1eca7a3ebe89cfa9b933d2f2cb8e3ac4d5aa86
+ checksum: 10c0/8ec746598d7ce8697c3dafd83cb3a319a90079ad755dd78e3ec92f4ba9ad849c4cdaba33b16e9dcbac1e9489b3d7c48262030110c20ce1d88cdacbe9f5987cec
languageName: node
linkType: hard
-"@csstools/postcss-media-minmax@npm:^1.1.8":
- version: 1.1.8
- resolution: "@csstools/postcss-media-minmax@npm:1.1.8"
+"@csstools/postcss-media-minmax@npm:^2.0.8":
+ version: 2.0.8
+ resolution: "@csstools/postcss-media-minmax@npm:2.0.8"
dependencies:
- "@csstools/css-calc": "npm:^1.2.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/media-query-list-parser": "npm:^2.1.13"
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/media-query-list-parser": "npm:^4.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/7d666905282c7a89387dbce84f3429bad04870e0de264c5b1ce3e6f042b8eb72d585a18b2d7ac5e1a8c7f6785892da3cc7f6ea0b48069b06e9d383bdbc149b4a
+ checksum: 10c0/aff72b83b888d3d0dc6441f219f7c2833a4aa0f59493da22db1087fce32763bb765f068c6ddedc0ddc6fe79f1843e6b1375af07fa572494ecac91e59b1dc324f
languageName: node
linkType: hard
-"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^2.0.11":
- version: 2.0.11
- resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:2.0.11"
+"@csstools/postcss-media-queries-aspect-ratio-number-values@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "@csstools/postcss-media-queries-aspect-ratio-number-values@npm:3.0.4"
dependencies:
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/media-query-list-parser": "npm:^2.1.13"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/media-query-list-parser": "npm:^4.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b4023a1951b7661196332852ce714a4e2fb4f1a67164ec0944e28a009b389e59c67e9de790920fcd082b122276414dd39c12ae12a4566e59e1bbcc794560a870
+ checksum: 10c0/27dc9419b0f4315774647588f599348e7cc593984f59b414c51c910066501fd087cbe232deb762907c18bd21dd4184e7b6e0e0b730e5c72341ab9cc696c75739
languageName: node
linkType: hard
-"@csstools/postcss-nested-calc@npm:^3.0.2":
- version: 3.0.2
- resolution: "@csstools/postcss-nested-calc@npm:3.0.2"
+"@csstools/postcss-nested-calc@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@csstools/postcss-nested-calc@npm:4.0.0"
dependencies:
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/3e24cf641170f9090f0dce088f6dae09ed9a0f38af1bdaa369ecc791a94cce54d7a02a0634f661a97fae24e04f1601c21d753593de018c80ad4236d36144b975
+ checksum: 10c0/fb61512fa4909bdf0ee32a23e771145086c445f2208a737b52093c8adfab7362c56d3aeaf2a6e33ffcec067e99a07219775465d2fbb1a3ac30cdcfb278b218b7
languageName: node
linkType: hard
-"@csstools/postcss-normalize-display-values@npm:^3.0.2":
- version: 3.0.2
- resolution: "@csstools/postcss-normalize-display-values@npm:3.0.2"
+"@csstools/postcss-normalize-display-values@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@csstools/postcss-normalize-display-values@npm:4.0.0"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/a20e2f4c213a5ec6e004c2ba76b543d3288a39aae21b3198b06a57df0d2c7916111d2cd70dcb0e8c6ca1cf1b01751e88fd2fe9abbc070e1efab1a4e54dcdbbbe
+ checksum: 10c0/d3a3a362b532163bd791f97348ef28b7a43baf01987c7702b06285e751cdc5ea3e3a2553f088260515b4d28263d5c475923d4d4780ecb4078ec66dff50c9e638
languageName: node
linkType: hard
-"@csstools/postcss-oklab-function@npm:^3.0.19":
- version: 3.0.19
- resolution: "@csstools/postcss-oklab-function@npm:3.0.19"
+"@csstools/postcss-oklab-function@npm:^4.0.9":
+ version: 4.0.9
+ resolution: "@csstools/postcss-oklab-function@npm:4.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/2909f76ba408c9f60b61c479994c96200b0e1d3dbf524d5ae6dc5ca1e21d38caf974595e0d071c3900dbe3568376928085dd811aa24ea3e715bcd9de26fb0fa9
+ checksum: 10c0/9955aafc1dfc0bb5c886b2af3a82abed2d0a707c7654b2b49886db4c7153e1a016f327f4cc0d94b5b28f3b6227d9b3422c63555f78412433655beec90f37b388
languageName: node
linkType: hard
-"@csstools/postcss-progressive-custom-properties@npm:^3.3.0":
- version: 3.3.0
- resolution: "@csstools/postcss-progressive-custom-properties@npm:3.3.0"
+"@csstools/postcss-progressive-custom-properties@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@csstools/postcss-progressive-custom-properties@npm:4.0.1"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/6c9987d65049a70b5090dcfe42fde9ab2b3cb88911a81bb6651ed81c8baf99502ff2cbec0cb3e022426fa994b558b4bf33fd791ccdcdf683dde75b4865d34f39
+ checksum: 10c0/a33e2a67ac29e731b112df9718596f703990492900bb118c513fcee7c0dc0a03f58248b2c5467b14de3e757f0ef2c6d97882254af784d8df390c633780bdf1f9
languageName: node
linkType: hard
-"@csstools/postcss-relative-color-syntax@npm:^2.0.19":
- version: 2.0.19
- resolution: "@csstools/postcss-relative-color-syntax@npm:2.0.19"
+"@csstools/postcss-random-function@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@csstools/postcss-random-function@npm:2.0.0"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/f0aff764f4889ff664b6fa94ddfa5a22daf39354aa2d2ac0eab893eb3ed841b7d2a72131393334d6a5379445fc80f92ab5bd63d4dc3b43746bc7c9055da46591
+ checksum: 10c0/e0744b1472c4037b6491aac232d005659c0c65bc08af785cbdc50b722efaf71330e38607f4c88b54322338294f92ec68817ec1cd6e688953aa127f27cd2a5b00
languageName: node
linkType: hard
-"@csstools/postcss-scope-pseudo-class@npm:^3.0.1":
- version: 3.0.1
- resolution: "@csstools/postcss-scope-pseudo-class@npm:3.0.1"
+"@csstools/postcss-relative-color-syntax@npm:^3.0.9":
+ version: 3.0.9
+ resolution: "@csstools/postcss-relative-color-syntax@npm:3.0.9"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/489c5469951277b810754ba02e9f6c42196e03f2203b908181a81747bf1dcaa7b194c8c0f5c7dcb6b7276d08f2573a71bd7df4f2251c034ef1b92968c7070285
+ checksum: 10c0/486e6c91b1042ca96e6e5c3d94d95e343101c7862e772aee16cd48607633f7c93c42dd23b5adc44cfa8dc8cb32ef3ba0f1f86e3f9a23be5c8744533d23128624
languageName: node
linkType: hard
-"@csstools/postcss-stepped-value-functions@npm:^3.0.10":
- version: 3.0.10
- resolution: "@csstools/postcss-stepped-value-functions@npm:3.0.10"
+"@csstools/postcss-scope-pseudo-class@npm:^4.0.1":
+ version: 4.0.1
+ resolution: "@csstools/postcss-scope-pseudo-class@npm:4.0.1"
dependencies:
- "@csstools/css-calc": "npm:^1.2.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/f9ebe50fb884d002aa40070196a827816f635b891fd2147ae5ddf1ad6df5bddbb50783d6786897bb3dffa33052565e38289392040cf4454aaa179ab00353117d
+ checksum: 10c0/6a0ca50fae655f4498200d1ce298ca794c85fbe2e3fd5d6419843254f055df5007a973e09b5f1e78e376c02b54278e411516c8d824300c68b265d3e5b311d7ee
languageName: node
linkType: hard
-"@csstools/postcss-text-decoration-shorthand@npm:^3.0.7":
- version: 3.0.7
- resolution: "@csstools/postcss-text-decoration-shorthand@npm:3.0.7"
+"@csstools/postcss-sign-functions@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "@csstools/postcss-sign-functions@npm:1.1.3"
dependencies:
- "@csstools/color-helpers": "npm:^4.2.1"
- postcss-value-parser: "npm:^4.2.0"
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/072b9893ca2409aa16e53e84747d7b7e13071ce19738a0800a139bf71b535e439958d9093df2b85f83eee2e0c44bc22a14bf3a39b5a7508bca9e747a12273d02
+ checksum: 10c0/97998443191ab0ef370bdc413b4952fd86d9274700fade2a83cdf5d59f449a4a7001ceda35dd6cb45fefebafb0959be35c3fcfa0e3333c55b1658f514eb64e96
languageName: node
linkType: hard
-"@csstools/postcss-trigonometric-functions@npm:^3.0.10":
- version: 3.0.10
- resolution: "@csstools/postcss-trigonometric-functions@npm:3.0.10"
+"@csstools/postcss-stepped-value-functions@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "@csstools/postcss-stepped-value-functions@npm:4.0.8"
dependencies:
- "@csstools/css-calc": "npm:^1.2.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/31adcc66510d9788ccb0669d2761517a6135b13692007d8e4334bc0e8d3515dfecfbdcd04e060d0c09a0f5fc2f12db92221b9d53e92b65b044c89cde9a3424cb
+ checksum: 10c0/515630c3d25029a5e3789d665ae7f4a394245e5442c79d99f0fff018c698e356680aea0f937819a00cb78563ce2285a43ede50e32992cee4e062e413d22df44f
languageName: node
linkType: hard
-"@csstools/postcss-unset-value@npm:^3.0.1":
- version: 3.0.1
- resolution: "@csstools/postcss-unset-value@npm:3.0.1"
+"@csstools/postcss-text-decoration-shorthand@npm:^4.0.2":
+ version: 4.0.2
+ resolution: "@csstools/postcss-text-decoration-shorthand@npm:4.0.2"
+ dependencies:
+ "@csstools/color-helpers": "npm:^5.0.2"
+ postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/5032c3125eada0a3a77d0867644cf994e28b789aaa40e990e7eebcdf5a9ed9f36b30e0904827044cea39849c9a9a19c90e82d3ca655550d82a7530872b3b6ff8
+ checksum: 10c0/01e2f3717e7a42224dc1a746491c55a381cf208cb7588f0308eeefe730675be4c7bb56c0cc557e75999c981e67da7d0b0bb68610635752c89ef251ee435b9cac
languageName: node
linkType: hard
-"@csstools/selector-resolve-nested@npm:^1.1.0":
- version: 1.1.0
- resolution: "@csstools/selector-resolve-nested@npm:1.1.0"
+"@csstools/postcss-trigonometric-functions@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "@csstools/postcss-trigonometric-functions@npm:4.0.8"
+ dependencies:
+ "@csstools/css-calc": "npm:^2.1.3"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
peerDependencies:
- postcss-selector-parser: ^6.0.13
- checksum: 10c0/3a53b14e048d48b8900c1cf30442ab5eec1a1087c74ce41459c4dcd42ad7d363c9327890ba7aed25288d09c206d9565178bae126b25cdc3e1170a1d55e763c77
+ postcss: ^8.4
+ checksum: 10c0/609d03b752aae1c57d671eaefe4cdbde0a1d62c4b4d3ffb8bb39a41ebb61fdade7c7892a2c7c365d2997d9f93f4f3bb4034801a5baf1988b274120b3ec0ba6ad
languageName: node
linkType: hard
-"@csstools/selector-specificity@npm:^3.1.1":
- version: 3.1.1
- resolution: "@csstools/selector-specificity@npm:3.1.1"
+"@csstools/postcss-unset-value@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@csstools/postcss-unset-value@npm:4.0.0"
peerDependencies:
- postcss-selector-parser: ^6.0.13
- checksum: 10c0/1d4a3f8015904d6aeb3203afe0e1f6db09b191d9c1557520e3e960c9204ad852df9db4cbde848643f78a26f6ea09101b4e528dbb9193052db28258dbcc8a6e1d
+ postcss: ^8.4
+ checksum: 10c0/8424ac700ded5bf59d49310335896f10c069e2c3fc6a676b5d13ca5a6fb78689b948f50494df875da284c4c76651deb005eafba70d87e693274628c5a685abfa
+ languageName: node
+ linkType: hard
+
+"@csstools/selector-resolve-nested@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@csstools/selector-resolve-nested@npm:3.0.0"
+ peerDependencies:
+ postcss-selector-parser: ^7.0.0
+ checksum: 10c0/2b01c36b3fa81388d5bddd8db962766465d76b021a815c8bb5a48c3a42c530154cc155fc496707ade627dbba6745eb8ecd9fa840c1972133c0f7d8811e0a959d
languageName: node
linkType: hard
@@ -1874,12 +1838,12 @@ __metadata:
languageName: node
linkType: hard
-"@csstools/utilities@npm:^1.0.0":
- version: 1.0.0
- resolution: "@csstools/utilities@npm:1.0.0"
+"@csstools/utilities@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "@csstools/utilities@npm:2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/2ac10895e0a1f9e1fc9c092197c8595a09f632552791af91219f38c55bb39083fb44b74a6a7de9112492cf24a2fe66d20c955a2b4aff041d5c017d87bbebc0f2
+ checksum: 10c0/be5c31437b726928f64cd4bb3e47f5b90bfd2e2a69a8eaabd8e89cc6c0977e4f0f7ee48de50c8ed8b07e04e3956a02293247e0da3236d521fb2e836f88f65822
languageName: node
linkType: hard
@@ -1905,20 +1869,20 @@ __metadata:
linkType: hard
"@eslint-community/eslint-utils@npm:^4.2.0":
- version: 4.4.0
- resolution: "@eslint-community/eslint-utils@npm:4.4.0"
+ version: 4.7.0
+ resolution: "@eslint-community/eslint-utils@npm:4.7.0"
dependencies:
- eslint-visitor-keys: "npm:^3.3.0"
+ eslint-visitor-keys: "npm:^3.4.3"
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
- checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e
+ checksum: 10c0/c0f4f2bd73b7b7a9de74b716a664873d08ab71ab439e51befe77d61915af41a81ecec93b408778b3a7856185244c34c2c8ee28912072ec14def84ba2dec70adf
languageName: node
linkType: hard
"@eslint-community/regexpp@npm:^4.6.1":
- version: 4.10.0
- resolution: "@eslint-community/regexpp@npm:4.10.0"
- checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4
+ version: 4.12.1
+ resolution: "@eslint-community/regexpp@npm:4.12.1"
+ checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6
languageName: node
linkType: hard
@@ -2020,49 +1984,58 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/gen-mapping@npm:^0.3.0":
- version: 0.3.3
- resolution: "@jridgewell/gen-mapping@npm:0.3.3"
+"@isaacs/fs-minipass@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "@isaacs/fs-minipass@npm:4.0.1"
+ dependencies:
+ minipass: "npm:^7.0.4"
+ checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2
+ languageName: node
+ linkType: hard
+
+"@jridgewell/gen-mapping@npm:^0.3.5":
+ version: 0.3.8
+ resolution: "@jridgewell/gen-mapping@npm:0.3.8"
dependencies:
- "@jridgewell/set-array": "npm:^1.0.1"
+ "@jridgewell/set-array": "npm:^1.2.1"
"@jridgewell/sourcemap-codec": "npm:^1.4.10"
- "@jridgewell/trace-mapping": "npm:^0.3.9"
- checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a
languageName: node
linkType: hard
"@jridgewell/resolve-uri@npm:^3.1.0":
- version: 3.1.1
- resolution: "@jridgewell/resolve-uri@npm:3.1.1"
- checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf
+ version: 3.1.2
+ resolution: "@jridgewell/resolve-uri@npm:3.1.2"
+ checksum: 10c0/d502e6fb516b35032331406d4e962c21fe77cdf1cbdb49c6142bcbd9e30507094b18972778a6e27cbad756209cfe34b1a27729e6fa08a2eb92b33943f680cf1e
languageName: node
linkType: hard
-"@jridgewell/set-array@npm:^1.0.1":
- version: 1.1.2
- resolution: "@jridgewell/set-array@npm:1.1.2"
- checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab
+"@jridgewell/set-array@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@jridgewell/set-array@npm:1.2.1"
+ checksum: 10c0/2a5aa7b4b5c3464c895c802d8ae3f3d2b92fcbe84ad12f8d0bfbb1f5ad006717e7577ee1fd2eac00c088abe486c7adb27976f45d2941ff6b0b92b2c3302c60f4
languageName: node
linkType: hard
"@jridgewell/source-map@npm:^0.3.3":
- version: 0.3.5
- resolution: "@jridgewell/source-map@npm:0.3.5"
+ version: 0.3.6
+ resolution: "@jridgewell/source-map@npm:0.3.6"
dependencies:
- "@jridgewell/gen-mapping": "npm:^0.3.0"
- "@jridgewell/trace-mapping": "npm:^0.3.9"
- checksum: 10c0/b985d9ebd833a21a6e9ace820c8a76f60345a34d9e28d98497c16b6e93ce1f131bff0abd45f8585f14aa382cce678ed680d628c631b40a9616a19cfbc2049b68
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.25"
+ checksum: 10c0/6a4ecc713ed246ff8e5bdcc1ef7c49aaa93f7463d948ba5054dda18b02dcc6a055e2828c577bcceee058f302ce1fc95595713d44f5c45e43d459f88d267f2f04
languageName: node
linkType: hard
"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
- version: 1.4.15
- resolution: "@jridgewell/sourcemap-codec@npm:1.4.15"
- checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5
+ version: 1.5.0
+ resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
+ checksum: 10c0/2eb864f276eb1096c3c11da3e9bb518f6d9fc0023c78344cdc037abadc725172c70314bdb360f2d4b7bffec7f5d657ce006816bc5d4ecb35e61b66132db00c18
languageName: node
linkType: hard
-"@jridgewell/trace-mapping@npm:^0.3.25":
+"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
version: 0.3.25
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
dependencies:
@@ -2072,13 +2045,12 @@ __metadata:
languageName: node
linkType: hard
-"@jridgewell/trace-mapping@npm:^0.3.9":
- version: 0.3.20
- resolution: "@jridgewell/trace-mapping@npm:0.3.20"
+"@keyv/serialize@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "@keyv/serialize@npm:1.0.3"
dependencies:
- "@jridgewell/resolve-uri": "npm:^3.1.0"
- "@jridgewell/sourcemap-codec": "npm:^1.4.14"
- checksum: 10c0/0ea0b2675cf513ec44dc25605616a3c9b808b9832e74b5b63c44260d66b58558bba65764f81928fc1033ead911f8718dca1134049c3e7a93937faf436671df31
+ buffer: "npm:^6.0.3"
+ checksum: 10c0/24a257870b0548cfe430680c2ae1641751e6a6ec90c573eaf51bfe956839b6cfa462b4d2827157363b6d620872d32d69fa2f37210a864ba488f8ec7158436398
languageName: node
linkType: hard
@@ -2089,6 +2061,175 @@ __metadata:
languageName: node
linkType: hard
+"@napi-rs/nice-android-arm-eabi@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-android-arm-eabi@npm:1.0.1"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-android-arm64@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-android-arm64@npm:1.0.1"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-darwin-arm64@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-darwin-arm64@npm:1.0.1"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-darwin-x64@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-darwin-x64@npm:1.0.1"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-freebsd-x64@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-freebsd-x64@npm:1.0.1"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-arm-gnueabihf@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-arm-gnueabihf@npm:1.0.1"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-arm64-gnu@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-arm64-gnu@npm:1.0.1"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-arm64-musl@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-arm64-musl@npm:1.0.1"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-ppc64-gnu@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-ppc64-gnu@npm:1.0.1"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-riscv64-gnu@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-riscv64-gnu@npm:1.0.1"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-s390x-gnu@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-s390x-gnu@npm:1.0.1"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-x64-gnu@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-x64-gnu@npm:1.0.1"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-linux-x64-musl@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-linux-x64-musl@npm:1.0.1"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-win32-arm64-msvc@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-win32-arm64-msvc@npm:1.0.1"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-win32-ia32-msvc@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-win32-ia32-msvc@npm:1.0.1"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice-win32-x64-msvc@npm:1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice-win32-x64-msvc@npm:1.0.1"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@napi-rs/nice@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@napi-rs/nice@npm:1.0.1"
+ dependencies:
+ "@napi-rs/nice-android-arm-eabi": "npm:1.0.1"
+ "@napi-rs/nice-android-arm64": "npm:1.0.1"
+ "@napi-rs/nice-darwin-arm64": "npm:1.0.1"
+ "@napi-rs/nice-darwin-x64": "npm:1.0.1"
+ "@napi-rs/nice-freebsd-x64": "npm:1.0.1"
+ "@napi-rs/nice-linux-arm-gnueabihf": "npm:1.0.1"
+ "@napi-rs/nice-linux-arm64-gnu": "npm:1.0.1"
+ "@napi-rs/nice-linux-arm64-musl": "npm:1.0.1"
+ "@napi-rs/nice-linux-ppc64-gnu": "npm:1.0.1"
+ "@napi-rs/nice-linux-riscv64-gnu": "npm:1.0.1"
+ "@napi-rs/nice-linux-s390x-gnu": "npm:1.0.1"
+ "@napi-rs/nice-linux-x64-gnu": "npm:1.0.1"
+ "@napi-rs/nice-linux-x64-musl": "npm:1.0.1"
+ "@napi-rs/nice-win32-arm64-msvc": "npm:1.0.1"
+ "@napi-rs/nice-win32-ia32-msvc": "npm:1.0.1"
+ "@napi-rs/nice-win32-x64-msvc": "npm:1.0.1"
+ dependenciesMeta:
+ "@napi-rs/nice-android-arm-eabi":
+ optional: true
+ "@napi-rs/nice-android-arm64":
+ optional: true
+ "@napi-rs/nice-darwin-arm64":
+ optional: true
+ "@napi-rs/nice-darwin-x64":
+ optional: true
+ "@napi-rs/nice-freebsd-x64":
+ optional: true
+ "@napi-rs/nice-linux-arm-gnueabihf":
+ optional: true
+ "@napi-rs/nice-linux-arm64-gnu":
+ optional: true
+ "@napi-rs/nice-linux-arm64-musl":
+ optional: true
+ "@napi-rs/nice-linux-ppc64-gnu":
+ optional: true
+ "@napi-rs/nice-linux-riscv64-gnu":
+ optional: true
+ "@napi-rs/nice-linux-s390x-gnu":
+ optional: true
+ "@napi-rs/nice-linux-x64-gnu":
+ optional: true
+ "@napi-rs/nice-linux-x64-musl":
+ optional: true
+ "@napi-rs/nice-win32-arm64-msvc":
+ optional: true
+ "@napi-rs/nice-win32-ia32-msvc":
+ optional: true
+ "@napi-rs/nice-win32-x64-msvc":
+ optional: true
+ checksum: 10c0/9be30f8292e23f45f5b8f6553411f5cbaead998cc3a51859c60f56fc2e679610a3a04ed49b748267552b9abd17fe5e6ae88186e223ab5cb93d5d184d10b6569b
+ languageName: node
+ linkType: hard
+
"@nightwatch/chai@npm:5.0.3":
version: 5.0.3
resolution: "@nightwatch/chai@npm:5.0.3"
@@ -2146,25 +2287,25 @@ __metadata:
languageName: node
linkType: hard
-"@npmcli/agent@npm:^2.0.0":
- version: 2.2.1
- resolution: "@npmcli/agent@npm:2.2.1"
+"@npmcli/agent@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@npmcli/agent@npm:3.0.0"
dependencies:
agent-base: "npm:^7.1.0"
http-proxy-agent: "npm:^7.0.0"
https-proxy-agent: "npm:^7.0.1"
lru-cache: "npm:^10.0.1"
- socks-proxy-agent: "npm:^8.0.1"
- checksum: 10c0/38ee5cbe8f3cde13be916e717bfc54fd1a7605c07af056369ff894e244c221e0b56b08ca5213457477f9bc15bca9e729d51a4788829b5c3cf296b3c996147f76
+ socks-proxy-agent: "npm:^8.0.3"
+ checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271
languageName: node
linkType: hard
-"@npmcli/fs@npm:^3.1.0":
- version: 3.1.0
- resolution: "@npmcli/fs@npm:3.1.0"
+"@npmcli/fs@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@npmcli/fs@npm:4.0.0"
dependencies:
semver: "npm:^7.3.5"
- checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e
+ checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5
languageName: node
linkType: hard
@@ -2175,10 +2316,10 @@ __metadata:
languageName: node
linkType: hard
-"@pkgr/core@npm:^0.1.0":
- version: 0.1.1
- resolution: "@pkgr/core@npm:0.1.1"
- checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8
+"@pkgr/core@npm:^0.2.4":
+ version: 0.2.4
+ resolution: "@pkgr/core@npm:0.2.4"
+ checksum: 10c0/2528a443bbbef5d4686614e1d73f834f19ccbc975f62b2a64974a6b97bcdf677b9c5e8948e04808ac4f0d853e2f422adfaae2a06e9e9f4f5cf8af76f1adf8dc1
languageName: node
linkType: hard
@@ -2190,9 +2331,9 @@ __metadata:
linkType: hard
"@types/chai@npm:^4.3.5":
- version: 4.3.17
- resolution: "@types/chai@npm:4.3.17"
- checksum: 10c0/322a74489cdfde9c301b593d086c539584924c4c92689a858e0930708895a5ab229c31c64ac26b137615ef3ffbff1866851c280c093e07b3d3de05983d3793e0
+ version: 4.3.20
+ resolution: "@types/chai@npm:4.3.20"
+ checksum: 10c0/4601189d611752e65018f1ecadac82e94eed29f348e1d5430e5681a60b01e1ecf855d9bcc74ae43b07394751f184f6970fac2b5561fc57a1f36e93a0f5ffb6e8
languageName: node
linkType: hard
@@ -2217,9 +2358,9 @@ __metadata:
linkType: hard
"@types/estree@npm:*, @types/estree@npm:^1.0.6":
- version: 1.0.6
- resolution: "@types/estree@npm:1.0.6"
- checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a
+ version: 1.0.7
+ resolution: "@types/estree@npm:1.0.7"
+ checksum: 10c0/be815254316882f7c40847336cd484c3bc1c3e34f710d197160d455dc9d6d050ffbf4c3bc76585dba86f737f020ab20bdb137ebe0e9116b0c86c7c0342221b8c
languageName: node
linkType: hard
@@ -2238,37 +2379,37 @@ __metadata:
linkType: hard
"@types/node@npm:*":
- version: 20.10.4
- resolution: "@types/node@npm:20.10.4"
+ version: 22.15.21
+ resolution: "@types/node@npm:22.15.21"
dependencies:
- undici-types: "npm:~5.26.4"
- checksum: 10c0/2c8b70cba731eb2ae3ae046daa74903bfcbb0e7b9196da767e5895054f6d252296ae7a04fb1dbbcb53bb004c4c658c05eaea2731bc9e2dd9e08f7e88d672f563
+ undici-types: "npm:~6.21.0"
+ checksum: 10c0/f092bbccda2131c2b2c8f720338080aa0ef1d928f5f1062c03954a4f7dafa7ee3ed29bc3e51bd4e2584473b3d943c637a2b39ad7174898970818270187cf10c1
languageName: node
linkType: hard
"@types/selenium-webdriver@npm:^4.1.14":
- version: 4.1.24
- resolution: "@types/selenium-webdriver@npm:4.1.24"
+ version: 4.1.28
+ resolution: "@types/selenium-webdriver@npm:4.1.28"
dependencies:
"@types/node": "npm:*"
"@types/ws": "npm:*"
- checksum: 10c0/7019cb6c9e6ecfb870a54f146b31be6d1d29b01ed597c988be85c79876105e0573c78b5b4ed5678fb51c11cd25a327c4482c77098e904def2ac3ef2a377f9863
+ checksum: 10c0/69a0eba9376d676299ee73384a4ff2bb1b35d926ec72e380281fd8cee53777baa01cb8040e3ba2665c547bbe4faf8fc5ca69e07f0b95bd7079bb1ac27fe53de8
languageName: node
linkType: hard
"@types/ws@npm:*":
- version: 8.5.12
- resolution: "@types/ws@npm:8.5.12"
+ version: 8.18.1
+ resolution: "@types/ws@npm:8.18.1"
dependencies:
"@types/node": "npm:*"
- checksum: 10c0/3fd77c9e4e05c24ce42bfc7647f7506b08c40a40fe2aea236ef6d4e96fc7cb4006a81ed1b28ec9c457e177a74a72924f4768b7b4652680b42dfd52bc380e15f9
+ checksum: 10c0/61aff1129143fcc4312f083bc9e9e168aa3026b7dd6e70796276dcfb2c8211c4292603f9c4864fae702f2ed86e4abd4d38aa421831c2fd7f856c931a481afbab
languageName: node
linkType: hard
"@ungap/structured-clone@npm:^1.2.0":
- version: 1.2.0
- resolution: "@ungap/structured-clone@npm:1.2.0"
- checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d
+ version: 1.3.0
+ resolution: "@ungap/structured-clone@npm:1.3.0"
+ checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a
languageName: node
linkType: hard
@@ -2508,13 +2649,13 @@ __metadata:
dotenv-safe: "npm:^9.1.0"
eslint: "npm:^8.57.1"
eslint-config-airbnb-base: "npm:^15.0.0"
- eslint-config-prettier: "npm:^9.1.0"
+ eslint-config-prettier: "npm:^10.1.3"
eslint-formatter-gitlab: "npm:^5.1.0"
eslint-plugin-import: "npm:^2.31.0"
- eslint-plugin-no-jquery: "npm:^3.1.0"
- eslint-plugin-prettier: "npm:^5.2.1"
- eslint-plugin-yml: "npm:^1.16.0"
- glob: "npm:11.0.2"
+ eslint-plugin-no-jquery: "npm:^3.1.1"
+ eslint-plugin-prettier: "npm:^5.4.0"
+ eslint-plugin-yml: "npm:^1.18.0"
+ glob: "npm:11.0.0"
htmx.org: "npm:2.0.4"
jquery: "npm:^4.0.0-beta.2"
jquery-ui: "npm:^1.14.1"
@@ -2525,19 +2666,19 @@ __metadata:
mkdirp: "npm:^3.0.1"
nightwatch: "npm:^3.12.1"
normalize.css: "npm:^8.0.1"
- postcss: "npm:^8.4.40"
+ postcss: "npm:^8.5.3"
postcss-header: "npm:^3.0.3"
postcss-import: "npm:^16.1.0"
- postcss-preset-env: "npm:^9.6.0"
+ postcss-preset-env: "npm:^10.1.6"
postcss-pxtorem: "npm:^6.1.0"
postcss-url: "npm:^10.1.3"
- prettier: "npm:^3.4.2"
+ prettier: "npm:^3.5.3"
sortablejs: "npm:^1.15.6"
- stylelint: "npm:^16.11.0"
+ stylelint: "npm:^16.19.1"
stylelint-checkstyle-formatter: "npm:^0.1.2"
- stylelint-config-standard: "npm:^36.0.1"
- stylelint-order: "npm:^6.0.4"
- stylelint-prettier: "npm:^5.0.2"
+ stylelint-config-standard: "npm:^38.0.0"
+ stylelint-order: "npm:^7.0.0"
+ stylelint-prettier: "npm:^5.0.3"
tabbable: "npm:^6.2.0"
terser: "npm:^5.39.0"
terser-webpack-plugin: "npm:^5.3.14"
@@ -2549,10 +2690,10 @@ __metadata:
languageName: unknown
linkType: soft
-"abbrev@npm:^2.0.0":
- version: 2.0.0
- resolution: "abbrev@npm:2.0.0"
- checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372
+"abbrev@npm:^3.0.0":
+ version: 3.0.1
+ resolution: "abbrev@npm:3.0.1"
+ checksum: 10c0/21ba8f574ea57a3106d6d35623f2c4a9111d9ee3e9a5be47baed46ec2457d2eac46e07a5c4a60186f88cb98abbe3e24f2d4cca70bc2b12f1692523e2209a9ccf
languageName: node
linkType: hard
@@ -2565,50 +2706,22 @@ __metadata:
languageName: node
linkType: hard
-"acorn@npm:^8.14.0":
- version: 8.14.0
- resolution: "acorn@npm:8.14.0"
+"acorn@npm:^8.14.0, acorn@npm:^8.9.0":
+ version: 8.14.1
+ resolution: "acorn@npm:8.14.1"
bin:
acorn: bin/acorn
- checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7
- languageName: node
- linkType: hard
-
-"acorn@npm:^8.8.2, acorn@npm:^8.9.0":
- version: 8.11.2
- resolution: "acorn@npm:8.11.2"
- bin:
- acorn: bin/acorn
- checksum: 10c0/a3ed76c761b75ec54b1ec3068fb7f113a182e95aea7f322f65098c2958d232e3d211cb6dac35ff9c647024b63714bc528a26d54a925d1fef2c25585b4c8e4017
- languageName: node
- linkType: hard
-
-"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0":
- version: 7.1.0
- resolution: "agent-base@npm:7.1.0"
- dependencies:
- debug: "npm:^4.3.4"
- checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce
+ checksum: 10c0/dbd36c1ed1d2fa3550140000371fcf721578095b18777b85a79df231ca093b08edc6858d75d6e48c73e431c174dcf9214edbd7e6fa5911b93bd8abfa54e47123
languageName: node
linkType: hard
-"agent-base@npm:^7.1.2":
+"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2":
version: 7.1.3
resolution: "agent-base@npm:7.1.3"
checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11
languageName: node
linkType: hard
-"aggregate-error@npm:^3.0.0":
- version: 3.1.0
- resolution: "aggregate-error@npm:3.1.0"
- dependencies:
- clean-stack: "npm:^2.0.0"
- indent-string: "npm:^4.0.0"
- checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039
- languageName: node
- linkType: hard
-
"ajv-formats@npm:^2.1.1":
version: 2.1.1
resolution: "ajv-formats@npm:2.1.1"
@@ -2646,7 +2759,7 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:^8.0.0, ajv@npm:^8.9.0":
+"ajv@npm:^8.0.0, ajv@npm:^8.0.1, ajv@npm:^8.9.0":
version: 8.17.1
resolution: "ajv@npm:8.17.1"
dependencies:
@@ -2658,18 +2771,6 @@ __metadata:
languageName: node
linkType: hard
-"ajv@npm:^8.0.1":
- version: 8.12.0
- resolution: "ajv@npm:8.12.0"
- dependencies:
- fast-deep-equal: "npm:^3.1.1"
- json-schema-traverse: "npm:^1.0.0"
- require-from-string: "npm:^2.0.2"
- uri-js: "npm:^4.2.2"
- checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e
- languageName: node
- linkType: hard
-
"ansi-align@npm:^3.0.0":
version: 3.0.1
resolution: "ansi-align@npm:3.0.1"
@@ -2694,18 +2795,9 @@ __metadata:
linkType: hard
"ansi-regex@npm:^6.0.1":
- version: 6.0.1
- resolution: "ansi-regex@npm:6.0.1"
- checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08
- languageName: node
- linkType: hard
-
-"ansi-styles@npm:^3.2.1":
- version: 3.2.1
- resolution: "ansi-styles@npm:3.2.1"
- dependencies:
- color-convert: "npm:^1.9.0"
- checksum: 10c0/ece5a8ef069fcc5298f67e3f4771a663129abd174ea2dfa87923a2be2abf6cd367ef72ac87942da00ce85bd1d651d4cd8595aebdb1b385889b89b205860e977b
+ version: 6.1.0
+ resolution: "ansi-regex@npm:6.1.0"
+ checksum: 10c0/a91daeddd54746338478eef88af3439a7edf30f8e23196e2d6ed182da9add559c601266dbef01c2efa46a958ad6f1f8b176799657616c702b5b02e799e7fd8dc
languageName: node
linkType: hard
@@ -2813,23 +2905,13 @@ __metadata:
languageName: node
linkType: hard
-"array-buffer-byte-length@npm:^1.0.0":
- version: 1.0.0
- resolution: "array-buffer-byte-length@npm:1.0.0"
- dependencies:
- call-bind: "npm:^1.0.2"
- is-array-buffer: "npm:^3.0.1"
- checksum: 10c0/12f84f6418b57a954caa41654e5e63e019142a4bbb2c6829ba86d1ba65d31ccfaf1461d1743556fd32b091fac34ff44d9dfbdb001402361c45c373b2c86f5c20
- languageName: node
- linkType: hard
-
-"array-buffer-byte-length@npm:^1.0.1":
- version: 1.0.1
- resolution: "array-buffer-byte-length@npm:1.0.1"
+"array-buffer-byte-length@npm:^1.0.0, array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "array-buffer-byte-length@npm:1.0.2"
dependencies:
- call-bind: "npm:^1.0.5"
- is-array-buffer: "npm:^3.0.4"
- checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917
+ call-bound: "npm:^1.0.3"
+ is-array-buffer: "npm:^3.0.5"
+ checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d
languageName: node
linkType: hard
@@ -2862,71 +2944,56 @@ __metadata:
linkType: hard
"array.prototype.findlastindex@npm:^1.2.5":
- version: 1.2.5
- resolution: "array.prototype.findlastindex@npm:1.2.5"
+ version: 1.2.6
+ resolution: "array.prototype.findlastindex@npm:1.2.6"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.2"
+ es-abstract: "npm:^1.23.9"
es-errors: "npm:^1.3.0"
- es-object-atoms: "npm:^1.0.0"
- es-shim-unscopables: "npm:^1.0.2"
- checksum: 10c0/962189487728b034f3134802b421b5f39e42ee2356d13b42d2ddb0e52057ffdcc170b9524867f4f0611a6f638f4c19b31e14606e8bcbda67799e26685b195aa3
+ es-object-atoms: "npm:^1.1.1"
+ es-shim-unscopables: "npm:^1.1.0"
+ checksum: 10c0/82559310d2e57ec5f8fc53d7df420e3abf0ba497935de0a5570586035478ba7d07618cb18e2d4ada2da514c8fb98a034aaf5c06caa0a57e2f7f4c4adedef5956
languageName: node
linkType: hard
"array.prototype.flat@npm:^1.3.2":
- version: 1.3.2
- resolution: "array.prototype.flat@npm:1.3.2"
+ version: 1.3.3
+ resolution: "array.prototype.flat@npm:1.3.3"
dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- es-shim-unscopables: "npm:^1.0.0"
- checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a
languageName: node
linkType: hard
"array.prototype.flatmap@npm:^1.3.2":
- version: 1.3.2
- resolution: "array.prototype.flatmap@npm:1.3.2"
+ version: 1.3.3
+ resolution: "array.prototype.flatmap@npm:1.3.3"
dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- es-shim-unscopables: "npm:^1.0.0"
- checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4
- languageName: node
- linkType: hard
-
-"arraybuffer.prototype.slice@npm:^1.0.2":
- version: 1.0.2
- resolution: "arraybuffer.prototype.slice@npm:1.0.2"
- dependencies:
- array-buffer-byte-length: "npm:^1.0.0"
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- get-intrinsic: "npm:^1.2.1"
- is-array-buffer: "npm:^3.0.2"
- is-shared-array-buffer: "npm:^1.0.2"
- checksum: 10c0/96b6e40e439678ffb7fa266398510074d33c3980fbb475490b69980cca60adec3b0777047ef377068a29862157f83edef42efc64ce48ce38977d04d68de5b7fb
+ call-bind: "npm:^1.0.8"
+ define-properties: "npm:^1.2.1"
+ es-abstract: "npm:^1.23.5"
+ es-shim-unscopables: "npm:^1.0.2"
+ checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54
languageName: node
linkType: hard
-"arraybuffer.prototype.slice@npm:^1.0.3":
- version: 1.0.3
- resolution: "arraybuffer.prototype.slice@npm:1.0.3"
+"arraybuffer.prototype.slice@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "arraybuffer.prototype.slice@npm:1.0.4"
dependencies:
array-buffer-byte-length: "npm:^1.0.1"
- call-bind: "npm:^1.0.5"
+ call-bind: "npm:^1.0.8"
define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.22.3"
- es-errors: "npm:^1.2.1"
- get-intrinsic: "npm:^1.2.3"
+ es-abstract: "npm:^1.23.5"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.6"
is-array-buffer: "npm:^3.0.4"
- is-shared-array-buffer: "npm:^1.0.2"
- checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36
+ checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06
languageName: node
linkType: hard
@@ -2944,10 +3011,17 @@ __metadata:
languageName: node
linkType: hard
+"async-function@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "async-function@npm:1.0.0"
+ checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73
+ languageName: node
+ linkType: hard
+
"async@npm:^3.2.3, async@npm:^3.2.4":
- version: 3.2.5
- resolution: "async@npm:3.2.5"
- checksum: 10c0/1408287b26c6db67d45cb346e34892cee555b8b59e6c68e6f8c3e495cad5ca13b4f218180e871f3c2ca30df4ab52693b66f2f6ff43644760cab0b2198bda79c1
+ version: 3.2.6
+ resolution: "async@npm:3.2.6"
+ checksum: 10c0/36484bb15ceddf07078688d95e27076379cc2f87b10c03b6dd8a83e89475a3c8df5848859dd06a4c95af1e4c16fc973de0171a77f18ea00be899aca2a4f85e70
languageName: node
linkType: hard
@@ -2958,28 +3032,21 @@ __metadata:
languageName: node
linkType: hard
-"autoprefixer@npm:^10.4.19":
- version: 10.4.19
- resolution: "autoprefixer@npm:10.4.19"
+"autoprefixer@npm:^10.4.21":
+ version: 10.4.21
+ resolution: "autoprefixer@npm:10.4.21"
dependencies:
- browserslist: "npm:^4.23.0"
- caniuse-lite: "npm:^1.0.30001599"
+ browserslist: "npm:^4.24.4"
+ caniuse-lite: "npm:^1.0.30001702"
fraction.js: "npm:^4.3.7"
normalize-range: "npm:^0.1.2"
- picocolors: "npm:^1.0.0"
+ picocolors: "npm:^1.1.1"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.1.0
bin:
autoprefixer: bin/autoprefixer
- checksum: 10c0/fe0178eb8b1da4f15c6535cd329926609b22d1811e047371dccce50563623f8075dd06fb167daff059e4228da651b0bdff6d9b44281541eaf0ce0b79125bfd19
- languageName: node
- linkType: hard
-
-"available-typed-arrays@npm:^1.0.5":
- version: 1.0.5
- resolution: "available-typed-arrays@npm:1.0.5"
- checksum: 10c0/c4df567ca72d2754a6cbad20088f5f98b1065b3360178169fa9b44ea101af62c0f423fc3854fa820fd6895b6b9171b8386e71558203103ff8fc2ad503fdcc660
+ checksum: 10c0/de5b71d26d0baff4bbfb3d59f7cf7114a6030c9eeb66167acf49a32c5b61c68e308f1e0f869d92334436a221035d08b51cd1b2f2c4689b8d955149423c16d4d4
languageName: node
linkType: hard
@@ -2993,9 +3060,9 @@ __metadata:
linkType: hard
"axe-core@npm:^4.9.1":
- version: 4.10.0
- resolution: "axe-core@npm:4.10.0"
- checksum: 10c0/732c171d48caaace5e784895c4dacb8ca6155e9d98045138ebe3952f78457dd05b92c57d05b41ce2a570aff87dbd0471e8398d2c0f6ebe79617b746c8f658998
+ version: 4.10.3
+ resolution: "axe-core@npm:4.10.3"
+ checksum: 10c0/1b1c24f435b2ffe89d76eca0001cbfff42dbf012ad9bd37398b70b11f0d614281a38a28bc3069e8972e3c90ec929a8937994bd24b0ebcbaab87b8d1e241ab0c7
languageName: node
linkType: hard
@@ -3030,9 +3097,9 @@ __metadata:
linkType: hard
"binary-extensions@npm:^2.0.0":
- version: 2.2.0
- resolution: "binary-extensions@npm:2.2.0"
- checksum: 10c0/d73d8b897238a2d3ffa5f59c0241870043aa7471335e89ea5e1ff48edb7c2d0bb471517a3e4c5c3f4c043615caa2717b5f80a5e61e07503d51dc85cb848e665d
+ version: 2.3.0
+ resolution: "binary-extensions@npm:2.3.0"
+ checksum: 10c0/75a59cafc10fb12a11d510e77110c6c7ae3f4ca22463d52487709ca7f18f69d886aa387557cc9864fbdb10153d0bdb4caacabf11541f55e89ed6e18d12ece2b5
languageName: node
linkType: hard
@@ -3089,7 +3156,7 @@ __metadata:
languageName: node
linkType: hard
-"braces@npm:^3.0.2, braces@npm:^3.0.3, braces@npm:~3.0.2":
+"braces@npm:^3.0.3, braces@npm:~3.0.2":
version: 3.0.3
resolution: "braces@npm:3.0.3"
dependencies:
@@ -3105,45 +3172,17 @@ __metadata:
languageName: node
linkType: hard
-"browserslist@npm:^4.23.0":
- version: 4.23.0
- resolution: "browserslist@npm:4.23.0"
- dependencies:
- caniuse-lite: "npm:^1.0.30001587"
- electron-to-chromium: "npm:^1.4.668"
- node-releases: "npm:^2.0.14"
- update-browserslist-db: "npm:^1.0.13"
- bin:
- browserslist: cli.js
- checksum: 10c0/8e9cc154529062128d02a7af4d8adeead83ca1df8cd9ee65a88e2161039f3d68a4d40fea7353cab6bae4c16182dec2fdd9a1cf7dc2a2935498cee1af0e998943
- languageName: node
- linkType: hard
-
-"browserslist@npm:^4.23.1":
- version: 4.23.2
- resolution: "browserslist@npm:4.23.2"
- dependencies:
- caniuse-lite: "npm:^1.0.30001640"
- electron-to-chromium: "npm:^1.4.820"
- node-releases: "npm:^2.0.14"
- update-browserslist-db: "npm:^1.1.0"
- bin:
- browserslist: cli.js
- checksum: 10c0/0217d23c69ed61cdd2530c7019bf7c822cd74c51f8baab18dd62457fed3129f52499f8d3a6f809ae1fb7bb3050aa70caa9a529cc36c7478427966dbf429723a5
- languageName: node
- linkType: hard
-
-"browserslist@npm:^4.24.0":
- version: 4.24.2
- resolution: "browserslist@npm:4.24.2"
+"browserslist@npm:^4.24.0, browserslist@npm:^4.24.4":
+ version: 4.24.5
+ resolution: "browserslist@npm:4.24.5"
dependencies:
- caniuse-lite: "npm:^1.0.30001669"
- electron-to-chromium: "npm:^1.5.41"
- node-releases: "npm:^2.0.18"
- update-browserslist-db: "npm:^1.1.1"
+ caniuse-lite: "npm:^1.0.30001716"
+ electron-to-chromium: "npm:^1.5.149"
+ node-releases: "npm:^2.0.19"
+ update-browserslist-db: "npm:^1.1.3"
bin:
browserslist: cli.js
- checksum: 10c0/d747c9fb65ed7b4f1abcae4959405707ed9a7b835639f8a9ba0da2911995a6ab9b0648fd05baf2a4d4e3cf7f9fdbad56d3753f91881e365992c1d49c8d88ff7a
+ checksum: 10c0/f4c1ce1a7d8fdfab5e5b88bb6e93d09e8a883c393f86801537a252da0362dbdcde4dbd97b318246c5d84c6607b2f6b47af732c1b000d6a8a881ee024bad29204
languageName: node
linkType: hard
@@ -3171,11 +3210,21 @@ __metadata:
languageName: node
linkType: hard
-"cacache@npm:^18.0.0":
- version: 18.0.2
- resolution: "cacache@npm:18.0.2"
+"buffer@npm:^6.0.3":
+ version: 6.0.3
+ resolution: "buffer@npm:6.0.3"
dependencies:
- "@npmcli/fs": "npm:^3.1.0"
+ base64-js: "npm:^1.3.1"
+ ieee754: "npm:^1.2.1"
+ checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0
+ languageName: node
+ linkType: hard
+
+"cacache@npm:^19.0.1":
+ version: 19.0.1
+ resolution: "cacache@npm:19.0.1"
+ dependencies:
+ "@npmcli/fs": "npm:^4.0.0"
fs-minipass: "npm:^3.0.0"
glob: "npm:^10.2.2"
lru-cache: "npm:^10.0.1"
@@ -3183,36 +3232,35 @@ __metadata:
minipass-collect: "npm:^2.0.1"
minipass-flush: "npm:^1.0.5"
minipass-pipeline: "npm:^1.2.4"
- p-map: "npm:^4.0.0"
- ssri: "npm:^10.0.0"
- tar: "npm:^6.1.11"
- unique-filename: "npm:^3.0.0"
- checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc
+ p-map: "npm:^7.0.2"
+ ssri: "npm:^12.0.0"
+ tar: "npm:^7.4.3"
+ unique-filename: "npm:^4.0.0"
+ checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c
languageName: node
linkType: hard
-"call-bind-apply-helpers@npm:^1.0.0":
- version: 1.0.1
- resolution: "call-bind-apply-helpers@npm:1.0.1"
+"cacheable@npm:^1.9.0":
+ version: 1.9.0
+ resolution: "cacheable@npm:1.9.0"
dependencies:
- es-errors: "npm:^1.3.0"
- function-bind: "npm:^1.1.2"
- checksum: 10c0/acb2ab68bf2718e68a3e895f0d0b73ccc9e45b9b6f210f163512ba76f91dab409eb8792f6dae188356f9095747512a3101646b3dea9d37fb8c7c6bf37796d18c
+ hookified: "npm:^1.8.2"
+ keyv: "npm:^5.3.3"
+ checksum: 10c0/1ca171dd2f7c3a929d84b3f94e712cb8fbbfb7c636f19ba01657cf89c6ea4316f21f2beb6c696fa5c87d42f52620f4a7c2dfecb41bf71ee3b249d539895256c4
languageName: node
linkType: hard
-"call-bind@npm:^1.0.0, call-bind@npm:^1.0.2, call-bind@npm:^1.0.4, call-bind@npm:^1.0.5":
- version: 1.0.5
- resolution: "call-bind@npm:1.0.5"
+"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1, call-bind-apply-helpers@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "call-bind-apply-helpers@npm:1.0.2"
dependencies:
+ es-errors: "npm:^1.3.0"
function-bind: "npm:^1.1.2"
- get-intrinsic: "npm:^1.2.1"
- set-function-length: "npm:^1.1.1"
- checksum: 10c0/a6172c168fd6dacf744fcde745099218056bd755c50415b592655dcd6562157ed29f130f56c3f6db2250f67e4bd62e5c218cdc56d7bfd76e0bda50770fce2d10
+ checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938
languageName: node
linkType: hard
-"call-bind@npm:^1.0.6, call-bind@npm:^1.0.8":
+"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.7, call-bind@npm:^1.0.8":
version: 1.0.8
resolution: "call-bind@npm:1.0.8"
dependencies:
@@ -3224,16 +3272,13 @@ __metadata:
languageName: node
linkType: hard
-"call-bind@npm:^1.0.7":
- version: 1.0.7
- resolution: "call-bind@npm:1.0.7"
+"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3, call-bound@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "call-bound@npm:1.0.4"
dependencies:
- es-define-property: "npm:^1.0.0"
- es-errors: "npm:^1.3.0"
- function-bind: "npm:^1.1.2"
- get-intrinsic: "npm:^1.2.4"
- set-function-length: "npm:^1.2.1"
- checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d
+ call-bind-apply-helpers: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.3.0"
+ checksum: 10c0/f4796a6a0941e71c766aea672f63b72bc61234c4f4964dc6d7606e3664c307e7d77845328a8f3359ce39ddb377fed67318f9ee203dea1d47e46165dcf2917644
languageName: node
linkType: hard
@@ -3251,10 +3296,10 @@ __metadata:
languageName: node
linkType: hard
-"caniuse-lite@npm:^1.0.30001587, caniuse-lite@npm:^1.0.30001599, caniuse-lite@npm:^1.0.30001640, caniuse-lite@npm:^1.0.30001669":
- version: 1.0.30001680
- resolution: "caniuse-lite@npm:1.0.30001680"
- checksum: 10c0/11a4e7f6f5d5f965cfd4b7dc4aef34e12a26e99647f02b5ac9fd7f7670845473b95ada416a785473237e4b1b67281f7b043c8736c85b77097f6b697e8950b15f
+"caniuse-lite@npm:^1.0.30001702, caniuse-lite@npm:^1.0.30001716":
+ version: 1.0.30001718
+ resolution: "caniuse-lite@npm:1.0.30001718"
+ checksum: 10c0/67f9ad09bc16443e28d14f265d6e468480cd8dc1900d0d8b982222de80c699c4f2306599c3da8a3fa7139f110d4b30d49dbac78f215470f479abb6ffe141d5d3
languageName: node
linkType: hard
@@ -3276,17 +3321,6 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^2.4.2":
- version: 2.4.2
- resolution: "chalk@npm:2.4.2"
- dependencies:
- ansi-styles: "npm:^3.2.1"
- escape-string-regexp: "npm:^1.0.5"
- supports-color: "npm:^5.3.0"
- checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073
- languageName: node
- linkType: hard
-
"chalk@npm:^4.0.0, chalk@npm:^4.0.2, chalk@npm:^4.1.0, chalk@npm:^4.1.2":
version: 4.1.2
resolution: "chalk@npm:4.1.2"
@@ -3297,10 +3331,10 @@ __metadata:
languageName: node
linkType: hard
-"chalk@npm:^5.2.0, chalk@npm:^5.3.0":
- version: 5.3.0
- resolution: "chalk@npm:5.3.0"
- checksum: 10c0/8297d436b2c0f95801103ff2ef67268d362021b8210daf8ddbe349695333eb3610a71122172ff3b0272f1ef2cf7cc2c41fdaa4715f52e49ffe04c56340feed09
+"chalk@npm:^5.2.0, chalk@npm:^5.4.1":
+ version: 5.4.1
+ resolution: "chalk@npm:5.4.1"
+ checksum: 10c0/b23e88132c702f4855ca6d25cb5538b1114343e41472d5263ee8a37cccfccd9c4216d111e1097c6a27830407a1dc81fecdf2a56f2c63033d4dbbd88c10b0dcef
languageName: node
linkType: hard
@@ -3339,17 +3373,17 @@ __metadata:
languageName: node
linkType: hard
-"chownr@npm:^2.0.0":
- version: 2.0.0
- resolution: "chownr@npm:2.0.0"
- checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6
+"chownr@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "chownr@npm:3.0.0"
+ checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10
languageName: node
linkType: hard
"chrome-trace-event@npm:^1.0.2":
- version: 1.0.3
- resolution: "chrome-trace-event@npm:1.0.3"
- checksum: 10c0/080ce2d20c2b9e0f8461a380e9585686caa768b1c834a464470c9dc74cda07f27611c7b727a2cd768a9cecd033297fdec4ce01f1e58b62227882c1059dec321c
+ version: 1.0.4
+ resolution: "chrome-trace-event@npm:1.0.4"
+ checksum: 10c0/3058da7a5f4934b87cf6a90ef5fb68ebc5f7d06f143ed5a4650208e5d7acae47bc03ec844b29fbf5ba7e46e8daa6acecc878f7983a4f4bb7271593da91e61ff5
languageName: node
linkType: hard
@@ -3426,13 +3460,6 @@ __metadata:
languageName: node
linkType: hard
-"clean-stack@npm:^2.0.0":
- version: 2.2.0
- resolution: "clean-stack@npm:2.2.0"
- checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1
- languageName: node
- linkType: hard
-
"clear-module@npm:^4.1.2":
version: 4.1.2
resolution: "clear-module@npm:4.1.2"
@@ -3467,15 +3494,15 @@ __metadata:
linkType: hard
"cli-table3@npm:^0.6.3":
- version: 0.6.3
- resolution: "cli-table3@npm:0.6.3"
+ version: 0.6.5
+ resolution: "cli-table3@npm:0.6.5"
dependencies:
"@colors/colors": "npm:1.5.0"
string-width: "npm:^4.2.0"
dependenciesMeta:
"@colors/colors":
optional: true
- checksum: 10c0/39e580cb346c2eaf1bd8f4ff055ae644e902b8303c164a1b8894c0dc95941f92e001db51f49649011be987e708d9fa3183ccc2289a4d376a057769664048cc0c
+ checksum: 10c0/d7cc9ed12212ae68241cc7a3133c52b844113b17856e11f4f81308acc3febcea7cc9fd298e70933e294dd642866b29fd5d113c2c098948701d0c35f09455de78
languageName: node
linkType: hard
@@ -3528,22 +3555,6 @@ __metadata:
languageName: node
linkType: hard
-"color-convert@npm:^1.9.0":
- version: 1.9.3
- resolution: "color-convert@npm:1.9.3"
- dependencies:
- color-name: "npm:1.1.3"
- checksum: 10c0/5ad3c534949a8c68fca8fbc6f09068f435f0ad290ab8b2f76841b9e6af7e0bb57b98cb05b0e19fe33f5d91e5a8611ad457e5f69e0a484caad1f7487fd0e8253c
- languageName: node
- linkType: hard
-
-"color-name@npm:1.1.3":
- version: 1.1.3
- resolution: "color-name@npm:1.1.3"
- checksum: 10c0/566a3d42cca25b9b3cd5528cd7754b8e89c0eb646b7f214e8e2eaddb69994ac5f0557d9c175eb5d8f0ad73531140d9c47525085ee752a91a2ab15ab459caf6d6
- languageName: node
- linkType: hard
-
"color-name@npm:^1.0.0, color-name@npm:~1.1.4":
version: 1.1.4
resolution: "color-name@npm:1.1.4"
@@ -3590,6 +3601,13 @@ __metadata:
languageName: node
linkType: hard
+"commander@npm:^13.1.0":
+ version: 13.1.0
+ resolution: "commander@npm:13.1.0"
+ checksum: 10c0/7b8c5544bba704fbe84b7cab2e043df8586d5c114a4c5b607f83ae5060708940ed0b5bd5838cf8ce27539cde265c1cbd59ce3c8c6b017ed3eec8943e3a415164
+ languageName: node
+ linkType: hard
+
"commander@npm:^2.20.0":
version: 2.20.3
resolution: "commander@npm:2.20.3"
@@ -3679,166 +3697,164 @@ __metadata:
languageName: node
linkType: hard
-"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3":
- version: 7.0.3
- resolution: "cross-spawn@npm:7.0.3"
+"cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3, cross-spawn@npm:^7.0.6":
+ version: 7.0.6
+ resolution: "cross-spawn@npm:7.0.6"
dependencies:
path-key: "npm:^3.1.0"
shebang-command: "npm:^2.0.0"
which: "npm:^2.0.1"
- checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750
+ checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1
languageName: node
linkType: hard
-"cspell-config-lib@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-config-lib@npm:8.16.1"
+"cspell-config-lib@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-config-lib@npm:8.19.4"
dependencies:
- "@cspell/cspell-types": "npm:8.16.1"
+ "@cspell/cspell-types": "npm:8.19.4"
comment-json: "npm:^4.2.5"
- yaml: "npm:^2.6.1"
- checksum: 10c0/c0ee27baf5c7143173c51869df95d7f917cd02d88516cbb9e03a099ced752c3bfad7b13958362bd99ead7b712642e99f91782412db47ea8a35f9fdf16a07c373
+ yaml: "npm:^2.7.1"
+ checksum: 10c0/a6c68a6395d268974730ad3b99ebde1ec6bfda21ebf6e11bb8b2264311c230e023f846c5a07a69fefa070a5b1fd338b3b91cf80fb45dbe921c2d2e34168effc1
languageName: node
linkType: hard
-"cspell-dictionary@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-dictionary@npm:8.16.1"
+"cspell-dictionary@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-dictionary@npm:8.19.4"
dependencies:
- "@cspell/cspell-pipe": "npm:8.16.1"
- "@cspell/cspell-types": "npm:8.16.1"
- cspell-trie-lib: "npm:8.16.1"
- fast-equals: "npm:^5.0.1"
- checksum: 10c0/46c2de9b258aecd54f9dc8751b4d6c6253fcd04a197447b3a147a64edfdca328e4fb13201348f6f90acffbbb9b987069280c6367e9116dc41b41ca314b6e2436
+ "@cspell/cspell-pipe": "npm:8.19.4"
+ "@cspell/cspell-types": "npm:8.19.4"
+ cspell-trie-lib: "npm:8.19.4"
+ fast-equals: "npm:^5.2.2"
+ checksum: 10c0/eaf2c49b824c60b8863a9d7c49337904f311880d0f49da54ab900bff650a98de1f04402f59063e92279585d02f0dd88d05316b43988ed24f58f467fea5d3f237
languageName: node
linkType: hard
-"cspell-gitignore@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-gitignore@npm:8.16.1"
+"cspell-gitignore@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-gitignore@npm:8.19.4"
dependencies:
- "@cspell/url": "npm:8.16.1"
- cspell-glob: "npm:8.16.1"
- cspell-io: "npm:8.16.1"
- find-up-simple: "npm:^1.0.0"
+ "@cspell/url": "npm:8.19.4"
+ cspell-glob: "npm:8.19.4"
+ cspell-io: "npm:8.19.4"
bin:
cspell-gitignore: bin.mjs
- checksum: 10c0/21beb4a6c0469c400f61cd2aff2aa4bd9f669633cebcd226f04f5dd47ad8818eff9fd921701417dd54081b9ee75dd90e66f5ec75e43e0a0f7c7f6f5e213b3008
+ checksum: 10c0/fa04a00cf5bee2d7bb4b7e3cc980b76a08e1dc4896efd9a4a600bfb73a06111e96f7f5f88adf99cad58f7e66cfc4af7b4a89cce0bc474849cb1b9c3e4ff311e9
languageName: node
linkType: hard
-"cspell-glob@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-glob@npm:8.16.1"
+"cspell-glob@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-glob@npm:8.19.4"
dependencies:
- "@cspell/url": "npm:8.16.1"
- micromatch: "npm:^4.0.8"
- checksum: 10c0/34546985cad63f649b981a4e4a898d0b213dfee355eadd9d43a1c7a767fb62dd4a696d33eabe5e178fb1a17566c909f4e48cb2834f4603c56cfd11150bb20680
+ "@cspell/url": "npm:8.19.4"
+ picomatch: "npm:^4.0.2"
+ checksum: 10c0/600678edf3d3cba0774a721f965e288fd9932286458528df66ce686a7cce32a36258d0c2291478ca321d8c70628563def717de978357be46cce58db37ceb73cb
languageName: node
linkType: hard
-"cspell-grammar@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-grammar@npm:8.16.1"
+"cspell-grammar@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-grammar@npm:8.19.4"
dependencies:
- "@cspell/cspell-pipe": "npm:8.16.1"
- "@cspell/cspell-types": "npm:8.16.1"
+ "@cspell/cspell-pipe": "npm:8.19.4"
+ "@cspell/cspell-types": "npm:8.19.4"
bin:
cspell-grammar: bin.mjs
- checksum: 10c0/c16c08027cc4e4dec1926b25687e577b9133f1216df903e1cc4fe7667eeea3300b34b92a0367c1f6a9e5551c7c6096f980516dd25746cc61a48c691353afc9f7
+ checksum: 10c0/f45cd8d8a2c8d9661bbf920eb81a57cb536ead5562cf3ed1c872a2f6589217a5e443d86b836e8774a91f97da6ba9f31c2c9bea2379abf274525c2cb696a84d4b
languageName: node
linkType: hard
-"cspell-io@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-io@npm:8.16.1"
+"cspell-io@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-io@npm:8.19.4"
dependencies:
- "@cspell/cspell-service-bus": "npm:8.16.1"
- "@cspell/url": "npm:8.16.1"
- checksum: 10c0/3da14b5163e7ad5b0767e330d9081b5aeba1cbd7f0140e8ad0dddfcb7c3c1c713eb1d7764e2d515113740c00af17f39da0716833d8f5f99e4a29911f56d4eb74
+ "@cspell/cspell-service-bus": "npm:8.19.4"
+ "@cspell/url": "npm:8.19.4"
+ checksum: 10c0/648b7d28aa9384b71777f8f452382e023b00d2617f98198a4bb6a5b3d61651070daf22869425d46819eb96061bbecda637167defbd1c571489ebd4b3334b769d
languageName: node
linkType: hard
-"cspell-lib@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-lib@npm:8.16.1"
+"cspell-lib@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-lib@npm:8.19.4"
dependencies:
- "@cspell/cspell-bundled-dicts": "npm:8.16.1"
- "@cspell/cspell-pipe": "npm:8.16.1"
- "@cspell/cspell-resolver": "npm:8.16.1"
- "@cspell/cspell-types": "npm:8.16.1"
- "@cspell/dynamic-import": "npm:8.16.1"
- "@cspell/filetypes": "npm:8.16.1"
- "@cspell/strong-weak-map": "npm:8.16.1"
- "@cspell/url": "npm:8.16.1"
+ "@cspell/cspell-bundled-dicts": "npm:8.19.4"
+ "@cspell/cspell-pipe": "npm:8.19.4"
+ "@cspell/cspell-resolver": "npm:8.19.4"
+ "@cspell/cspell-types": "npm:8.19.4"
+ "@cspell/dynamic-import": "npm:8.19.4"
+ "@cspell/filetypes": "npm:8.19.4"
+ "@cspell/strong-weak-map": "npm:8.19.4"
+ "@cspell/url": "npm:8.19.4"
clear-module: "npm:^4.1.2"
comment-json: "npm:^4.2.5"
- cspell-config-lib: "npm:8.16.1"
- cspell-dictionary: "npm:8.16.1"
- cspell-glob: "npm:8.16.1"
- cspell-grammar: "npm:8.16.1"
- cspell-io: "npm:8.16.1"
- cspell-trie-lib: "npm:8.16.1"
+ cspell-config-lib: "npm:8.19.4"
+ cspell-dictionary: "npm:8.19.4"
+ cspell-glob: "npm:8.19.4"
+ cspell-grammar: "npm:8.19.4"
+ cspell-io: "npm:8.19.4"
+ cspell-trie-lib: "npm:8.19.4"
env-paths: "npm:^3.0.0"
- fast-equals: "npm:^5.0.1"
+ fast-equals: "npm:^5.2.2"
gensequence: "npm:^7.0.0"
- import-fresh: "npm:^3.3.0"
+ import-fresh: "npm:^3.3.1"
resolve-from: "npm:^5.0.0"
vscode-languageserver-textdocument: "npm:^1.0.12"
- vscode-uri: "npm:^3.0.8"
+ vscode-uri: "npm:^3.1.0"
xdg-basedir: "npm:^5.1.0"
- checksum: 10c0/d2ced7860e4254f9acf052eabbf6bf4013c8a79c8fe0b2fcfc580f0fc1990a3697a7a19623cfbd09ec79cf865244805c9b58769cab9298fce52aa43e57a7d4ef
+ checksum: 10c0/b44e358488d5fa318c18645fda6ec77239989a410fc26dee6ca54ee4cc49c99405c75363df09f99e58875a8d9bc305eeb1ba2e4e9b9a900adfd832ece8955336
languageName: node
linkType: hard
-"cspell-trie-lib@npm:8.16.1":
- version: 8.16.1
- resolution: "cspell-trie-lib@npm:8.16.1"
+"cspell-trie-lib@npm:8.19.4":
+ version: 8.19.4
+ resolution: "cspell-trie-lib@npm:8.19.4"
dependencies:
- "@cspell/cspell-pipe": "npm:8.16.1"
- "@cspell/cspell-types": "npm:8.16.1"
+ "@cspell/cspell-pipe": "npm:8.19.4"
+ "@cspell/cspell-types": "npm:8.19.4"
gensequence: "npm:^7.0.0"
- checksum: 10c0/bd665b47b5c7222f0a51600e8781b9062d7eef8a9f7692b2e586dd79b80c89f87f5cee88bd0c291531ac9e5cdc8a0711ccf7711de84d13b15336168188c16e7f
+ checksum: 10c0/01cd861b0b42c7c4863b4310d5d03d06b6a2b783c81e03d3d087e17771cee5a389278a4f459ffd0be3da88db712f4a33a2a188a27aaaf7bcc3184e44911e3df4
languageName: node
linkType: hard
"cspell@npm:^8.16.1":
- version: 8.16.1
- resolution: "cspell@npm:8.16.1"
- dependencies:
- "@cspell/cspell-json-reporter": "npm:8.16.1"
- "@cspell/cspell-pipe": "npm:8.16.1"
- "@cspell/cspell-types": "npm:8.16.1"
- "@cspell/dynamic-import": "npm:8.16.1"
- "@cspell/url": "npm:8.16.1"
- chalk: "npm:^5.3.0"
+ version: 8.19.4
+ resolution: "cspell@npm:8.19.4"
+ dependencies:
+ "@cspell/cspell-json-reporter": "npm:8.19.4"
+ "@cspell/cspell-pipe": "npm:8.19.4"
+ "@cspell/cspell-types": "npm:8.19.4"
+ "@cspell/dynamic-import": "npm:8.19.4"
+ "@cspell/url": "npm:8.19.4"
+ chalk: "npm:^5.4.1"
chalk-template: "npm:^1.1.0"
- commander: "npm:^12.1.0"
- cspell-dictionary: "npm:8.16.1"
- cspell-gitignore: "npm:8.16.1"
- cspell-glob: "npm:8.16.1"
- cspell-io: "npm:8.16.1"
- cspell-lib: "npm:8.16.1"
+ commander: "npm:^13.1.0"
+ cspell-dictionary: "npm:8.19.4"
+ cspell-gitignore: "npm:8.19.4"
+ cspell-glob: "npm:8.19.4"
+ cspell-io: "npm:8.19.4"
+ cspell-lib: "npm:8.19.4"
fast-json-stable-stringify: "npm:^2.1.0"
file-entry-cache: "npm:^9.1.0"
- get-stdin: "npm:^9.0.0"
- semver: "npm:^7.6.3"
- tinyglobby: "npm:^0.2.10"
+ semver: "npm:^7.7.1"
+ tinyglobby: "npm:^0.2.13"
bin:
cspell: bin.mjs
cspell-esm: bin.mjs
- checksum: 10c0/ae5c91f21508a48fdb74848e746bf60f34a5f52255f52b17bd2feb673f86c17c9b47909760f6f05b8058399c6f336586fd3c8835db20f73187203c382fc80a8f
+ checksum: 10c0/7914f35ec1cc6ad5536bc7b0cd81de40a3233ef2631466ab6f3de3459d779b97a8496e6efce20bd793b1f22e6398c49316ac4eebcce8a9c578b94cd0b455e1cc
languageName: node
linkType: hard
-"css-blank-pseudo@npm:^6.0.2":
- version: 6.0.2
- resolution: "css-blank-pseudo@npm:6.0.2"
+"css-blank-pseudo@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "css-blank-pseudo@npm:7.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/609303551c2a518ca23ed12fed43945ca4f7af04140da68a5536f5dc9d42f33412c13ac3fe5c616d7401a9e13a23d80b4cfa87149a45f94b244d8067bb11f3dd
+ checksum: 10c0/46c3d3a611972fdb0c264db7c0b34fe437bc4300961d11945145cf04962f52a545a6ef55bc8ff4afd82b605bd692b4970f2b54582616dea00441105e725d4618
languageName: node
linkType: hard
@@ -3849,29 +3865,29 @@ __metadata:
languageName: node
linkType: hard
-"css-has-pseudo@npm:^6.0.5":
- version: 6.0.5
- resolution: "css-has-pseudo@npm:6.0.5"
+"css-has-pseudo@npm:^7.0.2":
+ version: 7.0.2
+ resolution: "css-has-pseudo@npm:7.0.2"
dependencies:
- "@csstools/selector-specificity": "npm:^3.1.1"
- postcss-selector-parser: "npm:^6.0.13"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/946930b7e699d6dbcb8426ebcd593228ee0e2143a148fb2399111ea4c9ed8d6eb3447e944251f1be44ae987d5ab16e450b0b006ca197f318c2a3760ba431fbb9
+ checksum: 10c0/456e9ce1eec8a535683c329956acfe53ce5a208345d7f2fcbe662626be8b3c98681e9041d7f4980316714397b0c1c3defde25653d629c396df17803d599c4edf
languageName: node
linkType: hard
-"css-prefers-color-scheme@npm:^9.0.1":
- version: 9.0.1
- resolution: "css-prefers-color-scheme@npm:9.0.1"
+"css-prefers-color-scheme@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "css-prefers-color-scheme@npm:10.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b94da00d84c4ebb56eb8fce96d4fdb20d2e622a7cd8cd6d7b87d1d2b718a55ce88bccc9d871771bfe77c5107de06132ba87190e3656f049e45f19f652d50136c
+ checksum: 10c0/a66c727bb2455328b18862f720819fc98ff5c1486b69f758bdb5c66f46cc6d484f9fc0bfa4f00f2693c5da6707ad136ca789496982f713ade693f08af624930e
languageName: node
linkType: hard
-"css-tree@npm:^3.0.1":
+"css-tree@npm:^3.1.0":
version: 3.1.0
resolution: "css-tree@npm:3.1.0"
dependencies:
@@ -3881,10 +3897,10 @@ __metadata:
languageName: node
linkType: hard
-"cssdb@npm:^8.1.0":
- version: 8.1.0
- resolution: "cssdb@npm:8.1.0"
- checksum: 10c0/1fa1f1566c7e9964f5c71e443583eaba16a90933a3ef6803815c4281d084b75da948c415bade33d7085894fe0929c082fcb3135bf4400048cfff40d227ebd5dd
+"cssdb@npm:^8.2.5":
+ version: 8.2.5
+ resolution: "cssdb@npm:8.2.5"
+ checksum: 10c0/3f6f2941c958ea0bdbcc1f807ee728d851ef60c370fbcd54360840e3192f082e0a0b2fa4ea600ca74fa771936c9130883727d7845132cc8bf135a4e0a1e55746
languageName: node
linkType: hard
@@ -3897,16 +3913,7 @@ __metadata:
languageName: node
linkType: hard
-"cssstyle@npm:^4.0.1":
- version: 4.0.1
- resolution: "cssstyle@npm:4.0.1"
- dependencies:
- rrweb-cssom: "npm:^0.6.0"
- checksum: 10c0/cadf9a8b23e11f4c6d63f21291096a0b0be868bd4ab9c799daa2c5b18330e39e5281605f01da906e901b42f742df0f3b3645af6465e83377ff7d15a88ee432a0
- languageName: node
- linkType: hard
-
-"cssstyle@npm:^4.2.1":
+"cssstyle@npm:^4.0.1, cssstyle@npm:^4.2.1":
version: 4.3.1
resolution: "cssstyle@npm:4.3.1"
dependencies:
@@ -3933,40 +3940,52 @@ __metadata:
languageName: node
linkType: hard
-"data-view-buffer@npm:^1.0.1":
- version: 1.0.1
- resolution: "data-view-buffer@npm:1.0.1"
+"data-view-buffer@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "data-view-buffer@npm:1.0.2"
dependencies:
- call-bind: "npm:^1.0.6"
+ call-bound: "npm:^1.0.3"
es-errors: "npm:^1.3.0"
- is-data-view: "npm:^1.0.1"
- checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583
+ is-data-view: "npm:^1.0.2"
+ checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c
languageName: node
linkType: hard
-"data-view-byte-length@npm:^1.0.1":
- version: 1.0.1
- resolution: "data-view-byte-length@npm:1.0.1"
+"data-view-byte-length@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "data-view-byte-length@npm:1.0.2"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bound: "npm:^1.0.3"
es-errors: "npm:^1.3.0"
- is-data-view: "npm:^1.0.1"
- checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2
+ is-data-view: "npm:^1.0.2"
+ checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55
languageName: node
linkType: hard
-"data-view-byte-offset@npm:^1.0.0":
- version: 1.0.0
- resolution: "data-view-byte-offset@npm:1.0.0"
+"data-view-byte-offset@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "data-view-byte-offset@npm:1.0.1"
dependencies:
- call-bind: "npm:^1.0.6"
+ call-bound: "npm:^1.0.2"
es-errors: "npm:^1.3.0"
is-data-view: "npm:^1.0.1"
- checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f
+ checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4
languageName: node
linkType: hard
-"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
+"debug@npm:4, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7":
+ version: 4.4.1
+ resolution: "debug@npm:4.4.1"
+ dependencies:
+ ms: "npm:^2.1.3"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10c0/d2b44bc1afd912b49bb7ebb0d50a860dc93a4dd7d946e8de94abc957bb63726b7dd5aa48c18c2386c379ec024c46692e15ed3ed97d481729f929201e671fcd55
+ languageName: node
+ linkType: hard
+
+"debug@npm:4.3.4":
version: 4.3.4
resolution: "debug@npm:4.3.4"
dependencies:
@@ -3987,18 +4006,6 @@ __metadata:
languageName: node
linkType: hard
-"debug@npm:^4.3.7":
- version: 4.3.7
- resolution: "debug@npm:4.3.7"
- dependencies:
- ms: "npm:^2.1.3"
- peerDependenciesMeta:
- supports-color:
- optional: true
- checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b
- languageName: node
- linkType: hard
-
"decamelize@npm:^4.0.0":
version: 4.0.0
resolution: "decamelize@npm:4.0.0"
@@ -4006,14 +4013,7 @@ __metadata:
languageName: node
linkType: hard
-"decimal.js@npm:^10.4.3":
- version: 10.4.3
- resolution: "decimal.js@npm:10.4.3"
- checksum: 10c0/6d60206689ff0911f0ce968d40f163304a6c1bc739927758e6efc7921cfa630130388966f16bf6ef6b838cb33679fbe8e7a78a2f3c478afce841fd55ac8fb8ee
- languageName: node
- linkType: hard
-
-"decimal.js@npm:^10.5.0":
+"decimal.js@npm:^10.4.3, decimal.js@npm:^10.5.0":
version: 10.5.0
resolution: "decimal.js@npm:10.5.0"
checksum: 10c0/785c35279df32762143914668df35948920b6c1c259b933e0519a69b7003fc0a5ed2a766b1e1dda02574450c566b21738a45f15e274b47c2ac02072c0d1f3ac3
@@ -4071,18 +4071,7 @@ __metadata:
languageName: node
linkType: hard
-"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.1":
- version: 1.1.1
- resolution: "define-data-property@npm:1.1.1"
- dependencies:
- get-intrinsic: "npm:^1.2.1"
- gopd: "npm:^1.0.1"
- has-property-descriptors: "npm:^1.0.0"
- checksum: 10c0/77ef6e0bceb515e05b5913ab635a84d537cee84f8a7c37c77fdcb31fc5b80f6dbe81b33375e4b67d96aa04e6a0d8d4ea099e431d83f089af8d93adfb584bcb94
- languageName: node
- linkType: hard
-
-"define-data-property@npm:^1.1.4":
+"define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4":
version: 1.1.4
resolution: "define-data-property@npm:1.1.4"
dependencies:
@@ -4100,7 +4089,7 @@ __metadata:
languageName: node
linkType: hard
-"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1":
+"define-properties@npm:^1.2.1":
version: 1.2.1
resolution: "define-properties@npm:1.2.1"
dependencies:
@@ -4189,14 +4178,14 @@ __metadata:
languageName: node
linkType: hard
-"dunder-proto@npm:^1.0.0":
- version: 1.0.0
- resolution: "dunder-proto@npm:1.0.0"
+"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "dunder-proto@npm:1.0.1"
dependencies:
- call-bind-apply-helpers: "npm:^1.0.0"
+ call-bind-apply-helpers: "npm:^1.0.1"
es-errors: "npm:^1.3.0"
gopd: "npm:^1.2.0"
- checksum: 10c0/b321e5cbf64f0a4c786b0b3dc187eb5197a83f6e05a1e11b86db25251b3ae6747c4b805d9e0a4fbf481d22a86a539dc75f82d883daeac7fc2ce4bd72ff5ef5a2
+ checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031
languageName: node
linkType: hard
@@ -4218,24 +4207,10 @@ __metadata:
languageName: node
linkType: hard
-"electron-to-chromium@npm:^1.4.668":
- version: 1.4.762
- resolution: "electron-to-chromium@npm:1.4.762"
- checksum: 10c0/b4f9e7472b0f25bac24454a6450c43257ef931a12f4f18d0f430997b383db228b73caf268010cec0441646d6842875503c25fca7125f0bf2805fb2ee8c2e2aea
- languageName: node
- linkType: hard
-
-"electron-to-chromium@npm:^1.4.820":
- version: 1.4.823
- resolution: "electron-to-chromium@npm:1.4.823"
- checksum: 10c0/772ad25e1305ab4a1a18beb9edae5d62ba55c5660c9d20a86c90e195d22da64dcf209ba8c9fb8172c76d1cbff12ea56a83eb75863bd2b22fb7ddabcd1d73c1e7
- languageName: node
- linkType: hard
-
-"electron-to-chromium@npm:^1.5.41":
- version: 1.5.58
- resolution: "electron-to-chromium@npm:1.5.58"
- checksum: 10c0/a3f5544ef12a84a7046b297195d19937f396683be8f245e1569cb9a877afd59f3630c8de9bb07f57aee1e6cda564c1a80c7d0b2fd28effb70db1558ca4669996
+"electron-to-chromium@npm:^1.5.149":
+ version: 1.5.155
+ resolution: "electron-to-chromium@npm:1.5.155"
+ checksum: 10c0/aee32a0b03282e488352370f6a910de37788b814031020a0e244943450e844e8a41f741d6e5ec70d553dfa4382ef80088034ddc400b48f45de95de331b9ec178
languageName: node
linkType: hard
@@ -4272,12 +4247,12 @@ __metadata:
linkType: hard
"enhanced-resolve@npm:^5.17.1":
- version: 5.17.1
- resolution: "enhanced-resolve@npm:5.17.1"
+ version: 5.18.1
+ resolution: "enhanced-resolve@npm:5.18.1"
dependencies:
graceful-fs: "npm:^4.2.4"
tapable: "npm:^2.2.0"
- checksum: 10c0/81a0515675eca17efdba2cf5bad87abc91a528fc1191aad50e275e74f045b41506167d420099022da7181c8d787170ea41e4a11a0b10b7a16f6237daecb15370
+ checksum: 10c0/4cffd9b125225184e2abed9fdf0ed3dbd2224c873b165d0838fd066cde32e0918626cba2f1f4bf6860762f13a7e2364fd89a82b99566be2873d813573ac71846
languageName: node
linkType: hard
@@ -4288,13 +4263,6 @@ __metadata:
languageName: node
linkType: hard
-"entities@npm:^4.4.0":
- version: 4.5.0
- resolution: "entities@npm:4.5.0"
- checksum: 10c0/5b039739f7621f5d1ad996715e53d964035f75ad3b9a4d38c6b3804bb226e282ffeae2443624d8fdd9c47d8e926ae9ac009c54671243f0c3294c26af7cc85250
- languageName: node
- linkType: hard
-
"entities@npm:^6.0.0":
version: 6.0.0
resolution: "entities@npm:6.0.0"
@@ -4350,124 +4318,73 @@ __metadata:
languageName: node
linkType: hard
-"es-abstract@npm:^1.22.1":
- version: 1.22.3
- resolution: "es-abstract@npm:1.22.3"
+"es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.9":
+ version: 1.23.9
+ resolution: "es-abstract@npm:1.23.9"
dependencies:
- array-buffer-byte-length: "npm:^1.0.0"
- arraybuffer.prototype.slice: "npm:^1.0.2"
- available-typed-arrays: "npm:^1.0.5"
- call-bind: "npm:^1.0.5"
- es-set-tostringtag: "npm:^2.0.1"
- es-to-primitive: "npm:^1.2.1"
- function.prototype.name: "npm:^1.1.6"
- get-intrinsic: "npm:^1.2.2"
- get-symbol-description: "npm:^1.0.0"
- globalthis: "npm:^1.0.3"
- gopd: "npm:^1.0.1"
- has-property-descriptors: "npm:^1.0.0"
- has-proto: "npm:^1.0.1"
- has-symbols: "npm:^1.0.3"
- hasown: "npm:^2.0.0"
- internal-slot: "npm:^1.0.5"
- is-array-buffer: "npm:^3.0.2"
- is-callable: "npm:^1.2.7"
- is-negative-zero: "npm:^2.0.2"
- is-regex: "npm:^1.1.4"
- is-shared-array-buffer: "npm:^1.0.2"
- is-string: "npm:^1.0.7"
- is-typed-array: "npm:^1.1.12"
- is-weakref: "npm:^1.0.2"
- object-inspect: "npm:^1.13.1"
- object-keys: "npm:^1.1.1"
- object.assign: "npm:^4.1.4"
- regexp.prototype.flags: "npm:^1.5.1"
- safe-array-concat: "npm:^1.0.1"
- safe-regex-test: "npm:^1.0.0"
- string.prototype.trim: "npm:^1.2.8"
- string.prototype.trimend: "npm:^1.0.7"
- string.prototype.trimstart: "npm:^1.0.7"
- typed-array-buffer: "npm:^1.0.0"
- typed-array-byte-length: "npm:^1.0.0"
- typed-array-byte-offset: "npm:^1.0.0"
- typed-array-length: "npm:^1.0.4"
- unbox-primitive: "npm:^1.0.2"
- which-typed-array: "npm:^1.1.13"
- checksum: 10c0/da31ec43b1c8eb47ba8a17693cac143682a1078b6c3cd883ce0e2062f135f532e93d873694ef439670e1f6ca03195118f43567ba6f33fb0d6c7daae750090236
- languageName: node
- linkType: hard
-
-"es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.5":
- version: 1.23.5
- resolution: "es-abstract@npm:1.23.5"
- dependencies:
- array-buffer-byte-length: "npm:^1.0.1"
- arraybuffer.prototype.slice: "npm:^1.0.3"
+ array-buffer-byte-length: "npm:^1.0.2"
+ arraybuffer.prototype.slice: "npm:^1.0.4"
available-typed-arrays: "npm:^1.0.7"
- call-bind: "npm:^1.0.7"
- data-view-buffer: "npm:^1.0.1"
- data-view-byte-length: "npm:^1.0.1"
- data-view-byte-offset: "npm:^1.0.0"
- es-define-property: "npm:^1.0.0"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ data-view-buffer: "npm:^1.0.2"
+ data-view-byte-length: "npm:^1.0.2"
+ data-view-byte-offset: "npm:^1.0.1"
+ es-define-property: "npm:^1.0.1"
es-errors: "npm:^1.3.0"
es-object-atoms: "npm:^1.0.0"
- es-set-tostringtag: "npm:^2.0.3"
- es-to-primitive: "npm:^1.2.1"
- function.prototype.name: "npm:^1.1.6"
- get-intrinsic: "npm:^1.2.4"
- get-symbol-description: "npm:^1.0.2"
+ es-set-tostringtag: "npm:^2.1.0"
+ es-to-primitive: "npm:^1.3.0"
+ function.prototype.name: "npm:^1.1.8"
+ get-intrinsic: "npm:^1.2.7"
+ get-proto: "npm:^1.0.0"
+ get-symbol-description: "npm:^1.1.0"
globalthis: "npm:^1.0.4"
- gopd: "npm:^1.0.1"
+ gopd: "npm:^1.2.0"
has-property-descriptors: "npm:^1.0.2"
- has-proto: "npm:^1.0.3"
- has-symbols: "npm:^1.0.3"
+ has-proto: "npm:^1.2.0"
+ has-symbols: "npm:^1.1.0"
hasown: "npm:^2.0.2"
- internal-slot: "npm:^1.0.7"
- is-array-buffer: "npm:^3.0.4"
+ internal-slot: "npm:^1.1.0"
+ is-array-buffer: "npm:^3.0.5"
is-callable: "npm:^1.2.7"
- is-data-view: "npm:^1.0.1"
- is-negative-zero: "npm:^2.0.3"
- is-regex: "npm:^1.1.4"
- is-shared-array-buffer: "npm:^1.0.3"
- is-string: "npm:^1.0.7"
- is-typed-array: "npm:^1.1.13"
- is-weakref: "npm:^1.0.2"
+ is-data-view: "npm:^1.0.2"
+ is-regex: "npm:^1.2.1"
+ is-shared-array-buffer: "npm:^1.0.4"
+ is-string: "npm:^1.1.1"
+ is-typed-array: "npm:^1.1.15"
+ is-weakref: "npm:^1.1.0"
+ math-intrinsics: "npm:^1.1.0"
object-inspect: "npm:^1.13.3"
object-keys: "npm:^1.1.1"
- object.assign: "npm:^4.1.5"
+ object.assign: "npm:^4.1.7"
+ own-keys: "npm:^1.0.1"
regexp.prototype.flags: "npm:^1.5.3"
- safe-array-concat: "npm:^1.1.2"
- safe-regex-test: "npm:^1.0.3"
- string.prototype.trim: "npm:^1.2.9"
- string.prototype.trimend: "npm:^1.0.8"
+ safe-array-concat: "npm:^1.1.3"
+ safe-push-apply: "npm:^1.0.0"
+ safe-regex-test: "npm:^1.1.0"
+ set-proto: "npm:^1.0.0"
+ string.prototype.trim: "npm:^1.2.10"
+ string.prototype.trimend: "npm:^1.0.9"
string.prototype.trimstart: "npm:^1.0.8"
- typed-array-buffer: "npm:^1.0.2"
- typed-array-byte-length: "npm:^1.0.1"
- typed-array-byte-offset: "npm:^1.0.2"
- typed-array-length: "npm:^1.0.6"
- unbox-primitive: "npm:^1.0.2"
- which-typed-array: "npm:^1.1.15"
- checksum: 10c0/1f6f91da9cf7ee2c81652d57d3046621d598654d1d1b05c1578bafe5c4c2d3d69513901679bdca2de589f620666ec21de337e4935cec108a4ed0871d5ef04a5d
- languageName: node
- linkType: hard
-
-"es-define-property@npm:^1.0.0":
- version: 1.0.0
- resolution: "es-define-property@npm:1.0.0"
- dependencies:
- get-intrinsic: "npm:^1.2.4"
- checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4
+ typed-array-buffer: "npm:^1.0.3"
+ typed-array-byte-length: "npm:^1.0.3"
+ typed-array-byte-offset: "npm:^1.0.4"
+ typed-array-length: "npm:^1.0.7"
+ unbox-primitive: "npm:^1.1.0"
+ which-typed-array: "npm:^1.1.18"
+ checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b
languageName: node
linkType: hard
-"es-define-property@npm:^1.0.1":
+"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1":
version: 1.0.1
resolution: "es-define-property@npm:1.0.1"
checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c
languageName: node
linkType: hard
-"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0":
+"es-errors@npm:^1.3.0":
version: 1.3.0
resolution: "es-errors@npm:1.3.0"
checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85
@@ -4492,78 +4409,54 @@ __metadata:
linkType: hard
"es-module-lexer@npm:^1.2.1":
- version: 1.4.1
- resolution: "es-module-lexer@npm:1.4.1"
- checksum: 10c0/b7260a138668554d3f0ddcc728cb4b60c2fa463f15545cf155ecbdd5450a1348952d58298a7f48642e900ee579f21d7f5304b6b3c61b3d9fc2d4b2109b5a9dff
+ version: 1.7.0
+ resolution: "es-module-lexer@npm:1.7.0"
+ checksum: 10c0/4c935affcbfeba7fb4533e1da10fa8568043df1e3574b869385980de9e2d475ddc36769891936dbb07036edb3c3786a8b78ccf44964cd130dedc1f2c984b6c7b
languageName: node
linkType: hard
-"es-object-atoms@npm:^1.0.0":
- version: 1.0.0
- resolution: "es-object-atoms@npm:1.0.0"
+"es-object-atoms@npm:^1.0.0, es-object-atoms@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "es-object-atoms@npm:1.1.1"
dependencies:
es-errors: "npm:^1.3.0"
- checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4
+ checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c
languageName: node
linkType: hard
-"es-set-tostringtag@npm:^2.0.1":
- version: 2.0.2
- resolution: "es-set-tostringtag@npm:2.0.2"
- dependencies:
- get-intrinsic: "npm:^1.2.2"
- has-tostringtag: "npm:^1.0.0"
- hasown: "npm:^2.0.0"
- checksum: 10c0/176d6bd1be31dd0145dcceee62bb78d4a5db7f81db437615a18308a6f62bcffe45c15081278413455e8cf0aad4ea99079de66f8de389605942dfdacbad74c2d5
- languageName: node
- linkType: hard
-
-"es-set-tostringtag@npm:^2.0.3":
- version: 2.0.3
- resolution: "es-set-tostringtag@npm:2.0.3"
+"es-set-tostringtag@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "es-set-tostringtag@npm:2.1.0"
dependencies:
- get-intrinsic: "npm:^1.2.4"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.6"
has-tostringtag: "npm:^1.0.2"
- hasown: "npm:^2.0.1"
- checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af
languageName: node
linkType: hard
-"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2":
- version: 1.0.2
- resolution: "es-shim-unscopables@npm:1.0.2"
+"es-shim-unscopables@npm:^1.0.2, es-shim-unscopables@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "es-shim-unscopables@npm:1.1.0"
dependencies:
- hasown: "npm:^2.0.0"
- checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb
languageName: node
linkType: hard
-"es-to-primitive@npm:^1.2.1":
- version: 1.2.1
- resolution: "es-to-primitive@npm:1.2.1"
+"es-to-primitive@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "es-to-primitive@npm:1.3.0"
dependencies:
- is-callable: "npm:^1.1.4"
- is-date-object: "npm:^1.0.1"
- is-symbol: "npm:^1.0.2"
- checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1
- languageName: node
- linkType: hard
-
-"escalade@npm:^3.1.1":
- version: 3.1.1
- resolution: "escalade@npm:3.1.1"
- checksum: 10c0/afd02e6ca91ffa813e1108b5e7756566173d6bc0d1eb951cb44d6b21702ec17c1cf116cfe75d4a2b02e05acb0b808a7a9387d0d1ca5cf9c04ad03a8445c3e46d
- languageName: node
- linkType: hard
-
-"escalade@npm:^3.1.2":
- version: 3.1.2
- resolution: "escalade@npm:3.1.2"
- checksum: 10c0/6b4adafecd0682f3aa1cd1106b8fff30e492c7015b178bc81b2d2f75106dabea6c6d6e8508fc491bd58e597c74abb0e8e2368f943ecb9393d4162e3c2f3cf287
+ is-callable: "npm:^1.2.7"
+ is-date-object: "npm:^1.0.5"
+ is-symbol: "npm:^1.0.4"
+ checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b
languageName: node
linkType: hard
-"escalade@npm:^3.2.0":
+"escalade@npm:^3.1.1, escalade@npm:^3.2.0":
version: 3.2.0
resolution: "escalade@npm:3.2.0"
checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65
@@ -4577,21 +4470,14 @@ __metadata:
languageName: node
linkType: hard
-"escape-string-regexp@npm:^1.0.5":
- version: 1.0.5
- resolution: "escape-string-regexp@npm:1.0.5"
- checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371
- languageName: node
- linkType: hard
-
"eslint-compat-utils@npm:^0.6.0":
- version: 0.6.4
- resolution: "eslint-compat-utils@npm:0.6.4"
+ version: 0.6.5
+ resolution: "eslint-compat-utils@npm:0.6.5"
dependencies:
semver: "npm:^7.5.4"
peerDependencies:
eslint: ">=6.0.0"
- checksum: 10c0/5b665c4051e978b9f9c48621f63d07e6b2a8ba1b334fc430f1ce0d8b596968677bdb54c23c00ca961ad5b4673d5e83e014a52b4baf9a2f7d4ccd79e3c213acfb
+ checksum: 10c0/f3519e1460ec82c6967c4b0132801924bf5c17328999014f444ec12f075b151e992d1ebf378cb8eb0b2e00b3d04e0eaac80897209121fd115f857598b4588393
languageName: node
linkType: hard
@@ -4610,14 +4496,14 @@ __metadata:
languageName: node
linkType: hard
-"eslint-config-prettier@npm:^9.1.0":
- version: 9.1.0
- resolution: "eslint-config-prettier@npm:9.1.0"
+"eslint-config-prettier@npm:^10.1.3":
+ version: 10.1.5
+ resolution: "eslint-config-prettier@npm:10.1.5"
peerDependencies:
eslint: ">=7.0.0"
bin:
eslint-config-prettier: bin/cli.js
- checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d
+ checksum: 10c0/5486255428e4577e8064b40f27db299faf7312b8e43d7b4bc913a6426e6c0f5950cd519cad81ae24e9aecb4002c502bc665c02e3b52efde57af2debcf27dd6e0
languageName: node
linkType: hard
@@ -4685,47 +4571,47 @@ __metadata:
languageName: node
linkType: hard
-"eslint-plugin-no-jquery@npm:^3.1.0":
- version: 3.1.0
- resolution: "eslint-plugin-no-jquery@npm:3.1.0"
+"eslint-plugin-no-jquery@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "eslint-plugin-no-jquery@npm:3.1.1"
peerDependencies:
eslint: ">=8.0.0"
- checksum: 10c0/d449e93f1bb6fe0b4b229e0dd4e26c56095256f6eb3ca2ec905ab5c62622546c405c19f8e6022de580aa1898f40b065097d21857fd8f4d528a592256ed156293
+ checksum: 10c0/fcf538876f994a754909cfa441ce59911449d93fd03eadc6960e0c8b9a8ea6d7cfd79423e828db08d943115ee04c8146bc46e29f75595043cc080f11fbc0f528
languageName: node
linkType: hard
-"eslint-plugin-prettier@npm:^5.2.1":
- version: 5.2.1
- resolution: "eslint-plugin-prettier@npm:5.2.1"
+"eslint-plugin-prettier@npm:^5.4.0":
+ version: 5.4.0
+ resolution: "eslint-plugin-prettier@npm:5.4.0"
dependencies:
prettier-linter-helpers: "npm:^1.0.0"
- synckit: "npm:^0.9.1"
+ synckit: "npm:^0.11.0"
peerDependencies:
"@types/eslint": ">=8.0.0"
eslint: ">=8.0.0"
- eslint-config-prettier: "*"
+ eslint-config-prettier: ">= 7.0.0 <10.0.0 || >=10.1.0"
prettier: ">=3.0.0"
peerDependenciesMeta:
"@types/eslint":
optional: true
eslint-config-prettier:
optional: true
- checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2
+ checksum: 10c0/50718d16266dfbe6909697f9d7c9188d2664f5be50fa1de4decc0c8236565570823fdf5973f89cd51254af5551b6160650e092716002a62aaa0f0b2c18e8fc3e
languageName: node
linkType: hard
-"eslint-plugin-yml@npm:^1.16.0":
- version: 1.16.0
- resolution: "eslint-plugin-yml@npm:1.16.0"
+"eslint-plugin-yml@npm:^1.18.0":
+ version: 1.18.0
+ resolution: "eslint-plugin-yml@npm:1.18.0"
dependencies:
debug: "npm:^4.3.2"
+ escape-string-regexp: "npm:4.0.0"
eslint-compat-utils: "npm:^0.6.0"
- lodash: "npm:^4.17.21"
natural-compare: "npm:^1.4.0"
yaml-eslint-parser: "npm:^1.2.1"
peerDependencies:
eslint: ">=6.0.0"
- checksum: 10c0/35052c2f77fb1d143141329444ca975dbc3190393595051ce4890b7f990aaf79286b52ff18c8ffb66e9739ad779fb23efe0eb9011e761d2b26a3244e20e5a925
+ checksum: 10c0/ff6619bb488c98f3b6639c58f135f375bba6a4e4763cfeded461c6bbe654164678055981d1a27949568efc5ca9f3904e3abdda593b837cabb96f58948cc2d6be
languageName: node
linkType: hard
@@ -4749,7 +4635,7 @@ __metadata:
languageName: node
linkType: hard
-"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
+"eslint-visitor-keys@npm:^3.0.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3":
version: 3.4.3
resolution: "eslint-visitor-keys@npm:3.4.3"
checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820
@@ -4826,11 +4712,11 @@ __metadata:
linkType: hard
"esquery@npm:^1.4.2":
- version: 1.5.0
- resolution: "esquery@npm:1.5.0"
+ version: 1.6.0
+ resolution: "esquery@npm:1.6.0"
dependencies:
estraverse: "npm:^5.1.0"
- checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213
+ checksum: 10c0/cb9065ec605f9da7a76ca6dadb0619dfb611e37a81e318732977d90fab50a256b95fee2d925fba7c2f3f0523aa16f91587246693bc09bc34d5a59575fe6e93d2
languageName: node
linkType: hard
@@ -4872,9 +4758,9 @@ __metadata:
linkType: hard
"exponential-backoff@npm:^3.1.1":
- version: 3.1.1
- resolution: "exponential-backoff@npm:3.1.1"
- checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579
+ version: 3.1.2
+ resolution: "exponential-backoff@npm:3.1.2"
+ checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844
languageName: node
linkType: hard
@@ -4892,23 +4778,23 @@ __metadata:
languageName: node
linkType: hard
-"fast-equals@npm:^5.0.1":
- version: 5.0.1
- resolution: "fast-equals@npm:5.0.1"
- checksum: 10c0/d7077b8b681036c2840ed9860a3048e44fc268fad2b525b8f25b43458be0c8ad976152eb4b475de9617170423c5b802121ebb61ed6641c3ac035fadaf805c8c0
+"fast-equals@npm:^5.2.2":
+ version: 5.2.2
+ resolution: "fast-equals@npm:5.2.2"
+ checksum: 10c0/2bfeac6317a8959a00e2134749323557e5df6dea3af24e4457297733eace8ce4313fcbca2cf4532f3a6792607461e80442cd8d3af148d5c2e4e98ad996d6e5b5
languageName: node
linkType: hard
-"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2":
- version: 3.3.2
- resolution: "fast-glob@npm:3.3.2"
+"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.3":
+ version: 3.3.3
+ resolution: "fast-glob@npm:3.3.3"
dependencies:
"@nodelib/fs.stat": "npm:^2.0.2"
"@nodelib/fs.walk": "npm:^1.2.3"
glob-parent: "npm:^5.1.2"
merge2: "npm:^1.3.0"
- micromatch: "npm:^4.0.4"
- checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845
+ micromatch: "npm:^4.0.8"
+ checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe
languageName: node
linkType: hard
@@ -4941,23 +4827,32 @@ __metadata:
linkType: hard
"fastq@npm:^1.6.0":
- version: 1.15.0
- resolution: "fastq@npm:1.15.0"
+ version: 1.19.1
+ resolution: "fastq@npm:1.19.1"
dependencies:
reusify: "npm:^1.0.4"
- checksum: 10c0/5ce4f83afa5f88c9379e67906b4d31bc7694a30826d6cc8d0f0473c966929017fda65c2174b0ec89f064ede6ace6c67f8a4fe04cef42119b6a55b0d465554c24
+ checksum: 10c0/ebc6e50ac7048daaeb8e64522a1ea7a26e92b3cee5cd1c7f2316cdca81ba543aa40a136b53891446ea5c3a67ec215fbaca87ad405f102dd97012f62916905630
languageName: node
linkType: hard
-"fdir@npm:^6.4.2":
- version: 6.4.2
- resolution: "fdir@npm:6.4.2"
+"fdir@npm:^6.4.4":
+ version: 6.4.4
+ resolution: "fdir@npm:6.4.4"
peerDependencies:
picomatch: ^3 || ^4
peerDependenciesMeta:
picomatch:
optional: true
- checksum: 10c0/34829886f34a3ca4170eca7c7180ec4de51a3abb4d380344063c0ae2e289b11d2ba8b724afee974598c83027fea363ff598caf2b51bc4e6b1e0d8b80cc530573
+ checksum: 10c0/6ccc33be16945ee7bc841e1b4178c0b4cf18d3804894cb482aa514651c962a162f96da7ffc6ebfaf0df311689fb70091b04dd6caffe28d56b9ebdc0e7ccadfdd
+ languageName: node
+ linkType: hard
+
+"file-entry-cache@npm:^10.0.8":
+ version: 10.1.0
+ resolution: "file-entry-cache@npm:10.1.0"
+ dependencies:
+ flat-cache: "npm:^6.1.9"
+ checksum: 10c0/9464848577f68809237ffdf11c09a285d930ed4cda8cf392ee44ac8fa70658e41bbe60d08d883285d6af798a26f008dd8dfa94a31d42ecf1ba5a7bcd6dd8b07d
languageName: node
linkType: hard
@@ -4997,13 +4892,6 @@ __metadata:
languageName: node
linkType: hard
-"find-up-simple@npm:^1.0.0":
- version: 1.0.0
- resolution: "find-up-simple@npm:1.0.0"
- checksum: 10c0/de1ad5e55c8c162f5600fe3297bb55a3da5cd9cb8c6755e463ec1d52c4c15a84e312a68397fb5962d13263b3dbd4ea294668c465ccacc41291d7cc97588769f9
- languageName: node
- linkType: hard
-
"find-up@npm:5.0.0, find-up@npm:^5.0.0":
version: 5.0.0
resolution: "find-up@npm:5.0.0"
@@ -5045,6 +4933,17 @@ __metadata:
languageName: node
linkType: hard
+"flat-cache@npm:^6.1.9":
+ version: 6.1.9
+ resolution: "flat-cache@npm:6.1.9"
+ dependencies:
+ cacheable: "npm:^1.9.0"
+ flatted: "npm:^3.3.3"
+ hookified: "npm:^1.8.2"
+ checksum: 10c0/ca9241fab68154e9a4efe8875beff43cb7b2de65628d15dcf8488dc69bca3f8e98085a707c3395d03b1022f586364b0f37aa5dd5cc085a8cf7481516757ac864
+ languageName: node
+ linkType: hard
+
"flat@npm:^5.0.2":
version: 5.0.2
resolution: "flat@npm:5.0.2"
@@ -5054,47 +4953,41 @@ __metadata:
languageName: node
linkType: hard
-"flatted@npm:^3.2.9":
- version: 3.2.9
- resolution: "flatted@npm:3.2.9"
- checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53
+"flatted@npm:^3.2.9, flatted@npm:^3.3.1, flatted@npm:^3.3.3":
+ version: 3.3.3
+ resolution: "flatted@npm:3.3.3"
+ checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538
languageName: node
linkType: hard
-"flatted@npm:^3.3.1":
- version: 3.3.1
- resolution: "flatted@npm:3.3.1"
- checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf
- languageName: node
- linkType: hard
-
-"for-each@npm:^0.3.3":
- version: 0.3.3
- resolution: "for-each@npm:0.3.3"
+"for-each@npm:^0.3.3, for-each@npm:^0.3.5":
+ version: 0.3.5
+ resolution: "for-each@npm:0.3.5"
dependencies:
- is-callable: "npm:^1.1.3"
- checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa
+ is-callable: "npm:^1.2.7"
+ checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee
languageName: node
linkType: hard
"foreground-child@npm:^3.1.0":
- version: 3.1.1
- resolution: "foreground-child@npm:3.1.1"
+ version: 3.3.1
+ resolution: "foreground-child@npm:3.3.1"
dependencies:
- cross-spawn: "npm:^7.0.0"
+ cross-spawn: "npm:^7.0.6"
signal-exit: "npm:^4.0.1"
- checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0
+ checksum: 10c0/8986e4af2430896e65bc2788d6679067294d6aee9545daefc84923a0a4b399ad9c7a3ea7bd8c0b2b80fdf4a92de4c69df3f628233ff3224260e9c1541a9e9ed3
languageName: node
linkType: hard
"form-data@npm:^4.0.0":
- version: 4.0.0
- resolution: "form-data@npm:4.0.0"
+ version: 4.0.2
+ resolution: "form-data@npm:4.0.2"
dependencies:
asynckit: "npm:^0.4.0"
combined-stream: "npm:^1.0.8"
+ es-set-tostringtag: "npm:^2.1.0"
mime-types: "npm:^2.1.12"
- checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e
+ checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c
languageName: node
linkType: hard
@@ -5112,15 +5005,6 @@ __metadata:
languageName: node
linkType: hard
-"fs-minipass@npm:^2.0.0":
- version: 2.1.0
- resolution: "fs-minipass@npm:2.1.0"
- dependencies:
- minipass: "npm:^3.0.0"
- checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004
- languageName: node
- linkType: hard
-
"fs-minipass@npm:^3.0.0":
version: 3.0.3
resolution: "fs-minipass@npm:3.0.3"
@@ -5163,15 +5047,17 @@ __metadata:
languageName: node
linkType: hard
-"function.prototype.name@npm:^1.1.6":
- version: 1.1.6
- resolution: "function.prototype.name@npm:1.1.6"
+"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8":
+ version: 1.1.8
+ resolution: "function.prototype.name@npm:1.1.8"
dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ define-properties: "npm:^1.2.1"
functions-have-names: "npm:^1.2.3"
- checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b
+ hasown: "npm:^2.0.2"
+ is-callable: "npm:^1.2.7"
+ checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253
languageName: node
linkType: hard
@@ -5203,72 +5089,42 @@ __metadata:
languageName: node
linkType: hard
-"get-intrinsic@npm:^1.0.2, get-intrinsic@npm:^1.1.1, get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.0, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.2":
- version: 1.2.2
- resolution: "get-intrinsic@npm:1.2.2"
- dependencies:
- function-bind: "npm:^1.1.2"
- has-proto: "npm:^1.0.1"
- has-symbols: "npm:^1.0.3"
- hasown: "npm:^2.0.0"
- checksum: 10c0/4e7fb8adc6172bae7c4fe579569b4d5238b3667c07931cd46b4eee74bbe6ff6b91329bec311a638d8e60f5b51f44fe5445693c6be89ae88d4b5c49f7ff12db0b
- languageName: node
- linkType: hard
-
-"get-intrinsic@npm:^1.2.3":
- version: 1.2.5
- resolution: "get-intrinsic@npm:1.2.5"
+"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.2, get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7, get-intrinsic@npm:^1.3.0":
+ version: 1.3.0
+ resolution: "get-intrinsic@npm:1.3.0"
dependencies:
- call-bind-apply-helpers: "npm:^1.0.0"
- dunder-proto: "npm:^1.0.0"
+ call-bind-apply-helpers: "npm:^1.0.2"
es-define-property: "npm:^1.0.1"
es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.1.1"
function-bind: "npm:^1.1.2"
+ get-proto: "npm:^1.0.1"
gopd: "npm:^1.2.0"
has-symbols: "npm:^1.1.0"
hasown: "npm:^2.0.2"
- checksum: 10c0/dcaace9fd4b4dd127b6668f580393e1a704bad308b7b88d694145e2599ee6c51b70cbfd49c6c96a5ffdb14a70824a0b3bd9b78bad84953932e5f0c5da4e508fd
- languageName: node
- linkType: hard
-
-"get-intrinsic@npm:^1.2.4":
- version: 1.2.4
- resolution: "get-intrinsic@npm:1.2.4"
- dependencies:
- es-errors: "npm:^1.3.0"
- function-bind: "npm:^1.1.2"
- has-proto: "npm:^1.0.1"
- has-symbols: "npm:^1.0.3"
- hasown: "npm:^2.0.0"
- checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7
- languageName: node
- linkType: hard
-
-"get-stdin@npm:^9.0.0":
- version: 9.0.0
- resolution: "get-stdin@npm:9.0.0"
- checksum: 10c0/7ef2edc0c81a0644ca9f051aad8a96ae9373d901485abafaabe59fd347a1c378689d8a3d8825fb3067415d1d09dfcaa43cb9b9516ecac6b74b3138b65a8ccc6b
+ math-intrinsics: "npm:^1.1.0"
+ checksum: 10c0/52c81808af9a8130f581e6a6a83e1ba4a9f703359e7a438d1369a5267a25412322f03dcbd7c549edaef0b6214a0630a28511d7df0130c93cfd380f4fa0b5b66a
languageName: node
linkType: hard
-"get-symbol-description@npm:^1.0.0":
- version: 1.0.0
- resolution: "get-symbol-description@npm:1.0.0"
+"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "get-proto@npm:1.0.1"
dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.1.1"
- checksum: 10c0/23bc3b44c221cdf7669a88230c62f4b9e30393b61eb21ba4400cb3e346801bd8f95fe4330ee78dbae37aecd874646d53e3e76a17a654d0c84c77f6690526d6bb
+ dunder-proto: "npm:^1.0.1"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c
languageName: node
linkType: hard
-"get-symbol-description@npm:^1.0.2":
- version: 1.0.2
- resolution: "get-symbol-description@npm:1.0.2"
+"get-symbol-description@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "get-symbol-description@npm:1.1.0"
dependencies:
- call-bind: "npm:^1.0.5"
+ call-bound: "npm:^1.0.3"
es-errors: "npm:^1.3.0"
- get-intrinsic: "npm:^1.2.4"
- checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b
languageName: node
linkType: hard
@@ -5297,9 +5153,9 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:11.0.2":
- version: 11.0.2
- resolution: "glob@npm:11.0.2"
+"glob@npm:11.0.0":
+ version: 11.0.0
+ resolution: "glob@npm:11.0.0"
dependencies:
foreground-child: "npm:^3.1.0"
jackspeak: "npm:^4.0.1"
@@ -5309,7 +5165,7 @@ __metadata:
path-scurry: "npm:^2.0.0"
bin:
glob: dist/esm/bin.mjs
- checksum: 10c0/49f91c64ca882d5e3a72397bd45a146ca91fd3ca53dafb5254daf6c0e83fc510d39ea66f136f9ac7ca075cdd11fbe9aaa235b28f743bd477622e472f4fdc0240
+ checksum: 10c0/419866015d8795258a8ac51de5b9d1a99c72634fc3ead93338e4da388e89773ab21681e494eac0fbc4250b003451ca3110bb4f1c9393d15d14466270094fdb4e
languageName: node
linkType: hard
@@ -5340,18 +5196,19 @@ __metadata:
languageName: node
linkType: hard
-"glob@npm:^10.2.2, glob@npm:^10.3.10":
- version: 10.3.10
- resolution: "glob@npm:10.3.10"
+"glob@npm:^10.2.2":
+ version: 10.4.5
+ resolution: "glob@npm:10.4.5"
dependencies:
foreground-child: "npm:^3.1.0"
- jackspeak: "npm:^2.3.5"
- minimatch: "npm:^9.0.1"
- minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
- path-scurry: "npm:^1.10.1"
+ jackspeak: "npm:^3.1.2"
+ minimatch: "npm:^9.0.4"
+ minipass: "npm:^7.1.2"
+ package-json-from-dist: "npm:^1.0.0"
+ path-scurry: "npm:^1.11.1"
bin:
glob: dist/esm/bin.mjs
- checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d
+ checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
languageName: node
linkType: hard
@@ -5393,15 +5250,6 @@ __metadata:
languageName: node
linkType: hard
-"globalthis@npm:^1.0.3":
- version: 1.0.3
- resolution: "globalthis@npm:1.0.3"
- dependencies:
- define-properties: "npm:^1.1.3"
- checksum: 10c0/0db6e9af102a5254630351557ac15e6909bc7459d3e3f6b001e59fe784c96d31108818f032d9095739355a88467459e6488ff16584ee6250cd8c27dec05af4b0
- languageName: node
- linkType: hard
-
"globalthis@npm:^1.0.4":
version: 1.0.4
resolution: "globalthis@npm:1.0.4"
@@ -5433,16 +5281,7 @@ __metadata:
languageName: node
linkType: hard
-"gopd@npm:^1.0.1":
- version: 1.0.1
- resolution: "gopd@npm:1.0.1"
- dependencies:
- get-intrinsic: "npm:^1.1.3"
- checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63
- languageName: node
- linkType: hard
-
-"gopd@npm:^1.2.0":
+"gopd@npm:^1.0.1, gopd@npm:^1.2.0":
version: 1.2.0
resolution: "gopd@npm:1.2.0"
checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead
@@ -5463,17 +5302,10 @@ __metadata:
languageName: node
linkType: hard
-"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2":
- version: 1.0.2
- resolution: "has-bigints@npm:1.0.2"
- checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b
- languageName: node
- linkType: hard
-
-"has-flag@npm:^3.0.0":
- version: 3.0.0
- resolution: "has-flag@npm:3.0.0"
- checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473
+"has-bigints@npm:^1.0.2":
+ version: 1.1.0
+ resolution: "has-bigints@npm:1.1.0"
+ checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788
languageName: node
linkType: hard
@@ -5491,16 +5323,7 @@ __metadata:
languageName: node
linkType: hard
-"has-property-descriptors@npm:^1.0.0":
- version: 1.0.1
- resolution: "has-property-descriptors@npm:1.0.1"
- dependencies:
- get-intrinsic: "npm:^1.2.2"
- checksum: 10c0/d62ba94b40150b00d621bc64a6aedb5bf0ee495308b4b7ed6bac856043db3cdfb1db553ae81cec91c9d2bd82057ff0e94145e7fa25d5aa5985ed32e0921927f6
- languageName: node
- linkType: hard
-
-"has-property-descriptors@npm:^1.0.2":
+"has-property-descriptors@npm:^1.0.0, has-property-descriptors@npm:^1.0.2":
version: 1.0.2
resolution: "has-property-descriptors@npm:1.0.2"
dependencies:
@@ -5509,14 +5332,7 @@ __metadata:
languageName: node
linkType: hard
-"has-proto@npm:^1.0.1":
- version: 1.0.1
- resolution: "has-proto@npm:1.0.1"
- checksum: 10c0/c8a8fe411f810b23a564bd5546a8f3f0fff6f1b692740eb7a2fdc9df716ef870040806891e2f23ff4653f1083e3895bf12088703dd1a0eac3d9202d3a4768cd0
- languageName: node
- linkType: hard
-
-"has-proto@npm:^1.0.3":
+"has-proto@npm:^1.2.0":
version: 1.2.0
resolution: "has-proto@npm:1.2.0"
dependencies:
@@ -5525,29 +5341,13 @@ __metadata:
languageName: node
linkType: hard
-"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3":
- version: 1.0.3
- resolution: "has-symbols@npm:1.0.3"
- checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3
- languageName: node
- linkType: hard
-
-"has-symbols@npm:^1.1.0":
+"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0":
version: 1.1.0
resolution: "has-symbols@npm:1.1.0"
checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e
languageName: node
linkType: hard
-"has-tostringtag@npm:^1.0.0":
- version: 1.0.0
- resolution: "has-tostringtag@npm:1.0.0"
- dependencies:
- has-symbols: "npm:^1.0.2"
- checksum: 10c0/1cdba76b7d13f65198a92b8ca1560ba40edfa09e85d182bf436d928f3588a9ebd260451d569f0ed1b849c4bf54f49c862aa0d0a77f9552b1855bb6deb526c011
- languageName: node
- linkType: hard
-
"has-tostringtag@npm:^1.0.2":
version: 1.0.2
resolution: "has-tostringtag@npm:1.0.2"
@@ -5557,16 +5357,7 @@ __metadata:
languageName: node
linkType: hard
-"hasown@npm:^2.0.0":
- version: 2.0.0
- resolution: "hasown@npm:2.0.0"
- dependencies:
- function-bind: "npm:^1.1.2"
- checksum: 10c0/5d415b114f410661208c95e7ab4879f1cc2765b8daceff4dc8718317d1cb7b9ffa7c5d1eafd9a4389c9aab7445d6ea88e05f3096cb1e529618b55304956b87fc
- languageName: node
- linkType: hard
-
-"hasown@npm:^2.0.1, hasown@npm:^2.0.2":
+"hasown@npm:^2.0.2":
version: 2.0.2
resolution: "hasown@npm:2.0.2"
dependencies:
@@ -5584,6 +5375,13 @@ __metadata:
languageName: node
linkType: hard
+"hookified@npm:^1.8.2":
+ version: 1.9.0
+ resolution: "hookified@npm:1.9.0"
+ checksum: 10c0/28145882504e40ef58f328554966520c56dc2aaca92457996a5cd68fda6f92e38d3ca283e7ebbf3d71f36cda887234ce580abfa6532ade906be7810a812f15fa
+ languageName: node
+ linkType: hard
+
"html-encoding-sniffer@npm:^4.0.0":
version: 4.0.0
resolution: "html-encoding-sniffer@npm:4.0.0"
@@ -5608,23 +5406,13 @@ __metadata:
linkType: hard
"http-cache-semantics@npm:^4.1.1":
- version: 4.1.1
- resolution: "http-cache-semantics@npm:4.1.1"
- checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc
- languageName: node
- linkType: hard
-
-"http-proxy-agent@npm:^7.0.0":
- version: 7.0.0
- resolution: "http-proxy-agent@npm:7.0.0"
- dependencies:
- agent-base: "npm:^7.1.0"
- debug: "npm:^4.3.4"
- checksum: 10c0/a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8
+ version: 4.2.0
+ resolution: "http-cache-semantics@npm:4.2.0"
+ checksum: 10c0/45b66a945cf13ec2d1f29432277201313babf4a01d9e52f44b31ca923434083afeca03f18417f599c9ab3d0e7b618ceb21257542338b57c54b710463b4a53e37
languageName: node
linkType: hard
-"http-proxy-agent@npm:^7.0.2":
+"http-proxy-agent@npm:^7.0.0, http-proxy-agent@npm:^7.0.2":
version: 7.0.2
resolution: "http-proxy-agent@npm:7.0.2"
dependencies:
@@ -5634,27 +5422,7 @@ __metadata:
languageName: node
linkType: hard
-"https-proxy-agent@npm:^7.0.1":
- version: 7.0.4
- resolution: "https-proxy-agent@npm:7.0.4"
- dependencies:
- agent-base: "npm:^7.0.2"
- debug: "npm:4"
- checksum: 10c0/bc4f7c38da32a5fc622450b6cb49a24ff596f9bd48dcedb52d2da3fa1c1a80e100fb506bd59b326c012f21c863c69b275c23de1a01d0b84db396822fdf25e52b
- languageName: node
- linkType: hard
-
-"https-proxy-agent@npm:^7.0.5":
- version: 7.0.5
- resolution: "https-proxy-agent@npm:7.0.5"
- dependencies:
- agent-base: "npm:^7.0.2"
- debug: "npm:4"
- checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c
- languageName: node
- linkType: hard
-
-"https-proxy-agent@npm:^7.0.6":
+"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.5, https-proxy-agent@npm:^7.0.6":
version: 7.0.6
resolution: "https-proxy-agent@npm:7.0.6"
dependencies:
@@ -5673,7 +5441,7 @@ __metadata:
languageName: node
linkType: hard
-"ieee754@npm:^1.1.13":
+"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1":
version: 1.2.1
resolution: "ieee754@npm:1.2.1"
checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb
@@ -5681,16 +5449,16 @@ __metadata:
linkType: hard
"ignore@npm:^5.2.0":
- version: 5.3.0
- resolution: "ignore@npm:5.3.0"
- checksum: 10c0/dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571
+ version: 5.3.2
+ resolution: "ignore@npm:5.3.2"
+ checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337
languageName: node
linkType: hard
-"ignore@npm:^6.0.2":
- version: 6.0.2
- resolution: "ignore@npm:6.0.2"
- checksum: 10c0/9a38feac1861906a78ba0f03e8ef3cd6b0526dce2a1a84e1009324b557763afeb9c3ebcc04666b21f7bbf71adda45e76781bb9e2eaa0903d45dcaded634454f5
+"ignore@npm:^7.0.3":
+ version: 7.0.4
+ resolution: "ignore@npm:7.0.4"
+ checksum: 10c0/90e1f69ce352b9555caecd9cbfd07abe7626d312a6f90efbbb52c7edca6ea8df065d66303863b30154ab1502afb2da8bc59d5b04e1719a52ef75bbf675c488eb
languageName: node
linkType: hard
@@ -5701,25 +5469,25 @@ __metadata:
languageName: node
linkType: hard
-"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0":
- version: 3.3.0
- resolution: "import-fresh@npm:3.3.0"
+"import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0, import-fresh@npm:^3.3.1":
+ version: 3.3.1
+ resolution: "import-fresh@npm:3.3.1"
dependencies:
parent-module: "npm:^1.0.0"
resolve-from: "npm:^4.0.0"
- checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3
+ checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec
languageName: node
linkType: hard
"import-local@npm:^3.0.2":
- version: 3.1.0
- resolution: "import-local@npm:3.1.0"
+ version: 3.2.0
+ resolution: "import-local@npm:3.2.0"
dependencies:
pkg-dir: "npm:^4.2.0"
resolve-cwd: "npm:^3.0.0"
bin:
import-local-fixture: fixtures/cli.js
- checksum: 10c0/c67ecea72f775fe8684ca3d057e54bdb2ae28c14bf261d2607c269c18ea0da7b730924c06262eca9aed4b8ab31e31d65bc60b50e7296c85908a56e2f7d41ecd2
+ checksum: 10c0/94cd6367a672b7e0cb026970c85b76902d2710a64896fa6de93bd5c571dd03b228c5759308959de205083e3b1c61e799f019c9e36ee8e9c523b993e1057f0433
languageName: node
linkType: hard
@@ -5737,13 +5505,6 @@ __metadata:
languageName: node
linkType: hard
-"indent-string@npm:^4.0.0":
- version: 4.0.0
- resolution: "indent-string@npm:4.0.0"
- checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f
- languageName: node
- linkType: hard
-
"inflight@npm:^1.0.4":
version: 1.0.6
resolution: "inflight@npm:1.0.6"
@@ -5775,25 +5536,14 @@ __metadata:
languageName: node
linkType: hard
-"internal-slot@npm:^1.0.4, internal-slot@npm:^1.0.7":
- version: 1.0.7
- resolution: "internal-slot@npm:1.0.7"
+"internal-slot@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "internal-slot@npm:1.1.0"
dependencies:
es-errors: "npm:^1.3.0"
- hasown: "npm:^2.0.0"
- side-channel: "npm:^1.0.4"
- checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c
- languageName: node
- linkType: hard
-
-"internal-slot@npm:^1.0.5":
- version: 1.0.6
- resolution: "internal-slot@npm:1.0.6"
- dependencies:
- get-intrinsic: "npm:^1.2.2"
- hasown: "npm:^2.0.0"
- side-channel: "npm:^1.0.4"
- checksum: 10c0/aa37cafc8ffbf513a340de58f40d5017b4949d99722d7e4f0e24b182455bdd258000d4bb1d7b4adcf9f8979b97049b99fe9defa9db8e18a78071d2637ac143fb
+ hasown: "npm:^2.0.2"
+ side-channel: "npm:^1.1.0"
+ checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7
languageName: node
linkType: hard
@@ -5815,33 +5565,23 @@ __metadata:
linkType: hard
"is-arguments@npm:^1.1.1":
- version: 1.1.1
- resolution: "is-arguments@npm:1.1.1"
- dependencies:
- call-bind: "npm:^1.0.2"
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/5ff1f341ee4475350adfc14b2328b38962564b7c2076be2f5bac7bd9b61779efba99b9f844a7b82ba7654adccf8e8eb19d1bb0cc6d1c1a085e498f6793d4328f
- languageName: node
- linkType: hard
-
-"is-array-buffer@npm:^3.0.1, is-array-buffer@npm:^3.0.2":
- version: 3.0.2
- resolution: "is-array-buffer@npm:3.0.2"
+ version: 1.2.0
+ resolution: "is-arguments@npm:1.2.0"
dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.2.0"
- is-typed-array: "npm:^1.1.10"
- checksum: 10c0/40ed13a5f5746ac3ae2f2e463687d9b5a3f5fd0086f970fb4898f0253c2a5ec2e3caea2d664dd8f54761b1c1948609702416921a22faebe160c7640a9217c80e
+ call-bound: "npm:^1.0.2"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/6377344b31e9fcb707c6751ee89b11f132f32338e6a782ec2eac9393b0cbd32235dad93052998cda778ee058754860738341d8114910d50ada5615912bb929fc
languageName: node
linkType: hard
-"is-array-buffer@npm:^3.0.4":
- version: 3.0.4
- resolution: "is-array-buffer@npm:3.0.4"
+"is-array-buffer@npm:^3.0.2, is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5":
+ version: 3.0.5
+ resolution: "is-array-buffer@npm:3.0.5"
dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.2.1"
- checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d
languageName: node
linkType: hard
@@ -5853,20 +5593,24 @@ __metadata:
linkType: hard
"is-async-function@npm:^2.0.0":
- version: 2.0.0
- resolution: "is-async-function@npm:2.0.0"
+ version: 2.1.1
+ resolution: "is-async-function@npm:2.1.1"
dependencies:
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668
+ async-function: "npm:^1.0.0"
+ call-bound: "npm:^1.0.3"
+ get-proto: "npm:^1.0.1"
+ has-tostringtag: "npm:^1.0.2"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298
languageName: node
linkType: hard
-"is-bigint@npm:^1.0.1":
- version: 1.0.4
- resolution: "is-bigint@npm:1.0.4"
+"is-bigint@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "is-bigint@npm:1.1.0"
dependencies:
- has-bigints: "npm:^1.0.1"
- checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696
+ has-bigints: "npm:^1.0.2"
+ checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4
languageName: node
linkType: hard
@@ -5879,56 +5623,50 @@ __metadata:
languageName: node
linkType: hard
-"is-boolean-object@npm:^1.1.0":
- version: 1.1.2
- resolution: "is-boolean-object@npm:1.1.2"
+"is-boolean-object@npm:^1.2.1":
+ version: 1.2.2
+ resolution: "is-boolean-object@npm:1.2.2"
dependencies:
- call-bind: "npm:^1.0.2"
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e
languageName: node
linkType: hard
-"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7":
+"is-callable@npm:^1.2.7":
version: 1.2.7
resolution: "is-callable@npm:1.2.7"
checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f
languageName: node
linkType: hard
-"is-core-module@npm:^2.13.0":
- version: 2.13.1
- resolution: "is-core-module@npm:2.13.1"
- dependencies:
- hasown: "npm:^2.0.0"
- checksum: 10c0/2cba9903aaa52718f11c4896dabc189bab980870aae86a62dc0d5cedb546896770ee946fb14c84b7adf0735f5eaea4277243f1b95f5cefa90054f92fbcac2518
- languageName: node
- linkType: hard
-
-"is-core-module@npm:^2.15.1":
- version: 2.15.1
- resolution: "is-core-module@npm:2.15.1"
+"is-core-module@npm:^2.13.0, is-core-module@npm:^2.15.1, is-core-module@npm:^2.16.0":
+ version: 2.16.1
+ resolution: "is-core-module@npm:2.16.1"
dependencies:
hasown: "npm:^2.0.2"
- checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612
+ checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd
languageName: node
linkType: hard
-"is-data-view@npm:^1.0.1":
- version: 1.0.1
- resolution: "is-data-view@npm:1.0.1"
+"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "is-data-view@npm:1.0.2"
dependencies:
+ call-bound: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.2.6"
is-typed-array: "npm:^1.1.13"
- checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d
+ checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153
languageName: node
linkType: hard
-"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5":
- version: 1.0.5
- resolution: "is-date-object@npm:1.0.5"
+"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "is-date-object@npm:1.1.0"
dependencies:
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e
+ call-bound: "npm:^1.0.2"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f
languageName: node
linkType: hard
@@ -5949,11 +5687,11 @@ __metadata:
linkType: hard
"is-finalizationregistry@npm:^1.1.0":
- version: 1.1.0
- resolution: "is-finalizationregistry@npm:1.1.0"
+ version: 1.1.1
+ resolution: "is-finalizationregistry@npm:1.1.1"
dependencies:
- call-bind: "npm:^1.0.7"
- checksum: 10c0/1cd94236bfb6e060fe2b973c8726a2782727f7d495b3e8e1d51d3e619c5a3345413706f555956eb5b12af15eba0414118f64a1b19d793ec36b5e6767a13836ac
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97
languageName: node
linkType: hard
@@ -5965,11 +5703,14 @@ __metadata:
linkType: hard
"is-generator-function@npm:^1.0.10":
- version: 1.0.10
- resolution: "is-generator-function@npm:1.0.10"
+ version: 1.1.0
+ resolution: "is-generator-function@npm:1.1.0"
dependencies:
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b
+ call-bound: "npm:^1.0.3"
+ get-proto: "npm:^1.0.0"
+ has-tostringtag: "npm:^1.0.2"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a
languageName: node
linkType: hard
@@ -5989,13 +5730,6 @@ __metadata:
languageName: node
linkType: hard
-"is-lambda@npm:^1.0.1":
- version: 1.0.1
- resolution: "is-lambda@npm:1.0.1"
- checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d
- languageName: node
- linkType: hard
-
"is-map@npm:^2.0.2, is-map@npm:^2.0.3":
version: 2.0.3
resolution: "is-map@npm:2.0.3"
@@ -6003,26 +5737,13 @@ __metadata:
languageName: node
linkType: hard
-"is-negative-zero@npm:^2.0.2":
- version: 2.0.2
- resolution: "is-negative-zero@npm:2.0.2"
- checksum: 10c0/eda024c158f70f2017f3415e471b818d314da5ef5be68f801b16314d4a4b6304a74cbed778acf9e2f955bb9c1c5f2935c1be0c7c99e1ad12286f45366217b6a3
- languageName: node
- linkType: hard
-
-"is-negative-zero@npm:^2.0.3":
- version: 2.0.3
- resolution: "is-negative-zero@npm:2.0.3"
- checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e
- languageName: node
- linkType: hard
-
-"is-number-object@npm:^1.0.4":
- version: 1.0.7
- resolution: "is-number-object@npm:1.0.7"
+"is-number-object@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-number-object@npm:1.1.1"
dependencies:
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53
languageName: node
linkType: hard
@@ -6070,13 +5791,15 @@ __metadata:
languageName: node
linkType: hard
-"is-regex@npm:^1.1.4":
- version: 1.1.4
- resolution: "is-regex@npm:1.1.4"
+"is-regex@npm:^1.1.4, is-regex@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "is-regex@npm:1.2.1"
dependencies:
- call-bind: "npm:^1.0.2"
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1
+ call-bound: "npm:^1.0.2"
+ gopd: "npm:^1.2.0"
+ has-tostringtag: "npm:^1.0.2"
+ hasown: "npm:^2.0.2"
+ checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04
languageName: node
linkType: hard
@@ -6087,57 +5810,42 @@ __metadata:
languageName: node
linkType: hard
-"is-shared-array-buffer@npm:^1.0.2":
- version: 1.0.2
- resolution: "is-shared-array-buffer@npm:1.0.2"
- dependencies:
- call-bind: "npm:^1.0.2"
- checksum: 10c0/cfeee6f171f1b13e6cbc6f3b6cc44e192b93df39f3fcb31aa66ffb1d2df3b91e05664311659f9701baba62f5e98c83b0673c628e7adc30f55071c4874fcdccec
- languageName: node
- linkType: hard
-
-"is-shared-array-buffer@npm:^1.0.3":
- version: 1.0.3
- resolution: "is-shared-array-buffer@npm:1.0.3"
- dependencies:
- call-bind: "npm:^1.0.7"
- checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7
- languageName: node
- linkType: hard
-
-"is-string@npm:^1.0.5, is-string@npm:^1.0.7":
- version: 1.0.7
- resolution: "is-string@npm:1.0.7"
+"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "is-shared-array-buffer@npm:1.0.4"
dependencies:
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db
languageName: node
linkType: hard
-"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3":
- version: 1.0.4
- resolution: "is-symbol@npm:1.0.4"
+"is-string@npm:^1.0.7, is-string@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-string@npm:1.1.1"
dependencies:
- has-symbols: "npm:^1.0.2"
- checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7
+ call-bound: "npm:^1.0.3"
+ has-tostringtag: "npm:^1.0.2"
+ checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d
languageName: node
linkType: hard
-"is-typed-array@npm:^1.1.10, is-typed-array@npm:^1.1.12, is-typed-array@npm:^1.1.9":
- version: 1.1.12
- resolution: "is-typed-array@npm:1.1.12"
+"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "is-symbol@npm:1.1.1"
dependencies:
- which-typed-array: "npm:^1.1.11"
- checksum: 10c0/9863e9cc7223c6fc1c462a2c3898a7beff6b41b1ee0fabb03b7d278ae7de670b5bcbc8627db56bb66ed60902fa37d53fe5cce0fd2f7d73ac64fe5da6f409b6ae
+ call-bound: "npm:^1.0.2"
+ has-symbols: "npm:^1.1.0"
+ safe-regex-test: "npm:^1.1.0"
+ checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e
languageName: node
linkType: hard
-"is-typed-array@npm:^1.1.13":
- version: 1.1.13
- resolution: "is-typed-array@npm:1.1.13"
+"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15":
+ version: 1.1.15
+ resolution: "is-typed-array@npm:1.1.15"
dependencies:
- which-typed-array: "npm:^1.1.14"
- checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca
+ which-typed-array: "npm:^1.1.16"
+ checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4
languageName: node
linkType: hard
@@ -6155,22 +5863,22 @@ __metadata:
languageName: node
linkType: hard
-"is-weakref@npm:^1.0.2":
- version: 1.0.2
- resolution: "is-weakref@npm:1.0.2"
+"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0":
+ version: 1.1.1
+ resolution: "is-weakref@npm:1.1.1"
dependencies:
- call-bind: "npm:^1.0.2"
- checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1
+ call-bound: "npm:^1.0.3"
+ checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b
languageName: node
linkType: hard
"is-weakset@npm:^2.0.3":
- version: 2.0.3
- resolution: "is-weakset@npm:2.0.3"
+ version: 2.0.4
+ resolution: "is-weakset@npm:2.0.4"
dependencies:
- call-bind: "npm:^1.0.7"
- get-intrinsic: "npm:^1.2.4"
- checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a
+ call-bound: "npm:^1.0.3"
+ get-intrinsic: "npm:^1.2.6"
+ checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647
languageName: node
linkType: hard
@@ -6218,35 +5926,31 @@ __metadata:
languageName: node
linkType: hard
-"jackspeak@npm:^2.3.5":
- version: 2.3.6
- resolution: "jackspeak@npm:2.3.6"
+"jackspeak@npm:^3.1.2":
+ version: 3.4.3
+ resolution: "jackspeak@npm:3.4.3"
dependencies:
"@isaacs/cliui": "npm:^8.0.2"
"@pkgjs/parseargs": "npm:^0.11.0"
dependenciesMeta:
"@pkgjs/parseargs":
optional: true
- checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111
+ checksum: 10c0/6acc10d139eaefdbe04d2f679e6191b3abf073f111edf10b1de5302c97ec93fffeb2fdd8681ed17f16268aa9dd4f8c588ed9d1d3bffbbfa6e8bf897cbb3149b9
languageName: node
linkType: hard
"jackspeak@npm:^4.0.1":
- version: 4.0.1
- resolution: "jackspeak@npm:4.0.1"
+ version: 4.1.0
+ resolution: "jackspeak@npm:4.1.0"
dependencies:
"@isaacs/cliui": "npm:^8.0.2"
- "@pkgjs/parseargs": "npm:^0.11.0"
- dependenciesMeta:
- "@pkgjs/parseargs":
- optional: true
- checksum: 10c0/c87997d9c9c5b7366259b1f2a444ef148692f8eedad5307caca939babbb60af2b47d306e5c63bf9d5fefbab2ab48d4da275188c3de525d0e716cc21b784bbccb
+ checksum: 10c0/08a6a24a366c90b83aef3ad6ec41dcaaa65428ffab8d80bc7172add0fbb8b134a34f415ad288b2a6fbd406526e9a62abdb40ed4f399fbe00cb45c44056d4dce0
languageName: node
linkType: hard
"jake@npm:^10.8.5":
- version: 10.8.7
- resolution: "jake@npm:10.8.7"
+ version: 10.9.2
+ resolution: "jake@npm:10.9.2"
dependencies:
async: "npm:^3.2.3"
chalk: "npm:^4.0.2"
@@ -6254,7 +5958,7 @@ __metadata:
minimatch: "npm:^3.1.2"
bin:
jake: bin/cli.js
- checksum: 10c0/89326d01a8bc110d02d973729a66394c79a34b34461116f5c530a2a2dbc30265683fe6737928f75df9178e9d369ff1442f5753fb983d525e740eefdadc56a103
+ checksum: 10c0/c4597b5ed9b6a908252feab296485a4f87cba9e26d6c20e0ca144fb69e0c40203d34a2efddb33b3d297b8bd59605e6c1f44f6221ca1e10e69175ecbf3ff5fe31
languageName: node
linkType: hard
@@ -6325,8 +6029,8 @@ __metadata:
linkType: hard
"jsdom@npm:^24.1.0":
- version: 24.1.1
- resolution: "jsdom@npm:24.1.1"
+ version: 24.1.3
+ resolution: "jsdom@npm:24.1.3"
dependencies:
cssstyle: "npm:^4.0.1"
data-urls: "npm:^5.0.0"
@@ -6354,7 +6058,7 @@ __metadata:
peerDependenciesMeta:
canvas:
optional: true
- checksum: 10c0/02d6bfe32f09f26329c0e53ad9f9883a3c671fc1f75725167d2089ca412f5b7ca85ff8aa62327d1cc6fc70ffbb3b18dfc7642c4b2096c2c8b19aaf9a48473eb3
+ checksum: 10c0/e48b342afacd7418a23dac204a62deea729c50f4d072a7c04c09fd32355fdb4335f8779fa79fd0277a2dbeb2d356250a950955719d00047324b251233b11277f
languageName: node
linkType: hard
@@ -6458,6 +6162,15 @@ __metadata:
languageName: node
linkType: hard
+"keyv@npm:^5.3.3":
+ version: 5.3.3
+ resolution: "keyv@npm:5.3.3"
+ dependencies:
+ "@keyv/serialize": "npm:^1.0.3"
+ checksum: 10c0/6b9064d061784e80a5dc500453b03cacb099f06fddd0346063519371d563a66771237e04467f3387b60d8a33a3c99864288991274921fb1338c6adf638574924
+ languageName: node
+ linkType: hard
+
"kind-of@npm:^6.0.2":
version: 6.0.3
resolution: "kind-of@npm:6.0.3"
@@ -6465,10 +6178,10 @@ __metadata:
languageName: node
linkType: hard
-"known-css-properties@npm:^0.35.0":
- version: 0.35.0
- resolution: "known-css-properties@npm:0.35.0"
- checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6
+"known-css-properties@npm:^0.36.0":
+ version: 0.36.0
+ resolution: "known-css-properties@npm:0.36.0"
+ checksum: 10c0/098c8f956408a7ce26a639c2354e0184fb2bb2772bb7d1ba23192b6b6cf5818cbb8a0acfb4049705ea103d9916065703bc540fa084a6349fdb41bf745aada4bc
languageName: node
linkType: hard
@@ -6621,14 +6334,7 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^10.0.1":
- version: 10.2.0
- resolution: "lru-cache@npm:10.2.0"
- checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee
- languageName: node
- linkType: hard
-
-"lru-cache@npm:^10.4.3":
+"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0, lru-cache@npm:^10.4.3":
version: 10.4.3
resolution: "lru-cache@npm:10.4.3"
checksum: 10c0/ebd04fbca961e6c1d6c0af3799adcc966a1babe798f685bb84e6599266599cd95d94630b10262f5424539bc4640107e8a33aa28585374abf561d30d16f4b39fb
@@ -6636,9 +6342,9 @@ __metadata:
linkType: hard
"lru-cache@npm:^11.0.0":
- version: 11.0.0
- resolution: "lru-cache@npm:11.0.0"
- checksum: 10c0/827ff0e0739f9b0f30f92f5a5fc97c6a2bd3ae32c0452bc58cb7411d6c589d49536073027293f2d1f02d0c2e72b63b162f238df7e9ff6f4cc0345f92afec4d1d
+ version: 11.1.0
+ resolution: "lru-cache@npm:11.1.0"
+ checksum: 10c0/85c312f7113f65fae6a62de7985348649937eb34fb3d212811acbf6704dc322a421788aca253b62838f1f07049a84cc513d88f494e373d3756514ad263670a64
languageName: node
linkType: hard
@@ -6651,13 +6357,6 @@ __metadata:
languageName: node
linkType: hard
-"lru-cache@npm:^9.1.1 || ^10.0.0":
- version: 10.1.0
- resolution: "lru-cache@npm:10.1.0"
- checksum: 10c0/778bc8b2626daccd75f24c4b4d10632496e21ba064b126f526c626fbdbc5b28c472013fccd45d7646b9e1ef052444824854aed617b59cd570d01a8b7d651fc1e
- languageName: node
- linkType: hard
-
"make-dir@npm:~3.1.0":
version: 3.1.0
resolution: "make-dir@npm:3.1.0"
@@ -6667,22 +6366,22 @@ __metadata:
languageName: node
linkType: hard
-"make-fetch-happen@npm:^13.0.0":
- version: 13.0.0
- resolution: "make-fetch-happen@npm:13.0.0"
+"make-fetch-happen@npm:^14.0.3":
+ version: 14.0.3
+ resolution: "make-fetch-happen@npm:14.0.3"
dependencies:
- "@npmcli/agent": "npm:^2.0.0"
- cacache: "npm:^18.0.0"
+ "@npmcli/agent": "npm:^3.0.0"
+ cacache: "npm:^19.0.1"
http-cache-semantics: "npm:^4.1.1"
- is-lambda: "npm:^1.0.1"
minipass: "npm:^7.0.2"
- minipass-fetch: "npm:^3.0.0"
+ minipass-fetch: "npm:^4.0.0"
minipass-flush: "npm:^1.0.5"
minipass-pipeline: "npm:^1.2.4"
- negotiator: "npm:^0.6.3"
+ negotiator: "npm:^1.0.0"
+ proc-log: "npm:^5.0.0"
promise-retry: "npm:^2.0.1"
- ssri: "npm:^10.0.0"
- checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55
+ ssri: "npm:^12.0.0"
+ checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0
languageName: node
linkType: hard
@@ -6695,6 +6394,13 @@ __metadata:
languageName: node
linkType: hard
+"math-intrinsics@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "math-intrinsics@npm:1.1.0"
+ checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f
+ languageName: node
+ linkType: hard
+
"mathml-tag-names@npm:^2.1.3":
version: 2.1.3
resolution: "mathml-tag-names@npm:2.1.3"
@@ -6730,16 +6436,6 @@ __metadata:
languageName: node
linkType: hard
-"micromatch@npm:^4.0.4":
- version: 4.0.5
- resolution: "micromatch@npm:4.0.5"
- dependencies:
- braces: "npm:^3.0.2"
- picomatch: "npm:^2.3.1"
- checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff
- languageName: node
- linkType: hard
-
"micromatch@npm:^4.0.8":
version: 4.0.8
resolution: "micromatch@npm:4.0.8"
@@ -6818,12 +6514,12 @@ __metadata:
languageName: node
linkType: hard
-"minimatch@npm:^9.0.1":
- version: 9.0.3
- resolution: "minimatch@npm:9.0.3"
+"minimatch@npm:^9.0.4":
+ version: 9.0.5
+ resolution: "minimatch@npm:9.0.5"
dependencies:
brace-expansion: "npm:^2.0.1"
- checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac
+ checksum: 10c0/de96cf5e35bdf0eab3e2c853522f98ffbe9a36c37797778d2665231ec1f20a9447a7e567cb640901f89e4daaa95ae5d70c65a9e8aa2bb0019b6facbc3c0575ed
languageName: node
linkType: hard
@@ -6859,18 +6555,18 @@ __metadata:
languageName: node
linkType: hard
-"minipass-fetch@npm:^3.0.0":
- version: 3.0.4
- resolution: "minipass-fetch@npm:3.0.4"
+"minipass-fetch@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "minipass-fetch@npm:4.0.1"
dependencies:
encoding: "npm:^0.1.13"
minipass: "npm:^7.0.3"
minipass-sized: "npm:^1.0.3"
- minizlib: "npm:^2.1.2"
+ minizlib: "npm:^3.0.1"
dependenciesMeta:
encoding:
optional: true
- checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75
+ checksum: 10c0/a3147b2efe8e078c9bf9d024a0059339c5a09c5b1dded6900a219c218cc8b1b78510b62dae556b507304af226b18c3f1aeb1d48660283602d5b6586c399eed5c
languageName: node
linkType: hard
@@ -6910,43 +6606,19 @@ __metadata:
languageName: node
linkType: hard
-"minipass@npm:^5.0.0":
- version: 5.0.0
- resolution: "minipass@npm:5.0.0"
- checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462
- languageName: node
- linkType: hard
-
-"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3":
- version: 7.0.4
- resolution: "minipass@npm:7.0.4"
- checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5
- languageName: node
- linkType: hard
-
-"minipass@npm:^7.1.2":
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2":
version: 7.1.2
resolution: "minipass@npm:7.1.2"
checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557
languageName: node
linkType: hard
-"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2":
- version: 2.1.2
- resolution: "minizlib@npm:2.1.2"
+"minizlib@npm:^3.0.1":
+ version: 3.0.2
+ resolution: "minizlib@npm:3.0.2"
dependencies:
- minipass: "npm:^3.0.0"
- yallist: "npm:^4.0.0"
- checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78
- languageName: node
- linkType: hard
-
-"mkdirp@npm:^1.0.3":
- version: 1.0.4
- resolution: "mkdirp@npm:1.0.4"
- bin:
- mkdirp: bin/cmd.js
- checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf
+ minipass: "npm:^7.1.2"
+ checksum: 10c0/9f3bd35e41d40d02469cb30470c55ccc21cae0db40e08d1d0b1dff01cc8cc89a6f78e9c5d2b7c844e485ec0a8abc2238111213fdc5b2038e6d1012eacf316f78
languageName: node
linkType: hard
@@ -7004,12 +6676,12 @@ __metadata:
languageName: node
linkType: hard
-"nanoid@npm:^3.3.7":
- version: 3.3.7
- resolution: "nanoid@npm:3.3.7"
+"nanoid@npm:^3.3.8":
+ version: 3.3.11
+ resolution: "nanoid@npm:3.3.11"
bin:
nanoid: bin/nanoid.cjs
- checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3
+ checksum: 10c0/40e7f70b3d15f725ca072dfc4f74e81fcf1fbb02e491cf58ac0c79093adc9b0a73b152bcde57df4b79cd097e13023d7504acb38404a4da7bc1cd8e887b82fe0b
languageName: node
linkType: hard
@@ -7020,10 +6692,10 @@ __metadata:
languageName: node
linkType: hard
-"negotiator@npm:^0.6.3":
- version: 0.6.3
- resolution: "negotiator@npm:0.6.3"
- checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2
+"negotiator@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "negotiator@npm:1.0.0"
+ checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b
languageName: node
linkType: hard
@@ -7034,17 +6706,6 @@ __metadata:
languageName: node
linkType: hard
-"nice-napi@npm:^1.0.2":
- version: 1.0.2
- resolution: "nice-napi@npm:1.0.2"
- dependencies:
- node-addon-api: "npm:^3.0.0"
- node-gyp: "npm:latest"
- node-gyp-build: "npm:^4.2.2"
- conditions: "!os=win32"
- languageName: node
- linkType: hard
-
"nightwatch-axe-verbose@npm:^2.3.0":
version: 2.3.1
resolution: "nightwatch-axe-verbose@npm:2.3.1"
@@ -7107,68 +6768,41 @@ __metadata:
languageName: node
linkType: hard
-"node-addon-api@npm:^3.0.0":
- version: 3.2.1
- resolution: "node-addon-api@npm:3.2.1"
- dependencies:
- node-gyp: "npm:latest"
- checksum: 10c0/41f21c9d12318875a2c429befd06070ce367065a3ef02952cfd4ea17ef69fa14012732f510b82b226e99c254da8d671847ea018cad785f839a5366e02dd56302
- languageName: node
- linkType: hard
-
-"node-gyp-build@npm:^4.2.2":
- version: 4.8.1
- resolution: "node-gyp-build@npm:4.8.1"
- bin:
- node-gyp-build: bin.js
- node-gyp-build-optional: optional.js
- node-gyp-build-test: build-test.js
- checksum: 10c0/e36ca3d2adf2b9cca316695d7687207c19ac6ed326d6d7c68d7112cebe0de4f82d6733dff139132539fcc01cf5761f6c9082a21864ab9172edf84282bc849ce7
- languageName: node
- linkType: hard
-
"node-gyp@npm:latest":
- version: 10.0.1
- resolution: "node-gyp@npm:10.0.1"
+ version: 11.2.0
+ resolution: "node-gyp@npm:11.2.0"
dependencies:
env-paths: "npm:^2.2.0"
exponential-backoff: "npm:^3.1.1"
- glob: "npm:^10.3.10"
graceful-fs: "npm:^4.2.6"
- make-fetch-happen: "npm:^13.0.0"
- nopt: "npm:^7.0.0"
- proc-log: "npm:^3.0.0"
+ make-fetch-happen: "npm:^14.0.3"
+ nopt: "npm:^8.0.0"
+ proc-log: "npm:^5.0.0"
semver: "npm:^7.3.5"
- tar: "npm:^6.1.2"
- which: "npm:^4.0.0"
+ tar: "npm:^7.4.3"
+ tinyglobby: "npm:^0.2.12"
+ which: "npm:^5.0.0"
bin:
node-gyp: bin/node-gyp.js
- checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa
- languageName: node
- linkType: hard
-
-"node-releases@npm:^2.0.14":
- version: 2.0.14
- resolution: "node-releases@npm:2.0.14"
- checksum: 10c0/199fc93773ae70ec9969bc6d5ac5b2bbd6eb986ed1907d751f411fef3ede0e4bfdb45ceb43711f8078bea237b6036db8b1bf208f6ff2b70c7d615afd157f3ab9
+ checksum: 10c0/bd8d8c76b06be761239b0c8680f655f6a6e90b48e44d43415b11c16f7e8c15be346fba0cbf71588c7cdfb52c419d928a7d3db353afc1d952d19756237d8f10b9
languageName: node
linkType: hard
-"node-releases@npm:^2.0.18":
- version: 2.0.18
- resolution: "node-releases@npm:2.0.18"
- checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27
+"node-releases@npm:^2.0.19":
+ version: 2.0.19
+ resolution: "node-releases@npm:2.0.19"
+ checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa
languageName: node
linkType: hard
-"nopt@npm:^7.0.0":
- version: 7.2.0
- resolution: "nopt@npm:7.2.0"
+"nopt@npm:^8.0.0":
+ version: 8.1.0
+ resolution: "nopt@npm:8.1.0"
dependencies:
- abbrev: "npm:^2.0.0"
+ abbrev: "npm:^3.0.0"
bin:
nopt: bin/nopt.js
- checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff
+ checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef
languageName: node
linkType: hard
@@ -7193,31 +6827,17 @@ __metadata:
languageName: node
linkType: hard
-"nwsapi@npm:^2.2.12":
- version: 2.2.12
- resolution: "nwsapi@npm:2.2.12"
- checksum: 10c0/95e9623d63df111405503df8c5d800e26f71675d319e2c9c70cddfa31e5ace1d3f8b6d98d354544fc156a1506d920ec291e303fab761e4f99296868e199a466e
- languageName: node
- linkType: hard
-
-"nwsapi@npm:^2.2.16":
+"nwsapi@npm:^2.2.12, nwsapi@npm:^2.2.16":
version: 2.2.20
resolution: "nwsapi@npm:2.2.20"
checksum: 10c0/07f4dafa3186aef7c007863e90acd4342a34ba9d44b22f14f644fdb311f6086887e21c2fc15efaa826c2bc39ab2bc841364a1a630e7c87e0cb723ba59d729297
languageName: node
linkType: hard
-"object-inspect@npm:^1.13.1, object-inspect@npm:^1.9.0":
- version: 1.13.1
- resolution: "object-inspect@npm:1.13.1"
- checksum: 10c0/fad603f408e345c82e946abdf4bfd774260a5ed3e5997a0b057c44153ac32c7271ff19e3a5ae39c858da683ba045ccac2f65245c12763ce4e8594f818f4a648d
- languageName: node
- linkType: hard
-
"object-inspect@npm:^1.13.3":
- version: 1.13.3
- resolution: "object-inspect@npm:1.13.3"
- checksum: 10c0/cc3f15213406be89ffdc54b525e115156086796a515410a8d390215915db9f23c8eab485a06f1297402f440a33715fe8f71a528c1dcbad6e1a3bcaf5a46921d4
+ version: 1.13.4
+ resolution: "object-inspect@npm:1.13.4"
+ checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692
languageName: node
linkType: hard
@@ -7238,26 +6858,29 @@ __metadata:
languageName: node
linkType: hard
-"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4, object.assign@npm:^4.1.5":
- version: 4.1.5
- resolution: "object.assign@npm:4.1.5"
+"object.assign@npm:^4.1.2, object.assign@npm:^4.1.4, object.assign@npm:^4.1.7":
+ version: 4.1.7
+ resolution: "object.assign@npm:4.1.7"
dependencies:
- call-bind: "npm:^1.0.5"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
define-properties: "npm:^1.2.1"
- has-symbols: "npm:^1.0.3"
+ es-object-atoms: "npm:^1.0.0"
+ has-symbols: "npm:^1.1.0"
object-keys: "npm:^1.1.1"
- checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469
+ checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc
languageName: node
linkType: hard
"object.entries@npm:^1.1.5":
- version: 1.1.7
- resolution: "object.entries@npm:1.1.7"
+ version: 1.1.9
+ resolution: "object.entries@npm:1.1.9"
dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- checksum: 10c0/3ad1899cc7bf14546bf28f4a9b363ae8690b90948fcfbcac4c808395435d760f26193d9cae95337ce0e3c1e5c1f4fa45f7b46b31b68d389e9e117fce38775d86
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ define-properties: "npm:^1.2.1"
+ es-object-atoms: "npm:^1.1.1"
+ checksum: 10c0/d4b8c1e586650407da03370845f029aa14076caca4e4d4afadbc69cfb5b78035fd3ee7be417141abdb0258fa142e59b11923b4c44d8b1255b28f5ffcc50da7db
languageName: node
linkType: hard
@@ -7285,13 +6908,14 @@ __metadata:
linkType: hard
"object.values@npm:^1.2.0":
- version: 1.2.0
- resolution: "object.values@npm:1.2.0"
+ version: 1.2.1
+ resolution: "object.values@npm:1.2.1"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.3"
define-properties: "npm:^1.2.1"
es-object-atoms: "npm:^1.0.0"
- checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3
+ checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9
languageName: node
linkType: hard
@@ -7325,16 +6949,16 @@ __metadata:
linkType: hard
"optionator@npm:^0.9.3":
- version: 0.9.3
- resolution: "optionator@npm:0.9.3"
+ version: 0.9.4
+ resolution: "optionator@npm:0.9.4"
dependencies:
- "@aashutoshrathi/word-wrap": "npm:^1.2.3"
deep-is: "npm:^0.1.3"
fast-levenshtein: "npm:^2.0.6"
levn: "npm:^0.4.1"
prelude-ls: "npm:^1.2.1"
type-check: "npm:^0.4.0"
- checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c
+ word-wrap: "npm:^1.2.5"
+ checksum: 10c0/4afb687a059ee65b61df74dfe87d8d6815cd6883cb8b3d5883a910df72d0f5d029821f37025e4bccf4048873dbdb09acc6d303d27b8f76b1a80dd5a7d5334675
languageName: node
linkType: hard
@@ -7355,6 +6979,17 @@ __metadata:
languageName: node
linkType: hard
+"own-keys@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "own-keys@npm:1.0.1"
+ dependencies:
+ get-intrinsic: "npm:^1.2.6"
+ object-keys: "npm:^1.1.1"
+ safe-push-apply: "npm:^1.0.0"
+ checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a
+ languageName: node
+ linkType: hard
+
"p-limit@npm:^2.2.0":
version: 2.3.0
resolution: "p-limit@npm:2.3.0"
@@ -7391,12 +7026,10 @@ __metadata:
languageName: node
linkType: hard
-"p-map@npm:^4.0.0":
- version: 4.0.0
- resolution: "p-map@npm:4.0.0"
- dependencies:
- aggregate-error: "npm:^3.0.0"
- checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75
+"p-map@npm:^7.0.2":
+ version: 7.0.3
+ resolution: "p-map@npm:7.0.3"
+ checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c
languageName: node
linkType: hard
@@ -7408,9 +7041,9 @@ __metadata:
linkType: hard
"package-json-from-dist@npm:^1.0.0":
- version: 1.0.0
- resolution: "package-json-from-dist@npm:1.0.0"
- checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033
+ version: 1.0.1
+ resolution: "package-json-from-dist@npm:1.0.1"
+ checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
languageName: node
linkType: hard
@@ -7451,16 +7084,7 @@ __metadata:
languageName: node
linkType: hard
-"parse5@npm:^7.1.2":
- version: 7.1.2
- resolution: "parse5@npm:7.1.2"
- dependencies:
- entities: "npm:^4.4.0"
- checksum: 10c0/297d7af8224f4b5cb7f6617ecdae98eeaed7f8cbd78956c42785e230505d5a4f07cef352af10d3006fa5c1544b76b57784d3a22d861ae071bbc460c649482bf4
- languageName: node
- linkType: hard
-
-"parse5@npm:^7.2.1":
+"parse5@npm:^7.1.2, parse5@npm:^7.2.1":
version: 7.3.0
resolution: "parse5@npm:7.3.0"
dependencies:
@@ -7497,13 +7121,13 @@ __metadata:
languageName: node
linkType: hard
-"path-scurry@npm:^1.10.1":
- version: 1.10.1
- resolution: "path-scurry@npm:1.10.1"
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
dependencies:
- lru-cache: "npm:^9.1.1 || ^10.0.0"
+ lru-cache: "npm:^10.2.0"
minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
- checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e
+ checksum: 10c0/32a13711a2a505616ae1cc1b5076801e453e7aae6ac40ab55b388bb91b9d0547a52f5aaceff710ea400205f18691120d4431e520afbe4266b836fadede15872d
languageName: node
linkType: hard
@@ -7531,21 +7155,7 @@ __metadata:
languageName: node
linkType: hard
-"picocolors@npm:^1.0.0":
- version: 1.0.0
- resolution: "picocolors@npm:1.0.0"
- checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7
- languageName: node
- linkType: hard
-
-"picocolors@npm:^1.0.1":
- version: 1.0.1
- resolution: "picocolors@npm:1.0.1"
- checksum: 10c0/c63cdad2bf812ef0d66c8db29583802355d4ca67b9285d846f390cc15c2f6ccb94e8cb7eb6a6e97fc5990a6d3ad4ae42d86c84d3146e667c739a4234ed50d400
- languageName: node
- linkType: hard
-
-"picocolors@npm:^1.1.0, picocolors@npm:^1.1.1":
+"picocolors@npm:^1.1.1":
version: 1.1.1
resolution: "picocolors@npm:1.1.1"
checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58
@@ -7574,14 +7184,14 @@ __metadata:
linkType: hard
"piscina@npm:^4.3.1":
- version: 4.6.1
- resolution: "piscina@npm:4.6.1"
+ version: 4.9.2
+ resolution: "piscina@npm:4.9.2"
dependencies:
- nice-napi: "npm:^1.0.2"
+ "@napi-rs/nice": "npm:^1.0.1"
dependenciesMeta:
- nice-napi:
+ "@napi-rs/nice":
optional: true
- checksum: 10c0/2225fb42806f8d72bf09f2528bd65721b440dcc63ece957a9542a28b3b958be353dc48802fb11a8af66fdfd28a419300ed28e04573b8bf420e6dcfe63d6f58b5
+ checksum: 10c0/ab67830065ff41523cd901db41b11045cb00a0be43bf79323ff7b4ef2fbce5e3a56ad440d99d6c3944ce94451a0a69fd175500e3220b21efe54142e601322189
languageName: node
linkType: hard
@@ -7595,20 +7205,20 @@ __metadata:
linkType: hard
"possible-typed-array-names@npm:^1.0.0":
- version: 1.0.0
- resolution: "possible-typed-array-names@npm:1.0.0"
- checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd
+ version: 1.1.0
+ resolution: "possible-typed-array-names@npm:1.1.0"
+ checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196
languageName: node
linkType: hard
-"postcss-attribute-case-insensitive@npm:^6.0.3":
- version: 6.0.3
- resolution: "postcss-attribute-case-insensitive@npm:6.0.3"
+"postcss-attribute-case-insensitive@npm:^7.0.1":
+ version: 7.0.1
+ resolution: "postcss-attribute-case-insensitive@npm:7.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/6161a625356db17ea23daa50797e23fa830a15629fa45e7438b5ac72a389f81ba51088503c5893a941d34d287857882867199584c5f03bf7762258c74570f456
+ checksum: 10c0/48945abe2024e2d2e4c37d30b8c1aaf37af720f24f6a996f7ea7e7ed33621f5c22cf247ed22028c0c922de040c58c0802729bc39b903cb1693f4b63c0b49da34
languageName: node
linkType: hard
@@ -7623,131 +7233,131 @@ __metadata:
languageName: node
linkType: hard
-"postcss-color-functional-notation@npm:^6.0.14":
- version: 6.0.14
- resolution: "postcss-color-functional-notation@npm:6.0.14"
+"postcss-color-functional-notation@npm:^7.0.9":
+ version: 7.0.9
+ resolution: "postcss-color-functional-notation@npm:7.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/fdc5188e19c3923da32fe08d50e55d0b3ca1cedf99f46331baa0a4bbd73a1fc6b4447b0346ab16049032b56ab84b98b4758a0ede7c237637e35a4cc60caac141
+ checksum: 10c0/62ffe51ec200df8e01daca3f45b2e05e7e509b57bfe50c880490878aff9bc63ed36cc92db42f0274a21f21330acd8fb1dff6529f7e3a202d100ea74914cf4cfd
languageName: node
linkType: hard
-"postcss-color-hex-alpha@npm:^9.0.4":
- version: 9.0.4
- resolution: "postcss-color-hex-alpha@npm:9.0.4"
+"postcss-color-hex-alpha@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "postcss-color-hex-alpha@npm:10.0.0"
dependencies:
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/57b5cfe17e0b659d5444f267c485462b8b25f6ab087b810c7dd44662af4828e1e8f9c4a9169b8635a4755509ca7c0f3463c2e96444764c4e6ff9f4036aad05e5
+ checksum: 10c0/8a6dcb27403d04b55d6de88bf3074622bcea537fc4436bbcb346e92289c4d17059444e2e6c3554c325e7a777bb4cdc711e764a83123b4000aec211052e957d5b
languageName: node
linkType: hard
-"postcss-color-rebeccapurple@npm:^9.0.3":
- version: 9.0.3
- resolution: "postcss-color-rebeccapurple@npm:9.0.3"
+"postcss-color-rebeccapurple@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "postcss-color-rebeccapurple@npm:10.0.0"
dependencies:
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/ab36d29df23dd475a2a540101427640ef9c7936bbf941816e8582caea05feced26c65f795a849e2ad17469cee6682d1bbccd2f8ab0da07fe91efcc0649568038
+ checksum: 10c0/308e33f76f2b48c1c2121d4502fc053e869f3415898de7d30314353df680e79b37497e7b628e3447edc1049091da3672f7d891e45604f238598e846e06b893ed
languageName: node
linkType: hard
-"postcss-custom-media@npm:^10.0.8":
- version: 10.0.8
- resolution: "postcss-custom-media@npm:10.0.8"
+"postcss-custom-media@npm:^11.0.5":
+ version: 11.0.5
+ resolution: "postcss-custom-media@npm:11.0.5"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.13"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/media-query-list-parser": "npm:^2.1.13"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/media-query-list-parser": "npm:^4.0.2"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/673ca0058a2f2357a83b33ce00bbeee7cda92621c08472fa55d7ac7ae56f5f8f979132528d537f2dedf715d35a8f9b14b2f0ab6b45423d49e2554c19aab3c827
+ checksum: 10c0/5ba1ca0383818e83d5f6f398a2b0c12cfda066b5d552adfc0e030a2c5f8690c2cc6224f9a1832a9c780dae3fd8d00d78c4a5c88eb36b731da1752f0c3917d488
languageName: node
linkType: hard
-"postcss-custom-properties@npm:^13.3.12":
- version: 13.3.12
- resolution: "postcss-custom-properties@npm:13.3.12"
+"postcss-custom-properties@npm:^14.0.4":
+ version: 14.0.4
+ resolution: "postcss-custom-properties@npm:14.0.4"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.13"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/6af9f6ac94a6ac887749cd38d4586349f6aca29269ebfdb837019a3ba0130032f0ff4899b431b5c348f4ac79a7b16fb7300a256514a6a68e32a63489c18a70e7
+ checksum: 10c0/5b101ee71289657cc2e5a16f4912009c10441052e2c54bd9e4f3d4d72b652bab56adb662ddaa96881413e375cf9852e2159b3c778d953442ce86efb781c3b2bf
languageName: node
linkType: hard
-"postcss-custom-selectors@npm:^7.1.12":
- version: 7.1.12
- resolution: "postcss-custom-selectors@npm:7.1.12"
+"postcss-custom-selectors@npm:^8.0.4":
+ version: 8.0.4
+ resolution: "postcss-custom-selectors@npm:8.0.4"
dependencies:
- "@csstools/cascade-layer-name-parser": "npm:^1.0.13"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/cascade-layer-name-parser": "npm:^2.0.4"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/78a7930e4f97c42b544f00c06272264432d47f9df777684b57673bb971b7ab49d5d6fb9289a5a869125e7e50dcd0cad65cf8846501253084b73a42ffab41b2c5
+ checksum: 10c0/09d494d2580d0a99f57684f79793d03358286c32460b61a84063c33bdde24865771cb1205efe9a8e26a508be24eba4fb93fc7f1e96ba21ca96a5d17fadb24863
languageName: node
linkType: hard
-"postcss-dir-pseudo-class@npm:^8.0.1":
- version: 8.0.1
- resolution: "postcss-dir-pseudo-class@npm:8.0.1"
+"postcss-dir-pseudo-class@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "postcss-dir-pseudo-class@npm:9.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/8c096e096b09e4041818bd2edf5581b5172375621f5eeca013633166ea100ab98e71bf60fccd92fa20cfa7b55c57598605a1655c6bcbe54a80728a7d4e36859e
+ checksum: 10c0/da9d3387648c5c3161a653d354c8f3e70a299108df3977e8aa65cf10793e4dd58a2711b3426cd63716245b13584ca8d95adcd6e10e3c9adbc61d08743e2d8690
languageName: node
linkType: hard
-"postcss-double-position-gradients@npm:^5.0.7":
- version: 5.0.7
- resolution: "postcss-double-position-gradients@npm:5.0.7"
+"postcss-double-position-gradients@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "postcss-double-position-gradients@npm:6.0.1"
dependencies:
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/52d96a34aa3e2e251edeaa2d4c2dd106c687f7910ec18266693656c0edd003384b927c855cecac07f52b5c7bdccd140abdc7e27082ce4c3755e3a966206a2cb9
+ checksum: 10c0/4c6cf3f54b2154cd622cdcaea58a7634c2e19bc0c366c73c46a27a3e31aa280c8721ee2b21cdd5cdca3166052cf5881c16bab2836b8896e71578213957021d52
languageName: node
linkType: hard
-"postcss-focus-visible@npm:^9.0.1":
- version: 9.0.1
- resolution: "postcss-focus-visible@npm:9.0.1"
+"postcss-focus-visible@npm:^10.0.1":
+ version: 10.0.1
+ resolution: "postcss-focus-visible@npm:10.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b8eb14ef51df62969559a7b2b4a4b6313a802fc2de225de293ad484ed6528833fc6bb7574aad5fabe7eeb27e8cd62663c2d547b25ff058d31c06d3d066abd904
+ checksum: 10c0/c5ecc8536a708a49a99d0abd68a88a160664e6c832c808db8edd9f0221e7017a258daa87e49daf2cb098cb037005d46cf492403c8c9c92ad8835d30adaccf665
languageName: node
linkType: hard
-"postcss-focus-within@npm:^8.0.1":
- version: 8.0.1
- resolution: "postcss-focus-within@npm:8.0.1"
+"postcss-focus-within@npm:^9.0.1":
+ version: 9.0.1
+ resolution: "postcss-focus-within@npm:9.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/cb0380d89f3b9313345dbea65c78c7ad16a6e6ab2ba9e90451d5b14f05ee691a0cdf458376368061327182e031644da21eee7e6e9ae508d195f083e0a20c0502
+ checksum: 10c0/d6ab49d2a7f33485a9e137dc77ec92c5619a3ec92e1e672734fc604853ff1f3c0c189085c12461614be4fcb03ea0347d91791a45986a18d50b5228d161eda57a
languageName: node
linkType: hard
@@ -7760,12 +7370,12 @@ __metadata:
languageName: node
linkType: hard
-"postcss-gap-properties@npm:^5.0.1":
- version: 5.0.1
- resolution: "postcss-gap-properties@npm:5.0.1"
+"postcss-gap-properties@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "postcss-gap-properties@npm:6.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/3b28c38819add37a2fc7decd7e3bdda1cab1de861af228abfb3e4310d87786eff4572a693bec6cea1c435bcd3dd0bb58bc9a58f1dde3a1c7def9feaf800762b8
+ checksum: 10c0/4e07e0d3927d0e65d67eaf047ac39e08d39cb1bf74e16e10c7df7f0d01b184a77ea59f63fd5691b5ed6df159970b972db28cb784d883e26e981137696460897d
languageName: node
linkType: hard
@@ -7778,15 +7388,15 @@ __metadata:
languageName: node
linkType: hard
-"postcss-image-set-function@npm:^6.0.3":
- version: 6.0.3
- resolution: "postcss-image-set-function@npm:6.0.3"
+"postcss-image-set-function@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "postcss-image-set-function@npm:7.0.0"
dependencies:
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/utilities": "npm:^2.0.0"
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/b35ce25aeca95f7abc5e5820f2398588150f5be02209054d714e870ae2fa01a8482fd10600fe1f847add898c39690275a60a5999f83f6bed6c66be9b0444b704
+ checksum: 10c0/913fd9492f00122aa0c2550fb0d72130428cbe1e6465bc65e8fe71e9deb10ac0c01d7caceb68b560da759139e8cbc6c90ed22dfe6cf34949af49bb86bcbf4d3a
languageName: node
linkType: hard
@@ -7803,62 +7413,62 @@ __metadata:
languageName: node
linkType: hard
-"postcss-lab-function@npm:^6.0.19":
- version: 6.0.19
- resolution: "postcss-lab-function@npm:6.0.19"
+"postcss-lab-function@npm:^7.0.9":
+ version: 7.0.9
+ resolution: "postcss-lab-function@npm:7.0.9"
dependencies:
- "@csstools/css-color-parser": "npm:^2.0.4"
- "@csstools/css-parser-algorithms": "npm:^2.7.1"
- "@csstools/css-tokenizer": "npm:^2.4.1"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/utilities": "npm:^1.0.0"
+ "@csstools/css-color-parser": "npm:^3.0.9"
+ "@csstools/css-parser-algorithms": "npm:^3.0.4"
+ "@csstools/css-tokenizer": "npm:^3.0.3"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/utilities": "npm:^2.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/d9a91fb57dcbe967260df86e22ca335a5444f1f34d128fa7b5dbf2522772f2138ad708f1f20f0a59035d66ed736e82972ca7f1b669a157534a17ee8898af1921
+ checksum: 10c0/4180669e7555d474b660d106de5fa1d4a705d693451254123bf56ab6dc1a82e4e175c387868703c14e4637d795d461b5e7f10e74d7b42df55a31f6b52bfa048e
languageName: node
linkType: hard
-"postcss-logical@npm:^7.0.1":
- version: 7.0.1
- resolution: "postcss-logical@npm:7.0.1"
+"postcss-logical@npm:^8.1.0":
+ version: 8.1.0
+ resolution: "postcss-logical@npm:8.1.0"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/66a06b5d3cb31181dd76c80286addd219205066a4a8c216076869fc54769ee0011cdaa8063e1b2c19c114cdc5ad12a2e2e8b730f6971960dc77d55f25f290223
+ checksum: 10c0/0e2e9e901d8a550db7f682d46b1f7e4f363c1ada061dc8e4548e2b563c5e39f3684a2d7c3f11fe061188782bca37874e34967fc6179fa6d98a49ff66a0076d27
languageName: node
linkType: hard
-"postcss-nesting@npm:^12.1.5":
- version: 12.1.5
- resolution: "postcss-nesting@npm:12.1.5"
+"postcss-nesting@npm:^13.0.1":
+ version: 13.0.1
+ resolution: "postcss-nesting@npm:13.0.1"
dependencies:
- "@csstools/selector-resolve-nested": "npm:^1.1.0"
- "@csstools/selector-specificity": "npm:^3.1.1"
- postcss-selector-parser: "npm:^6.1.0"
+ "@csstools/selector-resolve-nested": "npm:^3.0.0"
+ "@csstools/selector-specificity": "npm:^5.0.0"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/8f049fe24dccb186707e065ffb697f9f0633a03b0e1139e9c24656f3d2158a738a51c7b1f405b48fdb8b4f19515ad4ad9d3cd4ec9d9fe1dd4e5f18729bf8e589
+ checksum: 10c0/549307c272cdd4cb5105d8fbcd582f15a1cb74e5bba240b05b27f77fe0422730be966699a49a9ad15fd9d1bc551c1edbaefb21a69686a9b131b585dbc9d90ebf
languageName: node
linkType: hard
-"postcss-opacity-percentage@npm:^2.0.0":
- version: 2.0.0
- resolution: "postcss-opacity-percentage@npm:2.0.0"
+"postcss-opacity-percentage@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "postcss-opacity-percentage@npm:3.0.0"
peerDependencies:
- postcss: ^8.2
- checksum: 10c0/f031f3281060c4c0ede8f9a5832f65a3d8c2a1896ff324c41de42016e092635f0e0abee07545b01db93dc430a9741674a1d09c377c6c01cd8c2f4be65f889161
+ postcss: ^8.4
+ checksum: 10c0/15c7d66036fa966d265c8737196646b3f93deb83d4eea0b17ed5033460599afc31d3a989345e4d7c472963b2a2bb75c83d06979d5d30d6a60fcc7f74cb6d8d40
languageName: node
linkType: hard
-"postcss-overflow-shorthand@npm:^5.0.1":
- version: 5.0.1
- resolution: "postcss-overflow-shorthand@npm:5.0.1"
+"postcss-overflow-shorthand@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "postcss-overflow-shorthand@npm:6.0.0"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/328407adffae084c096b3ea2c03037f0083a0000cae744872bb1168fdd317eef12bb049cdfef749343c3ed65b4275dc6eefe577d99cbc78e3617cb36d07e8717
+ checksum: 10c0/6598321b2ed0b68461135395bba9c7f76a4672617770df1e8487f459bc975f4ded6c3d37b6f72a44f4f77f7b6789e0c6f927e66dbbf1bcde1537167dbea39968
languageName: node
linkType: hard
@@ -7871,96 +7481,98 @@ __metadata:
languageName: node
linkType: hard
-"postcss-place@npm:^9.0.1":
- version: 9.0.1
- resolution: "postcss-place@npm:9.0.1"
+"postcss-place@npm:^10.0.0":
+ version: 10.0.0
+ resolution: "postcss-place@npm:10.0.0"
dependencies:
postcss-value-parser: "npm:^4.2.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/d0fb5b0416fd15d5ac7da5fcc1829b9b78c5a90caba5bd045052c6ac0467910cbbeb2fff6c5257190affa656be27168c94ff339f86c0b7df54f9bea04bcadba7
- languageName: node
- linkType: hard
-
-"postcss-preset-env@npm:^9.6.0":
- version: 9.6.0
- resolution: "postcss-preset-env@npm:9.6.0"
- dependencies:
- "@csstools/postcss-cascade-layers": "npm:^4.0.6"
- "@csstools/postcss-color-function": "npm:^3.0.19"
- "@csstools/postcss-color-mix-function": "npm:^2.0.19"
- "@csstools/postcss-content-alt-text": "npm:^1.0.0"
- "@csstools/postcss-exponential-functions": "npm:^1.0.9"
- "@csstools/postcss-font-format-keywords": "npm:^3.0.2"
- "@csstools/postcss-gamut-mapping": "npm:^1.0.11"
- "@csstools/postcss-gradients-interpolation-method": "npm:^4.0.20"
- "@csstools/postcss-hwb-function": "npm:^3.0.18"
- "@csstools/postcss-ic-unit": "npm:^3.0.7"
- "@csstools/postcss-initial": "npm:^1.0.1"
- "@csstools/postcss-is-pseudo-class": "npm:^4.0.8"
- "@csstools/postcss-light-dark-function": "npm:^1.0.8"
- "@csstools/postcss-logical-float-and-clear": "npm:^2.0.1"
- "@csstools/postcss-logical-overflow": "npm:^1.0.1"
- "@csstools/postcss-logical-overscroll-behavior": "npm:^1.0.1"
- "@csstools/postcss-logical-resize": "npm:^2.0.1"
- "@csstools/postcss-logical-viewport-units": "npm:^2.0.11"
- "@csstools/postcss-media-minmax": "npm:^1.1.8"
- "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^2.0.11"
- "@csstools/postcss-nested-calc": "npm:^3.0.2"
- "@csstools/postcss-normalize-display-values": "npm:^3.0.2"
- "@csstools/postcss-oklab-function": "npm:^3.0.19"
- "@csstools/postcss-progressive-custom-properties": "npm:^3.3.0"
- "@csstools/postcss-relative-color-syntax": "npm:^2.0.19"
- "@csstools/postcss-scope-pseudo-class": "npm:^3.0.1"
- "@csstools/postcss-stepped-value-functions": "npm:^3.0.10"
- "@csstools/postcss-text-decoration-shorthand": "npm:^3.0.7"
- "@csstools/postcss-trigonometric-functions": "npm:^3.0.10"
- "@csstools/postcss-unset-value": "npm:^3.0.1"
- autoprefixer: "npm:^10.4.19"
- browserslist: "npm:^4.23.1"
- css-blank-pseudo: "npm:^6.0.2"
- css-has-pseudo: "npm:^6.0.5"
- css-prefers-color-scheme: "npm:^9.0.1"
- cssdb: "npm:^8.1.0"
- postcss-attribute-case-insensitive: "npm:^6.0.3"
+ checksum: 10c0/ebb13deaac7648ba6042622375a31f78fbcc5209b7d196e478debbdf94525963fe621c932f4737a5b6b3d487af3b5ed6d059ed6193fdcbff6d3d5b150886ccc1
+ languageName: node
+ linkType: hard
+
+"postcss-preset-env@npm:^10.1.6":
+ version: 10.1.6
+ resolution: "postcss-preset-env@npm:10.1.6"
+ dependencies:
+ "@csstools/postcss-cascade-layers": "npm:^5.0.1"
+ "@csstools/postcss-color-function": "npm:^4.0.9"
+ "@csstools/postcss-color-mix-function": "npm:^3.0.9"
+ "@csstools/postcss-content-alt-text": "npm:^2.0.5"
+ "@csstools/postcss-exponential-functions": "npm:^2.0.8"
+ "@csstools/postcss-font-format-keywords": "npm:^4.0.0"
+ "@csstools/postcss-gamut-mapping": "npm:^2.0.9"
+ "@csstools/postcss-gradients-interpolation-method": "npm:^5.0.9"
+ "@csstools/postcss-hwb-function": "npm:^4.0.9"
+ "@csstools/postcss-ic-unit": "npm:^4.0.1"
+ "@csstools/postcss-initial": "npm:^2.0.1"
+ "@csstools/postcss-is-pseudo-class": "npm:^5.0.1"
+ "@csstools/postcss-light-dark-function": "npm:^2.0.8"
+ "@csstools/postcss-logical-float-and-clear": "npm:^3.0.0"
+ "@csstools/postcss-logical-overflow": "npm:^2.0.0"
+ "@csstools/postcss-logical-overscroll-behavior": "npm:^2.0.0"
+ "@csstools/postcss-logical-resize": "npm:^3.0.0"
+ "@csstools/postcss-logical-viewport-units": "npm:^3.0.3"
+ "@csstools/postcss-media-minmax": "npm:^2.0.8"
+ "@csstools/postcss-media-queries-aspect-ratio-number-values": "npm:^3.0.4"
+ "@csstools/postcss-nested-calc": "npm:^4.0.0"
+ "@csstools/postcss-normalize-display-values": "npm:^4.0.0"
+ "@csstools/postcss-oklab-function": "npm:^4.0.9"
+ "@csstools/postcss-progressive-custom-properties": "npm:^4.0.1"
+ "@csstools/postcss-random-function": "npm:^2.0.0"
+ "@csstools/postcss-relative-color-syntax": "npm:^3.0.9"
+ "@csstools/postcss-scope-pseudo-class": "npm:^4.0.1"
+ "@csstools/postcss-sign-functions": "npm:^1.1.3"
+ "@csstools/postcss-stepped-value-functions": "npm:^4.0.8"
+ "@csstools/postcss-text-decoration-shorthand": "npm:^4.0.2"
+ "@csstools/postcss-trigonometric-functions": "npm:^4.0.8"
+ "@csstools/postcss-unset-value": "npm:^4.0.0"
+ autoprefixer: "npm:^10.4.21"
+ browserslist: "npm:^4.24.4"
+ css-blank-pseudo: "npm:^7.0.1"
+ css-has-pseudo: "npm:^7.0.2"
+ css-prefers-color-scheme: "npm:^10.0.0"
+ cssdb: "npm:^8.2.5"
+ postcss-attribute-case-insensitive: "npm:^7.0.1"
postcss-clamp: "npm:^4.1.0"
- postcss-color-functional-notation: "npm:^6.0.14"
- postcss-color-hex-alpha: "npm:^9.0.4"
- postcss-color-rebeccapurple: "npm:^9.0.3"
- postcss-custom-media: "npm:^10.0.8"
- postcss-custom-properties: "npm:^13.3.12"
- postcss-custom-selectors: "npm:^7.1.12"
- postcss-dir-pseudo-class: "npm:^8.0.1"
- postcss-double-position-gradients: "npm:^5.0.7"
- postcss-focus-visible: "npm:^9.0.1"
- postcss-focus-within: "npm:^8.0.1"
+ postcss-color-functional-notation: "npm:^7.0.9"
+ postcss-color-hex-alpha: "npm:^10.0.0"
+ postcss-color-rebeccapurple: "npm:^10.0.0"
+ postcss-custom-media: "npm:^11.0.5"
+ postcss-custom-properties: "npm:^14.0.4"
+ postcss-custom-selectors: "npm:^8.0.4"
+ postcss-dir-pseudo-class: "npm:^9.0.1"
+ postcss-double-position-gradients: "npm:^6.0.1"
+ postcss-focus-visible: "npm:^10.0.1"
+ postcss-focus-within: "npm:^9.0.1"
postcss-font-variant: "npm:^5.0.0"
- postcss-gap-properties: "npm:^5.0.1"
- postcss-image-set-function: "npm:^6.0.3"
- postcss-lab-function: "npm:^6.0.19"
- postcss-logical: "npm:^7.0.1"
- postcss-nesting: "npm:^12.1.5"
- postcss-opacity-percentage: "npm:^2.0.0"
- postcss-overflow-shorthand: "npm:^5.0.1"
+ postcss-gap-properties: "npm:^6.0.0"
+ postcss-image-set-function: "npm:^7.0.0"
+ postcss-lab-function: "npm:^7.0.9"
+ postcss-logical: "npm:^8.1.0"
+ postcss-nesting: "npm:^13.0.1"
+ postcss-opacity-percentage: "npm:^3.0.0"
+ postcss-overflow-shorthand: "npm:^6.0.0"
postcss-page-break: "npm:^3.0.4"
- postcss-place: "npm:^9.0.1"
- postcss-pseudo-class-any-link: "npm:^9.0.2"
+ postcss-place: "npm:^10.0.0"
+ postcss-pseudo-class-any-link: "npm:^10.0.1"
postcss-replace-overflow-wrap: "npm:^4.0.0"
- postcss-selector-not: "npm:^7.0.2"
+ postcss-selector-not: "npm:^8.0.1"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/caa91ba4d3b897d43ab2669b3edf40b24ef32c88e23b113be8956412e64b28deed6ba229c331848fcbc0d143bfde155173fb1e1ada9ccae5037b2ee8f7e554b7
+ checksum: 10c0/89af9060f3528e254005e6b81e88c57589e6e7f74125b10d50ca8a05f830c9ac206f8197af1b3c4b7ba82d97993118dd121f1a11cfc9fd026e18d01ca6f7ad2d
languageName: node
linkType: hard
-"postcss-pseudo-class-any-link@npm:^9.0.2":
- version: 9.0.2
- resolution: "postcss-pseudo-class-any-link@npm:9.0.2"
+"postcss-pseudo-class-any-link@npm:^10.0.1":
+ version: 10.0.1
+ resolution: "postcss-pseudo-class-any-link@npm:10.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/cc2cb455a793b1f5dc0ac290e02296eafb317d9ce987dc9f2102027e22f265299666dbd1e78f1d7836fce549dead73f41e24251c08a2dd0cf482f3cc43cf7909
+ checksum: 10c0/95e883996e87baf14fc09d25f9a763a2e9d599eb3b9c6b736e83a8c3d0b55841bcb886bccdf51b5b7fefc128cbd0187ad8841f59878f85bd1613642e592d7673
languageName: node
linkType: hard
@@ -7998,53 +7610,33 @@ __metadata:
languageName: node
linkType: hard
-"postcss-selector-not@npm:^7.0.2":
- version: 7.0.2
- resolution: "postcss-selector-not@npm:7.0.2"
+"postcss-selector-not@npm:^8.0.1":
+ version: 8.0.1
+ resolution: "postcss-selector-not@npm:8.0.1"
dependencies:
- postcss-selector-parser: "npm:^6.0.13"
+ postcss-selector-parser: "npm:^7.0.0"
peerDependencies:
postcss: ^8.4
- checksum: 10c0/624b6e516d37d43406ff1414b3413fe7a5dc34eccadd6a6082fe7df13c5c2fab3e244af33ff0916f9be0a4f7db91d1c22102f5166d7a6e6595e7c00e11e20281
+ checksum: 10c0/491ea3dcc421cd90135be786078521605e2062fb93624ea8813cfd5ba0d35143f931e2e608d5f20effd5ea7d3f4786d2afea2afa42d117779a0288e135f132b6
languageName: node
linkType: hard
-"postcss-selector-parser@npm:^6.0.13":
- version: 6.0.13
- resolution: "postcss-selector-parser@npm:6.0.13"
- dependencies:
- cssesc: "npm:^3.0.0"
- util-deprecate: "npm:^1.0.2"
- checksum: 10c0/51f099b27f7c7198ea1826470ef0adfa58b3bd3f59b390fda123baa0134880a5fa9720137b6009c4c1373357b144f700b0edac73335d0067422063129371444e
- languageName: node
- linkType: hard
-
-"postcss-selector-parser@npm:^6.1.0":
- version: 6.1.0
- resolution: "postcss-selector-parser@npm:6.1.0"
- dependencies:
- cssesc: "npm:^3.0.0"
- util-deprecate: "npm:^1.0.2"
- checksum: 10c0/91e9c6434772506bc7f318699dd9d19d32178b52dfa05bed24cb0babbdab54f8fb765d9920f01ac548be0a642aab56bce493811406ceb00ae182bbb53754c473
- languageName: node
- linkType: hard
-
-"postcss-selector-parser@npm:^7.0.0":
- version: 7.0.0
- resolution: "postcss-selector-parser@npm:7.0.0"
+"postcss-selector-parser@npm:^7.0.0, postcss-selector-parser@npm:^7.1.0":
+ version: 7.1.0
+ resolution: "postcss-selector-parser@npm:7.1.0"
dependencies:
cssesc: "npm:^3.0.0"
util-deprecate: "npm:^1.0.2"
- checksum: 10c0/e96e096afcce70bf5c97789f5ea09d7415ae5eb701d82b05b5e8532885d31363b484fcb1ca9488c9a331f30508d9e5bb6c3109eb2eb5067ef3d3919f9928cd9d
+ checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa
languageName: node
linkType: hard
-"postcss-sorting@npm:^8.0.2":
- version: 8.0.2
- resolution: "postcss-sorting@npm:8.0.2"
+"postcss-sorting@npm:^9.1.0":
+ version: 9.1.0
+ resolution: "postcss-sorting@npm:9.1.0"
peerDependencies:
postcss: ^8.4.20
- checksum: 10c0/955c72d8d71b6b54dcdcbcef765a593803512d215cef12a49b71d1abf8ab8d2dacb5645dbb5a0a6535609aab6bffb834599d6073f28fe61e589a4437af85e243
+ checksum: 10c0/1faea84bf00d85929228d297587798fa9c384a02966a28a942777b2de553a8186087cfdcd0aca3dd40e4b2793aee050792d807458db8cf4880867c98c7bf22fd
languageName: node
linkType: hard
@@ -8069,36 +7661,14 @@ __metadata:
languageName: node
linkType: hard
-"postcss@npm:^8.4.32":
- version: 8.4.32
- resolution: "postcss@npm:8.4.32"
- dependencies:
- nanoid: "npm:^3.3.7"
- picocolors: "npm:^1.0.0"
- source-map-js: "npm:^1.0.2"
- checksum: 10c0/39308a9195fa34d4dbdd7b58a896cff0c7809f84f7a4ac1b95b68ca86c9138a395addff33075668ed3983d41b90aac05754c445237a9365eb1c3a5602ebd03ad
- languageName: node
- linkType: hard
-
-"postcss@npm:^8.4.40":
- version: 8.4.40
- resolution: "postcss@npm:8.4.40"
- dependencies:
- nanoid: "npm:^3.3.7"
- picocolors: "npm:^1.0.1"
- source-map-js: "npm:^1.2.0"
- checksum: 10c0/65ed67573e5443beaeb582282ff27a6be7c7fe3b4d9fa15761157616f2b97510cb1c335023c26220b005909f007337026d6e3ff092f25010b484ad484e80ea7f
- languageName: node
- linkType: hard
-
-"postcss@npm:^8.4.49":
- version: 8.4.49
- resolution: "postcss@npm:8.4.49"
+"postcss@npm:^8.5.3":
+ version: 8.5.3
+ resolution: "postcss@npm:8.5.3"
dependencies:
- nanoid: "npm:^3.3.7"
+ nanoid: "npm:^3.3.8"
picocolors: "npm:^1.1.1"
source-map-js: "npm:^1.2.1"
- checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3
+ checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3
languageName: node
linkType: hard
@@ -8118,19 +7688,19 @@ __metadata:
languageName: node
linkType: hard
-"prettier@npm:^3.4.2":
- version: 3.4.2
- resolution: "prettier@npm:3.4.2"
+"prettier@npm:^3.5.3":
+ version: 3.5.3
+ resolution: "prettier@npm:3.5.3"
bin:
prettier: bin/prettier.cjs
- checksum: 10c0/99e076a26ed0aba4ebc043880d0f08bbb8c59a4c6641cdee6cdadf2205bdd87aa1d7823f50c3aea41e015e99878d37c58d7b5f0e663bba0ef047f94e36b96446
+ checksum: 10c0/3880cb90b9dc0635819ab52ff571518c35bd7f15a6e80a2054c05dbc8a3aa6e74f135519e91197de63705bcb38388ded7e7230e2178432a1468005406238b877
languageName: node
linkType: hard
-"proc-log@npm:^3.0.0":
- version: 3.0.0
- resolution: "proc-log@npm:3.0.0"
- checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc
+"proc-log@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "proc-log@npm:5.0.0"
+ checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3
languageName: node
linkType: hard
@@ -8152,9 +7722,11 @@ __metadata:
linkType: hard
"psl@npm:^1.1.33":
- version: 1.9.0
- resolution: "psl@npm:1.9.0"
- checksum: 10c0/6a3f805fdab9442f44de4ba23880c4eba26b20c8e8e0830eff1cb31007f6825dace61d17203c58bfe36946842140c97a1ba7f67bc63ca2d88a7ee052b65d97ab
+ version: 1.15.0
+ resolution: "psl@npm:1.15.0"
+ dependencies:
+ punycode: "npm:^2.3.1"
+ checksum: 10c0/d8d45a99e4ca62ca12ac3c373e63d80d2368d38892daa40cfddaa1eb908be98cd549ac059783ef3a56cfd96d57ae8e2fd9ae53d1378d90d42bc661ff924e102a
languageName: node
linkType: hard
@@ -8233,9 +7805,9 @@ __metadata:
linkType: hard
"readdirp@npm:^4.0.1":
- version: 4.0.2
- resolution: "readdirp@npm:4.0.2"
- checksum: 10c0/a16ecd8ef3286dcd90648c3b103e3826db2b766cdb4a988752c43a83f683d01c7059158d623cbcd8bdfb39e65d302d285be2d208e7d9f34d022d912b929217dd
+ version: 4.1.2
+ resolution: "readdirp@npm:4.1.2"
+ checksum: 10c0/60a14f7619dec48c9c850255cd523e2717001b0e179dc7037cfa0895da7b9e9ab07532d324bfb118d73a710887d1e35f79c495fa91582784493e085d18c72c62
languageName: node
linkType: hard
@@ -8257,42 +7829,33 @@ __metadata:
languageName: node
linkType: hard
-"reflect.getprototypeof@npm:^1.0.6":
- version: 1.0.8
- resolution: "reflect.getprototypeof@npm:1.0.8"
+"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9":
+ version: 1.0.10
+ resolution: "reflect.getprototypeof@npm:1.0.10"
dependencies:
call-bind: "npm:^1.0.8"
define-properties: "npm:^1.2.1"
- dunder-proto: "npm:^1.0.0"
- es-abstract: "npm:^1.23.5"
+ es-abstract: "npm:^1.23.9"
es-errors: "npm:^1.3.0"
- get-intrinsic: "npm:^1.2.4"
- gopd: "npm:^1.2.0"
- which-builtin-type: "npm:^1.2.0"
- checksum: 10c0/720479dd7a72a20d66efaca507ed7c7e18403d24ce764f436130464d4a516a12ed8a9a2714dcabc3e1296f9a31f914ba1095e2371619df23d3ac56c4f8c8bae1
- languageName: node
- linkType: hard
-
-"regexp.prototype.flags@npm:^1.5.1":
- version: 1.5.1
- resolution: "regexp.prototype.flags@npm:1.5.1"
- dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- set-function-name: "npm:^2.0.0"
- checksum: 10c0/1de7d214c0a726c7c874a7023e47b0e27b9f7fdb64175bfe1861189de1704aaeca05c3d26c35aa375432289b99946f3cf86651a92a8f7601b90d8c226a23bcd8
+ es-object-atoms: "npm:^1.0.0"
+ get-intrinsic: "npm:^1.2.7"
+ get-proto: "npm:^1.0.1"
+ which-builtin-type: "npm:^1.2.1"
+ checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac
languageName: node
linkType: hard
-"regexp.prototype.flags@npm:^1.5.3":
- version: 1.5.3
- resolution: "regexp.prototype.flags@npm:1.5.3"
+"regexp.prototype.flags@npm:^1.5.1, regexp.prototype.flags@npm:^1.5.3":
+ version: 1.5.4
+ resolution: "regexp.prototype.flags@npm:1.5.4"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
define-properties: "npm:^1.2.1"
es-errors: "npm:^1.3.0"
+ get-proto: "npm:^1.0.1"
+ gopd: "npm:^1.2.0"
set-function-name: "npm:^2.0.2"
- checksum: 10c0/e1a7c7dc42cc91abf73e47a269c4b3a8f225321b7f617baa25821f6a123a91d23a73b5152f21872c566e699207e1135d075d2251cd3e84cc96d82a910adf6020
+ checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77
languageName: node
linkType: hard
@@ -8348,28 +7911,28 @@ __metadata:
linkType: hard
"resolve@npm:^1.1.7, resolve@npm:^1.20.0, resolve@npm:^1.22.4":
- version: 1.22.8
- resolution: "resolve@npm:1.22.8"
+ version: 1.22.10
+ resolution: "resolve@npm:1.22.10"
dependencies:
- is-core-module: "npm:^2.13.0"
+ is-core-module: "npm:^2.16.0"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10c0/07e179f4375e1fd072cfb72ad66d78547f86e6196c4014b31cb0b8bb1db5f7ca871f922d08da0fbc05b94e9fd42206f819648fa3b5b873ebbc8e1dc68fec433a
+ checksum: 10c0/8967e1f4e2cc40f79b7e080b4582b9a8c5ee36ffb46041dccb20e6461161adf69f843b43067b4a375de926a2cd669157e29a29578191def399dd5ef89a1b5203
languageName: node
linkType: hard
"resolve@patch:resolve@npm%3A^1.1.7#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.20.0#optional!builtin<compat/resolve>, resolve@patch:resolve@npm%3A^1.22.4#optional!builtin<compat/resolve>":
- version: 1.22.8
- resolution: "resolve@patch:resolve@npm%3A1.22.8#optional!builtin<compat/resolve>::version=1.22.8&hash=c3c19d"
+ version: 1.22.10
+ resolution: "resolve@patch:resolve@npm%3A1.22.10#optional!builtin<compat/resolve>::version=1.22.10&hash=c3c19d"
dependencies:
- is-core-module: "npm:^2.13.0"
+ is-core-module: "npm:^2.16.0"
path-parse: "npm:^1.0.7"
supports-preserve-symlinks-flag: "npm:^1.0.0"
bin:
resolve: bin/resolve
- checksum: 10c0/0446f024439cd2e50c6c8fa8ba77eaa8370b4180f401a96abf3d1ebc770ac51c1955e12764cde449fde3fff480a61f84388e3505ecdbab778f4bef5f8212c729
+ checksum: 10c0/52a4e505bbfc7925ac8f4cd91fd8c4e096b6a89728b9f46861d3b405ac9a1ccf4dcbf8befb4e89a2e11370dacd0160918163885cbc669369590f2f31f4c58939
languageName: node
linkType: hard
@@ -8391,9 +7954,9 @@ __metadata:
linkType: hard
"reusify@npm:^1.0.4":
- version: 1.0.4
- resolution: "reusify@npm:1.0.4"
- checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107
+ version: 1.1.0
+ resolution: "reusify@npm:1.1.0"
+ checksum: 10c0/4eff0d4a5f9383566c7d7ec437b671cc51b25963bd61bf127c3f3d3f68e44a026d99b8d2f1ad344afff8d278a8fe70a8ea092650a716d22287e8bef7126bb2fa
languageName: node
linkType: hard
@@ -8408,13 +7971,6 @@ __metadata:
languageName: node
linkType: hard
-"rrweb-cssom@npm:^0.6.0":
- version: 0.6.0
- resolution: "rrweb-cssom@npm:0.6.0"
- checksum: 10c0/3d9d90d53c2349ea9c8509c2690df5a4ef930c9cf8242aeb9425d4046f09d712bb01047e00da0e1c1dab5db35740b3d78fd45c3e7272f75d3724a563f27c30a3
- languageName: node
- linkType: hard
-
"rrweb-cssom@npm:^0.7.1":
version: 0.7.1
resolution: "rrweb-cssom@npm:0.7.1"
@@ -8438,27 +7994,16 @@ __metadata:
languageName: node
linkType: hard
-"safe-array-concat@npm:^1.0.1":
- version: 1.0.1
- resolution: "safe-array-concat@npm:1.0.1"
- dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.2.1"
- has-symbols: "npm:^1.0.3"
- isarray: "npm:^2.0.5"
- checksum: 10c0/4b15ce5fce5ce4d7e744a63592cded88d2f27806ed229eadb2e42629cbcd40e770f7478608e75f455e7fe341acd8c0a01bdcd7146b10645ea7411c5e3c1d1dd8
- languageName: node
- linkType: hard
-
-"safe-array-concat@npm:^1.1.2":
- version: 1.1.2
- resolution: "safe-array-concat@npm:1.1.2"
+"safe-array-concat@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "safe-array-concat@npm:1.1.3"
dependencies:
- call-bind: "npm:^1.0.7"
- get-intrinsic: "npm:^1.2.4"
- has-symbols: "npm:^1.0.3"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
+ get-intrinsic: "npm:^1.2.6"
+ has-symbols: "npm:^1.1.0"
isarray: "npm:^2.0.5"
- checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9
+ checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d
languageName: node
linkType: hard
@@ -8476,25 +8021,24 @@ __metadata:
languageName: node
linkType: hard
-"safe-regex-test@npm:^1.0.0":
+"safe-push-apply@npm:^1.0.0":
version: 1.0.0
- resolution: "safe-regex-test@npm:1.0.0"
+ resolution: "safe-push-apply@npm:1.0.0"
dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.1.3"
- is-regex: "npm:^1.1.4"
- checksum: 10c0/14a81a7e683f97b2d6e9c8be61fddcf8ed7a02f4e64a825515f96bb1738eb007145359313741d2704d28b55b703a0f6300c749dde7c1dbc13952a2b85048ede2
+ es-errors: "npm:^1.3.0"
+ isarray: "npm:^2.0.5"
+ checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750
languageName: node
linkType: hard
-"safe-regex-test@npm:^1.0.3":
- version: 1.0.3
- resolution: "safe-regex-test@npm:1.0.3"
+"safe-regex-test@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "safe-regex-test@npm:1.1.0"
dependencies:
- call-bind: "npm:^1.0.6"
+ call-bound: "npm:^1.0.2"
es-errors: "npm:^1.3.0"
- is-regex: "npm:^1.1.4"
- checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603
+ is-regex: "npm:^1.2.1"
+ checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665
languageName: node
linkType: hard
@@ -8538,7 +8082,7 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:7.5.4, semver@npm:^7.5.4":
+"semver@npm:7.5.4":
version: 7.5.4
resolution: "semver@npm:7.5.4"
dependencies:
@@ -8558,23 +8102,12 @@ __metadata:
languageName: node
linkType: hard
-"semver@npm:^7.3.5":
- version: 7.6.0
- resolution: "semver@npm:7.6.0"
- dependencies:
- lru-cache: "npm:^6.0.0"
- bin:
- semver: bin/semver.js
- checksum: 10c0/fbfe717094ace0aa8d6332d7ef5ce727259815bd8d8815700853f4faf23aacbd7192522f0dc5af6df52ef4fa85a355ebd2f5d39f554bd028200d6cf481ab9b53
- languageName: node
- linkType: hard
-
-"semver@npm:^7.6.3":
- version: 7.6.3
- resolution: "semver@npm:7.6.3"
+"semver@npm:^7.3.5, semver@npm:^7.5.4, semver@npm:^7.7.1":
+ version: 7.7.2
+ resolution: "semver@npm:7.7.2"
bin:
semver: bin/semver.js
- checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf
+ checksum: 10c0/aca305edfbf2383c22571cb7714f48cadc7ac95371b4b52362fb8eeffdfbc0de0669368b82b2b15978f8848f01d7114da65697e56cd8c37b0dab8c58e543f9ea
languageName: node
linkType: hard
@@ -8596,19 +8129,7 @@ __metadata:
languageName: node
linkType: hard
-"set-function-length@npm:^1.1.1":
- version: 1.1.1
- resolution: "set-function-length@npm:1.1.1"
- dependencies:
- define-data-property: "npm:^1.1.1"
- get-intrinsic: "npm:^1.2.1"
- gopd: "npm:^1.0.1"
- has-property-descriptors: "npm:^1.0.0"
- checksum: 10c0/a29e255c116c29e3323b851c4f46c58c91be9bb8b065f191e2ea1807cb2c839df56e3175732a498e0c6d54626ba6b6fef896bf699feb7ab70c42dc47eb247c95
- languageName: node
- linkType: hard
-
-"set-function-length@npm:^1.2.1, set-function-length@npm:^1.2.2":
+"set-function-length@npm:^1.2.2":
version: 1.2.2
resolution: "set-function-length@npm:1.2.2"
dependencies:
@@ -8622,17 +8143,6 @@ __metadata:
languageName: node
linkType: hard
-"set-function-name@npm:^2.0.0":
- version: 2.0.1
- resolution: "set-function-name@npm:2.0.1"
- dependencies:
- define-data-property: "npm:^1.0.1"
- functions-have-names: "npm:^1.2.3"
- has-property-descriptors: "npm:^1.0.0"
- checksum: 10c0/6be7d3e15be47f4db8a5a563a35c60b5e7c4af91cc900e8972ffad33d3aaa227900faa55f60121cdb04b85866a734bb7fe4cd91f654c632861cc86121a48312a
- languageName: node
- linkType: hard
-
"set-function-name@npm:^2.0.2":
version: 2.0.2
resolution: "set-function-name@npm:2.0.2"
@@ -8645,6 +8155,17 @@ __metadata:
languageName: node
linkType: hard
+"set-proto@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "set-proto@npm:1.0.0"
+ dependencies:
+ dunder-proto: "npm:^1.0.1"
+ es-errors: "npm:^1.3.0"
+ es-object-atoms: "npm:^1.0.0"
+ checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a
+ languageName: node
+ linkType: hard
+
"setimmediate@npm:^1.0.5":
version: 1.0.5
resolution: "setimmediate@npm:1.0.5"
@@ -8677,14 +8198,51 @@ __metadata:
languageName: node
linkType: hard
-"side-channel@npm:^1.0.4":
- version: 1.0.4
- resolution: "side-channel@npm:1.0.4"
+"side-channel-list@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "side-channel-list@npm:1.0.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ object-inspect: "npm:^1.13.3"
+ checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d
+ languageName: node
+ linkType: hard
+
+"side-channel-map@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "side-channel-map@npm:1.0.1"
+ dependencies:
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.5"
+ object-inspect: "npm:^1.13.3"
+ checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672
+ languageName: node
+ linkType: hard
+
+"side-channel-weakmap@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "side-channel-weakmap@npm:1.0.2"
dependencies:
- call-bind: "npm:^1.0.0"
- get-intrinsic: "npm:^1.0.2"
- object-inspect: "npm:^1.9.0"
- checksum: 10c0/054a5d23ee35054b2c4609b9fd2a0587760737782b5d765a9c7852264710cc39c6dcb56a9bbd6c12cd84071648aea3edb2359d2f6e560677eedadce511ac1da5
+ call-bound: "npm:^1.0.2"
+ es-errors: "npm:^1.3.0"
+ get-intrinsic: "npm:^1.2.5"
+ object-inspect: "npm:^1.13.3"
+ side-channel-map: "npm:^1.0.1"
+ checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185
+ languageName: node
+ linkType: hard
+
+"side-channel@npm:^1.0.4, side-channel@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "side-channel@npm:1.1.0"
+ dependencies:
+ es-errors: "npm:^1.3.0"
+ object-inspect: "npm:^1.13.3"
+ side-channel-list: "npm:^1.0.0"
+ side-channel-map: "npm:^1.0.1"
+ side-channel-weakmap: "npm:^1.0.2"
+ checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6
languageName: node
linkType: hard
@@ -8727,24 +8285,24 @@ __metadata:
languageName: node
linkType: hard
-"socks-proxy-agent@npm:^8.0.1":
- version: 8.0.2
- resolution: "socks-proxy-agent@npm:8.0.2"
+"socks-proxy-agent@npm:^8.0.3":
+ version: 8.0.5
+ resolution: "socks-proxy-agent@npm:8.0.5"
dependencies:
- agent-base: "npm:^7.0.2"
+ agent-base: "npm:^7.1.2"
debug: "npm:^4.3.4"
- socks: "npm:^2.7.1"
- checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7
+ socks: "npm:^2.8.3"
+ checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6
languageName: node
linkType: hard
-"socks@npm:^2.7.1":
- version: 2.8.1
- resolution: "socks@npm:2.8.1"
+"socks@npm:^2.8.3":
+ version: 2.8.4
+ resolution: "socks@npm:2.8.4"
dependencies:
ip-address: "npm:^9.0.5"
smart-buffer: "npm:^4.2.0"
- checksum: 10c0/ac77b515c260473cc7c4452f09b20939e22510ce3ae48385c516d1d5784374d5cc75be3cb18ff66cc985a7f4f2ef8fef84e984c5ec70aad58355ed59241f40a8
+ checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5
languageName: node
linkType: hard
@@ -8755,21 +8313,7 @@ __metadata:
languageName: node
linkType: hard
-"source-map-js@npm:^1.0.1, source-map-js@npm:^1.0.2":
- version: 1.0.2
- resolution: "source-map-js@npm:1.0.2"
- checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8
- languageName: node
- linkType: hard
-
-"source-map-js@npm:^1.2.0":
- version: 1.2.0
- resolution: "source-map-js@npm:1.2.0"
- checksum: 10c0/7e5f896ac10a3a50fe2898e5009c58ff0dc102dcb056ed27a354623a0ece8954d4b2649e1a1b2b52ef2e161d26f8859c7710350930751640e71e374fe2d321a4
- languageName: node
- linkType: hard
-
-"source-map-js@npm:^1.2.1":
+"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1":
version: 1.2.1
resolution: "source-map-js@npm:1.2.1"
checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf
@@ -8800,12 +8344,12 @@ __metadata:
languageName: node
linkType: hard
-"ssri@npm:^10.0.0":
- version: 10.0.5
- resolution: "ssri@npm:10.0.5"
+"ssri@npm:^12.0.0":
+ version: 12.0.0
+ resolution: "ssri@npm:12.0.0"
dependencies:
minipass: "npm:^7.0.3"
- checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8
+ checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d
languageName: node
linkType: hard
@@ -8819,11 +8363,12 @@ __metadata:
linkType: hard
"stop-iteration-iterator@npm:^1.0.0":
- version: 1.0.0
- resolution: "stop-iteration-iterator@npm:1.0.0"
+ version: 1.1.0
+ resolution: "stop-iteration-iterator@npm:1.1.0"
dependencies:
- internal-slot: "npm:^1.0.4"
- checksum: 10c0/c4158d6188aac510d9e92925b58709207bd94699e9c31186a040c80932a687f84a51356b5895e6dc72710aad83addb9411c22171832c9ae0e6e11b7d61b0dfb9
+ es-errors: "npm:^1.3.0"
+ internal-slot: "npm:^1.1.0"
+ checksum: 10c0/de4e45706bb4c0354a4b1122a2b8cc45a639e86206807ce0baf390ee9218d3ef181923fa4d2b67443367c491aa255c5fbaa64bb74648e3c5b48299928af86c09
languageName: node
linkType: hard
@@ -8849,59 +8394,30 @@ __metadata:
languageName: node
linkType: hard
-"string.prototype.trim@npm:^1.2.8":
- version: 1.2.8
- resolution: "string.prototype.trim@npm:1.2.8"
+"string.prototype.trim@npm:^1.2.10":
+ version: 1.2.10
+ resolution: "string.prototype.trim@npm:1.2.10"
dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- checksum: 10c0/4f76c583908bcde9a71208ddff38f67f24c9ec8093631601666a0df8b52fad44dad2368c78895ce83eb2ae8e7068294cc96a02fc971ab234e4d5c9bb61ea4e34
- languageName: node
- linkType: hard
-
-"string.prototype.trim@npm:^1.2.9":
- version: 1.2.9
- resolution: "string.prototype.trim@npm:1.2.9"
- dependencies:
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
+ define-data-property: "npm:^1.1.4"
define-properties: "npm:^1.2.1"
- es-abstract: "npm:^1.23.0"
+ es-abstract: "npm:^1.23.5"
es-object-atoms: "npm:^1.0.0"
- checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2
- languageName: node
- linkType: hard
-
-"string.prototype.trimend@npm:^1.0.7":
- version: 1.0.7
- resolution: "string.prototype.trimend@npm:1.0.7"
- dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- checksum: 10c0/53c24911c7c4d8d65f5ef5322de23a3d5b6b4db73273e05871d5ab4571ae5638f38f7f19d71d09116578fb060e5a145cc6a208af2d248c8baf7a34f44d32ce57
+ has-property-descriptors: "npm:^1.0.2"
+ checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8
languageName: node
linkType: hard
-"string.prototype.trimend@npm:^1.0.8":
- version: 1.0.8
- resolution: "string.prototype.trimend@npm:1.0.8"
+"string.prototype.trimend@npm:^1.0.8, string.prototype.trimend@npm:^1.0.9":
+ version: 1.0.9
+ resolution: "string.prototype.trimend@npm:1.0.9"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.2"
define-properties: "npm:^1.2.1"
es-object-atoms: "npm:^1.0.0"
- checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c
- languageName: node
- linkType: hard
-
-"string.prototype.trimstart@npm:^1.0.7":
- version: 1.0.7
- resolution: "string.prototype.trimstart@npm:1.0.7"
- dependencies:
- call-bind: "npm:^1.0.2"
- define-properties: "npm:^1.2.0"
- es-abstract: "npm:^1.22.1"
- checksum: 10c0/0bcf391b41ea16d4fda9c9953d0a7075171fe090d33b4cf64849af94944c50862995672ac03e0c5dba2940a213ad7f53515a668dac859ce22a0276289ae5cf4f
+ checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6
languageName: node
linkType: hard
@@ -8975,53 +8491,53 @@ __metadata:
languageName: node
linkType: hard
-"stylelint-config-recommended@npm:^14.0.1":
- version: 14.0.1
- resolution: "stylelint-config-recommended@npm:14.0.1"
+"stylelint-config-recommended@npm:^16.0.0":
+ version: 16.0.0
+ resolution: "stylelint-config-recommended@npm:16.0.0"
peerDependencies:
- stylelint: ^16.1.0
- checksum: 10c0/a0a0ecd91f4d193bbe2cc3408228f8a2d8fcb2b2578d77233f86780c9247c796a04e16aad7a91d97cb918e2de34b6a8062bab66ee017c3835d855081d94f4828
+ stylelint: ^16.16.0
+ checksum: 10c0/b2b4ea2633a606a0f686521aa5e8908810c9dd21fd4525c86b34213de1e362b445fd5472b6e5ff251d46f999e2ca2c6c704f2efc1c08d5a532084427f4e1c9d8
languageName: node
linkType: hard
-"stylelint-config-standard@npm:^36.0.1":
- version: 36.0.1
- resolution: "stylelint-config-standard@npm:36.0.1"
+"stylelint-config-standard@npm:^38.0.0":
+ version: 38.0.0
+ resolution: "stylelint-config-standard@npm:38.0.0"
dependencies:
- stylelint-config-recommended: "npm:^14.0.1"
+ stylelint-config-recommended: "npm:^16.0.0"
peerDependencies:
- stylelint: ^16.1.0
- checksum: 10c0/7f9b954694358e77be5110418f31335be579ce59dd952bc3c6a9449265297db3170ec520e0905769253b48b99c3109a95c71f5b985bf402e48fd6c89b5364cb2
+ stylelint: ^16.18.0
+ checksum: 10c0/8b52c7b7d6287c7495a8fe3a681e07ea9478374e7e66b28d61779072d46cd5b845530b2410df7496a008a8efafe834fb46cf07792f4cf57f996e39f24a801b90
languageName: node
linkType: hard
-"stylelint-order@npm:^6.0.4":
- version: 6.0.4
- resolution: "stylelint-order@npm:6.0.4"
+"stylelint-order@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "stylelint-order@npm:7.0.0"
dependencies:
- postcss: "npm:^8.4.32"
- postcss-sorting: "npm:^8.0.2"
+ postcss: "npm:^8.5.3"
+ postcss-sorting: "npm:^9.1.0"
peerDependencies:
- stylelint: ^14.0.0 || ^15.0.0 || ^16.0.1
- checksum: 10c0/9a1f6ba7ab04855462bfae28fe36ad2a297fec56f42da2f588b57295b89b72e6f517d5e35ecbcefb11fcc373f3db40f0e6a8eefb41a4d267550ac6324f12a3ca
+ stylelint: ^16.18.0
+ checksum: 10c0/202ea7f0ce44b272f0ee8745383e347520663ef3defb9478c2dae8f33378950e32138815d038228db49383cab7b111148b9b9521e409311a91047cfc4740d507
languageName: node
linkType: hard
-"stylelint-prettier@npm:^5.0.2":
- version: 5.0.2
- resolution: "stylelint-prettier@npm:5.0.2"
+"stylelint-prettier@npm:^5.0.3":
+ version: 5.0.3
+ resolution: "stylelint-prettier@npm:5.0.3"
dependencies:
prettier-linter-helpers: "npm:^1.0.0"
peerDependencies:
prettier: ">=3.0.0"
stylelint: ">=16.0.0"
- checksum: 10c0/4755471cd8c8f3d308b25c3ad5db9eb1546dea6f6ba048ca0b83e9ca58169d29456deb50cfa13198a7f7178f9b7e64fddcbb7d0dd0c59669680f5bc6432c438b
+ checksum: 10c0/955e647131b96e088f3ea80ef409772aff8854d9f9831ac5826b76780fc9a49e0ad0f5aac1b5e6ed714848bea85068a7ba815585ed8b9f1e4da41a29b5666e4d
languageName: node
linkType: hard
-"stylelint@npm:^16.11.0":
- version: 16.11.0
- resolution: "stylelint@npm:16.11.0"
+"stylelint@npm:^16.19.1":
+ version: 16.19.1
+ resolution: "stylelint@npm:16.19.1"
dependencies:
"@csstools/css-parser-algorithms": "npm:^3.0.4"
"@csstools/css-tokenizer": "npm:^3.0.3"
@@ -9032,38 +8548,38 @@ __metadata:
colord: "npm:^2.9.3"
cosmiconfig: "npm:^9.0.0"
css-functions-list: "npm:^3.2.3"
- css-tree: "npm:^3.0.1"
+ css-tree: "npm:^3.1.0"
debug: "npm:^4.3.7"
- fast-glob: "npm:^3.3.2"
+ fast-glob: "npm:^3.3.3"
fastest-levenshtein: "npm:^1.0.16"
- file-entry-cache: "npm:^9.1.0"
+ file-entry-cache: "npm:^10.0.8"
global-modules: "npm:^2.0.0"
globby: "npm:^11.1.0"
globjoin: "npm:^0.1.4"
html-tags: "npm:^3.3.1"
- ignore: "npm:^6.0.2"
+ ignore: "npm:^7.0.3"
imurmurhash: "npm:^0.1.4"
is-plain-object: "npm:^5.0.0"
- known-css-properties: "npm:^0.35.0"
+ known-css-properties: "npm:^0.36.0"
mathml-tag-names: "npm:^2.1.3"
meow: "npm:^13.2.0"
micromatch: "npm:^4.0.8"
normalize-path: "npm:^3.0.0"
picocolors: "npm:^1.1.1"
- postcss: "npm:^8.4.49"
+ postcss: "npm:^8.5.3"
postcss-resolve-nested-selector: "npm:^0.1.6"
postcss-safe-parser: "npm:^7.0.1"
- postcss-selector-parser: "npm:^7.0.0"
+ postcss-selector-parser: "npm:^7.1.0"
postcss-value-parser: "npm:^4.2.0"
resolve-from: "npm:^5.0.0"
string-width: "npm:^4.2.3"
- supports-hyperlinks: "npm:^3.1.0"
+ supports-hyperlinks: "npm:^3.2.0"
svg-tags: "npm:^1.0.0"
- table: "npm:^6.8.2"
+ table: "npm:^6.9.0"
write-file-atomic: "npm:^5.0.1"
bin:
stylelint: bin/stylelint.mjs
- checksum: 10c0/65638247fb4e5eacb032e3a98412a13ad8b343d2d58e22d61b96ada72808b5b7e736c845937b3bcfde04c0bfa2120383b507e530afe876dafe824a93c337258f
+ checksum: 10c0/e633f323ff730e8f2ac982067e4caa9a6c98b81a519e7adff96fa7a7d047f68a24c0dd2d81f3511b0943d99c915f20f19da911d16d47336705ea70d46e960c89
languageName: node
linkType: hard
@@ -9076,15 +8592,6 @@ __metadata:
languageName: node
linkType: hard
-"supports-color@npm:^5.3.0":
- version: 5.5.0
- resolution: "supports-color@npm:5.5.0"
- dependencies:
- has-flag: "npm:^3.0.0"
- checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05
- languageName: node
- linkType: hard
-
"supports-color@npm:^7.0.0, supports-color@npm:^7.1.0":
version: 7.2.0
resolution: "supports-color@npm:7.2.0"
@@ -9094,13 +8601,13 @@ __metadata:
languageName: node
linkType: hard
-"supports-hyperlinks@npm:^3.1.0":
- version: 3.1.0
- resolution: "supports-hyperlinks@npm:3.1.0"
+"supports-hyperlinks@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "supports-hyperlinks@npm:3.2.0"
dependencies:
has-flag: "npm:^4.0.0"
supports-color: "npm:^7.0.0"
- checksum: 10c0/78cc3e17eb27e6846fa355a8ebf343befe36272899cd409e45317a06c1997e95c23ff99d91080a517bd8c96508d4fa456e6ceb338c02ba5d7544277dbec0f10f
+ checksum: 10c0/bca527f38d4c45bc95d6a24225944675746c515ddb91e2456d00ae0b5c537658e9dd8155b996b191941b0c19036195a098251304b9082bbe00cd1781f3cd838e
languageName: node
linkType: hard
@@ -9125,13 +8632,12 @@ __metadata:
languageName: node
linkType: hard
-"synckit@npm:^0.9.1":
- version: 0.9.1
- resolution: "synckit@npm:0.9.1"
+"synckit@npm:^0.11.0":
+ version: 0.11.6
+ resolution: "synckit@npm:0.11.6"
dependencies:
- "@pkgr/core": "npm:^0.1.0"
- tslib: "npm:^2.6.2"
- checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e
+ "@pkgr/core": "npm:^0.2.4"
+ checksum: 10c0/51c0e41c025b90cc68a7b304fbfe873cc77b3ddc99e92ab33fbd42f4fbd1ee65fc7d9affd8eedcac43644658399244aa521e19fb18d7b4e66898d0e2c0cc8d9b
languageName: node
linkType: hard
@@ -9142,23 +8648,23 @@ __metadata:
languageName: node
linkType: hard
-"table@npm:^6.8.2":
- version: 6.8.2
- resolution: "table@npm:6.8.2"
+"table@npm:^6.9.0":
+ version: 6.9.0
+ resolution: "table@npm:6.9.0"
dependencies:
ajv: "npm:^8.0.1"
lodash.truncate: "npm:^4.4.2"
slice-ansi: "npm:^4.0.0"
string-width: "npm:^4.2.3"
strip-ansi: "npm:^6.0.1"
- checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803
+ checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4
languageName: node
linkType: hard
"tapable@npm:^2.1.1, tapable@npm:^2.2.0":
- version: 2.2.1
- resolution: "tapable@npm:2.2.1"
- checksum: 10c0/bc40e6efe1e554d075469cedaba69a30eeb373552aaf41caeaaa45bf56ffacc2674261b106245bd566b35d8f3329b52d838e851ee0a852120acae26e622925c9
+ version: 2.2.2
+ resolution: "tapable@npm:2.2.2"
+ checksum: 10c0/8ad130aa705cab6486ad89e42233569a1fb1ff21af115f59cebe9f2b45e9e7995efceaa9cc5062510cdb4ec673b527924b2ab812e3579c55ad659ae92117011e
languageName: node
linkType: hard
@@ -9175,17 +8681,17 @@ __metadata:
languageName: node
linkType: hard
-"tar@npm:^6.1.11, tar@npm:^6.1.2":
- version: 6.2.1
- resolution: "tar@npm:6.2.1"
+"tar@npm:^7.4.3":
+ version: 7.4.3
+ resolution: "tar@npm:7.4.3"
dependencies:
- chownr: "npm:^2.0.0"
- fs-minipass: "npm:^2.0.0"
- minipass: "npm:^5.0.0"
- minizlib: "npm:^2.1.1"
- mkdirp: "npm:^1.0.3"
- yallist: "npm:^4.0.0"
- checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537
+ "@isaacs/fs-minipass": "npm:^4.0.0"
+ chownr: "npm:^3.0.0"
+ minipass: "npm:^7.1.2"
+ minizlib: "npm:^3.0.1"
+ mkdirp: "npm:^3.0.1"
+ yallist: "npm:^5.0.0"
+ checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d
languageName: node
linkType: hard
@@ -9212,16 +8718,16 @@ __metadata:
linkType: hard
"terser@npm:^5.31.1, terser@npm:^5.39.0":
- version: 5.39.0
- resolution: "terser@npm:5.39.0"
+ version: 5.39.2
+ resolution: "terser@npm:5.39.2"
dependencies:
"@jridgewell/source-map": "npm:^0.3.3"
- acorn: "npm:^8.8.2"
+ acorn: "npm:^8.14.0"
commander: "npm:^2.20.0"
source-map-support: "npm:~0.5.20"
bin:
terser: bin/terser
- checksum: 10c0/83326545ea1aecd6261030568b6191ccfa4cb6aa61d9ea41746a52479f50017a78b77e4725fbbc207c5df841ffa66a773c5ac33636e95c7ab94fe7e0379ae5c7
+ checksum: 10c0/f70462feddecf458ad2441b16b2969e0024f81c6e47207717a096cfa1d60b85e0c60a129b42c80bcb258c28ae16e4e6d875db8bb9df9be9b5bc748807c2916ba
languageName: node
linkType: hard
@@ -9232,31 +8738,31 @@ __metadata:
languageName: node
linkType: hard
-"tinyglobby@npm:^0.2.10":
- version: 0.2.10
- resolution: "tinyglobby@npm:0.2.10"
+"tinyglobby@npm:^0.2.12, tinyglobby@npm:^0.2.13":
+ version: 0.2.13
+ resolution: "tinyglobby@npm:0.2.13"
dependencies:
- fdir: "npm:^6.4.2"
+ fdir: "npm:^6.4.4"
picomatch: "npm:^4.0.2"
- checksum: 10c0/ce946135d39b8c0e394e488ad59f4092e8c4ecd675ef1bcd4585c47de1b325e61ec6adfbfbe20c3c2bfa6fd674c5b06de2a2e65c433f752ae170aff11793e5ef
+ checksum: 10c0/ef07dfaa7b26936601d3f6d999f7928a4d1c6234c5eb36896bb88681947c0d459b7ebe797022400e555fe4b894db06e922b95d0ce60cb05fd827a0a66326b18c
languageName: node
linkType: hard
-"tldts-core@npm:^6.1.66":
- version: 6.1.66
- resolution: "tldts-core@npm:6.1.66"
- checksum: 10c0/8bc781d8e209db1c776d5c3b816bdd14dade27078756ce616a71760f9cf3859ac3cb251afd6687163cda434047045077d6558cb7058adef53f525611ddde061c
+"tldts-core@npm:^6.1.86":
+ version: 6.1.86
+ resolution: "tldts-core@npm:6.1.86"
+ checksum: 10c0/8133c29375f3f99f88fce5f4d62f6ecb9532b106f31e5423b27c1eb1b6e711bd41875184a456819ceaed5c8b94f43911b1ad57e25c6eb86e1fc201228ff7e2af
languageName: node
linkType: hard
"tldts@npm:^6.1.32":
- version: 6.1.66
- resolution: "tldts@npm:6.1.66"
+ version: 6.1.86
+ resolution: "tldts@npm:6.1.86"
dependencies:
- tldts-core: "npm:^6.1.66"
+ tldts-core: "npm:^6.1.86"
bin:
tldts: bin/cli.js
- checksum: 10c0/2b195dcda6b309666d24b1157f88a92167cf4b5c1504a84838a495d02c4c11c672e149924ca4ef8b087132395b6df0e651daa7e031c087105c020bccfd5574ba
+ checksum: 10c0/27ae7526d9d78cb97b2de3f4d102e0b4321d1ccff0648a7bb0e039ed54acbce86bacdcd9cd3c14310e519b457854e7bafbef1f529f58a1e217a737ced63f0940
languageName: node
linkType: hard
@@ -9297,15 +8803,6 @@ __metadata:
languageName: node
linkType: hard
-"tr46@npm:^5.0.0":
- version: 5.0.0
- resolution: "tr46@npm:5.0.0"
- dependencies:
- punycode: "npm:^2.3.1"
- checksum: 10c0/1521b6e7bbc8adc825c4561480f9fe48eb2276c81335eed9fa610aa4c44a48a3221f78b10e5f18b875769eb3413e30efbf209ed556a17a42aa8d690df44b7bee
- languageName: node
- linkType: hard
-
"tr46@npm:^5.1.0":
version: 5.1.1
resolution: "tr46@npm:5.1.1"
@@ -9339,13 +8836,6 @@ __metadata:
languageName: node
linkType: hard
-"tslib@npm:^2.6.2":
- version: 2.6.2
- resolution: "tslib@npm:2.6.2"
- checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb
- languageName: node
- linkType: hard
-
"tua-body-scroll-lock@npm:^1.5.3":
version: 1.5.3
resolution: "tua-body-scroll-lock@npm:1.5.3"
@@ -9378,13 +8868,20 @@ __metadata:
languageName: node
linkType: hard
-"type-detect@npm:4.0.8, type-detect@npm:^4.0.0":
+"type-detect@npm:4.0.8":
version: 4.0.8
resolution: "type-detect@npm:4.0.8"
checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd
languageName: node
linkType: hard
+"type-detect@npm:^4.0.0":
+ version: 4.1.0
+ resolution: "type-detect@npm:4.1.0"
+ checksum: 10c0/df8157ca3f5d311edc22885abc134e18ff8ffbc93d6a9848af5b682730ca6a5a44499259750197250479c5331a8a75b5537529df5ec410622041650a7f293e2a
+ languageName: node
+ linkType: hard
+
"type-fest@npm:^0.20.2":
version: 0.20.2
resolution: "type-fest@npm:0.20.2"
@@ -9399,93 +8896,46 @@ __metadata:
languageName: node
linkType: hard
-"typed-array-buffer@npm:^1.0.0":
- version: 1.0.0
- resolution: "typed-array-buffer@npm:1.0.0"
- dependencies:
- call-bind: "npm:^1.0.2"
- get-intrinsic: "npm:^1.2.1"
- is-typed-array: "npm:^1.1.10"
- checksum: 10c0/ebad66cdf00c96b1395dffc7873169cf09801fca5954507a484f41f253feb1388d815db297b0b3bb8ce7421eac6f7ff45e2ec68450a3d68408aa4ae02fcf3a6c
- languageName: node
- linkType: hard
-
-"typed-array-buffer@npm:^1.0.2":
- version: 1.0.2
- resolution: "typed-array-buffer@npm:1.0.2"
+"typed-array-buffer@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "typed-array-buffer@npm:1.0.3"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bound: "npm:^1.0.3"
es-errors: "npm:^1.3.0"
- is-typed-array: "npm:^1.1.13"
- checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da
- languageName: node
- linkType: hard
-
-"typed-array-byte-length@npm:^1.0.0":
- version: 1.0.0
- resolution: "typed-array-byte-length@npm:1.0.0"
- dependencies:
- call-bind: "npm:^1.0.2"
- for-each: "npm:^0.3.3"
- has-proto: "npm:^1.0.1"
- is-typed-array: "npm:^1.1.10"
- checksum: 10c0/6696435d53ce0e704ff6760c57ccc35138aec5f87859e03eb2a3246336d546feae367952dbc918116f3f0dffbe669734e3cbd8960283c2fa79aac925db50d888
- languageName: node
- linkType: hard
-
-"typed-array-byte-length@npm:^1.0.1":
- version: 1.0.1
- resolution: "typed-array-byte-length@npm:1.0.1"
- dependencies:
- call-bind: "npm:^1.0.7"
- for-each: "npm:^0.3.3"
- gopd: "npm:^1.0.1"
- has-proto: "npm:^1.0.3"
- is-typed-array: "npm:^1.1.13"
- checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3
- languageName: node
- linkType: hard
-
-"typed-array-byte-offset@npm:^1.0.0":
- version: 1.0.0
- resolution: "typed-array-byte-offset@npm:1.0.0"
- dependencies:
- available-typed-arrays: "npm:^1.0.5"
- call-bind: "npm:^1.0.2"
- for-each: "npm:^0.3.3"
- has-proto: "npm:^1.0.1"
- is-typed-array: "npm:^1.1.10"
- checksum: 10c0/4036ce007ae9752931bed3dd61e0d6de2a3e5f6a5a85a05f3adb35388d2c0728f9b1a1e638d75579f168e49c289bfb5417f00e96d4ab081f38b647fc854ff7a5
+ is-typed-array: "npm:^1.1.14"
+ checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079
languageName: node
linkType: hard
-"typed-array-byte-offset@npm:^1.0.2":
+"typed-array-byte-length@npm:^1.0.3":
version: 1.0.3
- resolution: "typed-array-byte-offset@npm:1.0.3"
+ resolution: "typed-array-byte-length@npm:1.0.3"
dependencies:
- available-typed-arrays: "npm:^1.0.7"
- call-bind: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
for-each: "npm:^0.3.3"
- gopd: "npm:^1.0.1"
- has-proto: "npm:^1.0.3"
- is-typed-array: "npm:^1.1.13"
- reflect.getprototypeof: "npm:^1.0.6"
- checksum: 10c0/5da29585f96671c0521475226d3227000b3e01d1e99208b66bb05b75c7c8f4d0e9cc2e79920f3bfbc792a00102df1daa2608a2753e3f291b671d5a80245bde5b
+ gopd: "npm:^1.2.0"
+ has-proto: "npm:^1.2.0"
+ is-typed-array: "npm:^1.1.14"
+ checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e
languageName: node
linkType: hard
-"typed-array-length@npm:^1.0.4":
+"typed-array-byte-offset@npm:^1.0.4":
version: 1.0.4
- resolution: "typed-array-length@npm:1.0.4"
+ resolution: "typed-array-byte-offset@npm:1.0.4"
dependencies:
- call-bind: "npm:^1.0.2"
+ available-typed-arrays: "npm:^1.0.7"
+ call-bind: "npm:^1.0.8"
for-each: "npm:^0.3.3"
- is-typed-array: "npm:^1.1.9"
- checksum: 10c0/c5163c0103d07fefc8a2ad0fc151f9ca9a1f6422098c00f695d55f9896e4d63614cd62cf8d8a031c6cee5f418e8980a533796597174da4edff075b3d275a7e23
+ gopd: "npm:^1.2.0"
+ has-proto: "npm:^1.2.0"
+ is-typed-array: "npm:^1.1.15"
+ reflect.getprototypeof: "npm:^1.0.9"
+ checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53
languageName: node
linkType: hard
-"typed-array-length@npm:^1.0.6":
+"typed-array-length@npm:^1.0.7":
version: 1.0.7
resolution: "typed-array-length@npm:1.0.7"
dependencies:
@@ -9499,54 +8949,47 @@ __metadata:
languageName: node
linkType: hard
-"unbox-primitive@npm:^1.0.2":
- version: 1.0.2
- resolution: "unbox-primitive@npm:1.0.2"
+"unbox-primitive@npm:^1.1.0":
+ version: 1.1.0
+ resolution: "unbox-primitive@npm:1.1.0"
dependencies:
- call-bind: "npm:^1.0.2"
+ call-bound: "npm:^1.0.3"
has-bigints: "npm:^1.0.2"
- has-symbols: "npm:^1.0.3"
- which-boxed-primitive: "npm:^1.0.2"
- checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66
- languageName: node
- linkType: hard
-
-"underscore@npm:>=1.8.3":
- version: 1.13.6
- resolution: "underscore@npm:1.13.6"
- checksum: 10c0/5f57047f47273044c045fddeb8b141dafa703aa487afd84b319c2495de2e685cecd0b74abec098292320d518b267c0c4598e45aa47d4c3628d0d4020966ba521
+ has-symbols: "npm:^1.1.0"
+ which-boxed-primitive: "npm:^1.1.1"
+ checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982
languageName: node
linkType: hard
-"underscore@npm:~1.13.7":
+"underscore@npm:>=1.8.3, underscore@npm:~1.13.7":
version: 1.13.7
resolution: "underscore@npm:1.13.7"
checksum: 10c0/fad2b4aac48847674aaf3c30558f383399d4fdafad6dd02dd60e4e1b8103b52c5a9e5937e0cc05dacfd26d6a0132ed0410ab4258241240757e4a4424507471cd
languageName: node
linkType: hard
-"undici-types@npm:~5.26.4":
- version: 5.26.5
- resolution: "undici-types@npm:5.26.5"
- checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501
+"undici-types@npm:~6.21.0":
+ version: 6.21.0
+ resolution: "undici-types@npm:6.21.0"
+ checksum: 10c0/c01ed51829b10aa72fc3ce64b747f8e74ae9b60eafa19a7b46ef624403508a54c526ffab06a14a26b3120d055e1104d7abe7c9017e83ced038ea5cf52f8d5e04
languageName: node
linkType: hard
-"unique-filename@npm:^3.0.0":
- version: 3.0.0
- resolution: "unique-filename@npm:3.0.0"
+"unique-filename@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "unique-filename@npm:4.0.0"
dependencies:
- unique-slug: "npm:^4.0.0"
- checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f
+ unique-slug: "npm:^5.0.0"
+ checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc
languageName: node
linkType: hard
-"unique-slug@npm:^4.0.0":
- version: 4.0.0
- resolution: "unique-slug@npm:4.0.0"
+"unique-slug@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "unique-slug@npm:5.0.0"
dependencies:
imurmurhash: "npm:^0.1.4"
- checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635
+ checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293
languageName: node
linkType: hard
@@ -9564,45 +9007,17 @@ __metadata:
languageName: node
linkType: hard
-"update-browserslist-db@npm:^1.0.13":
- version: 1.0.13
- resolution: "update-browserslist-db@npm:1.0.13"
- dependencies:
- escalade: "npm:^3.1.1"
- picocolors: "npm:^1.0.0"
- peerDependencies:
- browserslist: ">= 4.21.0"
- bin:
- update-browserslist-db: cli.js
- checksum: 10c0/e52b8b521c78ce1e0c775f356cd16a9c22c70d25f3e01180839c407a5dc787fb05a13f67560cbaf316770d26fa99f78f1acd711b1b54a4f35d4820d4ea7136e6
- languageName: node
- linkType: hard
-
-"update-browserslist-db@npm:^1.1.0":
- version: 1.1.0
- resolution: "update-browserslist-db@npm:1.1.0"
- dependencies:
- escalade: "npm:^3.1.2"
- picocolors: "npm:^1.0.1"
- peerDependencies:
- browserslist: ">= 4.21.0"
- bin:
- update-browserslist-db: cli.js
- checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9
- languageName: node
- linkType: hard
-
-"update-browserslist-db@npm:^1.1.1":
- version: 1.1.1
- resolution: "update-browserslist-db@npm:1.1.1"
+"update-browserslist-db@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "update-browserslist-db@npm:1.1.3"
dependencies:
escalade: "npm:^3.2.0"
- picocolors: "npm:^1.1.0"
+ picocolors: "npm:^1.1.1"
peerDependencies:
browserslist: ">= 4.21.0"
bin:
update-browserslist-db: cli.js
- checksum: 10c0/536a2979adda2b4be81b07e311bd2f3ad5e978690987956bc5f514130ad50cac87cd22c710b686d79731e00fbee8ef43efe5fcd72baa241045209195d43dcc80
+ checksum: 10c0/682e8ecbf9de474a626f6462aa85927936cdd256fe584c6df2508b0df9f7362c44c957e9970df55dfe44d3623807d26316ea2c7d26b80bb76a16c56c37233c32
languageName: node
linkType: hard
@@ -9655,10 +9070,10 @@ __metadata:
languageName: node
linkType: hard
-"vscode-uri@npm:^3.0.8":
- version: 3.0.8
- resolution: "vscode-uri@npm:3.0.8"
- checksum: 10c0/f7f217f526bf109589969fe6e66b71e70b937de1385a1d7bb577ca3ee7c5e820d3856a86e9ff2fa9b7a0bc56a3dd8c3a9a557d3fedd7df414bc618d5e6b567f9
+"vscode-uri@npm:^3.1.0":
+ version: 3.1.0
+ resolution: "vscode-uri@npm:3.1.0"
+ checksum: 10c0/5f6c9c10fd9b1664d71fab4e9fbbae6be93c7f75bb3a1d9d74399a88ab8649e99691223fd7cef4644376cac6e94fa2c086d802521b9a8e31c5af3e60f0f35624
languageName: node
linkType: hard
@@ -9672,12 +9087,12 @@ __metadata:
linkType: hard
"watchpack@npm:^2.4.1":
- version: 2.4.1
- resolution: "watchpack@npm:2.4.1"
+ version: 2.4.4
+ resolution: "watchpack@npm:2.4.4"
dependencies:
glob-to-regexp: "npm:^0.4.1"
graceful-fs: "npm:^4.1.2"
- checksum: 10c0/c694de0a61004e587a8a0fdc9cfec20ee692c52032d9ab2c2e99969a37fdab9e6e1bd3164ed506f9a13f7c83e65563d563e0d6b87358470cdb7309b83db78683
+ checksum: 10c0/6c0901f75ce245d33991225af915eea1c5ae4ba087f3aee2b70dd377d4cacb34bef02a48daf109da9d59b2d31ec6463d924a0d72f8618ae1643dd07b95de5275
languageName: node
linkType: hard
@@ -9746,8 +9161,8 @@ __metadata:
linkType: hard
"webpack@npm:^5.99.8":
- version: 5.99.8
- resolution: "webpack@npm:5.99.8"
+ version: 5.99.9
+ resolution: "webpack@npm:5.99.9"
dependencies:
"@types/eslint-scope": "npm:^3.7.7"
"@types/estree": "npm:^1.0.6"
@@ -9778,7 +9193,7 @@ __metadata:
optional: true
bin:
webpack: bin/webpack.js
- checksum: 10c0/c4852c3b795ed3fba799d2925802a4e259b2de7c2c597f0aaf0e228acfdc6755389ed8c29f1dad86610a9c6ad968c0b57c702b93891d60f09d302af63b2debe0
+ checksum: 10c0/34ec3f19b50bccaf27929e5e5b901b25047f2d414acba7d0967dc98eb4f404d107fb1a4b63095edbca2b006ff5815f1720b131e10b20664b074dfc86b7ffa717
languageName: node
linkType: hard
@@ -9798,17 +9213,7 @@ __metadata:
languageName: node
linkType: hard
-"whatwg-url@npm:^14.0.0":
- version: 14.0.0
- resolution: "whatwg-url@npm:14.0.0"
- dependencies:
- tr46: "npm:^5.0.0"
- webidl-conversions: "npm:^7.0.0"
- checksum: 10c0/ac32e9ba9d08744605519bbe9e1371174d36229689ecc099157b6ba102d4251a95e81d81f3d80271eb8da182eccfa65653f07f0ab43ea66a6934e643fd091ba9
- languageName: node
- linkType: hard
-
-"whatwg-url@npm:^14.1.1":
+"whatwg-url@npm:^14.0.0, whatwg-url@npm:^14.1.1":
version: 14.2.0
resolution: "whatwg-url@npm:14.2.0"
dependencies:
@@ -9818,37 +9223,37 @@ __metadata:
languageName: node
linkType: hard
-"which-boxed-primitive@npm:^1.0.2":
- version: 1.0.2
- resolution: "which-boxed-primitive@npm:1.0.2"
+"which-boxed-primitive@npm:^1.0.2, which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "which-boxed-primitive@npm:1.1.1"
dependencies:
- is-bigint: "npm:^1.0.1"
- is-boolean-object: "npm:^1.1.0"
- is-number-object: "npm:^1.0.4"
- is-string: "npm:^1.0.5"
- is-symbol: "npm:^1.0.3"
- checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e
+ is-bigint: "npm:^1.1.0"
+ is-boolean-object: "npm:^1.2.1"
+ is-number-object: "npm:^1.1.1"
+ is-string: "npm:^1.1.1"
+ is-symbol: "npm:^1.1.1"
+ checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe
languageName: node
linkType: hard
-"which-builtin-type@npm:^1.2.0":
- version: 1.2.0
- resolution: "which-builtin-type@npm:1.2.0"
+"which-builtin-type@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "which-builtin-type@npm:1.2.1"
dependencies:
- call-bind: "npm:^1.0.7"
+ call-bound: "npm:^1.0.2"
function.prototype.name: "npm:^1.1.6"
has-tostringtag: "npm:^1.0.2"
is-async-function: "npm:^2.0.0"
- is-date-object: "npm:^1.0.5"
+ is-date-object: "npm:^1.1.0"
is-finalizationregistry: "npm:^1.1.0"
is-generator-function: "npm:^1.0.10"
- is-regex: "npm:^1.1.4"
+ is-regex: "npm:^1.2.1"
is-weakref: "npm:^1.0.2"
isarray: "npm:^2.0.5"
- which-boxed-primitive: "npm:^1.0.2"
+ which-boxed-primitive: "npm:^1.1.0"
which-collection: "npm:^1.0.2"
- which-typed-array: "npm:^1.1.15"
- checksum: 10c0/7cd4a8ccfa6a3cb7c2296c716e7266b9f31a66f3e131fe7b185232c16d3ad21442046ec1798c4ec1e19dce7eb99c7751377192e5e734dc07042d14ec0f09b332
+ which-typed-array: "npm:^1.1.16"
+ checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471
languageName: node
linkType: hard
@@ -9864,29 +9269,18 @@ __metadata:
languageName: node
linkType: hard
-"which-typed-array@npm:^1.1.11, which-typed-array@npm:^1.1.13":
- version: 1.1.13
- resolution: "which-typed-array@npm:1.1.13"
- dependencies:
- available-typed-arrays: "npm:^1.0.5"
- call-bind: "npm:^1.0.4"
- for-each: "npm:^0.3.3"
- gopd: "npm:^1.0.1"
- has-tostringtag: "npm:^1.0.0"
- checksum: 10c0/9f5f1c42918df3d5b91c4315ed0051d5d874370998bf095c9ae0df374f0881f85094e3c384b8fb08ab7b4d4f54ba81c0aff75da6226e7c0589b83dfbec1cd4c9
- languageName: node
- linkType: hard
-
-"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15":
- version: 1.1.16
- resolution: "which-typed-array@npm:1.1.16"
+"which-typed-array@npm:^1.1.13, which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18":
+ version: 1.1.19
+ resolution: "which-typed-array@npm:1.1.19"
dependencies:
available-typed-arrays: "npm:^1.0.7"
- call-bind: "npm:^1.0.7"
- for-each: "npm:^0.3.3"
- gopd: "npm:^1.0.1"
+ call-bind: "npm:^1.0.8"
+ call-bound: "npm:^1.0.4"
+ for-each: "npm:^0.3.5"
+ get-proto: "npm:^1.0.1"
+ gopd: "npm:^1.2.0"
has-tostringtag: "npm:^1.0.2"
- checksum: 10c0/a9075293200db4fbce7c24d52731843542c5a19edfc66e31aa2cbefa788b5caa7ef05008f6e60d2c38d8198add6b92d0ddc2937918c5c308be398b1ebd8721af
+ checksum: 10c0/702b5dc878addafe6c6300c3d0af5983b175c75fcb4f2a72dfc3dd38d93cf9e89581e4b29c854b16ea37e50a7d7fca5ae42ece5c273d8060dcd603b2404bbb3f
languageName: node
linkType: hard
@@ -9912,14 +9306,14 @@ __metadata:
languageName: node
linkType: hard
-"which@npm:^4.0.0":
- version: 4.0.0
- resolution: "which@npm:4.0.0"
+"which@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "which@npm:5.0.0"
dependencies:
isexe: "npm:^3.1.1"
bin:
node-which: bin/which.js
- checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a
+ checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b
languageName: node
linkType: hard
@@ -9939,6 +9333,13 @@ __metadata:
languageName: node
linkType: hard
+"word-wrap@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "word-wrap@npm:1.2.5"
+ checksum: 10c0/e0e4a1ca27599c92a6ca4c32260e8a92e8a44f4ef6ef93f803f8ed823f486e0889fc0b93be4db59c8d51b3064951d25e43d434e95dc8c960cc3a63d65d00ba20
+ languageName: node
+ linkType: hard
+
"workerpool@npm:6.2.1":
version: 6.2.1
resolution: "workerpool@npm:6.2.1"
@@ -9986,8 +9387,8 @@ __metadata:
linkType: hard
"ws@npm:^8.18.0":
- version: 8.18.0
- resolution: "ws@npm:8.18.0"
+ version: 8.18.2
+ resolution: "ws@npm:8.18.2"
peerDependencies:
bufferutil: ^4.0.1
utf-8-validate: ">=5.0.2"
@@ -9996,7 +9397,7 @@ __metadata:
optional: true
utf-8-validate:
optional: true
- checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06
+ checksum: 10c0/4b50f67931b8c6943c893f59c524f0e4905bbd183016cfb0f2b8653aa7f28dad4e456b9d99d285bbb67cca4fedd9ce90dfdfaa82b898a11414ebd66ee99141e4
languageName: node
linkType: hard
@@ -10044,30 +9445,29 @@ __metadata:
languageName: node
linkType: hard
+"yallist@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "yallist@npm:5.0.0"
+ checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416
+ languageName: node
+ linkType: hard
+
"yaml-eslint-parser@npm:^1.2.1":
- version: 1.2.2
- resolution: "yaml-eslint-parser@npm:1.2.2"
+ version: 1.3.0
+ resolution: "yaml-eslint-parser@npm:1.3.0"
dependencies:
eslint-visitor-keys: "npm:^3.0.0"
- lodash: "npm:^4.17.21"
yaml: "npm:^2.0.0"
- checksum: 10c0/cd3908a2715626cf15d9a76e8d6192133e3a321cae4c396b36c366641b9b5b3cb8e6d426efbc0db1319aa0b16f1f512f23763e9709bc94ae63d1eb88103ae242
- languageName: node
- linkType: hard
-
-"yaml@npm:^2.0.0":
- version: 2.3.4
- resolution: "yaml@npm:2.3.4"
- checksum: 10c0/cf03b68f8fef5e8516b0f0b54edaf2459f1648317fc6210391cf606d247e678b449382f4bd01f77392538429e306c7cba8ff46ff6b37cac4de9a76aff33bd9e1
+ checksum: 10c0/160a8dcb97e65e08de85069898379fbecad85838384797df9695f4cb51e48a195e57b3f3fc5abb35eec7c8d1329c3b7b92b12999f5f20c314d9a7d8d549de105
languageName: node
linkType: hard
-"yaml@npm:^2.6.1":
- version: 2.6.1
- resolution: "yaml@npm:2.6.1"
+"yaml@npm:^2.0.0, yaml@npm:^2.7.1":
+ version: 2.8.0
+ resolution: "yaml@npm:2.8.0"
bin:
yaml: bin.mjs
- checksum: 10c0/aebf07f61c72b38c74d2b60c3a3ccf89ee4da45bcd94b2bfb7899ba07a5257625a7c9f717c65a6fc511563d48001e01deb1d9e55f0133f3e2edf86039c8c1be7
+ checksum: 10c0/f6f7310cf7264a8107e72c1376f4de37389945d2fb4656f8060eca83f01d2d703f9d1b925dd8f39852a57034fafefde6225409ddd9f22aebfda16c6141b71858
languageName: node
linkType: hard