From 8c8727b3455c1ca4a42a35c7a566a8ebd1334e3c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 28 May 2026 08:38:39 -0600 Subject: [PATCH 01/41] fix(deps): bump tmp from 0.2.5 to 0.2.7 (#630) Developer - Bump `tmp` from 0.2.5 to 0.2.7 Co-authored-by: dkotter --- package-lock.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package-lock.json b/package-lock.json index f33dacb1..809e5311 100644 --- a/package-lock.json +++ b/package-lock.json @@ -32082,9 +32082,9 @@ "license": "MIT" }, "node_modules/tmp": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", - "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.7.tgz", + "integrity": "sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==", "dev": true, "license": "MIT", "engines": { From b4d6ce386bb4c4b39bb2ed0e1d975ee0e82654a2 Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Fri, 29 May 2026 03:23:02 +0530 Subject: [PATCH 02/41] Fix[Alt Generation]: Generate button becomes unresponsive after using Next/Previous in media modal (#631) Fixed - Alt Text Generation button becomes unresponsive after using Next/Previous in the media modal. Unlinked contributors: kohcsi. Co-authored-by: yogeshbhutkar Co-authored-by: jeffpaul Co-authored-by: dkotter --- src/experiments/alt-text-generation/media.ts | 24 ++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/src/experiments/alt-text-generation/media.ts b/src/experiments/alt-text-generation/media.ts index 9e59438d..bf05f79d 100644 --- a/src/experiments/alt-text-generation/media.ts +++ b/src/experiments/alt-text-generation/media.ts @@ -35,6 +35,9 @@ type WordPressMedia = { }; }; frame?: { on: ( event: string, cb: unknown ) => void }; + frames?: { + edit?: { on: ( event: string, cb: unknown ) => void }; + }; }; Uploader?: { queue?: { on: ( event: string, cb: unknown ) => void } }; }; @@ -286,8 +289,25 @@ window.jQuery?.( document ).ready( function () { ); } ); - // When editing an attachment in the media library. - wpMedia.media?.frame?.on( 'edit:attachment', initAltTextMediaControls ); + // The edit attachment frame is created lazily when the modal opens. + let isEditAttachmentRefreshBound = false; + + // Initialize controls the first time the attachment edit modal opens, then + // bind the edit frame refresh event once for later attachment changes. + wpMedia.media?.frame?.on( 'edit:attachment', () => { + if ( ! isEditAttachmentRefreshBound ) { + initAltTextMediaControls(); + + // Fired when the edit modal refreshes for next/previous navigation, + // and when the same edit frame is reused after reopening the modal. + wpMedia.media?.frames?.edit?.on( + 'refresh', + initAltTextMediaControls + ); + + isEditAttachmentRefreshBound = true; + } + } ); // For newly uploaded media. wpMedia.Uploader?.queue?.on( 'reset', initAltTextMediaControls ); From b30c0c91aa08a617ab387efe340518ec86e61407 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 07:38:13 -0600 Subject: [PATCH 03/41] chore(ci): bump codecov/codecov-action (#636) Developer - Bump `codecov/codecov-action` from 6.0.0 to 6.0.1 Co-authored-by: dkotter --- .github/workflows/test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 07764981..52aa927c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -247,7 +247,7 @@ jobs: - name: Upload code coverage report continue-on-error: true if: ${{ matrix.coverage }} - uses: codecov/codecov-action@57e3a136b779b570ffcdbf80b3bdc90e7fab3de2 # v6.0.0 + uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1 with: token: ${{ secrets.CODECOV_TOKEN }} files: tests/_output/php-coverage.xml From 0a84f422b7bcc36e37e4d43f56effe8fd8fa28da Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 29 May 2026 07:57:55 -0600 Subject: [PATCH 04/41] fix(deps-dev): bump the composer-dev-minor-patch group with 2 updates (#635) Developer - Bump `phpstan/php-8-stubs` from 0.4.34 to 0.4.35 and `phpstan/phpstan` from 2.1.54 to 2.1.55 Co-authored-by: dkotter --- composer.json | 4 ++-- composer.lock | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/composer.json b/composer.json index 781c9378..9963b51f 100644 --- a/composer.json +++ b/composer.json @@ -13,10 +13,10 @@ "php-stubs/wp-cli-stubs": "^2.12", "phpcompatibility/phpcompatibility-wp": "^3.0.0-alpha", "phpstan/extension-installer": "^1.3", - "phpstan/php-8-stubs": "^0.4.0", + "phpstan/php-8-stubs": "^0.4.35", "phpstan/phpstan-deprecation-rules": "^2.0.4", "phpstan/phpstan-phpunit": "^2.0.16", - "phpstan/phpstan": "^2.1.54", + "phpstan/phpstan": "^2.1.55", "phpunit/phpunit": "^8.5|^9.6", "slevomat/coding-standard": "^8.0", "szepeviktor/phpstan-wordpress": "^2.0.2", diff --git a/composer.lock b/composer.lock index 87b402b5..72e11cd4 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ac59674e7057696b4f513e0d40cd9fba", + "content-hash": "20c6ecb852b751e3af5577fc2b83bea1", "packages": [], "packages-dev": [ { @@ -1012,16 +1012,16 @@ }, { "name": "phpstan/php-8-stubs", - "version": "0.4.34", + "version": "0.4.35", "source": { "type": "git", "url": "https://github.com/phpstan/php-8-stubs.git", - "reference": "2da4cdab8ac153926628877fbacebc80ba175b7c" + "reference": "1dbd55178db0faa8f85dc262985b858657990923" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/php-8-stubs/zipball/2da4cdab8ac153926628877fbacebc80ba175b7c", - "reference": "2da4cdab8ac153926628877fbacebc80ba175b7c", + "url": "https://api.github.com/repos/phpstan/php-8-stubs/zipball/1dbd55178db0faa8f85dc262985b858657990923", + "reference": "1dbd55178db0faa8f85dc262985b858657990923", "shasum": "" }, "type": "library", @@ -1038,9 +1038,9 @@ "description": "PHP stubs extracted from php-src", "support": { "issues": "https://github.com/phpstan/php-8-stubs/issues", - "source": "https://github.com/phpstan/php-8-stubs/tree/0.4.34" + "source": "https://github.com/phpstan/php-8-stubs/tree/0.4.35" }, - "time": "2025-12-02T00:23:47+00:00" + "time": "2026-05-18T00:50:58+00:00" }, { "name": "phpstan/phpdoc-parser", @@ -1091,11 +1091,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.54", + "version": "2.1.55", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/8be50c3992107dc837b17da4d140fbbdf9a5c5bd", - "reference": "8be50c3992107dc837b17da4d140fbbdf9a5c5bd", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9eaac3826ed5e9b8427350a43cac825eeca3f566", + "reference": "9eaac3826ed5e9b8427350a43cac825eeca3f566", "shasum": "" }, "require": { @@ -1140,7 +1140,7 @@ "type": "github" } ], - "time": "2026-04-29T13:31:09+00:00" + "time": "2026-05-18T11:57:34+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", From f435d19ce1a0f021ecd148fde16041cf3e4dae03 Mon Sep 17 00:00:00 2001 From: Ayush <63203492+macayu17@users.noreply.github.com> Date: Fri, 29 May 2026 19:45:57 +0530 Subject: [PATCH 05/41] Group Editorial Notes and Updates controls in editor sidebar (#605) Changed - Ensure the Editorial Notes and Editorial Updates controls stay grouped together in the post editor sidebar Co-authored-by: macayu17 Co-authored-by: jeffpaul Co-authored-by: dkotter --- .../Summarization/Summarization.php | 12 +-- .../components/EditorialUpdatesPlugin.tsx | 5 +- .../Summarization/SummarizationTest.php | 55 +++++++++++ .../experiments/editorial-updates.spec.js | 99 +++++++++++++++++++ 4 files changed, 163 insertions(+), 8 deletions(-) diff --git a/includes/Experiments/Summarization/Summarization.php b/includes/Experiments/Summarization/Summarization.php index 4255612e..42e5a15d 100644 --- a/includes/Experiments/Summarization/Summarization.php +++ b/includes/Experiments/Summarization/Summarization.php @@ -50,7 +50,7 @@ protected function load_metadata(): array { public function register(): void { $this->register_post_meta(); add_action( 'wp_abilities_api_init', array( $this, 'register_abilities' ) ); - add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_assets' ) ); + add_action( 'enqueue_block_editor_assets', array( $this, 'enqueue_assets' ), 5 ); add_action( 'enqueue_block_assets', array( $this, 'enqueue_block_assets' ) ); } @@ -88,15 +88,13 @@ public function register_abilities(): void { } /** - * Enqueues and localizes the admin script. + * Enqueues and localizes the block editor script. * * @since 0.3.0 - * - * @param string $hook_suffix The current admin page hook suffix. */ - public function enqueue_assets( string $hook_suffix ): void { - // Load asset in new post and edit post screens only. - if ( 'post.php' !== $hook_suffix && 'post-new.php' !== $hook_suffix ) { + public function enqueue_assets(): void { + $screen = get_current_screen(); + if ( ! $screen || 'post' !== $screen->base ) { return; } diff --git a/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx b/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx index 9e378f21..065682cd 100644 --- a/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx +++ b/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx @@ -59,7 +59,10 @@ export default function EditorialUpdatesPlugin() { isBusy={ isRefining } disabled={ isRefining } onClick={ () => void runRefinement() } - style={ { width: '100%', justifyContent: 'center' } } + style={ { + width: '100%', + justifyContent: 'center', + } } > { buttonLabel } diff --git a/tests/Integration/Includes/Experiments/Summarization/SummarizationTest.php b/tests/Integration/Includes/Experiments/Summarization/SummarizationTest.php index 7cd60e53..fecb235a 100644 --- a/tests/Integration/Includes/Experiments/Summarization/SummarizationTest.php +++ b/tests/Integration/Includes/Experiments/Summarization/SummarizationTest.php @@ -9,6 +9,7 @@ use WP_UnitTestCase; use WordPress\AI\Experiments\Experiment_Category; +use WordPress\AI\Experiments\Experiments; use WordPress\AI\Experiments\Summarization\Summarization; use WordPress\AI\Features\Loader; use WordPress\AI\Features\Registry; @@ -37,6 +38,9 @@ public function setUp(): void { update_option( 'wpai_features_enabled', true ); update_option( 'wpai_feature_summarization_enabled', true ); + $experiments = new Experiments(); + $experiments->init(); + $registry = new Registry(); $loader = new Loader( $registry ); $loader->init(); @@ -56,6 +60,7 @@ public function tearDown(): void { delete_option( 'wpai_feature_summarization_enabled' ); delete_option( 'wp_ai_client_provider_credentials' ); remove_filter( 'wpai_pre_has_valid_credentials_check', '__return_true' ); + remove_filter( 'wpai_default_feature_classes', array( Experiments::class, 'register_default_experiment_classes' ), 9 ); parent::tearDown(); } @@ -72,4 +77,54 @@ public function test_experiment_registration() { $this->assertEquals( Experiment_Category::EDITOR, $experiment->get_category() ); $this->assertTrue( $experiment->is_enabled() ); } + + /** + * Tests that the editor assets are registered with the block editor assets hook. + * + * @since x.x.x + */ + public function test_register_uses_block_editor_assets_hook() { + $experiment = new Summarization(); + + try { + $experiment->register(); + + $this->assertSame( + 5, + has_action( 'enqueue_block_editor_assets', array( $experiment, 'enqueue_assets' ) ), + 'Summarization editor assets should load before other block editor controls.' + ); + $this->assertFalse( + has_action( 'admin_enqueue_scripts', array( $experiment, 'enqueue_assets' ) ), + 'Summarization editor assets should not load through the general admin assets hook.' + ); + } finally { + remove_action( 'enqueue_block_editor_assets', array( $experiment, 'enqueue_assets' ), 5 ); + remove_action( 'admin_enqueue_scripts', array( $experiment, 'enqueue_assets' ) ); + remove_action( 'wp_abilities_api_init', array( $experiment, 'register_abilities' ) ); + remove_action( 'enqueue_block_assets', array( $experiment, 'enqueue_block_assets' ) ); + } + } + + /** + * Tests that enqueue_assets() does not load outside the post editor. + * + * @since x.x.x + */ + public function test_enqueue_assets_skips_non_post_screens() { + $experiment = new Summarization(); + + set_current_screen( 'dashboard' ); + + try { + $experiment->enqueue_assets(); + + $this->assertFalse( + wp_script_is( 'ai_summarization', 'enqueued' ), + 'Summarization assets should not load outside post editor screens.' + ); + } finally { + set_current_screen( 'front' ); + } + } } diff --git a/tests/e2e/specs/experiments/editorial-updates.spec.js b/tests/e2e/specs/experiments/editorial-updates.spec.js index adcbc72e..c7941631 100644 --- a/tests/e2e/specs/experiments/editorial-updates.spec.js +++ b/tests/e2e/specs/experiments/editorial-updates.spec.js @@ -222,6 +222,105 @@ test.describe( 'Editorial Updates Experiment', () => { expect( blockContent ).toContain( 'refined block content' ); } ); + test( 'Keeps Editorial Notes and Updates grouped with Content Summarization enabled', async ( { + admin, + editor, + page, + } ) => { + await enableExperiment( admin, page, 'Editorial Notes' ); + await enableExperiment( admin, page, 'Content Summarization' ); + + await admin.createNewPost( { + title: 'Grouped Editorial Controls Test', + content: + 'This post has enough content to meet the minimum character requirement for the summarization feature and show the editor sidebar controls.', + } ); + await editor.saveDraft(); + + const noteId = await page.evaluate( async () => { + const postId = window.wp.data + .select( 'core/editor' ) + .getCurrentPostId(); + + await window.wp.apiFetch( { + path: `/wp/v2/posts/${ postId }`, + method: 'POST', + data: { comment_status: 'open' }, + } ); + + const note = await window.wp.apiFetch( { + path: '/wp/v2/comments', + method: 'POST', + data: { + post: postId, + content: 'Make this clearer.', + type: 'note', + status: 'hold', + meta: { + ai_note: true, + }, + }, + } ); + + return note.id; + } ); + + const mockNote = { + id: noteId, + parent: 0, + content: { rendered: '

Make this clearer.

' }, + meta: { ai_note: true }, + }; + + await page.route( /\/wp\/v2\/comments/, async ( route ) => { + const url = route.request().url(); + const hasTypeNote = + url.includes( 'type=note' ) || url.includes( 'type%3Dnote' ); + + if ( hasTypeNote ) { + await route.fulfill( { + status: 200, + contentType: 'application/json', + body: JSON.stringify( [ mockNote ] ), + headers: { + 'X-WP-Total': '1', + 'X-WP-TotalPages': '1', + }, + } ); + return; + } + + await route.continue(); + } ); + + await page.reload(); + await editor.openDocumentSettingsSidebar(); + + const notesButton = page.getByRole( 'button', { + name: 'Generate Editorial Notes', + } ); + const updatesButton = page.getByRole( 'button', { + name: 'Apply Editorial Updates', + } ); + const summaryButton = page.getByRole( 'button', { + name: 'Generate Summary', + } ); + + await expect( notesButton ).toBeVisible(); + await expect( updatesButton ).toBeVisible( { timeout: 10000 } ); + await expect( summaryButton ).toBeVisible(); + + const notesBox = await notesButton.boundingBox(); + const updatesBox = await updatesButton.boundingBox(); + const summaryBox = await summaryButton.boundingBox(); + + expect( notesBox ).not.toBeNull(); + expect( updatesBox ).not.toBeNull(); + expect( summaryBox ).not.toBeNull(); + expect( summaryBox.y ).toBeLessThan( notesBox.y ); + expect( notesBox.y ).toBeLessThan( updatesBox.y ); + } ); + test( 'Button is hidden when experiments are globally disabled', async ( { admin, editor, From 6b3653986d091c91e1b41bfce699f74a7a3218c3 Mon Sep 17 00:00:00 2001 From: Trushiv Date: Mon, 1 Jun 2026 21:44:21 +0530 Subject: [PATCH 06/41] Fix: Add accessible labels to filter select elements in Abilities Explorer (#642) Fixed - Added accessible labels to the provider and category filter dropdowns in the Abilities Explorer page. Co-authored-by: Trushiv04 Co-authored-by: dkotter --- includes/Experiments/Abilities_Explorer/Ability_Table.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/includes/Experiments/Abilities_Explorer/Ability_Table.php b/includes/Experiments/Abilities_Explorer/Ability_Table.php index e0b933bd..fad9353a 100644 --- a/includes/Experiments/Abilities_Explorer/Ability_Table.php +++ b/includes/Experiments/Abilities_Explorer/Ability_Table.php @@ -291,6 +291,7 @@ public function extra_tablenav( $which ): void { ?>
+ +
From 64e803265ae020b8dbd1a2698a28c0fac17dec85 Mon Sep 17 00:00:00 2001 From: Kamran Abdul Aziz <7408560+ekamran@users.noreply.github.com> Date: Wed, 3 Jun 2026 20:34:33 +0530 Subject: [PATCH 13/41] Fix excerpt generation post context payload (#651) Fixed - Excerpt generation post context payload. Co-authored-by: ekamran Co-authored-by: dkotter --- .../excerpt-generation/components/useExcerptGeneration.ts | 2 +- src/experiments/excerpt-generation/types.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/experiments/excerpt-generation/components/useExcerptGeneration.ts b/src/experiments/excerpt-generation/components/useExcerptGeneration.ts index 8e3bed08..cf58a383 100644 --- a/src/experiments/excerpt-generation/components/useExcerptGeneration.ts +++ b/src/experiments/excerpt-generation/components/useExcerptGeneration.ts @@ -33,7 +33,7 @@ async function generateExcerpt( ): Promise< string > { const params: ExcerptGenerationAbilityInput = { content, - post_id: postId, + context: postId.toString(), }; return runAbility< string >( 'ai/excerpt-generation', params ) diff --git a/src/experiments/excerpt-generation/types.ts b/src/experiments/excerpt-generation/types.ts index 6bd7e1b5..b3bc9831 100644 --- a/src/experiments/excerpt-generation/types.ts +++ b/src/experiments/excerpt-generation/types.ts @@ -7,6 +7,6 @@ */ export interface ExcerptGenerationAbilityInput { content: string; - post_id: number; - [ key: string ]: string | number | undefined; + context: string; + [ key: string ]: string | undefined; } From 1e81450d8adb9a3d5e3ecad0af92b520ab4b7ad3 Mon Sep 17 00:00:00 2001 From: yusufhay <32195740+yusufhay@users.noreply.github.com> Date: Thu, 4 Jun 2026 20:16:59 +0530 Subject: [PATCH 14/41] Return decorative flag for generated alt text (#659) Changed - Return a consistent decorative flag from alt text generation results Co-authored-by: yusufhay Co-authored-by: dkotter --- .../Abilities/Image/Alt_Text_Generation.php | 3 +- .../Abilities/Alt_Text_GenerationTest.php | 77 +++++++++++++++++++ 2 files changed, 79 insertions(+), 1 deletion(-) diff --git a/includes/Abilities/Image/Alt_Text_Generation.php b/includes/Abilities/Image/Alt_Text_Generation.php index 144c6d74..3569957b 100644 --- a/includes/Abilities/Image/Alt_Text_Generation.php +++ b/includes/Abilities/Image/Alt_Text_Generation.php @@ -150,7 +150,8 @@ protected function execute_callback( $input ) { // Return the alt text in the format the Ability expects. return array( - 'alt_text' => sanitize_text_field( $result ), + 'alt_text' => sanitize_text_field( $result ), + 'is_decorative' => false, ); } diff --git a/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php b/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php index 8bce0e3e..517213f6 100644 --- a/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php +++ b/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php @@ -49,6 +49,59 @@ public function register(): void { } } +/** + * Testable alt text generation ability. + * + * @since x.x.x + */ +class Testable_Alt_Text_Generation extends Alt_Text_Generation { + /** + * Mock generated alt text. + * + * @var string + */ + private string $generated_alt_text; + + /** + * Constructor. + * + * @param string $generated_alt_text Mock generated alt text. + */ + public function __construct( string $generated_alt_text ) { + $this->generated_alt_text = $generated_alt_text; + + parent::__construct( + 'ai/alt-text-generation', + array( + 'label' => 'Alt Text Generation', + 'description' => 'Generates accessible alternative text for images using AI vision models.', + ) + ); + } + + /** + * Returns a mock image reference. + * + * @param array $args The input arguments. + * @return array{reference: string} Mock image reference. + */ + protected function get_image_reference( array $args ) { + return array( 'reference' => 'data:image/png;base64,dGVzdA==' ); + } + + /** + * Returns mock generated alt text. + * + * @param array{reference: string} $image_reference Prepared image reference. + * @param string $context Optional context. + * @param string $image_meta Optional image metadata. + * @return string Mock generated alt text. + */ + protected function generate_alt_text( array $image_reference, string $context = '', string $image_meta = '' ) { + return $this->generated_alt_text; + } +} + /** * Alt_Text_Generation Ability test case. * @@ -265,6 +318,30 @@ public function test_execute_callback_returns_not_an_image() { $this->assertEquals( 'not_an_image', $result->get_error_code(), 'Error code should be not_an_image' ); } + /** + * Test that execute_callback() returns false for non-decorative generated alt text. + * + * @since x.x.x + */ + public function test_execute_callback_returns_decorative_flag_false_for_generated_alt_text() { + $ability = new Testable_Alt_Text_Generation( 'A person writing in a notebook' ); + $reflection = new \ReflectionClass( $ability ); + $method = $reflection->getMethod( 'execute_callback' ); + $method->setAccessible( true ); + + $result = $method->invoke( + $ability, + array( + 'image_url' => 'https://example.com/image.png', + ) + ); + + $this->assertIsArray( $result, 'Result should be an array' ); + $this->assertSame( 'A person writing in a notebook', $result['alt_text'], 'Alt text should be returned.' ); + $this->assertArrayHasKey( 'is_decorative', $result, 'Result should include is_decorative.' ); + $this->assertFalse( $result['is_decorative'], 'Non-decorative generated alt text should return is_decorative as false.' ); + } + /** * Test that permission_callback() returns true for user with upload_files when using image_url only. * From 4f27b5268b8961d1ce4b010e52a6d8f8dbff4321 Mon Sep 17 00:00:00 2001 From: Kamran Abdul Aziz <7408560+ekamran@users.noreply.github.com> Date: Thu, 4 Jun 2026 20:37:11 +0530 Subject: [PATCH 15/41] Fix canceled meta description suggestion state (#653) Fixed - Clear out the meta description suggestion when the modal closes Co-authored-by: ekamran Co-authored-by: dkotter --- .../components/MetaDescriptionPanel.tsx | 7 +- .../components/useMetaDescription.ts | 6 ++ .../experiments/meta-description.spec.js | 85 +++++++++++++++++++ 3 files changed, 97 insertions(+), 1 deletion(-) diff --git a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx index 940aa70f..91231459 100644 --- a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx @@ -31,6 +31,7 @@ export default function MetaDescriptionPanel(): React.JSX.Element { ensureProviderAvailable, generateDescription, applyDescription, + clearSuggestion, } = useMetaDescription(); const [ isModalOpen, setIsModalOpen ] = useState( false ); @@ -56,6 +57,7 @@ export default function MetaDescriptionPanel(): React.JSX.Element { }; const handleOpenEditModal = () => { + clearSuggestion(); setEditableText( currentDescription ); setIsModalOpen( true ); }; @@ -117,7 +119,10 @@ export default function MetaDescriptionPanel(): React.JSX.Element { onEditableTextChange={ setEditableText } onGenerate={ generateDescription } onApply={ applyDescription } - onClose={ () => setIsModalOpen( false ) } + onClose={ () => { + clearSuggestion(); + setIsModalOpen( false ); + } } /> ) }
diff --git a/src/experiments/meta-description/components/useMetaDescription.ts b/src/experiments/meta-description/components/useMetaDescription.ts index 25a31ccd..663e0e4f 100644 --- a/src/experiments/meta-description/components/useMetaDescription.ts +++ b/src/experiments/meta-description/components/useMetaDescription.ts @@ -37,6 +37,7 @@ interface UseMetaDescriptionReturn { ensureProviderAvailable: () => boolean; generateDescription: () => Promise< void >; applyDescription: ( text: string ) => void; + clearSuggestion: () => void; } /** @@ -135,6 +136,10 @@ export function useMetaDescription(): UseMetaDescriptionReturn { [ editPost, metaKey, meta ] ); + const clearSuggestion = useCallback( () => { + setSuggestion( null ); + }, [] ); + return { isGenerating, suggestion, @@ -144,5 +149,6 @@ export function useMetaDescription(): UseMetaDescriptionReturn { ensureProviderAvailable, generateDescription, applyDescription, + clearSuggestion, }; } diff --git a/tests/e2e/specs/experiments/meta-description.spec.js b/tests/e2e/specs/experiments/meta-description.spec.js index f91957a4..a5d172ef 100644 --- a/tests/e2e/specs/experiments/meta-description.spec.js +++ b/tests/e2e/specs/experiments/meta-description.spec.js @@ -300,6 +300,91 @@ test.describe( 'Meta Description Experiment', () => { await editor.saveDraft(); } ); + test( 'Editing after canceling a regenerated suggestion shows the saved description', async ( { + admin, + editor, + page, + } ) => { + const savedDescription = + 'A custom saved description that should remain editable.'; + + await admin.createNewPost( { + title: 'Meta Description Cancel Regenerate Test', + content: + 'This is some test content for the Meta Description Experiment.', + } ); + + await editor.saveDraft(); + await page.reload(); + + // Open the Meta Description panel. + await openMetaDescriptionPanel( editor, page ); + + // Generate and apply the initial description so the edit actions appear. + await page + .locator( '.ai-meta-description-panel button', { + hasText: 'Generate Meta Description', + } ) + .click(); + + await expect( + page.locator( '.ai-meta-description-modal textarea' ) + ).toHaveValue( MOCK_DESCRIPTION_PATTERN, { + timeout: 10000, + } ); + + await page + .locator( '.ai-meta-description-modal' ) + .getByRole( 'button', { name: 'Apply' } ) + .click(); + + // Replace it with a custom saved value that differs from the mock. + await page + .locator( '.ai-meta-description-panel__actions' ) + .getByRole( 'button', { name: 'Edit description' } ) + .click(); + + await page + .locator( '.ai-meta-description-modal textarea' ) + .fill( savedDescription ); + + await page + .locator( '.ai-meta-description-modal' ) + .getByRole( 'button', { name: 'Apply' } ) + .click(); + + await expect( + page.locator( '.ai-meta-description-panel__text' ) + ).toHaveText( savedDescription ); + + // Generate a new suggestion, but cancel without applying it. + await page + .locator( '.ai-meta-description-panel__actions' ) + .getByRole( 'button', { name: 'Regenerate meta description' } ) + .click(); + + await expect( + page.locator( '.ai-meta-description-modal textarea' ) + ).toHaveValue( MOCK_DESCRIPTION_PATTERN, { + timeout: 10000, + } ); + + await page + .locator( '.ai-meta-description-modal' ) + .getByRole( 'button', { name: 'Cancel' } ) + .click(); + + // Opening Edit should show the saved value, not the canceled suggestion. + await page + .locator( '.ai-meta-description-panel__actions' ) + .getByRole( 'button', { name: 'Edit description' } ) + .click(); + + await expect( + page.locator( '.ai-meta-description-modal textarea' ) + ).toHaveValue( savedDescription ); + } ); + test( 'Shows Copy to clipboard button in the modal', async ( { admin, editor, From 65e2d232b4a8cfbfd9f395841cdb44fbc8f80b9f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 07:29:41 -0600 Subject: [PATCH 16/41] fix(deps-dev): bump phpstan/phpstan (#672) Developer - Bump `phpstan/phpstan` from 2.1.55 to 2.2.1 Co-authored-by: dkotter --- composer.json | 2 +- composer.lock | 21 ++++++++++++++++----- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/composer.json b/composer.json index 9963b51f..2da8a6a4 100644 --- a/composer.json +++ b/composer.json @@ -16,7 +16,7 @@ "phpstan/php-8-stubs": "^0.4.35", "phpstan/phpstan-deprecation-rules": "^2.0.4", "phpstan/phpstan-phpunit": "^2.0.16", - "phpstan/phpstan": "^2.1.55", + "phpstan/phpstan": "^2.2.1", "phpunit/phpunit": "^8.5|^9.6", "slevomat/coding-standard": "^8.0", "szepeviktor/phpstan-wordpress": "^2.0.2", diff --git a/composer.lock b/composer.lock index 72e11cd4..7fb04781 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "20c6ecb852b751e3af5577fc2b83bea1", + "content-hash": "258a43e6cba052aed552f6e27e0e0776", "packages": [], "packages-dev": [ { @@ -1091,11 +1091,11 @@ }, { "name": "phpstan/phpstan", - "version": "2.1.55", + "version": "2.2.1", "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/9eaac3826ed5e9b8427350a43cac825eeca3f566", - "reference": "9eaac3826ed5e9b8427350a43cac825eeca3f566", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/dea9c8f2d25cc849391042b71e429c1a4bf82660", + "reference": "dea9c8f2d25cc849391042b71e429c1a4bf82660", "shasum": "" }, "require": { @@ -1118,6 +1118,17 @@ "license": [ "MIT" ], + "authors": [ + { + "name": "Ondřej Mirtes" + }, + { + "name": "Markus Staab" + }, + { + "name": "Vincent Langlet" + } + ], "description": "PHPStan - PHP Static Analysis Tool", "keywords": [ "dev", @@ -1140,7 +1151,7 @@ "type": "github" } ], - "time": "2026-05-18T11:57:34+00:00" + "time": "2026-05-28T14:44:12+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", From 0a70c08d2a11df66696a378ff7fd0d6dee3bd9b1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 5 Jun 2026 07:48:43 -0600 Subject: [PATCH 17/41] chore(ci): bump WordPress/action-wp-playground-pr-preview from c8607529dac8d2bf9a1e8493865fc97cd1c3c87b to 5e92f5e3c80d06126f22e83e4bb21221fbbd3e7f in the github-actions-updates group (#673) Developer - Bump `WordPress/action-wp-playground-pr-preview` to latest version Co-authored-by: dkotter --- .github/workflows/pr-playground-preview.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pr-playground-preview.yml b/.github/workflows/pr-playground-preview.yml index 9475ff1f..55fc42dd 100644 --- a/.github/workflows/pr-playground-preview.yml +++ b/.github/workflows/pr-playground-preview.yml @@ -63,7 +63,7 @@ jobs: - name: Expose built artifact id: expose - uses: WordPress/action-wp-playground-pr-preview/.github/actions/expose-artifact-on-public-url@c8607529dac8d2bf9a1e8493865fc97cd1c3c87b # v2 + uses: WordPress/action-wp-playground-pr-preview/.github/actions/expose-artifact-on-public-url@5e92f5e3c80d06126f22e83e4bb21221fbbd3e7f # v3 with: artifact-name: ${{ steps.pr-metadata.outputs.artifact-name }} artifact-filename: ai.zip @@ -102,7 +102,7 @@ jobs: ARTIFACT_URL: ${{ steps.expose.outputs.artifact-url }} - name: Post Playground preview button - uses: WordPress/action-wp-playground-pr-preview@c8607529dac8d2bf9a1e8493865fc97cd1c3c87b # v2 + uses: WordPress/action-wp-playground-pr-preview@5e92f5e3c80d06126f22e83e4bb21221fbbd3e7f # v3 with: mode: append-to-description blueprint: ${{ steps.blueprint.outputs.blueprint }} From e656047458002b53964ea66948070f7bf40ce6eb Mon Sep 17 00:00:00 2001 From: yusufhay <32195740+yusufhay@users.noreply.github.com> Date: Fri, 5 Jun 2026 19:36:20 +0530 Subject: [PATCH 18/41] Fix meta description UTF-8 character count (#655) Changed - Use explicit UTF-8 encoding for generated meta description character counts. Co-authored-by: yusufhay Co-authored-by: dkotter --- includes/Abilities/Meta_Description/Meta_Description.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/includes/Abilities/Meta_Description/Meta_Description.php b/includes/Abilities/Meta_Description/Meta_Description.php index 115537dc..47ed39e3 100644 --- a/includes/Abilities/Meta_Description/Meta_Description.php +++ b/includes/Abilities/Meta_Description/Meta_Description.php @@ -284,7 +284,7 @@ static function ( $key, $value ) { return array( 'text' => $text, - 'character_count' => mb_strlen( $text ), + 'character_count' => mb_strlen( $text, 'UTF-8' ), ); } From b4fb4661c4a0b64c5ab03f2c28f522eb3711789d Mon Sep 17 00:00:00 2001 From: Trushiv Bhayani <287895188+Trushiv04@users.noreply.github.com> Date: Fri, 5 Jun 2026 19:53:56 +0530 Subject: [PATCH 19/41] =?UTF-8?q?AI=20Request=20Logs:=20column=20=E2=80=9C?= =?UTF-8?q?move=20left=20/=20move=20right=E2=80=9D=20has=20no=20effect=20(?= =?UTF-8?q?#669)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed - Column reordering and hiding in the AI Request Logs table now persists instead of resetting to the default. Unlinked contributors: alexWinterjuice. Co-authored-by: Trushiv04 Co-authored-by: dkotter Co-authored-by: hbhalodia --- .../ai-request-logs/components/LogsTable.tsx | 28 +++-------------- src/admin/ai-request-logs/query.ts | 30 +++++++++++++++++++ src/admin/ai-request-logs/types.ts | 1 + 3 files changed, 35 insertions(+), 24 deletions(-) diff --git a/src/admin/ai-request-logs/components/LogsTable.tsx b/src/admin/ai-request-logs/components/LogsTable.tsx index 7c7ed388..48a380e1 100644 --- a/src/admin/ai-request-logs/components/LogsTable.tsx +++ b/src/admin/ai-request-logs/components/LogsTable.tsx @@ -17,6 +17,7 @@ import { useCallback, useMemo, useState } from '@wordpress/element'; * Internal dependencies */ import type { ProviderMetadata } from '../../types/providers'; +import { DEFAULT_VIEW_FIELDS } from '../query'; import type { FilterOptions, LogEntry, LogsQuery } from '../types'; interface LogsTableProps { @@ -42,26 +43,6 @@ interface ViewConfig { layout: NonNullable< ViewTable[ 'layout' ] >; } -const DEFAULT_VIEW_FIELDS = [ - 'timestamp', - 'operation', - 'provider', - 'tokens_total', - 'duration_ms', - 'status', -]; - -const FIELD_ORDER = new Map( - DEFAULT_VIEW_FIELDS.map( ( id, index ) => [ id, index ] ) -); - -const sortFieldsByCanonicalOrder = ( ids: string[] ): string[] => - [ ...ids ].sort( ( a, b ) => { - const ai = FIELD_ORDER.get( a ) ?? Infinity; - const bi = FIELD_ORDER.get( b ) ?? Infinity; - return ai - bi; - } ); - const formatTimestamp = ( timestamp: string ): string => { const { formats } = getSettings(); return dateI18n( `${ formats.date } ${ formats.time }`, timestamp + 'Z' ); @@ -252,6 +233,7 @@ const viewToQuery = ( view: View ): LogsQuery => { userId: extractStringFilter( filters, 'user_id' ), orderby: typeof sortField === 'string' ? sortField : 'timestamp', order: sortDir, + fields: view.fields ?? [ ...DEFAULT_VIEW_FIELDS ], }; }; @@ -273,7 +255,7 @@ const queryToView = ( query: LogsQuery, viewConfig: ViewConfig ): View => { field: query.orderby, direction: query.order, }, - fields: viewConfig.fields, + fields: query.fields, layout: viewConfig.layout, }; }; @@ -437,9 +419,7 @@ const LogsTable: React.FC< LogsTableProps > = ( { setViewConfig( { filters: nextView.filters ?? [], - fields: sortFieldsByCanonicalOrder( - nextView.fields ?? [ ...DEFAULT_VIEW_FIELDS ] - ), + fields: nextView.fields ?? [ ...DEFAULT_VIEW_FIELDS ], layout: nextLayout, } ); diff --git a/src/admin/ai-request-logs/query.ts b/src/admin/ai-request-logs/query.ts index 1d63d447..cf7fc208 100644 --- a/src/admin/ai-request-logs/query.ts +++ b/src/admin/ai-request-logs/query.ts @@ -9,6 +9,15 @@ import type { LogsQuery } from './types'; const DEFAULT_PAGE = 1; const DEFAULT_PER_PAGE = 25; +export const DEFAULT_VIEW_FIELDS = [ + 'timestamp', + 'operation', + 'provider', + 'tokens_total', + 'duration_ms', + 'status', +]; + const sanitizeStringArray = ( value: unknown ): string[] => { if ( ! Array.isArray( value ) ) { return []; @@ -51,6 +60,25 @@ const normalizeOperationSelection = ( ); }; +const normalizeFields = ( raw: unknown ): string[] => { + // When no field order is stored yet, fall back to the default order. + if ( undefined === raw || null === raw ) { + return [ ...DEFAULT_VIEW_FIELDS ]; + } + + const sanitized = sanitizeStringArray( raw ).filter( ( field ) => + DEFAULT_VIEW_FIELDS.includes( field ) + ); + + // If nothing valid was stored, fall back to the default order. + // A shorter list is valid: the user may have hidden some columns. + if ( 0 === sanitized.length ) { + return [ ...DEFAULT_VIEW_FIELDS ]; + } + + return sanitized; +}; + export const getDefaultLogsQuery = (): LogsQuery => ( { page: DEFAULT_PAGE, perPage: DEFAULT_PER_PAGE, @@ -63,6 +91,7 @@ export const getDefaultLogsQuery = (): LogsQuery => ( { userId: '', orderby: 'timestamp', order: 'desc', + fields: [ ...DEFAULT_VIEW_FIELDS ], } ); export const normalizeLogsQuery = ( @@ -115,6 +144,7 @@ export const normalizeLogsQuery = ( 'asc' === parsed.order || 'desc' === parsed.order ? parsed.order : defaultQuery.order, + fields: normalizeFields( parsed.fields ), }; }; diff --git a/src/admin/ai-request-logs/types.ts b/src/admin/ai-request-logs/types.ts index 6fc2d395..f5ab228e 100644 --- a/src/admin/ai-request-logs/types.ts +++ b/src/admin/ai-request-logs/types.ts @@ -80,6 +80,7 @@ export interface LogsQuery { userId: string; orderby: string; order: 'asc' | 'desc'; + fields: string[]; } export interface LocalizedSettings { From 9383c9f2b54a3739fc8c1f8bb8f72eabd5bc155a Mon Sep 17 00:00:00 2001 From: Hit Bhalodia <58802366+hbhalodia@users.noreply.github.com> Date: Fri, 5 Jun 2026 20:20:21 +0530 Subject: [PATCH 20/41] Fix the border clipping and background color issue (#676) Fixed - UI inconsistency on AI Request Logs page. Co-authored-by: hbhalodia Co-authored-by: dkotter --- src/admin/ai-request-logs/index.scss | 8 ++++++++ src/admin/ai-request-logs/index.tsx | 1 + 2 files changed, 9 insertions(+) diff --git a/src/admin/ai-request-logs/index.scss b/src/admin/ai-request-logs/index.scss index e236dbf8..14060c99 100644 --- a/src/admin/ai-request-logs/index.scss +++ b/src/admin/ai-request-logs/index.scss @@ -5,6 +5,13 @@ margin: 10px 15px 15px 0; } } +.ai-request-logs { + + .ai-request-logs__page { + background-color: #f0f0f1; + } +} + .ai-request-logs__app { max-width: 1400px; @@ -77,6 +84,7 @@ border: 1px solid #e0e0e0; border-radius: 4px; background: #fff; + overflow: hidden; } .ai-request-logs__cell--time { diff --git a/src/admin/ai-request-logs/index.tsx b/src/admin/ai-request-logs/index.tsx index 786aff1b..21f5eb5e 100644 --- a/src/admin/ai-request-logs/index.tsx +++ b/src/admin/ai-request-logs/index.tsx @@ -312,6 +312,7 @@ const App: React.FC = () => { return ( } title={ __( 'AI Request Logs', 'ai' ) } subTitle={ __( From a9140713e077757b77e3f701ee51a04e752790c8 Mon Sep 17 00:00:00 2001 From: Jeffrey Paul Date: Fri, 5 Jun 2026 11:08:01 -0400 Subject: [PATCH 21/41] Add maintainers section to README (#677) Developer - Add `@WordPress/ai-maintainers` team. Co-authored-by: jeffpaul Co-authored-by: dkotter --- README.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fd01526..bcd849f2 100644 --- a/README.md +++ b/README.md @@ -88,4 +88,8 @@ Anyone contributing to the AI plugin is expected to conduct themselves in accord * **Design:** [Share feedback](https://github.com/WordPress/ai/issues) on UX flows and accessibility. * **Test:** Try features as they're [released](https://github.com/WordPress/ai/releases) and [report feedback](https://github.com/WordPress/ai/issues). -View the [Credits](CREDITS.md) file for maintainers, contributors, and libraries for the AI plugin. +### Maintainers + +Maintainers for this repo are [Darin Kotter (@dkotter)](https://github.com/dkotter) and [Jeff Paul (@jeffpaul)](https://github.com/jeffpaul); all can be reached using the [@WordPress/ai-maintainers](https://github.com/orgs/WordPress/teams/ai-maintainers) team. + +View the [Credits](CREDITS.md) file for a full list of maintainers, contributors, and libraries for the AI plugin. From c71c9c949eeded5b3d5a01b7ba41892ebab172a0 Mon Sep 17 00:00:00 2001 From: Prasad Karmalkar Date: Fri, 5 Jun 2026 20:54:42 +0530 Subject: [PATCH 22/41] =?UTF-8?q?Fix:=20Summary=20counters=20show=20zero?= =?UTF-8?q?=20for=20=E2=80=9CLast=20Hour=E2=80=9D=20when=20requests=20are?= =?UTF-8?q?=20recent=20in=20AI=20Request=20Logs=20(#671)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixed - Summary statistics showing zero for short time periods on non-UTC MySQL servers. Unlinked contributors: alexWinterjuice. Co-authored-by: prasadkarmalkar Co-authored-by: dkotter --- .../Logging/AI_Request_Log_Repository.php | 12 ++-- .../Logging/AI_Request_Log_RepositoryTest.php | 71 +++++++++++++++++++ 2 files changed, 77 insertions(+), 6 deletions(-) diff --git a/includes/Logging/AI_Request_Log_Repository.php b/includes/Logging/AI_Request_Log_Repository.php index f709d35b..9584788c 100644 --- a/includes/Logging/AI_Request_Log_Repository.php +++ b/includes/Logging/AI_Request_Log_Repository.php @@ -375,7 +375,7 @@ public function cleanup_by_retention( int $retention_days ): int { do { $deleted = $wpdb->query( $wpdb->prepare( - "DELETE FROM {$table_name} WHERE timestamp < DATE_SUB(NOW(), INTERVAL %d DAY) LIMIT %d", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared + "DELETE FROM {$table_name} WHERE timestamp < DATE_SUB(UTC_TIMESTAMP(), INTERVAL %d DAY) LIMIT %d", // phpcs:ignore WordPress.DB.PreparedSQL.InterpolatedNotPrepared $retention_days, self::DELETE_BATCH_SIZE ) @@ -723,15 +723,15 @@ private function query_with_offset( string $table_name, string $where_clause, ar private function get_date_condition( string $period ): string { switch ( $period ) { case 'minute': - return 'AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 MINUTE)'; + return 'AND timestamp >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 MINUTE)'; case 'hour': - return 'AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 HOUR)'; + return 'AND timestamp >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 HOUR)'; case 'day': - return 'AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 DAY)'; + return 'AND timestamp >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 DAY)'; case 'week': - return 'AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 WEEK)'; + return 'AND timestamp >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 WEEK)'; case 'month': - return 'AND timestamp >= DATE_SUB(NOW(), INTERVAL 1 MONTH)'; + return 'AND timestamp >= DATE_SUB(UTC_TIMESTAMP(), INTERVAL 1 MONTH)'; default: return ''; } diff --git a/tests/Integration/Includes/Logging/AI_Request_Log_RepositoryTest.php b/tests/Integration/Includes/Logging/AI_Request_Log_RepositoryTest.php index 226679fe..84acc4f9 100644 --- a/tests/Integration/Includes/Logging/AI_Request_Log_RepositoryTest.php +++ b/tests/Integration/Includes/Logging/AI_Request_Log_RepositoryTest.php @@ -532,6 +532,32 @@ public function test_get_summary_empty_table(): void { $this->assertSame( 0, $summary['total_tokens'] ); } + /** + * Tests that get_summary windowed periods compare against UTC, not the MySQL session time zone. + * + * Timestamps are written with current_time( 'mysql', true ) (UTC), so the period + * cutoff in get_date_condition() must also be evaluated in UTC. Otherwise on a + * MySQL session whose time zone is ahead of UTC, recent rows are excluded from + * "Last Minute"/"Last Hour"/etc. summaries. + * + * @since x.x.x + */ + public function test_get_summary_windowed_period_uses_utc_session_timezone(): void { + global $wpdb; + + $this->insert_log(); + + $wpdb->query( "SET time_zone = '+13:00'" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching + + try { + $summary = $this->repository->get_summary( 'hour', true ); + + $this->assertSame( 1, $summary['total_requests'] ); + } finally { + $wpdb->query( "SET time_zone = '+00:00'" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching + } + } + /** * Tests that get_filter_options returns distinct values from logs. * @@ -596,6 +622,51 @@ public function test_cleanup_by_retention_deletes_old_logs(): void { $this->assertSame( 1, $remaining['total'] ); } + /** + * Tests that cleanup_by_retention measures the cutoff in UTC, not the MySQL session time zone. + * + * A row whose UTC age is still inside the retention window must not be deleted + * just because the session time zone shifts NOW() ahead. Using a +13:00 session + * with a row 29 days 18 hours old triggers the bug when the cutoff is built + * from NOW() but not from UTC_TIMESTAMP(). + * + * @since x.x.x + */ + public function test_cleanup_by_retention_uses_utc_session_timezone(): void { + global $wpdb; + $table = $wpdb->prefix . AI_Request_Log_Schema::TABLE_NAME; + + $stored_timestamp = gmdate( + 'Y-m-d H:i:s', + time() - ( 29 * DAY_IN_SECONDS + 18 * HOUR_IN_SECONDS ) + ); + + $wpdb->insert( // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery + $table, + array( + 'log_id' => wp_generate_uuid4(), + 'timestamp' => $stored_timestamp, + 'type' => 'ai_client', + 'operation' => 'openai:completions', + 'status' => 'success', + ), + array( '%s', '%s', '%s', '%s', '%s' ) + ); + + $wpdb->query( "SET time_zone = '+13:00'" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching + + try { + $deleted = $this->repository->cleanup_by_retention( 30 ); + + $this->assertSame( 0, $deleted ); + + $remaining = $this->repository->query(); + $this->assertSame( 1, $remaining['total'] ); + } finally { + $wpdb->query( "SET time_zone = '+00:00'" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching + } + } + /** * Tests that purge_all returns the row count and empties the table. * From 10b566e47a90d18d6ab547ea1cf2b2573d81d917 Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Mon, 8 Jun 2026 22:47:58 +0530 Subject: [PATCH 23/41] [Image Gen]: Improve focus handling in image generation flows (#647) Fixed - Lost focus after generating images. Co-authored-by: yogeshbhutkar Co-authored-by: t-hamano Co-authored-by: dkotter --- package-lock.json | 29 ++++++++++--------- package.json | 1 + .../components/GenerateImageInlineModal.tsx | 23 ++++++++++++++- .../components/GenerateImageStandalone.tsx | 9 +++++- .../components/shared/index.tsx | 11 +++++-- src/features/image-generation/index.scss | 4 +++ 6 files changed, 59 insertions(+), 18 deletions(-) diff --git a/package-lock.json b/package-lock.json index 809e5311..c0b38a19 100644 --- a/package-lock.json +++ b/package-lock.json @@ -20,6 +20,7 @@ "@wordpress/data": "^10.44.0", "@wordpress/dataviews": "^14.1.0", "@wordpress/date": "^5.44.0", + "@wordpress/dom": "^4.47.0", "@wordpress/dom-ready": "^4.44.0", "@wordpress/edit-post": "^8.44.0", "@wordpress/editor": "^14.44.0", @@ -11434,12 +11435,12 @@ "license": "BSD" }, "node_modules/@wordpress/deprecated": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-4.46.0.tgz", - "integrity": "sha512-d4Dy9GeJ/VIORTgYKYXT026/hhpV6VOf3VUDj10f+QFoIJ86VMBrzV6KQn8KUVH4T3oH1MSpo/A5t8ttYFemsg==", + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-4.47.0.tgz", + "integrity": "sha512-SPmYu3Ihqfaqve4xEKf8+SAhae9UuYLncFovXHHEHeNrKwldYyNy3fm+3Aifd/RK5r7Vc7nr0zONYkuhWkDlNw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/hooks": "^4.46.0" + "@wordpress/hooks": "^4.47.0" }, "engines": { "node": ">=18.12.0", @@ -11447,12 +11448,12 @@ } }, "node_modules/@wordpress/dom": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-4.46.0.tgz", - "integrity": "sha512-XngkvNJpf0JnpZuOcsbBl/cTprfYQTfSykttIL4laXcFXfZe8rU3bGgv8K7AEoYigDwxfw3g/yMPi4fn195Kpw==", + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-4.47.0.tgz", + "integrity": "sha512-HD9pdNpS8dJnA70ZSBjx6FBbC4dChNaWWE+OxlvhgKisgETSIZaxvvc+W23WPIfC1WsKfD4amKtfLHXo+38TrQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/deprecated": "^4.46.0" + "@wordpress/deprecated": "^4.47.0" }, "engines": { "node": ">=18.12.0", @@ -12462,9 +12463,9 @@ } }, "node_modules/@wordpress/hooks": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.46.0.tgz", - "integrity": "sha512-fsKw4dmw4voIRoKc8t0XRREQlFvwj9XS/jTXvkh6mqRYCDpaEnrdB2Ji5jgbRXEMPU0GKVGMeAn5Wwi56gjBMg==", + "version": "4.47.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.47.0.tgz", + "integrity": "sha512-OTbg9axYyz585FvrNzyi3hBV2LHfl2oYr2M8xmQKndkOftxQra/04Hqnrflim7IKOzKR4EfL/KpyoqhQ0mrVHQ==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -14915,9 +14916,9 @@ } }, "node_modules/@wordpress/ui/node_modules/date-fns": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.3.0.tgz", - "integrity": "sha512-OYcL+3N/jyWbYdFGqoMAhytDgxP9pbYPUUiRCOgn4Fewaadk9l/Wam4Avciiyp2BgkpfQyBV9B+ehnVJych+eQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "optional": true, "peer": true, diff --git a/package.json b/package.json index 9578c700..42039f0b 100644 --- a/package.json +++ b/package.json @@ -76,6 +76,7 @@ "@wordpress/data": "^10.44.0", "@wordpress/dataviews": "^14.1.0", "@wordpress/date": "^5.44.0", + "@wordpress/dom": "^4.47.0", "@wordpress/dom-ready": "^4.44.0", "@wordpress/edit-post": "^8.44.0", "@wordpress/editor": "^14.44.0", diff --git a/src/features/image-generation/components/GenerateImageInlineModal.tsx b/src/features/image-generation/components/GenerateImageInlineModal.tsx index 0a138057..e213d77c 100644 --- a/src/features/image-generation/components/GenerateImageInlineModal.tsx +++ b/src/features/image-generation/components/GenerateImageInlineModal.tsx @@ -4,6 +4,9 @@ import { Button, Modal, Notice } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { image } from '@wordpress/icons'; +import { useEffect, useRef } from '@wordpress/element'; +import { useFocusOnMount } from '@wordpress/compose'; +import { focus } from '@wordpress/dom'; /** * Internal dependencies @@ -74,6 +77,20 @@ export function GenerateImageInlineModal( { comparisonRightLabel, } = useImageGeneration(); + const focusOnMountRef = useFocusOnMount( 'firstElement' ); + const containerRef = useRef( null ); + + useEffect( () => { + // Entering the generating state can unmount the currently focused element; + // keep focus inside the modal by moving it to the first available focusable element. + if ( containerRef.current && state === 'generating' ) { + const [ firstFocusable ] = focus.focusable.find( + containerRef.current + ); + firstFocusable?.focus(); + } + }, [ state ] ); + async function handleUseImage(): Promise< void > { if ( ! activeEntry ) { return; @@ -122,6 +139,7 @@ export function GenerateImageInlineModal( { icon={ image } size="large" className="ai-generate-image-inline-modal" + ref={ containerRef } > { state === 'idle' && ( -
+
diff --git a/src/features/image-generation/components/GenerateImageStandalone.tsx b/src/features/image-generation/components/GenerateImageStandalone.tsx index ff8f03cb..4a7e14e8 100644 --- a/src/features/image-generation/components/GenerateImageStandalone.tsx +++ b/src/features/image-generation/components/GenerateImageStandalone.tsx @@ -4,6 +4,7 @@ import { Button, Notice } from '@wordpress/components'; import { useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; +import { useFocusOnMount } from '@wordpress/compose'; /** * Internal dependencies @@ -59,6 +60,8 @@ export function GenerateImageStandalone() { comparisonRightLabel, } = useImageGeneration(); + const focusOnMountRef = useFocusOnMount( 'firstElement' ); + async function handleSaveImage(): Promise< void > { if ( ! activeEntry ) { return; @@ -152,11 +155,15 @@ export function GenerateImageStandalone() { comparisonLeftLabel={ comparisonLeftLabel } comparisonRightLabel={ comparisonRightLabel } /> -
+
diff --git a/src/features/image-generation/components/shared/index.tsx b/src/features/image-generation/components/shared/index.tsx index 806d6a5a..60c2a346 100644 --- a/src/features/image-generation/components/shared/index.tsx +++ b/src/features/image-generation/components/shared/index.tsx @@ -9,6 +9,7 @@ import { } from '@wordpress/components'; import { __, isRTL, sprintf } from '@wordpress/i18n'; import { chevronLeft, chevronRight } from '@wordpress/icons'; +import { useFocusOnMount } from '@wordpress/compose'; /** * Internal dependencies @@ -77,8 +78,10 @@ export function PromptForm( { onGenerate, error, }: PromptFormProps ) { + const focusOnMountRef = useFocusOnMount( 'firstInputElement' ); + return ( -
+

{ __( 'Describe the image you want to generate.', 'ai' ) }

@@ -148,6 +151,7 @@ export function ImageHistoryNav( { disabled={ ! canGoBack } onClick={ onGoBack } label={ __( 'Previous version', 'ai' ) } + accessibleWhenDisabled />
{ showComparison ? ( @@ -189,6 +193,7 @@ export function ImageHistoryNav( { disabled={ ! canGoForward } onClick={ onGoForward } label={ __( 'Next version', 'ai' ) } + accessibleWhenDisabled />
{ historyLength > 1 && ( @@ -231,8 +236,10 @@ export function RefinePromptForm( { cancelIsDestructive = false, error, }: RefinePromptFormProps ) { + const focusOnMountRef = useFocusOnMount( 'firstInputElement' ); + return ( -
+
{ Date: Mon, 8 Jun 2026 23:52:17 +0530 Subject: [PATCH 24/41] Fix: AI Request Logging: token count understated for thinking models (thoughtsTokenCount ignored) (#680) Fixed - Ensuring thinking tokens are counted in request logs. Co-authored-by: prasadkarmalkar Co-authored-by: dkotter Co-authored-by: riccardodicurti --- includes/Logging/Log_Data_Extractor.php | 4 +- .../Logging/Log_Data_ExtractorTest.php | 38 +++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/includes/Logging/Log_Data_Extractor.php b/includes/Logging/Log_Data_Extractor.php index 2191d24c..fe6d5b77 100644 --- a/includes/Logging/Log_Data_Extractor.php +++ b/includes/Logging/Log_Data_Extractor.php @@ -239,7 +239,9 @@ public function extract_token_usage( array $response ): array { if ( isset( $response['usageMetadata'] ) && is_array( $response['usageMetadata'] ) ) { $usage = $response['usageMetadata']; $input = $usage['promptTokenCount'] ?? null; - $output = $usage['candidatesTokenCount'] ?? null; + $output = isset( $usage['candidatesTokenCount'] ) || isset( $usage['thoughtsTokenCount'] ) + ? ( $usage['candidatesTokenCount'] ?? 0 ) + ( $usage['thoughtsTokenCount'] ?? 0 ) + : null; } /** diff --git a/tests/Integration/Includes/Logging/Log_Data_ExtractorTest.php b/tests/Integration/Includes/Logging/Log_Data_ExtractorTest.php index 9a08ea24..0063a71c 100644 --- a/tests/Integration/Includes/Logging/Log_Data_ExtractorTest.php +++ b/tests/Integration/Includes/Logging/Log_Data_ExtractorTest.php @@ -398,6 +398,44 @@ public function test_extract_token_usage_google_format(): void { $this->assertSame( 150, $tokens['output'] ); } + /** + * Tests Google token usage sums candidatesTokenCount and thoughtsTokenCount. + * + * @since x.x.x + */ + public function test_extract_token_usage_google_format_with_thoughts(): void { + $tokens = $this->extractor->extract_token_usage( + array( + 'usageMetadata' => array( + 'promptTokenCount' => 300, + 'candidatesTokenCount' => 150, + 'thoughtsTokenCount' => 20, + ), + ) + ); + + $this->assertSame( 300, $tokens['input'] ); + $this->assertSame( 170, $tokens['output'] ); + } + + /** + * Tests Google token usage returns null output when no output fields exist. + * + * @since x.x.x + */ + public function test_extract_token_usage_google_format_without_output_fields(): void { + $tokens = $this->extractor->extract_token_usage( + array( + 'usageMetadata' => array( + 'promptTokenCount' => 300, + ), + ) + ); + + $this->assertSame( 300, $tokens['input'] ); + $this->assertNull( $tokens['output'] ); + } + /** * Tests that missing usage data returns nulls. * From b4221d2fa50b0666db0c69a3f69530b63c372da2 Mon Sep 17 00:00:00 2001 From: Prasad Karmalkar Date: Tue, 9 Jun 2026 20:41:19 +0530 Subject: [PATCH 25/41] Add refresh button to AI Request Logs table header (#687) Added - Manual refresh button to the AI Request Logs table header. Co-authored-by: prasadkarmalkar Co-authored-by: pbearne Co-authored-by: dkotter --- .../ai-request-logs/components/LogsTable.tsx | 16 +++++++++++++++- src/admin/ai-request-logs/index.scss | 4 ++++ src/admin/ai-request-logs/index.tsx | 4 ++++ 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/admin/ai-request-logs/components/LogsTable.tsx b/src/admin/ai-request-logs/components/LogsTable.tsx index 48a380e1..e8bb96ff 100644 --- a/src/admin/ai-request-logs/components/LogsTable.tsx +++ b/src/admin/ai-request-logs/components/LogsTable.tsx @@ -1,7 +1,7 @@ /** * WordPress dependencies */ -import { Popover } from '@wordpress/components'; +import { Button, Popover } from '@wordpress/components'; import { DataViews, type View, @@ -12,6 +12,7 @@ import { import { dateI18n, getSettings } from '@wordpress/date'; import { __, sprintf } from '@wordpress/i18n'; import { useCallback, useMemo, useState } from '@wordpress/element'; +import { rotateRight } from '@wordpress/icons'; /** * Internal dependencies @@ -31,6 +32,7 @@ interface LogsTableProps { setQuery: React.Dispatch< React.SetStateAction< LogsQuery > >; providerMetadata: Record< string, ProviderMetadata >; connectorsUrl: string; + onRefresh: () => void; } /** @@ -400,6 +402,7 @@ const LogsTable: React.FC< LogsTableProps > = ( { setQuery, providerMetadata, connectorsUrl, + onRefresh, } ) => { const [ viewConfig, setViewConfig ] = useState< ViewConfig >( () => ( { filters: buildFiltersFromQuery( query ), @@ -688,6 +691,17 @@ const LogsTable: React.FC< LogsTableProps > = ( { view={ view } onChangeView={ onChangeView } actions={ actions } + header={ + - - - - ) } +
+ ) : ( +
+ ) } + + + + + ) } diff --git a/src/experiments/content-resizing/index.scss b/src/experiments/content-resizing/index.scss index 722f2567..ffb8bbaf 100644 --- a/src/experiments/content-resizing/index.scss +++ b/src/experiments/content-resizing/index.scss @@ -1,22 +1,14 @@ +@keyframes ai-content-resizing-skeleton { + 0% { background-position: 100% 0; } + 100% { background-position: 0 0; } +} + .ai-content-resizing-toolbar--has-changes { .components-button { color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9)); } } -.ai-content-resizing-modal__loading { - display: flex; - flex-direction: column; - align-items: center; - gap: 12px; - padding: 32px 0; - - p { - color: var(--wp-components-color-gray-700, #757575); - margin: 0; - } -} - .ai-content-resizing-modal__panel { & + & { margin-top: 16px; @@ -79,6 +71,47 @@ } } +.ai-content-resizing-modal__loading { + display: flex; + flex-direction: column; + gap: var(--wpds-dimension-gap-md, 12px); + color: var(--wp-components-color-gray-700, #757575); + + &-status { + display: flex; + align-items: center; + gap: var(--wpds-dimension-gap-sm, 8px); + + svg { + margin: 0; + } + } + + &-skeleton { + display: flex; + flex-direction: column; + gap: var(--wpds-dimension-gap-sm, 8px); + } + + &-skeleton-line { + display: block; + width: 100%; + height: var(--wpds-dimension-gap-md, 12px); + border-radius: var(--wpds-border-radius-sm, 2px); + background: linear-gradient( + 90deg, + color-mix(in srgb, var(--wpds-color-fg-content-neutral-weak, #707070) 8%, transparent) 25%, + color-mix(in srgb, var(--wpds-color-fg-content-neutral-weak, #707070) 18%, transparent) 37%, + color-mix(in srgb, var(--wpds-color-fg-content-neutral-weak, #707070) 8%, transparent) 63% + ); + background-size: 400% 100%; + + @media (prefers-reduced-motion: no-preference) { + animation: ai-content-resizing-skeleton 1.4s ease infinite; + } + } +} + .ai-content-resizing-modal__actions { margin-top: 16px; } From 483c3a9961ba7541d802ae61f460077380f4926b Mon Sep 17 00:00:00 2001 From: Aashish Sharma <74376468+the-hercules@users.noreply.github.com> Date: Wed, 10 Jun 2026 03:18:41 +0530 Subject: [PATCH 27/41] Update output schema for get-post-terms ability and sanitize image_url in Alt_Text_Generation (#688) Fixed - Ensure the Ability schemas and outputs are valid JSON Schema for strict REST and MCP consumers. Co-authored-by: the-hercules Co-authored-by: dkotter Co-authored-by: WouterP0lman --- .../Abilities/Image/Alt_Text_Generation.php | 9 +- includes/Abilities/Utilities/Posts.php | 100 ++++++++++-------- includes/helpers.php | 9 +- .../Abilities/Alt_Text_GenerationTest.php | 43 +++++++- tests/Integration/Includes/HelpersTest.php | 36 +++++-- 5 files changed, 137 insertions(+), 60 deletions(-) diff --git a/includes/Abilities/Image/Alt_Text_Generation.php b/includes/Abilities/Image/Alt_Text_Generation.php index 3569957b..c9434f7b 100644 --- a/includes/Abilities/Image/Alt_Text_Generation.php +++ b/includes/Abilities/Image/Alt_Text_Generation.php @@ -67,9 +67,8 @@ protected function input_schema(): array { 'description' => esc_html__( 'The attachment ID of the image to generate alt text for.', 'ai' ), ), 'image_url' => array( - 'type' => 'string', - 'sanitize_callback' => array( $this, 'sanitize_image_reference_input' ), - 'description' => esc_html__( 'URL or data URI of the image to generate alt text for. Used if attachment_id is not provided.', 'ai' ), + 'type' => 'string', + 'description' => esc_html__( 'URL or data URI of the image to generate alt text for. Used if attachment_id is not provided.', 'ai' ), ), 'context' => array( 'type' => 'string', @@ -122,6 +121,10 @@ protected function execute_callback( $input ) { ), ); + if ( isset( $args['image_url'] ) ) { + $args['image_url'] = $this->sanitize_image_reference_input( $args['image_url'] ); + } + // Get the image reference. $image_reference = $this->get_image_reference( $args ); diff --git a/includes/Abilities/Utilities/Posts.php b/includes/Abilities/Utilities/Posts.php index 4febc664..6e76b288 100644 --- a/includes/Abilities/Utilities/Posts.php +++ b/includes/Abilities/Utilities/Posts.php @@ -206,53 +206,50 @@ private function register_get_terms_ability(): void { 'required' => array( 'post_id' ), ), 'output_schema' => array( - 'type' => 'object', + 'type' => 'array', 'description' => esc_html__( 'An array of WP_Term objects assigned to the post.', 'ai' ), - 'properties' => array( - 'type' => 'array', - 'items' => array( - 'type' => 'array', - 'items' => array( - 'term_id' => array( - 'type' => 'integer', - 'description' => esc_html__( 'The ID of the term.', 'ai' ), - ), - 'name' => array( - 'type' => 'string', - 'description' => esc_html__( 'The name of the term.', 'ai' ), - ), - 'slug' => array( - 'type' => 'string', - 'description' => esc_html__( 'The slug of the term.', 'ai' ), - ), - 'term_group' => array( - 'type' => 'integer', - 'description' => esc_html__( 'The group ID of the term.', 'ai' ), - ), - 'term_taxonomy_id' => array( - 'type' => 'integer', - 'description' => esc_html__( 'The taxonomy ID of the term.', 'ai' ), - ), - 'taxonomy' => array( - 'type' => 'string', - 'description' => esc_html__( 'The taxonomy name of the term.', 'ai' ), - ), - 'description' => array( - 'type' => 'string', - 'description' => esc_html__( 'The description of the term.', 'ai' ), - ), - 'parent' => array( - 'type' => 'integer', - 'description' => esc_html__( 'The parent ID of the term.', 'ai' ), - ), - 'count' => array( - 'type' => 'integer', - 'description' => esc_html__( 'How many times the term is used.', 'ai' ), - ), - 'filter' => array( - 'type' => 'string', - 'description' => esc_html__( 'How the term should be filtered.', 'ai' ), - ), + 'items' => array( + 'type' => 'object', + 'properties' => array( + 'term_id' => array( + 'type' => 'integer', + 'description' => esc_html__( 'The ID of the term.', 'ai' ), + ), + 'name' => array( + 'type' => 'string', + 'description' => esc_html__( 'The name of the term.', 'ai' ), + ), + 'slug' => array( + 'type' => 'string', + 'description' => esc_html__( 'The slug of the term.', 'ai' ), + ), + 'term_group' => array( + 'type' => 'integer', + 'description' => esc_html__( 'The group ID of the term.', 'ai' ), + ), + 'term_taxonomy_id' => array( + 'type' => 'integer', + 'description' => esc_html__( 'The taxonomy ID of the term.', 'ai' ), + ), + 'taxonomy' => array( + 'type' => 'string', + 'description' => esc_html__( 'The taxonomy name of the term.', 'ai' ), + ), + 'description' => array( + 'type' => 'string', + 'description' => esc_html__( 'The description of the term.', 'ai' ), + ), + 'parent' => array( + 'type' => 'integer', + 'description' => esc_html__( 'The parent ID of the term.', 'ai' ), + ), + 'count' => array( + 'type' => 'integer', + 'description' => esc_html__( 'How many times the term is used.', 'ai' ), + ), + 'filter' => array( + 'type' => 'string', + 'description' => esc_html__( 'How the term should be filtered.', 'ai' ), ), ), ), @@ -319,7 +316,16 @@ private function register_get_terms_ability(): void { */ $terms = apply_filters( 'wpai_get_post_terms', $terms, $post_id, $allowed_taxonomies ); - return $terms; + return array_map( + static function ( $term ): array { + if ( $term instanceof \WP_Term ) { + return $term->to_array(); + } + + return (array) $term; + }, + $terms + ); }, 'permission_callback' => array( $this, 'permission_callback' ), 'meta' => array( diff --git a/includes/helpers.php b/includes/helpers.php index e7c308e2..4beeb55a 100644 --- a/includes/helpers.php +++ b/includes/helpers.php @@ -146,7 +146,14 @@ function get_post_context( int $post_id ): array { $grouped_terms = array(); foreach ( $terms as $term ) { - $grouped_terms[ $term->taxonomy ][] = $term->name; + $taxonomy = $term['taxonomy'] ?? ''; + $name = $term['name'] ?? ''; + + if ( '' === $taxonomy || '' === $name ) { + continue; + } + + $grouped_terms[ $taxonomy ][] = $name; } $context = array_merge( diff --git a/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php b/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php index 517213f6..16f44f0d 100644 --- a/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php +++ b/tests/Integration/Includes/Abilities/Alt_Text_GenerationTest.php @@ -62,6 +62,13 @@ class Testable_Alt_Text_Generation extends Alt_Text_Generation { */ private string $generated_alt_text; + /** + * Last image reference arguments. + * + * @var array + */ + private array $last_image_reference_args = array(); + /** * Constructor. * @@ -86,6 +93,8 @@ public function __construct( string $generated_alt_text ) { * @return array{reference: string} Mock image reference. */ protected function get_image_reference( array $args ) { + $this->last_image_reference_args = $args; + return array( 'reference' => 'data:image/png;base64,dGVzdA==' ); } @@ -100,6 +109,15 @@ protected function get_image_reference( array $args ) { protected function generate_alt_text( array $image_reference, string $context = '', string $image_meta = '' ) { return $this->generated_alt_text; } + + /** + * Gets the last image reference arguments. + * + * @return array Last image reference arguments. + */ + public function get_last_image_reference_args(): array { + return $this->last_image_reference_args; + } } /** @@ -206,7 +224,7 @@ public function test_input_schema_returns_expected_structure() { $this->assertEquals( 'absint', $schema['properties']['attachment_id']['sanitize_callback'], 'attachment_id should use absint' ); $this->assertEquals( 'string', $schema['properties']['image_url']['type'], 'image_url should be string type' ); - $this->assertIsArray( $schema['properties']['image_url']['sanitize_callback'], 'image_url should use callback array' ); + $this->assertArrayNotHasKey( 'sanitize_callback', $schema['properties']['image_url'], 'image_url should not expose an object-bound sanitize callback.' ); $this->assertEquals( 'string', $schema['properties']['context']['type'], 'context should be string type' ); $this->assertEquals( 'sanitize_textarea_field', $schema['properties']['context']['sanitize_callback'], 'context should use sanitize_textarea_field' ); @@ -342,6 +360,29 @@ public function test_execute_callback_returns_decorative_flag_false_for_generate $this->assertFalse( $result['is_decorative'], 'Non-decorative generated alt text should return is_decorative as false.' ); } + /** + * Test that execute_callback() sanitizes image_url before resolving the image reference. + * + * @since x.x.x + */ + public function test_execute_callback_sanitizes_image_url_before_resolving_reference(): void { + $ability = new Testable_Alt_Text_Generation( 'A person writing in a notebook' ); + $reflection = new \ReflectionClass( $ability ); + $method = $reflection->getMethod( 'execute_callback' ); + $method->setAccessible( true ); + + $method->invoke( + $ability, + array( + 'image_url' => ' data:image/png;base64,dGVzdA== ', + ) + ); + + $args = $ability->get_last_image_reference_args(); + + $this->assertSame( 'data:image/png;base64,dGVzdA==', $args['image_url'], 'image_url should be sanitized before image resolution.' ); + } + /** * Test that permission_callback() returns true for user with upload_files when using image_url only. * diff --git a/tests/Integration/Includes/HelpersTest.php b/tests/Integration/Includes/HelpersTest.php index 64771304..2c9446e3 100644 --- a/tests/Integration/Includes/HelpersTest.php +++ b/tests/Integration/Includes/HelpersTest.php @@ -370,6 +370,26 @@ public function test_get_post_context_includes_categories_and_tags() { $this->assertStringContainsString( 'Test Tag', $context['post_tag'], 'Should include tag name' ); } + /** + * Test that the get-post-terms ability exposes a valid output schema. + * + * @since x.x.x + */ + public function test_get_post_terms_output_schema_is_valid_json_schema() { + $ability = wp_get_ability( 'ai/get-post-terms' ); + $this->assertNotNull( $ability, 'get-post-terms ability should be registered' ); + + $output_schema = $ability->get_output_schema(); + + $this->assertSame( 'array', $output_schema['type'], 'Output schema should describe the list of term objects returned by the ability.' ); + $this->assertArrayNotHasKey( 'properties', $output_schema, 'Output schema should not nest array keywords under properties.' ); + $this->assertSame( 'object', $output_schema['items']['type'], 'Output schema items should describe term objects.' ); + $this->assertSame( 'integer', $output_schema['items']['properties']['term_id']['type'], 'Term schema should include term_id.' ); + $this->assertSame( 'string', $output_schema['items']['properties']['name']['type'], 'Term schema should include name.' ); + $this->assertSame( 'string', $output_schema['items']['properties']['taxonomy']['type'], 'Term schema should include taxonomy.' ); + $this->assertNotFalse( wp_json_encode( $output_schema ), 'Output schema should be JSON-encodable.' ); + } + /** * Test that the wpai_get_post_details filter modifies the ability output. * @@ -478,8 +498,12 @@ public function test_wpai_get_post_terms_filter_receives_arguments() { $post_id = $this->factory->post->create(); wp_set_post_categories( $post_id, array( $category_id ) ); - $filter_callback = static function ( $terms, $filter_post_id, $filter_taxonomies ) { - $terms['category'] = sprintf( 'post:%d|taxonomies:%s', $filter_post_id, implode( ',', $filter_taxonomies ) ); + $received_post_id = null; + $received_taxonomies = array(); + + $filter_callback = static function ( $terms, $filter_post_id, $filter_taxonomies ) use ( &$received_post_id, &$received_taxonomies ) { + $received_post_id = $filter_post_id; + $received_taxonomies = $filter_taxonomies; return $terms; }; @@ -491,12 +515,8 @@ public function test_wpai_get_post_terms_filter_receives_arguments() { remove_filter( 'wpai_get_post_terms', $filter_callback, 10 ); $this->assertIsArray( $result, 'Result should be an array' ); - $this->assertArrayHasKey( 'category', $result, 'Result should include category key' ); - $this->assertSame( - sprintf( 'post:%d|taxonomies:category,post_tag', $post_id ), - $result['category'], - 'Filter output should encode the received post ID and taxonomies' - ); + $this->assertSame( $post_id, $received_post_id, 'Filter should receive the post ID.' ); + $this->assertSame( array( 'category', 'post_tag' ), $received_taxonomies, 'Filter should receive the allowed taxonomy names.' ); } /** From df23bd9e9e2cfebf237ad599f441ce8a07a04f1e Mon Sep 17 00:00:00 2001 From: Hit Bhalodia <58802366+hbhalodia@users.noreply.github.com> Date: Wed, 10 Jun 2026 20:58:58 +0530 Subject: [PATCH 28/41] Fix: Title Generation: toolbar button disappears after toggling "Show template" off (normal editing mode), until reload (#694) Fixed - Title generation button disappears after toggling "Show template" off. Co-authored-by: hbhalodia Co-authored-by: dkotter --- .../components/TitleToolbarWrapper.tsx | 57 +++++++++++++++---- 1 file changed, 47 insertions(+), 10 deletions(-) diff --git a/src/experiments/title-generation/components/TitleToolbarWrapper.tsx b/src/experiments/title-generation/components/TitleToolbarWrapper.tsx index 2ff3b22c..74c6268b 100644 --- a/src/experiments/title-generation/components/TitleToolbarWrapper.tsx +++ b/src/experiments/title-generation/components/TitleToolbarWrapper.tsx @@ -196,6 +196,36 @@ function TitleToolbarWrapper(): React.JSX.Element { } }; + // Tear down any state left over from a previous attachment so the + // toolbar can be re-attached to a freshly rendered title input. This + // happens when the editor recreates the title DOM, e.g. after toggling + // "Show template" on and then off. + const resetAttachmentState = () => { + if ( removeTitleListeners ) { + removeTitleListeners(); + removeTitleListeners = null; + } + + if ( removeToolbarListeners ) { + removeToolbarListeners(); + removeToolbarListeners = null; + } + + if ( root ) { + root.unmount(); + root = null; + } + + if ( wrapperContainer ) { + wrapperContainer.remove(); + wrapperContainer = null; + } + + toolbarContainer = null; + titleInput = null; + isAttached = false; + }; + // Wait for the editor to be ready const findAndAttachToolbar = () => { // Don't try if already attached @@ -329,20 +359,27 @@ function TitleToolbarWrapper(): React.JSX.Element { findAndAttachToolbar(); }, 100 ); - // Also listen for DOM changes in the editor iframe - // But only check if we haven't attached yet + // Also listen for DOM changes in the editor iframe. + // The observer stays connected for the editor's lifetime so the toolbar + // can be re-attached if the editor recreates the title input (e.g. when + // toggling "Show template" on and then off). const setupObserver = () => { const editorDoc = getEditorDocument(); if ( editorDoc && ! observer ) { - observer = new MutationObserver( ( _mutations, obs ) => { - if ( - ! isAttached && - ! editorDoc.querySelector( '.ai-title-toolbar-wrapper' ) - ) { + observer = new MutationObserver( () => { + const wrapperExists = !! editorDoc.querySelector( + '.ai-title-toolbar-wrapper' + ); + + // Our injected toolbar was removed from the DOM, but we + // still think it is attached. Reset so we can re-attach to + // the new title input. + if ( isAttached && ! wrapperExists ) { + resetAttachmentState(); + } + + if ( ! isAttached && ! wrapperExists ) { findAndAttachToolbar(); - } else if ( isAttached ) { - // Disconnect observer once toolbar is attached - obs.disconnect(); } } ); From 2b2cb29b59c33e2826b919fa7f7f775c675ca98e Mon Sep 17 00:00:00 2001 From: Kamran Abdul Aziz <7408560+ekamran@users.noreply.github.com> Date: Wed, 10 Jun 2026 22:15:56 +0530 Subject: [PATCH 29/41] Clarify AI Connector provider setup (#638) Developer - Clarify AI Connector provider setup. Co-authored-by: ekamran Co-authored-by: jeffpaul --- README.md | 10 ++++++++-- docs/experiments/multi-provider-support.md | 8 ++++++-- readme.txt | 18 ++++++++++++------ 3 files changed, 26 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index bcd849f2..0594bc9e 100644 --- a/README.md +++ b/README.md @@ -49,9 +49,15 @@ This [Canonical Plugin](https://make.wordpress.org/core/2022/09/11/canonical-plu * **Guidelines** - Allows abilities to respect site-wide editorial standards. * **[Image Generation and Editing](docs/features/image-generation.md)** - Create and edit images from post content in the editor, also via the Media Library. * **[Meta Description Generation](docs/experiments/meta-description.md)** - Generates meta description suggestions and integrates those with various SEO plugins. -* **[Multi-Provider Support](docs/experiments/multi-provider-support.md)** - Works with popular AI providers like OpenAI, Google, and Anthropic. +* **[Multi-Provider Support](docs/experiments/multi-provider-support.md)** - Works with AI Connector plugins for providers such as OpenAI, Google, and Anthropic. * **[Title Generation](docs/experiments/title-generation.md)** - Generates title suggestions from content. +## Provider Setup + +The AI plugin does not include provider credentials or provider implementations by itself. To use AI-powered features, install and activate at least one AI Connector plugin, then configure its credentials in `Settings -> Connectors`. Features may appear unavailable until a connector is installed, authenticated, and capable of the required operation. + +Provider connector plugins include [Anthropic](https://wordpress.org/plugins/ai-provider-for-anthropic), [Google](https://wordpress.org/plugins/ai-provider-for-google), [OpenAI](https://wordpress.org/plugins/ai-provider-for-openai), and [others](https://wordpress.org/plugins/tags/connector/). + ## Roadmap You can view the active plugin roadmap in a filtered view in the WordPress AI [GitHub Project Board](https://github.com/orgs/WordPress/projects/240/views/7). @@ -66,7 +72,7 @@ Overview of planned features: ## Developer Experience -The AI plugin is meant to be studied, forked, and extended. If you’re a host or agency, you can configure AI providers on behalf of your users so they don’t need to bring their own API keys. +The AI plugin is meant to be studied, forked, and extended. If you’re a host or agency, you can install and configure AI Connector plugins on behalf of your users so they don’t need to bring their own API keys. If you’re a plugin developer, you’ll be able to: diff --git a/docs/experiments/multi-provider-support.md b/docs/experiments/multi-provider-support.md index 0c5e14bd..f881ac8b 100644 --- a/docs/experiments/multi-provider-support.md +++ b/docs/experiments/multi-provider-support.md @@ -2,17 +2,18 @@ ## Summary -The plugin supports multiple AI providers through the WordPress AI Client and connector system. Features and experiments can run against a prioritized provider/model list, automatically fall back when a preferred model is unavailable, and validate capability support before execution. +The plugin supports multiple AI providers through the WordPress AI Client and connector system. Provider access is supplied by separate AI Connector plugins. Features and experiments can run against a prioritized provider/model list, automatically fall back when a preferred model is unavailable, and validate capability support before execution. ## Overview ### For End Users -You can configure one or more AI connectors (for example OpenAI, Google, Anthropic) in WordPress settings. Once configured: +Install and activate one or more AI Connector plugins, such as OpenAI, Google, or Anthropic, then configure their credentials in `Settings -> Connectors`. Once configured: - Experiments can use any compatible connected provider. - Capability checks prevent running requests on unsupported connectors. - If a preferred model is unavailable, another configured model/provider can be used. +- Features may appear unavailable until a connector is installed, authenticated, and capable of the required operation. This allows flexibility in cost, performance, and reliability across provider ecosystems. @@ -37,6 +38,8 @@ Credential detection is connector-aware: - `wpai_has_ai_credentials` filter allows custom connector implementations to report configured status. - `has_valid_ai_credentials()` performs a runtime support probe using AI client prompt checks. +The AI plugin depends on registered `ai_provider` connectors. It does not ship provider credentials or provider implementations directly. + ### Model Selection and Fallback Default model preference arrays are ordered. The first supported and available provider/model pair is used by the AI Client prompt builder. @@ -93,6 +96,7 @@ add_filter( 'wpai_has_ai_credentials', function( $has_credentials, $connectors ) ## Operational Notes - Configure at least one connector that supports the feature's required capability. +- If a feature is unavailable, confirm that a provider connector plugin is active, authenticated, and listed under `Settings -> Connectors`. - Multi-provider setups can improve resilience when individual providers are unavailable. - Keep model preference filters aligned with currently available provider model IDs. - If no provider supports the requested capability, abilities should return explicit `WP_Error` responses. diff --git a/readme.txt b/readme.txt index 5fb2598a..5e90e0fa 100644 --- a/readme.txt +++ b/readme.txt @@ -34,9 +34,15 @@ This plugin is built on the [AI Building Blocks for WordPress](https://make.word * **Guidelines** - Allows abilities to respect site-wide editorial standards. * **Image Generation and Editing** - Create and edit images from post content in the editor, also via the Media Library. * **Meta Description Generation** - Generates meta description suggestions and integrates those with various SEO plugins. -* **Multi-Provider Support** - Works with popular AI providers like OpenAI, Google, and Anthropic. +* **Multi-Provider Support** - Works with AI Connector plugins for providers such as OpenAI, Google, and Anthropic. * **Title Generation** - Generate title suggestions for your posts with a single click. Perfect for brainstorming headlines or finding the right tone for your content. +**Provider Setup:** + +The AI plugin does not include provider credentials or provider implementations by itself. To use AI-powered features, install and activate at least one AI Connector plugin, then configure its credentials in `Settings -> Connectors`. Features may appear unavailable until a connector is installed, authenticated, and capable of the required operation. + +Provider connector plugins include [Anthropic](https://wordpress.org/plugins/ai-provider-for-anthropic), [Google](https://wordpress.org/plugins/ai-provider-for-google), [OpenAI](https://wordpress.org/plugins/ai-provider-for-openai), and [others](https://wordpress.org/plugins/tags/connector/). + **Coming Soon:** We're actively developing new features to enhance your WordPress workflow: @@ -57,7 +63,7 @@ You can view the active plugin roadmap in a filtered view in the WordPress AI [G 1. Upload the plugin files to the `/wp-content/plugins/ai` directory, or install the plugin through the WordPress plugins screen directly. 2. Activate the plugin through the 'Plugins' screen in WordPress. -3. Go to `Settings -> Connectors` and set up at least one AI connector. +3. Install and activate at least one AI Connector plugin, then go to `Settings -> Connectors` and configure its credentials. 4. Go to `Settings -> AI` and globally enable functionality and then enable the individual features or experiments you want to test. 5. Start experimenting with AI features! For the Title Generation experiment, edit a post and click into the title field. You should see a `Generate/Regenerate` button above the field. Click that button and after the request is complete, title suggestions will be displayed in a modal. Choose the title you like and click the `Select` button to insert it into the title field. @@ -68,7 +74,7 @@ The AI plugin is designed to be studied, extended, and built upon. Whether you'r **Extend the Plugin:** * **Build Custom Experiments** - Use the `Abstract_Feature` base class to create your own AI-powered features. -* **Pre-configure Providers** - Hosts and agencies can set up AI providers so users don't need their own API keys. +* **Pre-configure Providers** - Hosts and agencies can set up AI Connector plugins so users don't need their own API keys. * **Abilities Explorer** - Test and explore registered AI abilities (available when experiments are enabled). * **Register Custom Abilities** - Hook into the Abilities API to add new AI capabilities. * **Override Default Behavior** - Use filters to customize prompts, responses, and UI elements. @@ -101,15 +107,15 @@ This is an experimental plugin, so we recommend testing in a staging environment = Which AI providers are supported? = -The plugin supports OpenAI, Google AI (Gemini), and Anthropic (Claude). You can configure one or multiple providers in Settings -> Connectors. +The plugin can work with provider connector plugins from [Anthropic](https://wordpress.org/plugins/ai-provider-for-anthropic) (Claude), [Google](https://wordpress.org/plugins/ai-provider-for-google) (Gemini), [OpenAI](https://wordpress.org/plugins/ai-provider-for-openai), and [others](https://wordpress.org/plugins/tags/connector/). Install and activate the relevant connector plugin, then configure it in `Settings -> Connectors`. = Do I need an API key to use the features? = -Yes, currently you need to provide your own API key from a supported AI provider (OpenAI, Google AI, or Anthropic). +Yes, currently you need to provide your own API key for the configured AI Connector plugin, such as OpenAI, Google AI, or Anthropic. = How much does it cost? = -The plugin itself is free, but you'll need to pay for API usage from your chosen AI provider. Costs vary by provider and usage. Most providers offer free trial credits to get started. +The plugin itself is free, but you'll need to pay for API usage from your chosen AI provider. Costs vary by provider and usage. Most providers offer free trial credits to get started. There are some local, open source, and free providers (like [Ollama](https://wordpress.org/plugins/ai-provider-for-ollama/)) that can be used as well. = Can I use this without coding knowledge? = From 4470733d17c8bbdded384c2b648e33df3e9d1b6b Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Thu, 11 Jun 2026 19:48:52 +0530 Subject: [PATCH 30/41] Fix[Meta Description]: Improve Copy and Focus Behavior (#696) Fixed - Prevent accidental interactions and stale feedback in the Meta Description generation modal and improve focus handling. Co-authored-by: yogeshbhutkar Co-authored-by: dkotter --- .../components/MetaDescriptionModal.tsx | 32 ++++++++++++++----- .../components/MetaDescriptionPanel.tsx | 16 ++++++++-- src/experiments/meta-description/index.scss | 4 +++ 3 files changed, 42 insertions(+), 10 deletions(-) diff --git a/src/experiments/meta-description/components/MetaDescriptionModal.tsx b/src/experiments/meta-description/components/MetaDescriptionModal.tsx index 950bb6cf..20954c8b 100644 --- a/src/experiments/meta-description/components/MetaDescriptionModal.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionModal.tsx @@ -34,16 +34,21 @@ function CopyButton( { text: string; disabled: boolean; } ): JSX.Element { - const [ showCopyConfirmation, setShowCopyConfirmation ] = useState( false ); + const [ copiedText, setCopiedText ] = useState< string | null >( null ); + const showCopyConfirmation = copiedText === text && text.length > 0; + const isCopyDisabled = disabled || showCopyConfirmation; + const timeoutIdRef = useRef< ReturnType< typeof setTimeout > >(); + const ref = useCopyToClipboard< HTMLButtonElement >( text, () => { speak( __( 'Meta description copied to clipboard.', 'ai' ) ); - setShowCopyConfirmation( true ); + setCopiedText( text ); + if ( timeoutIdRef.current ) { clearTimeout( timeoutIdRef.current ); } timeoutIdRef.current = setTimeout( () => { - setShowCopyConfirmation( false ); + setCopiedText( null ); }, 4000 ); } ); @@ -57,9 +62,9 @@ function CopyButton( { return ( @@ -153,9 +162,16 @@ export default function MetaDescriptionModal( { -
diff --git a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx index 91231459..5a81ea6a 100644 --- a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx @@ -5,7 +5,7 @@ /** * WordPress dependencies */ -import { useState } from '@wordpress/element'; +import { useRef, useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; import { Button } from '@wordpress/components'; import { update } from '@wordpress/icons'; @@ -37,6 +37,15 @@ export default function MetaDescriptionPanel(): React.JSX.Element { const [ isModalOpen, setIsModalOpen ] = useState( false ); const [ editableText, setEditableText ] = useState( '' ); + const shouldFocusEditButton = useRef( false ); + + const focusEditButtonOnFirstMount = ( node: HTMLButtonElement | null ) => { + if ( shouldFocusEditButton.current && node ) { + node.focus(); + shouldFocusEditButton.current = false; + } + }; + const hasDescription = currentDescription && currentDescription.trim().length > 0; @@ -50,6 +59,8 @@ export default function MetaDescriptionPanel(): React.JSX.Element { } setIsModalOpen( true ); await generateDescription(); + + shouldFocusEditButton.current = true; return; } @@ -82,8 +93,9 @@ export default function MetaDescriptionPanel(): React.JSX.Element {
diff --git a/src/experiments/meta-description/index.scss b/src/experiments/meta-description/index.scss index b379f9f9..f83432b6 100644 --- a/src/experiments/meta-description/index.scss +++ b/src/experiments/meta-description/index.scss @@ -62,4 +62,8 @@ padding-top: 8px; border-top: 1px solid var(--wp-admin-border-color-lighter, #dcdcde); } + + &__cancel { + margin-left: auto; + } } From 81b2aa437cb4918b9e317a86a182a2086e033d93 Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Thu, 11 Jun 2026 21:28:09 +0530 Subject: [PATCH 31/41] Fix[Excerpt]: Preserve Focus During Generate and Regenerate Actions (#698) Fixed - Ensure focus isn't lost after generating an excerpt inline. Co-authored-by: Infinite-Null Co-authored-by: dkotter --- .../excerpt-generation/components/ExcerptInlineButton.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/experiments/excerpt-generation/components/ExcerptInlineButton.tsx b/src/experiments/excerpt-generation/components/ExcerptInlineButton.tsx index 0554b2c2..76fd12e6 100644 --- a/src/experiments/excerpt-generation/components/ExcerptInlineButton.tsx +++ b/src/experiments/excerpt-generation/components/ExcerptInlineButton.tsx @@ -47,6 +47,7 @@ export default function ExcerptInlineButton(): React.JSX.Element | null { isBusy={ isGenerating } className="ai-excerpt-inline-button" label={ buttonLabel } + accessibleWhenDisabled showTooltip /> ); From babdbc7d427888bd3f83ae52fdd8e73b2db6d395 Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Fri, 12 Jun 2026 02:39:51 +0900 Subject: [PATCH 32/41] Gate image generation UI on provider support detection (#679) Changed - Show an error message immediately in the image generation UI when there's no AI Connector in place that supports image generation. Co-authored-by: t-hamano Co-authored-by: dkotter Co-authored-by: mindctrl --- .../Image_Generation/Image_Generation.php | 7 +- includes/helpers.php | 51 +++++++++++++ .../components/GenerateFeaturedImage.tsx | 29 +++++++- .../components/GenerateImageInlineModal.tsx | 3 + .../components/GenerateImageStandalone.tsx | 3 + .../components/shared/index.tsx | 74 +++++++++++++------ src/features/image-generation/index.scss | 2 +- src/utils/provider-status.ts | 2 +- 8 files changed, 145 insertions(+), 26 deletions(-) diff --git a/includes/Features/Image_Generation/Image_Generation.php b/includes/Features/Image_Generation/Image_Generation.php index e45609b5..002ca6ec 100644 --- a/includes/Features/Image_Generation/Image_Generation.php +++ b/includes/Features/Image_Generation/Image_Generation.php @@ -16,6 +16,8 @@ use WordPress\AI\Asset_Loader; use WordPress\AI\Experiments\Alt_Text_Generation\Alt_Text_Generation; +use function WordPress\AI\has_image_generation_support; + if ( ! defined( 'ABSPATH' ) ) { exit; } @@ -226,8 +228,9 @@ private function enqueue_shared_assets(): void { 'image_generation', 'ImageGenerationData', array( - 'enabled' => $this->is_enabled(), - 'altTextEnabled' => ( new Alt_Text_Generation() )->is_enabled(), + 'enabled' => $this->is_enabled(), + 'altTextEnabled' => ( new Alt_Text_Generation() )->is_enabled(), + 'hasImageGenerationSupport' => has_image_generation_support(), ) ); } diff --git a/includes/helpers.php b/includes/helpers.php index 4beeb55a..a6bcef5e 100644 --- a/includes/helpers.php +++ b/includes/helpers.php @@ -13,6 +13,7 @@ use WordPress\AI\Services\AI_Service; use WordPress\AI\Services\Guidelines; use WordPress\AiClient\AiClient; +use WordPress\AiClient\Providers\Models\Enums\CapabilityEnum; /** * Purposely using return instead of exit here. @@ -501,6 +502,56 @@ function has_ai_credentials(): bool { return (bool) apply_filters( 'wpai_has_ai_credentials', $has_credentials, $connectors ); } +/** + * Checks whether any configured connector exposes an image-generation-capable model. + * + * @since x.x.x + * + * @return bool True if at least one configured connector has an image-generation-capable model. + */ +function has_image_generation_support(): bool { + static $result = null; + + if ( null !== $result ) { + return $result; + } + + if ( ! class_exists( AiClient::class ) ) { + $result = false; + return $result; + } + + $registry = AiClient::defaultRegistry(); + $connectors = get_ai_connectors(); + + foreach ( array_keys( $connectors ) as $connector_id ) { + if ( ! has_connector_authentication( $connector_id ) ) { + continue; + } + + try { + $provider_class = $registry->getProviderClassName( $connector_id ); + + /** @var \WordPress\AiClient\Providers\Contracts\ProviderInterface $provider_class */ + $models = $provider_class::modelMetadataDirectory()->listModelMetadata(); + + foreach ( $models as $model ) { + foreach ( $model->getSupportedCapabilities() as $capability ) { + if ( CapabilityEnum::IMAGE_GENERATION === $capability->value ) { + $result = true; + return $result; + } + } + } + } catch ( Throwable $e ) { + continue; + } + } + + $result = false; + return $result; +} + /** * Returns provider availability data for script localization. * diff --git a/src/features/image-generation/components/GenerateFeaturedImage.tsx b/src/features/image-generation/components/GenerateFeaturedImage.tsx index 037b076d..d0a3bfdf 100644 --- a/src/features/image-generation/components/GenerateFeaturedImage.tsx +++ b/src/features/image-generation/components/GenerateFeaturedImage.tsx @@ -13,10 +13,15 @@ import { store as noticesStore } from '@wordpress/notices'; */ import { generateImage } from '../functions/generate-image'; import { uploadImage } from '../functions/upload-image'; -import { ensureProvider } from '../../../utils/provider-status'; +import { + ensureProvider, + getProviderData, +} from '../../../utils/provider-status'; const NOTICE_ID = 'ai_image_generation_error'; +const { aiImageGenerationData } = window as any; + /** * GenerateFeaturedImage component. * @@ -42,6 +47,28 @@ export default function GenerateFeaturedImage(): React.JSX.Element | null { return; } + if ( ! aiImageGenerationData?.hasImageGenerationSupport ) { + ( dispatch( noticesStore ) as any ).createErrorNotice( + __( + 'This feature requires an AI Connector that supports image generation. Review your Connectors to ensure you have a valid AI Connector configured.', + 'ai' + ), + { + id: NOTICE_ID, + isDismissible: true, + actions: getProviderData().connectorsUrl + ? [ + { + label: __( 'Manage Connectors', 'ai' ), + url: getProviderData().connectorsUrl, + }, + ] + : [], + } + ); + return; + } + setIsGenerating( true ); setProgress( '' ); ( dispatch( noticesStore ) as any ).removeNotice( NOTICE_ID ); diff --git a/src/features/image-generation/components/GenerateImageInlineModal.tsx b/src/features/image-generation/components/GenerateImageInlineModal.tsx index e213d77c..dac2f2f5 100644 --- a/src/features/image-generation/components/GenerateImageInlineModal.tsx +++ b/src/features/image-generation/components/GenerateImageInlineModal.tsx @@ -147,6 +147,9 @@ export function GenerateImageInlineModal( { onPromptChange={ setPrompt } onGenerate={ () => generate( prompt.trim() ) } error={ error } + hasImageGenerationSupport={ Boolean( + aiImageGenerationData?.hasImageGenerationSupport + ) } /> ) } diff --git a/src/features/image-generation/components/GenerateImageStandalone.tsx b/src/features/image-generation/components/GenerateImageStandalone.tsx index 4a7e14e8..4d8af3f0 100644 --- a/src/features/image-generation/components/GenerateImageStandalone.tsx +++ b/src/features/image-generation/components/GenerateImageStandalone.tsx @@ -129,6 +129,9 @@ export function GenerateImageStandalone() { onPromptChange={ setPrompt } onGenerate={ () => safeGenerate( prompt.trim() ) } error={ error } + hasImageGenerationSupport={ Boolean( + aiImageGenerationData?.hasImageGenerationSupport + ) } /> ) } diff --git a/src/features/image-generation/components/shared/index.tsx b/src/features/image-generation/components/shared/index.tsx index 60c2a346..dcc64d8c 100644 --- a/src/features/image-generation/components/shared/index.tsx +++ b/src/features/image-generation/components/shared/index.tsx @@ -14,6 +14,7 @@ import { useFocusOnMount } from '@wordpress/compose'; /** * Internal dependencies */ +import { getProviderData } from '../../../../utils/provider-status'; import type { HistoryEntry } from '../../types'; // ─── GeneratingState ───────────────────────────────────────────────────────── @@ -67,6 +68,7 @@ interface PromptFormProps { onPromptChange: ( value: string ) => void; onGenerate: () => void; error?: string | null; + hasImageGenerationSupport?: boolean; } /** @@ -77,34 +79,64 @@ export function PromptForm( { onPromptChange, onGenerate, error, + hasImageGenerationSupport = true, }: PromptFormProps ) { + const { connectorsUrl } = getProviderData(); const focusOnMountRef = useFocusOnMount( 'firstInputElement' ); return (
-

- { __( 'Describe the image you want to generate.', 'ai' ) } -

- -
- -
- { error && ( - - { error } + { __( + 'This feature requires an AI Connector that supports image generation. Review your Connectors to ensure you have a valid AI Connector configured.', + 'ai' + ) } + ) : ( + <> +

+ { __( + 'Describe the image you want to generate.', + 'ai' + ) } +

+ +
+ +
+ { error && ( + + { error } + + ) } + ) }
); diff --git a/src/features/image-generation/index.scss b/src/features/image-generation/index.scss index be1f5ce1..e8e554c5 100644 --- a/src/features/image-generation/index.scss +++ b/src/features/image-generation/index.scss @@ -263,7 +263,7 @@ } .ai-generate-image-inline-modal { - .components-notice { + .ai-image-generation__actions + .components-notice { margin-top: 15px; } } diff --git a/src/utils/provider-status.ts b/src/utils/provider-status.ts index b00cb813..8dc12450 100644 --- a/src/utils/provider-status.ts +++ b/src/utils/provider-status.ts @@ -20,7 +20,7 @@ declare global { } } -function getProviderData(): ProviderStatus { +export function getProviderData(): ProviderStatus { return ( window.aiProviderData ?? { hasProvider: false, From 36aaeb16a14eede744afb9b3fd99bfa4dcf86a7d Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Thu, 11 Jun 2026 23:33:05 +0530 Subject: [PATCH 33/41] Build/Test Tools: Remove ready_for_review trigger from workflows (#703) Developer - Removes the `ready_for_review` pull request event from the Test and Plugin Check GitHub Actions workflows. Co-authored-by: Infinite-Null Co-authored-by: yogeshbhutkar Co-authored-by: dkotter --- .github/workflows/plugin-check.yml | 1 - .github/workflows/test.yml | 1 - 2 files changed, 2 deletions(-) diff --git a/.github/workflows/plugin-check.yml b/.github/workflows/plugin-check.yml index 653571e7..20cd2647 100644 --- a/.github/workflows/plugin-check.yml +++ b/.github/workflows/plugin-check.yml @@ -10,7 +10,6 @@ on: types: - opened - synchronize - - ready_for_review # Cancels all previous workflow runs for pull requests that have not completed. concurrency: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 52aa927c..2ebde857 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -10,7 +10,6 @@ on: types: - opened - synchronize - - ready_for_review # Cancels all previous workflow runs for pull requests that have not completed. concurrency: From f014c59471a2d523bd83fc9f7eaf25fa841ebcd7 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 12 Jun 2026 07:42:08 -0600 Subject: [PATCH 34/41] chore(ci): bump actions/checkout from 6.0.2 to 6.0.3 in the github-actions-updates group (#707) Developer - Bump `actions/checkout` from 6.0.2 to 6.0.3 Co-authored-by: justlevine Co-authored-by: dkotter --- .github/workflows/build-plugin-zip.yml | 2 +- .github/workflows/dependency-review.yml | 2 +- .github/workflows/plugin-check.yml | 2 +- .github/workflows/test.yml | 10 +++++----- .github/workflows/wporg-plugin-deploy.yml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build-plugin-zip.yml b/.github/workflows/build-plugin-zip.yml index 6355572c..7f0991eb 100644 --- a/.github/workflows/build-plugin-zip.yml +++ b/.github/workflows/build-plugin-zip.yml @@ -25,7 +25,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false diff --git a/.github/workflows/dependency-review.yml b/.github/workflows/dependency-review.yml index aea3828e..f3cc4b27 100644 --- a/.github/workflows/dependency-review.yml +++ b/.github/workflows/dependency-review.yml @@ -19,7 +19,7 @@ jobs: contents: read steps: - name: Checkout Repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - name: Dependency Review uses: actions/dependency-review-action@a1d282b36b6f3519aa1f3fc636f609c47dddb294 # v5.0.0 diff --git a/.github/workflows/plugin-check.yml b/.github/workflows/plugin-check.yml index 20cd2647..531b3d90 100644 --- a/.github/workflows/plugin-check.yml +++ b/.github/workflows/plugin-check.yml @@ -31,7 +31,7 @@ jobs: timeout-minutes: 20 steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 2ebde857..c7a57381 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -39,7 +39,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false @@ -95,7 +95,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false @@ -188,7 +188,7 @@ jobs: echo "PHP_FPM_GID=$(id -g)" >> "$GITHUB_ENV" - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false @@ -278,7 +278,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false @@ -319,7 +319,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 with: show-progress: ${{ runner.debug == '1' && 'true' || 'false' }} persist-credentials: false diff --git a/.github/workflows/wporg-plugin-deploy.yml b/.github/workflows/wporg-plugin-deploy.yml index 8dfb7aa7..3448269d 100644 --- a/.github/workflows/wporg-plugin-deploy.yml +++ b/.github/workflows/wporg-plugin-deploy.yml @@ -18,7 +18,7 @@ jobs: steps: - name: Checkout code - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 - name: Set up PHP uses: shivammathur/setup-php@7c071dfe9dc99bdf297fa79cb49ea005b9fcadbc # v2.37.1 From b2f2e8b017b6b948a6b38910c2fe070dc4443b8a Mon Sep 17 00:00:00 2001 From: Dovid Levine Date: Fri, 12 Jun 2026 17:15:36 +0300 Subject: [PATCH 35/41] fix: rename unforwarded `MaskCanvas` to `InnerMaskCanvas` to avoid duplicate declarations. (#713) Fixed - Rename unforwarded `MaskCanvas` component function to `InnerMaskCanvas` to avoid duplicate declarations. Co-authored-by: justlevine Co-authored-by: dkotter --- src/features/image-generation/components/MaskCanvas.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/features/image-generation/components/MaskCanvas.tsx b/src/features/image-generation/components/MaskCanvas.tsx index a550bbb0..71458b2e 100644 --- a/src/features/image-generation/components/MaskCanvas.tsx +++ b/src/features/image-generation/components/MaskCanvas.tsx @@ -39,7 +39,7 @@ const MAX_UNDO_STACK = 20; * @param {Object} ref Imperative handle ref. */ export const MaskCanvas = forwardRef< MaskCanvasHandle, Props >( - function MaskCanvas( { imageSrc, brushSize, onMaskChange }, ref ) { + function InnerMaskCanvas( { imageSrc, brushSize, onMaskChange }, ref ) { const canvasRef = useRef< HTMLCanvasElement >( null ); const ctxRef = useRef< CanvasRenderingContext2D | null >( null ); const wrapperRef = useRef< HTMLDivElement >( null ); @@ -306,3 +306,5 @@ export const MaskCanvas = forwardRef< MaskCanvasHandle, Props >( ); } ); + +MaskCanvas.displayName = 'MaskCanvas'; From 7dd54b64c40b582ea98c5021662b8acf6ad8683a Mon Sep 17 00:00:00 2001 From: Ankit Kumar Shah Date: Fri, 12 Jun 2026 20:12:49 +0530 Subject: [PATCH 36/41] Fix: AI Request Logs header overlap and sticky positioning (#705) Fixed - AI Request Logs main header overlapping table header. Co-authored-by: Infinite-Null Co-authored-by: dkotter --- src/admin/ai-request-logs/index.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/admin/ai-request-logs/index.scss b/src/admin/ai-request-logs/index.scss index 1f3b2571..c8a397fc 100644 --- a/src/admin/ai-request-logs/index.scss +++ b/src/admin/ai-request-logs/index.scss @@ -10,6 +10,11 @@ .ai-request-logs__page { background-color: #f0f0f1; } + + .ai-request-logs__page > div:first-child { + z-index: 2; + top: var(--wp-admin--admin-bar--height, 0px); + } } From 6e158ad4b7ef3708025d8e9300c0d962916e52ba Mon Sep 17 00:00:00 2001 From: Yogesh Bhutkar Date: Fri, 12 Jun 2026 20:38:00 +0530 Subject: [PATCH 37/41] Fix[Meta Description]: Allow clearing meta description (#706) Fixed - Allow users to clear an applied meta description while preventing whitespace-only descriptions. Co-authored-by: yogeshbhutkar Co-authored-by: dkotter --- .../components/MetaDescriptionModal.tsx | 4 ++- .../components/MetaDescriptionPanel.tsx | 25 ++++++++++++++++--- 2 files changed, 25 insertions(+), 4 deletions(-) diff --git a/src/experiments/meta-description/components/MetaDescriptionModal.tsx b/src/experiments/meta-description/components/MetaDescriptionModal.tsx index 20954c8b..3b243935 100644 --- a/src/experiments/meta-description/components/MetaDescriptionModal.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionModal.tsx @@ -146,7 +146,9 @@ export default function MetaDescriptionModal( { } } accessibleWhenDisabled disabled={ - isGenerating || editableText.trim().length === 0 + isGenerating || + ( !! editableText && + editableText.trim().length === 0 ) } > { __( 'Apply', 'ai' ) } diff --git a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx index 5a81ea6a..dbb43e1f 100644 --- a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx @@ -38,6 +38,10 @@ export default function MetaDescriptionPanel(): React.JSX.Element { const [ editableText, setEditableText ] = useState( '' ); const shouldFocusEditButton = useRef( false ); + const shouldFocusGenerateButton = useRef( false ); + + const hasDescription = + currentDescription && currentDescription.trim().length > 0; const focusEditButtonOnFirstMount = ( node: HTMLButtonElement | null ) => { if ( shouldFocusEditButton.current && node ) { @@ -46,8 +50,14 @@ export default function MetaDescriptionPanel(): React.JSX.Element { } }; - const hasDescription = - currentDescription && currentDescription.trim().length > 0; + const focusGenerateButtonOnEmptyState = ( + node: HTMLButtonElement | null + ) => { + if ( ! hasDescription && shouldFocusGenerateButton.current && node ) { + node.focus(); + shouldFocusGenerateButton.current = false; + } + }; const handleOpenModal = async () => { setEditableText( currentDescription ); @@ -115,6 +125,7 @@ export default function MetaDescriptionPanel(): React.JSX.Element { onClick={ handleOpenModal } disabled={ isGenerating } isBusy={ isGenerating } + ref={ focusGenerateButtonOnEmptyState } accessibleWhenDisabled > { isGenerating @@ -130,7 +141,15 @@ export default function MetaDescriptionPanel(): React.JSX.Element { editableText={ editableText } onEditableTextChange={ setEditableText } onGenerate={ generateDescription } - onApply={ applyDescription } + onApply={ ( text ) => { + applyDescription( text ); + + // Restore focus to the generate button when applying an empty description. + if ( text.trim().length === 0 ) { + shouldFocusEditButton.current = false; + shouldFocusGenerateButton.current = true; + } + } } onClose={ () => { clearSuggestion(); setIsModalOpen( false ); From 0617e44bac76ca74d024910beb7e192c7d776a60 Mon Sep 17 00:00:00 2001 From: Dovid Levine Date: Fri, 12 Jun 2026 19:27:33 +0300 Subject: [PATCH 38/41] chore: update NPM dev-deps (#712) Developer - Update NPM dev-deps. Co-authored-by: justlevine Co-authored-by: dkotter --- package-lock.json | 9708 ++++++++++++++++++++++++++++++++++----------- package.json | 16 +- 2 files changed, 7320 insertions(+), 2404 deletions(-) diff --git a/package-lock.json b/package-lock.json index c0b38a19..e0997020 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,17 +37,17 @@ "react": "^18.3.1" }, "devDependencies": { - "@playwright/test": "^1.59.1", - "@types/react": "^18.3.28", + "@playwright/test": "^1.60.0", + "@types/react": "^18.3.31", "@types/react-dom": "^18.3.7", "@types/wordpress__block-editor": "^15.0.6", "@types/wordpress__edit-post": "^8.4.2", - "@wordpress/build": "^0.14.0", - "@wordpress/e2e-test-utils-playwright": "^1.44.0", - "@wordpress/env": "^11.4.0", - "@wordpress/prettier-config": "^4.44.0", - "@wordpress/scripts": "32.2.0", - "concurrently": "^9.2.1", + "@wordpress/build": "^0.16.0", + "@wordpress/e2e-test-utils-playwright": "1.46.0", + "@wordpress/env": "11.4.0", + "@wordpress/prettier-config": "^4.48.0", + "@wordpress/scripts": "32.3.0", + "concurrently": "^10.0.3", "filenamify": "^7.0.1", "prettier": "npm:wp-prettier@^3", "typescript": "^5.9.3", @@ -62,7 +62,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -162,7 +161,6 @@ "version": "7.29.3", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -172,7 +170,6 @@ "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz", "integrity": "sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow==", - "dev": true, "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.0", @@ -200,9 +197,9 @@ } }, "node_modules/@babel/eslint-parser": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz", - "integrity": "sha512-QGmsKi2PBO/MHSQk+AAgA9R6OHQr+VqnniFE0eMWZcVcfBZoA2dKn2hUsl3Csg/Plt9opRUWdY7//VXsrIlEiA==", + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.29.7.tgz", + "integrity": "sha512-zxt+UJTOMKvUt3yOg+D58MLuz334pHp93qifMFcjIIO+9hN6t+ufw2gi7vDPMpxvfnHRR+3VVXvIjineCcgyXw==", "dev": true, "license": "MIT", "dependencies": { @@ -251,7 +248,6 @@ "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/compat-data": "^7.28.6", @@ -361,7 +357,6 @@ "version": "7.28.6", "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.28.6", @@ -470,7 +465,6 @@ "version": "7.27.1", "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -495,7 +489,6 @@ "version": "7.29.2", "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, "license": "MIT", "dependencies": { "@babel/template": "^7.28.6", @@ -715,13 +708,13 @@ } }, "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", - "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.28.6" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { "node": ">=6.9.0" @@ -2471,6 +2464,31 @@ "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", "license": "MIT" }, + "node_modules/@emotion/native": { + "version": "11.11.0", + "resolved": "https://registry.npmjs.org/@emotion/native/-/native-11.11.0.tgz", + "integrity": "sha512-t1b5bLv+o5OUNLqXlnw+LJYU10OpmYkLC/1W873Y1ohG+vObx5TT3o3Eh1okXb2KCuZTTBPgsEnU/Sl7NNkJ9Q==", + "license": "MIT", + "dependencies": { + "@emotion/primitives-core": "^11.11.0" + }, + "peerDependencies": { + "react-native": ">=0.14.0 <1" + } + }, + "node_modules/@emotion/primitives-core": { + "version": "11.13.2", + "resolved": "https://registry.npmjs.org/@emotion/primitives-core/-/primitives-core-11.13.2.tgz", + "integrity": "sha512-+MX60ROt1fDi5EYafhE/zs78XD4OuFUn6j0Z274wo5wVMT8sSBRx2CKPMbOUnmCcT0K5GPog+41mtkcppzkMmg==", + "license": "MIT", + "dependencies": { + "css-to-react-native": "^3.0.0" + }, + "peerDependencies": { + "@emotion/react": "^11.0.0-rc.0", + "react": ">=16.8.0" + } + }, "node_modules/@emotion/react": { "version": "11.14.0", "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", @@ -3024,9 +3042,9 @@ } }, "node_modules/@eslint-community/eslint-plugin-eslint-comments": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.7.1.tgz", - "integrity": "sha512-Ql2nJFwA8wUGpILYGOQaT1glPsmvEwE0d+a+l7AALLzQvInqdbXJdx7aSu0DpUX9dB1wMVBMhm99/++S3MdEtQ==", + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-4.7.2.tgz", + "integrity": "sha512-LF03qURSwEWm2dz5wtdDCzNk+7Opl0X7q6I3undsaIuNsEiNvRV3BCtqu14Q/6Pzg1tBj44LcxpW2EpSLZStZw==", "dev": true, "license": "MIT", "dependencies": { @@ -3975,6 +3993,16 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, + "node_modules/@isaacs/ttlcache": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@isaacs/ttlcache/-/ttlcache-1.4.1.tgz", + "integrity": "sha512-RQgQ4uQ+pLbqXfOmieB91ejmLwvSgv9nLx6sT6sD83s7umBypgg+OIBOBbEUiJXrfpnp9j0mRhYYdzp9uqq3lA==", + "license": "ISC", + "peer": true, + "engines": { + "node": ">=12" + } + }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", @@ -4465,9 +4493,9 @@ } }, "node_modules/@jest/reporters/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -4481,7 +4509,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", - "dev": true, "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" @@ -4568,7 +4595,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", - "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -4605,7 +4631,6 @@ "version": "0.3.11", "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, "license": "MIT", "dependencies": { "@jridgewell/gen-mapping": "^0.3.5", @@ -5090,16 +5115,22 @@ "license": "MIT" }, "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.1.5.tgz", + "integrity": "sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==", "dev": true, "license": "MIT", "optional": true, "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" + "@tybys/wasm-util": "^0.10.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" } }, "node_modules/@nicolo-ribaudo/eslint-scope-5-internals": { @@ -5126,9 +5157,9 @@ } }, "node_modules/@nodable/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-nyT7T3nbMyBI/lvr6L5TyWbFJAI9FTgVRakNoBqCD+PmID8DzFrrNdLLtHMwMszOtqZa8PAOV24ZqDnQrhQINA==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@nodable/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-9uGyhaQavEUMC8AIddIjau4NsnsXhou+j5sBAGojCM1oxmQpVKTWR/9JxABD6UAv12vpIms55fPZKFQEhG6uBg==", "dev": true, "funding": [ { @@ -6851,14 +6882,14 @@ } }, "node_modules/@php-wasm/cli-util": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/cli-util/-/cli-util-3.1.31.tgz", - "integrity": "sha512-/3i1OjRCIP10la4gZKEj3OKDGSL7qbjfPU93gteqx2kFUY84Mnj+fu7otN8vrHBSu3dASRYHnUNhhi3H4NBnoQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/cli-util/-/cli-util-3.1.38.tgz", + "integrity": "sha512-dbGKLVejsW4IsrqcZfRlrCawt/Xaw6/heGDElzvNIFOo9dKq3O+TEGTWe4uTr9E0qCRWA6cReAh0IKnuFApRlA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/util": "3.1.31", - "fast-xml-parser": "^5.5.1", + "@php-wasm/util": "3.1.38", + "fast-xml-parser": "^5.8.0", "jsonc-parser": "3.3.1" }, "engines": { @@ -6867,9 +6898,9 @@ } }, "node_modules/@php-wasm/logger": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/logger/-/logger-3.1.31.tgz", - "integrity": "sha512-isqqk/VQzQLT7BOBymwxFNID56t1pEM5TD9u/1hf1TsDNY+Shd0MzCEcoWcC+9gWRWEKGvk3Ub83inBAdkRh6w==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/logger/-/logger-3.1.38.tgz", + "integrity": "sha512-DSLl/gvYtJl+gDubY95PPdks/4MvDd8wJlXE3PPkCIbc7dm+g3V5wXHTSl4cZzfSNdytBmRwmZkdCpe5Fu3hKw==", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -6878,27 +6909,27 @@ } }, "node_modules/@php-wasm/node": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node/-/node-3.1.31.tgz", - "integrity": "sha512-DhDxWhiQPZu4ZN+ZUtF0LSG5mSa7Pb08m15tJ04PoFH3xLnk8AwRnPuV2bAvvB2GnFmwzcoDrUGMt6yL20u8xQ==", - "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@php-wasm/cli-util": "3.1.31", - "@php-wasm/logger": "3.1.31", - "@php-wasm/node-5-2": "3.1.31", - "@php-wasm/node-7-4": "3.1.31", - "@php-wasm/node-8-0": "3.1.31", - "@php-wasm/node-8-1": "3.1.31", - "@php-wasm/node-8-2": "3.1.31", - "@php-wasm/node-8-3": "3.1.31", - "@php-wasm/node-8-4": "3.1.31", - "@php-wasm/node-8-5": "3.1.31", - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node/-/node-3.1.38.tgz", + "integrity": "sha512-dRl6LHPN42/TSFX25tq4WgKRq55YnIUjfDOi9TlywVzMw4dMY2/aAIDJX/dwN3Sgn9pc9ekgJqXivzDlnLDVWQ==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/cli-util": "3.1.38", + "@php-wasm/logger": "3.1.38", + "@php-wasm/node-5-2": "3.1.38", + "@php-wasm/node-7-4": "3.1.38", + "@php-wasm/node-8-0": "3.1.38", + "@php-wasm/node-8-1": "3.1.38", + "@php-wasm/node-8-2": "3.1.38", + "@php-wasm/node-8-3": "3.1.38", + "@php-wasm/node-8-4": "3.1.38", + "@php-wasm/node-8-5": "3.1.38", + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38", "fs-ext-extra-prebuilt": "2.2.7", "wasm-feature-detect": "1.8.0", - "ws": "8.18.0" + "ws": "8.21.0" }, "engines": { "node": ">=20.10.0", @@ -6906,13 +6937,13 @@ } }, "node_modules/@php-wasm/node-5-2": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-5-2/-/node-5-2-3.1.31.tgz", - "integrity": "sha512-lpaJF9lUu8qxXxj/KkLla3qygbxGwJMmo7r6ZbiJPHBA1x8wI7QIp4ugSJBcD0BV6Rk8NSdQUMoDBjGEb3CbDw==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-5-2/-/node-5-2-3.1.38.tgz", + "integrity": "sha512-s4Ly1znifuhI+esoUdsjWQrf0TcC2Jd7HQkmN7sDSn0xCd36uxRAdZ0w04t4NqWHjQUFvWT1XpBDbEQh779fOw==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6921,13 +6952,13 @@ } }, "node_modules/@php-wasm/node-7-4": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-7-4/-/node-7-4-3.1.31.tgz", - "integrity": "sha512-UHxlsCeYPP859mBR3QhGzFovHEvtSkglVlPoIiT0qSQOsD0EIIl7yh7M+Cy9xYlNOi832UbRKOZxeZDbSygWyA==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-7-4/-/node-7-4-3.1.38.tgz", + "integrity": "sha512-/7LibshPqhZWXgnhKlbqg0xTyuTvZV62mGhr4imstomJepdoL5DcpyX/+z6UKkCB0YQDMAak8JK/2wwBwFoEdw==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6936,13 +6967,13 @@ } }, "node_modules/@php-wasm/node-8-0": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-0/-/node-8-0-3.1.31.tgz", - "integrity": "sha512-O574NM1ZNpbEubRfGUoB8pnz3KZk5SIJmd2qD94Cs0xeYrbzYSbZsClrjhq/T82tt8lltKxf0gJ4BJNQBeELNQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-0/-/node-8-0-3.1.38.tgz", + "integrity": "sha512-Lzyqk1DWf/fjarX9IidJ6oHKI00htKgcnuPFwwMYUvxdzWTgWa2WhJuwprWXtQH4sAOjq0Kd7Q1wXFhN2YTFpA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6951,13 +6982,13 @@ } }, "node_modules/@php-wasm/node-8-1": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-1/-/node-8-1-3.1.31.tgz", - "integrity": "sha512-ivzQeGYSeuzPCVzLsX5ezWkyBL5+bV1sar15irHr/qxDnlpbNfhQl2F4W7lXfxp11jLwLZPDXLF9K0Xfa7YQlA==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-1/-/node-8-1-3.1.38.tgz", + "integrity": "sha512-9b75i2uJwD0ApFJ7+XwV1+fHNMoxZJNFyNTNhleezQJX2XsIpRskPRiW/HuUEYfQmfrsfVUZlcUKdtjmWoG+Ww==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6966,13 +6997,13 @@ } }, "node_modules/@php-wasm/node-8-2": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-2/-/node-8-2-3.1.31.tgz", - "integrity": "sha512-UGX+YNFLrhk+cdEzJMtSsBOT9n+5+5P2nlzsGizdP+Lq8Vh7LcvhCQLhr77lUwBlbL1TGxvEGlZedI3BgV6VeQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-2/-/node-8-2-3.1.38.tgz", + "integrity": "sha512-93VX1v+C48V/UZQ+avGncKNON3dxZJGFMj2vlMkQHF4982tbaQM+UcpkifMeSdt5BlArsT5AokR5ll+wUlK+0Q==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6981,13 +7012,13 @@ } }, "node_modules/@php-wasm/node-8-3": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-3/-/node-8-3-3.1.31.tgz", - "integrity": "sha512-WJyH5FjoQiOnF0Ec1m/RPopBGk/UN3HkcOVINqIoSF644zT3CjqUvnqYwv5WjUc4Bs++d+ZFjWZo3/vEeZvP2Q==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-3/-/node-8-3-3.1.38.tgz", + "integrity": "sha512-klWqS+ZTjNibBo6INWC8A4PaHkGgZg0ubaZKGf5yMsVSjdYP1i9dJGSGy+hEhXKPHTHhtM0qKwTkbjjrvCQjBQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -6996,13 +7027,13 @@ } }, "node_modules/@php-wasm/node-8-4": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-4/-/node-8-4-3.1.31.tgz", - "integrity": "sha512-rGBobHsQDs4Tvxxg/7szriyq5d8Yrcu6BI/kJMMa7NVmZ6sOrcb+TacjmL2Sc9Go59UVX0xyrh3Pxi8ESUdUCw==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-4/-/node-8-4-3.1.38.tgz", + "integrity": "sha512-mg3fm0HMKY7VTEl8mFITqGkSlI4Xp8/XQ/9P9Wc/Qn1ktkjA2r110vAZl8bXT7mry2qNUXXixAqPj9zQKrFf7g==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -7011,13 +7042,13 @@ } }, "node_modules/@php-wasm/node-8-5": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/node-8-5/-/node-8-5-3.1.31.tgz", - "integrity": "sha512-s7S35euGYQ4Po5Ffbttoix8KgiKhW27VP20bIs9/h9XyqrREv8oJVQ3oqGThIsQf0IYU3U+lUmsG3pEQA+2aNw==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/node-8-5/-/node-8-5-3.1.38.tgz", + "integrity": "sha512-kDA3Lm7rvx/HuqO32BlmV2XjtMCKgDiPrB42Kp8ZhOrNhb0gzhoMBEvDT4dppUq0GiLp39fP818o3fbKIiJZWw==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", + "@php-wasm/universal": "3.1.38", "wasm-feature-detect": "1.8.0" }, "engines": { @@ -7026,13 +7057,13 @@ } }, "node_modules/@php-wasm/progress": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/progress/-/progress-3.1.31.tgz", - "integrity": "sha512-/QxqYm6RjS8bmuSaY0IEiWC0Jq9NXaIq+yF0Qcd30DbKSnyN4tZzzmyoNsOfFdHgGHL7eh1VEwsWvzDF+muIZA==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/progress/-/progress-3.1.38.tgz", + "integrity": "sha512-cmmbe7ZgIN0kG2Tbp7Nh0gYKVpPygFJMu8B+fOjdS/lfm5zwJqkkIAn6fdcjYL2DO9s3+IGWjhdhqGtlzY3L+g==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.1.31" + "@php-wasm/logger": "3.1.38" }, "engines": { "node": ">=20.10.0", @@ -7040,9 +7071,9 @@ } }, "node_modules/@php-wasm/scopes": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/scopes/-/scopes-3.1.31.tgz", - "integrity": "sha512-pl/1nYh5AZtJDHJeuPGFaPzw+U8T/nHSaWncpy+cJVBS2z7ynIFmazTbmiH+gYUR0NzTxq5txBJfKBhtR1YkLQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/scopes/-/scopes-3.1.38.tgz", + "integrity": "sha512-rbrsC5X3WVkD7K9E86wnRr4qhUU8AzycJxafJdSsh/LPjeRvxQpu8xhIMxmtFgfuMBzpWRQbsFQmKfSCgHMcAA==", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -7051,26 +7082,26 @@ } }, "node_modules/@php-wasm/stream-compression": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/stream-compression/-/stream-compression-3.1.31.tgz", - "integrity": "sha512-7zB68cOF/FyTEikdYHStH3BUTKz0OcVKlTMNxn+chEfsG3t7uR1Fqw2TIHUyS7vb9pknZY02OYnyDY86qcPTyg==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/stream-compression/-/stream-compression-3.1.38.tgz", + "integrity": "sha512-8YUS+1buRqhkKBfqpPcZYI59wOYaOHiMzryZMpkdJVA4ELFkWR9NfLxJopGJbGGB/qGg7V5GFKFV6EP5RxbdPw==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/util": "3.1.31" + "@php-wasm/util": "3.1.38" } }, "node_modules/@php-wasm/universal": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/universal/-/universal-3.1.31.tgz", - "integrity": "sha512-kovbRPFANj5NyfzKr2NuthydDXUxiiYuOQ3Gi62xWxBUEnC5JupUjTSJ7OD0M/mJ9bRBfl95xrPPdb/sAtREUg==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/universal/-/universal-3.1.38.tgz", + "integrity": "sha512-H2op/4rZb5XYit54Z9jHULQwQIDp11Cv2ubp8Iv0pNkPBb5acW9g5/R+slB6tP6GW2Z0PyVxoVjzc3fab2v0Yw==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.1.31", - "@php-wasm/progress": "3.1.31", - "@php-wasm/stream-compression": "3.1.31", - "@php-wasm/util": "3.1.31", + "@php-wasm/logger": "3.1.38", + "@php-wasm/progress": "3.1.38", + "@php-wasm/stream-compression": "3.1.38", + "@php-wasm/util": "3.1.38", "ini": "4.1.2" }, "engines": { @@ -7079,9 +7110,9 @@ } }, "node_modules/@php-wasm/util": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/util/-/util-3.1.31.tgz", - "integrity": "sha512-A3mVc0K7+eRHSsk/bSC+aZ+4MWgKU2knOBuKX+Mxm5u19szfNDw2YQKl86k6+f6AO2USC67e5gkh7z8IupYTbA==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/util/-/util-3.1.38.tgz", + "integrity": "sha512-afqgA8gBzISH6FGifXWQPcZ7WDLXxvEaSTFnc7uWPtDgsmhl0fGE0vIRMmrfIgR/7EvrdR/9d4wJXs8LcpX5uA==", "dev": true, "engines": { "node": ">=20.10.0", @@ -7089,14 +7120,14 @@ } }, "node_modules/@php-wasm/web-service-worker": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/web-service-worker/-/web-service-worker-3.1.31.tgz", - "integrity": "sha512-OfGyfBwZMPJpuj9Demdt1w+xYoYjOACkf//9oOx1Gu25/fjoz8ZnCt1O5tNveCmWCWzdaMwKvMrUt7Xs8lUgeg==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/web-service-worker/-/web-service-worker-3.1.38.tgz", + "integrity": "sha512-7ghdF2YfrRnbKUpl8/KYkwgp4qkNBz6hubfXjMiHTmfEoPG/ZPEMxAavdJxJSAOfW1GXpdzUTVviu2B+g/UTLg==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/scopes": "3.1.31", - "@php-wasm/universal": "3.1.31" + "@php-wasm/scopes": "3.1.38", + "@php-wasm/universal": "3.1.38" }, "engines": { "node": ">=20.10.0", @@ -7104,15 +7135,15 @@ } }, "node_modules/@php-wasm/xdebug-bridge": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.1.31.tgz", - "integrity": "sha512-zVemco5euc4BdkE2/Q7odwSeKfLXcCbktoLdUnlXWzfaZOaA+l0Xu7IXW96Sv6C5f1PeiA/QLROQzKBCK4eaiA==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@php-wasm/xdebug-bridge/-/xdebug-bridge-3.1.38.tgz", + "integrity": "sha512-yJBZG8TmzYEMs5BPnadJz0cJ35biwPcvxuwcz+kcc5Rp6DioRZ64MFWKT2hsQgMGvLQskBfKCyC/8PNDRuqU6g==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.1.31", - "@php-wasm/universal": "3.1.31", - "ws": "8.18.0", + "@php-wasm/logger": "3.1.38", + "@php-wasm/universal": "3.1.38", + "ws": "8.21.0", "xml2js": "0.6.2", "yargs": "17.7.2" }, @@ -7136,13 +7167,13 @@ } }, "node_modules/@pkgr/core": { - "version": "0.2.9", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.2.9.tgz", - "integrity": "sha512-QNqXyfVS2wm9hweSYD2O7F0G06uurj9kZ96TRQE5Y9hU7+tgdZwIkbAKc5Ocy1HxEY2kuDQa6cQ1WRs/O5LFKA==", + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.3.6.tgz", + "integrity": "sha512-SEeaJLb3qBNF/OaXnaR1NmmBbFYk1zC0ZH/52fATcRPLFg/p791YrcyFFy44Bo9sLaGuSuLp5Q6axbb/O+v/RA==", "dev": true, "license": "MIT", "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + "node": "^14.18.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/pkgr" @@ -7327,15 +7358,15 @@ } }, "node_modules/@radix-ui/primitive": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.3.tgz", - "integrity": "sha512-JTF99U/6XIjCBo0wqkU5sK10glYe27MRRsfwoiq5zzOEZLHU3A3KCMa5X/azekYRCJ0HlwI0crAXS/5dEHTzDg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.1.4.tgz", + "integrity": "sha512-7AdCK9PQyiljKoBDbN8OuctCbd/esdwZPQ8RtOE3SsyQtUpiPb+ND75q0jEhC1m1ecBI0MFNeLJvwIh9iKHRcQ==", "license": "MIT" }, "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.3.tgz", + "integrity": "sha512-rYOP8OMnuuPMQF1uhPVlGNcCDlkokKqGFE3JcxFViIkAXP7EvFWUliJAstrapypaBLJNHbZL6jGhbVDGTwmVhA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7348,9 +7379,9 @@ } }, "node_modules/@radix-ui/react-context": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.2.tgz", - "integrity": "sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.1.4.tgz", + "integrity": "sha512-QwH4PO5urrbO+FaGd5Aglg+YJgWTyyuZ3g/6mKvsqraLkglDdckw9JafgL5McL5VEJ6EPNduPaT3ZE9BttDAqg==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7363,25 +7394,25 @@ } }, "node_modules/@radix-ui/react-dialog": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.15.tgz", - "integrity": "sha512-TCglVRtzlffRNxRMEyR36DGBLJpeusFcgMVD9PZEzAKnUs1lKCgX5u9BmC2Yg+LL9MgZDugFFs1Vl+Jp4t/PGw==", - "license": "MIT", - "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-context": "1.1.2", - "@radix-ui/react-dismissable-layer": "1.1.11", - "@radix-ui/react-focus-guards": "1.1.3", - "@radix-ui/react-focus-scope": "1.1.7", - "@radix-ui/react-id": "1.1.1", - "@radix-ui/react-portal": "1.1.9", - "@radix-ui/react-presence": "1.1.5", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-slot": "1.2.3", - "@radix-ui/react-use-controllable-state": "1.2.2", + "version": "1.1.16", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dialog/-/react-dialog-1.1.16.tgz", + "integrity": "sha512-l9ok83YBclEZhbjgzt76Hw733e6cvRKPNgO6GJ/IETlufXG9p+fRu2wlvpImQvR6xdJ8h7J8J2DBvsPEiEsKMw==", + "license": "MIT", + "dependencies": { + "@radix-ui/primitive": "1.1.4", + "@radix-ui/react-compose-refs": "1.1.3", + "@radix-ui/react-context": "1.1.4", + "@radix-ui/react-dismissable-layer": "1.1.12", + "@radix-ui/react-focus-guards": "1.1.4", + "@radix-ui/react-focus-scope": "1.1.9", + "@radix-ui/react-id": "1.1.2", + "@radix-ui/react-portal": "1.1.11", + "@radix-ui/react-presence": "1.1.6", + "@radix-ui/react-primitive": "2.1.5", + "@radix-ui/react-slot": "1.2.5", + "@radix-ui/react-use-controllable-state": "1.2.3", "aria-hidden": "^1.2.4", - "react-remove-scroll": "^2.6.3" + "react-remove-scroll": "^2.7.2" }, "peerDependencies": { "@types/react": "*", @@ -7399,16 +7430,16 @@ } }, "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.11.tgz", - "integrity": "sha512-Nqcp+t5cTB8BinFkZgXiMJniQH0PsUt2k51FUhbdfeKvc4ACcG2uQniY/8+h1Yv6Kza4Q7lD7PQV0z0oicE0Mg==", + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.1.12.tgz", + "integrity": "sha512-MhoruH6xEzsbvOmo4TNgMfmtvRGyDZw4MDSdf4ybMHfezjqwzv6hyd4lsMzBp8K9Sn6sGzCF62x1I7BYUECXOg==", "license": "MIT", "dependencies": { - "@radix-ui/primitive": "1.1.3", - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1", - "@radix-ui/react-use-escape-keydown": "1.1.1" + "@radix-ui/primitive": "1.1.4", + "@radix-ui/react-compose-refs": "1.1.3", + "@radix-ui/react-primitive": "2.1.5", + "@radix-ui/react-use-callback-ref": "1.1.2", + "@radix-ui/react-use-escape-keydown": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7426,9 +7457,9 @@ } }, "node_modules/@radix-ui/react-focus-guards": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.3.tgz", - "integrity": "sha512-0rFg/Rj2Q62NCm62jZw0QX7a3sz6QCQU0LpZdNrJX8byRGaGVTqbrW9jAoIAHyMQqsNpeZ81YgSizOt5WXq0Pw==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.1.4.tgz", + "integrity": "sha512-cot/aB/mOm0IYVYTTmQcEEK1M48lZWi8FlYe5nDPQQ8NYZUlXEFgncJ9p2Kzer3RKSrY7cTTpEMLZKNo9QoP5Q==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7441,14 +7472,14 @@ } }, "node_modules/@radix-ui/react-focus-scope": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.7.tgz", - "integrity": "sha512-t2ODlkXBQyn7jkl6TNaw/MtVEVvIGelJDCG41Okq/KwUsJBwQ4XVZsHAVUkK4mBv3ewiAS3PGuUWuY2BoK4ZUw==", + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.1.9.tgz", + "integrity": "sha512-9Se8t+Zry+1rEOL7Y6l/4ANYU/TOtAtf8O2fKdwLltcaMcm6kOqYGbzO4tMFQ0bvzO920pRAoHpFZ4W85S3keQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-callback-ref": "1.1.1" + "@radix-ui/react-compose-refs": "1.1.3", + "@radix-ui/react-primitive": "2.1.5", + "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7466,12 +7497,12 @@ } }, "node_modules/@radix-ui/react-id": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.1.tgz", - "integrity": "sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.1.2.tgz", + "integrity": "sha512-orBC88futVpqCmhX1p4cvquNHsELQ+w+vBJnuj3ftETI5bJb0bZn3Tqu3SWN2IOcPycTnMGnhwoermvISt72sA==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7484,13 +7515,13 @@ } }, "node_modules/@radix-ui/react-portal": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.9.tgz", - "integrity": "sha512-bpIxvq03if6UNwXZ+HTK71JLh4APvnXntDc6XOX8UVq4XQOVl7lwok0AvIl+b8zgCw3fSaVTZMpAPPagXbKmHQ==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.1.11.tgz", + "integrity": "sha512-UEytdjgEh2tJGgD/gZK4FUx6t1rNIlM3U0DENhSrG7I75FGm1DnaDuVUWF1pWAWUwGmn1sCJ1VGHn8LhN1aTOw==", "license": "MIT", "dependencies": { - "@radix-ui/react-primitive": "2.1.3", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-primitive": "2.1.5", + "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7508,13 +7539,12 @@ } }, "node_modules/@radix-ui/react-presence": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.5.tgz", - "integrity": "sha512-/jfEwNDdQVBCNvjkGit4h6pMOzq8bHkopq458dPt2lMjx+eBQUohZNG9A7DtO/O5ukSbxuaNGXMjHicgwy6rQQ==", + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.1.6.tgz", + "integrity": "sha512-zdTk4PlUO0E18HnZ3wYbW0KkJJxWCdiNYp6g6X1PtONFhxVkg01vliTJAmwIszU6mHiyBOoW9P0rAugl5/hULQ==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7532,12 +7562,12 @@ } }, "node_modules/@radix-ui/react-primitive": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.3.tgz", - "integrity": "sha512-m9gTwRkhy2lvCPe6QJp4d3G1TYEUHn/FzJUtq9MjH46an1wJU+GdoGC5VLof8RX8Ft/DlpshApkhswDLZzHIcQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-2.1.5.tgz", + "integrity": "sha512-zifXeB8Y88qCYx8PLZ5oQb32KwZub+s925mMoZsBBq9KUQqWKkREubTfs6ASjRPPBe7Jt9O8OHH89+95VG+grA==", "license": "MIT", "dependencies": { - "@radix-ui/react-slot": "1.2.3" + "@radix-ui/react-slot": "1.2.5" }, "peerDependencies": { "@types/react": "*", @@ -7555,12 +7585,12 @@ } }, "node_modules/@radix-ui/react-slot": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.3.tgz", - "integrity": "sha512-aeNmHnBxbi2St0au6VBVC7JXFlhLlOnvIIlePNniyUNAClzmtAUEY8/pBiK3iHjufOlwA+c20/8jngo7xcrg8A==", + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.5.tgz", + "integrity": "sha512-rCMO3QsIVKv5JTY5CVbo2MvO77SpEqqYc8AvRE7OWqRDOIqAKjsp+DrmnY9uc8NPdxB5E2z47HTYGeE2+NTptg==", "license": "MIT", "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" + "@radix-ui/react-compose-refs": "1.1.3" }, "peerDependencies": { "@types/react": "*", @@ -7573,9 +7603,9 @@ } }, "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.1.tgz", - "integrity": "sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.1.2.tgz", + "integrity": "sha512-xCso9j1/u8sEgP1RNHjFrXJLApL8LiqOkI1R4ywuN00rxWdYg4oQXuwKLS3i0j5NWLromUD27/4nlxj2UFVvIw==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7588,13 +7618,13 @@ } }, "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.2.tgz", - "integrity": "sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.2.3.tgz", + "integrity": "sha512-PLzC90MS+ReootmjC597dvopoelpZ8Q61HJkDXZSExitIq7PL55vHNnesAHwguHK0aPfBnpdNzQtv1uliaqQrA==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-effect-event": "0.0.2", - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-effect-event": "0.0.3", + "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7607,12 +7637,12 @@ } }, "node_modules/@radix-ui/react-use-effect-event": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.2.tgz", - "integrity": "sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==", + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-effect-event/-/react-use-effect-event-0.0.3.tgz", + "integrity": "sha512-6c8ZqvPTWILEKnyVkP53EGRCcpnJiKTC21sS/6R1GF5xKyHJJWQEPfkqlcgUkdRQivd6tb23abUwe4ngWmY0JA==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-layout-effect": "1.1.1" + "@radix-ui/react-use-layout-effect": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7625,12 +7655,12 @@ } }, "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.1.tgz", - "integrity": "sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.1.2.tgz", + "integrity": "sha512-2uVLvLjgO7NZCWw01/FdqRwmA42J0BcjPMUCA+koFEOAb+zjqIP7SiFz/7zWPrKnVmSqr76Omq2ALyCuX4dhLw==", "license": "MIT", "dependencies": { - "@radix-ui/react-use-callback-ref": "1.1.1" + "@radix-ui/react-use-callback-ref": "1.1.2" }, "peerDependencies": { "@types/react": "*", @@ -7643,9 +7673,9 @@ } }, "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.1.tgz", - "integrity": "sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.1.2.tgz", + "integrity": "sha512-jrBWOxZITuGcnjRCM2t2U5ZPkCLxD+Ym6DjfssS5haTj2iiak/DOb64JeN6OdLfLgptb6/e2kKR+ZuTrGoZTPA==", "license": "MIT", "peerDependencies": { "@types/react": "*", @@ -7657,6 +7687,261 @@ } } }, + "node_modules/@react-native/assets-registry": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/assets-registry/-/assets-registry-0.86.0.tgz", + "integrity": "sha512-nIaXbm2jX1OTYp0qbviJ3O6KZivoE8z3BnhUQ2LsqfZSWRoOK/n1qsiAr6oALiNKWnXY3j2KPwtYORnZzp8xew==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/codegen": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/codegen/-/codegen-0.86.0.tgz", + "integrity": "sha512-uTs9DBo3+/lUqinsGZK0FKJRBVClrwMXoZToaDxE1Q2SL2e55vs2GwyZfIKzPl5uJnbu4PfFMIp0/mLXLWUMuA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/parser": "^7.29.0", + "hermes-parser": "0.36.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "tinyglobby": "^0.2.15", + "yargs": "^17.6.2" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + }, + "peerDependencies": { + "@babel/core": "*" + } + }, + "node_modules/@react-native/codegen/node_modules/hermes-estree": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.0.tgz", + "integrity": "sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/codegen/node_modules/hermes-parser": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.0.tgz", + "integrity": "sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.36.0" + } + }, + "node_modules/@react-native/community-cli-plugin": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/community-cli-plugin/-/community-cli-plugin-0.86.0.tgz", + "integrity": "sha512-Jv8p1ebEPfTzs8gmrjsdT2XMXFfeAg45Pman+XPLFGaSeGAZkutRFRyX9Cs9aGTSOyIA9YPJ6vDNb1ayTf1FKQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native/dev-middleware": "0.86.0", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "metro": "^0.84.3", + "metro-config": "^0.84.3", + "metro-core": "^0.84.3", + "semver": "^7.1.3" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + }, + "peerDependencies": { + "@react-native-community/cli": "*", + "@react-native/metro-config": "0.86.0" + }, + "peerDependenciesMeta": { + "@react-native-community/cli": { + "optional": true + }, + "@react-native/metro-config": { + "optional": true + } + } + }, + "node_modules/@react-native/community-cli-plugin/node_modules/semver": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@react-native/debugger-frontend": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/debugger-frontend/-/debugger-frontend-0.86.0.tgz", + "integrity": "sha512-7Mb3nDfyJeys+ELF75Ageu7VKERlnIMoO+aNPoXqTXvz+b41L6l2CqMyLpDHxkBSlenij6gEepPNgaIyWHbJZw==", + "license": "BSD-3-Clause", + "peer": true, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/debugger-shell": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/debugger-shell/-/debugger-shell-0.86.0.tgz", + "integrity": "sha512-Y0zEkZzLz8ou6o/VLml1A31X/rMgc6DRjwxwzPMa94qRTMY070WeBCNTITQo4kKTBAUgbxh07oXPQqp0Tpja8w==", + "license": "MIT", + "peer": true, + "dependencies": { + "cross-spawn": "^7.0.6", + "debug": "^4.4.0", + "fb-dotslash": "0.5.8" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/dev-middleware": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/dev-middleware/-/dev-middleware-0.86.0.tgz", + "integrity": "sha512-20pTO6yTybmvXvro520H6C7jydIQnLKOl5qFtVEcHSdFrY63r3OGei+Rx9bILgSRmH6jgnfEcijcMx7pwWuQtw==", + "license": "MIT", + "peer": true, + "dependencies": { + "@isaacs/ttlcache": "^1.4.1", + "@react-native/debugger-frontend": "0.86.0", + "@react-native/debugger-shell": "0.86.0", + "chrome-launcher": "^0.15.2", + "chromium-edge-launcher": "^0.3.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "invariant": "^2.2.4", + "nullthrows": "^1.1.1", + "open": "^7.0.3", + "serve-static": "^1.16.2", + "ws": "^7.5.10" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/chrome-launcher": { + "version": "0.15.2", + "resolved": "https://registry.npmjs.org/chrome-launcher/-/chrome-launcher-0.15.2.tgz", + "integrity": "sha512-zdLEwNo3aUVzIhKhTtXfxhdvZhUghrnmkvcAq2NoDd+LeOHKf03H5jwZ8T/STsAlzyALkBVK552iaG1fGf1xVQ==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0" + }, + "bin": { + "print-chrome-path": "bin/print-chrome-path.js" + }, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/lighthouse-logger/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/@react-native/dev-middleware/node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@react-native/dev-middleware/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@react-native/gradle-plugin": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/gradle-plugin/-/gradle-plugin-0.86.0.tgz", + "integrity": "sha512-a1RcfaEDqWExCGfCwadIxt4l8FvKYgFqeMf2uzeKyAOnb+vTGNIeCvifFL2MqvgaeYxlER437HbMIajGcuJ1pQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/js-polyfills": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/js-polyfills/-/js-polyfills-0.86.0.tgz", + "integrity": "sha512-zYy/Cjd1VTnZ2iCNaG9bDF9C3l2ntESiPRscjIlI5FKugu6aeTwsDSv1aI8Bc4Kp3vEdoVg+UQhLAhE4svREaQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/@react-native/normalize-colors": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/normalize-colors/-/normalize-colors-0.86.0.tgz", + "integrity": "sha512-kG0wfCGghUKlfxkJyyHCDVutWVYWK7/DG58ojA/4v9EfulgF+osuSQmlbNb3rcKX58qutm7JcldSeVLgGFha9g==", + "license": "MIT", + "peer": true + }, "node_modules/@react-spring/animated": { "version": "9.7.5", "resolved": "https://registry.npmjs.org/@react-spring/animated/-/animated-9.7.5.tgz", @@ -7884,7 +8169,6 @@ "version": "0.27.10", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.10.tgz", "integrity": "sha512-MTBk/3jGLNB2tVxv6uLlFh1iu64iYOQ2PbdOSK3NW8JZsmlaOh2q6sdtKowBhfw8QFLmYNzTW4/oK4uATIi6ZA==", - "dev": true, "license": "MIT" }, "node_modules/@sindresorhus/is": { @@ -8382,9 +8666,9 @@ } }, "node_modules/@types/aws-lambda": { - "version": "8.10.161", - "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.161.tgz", - "integrity": "sha512-rUYdp+MQwSFocxIOcSsYSF3YYYC/uUpMbCY/mbO21vGqfrEYvNSoPyKYDj6RhXXpPfS0KstW9RwG3qXh9sL7FQ==", + "version": "8.10.162", + "resolved": "https://registry.npmjs.org/@types/aws-lambda/-/aws-lambda-8.10.162.tgz", + "integrity": "sha512-Fn658grtLOci1oxi1391vvDWJRKNGWRSqfxRkmN/Iy3c0tQH1USMKEXcPYHLvope+ZgTFocx9FRQJx1muBL6qw==", "dev": true, "license": "MIT" }, @@ -8607,14 +8891,12 @@ "version": "2.0.6", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", - "dev": true, "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", - "dev": true, "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" @@ -8624,7 +8906,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", - "dev": true, "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" @@ -8718,7 +8999,6 @@ "version": "20.19.41", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.41.tgz", "integrity": "sha512-ECymXOukMnOoVkC2bb1Vc/w/836DXncOg5m8Xj1RH7xSHZJWNYY6Zh7EH477vcnD5egKNNfy2RpNOmuChhFPgQ==", - "dev": true, "license": "MIT", "dependencies": { "undici-types": "~6.21.0" @@ -8780,9 +9060,9 @@ "license": "MIT" }, "node_modules/@types/react": { - "version": "18.3.28", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", - "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", + "version": "18.3.31", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.31.tgz", + "integrity": "sha512-vfEqpXTvwT91yhmwdfouStN2hSKwTvyRs8qpLfADyrq/kxDw0hZM7Wk9Ug1FELj8hIby+S/+kQCSRFF32nv2Qw==", "license": "MIT", "dependencies": { "@types/prop-types": "*", @@ -9136,7 +9416,6 @@ "version": "17.0.35", "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", - "dev": true, "license": "MIT", "dependencies": { "@types/yargs-parser": "*" @@ -9146,7 +9425,6 @@ "version": "21.0.3", "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", - "dev": true, "license": "MIT" }, "node_modules/@types/yauzl": { @@ -9161,17 +9439,17 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.59.3.tgz", - "integrity": "sha512-PwFvSKsXGShKGW6n5bZOhGHEcCZXM8HofLK9fNsEwZXzFRjoY+XT1Vsf1zgyXdwTr0ZYz1/2tkZ0DBTT9jZjhw==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.61.0.tgz", + "integrity": "sha512-bFNvl9ZczlVb+wR2Akszf3gHfKVj/8WanXaGJ3UstTA7brNKg0cNdk6X1Psu5V7MZ2oQtzZKOEzIUehaoxbDGw==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.59.3", - "@typescript-eslint/type-utils": "8.59.3", - "@typescript-eslint/utils": "8.59.3", - "@typescript-eslint/visitor-keys": "8.59.3", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/type-utils": "8.61.0", + "@typescript-eslint/utils": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "ignore": "^7.0.5", "natural-compare": "^1.4.0", "ts-api-utils": "^2.5.0" @@ -9184,22 +9462,22 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.59.3", + "@typescript-eslint/parser": "^8.61.0", "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", "typescript": ">=4.8.4 <6.1.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.59.3.tgz", - "integrity": "sha512-HPwA+hVkfcriajbNvTmZv4VRauibay+cWArYUYq7u7W7PmGShMxbPxLvrwDme55a6d5alG3nrYfhyJ/G28XlLg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.61.0.tgz", + "integrity": "sha512-5B7PfA2e1NQGCnDHd/0lW7W3gvp3d59Ryw54FYO8Uswxo9f6ikw3AZV+Xj/TvpImmpsiYyUqAfhC6kJID1jF6w==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "8.59.3", - "@typescript-eslint/types": "8.59.3", - "@typescript-eslint/typescript-estree": "8.59.3", - "@typescript-eslint/visitor-keys": "8.59.3", + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3" }, "engines": { @@ -9215,14 +9493,14 @@ } }, "node_modules/@typescript-eslint/project-service": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.59.3.tgz", - "integrity": "sha512-ECiUWa/KYRGDFUqTNehaRgzDshnJfkTABJxVemHk4ko22gcr0ukloKjWvyQ64g8YCV/UI47kN1dbmjf/GaQYng==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.61.0.tgz", + "integrity": "sha512-DV42F7MLJO6Rax7SK1yg43tcnEfGUrurSpSxKuVX+a3RCTzBlH3fuxprrOJXKCJGAaw82xXocikJ0uQaqwXgGA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.59.3", - "@typescript-eslint/types": "^8.59.3", + "@typescript-eslint/tsconfig-utils": "^8.61.0", + "@typescript-eslint/types": "^8.61.0", "debug": "^4.4.3" }, "engines": { @@ -9237,14 +9515,14 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.59.3.tgz", - "integrity": "sha512-t2LvZnoEfzKtnPjgeEu41xw5gxq9mQVfYy4OoZ4Vlt0sk3JwxmhCca/AR7DwOiHrjWgjAj6as4AhRLKSDfvZIA==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.61.0.tgz", + "integrity": "sha512-IWdXFHFSb6mlC3HPc7QsLDm5zYEbUla6trDEHf32D3/dnuUyXd87plScSNXSbm0/RxMvObpI17sv/EDTGrGZkA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.3", - "@typescript-eslint/visitor-keys": "8.59.3" + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9255,9 +9533,9 @@ } }, "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.59.3.tgz", - "integrity": "sha512-PcIJHjmaREXLgIAIzLnSY9VucEzz8FKXsRgFa1DmdGCK/5tJpW03TKJF01Q6VZd1lLdz2sIKPWaDUZN9dp//dw==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.61.0.tgz", + "integrity": "sha512-O5Amvdv9ztMpxpf+vmFULGG78IE6Qwdr3bCGvqwG4nwc9H2qXkOYJJnRbRHyMkQTjv1d03olqwwwzHLMqpFePQ==", "dev": true, "license": "MIT", "engines": { @@ -9272,15 +9550,15 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.59.3.tgz", - "integrity": "sha512-g71d8QD8UaiHGvrJwyIS1hCX5r63w6Jll+4VEYhEAHXTDIqX1JgxhTAbEHtKntL9kuc4jRo7/GWw5xfCepSccQ==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.61.0.tgz", + "integrity": "sha512-TuBiQYIkd97yBfInHCTKVYMbX4kvEmpOEuixIuzCU9p8BGT1SfyyO0d0IfDMbPIHcjn/hWnusUX5e8v5Xg+X8A==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.3", - "@typescript-eslint/typescript-estree": "8.59.3", - "@typescript-eslint/utils": "8.59.3", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0", "debug": "^4.4.3", "ts-api-utils": "^2.5.0" }, @@ -9297,9 +9575,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.59.3.tgz", - "integrity": "sha512-ePFoH0g4ludssdRFqqDxQePCxU4WQyRa9+XVwjm7yLn0FKhMeoetC+qBEEI1Eyb1pGSDveTIT09Bvw2WhlGayg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.61.0.tgz", + "integrity": "sha512-9QTQpZ5Iin4CdIodfbDQFSeiSJKidgYJYug1P9CC2xWgUTvlmixViqDZNciMjwLBZyJnG4tGmPl97rVAFb1AJg==", "dev": true, "license": "MIT", "engines": { @@ -9311,16 +9589,16 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.59.3.tgz", - "integrity": "sha512-CbRjVRAf7Lr9Kr8RopKcbY45p2VfmmHrm0ygOCYFi7oU8q19m0Fs/6iHS7kNOmwpp+ob07ZVcAqlxUod9lYdmg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.61.0.tgz", + "integrity": "sha512-42zatd5qSvvcV1JdDBCLxYRznvP4eIHpPoZXdkPFnAmanA4FuZ5dibSnCBggY8hQnqajPpoGjXFdZ7fIJKQnlA==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/project-service": "8.59.3", - "@typescript-eslint/tsconfig-utils": "8.59.3", - "@typescript-eslint/types": "8.59.3", - "@typescript-eslint/visitor-keys": "8.59.3", + "@typescript-eslint/project-service": "8.61.0", + "@typescript-eslint/tsconfig-utils": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/visitor-keys": "8.61.0", "debug": "^4.4.3", "minimatch": "^10.2.2", "semver": "^7.7.3", @@ -9378,9 +9656,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -9391,16 +9669,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.59.3.tgz", - "integrity": "sha512-JAvT14goBzRzzzZyqq3P9BLArIxTtQURUtFgQ/V7FO+eU+Gg6ES+5ymOPP1wRxXcxAYeivCk4uS3jCKWI1K8Zg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.61.0.tgz", + "integrity": "sha512-3bzFt7ImFMW/jVYwJamDoe/dMOdFLSC6pom6rRjdh4SZJEYupyMzem8e7vKZLclLfpHjlwSAXOUxtKxGXUiLqA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.59.3", - "@typescript-eslint/types": "8.59.3", - "@typescript-eslint/typescript-estree": "8.59.3" + "@typescript-eslint/scope-manager": "8.61.0", + "@typescript-eslint/types": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -9415,13 +9693,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.59.3.tgz", - "integrity": "sha512-f1UQF7ggd42YiwI5wGrRaPsa+P0CINBlrkLPmGfpq/u/I/oVtecoEIfFR9ag/oa1sLOsRNZ6xehf6qMZhQGBDg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.61.0.tgz", + "integrity": "sha512-QVLZu3ZPQEE+HICQyAMZ2yLQhxf0meY/wx6Hx14YcTNj13JB3qHlX3lJ02L3fLGHgERRH71kvYDwiXIguT3AjQ==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/types": "8.59.3", + "@typescript-eslint/types": "8.61.0", "eslint-visitor-keys": "^5.0.0" }, "engines": { @@ -9446,9 +9724,9 @@ } }, "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.12.2.tgz", + "integrity": "sha512-g5T90pqg1bo/7mytQx6F4iBNC0Wsh9cu+z9veDbFjc7HjpesJFWD7QMS0NGStXM075+7dJPPVvBbpZlnrdpi/w==", "cpu": [ "arm" ], @@ -9460,9 +9738,9 @@ ] }, "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.12.2.tgz", + "integrity": "sha512-YGCRZv/9GLhwmz6mYDeTsm/92BAyR28l6c2ReweVW5pWgfsitWLY8upvfRlGdoyD8HjeTHSYJWyZGD4KJA/nFQ==", "cpu": [ "arm64" ], @@ -9474,9 +9752,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.12.2.tgz", + "integrity": "sha512-u9DiNT1auQMO20A9SyTuG3wUgQWB9Z7KjAg0uFuCDR1FsAY8A0CG2S6JpHS1xwm/w1G08bjXZDcyOCjv1WAm2w==", "cpu": [ "arm64" ], @@ -9488,9 +9766,9 @@ ] }, "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.12.2.tgz", + "integrity": "sha512-f7rPLi/T1HVKZu/u6t87lroib16n8vrSzcyxI7lg4BGO9UF26KhQL44sd9eOUgrTYhvRXtWOIZT5PejdPyJfUA==", "cpu": [ "x64" ], @@ -9502,9 +9780,9 @@ ] }, "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.12.2.tgz", + "integrity": "sha512-BpcOjWCJub6nRZUS2zA20pmLvjtqAtGejETaIyRLiZiQf++cbrjltLA5NN/xaXfqeOBOSlMFbemIl5/S5tljmg==", "cpu": [ "x64" ], @@ -9516,9 +9794,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.12.2.tgz", + "integrity": "sha512-vZTDvdSISZjJx66OzJqtsOhzifbqRjbmI1Mnu49fQDwog5GtDI4QidRiEAYbZCRj9C8YZEW+3ZjqsyS9GR4k2A==", "cpu": [ "arm" ], @@ -9530,9 +9808,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.12.2.tgz", + "integrity": "sha512-BiPI+IrIlwcW4nLLMM21+B1dFPzd55yAVgVGrdgDjNef+ch03GdxrcyaIz8X9SsQirh/kCQ7mviyWlMxdh2D7g==", "cpu": [ "arm" ], @@ -9544,9 +9822,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.12.2.tgz", + "integrity": "sha512-zJc0H99FEPoFfSrNpa91HYfxzfAJCr502oxNK1cfdC9hlaFI43RT+JFCann9JUgZmLzzntChHyn13Sgn9ljHNg==", "cpu": [ "arm64" ], @@ -9558,9 +9836,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.12.2.tgz", + "integrity": "sha512-KQ3Lki6l+Pz1k/eBipN41ES+YUK30beLGb9YqcB1O542cyLCNE6GaxrfcY3T6EezmGGk84wb5XyO9loTM9tkcA==", "cpu": [ "arm64" ], @@ -9571,10 +9849,38 @@ "linux" ] }, + "node_modules/@unrs/resolver-binding-linux-loong64-gnu": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-gnu/-/resolver-binding-linux-loong64-gnu-1.12.2.tgz", + "integrity": "sha512-3SJGEh1DborhG6pyxvhPzCT4bbSIVihsvgJc13P1bHG7KLdNDaF9T3gsTwFc7Jw/5Y5/iWOjkEx7Zy0NvCGX3Q==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@unrs/resolver-binding-linux-loong64-musl": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-loong64-musl/-/resolver-binding-linux-loong64-musl-1.12.2.tgz", + "integrity": "sha512-jiuG/Obbel7uw1PwHNFfrkiKhLAF6mnyZ6aWlOAVN9WqKm8v0OFGnciJIHu8+CMvXLQ8AD51LPzAoUfT21D5Ew==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.12.2.tgz", + "integrity": "sha512-q7xRvVpmcfeL+LlZg8Pbbo6QaTZwDU5BaGZbwfhkEsXJn3Was8xYfE0RBH266xZt0rM6B7i8xAYIvjthuUIWHg==", "cpu": [ "ppc64" ], @@ -9586,9 +9892,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.12.2.tgz", + "integrity": "sha512-0CVdx6lcnT3Q9inOH8tsMIOJ6ImndllMjqJHg8RLVdB7Vq4SfkEXl9mCSsVNuNA4MCYycRicCUxPCabVHJRr6A==", "cpu": [ "riscv64" ], @@ -9600,9 +9906,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.12.2.tgz", + "integrity": "sha512-iOwlRo9vnp6R6ohHQS11n0NnfdXx/omhkocmIfaPRpQhKZ+3BDMkkdRVh53qjkFkpPddf+FETA28NwGN7l5l+w==", "cpu": [ "riscv64" ], @@ -9614,9 +9920,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.12.2.tgz", + "integrity": "sha512-HYJtLfXq94q8iZNFT1lknx258wlkkWhZeUXJRqzKBBUJ00CvZ+N33zgbCqimLjsyw5Va6uUxhVa12mI+kaveEw==", "cpu": [ "s390x" ], @@ -9628,9 +9934,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.12.2.tgz", + "integrity": "sha512-mPsUhunKKDih5O96Y6enDQyHc1SqBPlY1E/SfMWDM3EdJ95Z9CArPeCVwCCqbP45ljvivdEk8Fxn+SIb1rDAJQ==", "cpu": [ "x64" ], @@ -9642,9 +9948,9 @@ ] }, "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.12.2.tgz", + "integrity": "sha512-azrt6+5ydLd8Vt210AAFis/lZevSfPw93EJRIJG+xPu4WCJ8K0kppCTpMyLPcKT7H15M4Jnt2tMp5bOvCkRC6A==", "cpu": [ "x64" ], @@ -9655,10 +9961,24 @@ "linux" ] }, + "node_modules/@unrs/resolver-binding-openharmony-arm64": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-openharmony-arm64/-/resolver-binding-openharmony-arm64-1.12.2.tgz", + "integrity": "sha512-YZ9hP4O0X9PQb8eO980qmLNGH4zT3I9+SZTdt0Pr0YyuGQhYKoOZkV02VzrzyOZJ5xIJ3UFIenKkUkGg8GjgWQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.12.2.tgz", + "integrity": "sha512-tYFDIkMxSflfEc/h92ZWNsZlHSwgimbNHSO3PL2JWQHfCuC2q316jMyYU9TIWZsFK2bQwyK5VAdYgn8ygPj69A==", "cpu": [ "wasm32" ], @@ -9666,16 +9986,18 @@ "license": "MIT", "optional": true, "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" + "@emnapi/core": "1.10.0", + "@emnapi/runtime": "1.10.0", + "@napi-rs/wasm-runtime": "^1.1.4" }, "engines": { "node": ">=14.0.0" } }, "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.12.2.tgz", + "integrity": "sha512-qzNyg3xL0VPQmCaUh+N5jSitce6k+uCBfMDesWRnlULOZaqUkaJ0ybdT+UqlAWJoQjuqfIU/0Ptx9bteN4D82g==", "cpu": [ "arm64" ], @@ -9687,9 +10009,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.12.2.tgz", + "integrity": "sha512-WD9sY00OfpHVGfsnHZoA8jVT+esS/Bg8z8jzxp5BnDCjjwsuKsPQrzswwpFy4J1AUJbXPRfkpcX0mXrzeXW79g==", "cpu": [ "ia32" ], @@ -9701,9 +10023,9 @@ ] }, "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.12.2.tgz", + "integrity": "sha512-nAB74NfSNKknqQ1RrYj6uz8FcXEomu/MATJZxh/x+BArzN2U3JbOYC0APYzUIGhVY3m5hRxA8VPNdPBoG8txlA==", "cpu": [ "x64" ], @@ -9941,13 +10263,13 @@ } }, "node_modules/@wordpress/a11y": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-4.46.0.tgz", - "integrity": "sha512-9VKhQHB/TQHJciOtxbpJ5JPhxMHCOszcxs4eL27krFXMEp3fl4tzVy13r1LPuXg/yjZ9NpV3NY+Qwx4G0aW3Kw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/a11y/-/a11y-4.48.0.tgz", + "integrity": "sha512-MXwBc2sYaemZCn1dqVutTbLdM6iy4bx/HS9hHR/+pRpaSVJUlguZ1aQ0BaoIbE4u0uOezGGc5d2bDfWCti3Dww==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/dom-ready": "^4.46.0", - "@wordpress/i18n": "^6.19.0" + "@wordpress/dom-ready": "^4.48.0", + "@wordpress/i18n": "^6.21.0" }, "engines": { "node": ">=18.12.0", @@ -9972,18 +10294,18 @@ } }, "node_modules/@wordpress/admin-ui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/admin-ui/-/admin-ui-2.1.0.tgz", - "integrity": "sha512-wFZ6pOxex/3iz1NuV27/7uL/iJtbqrLPqWKuQlpaJiXL9ZLj2JvHWkQVpvzi10EzIDQLqX2WdSOzS0SyXIro2w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/admin-ui/-/admin-ui-2.3.0.tgz", + "integrity": "sha512-AfLzd3YrzGtitEyuzmyHafEuZzD/4LnXA8Wg+RbXyLtYWZzrKDNJRopGMtSVHNxqaz6E/NSlpbJY5P0qet6w+g==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/components": "^33.1.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/route": "^0.12.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/ui": "^0.13.0", + "@wordpress/components": "^35.0.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/route": "^0.14.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", "clsx": "^2.1.1" }, "engines": { @@ -9994,16 +10316,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/admin-ui/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/admin-ui/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -10013,25 +10346,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10060,14 +10394,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/admin-ui/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/admin-ui/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/admin-ui/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -10078,23 +10459,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/admin-ui/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/admin-ui/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -10108,13 +10499,13 @@ } }, "node_modules/@wordpress/admin-ui/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -10145,6 +10536,28 @@ } } }, + "node_modules/@wordpress/admin-ui/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/admin-ui/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -10159,9 +10572,9 @@ } }, "node_modules/@wordpress/admin-ui/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -10169,13 +10582,14 @@ } }, "node_modules/@wordpress/api-fetch": { - "version": "7.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-7.46.0.tgz", - "integrity": "sha512-QOxuHSUXMzLat3Y90+0HNUDPSlBUK53r4mQ4m7f4/OKaWRRZU5jzvDBJyj52dEST7yJ1eZtuqUkEwK2T1MEBfQ==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/api-fetch/-/api-fetch-7.48.0.tgz", + "integrity": "sha512-WYoIikKQPdRqrbLB9b9diM80q4g80NqqMPwVYZY9c7vbhJvj5c0hkA5zAlwba/iRbwqDjpRiZMKp8XntYLzMWw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/i18n": "^6.19.0", - "@wordpress/url": "^4.46.0" + "@wordpress/i18n": "^6.21.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/url": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -10183,9 +10597,9 @@ } }, "node_modules/@wordpress/autop": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/autop/-/autop-4.46.0.tgz", - "integrity": "sha512-qAAd46EvbO5L9xx+YVP0lN48+A4n3C2jO4ckVP8/n8cEgFucCMlfyMKstqj7uOTBaA0YnmNZxJUkciCCV9FrLw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/autop/-/autop-4.48.0.tgz", + "integrity": "sha512-Fn0WzWJjwIFxSfF9RqB3L1XbKudWLGHc4DMTAN4KAfyVl+86FszP85UYJq28EWIMblPO4V1roNXt6ZbShmGsOw==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -10193,9 +10607,9 @@ } }, "node_modules/@wordpress/babel-preset-default": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-8.46.0.tgz", - "integrity": "sha512-HpjX32OkbSpNZkhVo2WdQuP1MkpVg24hVaq7uM5whDdYR88pSc5bfhJ1cNsWagYJQvuYFBf+YIBSvxref4ojXA==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/babel-preset-default/-/babel-preset-default-8.48.0.tgz", + "integrity": "sha512-arwTuIihbSj/F3S89p1DqmfViCSqfbcCoZEeIcx07kyOR+D+7T+ZRLQ1sX62bZ5NkSC/SsdkBp6GkMCfE8NWqQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -10205,8 +10619,8 @@ "@babel/plugin-transform-runtime": "7.25.7", "@babel/preset-env": "7.25.7", "@babel/preset-typescript": "7.25.7", - "@wordpress/browserslist-config": "^6.46.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/browserslist-config": "^6.48.0", + "@wordpress/warning": "^3.48.0", "browserslist": "^4.21.10", "core-js": "^3.31.0", "react": "^18.3.0" @@ -10216,22 +10630,6 @@ "npm": ">=8.19.2" } }, - "node_modules/@wordpress/babel-preset-default/node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", - "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, "node_modules/@wordpress/babel-preset-default/node_modules/@babel/plugin-transform-react-jsx": { "version": "7.25.7", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz", @@ -10263,9 +10661,9 @@ } }, "node_modules/@wordpress/blob": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/blob/-/blob-4.46.0.tgz", - "integrity": "sha512-TUu6k4SFPThT86ek/O87/aQfwKVYAGG9Gt14uvYPXPyLz90/KeFLr15v9waZV2luk2xCZACMIa4OdBHQlkL/aQ==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/blob/-/blob-4.48.0.tgz", + "integrity": "sha512-nMFyrFqdAMLeM2QzVN14UuWtBcbiftrcCmPZydZq05wcWs0pUIcd0Xe3D7o77GIfhlpRFOOC4iT7ORJE/YeWiA==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -10273,49 +10671,49 @@ } }, "node_modules/@wordpress/block-editor": { - "version": "15.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/block-editor/-/block-editor-15.19.0.tgz", - "integrity": "sha512-kpTug+xiBLnbuN143nG9aNNEON4wrJGY3vM+s9XlKaNXIm+EeuOMv53Mm9HUKEJYctyPsPMFbfK7nVANWzC2fQ==", + "version": "15.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/block-editor/-/block-editor-15.21.0.tgz", + "integrity": "sha512-tSv8htNGX4LZfC91BCgcxpe2uU9wZAMGDFmpLYu6qSLg8ArhXJtbPt9YUigSPQJrM8XjD/29nW2PG779incBQA==", "license": "GPL-2.0-or-later", "dependencies": { "@react-spring/web": "^9.4.5", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/block-serialization-default-parser": "^5.46.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/commands": "^1.46.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/global-styles-engine": "^1.13.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/image-cropper": "^1.10.0", - "@wordpress/interactivity": "^6.46.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keyboard-shortcuts": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/priority-queue": "^3.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-engine": "^2.46.0", - "@wordpress/token-list": "^3.46.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/upload-media": "^0.31.0", - "@wordpress/url": "^4.46.0", - "@wordpress/warning": "^3.46.0", - "@wordpress/wordcount": "^4.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/block-serialization-default-parser": "^5.48.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/commands": "^1.48.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/global-styles-engine": "^1.15.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/image-cropper": "^1.12.0", + "@wordpress/interactivity": "^6.48.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-engine": "^2.48.0", + "@wordpress/token-list": "^3.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/upload-media": "^0.33.0", + "@wordpress/url": "^4.48.0", + "@wordpress/warning": "^3.48.0", + "@wordpress/wordcount": "^4.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10340,16 +10738,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/block-editor/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -10359,25 +10768,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10406,14 +10816,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/block-editor/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -10424,23 +10918,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/block-editor/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -10454,13 +10958,13 @@ } }, "node_modules/@wordpress/block-editor/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -10491,6 +10995,28 @@ } } }, + "node_modules/@wordpress/block-editor/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/block-editor/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -10505,9 +11031,9 @@ } }, "node_modules/@wordpress/block-editor/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -10515,50 +11041,50 @@ } }, "node_modules/@wordpress/block-library": { - "version": "9.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/block-library/-/block-library-9.46.0.tgz", - "integrity": "sha512-QI8CjmH7Ufa1MDjBxR2CVd0hLrY7hfTnPuzXjLNCWmW6FKUnNBCENMea4EuNvXuXUShbgX+VIao5NA8oLxtbIQ==", + "version": "9.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/block-library/-/block-library-9.48.0.tgz", + "integrity": "sha512-bcnC8yAFxqeLdN/gpS4M1zyJIA9yTO7hrDw3KFVGBysFzFWJ3mOtNXgGBIKEyPBKaK413PmITT4rro3A+1bXtQ==", "license": "GPL-2.0-or-later", "dependencies": { "@arraypress/waveform-player": "1.2.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/autop": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/interactivity": "^6.46.0", - "@wordpress/interactivity-router": "^2.46.0", - "@wordpress/keyboard-shortcuts": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/latex-to-mathml": "^1.14.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/patterns": "^2.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/reusable-blocks": "^5.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/server-side-render": "^6.22.0", - "@wordpress/shortcode": "^4.46.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/upload-media": "^0.31.0", - "@wordpress/url": "^4.46.0", - "@wordpress/viewport": "^6.46.0", - "@wordpress/wordcount": "^4.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/autop": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/interactivity": "^6.48.0", + "@wordpress/interactivity-router": "^2.48.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/latex-to-mathml": "^1.16.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/patterns": "^2.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/reusable-blocks": "^5.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/server-side-render": "^6.24.0", + "@wordpress/shortcode": "^4.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/upload-media": "^0.33.0", + "@wordpress/url": "^4.48.0", + "@wordpress/viewport": "^6.48.0", + "@wordpress/wordcount": "^4.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10578,16 +11104,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/block-library/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/block-library/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -10597,25 +11134,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10644,14 +11182,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/block-library/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/block-library/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/block-library/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -10662,23 +11247,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/block-library/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/block-library/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -10692,13 +11287,13 @@ } }, "node_modules/@wordpress/block-library/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -10729,6 +11324,28 @@ } } }, + "node_modules/@wordpress/block-library/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/block-library/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -10743,9 +11360,9 @@ } }, "node_modules/@wordpress/block-library/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -10753,9 +11370,9 @@ } }, "node_modules/@wordpress/block-serialization-default-parser": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-default-parser/-/block-serialization-default-parser-5.46.0.tgz", - "integrity": "sha512-j9AWXtuBbjntWWapDTZVyLmRVYOA1me3lqR+ugkN54HvNiyQaDw0tt6JfJYGFTWhJ8peU90G2TO+IiFf6YDKQQ==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/block-serialization-default-parser/-/block-serialization-default-parser-5.48.0.tgz", + "integrity": "sha512-bbG7qlz3BZNnZRLtwwFl/VK/ynDtZ3XDbLiTCXrOGF3ij4RdA+Vng3nTNBxxPKLy8gB5t8Fgl5DGK3MXhn+RWA==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -10763,26 +11380,26 @@ } }, "node_modules/@wordpress/blocks": { - "version": "15.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-15.19.0.tgz", - "integrity": "sha512-8tsKYt9uD8xU+G0o2MwHVYgPz60FhyE1eSNHx27YS20VxgZPzIWPTRnAB45wEyjQ2yMcN/9G8maim+B7geQ0Kg==", + "version": "15.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/blocks/-/blocks-15.21.0.tgz", + "integrity": "sha512-nq+lOxGFAET150U2dbC/yf5M1l52NlGFffKDr3ChmKscGh4R5KRYfv4fmqQVYujbapWCNJHZJXI63yrSFUOhMA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/autop": "^4.46.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/block-serialization-default-parser": "^5.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/shortcode": "^4.46.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/autop": "^4.48.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/block-serialization-default-parser": "^5.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/shortcode": "^4.48.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "colord": "^2.7.0", "fast-deep-equal": "^3.1.3", @@ -10803,10 +11420,30 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/blocks/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/browserslist-config": { - "version": "6.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-6.46.0.tgz", - "integrity": "sha512-FV/CN/Qjvu0Ts1h63w0xuZyhKzipyePMFGXPmbZawu+fHpib/2D/JyAHb0wVpOD4qz8XOfB8Tyi9iMPJzAI87w==", + "version": "6.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/browserslist-config/-/browserslist-config-6.48.0.tgz", + "integrity": "sha512-bPcrwFqlG9i4qLrcrYBj8lOYhB547SYelEZ+HCesfrkUHr5YDM2mnUdqKhj0+E6/T/iSBAht9uK4SEqj/hShqA==", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -10815,14 +11452,14 @@ } }, "node_modules/@wordpress/build": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/@wordpress/build/-/build-0.14.0.tgz", - "integrity": "sha512-ZPXLAinvwNOkVqZ7UMDDpL6V0opHgv/0gsDO0YT5hS17vvdB6pyrHezHN6NeS6Q54Qx3V2iaTlaFwLwiMvybQQ==", + "version": "0.16.0", + "resolved": "https://registry.npmjs.org/@wordpress/build/-/build-0.16.0.tgz", + "integrity": "sha512-dMIbkJHObOkW9QbSHmRwwMDzjdw615vrvYa3mmOEvPlYgAgoMiaRICSPEjMP/Ym2F2qLjFY7NUxpVs+1OchaxA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { "@emotion/babel-plugin": "11.13.5", - "@wordpress/style-runtime": "^0.2.0", + "@wordpress/style-runtime": "^0.4.0", "autoprefixer": "10.4.21", "browserslist-to-esbuild": "2.1.1", "change-case": "4.1.2", @@ -10866,22 +11503,33 @@ } } }, + "node_modules/@wordpress/build/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/commands": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/commands/-/commands-1.46.0.tgz", - "integrity": "sha512-Pzn9noMCkmFs+tRd5ghpkJy1iZtc0EfHU8XQTKoL2rtafs5Sxhsw08+85RNci/Uk7FZKhDTjKCgy7bxlyZ4EIQ==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/commands/-/commands-1.48.0.tgz", + "integrity": "sha512-wSo0Sj0Y7Z+yNfhp8QouB7rBSC9d3+Vb2/RKB/480+WlidFvCDgsFJPojNenqXdPlUTVcbgjsj0jLls8BbwHbA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/base-styles": "^8.0.0", - "@wordpress/components": "^33.1.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keyboard-shortcuts": "^5.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/warning": "^3.48.0", "clsx": "^2.1.1", "cmdk": "^1.0.0" }, @@ -10894,16 +11542,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/commands/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/commands/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -10913,25 +11572,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -10960,15 +11620,62 @@ "react-dom": "^18.0.0" } }, - "node_modules/@wordpress/commands/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "node_modules/@wordpress/commands/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", - "change-case": "4.1.2" + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/icons": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", + "change-case": "4.1.2" }, "engines": { "node": ">=18.12.0", @@ -10978,10 +11685,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/commands/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/commands/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/commands/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -11119,27 +11938,27 @@ } }, "node_modules/@wordpress/core-data": { - "version": "7.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-7.46.0.tgz", - "integrity": "sha512-mfiqOrXcsv4rZJZFYjmUSc5goK1cKpuQ1lSoSBnuKMJNZAxTCVTwexIaj0XI5Qr/ngUjT5U1+w4I0Fzuv/qCMQ==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/core-data/-/core-data-7.48.0.tgz", + "integrity": "sha512-coukurBp/mTSugI1PRKwunJsk9/sVilwdFv5h4yFWisVIMclZQ0GJg+MOLiK18fWEtqjPD2J1j7Aoz12QEx1Lw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/sync": "^1.46.0", - "@wordpress/undo-manager": "^1.46.0", - "@wordpress/url": "^4.46.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/sync": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "@wordpress/url": "^4.48.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "equivalent-key-map": "^0.2.2", "fast-deep-equal": "^3.1.3", @@ -11155,19 +11974,66 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/core-data/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/core-data/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/data": { - "version": "10.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-10.46.0.tgz", - "integrity": "sha512-vxOO2IEn+29eue9Pq7Mzsq1SipMAg0Rp0Oztz9LsgWQIF9yyylGlP3yHnFjEmJ4MonGSjzvpArlc7jWwkzutKg==", + "version": "10.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/data/-/data-10.48.0.tgz", + "integrity": "sha512-6SjfTBlXu5fuJWmmlHlwV2wcrcsWL+M5O227AoEvrPSLo96UuMj2kAx3cKLtP3xyOMDyd38koQSf6+SS522bTA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/compose": "^7.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/priority-queue": "^3.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/redux-routine": "^5.46.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/redux-routine": "^5.48.0", "deepmerge": "^4.3.0", "equivalent-key-map": "^0.2.2", "is-plain-object": "^5.0.0", @@ -11184,6 +12050,53 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/data/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/data/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/dataviews": { "version": "14.3.0", "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-14.3.0.tgz", @@ -11396,12 +12309,12 @@ } }, "node_modules/@wordpress/date": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-5.46.0.tgz", - "integrity": "sha512-phbKy1siTFGwFet5hQzaSZJB1mMDIXflMLKj+oJ/mT/m9ughp3seFDPvKoL+UzukLxNJh3l5G5h1l9XQFfC2cA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/date/-/date-5.48.0.tgz", + "integrity": "sha512-HgXtYAD2IOrPDY83xzkT/8abYj2nMlkbC+lfSpB4lExlSVrIbz5oYUtktH8k5EBZjVBMFsE7mdMQyQjUeCQbeQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/deprecated": "^4.46.0", + "@wordpress/deprecated": "^4.48.0", "moment": "^2.29.4", "moment-timezone": "^0.5.40" }, @@ -11411,9 +12324,9 @@ } }, "node_modules/@wordpress/dependency-extraction-webpack-plugin": { - "version": "6.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-6.46.0.tgz", - "integrity": "sha512-Lm2JFEI4NrcEQFdnIXK+CsUQGK/LTiRxrDY0ocpTLt5hhb3DJm3Ds2HFn8fa//H0U5B3FvO3XyGMHOUf9Q12Pg==", + "version": "6.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/dependency-extraction-webpack-plugin/-/dependency-extraction-webpack-plugin-6.48.0.tgz", + "integrity": "sha512-MTIVq7ZQvcVdsBEvPocg4+gy3If8hWsZ0FQtvIrfwLvqqyvlRRkL4xjCVB2S+FHv0VdSj2oj3Sdh0ZKIr5MJ4g==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -11435,12 +12348,12 @@ "license": "BSD" }, "node_modules/@wordpress/deprecated": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-4.47.0.tgz", - "integrity": "sha512-SPmYu3Ihqfaqve4xEKf8+SAhae9UuYLncFovXHHEHeNrKwldYyNy3fm+3Aifd/RK5r7Vc7nr0zONYkuhWkDlNw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/deprecated/-/deprecated-4.48.0.tgz", + "integrity": "sha512-aTa7oww6hvTjfIvxLsxlcwYj7skAGPnr1V2S0iBVQfiIn5wJPiGjM9hz4QEf6kyR44Vh0IYjW9wSxVuDMGZUdw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/hooks": "^4.47.0" + "@wordpress/hooks": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -11448,12 +12361,12 @@ } }, "node_modules/@wordpress/dom": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-4.47.0.tgz", - "integrity": "sha512-HD9pdNpS8dJnA70ZSBjx6FBbC4dChNaWWE+OxlvhgKisgETSIZaxvvc+W23WPIfC1WsKfD4amKtfLHXo+38TrQ==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/dom/-/dom-4.48.0.tgz", + "integrity": "sha512-9UARZ0YQfmhx9VAi+QynSwu5fOJoG4mmPNTpYW8jDmtKh+9c2YIi1YSQFuOa1sipj78ZLPaBxaceZ7dbxKc3UA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/deprecated": "^4.47.0" + "@wordpress/deprecated": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -11461,9 +12374,9 @@ } }, "node_modules/@wordpress/dom-ready": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-4.46.0.tgz", - "integrity": "sha512-CQ6KPaCkMzAmbxmR4E4Fu99ngyPpkP9VGaIFu0xUgx0ubkYOzcvEfEEPuyEV3n7PY2Jg/XWzBilgWCa8PmaxWw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/dom-ready/-/dom-ready-4.48.0.tgz", + "integrity": "sha512-jtH9/4FBTsfYLJDzgiXs41nceTrfvuLXqaWa5IN8drHvXZde6Dhz78m3KCZLrOB5DEE1tbyBNyZkcWM8HNVZ0Q==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -11493,43 +12406,43 @@ } }, "node_modules/@wordpress/edit-post": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/edit-post/-/edit-post-8.46.0.tgz", - "integrity": "sha512-a9ESt7CtgopBq2c+28gHKbrGP6CeenAZVXybGY3kJKSOs+gb48oqSgCtoItKLYs2DvNYBk10sOfWhAVyPBjgLw==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/edit-post/-/edit-post-8.48.0.tgz", + "integrity": "sha512-4tqhlV8hnZb85ScMhG/Sa+nvwSnaLxvW14CzYypw8ocQ13QdHLFIpFOkphW00WU89LZDGeqS4JcrOtISjc2Y7Q==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/admin-ui": "^2.1.0", - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/block-library": "^9.46.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/commands": "^1.46.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/editor": "^14.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/global-styles-engine": "^1.13.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keyboard-shortcuts": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/plugins": "^7.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/url": "^4.46.0", - "@wordpress/viewport": "^6.46.0", - "@wordpress/warning": "^3.46.0", - "@wordpress/widgets": "^4.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/admin-ui": "^2.3.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/block-library": "^9.48.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/commands": "^1.48.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/editor": "^14.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/global-styles-engine": "^1.15.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/plugins": "^7.48.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/url": "^4.48.0", + "@wordpress/viewport": "^6.48.0", + "@wordpress/warning": "^3.48.0", + "@wordpress/widgets": "^4.48.0", "clsx": "^2.1.1", "memize": "^2.1.0" }, @@ -11542,16 +12455,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/edit-post/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/edit-post/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -11561,25 +12485,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -11608,14 +12533,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/edit-post/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/edit-post/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/edit-post/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -11626,23 +12598,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/edit-post/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/edit-post/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -11656,13 +12638,13 @@ } }, "node_modules/@wordpress/edit-post/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -11693,6 +12675,28 @@ } } }, + "node_modules/@wordpress/edit-post/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/edit-post/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -11707,9 +12711,9 @@ } }, "node_modules/@wordpress/edit-post/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -11717,55 +12721,55 @@ } }, "node_modules/@wordpress/editor": { - "version": "14.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-14.46.0.tgz", - "integrity": "sha512-BW3JNqT5sk8c3u/SVOf/WWDdM964l1fzlGylVuOPITJop4jx/b+ywuV/ITh/ndNPusxDsP6ftzsDHjTikDeR5g==", + "version": "14.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/editor/-/editor-14.48.0.tgz", + "integrity": "sha512-TO7EXk3rwyAxgALeM6d0X0UvU3kTgQ8dODH2a86th99NgT9CYotmg8aHTwOIwHXPH9BnONq460GNHzt9TCvVVQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/block-serialization-default-parser": "^5.46.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/commands": "^1.46.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/fields": "^0.38.0", - "@wordpress/global-styles-engine": "^1.13.0", - "@wordpress/global-styles-ui": "^1.13.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/interface": "^9.31.0", - "@wordpress/keyboard-shortcuts": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/media-editor": "^0.9.0", - "@wordpress/media-fields": "^0.11.0", - "@wordpress/media-utils": "^5.46.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/patterns": "^2.46.0", - "@wordpress/plugins": "^7.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/reusable-blocks": "^5.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/server-side-render": "^6.22.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/upload-media": "^0.31.0", - "@wordpress/url": "^4.46.0", - "@wordpress/views": "^1.13.0", - "@wordpress/warning": "^3.46.0", - "@wordpress/wordcount": "^4.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/block-serialization-default-parser": "^5.48.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/commands": "^1.48.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/fields": "^0.40.0", + "@wordpress/global-styles-engine": "^1.15.0", + "@wordpress/global-styles-ui": "^1.15.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/interface": "^9.33.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/media-editor": "^0.11.0", + "@wordpress/media-fields": "^0.13.0", + "@wordpress/media-utils": "^5.48.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/patterns": "^2.48.0", + "@wordpress/plugins": "^7.48.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/reusable-blocks": "^5.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/server-side-render": "^6.24.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/upload-media": "^0.33.0", + "@wordpress/url": "^4.48.0", + "@wordpress/views": "^1.15.0", + "@wordpress/warning": "^3.48.0", + "@wordpress/wordcount": "^4.48.0", "change-case": "^4.1.2", "client-zip": "^2.4.5", "clsx": "^2.1.1", @@ -11787,16 +12791,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/editor/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/editor/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -11806,25 +12821,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -11853,14 +12869,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/editor/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/editor/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/editor/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/editor/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -11871,23 +12971,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/editor/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/editor/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -11901,13 +13011,13 @@ } }, "node_modules/@wordpress/editor/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -11938,6 +13048,28 @@ } } }, + "node_modules/@wordpress/editor/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/editor/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -11952,9 +13084,9 @@ } }, "node_modules/@wordpress/editor/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -11981,9 +13113,9 @@ } }, "node_modules/@wordpress/env": { - "version": "11.6.0", - "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-11.6.0.tgz", - "integrity": "sha512-dlqDSOvL92YQZ0D6qne3wIivzRpQ7IDQ0D24G5JPR+tcsS8kB4BHSo+7dtrUUuOiXBB+JmIs97fX7M1Z7Fssig==", + "version": "11.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/env/-/env-11.4.0.tgz", + "integrity": "sha512-Rk25QAVr1diXIT7HPhRSTfyP5s3+dNYSfYEgVyt1HYeO1u5sqHwMBT+KH82HSvfxgPQv4e3JZCK4B+11Bw7ozQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -12010,9 +13142,9 @@ } }, "node_modules/@wordpress/escape-html": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.46.0.tgz", - "integrity": "sha512-SzrVQwLQBZdaSStYVpTKeYqp97NABz1w551T8me3msDDsfhWWPhSZiZTNaGZ6iqUNfOX2uKyZsqXedvkqwLHqA==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/escape-html/-/escape-html-3.48.0.tgz", + "integrity": "sha512-phw399RofSqTqIM4DikmkDfgJ7exDYgPfDuxjv3D2YnUTTUsR+U9fA+pA+/rNUiZD1YOmVILQmkJt6oLaVM+nQ==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -12020,18 +13152,18 @@ } }, "node_modules/@wordpress/eslint-plugin": { - "version": "25.2.0", - "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-25.2.0.tgz", - "integrity": "sha512-h3Yz5Qzo1v53Rw9i8WBm68P6SFpVSeqWDohowpEeuIz2RC8Jg1CT5j49tVpSZXGNCQGSf3SaPLjXmiyxTZXkSw==", + "version": "25.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/eslint-plugin/-/eslint-plugin-25.4.0.tgz", + "integrity": "sha512-f0GQ3oi3Awch5vSSxI0cnubEEkn73Z1rzfj8/pnZMNNCdyMjZRJmMZ3O8W/NL+eW6KabqC17Bb1whXVgO5WxtQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { "@babel/eslint-parser": "^7.28.6", "@eslint-community/eslint-plugin-eslint-comments": "^4.4.0", "@eslint/compat": "^2.0.0", - "@wordpress/babel-preset-default": "^8.46.0", - "@wordpress/prettier-config": "^4.46.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/babel-preset-default": "^8.48.0", + "@wordpress/prettier-config": "^4.48.0", + "@wordpress/theme": "^0.15.0", "cosmiconfig": "^7.0.0", "eslint-config-prettier": "^10.0.0", "eslint-import-resolver-typescript": "^4.4.4", @@ -12094,37 +13226,37 @@ } }, "node_modules/@wordpress/fields": { - "version": "0.38.0", - "resolved": "https://registry.npmjs.org/@wordpress/fields/-/fields-0.38.0.tgz", - "integrity": "sha512-qHFVur2HLczUqihQEjhCftPIdXIW9LwOwL6xa+8uJfnj3++2nGF8HJ6W/Q5jik5kYXXAc5gelUN6J/Xg+HoMfg==", + "version": "0.40.0", + "resolved": "https://registry.npmjs.org/@wordpress/fields/-/fields-0.40.0.tgz", + "integrity": "sha512-kA6r0AVeWjhZwSnQkaSrYXuBTKeB4eBaYKOicf1dJqa1+ODOOp6/9Vbo0/RG7faSBhxeXnyQQkdoGcMX9cfoBA==", "license": "GPL-2.0-or-later", "dependencies": { "@react-spring/web": "^9.4.5", - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/date": "^5.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/media-utils": "^5.46.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/patterns": "^2.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/router": "^1.46.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/url": "^4.46.0", - "@wordpress/warning": "^3.46.0", - "@wordpress/wordcount": "^4.46.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/date": "^5.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/media-utils": "^5.48.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/patterns": "^2.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/router": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/url": "^4.48.0", + "@wordpress/warning": "^3.48.0", + "@wordpress/wordcount": "^4.48.0", "change-case": "4.1.2", "client-zip": "^2.4.5", "clsx": "2.1.1", @@ -12138,16 +13270,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/fields/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/fields/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -12157,25 +13300,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -12204,14 +13348,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/fields/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/fields/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/fields/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/fields/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -12222,23 +13450,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/fields/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/fields/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -12252,13 +13490,13 @@ } }, "node_modules/@wordpress/fields/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -12289,6 +13527,28 @@ } } }, + "node_modules/@wordpress/fields/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/fields/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -12303,9 +13563,9 @@ } }, "node_modules/@wordpress/fields/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -12313,15 +13573,15 @@ } }, "node_modules/@wordpress/global-styles-engine": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/global-styles-engine/-/global-styles-engine-1.13.0.tgz", - "integrity": "sha512-rOix+U4tAi3X9m0q82r7gQrDQ0uJzK/w5Pc9s7yawbWo5T7oW8FLor17VkTr5T75ZItV9OZshpAA0xELIdJZRw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/global-styles-engine/-/global-styles-engine-1.15.0.tgz", + "integrity": "sha512-okgCtWjuy4AH6+yu7Rn9p4t1l9Cc8dtaJbV4dDr3mIg9w77amw4gjOlqpx6TU3iM/2RW8GNzinhNMoK1zYZe6g==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/blocks": "^15.19.0", - "@wordpress/data": "^10.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/style-engine": "^2.46.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/data": "^10.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/style-engine": "^2.48.0", "colord": "^2.9.2", "deepmerge": "^4.3.0", "fast-deep-equal": "^3.1.3", @@ -12334,27 +13594,27 @@ } }, "node_modules/@wordpress/global-styles-ui": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/global-styles-ui/-/global-styles-ui-1.13.0.tgz", - "integrity": "sha512-PqjSYc3kJ5Au2LesDprrBgKQrb33c0Uml6SRVcYgLXfhFQLI2IGhGWfOAcRcOV3SM+wv1UZDWHbF/0B89+If9A==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/global-styles-ui/-/global-styles-ui-1.15.0.tgz", + "integrity": "sha512-evrV1mjZIpJUWzkmCEtCADvnskamrhV7A8mG6r4GP0P4iyXhPxwuvnKTXOtNty04/eU9sq5qlF/FtqztBo+JFg==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/global-styles-engine": "^1.13.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/global-styles-engine": "^1.15.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", "change-case": "^4.1.2", "clsx": "^2.1.0", "colord": "^2.7.0" @@ -12368,16 +13628,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -12387,25 +13658,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -12434,14 +13706,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -12452,10 +13771,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/global-styles-ui/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/global-styles-ui/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -12463,9 +13894,9 @@ } }, "node_modules/@wordpress/hooks": { - "version": "4.47.0", - "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.47.0.tgz", - "integrity": "sha512-OTbg9axYyz585FvrNzyi3hBV2LHfl2oYr2M8xmQKndkOftxQra/04Hqnrflim7IKOzKR4EfL/KpyoqhQ0mrVHQ==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/hooks/-/hooks-4.48.0.tgz", + "integrity": "sha512-rU1yGEy0Mb+2oRG5QX/bKIIwKQmYAvATfUQeXIF20/mbR0qutYeVTCIvWEyb4pf71tvnQFiN18RWRXWsvKrDbQ==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -12473,9 +13904,9 @@ } }, "node_modules/@wordpress/html-entities": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/html-entities/-/html-entities-4.46.0.tgz", - "integrity": "sha512-YJ/V9R2p4lwYkhc9/bQrXxoX0rNDtt1WQGInKAxRWqF1w1gYQk0iWiwGcNnahnFofwK2LJSVf4/jYFjJrS/sPw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/html-entities/-/html-entities-4.48.0.tgz", + "integrity": "sha512-KGxdaLC36wE10GybSfjYGcyWiy+KQCYheB6T8jhZhQ9mlf2Zwx6aJgfZm/L6BLwNN33Efx+sJY3nvMIxI5UwnA==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -12483,13 +13914,13 @@ } }, "node_modules/@wordpress/i18n": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-6.19.0.tgz", - "integrity": "sha512-hRXd2E0SF9OQf22ZZWw7Ny/o+Q9u8jINiF1p0bF+rnSDKQUgoStihak6YiazWVRiIEYwctzotKXlt0HePJelXA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@wordpress/i18n/-/i18n-6.21.0.tgz", + "integrity": "sha512-IXGGUJqN6b7QddU0dZB3HLJKu6uDQuhLsrrzYpUYTjDhfa43XEaikA9xHNgZhqzRtOVYqsNHVliWcISvJ/xjZQ==", "license": "GPL-2.0-or-later", "dependencies": { "@tannin/sprintf": "^1.3.2", - "@wordpress/hooks": "^4.46.0", + "@wordpress/hooks": "^4.48.0", "gettext-parser": "^1.3.1", "memize": "^2.1.0", "tannin": "^1.2.0" @@ -12521,14 +13952,14 @@ } }, "node_modules/@wordpress/image-cropper": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/@wordpress/image-cropper/-/image-cropper-1.10.0.tgz", - "integrity": "sha512-Aq4Wz2nGf+GYZPi+n+nWq7AtsGSjUbREzYKEUQIAnt2pPGn2ZkvooBUQE405WOqoJadE+tkLjKdyjY24iOtocA==", + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/@wordpress/image-cropper/-/image-cropper-1.12.0.tgz", + "integrity": "sha512-mOoMaVMC+HtxvPM2Iq+I3qXHoHhcsEEc1hiLUjfS8KIGUkm11LSk/LeHjhpnA1My8gAeUqYREFCwPoK91+rEFA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/components": "^33.1.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", + "@wordpress/components": "^35.0.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", "clsx": "^2.1.1", "dequal": "^2.0.3", "react-easy-crop": "^5.4.2" @@ -12542,16 +13973,27 @@ "react-dom": "^18.0.0" } }, - "node_modules/@wordpress/image-cropper/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", "license": "GPL-2.0-or-later", - "dependencies": { + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/components": { + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", + "license": "GPL-2.0-or-later", + "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -12561,25 +14003,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -12608,14 +14051,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/image-cropper/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -12626,10 +14116,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/image-cropper/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/image-cropper/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -12637,9 +14239,9 @@ } }, "node_modules/@wordpress/interactivity": { - "version": "6.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/interactivity/-/interactivity-6.46.0.tgz", - "integrity": "sha512-z/MbS0WzW7yQIMg45lG5Vfl1JQ3rWioNhLSNotCWuBZ191AGsJiZWHzyJE57MV6n+Nm5NMNN4Pe7S4qA3/9oWQ==", + "version": "6.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/interactivity/-/interactivity-6.48.0.tgz", + "integrity": "sha512-61VSanGsCASE1yBtMHC7s1HSZw24sF+HZNWiPsP95ZP9EKWlhTHAyKyhv99+PJUnSL/oSNYQNQeQDwABMPc7oA==", "license": "GPL-2.0-or-later", "dependencies": { "@preact/signals": "^1.3.0", @@ -12651,13 +14253,13 @@ } }, "node_modules/@wordpress/interactivity-router": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/interactivity-router/-/interactivity-router-2.46.0.tgz", - "integrity": "sha512-d/171ViZFCXzX0OhobQ/K6tZRyLdJSLH+6WOIQqn8PLT8QFn/Y0pB+JDsHkjqsgVft0+WPqPZQSqjz/eee3g5w==", + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/interactivity-router/-/interactivity-router-2.48.0.tgz", + "integrity": "sha512-II5THt2l+MP0aP3bSZou0//7OYmffy8kKucD3hfhRILi0FKHLXc378HM+uwd9FOoPPDmnB2+0y4D4JMcz214EQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/interactivity": "^6.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/interactivity": "^6.48.0", "es-module-lexer": "^1.5.4" }, "engines": { @@ -12666,24 +14268,24 @@ } }, "node_modules/@wordpress/interface": { - "version": "9.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/interface/-/interface-9.31.0.tgz", - "integrity": "sha512-YeTX4pL7RtdT76/8yygbhqpdN8d+UiVP6TGMi5V5pGFLxMq3x+7/QLaOjfomv5TVEcn9/xBDjOg7EeWJYZDrMg==", + "version": "9.33.0", + "resolved": "https://registry.npmjs.org/@wordpress/interface/-/interface-9.33.0.tgz", + "integrity": "sha512-2zsEUwgPvQfAgguT6cdSaB4bEfrZ4NtJ9xXk1RsZv34Fi7znYRIVOEqNPcFW7wUnwojEt3XSdV9UQsHhrYTGag==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/admin-ui": "^2.1.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/plugins": "^7.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/viewport": "^6.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/admin-ui": "^2.3.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/plugins": "^7.48.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/viewport": "^6.48.0", "clsx": "^2.1.1" }, "engines": { @@ -12695,16 +14297,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/interface/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/interface/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -12714,25 +14327,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -12761,14 +14375,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/interface/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/interface/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/interface/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -12779,10 +14440,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/interface/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/interface/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/interface/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/interface/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/interface/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/interface/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -12790,9 +14563,9 @@ } }, "node_modules/@wordpress/is-shallow-equal": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-5.46.0.tgz", - "integrity": "sha512-46J36GNPw7q3c5HF0RurUx9yJHvBDYqOFVqbb8Td8bov9pVI6TGtcMKd+/O+Q89ZUVSTVx/NfxKjNwXpeQQCmg==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/is-shallow-equal/-/is-shallow-equal-5.48.0.tgz", + "integrity": "sha512-7ipiZ1+m84RfuVhiMbtKm6RN571W3ERV/pTL+fSG2qOVhLqccFmliuFHTKQG+0KIhV8DegOlE6eoKOenf+I9ng==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -12800,9 +14573,9 @@ } }, "node_modules/@wordpress/jest-console": { - "version": "8.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-8.46.0.tgz", - "integrity": "sha512-bD5FD/LDbDyfadZzxfUCOM6uBXlIfRFj+AAsgmCHuUBW3c7PrsZXDGh5KRaR8E0XLoeLpkxA78fpUaY8S1+XPw==", + "version": "8.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-console/-/jest-console-8.48.0.tgz", + "integrity": "sha512-/Nza1kPO9/Hm27YcrXHfkXC9cO3u60wGJGwjdV3+1rPX5y6QhdbM4LJYPT6jSU3gKguLEPFrqS177nh4PIR2cA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { @@ -12818,13 +14591,13 @@ } }, "node_modules/@wordpress/jest-preset-default": { - "version": "12.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-12.46.0.tgz", - "integrity": "sha512-R6D1IMFD1lkpTg8MI5g0c5Bb2TFwp37ZIHR5Xsv7cfK4e73Xk/NsQ5ImP0MyPNIu90IYMcGDOgCdUll7fgeLZg==", + "version": "12.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/jest-preset-default/-/jest-preset-default-12.48.0.tgz", + "integrity": "sha512-LcYj3+0Ov/x6qNO/ZMxG9TEoXqrbKxptCReyP9s4/VXDaj/7G600oiSFA6vHAQjdU2vZuLAVAvOgcJ8jFaDUMA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/jest-console": "^8.46.0", + "@wordpress/jest-console": "^8.48.0", "babel-jest": "29.7.0" }, "engines": { @@ -12837,14 +14610,14 @@ } }, "node_modules/@wordpress/keyboard-shortcuts": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/keyboard-shortcuts/-/keyboard-shortcuts-5.46.0.tgz", - "integrity": "sha512-zEnaatKpFaSUFrvxjY9G4xLWg7AjXv3vgVcY6k8R5eCLJTdhfRI+hmG8Zf5eyS4BnFPzUyv3orQ3iK8GgnvTdw==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/keyboard-shortcuts/-/keyboard-shortcuts-5.48.0.tgz", + "integrity": "sha512-j4EXbAykqrmauDRKSHvr1FimH4thsHUXVfGjNPzDqF0JQGqCgribqslKANNYJXrDQplt2aHhO0XHYZXxpNfgbQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/keycodes": "^4.46.0" + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/keycodes": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -12854,13 +14627,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/keyboard-shortcuts/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/keycodes": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-4.46.0.tgz", - "integrity": "sha512-+eW0b4bRrpmiOOfdmz1BtQsbTqWqCkgJyeiR5yMLJ+sGG2He9icVLjt/fSc4xCQ56MhT03Zypb33L6j+zJFEgA==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/keycodes/-/keycodes-4.48.0.tgz", + "integrity": "sha512-u3Uxxe3rDAqEmerAiJ2X94s7iO3ZVgS+10MFyD4nWhfuB/C6m/M2TqHPgZiKvyDH04EIhe+pIF2KFO4pq7NWsw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/i18n": "^6.19.0" + "@wordpress/i18n": "^6.21.0" }, "engines": { "node": ">=18.12.0", @@ -12868,9 +14661,9 @@ } }, "node_modules/@wordpress/latex-to-mathml": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/@wordpress/latex-to-mathml/-/latex-to-mathml-1.14.0.tgz", - "integrity": "sha512-kLzovQBKlBSHsqXICIclUBOFCm9ROEmXU+xUaV6UpS2pb4BIcsBew/z8URKMHtYA/jRhDM9uejEy45YMI8swZw==", + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/@wordpress/latex-to-mathml/-/latex-to-mathml-1.16.0.tgz", + "integrity": "sha512-WEXC9GKgMLXXqbezKZWw9cwozS4/dM23VDresod1nqfvgMSpvtgHsFP98wJWg2iQyA6SIksSuD/SROSaBCZ17A==", "license": "GPL-2.0-or-later", "dependencies": { "temml": "^0.10.33" @@ -12881,25 +14674,28 @@ } }, "node_modules/@wordpress/media-editor": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/@wordpress/media-editor/-/media-editor-0.9.0.tgz", - "integrity": "sha512-e81pgpQYhcX97Ts8kTUMmCdcA0PS5Rz06zG5z0Eqh7C12rb5NM/okNg+GGAXJjiOnmd+TsmosjjmJmc0ZVL0MQ==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@wordpress/media-editor/-/media-editor-0.11.0.tgz", + "integrity": "sha512-j/FczhsLX8sLi9rC82cEBM3pf/++TH4EJi0JHF++XQ9jDt4jvtTWzaka4kDCgjDyS7YCmrjMzi6TEZe4AWU0Tw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/components": "^33.1.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/interface": "^9.31.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/ui": "^0.13.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/date": "^5.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/interface": "^9.33.0", + "@wordpress/keyboard-shortcuts": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", "clsx": "^2.1.1", "gl-matrix": "^3.4.3" }, @@ -12911,16 +14707,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-editor/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -12930,25 +14737,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -12977,14 +14785,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-editor/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -12995,23 +14887,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/media-editor/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -13025,13 +14927,13 @@ } }, "node_modules/@wordpress/media-editor/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -13062,6 +14964,28 @@ } } }, + "node_modules/@wordpress/media-editor/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/media-editor/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -13076,9 +15000,9 @@ } }, "node_modules/@wordpress/media-editor/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13086,23 +15010,23 @@ } }, "node_modules/@wordpress/media-fields": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@wordpress/media-fields/-/media-fields-0.11.0.tgz", - "integrity": "sha512-SJ3pkbXKo4GeqagxZuWT89k4OTHL6BRVeVZ3j537Gf7YRghYtbDGs9HUvGp5ODWFiwftg+Ttvj7ZuE1M5U/DLQ==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@wordpress/media-fields/-/media-fields-0.13.0.tgz", + "integrity": "sha512-39Mf274aS0cru/NlJkzZBmDcXUa55VKr/mJHlzfHcPWmXuU3EbuHDHyhNYg8J99P+jtz9EgK9rv7D1ZDHoAMtA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/base-styles": "^8.0.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/date": "^5.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/url": "^4.46.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/date": "^5.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/url": "^4.48.0", "clsx": "2.1.1" }, "engines": { @@ -13113,16 +15037,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-fields/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13132,25 +15067,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13179,14 +15115,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-fields/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13197,10 +15217,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/media-fields/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/media-fields/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13208,26 +15340,26 @@ } }, "node_modules/@wordpress/media-utils": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/media-utils/-/media-utils-5.46.0.tgz", - "integrity": "sha512-/UYYAHYC02w/X7101XmaPWIOo5K0tHcRaDYSGU4cJf07cpvhPX/iU4r2SplHJtP5DkbI+6VQoOxYxvxpPGHLag==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/media-utils/-/media-utils-5.48.0.tgz", + "integrity": "sha512-8dayifoCP8STY+rI8O4RkTGQanlDY2gqCNjZi5u0VRCEyBSnmLy3Hns1/imyS66ouZv6wMTmDiYoC+9Nq4XcVQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/blob": "^4.46.0", - "@wordpress/components": "^33.1.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/media-fields": "^0.11.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/ui": "^0.13.0", - "@wordpress/views": "^1.13.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/blob": "^4.48.0", + "@wordpress/components": "^35.0.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/media-fields": "^0.13.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/views": "^1.15.0", "clsx": "^2.1.1" }, "engines": { @@ -13238,16 +15370,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-utils/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13257,25 +15400,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13304,14 +15448,98 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/media-utils/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13322,23 +15550,33 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, "node_modules/@wordpress/media-utils/node_modules/@wordpress/ui": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.13.0.tgz", - "integrity": "sha512-NSP/Hh6X3qbN0B7KsWFGZfmiYp28NiVZnxu8uJSspZs9mzVP+qKC9yOgIxPYIjFuGDrXJ6QK9wL3soRXkJMG0w==", + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", "license": "GPL-2.0-or-later", "dependencies": { "@base-ui/react": "^1.4.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/theme": "^0.13.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", "clsx": "^2.1.1", "tabbable": "^6.4.0" }, @@ -13352,13 +15590,13 @@ } }, "node_modules/@wordpress/media-utils/node_modules/@wordpress/ui/node_modules/@base-ui/react": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.4.1.tgz", - "integrity": "sha512-Ab5/LIhcmL8BQcsBUYiOfkSDRdLpvgUBzMK30cu684JPcLclYlztharvCZyNNgzJtbAiREzI9q0pI5erHCMgCw==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", "license": "MIT", "dependencies": { "@babel/runtime": "^7.29.2", - "@base-ui/utils": "0.2.8", + "@base-ui/utils": "0.2.9", "@floating-ui/react-dom": "^2.1.8", "@floating-ui/utils": "^0.2.11", "use-sync-external-store": "^1.6.0" @@ -13389,6 +15627,28 @@ } } }, + "node_modules/@wordpress/media-utils/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, "node_modules/@wordpress/media-utils/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", @@ -13403,9 +15663,9 @@ } }, "node_modules/@wordpress/media-utils/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13413,14 +15673,14 @@ } }, "node_modules/@wordpress/notices": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-5.46.0.tgz", - "integrity": "sha512-HwU051rXauCsnCtW4naXUJkWvanNOmkzI6B5bUl+S4IHAUAVrr0oITgZcXEk6mJJuKFs7pMDiWAB5XhYixcsyw==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/notices/-/notices-5.48.0.tgz", + "integrity": "sha512-s1vRbDlJDcFFQnlUaYIZDiVlMpBnlmZk4y2EjRawoCZApiz1V+Yx/mHDqIrFrM7l50ZI3Dh63wDdu2qzNgc7wQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/components": "^33.1.0", - "@wordpress/data": "^10.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/components": "^35.0.0", + "@wordpress/data": "^10.48.0", "clsx": "^2.1.1" }, "engines": { @@ -13431,16 +15691,27 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/notices/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/notices/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13450,25 +15721,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13497,14 +15769,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/notices/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/notices/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/notices/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13515,10 +15834,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/notices/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/notices/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/notices/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/notices/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/notices/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/notices/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13526,9 +15957,9 @@ } }, "node_modules/@wordpress/npm-package-json-lint-config": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-5.46.0.tgz", - "integrity": "sha512-8LoW3tNXA1cjehpP/12g20HnbYAQ7n7//D6f3cha4Ev295XXGszxI2FSzk7OLEgV1QtQgCyijEC196RABRCilQ==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/npm-package-json-lint-config/-/npm-package-json-lint-config-5.48.0.tgz", + "integrity": "sha512-8F4Yxj+5gBd/UqVmBY5x661XgdYOuk0Bski3pg7oGVGLyvqrOL5SwwDECSVT6XzC9Dd4oCl8rgj3qYtM+7dw4g==", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -13540,26 +15971,26 @@ } }, "node_modules/@wordpress/patterns": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/patterns/-/patterns-2.46.0.tgz", - "integrity": "sha512-o9B+uvkoWIVtuevqrESNft43ap3ElKGFcjA3Obabn2hqA8EYb6dgF8HBc+Na933voEK6toT2seqwuLGDKLOaOA==", + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/patterns/-/patterns-2.48.0.tgz", + "integrity": "sha512-6RCHrdfS8cMw+JIyhISYqNux7tvavDhzZMP+2RTNKrqVqEXHxO0MCtk/NX5L9GfJ3kr46QVBrrZUqB2X/o+wJg==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/url": "^4.46.0" + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/url": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -13570,16 +16001,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/patterns/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13589,25 +16031,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13636,14 +16079,61 @@ "react-dom": "^18.0.0" } }, - "node_modules/@wordpress/patterns/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "node_modules/@wordpress/patterns/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/icons": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13654,10 +16144,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/patterns/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/patterns/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13665,18 +16267,18 @@ } }, "node_modules/@wordpress/plugins": { - "version": "7.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-7.46.0.tgz", - "integrity": "sha512-YnAlyExQFCDBzkFhMlV+nooX+ezmU7J6BkosdlqyhlRiFYO+H4+5cpZHZFmWRNYW2PO9AWE5mbFYz3/BlnbliQ==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/plugins/-/plugins-7.48.0.tgz", + "integrity": "sha512-yvk/LK5GIqTRezqYGbIjmeK8T/7GtmyyWA6QEqjYtSEifoo7gC9FYgMeZnIg25PbCANkUcZ9eyfsuXV7DX1d+g==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", "memize": "^2.0.1" }, "engines": { @@ -13688,16 +16290,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/plugins/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13707,25 +16320,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13754,14 +16368,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/plugins/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13772,10 +16433,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/plugins/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/plugins/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13783,13 +16556,13 @@ } }, "node_modules/@wordpress/postcss-plugins-preset": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-5.46.0.tgz", - "integrity": "sha512-0cQq8mHFKqDCunu84oekhw/E2bE1paOxKPGAxe8mXdCAYrW/ZyIlHlNLBAy/EfI621UMsQYAz95KrJoKA9h0YA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/postcss-plugins-preset/-/postcss-plugins-preset-5.48.0.tgz", + "integrity": "sha512-oaeUphnegixPrfZCnJgBQCWnKwYaL70ygVDja2Fm9poml2HUr3tiMLb1QBv2pX5tw+RX7BwUVpG0hrMy6lj/9g==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/base-styles": "^8.0.0", + "@wordpress/base-styles": "^9.1.0", "autoprefixer": "^10.4.20", "postcss-import": "^16.1.1" }, @@ -13801,22 +16574,33 @@ "postcss": "^8.0.0" } }, + "node_modules/@wordpress/postcss-plugins-preset/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "dev": true, + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/preferences": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/preferences/-/preferences-4.46.0.tgz", - "integrity": "sha512-vLvkOKmziv/D0ksC8wZ94bAeIAvXQm+X86Bte36kXXEvrru2+QGxCz4pHT+qOdkkALzS2cKXc7prqRCigRzJwg==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/preferences/-/preferences-4.48.0.tgz", + "integrity": "sha512-ae8SOpc+NTFf5dB1bgN4RwMCzCQC/gX0d72SDxqtBeU1N52+sihunob9bhPLAEimKS/nMR/kU+YS9j9y5jyZ0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/private-apis": "^1.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/private-apis": "^1.48.0", "clsx": "^2.1.1" }, "engines": { @@ -13828,16 +16612,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/preferences/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -13847,25 +16642,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -13894,14 +16690,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/preferences/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -13912,10 +16755,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/preferences/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/preferences/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -13923,9 +16878,9 @@ } }, "node_modules/@wordpress/prettier-config": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-4.46.0.tgz", - "integrity": "sha512-KjqvxbBohc0dtZBCYy82chj9WCa5nSQP7LuXrsTo5xFacRrNaB101TlsogVoaHADbOlcrayC0yRPzVmkA8gJFg==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/prettier-config/-/prettier-config-4.48.0.tgz", + "integrity": "sha512-TOxw/8xfJaUU4sKUQxZIoZOe43pU5J1bneAMDHcK8Qqr0vzAXyhVB6AZG1eRBofRa8DUFI7ipIIDWZWxWYypQg==", "dev": true, "license": "GPL-2.0-or-later", "engines": { @@ -13937,12 +16892,12 @@ } }, "node_modules/@wordpress/primitives": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-4.46.0.tgz", - "integrity": "sha512-x1IhEVa/aGDe6otGJ4VIqEioQGfIeK5B1VQm32+ycqinJRbtbw9F5bgx4ARIdnm5M1Lg63oV9Bhmg/XMyGSTZA==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/primitives/-/primitives-4.48.0.tgz", + "integrity": "sha512-dfF7IZotIqb6LUiGs7oPwKbSF8RPoC0JDSIrtxvgwFA/yvbc/pDIp/Zs0O8GvxZNxu4JIVnKskOhoLq7lAeziQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", + "@wordpress/element": "^8.0.0", "clsx": "^2.1.1" }, "engines": { @@ -13953,10 +16908,30 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/primitives/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/priority-queue": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-3.46.0.tgz", - "integrity": "sha512-rjwzO/I7Os16VMJFVdzIeXMmyvwe+DbODrXl3mgW5LZZeIYob94d++pjQxUdWN1/0APnXPQP6zk4yFfSLOVkYg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/priority-queue/-/priority-queue-3.48.0.tgz", + "integrity": "sha512-NuGrfSSnBC794erb3xSEKrzWLGCNLa+ukob0pyVRtnebU7fPgrhx4NCBCXYK1vTcAta3NAkOVRfUZgcmLFYA6g==", "license": "GPL-2.0-or-later", "dependencies": { "requestidlecallback": "^0.3.0" @@ -13967,9 +16942,9 @@ } }, "node_modules/@wordpress/private-apis": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-1.46.0.tgz", - "integrity": "sha512-l8dsEuxq6CrtsI7Twfpn6CbPHmGBUQoGN4oLPJG1Bqsr1yXXLU/bEx9KAQN9emxRjXaELPsn7x7TVx0TUoKyJw==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/private-apis/-/private-apis-1.48.0.tgz", + "integrity": "sha512-HHOSXLCAlBggfMozwWtX36wgsSt22g2tZwpka47Rjzr3hNY1BZ6SrrFJumiNxooy5PDKbRgcF092PAF82hdJXg==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -13977,9 +16952,9 @@ } }, "node_modules/@wordpress/redux-routine": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-5.46.0.tgz", - "integrity": "sha512-a4dzJrvqOB/DYXo9eoO6q0f9pTlo+P1/0s1Bzf0EU5RF4PTNjL9d2lYesM7xDhg0MYFLnVzklcriAeapIEv/ag==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/redux-routine/-/redux-routine-5.48.0.tgz", + "integrity": "sha512-MxRgJJyddivxvVhPrn8yEFXTH3WLtoRGNCMiBRJwoIr4GkY8iOFSfRaqOJEkE1zrP4JK6qGFmv1xMvWt78c7ow==", "license": "GPL-2.0-or-later", "dependencies": { "is-plain-object": "^5.0.0", @@ -13995,23 +16970,23 @@ } }, "node_modules/@wordpress/reusable-blocks": { - "version": "5.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/reusable-blocks/-/reusable-blocks-5.46.0.tgz", - "integrity": "sha512-bAX9YGgb8OfTxNKimxzfuWj/39EP9jtJXKVYcChDgYPKH1gl02I8+OdyFx+RycWFxRjMTwsgL5WEjgkGC6nokA==", + "version": "5.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/reusable-blocks/-/reusable-blocks-5.48.0.tgz", + "integrity": "sha512-7WdKxKGP7PWSUuatuUoLrum+gapJ/Dqq2zp0zMGtjR+mH5/TQ483TR/TyDT09H49uWYgLSST+pT++KVo5PUNxg==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/base-styles": "^8.0.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/notices": "^5.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/url": "^4.46.0" + "@wordpress/base-styles": "^9.1.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/notices": "^5.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/url": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -14022,16 +16997,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -14041,25 +17027,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -14088,14 +17075,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -14106,10 +17140,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/reusable-blocks/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/reusable-blocks/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -14117,21 +17263,21 @@ } }, "node_modules/@wordpress/rich-text": { - "version": "7.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-7.46.0.tgz", - "integrity": "sha512-XxuCe0gWq5YYfN+EdL5RmL4/qMlVka0R+n51/DzEpWM/+CkPInpXBeYE+3z9Ip+sRcnEgE1zKkMo1wjXWTDOjw==", + "version": "7.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/rich-text/-/rich-text-7.48.0.tgz", + "integrity": "sha512-rMiTTpRnpdynL9BnuI2MkSXzd12Js8gYSnlbVwxNNKNeFEXT+3Ah2oNCGvSb82pD/73Bl5BIGC5395D5a3X9yw==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/a11y": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", "colord": "2.9.3", "memize": "^2.1.0" }, @@ -14143,6 +17289,53 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/rich-text/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/rich-text/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/route": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/@wordpress/route/-/route-0.10.0.tgz", @@ -14162,15 +17355,15 @@ } }, "node_modules/@wordpress/router": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/router/-/router-1.46.0.tgz", - "integrity": "sha512-od1A1tqZoyFL1weD2TbVHTyz66SNLJtfsQhmayiDhW6iIHPVskhjTo+6dpSooInitXUBZmP7A3LfgUuwFrZ7nA==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/router/-/router-1.48.0.tgz", + "integrity": "sha512-fWadZ23SoKUZYsxMlaYeAutKZaaVOIRt1fJ6qJhcJj9PHPHJzd0vlMF8nVaSl2ZbzB0ylFsya1cdHFTkw7Lb1Q==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/compose": "^7.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/url": "^4.46.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/url": "^4.48.0", "history": "^5.3.0", "route-recognizer": "^0.3.4" }, @@ -14182,26 +17375,73 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/router/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/router/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/scripts": { - "version": "32.2.0", - "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-32.2.0.tgz", - "integrity": "sha512-b31ks0qF/97CikOqkNSvvCjIpWRENSIMrNoA4FhPIqyNRcfsMKrp8pK71IBrrgpMHTBdKuKb/+E7PPFYut5JTA==", + "version": "32.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/scripts/-/scripts-32.3.0.tgz", + "integrity": "sha512-9mmnfys0EzM7jNisSDvC36/50rsqssjobal5B7lTgZNB3hLWByO3RFJRz4EnWK2FRhFkvbZCiZCBU6SWR4zcBA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { "@babel/core": "7.25.7", "@pmmmwh/react-refresh-webpack-plugin": "^0.5.11", "@svgr/webpack": "^8.0.1", - "@wordpress/babel-preset-default": "^8.46.0", - "@wordpress/browserslist-config": "^6.46.0", - "@wordpress/dependency-extraction-webpack-plugin": "^6.46.0", - "@wordpress/e2e-test-utils-playwright": "^1.46.0", - "@wordpress/eslint-plugin": "^25.2.0", - "@wordpress/jest-preset-default": "^12.46.0", - "@wordpress/npm-package-json-lint-config": "^5.46.0", - "@wordpress/postcss-plugins-preset": "^5.46.0", - "@wordpress/prettier-config": "^4.46.0", - "@wordpress/stylelint-config": "^23.38.0", + "@wordpress/babel-preset-default": "^8.47.0", + "@wordpress/browserslist-config": "^6.47.0", + "@wordpress/dependency-extraction-webpack-plugin": "^6.47.0", + "@wordpress/e2e-test-utils-playwright": "^1.47.0", + "@wordpress/eslint-plugin": "^25.3.0", + "@wordpress/jest-preset-default": "^12.47.0", + "@wordpress/npm-package-json-lint-config": "^5.47.0", + "@wordpress/postcss-plugins-preset": "^5.47.0", + "@wordpress/prettier-config": "^4.47.0", + "@wordpress/stylelint-config": "^23.39.0", "adm-zip": "^0.5.9", "babel-jest": "29.7.0", "babel-loader": "9.2.1", @@ -14259,8 +17499,8 @@ "peerDependencies": { "@playwright/test": "^1.58.2", "@wordpress/env": ">=10.0.0", - "react": "^18.0.0", - "react-dom": "^18.0.0" + "react": "^19.2.4", + "react-dom": "^19.2.4" }, "peerDependenciesMeta": { "@wordpress/env": { @@ -14320,6 +17560,28 @@ "node": "^20.19.0 || ^22.13.0 || >=24" } }, + "node_modules/@wordpress/scripts/node_modules/@wordpress/e2e-test-utils-playwright": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/e2e-test-utils-playwright/-/e2e-test-utils-playwright-1.48.0.tgz", + "integrity": "sha512-jLzobHMQha8ZUHkRhl4OJVCkk26jTVqbhN5hFpQruVTETMI3Z1PFJZH1DFAumJKKAIociVMVeH2MDD8XVp72ww==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "change-case": "^4.1.2", + "get-port": "^5.1.1", + "lighthouse": "^12.2.2", + "mime": "^3.0.0", + "web-vitals": "^4.2.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "@playwright/test": ">=1", + "@types/node": "^20.17.10" + } + }, "node_modules/@wordpress/scripts/node_modules/ajv": { "version": "6.15.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", @@ -14577,20 +17839,20 @@ } }, "node_modules/@wordpress/server-side-render": { - "version": "6.22.0", - "resolved": "https://registry.npmjs.org/@wordpress/server-side-render/-/server-side-render-6.22.0.tgz", - "integrity": "sha512-WnQr9PsAKDoirFo2ZA7O/rhhvB/XpHJDZbAbOgUqHRna2PvtHIPy3k46Xgbn4RNXxCxsOGy5mcZXd2OP4mD1mg==", + "version": "6.24.0", + "resolved": "https://registry.npmjs.org/@wordpress/server-side-render/-/server-side-render-6.24.0.tgz", + "integrity": "sha512-cmn8cWW+N4Qpf/wnSjPSWW/QJ/82K1pvxDh5tihd5ovYiKZFTD0P/Z37UMTE+NdC7AzYQGiWzDgUq3Zo33DadQ==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/url": "^4.46.0" + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/url": "^4.48.0" }, "engines": { "node": ">=18.12.0", @@ -14601,16 +17863,27 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/server-side-render/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", "license": "GPL-2.0-or-later", "dependencies": { "@ariakit/react": "^0.4.22", "@date-fns/utc": "^2.1.1", "@emotion/cache": "^11.14.0", "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", "@emotion/react": "^11.14.0", "@emotion/serialize": "^1.3.3", "@emotion/styled": "^11.14.1", @@ -14620,25 +17893,26 @@ "@types/highlight-words-core": "1.2.1", "@types/react": "^18.3.27", "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", "change-case": "^4.1.2", "clsx": "^2.1.1", "colord": "^2.7.0", @@ -14667,14 +17941,61 @@ "react-dom": "^18.0.0" } }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, "node_modules/@wordpress/server-side-render/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", "change-case": "4.1.2" }, "engines": { @@ -14685,10 +18006,122 @@ "react": "^18.0.0" } }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/server-side-render/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/@wordpress/server-side-render/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", "funding": { "type": "github", @@ -14696,9 +18129,9 @@ } }, "node_modules/@wordpress/shortcode": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/shortcode/-/shortcode-4.46.0.tgz", - "integrity": "sha512-s+1p9Zondd53T3u8ovs9ef3cy8uShnpMCSeAF9OFr7SLr/GIzScDRaXJPGCofU3tGwTe6Om81j69DAjHEcSYIw==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/shortcode/-/shortcode-4.48.0.tgz", + "integrity": "sha512-frF+OdYHJBptTdJzFGOBs7tTpvIFf01Q0vNHdzzZAFMaeA1SzwotRj8mntNlSg2aeX5HNkhzxdDzGNA5wdqQxA==", "license": "GPL-2.0-or-later", "dependencies": { "memize": "^2.0.1" @@ -14709,9 +18142,9 @@ } }, "node_modules/@wordpress/style-engine": { - "version": "2.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/style-engine/-/style-engine-2.46.0.tgz", - "integrity": "sha512-3kUcomd7xbqV4KoDA0OIVbKb4HnCnvx4kWrohHfS8+r0gsW4LyMQr66WwV2u44U6eckn83Nw0sK1Jb+4PwWiNw==", + "version": "2.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-engine/-/style-engine-2.48.0.tgz", + "integrity": "sha512-KC2WaAH1ElIbHx/6A3PkagR7yBZS9ftlIorKphFWwZtpHZu1niZoSzsSuk/gaTsV0AZBwiZA2RNtf0C6SDmCww==", "license": "GPL-2.0-or-later", "dependencies": { "change-case": "^4.1.2" @@ -14732,14 +18165,14 @@ } }, "node_modules/@wordpress/stylelint-config": { - "version": "23.38.0", - "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-23.38.0.tgz", - "integrity": "sha512-F1Bo45fhWFrpEXlkkwVfopmmgM8PwbzplrlBwu1FGm+9ohF890IXKhjjQ/CDphE9pMBCQnAyofF6ESymhbEm5A==", + "version": "23.40.0", + "resolved": "https://registry.npmjs.org/@wordpress/stylelint-config/-/stylelint-config-23.40.0.tgz", + "integrity": "sha512-VzEqHdZauroVzHUvgec8ucGodi0mAgN6eA7qdRUrpfjHCM6caXSarU/Q7PEps4QuooxHCj/4cAx8rtncqvnSwQ==", "dev": true, "license": "MIT", "dependencies": { "@stylistic/stylelint-plugin": "^3.0.1", - "@wordpress/theme": "^0.13.0", + "@wordpress/theme": "^0.15.0", "stylelint-config-recommended": "^14.0.1", "stylelint-config-recommended-scss": "^14.1.0" }, @@ -14753,15 +18186,15 @@ } }, "node_modules/@wordpress/sync": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/sync/-/sync-1.46.0.tgz", - "integrity": "sha512-g7lTru47e4VonYFwvQRwX8Cj+o3n7p0SW1YXgwoIRP9cc7ce5Ipb2X+zqrnT81SN/wFqzH3mZDVNRvksqKQakw==", + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/sync/-/sync-1.48.0.tgz", + "integrity": "sha512-nkDL58Xzl4UoDAhlHJu3pkpHljQiw88hKNJZBUr6DsBIIRhWR4wLE0aiCW7oeGwZLYaFC0Stxv1QpDQ2oSS48A==", "license": "GPL-2.0-or-later", "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/undo-manager": "^1.46.0", + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", "diff": "^8.0.3", "fast-deep-equal": "^3.1.3", "lib0": "0.2.99", @@ -14809,9 +18242,9 @@ } }, "node_modules/@wordpress/token-list": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/token-list/-/token-list-3.46.0.tgz", - "integrity": "sha512-g9UytUCFcLnj8LWNHFUK0c53FeokTEXDlZ3C3VrpDnxq0jC0BnNj0uJCAmbzfehg23LWI2O5xnQzmpAJ9ldAKg==", + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/token-list/-/token-list-3.48.0.tgz", + "integrity": "sha512-KrtNnVI9YAqBspjzKR3ELBexOQvIzxqfEuq6CasXr9w7vHn7YkEGSwbeZGNz5dEVirPFDnwAK2uVpuT8dvFiWA==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -14884,7 +18317,830 @@ } } }, - "node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@wordpress/ui/node_modules/@wordpress/icons": { + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", + "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^6.46.0", + "@wordpress/primitives": "^4.46.0", + "change-case": "4.1.2" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/ui/node_modules/date-fns": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", + "license": "MIT", + "optional": true, + "peer": true, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/@wordpress/undo-manager": { + "version": "1.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/undo-manager/-/undo-manager-1.48.0.tgz", + "integrity": "sha512-HqPGxMvZeWZJ6AVaCqZhfGpH6tqq5+hMlaqh4aCO0SvZ2Gvc6fbXEoVpqWfKozO1DyJW2GnRf8At8PpPt2IopQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/is-shallow-equal": "^5.48.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/upload-media": { + "version": "0.33.0", + "resolved": "https://registry.npmjs.org/@wordpress/upload-media/-/upload-media-0.33.0.tgz", + "integrity": "sha512-jtAbDbk6yuW74HqavA90lr59eSENTdwAKjkCgjZlLLt4zHSFXAxYuDWLk+ouaW0xnjqfWKl2/ByQGyjKes/YRA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/blob": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/url": "^4.48.0", + "@wordpress/vips": "^2.1.0", + "uuid": "^14.0.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/upload-media/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/upload-media/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/url": { + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-4.48.0.tgz", + "integrity": "sha512-NfhCvFyJnKQ7XnqLlFXbigwZzhnNQZPgS+mpXTkttq/d0/b62TgvjQd5XIu5wiEkWXye7rmZfdkRmG8fWmEb3Q==", + "license": "GPL-2.0-or-later", + "dependencies": { + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/viewport": { + "version": "6.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-6.48.0.tgz", + "integrity": "sha512-mP9BAg4xsFMiActGBjmADqcws+URFloJEfOFiCDe8y1BqWHdeNaUBC1cjXcgYj4hjmcij/lCBVdccKHg6BEAgg==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/viewport/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/viewport/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/views": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/views/-/views-1.15.0.tgz", + "integrity": "sha512-k+eHsGjUrAm/ZtGgQmsXJdl2KH0tidQhnr0MXC0ToKJWe0vc7Gw3wHLvunekaKNS2/+uNcCVuAeS3TeQUriR8g==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/dataviews": "^16.0.0", + "@wordpress/element": "^8.0.0", + "@wordpress/preferences": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "dequal": "^2.0.3" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/components": { + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.22", + "@date-fns/utc": "^2.1.1", + "@emotion/cache": "^11.14.0", + "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", + "@emotion/react": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/styled": "^11.14.1", + "@emotion/utils": "^1.4.2", + "@floating-ui/react-dom": "2.0.8", + "@types/gradient-parser": "1.1.0", + "@types/highlight-words-core": "1.2.1", + "@types/react": "^18.3.27", + "@use-gesture/react": "^10.3.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "change-case": "^4.1.2", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "csstype": "^3.2.3", + "date-fns": "^4.1.0", + "deepmerge": "^4.3.0", + "fast-deep-equal": "^3.1.3", + "framer-motion": "^11.15.0", + "gradient-parser": "1.1.1", + "highlight-words-core": "^1.2.2", + "is-plain-object": "^5.0.0", + "memize": "^2.1.0", + "path-to-regexp": "^6.2.1", + "re-resizable": "^6.4.0", + "react-colorful": "^5.6.1", + "react-day-picker": "^9.7.0", + "remove-accents": "^0.5.0", + "uuid": "^14.0.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/dataviews": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/dataviews/-/dataviews-16.0.0.tgz", + "integrity": "sha512-02rbslxalTNasLV8w/zAifCsUU5Pug8GiduWIEKRiNtazvJ8duz8fIcQ2Jgl31ruRItcu3fcG7XUk1OtwsdcZQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.21", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/data": "^10.48.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "date-fns": "^4.1.0", + "deepmerge": "4.3.1", + "fast-deep-equal": "^3.1.3", + "remove-accents": "^0.5.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/icons": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", + "change-case": "4.1.2" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/views/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", + "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.7.6" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@wordpress/views/node_modules/date-fns": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", + "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/kossnocorp" + } + }, + "node_modules/@wordpress/vips": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/vips/-/vips-2.1.0.tgz", + "integrity": "sha512-XaLh9CLDv6xcimDuXr4roUgAFsZ34jaW9I0zichRonjSmxtZCiSbHUaPtmz0pkBuoJe4Uiv/GTIBMnMBxb2Z5g==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/worker-threads": "^1.8.0", + "wasm-vips": "^0.0.16" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/warning": { + "version": "3.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-3.48.0.tgz", + "integrity": "sha512-En+A99j8aySNzUH0iXok0H2Xi+Uw2useKqYsvPm33VEMa0a0XIwa2I9srK5STp8RydCm1dK+/41K9e5xeFu23Q==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/widgets": { + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/widgets/-/widgets-4.48.0.tgz", + "integrity": "sha512-LPGa50eXKwBiDjqz3lKlvRXfmcGlLf/gsTMUml+D82Wf/s9X9gSqSum8dpSoU211+MpXr47iZC75kvndEyZMbA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/api-fetch": "^7.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/block-editor": "^15.21.0", + "@wordpress/blocks": "^15.21.0", + "@wordpress/components": "^35.0.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/core-data": "^7.48.0", + "@wordpress/data": "^10.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/notices": "^5.48.0", + "clsx": "^2.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/base-styles": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/base-styles/-/base-styles-9.1.0.tgz", + "integrity": "sha512-QONqtlA7IRYb6cbCjwTEiXJwfkWPpHl6PSS+F1TDeDP0L7m+hXfpRbH1qfKjSffWlyDaBqLFWwXZ3evpeFw5bg==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/components": { + "version": "35.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-35.0.0.tgz", + "integrity": "sha512-zXhErp2/alcdvQST6pq/kkZGkiOvTGbYqRc3FuoQIDpCJJE70r243PRxokDvZ5ikHvBtg26kARN+JhXdzN4qjw==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@ariakit/react": "^0.4.22", + "@date-fns/utc": "^2.1.1", + "@emotion/cache": "^11.14.0", + "@emotion/css": "^11.13.5", + "@emotion/native": "^11.11.0", + "@emotion/react": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/styled": "^11.14.1", + "@emotion/utils": "^1.4.2", + "@floating-ui/react-dom": "2.0.8", + "@types/gradient-parser": "1.1.0", + "@types/highlight-words-core": "1.2.1", + "@types/react": "^18.3.27", + "@use-gesture/react": "^10.3.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/base-styles": "^9.1.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/date": "^5.48.0", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/escape-html": "^3.48.0", + "@wordpress/hooks": "^4.48.0", + "@wordpress/html-entities": "^4.48.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/rich-text": "^7.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/ui": "^0.15.0", + "@wordpress/warning": "^3.48.0", + "change-case": "^4.1.2", + "clsx": "^2.1.1", + "colord": "^2.7.0", + "csstype": "^3.2.3", + "date-fns": "^4.1.0", + "deepmerge": "^4.3.0", + "fast-deep-equal": "^3.1.3", + "framer-motion": "^11.15.0", + "gradient-parser": "1.1.1", + "highlight-words-core": "^1.2.2", + "is-plain-object": "^5.0.0", + "memize": "^2.1.0", + "path-to-regexp": "^6.2.1", + "re-resizable": "^6.4.0", + "react-colorful": "^5.6.1", + "react-day-picker": "^9.7.0", + "remove-accents": "^0.5.0", + "uuid": "^14.0.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/compose": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/@wordpress/compose/-/compose-8.1.0.tgz", + "integrity": "sha512-CAEQxrh3f19ku0SAnYAAiKcUe1zqaK9f0c8vJh+6qrpQnUjl7xLXj5TJOukXlzFH3Z9VZn6fJVfXqmDNAYIhQA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/mousetrap": "^1.6.8", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/dom": "^4.48.0", + "@wordpress/element": "^8.0.0", + "@wordpress/is-shallow-equal": "^5.48.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/priority-queue": "^3.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/undo-manager": "^1.48.0", + "change-case": "^4.1.2", + "mousetrap": "^1.6.5", + "use-memo-one": "^1.1.1" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/element": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@wordpress/element/-/element-8.0.0.tgz", + "integrity": "sha512-lQ8TB2vBr6lzcwQ2zh0xy+FC77Demb3FqL81fzpSsLbGUF9hZiTyyUuwc6SG21gCkGGjVm2TnU9BuHax/8nDfQ==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@types/react": "^18.3.27", + "@types/react-dom": "^18.3.1", + "@wordpress/deprecated": "^4.48.0", + "@wordpress/escape-html": "^3.48.0", + "change-case": "^4.1.2", + "is-plain-object": "^5.0.0", + "react": "^18.3.0", + "react-dom": "^18.3.0" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/icons": { + "version": "13.3.0", + "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.3.0.tgz", + "integrity": "sha512-Y/iE3aeHQ4XkX0fffiTPCUfjT8wNw1I7hDJkKqpaLmkD+C5NKWixRrDVfRnaJqU/MxY8RdyVC/nGng2MLPNH0A==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@wordpress/element": "^8.0.0", + "@wordpress/primitives": "^4.48.0", + "change-case": "4.1.2" + }, + "engines": { + "node": ">=18.12.0", + "npm": ">=8.19.2" + }, + "peerDependencies": { + "react": "^18.0.0" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/style-runtime": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@wordpress/style-runtime/-/style-runtime-0.4.0.tgz", + "integrity": "sha512-frzAg1rsn8X0KNgrxxLxszLvWCKY0Nk2e8j8Mjm2pI2URmS8Et7NefuXP3JnHBD4U1L1Ug9yKO/FA65ojQ7CEA==", + "license": "GPL-2.0-or-later", + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/ui": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@wordpress/ui/-/ui-0.15.0.tgz", + "integrity": "sha512-7aAx1ovnC6JOb4Qfcnfk8ESfB0RTm6rqsdFrUn7TEY3LON/aEQisCb/bd7Yb8s9txb1GfaJYkgjiTvrr0M6EWA==", + "license": "GPL-2.0-or-later", + "dependencies": { + "@base-ui/react": "^1.4.1", + "@wordpress/a11y": "^4.48.0", + "@wordpress/compose": "^8.1.0", + "@wordpress/element": "^8.0.0", + "@wordpress/i18n": "^6.21.0", + "@wordpress/icons": "^13.3.0", + "@wordpress/keycodes": "^4.48.0", + "@wordpress/primitives": "^4.48.0", + "@wordpress/private-apis": "^1.48.0", + "@wordpress/style-runtime": "^0.4.0", + "@wordpress/theme": "^0.15.0", + "clsx": "^2.1.1", + "tabbable": "^6.4.0" + }, + "engines": { + "node": ">=20.10.0", + "npm": ">=10.2.3" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": "^18.0.0" + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/ui/node_modules/@base-ui/react": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@base-ui/react/-/react-1.5.0.tgz", + "integrity": "sha512-z1gSAlced1yY+iM+mHDEtIkD8UI3Ebs52MuBPxvV6f5hRutk+xvCH/wuB7hDqDzK9JG5FoMz5nhrqtSs1wjt1A==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@base-ui/utils": "0.2.9", + "@floating-ui/react-dom": "^2.1.8", + "@floating-ui/utils": "^0.2.11", + "use-sync-external-store": "^1.6.0" + }, + "engines": { + "node": ">=14.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/mui-org" + }, + "peerDependencies": { + "@date-fns/tz": "^1.2.0", + "@types/react": "^17 || ^18 || ^19", + "date-fns": "^4.0.0", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@date-fns/tz": { + "optional": true + }, + "@types/react": { + "optional": true + }, + "date-fns": { + "optional": true + } + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/ui/node_modules/@base-ui/utils": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/@base-ui/utils/-/utils-0.2.9.tgz", + "integrity": "sha512-x/PDDCYzoqPpjrdyb3VcyylTI2IjUXEtYDGi5foh7KsnmNJIIaVwA2GLgDH1dps1GgXiJbA60hM+AyuTfQzIvw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.29.2", + "@floating-ui/utils": "^0.2.11", + "reselect": "^5.1.1", + "use-sync-external-store": "^1.6.0" + }, + "peerDependencies": { + "@types/react": "^17 || ^18 || ^19", + "react": "^17 || ^18 || ^19", + "react-dom": "^17 || ^18 || ^19" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@wordpress/widgets/node_modules/@wordpress/ui/node_modules/@floating-ui/react-dom": { "version": "2.1.8", "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.8.tgz", "integrity": "sha512-cC52bHwM/n/CxS87FH0yWdngEZrjdtLW/qVruo68qg+prK7ZQ4YGdut2GyDVpoGeAYe/h899rVeOVm6Oi40k2A==", @@ -14897,276 +19153,20 @@ "react-dom": ">=16.8.0" } }, - "node_modules/@wordpress/ui/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", - "change-case": "4.1.2" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0" - } - }, - "node_modules/@wordpress/ui/node_modules/date-fns": { + "node_modules/@wordpress/widgets/node_modules/date-fns": { "version": "4.4.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", - "optional": true, - "peer": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/kossnocorp" - } - }, - "node_modules/@wordpress/undo-manager": { - "version": "1.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/undo-manager/-/undo-manager-1.46.0.tgz", - "integrity": "sha512-vAchoUrF97IdjqVD30Iz7NI9YvDtgeMNPshgjsrM8MF9nOCMq2tBWb3HS+ue/kQknfAuU73FEnn/UNKt0JPH4Q==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/is-shallow-equal": "^5.46.0" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - } - }, - "node_modules/@wordpress/upload-media": { - "version": "0.31.0", - "resolved": "https://registry.npmjs.org/@wordpress/upload-media/-/upload-media-0.31.0.tgz", - "integrity": "sha512-fpg1wx1p04AEyemQ7EGsR1c2oHcHCgsVdKbSl27L4Nvw2YlhiZY6yb/BOqUNyBqTJ6OBS85vKace6JzW6KR27w==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/blob": "^4.46.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/url": "^4.46.0", - "@wordpress/vips": "^1.6.0", - "uuid": "^14.0.0" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@wordpress/url": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/url/-/url-4.46.0.tgz", - "integrity": "sha512-LGja+dYBzaNkkPSE5ddPgk03M66wadUheuhyOLTu4uLQU2UmipN9qQgI4VAnZLrnXs7dqb4fJ8f0AuNmshHpbg==", - "license": "GPL-2.0-or-later", - "dependencies": { - "remove-accents": "^0.5.0" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - } - }, - "node_modules/@wordpress/viewport": { - "version": "6.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/viewport/-/viewport-6.46.0.tgz", - "integrity": "sha512-n/kfg5x/lGCK3FkyxrMh+D3LOk5FDPpbCtq81wtvy8Xy+GwuU4g2quRhfYENoia13tp6HVX52fyugRIGZmM/sg==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/compose": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0" - } - }, - "node_modules/@wordpress/views": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/@wordpress/views/-/views-1.13.0.tgz", - "integrity": "sha512-3u8OW2Y1X6qLOI+2GQFqnDERaxEs3Yaahv/nRdtul+5XeHpH7j8YRt5cRcAHz9zTvNLPT3Jxs8LlHIDIov7uYA==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/dataviews": "^14.3.0", - "@wordpress/element": "^6.46.0", - "@wordpress/preferences": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "dequal": "^2.0.3" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - } - }, - "node_modules/@wordpress/vips": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@wordpress/vips/-/vips-1.6.0.tgz", - "integrity": "sha512-TiQYzS5L2hVk6H9Xpk0tSzMu0cpCLUXNCXioiM/LZ2SvzP9ibwp+uXp2QwI2SS32aO06OeECaCJx+qgbIimv3A==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/worker-threads": "^1.6.0", - "wasm-vips": "^0.0.16" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - } - }, - "node_modules/@wordpress/warning": { - "version": "3.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/warning/-/warning-3.46.0.tgz", - "integrity": "sha512-Z1CE6x732iMD+NcWziitqWUyhxVy1JlioHDtQUU2oqhDcA0d/P2ifOc/af02dDYFIuLh7umurU19LqpBX6EoWw==", - "license": "GPL-2.0-or-later", - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - } - }, - "node_modules/@wordpress/widgets": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/widgets/-/widgets-4.46.0.tgz", - "integrity": "sha512-IwX6Vpfan3ShU/ezu9lzOcS4hGte2MyNFvc54TlXAb+nyQ9rYsvfNAmZAaVEXyJemBJJeH0tABVa8Ql3gtvUYA==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/api-fetch": "^7.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/block-editor": "^15.19.0", - "@wordpress/blocks": "^15.19.0", - "@wordpress/components": "^33.1.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/core-data": "^7.46.0", - "@wordpress/data": "^10.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/notices": "^5.46.0", - "clsx": "^2.1.1" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@wordpress/widgets/node_modules/@wordpress/components": { - "version": "33.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/components/-/components-33.1.0.tgz", - "integrity": "sha512-5nFqe2pk7ePIhJhz+nDNS8r1az5hIJrUycuYJzmL3KL9hYgDknAzJDHb6IUNlVcNDPgLUuxzC780YlVG5Bi0LQ==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@ariakit/react": "^0.4.22", - "@date-fns/utc": "^2.1.1", - "@emotion/cache": "^11.14.0", - "@emotion/css": "^11.13.5", - "@emotion/react": "^11.14.0", - "@emotion/serialize": "^1.3.3", - "@emotion/styled": "^11.14.1", - "@emotion/utils": "^1.4.2", - "@floating-ui/react-dom": "2.0.8", - "@types/gradient-parser": "1.1.0", - "@types/highlight-words-core": "1.2.1", - "@types/react": "^18.3.27", - "@use-gesture/react": "^10.3.1", - "@wordpress/a11y": "^4.46.0", - "@wordpress/base-styles": "^8.0.0", - "@wordpress/compose": "^7.46.0", - "@wordpress/date": "^5.46.0", - "@wordpress/deprecated": "^4.46.0", - "@wordpress/dom": "^4.46.0", - "@wordpress/element": "^6.46.0", - "@wordpress/escape-html": "^3.46.0", - "@wordpress/hooks": "^4.46.0", - "@wordpress/html-entities": "^4.46.0", - "@wordpress/i18n": "^6.19.0", - "@wordpress/icons": "^13.1.0", - "@wordpress/is-shallow-equal": "^5.46.0", - "@wordpress/keycodes": "^4.46.0", - "@wordpress/primitives": "^4.46.0", - "@wordpress/private-apis": "^1.46.0", - "@wordpress/rich-text": "^7.46.0", - "@wordpress/style-runtime": "^0.2.0", - "@wordpress/warning": "^3.46.0", - "change-case": "^4.1.2", - "clsx": "^2.1.1", - "colord": "^2.7.0", - "csstype": "^3.2.3", - "date-fns": "^4.1.0", - "deepmerge": "^4.3.0", - "fast-deep-equal": "^3.1.3", - "framer-motion": "^11.15.0", - "gradient-parser": "1.1.1", - "highlight-words-core": "^1.2.2", - "is-plain-object": "^5.0.0", - "memize": "^2.1.0", - "path-to-regexp": "^6.2.1", - "re-resizable": "^6.4.0", - "react-colorful": "^5.6.1", - "react-day-picker": "^9.7.0", - "remove-accents": "^0.5.0", - "uuid": "^14.0.0" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": "^18.0.0" - } - }, - "node_modules/@wordpress/widgets/node_modules/@wordpress/icons": { - "version": "13.1.0", - "resolved": "https://registry.npmjs.org/@wordpress/icons/-/icons-13.1.0.tgz", - "integrity": "sha512-KMZAeYghsLs6e5wKMZ3/Ynrsuu5yZt2gAlMHmZSkWJKQFld++Pz/pEj8nDCJ79z/zx9FO7q4teG49vHHvVosjQ==", - "license": "GPL-2.0-or-later", - "dependencies": { - "@wordpress/element": "^6.46.0", - "@wordpress/primitives": "^4.46.0", - "change-case": "4.1.2" - }, - "engines": { - "node": ">=18.12.0", - "npm": ">=8.19.2" - }, - "peerDependencies": { - "react": "^18.0.0" - } - }, - "node_modules/@wordpress/widgets/node_modules/date-fns": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.1.0.tgz", - "integrity": "sha512-Ukq0owbQXxa/U3EGtsdVBkR1w7KOQ5gIBqdH2hkvknzZPYvBxb/aa6E8L7tmjFtkwZBu3UXBbjIgPo/Ez4xaNg==", - "license": "MIT", "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" } }, "node_modules/@wordpress/wordcount": { - "version": "4.46.0", - "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-4.46.0.tgz", - "integrity": "sha512-rOIICvsdxI80m3ajd/cxVls2Bc9Vin0x59mDJn8omxlwbuyIAPSAkSgt273m+uIIH6/05mXVIYULfWRFW9K5+w==", + "version": "4.48.0", + "resolved": "https://registry.npmjs.org/@wordpress/wordcount/-/wordcount-4.48.0.tgz", + "integrity": "sha512-P9xSlfxL0I5nDPUazuekfJ0tkYWnvrqPDO3YOIEsD4LDNKWWxtzYLmHj4GOEYeQZ3KnJ2wu4VPxDAsFj15cMSg==", "license": "GPL-2.0-or-later", "engines": { "node": ">=18.12.0", @@ -15174,9 +19174,9 @@ } }, "node_modules/@wordpress/worker-threads": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@wordpress/worker-threads/-/worker-threads-1.6.0.tgz", - "integrity": "sha512-ZhKNMpqgJFiGILIvkYom4MJ/82CpZZ0Uj0UhuFmURo8pQQS3ROpp2/WQ9M/wlH1APUVZU2m7pLtkipt49RZosg==", + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@wordpress/worker-threads/-/worker-threads-1.8.0.tgz", + "integrity": "sha512-GyXj5tLYH5aon7yIJbqODeGmIowrjAohA2UrEJLU4UKbJdVAWyx9dlqF/bGs3sUKkkldPxYU7Wk2WIATfu0VGQ==", "license": "GPL-2.0-or-later", "dependencies": { "comctx": "^1.4.3" @@ -15187,21 +19187,21 @@ } }, "node_modules/@wp-playground/blueprints": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.1.31.tgz", - "integrity": "sha512-qc83Jqvhq9jQHAiVrysOLlBcLBcJmD6Kcz9NcexS9c/ZbhPLqBHtQ8hwjA9LcaqVaal1ttKkcY2WNNs9j6um9w==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/blueprints/-/blueprints-3.1.38.tgz", + "integrity": "sha512-OdmiDVK2EEzsohrf4xJxNYKcuubYB23t+bcwPUBQpzcVILiidLqljmRghrkGNex5ky58KTnuLn9gubKGWWmGjg==", "dev": true, "dependencies": { - "@php-wasm/logger": "3.1.31", - "@php-wasm/progress": "3.1.31", - "@php-wasm/stream-compression": "3.1.31", - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31", - "@php-wasm/web-service-worker": "3.1.31", - "@wp-playground/common": "3.1.31", - "@wp-playground/storage": "3.1.31", - "@wp-playground/wordpress": "3.1.31", - "ajv": "8.12.0" + "@php-wasm/logger": "3.1.38", + "@php-wasm/progress": "3.1.38", + "@php-wasm/stream-compression": "3.1.38", + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38", + "@php-wasm/web-service-worker": "3.1.38", + "@wp-playground/common": "3.1.38", + "@wp-playground/storage": "3.1.38", + "@wp-playground/wordpress": "3.1.38", + "ajv": "8.18.0" }, "engines": { "node": ">=20.10.0", @@ -15209,16 +19209,16 @@ } }, "node_modules/@wp-playground/blueprints/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", + "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "dev": true, "license": "MIT", "dependencies": { - "fast-deep-equal": "^3.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" + "require-from-string": "^2.0.2" }, "funding": { "type": "github", @@ -15226,25 +19226,25 @@ } }, "node_modules/@wp-playground/cli": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.1.31.tgz", - "integrity": "sha512-uUMt4VHW4ivFo/sB6NGXGBWNGB7hJWNbV+3FYHYtNEs4DUd3x9opKOkEBSYQjQdUXpDc7Zy0umCbauQZtdpxXw==", - "dev": true, - "license": "GPL-2.0-or-later", - "dependencies": { - "@php-wasm/cli-util": "3.1.31", - "@php-wasm/logger": "3.1.31", - "@php-wasm/node": "3.1.31", - "@php-wasm/progress": "3.1.31", - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31", - "@php-wasm/xdebug-bridge": "3.1.31", - "@wp-playground/blueprints": "3.1.31", - "@wp-playground/common": "3.1.31", - "@wp-playground/storage": "3.1.31", - "@wp-playground/tools": "3.1.31", - "@wp-playground/wordpress": "3.1.31", - "express": "4.22.0", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/cli/-/cli-3.1.38.tgz", + "integrity": "sha512-xvTQ053ToDa+jd47Bxmuambzfx4lm0ILXDXGoxkd62oaMsyB8+EczfwZhLLECaCDwVzlCM9XO0mOWEJ8YNC9KQ==", + "dev": true, + "license": "GPL-2.0-or-later", + "dependencies": { + "@php-wasm/cli-util": "3.1.38", + "@php-wasm/logger": "3.1.38", + "@php-wasm/node": "3.1.38", + "@php-wasm/progress": "3.1.38", + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38", + "@php-wasm/xdebug-bridge": "3.1.38", + "@wp-playground/blueprints": "3.1.38", + "@wp-playground/common": "3.1.38", + "@wp-playground/storage": "3.1.38", + "@wp-playground/tools": "3.1.38", + "@wp-playground/wordpress": "3.1.38", + "express": "4.22.2", "fs-extra": "11.1.1", "tmp-promise": "3.0.3", "wasm-feature-detect": "1.8.0", @@ -15255,14 +19255,14 @@ } }, "node_modules/@wp-playground/common": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/common/-/common-3.1.31.tgz", - "integrity": "sha512-RTRSmptFO5qhnirhEOFREP2kkgORJOFlBKtprz9FSyUUuGC0gs+YB0e5QdusS6f2CvORGxYhglPBGGOkhNzdGQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/common/-/common-3.1.38.tgz", + "integrity": "sha512-v2nO0h9US0ohIOuSOeYwn8GmOkYkvoUdGAsKnRMPkmXd4zRcvduvfuhSunZXZYIkHiZc7pPawPUtuHml5oGHFQ==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31" + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38" }, "engines": { "node": ">=20.10.0", @@ -15270,15 +19270,15 @@ } }, "node_modules/@wp-playground/storage": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/storage/-/storage-3.1.31.tgz", - "integrity": "sha512-JFeAIm7pcoLbYC0BAjZwg1F7Yp+UkjHUmdHRe13p7wdmiuxtkeJ1UWpKGz6qERmiWwjfLEZCugi6UFLGBUe5MQ==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/storage/-/storage-3.1.38.tgz", + "integrity": "sha512-QSDb8f5eGg2ZE6dq2hWHJHTj5kVVlPZDoCTAv5f+VE8gauBc/8FKKQgZgGPW/3t8LcSt8GLYG50Uw3B+xOwHIg==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/stream-compression": "3.1.31", - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31", + "@php-wasm/stream-compression": "3.1.38", + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38", "@zip.js/zip.js": "2.7.57", "isomorphic-git": "1.37.6", "octokit": "3.1.2", @@ -15286,13 +19286,13 @@ } }, "node_modules/@wp-playground/tools": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/tools/-/tools-3.1.31.tgz", - "integrity": "sha512-16GLPXgswvqXUrcf8mZDzBcKrIEbL5D9S+7f6xbbg/LaJ71ZAOviaKoP1nqfQShVJlMCGRnD9wI3H3E3icOIfw==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/tools/-/tools-3.1.38.tgz", + "integrity": "sha512-teegXL7ZDC6RO2r7i0Qa9VOTGynPrDaoN300kkIgO7K8DKDNfm7lblrL1AhdKxQ4wtTavCw2uqdt2y+sUqp5IA==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@wp-playground/blueprints": "3.1.31" + "@wp-playground/blueprints": "3.1.38" }, "engines": { "node": ">=20.10.0", @@ -15300,16 +19300,16 @@ } }, "node_modules/@wp-playground/wordpress": { - "version": "3.1.31", - "resolved": "https://registry.npmjs.org/@wp-playground/wordpress/-/wordpress-3.1.31.tgz", - "integrity": "sha512-k1jfbaDNT9c89tt9076a+TFFhKTZcVt6bxN3iSmCQFtU8jn1k9ReSiffVDOKGVV8PF6XgE5EEcxsQo1RlOqQPw==", + "version": "3.1.38", + "resolved": "https://registry.npmjs.org/@wp-playground/wordpress/-/wordpress-3.1.38.tgz", + "integrity": "sha512-LIJPoXF68TXZxX7mUTCULFcS9enMA7zPMxoXvizZsG9ORGjFiMACeX1BsKaneZWIZjozZtZBlFwMb63+K6M5Ig==", "dev": true, "license": "GPL-2.0-or-later", "dependencies": { - "@php-wasm/logger": "3.1.31", - "@php-wasm/universal": "3.1.31", - "@php-wasm/util": "3.1.31", - "@wp-playground/common": "3.1.31" + "@php-wasm/logger": "3.1.38", + "@php-wasm/universal": "3.1.38", + "@php-wasm/util": "3.1.38", + "@wp-playground/common": "3.1.38" }, "engines": { "node": ">=20.10.0", @@ -15354,7 +19354,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dev": true, "license": "MIT", "dependencies": { "event-target-shim": "^5.0.0" @@ -15381,7 +19380,6 @@ "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", - "dev": true, "license": "MIT", "bin": { "acorn": "bin/acorn" @@ -15450,7 +19448,6 @@ "version": "7.1.4", "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 14" @@ -15540,6 +19537,13 @@ "ajv": "^8.8.2" } }, + "node_modules/anser": { + "version": "1.4.10", + "resolved": "https://registry.npmjs.org/anser/-/anser-1.4.10.tgz", + "integrity": "sha512-hCv9AqTQ8ycjpSd3upOJd7vFwW1JaoYQ7tpham03GJ1ca8/65rqn0RpaWpItOAd6ylW9wAw6luXYPJIyPFVOww==", + "license": "MIT", + "peer": true + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -15596,7 +19600,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -15606,7 +19609,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "devOptional": true, "license": "MIT", "dependencies": { "color-convert": "^2.0.1" @@ -15642,6 +19644,19 @@ "node": ">= 8" } }, + "node_modules/anynum": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/anynum/-/anynum-1.0.0.tgz", + "integrity": "sha512-xjR9/zBVnUOP6ztMIIgShjsxui80nQUQH+5xJnvrYLs+90bF25/KJqaAi8mk+B4RDtX1Nspi6fmp4YTEts8SfA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + } + ], + "license": "MIT" + }, "node_modules/are-docs-informative": { "version": "0.0.2", "resolved": "https://registry.npmjs.org/are-docs-informative/-/are-docs-informative-0.0.2.tgz", @@ -15884,6 +19899,13 @@ "node": ">=0.10.0" } }, + "node_modules/asap": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", + "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", + "license": "MIT", + "peer": true + }, "node_modules/asn1js": { "version": "3.0.10", "resolved": "https://registry.npmjs.org/asn1js/-/asn1js-3.0.10.tgz", @@ -16249,6 +20271,33 @@ "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" } }, + "node_modules/babel-plugin-syntax-hermes-parser": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-hermes-parser/-/babel-plugin-syntax-hermes-parser-0.36.0.tgz", + "integrity": "sha512-LhD0xdoedDw7ansQgXbB2DADLZIK/LRXuWNBPuVzMc5S2WK5GyT89tCM+cQzxFGO0mGyLK6D5TrVOJJzAoDy8Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-parser": "0.36.0" + } + }, + "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-estree": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.36.0.tgz", + "integrity": "sha512-A1+8zn5oss2CFP7pKsOaxorQG6FNIz1WU1VDqruLPPZl3LVgeE2C5xfFg8Ow6/Ow4mSslLLtYP1J3n38eKyW9w==", + "license": "MIT", + "peer": true + }, + "node_modules/babel-plugin-syntax-hermes-parser/node_modules/hermes-parser": { + "version": "0.36.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.36.0.tgz", + "integrity": "sha512-GdpwMmH5x6IpC1cijvcvYnlPB60Mh6kTSF/NFdYV/j56gYdi+0RIakYs+eqOV+bbO0SW7mgVVGSsTJxyPQfo3w==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.36.0" + } + }, "node_modules/babel-preset-current-node-syntax": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", @@ -16401,7 +20450,6 @@ "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, "funding": [ { "type": "github", @@ -16422,7 +20470,6 @@ "version": "2.10.29", "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.29.tgz", "integrity": "sha512-Asa2krT+XTPZINCS+2QcyS8WTkObE77RwkydwF7h6DmnKqbvlalz93m/dnphUyCa6SWSP51VgtEUf2FN+gelFQ==", - "dev": true, "license": "Apache-2.0", "bin": { "baseline-browser-mapping": "dist/cli.cjs" @@ -16533,22 +20580,6 @@ "dev": true, "license": "MIT" }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/bonjour-service": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.3.0.tgz", @@ -16589,7 +20620,6 @@ "version": "3.0.3", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "devOptional": true, "license": "MIT", "dependencies": { "fill-range": "^7.1.1" @@ -16602,7 +20632,6 @@ "version": "4.28.2", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -16655,7 +20684,6 @@ "version": "2.1.1", "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" @@ -16714,7 +20742,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true, "license": "MIT" }, "node_modules/bundle-name": { @@ -16879,7 +20906,6 @@ "version": "6.3.0", "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -16926,6 +20952,15 @@ "node": ">=8" } }, + "node_modules/camelize": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", + "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/caniuse-api": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", @@ -16943,7 +20978,6 @@ "version": "1.0.30001792", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001792.tgz", "integrity": "sha512-hVLMUZFgR4JJ6ACt1uEESvQN1/dBVqPAKY0hgrV70eN3391K6juAfTjKZLKvOMsx8PxA7gsY1/tLMMTcfFLLpw==", - "dev": true, "funding": [ { "type": "opencollective", @@ -16975,7 +21009,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.1.0", @@ -17129,11 +21162,65 @@ "url": "https://github.com/sponsors/colinhacks" } }, + "node_modules/chromium-edge-launcher": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/chromium-edge-launcher/-/chromium-edge-launcher-0.3.0.tgz", + "integrity": "sha512-p03azHlGjtyRvFEee3cyvtsRYdniSkwjkzmM/KmVnqT5d7QkkwpJBhis/zCLMYdQMVJ5tt140TBNqqrZPaWeFA==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/node": "*", + "escape-string-regexp": "^4.0.0", + "is-wsl": "^2.2.0", + "lighthouse-logger": "^1.0.0", + "mkdirp": "^1.0.4" + } + }, + "node_modules/chromium-edge-launcher/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/chromium-edge-launcher/node_modules/lighthouse-logger": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/lighthouse-logger/-/lighthouse-logger-1.4.2.tgz", + "integrity": "sha512-gPWxznF6TKmUHrOQjlVo2UbaL2EJ71mb2CCeRs/2qBpi4L/g4LUVc9+3lKQ6DTUZwJswfM7ainGrLO1+fOqa2g==", + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "debug": "^2.6.9", + "marky": "^1.2.2" + } + }, + "node_modules/chromium-edge-launcher/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "license": "MIT", + "peer": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/chromium-edge-launcher/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, "node_modules/ci-info": { "version": "3.9.0", "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", - "dev": true, "funding": [ { "type": "github", @@ -17215,7 +21302,6 @@ "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, "license": "ISC", "dependencies": { "string-width": "^4.2.0", @@ -17230,7 +21316,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", @@ -17344,7 +21429,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "devOptional": true, "license": "MIT", "dependencies": { "color-name": "~1.1.4" @@ -17357,7 +21441,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "devOptional": true, "license": "MIT" }, "node_modules/colord": { @@ -17397,16 +21480,15 @@ } }, "node_modules/comctx": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/comctx/-/comctx-1.6.1.tgz", - "integrity": "sha512-ZMRGAYASYRdVfEoB7oxH8Nqu5Ay8I+YvAsQni+td0pYV9eww/PrtSFVyvc2JkNQyHXGDknCB4wJfxFYP6fuqZg==", + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/comctx/-/comctx-1.7.4.tgz", + "integrity": "sha512-c5j2twNsFePTxuyPuR1x7UhCxu+BaFtUk8S1okJW9/qcy02PN29P3O8dy4XTtyQIgXYRTZinOYPcZJYMAbg4WQ==", "license": "MIT" }, "node_modules/commander": { "version": "12.1.0", "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, "license": "MIT", "engines": { "node": ">=18" @@ -17517,46 +21599,184 @@ } }, "node_modules/concurrently": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz", - "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==", + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-10.0.3.tgz", + "integrity": "sha512-hc3LH4UaKWd/bbyDK/IGVa4RB6PtQ3CUYwtrkzqHn+wIG3Hr5fhpRlk0L/gCa8ZE1L/Ufj50Zho69cI5w8SQBA==", "dev": true, "license": "MIT", "dependencies": { - "chalk": "4.1.2", + "chalk": "5.6.2", "rxjs": "7.8.2", - "shell-quote": "1.8.3", - "supports-color": "8.1.1", + "shell-quote": "1.8.4", + "supports-color": "10.2.2", "tree-kill": "1.2.2", - "yargs": "17.7.2" + "yargs": "18.0.0" }, "bin": { - "conc": "dist/bin/concurrently.js", - "concurrently": "dist/bin/concurrently.js" + "conc": "dist/bin/index.js", + "concurrently": "dist/bin/index.js" }, "engines": { - "node": ">=18" + "node": ">=22" }, "funding": { "url": "https://github.com/open-cli-tools/concurrently?sponsor=1" } }, - "node_modules/concurrently/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "node_modules/concurrently/node_modules/ansi-regex": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.2.tgz", + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/ansi-styles": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz", + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==", "dev": true, "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/chalk": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", + "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", "dependencies": { - "has-flag": "^4.0.0" + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" }, "engines": { - "node": ">=10" + "node": ">=20" + } + }, + "node_modules/concurrently/node_modules/emoji-regex": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", + "dev": true, + "license": "MIT" + }, + "node_modules/concurrently/node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/concurrently/node_modules/strip-ansi": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.2.2" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/supports-color": { + "version": "10.2.2", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-10.2.2.tgz", + "integrity": "sha512-SS+jx45GF1QjgEXQx4NJZV9ImqmO2NPz5FNsIHrsDjh2YsHnawpan7SNQ1o8NuhrbHZy9AZhIoCUiCeaW/C80g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" }, "funding": { "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/concurrently/node_modules/wrap-ansi": { + "version": "9.0.2", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/concurrently/node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/concurrently/node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, "node_modules/configstore": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/configstore/-/configstore-7.1.0.tgz", @@ -17576,6 +21796,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, "node_modules/connect-history-api-fallback": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", @@ -17586,6 +21822,75 @@ "node": ">=0.8" } }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "peer": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "license": "MIT", + "peer": true + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "license": "MIT", + "peer": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, "node_modules/constant-case": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/constant-case/-/constant-case-3.0.4.tgz", @@ -17624,7 +21929,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, "license": "MIT" }, "node_modules/cookie": { @@ -17813,7 +22117,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, "license": "MIT", "dependencies": { "path-key": "^3.1.0", @@ -17831,6 +22134,15 @@ "dev": true, "license": "Apache-2.0" }, + "node_modules/css-color-keywords": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", + "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, "node_modules/css-declaration-sorter": { "version": "7.4.0", "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-7.4.0.tgz", @@ -17920,6 +22232,17 @@ "url": "https://github.com/sponsors/fb55" } }, + "node_modules/css-to-react-native": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", + "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", + "license": "MIT", + "dependencies": { + "camelize": "^1.0.0", + "css-color-keywords": "^1.0.0", + "postcss-value-parser": "^4.0.2" + } + }, "node_modules/css-tree": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.2.1.tgz", @@ -18475,7 +22798,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -18501,7 +22823,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8", @@ -18764,14 +23085,12 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "dev": true, "license": "MIT" }, "node_modules/electron-to-chromium": { "version": "1.5.355", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.355.tgz", "integrity": "sha512-LUPZhKzZPYSPme1jEYohpkA+ybYCJztr1quAdBd7E7h3+VOBVcKkwwtBJu41nrjawrRzfb8mtMfzWozoaK0ZIQ==", - "dev": true, "license": "ISC" }, "node_modules/emittery": { @@ -18808,7 +23127,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -18927,7 +23245,6 @@ "version": "2.1.4", "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.1.4.tgz", "integrity": "sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==", - "dev": true, "license": "MIT", "dependencies": { "stackframe": "^1.3.4" @@ -19022,9 +23339,9 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.2.tgz", - "integrity": "sha512-HVLACW1TppGYjJ8H6/jqH/pqOtKRw6wMlrB23xfExmFWxFquAIWCmwoLsOyN96K4a5KbmOf5At9ZUO3GZbetAw==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.3.3.tgz", + "integrity": "sha512-0PuBxFi+4uPanB97iDxCLWuHeYud2FALrw5HFZGtAF38UpJDbDC8frwp2cnDyae692CQ0dou60UwWfhgsa4U/g==", "dev": true, "license": "MIT", "dependencies": { @@ -19056,9 +23373,9 @@ "license": "MIT" }, "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", "dev": true, "license": "MIT", "dependencies": { @@ -19187,7 +23504,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -19197,7 +23513,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "dev": true, "license": "MIT" }, "node_modules/escape-string-regexp": { @@ -19370,14 +23685,14 @@ } }, "node_modules/eslint-import-resolver-node/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.2", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", @@ -19394,9 +23709,9 @@ } }, "node_modules/eslint-import-resolver-typescript": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.4.tgz", - "integrity": "sha512-1iM2zeBvrYmUNTj2vSC/90JTHDth+dfOfiNKkxApWRsTJYNrc8rOdxxIf5vazX+BiAXTeOT0UvWpGI/7qIWQOw==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-4.4.5.tgz", + "integrity": "sha512-nbE5XLph6TLtGYcu/U6e6ZVXyKBhbDWK5cLGk76eJ7NdZpwf1P9EFkpt1Z01mNZNrrilsAYWKH6zUkL4reoXbw==", "dev": true, "license": "ISC", "dependencies": { @@ -19429,9 +23744,9 @@ } }, "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.13.0.tgz", + "integrity": "sha512-bLohSkT6469rRs8czj0tLTD8vaeIS/whvPRJVjDr7IuoTT1k5DYDERlNycjDj/HkOlvQdYurmfZ/g3fG5bgeLQ==", "dev": true, "license": "MIT", "dependencies": { @@ -19552,9 +23867,9 @@ } }, "node_modules/eslint-plugin-jsdoc/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -19595,9 +23910,9 @@ } }, "node_modules/eslint-plugin-playwright": { - "version": "2.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-2.10.2.tgz", - "integrity": "sha512-0N+2OWc3NZbOZ0gK8mp2TK6Qu3UWcJTQ9rqU0UM2yRJXgT758pvpY0lsOLIySfbyFrLqn3TcXjixbmcK90VnuQ==", + "version": "2.10.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-playwright/-/eslint-plugin-playwright-2.10.4.tgz", + "integrity": "sha512-l0V/VxyqfFbtqCTxj5AdRn3Q6S/hIW4nKBnKZVleVbZ24N2My6Usj//ytX3dKKqAoSbvKck9YtSytfdZ5qjLuA==", "dev": true, "license": "MIT", "dependencies": { @@ -19624,14 +23939,14 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.5.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.5.tgz", - "integrity": "sha512-hscXkbqUZ2sPithAuLm5MXL+Wph+U7wHngPBv9OMWwlP8iaflyxpjTYZkmdgB4/vPIhemRlBEoLrH7UC1n7aUw==", + "version": "5.5.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.5.6.tgz", + "integrity": "sha512-ifetmTcxWfz+4qRW3pH/ujdTq2jQIj59AxJMIN26K5avYgU8dxycUETQonWiW+wPrYXA0j3Try0l1CnwVQtDqQ==", "dev": true, "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.1", - "synckit": "^0.11.12" + "synckit": "^0.11.13" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -19708,14 +24023,14 @@ } }, "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.6", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.6.tgz", - "integrity": "sha512-3JmVl5hMGtJ3kMmB3zi3DL25KfkCEyy3Tw7Gmw7z5w8M9WlwoPFnIvwChzu1+cF3iaK3sp18hhPz8ANeimdJfA==", + "version": "2.0.0-next.7", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.7.tgz", + "integrity": "sha512-tqt+NBWwyaMgw3zDsnygx4CByWjQEJHOPMdslYhppaQSJUtL/D4JO9CcBBlhPoI8lz9oJIDXkwXfhF4aWqP8xQ==", "dev": true, "license": "MIT", "dependencies": { "es-errors": "^1.3.0", - "is-core-module": "^2.16.1", + "is-core-module": "^2.16.2", "node-exports-info": "^1.6.0", "object-keys": "^1.1.1", "path-parse": "^1.0.7", @@ -19995,7 +24310,6 @@ "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -20005,7 +24319,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -20128,16 +24441,23 @@ "dev": true, "license": "MIT" }, + "node_modules/exponential-backoff": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.3.tgz", + "integrity": "sha512-ZgEeZXj30q+I0EN+CbSSpIyPaJ5HVQD18Z1m+u1FXbAeT94mr1zw50q4q6jiiC447Nl/YTcIYSAftiGqetwXCA==", + "license": "Apache-2.0", + "peer": true + }, "node_modules/express": { - "version": "4.22.0", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.0.tgz", - "integrity": "sha512-c2iPh3xp5vvCLgaHK03+mWLFPhox7j1LwyxcZwFVApEv5i0X+IjPpbT50SJJwwLpdBVfp45AkK/v+AFgv/XlfQ==", + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", "dev": true, "license": "MIT", "dependencies": { "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "~1.20.3", + "body-parser": "~1.20.5", "content-disposition": "~0.5.4", "content-type": "~1.0.4", "cookie": "~0.7.1", @@ -20156,7 +24476,7 @@ "parseurl": "~1.3.3", "path-to-regexp": "~0.1.12", "proxy-addr": "~2.0.7", - "qs": "~6.14.0", + "qs": "~6.15.1", "range-parser": "~1.2.1", "safe-buffer": "5.2.1", "send": "~0.19.0", @@ -20394,11 +24714,23 @@ "node": ">=0.8.0" } }, + "node_modules/fb-dotslash": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/fb-dotslash/-/fb-dotslash-0.5.8.tgz", + "integrity": "sha512-XHYLKk9J4BupDxi9bSEhkfss0m+Vr9ChTrjhf9l2iw3jB5C7BnY4GVPoMcqbrTutsKJso6yj2nAB6BI/F2oZaA==", + "license": "(MIT OR Apache-2.0)", + "peer": true, + "bin": { + "dotslash": "bin/dotslash" + }, + "engines": { + "node": ">=20" + } + }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", - "dev": true, "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" @@ -20460,7 +24792,6 @@ "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "devOptional": true, "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" @@ -20622,6 +24953,13 @@ "devOptional": true, "license": "ISC" }, + "node_modules/flow-enums-runtime": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/flow-enums-runtime/-/flow-enums-runtime-0.0.6.tgz", + "integrity": "sha512-3PYnM29RFXwvAN6Pc/scUfkI7RwhQ/xqyLUyPNlXUp9S40zI8nup9tUSrTLSVnWGBN38FNiGWbwZOB6uR4OGdw==", + "license": "MIT", + "peer": true + }, "node_modules/follow-redirects": { "version": "1.16.0", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", @@ -20778,7 +25116,6 @@ "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -20855,18 +25192,21 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.2.0.tgz", + "integrity": "sha512-jObKIik1P2QjPHP5nz5BaOtUlfgS0fWo8IUByNXkM+o+02sJOi94em77GwJKQSJ3gfPHdgzLNrHc1uokV4P/ew==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" + "has-property-descriptors": "^1.0.2", + "hasown": "^2.0.4", + "is-callable": "^1.2.7", + "is-document.all": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -20919,7 +25259,6 @@ "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, "license": "MIT", "engines": { "node": ">=6.9.0" @@ -20934,6 +25273,19 @@ "node": "6.* || 8.* || >= 10.*" } }, + "node_modules/get-east-asian-width": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", + "integrity": "sha512-QRbvDIbx6YklUe6RxeTeleMR0yv3cYH6PsPZHcnVn7xv7zO1BHN8r0XETu8n6Ye3Q+ahtSarc3WgtNWmehIBfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/get-intrinsic": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", @@ -21155,19 +25507,6 @@ "dev": true, "license": "BSD-2-Clause" }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.4.tgz", - "integrity": "sha512-twmL+S8+7yIsE9wsqgzU3E8/LumN3M3QELrBZ20OdmQ9jB2JvW5oZtBEmft84k/Gs5CG9mqtWc6Y9vW+JEzGxw==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/global-modules": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/global-modules/-/global-modules-0.2.3.tgz", @@ -21342,7 +25681,6 @@ "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, "license": "ISC" }, "node_modules/gradient-parser": { @@ -21403,7 +25741,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -21481,9 +25818,9 @@ } }, "node_modules/hasown": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.3.tgz", - "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", "license": "MIT", "dependencies": { "function-bind": "^1.1.2" @@ -21502,6 +25839,13 @@ "tslib": "^2.0.3" } }, + "node_modules/hermes-compiler": { + "version": "250829098.0.14", + "resolved": "https://registry.npmjs.org/hermes-compiler/-/hermes-compiler-250829098.0.14.tgz", + "integrity": "sha512-5meXwsZxgiqFaJjNzwjzI9IyUkuGGBisu+z9BvQWmGVpjH6nz11hgqkyxe4dl8UAdyIV4lTbz91+Dlnjz0VxqA==", + "license": "MIT", + "peer": true + }, "node_modules/hermes-estree": { "version": "0.25.1", "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", @@ -21725,7 +26069,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "dev": true, "license": "MIT", "dependencies": { "depd": "~2.0.0", @@ -21831,7 +26174,6 @@ "version": "7.0.6", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dev": true, "license": "MIT", "dependencies": { "agent-base": "^7.1.2", @@ -21935,6 +26277,22 @@ "node": ">=10" } }, + "node_modules/image-size": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-1.2.1.tgz", + "integrity": "sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==", + "license": "MIT", + "peer": true, + "dependencies": { + "queue": "6.0.2" + }, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=16.x" + } + }, "node_modules/image-ssim": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/image-ssim/-/image-ssim-0.2.0.tgz", @@ -22056,7 +26414,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, "license": "ISC" }, "node_modules/ini": { @@ -22113,6 +26470,16 @@ "tslib": "^2.8.0" } }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "peer": true, + "dependencies": { + "loose-envify": "^1.0.0" + } + }, "node_modules/ip-address": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.2.0.tgz", @@ -22251,9 +26618,9 @@ } }, "node_modules/is-bun-module/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -22330,7 +26697,6 @@ "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, "license": "MIT", "bin": { "is-docker": "cli.js" @@ -22342,6 +26708,22 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-document.all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-document.all/-/is-document.all-1.0.0.tgz", + "integrity": "sha512-+XSoyS05OdBbhFuELhgTCpFNHkpBOJqtsZfUFFpe5QTw+9Sjbh8zitxhQkYAo6wV7e1Vb8cAPvpCk9jGam/82g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-extendable": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", @@ -22382,7 +26764,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8" @@ -22519,7 +26900,6 @@ "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=0.12.0" @@ -22762,7 +27142,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, "license": "MIT", "dependencies": { "is-docker": "^2.0.0" @@ -22791,7 +27170,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "devOptional": true, "license": "ISC" }, "node_modules/isobject": { @@ -23477,7 +27855,6 @@ "version": "29.6.3", "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", - "dev": true, "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -23738,9 +28115,9 @@ } }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -23754,7 +28131,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", - "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -23772,7 +28148,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", - "dev": true, "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", @@ -23810,7 +28185,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", - "dev": true, "license": "MIT", "dependencies": { "@types/node": "*", @@ -23826,7 +28200,6 @@ "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -23894,6 +28267,13 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/jsc-safe-url": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/jsc-safe-url/-/jsc-safe-url-0.2.4.tgz", + "integrity": "sha512-0wM3YBWtYePOjfyXQH5MWQ8H7sdk5EXSwZvmSLKk2RboVQ2Bu239jycHDz5J/8Blf3K0Qnoy2b6xD+z10MFB+Q==", + "license": "0BSD", + "peer": true + }, "node_modules/jsdoc-type-pratt-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-4.1.0.tgz", @@ -23993,7 +28373,6 @@ "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, "license": "MIT", "bin": { "json5": "lib/cli.js" @@ -24046,9 +28425,9 @@ } }, "node_modules/jsonwebtoken/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -24199,7 +28578,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true, "license": "MIT", "engines": { "node": ">=6" @@ -24614,6 +28992,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "license": "MIT", + "peer": true + }, "node_modules/lodash.truncate": { "version": "4.4.2", "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", @@ -24701,7 +29086,6 @@ "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, "license": "ISC", "dependencies": { "yallist": "^3.0.2" @@ -24724,9 +29108,9 @@ } }, "node_modules/make-dir/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -24740,7 +29124,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", - "dev": true, "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" @@ -24909,7 +29292,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/marky/-/marky-1.3.0.tgz", "integrity": "sha512-ocnPZQLNpvbedwTy9kNrQEsknEfgvcLMvOtz3sFeWApDq1MXH1TqkCIx58xlpESsfwQOnuBO9beyQuNGzVvuhQ==", - "dev": true, "license": "Apache-2.0" }, "node_modules/math-intrinsics": { @@ -24993,6 +29375,13 @@ "integrity": "sha512-8Nl+i9S5D6KXnruM03Jgjb+LwSupvR13WBr4hJegaaEyobvowCVupi79y2WSiWvO1mzBWxPwEYE5feCe8vyA5w==", "license": "MIT" }, + "node_modules/memoize-one": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz", + "integrity": "sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q==", + "license": "MIT", + "peer": true + }, "node_modules/meow": { "version": "13.2.0", "resolved": "https://registry.npmjs.org/meow/-/meow-13.2.0.tgz", @@ -25035,7 +29424,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, "license": "MIT" }, "node_modules/merge2": { @@ -25065,11 +29453,406 @@ "node": ">= 0.6" } }, + "node_modules/metro": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro/-/metro-0.84.4.tgz", + "integrity": "sha512-8ETTubqfD6ornDy2zYDvRcKnVDOXdFJsjetYDBsY4oAsb6NJkiwFR+FaMESyGppFmQUyBQA4H4sFGxzcQSGtFA==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "accepts": "^2.0.0", + "ci-info": "^2.0.0", + "connect": "^3.6.5", + "debug": "^4.4.0", + "error-stack-parser": "^2.0.6", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "hermes-parser": "0.35.0", + "image-size": "^1.0.2", + "invariant": "^2.2.4", + "jest-worker": "^29.7.0", + "jsc-safe-url": "^0.2.2", + "lodash.throttle": "^4.1.1", + "metro-babel-transformer": "0.84.4", + "metro-cache": "0.84.4", + "metro-cache-key": "0.84.4", + "metro-config": "0.84.4", + "metro-core": "0.84.4", + "metro-file-map": "0.84.4", + "metro-resolver": "0.84.4", + "metro-runtime": "0.84.4", + "metro-source-map": "0.84.4", + "metro-symbolicate": "0.84.4", + "metro-transform-plugins": "0.84.4", + "metro-transform-worker": "0.84.4", + "mime-types": "^3.0.1", + "nullthrows": "^1.1.1", + "serialize-error": "^2.1.0", + "source-map": "^0.5.6", + "throat": "^5.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" + }, + "bin": { + "metro": "src/cli.js" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-babel-transformer": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-babel-transformer/-/metro-babel-transformer-0.84.4.tgz", + "integrity": "sha512-rvCfz8snl9h20VcvpOHxZuHP1SlAkv4HXbzw7nyyVwu6Eqo5PRerbakQ9XmUCOsRy70spJ37O+G1TK8oMzo48g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "flow-enums-runtime": "^0.0.6", + "hermes-parser": "0.35.0", + "metro-cache-key": "0.84.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-babel-transformer/node_modules/hermes-estree": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.35.0.tgz", + "integrity": "sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==", + "license": "MIT", + "peer": true + }, + "node_modules/metro-babel-transformer/node_modules/hermes-parser": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.35.0.tgz", + "integrity": "sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.35.0" + } + }, + "node_modules/metro-cache": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.84.4.tgz", + "integrity": "sha512-gpcFQdSLUwUCk71saKoE64jLFbx2nwTfVCcPSULMNT8QYq0p1eZZE29Jvd0HtT/UlhC3ZOutLxJME5xqD2JUZg==", + "license": "MIT", + "peer": true, + "dependencies": { + "exponential-backoff": "^3.1.1", + "flow-enums-runtime": "^0.0.6", + "https-proxy-agent": "^7.0.5", + "metro-core": "0.84.4" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-cache-key": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-cache-key/-/metro-cache-key-0.84.4.tgz", + "integrity": "sha512-wVO79aGrkYImpnaVS4+d5RrRBRPX31QtvKB3wKGBuiNSznduZTQHzsrJZRroFJSwnygrzdsGUtDQPuqqFjFdvw==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-config": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-config/-/metro-config-0.84.4.tgz", + "integrity": "sha512-PMotGDjXcXLWo2TMRH+VR99phFNgYTwqh4OoieIKK3yTJa1Jmkl+fZJxDO0jfBvNF+WESHciHvpNuBtXaF3B0Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "connect": "^3.6.5", + "flow-enums-runtime": "^0.0.6", + "jest-validate": "^29.7.0", + "metro": "0.84.4", + "metro-cache": "0.84.4", + "metro-core": "0.84.4", + "metro-runtime": "0.84.4", + "yaml": "^2.6.1" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-core": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.84.4.tgz", + "integrity": "sha512-HONpWC5LGXZn3ffkd4Hu6AIrfE7j4Z0g0wMo/goV24WOB3lhuFZ40KgvaDiSw8iyQHloMYay5N/wPX+z8oN/PQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.84.4" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-file-map": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-file-map/-/metro-file-map-0.84.4.tgz", + "integrity": "sha512-KSVDi/u60hKPx++NLu3MTIvyjzNoJnFAF8PQFxaj1jiSka/wjw+Ua6sNuJ0TDHQv+7AAoFQxeMgaRAe8Yic5wQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "debug": "^4.4.0", + "fb-watchman": "^2.0.0", + "flow-enums-runtime": "^0.0.6", + "graceful-fs": "^4.2.4", + "invariant": "^2.2.4", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "nullthrows": "^1.1.1", + "walker": "^1.0.7" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-minify-terser": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-minify-terser/-/metro-minify-terser-0.84.4.tgz", + "integrity": "sha512-5qpbaVOMC7CPitIpuewzVeGw7E+C3ykbv2mqTjQLl85Z3annSVGlSCTcsZjqXZzjupfK4Ztj3dDc4kc44NZwtQ==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "terser": "^5.15.0" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-resolver": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.84.4.tgz", + "integrity": "sha512-1qLgbxQ5ZGhhutuPot1Yp348ofDsATL2WkrHF65TobqTT9K3P9qJXw38bomk7ncp5B7OYMfWwtyBZo1lCV792A==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-runtime": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-runtime/-/metro-runtime-0.84.4.tgz", + "integrity": "sha512-Jibypds4g7AhzdRKY+kDoj51s5EXMwgyp5ddtlreDAsWefMdOx+agWqgm0H2XSZ/ueanHHVM89fnf5OJnlxa8Q==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/runtime": "^7.25.0", + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-source-map": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-source-map/-/metro-source-map-0.84.4.tgz", + "integrity": "sha512-jbWkPxIesVuo1IWkvezmMJld6iu8nD62GsrZiV6jP37AOdbo4OBq1FJ+qkOg8sV05wAHB//jAbziuW0SlJfW4g==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-symbolicate": "0.84.4", + "nullthrows": "^1.1.1", + "ob1": "0.84.4", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-symbolicate": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-symbolicate/-/metro-symbolicate-0.84.4.tgz", + "integrity": "sha512-OnfpacxUqGPZQ27t8qK9mFa7uqHIlVWeqRqkCbvMvreEBiamEeOn8krKtcwgP5M4cYDPwuSmCTopHMVthqG4zA==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6", + "invariant": "^2.2.4", + "metro-source-map": "0.84.4", + "nullthrows": "^1.1.1", + "source-map": "^0.5.6", + "vlq": "^1.0.0" + }, + "bin": { + "metro-symbolicate": "src/index.js" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-transform-plugins": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-transform-plugins/-/metro-transform-plugins-0.84.4.tgz", + "integrity": "sha512-kehr6HbAecqD0/a3xLXobELdPaAmRAl8bel0qagPF4vhZtux93nS8S4eq2kgKt6J2GnQpVjSoW1PXdst04mwow==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "flow-enums-runtime": "^0.0.6", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro-transform-worker": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/metro-transform-worker/-/metro-transform-worker-0.84.4.tgz", + "integrity": "sha512-W1IYMvvXTu4MxYr7d9h7CeG2vpIr3bmLLIavkPY4O1ilzDrvS8z/NEe6y+pC44Ff7raMXQgYSfdqDUwN/i39gg==", + "license": "MIT", + "peer": true, + "dependencies": { + "@babel/core": "^7.25.2", + "@babel/generator": "^7.29.1", + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "flow-enums-runtime": "^0.0.6", + "metro": "0.84.4", + "metro-babel-transformer": "0.84.4", + "metro-cache": "0.84.4", + "metro-cache-key": "0.84.4", + "metro-minify-terser": "0.84.4", + "metro-source-map": "0.84.4", + "metro-transform-plugins": "0.84.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, + "node_modules/metro/node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "license": "MIT", + "peer": true, + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/hermes-estree": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.35.0.tgz", + "integrity": "sha512-xVx5Opwy8Oo1I5yGpVRhCvWL/iV3M+ylksSKVNlxxD90cpDpR/AR1jLYqK8HWihm065a6UI3HeyAmYzwS8NOOg==", + "license": "MIT", + "peer": true + }, + "node_modules/metro/node_modules/hermes-parser": { + "version": "0.35.0", + "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.35.0.tgz", + "integrity": "sha512-9JLjeHxBx8T4CAsydZR49PNZUaix+WpQJwu9p2010lu+7Kwl6D/7wYFFJxoz+aXkaaClp9Zfg6W6/zVlSJORaA==", + "license": "MIT", + "peer": true, + "dependencies": { + "hermes-estree": "0.35.0" + } + }, + "node_modules/metro/node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro/node_modules/mime-types": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz", + "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==", + "license": "MIT", + "peer": true, + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/metro/node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/micromatch": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "devOptional": true, "license": "MIT", "dependencies": { "braces": "^3.0.3", @@ -25500,14 +30283,12 @@ "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true, "license": "MIT" }, "node_modules/node-releases": { "version": "2.0.44", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.44.tgz", "integrity": "sha512-5WUyunoPMsvvEhS8AxHtRzP+oA8UCkJ7YRxatWKjngndhDGLiqEVAQKWjFAiAiuL8zMRGzGSJxFnLetoa43qGQ==", - "dev": true, "license": "MIT" }, "node_modules/normalize-package-data": { @@ -25770,9 +30551,9 @@ } }, "node_modules/npm-package-json-lint/node_modules/semver": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.0.tgz", - "integrity": "sha512-AcM7dV/5ul4EekoQ29Agm5vri8JNqRyj39o0qpX6vDF2GZrtutZl5RwgD1XnZjiTAfncsJhMI48QQH3sN87YNA==", + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", "dev": true, "license": "ISC", "bin": { @@ -25857,6 +30638,13 @@ "url": "https://github.com/fb55/nth-check?sponsor=1" } }, + "node_modules/nullthrows": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/nullthrows/-/nullthrows-1.1.1.tgz", + "integrity": "sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==", + "license": "MIT", + "peer": true + }, "node_modules/nwsapi": { "version": "2.2.23", "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.23.tgz", @@ -25864,6 +30652,19 @@ "dev": true, "license": "MIT" }, + "node_modules/ob1": { + "version": "0.84.4", + "resolved": "https://registry.npmjs.org/ob1/-/ob1-0.84.4.tgz", + "integrity": "sha512-eJXMpz4aQHXF/YBB9ddqZDIS+ooO91hObo9FoW/xBkr54/zCwYYCDqT/O54vNo8kOkWs5Ou/y28NgdrV0edQNA==", + "license": "MIT", + "peer": true, + "dependencies": { + "flow-enums-runtime": "^0.0.6" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + } + }, "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", @@ -26026,7 +30827,6 @@ "version": "2.4.1", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "dev": true, "license": "MIT", "dependencies": { "ee-first": "1.1.1" @@ -26529,7 +31329,6 @@ "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -26595,7 +31394,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" @@ -26697,7 +31495,6 @@ "version": "2.3.2", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", - "devOptional": true, "license": "MIT", "engines": { "node": ">=8.6" @@ -27713,9 +32510,9 @@ } }, "node_modules/preact": { - "version": "10.29.1", - "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.1.tgz", - "integrity": "sha512-gQCLc/vWroE8lIpleXtdJhTFDogTdZG9AjMUpVkDf2iTCNwYNWA+u16dL41TqUDJO4gm2IgrcMv3uTpjd4Pwmg==", + "version": "10.29.2", + "resolved": "https://registry.npmjs.org/preact/-/preact-10.29.2.tgz", + "integrity": "sha512-7tNmwg/7mzzAoB/8kSg6Hl37JraAZw3Z3A0JSY7VXlZwo82Xn0G7wKbNNs2qoF4ZEEsQGTwDAroNdqKs1ofJxQ==", "license": "MIT", "funding": { "type": "opencollective", @@ -27766,7 +32563,6 @@ "version": "29.7.0", "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", @@ -27781,7 +32577,6 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, "license": "MIT", "engines": { "node": ">=10" @@ -27817,6 +32612,16 @@ "node": ">=0.4.0" } }, + "node_modules/promise": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/promise/-/promise-8.3.0.tgz", + "integrity": "sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==", + "license": "MIT", + "peer": true, + "dependencies": { + "asap": "~2.0.6" + } + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", @@ -28003,9 +32808,9 @@ "license": "MIT" }, "node_modules/qs": { - "version": "6.14.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", - "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", "dev": true, "license": "BSD-3-Clause", "dependencies": { @@ -28018,6 +32823,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/queue/-/queue-6.0.2.tgz", + "integrity": "sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==", + "license": "MIT", + "peer": true, + "dependencies": { + "inherits": "~2.0.3" + } + }, "node_modules/queue-microtask": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", @@ -28056,7 +32871,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.6" @@ -28170,6 +32984,39 @@ "url": "https://github.com/sponsors/kossnocorp" } }, + "node_modules/react-devtools-core": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-6.1.5.tgz", + "integrity": "sha512-ePrwPfxAnB+7hgnEr8vpKxL9cmnp7F322t8oqcPshbIQQhDKgFDW4tjhF2wjVbdXF9O/nyuy3sQWd9JGpiLPvA==", + "license": "MIT", + "peer": true, + "dependencies": { + "shell-quote": "^1.6.1", + "ws": "^7" + } + }, + "node_modules/react-devtools-core/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/react-dom": { "version": "18.3.1", "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", @@ -28219,6 +33066,132 @@ "dev": true, "license": "MIT" }, + "node_modules/react-native": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/react-native/-/react-native-0.86.0.tgz", + "integrity": "sha512-17ALh/dd6AO4pgOVmOO5Axll5PbErEo3XFyLokyzW6usyi+OShIEPwUW26wLPlhVifgSOIfECCH0WN+0IqtJ1w==", + "license": "MIT", + "peer": true, + "dependencies": { + "@react-native/assets-registry": "0.86.0", + "@react-native/codegen": "0.86.0", + "@react-native/community-cli-plugin": "0.86.0", + "@react-native/gradle-plugin": "0.86.0", + "@react-native/js-polyfills": "0.86.0", + "@react-native/normalize-colors": "0.86.0", + "@react-native/virtualized-lists": "0.86.0", + "abort-controller": "^3.0.0", + "anser": "^1.4.9", + "ansi-regex": "^5.0.0", + "babel-plugin-syntax-hermes-parser": "0.36.0", + "base64-js": "^1.5.1", + "commander": "^12.0.0", + "flow-enums-runtime": "^0.0.6", + "hermes-compiler": "250829098.0.14", + "invariant": "^2.2.4", + "memoize-one": "^5.0.0", + "metro-runtime": "^0.84.3", + "metro-source-map": "^0.84.3", + "nullthrows": "^1.1.1", + "pretty-format": "^29.7.0", + "promise": "^8.3.0", + "react-devtools-core": "^6.1.5", + "react-refresh": "^0.14.0", + "regenerator-runtime": "^0.13.2", + "scheduler": "0.27.0", + "semver": "^7.1.3", + "stacktrace-parser": "^0.1.10", + "tinyglobby": "^0.2.15", + "whatwg-fetch": "^3.0.0", + "ws": "^7.5.10", + "yargs": "^17.6.2" + }, + "bin": { + "react-native": "cli.js" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + }, + "peerDependencies": { + "@react-native/jest-preset": "0.86.0", + "@types/react": "^19.1.1", + "react": "^19.2.3" + }, + "peerDependenciesMeta": { + "@react-native/jest-preset": { + "optional": true + }, + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/@react-native/virtualized-lists": { + "version": "0.86.0", + "resolved": "https://registry.npmjs.org/@react-native/virtualized-lists/-/virtualized-lists-0.86.0.tgz", + "integrity": "sha512-4/ZLXdf/OSpPDVO0AsQ1SJdRIzt5t9BNQ46QwGgxvX7/cirYR5k8KXctNGGgW8lQo2gZChEfY2zFCZg9nM/jiw==", + "license": "MIT", + "peer": true, + "dependencies": { + "invariant": "^2.2.4", + "nullthrows": "^1.1.1" + }, + "engines": { + "node": "^20.19.4 || ^22.13.0 || ^24.3.0 || >= 25.0.0" + }, + "peerDependencies": { + "@types/react": "^19.2.0", + "react": "*", + "react-native": "0.86.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-native/node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT", + "peer": true + }, + "node_modules/react-native/node_modules/semver": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.4.tgz", + "integrity": "sha512-rUCObTnP32Q08R2uuIrt7r9PlEonuTmtuXYcW6s5kjdlj3xbnwe+21yXptAUYcMAABLkYYTtnmzb3w3EDZfueA==", + "license": "ISC", + "peer": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/react-native/node_modules/ws": { + "version": "7.5.11", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.11.tgz", + "integrity": "sha512-zS54Oen9bITtp7kp2XM3AydrCIq1D+HwJOuH+c+e4LfpL/lotP5osijd+UoMnxwAam1GN8R4KtLAyIrIcBNpiA==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, "node_modules/react-property": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/react-property/-/react-property-2.0.2.tgz", @@ -28229,7 +33202,6 @@ "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.10.0" @@ -28498,6 +33470,13 @@ "node": ">=4" } }, + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", + "license": "MIT", + "peer": true + }, "node_modules/regexp.prototype.flags": { "version": "1.5.4", "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", @@ -29602,7 +34581,6 @@ "version": "6.3.1", "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, "license": "ISC", "bin": { "semver": "bin/semver.js" @@ -29612,7 +34590,6 @@ "version": "0.19.2", "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", - "dev": true, "license": "MIT", "dependencies": { "debug": "2.6.9", @@ -29637,7 +34614,6 @@ "version": "2.6.9", "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, "license": "MIT", "dependencies": { "ms": "2.0.0" @@ -29647,14 +34623,12 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, "license": "MIT" }, "node_modules/send/node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true, "license": "MIT", "bin": { "mime": "cli.js" @@ -29674,6 +34648,16 @@ "upper-case-first": "^2.0.2" } }, + "node_modules/serialize-error": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz", + "integrity": "sha512-ghgmKt5o4Tly5yEG/UJp8qTd0AN7Xalw4XBtDEKP655B699qMEtra1WlXeE6WIvdEG481JvRxULKsInq/iNysw==", + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/serialize-javascript": { "version": "7.0.5", "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-7.0.5.tgz", @@ -29786,7 +34770,6 @@ "version": "1.16.3", "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", - "dev": true, "license": "MIT", "dependencies": { "encodeurl": "~2.0.0", @@ -29857,7 +34840,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true, "license": "ISC" }, "node_modules/sha.js": { @@ -29924,7 +34906,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" @@ -29937,17 +34918,15 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/shell-quote": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz", - "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==", - "dev": true, + "version": "1.8.4", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.4.tgz", + "integrity": "sha512-VsC6n6vz1ihYYyZZwX7YZSF5l5x36ca17OC+a69h94YqB7X6XLwf+5MOgynYir2SLFUbl8gIYvBo8K8RoNQ6bQ==", "license": "MIT", "engines": { "node": ">= 0.4" @@ -30707,14 +35686,35 @@ "version": "1.3.4", "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.3.4.tgz", "integrity": "sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==", - "dev": true, "license": "MIT" }, + "node_modules/stacktrace-parser": { + "version": "0.1.11", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.11.tgz", + "integrity": "sha512-WjlahMgHmCJpqzU8bIBy4qtsZdU9lRlcZE3Lvyej6t4tuOuv1vk57OW3MBrj6hXBFx/nNoC9MPMTcr5YA7NQbg==", + "license": "MIT", + "peer": true, + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "license": "(MIT OR CC0-1.0)", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/statuses": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" @@ -30788,7 +35788,6 @@ "version": "4.2.3", "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "devOptional": true, "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", @@ -30826,7 +35825,6 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "devOptional": true, "license": "MIT" }, "node_modules/string.prototype.includes": { @@ -30884,19 +35882,20 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", + "version": "1.2.11", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.11.tgz", + "integrity": "sha512-PwvK7BU+CMTJGYQCTZb5RWXIML92lftJLhQz1tBzgKiqGxJaMlBAa48POXaNAC2s4y8jr3EFqrkF9+44neS46w==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" + "es-abstract": "^1.24.2", + "es-object-atoms": "^1.1.2", + "has-property-descriptors": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -30906,16 +35905,16 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.10.tgz", + "integrity": "sha512-2+3aDAOmPTmuFwjDnmJG2ctEkQKVki7vOSqaxkv42Mowj1V6PnvuwFCRrR5lChUux1TBskPjfkeTOhqczDMxTw==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", + "call-bind": "^1.0.9", + "call-bound": "^1.0.4", "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" + "es-object-atoms": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -30946,7 +35945,6 @@ "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" @@ -31039,9 +36037,9 @@ } }, "node_modules/strnum": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.3.0.tgz", - "integrity": "sha512-ums3KNd42PGyx5xaoVTO1mjU1bH3NpY4vsrVlnv9PNGqQj8wd7rJ6nEypLrJ7z5vxK5RP0yMLo6J/Gsm62DI5Q==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-2.4.0.tgz", + "integrity": "sha512-sHrVyWWdq28RbhjuJdZsA1SnGRJV6NiXbk6AXBxDOsgAcA+lmpUZCYjOdLBxkXMwis6RRe7dlZt4VlIWFVzkmg==", "dev": true, "funding": [ { @@ -31049,7 +36047,10 @@ "url": "https://github.com/sponsors/NaturalIntelligence" } ], - "license": "MIT" + "license": "MIT", + "dependencies": { + "anynum": "^1.0.0" + } }, "node_modules/stubborn-fs": { "version": "2.0.0", @@ -31245,9 +36246,9 @@ } }, "node_modules/stylelint-scss/node_modules/postcss-selector-parser": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.1.tgz", - "integrity": "sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==", + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-7.1.4.tgz", + "integrity": "sha512-HeP7D2wyhkR+XaK6v4W8oRF62Dsz4flyuczALJp61GckGm42u1saSSJ/0auvcBqxs3jMRFEcPK34At/0JBKdOg==", "dev": true, "license": "MIT", "dependencies": { @@ -31518,7 +36519,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "devOptional": true, "license": "MIT", "dependencies": { "has-flag": "^4.0.0" @@ -31657,13 +36657,13 @@ } }, "node_modules/synckit": { - "version": "0.11.12", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.12.tgz", - "integrity": "sha512-Bh7QjT8/SuKUIfObSXNHNSK6WHo6J1tHCqJsuaFDP7gP0fkzSfTxI8y85JrppZ0h8l0maIgc2tfuZQ6/t3GtnQ==", + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.11.13.tgz", + "integrity": "sha512-eNRKgb3z66Yp3D2CixVujOUvXLFUTij/zVnV8KRyvFdQwpz7I5DS8UfRkTeLzb64u+dkzDSdelE24izu+zSSUg==", "dev": true, "license": "MIT", "dependencies": { - "@pkgr/core": "^0.2.9" + "@pkgr/core": "^0.3.6" }, "engines": { "node": "^14.18.0 || >=16.0.0" @@ -31784,7 +36784,6 @@ "version": "5.47.1", "resolved": "https://registry.npmjs.org/terser/-/terser-5.47.1.tgz", "integrity": "sha512-tPbLXTI6ohPASb/1YViL428oEHu6/qv1OxqYnfaonVCFHqx4+wCd95pHrQWsL5X4pl90CTyW9piSAsS2L0VoMw==", - "dev": true, "license": "BSD-2-Clause", "dependencies": { "@jridgewell/source-map": "^0.3.3", @@ -31895,14 +36894,12 @@ "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true, "license": "MIT" }, "node_modules/terser/node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" @@ -31912,7 +36909,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", @@ -31983,6 +36979,13 @@ "dev": true, "license": "MIT" }, + "node_modules/throat": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/throat/-/throat-5.0.0.tgz", + "integrity": "sha512-fcwX4mndzpLQKBS1DVYhGAcYaYt7vsHNIvQV+WXMvnow5cgjPphq5CaayLaGsjRdSCKZFNGt7/GYAuXaNOiYCA==", + "license": "MIT", + "peer": true + }, "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", @@ -31998,10 +37001,9 @@ "license": "MIT" }, "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "dev": true, + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "license": "MIT", "dependencies": { "fdir": "^6.5.0", @@ -32018,7 +37020,6 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, "license": "MIT", "engines": { "node": ">=12.0.0" @@ -32036,7 +37037,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, "license": "MIT", "engines": { "node": ">=12" @@ -32106,7 +37106,6 @@ "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true, "license": "BSD-3-Clause" }, "node_modules/to-buffer": { @@ -32135,7 +37134,6 @@ "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "devOptional": true, "license": "MIT", "dependencies": { "is-number": "^7.0.0" @@ -32148,7 +37146,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "dev": true, "license": "MIT", "engines": { "node": ">=0.6" @@ -32433,18 +37430,18 @@ } }, "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.8.tgz", + "integrity": "sha512-phPGCwqr2+Qo0fwniCE8e4pKnGu/yFb5nD5Y8bf0EEeiI5GklnACYA9GFy/DrAeRrKHXvHn+1SUsOWgJp6RO+g==", "dev": true, "license": "MIT", "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" + "call-bind": "^1.0.9", + "for-each": "^0.3.5", + "gopd": "^1.2.0", + "is-typed-array": "^1.1.15", + "possible-typed-array-names": "^1.1.0", + "reflect.getprototypeof": "^1.0.10" }, "engines": { "node": ">= 0.4" @@ -32482,16 +37479,16 @@ } }, "node_modules/typescript-eslint": { - "version": "8.59.3", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.59.3.tgz", - "integrity": "sha512-KgusgyDgG4LI8Ih/sWaCtZ06tckLAS5CvT5A4D1Q7bYVoAAyzwiZvE4BmwDHkhRVkvhRBepKeASoFzQetha7Fg==", + "version": "8.61.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.61.0.tgz", + "integrity": "sha512-8y31Rd0eGTrDKqhy6vT0HtzhN+YLjQizwX3aA3hPXP/ynSfnrBXcQY5IzsP9/DM7+klX4IUncZZjkchP0z+rUw==", "dev": true, "license": "MIT", "dependencies": { - "@typescript-eslint/eslint-plugin": "8.59.3", - "@typescript-eslint/parser": "8.59.3", - "@typescript-eslint/typescript-estree": "8.59.3", - "@typescript-eslint/utils": "8.59.3" + "@typescript-eslint/eslint-plugin": "8.61.0", + "@typescript-eslint/parser": "8.61.0", + "@typescript-eslint/typescript-estree": "8.61.0", + "@typescript-eslint/utils": "8.61.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -32546,7 +37543,6 @@ "version": "6.21.0", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true, "license": "MIT" }, "node_modules/unicode-canonical-property-names-ecmascript": { @@ -32625,52 +37621,53 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.8" } }, "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.12.2.tgz", + "integrity": "sha512-dmlRxBJJayXjqTwC+JtF1HhJmgf3ftQ3YejFcZrf4+KKtJv0qDsK1pjqaaVjG7wJ5NJ6UVP1OqRMQ71Z4C3rxQ==", "dev": true, "hasInstallScript": true, "license": "MIT", "dependencies": { - "napi-postinstall": "^0.3.0" + "napi-postinstall": "^0.3.4" }, "funding": { "url": "https://opencollective.com/unrs-resolver" }, "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" + "@unrs/resolver-binding-android-arm-eabi": "1.12.2", + "@unrs/resolver-binding-android-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-arm64": "1.12.2", + "@unrs/resolver-binding-darwin-x64": "1.12.2", + "@unrs/resolver-binding-freebsd-x64": "1.12.2", + "@unrs/resolver-binding-linux-arm-gnueabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm-musleabihf": "1.12.2", + "@unrs/resolver-binding-linux-arm64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-arm64-musl": "1.12.2", + "@unrs/resolver-binding-linux-loong64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-loong64-musl": "1.12.2", + "@unrs/resolver-binding-linux-ppc64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-riscv64-musl": "1.12.2", + "@unrs/resolver-binding-linux-s390x-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-gnu": "1.12.2", + "@unrs/resolver-binding-linux-x64-musl": "1.12.2", + "@unrs/resolver-binding-openharmony-arm64": "1.12.2", + "@unrs/resolver-binding-wasm32-wasi": "1.12.2", + "@unrs/resolver-binding-win32-arm64-msvc": "1.12.2", + "@unrs/resolver-binding-win32-ia32-msvc": "1.12.2", + "@unrs/resolver-binding-win32-x64-msvc": "1.12.2" } }, "node_modules/update-browserslist-db": { "version": "1.2.3", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, "funding": [ { "type": "opencollective", @@ -32878,7 +37875,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "dev": true, "license": "MIT", "engines": { "node": ">= 0.4.0" @@ -32961,6 +37957,13 @@ "node": ">= 0.8" } }, + "node_modules/vlq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/vlq/-/vlq-1.0.1.tgz", + "integrity": "sha512-gQpnTgkubC6hQgdIcRdYGDSDc+SaujOdyesZQMv6JlfQee/9Mp0Qhnys6WxDWvQnL5WZdT7o2Ul187aSt0Rq+w==", + "license": "MIT", + "peer": true + }, "node_modules/w3c-xmlserializer": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-5.0.0.tgz", @@ -32998,7 +38001,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", - "dev": true, "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" @@ -33381,16 +38383,6 @@ "fsevents": "~2.3.2" } }, - "node_modules/webpack-dev-server/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, "node_modules/webpack-dev-server/node_modules/define-lazy-prop": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", @@ -33404,53 +38396,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/express": { - "version": "4.22.2", - "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", - "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "~1.20.5", - "content-disposition": "~0.5.4", - "content-type": "~1.0.4", - "cookie": "~0.7.1", - "cookie-signature": "~1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~2.0.0", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.3.1", - "fresh": "~0.5.2", - "http-errors": "~2.0.0", - "merge-descriptors": "1.0.3", - "methods": "~1.1.2", - "on-finished": "~2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "~0.1.12", - "proxy-addr": "~2.0.7", - "qs": "~6.15.1", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "~0.19.0", - "serve-static": "~1.16.2", - "setprototypeof": "1.2.0", - "statuses": "~2.0.1", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.10.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/webpack-dev-server/node_modules/glob-parent": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", @@ -33474,13 +38419,6 @@ "node": ">= 10" } }, - "node_modules/webpack-dev-server/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true, - "license": "MIT" - }, "node_modules/webpack-dev-server/node_modules/open": { "version": "10.2.0", "resolved": "https://registry.npmjs.org/open/-/open-10.2.0.tgz", @@ -33500,29 +38438,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/webpack-dev-server/node_modules/path-to-regexp": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", - "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", - "dev": true, - "license": "MIT" - }, - "node_modules/webpack-dev-server/node_modules/qs": { - "version": "6.15.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.1.tgz", - "integrity": "sha512-6YHEFRL9mfgcAvql/XhwTvf5jKcOiiupt2FiJxHkiX1z4j7WL8J/jRHYLluORvc1XxB5rV20KoeK00gVJamspg==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/webpack-dev-server/node_modules/readdirp": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", @@ -33701,6 +38616,13 @@ "node": ">=0.10.0" } }, + "node_modules/whatwg-fetch": { + "version": "3.6.20", + "resolved": "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-3.6.20.tgz", + "integrity": "sha512-EqhiFU6daOA8kpjOWTL0olhVOF3i7OrFzSYiGsEMB8GcXS+RrzauAERX65xMeNWVqxA6HXH2m69Z9LaKKdisfg==", + "license": "MIT", + "peer": true + }, "node_modules/whatwg-mimetype": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-4.0.0.tgz", @@ -33736,7 +38658,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "license": "ISC", "dependencies": { "isexe": "^2.0.0" @@ -33829,14 +38750,14 @@ "license": "ISC" }, "node_modules/which-typed-array": { - "version": "1.1.20", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.20.tgz", - "integrity": "sha512-LYfpUkmqwl0h9A2HL09Mms427Q1RZWuOHsukfVcKRq9q95iQxdw0ix1JQrqbcDR9PH1QDwf5Qo8OZb5lksZ8Xg==", + "version": "1.1.22", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.22.tgz", + "integrity": "sha512-fvO4ExWMFsqyhG3AiPAObMuY1lxaqgYcxbc49CNdWDDECOJNgQyvsOWVwbZc+qf3rzRtxojBK+CMEv0Ld5CYpw==", "dev": true, "license": "MIT", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", + "call-bind": "^1.0.9", "call-bound": "^1.0.4", "for-each": "^0.3.5", "get-proto": "^1.0.1", @@ -33930,9 +38851,9 @@ "license": "ISC" }, "node_modules/ws": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", - "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", + "version": "8.21.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.21.0.tgz", + "integrity": "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==", "dev": true, "license": "MIT", "engines": { @@ -34087,7 +39008,6 @@ "version": "5.0.8", "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, "license": "ISC", "engines": { "node": ">=10" @@ -34097,14 +39017,12 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, "license": "ISC" }, "node_modules/yaml": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", - "dev": true, "license": "ISC", "bin": { "yaml": "bin.mjs" @@ -34120,7 +39038,6 @@ "version": "17.7.2", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, "license": "MIT", "dependencies": { "cliui": "^8.0.1", @@ -34139,7 +39056,6 @@ "version": "21.1.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", - "dev": true, "license": "ISC", "engines": { "node": ">=12" diff --git a/package.json b/package.json index 42039f0b..90f019ee 100644 --- a/package.json +++ b/package.json @@ -46,17 +46,17 @@ "wp-env:test": "wp-env --config=.wp-env.test.json" }, "devDependencies": { - "@playwright/test": "^1.59.1", - "@types/react": "^18.3.28", + "@playwright/test": "^1.60.0", + "@types/react": "^18.3.31", "@types/react-dom": "^18.3.7", "@types/wordpress__block-editor": "^15.0.6", "@types/wordpress__edit-post": "^8.4.2", - "@wordpress/build": "^0.14.0", - "@wordpress/e2e-test-utils-playwright": "^1.44.0", - "@wordpress/env": "^11.4.0", - "@wordpress/prettier-config": "^4.44.0", - "@wordpress/scripts": "32.2.0", - "concurrently": "^9.2.1", + "@wordpress/build": "^0.16.0", + "@wordpress/e2e-test-utils-playwright": "1.46.0", + "@wordpress/env": "11.4.0", + "@wordpress/prettier-config": "^4.48.0", + "@wordpress/scripts": "32.3.0", + "concurrently": "^10.0.3", "filenamify": "^7.0.1", "prettier": "npm:wp-prettier@^3", "typescript": "^5.9.3", From caaca2dbbaa6b99de37f5aeed83ea8ee24384fc0 Mon Sep 17 00:00:00 2001 From: Anubhav Anand <76263415+i-anubhav-anand@users.noreply.github.com> Date: Sat, 13 Jun 2026 01:57:33 +0530 Subject: [PATCH 39/41] Use a neutral icon for disabled features and experiments in the AI Status widget (#720) Changed - Use a neutral icon for disabled features and experiments in the AI Status widget. Unlinked contributors: i-anubhav-anand. Co-authored-by: ankitguptaindia Co-authored-by: dkotter --- includes/Admin/Dashboard/AI_Status_Widget.php | 12 +- .../Dashboard/AI_Status_WidgetTest.php | 112 ++++++++++++++++++ 2 files changed, 120 insertions(+), 4 deletions(-) diff --git a/includes/Admin/Dashboard/AI_Status_Widget.php b/includes/Admin/Dashboard/AI_Status_Widget.php index 9417e0d3..5bee60b6 100644 --- a/includes/Admin/Dashboard/AI_Status_Widget.php +++ b/includes/Admin/Dashboard/AI_Status_Widget.php @@ -160,9 +160,11 @@ private function render_status(): void {
  • is_enabled() ) : ?> - + + - + + get_label() ); ?>
  • @@ -179,9 +181,11 @@ private function render_status(): void {
  • is_enabled() ) : ?> - + + - + + get_label() ); ?>
  • diff --git a/tests/Integration/Includes/Dashboard/AI_Status_WidgetTest.php b/tests/Integration/Includes/Dashboard/AI_Status_WidgetTest.php index 2333f5d6..9b94db89 100644 --- a/tests/Integration/Includes/Dashboard/AI_Status_WidgetTest.php +++ b/tests/Integration/Includes/Dashboard/AI_Status_WidgetTest.php @@ -90,6 +90,7 @@ public function tearDown(): void { delete_option( 'wpai_feature_test-feature-a_enabled' ); delete_option( 'wpai_feature_test-feature-b_enabled' ); remove_all_filters( 'wpai_feature_test-feature-a_enabled' ); + remove_all_filters( 'wpai_has_ai_credentials' ); parent::tearDown(); } @@ -301,6 +302,117 @@ public function test_render_with_multiple_features_in_registry() { ); } + /** + * Renders the widget in full status mode. + * + * Enables credentials (via filter), the global toggle, and the + * individual setting for feature A, leaving feature B disabled. + * + * @since x.x.x + * + * @return string The rendered widget output. + */ + private function render_status_view(): string { + add_filter( 'wpai_has_ai_credentials', '__return_true' ); + update_option( Settings_Registration::GLOBAL_OPTION, true ); + update_option( 'wpai_feature_test-feature-a_enabled', true ); + update_option( 'wpai_feature_test-feature-b_enabled', false ); + + $registry = new Registry(); + $registry->register_feature( new Status_Test_Feature_A() ); + $registry->register_feature( new Status_Test_Feature_B() ); + + $widget = new AI_Status_Widget( $registry ); + + ob_start(); + $widget->render(); + + return ob_get_clean(); + } + + /** + * Tests that the status view renders the three-column layout. + * + * @since x.x.x + */ + public function test_status_view_renders_columns() { + $output = $this->render_status_view(); + + $this->assertStringContainsString( + 'ai-dashboard-status__columns', + $output, + 'Should render the status view when setup is complete' + ); + } + + /** + * Tests that an enabled experiment shows a success icon. + * + * @since x.x.x + */ + public function test_status_view_shows_success_icon_for_enabled_experiment() { + $output = $this->render_status_view(); + + $this->assertMatchesRegularExpression( + '/dashicons-yes-alt.*First Feature/s', + $output, + 'Enabled experiments should show a success icon' + ); + } + + /** + * Tests that a disabled experiment shows a neutral icon, not an error icon. + * + * Disabled experiments are an expected state, not a problem, so they + * should not be rendered with the red error cross. + * + * @since x.x.x + */ + public function test_status_view_shows_neutral_icon_for_disabled_experiment() { + $output = $this->render_status_view(); + + $this->assertMatchesRegularExpression( + '/ai-dashboard-status__icon--neutral.*Second Feature/s', + $output, + 'Disabled experiments should show a neutral icon' + ); + + // The Experiments column is rendered last, so everything after the + // section title belongs to it. Disabled experiments must not use + // the error icon there. + $experiments_section = substr( $output, (int) strpos( $output, 'Experiments' ) ); + $this->assertStringNotContainsString( + 'ai-dashboard-status__icon--error', + $experiments_section, + 'Disabled experiments should not show the error icon' + ); + $this->assertStringNotContainsString( + 'dashicons-no', + $experiments_section, + 'Disabled experiments should not use the dashicons-no icon' + ); + } + + /** + * Tests that feature state is exposed to screen readers in the status view. + * + * @since x.x.x + */ + public function test_status_view_exposes_state_to_screen_readers() { + $output = $this->render_status_view(); + + $this->assertMatchesRegularExpression( + '/screen-reader-text">[^<]*Enabled:/s', + $output, + 'Enabled state should be announced to screen readers' + ); + $this->assertMatchesRegularExpression( + '/screen-reader-text">[^<]*Disabled:/s', + $output, + 'Disabled state should be announced to screen readers' + ); + } + /** * Tests that the widget renders without errors when the registry is empty. * From a773d29a07f7e18f252a7e8603139cdc6229c980 Mon Sep 17 00:00:00 2001 From: i-anubhav-anand Date: Tue, 16 Jun 2026 01:41:48 +0530 Subject: [PATCH 40/41] Standardize button sizing by adding __next40pxDefaultSize across all experiments Several Button components throughout the plugin were still rendering at the deprecated 36px height instead of the 40px standard. This applies the __next40pxDefaultSize prop to all primary/secondary/tertiary text buttons that were missing it, and enforces the prop via ESLint so new code stays consistent. Icon-only, compact, small, link, and toolbar buttons are intentionally excluded per the upstream Gutenberg convention. Fixes #701 --- eslint.config.mjs | 1 + .../components/SettingsPanel.tsx | 3 +++ .../components/AltTextControls.tsx | 5 +++++ .../components/MediaEditorAltTextControl.tsx | 1 + .../components/PendingRequestsCard.tsx | 2 ++ .../components/ContentResizingToolbar.tsx | 2 ++ .../components/EditorialUpdatesPlugin.tsx | 1 + .../components/ExcerptGeneration.tsx | 1 + .../components/MetaDescriptionModal.tsx | 4 ++++ .../components/MetaDescriptionPanel.tsx | 1 + .../components/GenerateImageInlineModal.tsx | 9 ++++++++- .../components/GenerateImageStandalone.tsx | 5 +++++ .../components/MediaLibraryImageEditor.tsx | 20 ++++++++++++++++++- .../components/shared/index.tsx | 3 +++ 14 files changed, 56 insertions(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 22ea8ffc..7d14c73a 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -42,6 +42,7 @@ export default [ '@wordpress/data-no-store-string-literals': 'error', '@wordpress/wp-global-usage': 'error', '@wordpress/react-no-unsafe-timeout': 'error', + '@wordpress/components-no-missing-40px-size-prop': 'error', // Override WP defaults. '@wordpress/i18n-text-domain': [ diff --git a/src/admin/ai-request-logs/components/SettingsPanel.tsx b/src/admin/ai-request-logs/components/SettingsPanel.tsx index 17d66100..e270fa81 100644 --- a/src/admin/ai-request-logs/components/SettingsPanel.tsx +++ b/src/admin/ai-request-logs/components/SettingsPanel.tsx @@ -69,6 +69,7 @@ const SettingsPanel: React.FC< SettingsPanelProps > = ( { disabled={ purging } isBusy={ purging } accessibleWhenDisabled + __next40pxDefaultSize > { __( 'Yes, Purge All', 'ai' ) } @@ -81,6 +82,7 @@ const SettingsPanel: React.FC< SettingsPanelProps > = ( { } } disabled={ purging } accessibleWhenDisabled + __next40pxDefaultSize > { __( 'Cancel', 'ai' ) } @@ -93,6 +95,7 @@ const SettingsPanel: React.FC< SettingsPanelProps > = ( { onClick={ handlePurge } disabled={ purging || ! hasLogs } accessibleWhenDisabled + __next40pxDefaultSize > { __( 'Purge All Logs', 'ai' ) } diff --git a/src/experiments/alt-text-generation/components/AltTextControls.tsx b/src/experiments/alt-text-generation/components/AltTextControls.tsx index 707a6a85..37572721 100644 --- a/src/experiments/alt-text-generation/components/AltTextControls.tsx +++ b/src/experiments/alt-text-generation/components/AltTextControls.tsx @@ -223,12 +223,14 @@ export function AltTextControls( { ref={ applyButtonRef } variant="primary" onClick={ handleApply } + __next40pxDefaultSize > { __( 'Apply', 'ai' ) } @@ -251,12 +253,14 @@ export function AltTextControls( { ref={ applyButtonRef } variant="primary" onClick={ handleApply } + __next40pxDefaultSize > { __( 'Apply', 'ai' ) } @@ -275,6 +279,7 @@ export function AltTextControls( { style={ { width: '100%', justifyContent: 'center' } } isBusy={ isGenerating } icon={ update } + __next40pxDefaultSize > { getButtonLabel( !! hasExistingAlt, isGenerating ) } diff --git a/src/experiments/alt-text-generation/components/MediaEditorAltTextControl.tsx b/src/experiments/alt-text-generation/components/MediaEditorAltTextControl.tsx index 10c98926..13e25af3 100644 --- a/src/experiments/alt-text-generation/components/MediaEditorAltTextControl.tsx +++ b/src/experiments/alt-text-generation/components/MediaEditorAltTextControl.tsx @@ -121,6 +121,7 @@ export function MediaEditorAltTextControl( { } } isBusy={ isGenerating } icon={ update } + __next40pxDefaultSize > { getButtonLabel( hasExistingAlt, isGenerating ) } diff --git a/src/experiments/connector-approval/components/PendingRequestsCard.tsx b/src/experiments/connector-approval/components/PendingRequestsCard.tsx index 7addd633..33306ea5 100644 --- a/src/experiments/connector-approval/components/PendingRequestsCard.tsx +++ b/src/experiments/connector-approval/components/PendingRequestsCard.tsx @@ -93,6 +93,7 @@ const PendingRequestsCard = ( { entry.connector_id ) } + __next40pxDefaultSize > { __( 'Approve', 'ai' ) } @@ -105,6 +106,7 @@ const PendingRequestsCard = ( { onClick={ () => onDismiss( entry.key ) } + __next40pxDefaultSize > { __( 'Dismiss', 'ai' ) } diff --git a/src/experiments/content-resizing/components/ContentResizingToolbar.tsx b/src/experiments/content-resizing/components/ContentResizingToolbar.tsx index 606ead96..47bddaf0 100644 --- a/src/experiments/content-resizing/components/ContentResizingToolbar.tsx +++ b/src/experiments/content-resizing/components/ContentResizingToolbar.tsx @@ -342,6 +342,7 @@ export default function ContentResizingToolbar( { disabled={ isLoading || suggestedContent === null } accessibleWhenDisabled ref={ acceptButtonRef } + __next40pxDefaultSize > { __( 'Accept', 'ai' ) } @@ -351,6 +352,7 @@ export default function ContentResizingToolbar( { disabled={ isLoading || lastAction === null } isBusy={ isLoading } accessibleWhenDisabled + __next40pxDefaultSize > { isLoading ? __( 'Generating…', 'ai' ) diff --git a/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx b/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx index 065682cd..b83092cd 100644 --- a/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx +++ b/src/experiments/editorial-updates/components/EditorialUpdatesPlugin.tsx @@ -63,6 +63,7 @@ export default function EditorialUpdatesPlugin() { width: '100%', justifyContent: 'center', } } + __next40pxDefaultSize > { buttonLabel } diff --git a/src/experiments/excerpt-generation/components/ExcerptGeneration.tsx b/src/experiments/excerpt-generation/components/ExcerptGeneration.tsx index 36897b29..0a75d772 100644 --- a/src/experiments/excerpt-generation/components/ExcerptGeneration.tsx +++ b/src/experiments/excerpt-generation/components/ExcerptGeneration.tsx @@ -47,6 +47,7 @@ export default function ExcerptGeneration(): React.JSX.Element | null { disabled={ isGenerating } accessibleWhenDisabled isBusy={ isGenerating } + __next40pxDefaultSize > { buttonLabel } diff --git a/src/experiments/meta-description/components/MetaDescriptionModal.tsx b/src/experiments/meta-description/components/MetaDescriptionModal.tsx index 3b243935..83c21513 100644 --- a/src/experiments/meta-description/components/MetaDescriptionModal.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionModal.tsx @@ -66,6 +66,7 @@ function CopyButton( { variant="tertiary" disabled={ isCopyDisabled } accessibleWhenDisabled + __next40pxDefaultSize > { showCopyConfirmation ? __( 'Copied!', 'ai' ) @@ -150,6 +151,7 @@ export default function MetaDescriptionModal( { ( !! editableText && editableText.trim().length === 0 ) } + __next40pxDefaultSize > { __( 'Apply', 'ai' ) } @@ -159,6 +161,7 @@ export default function MetaDescriptionModal( { disabled={ isGenerating } isBusy={ isGenerating } accessibleWhenDisabled + __next40pxDefaultSize > { generateButtonLabel } @@ -173,6 +176,7 @@ export default function MetaDescriptionModal( { isDestructive onClick={ onClose } className="ai-meta-description-modal__cancel" + __next40pxDefaultSize > { __( 'Cancel', 'ai' ) } diff --git a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx index dbb43e1f..4140fbc5 100644 --- a/src/experiments/meta-description/components/MetaDescriptionPanel.tsx +++ b/src/experiments/meta-description/components/MetaDescriptionPanel.tsx @@ -127,6 +127,7 @@ export default function MetaDescriptionPanel(): React.JSX.Element { isBusy={ isGenerating } ref={ focusGenerateButtonOnEmptyState } accessibleWhenDisabled + __next40pxDefaultSize > { isGenerating ? __( 'Generating…', 'ai' ) diff --git a/src/features/image-generation/components/GenerateImageInlineModal.tsx b/src/features/image-generation/components/GenerateImageInlineModal.tsx index dac2f2f5..b965c8fb 100644 --- a/src/features/image-generation/components/GenerateImageInlineModal.tsx +++ b/src/features/image-generation/components/GenerateImageInlineModal.tsx @@ -180,7 +180,11 @@ export function GenerateImageInlineModal( { className="ai-image-generation__actions" ref={ focusOnMountRef } > - @@ -202,6 +207,7 @@ export function GenerateImageInlineModal( { activeEntry?.referenceHistoryIndex ) } + __next40pxDefaultSize > { __( 'Generate Another Image', 'ai' ) } @@ -212,6 +218,7 @@ export function GenerateImageInlineModal( { setState( 'idle' ); setError( null ); } } + __next40pxDefaultSize > { __( 'Edit Prompt', 'ai' ) } diff --git a/src/features/image-generation/components/GenerateImageStandalone.tsx b/src/features/image-generation/components/GenerateImageStandalone.tsx index 4d8af3f0..eee6a415 100644 --- a/src/features/image-generation/components/GenerateImageStandalone.tsx +++ b/src/features/image-generation/components/GenerateImageStandalone.tsx @@ -167,6 +167,7 @@ export function GenerateImageStandalone() { onClick={ handleSaveImage } disabled={ savedHistoryIndices.has( historyIndex ) } accessibleWhenDisabled + __next40pxDefaultSize > { __( 'Save to Media Library', 'ai' ) } @@ -176,6 +177,7 @@ export function GenerateImageStandalone() { setRefinePrompt( '' ); setState( 'refining' ); } } + __next40pxDefaultSize > { __( 'Refine Image', 'ai' ) } @@ -189,6 +191,7 @@ export function GenerateImageStandalone() { activeEntry?.referenceHistoryIndex ) } + __next40pxDefaultSize > { __( 'Generate Another Image', 'ai' ) } @@ -199,6 +202,7 @@ export function GenerateImageStandalone() { setState( 'idle' ); setError( null ); } } + __next40pxDefaultSize > { __( 'Edit Prompt', 'ai' ) } @@ -214,6 +218,7 @@ export function GenerateImageStandalone() { setError( null ); } } style={ { marginInlineStart: 'auto' } } + __next40pxDefaultSize > { __( 'Cancel', 'ai' ) } diff --git a/src/features/image-generation/components/MediaLibraryImageEditor.tsx b/src/features/image-generation/components/MediaLibraryImageEditor.tsx index 3a9e16df..9a5e298a 100644 --- a/src/features/image-generation/components/MediaLibraryImageEditor.tsx +++ b/src/features/image-generation/components/MediaLibraryImageEditor.tsx @@ -386,6 +386,7 @@ export function MediaLibraryImageEditor( { onClick={ () => setShowPrompt( ( show ) => ! show ) } + __next40pxDefaultSize > { __( 'Refine Image', 'ai' ) } @@ -408,6 +409,7 @@ export function MediaLibraryImageEditor( { : undefined; handleGenerate( preset.prompt, reference ); } } + __next40pxDefaultSize > { preset.label } @@ -429,6 +431,7 @@ export function MediaLibraryImageEditor( { variant="primary" disabled={ ! prompt.trim() } onClick={ () => handleGenerate() } + __next40pxDefaultSize > { __( 'Generate', 'ai' ) } @@ -466,12 +469,14 @@ export function MediaLibraryImageEditor( { @@ -496,6 +501,7 @@ export function MediaLibraryImageEditor( { ! replacePrompt.trim() ) } onClick={ handleMaskApply } + __next40pxDefaultSize > { maskMode === 'remove' ? __( 'Remove', 'ai' ) @@ -509,6 +515,7 @@ export function MediaLibraryImageEditor( { setMaskMode( null ); setMaskingSource( null ); } } + __next40pxDefaultSize > { __( 'Cancel', 'ai' ) } @@ -568,6 +575,7 @@ export function MediaLibraryImageEditor( { historyIndex ); } } + __next40pxDefaultSize > { preset.label } @@ -638,7 +646,11 @@ export function MediaLibraryImageEditor( {

    ) }
    - @@ -661,6 +674,7 @@ export function MediaLibraryImageEditor( { activeEntry?.referenceHistoryIndex ) } + __next40pxDefaultSize > { __( 'Generate Another Image', 'ai' ) } @@ -668,6 +682,7 @@ export function MediaLibraryImageEditor( { variant="tertiary" isDestructive onClick={ handleReset } + __next40pxDefaultSize > { __( 'Start over', 'ai' ) } @@ -710,6 +725,7 @@ export function MediaLibraryImageEditor( { historyIndex ); } } + __next40pxDefaultSize > { preset.label } @@ -736,6 +752,7 @@ export function MediaLibraryImageEditor( { historyIndex ) } + __next40pxDefaultSize > { __( 'Apply', 'ai' ) } @@ -745,6 +762,7 @@ export function MediaLibraryImageEditor( { setError( null ); setState( 'preview' ); } } + __next40pxDefaultSize > { __( 'Cancel', 'ai' ) } diff --git a/src/features/image-generation/components/shared/index.tsx b/src/features/image-generation/components/shared/index.tsx index dcc64d8c..94ff61d9 100644 --- a/src/features/image-generation/components/shared/index.tsx +++ b/src/features/image-generation/components/shared/index.tsx @@ -127,6 +127,7 @@ export function PromptForm( { variant="primary" disabled={ ! prompt.trim() } onClick={ onGenerate } + __next40pxDefaultSize > { __( 'Generate', 'ai' ) } @@ -291,6 +292,7 @@ export function RefinePromptForm( { variant="primary" disabled={ ! refinePrompt.trim() } onClick={ onRefine } + __next40pxDefaultSize > { __( 'Refine', 'ai' ) } @@ -298,6 +300,7 @@ export function RefinePromptForm( { variant="tertiary" isDestructive={ cancelIsDestructive } onClick={ onCancel } + __next40pxDefaultSize > { __( 'Cancel Refinement', 'ai' ) } From 724a34f028f54452f6ebeac69ecc2469121c9e57 Mon Sep 17 00:00:00 2001 From: i-anubhav-anand Date: Tue, 16 Jun 2026 02:03:40 +0530 Subject: [PATCH 41/41] Add missing __next40pxDefaultSize to remaining Buttons caught by ESLint rule Pill accept/dismiss, title modal Regenerate/Insert, and image history nav arrows in both MediaLibraryImageEditor and shared/ImageHistoryNav were flagged by the @wordpress/components-no-missing-40px-size-prop rule added in this branch but not yet updated. --- .../content-classification/components/SuggestionPanel.tsx | 2 ++ src/experiments/title-generation/components/TitleToolbar.tsx | 2 ++ .../image-generation/components/MediaLibraryImageEditor.tsx | 2 ++ src/features/image-generation/components/shared/index.tsx | 2 ++ 4 files changed, 8 insertions(+) diff --git a/src/experiments/content-classification/components/SuggestionPanel.tsx b/src/experiments/content-classification/components/SuggestionPanel.tsx index 26c8790f..5ece4537 100644 --- a/src/experiments/content-classification/components/SuggestionPanel.tsx +++ b/src/experiments/content-classification/components/SuggestionPanel.tsx @@ -106,6 +106,7 @@ export default function SuggestionPanel( { @@ -291,6 +292,7 @@ export default function TitleToolbar( { variant="primary" onClick={ handleInsert } disabled={ isRegenerating || ! generatedTitle } + __next40pxDefaultSize > { __( 'Insert', 'ai' ) } diff --git a/src/features/image-generation/components/MediaLibraryImageEditor.tsx b/src/features/image-generation/components/MediaLibraryImageEditor.tsx index 9a5e298a..946e5c79 100644 --- a/src/features/image-generation/components/MediaLibraryImageEditor.tsx +++ b/src/features/image-generation/components/MediaLibraryImageEditor.tsx @@ -599,6 +599,7 @@ export function MediaLibraryImageEditor( { disabled={ ! canGoBack } onClick={ goBack } label={ __( 'Previous version', 'ai' ) } + __next40pxDefaultSize />
    @@ -633,6 +634,7 @@ export function MediaLibraryImageEditor( { disabled={ ! canGoForward } onClick={ goForward } label={ __( 'Next version', 'ai' ) } + __next40pxDefaultSize />
    { history.length > 1 && ( diff --git a/src/features/image-generation/components/shared/index.tsx b/src/features/image-generation/components/shared/index.tsx index 94ff61d9..735d2504 100644 --- a/src/features/image-generation/components/shared/index.tsx +++ b/src/features/image-generation/components/shared/index.tsx @@ -185,6 +185,7 @@ export function ImageHistoryNav( { onClick={ onGoBack } label={ __( 'Previous version', 'ai' ) } accessibleWhenDisabled + __next40pxDefaultSize />
    { showComparison ? ( @@ -227,6 +228,7 @@ export function ImageHistoryNav( { onClick={ onGoForward } label={ __( 'Next version', 'ai' ) } accessibleWhenDisabled + __next40pxDefaultSize />
    { historyLength > 1 && (