diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d4e5bb131cb3..d9862d22ff06 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5767,6 +5767,9 @@ importers: '@automattic/viewport': specifier: 1.0.0 version: 1.0.0 + '@date-fns/tz': + specifier: 1.4.1 + version: 1.4.1 '@react-spring/web': specifier: 10.1.1 version: 10.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -5793,7 +5796,7 @@ importers: version: 11.0.0 '@wordpress/block-editor': specifier: 16.0.0 - version: 16.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': specifier: 15.24.0 version: 15.24.0(@types/react@18.3.28)(react@18.3.1) @@ -5802,7 +5805,7 @@ importers: version: 6.51.0 '@wordpress/commands': specifier: 1.51.0 - version: 1.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 8.4.0 version: 8.4.0(@types/react@18.3.28)(react@18.3.1) @@ -5814,7 +5817,7 @@ importers: version: 5.51.0 '@wordpress/edit-post': specifier: 8.51.0 - version: 8.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 8.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 8.3.0 version: 8.3.0 @@ -5829,7 +5832,7 @@ importers: version: 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/plugins': specifier: 7.51.0 - version: 7.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': specifier: 4.51.0 version: 4.51.0(@types/react@18.3.28)(react@18.3.1) @@ -5841,7 +5844,7 @@ importers: version: 1.1.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/ui': specifier: 0.19.0 - version: 0.19.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 0.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': specifier: 4.51.0 version: 4.51.0 @@ -5872,6 +5875,9 @@ importers: crypto-js: specifier: 4.2.0 version: 4.2.0 + date-fns: + specifier: 4.1.0 + version: 4.1.0 debounce: specifier: 2.2.0 version: 2.2.0 @@ -6007,7 +6013,7 @@ importers: version: 18.3.28 '@types/wordpress__block-editor': specifier: 15.0.6 - version: 15.0.6(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 15.0.6(@date-fns/tz@1.4.1)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@typescript/native-preview': specifier: 7.0.0-dev.20260707.2 version: 7.0.0-dev.20260707.2 @@ -6022,16 +6028,16 @@ importers: version: 5.51.0 '@wordpress/components': specifier: 37.0.0 - version: 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/core-data': specifier: 7.51.0 - version: 7.51.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/dom-ready': specifier: 4.51.0 version: 4.51.0 '@wordpress/editor': specifier: 14.51.0 - version: 14.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/escape-html': specifier: 3.51.0 version: 3.51.0 @@ -6040,7 +6046,7 @@ importers: version: 4.51.0(@types/react@18.3.28) '@wordpress/notices': specifier: 5.51.0 - version: 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/token-list': specifier: 3.51.0 version: 3.51.0 @@ -22924,11 +22930,11 @@ snapshots: '@types/use-sync-external-store@0.0.6': {} - '@types/wordpress__block-editor@15.0.6(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@types/wordpress__block-editor@15.0.6(@date-fns/tz@1.4.1)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@types/react': 18.3.28 '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/element': 8.3.0 '@wordpress/global-styles-engine': 1.19.0(@types/react@18.3.28)(react@18.3.1) @@ -23615,6 +23621,30 @@ snapshots: '@wordpress/dom-ready': 4.52.0 '@wordpress/i18n': 6.25.0 + '@wordpress/admin-ui@2.7.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/element': 8.4.0 + '@wordpress/i18n': 6.25.0 + '@wordpress/private-apis': 1.52.0 + '@wordpress/route': 0.18.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/style-runtime': 0.8.0 + '@wordpress/ui': 0.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: 2.1.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - date-fns + - esbuild + - postcss + - react-dom + - stylelint + - supports-color + - vite + '@wordpress/admin-ui@2.7.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -24862,7 +24892,7 @@ snapshots: - supports-color - vite - '@wordpress/block-library@10.2.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/block-library@10.2.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@arraypress/waveform-player': 1.21.0 '@wordpress/a11y': 4.52.0 @@ -24870,11 +24900,11 @@ snapshots: '@wordpress/autop': 4.52.0 '@wordpress/base-styles': 11.0.0 '@wordpress/blob': 4.51.0 - '@wordpress/block-editor': 16.0.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/date': 5.51.0 '@wordpress/deprecated': 4.52.0 @@ -24891,16 +24921,16 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/keycodes': 4.51.0(@types/react@18.3.28) '@wordpress/latex-to-mathml': 1.19.0 - '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/patterns': 2.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/private-apis': 1.52.0 - '@wordpress/reusable-blocks': 5.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/reusable-blocks': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/rich-text': 7.51.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/server-side-render': 6.27.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/server-side-render': 6.27.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/shortcode': 4.52.0 - '@wordpress/ui': 0.18.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/upload-media': 0.36.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/upload-media': 0.36.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.51.0 '@wordpress/viewport': 6.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/wordcount': 4.51.0 @@ -24928,7 +24958,7 @@ snapshots: - supports-color - vite - '@wordpress/block-library@10.2.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/block-library@10.2.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@arraypress/waveform-player': 1.21.0 '@wordpress/a11y': 4.52.0 @@ -24936,11 +24966,11 @@ snapshots: '@wordpress/autop': 4.52.0 '@wordpress/base-styles': 11.0.0 '@wordpress/blob': 4.51.0 - '@wordpress/block-editor': 16.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.0.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/date': 5.51.0 '@wordpress/deprecated': 4.52.0 @@ -24958,10 +24988,10 @@ snapshots: '@wordpress/keycodes': 4.51.0(@types/react@18.3.28) '@wordpress/latex-to-mathml': 1.19.0 '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/patterns': 2.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/private-apis': 1.52.0 - '@wordpress/reusable-blocks': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/reusable-blocks': 5.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/rich-text': 7.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/server-side-render': 6.27.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/shortcode': 4.52.0 @@ -26945,12 +26975,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -26960,7 +26990,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -26988,10 +27018,10 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) @@ -27031,12 +27061,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27046,7 +27076,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27074,10 +27104,10 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) @@ -27117,12 +27147,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27132,7 +27162,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27160,12 +27190,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27175,7 +27205,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27203,12 +27233,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27218,7 +27248,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27246,12 +27276,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27261,7 +27291,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27289,12 +27319,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27304,7 +27334,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27332,10 +27362,10 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) @@ -27375,12 +27405,12 @@ snapshots: - supports-color - vite - '@wordpress/core-data@7.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.52.0(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.52.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 @@ -27390,7 +27420,7 @@ snapshots: '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/is-shallow-equal': 5.52.0 - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/rich-text': 7.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/sync': 1.52.0 @@ -27879,23 +27909,23 @@ snapshots: mime: 3.0.0 web-vitals: 4.2.4 - '@wordpress/edit-post@8.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/edit-post@8.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 - '@wordpress/admin-ui': 2.7.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/admin-ui': 2.7.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/api-fetch': 7.51.0 '@wordpress/base-styles': 11.0.0 - '@wordpress/block-editor': 16.0.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/block-library': 10.2.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-library': 10.2.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/commands': 1.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 '@wordpress/dom': 4.51.0 - '@wordpress/editor': 14.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/editor': 14.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': 8.3.0 '@wordpress/global-styles-engine': 1.19.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/hooks': 4.51.0 @@ -27904,15 +27934,15 @@ snapshots: '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/keyboard-shortcuts': 5.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/keycodes': 4.51.0(@types/react@18.3.28) - '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/plugins': 7.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/preferences': 4.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 - '@wordpress/ui': 0.18.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.51.0 '@wordpress/viewport': 6.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/warning': 3.52.0 - '@wordpress/widgets': 4.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/widgets': 4.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 memize: 2.1.1 react: 18.3.1 @@ -27929,23 +27959,23 @@ snapshots: - supports-color - vite - '@wordpress/edit-post@8.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/edit-post@8.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 '@wordpress/admin-ui': 2.7.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/api-fetch': 7.51.0 '@wordpress/base-styles': 11.0.0 - '@wordpress/block-editor': 16.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/block-library': 10.2.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.0.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-library': 10.2.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/commands': 1.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/deprecated': 4.52.0 '@wordpress/dom': 4.51.0 - '@wordpress/editor': 14.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/editor': 14.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': 8.3.0 '@wordpress/global-styles-engine': 1.19.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/hooks': 4.51.0 @@ -27962,7 +27992,7 @@ snapshots: '@wordpress/url': 4.51.0 '@wordpress/viewport': 6.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/warning': 3.52.0 - '@wordpress/widgets': 4.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/widgets': 4.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 memize: 2.1.1 react: 18.3.1 @@ -28029,6 +28059,78 @@ snapshots: - supports-color - vite + '@wordpress/editor@14.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/a11y': 4.52.0 + '@wordpress/api-fetch': 7.51.0 + '@wordpress/base-styles': 11.0.0 + '@wordpress/blob': 4.51.0 + '@wordpress/block-editor': 16.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-serialization-default-parser': 5.51.0 + '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/commands': 1.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/date': 5.51.0 + '@wordpress/deprecated': 4.52.0 + '@wordpress/dom': 4.51.0 + '@wordpress/element': 8.3.0 + '@wordpress/fields': 0.43.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/global-styles-engine': 1.19.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/global-styles-ui': 1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/hooks': 4.51.0 + '@wordpress/html-entities': 4.51.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/interface': 9.37.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/keyboard-shortcuts': 5.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/keycodes': 4.51.0(@types/react@18.3.28) + '@wordpress/media-editor': 0.14.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/media-fields': 0.16.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/media-utils': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/reusable-blocks': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/rich-text': 7.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/server-side-render': 6.27.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/upload-media': 0.36.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/url': 4.51.0 + '@wordpress/views': 1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/warning': 3.52.0 + '@wordpress/wordcount': 4.51.0 + change-case: 4.1.2 + client-zip: 2.5.0 + clsx: 2.1.1 + colord: 2.9.3 + date-fns: 4.1.0 + diff: 8.0.4 + fast-deep-equal: 3.1.3 + memize: 2.1.1 + react: 18.3.1 + react-autosize-textarea: 7.1.0(patch_hash=5c09e1dee59caaaba3871f9d722f93e56b41169db486b059597e8f8c788aa464)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + react-dom: 18.3.1(react@18.3.1) + redux: 5.0.1 + remove-accents: 0.5.0 + uuid: 14.0.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/editor@14.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 @@ -28600,7 +28702,7 @@ snapshots: - eslint-plugin-import-x - supports-color - '@wordpress/fields@0.43.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.43.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.52.0 @@ -28608,24 +28710,24 @@ snapshots: '@wordpress/base-styles': 11.0.0 '@wordpress/blob': 4.51.0 '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/dataviews': 17.3.0(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) '@wordpress/date': 5.51.0 '@wordpress/element': 8.3.0 '@wordpress/hooks': 4.51.0 '@wordpress/html-entities': 4.51.0 '@wordpress/i18n': 6.24.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/media-utils': 5.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/patterns': 2.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/media-utils': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/router': 1.52.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/ui': 0.18.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.51.0 '@wordpress/warning': 3.52.0 '@wordpress/wordcount': 4.51.0 @@ -28648,7 +28750,7 @@ snapshots: - supports-color - vite - '@wordpress/fields@0.43.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.43.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.52.0 @@ -28658,7 +28760,7 @@ snapshots: '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.51.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/dataviews': 17.3.0(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) '@wordpress/date': 5.51.0 @@ -28667,9 +28769,9 @@ snapshots: '@wordpress/html-entities': 4.51.0 '@wordpress/i18n': 6.24.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/media-utils': 5.51.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/media-utils': 5.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/patterns': 2.52.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/router': 1.52.0(@types/react@18.3.28)(react@18.3.1) @@ -28696,7 +28798,7 @@ snapshots: - supports-color - vite - '@wordpress/fields@0.43.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.43.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.52.0 @@ -28704,24 +28806,24 @@ snapshots: '@wordpress/base-styles': 11.0.0 '@wordpress/blob': 4.51.0 '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 37.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 37.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/core-data': 7.51.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/dataviews': 17.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) '@wordpress/date': 5.51.0 '@wordpress/element': 8.3.0 '@wordpress/hooks': 4.51.0 '@wordpress/html-entities': 4.51.0 '@wordpress/i18n': 6.24.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/media-utils': 5.51.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/notices': 5.51.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/patterns': 2.52.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/media-utils': 5.51.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/private-apis': 1.52.0 '@wordpress/router': 1.52.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/ui': 0.18.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.18.0(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.51.0 '@wordpress/warning': 3.52.0 '@wordpress/wordcount': 4.51.0 @@ -28744,15 +28846,63 @@ snapshots: - supports-color - vite - '@wordpress/fields@0.44.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.43.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.52.0 - '@wordpress/api-fetch': 7.52.0 - '@wordpress/base-styles': 12.0.0 - '@wordpress/blob': 4.52.0 - '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/api-fetch': 7.51.0 + '@wordpress/base-styles': 11.0.0 + '@wordpress/blob': 4.51.0 + '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 37.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.51.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/date': 5.51.0 + '@wordpress/element': 8.3.0 + '@wordpress/hooks': 4.51.0 + '@wordpress/html-entities': 4.51.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/media-utils': 5.51.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.52.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/router': 1.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/ui': 0.18.0(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/url': 4.51.0 + '@wordpress/warning': 3.52.0 + '@wordpress/wordcount': 4.51.0 + change-case: 4.1.2 + client-zip: 2.5.0 + clsx: 2.1.1 + react: 18.3.1 + remove-accents: 0.5.0 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - react-dom + - stylelint + - supports-color + - vite + + '@wordpress/fields@0.44.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@react-spring/web': 9.7.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/a11y': 4.52.0 + '@wordpress/api-fetch': 7.52.0 + '@wordpress/base-styles': 12.0.0 + '@wordpress/blob': 4.52.0 + '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) @@ -28983,6 +29133,43 @@ snapshots: - '@types/react' - react + '@wordpress/global-styles-ui@1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/a11y': 4.52.0 + '@wordpress/api-fetch': 7.52.0 + '@wordpress/base-styles': 12.0.0 + '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/date': 5.52.0 + '@wordpress/element': 8.4.0 + '@wordpress/global-styles-engine': 1.19.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/i18n': 6.25.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/keycodes': 4.52.0(@types/react@18.3.28) + '@wordpress/private-apis': 1.52.0 + '@wordpress/ui': 0.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + change-case: 4.1.2 + clsx: 2.1.1 + colord: 2.9.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/global-styles-ui@1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 @@ -29378,6 +29565,35 @@ snapshots: '@preact/signals-core': 1.14.4 preact: 10.29.3 + '@wordpress/interface@9.37.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/a11y': 4.52.0 + '@wordpress/admin-ui': 2.7.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/base-styles': 12.0.0 + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/deprecated': 4.52.0 + '@wordpress/element': 8.4.0 + '@wordpress/i18n': 6.25.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/plugins': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/viewport': 6.52.0(@types/react@18.3.28)(react@18.3.1) + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react' + - date-fns + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/interface@9.37.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 @@ -29763,6 +29979,43 @@ snapshots: - supports-color - vite + '@wordpress/media-editor@0.14.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/a11y': 4.52.0 + '@wordpress/api-fetch': 7.51.0 + '@wordpress/base-styles': 11.0.0 + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/date': 5.51.0 + '@wordpress/element': 8.3.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/interface': 9.37.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/keyboard-shortcuts': 5.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/keycodes': 4.51.0(@types/react@18.3.28) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: 2.1.1 + gl-matrix: 3.4.4 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - react-dom + - stylelint + - supports-color + - vite + '@wordpress/media-editor@0.14.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 @@ -30022,6 +30275,37 @@ snapshots: - supports-color - vite + '@wordpress/media-fields@0.16.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/base-styles': 11.0.0 + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/date': 5.51.0 + '@wordpress/element': 8.3.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/primitives': 4.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/url': 4.51.0 + clsx: 2.1.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - react-dom + - stylelint + - supports-color + - vite + '@wordpress/media-fields@0.16.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/base-styles': 11.0.0 @@ -30270,6 +30554,39 @@ snapshots: - supports-color - vite + '@wordpress/media-utils@5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/api-fetch': 7.51.0 + '@wordpress/base-styles': 11.0.0 + '@wordpress/blob': 4.51.0 + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/element': 8.3.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/media-fields': 0.16.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/ui': 0.18.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/views': 1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: 2.1.1 + react: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - react-dom + - stylelint + - supports-color + - vite + '@wordpress/media-utils@5.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.51.0 @@ -30743,6 +31060,38 @@ snapshots: - supports-color - vite + '@wordpress/patterns@2.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/a11y': 4.52.0 + '@wordpress/base-styles': 12.0.0 + '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/element': 8.4.0 + '@wordpress/html-entities': 4.52.0 + '@wordpress/i18n': 6.25.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/notices': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/ui': 0.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/url': 4.52.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/patterns@2.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 @@ -30999,23 +31348,23 @@ snapshots: - supports-color - vite - '@wordpress/patterns@2.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/patterns@2.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/a11y': 4.52.0 '@wordpress/base-styles': 12.0.0 '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/element': 8.4.0 '@wordpress/html-entities': 4.52.0 '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.52.0 - '@wordpress/ui': 0.19.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.19.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.52.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -31031,23 +31380,23 @@ snapshots: - supports-color - vite - '@wordpress/patterns@2.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/patterns@2.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3))': dependencies: '@wordpress/a11y': 4.52.0 '@wordpress/base-styles': 12.0.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) '@wordpress/element': 8.4.0 '@wordpress/html-entities': 4.52.0 '@wordpress/i18n': 6.25.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) '@wordpress/private-apis': 1.52.0 - '@wordpress/ui': 0.19.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/ui': 0.19.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) '@wordpress/url': 4.52.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -31063,32 +31412,24 @@ snapshots: - supports-color - vite - '@wordpress/patterns@2.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3))': + '@wordpress/plugins@7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@wordpress/a11y': 4.52.0 - '@wordpress/base-styles': 12.0.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) - '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) - '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) - '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/element': 8.4.0 - '@wordpress/html-entities': 4.52.0 - '@wordpress/i18n': 6.25.0 + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/deprecated': 4.52.0 + '@wordpress/element': 8.3.0 + '@wordpress/hooks': 4.51.0 '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) - '@wordpress/private-apis': 1.52.0 - '@wordpress/ui': 0.19.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(vite@8.0.16(sass-embedded@1.97.3)) - '@wordpress/url': 4.52.0 + '@wordpress/is-shallow-equal': 5.52.0 + memize: 2.1.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 transitivePeerDependencies: - '@date-fns/tz' - '@emotion/is-prop-valid' - - '@types/react' - - '@types/react-dom' - - date-fns - esbuild - postcss - stylelint @@ -31143,6 +31484,30 @@ snapshots: - supports-color - vite + '@wordpress/plugins@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.5.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/deprecated': 4.52.0 + '@wordpress/element': 8.4.0 + '@wordpress/hooks': 4.52.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/is-shallow-equal': 5.52.0 + memize: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + react-is: 18.3.1 + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/plugins@7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -31543,6 +31908,35 @@ snapshots: redux: 5.0.1 rungen: 0.3.2 + '@wordpress/reusable-blocks@5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/base-styles': 12.0.0 + '@wordpress/block-editor': 16.1.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 38.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/deprecated': 4.52.0 + '@wordpress/element': 8.4.0 + '@wordpress/i18n': 6.25.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/notices': 5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + '@wordpress/url': 4.52.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/reusable-blocks@5.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/base-styles': 12.0.0 @@ -31775,35 +32169,6 @@ snapshots: - supports-color - vite - '@wordpress/reusable-blocks@5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@wordpress/base-styles': 12.0.0 - '@wordpress/block-editor': 16.1.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/blocks': 15.25.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/components': 38.0.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/core-data': 7.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/deprecated': 4.52.0 - '@wordpress/element': 8.4.0 - '@wordpress/i18n': 6.25.0 - '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) - '@wordpress/notices': 5.52.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/private-apis': 1.52.0 - '@wordpress/url': 4.52.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@date-fns/tz' - - '@emotion/is-prop-valid' - - '@types/react' - - '@types/react-dom' - - date-fns - - esbuild - - postcss - - stylelint - - supports-color - - vite - '@wordpress/reusable-blocks@5.52.0(@types/react@18.3.28)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/base-styles': 12.0.0 @@ -31918,6 +32283,30 @@ snapshots: optionalDependencies: '@types/react': 18.3.28 + '@wordpress/server-side-render@6.27.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/api-fetch': 7.51.0 + '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/deprecated': 4.52.0 + '@wordpress/element': 8.3.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/url': 4.51.0 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + optionalDependencies: + '@types/react': 18.3.28 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/server-side-render@6.27.0(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.51.0 @@ -33148,6 +33537,29 @@ snapshots: optionalDependencies: '@types/react': 18.3.28 + '@wordpress/views@1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.52.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/dataviews': 17.3.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react@18.3.1) + '@wordpress/element': 8.4.0 + '@wordpress/preferences': 4.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/private-apis': 1.52.0 + dequal: 2.0.3 + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - react + - react-dom + - stylelint + - supports-color + - vite + '@wordpress/views@1.19.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/core-data': 7.52.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -33413,6 +33825,35 @@ snapshots: - supports-color - vite + '@wordpress/widgets@4.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + dependencies: + '@wordpress/api-fetch': 7.51.0 + '@wordpress/base-styles': 11.0.0 + '@wordpress/block-editor': 16.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/blocks': 15.24.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/components': 37.0.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/compose': 8.4.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/core-data': 7.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(date-fns@4.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/data': 10.51.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/element': 8.3.0 + '@wordpress/i18n': 6.24.0 + '@wordpress/icons': 15.3.0(@types/react@18.3.28)(react@18.3.1) + '@wordpress/notices': 5.51.0(@date-fns/tz@1.4.1)(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + clsx: 2.1.1 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) + transitivePeerDependencies: + - '@date-fns/tz' + - '@emotion/is-prop-valid' + - '@types/react' + - '@types/react-dom' + - date-fns + - esbuild + - postcss + - stylelint + - supports-color + - vite + '@wordpress/widgets@4.51.0(@types/react-dom@18.3.7(@types/react@18.3.28))(@types/react@18.3.28)(postcss@8.5.23)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@wordpress/api-fetch': 7.51.0 diff --git a/projects/packages/my-jetpack/_inc/components/stats-section/index.jsx b/projects/packages/my-jetpack/_inc/components/stats-section/index.jsx index b1cba796e5f2..6bc609fa5b3c 100644 --- a/projects/packages/my-jetpack/_inc/components/stats-section/index.jsx +++ b/projects/packages/my-jetpack/_inc/components/stats-section/index.jsx @@ -146,6 +146,11 @@ const StatsSection = () => { const { counts, previousCounts, chartData } = processedData; + // The product's manage URL already points at whichever analytics UI this site + // runs; that decision belongs server-side, so it is not re-derived here. + const { manageUrl } = detail; + const { premiumAnalyticsEnabled = false } = getMyJetpackWindowInitialState( 'myJetpackFlags' ); + /** * Called when "See detailed stats" button is clicked. */ @@ -154,16 +159,22 @@ const StatsSection = () => { product: slug, } ); - window.location.href = 'admin.php?page=stats&force_refresh=1'; - }, [ recordEvent ] ); + if ( ! manageUrl ) { + return; + } + + // The Stats page caches its report, so the legacy link asks it to refresh. + // The dashboard fetches on load and has no such param. + window.location.href = premiumAnalyticsEnabled ? manageUrl : `${ manageUrl }&force_refresh=1`; + }, [ recordEvent, manageUrl, premiumAnalyticsEnabled ] ); const shouldShowSecondaryButton = useCallback( - () => !! ( status === PRODUCT_STATUSES.CAN_UPGRADE ), - [ status ] + () => !! ( status === PRODUCT_STATUSES.CAN_UPGRADE && manageUrl ), + [ status, manageUrl ] ); const viewStatsButton = { - href: 'admin.php?page=stats', + href: manageUrl, label: __( 'View detailed stats', 'jetpack-my-jetpack' ), onClick: onDetailedStatsClick, shouldShowButton: shouldShowSecondaryButton, diff --git a/projects/packages/my-jetpack/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces b/projects/packages/my-jetpack/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces new file mode 100644 index 000000000000..0be8384c367a --- /dev/null +++ b/projects/packages/my-jetpack/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Stats: point the product card at the Premium Analytics dashboard when it replaces the Stats page. diff --git a/projects/packages/my-jetpack/src/class-initializer.php b/projects/packages/my-jetpack/src/class-initializer.php index b97e7ca44da4..3baf65929c96 100644 --- a/projects/packages/my-jetpack/src/class-initializer.php +++ b/projects/packages/my-jetpack/src/class-initializer.php @@ -528,6 +528,9 @@ public static function get_my_jetpack_flags() { $flags = array( 'videoPressStats' => Jetpack_Constants::is_true( 'JETPACK_MY_JETPACK_VIDEOPRESS_STATS_ENABLED' ), 'showFullJetpackStatsCard' => class_exists( 'Jetpack' ), + // Only says which destination `manage_url` is: the legacy Stats page + // caches its report and wants a `force_refresh` hint the dashboard does not. + 'premiumAnalyticsEnabled' => Products\Stats::is_premium_analytics_enabled(), ); return $flags; diff --git a/projects/packages/my-jetpack/src/products/class-stats.php b/projects/packages/my-jetpack/src/products/class-stats.php index cf68c8a86bb9..3937d297cd37 100644 --- a/projects/packages/my-jetpack/src/products/class-stats.php +++ b/projects/packages/my-jetpack/src/products/class-stats.php @@ -297,12 +297,46 @@ public static function has_trial_support() { return true; } + /** + * Mirrors `Analytics::MENU_PAGE_SLUG`, spelled out because My Jetpack does not + * depend on the premium-analytics package. + * + * @since $$next-version$$ + */ + const PREMIUM_ANALYTICS_PAGE_SLUG = 'jetpack-premium-analytics-wp-admin'; + + /** + * Whether the Premium Analytics dashboard is the site's analytics UI. + * + * Guarded like the other `class_exists( 'Jetpack' )` checks here: My Jetpack + * also ships in plugins without the Jetpack plugin. Public so the UI flags + * report the same answer the URLs are built from. + * + * @since $$next-version$$ + * + * @return bool + */ + public static function is_premium_analytics_enabled() { + return class_exists( 'Jetpack' ) + && method_exists( 'Jetpack', 'is_premium_analytics_enabled' ) + && \Jetpack::is_premium_analytics_enabled(); + } + /** * Get the WordPress.com URL for purchasing Jetpack Stats for the current site. * + * Null once Premium Analytics is the analytics UI: the tier purchase + * screen was a Calypso route inside the Odyssey bundle, so it left with that + * dashboard. Null is also the base-class default, which falls the action + * button back to the existing `#/add-stats` interstitial. + * * @return ?string */ public static function get_purchase_url() { + if ( self::is_premium_analytics_enabled() ) { + return null; + } + $status = static::get_status(); if ( $status === Products::STATUS_NEEDS_FIRST_SITE_CONNECTION ) { return null; @@ -323,6 +357,10 @@ public static function get_purchase_url() { * @return ?string */ public static function get_manage_url() { + if ( self::is_premium_analytics_enabled() ) { + return admin_url( 'admin.php?page=' . self::PREMIUM_ANALYTICS_PAGE_SLUG ); + } + return admin_url( 'admin.php?page=stats' ); } diff --git a/projects/packages/my-jetpack/tests/php/Stats_Product_Test.php b/projects/packages/my-jetpack/tests/php/Stats_Product_Test.php new file mode 100644 index 000000000000..76091bb47edb --- /dev/null +++ b/projects/packages/my-jetpack/tests/php/Stats_Product_Test.php @@ -0,0 +1,126 @@ +install_mock_plugins(); + wp_cache_delete( 'plugins', 'plugins' ); + activate_plugins( 'jetpack/jetpack.php' ); + + // Mock site connection, so the purchase URL is not short-circuited by the + // needs-first-site-connection status. + ( new Tokens() )->update_blog_token( 'test.test.1' ); + Jetpack_Options::update_option( 'id', 123 ); + + self::$user_id = wp_insert_user( + array( + 'user_login' => 'test_admin', + 'user_pass' => '123', + 'role' => 'administrator', + ) + ); + wp_set_current_user( self::$user_id ); + } + + /** + * Installs the mock plugin present in the test assets folder as the Jetpack plugin. + * + * @return void + */ + public function install_mock_plugins() { + if ( ! file_exists( WP_PLUGIN_DIR . '/jetpack' ) ) { + mkdir( WP_PLUGIN_DIR . '/jetpack', 0777, true ); + } + copy( __DIR__ . '/assets/jetpack-mock-plugin.txt', WP_PLUGIN_DIR . '/jetpack/jetpack.php' ); + } + + /** + * Returning the environment into its initial state. + */ + public function tearDown(): void { + // @phan-suppress-next-line PhanUndeclaredStaticProperty -- It's declared on the mock from ./assets/jetpack-mock-plugin.txt + \Jetpack::$mock_premium_analytics_enabled = false; + + WorDBless_Options::init()->clear_options(); + WorDBless_Users::init()->clear_all_users(); + + parent::tearDown(); + } + + /** + * Put the mocked Jetpack plugin's Premium Analytics flag into a known state. + * + * @param bool $enabled Whether Premium Analytics replaces the Stats page. + */ + private function set_premium_analytics_enabled( $enabled ) { + // @phan-suppress-next-line PhanUndeclaredStaticProperty -- It's declared on the mock from ./assets/jetpack-mock-plugin.txt + \Jetpack::$mock_premium_analytics_enabled = $enabled; + } + + public function test_manage_url_points_at_the_stats_page_by_default() { + $this->set_premium_analytics_enabled( false ); + + $this->assertSame( admin_url( 'admin.php?page=stats' ), Stats::get_manage_url() ); + } + + public function test_manage_url_follows_premium_analytics_when_enabled() { + $this->set_premium_analytics_enabled( true ); + + $manage_url = Stats::get_manage_url(); + + $this->assertSame( admin_url( 'admin.php?page=' . Stats::PREMIUM_ANALYTICS_PAGE_SLUG ), $manage_url ); + $this->assertStringNotContainsString( 'page=stats', (string) $manage_url ); + } + + public function test_purchase_url_points_at_the_stats_purchase_screen_by_default() { + $this->set_premium_analytics_enabled( false ); + + $purchase_url = Stats::get_purchase_url(); + + $this->assertIsString( $purchase_url ); + $this->assertStringContainsString( 'page=stats', $purchase_url ); + $this->assertStringContainsString( '#!/stats/purchase/123', $purchase_url ); + } + + /** + * The tier purchase screen was a Calypso route inside the Odyssey bundle, so + * it left with the Stats dashboard. Returning null — the base class default — + * makes the action button fall back to the `#/add-stats` interstitial instead + * of linking to a route that no longer resolves. + */ + public function test_purchase_url_is_null_when_premium_analytics_is_enabled() { + $this->set_premium_analytics_enabled( true ); + + $this->assertNull( Stats::get_purchase_url() ); + } +} diff --git a/projects/packages/my-jetpack/tests/php/assets/jetpack-mock-plugin.txt b/projects/packages/my-jetpack/tests/php/assets/jetpack-mock-plugin.txt index 33cb376fc384..eec5325f6da1 100644 --- a/projects/packages/my-jetpack/tests/php/assets/jetpack-mock-plugin.txt +++ b/projects/packages/my-jetpack/tests/php/assets/jetpack-mock-plugin.txt @@ -22,6 +22,15 @@ class Jetpack { static $return_false = false; // Force return false in action methods. + // Whether the Premium Analytics dashboard replaces the Stats page. Named apart from the real + // plugin's own private static of the same purpose, so tests setting it can't be confused for + // reaching into that one. + static $mock_premium_analytics_enabled = false; + + public static function is_premium_analytics_enabled() { + return self::$mock_premium_analytics_enabled; + } + public static function is_module_active( $module_name ) { return in_array( $module_name, self::$active_modules ); } diff --git a/projects/packages/premium-analytics/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces b/projects/packages/premium-analytics/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces new file mode 100644 index 000000000000..bbec5d90ae86 --- /dev/null +++ b/projects/packages/premium-analytics/changelog/wooa7s-1780-premium-analytics-update-jetpack-surfaces @@ -0,0 +1,4 @@ +Significance: minor +Type: added + +Publish the dashboard page slug, capability, and site timezone in Jetpack script data, so other Jetpack surfaces can link to the dashboard. diff --git a/projects/packages/premium-analytics/src/class-analytics.php b/projects/packages/premium-analytics/src/class-analytics.php index 14d8cd7afb46..cc29bed9dd4b 100644 --- a/projects/packages/premium-analytics/src/class-analytics.php +++ b/projects/packages/premium-analytics/src/class-analytics.php @@ -195,6 +195,72 @@ private static function boot_shared_services() { // CSV report export pipeline (WOOA7S-1581): hooks rest_api_init, so it must // register on all requests. Self-gates on WooCommerce + Jetpack connection. Export::configure(); + + self::register_script_data(); + } + + /** + * Announce to Jetpack's other surfaces that this dashboard is the site's + * analytics UI, so they link here instead of the Stats page. Publishing it + * from the package that owns the dashboard means the key exists exactly + * where the dashboard does. Registered from both init paths, so Simple gets + * it too. + * + * @return void + */ + private static function register_script_data() { + add_filter( 'jetpack_admin_js_script_data', array( static::class, 'add_script_data' ) ); + } + + /** + * Runs on nearly every admin page load, so the payload stays to two strings, + * a bool, and one capability check. + * + * @param array $data The script data. + * @return array The script data with the analytics key added. + */ + public static function add_script_data( $data ) { + $data['analytics'] = array( + 'enabled' => true, + 'page_slug' => self::MENU_PAGE_SLUG, + 'can_view' => current_user_can( Capabilities::VIEW_ANALYTICS ), + 'timezone' => self::site_timezone(), + ); + + return $data; + } + + /** + * Prefers `timezone_string` over `gmt_offset`, matching the dashboard's own + * `getSiteTimezone()`: analytics links point at past dates, so they cross + * daylight-saving boundaries routinely, and a fixed offset applied to the far + * side of a transition shifts the day. + * + * @return string An IANA timezone name, or a `+HH:MM` UTC offset. + */ + private static function site_timezone() { + $timezone_string = get_option( 'timezone_string' ); + + if ( is_string( $timezone_string ) && $timezone_string !== '' ) { + return $timezone_string; + } + + return self::format_gmt_offset( (float) get_option( 'gmt_offset' ) ); + } + + /** + * Format a GMT offset in hours as `+HH:MM`. + * + * @param float $offset The offset in hours, e.g. 5.5 or -8. + * @return string The formatted offset. + */ + private static function format_gmt_offset( $offset ) { + $sign = $offset < 0 ? '-' : '+'; + $absolute = abs( $offset ); + $hours = (int) floor( $absolute ); + $minutes = (int) round( ( $absolute - $hours ) * 60 ); + + return sprintf( '%s%02d:%02d', $sign, $hours, $minutes ); } /** @@ -325,13 +391,19 @@ private static function register_admin_page() { add_action( 'jetpack-premium-analytics_init', array( static::class, 'ensure_script_data' ) ); } + /** + * The admin page slug the dashboard menu registers. Published in script data + * so no caller has to hard-code it. + */ + const MENU_PAGE_SLUG = 'jetpack-premium-analytics-wp-admin'; + /** * Admin page slugs that render the Premium Analytics dashboard. * * Mirrors the slugs the wp-build interceptor renders (full-page and the * wp-admin integrated variant). */ - const DASHBOARD_PAGE_SLUGS = array( 'jetpack-premium-analytics', 'jetpack-premium-analytics-wp-admin' ); + const DASHBOARD_PAGE_SLUGS = array( 'jetpack-premium-analytics', self::MENU_PAGE_SLUG ); /** * Whether the current request is rendering a Premium Analytics dashboard page. @@ -388,7 +460,7 @@ public static function register_admin_menu() { esc_html( $menu_title ), esc_html( $menu_title ), Capabilities::VIEW_ANALYTICS, - 'jetpack-premium-analytics-wp-admin', + self::MENU_PAGE_SLUG, $render_callback, 'dashicons-chart-bar', 2 diff --git a/projects/packages/premium-analytics/tests/php/Analytics_Test.php b/projects/packages/premium-analytics/tests/php/Analytics_Test.php index 6dc6490ffeac..701635526243 100644 --- a/projects/packages/premium-analytics/tests/php/Analytics_Test.php +++ b/projects/packages/premium-analytics/tests/php/Analytics_Test.php @@ -419,6 +419,115 @@ public function test_register_admin_menu_uses_the_dashboard_capability() { $this->assertSame( Capabilities::VIEW_ANALYTICS, $menu_item[1] ?? null ); } + /** + * The `analytics` key's presence is what tells every Jetpack surface outside + * this package that this dashboard — not the legacy Stats page — is where + * analytics links should go. + */ + public function test_add_script_data_announces_the_dashboard() { + $data = Analytics::add_script_data( array() ); + + $this->assertTrue( $data['analytics']['enabled'] ); + $this->assertSame( Analytics::MENU_PAGE_SLUG, $data['analytics']['page_slug'] ); + } + + /** + * The published slug must be the slug the menu actually registers, or every + * link built from it 404s. + */ + public function test_add_script_data_publishes_the_registered_menu_slug() { + $menu_item = $this->register_admin_menu_without_build(); + $data = Analytics::add_script_data( array() ); + + $this->assertSame( $menu_item[2] ?? null, $data['analytics']['page_slug'] ); + } + + /** + * The filter is shared, so the key must be added without disturbing anything + * another consumer already put there. + */ + public function test_add_script_data_preserves_existing_data() { + $data = Analytics::add_script_data( + array( + 'site' => array( 'admin_url' => 'https://example.com/wp-admin/' ), + 'analytics' => array( 'stale' => true ), + ) + ); + + $this->assertSame( 'https://example.com/wp-admin/', $data['site']['admin_url'] ); + $this->assertArrayNotHasKey( 'stale', $data['analytics'] ); + } + + /** + * `can_view` answers the same question the menu's capability does, so a caller + * can hide a link rather than send someone to a screen they cannot open. + */ + public function test_add_script_data_reports_can_view_for_a_capable_user() { + Capabilities::register(); + add_filter( 'user_has_cap', array( $this, 'grant_manage_options' ) ); + + $data = Analytics::add_script_data( array() ); + + remove_filter( 'user_has_cap', array( $this, 'grant_manage_options' ) ); + $this->assertTrue( $data['analytics']['can_view'] ); + } + + public function test_add_script_data_reports_can_view_false_without_the_capability() { + Capabilities::register(); + + $data = Analytics::add_script_data( array() ); + + $this->assertFalse( $data['analytics']['can_view'] ); + } + + /** + * A named zone is preferred over a fixed offset: analytics links always point + * at past dates, so they cross daylight-saving boundaries routinely and a + * fixed offset would shift the day on the far side of a transition. + */ + public function test_add_script_data_prefers_the_timezone_string() { + update_option( 'timezone_string', 'America/New_York' ); + update_option( 'gmt_offset', 5.5 ); + + $data = Analytics::add_script_data( array() ); + + $this->assertSame( 'America/New_York', $data['analytics']['timezone'] ); + } + + /** + * Sites configured with a raw UTC offset have no zone name to publish, so the + * offset is formatted the way the dashboard's own timezone resolver does. + * + * @param mixed $offset The `gmt_offset` option value. + * @param string $expected The expected published timezone. + * @dataProvider provide_gmt_offsets + */ + #[DataProvider( 'provide_gmt_offsets' )] + public function test_add_script_data_falls_back_to_the_formatted_gmt_offset( $offset, $expected ) { + update_option( 'timezone_string', '' ); + update_option( 'gmt_offset', $offset ); + + $data = Analytics::add_script_data( array() ); + + $this->assertSame( $expected, $data['analytics']['timezone'] ); + } + + /** + * @return array + */ + public static function provide_gmt_offsets() { + return array( + 'UTC' => array( 0, '+00:00' ), + 'whole hours east' => array( 2, '+02:00' ), + 'whole hours west' => array( -8, '-08:00' ), + 'half hour east' => array( 5.5, '+05:30' ), + 'half hour west' => array( -3.5, '-03:30' ), + 'three quarter hour' => array( 5.75, '+05:45' ), + 'double digit hours' => array( 13, '+13:00' ), + 'string option' => array( '-5', '-05:00' ), + ); + } + /** * With no caller override the label comes from the package itself, so nobody has * to translate it before the textdomain can load. diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/chart-bar-range.js b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/chart-bar-range.js new file mode 100644 index 000000000000..e244b82c3dd4 --- /dev/null +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/chart-bar-range.js @@ -0,0 +1,52 @@ +/** + * The span of calendar days a stats chart bar stands for. + * + * Clicking a "Weeks" bar should open that whole week, not just its first day — + * the Stats link this replaces ignored the tab and always deep-linked one day. + * + * Bar dates arrive as calendar days encoded as UTC midnight (see `statsChart`), + * so every boundary here is computed and read in UTC; reading local components + * would shift the day west of UTC. + * + * @param {string} isoDate - The bar's date, as a UTC-midnight ISO string. + * @param {string} unit - The active chart tab: 'day', 'week', or 'month'. + * + * @return {?{from: string, to: string}} The inclusive range as `YYYY-MM-DD` days, or undefined for an unusable date. + */ +export function chartBarRange( isoDate, unit ) { + const parsed = new Date( isoDate ); + if ( isNaN( parsed.getTime() ) ) { + return undefined; + } + + const year = parsed.getUTCFullYear(); + const month = parsed.getUTCMonth(); + const day = parsed.getUTCDate(); + + let from; + let to; + + if ( 'week' === unit ) { + from = new Date( Date.UTC( year, month, day ) ); + to = new Date( Date.UTC( year, month, day + 6 ) ); + } else if ( 'month' === unit ) { + from = new Date( Date.UTC( year, month, 1 ) ); + // Day zero of the next month is the last day of this one. + to = new Date( Date.UTC( year, month + 1, 0 ) ); + } else { + from = new Date( Date.UTC( year, month, day ) ); + to = from; + } + + return { from: toCalendarDay( from ), to: toCalendarDay( to ) }; +} + +/** + * Renders a UTC instant as its calendar day. + * + * @param {Date} date - The date to render. + * @return {string} The `YYYY-MM-DD` calendar day. + */ +function toCalendarDay( date ) { + return date.toISOString().slice( 0, 10 ); +} diff --git a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/dash-stats-bottom.jsx b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/dash-stats-bottom.jsx index b61db678062b..d6ddb085825e 100644 --- a/projects/plugins/jetpack/_inc/client/at-a-glance/stats/dash-stats-bottom.jsx +++ b/projects/plugins/jetpack/_inc/client/at-a-glance/stats/dash-stats-bottom.jsx @@ -11,6 +11,7 @@ import { connect } from 'react-redux'; import Button from 'components/button'; import analytics from 'lib/analytics'; import { isOdysseyStatsEnabled } from 'state/initial-state'; +import { getAnalyticsUrl, hasAnalyticsDashboard } from '../../../shared/analytics-url'; class DashStatsBottom extends Component { statsBottom() { @@ -47,6 +48,10 @@ class DashStatsBottom extends Component { render() { const s = this.statsBottom()[ 0 ]; + // Null only where the dashboard is the analytics UI and this user cannot open it. + const analyticsUrl = hasAnalyticsDashboard() + ? getAnalyticsUrl( { view: 'dashboard' } ) + : this.props.siteAdminUrl + 'admin.php?page=stats'; return (
@@ -98,15 +103,12 @@ class DashStatsBottom extends Component {
{ // Only show link for non-atomic Jetpack sites. - createInterpolateElement( __( '', 'jetpack' ), { - button: ( - ', 'jetpack' ), { + button: ( +