diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f35207e00b4e2..a0173e57ae963 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,11 +52,11 @@ importers: specifier: 6.1.1 version: 6.1.1 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 moment: - specifier: 2.29.4 - version: 2.29.4 + specifier: 2.30.1 + version: 2.30.1 openai: specifier: 4.56.1 version: 4.56.1 @@ -80,8 +80,8 @@ importers: specifier: 4.1.0 version: 4.1.0 picomatch: - specifier: 2.2.3 - version: 2.2.3 + specifier: 4.0.2 + version: 4.0.2 devDependencies: '@vercel/ncc': specifier: 0.36.1 @@ -99,8 +99,8 @@ importers: specifier: 7.3.2 version: 7.3.2 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 minimatch: specifier: 5.1.0 version: 5.1.0 @@ -130,11 +130,11 @@ importers: specifier: 2.0.1 version: 2.0.1 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/wordpress__block-editor': - specifier: 11.5.15 - version: 11.5.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.5.16 + version: 11.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/api-fetch': specifier: 7.14.0 version: 7.14.0 @@ -146,10 +146,10 @@ importers: version: 4.14.0 '@wordpress/block-editor': specifier: 14.9.0 - version: 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 7.14.0 version: 7.14.0(react@18.3.1) @@ -169,11 +169,11 @@ importers: specifier: 2.1.1 version: 2.1.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 markdown-it: - specifier: 14.0.0 - version: 14.0.0 + specifier: 14.1.0 + version: 14.1.0 react: specifier: 18.3.1 version: 18.3.1 @@ -185,17 +185,17 @@ importers: version: 7.1.2 devDependencies: '@storybook/addon-actions': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/preview-api': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@types/markdown-it': specifier: 14.1.2 version: 14.1.2 @@ -209,8 +209,8 @@ importers: specifier: 29.7.0 version: 29.7.0 storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 typescript: specifier: 5.0.4 version: 5.0.4 @@ -218,8 +218,8 @@ importers: projects/js-packages/analytics: devDependencies: debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 jest: specifier: 29.7.0 version: 29.7.0 @@ -247,7 +247,7 @@ importers: dependencies: debug: specifier: ^4.3.2 - version: 4.3.4 + version: 4.4.0 devDependencies: '@babel/core': specifier: 7.26.0 @@ -334,25 +334,37 @@ importers: clsx: specifier: 2.1.1 version: 2.1.1 + tslib: + specifier: 2.5.0 + version: 2.5.0 devDependencies: + '@rollup/plugin-commonjs': + specifier: 26.0.1 + version: 26.0.1(rollup@3.29.5) + '@rollup/plugin-json': + specifier: 6.1.0 + version: 6.1.0(rollup@3.29.5) + '@rollup/plugin-node-resolve': + specifier: 15.3.0 + version: 15.3.0(rollup@3.29.5) + '@rollup/plugin-terser': + specifier: 0.4.3 + version: 0.4.3(rollup@3.29.5) + '@rollup/plugin-typescript': + specifier: 12.1.0 + version: 12.1.0(rollup@3.29.5)(tslib@2.5.0)(typescript@5.7.2) '@storybook/blocks': - specifier: 8.4.6 - version: 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/react': - specifier: 8.4.6 - version: 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)(typescript@5.7.2) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.7.2) '@types/react': - specifier: 18.3.13 - version: 18.3.13 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 - esbuild: - specifier: 0.24.2 - version: 0.24.2 - esbuild-sass-plugin: - specifier: 3.3.1 - version: 3.3.1(esbuild@0.24.2)(sass-embedded@1.83.0) + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) jest: specifier: 29.7.0 version: 29.7.0 @@ -374,15 +386,27 @@ importers: react-dom: specifier: 18.3.1 version: 18.3.1(react@18.3.1) + rollup: + specifier: 3.29.5 + version: 3.29.5 + rollup-plugin-dts: + specifier: 6.1.1 + version: 6.1.1(rollup@3.29.5)(typescript@5.7.2) + rollup-plugin-peer-deps-external: + specifier: 2.2.4 + version: 2.2.4(rollup@3.29.5) + rollup-plugin-postcss: + specifier: 4.0.2 + version: 4.0.2(postcss@8.4.47) + sass: + specifier: 1.64.1 + version: 1.64.1 sass-embedded: specifier: 1.83.0 version: 1.83.0 storybook: - specifier: 8.4.6 - version: 8.4.6 - tsup: - specifier: 8.3.5 - version: 8.3.5(postcss@8.4.47)(typescript@5.7.2) + specifier: 8.4.7 + version: 8.4.7 typescript: specifier: 5.7.2 version: 5.7.2 @@ -406,7 +430,7 @@ importers: version: 6.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 7.14.0 version: 7.14.0(react@18.3.1) @@ -415,7 +439,7 @@ importers: version: 10.14.0(react@18.3.1) '@wordpress/dataviews': specifier: 4.10.0 - version: 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': specifier: 5.14.0 version: 5.14.0 @@ -438,8 +462,8 @@ importers: specifier: ^15.7.2 version: 15.8.1 qrcode.react: - specifier: 3.1.0 - version: 3.1.0(react@18.3.1) + specifier: 4.2.0 + version: 4.2.0(react@18.3.1) react-slider: specifier: 2.0.5 version: 2.0.5(@babel/runtime@7.26.0)(react@18.3.1) @@ -460,41 +484,38 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@jest/globals': specifier: 29.4.3 version: 29.4.3 '@storybook/addon-actions': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) '@types/jest': specifier: 29.5.12 version: 29.5.12 - '@types/qrcode.react': - specifier: 1.0.5 - version: 1.0.5 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) '@types/react-slider': specifier: 1.3.6 version: 1.3.6 @@ -517,8 +538,8 @@ importers: specifier: 1.5.1 version: 1.5.1 storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 ts-dedent: specifier: 2.2.0 version: 2.2.0 @@ -566,7 +587,7 @@ importers: version: 6.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -583,8 +604,8 @@ importers: specifier: 2.1.1 version: 2.1.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 prop-types: specifier: ^15.7.2 version: 15.8.1 @@ -596,23 +617,23 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@storybook/addon-actions': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 jest: specifier: 29.7.0 version: 29.7.0 @@ -626,8 +647,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 projects/js-packages/critical-css-gen: dependencies: @@ -654,17 +675,17 @@ importers: specifier: 4.2.11 version: 4.2.11 '@types/css-tree': - specifier: 2.3.9 - version: 2.3.9 + specifier: 2.3.10 + version: 2.3.10 '@types/node': specifier: ^20.4.2 - version: 20.17.9 + version: 20.17.11 express: specifier: 4.21.2 version: 4.21.2 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.17.9) + version: 29.7.0(@types/node@20.17.11) path-browserify: specifier: 1.0.1 version: 1.0.1 @@ -705,8 +726,8 @@ importers: specifier: 5.4.1 version: 5.4.1 commander: - specifier: 9.3.0 - version: 9.3.0 + specifier: 13.0.0 + version: 13.0.0 parse-diff: specifier: 0.8.1 version: 0.8.1 @@ -722,13 +743,13 @@ importers: version: 5.5.49 browserslist: specifier: ^4.17.6 - version: 4.23.1 + version: 4.24.3 debug: specifier: ^4.3.2 - version: 4.3.4 + version: 4.4.0 semver: specifier: ^7.3.5 - version: 7.5.2 + version: 7.6.3 devDependencies: '@wordpress/browserslist-config': specifier: 6.14.0 @@ -750,7 +771,7 @@ importers: dependencies: debug: specifier: ^4.3.2 - version: 4.3.4 + version: 4.4.0 devDependencies: '@automattic/jetpack-webpack-config': specifier: workspace:* @@ -772,7 +793,7 @@ importers: dependencies: debug: specifier: ^4.3.2 - version: 4.3.4 + version: 4.4.0 devDependencies: '@wordpress/dependency-extraction-webpack-plugin': specifier: 6.14.0 @@ -833,8 +854,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) react: specifier: 18.3.1 version: 18.3.1 @@ -851,8 +872,8 @@ importers: specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) @@ -947,8 +968,8 @@ importers: specifier: 2.1.1 version: 2.1.1 prop-types: - specifier: 15.7.2 - version: 15.7.2 + specifier: 15.8.1 + version: 15.8.1 devDependencies: '@automattic/jetpack-base-styles': specifier: workspace:* @@ -963,8 +984,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 @@ -1008,8 +1029,8 @@ importers: specifier: 2.1.1 version: 2.1.1 prop-types: - specifier: 15.7.2 - version: 15.7.2 + specifier: 15.8.1 + version: 15.8.1 devDependencies: '@automattic/jetpack-analytics': specifier: workspace:* @@ -1021,8 +1042,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 @@ -1076,7 +1097,7 @@ importers: version: 1.0.2 '@automattic/social-previews': specifier: 2.1.0-beta.8 - version: 2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/annotations': specifier: 3.14.0 version: 3.14.0(react@18.3.1) @@ -1085,34 +1106,34 @@ importers: version: 7.14.0 '@wordpress/block-editor': specifier: 14.9.0 - version: 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': specifier: 14.3.0 version: 14.3.0(react@18.3.1) '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 7.14.0 version: 7.14.0(react@18.3.1) '@wordpress/core-data': specifier: 7.14.0 - version: 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) '@wordpress/dataviews': specifier: 4.10.0 - version: 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': specifier: 5.14.0 version: 5.14.0 '@wordpress/edit-post': specifier: 8.14.0 - version: 8.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 8.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/editor': specifier: 14.14.0 - version: 14.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 6.14.0 version: 6.14.0 @@ -1148,8 +1169,8 @@ importers: version: 4.0.1 devDependencies: '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-base-styles': specifier: workspace:* version: link:../base-styles @@ -1163,8 +1184,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/runtime': specifier: 7.26.0 version: 7.26.0 @@ -1173,7 +1194,7 @@ importers: version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -1181,8 +1202,8 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@wordpress/babel-plugin-import-jsx-pragma': specifier: 5.14.0 version: 5.14.0(@babel/core@7.26.0) @@ -1236,7 +1257,7 @@ importers: dependencies: debug: specifier: ^4.3.2 - version: 4.3.4 + version: 4.4.0 devDependencies: jest: specifier: 29.7.0 @@ -1272,8 +1293,8 @@ importers: specifier: 4.14.0 version: 4.14.0 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 react: specifier: ^18.2.0 version: 18.3.1 @@ -1285,26 +1306,26 @@ importers: specifier: 29.7.0 version: 29.7.0 '@storybook/addon-actions': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/jest': specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 jest: specifier: ^29.7.0 version: 29.7.0 @@ -1312,8 +1333,8 @@ importers: specifier: 29.7.0 version: 29.7.0 storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 typescript: specifier: 5.0.4 version: 5.0.4 @@ -1366,8 +1387,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 @@ -1412,20 +1433,20 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 svg2ttf: specifier: ^6.0.3 version: 6.0.3 svgicons2svgfont: - specifier: ^14.0.0 - version: 14.0.2 + specifier: ^15.0.0 + version: 15.0.0 svgo: specifier: ^3.3.2 version: 3.3.2 @@ -1461,8 +1482,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/runtime': specifier: 7.26.0 version: 7.26.0 @@ -1470,62 +1491,65 @@ importers: specifier: 1.48.2 version: 1.48.2 '@storybook/addon-a11y': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/addon-docs': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(@types/react@18.3.18)(storybook@8.4.7) '@storybook/addon-essentials': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(@types/react@18.3.18)(storybook@8.4.7) '@storybook/addon-storysource': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/addon-webpack5-compiler-babel': specifier: ^3.0.3 version: 3.0.3(webpack@5.94.0) '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/components': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/manager-api': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@storybook/react-webpack5': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1) '@storybook/source-loader': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/test-runner': specifier: 0.19.1 - version: 0.19.1(storybook@8.3.5) + version: 0.19.1(storybook@8.4.7) '@storybook/theming': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) + '@types/react': + specifier: 18.3.18 + version: 18.3.18 '@wordpress/base-styles': specifier: 5.14.0 version: 5.14.0 '@wordpress/block-editor': specifier: 14.9.0 - version: 14.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/block-library': specifier: 9.14.0 - version: 9.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 9.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 6.14.0 version: 6.14.0 '@wordpress/format-library': specifier: 5.14.0 - version: 5.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 5.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/postcss-plugins-preset': specifier: 5.14.0 version: 5.14.0(postcss@8.4.47) @@ -1575,8 +1599,8 @@ importers: specifier: 12.4.0 version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 storybook-addon-mock: specifier: 5.0.0 version: 5.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -1632,8 +1656,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -1671,8 +1695,8 @@ importers: specifier: 6.0.0 version: 6.0.0(webpack@5.94.0) '@babel/compat-data': - specifier: 7.26.2 - version: 7.26.2 + specifier: 7.26.3 + version: 7.26.3 '@babel/helper-compilation-targets': specifier: 7.25.9 version: 7.25.9 @@ -1683,8 +1707,8 @@ importers: specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) @@ -1704,8 +1728,8 @@ importers: specifier: 0.10.6 version: 0.10.6(@babel/core@7.26.0) browserslist: - specifier: 4.23.1 - version: 4.23.1 + specifier: 4.24.3 + version: 4.24.3 core-js: specifier: 3.38.1 version: 3.38.1 @@ -1802,7 +1826,7 @@ importers: version: 7.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -1816,8 +1840,8 @@ importers: specifier: 5.14.0 version: 5.14.0 moment: - specifier: 2.29.4 - version: 2.29.4 + specifier: 2.30.1 + version: 2.30.1 prop-types: specifier: ^15.8.1 version: 15.8.1 @@ -1848,13 +1872,13 @@ importers: version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@wordpress/browserslist-config': specifier: 6.14.0 version: 6.14.0 @@ -2003,8 +2027,8 @@ importers: specifier: 10.4.20 version: 10.4.20(postcss@8.4.47) glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 postcss: specifier: 8.4.47 version: 8.4.47 @@ -2055,8 +2079,8 @@ importers: specifier: 6.14.0 version: 6.14.0 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 react: specifier: 18.2.0 version: 18.2.0 @@ -2105,7 +2129,7 @@ importers: version: 7.26.0 '@types/node': specifier: ^20.4.2 - version: 20.17.9 + version: 20.17.11 '@types/qs': specifier: 6.9.17 version: 6.9.17 @@ -2114,7 +2138,7 @@ importers: version: 7.6.0 jest: specifier: 29.7.0 - version: 29.7.0(@types/node@20.17.9) + version: 29.7.0(@types/node@20.17.11) typescript: specifier: 5.0.4 version: 5.0.4 @@ -2182,8 +2206,8 @@ importers: specifier: 7.2.8 version: 7.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-router-dom: - specifier: 6.10.0 - version: 6.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-transition-group: specifier: ^4.4.5 version: 4.4.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -2197,8 +2221,8 @@ importers: specifier: 1.64.1 version: 1.64.1 semver: - specifier: 7.5.2 - version: 7.5.2 + specifier: 7.6.3 + version: 7.6.3 webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -2214,8 +2238,8 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-base-styles': specifier: workspace:* version: link:../../js-packages/base-styles @@ -2256,8 +2280,8 @@ importers: specifier: 7.6.0 version: 7.6.0 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 jest: specifier: 29.7.0 version: 29.7.0 @@ -2290,8 +2314,8 @@ importers: specifier: 3.1.3 version: 3.1.3 '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/i18n-utils': specifier: 1.2.3 version: 1.2.3 @@ -2303,7 +2327,7 @@ importers: version: link:../../js-packages/shared-extension-utils '@automattic/page-pattern-modal': specifier: 1.1.5 - version: 1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.13)(@wordpress/data@10.14.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) + version: 1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(@wordpress/data@10.14.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1) '@automattic/typography': specifier: 1.0.0 version: 1.0.0 @@ -2330,7 +2354,7 @@ importers: version: 14.3.0(react@18.3.1) '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -2351,7 +2375,7 @@ importers: version: 10.14.0(react@18.3.1) '@wordpress/plugins': specifier: 7.14.0 - version: 7.14.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': specifier: ^1.8.1 version: 1.14.0 @@ -2365,8 +2389,8 @@ importers: specifier: 2.1.1 version: 2.1.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 preact: specifier: ^10.13.1 version: 10.22.1 @@ -2403,20 +2427,20 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@playwright/test': specifier: 1.48.2 version: 1.48.2 '@types/node': specifier: ^20.4.2 - version: 20.17.9 + version: 20.17.11 '@types/react': specifier: ^18.2.28 - version: 18.3.13 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) babel-plugin-transform-rename-properties: specifier: 0.1.0 version: 0.1.0(@babel/core@7.26.0) @@ -2466,8 +2490,8 @@ importers: specifier: 3.1.3 version: 3.1.3 '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 postcss-custom-properties: specifier: 12.1.7 version: 12.1.7(postcss@8.4.47) @@ -2491,8 +2515,8 @@ importers: specifier: 10.4.20 version: 10.4.20(postcss@8.4.47) glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 postcss: specifier: 8.4.47 version: 8.4.47 @@ -2549,7 +2573,7 @@ importers: version: 7.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 7.14.0 version: 7.14.0(react@18.3.1) @@ -2575,8 +2599,8 @@ importers: specifier: 2.1.1 version: 2.1.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 gridicons: specifier: 3.4.1 version: 3.4.1(react@18.3.1) @@ -2584,8 +2608,8 @@ importers: specifier: 15.8.1 version: 15.8.1 react-router-dom: - specifier: 6.6.2 - version: 6.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@automattic/jetpack-webpack-config': specifier: workspace:* @@ -2600,8 +2624,8 @@ importers: specifier: 29.7.0 version: 29.7.0 '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 @@ -2610,7 +2634,7 @@ importers: version: 6.5.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -2618,8 +2642,8 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 concurrently: specifier: 7.6.0 version: 7.6.0 @@ -2645,8 +2669,8 @@ importers: specifier: 12.4.0 version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 typescript: specifier: 5.0.4 version: 5.0.4 @@ -2718,8 +2742,8 @@ importers: specifier: 3.1.3 version: 3.1.3 '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/format-currency': specifier: 1.0.1 version: 1.0.1 @@ -2772,14 +2796,14 @@ importers: specifier: 10.22.1 version: 10.22.1 prop-types: - specifier: 15.7.2 - version: 15.7.2 + specifier: 15.8.1 + version: 15.8.1 q-flat: specifier: 1.0.7 version: 1.0.7 qss: - specifier: 2.0.3 - version: 2.0.3 + specifier: 3.0.0 + version: 3.0.0 react: specifier: 18.3.1 version: 18.3.1 @@ -2815,8 +2839,8 @@ importers: specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) @@ -2922,19 +2946,19 @@ importers: version: 4.14.0 '@wordpress/block-editor': specifier: 14.9.0 - version: 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': specifier: 14.3.0 version: 14.3.0(react@18.3.1) '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': specifier: 7.14.0 version: 7.14.0(react@18.3.1) '@wordpress/core-data': specifier: 7.14.0 - version: 7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -2946,7 +2970,7 @@ importers: version: 4.14.0 '@wordpress/editor': specifier: 14.14.0 - version: 14.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 6.14.0 version: 6.14.0 @@ -2966,11 +2990,11 @@ importers: specifier: 2.1.1 version: 2.1.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 filesize: - specifier: 8.0.6 - version: 8.0.6 + specifier: 10.1.6 + version: 10.1.6 react: specifier: 18.3.1 version: 18.3.1 @@ -2978,11 +3002,11 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.28.0 - version: 6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) tus-js-client: - specifier: 4.1.0 - version: 4.1.0 + specifier: 4.2.3 + version: 4.2.3 devDependencies: '@automattic/calypso-color-schemes': specifier: 3.1.3 @@ -2994,8 +3018,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@csstools/postcss-global-data': specifier: 2.1.1 version: 2.1.1(postcss@8.4.47) @@ -3003,32 +3027,32 @@ importers: specifier: 29.4.3 version: 29.4.3 '@storybook/addon-actions': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/blocks': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) '@storybook/preview-api': - specifier: 8.3.5 - version: 8.3.5(storybook@8.3.5) + specifier: 8.4.7 + version: 8.4.7(storybook@8.4.7) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@testing-library/dom': specifier: 10.4.0 version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/jest': specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) '@wordpress/browserslist-config': specifier: 6.14.0 version: 6.14.0 @@ -3066,8 +3090,8 @@ importers: specifier: 12.4.0 version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 typescript: specifier: 5.0.4 version: 5.0.4 @@ -3084,8 +3108,8 @@ importers: specifier: 3.1.3 version: 3.1.3 '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-analytics': specifier: workspace:* version: link:../../js-packages/analytics @@ -3132,14 +3156,14 @@ importers: specifier: 10.22.1 version: 10.22.1 prop-types: - specifier: 15.7.2 - version: 15.7.2 + specifier: 15.8.1 + version: 15.8.1 q-flat: specifier: 1.0.7 version: 1.0.7 qss: - specifier: 2.0.3 - version: 2.0.3 + specifier: 3.0.0 + version: 3.0.0 react: specifier: 18.3.1 version: 18.3.1 @@ -3175,8 +3199,8 @@ importers: specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) @@ -3295,8 +3319,8 @@ importers: projects/plugins/automattic-for-agencies-client: dependencies: '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-api': specifier: workspace:* version: link:../../js-packages/api @@ -3389,8 +3413,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -3413,14 +3437,14 @@ importers: specifier: 9.7.3 version: 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-router-dom': specifier: 5.3.3 version: 5.3.3 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 6.14.0 version: 6.14.0 @@ -3434,8 +3458,8 @@ importers: specifier: 5.3.0 version: 5.3.0 react-router-dom: - specifier: 6.21.0 - version: 6.21.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react-use-measure: specifier: 2.1.1 version: 2.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -3471,11 +3495,11 @@ importers: specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@storybook/react': - specifier: 8.3.5 - version: 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + specifier: 8.4.7 + version: 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@types/jest': specifier: 29.5.12 version: 29.5.12 @@ -3522,8 +3546,8 @@ importers: specifier: 12.4.0 version: 12.4.0(sass@1.64.1)(webpack@5.94.0) storybook: - specifier: 8.3.5 - version: 8.3.5 + specifier: 8.4.7 + version: 8.4.7 tslib: specifier: 2.5.0 version: 2.5.0 @@ -3546,8 +3570,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -3637,8 +3661,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -3665,7 +3689,7 @@ importers: version: 5.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -3691,8 +3715,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.14.1 - version: 6.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@automattic/jetpack-webpack-config': specifier: workspace:* @@ -3714,16 +3738,16 @@ importers: version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/jest': specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) babel-jest: specifier: 29.3.1 version: 29.3.1(@babel/core@7.26.0) @@ -3731,8 +3755,8 @@ importers: specifier: 6.5.1 version: 6.5.1(webpack@5.94.0) glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 jest: specifier: 29.7.0 version: 29.7.0 @@ -3868,7 +3892,7 @@ importers: version: 1.0.0 '@automattic/social-previews': specifier: 2.1.0-beta.8 - version: 2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@automattic/viewport': specifier: 1.0.0 version: 1.0.0 @@ -3880,7 +3904,7 @@ importers: version: 5.14.0 '@wordpress/block-editor': specifier: 14.9.0 - version: 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': specifier: 14.3.0 version: 14.3.0(react@18.3.1) @@ -3898,7 +3922,7 @@ importers: version: 5.14.0 '@wordpress/edit-post': specifier: 8.14.0 - version: 8.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 8.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': specifier: 6.14.0 version: 6.14.0 @@ -3925,7 +3949,7 @@ importers: version: 6.14.0(react@18.3.1) '@wordpress/widgets': specifier: 4.14.0 - version: 4.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 4.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/wordcount': specifier: 4.14.0 version: 4.14.0 @@ -3951,8 +3975,8 @@ importers: specifier: 4.2.0 version: 4.2.0 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 email-validator: specifier: 2.0.4 version: 2.0.4 @@ -3960,8 +3984,8 @@ importers: specifier: 3.3.0 version: 3.3.0 filesize: - specifier: 8.0.6 - version: 8.0.6 + specifier: 10.1.6 + version: 10.1.6 focus-trap: specifier: 6.3.0 version: 6.3.0 @@ -3975,8 +3999,8 @@ importers: specifier: 1.13.0 version: 1.13.0 markdown-it: - specifier: 14.0.0 - version: 14.0.0 + specifier: 14.1.0 + version: 14.1.0 markdown-it-footnote: specifier: 3.0.3 version: 3.0.3 @@ -3990,8 +4014,8 @@ importers: specifier: 12.1.7 version: 12.1.7(postcss@8.4.47) prop-types: - specifier: 15.7.2 - version: 15.7.2 + specifier: 15.8.1 + version: 15.8.1 react-redux: specifier: 7.2.8 version: 7.2.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -4014,8 +4038,8 @@ importers: specifier: 1.64.1 version: 1.64.1 semver: - specifier: 7.5.2 - version: 7.5.2 + specifier: 7.6.3 + version: 7.6.3 social-logos: specifier: workspace:* version: link:../../js-packages/social-logos @@ -4026,8 +4050,8 @@ importers: specifier: 1.4.2 version: 1.4.2 tus-js-client: - specifier: 2.3.0 - version: 2.3.0 + specifier: 4.2.3 + version: 4.2.3 webpack: specifier: 5.94.0 version: 5.94.0(webpack-cli@4.9.1) @@ -4043,8 +4067,8 @@ importers: version: 18.3.1(react@18.3.1) devDependencies: '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-base-styles': specifier: workspace:* version: link:../../js-packages/base-styles @@ -4080,7 +4104,7 @@ importers: version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.5.2 version: 14.5.2(@testing-library/dom@10.4.0) @@ -4088,11 +4112,11 @@ importers: specifier: 29.5.12 version: 29.5.12 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/wordpress__block-editor': - specifier: 11.5.15 - version: 11.5.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 11.5.16 + version: 11.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/api-fetch': specifier: 7.14.0 version: 7.14.0 @@ -4107,16 +4131,16 @@ importers: version: 5.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/core-data': specifier: 7.14.0 - version: 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/dom-ready': specifier: 4.14.0 version: 4.14.0 '@wordpress/editor': specifier: 14.14.0 - version: 14.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/escape-html': specifier: 3.14.0 version: 3.14.0 @@ -4142,8 +4166,8 @@ importers: specifier: 0.1.8 version: 0.1.8 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 jest: specifier: 29.7.0 version: 29.7.0 @@ -4181,8 +4205,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -4217,7 +4241,7 @@ importers: version: 7.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -4243,8 +4267,8 @@ importers: specifier: 2.1.1 version: 2.1.1 moment: - specifier: 2.29.4 - version: 2.29.4 + specifier: 2.30.1 + version: 2.30.1 prop-types: specifier: 15.8.1 version: 15.8.1 @@ -4255,8 +4279,8 @@ importers: specifier: 18.3.1 version: 18.3.1(react@18.3.1) react-router-dom: - specifier: 6.2.2 - version: 6.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 6.28.1 + version: 6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) devDependencies: '@automattic/babel-plugin-replace-textdomain': specifier: workspace:* @@ -4274,8 +4298,8 @@ importers: specifier: 7.26.0 version: 7.26.0 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@wordpress/browserslist-config': specifier: 6.14.0 version: 6.14.0 @@ -4309,8 +4333,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -4340,7 +4364,7 @@ importers: version: 7.14.0 '@wordpress/components': specifier: 29.0.0 - version: 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': specifier: 10.14.0 version: 10.14.0(react@18.3.1) @@ -4370,8 +4394,8 @@ importers: specifier: 3.1.3 version: 3.1.3 '@automattic/color-studio': - specifier: 2.6.0 - version: 2.6.0 + specifier: 4.0.0 + version: 4.0.0 '@automattic/jetpack-webpack-config': specifier: workspace:* version: link:../../js-packages/webpack-config @@ -4392,13 +4416,13 @@ importers: version: 10.4.0 '@testing-library/react': specifier: 16.0.1 - version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 18.3.18 + version: 18.3.18 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 18.3.5 + version: 18.3.5(@types/react@18.3.18) '@wordpress/browserslist-config': specifier: 6.14.0 version: 6.14.0 @@ -4448,8 +4472,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -4539,8 +4563,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -4644,8 +4668,8 @@ importers: specifier: 2.9.2 version: 2.9.2 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 jetpack-e2e-commons: specifier: workspace:* version: link:../../../../../tools/e2e-commons @@ -4683,23 +4707,23 @@ importers: specifier: 5.4.1 version: 5.4.1 chokidar: - specifier: 3.5.3 - version: 3.5.3 + specifier: 4.0.3 + version: 4.0.3 configstore: - specifier: 5.0.1 - version: 5.0.1 + specifier: 7.0.0 + version: 7.0.0 enquirer: specifier: 2.4.1 version: 2.4.1 envfile: - specifier: 6.17.0 - version: 6.17.0 + specifier: 7.1.0 + version: 7.1.0 execa: specifier: 7.0.0 version: 7.0.0 glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 ignore: specifier: 7.0.0 version: 7.0.0 @@ -4734,8 +4758,8 @@ importers: specifier: 0.11.10 version: 0.11.10 semver: - specifier: 7.5.2 - version: 7.5.2 + specifier: 7.6.3 + version: 7.6.3 sprintf-js: specifier: 1.1.2 version: 1.1.2 @@ -4774,8 +4798,8 @@ importers: specifier: 5.4.1 version: 5.4.1 config: - specifier: 3.3.7 - version: 3.3.7 + specifier: 3.3.12 + version: 3.3.12 localtunnel: specifier: 2.0.2 version: 2.0.2 @@ -4810,8 +4834,8 @@ importers: specifier: 7.25.9 version: 7.25.9(@babel/core@7.26.0)(eslint@9.16.0) '@babel/preset-react': - specifier: 7.25.9 - version: 7.25.9(@babel/core@7.26.0) + specifier: 7.26.3 + version: 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': specifier: 7.26.0 version: 7.26.0(@babel/core@7.26.0) @@ -4846,8 +4870,8 @@ importers: specifier: 5.4.1 version: 5.4.1 debug: - specifier: 4.3.4 - version: 4.3.4 + specifier: 4.4.0 + version: 4.4.0 enquirer: specifier: 2.4.1 version: 2.4.1 @@ -4903,8 +4927,8 @@ importers: specifier: 7.1.1 version: 7.1.1(eslint@9.16.0)(typescript@5.0.4) glob: - specifier: 10.4.1 - version: 10.4.1 + specifier: 11.0.0 + version: 11.0.0 globals: specifier: 15.13.0 version: 15.13.0 @@ -4933,8 +4957,8 @@ importers: specifier: 3.3.2 version: 3.3.2(svelte@4.2.19)(wp-prettier@3.0.3) semver: - specifier: 7.5.2 - version: 7.5.2 + specifier: 7.6.3 + version: 7.6.3 sort-package-json: specifier: 1.50.0 version: 1.50.0 @@ -5005,6 +5029,9 @@ packages: '@automattic/color-studio@2.6.0': resolution: {integrity: sha512-2LzB6bbQw1vayZxZy5Y+DnCYU7x8tPu+rZhNkWD7V8QZTSJMJO65XKZhYaCByC+C5OegXyGyZzcqEOHHdj5iiQ==} + '@automattic/color-studio@4.0.0': + resolution: {integrity: sha512-L49rqIzCLnqLFoNJsANUXfmIWqlfgsEaDWcgXHt+lUbpZYDtWphUCVS/kIkSlAPHo3LmcRRzCTIq/DyU5C/nEA==} + '@automattic/explat-client-react-helpers@0.1.1': resolution: {integrity: sha512-ilebWXmuleHg3BYThJvKW/iraS5kV9iQvm+vtJn6Mkl01rkMDCmsl4MGYOYiKLi/BpUq0QVlD8qKapOsz5g3Vg==} @@ -5058,8 +5085,8 @@ packages: resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} - '@babel/compat-data@7.26.2': - resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + '@babel/compat-data@7.26.3': + resolution: {integrity: sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g==} engines: {node: '>=6.9.0'} '@babel/core@7.26.0': @@ -5657,8 +5684,8 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 || ^8.0.0-0 <8.0.0 - '@babel/preset-react@7.25.9': - resolution: {integrity: sha512-D3to0uSPiWE7rBrdIICCd0tJSIGpLaaGptna2+w7Pft5xMqLpA1sz99DK5TZ1TjGbdQ/VI1eCSZ06dv3lT4JOw==} + '@babel/preset-react@7.26.3': + resolution: {integrity: sha512-Nl03d6T9ky516DGK2YMxrTqvnpUW63TnJMOMonj+Zae0JiPC5BC9xPMSL6L8fiSpA5vP88qfygavVQvnLp+6Cw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -5689,9 +5716,6 @@ packages: resolution: {integrity: sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA==} engines: {node: '>=6.9.0'} - '@base2/pretty-print-object@1.0.1': - resolution: {integrity: sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==} - '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} @@ -5782,12 +5806,6 @@ packages: resolution: {integrity: sha512-xjZTSFgECpb9Ohuk5yMX5RhUEbfeQcuOp8IF60e+wyzWEF0M5xeSgqsfLtvPEX8BIyOX9saZqzuGPmZ8oWc+5Q==} engines: {node: '>=16'} - '@esbuild/aix-ppc64@0.23.1': - resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [aix] - '@esbuild/aix-ppc64@0.24.2': resolution: {integrity: sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==} engines: {node: '>=18'} @@ -5800,12 +5818,6 @@ packages: cpu: [arm64] os: [android] - '@esbuild/android-arm64@0.23.1': - resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} - engines: {node: '>=18'} - cpu: [arm64] - os: [android] - '@esbuild/android-arm64@0.24.2': resolution: {integrity: sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==} engines: {node: '>=18'} @@ -5818,12 +5830,6 @@ packages: cpu: [arm] os: [android] - '@esbuild/android-arm@0.23.1': - resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [android] - '@esbuild/android-arm@0.24.2': resolution: {integrity: sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==} engines: {node: '>=18'} @@ -5836,12 +5842,6 @@ packages: cpu: [x64] os: [android] - '@esbuild/android-x64@0.23.1': - resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} - engines: {node: '>=18'} - cpu: [x64] - os: [android] - '@esbuild/android-x64@0.24.2': resolution: {integrity: sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==} engines: {node: '>=18'} @@ -5854,12 +5854,6 @@ packages: cpu: [arm64] os: [darwin] - '@esbuild/darwin-arm64@0.23.1': - resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [darwin] - '@esbuild/darwin-arm64@0.24.2': resolution: {integrity: sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==} engines: {node: '>=18'} @@ -5872,12 +5866,6 @@ packages: cpu: [x64] os: [darwin] - '@esbuild/darwin-x64@0.23.1': - resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} - engines: {node: '>=18'} - cpu: [x64] - os: [darwin] - '@esbuild/darwin-x64@0.24.2': resolution: {integrity: sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==} engines: {node: '>=18'} @@ -5890,12 +5878,6 @@ packages: cpu: [arm64] os: [freebsd] - '@esbuild/freebsd-arm64@0.23.1': - resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} - engines: {node: '>=18'} - cpu: [arm64] - os: [freebsd] - '@esbuild/freebsd-arm64@0.24.2': resolution: {integrity: sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==} engines: {node: '>=18'} @@ -5908,12 +5890,6 @@ packages: cpu: [x64] os: [freebsd] - '@esbuild/freebsd-x64@0.23.1': - resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} - engines: {node: '>=18'} - cpu: [x64] - os: [freebsd] - '@esbuild/freebsd-x64@0.24.2': resolution: {integrity: sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==} engines: {node: '>=18'} @@ -5926,12 +5902,6 @@ packages: cpu: [arm64] os: [linux] - '@esbuild/linux-arm64@0.23.1': - resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} - engines: {node: '>=18'} - cpu: [arm64] - os: [linux] - '@esbuild/linux-arm64@0.24.2': resolution: {integrity: sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==} engines: {node: '>=18'} @@ -5944,12 +5914,6 @@ packages: cpu: [arm] os: [linux] - '@esbuild/linux-arm@0.23.1': - resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} - engines: {node: '>=18'} - cpu: [arm] - os: [linux] - '@esbuild/linux-arm@0.24.2': resolution: {integrity: sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==} engines: {node: '>=18'} @@ -5962,12 +5926,6 @@ packages: cpu: [ia32] os: [linux] - '@esbuild/linux-ia32@0.23.1': - resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [linux] - '@esbuild/linux-ia32@0.24.2': resolution: {integrity: sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==} engines: {node: '>=18'} @@ -5980,12 +5938,6 @@ packages: cpu: [loong64] os: [linux] - '@esbuild/linux-loong64@0.23.1': - resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} - engines: {node: '>=18'} - cpu: [loong64] - os: [linux] - '@esbuild/linux-loong64@0.24.2': resolution: {integrity: sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==} engines: {node: '>=18'} @@ -5998,12 +5950,6 @@ packages: cpu: [mips64el] os: [linux] - '@esbuild/linux-mips64el@0.23.1': - resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} - engines: {node: '>=18'} - cpu: [mips64el] - os: [linux] - '@esbuild/linux-mips64el@0.24.2': resolution: {integrity: sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==} engines: {node: '>=18'} @@ -6016,12 +5962,6 @@ packages: cpu: [ppc64] os: [linux] - '@esbuild/linux-ppc64@0.23.1': - resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} - engines: {node: '>=18'} - cpu: [ppc64] - os: [linux] - '@esbuild/linux-ppc64@0.24.2': resolution: {integrity: sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==} engines: {node: '>=18'} @@ -6034,12 +5974,6 @@ packages: cpu: [riscv64] os: [linux] - '@esbuild/linux-riscv64@0.23.1': - resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} - engines: {node: '>=18'} - cpu: [riscv64] - os: [linux] - '@esbuild/linux-riscv64@0.24.2': resolution: {integrity: sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==} engines: {node: '>=18'} @@ -6052,12 +5986,6 @@ packages: cpu: [s390x] os: [linux] - '@esbuild/linux-s390x@0.23.1': - resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} - engines: {node: '>=18'} - cpu: [s390x] - os: [linux] - '@esbuild/linux-s390x@0.24.2': resolution: {integrity: sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==} engines: {node: '>=18'} @@ -6070,12 +5998,6 @@ packages: cpu: [x64] os: [linux] - '@esbuild/linux-x64@0.23.1': - resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} - engines: {node: '>=18'} - cpu: [x64] - os: [linux] - '@esbuild/linux-x64@0.24.2': resolution: {integrity: sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==} engines: {node: '>=18'} @@ -6094,24 +6016,12 @@ packages: cpu: [x64] os: [netbsd] - '@esbuild/netbsd-x64@0.23.1': - resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} - engines: {node: '>=18'} - cpu: [x64] - os: [netbsd] - '@esbuild/netbsd-x64@0.24.2': resolution: {integrity: sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==} engines: {node: '>=18'} cpu: [x64] os: [netbsd] - '@esbuild/openbsd-arm64@0.23.1': - resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} - engines: {node: '>=18'} - cpu: [arm64] - os: [openbsd] - '@esbuild/openbsd-arm64@0.24.2': resolution: {integrity: sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==} engines: {node: '>=18'} @@ -6124,12 +6034,6 @@ packages: cpu: [x64] os: [openbsd] - '@esbuild/openbsd-x64@0.23.1': - resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} - engines: {node: '>=18'} - cpu: [x64] - os: [openbsd] - '@esbuild/openbsd-x64@0.24.2': resolution: {integrity: sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==} engines: {node: '>=18'} @@ -6142,12 +6046,6 @@ packages: cpu: [x64] os: [sunos] - '@esbuild/sunos-x64@0.23.1': - resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} - engines: {node: '>=18'} - cpu: [x64] - os: [sunos] - '@esbuild/sunos-x64@0.24.2': resolution: {integrity: sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==} engines: {node: '>=18'} @@ -6160,12 +6058,6 @@ packages: cpu: [arm64] os: [win32] - '@esbuild/win32-arm64@0.23.1': - resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} - engines: {node: '>=18'} - cpu: [arm64] - os: [win32] - '@esbuild/win32-arm64@0.24.2': resolution: {integrity: sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==} engines: {node: '>=18'} @@ -6178,12 +6070,6 @@ packages: cpu: [ia32] os: [win32] - '@esbuild/win32-ia32@0.23.1': - resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} - engines: {node: '>=18'} - cpu: [ia32] - os: [win32] - '@esbuild/win32-ia32@0.24.2': resolution: {integrity: sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==} engines: {node: '>=18'} @@ -6196,12 +6082,6 @@ packages: cpu: [x64] os: [win32] - '@esbuild/win32-x64@0.23.1': - resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} - engines: {node: '>=18'} - cpu: [x64] - os: [win32] - '@esbuild/win32-x64@0.24.2': resolution: {integrity: sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==} engines: {node: '>=18'} @@ -6540,95 +6420,13 @@ packages: '@octokit/types@13.6.2': resolution: {integrity: sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==} - '@parcel/watcher-android-arm64@2.5.0': - resolution: {integrity: sha512-qlX4eS28bUcQCdribHkg/herLe+0A9RyYC+mm2PXpncit8z5b3nSqGVzMNR3CmtAOgRutiZ02eIJJgP/b1iEFQ==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [android] - - '@parcel/watcher-darwin-arm64@2.5.0': - resolution: {integrity: sha512-hyZ3TANnzGfLpRA2s/4U1kbw2ZI4qGxaRJbBH2DCSREFfubMswheh8TeiC1sGZ3z2jUf3s37P0BBlrD3sjVTUw==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [darwin] + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} - '@parcel/watcher-darwin-x64@2.5.0': - resolution: {integrity: sha512-9rhlwd78saKf18fT869/poydQK8YqlU26TMiNg7AIu7eBp9adqbJZqmdFOsbZ5cnLp5XvRo9wcFmNHgHdWaGYA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [darwin] - - '@parcel/watcher-freebsd-x64@2.5.0': - resolution: {integrity: sha512-syvfhZzyM8kErg3VF0xpV8dixJ+RzbUaaGaeb7uDuz0D3FK97/mZ5AJQ3XNnDsXX7KkFNtyQyFrXZzQIcN49Tw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [freebsd] - - '@parcel/watcher-linux-arm-glibc@2.5.0': - resolution: {integrity: sha512-0VQY1K35DQET3dVYWpOaPFecqOT9dbuCfzjxoQyif1Wc574t3kOSkKevULddcR9znz1TcklCE7Ht6NIxjvTqLA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm-musl@2.5.0': - resolution: {integrity: sha512-6uHywSIzz8+vi2lAzFeltnYbdHsDm3iIB57d4g5oaB9vKwjb6N6dRIgZMujw4nm5r6v9/BQH0noq6DzHrqr2pA==} - engines: {node: '>= 10.0.0'} - cpu: [arm] - os: [linux] - - '@parcel/watcher-linux-arm64-glibc@2.5.0': - resolution: {integrity: sha512-BfNjXwZKxBy4WibDb/LDCriWSKLz+jJRL3cM/DllnHH5QUyoiUNEp3GmL80ZqxeumoADfCCP19+qiYiC8gUBjA==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-arm64-musl@2.5.0': - resolution: {integrity: sha512-S1qARKOphxfiBEkwLUbHjCY9BWPdWnW9j7f7Hb2jPplu8UZ3nes7zpPOW9bkLbHRvWM0WDTsjdOTUgW0xLBN1Q==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [linux] - - '@parcel/watcher-linux-x64-glibc@2.5.0': - resolution: {integrity: sha512-d9AOkusyXARkFD66S6zlGXyzx5RvY+chTP9Jp0ypSTC9d4lzyRs9ovGf/80VCxjKddcUvnsGwCHWuF2EoPgWjw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-linux-x64-musl@2.5.0': - resolution: {integrity: sha512-iqOC+GoTDoFyk/VYSFHwjHhYrk8bljW6zOhPuhi5t9ulqiYq1togGJB5e3PwYVFFfeVgc6pbz3JdQyDoBszVaA==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [linux] - - '@parcel/watcher-win32-arm64@2.5.0': - resolution: {integrity: sha512-twtft1d+JRNkM5YbmexfcH/N4znDtjgysFaV9zvZmmJezQsKpkfLYJ+JFV3uygugK6AtIM2oADPkB2AdhBrNig==} - engines: {node: '>= 10.0.0'} - cpu: [arm64] - os: [win32] - - '@parcel/watcher-win32-ia32@2.5.0': - resolution: {integrity: sha512-+rgpsNRKwo8A53elqbbHXdOMtY/tAtTzManTWShB5Kk54N8Q9mzNWV7tV+IbGueCbcj826MfWGU3mprWtuf1TA==} - engines: {node: '>= 10.0.0'} - cpu: [ia32] - os: [win32] - - '@parcel/watcher-win32-x64@2.5.0': - resolution: {integrity: sha512-lPrxve92zEHdgeff3aiu4gDOIt4u7sJYha6wbdEZDCDUhtjTsOMiaJzG5lMY4GkWH8p0fMmO2Ppq5G5XXG+DQw==} - engines: {node: '>= 10.0.0'} - cpu: [x64] - os: [win32] - - '@parcel/watcher@2.5.0': - resolution: {integrity: sha512-i0GV1yJnm2n3Yq1qw6QrUrd/LI9bE8WEBOTtOkpCXHHdyN3TAGgqAK/DAT05z4fq2x04cARXt2pDmjWjL92iTQ==} - engines: {node: '>= 10.0.0'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} '@playwright/test@1.48.2': resolution: {integrity: sha512-54w1xCWfXuax7dz4W2M9uw0gDyh+ti/0K/MxcCUxChFh37kkdxPdfZDw5QBbuPUJHr1CiHJ1hXgSs+GgeQc5Zw==} @@ -6863,26 +6661,10 @@ packages: '@redux-saga/types@1.2.1': resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} - '@remix-run/router@1.14.0': - resolution: {integrity: sha512-WOHih+ClN7N8oHk9N4JUiMxQJmRVaOxcg8w7F/oHUXzJt920ekASLI/7cYX8XkntDWRhLZtsk6LbGrkgOAvi5A==} - engines: {node: '>=14.0.0'} - - '@remix-run/router@1.2.1': - resolution: {integrity: sha512-XiY0IsyHR+DXYS5vBxpoBe/8veTeoRpMHP+vDosLZxL5bnpetzI0igkxkLZS235ldLzyfkxF+2divEwWHP3vMQ==} - engines: {node: '>=14'} - '@remix-run/router@1.21.0': resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} engines: {node: '>=14.0.0'} - '@remix-run/router@1.5.0': - resolution: {integrity: sha512-bkUDCp8o1MvFO+qxkODcbhSqRa6P2GXgrGZVpt0dCXNW2HCSCqYI0ZoAqEOSAjRWmmlKcYgFvN4B4S+zo/f8kg==} - engines: {node: '>=14'} - - '@remix-run/router@1.7.1': - resolution: {integrity: sha512-bgVQM4ZJ2u2CM8k1ey70o1ePFXsEzYVZoWghh6WjM8p59jQ7HxzbHW4SbnWFG7V9ig9chLawQxDTZ3xzOF8MkQ==} - engines: {node: '>=14'} - '@rollup/plugin-babel@6.0.4': resolution: {integrity: sha512-YF7Y52kFdFT/xVSuVdjkV5ZdX/3YtmX0QulG+x0taQOtJdHYzVU61aSSkAgVJ7NOv6qPkIYiJSgSWWN/DM5sGw==} engines: {node: '>=14.0.0'} @@ -6967,101 +6749,6 @@ packages: rollup: optional: true - '@rollup/rollup-android-arm-eabi@4.29.1': - resolution: {integrity: sha512-ssKhA8RNltTZLpG6/QNkCSge+7mBQGUqJRisZ2MDQcEGaK93QESEgWK2iOpIDZ7k9zPVkG5AS3ksvD5ZWxmItw==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.29.1': - resolution: {integrity: sha512-CaRfrV0cd+NIIcVVN/jx+hVLN+VRqnuzLRmfmlzpOzB87ajixsN/+9L5xNmkaUUvEbI5BmIKS+XTwXsHEb65Ew==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.29.1': - resolution: {integrity: sha512-2ORr7T31Y0Mnk6qNuwtyNmy14MunTAMx06VAPI6/Ju52W10zk1i7i5U3vlDRWjhOI5quBcrvhkCHyF76bI7kEw==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.29.1': - resolution: {integrity: sha512-j/Ej1oanzPjmN0tirRd5K2/nncAhS9W6ICzgxV+9Y5ZsP0hiGhHJXZ2JQ53iSSjj8m6cRY6oB1GMzNn2EUt6Ng==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-freebsd-arm64@4.29.1': - resolution: {integrity: sha512-91C//G6Dm/cv724tpt7nTyP+JdN12iqeXGFM1SqnljCmi5yTXriH7B1r8AD9dAZByHpKAumqP1Qy2vVNIdLZqw==} - cpu: [arm64] - os: [freebsd] - - '@rollup/rollup-freebsd-x64@4.29.1': - resolution: {integrity: sha512-hEioiEQ9Dec2nIRoeHUP6hr1PSkXzQaCUyqBDQ9I9ik4gCXQZjJMIVzoNLBRGet+hIUb3CISMh9KXuCcWVW/8w==} - cpu: [x64] - os: [freebsd] - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - resolution: {integrity: sha512-Py5vFd5HWYN9zxBv3WMrLAXY3yYJ6Q/aVERoeUFwiDGiMOWsMs7FokXihSOaT/PMWUty/Pj60XDQndK3eAfE6A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - resolution: {integrity: sha512-RiWpGgbayf7LUcuSNIbahr0ys2YnEERD4gYdISA06wa0i8RALrnzflh9Wxii7zQJEB2/Eh74dX4y/sHKLWp5uQ==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - resolution: {integrity: sha512-Z80O+taYxTQITWMjm/YqNoe9d10OX6kDh8X5/rFCMuPqsKsSyDilvfg+vd3iXIqtfmp+cnfL1UrYirkaF8SBZA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.29.1': - resolution: {integrity: sha512-fOHRtF9gahwJk3QVp01a/GqS4hBEZCV1oKglVVq13kcK3NeVlS4BwIFzOHDbmKzt3i0OuHG4zfRP0YoG5OF/rA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - resolution: {integrity: sha512-5a7q3tnlbcg0OodyxcAdrrCxFi0DgXJSoOuidFUzHZ2GixZXQs6Tc3CHmlvqKAmOs5eRde+JJxeIf9DonkmYkw==} - cpu: [loong64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - resolution: {integrity: sha512-9b4Mg5Yfz6mRnlSPIdROcfw1BU22FQxmfjlp/CShWwO3LilKQuMISMTtAu/bxmmrE6A902W2cZJuzx8+gJ8e9w==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - resolution: {integrity: sha512-G5pn0NChlbRM8OJWpJFMX4/i8OEU538uiSv0P6roZcbpe/WfhEO+AT8SHVKfp8qhDQzaz7Q+1/ixMy7hBRidnQ==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - resolution: {integrity: sha512-WM9lIkNdkhVwiArmLxFXpWndFGuOka4oJOZh8EP3Vb8q5lzdSCBuhjavJsw68Q9AKDGeOOIHYzYm4ZFvmWez5g==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.29.1': - resolution: {integrity: sha512-87xYCwb0cPGZFoGiErT1eDcssByaLX4fc0z2nRM6eMtV9njAfEE6OW3UniAoDhX4Iq5xQVpE6qO9aJbCFumKYQ==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.29.1': - resolution: {integrity: sha512-xufkSNppNOdVRCEC4WKvlR1FBDyqCSCpQeMMgv9ZyXqqtKBfkw1yfGMTUTs9Qsl6WQbJnsGboWCp7pJGkeMhKA==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - resolution: {integrity: sha512-F2OiJ42m77lSkizZQLuC+jiZ2cgueWQL5YC9tjo3AgaEw+KJmVxHGSyQfDUoYR9cci0lAywv2Clmckzulcq6ig==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - resolution: {integrity: sha512-rYRe5S0FcjlOBZQHgbTKNrqxCBUmgDJem/VQTCcTnA2KCabYSWQDrytOzX7avb79cAAweNmMUb/Zw18RNd4mng==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.29.1': - resolution: {integrity: sha512-+10CMg9vt1MoHj6x1pxyjPSMjHTIlqs8/tBztXvPAx24SKs9jwVnKqHJumlH/IzhaPUaj3T6T6wfZr8okdXaIg==} - cpu: [x64] - os: [win32] - '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} @@ -7164,98 +6851,86 @@ packages: resolution: {integrity: sha512-DtRyjgQi0mObA2uC6H8nL2OhAISKDhvtOXgRjGRBnBhiaWb6df5vPmKHsOHjpweYALBMHtiqE5ajZFkDW/ag8Q==} engines: {node: '>= 18', npm: '>= 8.6.0'} - '@storybook/addon-a11y@8.3.5': - resolution: {integrity: sha512-/19UO8IXbyfcYK5K8ejSYF+hC+EK79c0bBPHMNeYSFOHSqQM3KoMo+TLIcLsuhuRClmlM+4Zs+VSIYDwc+d3ig==} + '@storybook/addon-a11y@8.4.7': + resolution: {integrity: sha512-GpUvXp6n25U1ZSv+hmDC+05BEqxWdlWjQTb/GaboRXZQeMBlze6zckpVb66spjmmtQAIISo0eZxX1+mGcVR7lA==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-actions@8.3.5': - resolution: {integrity: sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg==} + '@storybook/addon-actions@8.4.7': + resolution: {integrity: sha512-mjtD5JxcPuW74T6h7nqMxWTvDneFtokg88p6kQ5OnC1M259iAXb//yiSZgu/quunMHPCXSiqn4FNOSgASTSbsA==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-backgrounds@8.3.5': - resolution: {integrity: sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag==} + '@storybook/addon-backgrounds@8.4.7': + resolution: {integrity: sha512-I4/aErqtFiazcoWyKafOAm3bLpxTj6eQuH/woSbk1Yx+EzN+Dbrgx1Updy8//bsNtKkcrXETITreqHC+a57DHQ==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-controls@8.3.5': - resolution: {integrity: sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ==} + '@storybook/addon-controls@8.4.7': + resolution: {integrity: sha512-377uo5IsJgXLnQLJixa47+11V+7Wn9KcDEw+96aGCBCfLbWNH8S08tJHHnSu+jXg9zoqCAC23MetntVp6LetHA==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-docs@8.3.5': - resolution: {integrity: sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA==} + '@storybook/addon-docs@8.4.7': + resolution: {integrity: sha512-NwWaiTDT5puCBSUOVuf6ME7Zsbwz7Y79WF5tMZBx/sLQ60vpmJVQsap6NSjvK1Ravhc21EsIXqemAcBjAWu80w==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-essentials@8.3.5': - resolution: {integrity: sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw==} + '@storybook/addon-essentials@8.4.7': + resolution: {integrity: sha512-+BtZHCBrYtQKILtejKxh0CDRGIgTl9PumfBOKRaihYb4FX1IjSAxoV/oo/IfEjlkF5f87vouShWsRa8EUauFDw==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-highlight@8.3.5': - resolution: {integrity: sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw==} + '@storybook/addon-highlight@8.4.7': + resolution: {integrity: sha512-whQIDBd3PfVwcUCrRXvCUHWClXe9mQ7XkTPCdPo4B/tZ6Z9c6zD8JUHT76ddyHivixFLowMnA8PxMU6kCMAiNw==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-measure@8.3.5': - resolution: {integrity: sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg==} + '@storybook/addon-measure@8.4.7': + resolution: {integrity: sha512-QfvqYWDSI5F68mKvafEmZic3SMiK7zZM8VA0kTXx55hF/+vx61Mm0HccApUT96xCXIgmwQwDvn9gS4TkX81Dmw==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-outline@8.3.5': - resolution: {integrity: sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw==} + '@storybook/addon-outline@8.4.7': + resolution: {integrity: sha512-6LYRqUZxSodmAIl8icr585Oi8pmzbZ90aloZJIpve+dBAzo7ydYrSQxxoQEVltXbKf3VeVcrs64ouAYqjisMYA==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-storysource@8.3.5': - resolution: {integrity: sha512-NdVVlBtVRLBeMNwaMNd+B/XDNbQGQ4yKjZOCNBzGsV0sf0fAm8BQ7D5HJFbL4/VoZmRxlYCeQRYHu+/iE2VJhg==} + '@storybook/addon-storysource@8.4.7': + resolution: {integrity: sha512-ckMSiVf+8V3IVN3lTdzCdToXVoGhZ57pwMv0OpkdVIEn6sqHFHwHrOYiXpF3SXTicwayjylcL1JXTGoBFFDVOQ==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-toolbars@8.3.5': - resolution: {integrity: sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA==} + '@storybook/addon-toolbars@8.4.7': + resolution: {integrity: sha512-OSfdv5UZs+NdGB+nZmbafGUWimiweJ/56gShlw8Neo/4jOJl1R3rnRqqY7MYx8E4GwoX+i3GF5C3iWFNQqlDcw==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 - '@storybook/addon-viewport@8.3.5': - resolution: {integrity: sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw==} + '@storybook/addon-viewport@8.4.7': + resolution: {integrity: sha512-hvczh/jjuXXcOogih09a663sRDDSATXwbE866al1DXgbDFraYD/LxX/QDb38W9hdjU9+Qhx8VFIcNWoMQns5HQ==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 '@storybook/addon-webpack5-compiler-babel@3.0.3': resolution: {integrity: sha512-rVQTTw+oxJltbVKaejIWSHwVKOBJs3au21f/pYXhV0aiNgNhxEa3vr79t/j0j8ox8uJtzM8XYOb7FlkvGfHlwQ==} engines: {node: '>=18'} - '@storybook/blocks@8.3.5': - resolution: {integrity: sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.5 - peerDependenciesMeta: - react: - optional: true - react-dom: - optional: true - - '@storybook/blocks@8.4.6': - resolution: {integrity: sha512-Gzbx8hM7ZQIHlQELcFIMbY1v+r1Po4mlinq0QVPtKS4lBcW4eZIsesbxOaL+uFNrxb583TLFzXo0DbRPzS46sg==} + '@storybook/blocks@8.4.7': + resolution: {integrity: sha512-+QH7+JwXXXIyP3fRCxz/7E2VZepAanXJM7G8nbR3wWsqWgrRp4Wra6MvybxAYCxU7aNfJX5c+RW84SNikFpcIA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.6 + storybook: ^8.4.7 peerDependenciesMeta: react: optional: true react-dom: optional: true - '@storybook/builder-webpack5@8.3.5': - resolution: {integrity: sha512-rhmfdiSlDn3Arki7IMYk11PO29rYuYM4LZ8GlNqREU7VUl/8Vngo/jFIa4pKaIns3ql1RrwzO1wm9JvuL/4ydA==} + '@storybook/builder-webpack5@8.4.7': + resolution: {integrity: sha512-O8LpsQ+4g2x5kh7rI9+jEUdX8k1a5egBQU1lbudmHchqsV0IKiVqBD9LL5Gj3wpit4vB8coSW4ZWTFBw8FQb4Q==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 typescript: '*' peerDependenciesMeta: typescript: @@ -7266,13 +6941,8 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/components@8.3.5': - resolution: {integrity: sha512-Rq28YogakD3FO4F8KwAtGpo1g3t4V/gfCLqTQ8B6oQUFoxLqegkWk/DlwCzvoJndXuQJfdSyM6+r1JcA4Nql5A==} - peerDependencies: - storybook: ^8.3.5 - - '@storybook/components@8.4.6': - resolution: {integrity: sha512-9tKSJJCyFT5RZMRGyozTBJkr9C9Yfk1nuOE9XbDEE1Z+3/IypKR9+iwc5mfNBStDNY+rxtYWNLKBb5GPR2yhzA==} + '@storybook/components@8.4.7': + resolution: {integrity: sha512-uyJIcoyeMWKAvjrG9tJBUCKxr2WZk+PomgrgrUwejkIfXMO76i6jw9BwLa0NZjYdlthDv30r9FfbYZyeNPmF0g==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -7286,26 +6956,23 @@ packages: peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/core-webpack@8.3.5': - resolution: {integrity: sha512-mN8BHNc6lSGUf/nKgDr6XoTt1cX+Tap9RnKMUiROCDzfVlJPeJBrG4qrTOok7AwObzeDl9DNFyun6+pVgXJe7A==} + '@storybook/core-webpack@8.4.7': + resolution: {integrity: sha512-Tj+CjQLpFyBJxhhMms+vbPT3+gTRAiQlrhY3L1IEVwBa3wtRMS0qjozH26d1hK4G6mUIEdwu13L54HMU/w33Sg==} peerDependencies: - storybook: ^8.3.5 - - '@storybook/core@8.3.5': - resolution: {integrity: sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q==} + storybook: ^8.4.7 - '@storybook/core@8.4.6': - resolution: {integrity: sha512-WeojVtHy0/t50tzw/15S+DLzKsj8BN9yWdo3vJMvm+nflLFvfq1XvD9WGOWeaFp8E/o3AP+4HprXG0r42KEJtA==} + '@storybook/core@8.4.7': + resolution: {integrity: sha512-7Z8Z0A+1YnhrrSXoKKwFFI4gnsLbWzr8fnDCU6+6HlDukFYh8GHRcZ9zKfqmy6U3hw2h8H5DrHsxWfyaYUUOoA==} peerDependencies: prettier: ^2 || ^3 peerDependenciesMeta: prettier: optional: true - '@storybook/csf-plugin@8.3.5': - resolution: {integrity: sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA==} + '@storybook/csf-plugin@8.4.7': + resolution: {integrity: sha512-Fgogplu4HImgC+AYDcdGm1rmL6OR1rVdNX1Be9C/NEXwOCpbbBwi0BxTf/2ZxHRk9fCeaPEcOdP5S8QHfltc1g==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 '@storybook/csf-tools@8.4.7': resolution: {integrity: sha512-UR+qMZFEII1e9Gx3RViQoqpSIQnaZWiGQFE2u+wjMMRzqoP2TMRnAHM1d8m6Tk0c1BSrcRt4tUfJkIsTI0o5vw==} @@ -7325,35 +6992,25 @@ packages: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - '@storybook/manager-api@8.3.5': - resolution: {integrity: sha512-fEQoKKi7h7pzh2z9RfuzatJxubrsfL/CB99fNXQ0wshMSY/7O4ckd18pK4fzG9ErnCtLAO9qsim4N/4eQC+/8Q==} - peerDependencies: - storybook: ^8.3.5 - - '@storybook/manager-api@8.4.6': - resolution: {integrity: sha512-TsXlQ5m5rTl2KNT9icPFyy822AqXrx1QplZBt/L7cFn7SpqQKDeSta21FH7MG0piAvzOweXebVSqKngJ6cCWWQ==} + '@storybook/manager-api@8.4.7': + resolution: {integrity: sha512-ELqemTviCxAsZ5tqUz39sDmQkvhVAvAgiplYy9Uf15kO0SP2+HKsCMzlrm2ue2FfkUNyqbDayCPPCB0Cdn/mpQ==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 - '@storybook/preset-react-webpack@8.3.5': - resolution: {integrity: sha512-laS9CiZrZ4CSnBTBfkBba3hmlDhzcjIfCvx8/rk3SZ+zh93NpqXixzRt6m0UH2po63dpdu21nXrsW5Cfs88Ypw==} + '@storybook/preset-react-webpack@8.4.7': + resolution: {integrity: sha512-geTSBKyrBagVihil5MF7LkVFynbfHhCinvnbCZZqXW7M1vgcxvatunUENB+iV8eWg/0EJ+8O7scZL+BAxQ/2qg==} engines: {node: '>=18.0.0'} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.5 + storybook: ^8.4.7 typescript: '*' peerDependenciesMeta: typescript: optional: true - '@storybook/preview-api@8.3.5': - resolution: {integrity: sha512-VPqpudE8pmjTLvdNJoW/2//nqElDgUOmIn3QxbbCmdZTHDg5tFtxuqwdlNfArF0TxvTSBDIulXt/Q6K56TAfTg==} - peerDependencies: - storybook: ^8.3.5 - - '@storybook/preview-api@8.4.6': - resolution: {integrity: sha512-LbD+lR1FGvWaJBXteVx5xdgs1x1D7tyidBg2CsW2ex+cP0iJ176JgjPfutZxlWOfQnhfRYNnJ3WKoCIfxFOTKA==} + '@storybook/preview-api@8.4.7': + resolution: {integrity: sha512-0QVQwHw+OyZGHAJEXo6Knx+6/4er7n2rTDE5RYJ9F2E2Lg42E19pfdLlq2Jhoods2Xrclo3wj6GWR//Ahi39Eg==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -7363,55 +7020,33 @@ packages: typescript: '>= 4.x' webpack: '>= 4' - '@storybook/react-dom-shim@8.3.5': - resolution: {integrity: sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.5 - - '@storybook/react-dom-shim@8.4.6': - resolution: {integrity: sha512-f7RM8GO++fqMxbjNdEzeGS1P821jXuwRnAraejk5hyjB5SqetauFxMwoFYEYfJXPaLX2qIubnIJ78hdJ/IBaEA==} - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.6 - - '@storybook/react-webpack5@8.3.5': - resolution: {integrity: sha512-J7jCxjCuWvRJrAtOwe4ij8rjfTGm1Dpsfbz8xar4ItVw7ikiyALr34E3FJzfgq7M40uGXZhvCl2IVRdGeiLmzg==} - engines: {node: '>=18.0.0'} + '@storybook/react-dom-shim@8.4.7': + resolution: {integrity: sha512-6bkG2jvKTmWrmVzCgwpTxwIugd7Lu+2btsLAqhQSzDyIj2/uhMNp8xIMr/NBDtLgq3nomt9gefNa9xxLwk/OMg==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.5 - typescript: '>= 4.2.x' - peerDependenciesMeta: - typescript: - optional: true + storybook: ^8.4.7 - '@storybook/react@8.3.5': - resolution: {integrity: sha512-kuBPe/wBin10SWr4EWPKxiTRGQ4RD2etGEVWVQLqVpOuJp/J2hVvXQHtCfZXU4TZT5x4PBbPRswbr58+XlF+kQ==} + '@storybook/react-webpack5@8.4.7': + resolution: {integrity: sha512-T9GLqlsP4It4El7cC8rSkBPRWvORAsTDULeWlO36RST2TrYnmBOUytsi22mk7cAAAVhhD6rTrs1YdqWRMpfa1w==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.3.5 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.3.5 + storybook: ^8.4.7 typescript: '>= 4.2.x' peerDependenciesMeta: - '@storybook/test': - optional: true typescript: optional: true - '@storybook/react@8.4.6': - resolution: {integrity: sha512-QAT23beoYNLhFGAXPimtuMErvpcI7eZbZ4AlLqW1fhiTZrRYw06cjC1bs9H3tODMcHH9LS5p3Wz9b29jtV2XGw==} + '@storybook/react@8.4.7': + resolution: {integrity: sha512-nQ0/7i2DkaCb7dy0NaT95llRVNYWQiPIVuhNfjr1mVhEP7XD090p0g7eqUmsx8vfdHh2BzWEo6CoBFRd3+EXxw==} engines: {node: '>=18.0.0'} peerDependencies: - '@storybook/test': 8.4.6 + '@storybook/test': 8.4.7 react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0-beta - storybook: ^8.4.6 + storybook: ^8.4.7 typescript: '>= 4.2.x' peerDependenciesMeta: '@storybook/test': @@ -7419,23 +7054,18 @@ packages: typescript: optional: true - '@storybook/source-loader@8.3.5': - resolution: {integrity: sha512-rQRWMqsM2PROeQxBCX23sDKdTMpdkub3A2Q3+6JhVzYRQodQrQDbzVRULq3G7RGXdktTkE+huVO4pLKaDa7PDw==} + '@storybook/source-loader@8.4.7': + resolution: {integrity: sha512-DrsYGGfNbbqlMzkhbLoNyNqrPa4QIkZ6O7FJ8Z/8jWb0cerQH2N6JW6k12ZnXgs8dO2Z33+iSEDIV8odh0E0PA==} peerDependencies: - storybook: ^8.3.5 + storybook: ^8.4.7 '@storybook/test-runner@0.19.1': resolution: {integrity: sha512-Nc4djXw3Lv3AAXg6TJ7yVTeuMryjMsTDd8GCbE/PStU602rpe8syEqElz78GPoJqB1VYWQ3T9pcu93MKyHT+xQ==} engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true - '@storybook/theming@8.3.5': - resolution: {integrity: sha512-9HmDDyC691oqfg4RziIM9ElsS2HITaxmH7n/yeUPtuirkPdAQzqOzhvH/Sa0qOhifzs8VjR+Gd/a/ZQ+S38r7w==} - peerDependencies: - storybook: ^8.3.5 - - '@storybook/theming@8.4.6': - resolution: {integrity: sha512-q7vDPN/mgj7cXIVQ9R1/V75hrzNgKkm2G0LjMo57//9/djQ+7LxvBsR1iScbFIRSEqppvMiBFzkts+2uXidySA==} + '@storybook/theming@8.4.7': + resolution: {integrity: sha512-99rgLEjf7iwfSEmdqlHkSG3AyLcK0sfExcr0jnc6rLiAkBhzuIsvcHjjUwkR210SOCgXqBPW0ZA6uhnuyppHLw==} peerDependencies: storybook: ^8.2.0 || ^8.3.0-0 || ^8.4.0-0 || ^8.5.0-0 || ^8.6.0-0 @@ -7720,17 +7350,11 @@ packages: '@types/babel__traverse@7.20.6': resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} - '@types/body-parser@1.19.5': - resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} - '@types/clean-css@4.2.11': resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==} - '@types/connect@3.4.38': - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - - '@types/css-tree@2.3.9': - resolution: {integrity: sha512-g1FE6xkPDP4tsccmTd6jIugjKZdxIDqAf9h2pc+4LsGgYbOyfa9phNjBHYbm6FtwIlNfT1NBx3f2zSeqO7aRAw==} + '@types/css-tree@2.3.10': + resolution: {integrity: sha512-WcaBazJ84RxABvRttQjjFWgTcHvZR9jGr0Y3hccPkHjFyk/a3N8EuxjKr+QfrwjoM5b1yI1Uj1i7EzOAAwBwag==} '@types/d3-array@3.0.3': resolution: {integrity: sha512-Reoy+pKnvsksN0lQUlcH6dOGjRZ/3WRwXR//m+/8lt1BXeI4xyaUZoqULNjyXXRuh0Mj4LNpkCvhUpQlY3X5xQ==} @@ -7774,21 +7398,9 @@ packages: '@types/doctrine@0.0.9': resolution: {integrity: sha512-eOIHzCUSH7SMfonMG1LsC2f8vxBFtho6NGBznK41R84YzPuvSBzrhEps33IsQiOW9+VL6NQ9DbjQJznk/S4uRA==} - '@types/escodegen@0.0.6': - resolution: {integrity: sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==} - - '@types/estree@0.0.51': - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} - '@types/express-serve-static-core@4.19.6': - resolution: {integrity: sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A==} - - '@types/express@4.17.21': - resolution: {integrity: sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==} - '@types/geojson@7946.0.15': resolution: {integrity: sha512-9oSxFzDCT2Rj6DfcHF8G++jxBKS7mBqXl5xrRW+Kbvjry6Uduya2iiwqHPhVXpasAVMBYKkEPGgKhd3+/HZ6xA==} @@ -7801,9 +7413,6 @@ packages: '@types/gradient-parser@0.1.3': resolution: {integrity: sha512-XDbrTSBlQV9nxE1GiDL3FaOPy4G/KaJkhDutBX48Kg8CYZMBARyyDFGCWfWJn4pobmInmwud1xxH7VJMAr0CKQ==} - '@types/hast@3.0.4': - resolution: {integrity: sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==} - '@types/highlight-words-core@1.2.1': resolution: {integrity: sha512-9VZUA5omXBfn+hDxFjUDu1FOJTBM3LmvqfDey+Z6Aa8B8/JmF5SMj6FBrjfgJ/Q3YXOZd3qyTDfJyMZSs/wCUA==} @@ -7816,9 +7425,6 @@ packages: '@types/html-minifier-terser@6.1.0': resolution: {integrity: sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==} - '@types/http-errors@2.0.4': - resolution: {integrity: sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==} - '@types/istanbul-lib-coverage@2.0.6': resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} @@ -7864,9 +7470,6 @@ packages: '@types/mdx@2.0.13': resolution: {integrity: sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==} - '@types/mime@1.3.5': - resolution: {integrity: sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==} - '@types/minimatch@5.1.2': resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} @@ -7882,11 +7485,11 @@ packages: '@types/node@18.19.67': resolution: {integrity: sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==} - '@types/node@20.17.9': - resolution: {integrity: sha512-0JOXkRyLanfGPE2QRCwgxhzlBAvaRdCNMcvbd7jFfpmD4eEXll7LRwy5ymJmyeZqk7Nh7eD2LeUyQ68BbndmXw==} + '@types/node@20.17.11': + resolution: {integrity: sha512-Ept5glCK35R8yeyIeYlRIZtX6SLRyqMhOFTgj5SOkMpLTdw3SEHI9fHx60xaUZ+V1aJxQJODE+7/j5ocZydYTg==} - '@types/node@22.10.1': - resolution: {integrity: sha512-qKgsUwfHZV2WCWLAnVP1JqnpE6Im6h3Y0+fYgMTasNQ7V++CBX5OT1as0g0f+OyubbFqhf6XVNIsmN4IIhEgGQ==} + '@types/node@22.10.3': + resolution: {integrity: sha512-DifAyw4BkrufCILvD3ucnuN8eydUfc/C1GlyrnI+LK6543w5/L3VeVgf05o3B4fqSXP1dKYLOZsKfutpxPzZrw==} '@types/parse-json@4.0.2': resolution: {integrity: sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==} @@ -7894,17 +7497,13 @@ packages: '@types/prop-types@15.7.14': resolution: {integrity: sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ==} - '@types/qrcode.react@1.0.5': - resolution: {integrity: sha512-BghPtnlwvrvq8QkGa1H25YnN+5OIgCKFuQruncGWLGJYOzeSKiix/4+B9BtfKF2wf5ja8yfyWYA3OXju995G8w==} - '@types/qs@6.9.17': resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} - '@types/range-parser@1.2.7': - resolution: {integrity: sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==} - - '@types/react-dom@18.3.1': - resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@18.3.5': + resolution: {integrity: sha512-P4t6saawp+b/dFrUr2cvkVsfvPguwsxtH6dNIYRllMsefqFzkZk5UIjzyDOv5g1dXIPdG4Sp1yCR4Z6RCUsG/Q==} + peerDependencies: + '@types/react': ^18.0.0 '@types/react-redux@7.1.34': resolution: {integrity: sha512-GdFaVjEbYv4Fthm2ZLvj1VSCedV7TqE5y1kNwnjSdBOTXuRSgowux6J8TAct15T3CKBr63UMk+2CO7ilRhyrAQ==} @@ -7918,11 +7517,8 @@ packages: '@types/react-slider@1.3.6': resolution: {integrity: sha512-RS8XN5O159YQ6tu3tGZIQz1/9StMLTg/FCIPxwqh2gwVixJnlfIodtVx+fpXVMZHe7A58lAX1Q4XTgAGOQaCQg==} - '@types/react@18.3.12': - resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} - - '@types/react@18.3.13': - resolution: {integrity: sha512-ii/gswMmOievxAJed4PAHT949bpYjPKXvXo1v6cRB/kqc2ZR4n+SgyCyvyc5Fec5ez8VnUumI1Vk7j6fRyRogg==} + '@types/react@18.3.18': + resolution: {integrity: sha512-t4yC+vtgnkYjNSKlFx1jkAhH8LgTo2N/7Qvi83kdEaUtMDiwpbLAktKDaAMlRcJ5eSxZkH74eEGt1ky31d7kfQ==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -7942,12 +7538,6 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@types/send@0.17.4': - resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} - - '@types/serve-static@1.15.7': - resolution: {integrity: sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==} - '@types/simple-peer@9.11.8': resolution: {integrity: sha512-rvqefdp2rvIA6wiomMgKWd2UZNPe6LM2EV5AuY3CPQJF+8TbdrL5TjYdMf0VAjGczzlkH4l1NjDkihwbj3Xodw==} @@ -7975,8 +7565,8 @@ packages: '@types/wait-on@5.3.4': resolution: {integrity: sha512-EBsPjFMrFlMbbUFf9D1Fp+PAB2TwmUn7a3YtHyD9RLuTIk1jDd8SxXVAoez2Ciy+8Jsceo2MYEYZzJ/DvorOKw==} - '@types/wordpress__block-editor@11.5.15': - resolution: {integrity: sha512-RaVPHOaSq9jsrdOkbtsx3Ly/IivD1CgKrshnNvlYtLZfXHe5H1g9Nw3UQtI0S4AW1XQCiCu67i4qgq4FfdR1kg==} + '@types/wordpress__block-editor@11.5.16': + resolution: {integrity: sha512-E/HU2zRiw09QvS1To0e1Noi61+klIIfQAwGK7zp+EWcuBoHHNsayXLjBmVGW6C/P2aPeHmqm2duVomPHMEFQcg==} '@types/wordpress__blocks@12.5.16': resolution: {integrity: sha512-WA6lsGY/DBR918wxWClG0rhg1o0qByYjfRzsXkQkKbbKb5RoCZV8ZTV5NyUHxaJUSI+PGjAX1DThQJESLWJkKQ==} @@ -8080,9 +7670,6 @@ packages: resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.2.1': - resolution: {integrity: sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==} - '@use-gesture/core@10.3.1': resolution: {integrity: sha512-WcINiDt8WjqBdUXye25anHiNxPc0VOrlT8F6LLkU6cycrOGUDyY/yyFmsg3k8i5OLvv25llc0QC45GhR/C8llw==} @@ -8678,19 +8265,10 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn-walk@7.2.0: - resolution: {integrity: sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==} - engines: {node: '>=0.4.0'} - acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} - acorn@7.4.1: - resolution: {integrity: sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==} - engines: {node: '>=0.4.0'} - hasBin: true - acorn@8.14.0: resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} @@ -8812,9 +8390,6 @@ packages: zenObservable: optional: true - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -8906,6 +8481,9 @@ packages: asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + atomically@2.0.3: + resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} + autoprefixer@10.4.20: resolution: {integrity: sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==} engines: {node: ^10 || ^12 || >=14} @@ -9086,13 +8664,8 @@ packages: browser-assert@1.2.1: resolution: {integrity: sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==} - browserslist@4.23.1: - resolution: {integrity: sha512-TUfofFo/KsK/bWZ9TWQ5O26tsWW4Uhmt8IYklbnUa70udB6P2wA7w7o4PY4muaEPBQaAX+CEnmmIA41NVHtPVw==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - browserslist@4.24.2: - resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + browserslist@4.24.3: + resolution: {integrity: sha512-1CPmv8iobE2fyRMV97dAcMVegvvWKxmq94hkLiAkUGwKVTyDLw33K+ZxiFrREKmmps4rIw6grcCFCnTMSZ/YiA==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true @@ -9109,9 +8682,6 @@ packages: buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - buffer-from@0.1.2: - resolution: {integrity: sha512-RiWIenusJsmI2KcvqQABB83tLxCByE3upSP8QU3rJDMVFGPWLvPQJt/O1Su9moRWeH7d+Q2HYb68f6+v+tw2vg==} - buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -9124,12 +8694,6 @@ packages: builtin-status-codes@2.0.0: resolution: {integrity: sha512-8KPx+JfZWi0K8L5sycIOA6/ZFZbaFKXDeUIXaqwUnhed1Ge1cB0wyq+bNDjKnL9AR2Uj3m/khkF6CDolsyMitA==} - bundle-require@5.1.0: - resolution: {integrity: sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - peerDependencies: - esbuild: '>=0.18' - bytes-iec@3.1.1: resolution: {integrity: sha512-fey6+4jDK7TFtFg/klGSvNKJctyU7n2aQdnM+CO0ruLPbqqMOM8Tio0Pc+deqUeVKX1tL5DQep1zQ7+37aTAsA==} engines: {node: '>= 0.8'} @@ -9138,10 +8702,6 @@ packages: resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} engines: {node: '>= 0.8'} - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - caching-transform@4.0.0: resolution: {integrity: sha512-kpqOvwXnjjN44D89K5ccQC+RUrsy7jB/XLlRrx0D7/2HNcTPqzsb6XgYoErwko6QsV184CA2YgS1fxDiiDZMWA==} engines: {node: '>=8'} @@ -9182,8 +8742,8 @@ packages: caniuse-api@3.0.0: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} - caniuse-lite@1.0.30001687: - resolution: {integrity: sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==} + caniuse-lite@1.0.30001690: + resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==} capital-case@1.0.4: resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} @@ -9250,8 +8810,8 @@ packages: resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} engines: {node: '>= 8.10.0'} - chokidar@4.0.1: - resolution: {integrity: sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA==} + chokidar@4.0.3: + resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} chrome-trace-event@1.0.4: @@ -9378,16 +8938,16 @@ packages: resolution: {integrity: sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==} engines: {node: '>=18'} + commander@13.0.0: + resolution: {integrity: sha512-oPYleIY8wmTVzkvQq10AEok6YcTC4sRUBl8F9gVuwchGVUCTbl/vhLTaQqutuuySYOsu8YTgV+OxKc/8Yvx+mQ==} + engines: {node: '>=18'} + commander@2.20.3: resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} commander@3.0.2: resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - commander@4.1.1: - resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} - engines: {node: '>= 6'} - commander@5.1.0: resolution: {integrity: sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==} engines: {node: '>= 6'} @@ -9400,10 +8960,6 @@ packages: resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==} engines: {node: '>= 12'} - commander@9.3.0: - resolution: {integrity: sha512-hv95iU5uXPbK83mjrJKuZyFM/LBAoCV/XhVGkS5Je6tl7sxr6A0ITMw5WoRV46/UaJ46Nllm3Xt7IaJhXTIkzw==} - engines: {node: ^12.20.0 || >=14} - comment-parser@1.4.1: resolution: {integrity: sha512-buhp5kePrmda3vhc5B9t7pUQXAb2Tnd0qgpkIhPhkHXxJpiPJ11H0ZEU0oBpJ2QztSbzG/ZxMj/CHsYJqRHmyg==} engines: {node: '>= 12.0.0'} @@ -9434,17 +8990,13 @@ packages: engines: {node: ^12.20.0 || ^14.13.0 || >=16.0.0} hasBin: true - config@3.3.7: - resolution: {integrity: sha512-mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==} + config@3.3.12: + resolution: {integrity: sha512-Vmx389R/QVM3foxqBzXO8t2tUikYZP64Q6vQxGrsMpREeJc/aWRnPRERXWsYzOHAumx/AOoILWe6nU3ZJL+6Sw==} engines: {node: '>= 10.0.0'} - configstore@5.0.1: - resolution: {integrity: sha512-aMKprgk5YhBNyH25hj8wGt2+D52Sw1DRRIzqBwLp2Ya9mFmY8KPvvtvmna8SxVR9JMZ4kzMD68N22vlaRpkeFA==} - engines: {node: '>=8'} - - consola@3.3.3: - resolution: {integrity: sha512-Qil5KwghMzlqd51UXM0b6fyaGHtOC22scxrwrz4A2882LyUMwQjnvaedN1HAeXzphspQ6CpHkzMAWxBTUruDLg==} - engines: {node: ^14.18.0 || >=16.10.0} + configstore@7.0.0: + resolution: {integrity: sha512-yk7/5PN5im4qwz0WFZW3PXnzHgPu9mX29Y8uZ3aefe2lBPC1FYttWZRcaW9fKkT0pBCJyuQ2HfbmPVaODi9jcQ==} + engines: {node: '>=18'} constant-case@3.0.4: resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} @@ -9519,10 +9071,6 @@ packages: crypto-js@4.2.0: resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - crypto-random-string@2.0.0: - resolution: {integrity: sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==} - engines: {node: '>=8'} - css-declaration-sorter@7.2.0: resolution: {integrity: sha512-h70rUM+3PNFuaBDTLe8wF/cdWu+dOZmb7pJt8Z2sedYbAcQVQV/tEchueg3GWxwqS0cxtbxmaHEdkNACqcvsow==} engines: {node: ^14 || ^16 || >=18} @@ -9752,15 +9300,6 @@ packages: supports-color: optional: true - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - debug@4.4.0: resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -9854,11 +9393,6 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - detect-libc@1.0.3: - resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==} - engines: {node: '>=0.10'} - hasBin: true - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} @@ -9959,9 +9493,9 @@ packages: dot-case@3.0.4: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - dot-prop@5.3.0: - resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} - engines: {node: '>=8'} + dot-prop@9.0.0: + resolution: {integrity: sha512-1gxPBJpI/pcjQhKgIU91II6Wkay+dLcN3M6rf2uwP8hRur3HtQXjVrdAK3sjC0piaEuxzMwjXChcETiJl47lAQ==} + engines: {node: '>=18'} dotenv@16.0.2: resolution: {integrity: sha512-JvpYKUmzQhYoIFgK2MOnF3bciIZoItIIoryihy0rIA+H4Jy0FmgyKYAHCTN98P5ybGSJcIFbh6QKeJdtZd1qhA==} @@ -9985,8 +9519,8 @@ packages: engines: {node: '>=0.10.0'} hasBin: true - electron-to-chromium@1.5.71: - resolution: {integrity: sha512-dB68l59BI75W1BUGVTAEJy45CEVuEGy9qPVVQ8pnHyHMn36PLPPoE1mjLH+lo9rKulO3HC2OhbACI/8tCqJBcA==} + electron-to-chromium@1.5.76: + resolution: {integrity: sha512-CjVQyG7n7Sr+eBXE86HIulnL5N8xZY1sgmOPGuq/F0Rr0FJq63lg0kEtOIDfZBk44FnDLf6FUJ+dsJcuiUDdDQ==} elegant-spinner@1.0.1: resolution: {integrity: sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==} @@ -10051,9 +9585,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} - envfile@6.17.0: - resolution: {integrity: sha512-RnhtVw3auDZeeh5VtaNrbE7s6Kq8BoRtGIzcbMpMsJ+wIpRgs5jiDG4gQjW+vfws5QPlizE57/fUU0Tj6Nrs8A==} - engines: {node: '>=10'} + envfile@7.1.0: + resolution: {integrity: sha512-dyH4QnnZsArCLhPASr29eqBWDvKpq0GggQFTmysTT/S9TTmt1JrEKNvTBc09Cd7ujVZQful2HBGRMe2agu7Krg==} + engines: {node: '>=8'} hasBin: true envinfo@7.14.0: @@ -10110,6 +9644,9 @@ packages: resolution: {integrity: sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==} engines: {node: '>= 0.4'} + es-toolkit@1.31.0: + resolution: {integrity: sha512-vwS0lv/tzjM2/t4aZZRAgN9I9TP0MSkWuvt6By+hEXfG/uLs8yg2S1/ayRXH/x3pinbLgVJYT+eppueg3cM6tg==} + es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -10123,22 +9660,11 @@ packages: peerDependencies: esbuild: '>=0.12 <1' - esbuild-sass-plugin@3.3.1: - resolution: {integrity: sha512-SnO1ls+d52n6j8gRRpjexXI8MsHEaumS0IdDHaYM29Y6gakzZYMls6i9ql9+AWMSQk/eryndmUpXEgT34QrX1A==} - peerDependencies: - esbuild: '>=0.20.1' - sass-embedded: ^1.71.1 - esbuild@0.17.19: resolution: {integrity: sha512-XQ0jAPFkK/u3LcVRcvVHQcTIqD6E2H1fvZMA5dQPSOWb3suUbWbfbRf94pjc0bNzRYLfIrDRQXr7X+LHIm5oHw==} engines: {node: '>=12'} hasBin: true - esbuild@0.23.1: - resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} - engines: {node: '>=18'} - hasBin: true - esbuild@0.24.2: resolution: {integrity: sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==} engines: {node: '>=18'} @@ -10538,9 +10064,9 @@ packages: filelist@1.0.4: resolution: {integrity: sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==} - filesize@8.0.6: - resolution: {integrity: sha512-sHvRqTiwdmcuzqet7iVwsbwF6UrV3wIgDf2SHNdY1Hgl8PC45HZg/0xtdw6U2izIV4lccnrY9ftl6wZFNdjYMg==} - engines: {node: '>= 0.4.0'} + filesize@10.1.6: + resolution: {integrity: sha512-sJslQKU2uM33qH5nqewAwVB2QgR6w1aMNsYUp3aN5rMRyXEwJGmZvaWzeJFNTOXWlHQyBFCWrdj3fV/fsTOX8w==} + engines: {node: '>= 10.4.0'} fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -10695,10 +10221,6 @@ packages: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} - fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - fs-monkey@1.0.6: resolution: {integrity: sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==} @@ -10782,9 +10304,6 @@ packages: git-hooks-list@1.0.3: resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} - github-slugger@2.0.0: - resolution: {integrity: sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==} - gl-matrix@3.4.3: resolution: {integrity: sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==} @@ -10916,15 +10435,6 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} - hast-util-heading-rank@3.0.0: - resolution: {integrity: sha512-EJKb8oMUXVHcWZTDepnr+WNbfnXKFNf9duMesmr4S8SXTJBJ9M4Yok08pu9vxdJwdlGRhVumk9mEhkEvKGifwA==} - - hast-util-is-element@3.0.0: - resolution: {integrity: sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==} - - hast-util-to-string@3.0.1: - resolution: {integrity: sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==} - he@1.2.0: resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true @@ -10966,10 +10476,6 @@ packages: engines: {node: '>=12'} hasBin: true - html-tags@3.3.1: - resolution: {integrity: sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==} - engines: {node: '>=8'} - html-webpack-plugin@5.6.3: resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} engines: {node: '>=10.13.0'} @@ -11126,10 +10632,6 @@ packages: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} - is-absolute-url@4.0.1: - resolution: {integrity: sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-arguments@1.1.1: resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} engines: {node: '>= 0.4'} @@ -11242,10 +10744,6 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - is-observable@1.1.0: resolution: {integrity: sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==} engines: {node: '>=4'} @@ -11598,16 +11096,9 @@ packages: joi@17.13.3: resolution: {integrity: sha512-otDA4ldcIx+ZXsKHWmp0YizCweVRZG96J10b0FevjfuncLO1oX59THoAmHkNubYJ+9gWsYsp5k8v4ib6oDv1fA==} - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - jquery@3.6.0: resolution: {integrity: sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==} - js-base64@2.6.4: - resolution: {integrity: sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==} - js-base64@3.7.7: resolution: {integrity: sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==} @@ -11781,10 +11272,6 @@ packages: engines: {node: '>=8.0.0'} hasBin: true - load-tsconfig@0.2.5: - resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - loader-runner@4.3.0: resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} engines: {node: '>=6.11.5'} @@ -11863,9 +11350,6 @@ packages: lodash.mergewith@4.6.2: resolution: {integrity: sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==} - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - lodash.throttle@4.1.1: resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} @@ -11910,10 +11394,6 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} engines: {node: '>=12'} @@ -11953,19 +11433,13 @@ packages: markdown-it-footnote@3.0.3: resolution: {integrity: sha512-YZMSuCGVZAjzKMn+xqIco9d1cLGxbELHZ9do/TSYVzraooV8ypsppKNmUJ0fVH5ljkCInQAtFpm8Rb3eXSrt5w==} - markdown-it@14.0.0: - resolution: {integrity: sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==} + markdown-it@14.1.0: + resolution: {integrity: sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==} hasBin: true markdown-table@3.0.4: resolution: {integrity: sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==} - markdown-to-jsx@7.7.1: - resolution: {integrity: sha512-BjLkHb+fWCAH9gp7ndbgPrY+zeZlGFtCiQNTWk+PD+GKfLg9YsUPNonSsYXGw6nQ7eZqeR+i71X59PpWXlxc/w==} - engines: {node: '>= 10'} - peerDependencies: - react: '>= 0.14.0' - math-expression-evaluator@1.4.0: resolution: {integrity: sha512-4vRUvPyxdO8cWULGTh9dZWL2tZK6LDBvj+OGHBER7poH9Qdt7kXEoj20wiz4lQUbUXQZFjPbe5mVDo9nutizCw==} @@ -12212,8 +11686,8 @@ packages: moment-timezone@0.5.46: resolution: {integrity: sha512-ZXm9b36esbe7OmdABqIWJuBBiLLwAjrN7CE+7sYdCCx82Nabt1wHDj8TVseS59QIlfFPbOoiBPm6ca9BioG4hw==} - moment@2.29.4: - resolution: {integrity: sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w==} + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} mousetrap@1.6.5: resolution: {integrity: sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA==} @@ -12221,18 +11695,12 @@ packages: ms@2.0.0: resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} murmurhash-js@1.0.0: resolution: {integrity: sha512-TvmkNhkv8yct0SVBSy+o8wYzXjE4Zz3PCesbfs8HiCXXdcTuocApFv11UWlNFWKYsP2okqrhb7JNlSm9InBhIw==} - mz@2.7.0: - resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} - nanoid@3.3.8: resolution: {integrity: sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -12266,9 +11734,6 @@ packages: node-abort-controller@3.1.1: resolution: {integrity: sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==} - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} - node-domexception@1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -12289,8 +11754,8 @@ packages: resolution: {integrity: sha512-RM5oyBy45cLEoHqCeh+MNuFAxO0vTFBLskvQbOKnEE7YTTSN4tbN8QWDIPQ6L+WvKsB/qLEGpYe2ZZ9d4W9OIQ==} engines: {node: '>=8'} - node-releases@2.0.18: - resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + node-releases@2.0.19: + resolution: {integrity: sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==} normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -12614,10 +12079,6 @@ packages: picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} - picomatch@2.2.3: - resolution: {integrity: sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==} - engines: {node: '>=8.6'} - picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} @@ -12733,24 +12194,6 @@ packages: ts-node: optional: true - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} - engines: {node: '>= 18'} - peerDependencies: - jiti: '>=1.21.0' - postcss: '>=8.0.9' - tsx: ^4.8.1 - yaml: ^2.4.2 - peerDependenciesMeta: - jiti: - optional: true - postcss: - optional: true - tsx: - optional: true - yaml: - optional: true - postcss-loader@6.2.0: resolution: {integrity: sha512-H9hv447QjQJVDbHj3OUdciyAXY3v5+UDduzEytAlZCVHCpNAAg/mCSwhYYqZr9BiGYhmYspU8QXxZwiHTLn3yA==} engines: {node: '>= 12.13.0'} @@ -13013,16 +12456,9 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} - prop-types@15.7.2: - resolution: {integrity: sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==} - prop-types@15.8.1: resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - proper-lockfile@2.0.1: - resolution: {integrity: sha512-rjaeGbsmhNDcDInmwi4MuI6mRwJu6zq8GjYCLuSuE7GF+4UjgzkL69sVKKJ2T2xH61kK7rXvGYpvaTu909oXaQ==} - engines: {node: '>=4.0.0'} - proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} @@ -13071,10 +12507,10 @@ packages: q-flat@1.0.7: resolution: {integrity: sha512-Ug+B6yajVE5HF7eAszOvAcYmQ+DbYaDcQlxYuW9RaAqwZTRZQq+lHMGqHlnaxKP7CfuGCpXQXOb4qymRYMkYEQ==} - qrcode.react@3.1.0: - resolution: {integrity: sha512-oyF+Urr3oAMUG/OiOuONL3HXM+53wvuH3mtIWQrYmsXoAq0DkvZp2RYUWFSMFtbdOpuS++9v+WAkzNVkMlNW6Q==} + qrcode.react@4.2.0: + resolution: {integrity: sha512-QpgqWi8rD9DsS9EP3z7BT+5lY5SFhsqGjpgW5DY/i3mK4M9DTBNz3ErMi8BWYEfI3L0d8GIbGmcdFAS1uIRGjA==} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 qs@6.12.1: resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} @@ -13088,8 +12524,8 @@ packages: resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} - qss@2.0.3: - resolution: {integrity: sha512-j48ZBT5IZbSqJiSU8EX4XrN8nXiflHvmMvv2XpFc31gh7n6EpSs75bNr6+oj3FOLWyT8m09pTmqLNl34L7/uPQ==} + qss@3.0.0: + resolution: {integrity: sha512-ZHoCB3M/3Voev64zhLLUOKDtaEdJ/lymsJJ7R3KBusVZ2ovNiIB7XOq3Xh6V1a8O+Vho+g2B5YElq9zW7D8aQw==} engines: {node: '>=4'} querystringify@2.2.0: @@ -13158,12 +12594,6 @@ packages: react: '>=16.4.0' react-dom: '>=16.4.0' - react-element-to-jsx-string@15.0.0: - resolution: {integrity: sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==} - peerDependencies: - react: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-dom: ^0.14.8 || ^15.0.1 || ^16.0.0 || ^17.0.1 || ^18.0.0 - react-fast-compare@3.2.2: resolution: {integrity: sha512-nsO+KSNgo1SbJqJEYRE9ERzo7YtYbou/OqjSQKxV7jcKox7+usiUVZOAC+XnDOABXggQTno0Y1CpVnuWEc1boQ==} @@ -13173,9 +12603,6 @@ packages: react-is@17.0.2: resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} - react-is@18.1.0: - resolution: {integrity: sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==} - react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} @@ -13229,87 +12656,24 @@ packages: peerDependencies: react: '>=15' - react-router-dom@6.10.0: - resolution: {integrity: sha512-E5dfxRPuXKJqzwSe/qGcqdwa18QiWC6f3H3cWXM24qj4N0/beCIf/CWTipop2xm7mR0RCS99NnaqPNjHtrAzCg==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - - react-router-dom@6.14.1: - resolution: {integrity: sha512-ssF6M5UkQjHK70fgukCJyjlda0Dgono2QGwqGvuk7D+EDGHdacEN3Yke2LTMjkrpHuFwBfDFsEjGVXBDmL+bWw==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - - react-router-dom@6.2.2: - resolution: {integrity: sha512-AtYEsAST7bDD4dLSQHDnk/qxWLJdad5t1HFa1qJyUrCeGgEuCSw0VB/27ARbF9Fi/W5598ujvJOm3ujUCVzuYQ==} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - - react-router-dom@6.21.0: - resolution: {integrity: sha512-1dUdVj3cwc1npzJaf23gulB562ESNvxf7E4x8upNJycqyUm5BRRZ6dd3LrlzhtLaMrwOCO8R0zoiYxdaJx4LlQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - - react-router-dom@6.28.0: - resolution: {integrity: sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==} + react-router-dom@6.28.1: + resolution: {integrity: sha512-YraE27C/RdjcZwl5UCqF/ffXnZDxpJdk9Q6jw38SZHjXs7NNdpViq2l2c7fO7+4uWaEfcwfGCv3RSg4e1By/fQ==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' react-dom: '>=16.8' - react-router-dom@6.6.2: - resolution: {integrity: sha512-6SCDXxRQqW5af8ImOqKza7icmQ47/EMbz572uFjzvcArg3lZ+04PxSPp8qGs+p2Y+q+b+S/AjXv8m8dyLndIIA==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - react-dom: '>=16.8' - react-router@5.3.4: resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} peerDependencies: react: '>=15' - react-router@6.10.0: - resolution: {integrity: sha512-Nrg0BWpQqrC3ZFFkyewrflCud9dio9ME3ojHCF/WLsprJVzkq3q3UeEhMCAW1dobjeGbWgjNn/PVF6m46ANxXQ==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - - react-router@6.14.1: - resolution: {integrity: sha512-U4PfgvG55LdvbQjg5Y9QRWyVxIdO1LlpYT7x+tMAxd9/vmiPuJhIwdxZuIQLN/9e3O4KFDHYfR9gzGeYMasW8g==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - - react-router@6.2.2: - resolution: {integrity: sha512-/MbxyLzd7Q7amp4gDOGaYvXwhEojkJD5BtExkuKmj39VEE0m3l/zipf6h2WIB2jyAO0lI6NGETh4RDcktRm4AQ==} - peerDependencies: - react: '>=16.8' - - react-router@6.21.0: - resolution: {integrity: sha512-hGZ0HXbwz3zw52pLZV3j3+ec+m/PQ9cTpBvqjFQmy2XVUWGn5MD+31oXHb6dVTxYzmAeaiUBYjkoNz66n3RGCg==} - engines: {node: '>=14.0.0'} - peerDependencies: - react: '>=16.8' - - react-router@6.28.0: - resolution: {integrity: sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==} + react-router@6.28.1: + resolution: {integrity: sha512-2omQTA3rkMljmrvvo6WtewGdVh45SpL9hGiCI9uUrwGGfNFDIvGK4gYJsKlJoNVi6AQZcopSCballL+QGOm7fA==} engines: {node: '>=14.0.0'} peerDependencies: react: '>=16.8' - react-router@6.6.2: - resolution: {integrity: sha512-uJPG55Pek3orClbURDvfljhqFvMgJRo59Pktywkk8hUUkTY2aRfza8Yhl/vZQXs+TNQyr6tu+uqz/fLxPICOGQ==} - engines: {node: '>=14'} - peerDependencies: - react: '>=16.8' - react-slider@2.0.5: resolution: {integrity: sha512-MU5gaK1yYCKnbDDN3CMiVcgkKZwMvdqK2xUEW7fFU37NAzRgS1FZbF9N7vP08E3XXNVhiuZnwVzUa3PYQAZIMg==} peerDependencies: @@ -13434,12 +12798,6 @@ packages: resolution: {integrity: sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==} hasBin: true - rehype-external-links@3.0.0: - resolution: {integrity: sha512-yp+e5N9V3C6bwBeAC4n796kc86M4gJCdlVhiMTxIrJG5UHDMh+PJANf9heqORJbt1nrCbDwIlAZKjANIaVBbvw==} - - rehype-slug@6.0.0: - resolution: {integrity: sha512-lWyvf/jwu+oS5+hL5eClVd3hNdmwM1kAC0BUvEGD19pajQMIzcNUd/k9GsfQ+FfECvX+JE+e9/btsKH0EjJT6A==} - relateurl@0.2.7: resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} engines: {node: '>= 0.10'} @@ -13537,9 +12895,6 @@ packages: resolution: {integrity: sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==} engines: {node: '>=4'} - retry@0.10.1: - resolution: {integrity: sha512-ZXUSQYTHdl3uS7IuCehYfMzKyIDBNoAuUblvy5oGO5UJSUTmStUUVPXbA9Qxd173Bgre53yCQczQuHgRWAdvJQ==} - retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} @@ -13560,10 +12915,22 @@ packages: robust-predicates@3.0.2: resolution: {integrity: sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==} + rollup-plugin-dts@6.1.1: + resolution: {integrity: sha512-aSHRcJ6KG2IHIioYlvAOcEq6U99sVtqDDKVhnwt70rW6tsz3tv5OSjEiWcgzfsHdLyGXZ/3b/7b/+Za3Y6r1XA==} + engines: {node: '>=16'} + peerDependencies: + rollup: ^3.29.4 || ^4 + typescript: ^4.5 || ^5.0 + rollup-plugin-livereload@2.0.5: resolution: {integrity: sha512-vqQZ/UQowTW7VoiKEM5ouNW90wE5/GZLfdWuR0ELxyKOJUIaj+uismPZZaICU4DnWPVjnpCDDxEqwU7pcKY/PA==} engines: {node: '>=8.3'} + rollup-plugin-peer-deps-external@2.2.4: + resolution: {integrity: sha512-AWdukIM1+k5JDdAqV/Cxd+nejvno2FVLVeZ74NKggm3Q5s9cbbcOgUPGdbxPi4BXu7xGaZ8HG12F+thImYu/0g==} + peerDependencies: + rollup: '*' + rollup-plugin-postcss@4.0.2: resolution: {integrity: sha512-05EaY6zvZdmvPUDi3uCcAQoESDcYnv8ogJJQRp6V5kZ6J6P7uAVJlrTZcaaA20wTH527YTnKfkAoPxWI/jPp4w==} engines: {node: '>=10'} @@ -13590,11 +12957,6 @@ packages: engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true - rollup@4.29.1: - resolution: {integrity: sha512-RaJ45M/kmJUzSWDs1Nnd5DdV4eerC98idtUOVr6FfKcgxqvjwHmxc5upLF9qZU9EpsVzzhleFahrT3shLuJzIw==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - route-recognizer@0.3.4: resolution: {integrity: sha512-2+MhsfPhvauN1O8KaXpXAOfR/fwe8dnUXVM+xw7yt40lJRfPVQxV6yryZm0cgRvAj5fMF/mdRZbL2ptwbs5i2g==} @@ -13785,11 +13147,6 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - sass@1.83.0: - resolution: {integrity: sha512-qsSxlayzoOjdvXMVLkzF84DJFc2HZEL/rFyGIKbbilYtAvlCxyuzUeff9LawTn4btVnLKg75Z8MMr1lxU1lfGw==} - engines: {node: '>=14.0.0'} - hasBin: true - sax@1.4.1: resolution: {integrity: sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==} @@ -13818,11 +13175,6 @@ packages: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true - semver@7.5.2: - resolution: {integrity: sha512-SoftuTROv/cRjCze/scjGyiDtcUyxw1rgYQSZY7XTmtR5hX+dm76iDbTH8TkLPHCQmlbQVSSbNZCPM2hb0knnQ==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -13985,13 +13337,6 @@ packages: resolution: {integrity: sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==} engines: {node: '>= 8'} - source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - - space-separated-tokens@2.0.2: - resolution: {integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==} - spawn-command@0.0.2: resolution: {integrity: sha512-zC8zGoGkmc8J9ndvml8Xksr1Amk9qBujgbF0JAIWO7kXr43w0h/0GJNM/Vustixu+YE8N/MTrQ7N31FvHUACxQ==} @@ -14055,12 +13400,8 @@ packages: react-dom: optional: true - storybook@8.3.5: - resolution: {integrity: sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw==} - hasBin: true - - storybook@8.4.6: - resolution: {integrity: sha512-J6juZSZT2u3PUW0QZYZZYxBq6zU5O0OrkSgkMXGMg/QrS9to9IHmt4FjEMEyACRbXo8POcB/fSXa3VpGe7bv3g==} + storybook@8.4.7: + resolution: {integrity: sha512-RP/nMJxiWyFc8EVMH5gp20ID032Wvk+Yr3lmKidoegto5Iy+2dVQnUoElZb2zpbVXNHWakGuAkfI0dY1Hfp/vw==} hasBin: true peerDependencies: prettier: ^2 || ^3 @@ -14178,6 +13519,9 @@ packages: strip@3.0.0: resolution: {integrity: sha512-kIPiqRSsGCwWItPLDhuZPQlwX16WjQggT5QS1f5Aam0DSbtPQh8SsIkbBxLm+835qb1Q0OoQnvrhJ0oplIup8Q==} + stubborn-fs@1.2.5: + resolution: {integrity: sha512-H2N9c26eXjzL/S/K+i/RHHcFanE74dptvvjM8iwzwbVcWY/zjBbgRqF3K0DY4+OD+uTTASTBvDoxPDaPN02D7g==} + style-inject@0.3.0: resolution: {integrity: sha512-IezA2qp+vcdlhJaVm5SOdPPTUu0FCEqfNSli2vRuSIBbu5Nq5UvygTk/VzeCqfLz2Atj3dVII5QBKGZRZ0edzw==} @@ -14202,11 +13546,6 @@ packages: stylis@4.2.0: resolution: {integrity: sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==} - sucrase@3.35.0: - resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - supercluster@7.1.5: resolution: {integrity: sha512-EulshI3pGUM66o6ZdH3ReiFcvHpM3vAigyK+vcxdjpJyEbIIrtbmBdY23mGgnI24uXiGFvrGq9Gkum/8U7vJWg==} @@ -14300,8 +13639,8 @@ packages: resolution: {integrity: sha512-CgqMyZrbOPpc+WqH7aga4JWkDPso23EgypLsbQ6gN3uoPWwwiLjXvzgrwGADBExvCRJrWFzAeK1bSoSpE7ixSQ==} hasBin: true - svgicons2svgfont@14.0.2: - resolution: {integrity: sha512-NwbAbOMZvLN/3ycAnaDA8RRbovgtjoVqjW6bnGVaNHTG3dcnNLwRXGD/e11V37Tv48SlAjBTEWCNJRf+qdS1nA==} + svgicons2svgfont@15.0.0: + resolution: {integrity: sha512-X5iL08aZJRKwYAGcl6ykQg0T6ce8yGpLdccqMXp6mreObpSdjlME9dRKPFIvFWX9/KTvPFAuYnX1gCaqjw7QUA==} engines: {node: '>=20.11.1'} hasBin: true @@ -14360,9 +13699,6 @@ packages: tar-stream@3.1.7: resolution: {integrity: sha512-qJj60CXt7IU1Ffyc3NJMjh6EkuCFej46zUqJ4J7pqYlThyd9bO0XBTmcOIhSzZJVWfsLks0+nle/j538YAW9RQ==} - telejson@7.2.0: - resolution: {integrity: sha512-1QTEcJkJEhc8OnStBx/ILRu5J2p0GjvWsBx56bmZRqnrkdBMUe+nX92jxV+p3dB4CP6PZCdJMQJwCggkNBMzkQ==} - terser-webpack-plugin@5.3.10: resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} @@ -14410,13 +13746,6 @@ packages: text-hex@1.0.0: resolution: {integrity: sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==} - thenify-all@1.6.0: - resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} - engines: {node: '>=0.8'} - - thenify@3.3.1: - resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - thread-loader@3.0.4: resolution: {integrity: sha512-ByaL2TPb+m6yArpqQUZvP+5S1mZtXsEP7nWKKlAUTm7fCml8kB5s1uI3+eHRP2bk5mVYfRSBI7FFf+tWEyLZwA==} engines: {node: '>= 10.13.0'} @@ -14442,9 +13771,6 @@ packages: tinycolor2@1.4.2: resolution: {integrity: sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==} - tinyexec@0.3.2: - resolution: {integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==} - tinyglobby@0.2.10: resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} engines: {node: '>=12.0.0'} @@ -14474,9 +13800,6 @@ packages: tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - tr46@3.0.0: resolution: {integrity: sha512-l7FvfAHlcmulp8kr+flpQZmVwtu7nfRV7NZujtN0OqES8EL4O4e0qqzL0DC5gAvx/ZC/9lk6rhcUwYvkBnBnYA==} engines: {node: '>=12'} @@ -14506,9 +13829,6 @@ packages: resolution: {integrity: sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==} engines: {node: '>=6.10'} - ts-interface-checker@0.1.13: - resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - ts-jest-resolver@2.0.1: resolution: {integrity: sha512-FolE73BqVZCs8/RbLKxC67iaAtKpBWx7PeLKFW2zJQlOf9j851I7JRxSDenri2NFvVH3QP7v3S8q1AmL24Zb9Q==} @@ -14552,25 +13872,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} - tsup@8.3.5: - resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} - engines: {node: '>=18'} - hasBin: true - peerDependencies: - '@microsoft/api-extractor': ^7.36.0 - '@swc/core': ^1 - postcss: ^8.4.12 - typescript: '>=4.5.0' - peerDependenciesMeta: - '@microsoft/api-extractor': - optional: true - '@swc/core': - optional: true - postcss: - optional: true - typescript: - optional: true - tunnel@0.0.6: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} @@ -14578,11 +13879,8 @@ packages: turndown@7.1.2: resolution: {integrity: sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==} - tus-js-client@2.3.0: - resolution: {integrity: sha512-I4cSwm6N5qxqCmBqenvutwSHe9ntf81lLrtf6BmLpG2v4wTl89atCQKqGgqvkodE6Lx+iKIjMbaXmfvStTg01g==} - - tus-js-client@4.1.0: - resolution: {integrity: sha512-e/nC/kJahvNYBcnwcqzuhFIvVELMMpbVXIoOOKdUn74SdQCvJd2JjqV2jZLv2EFOVbV4qLiO0lV7BxBXF21b6Q==} + tus-js-client@4.2.3: + resolution: {integrity: sha512-UkQUCeDWKh5AwArcasIJWcL5EP66XPypKQtsdPu82wNnTea8eAUHdpDx3DcfZgDERAiCII895zMYkXri4M1wzw==} engines: {node: '>=18'} type-check@0.4.0: @@ -14609,6 +13907,10 @@ packages: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} engines: {node: '>=12.20'} + type-fest@4.31.0: + resolution: {integrity: sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==} + engines: {node: '>=16'} + type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -14702,10 +14004,6 @@ packages: unified@11.0.5: resolution: {integrity: sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==} - unique-string@2.0.0: - resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==} - engines: {node: '>=8'} - unist-util-is@6.0.0: resolution: {integrity: sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==} @@ -14890,9 +14188,6 @@ packages: webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - webidl-conversions@7.0.0: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} @@ -14977,8 +14272,8 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + when-exit@2.1.3: + resolution: {integrity: sha512-uVieSTccFIr/SFQdFWN/fFaQYmV37OKtuaGphMAzi4DmmUlrvRBJW5WSLkHyjNQY/ePJMz3LoiX9R3yy1Su6Hw==} which-boxed-primitive@1.1.0: resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} @@ -15088,9 +14383,9 @@ packages: utf-8-validate: optional: true - xdg-basedir@4.0.0: - resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} - engines: {node: '>=8'} + xdg-basedir@5.1.0: + resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} + engines: {node: '>=12'} xml-name-validator@4.0.0: resolution: {integrity: sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==} @@ -15139,9 +14434,6 @@ packages: yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@1.10.2: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} @@ -15261,6 +14553,8 @@ snapshots: '@automattic/color-studio@2.6.0': {} + '@automattic/color-studio@4.0.0': {} + '@automattic/explat-client-react-helpers@0.1.1': dependencies: '@automattic/explat-client': 0.1.0 @@ -15291,20 +14585,20 @@ snapshots: dependencies: tslib: 2.5.0 - '@automattic/page-pattern-modal@1.1.5(@types/react-dom@18.3.1)(@types/react@18.3.13)(@wordpress/data@10.14.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)': + '@automattic/page-pattern-modal@1.1.5(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(@wordpress/data@10.14.0(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(redux@4.2.1)': dependencies: '@automattic/color-studio': 2.6.0 '@automattic/typography': 1.0.0 '@wordpress/base-styles': 5.2.0 - '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 clsx: 2.1.1 - debug: 4.3.4 + debug: 4.4.0 lodash: 4.17.21 react: 18.3.1 redux: 4.2.1 @@ -15324,10 +14618,10 @@ snapshots: dependencies: '@automattic/popup-monitor': 1.0.2 - '@automattic/social-previews@2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@automattic/social-previews@2.1.0-beta.8(@babel/runtime@7.26.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@emotion/react': 11.14.0(@types/react@18.3.12)(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 clsx: 2.1.1 @@ -15357,7 +14651,7 @@ snapshots: js-tokens: 4.0.0 picocolors: 1.1.1 - '@babel/compat-data@7.26.2': {} + '@babel/compat-data@7.26.3': {} '@babel/core@7.26.0': dependencies: @@ -15372,7 +14666,7 @@ snapshots: '@babel/traverse': 7.26.4 '@babel/types': 7.26.3 convert-source-map: 2.0.0 - debug: 4.3.4 + debug: 4.4.0 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -15401,9 +14695,9 @@ snapshots: '@babel/helper-compilation-targets@7.25.9': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/helper-validator-option': 7.25.9 - browserslist: 4.24.2 + browserslist: 4.24.3 lru-cache: 5.1.1 semver: 6.3.1 @@ -15432,7 +14726,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 - debug: 4.3.4 + debug: 4.4.0 lodash.debounce: 4.0.8 resolve: 1.22.8 transitivePeerDependencies: @@ -16028,7 +15322,7 @@ snapshots: '@babel/preset-env@7.26.0(@babel/core@7.26.0)': dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/core': 7.26.0 '@babel/helper-compilation-targets': 7.25.9 '@babel/helper-plugin-utils': 7.25.9 @@ -16108,7 +15402,7 @@ snapshots: '@babel/types': 7.26.3 esutils: 2.0.3 - '@babel/preset-react@7.25.9(@babel/core@7.26.0)': + '@babel/preset-react@7.26.3(@babel/core@7.26.0)': dependencies: '@babel/core': 7.26.0 '@babel/helper-plugin-utils': 7.25.9 @@ -16152,7 +15446,7 @@ snapshots: '@babel/parser': 7.26.3 '@babel/template': 7.25.9 '@babel/types': 7.26.3 - debug: 4.3.4 + debug: 4.4.0 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -16162,8 +15456,6 @@ snapshots: '@babel/helper-string-parser': 7.25.9 '@babel/helper-validator-identifier': 7.25.9 - '@base2/pretty-print-object@1.0.1': {} - '@bcoe/v8-coverage@0.2.3': {} '@bufbuild/protobuf@2.2.3': {} @@ -16173,7 +15465,7 @@ snapshots: chalk: 4.1.2 find-root: 1.1.0 lodash.groupby: 4.6.0 - semver: 7.5.2 + semver: 7.6.3 webpack: 5.94.0(webpack-cli@4.9.1) '@colors/colors@1.6.0': {} @@ -16232,23 +15524,7 @@ snapshots: '@emotion/memoize@0.9.0': {} - '@emotion/react@11.14.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.26.0 - '@emotion/babel-plugin': 11.13.5 - '@emotion/cache': 11.14.0 - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) - '@emotion/utils': 1.4.2 - '@emotion/weak-memoize': 0.4.0 - hoist-non-react-statics: 3.3.2 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - transitivePeerDependencies: - - supports-color - - '@emotion/react@11.14.0(@types/react@18.3.13)(react@18.3.1)': + '@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@emotion/babel-plugin': 11.13.5 @@ -16260,7 +15536,7 @@ snapshots: hoist-non-react-statics: 3.3.2 react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 transitivePeerDependencies: - supports-color @@ -16288,33 +15564,18 @@ snapshots: '@emotion/sheet@1.4.0': {} - '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@babel/runtime': 7.26.0 - '@emotion/babel-plugin': 11.13.5 - '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@18.3.12)(react@18.3.1) - '@emotion/serialize': 1.3.3 - '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) - '@emotion/utils': 1.4.2 - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - transitivePeerDependencies: - - supports-color - - '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(react@18.3.1)': + '@emotion/styled@11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@emotion/babel-plugin': 11.13.5 '@emotion/is-prop-valid': 1.3.1 - '@emotion/react': 11.14.0(@types/react@18.3.13)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) '@emotion/serialize': 1.3.3 '@emotion/use-insertion-effect-with-fallbacks': 1.2.0(react@18.3.1) '@emotion/utils': 1.4.2 react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 transitivePeerDependencies: - supports-color @@ -16347,153 +15608,102 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 4.1.0 - '@esbuild/aix-ppc64@0.23.1': - optional: true - '@esbuild/aix-ppc64@0.24.2': optional: true '@esbuild/android-arm64@0.17.19': optional: true - '@esbuild/android-arm64@0.23.1': - optional: true - '@esbuild/android-arm64@0.24.2': optional: true '@esbuild/android-arm@0.17.19': optional: true - '@esbuild/android-arm@0.23.1': - optional: true - '@esbuild/android-arm@0.24.2': optional: true '@esbuild/android-x64@0.17.19': optional: true - '@esbuild/android-x64@0.23.1': - optional: true - '@esbuild/android-x64@0.24.2': optional: true '@esbuild/darwin-arm64@0.17.19': optional: true - '@esbuild/darwin-arm64@0.23.1': - optional: true - '@esbuild/darwin-arm64@0.24.2': optional: true '@esbuild/darwin-x64@0.17.19': optional: true - '@esbuild/darwin-x64@0.23.1': - optional: true - '@esbuild/darwin-x64@0.24.2': optional: true '@esbuild/freebsd-arm64@0.17.19': optional: true - '@esbuild/freebsd-arm64@0.23.1': - optional: true - '@esbuild/freebsd-arm64@0.24.2': optional: true '@esbuild/freebsd-x64@0.17.19': optional: true - '@esbuild/freebsd-x64@0.23.1': - optional: true - '@esbuild/freebsd-x64@0.24.2': optional: true '@esbuild/linux-arm64@0.17.19': optional: true - '@esbuild/linux-arm64@0.23.1': - optional: true - '@esbuild/linux-arm64@0.24.2': optional: true '@esbuild/linux-arm@0.17.19': optional: true - '@esbuild/linux-arm@0.23.1': - optional: true - '@esbuild/linux-arm@0.24.2': optional: true '@esbuild/linux-ia32@0.17.19': optional: true - '@esbuild/linux-ia32@0.23.1': - optional: true - '@esbuild/linux-ia32@0.24.2': optional: true '@esbuild/linux-loong64@0.17.19': optional: true - '@esbuild/linux-loong64@0.23.1': - optional: true - '@esbuild/linux-loong64@0.24.2': optional: true '@esbuild/linux-mips64el@0.17.19': optional: true - '@esbuild/linux-mips64el@0.23.1': - optional: true - '@esbuild/linux-mips64el@0.24.2': optional: true '@esbuild/linux-ppc64@0.17.19': optional: true - '@esbuild/linux-ppc64@0.23.1': - optional: true - '@esbuild/linux-ppc64@0.24.2': optional: true '@esbuild/linux-riscv64@0.17.19': optional: true - '@esbuild/linux-riscv64@0.23.1': - optional: true - '@esbuild/linux-riscv64@0.24.2': optional: true '@esbuild/linux-s390x@0.17.19': optional: true - '@esbuild/linux-s390x@0.23.1': - optional: true - '@esbuild/linux-s390x@0.24.2': optional: true '@esbuild/linux-x64@0.17.19': optional: true - '@esbuild/linux-x64@0.23.1': - optional: true - '@esbuild/linux-x64@0.24.2': optional: true @@ -16503,60 +15713,39 @@ snapshots: '@esbuild/netbsd-x64@0.17.19': optional: true - '@esbuild/netbsd-x64@0.23.1': - optional: true - '@esbuild/netbsd-x64@0.24.2': optional: true - '@esbuild/openbsd-arm64@0.23.1': - optional: true - '@esbuild/openbsd-arm64@0.24.2': optional: true '@esbuild/openbsd-x64@0.17.19': optional: true - '@esbuild/openbsd-x64@0.23.1': - optional: true - '@esbuild/openbsd-x64@0.24.2': optional: true '@esbuild/sunos-x64@0.17.19': optional: true - '@esbuild/sunos-x64@0.23.1': - optional: true - '@esbuild/sunos-x64@0.24.2': optional: true '@esbuild/win32-arm64@0.17.19': optional: true - '@esbuild/win32-arm64@0.23.1': - optional: true - '@esbuild/win32-arm64@0.24.2': optional: true '@esbuild/win32-ia32@0.17.19': optional: true - '@esbuild/win32-ia32@0.23.1': - optional: true - '@esbuild/win32-ia32@0.24.2': optional: true '@esbuild/win32-x64@0.17.19': optional: true - '@esbuild/win32-x64@0.23.1': - optional: true - '@esbuild/win32-x64@0.24.2': optional: true @@ -16574,7 +15763,7 @@ snapshots: '@eslint/config-array@0.19.1': dependencies: '@eslint/object-schema': 2.1.5 - debug: 4.3.4 + debug: 4.4.0 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -16586,7 +15775,7 @@ snapshots: '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 - debug: 4.3.4 + debug: 4.4.0 espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 @@ -16665,7 +15854,7 @@ snapshots: '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -16678,14 +15867,14 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.17.9) + jest-config: 29.7.0(@types/node@20.17.11) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -16714,7 +15903,7 @@ snapshots: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-mock: 29.7.0 '@jest/expect-utils@29.7.0': @@ -16732,7 +15921,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -16763,7 +15952,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -16833,7 +16022,7 @@ snapshots: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/yargs': 17.0.33 chalk: 4.1.2 @@ -16886,10 +16075,10 @@ snapshots: '@mdn/browser-compat-data@5.5.49': {} - '@mdx-js/react@3.1.0(@types/react@18.3.13)(react@18.3.1)': + '@mdx-js/react@3.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.3.13 + '@types/react': 18.3.18 react: 18.3.1 '@microsoft/fetch-event-source@2.0.1': {} @@ -16993,67 +16182,6 @@ snapshots: dependencies: '@octokit/openapi-types': 22.2.0 - '@parcel/watcher-android-arm64@2.5.0': - optional: true - - '@parcel/watcher-darwin-arm64@2.5.0': - optional: true - - '@parcel/watcher-darwin-x64@2.5.0': - optional: true - - '@parcel/watcher-freebsd-x64@2.5.0': - optional: true - - '@parcel/watcher-linux-arm-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-arm-musl@2.5.0': - optional: true - - '@parcel/watcher-linux-arm64-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-arm64-musl@2.5.0': - optional: true - - '@parcel/watcher-linux-x64-glibc@2.5.0': - optional: true - - '@parcel/watcher-linux-x64-musl@2.5.0': - optional: true - - '@parcel/watcher-win32-arm64@2.5.0': - optional: true - - '@parcel/watcher-win32-ia32@2.5.0': - optional: true - - '@parcel/watcher-win32-x64@2.5.0': - optional: true - - '@parcel/watcher@2.5.0': - dependencies: - detect-libc: 1.0.3 - is-glob: 4.0.3 - micromatch: 4.0.8 - node-addon-api: 7.1.1 - optionalDependencies: - '@parcel/watcher-android-arm64': 2.5.0 - '@parcel/watcher-darwin-arm64': 2.5.0 - '@parcel/watcher-darwin-x64': 2.5.0 - '@parcel/watcher-freebsd-x64': 2.5.0 - '@parcel/watcher-linux-arm-glibc': 2.5.0 - '@parcel/watcher-linux-arm-musl': 2.5.0 - '@parcel/watcher-linux-arm64-glibc': 2.5.0 - '@parcel/watcher-linux-arm64-musl': 2.5.0 - '@parcel/watcher-linux-x64-glibc': 2.5.0 - '@parcel/watcher-linux-x64-musl': 2.5.0 - '@parcel/watcher-win32-arm64': 2.5.0 - '@parcel/watcher-win32-ia32': 2.5.0 - '@parcel/watcher-win32-x64': 2.5.0 - optional: true - '@pkgjs/parseargs@0.11.0': optional: true @@ -17105,102 +16233,68 @@ snapshots: '@radix-ui/primitive@1.1.0': {} - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-compose-refs@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-compose-refs@1.1.0(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-context@1.1.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-context@1.1.1(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-context@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-context@1.1.1(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) - aria-hidden: 1.2.4 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - - '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.0(@types/react@18.3.13)(react@18.3.1) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-dialog@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dialog@1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-context': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-dismissable-layer': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-portal': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-presence': 1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-context': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-dismissable-layer': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-focus-guards': 1.1.1(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-portal': 1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-presence': 1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.3.18)(react@18.3.1) aria-hidden: 1.2.4 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-remove-scroll: 2.6.0(@types/react@18.3.12)(react@18.3.1) + react-remove-scroll: 2.6.0(@types/react@18.3.18)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@radix-ui/react-dialog@1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -17221,43 +16315,30 @@ snapshots: react-dom: 18.3.1(react@18.3.1) react-remove-scroll: 2.6.0(react@18.3.1) - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - - '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-dismissable-layer@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-dismissable-layer@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@radix-ui/react-dismissable-layer@1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -17269,53 +16350,36 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.12)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-focus-guards@1.1.1(@types/react@18.3.18)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-focus-guards@1.1.1(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - - '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-focus-scope@1.1.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-focus-scope@1.1.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@radix-ui/react-focus-scope@1.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -17325,53 +16389,36 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@radix-ui/react-id@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-id@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-id@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-id@1.1.0(react@18.3.1)': dependencies: '@radix-ui/react-use-layout-effect': 1.1.0(react@18.3.1) react: 18.3.1 - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-portal@1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-portal@1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 - - '@radix-ui/react-portal@1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@radix-ui/react-portal@1.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -17380,67 +16427,48 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-presence@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.1(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 - '@radix-ui/react-presence@1.1.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-presence@1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(react@18.3.1) + '@radix-ui/react-use-layout-effect': 1.1.0(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-presence@1.1.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(react@18.3.1) - '@radix-ui/react-use-layout-effect': 1.1.0(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@radix-ui/react-primitive@2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@radix-ui/react-primitive@2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-slot': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@radix-ui/react-primitive@2.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -17448,90 +16476,57 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@radix-ui/react-slot@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-slot@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-slot@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-slot@1.1.0(react@18.3.1)': dependencies: '@radix-ui/react-compose-refs': 1.1.0(react@18.3.1) react: 18.3.1 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-use-callback-ref@1.1.0(react@18.3.1)': dependencies: react: 18.3.1 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.12)(react@18.3.1)': + '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.3.13)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.13)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-use-controllable-state@1.1.0(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(react@18.3.1) react: 18.3.1 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.12)(react@18.3.1) - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.13)(react@18.3.1) + '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.3.18)(react@18.3.1) react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-use-escape-keydown@1.1.0(react@18.3.1)': dependencies: '@radix-ui/react-use-callback-ref': 1.1.0(react@18.3.1) react: 18.3.1 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - react: 18.3.1 - optionalDependencies: - '@types/react': 18.3.12 - - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.13)(react@18.3.1)': + '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.3.18)(react@18.3.1)': dependencies: react: 18.3.1 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@radix-ui/react-use-layout-effect@1.1.0(react@18.3.1)': dependencies: @@ -17594,16 +16589,8 @@ snapshots: '@redux-saga/types@1.2.1': {} - '@remix-run/router@1.14.0': {} - - '@remix-run/router@1.2.1': {} - '@remix-run/router@1.21.0': {} - '@remix-run/router@1.5.0': {} - - '@remix-run/router@1.7.1': {} - '@rollup/plugin-babel@6.0.4(@babel/core@7.26.0)(rollup@3.29.5)': dependencies: '@babel/core': 7.26.0 @@ -17665,10 +16652,19 @@ snapshots: rollup: 3.29.5 tslib: 2.5.0 + '@rollup/plugin-typescript@12.1.0(rollup@3.29.5)(tslib@2.5.0)(typescript@5.7.2)': + dependencies: + '@rollup/pluginutils': 5.1.3(rollup@3.29.5) + resolve: 1.22.8 + typescript: 5.7.2 + optionalDependencies: + rollup: 3.29.5 + tslib: 2.5.0 + '@rollup/pluginutils@4.2.1': dependencies: estree-walker: 2.0.2 - picomatch: 2.2.3 + picomatch: 2.3.1 '@rollup/pluginutils@5.1.3(rollup@3.29.5)': dependencies: @@ -17678,63 +16674,6 @@ snapshots: optionalDependencies: rollup: 3.29.5 - '@rollup/rollup-android-arm-eabi@4.29.1': - optional: true - - '@rollup/rollup-android-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-arm64@4.29.1': - optional: true - - '@rollup/rollup-darwin-x64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-arm64@4.29.1': - optional: true - - '@rollup/rollup-freebsd-x64@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.29.1': - optional: true - - '@rollup/rollup-linux-loongarch64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.29.1': - optional: true - - '@rollup/rollup-linux-x64-musl@4.29.1': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.29.1': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.29.1': - optional: true - '@rtsao/scc@1.1.0': {} '@samverschueren/stream-to-observable@0.3.1(rxjs@6.6.7)': @@ -17812,7 +16751,7 @@ snapshots: '@sitespeed.io/tracium@0.3.3': dependencies: - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -17841,7 +16780,7 @@ snapshots: '@slack/logger@4.0.0': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@slack/types@2.14.0': {} @@ -17849,7 +16788,7 @@ snapshots: dependencies: '@slack/logger': 4.0.0 '@slack/types': 2.14.0 - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/retry': 0.12.0 axios: 1.7.4 eventemitter3: 5.0.1 @@ -17866,7 +16805,7 @@ snapshots: dependencies: '@slack/logger': 4.0.0 '@slack/types': 2.14.0 - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/retry': 0.12.0 axios: 1.7.4 eventemitter3: 5.0.1 @@ -17879,98 +16818,96 @@ snapshots: transitivePeerDependencies: - debug - '@storybook/addon-a11y@8.3.5(storybook@8.3.5)': + '@storybook/addon-a11y@8.4.7(storybook@8.4.7)': dependencies: - '@storybook/addon-highlight': 8.3.5(storybook@8.3.5) + '@storybook/addon-highlight': 8.4.7(storybook@8.4.7) axe-core: 4.10.2 - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/addon-actions@8.3.5(storybook@8.3.5)': + '@storybook/addon-actions@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 '@types/uuid': 9.0.8 dequal: 2.0.3 polished: 4.3.1 - storybook: 8.3.5 + storybook: 8.4.7 uuid: 9.0.1 - '@storybook/addon-backgrounds@8.3.5(storybook@8.3.5)': + '@storybook/addon-backgrounds@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 memoizerific: 1.11.3 - storybook: 8.3.5 + storybook: 8.4.7 ts-dedent: 2.2.0 - '@storybook/addon-controls@8.3.5(storybook@8.3.5)': + '@storybook/addon-controls@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 dequal: 2.0.3 - lodash: 4.17.21 - storybook: 8.3.5 + storybook: 8.4.7 ts-dedent: 2.2.0 - '@storybook/addon-docs@8.3.5(storybook@8.3.5)': + '@storybook/addon-docs@8.4.7(@types/react@18.3.18)(storybook@8.4.7)': dependencies: - '@mdx-js/react': 3.1.0(@types/react@18.3.13)(react@18.3.1) - '@storybook/blocks': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) - '@storybook/csf-plugin': 8.3.5(storybook@8.3.5) - '@storybook/global': 5.0.0 - '@storybook/react-dom-shim': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) - '@types/react': 18.3.13 - fs-extra: 11.2.0 + '@mdx-js/react': 3.1.0(@types/react@18.3.18)(react@18.3.1) + '@storybook/blocks': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) + '@storybook/csf-plugin': 8.4.7(storybook@8.4.7) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - rehype-external-links: 3.0.0 - rehype-slug: 6.0.0 - storybook: 8.3.5 + storybook: 8.4.7 ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' - '@storybook/addon-essentials@8.3.5(storybook@8.3.5)': - dependencies: - '@storybook/addon-actions': 8.3.5(storybook@8.3.5) - '@storybook/addon-backgrounds': 8.3.5(storybook@8.3.5) - '@storybook/addon-controls': 8.3.5(storybook@8.3.5) - '@storybook/addon-docs': 8.3.5(storybook@8.3.5) - '@storybook/addon-highlight': 8.3.5(storybook@8.3.5) - '@storybook/addon-measure': 8.3.5(storybook@8.3.5) - '@storybook/addon-outline': 8.3.5(storybook@8.3.5) - '@storybook/addon-toolbars': 8.3.5(storybook@8.3.5) - '@storybook/addon-viewport': 8.3.5(storybook@8.3.5) - storybook: 8.3.5 + '@storybook/addon-essentials@8.4.7(@types/react@18.3.18)(storybook@8.4.7)': + dependencies: + '@storybook/addon-actions': 8.4.7(storybook@8.4.7) + '@storybook/addon-backgrounds': 8.4.7(storybook@8.4.7) + '@storybook/addon-controls': 8.4.7(storybook@8.4.7) + '@storybook/addon-docs': 8.4.7(@types/react@18.3.18)(storybook@8.4.7) + '@storybook/addon-highlight': 8.4.7(storybook@8.4.7) + '@storybook/addon-measure': 8.4.7(storybook@8.4.7) + '@storybook/addon-outline': 8.4.7(storybook@8.4.7) + '@storybook/addon-toolbars': 8.4.7(storybook@8.4.7) + '@storybook/addon-viewport': 8.4.7(storybook@8.4.7) + storybook: 8.4.7 ts-dedent: 2.2.0 + transitivePeerDependencies: + - '@types/react' - '@storybook/addon-highlight@8.3.5(storybook@8.3.5)': + '@storybook/addon-highlight@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/addon-measure@8.3.5(storybook@8.3.5)': + '@storybook/addon-measure@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.5 + storybook: 8.4.7 tiny-invariant: 1.3.3 - '@storybook/addon-outline@8.3.5(storybook@8.3.5)': + '@storybook/addon-outline@8.4.7(storybook@8.4.7)': dependencies: '@storybook/global': 5.0.0 - storybook: 8.3.5 + storybook: 8.4.7 ts-dedent: 2.2.0 - '@storybook/addon-storysource@8.3.5(storybook@8.3.5)': + '@storybook/addon-storysource@8.4.7(storybook@8.4.7)': dependencies: - '@storybook/source-loader': 8.3.5(storybook@8.3.5) + '@storybook/source-loader': 8.4.7(storybook@8.4.7) estraverse: 5.3.0 - storybook: 8.3.5 + storybook: 8.4.7 tiny-invariant: 1.3.3 - '@storybook/addon-toolbars@8.3.5(storybook@8.3.5)': + '@storybook/addon-toolbars@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/addon-viewport@8.3.5(storybook@8.3.5)': + '@storybook/addon-viewport@8.4.7(storybook@8.4.7)': dependencies: memoizerific: 1.11.3 - storybook: 8.3.5 + storybook: 8.4.7 '@storybook/addon-webpack5-compiler-babel@3.0.3(webpack@5.94.0)': dependencies: @@ -17980,41 +16917,20 @@ snapshots: - supports-color - webpack - '@storybook/blocks@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)': - dependencies: - '@storybook/csf': 0.1.12 - '@storybook/global': 5.0.0 - '@storybook/icons': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/lodash': 4.17.13 - color-convert: 2.0.1 - dequal: 2.0.3 - lodash: 4.17.21 - markdown-to-jsx: 7.7.1(react@18.3.1) - memoizerific: 1.11.3 - polished: 4.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - storybook: 8.3.5 - telejson: 7.2.0 - ts-dedent: 2.2.0 - util-deprecate: 1.0.2 - optionalDependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - - '@storybook/blocks@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)': + '@storybook/blocks@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)': dependencies: '@storybook/csf': 0.1.12 '@storybook/icons': 1.3.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - storybook: 8.4.6 + storybook: 8.4.7 ts-dedent: 2.2.0 optionalDependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/builder-webpack5@8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': + '@storybook/builder-webpack5@8.4.7(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: - '@storybook/core-webpack': 8.3.5(storybook@8.3.5) - '@types/node': 22.10.1 + '@storybook/core-webpack': 8.4.7(storybook@8.4.7) + '@types/node': 22.10.3 '@types/semver': 7.5.8 browser-assert: 1.2.1 case-sensitive-paths-webpack-plugin: 2.4.0 @@ -18022,15 +16938,13 @@ snapshots: constants-browserify: 1.0.0 css-loader: 6.11.0(webpack@5.94.0) es-module-lexer: 1.5.4 - express: 4.21.2 fork-ts-checker-webpack-plugin: 8.0.0(typescript@5.0.4)(webpack@5.94.0) - fs-extra: 11.2.0 html-webpack-plugin: 5.6.3(webpack@5.94.0) magic-string: 0.30.14 path-browserify: 1.0.1 process: 0.11.10 - semver: 7.5.2 - storybook: 8.3.5 + semver: 7.6.3 + storybook: 8.4.7 style-loader: 3.3.4(webpack@5.94.0) terser-webpack-plugin: 5.3.3(webpack@5.94.0) ts-dedent: 2.2.0 @@ -18047,61 +16961,32 @@ snapshots: - '@rspack/core' - '@swc/core' - esbuild - - supports-color - uglify-js - webpack-cli - '@storybook/channels@8.4.7(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 - - '@storybook/components@8.3.5(storybook@8.3.5)': - dependencies: - storybook: 8.3.5 - - '@storybook/components@8.3.5(storybook@8.4.6)': + '@storybook/channels@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.4.6 + storybook: 8.4.7 - '@storybook/components@8.4.6(storybook@8.4.6)': + '@storybook/components@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.4.6 + storybook: 8.4.7 - '@storybook/core-common@8.4.7(storybook@8.3.5)': + '@storybook/core-common@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/core-events@8.4.7(storybook@8.4.6)': + '@storybook/core-events@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.4.6 + storybook: 8.4.7 - '@storybook/core-webpack@8.3.5(storybook@8.3.5)': + '@storybook/core-webpack@8.4.7(storybook@8.4.7)': dependencies: - '@types/node': 22.10.1 - storybook: 8.3.5 + '@types/node': 22.10.3 + storybook: 8.4.7 ts-dedent: 2.2.0 - '@storybook/core@8.3.5': - dependencies: - '@storybook/csf': 0.1.12 - '@types/express': 4.17.21 - better-opn: 3.0.2 - browser-assert: 1.2.1 - esbuild: 0.23.1 - esbuild-register: 3.6.0(esbuild@0.23.1) - express: 4.21.2 - jsdoc-type-pratt-parser: 4.1.0 - process: 0.11.10 - recast: 0.23.9 - semver: 7.6.3 - util: 0.12.5 - ws: 8.18.0 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - '@storybook/core@8.4.6': + '@storybook/core@8.4.7': dependencies: '@storybook/csf': 0.1.12 better-opn: 3.0.2 @@ -18119,14 +17004,14 @@ snapshots: - supports-color - utf-8-validate - '@storybook/csf-plugin@8.3.5(storybook@8.3.5)': + '@storybook/csf-plugin@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 + storybook: 8.4.7 unplugin: 1.16.0 - '@storybook/csf-tools@8.4.7(storybook@8.3.5)': + '@storybook/csf-tools@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 + storybook: 8.4.7 '@storybook/csf@0.1.12': dependencies: @@ -18139,34 +17024,25 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - '@storybook/manager-api@8.3.5(storybook@8.3.5)': + '@storybook/manager-api@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/manager-api@8.3.5(storybook@8.4.6)': + '@storybook/preset-react-webpack@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: - storybook: 8.4.6 - - '@storybook/manager-api@8.4.6(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 - - '@storybook/preset-react-webpack@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': - dependencies: - '@storybook/core-webpack': 8.3.5(storybook@8.3.5) - '@storybook/react': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) + '@storybook/core-webpack': 8.4.7(storybook@8.4.7) + '@storybook/react': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) '@storybook/react-docgen-typescript-plugin': 1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0) - '@types/node': 22.10.1 + '@types/node': 22.10.3 '@types/semver': 7.5.8 find-up: 5.0.0 - fs-extra: 11.2.0 magic-string: 0.30.14 react: 18.3.1 react-docgen: 7.1.0 react-dom: 18.3.1(react@18.3.1) resolve: 1.22.8 - semver: 7.5.2 - storybook: 8.3.5 + semver: 7.6.3 + storybook: 8.4.7 tsconfig-paths: 4.2.0 webpack: 5.94.0(webpack-cli@4.9.1) optionalDependencies: @@ -18179,21 +17055,13 @@ snapshots: - uglify-js - webpack-cli - '@storybook/preview-api@8.3.5(storybook@8.3.5)': + '@storybook/preview-api@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 - - '@storybook/preview-api@8.3.5(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 - - '@storybook/preview-api@8.4.6(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 + storybook: 8.4.7 '@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0(typescript@5.0.4)(webpack@5.94.0)': dependencies: - debug: 4.3.4 + debug: 4.4.0 endent: 2.1.0 find-cache-dir: 3.3.2 flat-cache: 3.2.0 @@ -18205,27 +17073,21 @@ snapshots: transitivePeerDependencies: - supports-color - '@storybook/react-dom-shim@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)': + '@storybook/react-dom-shim@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)': dependencies: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/react-dom-shim@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)': + '@storybook/react-webpack5@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1)': dependencies: + '@storybook/builder-webpack5': 8.4.7(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1) + '@storybook/preset-react-webpack': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4)(webpack-cli@4.9.1) + '@storybook/react': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4) + '@types/node': 22.10.3 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.6 - - '@storybook/react-webpack5@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1)': - dependencies: - '@storybook/builder-webpack5': 8.3.5(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) - '@storybook/preset-react-webpack': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)(webpack-cli@4.9.1) - '@storybook/react': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4) - '@types/node': 22.10.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - storybook: 8.3.5 + storybook: 8.4.7 optionalDependencies: typescript: 5.0.4 transitivePeerDependencies: @@ -18237,67 +17099,53 @@ snapshots: - uglify-js - webpack-cli - '@storybook/react@8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5)(typescript@5.0.4)': + '@storybook/react@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.0.4)': dependencies: - '@storybook/components': 8.3.5(storybook@8.3.5) + '@storybook/components': 8.4.7(storybook@8.4.7) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.3.5(storybook@8.3.5) - '@storybook/preview-api': 8.3.5(storybook@8.3.5) - '@storybook/react-dom-shim': 8.3.5(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.3.5) - '@storybook/theming': 8.3.5(storybook@8.3.5) - '@types/escodegen': 0.0.6 - '@types/estree': 0.0.51 - '@types/node': 22.10.1 - acorn: 7.4.1 - acorn-jsx: 5.3.2(acorn@7.4.1) - acorn-walk: 7.2.0 - escodegen: 2.1.0 - html-tags: 3.3.1 - prop-types: 15.8.1 + '@storybook/manager-api': 8.4.7(storybook@8.4.7) + '@storybook/preview-api': 8.4.7(storybook@8.4.7) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) + '@storybook/theming': 8.4.7(storybook@8.4.7) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-element-to-jsx-string: 15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - semver: 7.5.2 - storybook: 8.3.5 - ts-dedent: 2.2.0 - type-fest: 2.19.0 - util-deprecate: 1.0.2 + storybook: 8.4.7 optionalDependencies: typescript: 5.0.4 - '@storybook/react@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6)(typescript@5.7.2)': + '@storybook/react@8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7)(typescript@5.7.2)': dependencies: - '@storybook/components': 8.4.6(storybook@8.4.6) + '@storybook/components': 8.4.7(storybook@8.4.7) '@storybook/global': 5.0.0 - '@storybook/manager-api': 8.4.6(storybook@8.4.6) - '@storybook/preview-api': 8.4.6(storybook@8.4.6) - '@storybook/react-dom-shim': 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6) - '@storybook/theming': 8.4.6(storybook@8.4.6) + '@storybook/manager-api': 8.4.7(storybook@8.4.7) + '@storybook/preview-api': 8.4.7(storybook@8.4.7) + '@storybook/react-dom-shim': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) + '@storybook/theming': 8.4.7(storybook@8.4.7) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook: 8.4.6 + storybook: 8.4.7 optionalDependencies: typescript: 5.7.2 - '@storybook/source-loader@8.3.5(storybook@8.3.5)': + '@storybook/source-loader@8.4.7(storybook@8.4.7)': dependencies: '@storybook/csf': 0.1.12 + es-toolkit: 1.31.0 estraverse: 5.3.0 - lodash: 4.17.21 prettier: 3.4.2 - storybook: 8.3.5 + storybook: 8.4.7 - '@storybook/test-runner@0.19.1(storybook@8.3.5)': + '@storybook/test-runner@0.19.1(storybook@8.4.7)': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.3 '@babel/template': 7.25.9 '@babel/types': 7.26.3 '@jest/types': 29.6.3 - '@storybook/core-common': 8.4.7(storybook@8.3.5) + '@storybook/core-common': 8.4.7(storybook@8.4.7) '@storybook/csf': 0.1.12 - '@storybook/csf-tools': 8.4.7(storybook@8.3.5) - '@storybook/preview-api': 8.3.5(storybook@8.3.5) + '@storybook/csf-tools': 8.4.7(storybook@8.4.7) + '@storybook/preview-api': 8.4.7(storybook@8.4.7) '@swc/core': 1.10.1 '@swc/jest': 0.2.37(@swc/core@1.10.1) expect-playwright: 0.8.0 @@ -18321,17 +17169,9 @@ snapshots: - supports-color - ts-node - '@storybook/theming@8.3.5(storybook@8.3.5)': + '@storybook/theming@8.4.7(storybook@8.4.7)': dependencies: - storybook: 8.3.5 - - '@storybook/theming@8.3.5(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 - - '@storybook/theming@8.4.6(storybook@8.4.6)': - dependencies: - storybook: 8.4.6 + storybook: 8.4.7 '@svgr/babel-plugin-add-jsx-attribute@7.0.0(@babel/core@7.26.0)': dependencies: @@ -18415,7 +17255,7 @@ snapshots: '@babel/core': 7.26.0 '@babel/plugin-transform-react-constant-elements': 7.25.9(@babel/core@7.26.0) '@babel/preset-env': 7.26.0(@babel/core@7.26.0) - '@babel/preset-react': 7.25.9(@babel/core@7.26.0) + '@babel/preset-react': 7.26.3(@babel/core@7.26.0) '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0) '@svgr/core': 7.0.0(typescript@5.0.4) '@svgr/plugin-jsx': 7.0.0 @@ -18565,24 +17405,24 @@ snapshots: '@testing-library/dom': 8.20.1 preact: 10.22.1 - '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@testing-library/dom': 10.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) - '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.0 '@testing-library/dom': 10.4.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 + '@types/react': 18.3.18 '@testing-library/react@16.0.1(@testing-library/dom@10.4.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -18624,21 +17464,12 @@ snapshots: dependencies: '@babel/types': 7.26.3 - '@types/body-parser@1.19.5': - dependencies: - '@types/connect': 3.4.38 - '@types/node': 20.17.9 - '@types/clean-css@4.2.11': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 source-map: 0.6.1 - '@types/connect@3.4.38': - dependencies: - '@types/node': 20.17.9 - - '@types/css-tree@2.3.9': {} + '@types/css-tree@2.3.10': {} '@types/d3-array@3.0.3': {} @@ -18678,56 +17509,32 @@ snapshots: '@types/doctrine@0.0.9': {} - '@types/escodegen@0.0.6': {} - - '@types/estree@0.0.51': {} - '@types/estree@1.0.6': {} - '@types/express-serve-static-core@4.19.6': - dependencies: - '@types/node': 20.17.9 - '@types/qs': 6.9.17 - '@types/range-parser': 1.2.7 - '@types/send': 0.17.4 - - '@types/express@4.17.21': - dependencies: - '@types/body-parser': 1.19.5 - '@types/express-serve-static-core': 4.19.6 - '@types/qs': 6.9.17 - '@types/serve-static': 1.15.7 - '@types/geojson@7946.0.15': {} '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/graceful-fs@4.1.9': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/gradient-parser@0.1.3': {} - '@types/hast@3.0.4': - dependencies: - '@types/unist': 3.0.3 - '@types/highlight-words-core@1.2.1': {} '@types/history@4.7.11': {} '@types/hoist-non-react-statics@3.3.6': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 hoist-non-react-statics: 3.3.2 '@types/html-minifier-terser@6.1.0': {} - '@types/http-errors@2.0.4': {} - '@types/istanbul-lib-coverage@2.0.6': {} '@types/istanbul-lib-report@3.0.3': @@ -18749,7 +17556,7 @@ snapshots: '@types/jsdom@20.0.1': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/tough-cookie': 4.0.5 parse5: 7.2.1 @@ -18778,8 +17585,6 @@ snapshots: '@types/mdx@2.0.13': {} - '@types/mime@1.3.5': {} - '@types/minimatch@5.1.2': {} '@types/mousetrap@1.6.15': {} @@ -18788,18 +17593,18 @@ snapshots: '@types/node-fetch@2.6.12': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 form-data: 4.0.1 '@types/node@18.19.67': dependencies: undici-types: 5.26.5 - '@types/node@20.17.9': + '@types/node@20.17.11': dependencies: undici-types: 6.19.8 - '@types/node@22.10.1': + '@types/node@22.10.3': dependencies: undici-types: 6.20.0 @@ -18807,46 +17612,35 @@ snapshots: '@types/prop-types@15.7.14': {} - '@types/qrcode.react@1.0.5': - dependencies: - '@types/react': 18.3.13 - '@types/qs@6.9.17': {} - '@types/range-parser@1.2.7': {} - - '@types/react-dom@18.3.1': + '@types/react-dom@18.3.5(@types/react@18.3.18)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@types/react-redux@7.1.34': dependencies: '@types/hoist-non-react-statics': 3.3.6 - '@types/react': 18.3.13 + '@types/react': 18.3.18 hoist-non-react-statics: 3.3.2 redux: 4.2.1 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@types/react-slider@1.3.6': dependencies: - '@types/react': 18.3.13 - - '@types/react@18.3.12': - dependencies: - '@types/prop-types': 15.7.14 - csstype: 3.1.3 + '@types/react': 18.3.18 - '@types/react@18.3.13': + '@types/react@18.3.18': dependencies: '@types/prop-types': 15.7.14 csstype: 3.1.3 @@ -18859,26 +17653,15 @@ snapshots: '@types/sax@1.2.7': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/seed-random@2.2.4': {} '@types/semver@7.5.8': {} - '@types/send@0.17.4': - dependencies: - '@types/mime': 1.3.5 - '@types/node': 20.17.9 - - '@types/serve-static@1.15.7': - dependencies: - '@types/http-errors': 2.0.4 - '@types/node': 20.17.9 - '@types/send': 0.17.4 - '@types/simple-peer@9.11.8': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 '@types/sizzle@2.3.9': {} @@ -18896,13 +17679,13 @@ snapshots: '@types/wait-on@5.3.4': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 - '@types/wordpress__block-editor@11.5.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@types/wordpress__block-editor@11.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@types/wordpress__blocks': 12.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/keycodes': 4.14.0 @@ -18915,9 +17698,9 @@ snapshots: '@types/wordpress__blocks@12.5.16(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@types/wordpress__shortcode': 2.3.6 - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 transitivePeerDependencies: @@ -18936,7 +17719,7 @@ snapshots: '@types/yauzl@2.10.3': dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 optional: true '@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.0.4))(eslint@9.16.0)(typescript@5.0.4)': @@ -18963,7 +17746,7 @@ snapshots: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.0.4) '@typescript-eslint/visitor-keys': 8.17.0 - debug: 4.3.4 + debug: 4.4.0 eslint: 9.16.0 optionalDependencies: typescript: 5.0.4 @@ -18984,7 +17767,7 @@ snapshots: dependencies: '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.0.4) '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.0.4) - debug: 4.3.4 + debug: 4.4.0 eslint: 9.16.0 ts-api-utils: 1.4.3(typescript@5.0.4) optionalDependencies: @@ -19000,7 +17783,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.17.0 '@typescript-eslint/visitor-keys': 8.17.0 - debug: 4.3.4 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -19015,7 +17798,7 @@ snapshots: dependencies: '@typescript-eslint/types': 8.18.0 '@typescript-eslint/visitor-keys': 8.18.0 - debug: 4.3.4 + debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 @@ -19058,8 +17841,6 @@ snapshots: '@typescript-eslint/types': 8.18.0 eslint-visitor-keys: 4.2.0 - '@ungap/structured-clone@1.2.1': {} - '@use-gesture/core@10.3.1': {} '@use-gesture/react@10.3.1(react@18.3.1)': @@ -19071,7 +17852,7 @@ snapshots: '@visx/annotation@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/drag': 3.12.0(react@18.3.1) '@visx/group': 3.12.0(react@18.3.1) '@visx/text': 3.12.0(react@18.3.1) @@ -19084,7 +17865,7 @@ snapshots: '@visx/axis@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/group': 3.12.0(react@18.3.1) '@visx/point': 3.12.0 '@visx/scale': 3.12.0 @@ -19096,8 +17877,8 @@ snapshots: '@visx/bounds@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -19109,7 +17890,7 @@ snapshots: '@visx/drag@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/event': 3.12.0 '@visx/point': 3.12.0 prop-types: 15.8.1 @@ -19117,13 +17898,13 @@ snapshots: '@visx/event@3.12.0': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/point': 3.12.0 '@visx/glyph@3.12.0(react@18.3.1)': dependencies: '@types/d3-shape': 1.3.12 - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/group': 3.12.0(react@18.3.1) classnames: 2.5.1 d3-shape: 1.3.7 @@ -19132,7 +17913,7 @@ snapshots: '@visx/grid@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/curve': 3.12.0 '@visx/group': 3.12.0(react@18.3.1) '@visx/point': 3.12.0 @@ -19144,14 +17925,14 @@ snapshots: '@visx/group@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 classnames: 2.5.1 prop-types: 15.8.1 react: 18.3.1 '@visx/legend@3.12.0(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/group': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 classnames: 2.5.1 @@ -19163,7 +17944,7 @@ snapshots: '@visx/react-spring@3.12.0(@react-spring/web@9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1)': dependencies: '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/axis': 3.12.0(react@18.3.1) '@visx/grid': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 @@ -19175,7 +17956,7 @@ snapshots: '@visx/responsive@3.12.0(react@18.3.1)': dependencies: '@types/lodash': 4.17.13 - '@types/react': 18.3.13 + '@types/react': 18.3.18 lodash: 4.17.21 prop-types: 15.8.1 react: 18.3.1 @@ -19189,7 +17970,7 @@ snapshots: '@types/d3-path': 1.0.11 '@types/d3-shape': 1.3.12 '@types/lodash': 4.17.13 - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/curve': 3.12.0 '@visx/group': 3.12.0(react@18.3.1) '@visx/scale': 3.12.0 @@ -19203,7 +17984,7 @@ snapshots: '@visx/text@3.12.0(react@18.3.1)': dependencies: '@types/lodash': 4.17.13 - '@types/react': 18.3.13 + '@types/react': 18.3.18 classnames: 2.5.1 lodash: 4.17.21 prop-types: 15.8.1 @@ -19212,7 +17993,7 @@ snapshots: '@visx/tooltip@3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/bounds': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) classnames: 2.5.1 prop-types: 15.8.1 @@ -19245,7 +18026,7 @@ snapshots: '@visx/voronoi@3.12.0(react@18.3.1)': dependencies: '@types/d3-voronoi': 1.1.12 - '@types/react': 18.3.13 + '@types/react': 18.3.18 classnames: 2.5.1 d3-voronoi: 1.1.4 prop-types: 15.8.1 @@ -19255,7 +18036,7 @@ snapshots: dependencies: '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/lodash': 4.17.13 - '@types/react': 18.3.13 + '@types/react': 18.3.18 '@visx/annotation': 3.12.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@visx/axis': 3.12.0(react@18.3.1) '@visx/event': 3.12.0 @@ -19409,7 +18190,7 @@ snapshots: '@babel/runtime': 7.26.0 '@wordpress/browserslist-config': 6.14.0 '@wordpress/warning': 3.13.0 - browserslist: 4.23.1 + browserslist: 4.24.3 core-js: 3.38.1 react: 18.3.1 transitivePeerDependencies: @@ -19423,19 +18204,19 @@ snapshots: dependencies: '@babel/runtime': 7.25.7 - '@wordpress/block-editor@14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/block-editor@14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@emotion/react': 11.14.0(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 '@wordpress/block-serialization-default-parser': 5.14.0 '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/date': 5.14.0 @@ -19451,7 +18232,7 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/priority-queue': 3.13.0 '@wordpress/private-apis': 1.14.0 '@wordpress/rich-text': 7.14.0(react@18.3.1) @@ -19482,19 +18263,19 @@ snapshots: - '@types/react-dom' - supports-color - '@wordpress/block-editor@14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/block-editor@14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@emotion/react': 11.14.0(@types/react@18.3.13)(react@18.3.1) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 '@wordpress/block-serialization-default-parser': 5.14.0 '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/date': 5.14.0 @@ -19510,66 +18291,7 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/priority-queue': 3.13.0 - '@wordpress/private-apis': 1.14.0 - '@wordpress/rich-text': 7.14.0(react@18.3.1) - '@wordpress/style-engine': 2.13.0 - '@wordpress/token-list': 3.14.0 - '@wordpress/url': 4.14.0 - '@wordpress/warning': 3.13.0 - '@wordpress/wordcount': 4.14.0 - change-case: 4.1.2 - clsx: 2.1.1 - colord: 2.9.3 - deepmerge: 4.3.1 - diff: 4.0.2 - fast-deep-equal: 3.1.3 - memize: 2.1.0 - parsel-js: 1.2.1 - postcss: 8.4.47 - postcss-prefix-selector: 1.16.1(postcss@8.4.47) - postcss-urlrebase: 1.4.0(postcss@8.4.47) - react: 18.3.1 - react-autosize-textarea: 7.1.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - react-easy-crop: 5.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - remove-accents: 0.5.0 - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - '@types/react-dom' - - supports-color - - '@wordpress/block-editor@14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@emotion/react': 11.14.0(@types/react@18.3.12)(react@18.3.1) - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@react-spring/web': 9.7.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/a11y': 4.13.0 - '@wordpress/api-fetch': 7.14.0 - '@wordpress/blob': 4.14.0 - '@wordpress/block-serialization-default-parser': 5.14.0 - '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/date': 5.14.0 - '@wordpress/deprecated': 4.13.0 - '@wordpress/dom': 4.13.0 - '@wordpress/element': 6.14.0 - '@wordpress/escape-html': 3.14.0 - '@wordpress/hooks': 4.14.0 - '@wordpress/html-entities': 4.14.0 - '@wordpress/i18n': 5.14.0 - '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/is-shallow-equal': 5.13.0 - '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) - '@wordpress/keycodes': 4.14.0 - '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/priority-queue': 3.13.0 '@wordpress/private-apis': 1.14.0 '@wordpress/rich-text': 7.14.0(react@18.3.1) @@ -19659,18 +18381,18 @@ snapshots: - '@types/react-dom' - supports-color - '@wordpress/block-library@9.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/block-library@9.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 '@wordpress/autop': 4.13.0 '@wordpress/blob': 4.14.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/date': 5.14.0 '@wordpress/deprecated': 4.13.0 @@ -19686,12 +18408,12 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/patterns': 2.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.14.0(react@18.3.1) '@wordpress/private-apis': 1.14.0 - '@wordpress/reusable-blocks': 5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/reusable-blocks': 5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/rich-text': 7.14.0(react@18.3.1) - '@wordpress/server-side-render': 5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/server-side-render': 5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.14.0 '@wordpress/viewport': 6.14.0(react@18.3.1) '@wordpress/wordcount': 4.14.0 @@ -19806,10 +18528,10 @@ snapshots: '@wordpress/browserslist-config@6.14.0': {} - '@wordpress/commands@1.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/commands@1.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 @@ -19817,7 +18539,7 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/private-apis': 1.14.0 clsx: 2.1.1 - cmdk: 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + cmdk: 1.0.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -19826,10 +18548,10 @@ snapshots: - '@types/react-dom' - supports-color - '@wordpress/commands@1.13.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/commands@1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 @@ -19837,27 +18559,7 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/private-apis': 1.14.0 clsx: 2.1.1 - cmdk: 1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - '@types/react-dom' - - supports-color - - '@wordpress/commands@1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/element': 6.14.0 - '@wordpress/i18n': 5.14.0 - '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) - '@wordpress/private-apis': 1.14.0 - clsx: 2.1.1 - cmdk: 1.0.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + cmdk: 1.0.4(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) transitivePeerDependencies: @@ -19886,69 +18588,15 @@ snapshots: - '@types/react-dom' - supports-color - '@wordpress/components@29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/components@29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@ariakit/react': 0.4.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@babel/runtime': 7.25.7 '@emotion/cache': 11.14.0 '@emotion/css': 11.13.5 - '@emotion/react': 11.14.0(@types/react@18.3.12)(react@18.3.1) + '@emotion/react': 11.14.0(@types/react@18.3.18)(react@18.3.1) '@emotion/serialize': 1.3.3 - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.12)(react@18.3.1))(@types/react@18.3.12)(react@18.3.1) - '@emotion/utils': 1.4.2 - '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@types/gradient-parser': 0.1.3 - '@types/highlight-words-core': 1.2.1 - '@use-gesture/react': 10.3.1(react@18.3.1) - '@wordpress/a11y': 4.13.0 - '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/date': 5.14.0 - '@wordpress/deprecated': 4.13.0 - '@wordpress/dom': 4.13.0 - '@wordpress/element': 6.14.0 - '@wordpress/escape-html': 3.14.0 - '@wordpress/hooks': 4.14.0 - '@wordpress/html-entities': 4.14.0 - '@wordpress/i18n': 5.14.0 - '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/is-shallow-equal': 5.13.0 - '@wordpress/keycodes': 4.14.0 - '@wordpress/primitives': 4.14.0(react@18.3.1) - '@wordpress/private-apis': 1.14.0 - '@wordpress/rich-text': 7.14.0(react@18.3.1) - '@wordpress/warning': 3.13.0 - change-case: 4.1.2 - clsx: 2.1.1 - colord: 2.9.3 - date-fns: 3.6.0 - deepmerge: 4.3.1 - fast-deep-equal: 3.1.3 - framer-motion: 11.4.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - gradient-parser: 0.1.5 - highlight-words-core: 1.2.3 - is-plain-object: 5.0.0 - memize: 2.1.0 - path-to-regexp: 6.3.0 - re-resizable: 6.10.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-colorful: 5.6.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react-dom: 18.3.1(react@18.3.1) - remove-accents: 0.5.0 - uuid: 9.0.1 - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - supports-color - - '@wordpress/components@29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@ariakit/react': 0.4.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@babel/runtime': 7.25.7 - '@emotion/cache': 11.14.0 - '@emotion/css': 11.13.5 - '@emotion/react': 11.14.0(@types/react@18.3.13)(react@18.3.1) - '@emotion/serialize': 1.3.3 - '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.13)(react@18.3.1))(@types/react@18.3.13)(react@18.3.1) + '@emotion/styled': 11.14.0(@emotion/react@11.14.0(@types/react@18.3.18)(react@18.3.1))(@types/react@18.3.18)(react@18.3.1) '@emotion/utils': 1.4.2 '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@types/gradient-parser': 0.1.3 @@ -20082,13 +18730,13 @@ snapshots: react: 18.3.1 use-memo-one: 1.1.3(react@18.3.1) - '@wordpress/core-commands@1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-commands@1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/html-entities': 4.14.0 @@ -20134,11 +18782,11 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/core-data@7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 - '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) @@ -20168,11 +18816,11 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/core-data@7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/core-data@7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) @@ -20274,11 +18922,11 @@ snapshots: rememo: 4.0.2 use-memo-one: 1.1.3(react@18.3.1) - '@wordpress/dataviews@4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/dataviews@4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@ariakit/react': 0.4.15(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 @@ -20322,7 +18970,7 @@ snapshots: dependencies: '@babel/runtime': 7.25.7 '@wordpress/deprecated': 4.13.0 - moment: 2.29.4 + moment: 2.30.1 moment-timezone: 0.5.46 '@wordpress/dependency-extraction-webpack-plugin@6.14.0(webpack@5.94.0)': @@ -20344,23 +18992,23 @@ snapshots: '@babel/runtime': 7.25.7 '@wordpress/deprecated': 4.13.0 - '@wordpress/edit-post@8.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/edit-post@8.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/block-library': 9.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-library': 9.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-commands': 1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-commands': 1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/deprecated': 4.13.0 '@wordpress/dom': 4.13.0 - '@wordpress/editor': 14.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/editor': 14.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/hooks': 4.14.0 '@wordpress/html-entities': 4.14.0 @@ -20369,13 +19017,13 @@ snapshots: '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/plugins': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.14.0 '@wordpress/url': 4.14.0 '@wordpress/viewport': 6.14.0(react@18.3.1) '@wordpress/warning': 3.13.0 - '@wordpress/widgets': 4.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/widgets': 4.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) clsx: 2.1.1 memize: 2.1.0 react: 18.3.1 @@ -20432,41 +19080,41 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/editor@14.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/editor@14.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 - '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': 5.14.0 '@wordpress/deprecated': 4.13.0 '@wordpress/dom': 4.13.0 '@wordpress/element': 6.14.0 - '@wordpress/fields': 0.5.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/fields': 0.5.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/hooks': 4.14.0 '@wordpress/html-entities': 4.14.0 '@wordpress/i18n': 5.14.0 '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/interface': 8.2.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/interface': 8.2.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/media-utils': 5.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/patterns': 2.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/plugins': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.14.0 - '@wordpress/reusable-blocks': 5.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/reusable-blocks': 5.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/rich-text': 7.14.0(react@18.3.1) - '@wordpress/server-side-render': 5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/server-side-render': 5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.14.0 '@wordpress/warning': 3.13.0 '@wordpress/wordcount': 4.14.0 @@ -20491,41 +19139,41 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/editor@14.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/editor@14.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/commands': 1.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/commands': 1.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': 5.14.0 '@wordpress/deprecated': 4.13.0 '@wordpress/dom': 4.13.0 '@wordpress/element': 6.14.0 - '@wordpress/fields': 0.5.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/fields': 0.5.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/hooks': 4.14.0 '@wordpress/html-entities': 4.14.0 '@wordpress/i18n': 5.14.0 '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/interface': 8.2.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/interface': 8.2.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/keyboard-shortcuts': 5.13.0(react@18.3.1) '@wordpress/keycodes': 4.14.0 '@wordpress/media-utils': 5.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/patterns': 2.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/plugins': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/private-apis': 1.14.0 - '@wordpress/reusable-blocks': 5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/reusable-blocks': 5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/rich-text': 7.14.0(react@18.3.1) - '@wordpress/server-side-render': 5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/server-side-render': 5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/url': 4.14.0 '@wordpress/warning': 3.13.0 '@wordpress/wordcount': 4.14.0 @@ -20612,8 +19260,8 @@ snapshots: '@wordpress/element@6.14.0': dependencies: '@babel/runtime': 7.25.7 - '@types/react': 18.3.13 - '@types/react-dom': 18.3.1 + '@types/react': 18.3.18 + '@types/react-dom': 18.3.5(@types/react@18.3.18) '@wordpress/escape-html': 3.14.0 change-case: 4.1.2 is-plain-object: 5.0.0 @@ -20649,17 +19297,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@wordpress/fields@0.5.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.5.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': 5.14.0 '@wordpress/element': 6.14.0 '@wordpress/hooks': 4.14.0 @@ -20668,7 +19316,7 @@ snapshots: '@wordpress/icons': 10.14.0(react@18.3.1) '@wordpress/media-utils': 5.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/patterns': 2.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.14.0(react@18.3.1) '@wordpress/private-apis': 1.14.0 '@wordpress/router': 1.14.0(react@18.3.1) @@ -20688,17 +19336,17 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/fields@0.5.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/fields@0.5.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 '@wordpress/blob': 4.14.0 '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/dataviews': 4.10.0(patch_hash=of6mtpeubmoicukrgy5ohupf6a)(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/date': 5.14.0 '@wordpress/element': 6.14.0 '@wordpress/hooks': 4.14.0 @@ -20707,7 +19355,7 @@ snapshots: '@wordpress/icons': 10.14.0(react@18.3.1) '@wordpress/media-utils': 5.14.0 '@wordpress/notices': 5.14.0(react@18.3.1) - '@wordpress/patterns': 2.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/patterns': 2.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/primitives': 4.14.0(react@18.3.1) '@wordpress/private-apis': 1.14.0 '@wordpress/router': 1.14.0(react@18.3.1) @@ -20766,12 +19414,12 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/format-library@5.14.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/format-library@5.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 - '@wordpress/block-editor': 14.9.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/components': 29.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 @@ -20823,19 +19471,19 @@ snapshots: '@preact/signals': 1.3.1(preact@10.25.1) preact: 10.25.1 - '@wordpress/interface@8.2.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/interface@8.2.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/deprecated': 4.13.0 '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/plugins': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/preferences': 4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/plugins': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/preferences': 4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/viewport': 6.14.0(react@18.3.1) clsx: 2.1.1 react: 18.3.1 @@ -20906,15 +19554,15 @@ snapshots: '@wordpress/data': 10.14.0(react@18.3.1) react: 18.3.1 - '@wordpress/patterns@2.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/patterns@2.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 - '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/html-entities': 4.14.0 @@ -20933,15 +19581,15 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/patterns@2.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/patterns@2.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/html-entities': 4.14.0 @@ -20987,28 +19635,10 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/plugins@7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/plugins@7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/deprecated': 4.13.0 - '@wordpress/element': 6.14.0 - '@wordpress/hooks': 4.14.0 - '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/is-shallow-equal': 5.13.0 - memize: 2.1.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - supports-color - - '@wordpress/plugins@7.14.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/deprecated': 4.13.0 '@wordpress/element': 6.14.0 @@ -21047,31 +19677,11 @@ snapshots: autoprefixer: 10.4.20(postcss@8.4.47) postcss: 8.4.47 - '@wordpress/preferences@4.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.25.7 - '@wordpress/a11y': 4.13.0 - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/data': 10.14.0(react@18.3.1) - '@wordpress/deprecated': 4.13.0 - '@wordpress/element': 6.14.0 - '@wordpress/i18n': 5.14.0 - '@wordpress/icons': 10.14.0(react@18.3.1) - '@wordpress/private-apis': 1.14.0 - clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - '@emotion/is-prop-valid' - - '@types/react' - - supports-color - - '@wordpress/preferences@4.13.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/preferences@4.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/a11y': 4.13.0 - '@wordpress/components': 29.0.0(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/deprecated': 4.13.0 @@ -21135,13 +19745,13 @@ snapshots: redux: 5.0.1 rungen: 0.3.2 - '@wordpress/reusable-blocks@5.13.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/reusable-blocks@5.13.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 @@ -21159,13 +19769,13 @@ snapshots: - supports-color - utf-8-validate - '@wordpress/reusable-blocks@5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/reusable-blocks@5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 @@ -21232,12 +19842,12 @@ snapshots: react: 18.3.1 route-recognizer: 0.3.4 - '@wordpress/server-side-render@5.13.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/server-side-render@5.13.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/deprecated': 4.13.0 @@ -21323,15 +19933,15 @@ snapshots: '@wordpress/warning@3.13.0': {} - '@wordpress/widgets@4.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@wordpress/widgets@4.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.25.7 '@wordpress/api-fetch': 7.14.0 - '@wordpress/block-editor': 14.9.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/block-editor': 14.9.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/blocks': 14.3.0(react@18.3.1) - '@wordpress/components': 29.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/components': 29.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/compose': 7.14.0(react@18.3.1) - '@wordpress/core-data': 7.14.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@wordpress/core-data': 7.14.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@wordpress/data': 10.14.0(react@18.3.1) '@wordpress/element': 6.14.0 '@wordpress/i18n': 5.14.0 @@ -21403,27 +20013,19 @@ snapshots: dependencies: acorn: 8.14.0 - acorn-jsx@5.3.2(acorn@7.4.1): - dependencies: - acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.14.0): dependencies: acorn: 8.14.0 - acorn-walk@7.2.0: {} - acorn-walk@8.3.4: dependencies: acorn: 8.14.0 - acorn@7.4.1: {} - acorn@8.14.0: {} agent-base@6.0.2: dependencies: - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -21513,12 +20115,10 @@ snapshots: optionalDependencies: rxjs: 6.6.7 - any-promise@1.3.0: {} - anymatch@3.1.3: dependencies: normalize-path: 3.0.0 - picomatch: 2.2.3 + picomatch: 2.3.1 append-transform@2.0.0: dependencies: @@ -21631,10 +20231,15 @@ snapshots: asynckit@0.4.0: {} + atomically@2.0.3: + dependencies: + stubborn-fs: 1.2.5 + when-exit: 2.1.3 + autoprefixer@10.4.20(postcss@8.4.47): dependencies: - browserslist: 4.24.2 - caniuse-lite: 1.0.30001687 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -21657,9 +20262,9 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.4(debug@4.3.4): + axios@1.7.4(debug@4.4.0): dependencies: - follow-redirects: 1.15.9(debug@4.3.4) + follow-redirects: 1.15.9(debug@4.4.0) form-data: 4.0.1 proxy-from-env: 1.1.0 transitivePeerDependencies: @@ -21751,7 +20356,7 @@ snapshots: babel-plugin-polyfill-corejs2@0.4.12(@babel/core@7.26.0): dependencies: - '@babel/compat-data': 7.26.2 + '@babel/compat-data': 7.26.3 '@babel/core': 7.26.0 '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0) semver: 6.3.1 @@ -21777,7 +20382,7 @@ snapshots: dependencies: '@babel/core': 7.26.0 core-js: 3.38.1 - debug: 4.3.4 + debug: 4.4.0 lodash.mergewith: 4.6.2 prettier: 2.8.8 strip-indent: 3.0.0 @@ -21894,19 +20499,12 @@ snapshots: browser-assert@1.2.1: {} - browserslist@4.23.1: + browserslist@4.24.3: dependencies: - caniuse-lite: 1.0.30001687 - electron-to-chromium: 1.5.71 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.23.1) - - browserslist@4.24.2: - dependencies: - caniuse-lite: 1.0.30001687 - electron-to-chromium: 1.5.71 - node-releases: 2.0.18 - update-browserslist-db: 1.1.1(browserslist@4.24.2) + caniuse-lite: 1.0.30001690 + electron-to-chromium: 1.5.76 + node-releases: 2.0.19 + update-browserslist-db: 1.1.1(browserslist@4.24.3) bs-logger@0.2.6: dependencies: @@ -21920,8 +20518,6 @@ snapshots: buffer-crc32@0.2.13: {} - buffer-from@0.1.2: {} - buffer-from@1.1.2: {} buffer@5.7.1: @@ -21936,17 +20532,10 @@ snapshots: builtin-status-codes@2.0.0: {} - bundle-require@5.1.0(esbuild@0.24.2): - dependencies: - esbuild: 0.24.2 - load-tsconfig: 0.2.5 - bytes-iec@3.1.1: {} bytes@3.1.2: {} - cac@6.7.14: {} - caching-transform@4.0.0: dependencies: hasha: 5.2.2 @@ -21985,12 +20574,12 @@ snapshots: caniuse-api@3.0.0: dependencies: - browserslist: 4.23.1 - caniuse-lite: 1.0.30001687 + browserslist: 4.24.3 + caniuse-lite: 1.0.30001690 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 - caniuse-lite@1.0.30001687: {} + caniuse-lite@1.0.30001690: {} capital-case@1.0.4: dependencies: @@ -22100,7 +20689,7 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chokidar@4.0.1: + chokidar@4.0.3: dependencies: readdirp: 4.0.2 @@ -22168,29 +20757,17 @@ snapshots: clone-deep@4.0.1: dependencies: - is-plain-object: 2.0.4 - kind-of: 6.0.3 - shallow-clone: 3.0.1 - - clsx@2.1.1: {} - - cmdk@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - use-sync-external-store: 1.4.0(react@18.3.1) - transitivePeerDependencies: - - '@types/react' - - '@types/react-dom' + is-plain-object: 2.0.4 + kind-of: 6.0.3 + shallow-clone: 3.0.1 + + clsx@2.1.1: {} - cmdk@1.0.4(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + cmdk@1.0.4(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.13)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.2(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.5(@types/react@18.3.18))(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.4.0(react@18.3.1) @@ -22198,11 +20775,11 @@ snapshots: - '@types/react' - '@types/react-dom' - cmdk@1.0.4(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + cmdk@1.0.4(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@radix-ui/react-dialog': 1.1.2(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-id': 1.1.0(@types/react@18.3.12)(react@18.3.1) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-dialog': 1.1.2(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@radix-ui/react-id': 1.1.0(@types/react@18.3.18)(react@18.3.1) + '@radix-ui/react-primitive': 2.0.0(@types/react@18.3.18)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) use-sync-external-store: 1.4.0(react@18.3.1) @@ -22280,20 +20857,18 @@ snapshots: commander@12.1.0: {} + commander@13.0.0: {} + commander@2.20.3: {} commander@3.0.2: {} - commander@4.1.1: {} - commander@5.1.0: {} commander@7.2.0: {} commander@8.3.0: {} - commander@9.3.0: {} - comment-parser@1.4.1: {} common-path-prefix@3.0.0: {} @@ -22324,20 +20899,16 @@ snapshots: tree-kill: 1.2.2 yargs: 17.6.2 - config@3.3.7: + config@3.3.12: dependencies: json5: 2.2.3 - configstore@5.0.1: + configstore@7.0.0: dependencies: - dot-prop: 5.3.0 + atomically: 2.0.3 + dot-prop: 9.0.0 graceful-fs: 4.2.11 - make-dir: 3.1.0 - unique-string: 2.0.0 - write-file-atomic: 3.0.3 - xdg-basedir: 4.0.0 - - consola@3.3.3: {} + xdg-basedir: 5.1.0 constant-case@3.0.4: dependencies: @@ -22375,7 +20946,7 @@ snapshots: core-js-compat@3.39.0: dependencies: - browserslist: 4.24.2 + browserslist: 4.24.3 core-js@3.38.1: {} @@ -22413,13 +20984,13 @@ snapshots: - supports-color - ts-node - create-jest@29.7.0(@types/node@20.17.9): + create-jest@29.7.0(@types/node@20.17.11): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.17.9) + jest-config: 29.7.0(@types/node@20.17.11) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -22436,8 +21007,6 @@ snapshots: crypto-js@4.2.0: {} - crypto-random-string@2.0.0: {} - css-declaration-sorter@7.2.0(postcss@8.4.47): dependencies: postcss: 8.4.47 @@ -22464,7 +21033,7 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.4.47) postcss-modules-values: 4.0.0(postcss@8.4.47) postcss-value-parser: 4.2.0 - semver: 7.5.2 + semver: 7.6.3 webpack: 5.94.0(webpack-cli@4.9.1) css-minimizer-webpack-plugin@5.0.1(webpack@5.94.0): @@ -22513,7 +21082,7 @@ snapshots: cssnano-preset-default@6.1.2(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 css-declaration-sorter: 7.2.0(postcss@8.4.47) cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 @@ -22676,10 +21245,6 @@ snapshots: dependencies: ms: 2.1.3 - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.4.0: dependencies: ms: 2.1.3 @@ -22767,9 +21332,6 @@ snapshots: detect-indent@6.1.0: {} - detect-libc@1.0.3: - optional: true - detect-newline@3.1.0: {} detect-node-es@1.1.0: {} @@ -22882,9 +21444,9 @@ snapshots: no-case: 3.0.4 tslib: 2.5.0 - dot-prop@5.3.0: + dot-prop@9.0.0: dependencies: - is-obj: 2.0.0 + type-fest: 4.31.0 dotenv@16.0.2: {} @@ -22904,7 +21466,7 @@ snapshots: dependencies: jake: 10.9.2 - electron-to-chromium@1.5.71: {} + electron-to-chromium@1.5.76: {} elegant-spinner@1.0.1: {} @@ -22956,7 +21518,7 @@ snapshots: entities@4.5.0: {} - envfile@6.17.0: {} + envfile@7.1.0: {} envinfo@7.14.0: {} @@ -23075,6 +21637,8 @@ snapshots: is-date-object: 1.0.5 is-symbol: 1.1.0 + es-toolkit@1.31.0: {} + es6-error@4.1.1: {} esbuild-loader@3.0.1(webpack@5.94.0): @@ -23085,28 +21649,13 @@ snapshots: webpack: 5.94.0(webpack-cli@4.9.1) webpack-sources: 1.4.3 - esbuild-register@3.6.0(esbuild@0.23.1): - dependencies: - debug: 4.3.4 - esbuild: 0.23.1 - transitivePeerDependencies: - - supports-color - esbuild-register@3.6.0(esbuild@0.24.2): dependencies: - debug: 4.3.4 + debug: 4.4.0 esbuild: 0.24.2 transitivePeerDependencies: - supports-color - esbuild-sass-plugin@3.3.1(esbuild@0.24.2)(sass-embedded@1.83.0): - dependencies: - esbuild: 0.24.2 - resolve: 1.22.8 - safe-identifier: 0.4.2 - sass: 1.83.0 - sass-embedded: 1.83.0 - esbuild@0.17.19: optionalDependencies: '@esbuild/android-arm': 0.17.19 @@ -23132,33 +21681,6 @@ snapshots: '@esbuild/win32-ia32': 0.17.19 '@esbuild/win32-x64': 0.17.19 - esbuild@0.23.1: - optionalDependencies: - '@esbuild/aix-ppc64': 0.23.1 - '@esbuild/android-arm': 0.23.1 - '@esbuild/android-arm64': 0.23.1 - '@esbuild/android-x64': 0.23.1 - '@esbuild/darwin-arm64': 0.23.1 - '@esbuild/darwin-x64': 0.23.1 - '@esbuild/freebsd-arm64': 0.23.1 - '@esbuild/freebsd-x64': 0.23.1 - '@esbuild/linux-arm': 0.23.1 - '@esbuild/linux-arm64': 0.23.1 - '@esbuild/linux-ia32': 0.23.1 - '@esbuild/linux-loong64': 0.23.1 - '@esbuild/linux-mips64el': 0.23.1 - '@esbuild/linux-ppc64': 0.23.1 - '@esbuild/linux-riscv64': 0.23.1 - '@esbuild/linux-s390x': 0.23.1 - '@esbuild/linux-x64': 0.23.1 - '@esbuild/netbsd-x64': 0.23.1 - '@esbuild/openbsd-arm64': 0.23.1 - '@esbuild/openbsd-x64': 0.23.1 - '@esbuild/sunos-x64': 0.23.1 - '@esbuild/win32-arm64': 0.23.1 - '@esbuild/win32-ia32': 0.23.1 - '@esbuild/win32-x64': 0.23.1 - esbuild@0.24.2: optionalDependencies: '@esbuild/aix-ppc64': 0.24.2 @@ -23459,7 +21981,7 @@ snapshots: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.6 - debug: 4.3.4 + debug: 4.4.0 escape-string-regexp: 4.0.0 eslint-scope: 8.2.0 eslint-visitor-keys: 4.2.0 @@ -23533,7 +22055,7 @@ snapshots: eval@0.1.8: dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 require-like: 0.1.2 event-target-shim@5.0.1: {} @@ -23624,7 +22146,7 @@ snapshots: extract-zip@2.0.1: dependencies: - debug: 4.3.4 + debug: 4.4.0 get-stream: 5.2.0 yauzl: 2.10.0 optionalDependencies: @@ -23693,7 +22215,7 @@ snapshots: dependencies: minimatch: 5.1.0 - filesize@8.0.6: {} + filesize@10.1.6: {} fill-range@7.1.1: dependencies: @@ -23741,7 +22263,7 @@ snapshots: dependencies: chalk: 4.1.2 commander: 5.1.0 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -23789,9 +22311,9 @@ snapshots: follow-redirects@1.15.9: {} - follow-redirects@1.15.9(debug@4.3.4): + follow-redirects@1.15.9(debug@4.4.0): optionalDependencies: - debug: 4.3.4 + debug: 4.4.0 for-each@0.3.3: dependencies: @@ -23819,7 +22341,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.2 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.0.4 webpack: 5.94.0(webpack-cli@4.9.1) @@ -23836,7 +22358,7 @@ snapshots: minimatch: 3.1.2 node-abort-controller: 3.1.1 schema-utils: 3.3.0 - semver: 7.5.2 + semver: 7.6.3 tapable: 2.2.1 typescript: 5.0.4 webpack: 5.94.0(webpack-cli@4.9.1) @@ -23877,12 +22399,6 @@ snapshots: jsonfile: 6.1.0 universalify: 2.0.1 - fs-extra@11.2.0: - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - fs-monkey@1.0.6: {} fs.realpath@1.0.0: {} @@ -23953,7 +22469,7 @@ snapshots: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -23964,8 +22480,6 @@ snapshots: git-hooks-list@1.0.3: {} - github-slugger@2.0.0: {} - gl-matrix@3.4.3: {} glob-parent@5.1.2: @@ -24104,18 +22618,6 @@ snapshots: dependencies: function-bind: 1.1.2 - hast-util-heading-rank@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-is-element@3.0.0: - dependencies: - '@types/hast': 3.0.4 - - hast-util-to-string@3.0.1: - dependencies: - '@types/hast': 3.0.4 - he@1.2.0: {} header-case@2.0.4: @@ -24166,8 +22668,6 @@ snapshots: relateurl: 0.2.7 terser: 5.37.0 - html-tags@3.3.1: {} - html-webpack-plugin@5.6.3(webpack@5.94.0): dependencies: '@types/html-minifier-terser': 6.1.0 @@ -24213,28 +22713,28 @@ snapshots: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.3 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.3 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -24328,8 +22828,6 @@ snapshots: ipaddr.js@1.9.1: {} - is-absolute-url@4.0.1: {} - is-arguments@1.1.1: dependencies: call-bind: 1.0.8 @@ -24422,8 +22920,6 @@ snapshots: is-number@7.0.0: {} - is-obj@2.0.0: {} - is-observable@1.1.0: dependencies: symbol-observable: 1.2.0 @@ -24569,7 +23065,7 @@ snapshots: istanbul-lib-source-maps@4.0.1: dependencies: - debug: 4.3.4 + debug: 4.4.0 istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: @@ -24626,7 +23122,7 @@ snapshots: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -24665,16 +23161,16 @@ snapshots: - supports-color - ts-node - jest-cli@29.7.0(@types/node@20.17.9): + jest-cli@29.7.0(@types/node@20.17.11): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.17.9) + create-jest: 29.7.0(@types/node@20.17.11) exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0(@types/node@20.17.9) + jest-config: 29.7.0(@types/node@20.17.11) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.6.2 @@ -24712,7 +23208,7 @@ snapshots: - babel-plugin-macros - supports-color - jest-config@29.7.0(@types/node@20.17.9): + jest-config@29.7.0(@types/node@20.17.11): dependencies: '@babel/core': 7.26.0 '@jest/test-sequencer': 29.7.0 @@ -24737,7 +23233,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -24767,7 +23263,7 @@ snapshots: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -24781,7 +23277,7 @@ snapshots: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -24798,7 +23294,7 @@ snapshots: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.17.9 + '@types/node': 20.17.11 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 @@ -24844,7 +23340,7 @@ snapshots: jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-util: 29.7.0 jest-playwright-preset@4.0.0(jest-circus@29.7.0)(jest-environment-node@29.7.0)(jest-runner@29.7.0)(jest@29.7.0): @@ -24911,7 +23407,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -24939,7 +23435,7 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 cjs-module-lexer: 1.4.1 collect-v8-coverage: 1.0.2 @@ -24989,11 +23485,11 @@ snapshots: jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 - picomatch: 2.2.3 + picomatch: 2.3.1 jest-validate@29.7.0: dependencies: @@ -25019,7 +23515,7 @@ snapshots: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.17.9 + '@types/node': 20.17.11 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -25028,13 +23524,13 @@ snapshots: jest-worker@27.5.1: dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 merge-stream: 2.0.0 supports-color: 8.1.1 jest-worker@29.7.0: dependencies: - '@types/node': 20.17.9 + '@types/node': 20.17.11 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 @@ -25051,12 +23547,12 @@ snapshots: - supports-color - ts-node - jest@29.7.0(@types/node@20.17.9): + jest@29.7.0(@types/node@20.17.11): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0(@types/node@20.17.9) + jest-cli: 29.7.0(@types/node@20.17.11) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -25073,12 +23569,8 @@ snapshots: '@sideway/formula': 3.0.1 '@sideway/pinpoint': 2.0.0 - joycon@3.1.1: {} - jquery@3.6.0: {} - js-base64@2.6.4: {} - js-base64@3.7.7: {} js-tokens@4.0.0: {} @@ -25274,8 +23766,6 @@ snapshots: - bufferutil - utf-8-validate - load-tsconfig@0.2.5: {} - loader-runner@4.3.0: {} loader-utils@2.0.4: @@ -25288,8 +23778,8 @@ snapshots: localtunnel@2.0.2: dependencies: - axios: 1.7.4(debug@4.3.4) - debug: 4.3.4 + axios: 1.7.4(debug@4.4.0) + debug: 4.4.0 openurl: 1.1.1 yargs: 17.6.2 transitivePeerDependencies: @@ -25349,8 +23839,6 @@ snapshots: lodash.mergewith@4.6.2: {} - lodash.sortby@4.7.0: {} - lodash.throttle@4.1.1: {} lodash.uniq@4.5.0: {} @@ -25399,10 +23887,6 @@ snapshots: dependencies: yallist: 3.1.1 - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - lru-cache@7.18.3: {} lz-string@1.5.0: {} @@ -25459,7 +23943,7 @@ snapshots: markdown-it-footnote@3.0.3: {} - markdown-it@14.0.0: + markdown-it@14.1.0: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -25470,10 +23954,6 @@ snapshots: markdown-table@3.0.4: {} - markdown-to-jsx@7.7.1(react@18.3.1): - dependencies: - react: 18.3.1 - math-expression-evaluator@1.4.0: {} md5-es@1.8.2: {} @@ -25780,7 +24260,7 @@ snapshots: micromark@4.0.1: dependencies: '@types/debug': 4.1.12 - debug: 4.3.4 + debug: 4.4.0 decode-named-character-reference: 1.0.2 devlop: 1.1.0 micromark-core-commonmark: 2.0.2 @@ -25860,26 +24340,18 @@ snapshots: moment-timezone@0.5.46: dependencies: - moment: 2.29.4 + moment: 2.30.1 - moment@2.29.4: {} + moment@2.30.1: {} mousetrap@1.6.5: {} ms@2.0.0: {} - ms@2.1.2: {} - ms@2.1.3: {} murmurhash-js@1.0.0: {} - mz@2.7.0: - dependencies: - any-promise: 1.3.0 - object-assign: 4.1.1 - thenify-all: 1.6.0 - nanoid@3.3.8: {} nanoid@5.0.9: {} @@ -25903,9 +24375,6 @@ snapshots: node-abort-controller@3.1.1: {} - node-addon-api@7.1.1: - optional: true - node-domexception@1.0.0: {} node-fetch@2.6.7: @@ -25918,7 +24387,7 @@ snapshots: dependencies: process-on-spawn: 1.1.0 - node-releases@2.0.18: {} + node-releases@2.0.19: {} normalize-path@3.0.0: {} @@ -26170,7 +24639,7 @@ snapshots: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.3 - debug: 4.3.4 + debug: 4.4.0 get-uri: 6.0.4 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -26302,7 +24771,7 @@ snapshots: dependencies: '@types/seed-random': 2.2.4 crc32: 0.2.2 - debug: 4.3.4 + debug: 4.4.0 seed-random: 2.2.0 tslib: 2.5.0 transitivePeerDependencies: @@ -26310,8 +24779,6 @@ snapshots: picocolors@1.1.1: {} - picomatch@2.2.3: {} - picomatch@2.3.1: {} picomatch@4.0.2: {} @@ -26358,7 +24825,7 @@ snapshots: postcss-colormin@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 caniuse-api: 3.0.0 colord: 2.9.3 postcss: 8.4.47 @@ -26366,7 +24833,7 @@ snapshots: postcss-convert-values@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -26398,18 +24865,12 @@ snapshots: optionalDependencies: postcss: 8.4.47 - postcss-load-config@6.0.1(postcss@8.4.47): - dependencies: - lilconfig: 3.1.3 - optionalDependencies: - postcss: 8.4.47 - postcss-loader@6.2.0(postcss@8.4.47)(webpack@5.94.0): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.47 - semver: 7.5.2 + semver: 7.6.3 webpack: 5.94.0(webpack-cli@4.9.1) postcss-merge-longhand@6.0.5(postcss@8.4.47): @@ -26420,7 +24881,7 @@ snapshots: postcss-merge-rules@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 caniuse-api: 3.0.0 cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 @@ -26440,7 +24901,7 @@ snapshots: postcss-minify-params@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 cssnano-utils: 4.0.2(postcss@8.4.47) postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -26526,7 +24987,7 @@ snapshots: postcss-normalize-unicode@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 postcss: 8.4.47 postcss-value-parser: 4.2.0 @@ -26552,7 +25013,7 @@ snapshots: postcss-reduce-initial@6.1.0(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 caniuse-api: 3.0.0 postcss: 8.4.47 @@ -26656,23 +25117,12 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 - prop-types@15.7.2: - dependencies: - loose-envify: 1.4.0 - object-assign: 4.1.1 - react-is: 16.13.1 - prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - proper-lockfile@2.0.1: - dependencies: - graceful-fs: 4.2.11 - retry: 0.10.1 - proper-lockfile@4.1.2: dependencies: graceful-fs: 4.2.11 @@ -26691,7 +25141,7 @@ snapshots: proxy-agent@6.5.0: dependencies: agent-base: 7.1.3 - debug: 4.3.4 + debug: 4.4.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 lru-cache: 7.18.3 @@ -26734,7 +25184,7 @@ snapshots: q-flat@1.0.7: {} - qrcode.react@3.1.0(react@18.3.1): + qrcode.react@4.2.0(react@18.3.1): dependencies: react: 18.3.1 @@ -26750,7 +25200,7 @@ snapshots: dependencies: side-channel: 1.0.6 - qss@2.0.3: {} + qss@3.0.0: {} querystringify@2.2.0: {} @@ -26829,22 +25279,12 @@ snapshots: react-dom: 18.3.1(react@18.3.1) tslib: 2.5.0 - react-element-to-jsx-string@15.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@base2/pretty-print-object': 1.0.1 - is-plain-object: 5.0.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-is: 18.1.0 - react-fast-compare@3.2.2: {} react-is@16.13.1: {} react-is@17.0.2: {} - react-is@18.1.0: {} - react-is@18.3.1: {} react-page-visibility@7.0.0(react@18.3.1): @@ -26872,21 +25312,13 @@ snapshots: optionalDependencies: react-dom: 18.3.1(react@18.3.1) - react-remove-scroll-bar@2.3.6(@types/react@18.3.12)(react@18.3.1): - dependencies: - react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) - tslib: 2.5.0 - optionalDependencies: - '@types/react': 18.3.12 - - react-remove-scroll-bar@2.3.6(@types/react@18.3.13)(react@18.3.1): + react-remove-scroll-bar@2.3.6(@types/react@18.3.18)(react@18.3.1): dependencies: react: 18.3.1 - react-style-singleton: 2.2.1(@types/react@18.3.13)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.18)(react@18.3.1) tslib: 2.5.0 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 react-remove-scroll-bar@2.3.6(react@18.3.1): dependencies: @@ -26894,27 +25326,16 @@ snapshots: react-style-singleton: 2.2.1(react@18.3.1) tslib: 2.5.0 - react-remove-scroll@2.6.0(@types/react@18.3.12)(react@18.3.1): + react-remove-scroll@2.6.0(@types/react@18.3.18)(react@18.3.1): dependencies: react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.12)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.12)(react@18.3.1) + react-remove-scroll-bar: 2.3.6(@types/react@18.3.18)(react@18.3.1) + react-style-singleton: 2.2.1(@types/react@18.3.18)(react@18.3.1) tslib: 2.5.0 - use-callback-ref: 1.3.2(@types/react@18.3.12)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.12)(react@18.3.1) + use-callback-ref: 1.3.2(@types/react@18.3.18)(react@18.3.1) + use-sidecar: 1.1.2(@types/react@18.3.18)(react@18.3.1) optionalDependencies: - '@types/react': 18.3.12 - - react-remove-scroll@2.6.0(@types/react@18.3.13)(react@18.3.1): - dependencies: - react: 18.3.1 - react-remove-scroll-bar: 2.3.6(@types/react@18.3.13)(react@18.3.1) - react-style-singleton: 2.2.1(@types/react@18.3.13)(react@18.3.1) - tslib: 2.5.0 - use-callback-ref: 1.3.2(@types/react@18.3.13)(react@18.3.1) - use-sidecar: 1.1.2(@types/react@18.3.13)(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 react-remove-scroll@2.6.0(react@18.3.1): dependencies: @@ -26936,47 +25357,12 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-router-dom@6.10.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@remix-run/router': 1.5.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.10.0(react@18.3.1) - - react-router-dom@6.14.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@remix-run/router': 1.7.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.14.1(react@18.3.1) - - react-router-dom@6.2.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - history: 5.3.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.2.2(react@18.3.1) - - react-router-dom@6.21.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@remix-run/router': 1.14.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.21.0(react@18.3.1) - - react-router-dom@6.28.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + react-router-dom@6.28.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: '@remix-run/router': 1.21.0 react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - react-router: 6.28.0(react@18.3.1) - - react-router-dom@6.6.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1): - dependencies: - '@remix-run/router': 1.2.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - react-router: 6.6.2(react@18.3.1) + react-router: 6.28.1(react@18.3.1) react-router@5.3.4(react@18.3.1): dependencies: @@ -26991,59 +25377,25 @@ snapshots: tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-router@6.10.0(react@18.3.1): - dependencies: - '@remix-run/router': 1.5.0 - react: 18.3.1 - - react-router@6.14.1(react@18.3.1): - dependencies: - '@remix-run/router': 1.7.1 - react: 18.3.1 - - react-router@6.2.2(react@18.3.1): - dependencies: - history: 5.3.0 - react: 18.3.1 - - react-router@6.21.0(react@18.3.1): - dependencies: - '@remix-run/router': 1.14.0 - react: 18.3.1 - - react-router@6.28.0(react@18.3.1): + react-router@6.28.1(react@18.3.1): dependencies: '@remix-run/router': 1.21.0 react: 18.3.1 - react-router@6.6.2(react@18.3.1): - dependencies: - '@remix-run/router': 1.2.1 - react: 18.3.1 - react-slider@2.0.5(@babel/runtime@7.26.0)(react@18.3.1): dependencies: '@babel/runtime': 7.26.0 prop-types: 15.8.1 react: 18.3.1 - react-style-singleton@2.2.1(@types/react@18.3.12)(react@18.3.1): - dependencies: - get-nonce: 1.0.1 - invariant: 2.2.4 - react: 18.3.1 - tslib: 2.5.0 - optionalDependencies: - '@types/react': 18.3.12 - - react-style-singleton@2.2.1(@types/react@18.3.13)(react@18.3.1): + react-style-singleton@2.2.1(@types/react@18.3.18)(react@18.3.1): dependencies: get-nonce: 1.0.1 invariant: 2.2.4 react: 18.3.1 tslib: 2.5.0 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 react-style-singleton@2.2.1(react@18.3.1): dependencies: @@ -27083,7 +25435,7 @@ snapshots: readdirp@3.6.0: dependencies: - picomatch: 2.2.3 + picomatch: 2.3.1 readdirp@4.0.2: {} @@ -27186,23 +25538,6 @@ snapshots: dependencies: jsesc: 3.0.2 - rehype-external-links@3.0.0: - dependencies: - '@types/hast': 3.0.4 - '@ungap/structured-clone': 1.2.1 - hast-util-is-element: 3.0.0 - is-absolute-url: 4.0.1 - space-separated-tokens: 2.0.2 - unist-util-visit: 5.0.0 - - rehype-slug@6.0.0: - dependencies: - '@types/hast': 3.0.4 - github-slugger: 2.0.0 - hast-util-heading-rank: 3.0.0 - hast-util-to-string: 3.0.1 - unist-util-visit: 5.0.0 - relateurl@0.2.7: {} release-zalgo@1.0.0: @@ -27305,8 +25640,6 @@ snapshots: onetime: 2.0.1 signal-exit: 3.0.7 - retry@0.10.1: {} - retry@0.12.0: {} retry@0.13.1: {} @@ -27319,6 +25652,14 @@ snapshots: robust-predicates@3.0.2: {} + rollup-plugin-dts@6.1.1(rollup@3.29.5)(typescript@5.7.2): + dependencies: + magic-string: 0.30.14 + rollup: 3.29.5 + typescript: 5.7.2 + optionalDependencies: + '@babel/code-frame': 7.26.2 + rollup-plugin-livereload@2.0.5: dependencies: livereload: 0.9.3 @@ -27326,6 +25667,10 @@ snapshots: - bufferutil - utf-8-validate + rollup-plugin-peer-deps-external@2.2.4(rollup@3.29.5): + dependencies: + rollup: 3.29.5 + rollup-plugin-postcss@4.0.2(postcss@8.4.47): dependencies: chalk: 4.1.2 @@ -27366,31 +25711,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - rollup@4.29.1: - dependencies: - '@types/estree': 1.0.6 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.29.1 - '@rollup/rollup-android-arm64': 4.29.1 - '@rollup/rollup-darwin-arm64': 4.29.1 - '@rollup/rollup-darwin-x64': 4.29.1 - '@rollup/rollup-freebsd-arm64': 4.29.1 - '@rollup/rollup-freebsd-x64': 4.29.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.29.1 - '@rollup/rollup-linux-arm-musleabihf': 4.29.1 - '@rollup/rollup-linux-arm64-gnu': 4.29.1 - '@rollup/rollup-linux-arm64-musl': 4.29.1 - '@rollup/rollup-linux-loongarch64-gnu': 4.29.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.29.1 - '@rollup/rollup-linux-riscv64-gnu': 4.29.1 - '@rollup/rollup-linux-s390x-gnu': 4.29.1 - '@rollup/rollup-linux-x64-gnu': 4.29.1 - '@rollup/rollup-linux-x64-musl': 4.29.1 - '@rollup/rollup-win32-arm64-msvc': 4.29.1 - '@rollup/rollup-win32-ia32-msvc': 4.29.1 - '@rollup/rollup-win32-x64-msvc': 4.29.1 - fsevents: 2.3.3 - route-recognizer@0.3.4: {} rtlcss@3.5.0: @@ -27543,14 +25863,6 @@ snapshots: immutable: 4.3.7 source-map-js: 1.2.0 - sass@1.83.0: - dependencies: - chokidar: 4.0.1 - immutable: 5.0.3 - source-map-js: 1.2.0 - optionalDependencies: - '@parcel/watcher': 2.5.0 - sax@1.4.1: {} saxes@6.0.0: @@ -27580,10 +25892,6 @@ snapshots: semver@6.3.1: {} - semver@7.5.2: - dependencies: - lru-cache: 6.0.0 - semver@7.6.3: {} send@0.19.0: @@ -27677,7 +25985,7 @@ snapshots: simple-peer@9.11.1: dependencies: buffer: 6.0.3 - debug: 4.3.4 + debug: 4.4.0 err-code: 3.0.1 get-browser-rtc: 1.1.0 queue-microtask: 1.2.3 @@ -27695,7 +26003,7 @@ snapshots: size-limit@11.1.6(@size-limit/preset-app@11.1.6): dependencies: bytes-iec: 3.1.1 - chokidar: 4.0.1 + chokidar: 4.0.3 jiti: 2.4.1 lilconfig: 3.1.3 nanospinner: 1.2.2 @@ -27726,7 +26034,7 @@ snapshots: socks-proxy-agent@8.0.5: dependencies: agent-base: 7.1.3 - debug: 4.3.4 + debug: 4.4.0 socks: 2.8.3 transitivePeerDependencies: - supports-color @@ -27769,12 +26077,6 @@ snapshots: source-map@0.7.4: {} - source-map@0.8.0-beta.0: - dependencies: - whatwg-url: 7.1.0 - - space-separated-tokens@2.0.2: {} - spawn-command@0.0.2: {} spawn-wrap@2.0.0: @@ -27830,18 +26132,18 @@ snapshots: storybook-addon-mock@5.0.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: - '@storybook/blocks': 8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.6) - '@storybook/channels': 8.4.7(storybook@8.4.6) - '@storybook/components': 8.3.5(storybook@8.4.6) - '@storybook/core-events': 8.4.7(storybook@8.4.6) - '@storybook/manager-api': 8.3.5(storybook@8.4.6) - '@storybook/preview-api': 8.3.5(storybook@8.4.6) - '@storybook/theming': 8.3.5(storybook@8.4.6) + '@storybook/blocks': 8.4.7(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.4.7) + '@storybook/channels': 8.4.7(storybook@8.4.7) + '@storybook/components': 8.4.7(storybook@8.4.7) + '@storybook/core-events': 8.4.7(storybook@8.4.7) + '@storybook/manager-api': 8.4.7(storybook@8.4.7) + '@storybook/preview-api': 8.4.7(storybook@8.4.7) + '@storybook/theming': 8.4.7(storybook@8.4.7) mock-xmlhttprequest: 8.4.0 path-to-regexp: 6.3.0 polished: 4.3.1 prop-types: 15.8.1 - storybook: 8.4.6 + storybook: 8.4.7 whatwg-fetch: 3.6.20 optionalDependencies: react: 18.3.1 @@ -27852,17 +26154,9 @@ snapshots: - supports-color - utf-8-validate - storybook@8.3.5: - dependencies: - '@storybook/core': 8.3.5 - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - - storybook@8.4.6: + storybook@8.4.7: dependencies: - '@storybook/core': 8.4.6 + '@storybook/core': 8.4.7 transitivePeerDependencies: - bufferutil - supports-color @@ -28006,6 +26300,8 @@ snapshots: strip@3.0.0: {} + stubborn-fs@1.2.5: {} + style-inject@0.3.0: {} style-loader@2.0.0(webpack@5.94.0): @@ -28020,22 +26316,12 @@ snapshots: stylehacks@6.1.1(postcss@8.4.47): dependencies: - browserslist: 4.23.1 + browserslist: 4.24.3 postcss: 8.4.47 postcss-selector-parser: 6.1.2 stylis@4.2.0: {} - sucrase@3.35.0: - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - commander: 4.1.1 - glob: 10.4.1 - lines-and-columns: 1.2.4 - mz: 2.7.0 - pirates: 4.0.6 - ts-interface-checker: 0.1.13 - supercluster@7.1.5: dependencies: kdbush: 3.0.0 @@ -28117,13 +26403,12 @@ snapshots: microbuffer: 1.0.0 svgpath: 2.6.0 - svgicons2svgfont@14.0.2: + svgicons2svgfont@15.0.0: dependencies: '@types/sax': 1.2.7 commander: 12.1.0 debug: 4.4.0 glob: 11.0.0 - punycode: 2.3.1 sax: 1.4.1 svg-pathdata: 7.1.0 transformation-matrix-js: 2.7.6 @@ -28194,10 +26479,6 @@ snapshots: fast-fifo: 1.3.2 streamx: 2.21.0 - telejson@7.2.0: - dependencies: - memoizerific: 1.11.3 - terser-webpack-plugin@5.3.10(webpack@5.94.0): dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -28235,14 +26516,6 @@ snapshots: text-hex@1.0.0: {} - thenify-all@1.6.0: - dependencies: - thenify: 3.3.1 - - thenify@3.3.1: - dependencies: - any-promise: 1.3.0 - thread-loader@3.0.4(webpack@5.94.0): dependencies: json-parse-better-errors: 1.0.2 @@ -28264,8 +26537,6 @@ snapshots: tinycolor2@1.4.2: {} - tinyexec@0.3.2: {} - tinyglobby@0.2.10: dependencies: fdir: 6.4.2(picomatch@4.0.2) @@ -28292,10 +26563,6 @@ snapshots: tr46@0.0.3: {} - tr46@1.0.1: - dependencies: - punycode: 2.3.1 - tr46@3.0.0: dependencies: punycode: 2.3.1 @@ -28314,8 +26581,6 @@ snapshots: ts-dedent@2.2.0: {} - ts-interface-checker@0.1.13: {} - ts-jest-resolver@2.0.1: dependencies: jest-resolve: 29.7.0 @@ -28353,50 +26618,13 @@ snapshots: tslib@2.8.1: {} - tsup@8.3.5(postcss@8.4.47)(typescript@5.7.2): - dependencies: - bundle-require: 5.1.0(esbuild@0.24.2) - cac: 6.7.14 - chokidar: 4.0.1 - consola: 3.3.3 - debug: 4.4.0 - esbuild: 0.24.2 - joycon: 3.1.1 - picocolors: 1.1.1 - postcss-load-config: 6.0.1(postcss@8.4.47) - resolve-from: 5.0.0 - rollup: 4.29.1 - source-map: 0.8.0-beta.0 - sucrase: 3.35.0 - tinyexec: 0.3.2 - tinyglobby: 0.2.10 - tree-kill: 1.2.2 - optionalDependencies: - postcss: 8.4.47 - typescript: 5.7.2 - transitivePeerDependencies: - - jiti - - supports-color - - tsx - - yaml - tunnel@0.0.6: {} turndown@7.1.2: dependencies: domino: 2.1.6 - tus-js-client@2.3.0: - dependencies: - buffer-from: 0.1.2 - combine-errors: 3.0.3 - is-stream: 2.0.1 - js-base64: 2.6.4 - lodash.throttle: 4.1.1 - proper-lockfile: 2.0.1 - url-parse: 1.5.10 - - tus-js-client@4.1.0: + tus-js-client@4.2.3: dependencies: buffer-from: 1.1.2 combine-errors: 3.0.3 @@ -28420,6 +26648,8 @@ snapshots: type-fest@2.19.0: {} + type-fest@4.31.0: {} + type-is@1.6.18: dependencies: media-typer: 0.3.0 @@ -28532,10 +26762,6 @@ snapshots: trough: 2.2.0 vfile: 6.0.3 - unique-string@2.0.0: - dependencies: - crypto-random-string: 2.0.0 - unist-util-is@6.0.0: dependencies: '@types/unist': 3.0.3 @@ -28568,15 +26794,9 @@ snapshots: acorn: 8.14.0 webpack-virtual-modules: 0.6.2 - update-browserslist-db@1.1.1(browserslist@4.23.1): - dependencies: - browserslist: 4.23.1 - escalade: 3.2.0 - picocolors: 1.1.1 - - update-browserslist-db@1.1.1(browserslist@4.24.2): + update-browserslist-db@1.1.1(browserslist@4.24.3): dependencies: - browserslist: 4.24.2 + browserslist: 4.24.3 escalade: 3.2.0 picocolors: 1.1.1 @@ -28615,19 +26835,12 @@ snapshots: urlpattern-polyfill@10.0.0: {} - use-callback-ref@1.3.2(@types/react@18.3.12)(react@18.3.1): + use-callback-ref@1.3.2(@types/react@18.3.18)(react@18.3.1): dependencies: react: 18.3.1 tslib: 2.5.0 optionalDependencies: - '@types/react': 18.3.12 - - use-callback-ref@1.3.2(@types/react@18.3.13)(react@18.3.1): - dependencies: - react: 18.3.1 - tslib: 2.5.0 - optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 use-callback-ref@1.3.2(react@18.3.1): dependencies: @@ -28646,21 +26859,13 @@ snapshots: dependencies: react: 18.3.1 - use-sidecar@1.1.2(@types/react@18.3.12)(react@18.3.1): - dependencies: - detect-node-es: 1.1.0 - react: 18.3.1 - tslib: 2.5.0 - optionalDependencies: - '@types/react': 18.3.12 - - use-sidecar@1.1.2(@types/react@18.3.13)(react@18.3.1): + use-sidecar@1.1.2(@types/react@18.3.18)(react@18.3.1): dependencies: detect-node-es: 1.1.0 react: 18.3.1 tslib: 2.5.0 optionalDependencies: - '@types/react': 18.3.13 + '@types/react': 18.3.18 use-sidecar@1.1.2(react@18.3.1): dependencies: @@ -28736,7 +26941,7 @@ snapshots: dependencies: chalk: 2.4.2 commander: 3.0.2 - debug: 4.3.4 + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -28761,8 +26966,6 @@ snapshots: webidl-conversions@3.0.1: {} - webidl-conversions@4.0.2: {} - webidl-conversions@7.0.0: {} webpack-cli@4.9.1(webpack@5.94.0): @@ -28829,7 +27032,7 @@ snapshots: '@webassemblyjs/wasm-parser': 1.14.1 acorn: 8.14.0 acorn-import-attributes: 1.9.5(acorn@8.14.0) - browserslist: 4.23.1 + browserslist: 4.24.3 chrome-trace-event: 1.0.4 enhanced-resolve: 5.17.1 es-module-lexer: 1.5.4 @@ -28871,11 +27074,7 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - whatwg-url@7.1.0: - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 + when-exit@2.1.3: {} which-boxed-primitive@1.1.0: dependencies: @@ -28958,7 +27157,7 @@ snapshots: wpcom-proxy-request@7.0.6: dependencies: - debug: 4.3.4 + debug: 4.4.0 uuid: 9.0.1 wp-error: 1.3.0 transitivePeerDependencies: @@ -29011,7 +27210,7 @@ snapshots: ws@8.18.0: {} - xdg-basedir@4.0.0: {} + xdg-basedir@5.1.0: {} xml-name-validator@4.0.0: {} @@ -29055,8 +27254,6 @@ snapshots: yallist@3.1.1: {} - yallist@4.0.0: {} - yaml@1.10.2: {} yaml@2.2.2: {} diff --git a/projects/js-packages/critical-css-gen/changelog/renovate-definitelytyped b/projects/github-actions/repo-gardening/changelog/renovate-glob-11.x similarity index 100% rename from projects/js-packages/critical-css-gen/changelog/renovate-definitelytyped rename to projects/github-actions/repo-gardening/changelog/renovate-glob-11.x diff --git a/projects/js-packages/critical-css-gen/changelog/renovate-express-4.x b/projects/github-actions/repo-gardening/changelog/renovate-moment-2.x similarity index 100% rename from projects/js-packages/critical-css-gen/changelog/renovate-express-4.x rename to projects/github-actions/repo-gardening/changelog/renovate-moment-2.x diff --git a/projects/github-actions/repo-gardening/package.json b/projects/github-actions/repo-gardening/package.json index d01a2db4bfcd9..88f0f419d6010 100644 --- a/projects/github-actions/repo-gardening/package.json +++ b/projects/github-actions/repo-gardening/package.json @@ -17,8 +17,8 @@ "@actions/github": "6.0.0", "@slack/web-api": "7.7.0", "compare-versions": "6.1.1", - "glob": "10.4.1", - "moment": "2.29.4", + "glob": "11.0.0", + "moment": "2.30.1", "openai": "4.56.1" }, "devDependencies": { diff --git a/projects/js-packages/critical-css-gen/changelog/renovate-playwright-monorepo b/projects/github-actions/required-review/changelog/renovate-picomatch-4.x similarity index 100% rename from projects/js-packages/critical-css-gen/changelog/renovate-playwright-monorepo rename to projects/github-actions/required-review/changelog/renovate-picomatch-4.x diff --git a/projects/github-actions/required-review/package.json b/projects/github-actions/required-review/package.json index 25f8302170b37..089447d608732 100644 --- a/projects/github-actions/required-review/package.json +++ b/projects/github-actions/required-review/package.json @@ -10,7 +10,7 @@ "@actions/github": "6.0.0", "error": "10.4.0", "js-yaml": "4.1.0", - "picomatch": "2.2.3" + "picomatch": "4.0.2" }, "devDependencies": { "@vercel/ncc": "0.36.1" diff --git a/projects/plugins/boost/changelog/renovate-lock-file-maintenance b/projects/github-actions/test-results-to-slack/changelog/renovate-glob-11.x similarity index 100% rename from projects/plugins/boost/changelog/renovate-lock-file-maintenance rename to projects/github-actions/test-results-to-slack/changelog/renovate-glob-11.x diff --git a/projects/github-actions/test-results-to-slack/package.json b/projects/github-actions/test-results-to-slack/package.json index d5abf95c33679..9151411489b69 100644 --- a/projects/github-actions/test-results-to-slack/package.json +++ b/projects/github-actions/test-results-to-slack/package.json @@ -17,7 +17,7 @@ "@actions/core": "1.10.1", "@actions/github": "6.0.0", "@slack/web-api": "7.3.2", - "glob": "10.4.1", + "glob": "11.0.0", "minimatch": "5.1.0" }, "devDependencies": { diff --git a/projects/js-packages/ai-client/changelog/fix-jetpack-ai-first-logo-generation-style b/projects/js-packages/ai-client/changelog/fix-jetpack-ai-first-logo-generation-style new file mode 100644 index 0000000000000..4bac0a451049e --- /dev/null +++ b/projects/js-packages/ai-client/changelog/fix-jetpack-ai-first-logo-generation-style @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +AI Client: add style parameter to first logo generator so it doesn't fall in a dall-e situation diff --git a/projects/plugins/boost/changelog/renovate-playwright-monorepo b/projects/js-packages/ai-client/changelog/renovate-debug-4.x similarity index 100% rename from projects/plugins/boost/changelog/renovate-playwright-monorepo rename to projects/js-packages/ai-client/changelog/renovate-debug-4.x diff --git a/projects/plugins/boost/changelog/renovate-react-spring-core-9.x b/projects/js-packages/ai-client/changelog/renovate-definitelytyped similarity index 100% rename from projects/plugins/boost/changelog/renovate-react-spring-core-9.x rename to projects/js-packages/ai-client/changelog/renovate-definitelytyped diff --git a/projects/plugins/boost/changelog/renovate-wordpress-monorepo b/projects/js-packages/ai-client/changelog/renovate-markdown-it-14.x similarity index 100% rename from projects/plugins/boost/changelog/renovate-wordpress-monorepo rename to projects/js-packages/ai-client/changelog/renovate-markdown-it-14.x diff --git a/projects/plugins/boost/changelog/renovate-wordpress-monorepo#2 b/projects/js-packages/ai-client/changelog/renovate-storybook-monorepo similarity index 100% rename from projects/plugins/boost/changelog/renovate-wordpress-monorepo#2 rename to projects/js-packages/ai-client/changelog/renovate-storybook-monorepo diff --git a/projects/js-packages/ai-client/package.json b/projects/js-packages/ai-client/package.json index d61e07822eea0..8859ee71ba7ce 100644 --- a/projects/js-packages/ai-client/package.json +++ b/projects/js-packages/ai-client/package.json @@ -24,15 +24,15 @@ }, "type": "module", "devDependencies": { - "@storybook/addon-actions": "8.3.5", - "@storybook/blocks": "8.3.5", - "@storybook/preview-api": "8.3.5", - "@storybook/react": "8.3.5", + "@storybook/addon-actions": "8.4.7", + "@storybook/blocks": "8.4.7", + "@storybook/preview-api": "8.4.7", + "@storybook/react": "8.4.7", "@types/markdown-it": "14.1.2", "@types/turndown": "5.0.5", "jest": "^29.6.2", "jest-environment-jsdom": "29.7.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "typescript": "5.0.4" }, "exports": { @@ -49,8 +49,8 @@ "@automattic/jetpack-connection": "workspace:*", "@automattic/jetpack-shared-extension-utils": "workspace:*", "@microsoft/fetch-event-source": "2.0.1", - "@types/react": "18.3.12", - "@types/wordpress__block-editor": "11.5.15", + "@types/react": "18.3.18", + "@types/wordpress__block-editor": "11.5.16", "@wordpress/api-fetch": "7.14.0", "@wordpress/base-styles": "5.14.0", "@wordpress/blob": "4.14.0", @@ -62,8 +62,8 @@ "@wordpress/i18n": "5.14.0", "@wordpress/icons": "10.14.0", "clsx": "2.1.1", - "debug": "4.3.4", - "markdown-it": "14.0.0", + "debug": "4.4.0", + "markdown-it": "14.1.0", "react": "18.3.1", "react-dom": "18.3.1", "turndown": "7.1.2" diff --git a/projects/js-packages/ai-client/src/logo-generator/components/generator-modal.tsx b/projects/js-packages/ai-client/src/logo-generator/components/generator-modal.tsx index d9c140e60d5c2..d58ca1c509374 100644 --- a/projects/js-packages/ai-client/src/logo-generator/components/generator-modal.tsx +++ b/projects/js-packages/ai-client/src/logo-generator/components/generator-modal.tsx @@ -91,7 +91,7 @@ export const GeneratorModal: React.FC< GeneratorModalProps > = ( { // Then generate the logo based on the prompt. setLoadingState( 'generating' ); - await generateLogo( { prompt } ); + await generateLogo( { prompt, style: 'none' } ); setLoadingState( null ); } catch ( error ) { debug( 'Error generating first logo', error ); diff --git a/projects/js-packages/analytics/CHANGELOG.md b/projects/js-packages/analytics/CHANGELOG.md index eeccf2b3df687..7e0e9e0399e55 100644 --- a/projects/js-packages/analytics/CHANGELOG.md +++ b/projects/js-packages/analytics/CHANGELOG.md @@ -2,6 +2,10 @@ ### This is a list detailing changes for the Jetpack RNA Analytics package releases. +## [0.1.34] - 2025-01-06 +### Changed +- Updated package dependencies. [#40810] + ## [0.1.33] - 2024-11-14 ### Changed - Update dependencies. @@ -132,6 +136,7 @@ ### Added - Initial release of jetpack-api package. +[0.1.34]: https://github.com/Automattic/jetpack-analytics/compare/v0.1.33...v0.1.34 [0.1.33]: https://github.com/Automattic/jetpack-analytics/compare/v0.1.32...v0.1.33 [0.1.32]: https://github.com/Automattic/jetpack-analytics/compare/v0.1.31...v0.1.32 [0.1.31]: https://github.com/Automattic/jetpack-analytics/compare/v0.1.30...v0.1.31 diff --git a/projects/js-packages/analytics/package.json b/projects/js-packages/analytics/package.json index f5a04b9172c52..211139feacf52 100644 --- a/projects/js-packages/analytics/package.json +++ b/projects/js-packages/analytics/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/jetpack-analytics", - "version": "0.1.33", + "version": "0.1.34", "description": "Jetpack Analytics Package", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/analytics/#readme", "bugs": { @@ -15,7 +15,7 @@ "license": "GPL-2.0-or-later", "dependencies": {}, "devDependencies": { - "debug": "4.3.4", + "debug": "4.4.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0" }, diff --git a/projects/js-packages/charts/CHANGELOG.md b/projects/js-packages/charts/CHANGELOG.md index 5b82f6a296aa8..98eafba30b5f5 100644 --- a/projects/js-packages/charts/CHANGELOG.md +++ b/projects/js-packages/charts/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.2] - 2025-01-03 +### Changed +- Switching esbuild to rollup for better treeshaking. [#40817] +- Updated package dependencies. [#40798] + ## [0.2.1] - 2024-12-31 ### Added - Added dist to mirror repo [#40776] @@ -37,5 +42,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed lints following ESLint rule changes for TS [#40584] - Fixing a bug in Chart storybook data. [#40640] +[0.2.2]: https://github.com/Automattic/charts/compare/v0.2.1...v0.2.2 [0.2.1]: https://github.com/Automattic/charts/compare/v0.2.0...v0.2.1 [0.2.0]: https://github.com/Automattic/charts/compare/v0.1.0...v0.2.0 diff --git a/projects/js-packages/charts/changelog/renovate-storybook-monorepo b/projects/js-packages/charts/changelog/renovate-storybook-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/charts/changelog/renovate-storybook-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/charts/package.json b/projects/js-packages/charts/package.json index db0896175eb4e..a54c6d5460578 100644 --- a/projects/js-packages/charts/package.json +++ b/projects/js-packages/charts/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/charts", - "version": "0.2.1", + "version": "0.2.2", "description": "Display charts within Automattic products.", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/charts/#readme", "bugs": { @@ -19,8 +19,10 @@ "test-coverage": "pnpm run test --coverage", "storybook": "cd ../storybook && pnpm run storybook:dev", "compile-ts": "tsc --pretty", - "build": "pnpm run clean-build && pnpm run compile-ts", - "build:prod": "tsup src/index.ts --minify --dts", + "build": "rollup -c", + "build:prod": "rollup -c --environment NODE_ENV:production", + "build:dev": "rollup -c --environment NODE_ENV:development", + "build:watch": "rollup -c -w", "clean-build": "rm -rf dist/" }, "dependencies": { @@ -36,15 +38,19 @@ "@visx/text": "3.12.0", "@visx/tooltip": "^3.8.0", "@visx/xychart": "3.12.0", - "clsx": "2.1.1" + "clsx": "2.1.1", + "tslib": "2.5.0" }, "devDependencies": { - "@storybook/blocks": "8.4.6", - "@storybook/react": "8.4.6", - "@types/react": "18.3.13", - "@types/react-dom": "18.3.1", - "esbuild": "0.24.2", - "esbuild-sass-plugin": "3.3.1", + "@rollup/plugin-commonjs": "26.0.1", + "@rollup/plugin-json": "6.1.0", + "@rollup/plugin-node-resolve": "15.3.0", + "@rollup/plugin-terser": "0.4.3", + "@rollup/plugin-typescript": "12.1.0", + "@storybook/blocks": "8.4.7", + "@storybook/react": "8.4.7", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jest-extended": "4.0.2", @@ -52,9 +58,13 @@ "postcss-modules": "6.0.1", "react": "18.3.1", "react-dom": "18.3.1", + "rollup": "3.29.5", + "rollup-plugin-dts": "6.1.1", + "rollup-plugin-peer-deps-external": "2.2.4", + "rollup-plugin-postcss": "4.0.2", + "sass": "1.64.1", "sass-embedded": "1.83.0", - "storybook": "8.4.6", - "tsup": "8.3.5", + "storybook": "8.4.7", "typescript": "5.7.2" }, "peerDependencies": { @@ -63,11 +73,22 @@ }, "exports": { ".": { - "jetpack:src": "./src/index.ts", - "types": "./dist/index.d.ts", - "default": "./dist/index.js" - } + "import": "./dist/index.mjs", + "require": "./dist/index.js", + "types": "./dist/index.d.ts" + }, + "./components/*": { + "import": "./dist/components/*/index.js", + "require": "./dist/components/*/index.cjs.js", + "types": "./dist/components/*/index.d.ts" + }, + "./style.css": "./dist/style.css" }, "main": "./dist/index.js", - "types": "./dist/index.d.ts" + "module": "./dist/index.mjs", + "types": "./dist/index.d.ts", + "sideEffects": [ + "*.css", + "*.scss" + ] } diff --git a/projects/js-packages/charts/rollup.config.mjs b/projects/js-packages/charts/rollup.config.mjs new file mode 100644 index 0000000000000..38123bdd7bd63 --- /dev/null +++ b/projects/js-packages/charts/rollup.config.mjs @@ -0,0 +1,142 @@ +// Import necessary plugins for building the library +import commonjs from '@rollup/plugin-commonjs'; +import json from '@rollup/plugin-json'; +import resolve from '@rollup/plugin-node-resolve'; +import terser from '@rollup/plugin-terser'; +import typescript from '@rollup/plugin-typescript'; +import { defineConfig } from 'rollup'; +import dts from 'rollup-plugin-dts'; +import peerDepsExternal from 'rollup-plugin-peer-deps-external'; +import postcss from 'rollup-plugin-postcss'; + +// Common plugins used across all build configurations +const commonPlugins = [ + // Automatically externalize peer dependencies + peerDepsExternal( { + includeDependencies: true, + } ), + // Locate and bundle third-party dependencies from node_modules + resolve( { + preferBuiltins: true, + extensions: [ '.tsx', '.ts', '.js', '.jsx' ], + } ), + // Convert CommonJS modules to ES6 + commonjs(), + // Allow importing JSON files + json(), + // Process SCSS/CSS modules + postcss( { + // Configure CSS modules with scoped names + modules: { + generateScopedName: '[name]__[local]__[hash:base64:5]', + }, + extract: 'style.css', + autoModules: false, + use: [ 'sass' ], + } ), +]; + +// Main bundle configuration for the entire library +const mainConfig = { + // Entry point for the bundle + input: 'src/index.ts', + // Output configuration for different module formats + output: [ + { + file: './dist/index.js', + format: 'cjs', // CommonJS format for Node.js + sourcemap: true, + sourcemapPathTransform: relativeSourcePath => { + return `/@automattic/charts/${ relativeSourcePath }`; + }, + }, + { + file: './dist/index.mjs', + format: 'esm', // ES modules for modern bundlers + sourcemap: true, + }, + ], + // Mark all dependencies as external to avoid bundling them + external: [ 'react', 'react-dom', /^@visx\/.*/, '@react-spring/web', 'clsx', 'tslib' ], + plugins: [ + ...commonPlugins, + // TypeScript compilation + typescript( { + tsconfig: './tsconfig.json', + declaration: false, // Declarations handled by dts plugin + sourceMap: true, + compilerOptions: { + verbatimModuleSyntax: true, + }, + } ), + terser(), + ], + // Handle circular dependencies warning + onwarn( warning, warn ) { + if ( warning.code === 'CIRCULAR_DEPENDENCY' ) { + return; + } + warn( warning ); + }, +}; + +// List of components to build individually +const components = [ + 'components/bar-chart', + 'components/line-chart', + 'components/pie-chart', + 'components/pie-semi-circle-chart', + 'components/tooltip', + 'components/legend', + 'components/grid-control', + 'providers/theme', +]; + +// Generate individual bundles for each component +const componentConfigs = components.map( component => ( { + // Component entry point - try both .tsx and .ts extensions + input: `src/${ component }/index`, + // Output both ESM and CJS formats + output: [ + { + file: `dist/${ component }/index.js`, + format: 'esm', + sourcemap: true, + }, + { + file: `dist/${ component }/index.cjs.js`, + format: 'cjs', + sourcemap: true, + }, + ], + // Same external config as main bundle + external: [ 'react', 'react-dom', /^@visx\/.*/, '@react-spring/web', 'clsx', 'tslib' ], + plugins: [ + ...commonPlugins, + typescript( { + tsconfig: './tsconfig.json', + declaration: false, + sourceMap: true, + compilerOptions: { + verbatimModuleSyntax: true, + }, + } ), + terser(), + ], +} ) ); + +// Configuration for generating TypeScript declaration files +const typesConfig = { + input: 'src/index.ts', + output: [ { file: 'dist/index.d.ts', format: 'es' } ], + plugins: [ + dts( { + respectExternal: true, + } ), + ], + // Don't include style imports in type definitions + external: [ /\.scss$/, /\.css$/, 'react', '@types/react' ], +}; + +// Export all configurations to be built in parallel +export default defineConfig( [ mainConfig, ...componentConfigs, typesConfig ] ); diff --git a/projects/js-packages/charts/src/components/bar-chart/bar-chart.tsx b/projects/js-packages/charts/src/components/bar-chart/bar-chart.tsx index 4e95bc5c9b122..37531106b542e 100644 --- a/projects/js-packages/charts/src/components/bar-chart/bar-chart.tsx +++ b/projects/js-packages/charts/src/components/bar-chart/bar-chart.tsx @@ -19,8 +19,8 @@ type BarChartTooltipData = { value: number; xLabel: string; yLabel: string; seri const BarChart: FC< BarChartProps > = ( { data, - width, - height, + width = 500, //TODO: replace when making the components responsive + height = 500, //TODO: replace when making the components responsive margin = { top: 20, right: 20, bottom: 40, left: 40 }, withTooltips = false, showLegend = false, @@ -65,7 +65,7 @@ const BarChart: FC< BarChartProps > = ( { const yMax = height - margins.top - margins.bottom; // Get labels for x-axis from the first series (assuming all series have same labels) - const labels = data[ 0 ].data?.map( d => d?.label ); + const labels = data[ 0 ].data?.map( d => d?.label || '' ); // Create scales const xScale = scaleBand< string >( { @@ -109,14 +109,14 @@ const BarChart: FC< BarChartProps > = ( { { data.map( ( series, seriesIndex ) => ( { series.data.map( d => { - const xPos = xScale( d.label ); + const xPos = xScale( d?.label || '' ); if ( xPos === undefined ) return null; const barWidth = innerScale.bandwidth(); const barX = xPos + ( innerScale( seriesIndex.toString() ) ?? 0 ); - const handleBarMouseMove = event => - handleMouseMove( event, d.value, d.label, series.label, seriesIndex ); + const handleBarMouseMove = ( event: MouseEvent< SVGRectElement > ) => + handleMouseMove( event, d.value, d?.label || '', series.label, seriesIndex ); return ( = ( { { withTooltips && tooltipOpen && tooltipData && ( - +
{ tooltipData.yLabel }
diff --git a/projects/js-packages/charts/src/components/pie-chart/pie-chart.tsx b/projects/js-packages/charts/src/components/pie-chart/pie-chart.tsx index 74fdcefe4711e..f925ea7faa4c0 100644 --- a/projects/js-packages/charts/src/components/pie-chart/pie-chart.tsx +++ b/projects/js-packages/charts/src/components/pie-chart/pie-chart.tsx @@ -1,17 +1,18 @@ import { Group } from '@visx/group'; import { Pie } from '@visx/shape'; import clsx from 'clsx'; -import { SVGProps } from 'react'; +import { SVGProps, type MouseEvent } from 'react'; import useChartMouseHandler from '../../hooks/use-chart-mouse-handler'; import { useChartTheme, defaultTheme } from '../../providers/theme'; import { Legend } from '../legend'; import { BaseTooltip } from '../tooltip'; import styles from './pie-chart.module.scss'; -import type { BaseChartProps, DataPoint } from '../shared/types'; +import type { BaseChartProps, DataPointPercentage } from '../shared/types'; +import type { PieArcDatum } from '@visx/shape/lib/shapes/Pie'; // TODO: add animation -interface PieChartProps extends BaseChartProps< DataPoint[] > { +interface PieChartProps extends BaseChartProps< DataPointPercentage[] > { /** * Inner radius in pixels. If > 0, creates a donut chart. Defaults to 0. */ @@ -26,8 +27,8 @@ interface PieChartProps extends BaseChartProps< DataPoint[] > { */ const PieChart = ( { data, - width, - height, + width = 500, //TODO: replace when making the components responsive + height = 500, //TODO: replace when making the components responsive withTooltips = false, innerRadius = 0, className, @@ -46,9 +47,9 @@ const PieChart = ( { const centerY = height / 2; const accessors = { - value: d => d.value, + value: ( d: PieArcDatum< DataPointPercentage > ) => d.value, // Use the color property from the data object as a last resort. The theme provides colours by default. - fill: d => d.color || providerTheme.colors[ d.index ], + fill: ( d: PieArcDatum< DataPointPercentage > ) => d?.color || providerTheme.colors[ d.index ], }; // Create legend items from data @@ -72,7 +73,8 @@ const PieChart = ( { return pie.arcs.map( ( arc, index ) => { const [ centroidX, centroidY ] = pie.path.centroid( arc ); const hasSpaceForLabel = arc.endAngle - arc.startAngle >= 0.25; - const handleMouseMove = event => onMouseMove( event, arc.data ); + const handleMouseMove = ( event: MouseEvent< SVGElement > ) => + onMouseMove( event, arc.data ); const pathProps: SVGProps< SVGPathElement > = { d: pie.path( arc ) || '', @@ -121,8 +123,8 @@ const PieChart = ( { { withTooltips && tooltipOpen && tooltipData && ( ; const PieSemiCircleChart: FC< PieSemiCircleChartProps > = ( { data, - width, + width = 500, //TODO: replace when making the components responsive label, note, className, @@ -168,8 +168,8 @@ const PieSemiCircleChart: FC< PieSemiCircleChartProps > = ( { value: tooltipData.value, valueDisplay: tooltipData.valueDisplay, } } - top={ tooltipTop } - left={ tooltipLeft } + top={ tooltipTop || 0 } + left={ tooltipLeft || 0 } /> ) } diff --git a/projects/js-packages/charts/src/components/tooltip/base-tooltip.tsx b/projects/js-packages/charts/src/components/tooltip/base-tooltip.tsx index 0fe814a9cd790..38d905b20fbdf 100644 --- a/projects/js-packages/charts/src/components/tooltip/base-tooltip.tsx +++ b/projects/js-packages/charts/src/components/tooltip/base-tooltip.tsx @@ -49,7 +49,7 @@ export const BaseTooltip = ( { }: BaseTooltipProps ) => { return (
- { children || } + { children || ( data && ) }
); }; diff --git a/projects/js-packages/charts/src/hooks/use-chart-mouse-handler.ts b/projects/js-packages/charts/src/hooks/use-chart-mouse-handler.ts index 8a1739a90e4ec..b229f1d0ad41c 100644 --- a/projects/js-packages/charts/src/hooks/use-chart-mouse-handler.ts +++ b/projects/js-packages/charts/src/hooks/use-chart-mouse-handler.ts @@ -81,7 +81,7 @@ const useChartMouseHandler = ( { onMouseMove, onMouseLeave, tooltipOpen, - tooltipData, + tooltipData: tooltipData || null, tooltipLeft, tooltipTop, }; diff --git a/projects/js-packages/charts/src/providers/theme/theme-provider.tsx b/projects/js-packages/charts/src/providers/theme/theme-provider.tsx index 88584dda80aae..211499ae73583 100644 --- a/projects/js-packages/charts/src/providers/theme/theme-provider.tsx +++ b/projects/js-packages/charts/src/providers/theme/theme-provider.tsx @@ -1,4 +1,4 @@ -import { createContext, useContext, FC, ReactNode } from 'react'; +import { createContext, useContext, FC, type ReactNode } from 'react'; import { defaultTheme } from './themes'; import type { ChartTheme } from '../../components/shared/types'; diff --git a/projects/js-packages/charts/tsconfig.json b/projects/js-packages/charts/tsconfig.json index 6fa28c02613bd..60269373fd55a 100644 --- a/projects/js-packages/charts/tsconfig.json +++ b/projects/js-packages/charts/tsconfig.json @@ -1,9 +1,19 @@ { "extends": "jetpack-js-tools/tsconfig.base.json", "compilerOptions": { - "typeRoots": [ "./node_modules/@types/", "src/*" ], - "outDir": "./build/" + "target": "es2018", + "lib": [ "dom", "esnext" ], + "jsx": "react-jsx", + "sourceMap": true, + "declaration": true, + "esModuleInterop": true, + "skipLibCheck": true, + "strict": true, + "resolveJsonModule": true, + "allowSyntheticDefaultImports": true, + "downlevelIteration": true, + "typeRoots": [ "./node_modules/@types/", "src/*" ] }, - // List all sources and source-containing subdirs. - "include": [ "./index.ts", "./src" ] + "include": [ "src" ], + "exclude": [ "node_modules", "dist" ] } diff --git a/projects/js-packages/charts/tsup.config.js b/projects/js-packages/charts/tsup.config.js deleted file mode 100644 index aa6ce8e5e1970..0000000000000 --- a/projects/js-packages/charts/tsup.config.js +++ /dev/null @@ -1,26 +0,0 @@ -import path from 'path'; -import { sassPlugin, postcssModules } from 'esbuild-sass-plugin'; -import { defineConfig } from 'tsup'; - -export default defineConfig( { - entry: [ 'src/index.ts' ], - format: [ 'cjs', 'esm' ], - dts: true, - splitting: false, - sourcemap: true, - clean: true, - external: [ 'react' ], - outDir: 'dist', - esbuildPlugins: [ - sassPlugin( { - filter: /\.module\.scss$/, - transform: postcssModules( { - basedir: path.resolve( __dirname ), - generateScopedName: '[name]__[local]___[hash:base64:5]', - } ), - } ), - sassPlugin( { - filter: /\.scss$/, - } ), - ], -} ); diff --git a/projects/js-packages/components/CHANGELOG.md b/projects/js-packages/components/CHANGELOG.md index 664badf23dfb4..a7c750f965bfa 100644 --- a/projects/js-packages/components/CHANGELOG.md +++ b/projects/js-packages/components/CHANGELOG.md @@ -2,6 +2,10 @@ ### This is a list detailing changes for the Jetpack RNA Components package releases. +## [0.65.2] - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] [#40798] [#40835] [#40841] + ## [0.65.1] - 2024-12-23 ### Changed - Internal updates. @@ -1255,6 +1259,7 @@ ### Changed - Update node version requirement to 14.16.1 +[0.65.2]: https://github.com/Automattic/jetpack-components/compare/0.65.1...0.65.2 [0.65.1]: https://github.com/Automattic/jetpack-components/compare/0.65.0...0.65.1 [0.65.0]: https://github.com/Automattic/jetpack-components/compare/0.64.1...0.65.0 [0.64.1]: https://github.com/Automattic/jetpack-components/compare/0.64.0...0.64.1 diff --git a/projects/js-packages/components/components/badge/stories/index.stories.tsx b/projects/js-packages/components/components/badge/stories/index.stories.tsx index c74ac1c476897..e37ccd0cb56db 100644 --- a/projects/js-packages/components/components/badge/stories/index.stories.tsx +++ b/projects/js-packages/components/components/badge/stories/index.stories.tsx @@ -4,7 +4,7 @@ export default { title: 'JS Packages/Components/Badge', component: Badge, argTypes: { - type: { + variant: { control: { type: 'select', }, @@ -17,6 +17,6 @@ const Template = args => ; export const _default = Template.bind( {} ); _default.args = { - type: 'info', + variant: 'info', children: 'Hello World', }; diff --git a/projects/js-packages/components/components/badge/style.module.scss b/projects/js-packages/components/components/badge/style.module.scss index a305d7c2520a0..069eca5f585d2 100644 --- a/projects/js-packages/components/components/badge/style.module.scss +++ b/projects/js-packages/components/components/badge/style.module.scss @@ -1,25 +1,25 @@ .badge { display: inline-block; border-radius: 4px; - background-color: var(--jp-gray-0); - color: var(--jp-gray-80); + background-color: var( --jp-gray-0 ); + color: var( --jp-gray-80 ); padding: 4px 8px; font-size: 13px; font-weight: 400; line-height: 16px; &.is-success { - background-color: var(--jp-green-5); + background-color: var( --jp-green-5 ); color: var(--jp-green-50); } - &.is-warning { - background-color: var(--jp-yellow-5); - color: var(--jp-yellow-60); + &.is-warning { + background-color: var( --jp-yellow-5 ); + color: #7D5600; } - &.is-danger { - background-color: var(--jp-red-5); - color: var(--jp-red-70); + &.is-danger { + background-color: #FACFD2; + color: #8A2424; } } diff --git a/projects/js-packages/components/components/qr-code/index.tsx b/projects/js-packages/components/components/qr-code/index.tsx index 08ac1263a01eb..fb7e74c713635 100644 --- a/projects/js-packages/components/components/qr-code/index.tsx +++ b/projects/js-packages/components/components/qr-code/index.tsx @@ -1,7 +1,8 @@ -import QRCodeLib from 'qrcode.react'; +import { QRCodeCanvas, QRCodeSVG } from 'qrcode.react'; import type React from 'react'; -type QRCodeLibProps = React.ComponentProps< typeof QRCodeLib >; +type QRCodeCanvasProps = React.ComponentProps< typeof QRCodeCanvas >; +type QRCodeSVGProps = React.ComponentProps< typeof QRCodeSVG >; export type QRCodeProps = { /** @@ -22,7 +23,7 @@ export type QRCodeProps = { /** * Error correction level of the QR code. */ - level?: QRCodeLibProps[ 'level' ]; + level?: QRCodeCanvasProps[ 'level' ] | QRCodeSVGProps[ 'level' ]; /** * Whether to include margin in the QR code. @@ -32,7 +33,7 @@ export type QRCodeProps = { /** * Render the QR code as a `canvas` or `svg`. */ - renderAs?: QRCodeLibProps[ 'renderAs' ]; + renderAs?: 'canvas' | 'svg'; /** * Size of the QR code. @@ -42,7 +43,7 @@ export type QRCodeProps = { /** * Image settings for the QR code. */ - imageSettings?: QRCodeLibProps[ 'imageSettings' ]; + imageSettings?: QRCodeCanvasProps[ 'imageSettings' ] | QRCodeSVGProps[ 'imageSettings' ]; }; /** @@ -53,25 +54,27 @@ export type QRCodeProps = { */ const QRCode: React.FC< QRCodeProps > = ( { value = 'https://jetpack.com', + size = 248, bgColor, fgColor, level, includeMargin, imageSettings, renderAs = 'canvas', - size = 248, } ) => { - return ( - + const commonProps = { + value, + size, + bgColor, + fgColor, + level, + includeMargin, + imageSettings, + }; + return renderAs === 'svg' ? ( + + ) : ( + ); }; diff --git a/projects/js-packages/components/components/scan-report/index.tsx b/projects/js-packages/components/components/scan-report/index.tsx index 0cd669fea3f63..6eab2e6e24895 100644 --- a/projects/js-packages/components/components/scan-report/index.tsx +++ b/projects/js-packages/components/components/scan-report/index.tsx @@ -98,7 +98,7 @@ export default function ScanReport( { dataSource, data, onChangeSelection } ): J }, render( { item }: { item: ScanReportExtension } ) { const scanApi = 'scan_api' === dataSource; - let variant: 'info' | 'warning' | 'success' = 'info'; + let variant: 'info' | 'error' | 'success' = 'info'; let text = __( 'This item was added to your site after the most recent scan. We will check for threats during the next scheduled one.', 'jetpack-components' @@ -106,7 +106,7 @@ export default function ScanReport( { dataSource, data, onChangeSelection } ): J if ( item.checked ) { if ( item.threats.length > 0 ) { - variant = 'warning'; + variant = 'error'; text = _n( 'Vulnerability detected.', 'Vulnerabilities detected.', diff --git a/projects/js-packages/components/components/threat-severity-badge/styles.module.scss b/projects/js-packages/components/components/threat-severity-badge/styles.module.scss deleted file mode 100644 index a034d64e63e6b..0000000000000 --- a/projects/js-packages/components/components/threat-severity-badge/styles.module.scss +++ /dev/null @@ -1,27 +0,0 @@ -.threat-severity-badge { - border-radius: 32px; - flex-shrink: 0; - font-size: 12px; - font-style: normal; - font-weight: 600; - line-height: 16px; - padding: calc( var( --spacing-base ) / 2 ); // 4px - position: relative; - text-align: center; - width: 60px; -} - -.is-critical { - background: var( --jp-red-5 ); - color: var( --jp-red-60 ); -} - -.is-high { - background: var( --jp-yellow-5 ); - color: var( --jp-yellow-60 ); -} - -.is-low { - background: var( --jp-gray-0 ); - color: var( --jp-gray-50 ); -} diff --git a/projects/js-packages/components/components/threats-data-views/constants.ts b/projects/js-packages/components/components/threats-data-views/constants.ts index db8e14733871c..0f6853c015199 100644 --- a/projects/js-packages/components/components/threats-data-views/constants.ts +++ b/projects/js-packages/components/components/threats-data-views/constants.ts @@ -1,11 +1,9 @@ import { __ } from '@wordpress/i18n'; -export const THREAT_STATUSES: { value: string; label: string; variant?: 'success' | 'warning' }[] = - [ - { value: 'current', label: __( 'Active', 'jetpack-components' ), variant: 'warning' }, - { value: 'fixed', label: __( 'Fixed', 'jetpack-components' ), variant: 'success' }, - { value: 'ignored', label: __( 'Ignored', 'jetpack-components' ) }, - ]; +export const THREAT_STATUSES: { value: string; label: string; variant?: 'success' }[] = [ + { value: 'fixed', label: __( 'Fixed', 'jetpack-components' ), variant: 'success' }, + { value: 'ignored', label: __( 'Ignored', 'jetpack-components' ) }, +]; export const THREAT_TYPES = [ { value: 'plugins', label: __( 'Plugin', 'jetpack-components' ) }, @@ -30,6 +28,26 @@ export const THREAT_FIELD_FIRST_DETECTED = 'first-detected'; export const THREAT_FIELD_FIXED_ON = 'fixed-on'; export const THREAT_FIELD_AUTO_FIX = 'auto-fix'; +export const CURRENT_TABLE_FIELDS = [ + THREAT_FIELD_SEVERITY, + THREAT_FIELD_TYPE, + THREAT_FIELD_AUTO_FIX, +]; + +export const HISTORIC_TABLE_FIELDS = [ + THREAT_FIELD_SEVERITY, + THREAT_FIELD_TYPE, + THREAT_FIELD_FIRST_DETECTED, + THREAT_FIELD_FIXED_ON, +]; + +export const LIST_FIELDS = [ + THREAT_FIELD_SEVERITY, + THREAT_FIELD_TYPE, + THREAT_FIELD_EXTENSION, + THREAT_FIELD_SIGNATURE, +]; + export const THREAT_ACTION_FIX = 'fix'; export const THREAT_ACTION_IGNORE = 'ignore'; export const THREAT_ACTION_UNIGNORE = 'unignore'; diff --git a/projects/js-packages/components/components/threats-data-views/index.tsx b/projects/js-packages/components/components/threats-data-views/index.tsx index 5fed593398a2b..0ece445318a4c 100644 --- a/projects/js-packages/components/components/threats-data-views/index.tsx +++ b/projects/js-packages/components/components/threats-data-views/index.tsx @@ -1,4 +1,4 @@ -import { getThreatType, type Threat, THREAT_ICONS } from '@automattic/jetpack-scan'; +import { getFixerAction, getThreatType, type Threat, THREAT_ICONS } from '@automattic/jetpack-scan'; import { type Action, type Field, @@ -19,6 +19,9 @@ import ThreatFixerButton from '../threat-fixer-button'; import ThreatSeverityBadge from '../threat-severity-badge'; import ThreatsModal from '../threats-modal'; import { + CURRENT_TABLE_FIELDS, + LIST_FIELDS, + THREAT_ACTION_FIX, THREAT_ACTION_IGNORE, THREAT_ACTION_UNIGNORE, THREAT_FIELD_AUTO_FIX, @@ -38,37 +41,44 @@ import { THREAT_TYPES, } from './constants'; import styles from './styles.module.scss'; -import ThreatsStatusToggleGroupControl from './threats-status-toggle-group-control'; + +export { HISTORIC_TABLE_FIELDS } from './constants'; /** * DataViews component for displaying security threats. * - * @param {object} props - Component props. - * @param {Array} props.data - Threats data. - * @param {Array} props.filters - Initial DataView filters. - * @param {boolean} props.isSupportedEnvironment - Whether the environment is supported. - * @param {Function} props.handleUpgradeClick - Callback function run when the upgrade button is clicked. - * @param {Function} props.onFixThreats - Threat fix action callback. - * @param {Function} props.onIgnoreThreats - Threat ignore action callback. - * @param {Function} props.onUnignoreThreats - Threat unignore action callback. - * @param {Function} props.isThreatEligibleForFix - Function to determine if a threat is eligible for fixing. - * @param {Function} props.isThreatEligibleForIgnore - Function to determine if a threat is eligible for ignoring. - * @param {Function} props.isThreatEligibleForUnignore - Function to determine if a threat is eligible for unignoring. - * @param {boolean} props.isUserConnected - Whether the user is connected. - * @param {boolean} props.hasConnectedOwner - Whether the site has a connected owner. - * @param {boolean} props.userIsConnecting - Whether the user is connecting. - * @param {Function} props.handleConnectUser - Function to handle the user connection process. - * @param {object[]} props.credentials - The credentials. - * @param {boolean} props.credentialsIsFetching - Whether the credentials are fetching. - * @param {string} props.credentialsRedirectUrl - The credentials redirect URL. - * @param {Function} props.onModalOpen - Callback function on modal open. - * @param {Function} props.onModalClose - Callback function on modal close. + * @param {object} props - Component props. + * @param {string} props.status - Flag to indicate if the threats are current or historic. + * @param {Array} props.data - Threats data. + * @param {Array} props.initialFilters - Initial DataView filters. + * @param {Array} props.initialFields - Initial DataView fields. - Initial DataView filters. + * @param {boolean} props.isSupportedEnvironment - Whether the environment is supported. + * @param {Function} props.handleUpgradeClick - Callback function run when the upgrade button is clicked. + * @param {Function} props.onFixThreats - Threat fix action callback. + * @param {Function} props.onIgnoreThreats - Threat ignore action callback. + * @param {Function} props.onUnignoreThreats - Threat unignore action callback. + * @param {Function} props.isThreatEligibleForFix - Function to determine if a threat is eligible for fixing. + * @param {Function} props.isThreatEligibleForIgnore - Function to determine if a threat is eligible for ignoring. + * @param {Function} props.isThreatEligibleForUnignore - Function to determine if a threat is eligible for unignoring. + * @param {boolean} props.isUserConnected - Whether the user is connected. + * @param {boolean} props.hasConnectedOwner - Whether the site has a connected owner. + * @param {boolean} props.userIsConnecting - Whether the user is connecting. + * @param {Function} props.handleConnectUser - Function to handle the user connection process. + * @param {object[]} props.credentials - The credentials. + * @param {boolean} props.credentialsIsFetching - Whether the credentials are fetching. + * @param {string} props.credentialsRedirectUrl - The credentials redirect URL. + * @param {Function} props.onModalOpen - Callback function on modal open. + * @param {Function} props.onModalClose - Callback function on modal close. + * @param {JSX.Element} props.header - The header element. + * * @return {JSX.Element} The ThreatsDataViews component. */ export default function ThreatsDataViews( { + status = 'current', data, - filters, - isSupportedEnvironment, + initialFields, + initialFilters, + isSupportedEnvironment = true, handleUpgradeClick, onFixThreats, onIgnoreThreats, @@ -85,10 +95,13 @@ export default function ThreatsDataViews( { credentialsRedirectUrl, onModalOpen, onModalClose, + header, }: { + status?: string; data: Threat[]; - filters?: Filter[]; - isSupportedEnvironment: boolean; + initialFields?: string[]; + initialFilters?: Filter[]; + isSupportedEnvironment?: boolean; handleUpgradeClick?: () => void; onFixThreats?: ( threats: Threat[] ) => void; onIgnoreThreats?: ( threats: Threat[] ) => void; @@ -105,6 +118,7 @@ export default function ThreatsDataViews( { credentialsRedirectUrl: string; onModalOpen: () => void; onModalClose: () => void; + header?: JSX.Element; } ): JSX.Element { const baseView = { sort: { @@ -112,7 +126,7 @@ export default function ThreatsDataViews( { direction: 'desc' as SortDirection, }, search: '', - filters: filters || [], + filters: initialFilters || [], page: 1, perPage: 20, }; @@ -127,19 +141,14 @@ export default function ThreatsDataViews( { const defaultLayouts: SupportedLayouts = { table: { ...baseView, - fields: [ THREAT_FIELD_SEVERITY, THREAT_FIELD_TYPE, THREAT_FIELD_AUTO_FIX ], + fields: initialFields || CURRENT_TABLE_FIELDS, titleField: THREAT_FIELD_TITLE, descriptionField: THREAT_FIELD_DESCRIPTION, showMedia: false, }, list: { ...baseView, - fields: [ - THREAT_FIELD_SEVERITY, - THREAT_FIELD_TYPE, - THREAT_FIELD_EXTENSION, - THREAT_FIELD_SIGNATURE, - ], + fields: LIST_FIELDS, titleField: THREAT_FIELD_TITLE, mediaField: THREAT_FIELD_ICON, showMedia: true, @@ -283,28 +292,6 @@ export default function ThreatsDataViews( { ); }, }, - { - id: THREAT_FIELD_STATUS, - label: __( 'Status', 'jetpack-components' ), - elements: THREAT_STATUSES, - getValue( { item }: { item: Threat } ) { - if ( ! item.status ) { - return 'current'; - } - return ( - THREAT_STATUSES.find( ( { value } ) => value === item.status )?.value ?? item.status - ); - }, - render( { item }: { item: Threat } ) { - if ( item.status ) { - const status = THREAT_STATUSES.find( ( { value } ) => value === item.status ); - if ( status ) { - return { status.label }; - } - } - return { __( 'Active', 'jetpack-components' ) }; - }, - }, { id: THREAT_FIELD_TYPE, label: __( 'Type', 'jetpack-components' ), @@ -345,6 +332,35 @@ export default function ThreatsDataViews( { return item.extension ? item.extension.slug : ''; }, }, + ...( 'historic' === status && dataFields.includes( 'status' ) + ? [ + { + id: THREAT_FIELD_STATUS, + label: __( 'Status', 'jetpack-components' ), + elements: THREAT_STATUSES, + getValue( { item }: { item: Threat } ) { + if ( ! item.status ) { + return 'current'; + } + return ( + THREAT_STATUSES.find( ( { value } ) => value === item.status )?.value ?? + item.status + ); + }, + render( { item }: { item: Threat } ) { + if ( item.status ) { + const threatStatus = THREAT_STATUSES.find( + ( { value } ) => value === item.status + ); + if ( threatStatus ) { + return { threatStatus.label }; + } + } + return { __( 'Current', 'jetpack-components' ) }; + }, + }, + ] + : [] ), ...( dataFields.includes( 'severity' ) ? [ { @@ -411,7 +427,7 @@ export default function ThreatsDataViews( { }, ] : [] ), - ...( dataFields.includes( 'fixable' ) + ...( 'historic' !== status && dataFields.includes( 'fixable' ) ? [ { id: THREAT_FIELD_AUTO_FIX, @@ -449,7 +465,7 @@ export default function ThreatsDataViews( { ]; return result; - }, [ plugins, themes, dataFields, signatures, isThreatEligibleForFix, showThreatModal ] ); + }, [ plugins, themes, dataFields, signatures, status, isThreatEligibleForFix, showThreatModal ] ); /** * DataView actions - collection of operations that can be performed upon each record. @@ -459,6 +475,28 @@ export default function ThreatsDataViews( { const actions = useMemo( () => { const result: Action< Threat >[] = []; + if ( dataFields.includes( 'fixable' ) && view.type === 'list' ) { + result.push( { + id: THREAT_ACTION_FIX, + label: items => { + return getFixerAction( items[ 0 ] ); + }, + isPrimary: true, + callback: ( items: Threat[] ) => { + showThreatModal( items[ 0 ], 'fix' )(); + }, + isEligible( item ) { + if ( ! onFixThreats ) { + return false; + } + if ( isThreatEligibleForFix ) { + return isThreatEligibleForFix( item ); + } + return !! item.fixable; + }, + } ); + } + if ( dataFields.includes( 'status' ) ) { result.push( { id: THREAT_ACTION_IGNORE, @@ -499,10 +537,13 @@ export default function ThreatsDataViews( { return result; }, [ + view.type, dataFields, showThreatModal, + onFixThreats, onIgnoreThreats, onUnignoreThreats, + isThreatEligibleForFix, isThreatEligibleForIgnore, isThreatEligibleForUnignore, ] ); @@ -562,20 +603,14 @@ export default function ThreatsDataViews( { actions={ actions } data={ processedData } defaultLayouts={ defaultLayouts } - fields={ fields } + fields={ processedData.length ? fields : [] } getItemId={ getItemId } onChangeSelection={ onChangeSelection } onChangeView={ onChangeView } paginationInfo={ paginationInfo } onClickItem={ onClickItem } view={ view } - header={ - - } + header={ header } /> { selectedThreat ? ( ; +Current.args = { + data: currentData, + isSupportedEnvironment: true, + isUserConnected: true, + hasConnectedOwner: true, + handleConnectUser: () => + alert( 'Connect user action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert + credentials: [ { type: 'managed', role: 'main', still_valid: true } ], + isThreatEligibleForFix: () => true, + onFixThreats: () => + alert( 'Threat fix action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert + onIgnoreThreats: () => + alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert +}; + +export const Historic = args => ; +Historic.args = { + status: 'historic', + data: historicData, + initialFields: HISTORIC_TABLE_FIELDS, + isSupportedEnvironment: true, + isUserConnected: true, + hasConnectedOwner: true, + handleConnectUser: () => + alert( 'Connect user action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert + credentials: [ { type: 'managed', role: 'main', still_valid: true } ], + onUnignoreThreats: () => + // eslint-disable-next-line no-alert + alert( + 'Unignore threat action callback triggered! This is handled by the component consumer.' + ), +}; + export const FixerStatuses = args => ; FixerStatuses.args = { data: [ @@ -115,13 +150,6 @@ FixerStatuses.args = { }, }, ], - filters: [ - { - field: 'status', - operator: 'isAny', - value: [ 'current' ], - }, - ], isSupportedEnvironment: true, isUserConnected: true, hasConnectedOwner: true, @@ -136,51 +164,11 @@ FixerStatuses.args = { alert( 'Fix threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert onIgnoreThreats: () => alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onUnignoreThreats: () => - // eslint-disable-next-line no-alert - alert( - 'Unignore threat action callback triggered! This is handled by the component consumer.' - ), -}; - -export const Default = args => ; -Default.args = { - data: data, - filters: [ - { - field: 'status', - operator: 'isAny', - value: [ 'current' ], - }, - ], - isSupportedEnvironment: true, - isUserConnected: true, - hasConnectedOwner: true, - handleConnectUser: () => - alert( 'Connect user action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - credentials: [ { type: 'managed', role: 'main', still_valid: true } ], - isThreatEligibleForFix: () => true, - onFixThreats: () => - alert( 'Threat fix action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onIgnoreThreats: () => - alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onUnignoreThreats: () => - // eslint-disable-next-line no-alert - alert( - 'Unignore threat action callback triggered! This is handled by the component consumer.' - ), }; export const AdditionalConnectionsNeeded = args => ; AdditionalConnectionsNeeded.args = { - data: data, - filters: [ - { - field: 'status', - operator: 'isAny', - value: [ 'current' ], - }, - ], + data: currentData, isSupportedEnvironment: true, isUserConnected: false, handleConnectUser: () => @@ -190,23 +178,11 @@ AdditionalConnectionsNeeded.args = { alert( 'Threat fix action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert onIgnoreThreats: () => alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onUnignoreThreats: () => - // eslint-disable-next-line no-alert - alert( - 'Unignore threat action callback triggered! This is handled by the component consumer.' - ), }; export const UserConnectionNeeded = args => ; UserConnectionNeeded.args = { - data: data, - filters: [ - { - field: 'status', - operator: 'isAny', - value: [ 'current' ], - }, - ], + data: currentData, isSupportedEnvironment: true, isUserConnected: false, handleConnectUser: () => @@ -217,16 +193,11 @@ UserConnectionNeeded.args = { alert( 'Threat fix action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert onIgnoreThreats: () => alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onUnignoreThreats: () => - // eslint-disable-next-line no-alert - alert( - 'Unignore threat action callback triggered! This is handled by the component consumer.' - ), }; export const CredentialsRequired = args => ; CredentialsRequired.args = { - data: data, + data: currentData, isSupportedEnvironment: true, isUserConnected: true, hasConnectedOwner: true, @@ -239,11 +210,6 @@ CredentialsRequired.args = { alert( 'Threat fix action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert onIgnoreThreats: () => alert( 'Ignore threat action callback triggered! This is handled by the component consumer.' ), // eslint-disable-line no-alert - onUnignoreThreats: () => - // eslint-disable-next-line no-alert - alert( - 'Unignore threat action callback triggered! This is handled by the component consumer.' - ), }; export const FreeResults = args => ; diff --git a/projects/js-packages/components/components/threats-data-views/styles.module.scss b/projects/js-packages/components/components/threats-data-views/styles.module.scss index 699960d71e8a9..a0bbe786a6329 100644 --- a/projects/js-packages/components/components/threats-data-views/styles.module.scss +++ b/projects/js-packages/components/components/threats-data-views/styles.module.scss @@ -31,7 +31,3 @@ fill: var( --jp-black ); } } - -.toggle-group-control { - min-width: 300px; -} diff --git a/projects/js-packages/components/components/threats-data-views/threats-status-toggle-group-control.tsx b/projects/js-packages/components/components/threats-data-views/threats-status-toggle-group-control.tsx deleted file mode 100644 index be7b252b80c22..0000000000000 --- a/projects/js-packages/components/components/threats-data-views/threats-status-toggle-group-control.tsx +++ /dev/null @@ -1,158 +0,0 @@ -import { type Threat, type ThreatStatus } from '@automattic/jetpack-scan'; -import { - __experimentalToggleGroupControl as ToggleGroupControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis - __experimentalToggleGroupControlOption as ToggleGroupControlOption, // eslint-disable-line @wordpress/no-unsafe-wp-apis -} from '@wordpress/components'; -import { type View } from '@wordpress/dataviews'; -import { useMemo, useCallback } from '@wordpress/element'; -import { __, sprintf } from '@wordpress/i18n'; -import styles from './styles.module.scss'; - -/** - * ToggleGroupControl component for filtering threats by status. - * @param {object} props - Component props. - * @param { Threat[]} props.data - Threats data. - * @param { View } props.view - The current view. - * @param { Function } props.onChangeView - Callback function to handle view changes. - * @return {JSX.Element|null} The component or null. - */ -export default function ThreatsStatusToggleGroupControl( { - data, - view, - onChangeView, -}: { - data: Threat[]; - view: View; - onChangeView: ( newView: View ) => void; -} ): JSX.Element { - /** - * Compute values from the provided threats data. - * - * @member {number} activeThreatsCount - Count of active threats. - * @member {number} historicThreatsCount - Count of historic threats. - */ - const { - activeThreatsCount, - historicThreatsCount, - }: { - activeThreatsCount: number; - historicThreatsCount: number; - } = useMemo( () => { - return data.reduce( - ( acc, threat ) => { - if ( threat.status ) { - if ( threat.status === 'current' ) { - acc.activeThreatsCount++; - } else { - acc.historicThreatsCount++; - } - } - return acc; - }, - { - activeThreatsCount: 0, - historicThreatsCount: 0, - } - ); - }, [ data ] ); - - /** - * Callback function to handle the status change filter. - * - * @param {string} newStatus - The new status filter value. - */ - const onStatusFilterChange = useCallback( - ( newStatus: string ) => { - const updatedFilters = view.filters.filter( filter => filter.field !== 'status' ); - - if ( newStatus === 'active' ) { - updatedFilters.push( { - field: 'status', - operator: 'isAny', - value: [ 'current' ], - } ); - } else if ( newStatus === 'historic' ) { - updatedFilters.push( { - field: 'status', - operator: 'isAny', - value: [ 'fixed', 'ignored' ], - } ); - } - - onChangeView( { - ...view, - filters: updatedFilters, - } ); - }, - [ view, onChangeView ] - ); - - /** - * Memoized function to determine if a status filter is selected. - * - * @param {Array} threatStatuses - List of threat statuses. - */ - const isStatusFilterSelected = useMemo( - () => ( threatStatuses: ThreatStatus[] ) => - view.filters.some( - filter => - filter.field === 'status' && - Array.isArray( filter.value ) && - filter.value.length === threatStatuses.length && - threatStatuses.every( threatStatus => filter.value.includes( threatStatus ) ) - ), - [ view.filters ] - ); - - const selectedValue = useMemo( () => { - if ( isStatusFilterSelected( [ 'current' ] ) ) { - return 'active' as const; - } - if ( isStatusFilterSelected( [ 'fixed', 'ignored' ] ) ) { - return 'historic' as const; - } - return '' as const; - }, [ isStatusFilterSelected ] ); - - if ( ! ( activeThreatsCount + historicThreatsCount ) ) { - return null; - } - - try { - return ( -
-
- - - - -
-
- ); - } catch { - return null; - } -} diff --git a/projects/js-packages/components/components/threats-modal/styles.module.scss b/projects/js-packages/components/components/threats-modal/styles.module.scss index 0db446a781e9c..57ae6b8acd5f0 100644 --- a/projects/js-packages/components/components/threats-modal/styles.module.scss +++ b/projects/js-packages/components/components/threats-modal/styles.module.scss @@ -24,7 +24,7 @@ display: flex; justify-content: space-between; align-items: center; - min-height: 120px; + min-height: 100px; cursor: pointer; &:first-of-type { @@ -42,8 +42,13 @@ align-items: center; } - &__title { + &__description { max-width: 512px; + + &__title { + font-size: 20px; + font-weight: 500; + } }; &__toggle { diff --git a/projects/js-packages/components/components/threats-modal/threat-fix-confirmation.tsx b/projects/js-packages/components/components/threats-modal/threat-fix-confirmation.tsx index 405ec04e59323..76c93a9c28814 100644 --- a/projects/js-packages/components/components/threats-modal/threat-fix-confirmation.tsx +++ b/projects/js-packages/components/components/threats-modal/threat-fix-confirmation.tsx @@ -107,8 +107,8 @@ const ThreatFixConfirmation = () => {
) } -
- { getLabel( threat ) } +
+ { getLabel( threat ) }
diff --git a/projects/js-packages/components/index.ts b/projects/js-packages/components/index.ts index 6850af7b3dc4c..9bc1d8e4d5985 100644 --- a/projects/js-packages/components/index.ts +++ b/projects/js-packages/components/index.ts @@ -46,7 +46,10 @@ export { default as SplitButton } from './components/split-button'; export { default as ThemeProvider } from './components/theme-provider'; export { default as ThreatFixerButton } from './components/threat-fixer-button'; export { default as ThreatSeverityBadge } from './components/threat-severity-badge'; -export { default as ThreatsDataViews } from './components/threats-data-views'; +export { + default as ThreatsDataViews, + HISTORIC_TABLE_FIELDS, +} from './components/threats-data-views'; export { default as ThreatsModal } from './components/threats-modal'; export { default as ShieldIcon } from './components/shield-icon'; export { default as ScanReport } from './components/scan-report'; diff --git a/projects/js-packages/components/package.json b/projects/js-packages/components/package.json index 9b2982eb5079d..ae92d453c7b9f 100644 --- a/projects/js-packages/components/package.json +++ b/projects/js-packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/jetpack-components", - "version": "0.65.1", + "version": "0.65.2", "description": "Jetpack Components Package", "author": "Automattic", "license": "GPL-2.0-or-later", @@ -30,7 +30,7 @@ "@wordpress/notices": "5.14.0", "clsx": "2.1.1", "prop-types": "^15.7.2", - "qrcode.react": "3.1.0", + "qrcode.react": "4.2.0", "react-slider": "2.0.5", "social-logos": "workspace:*", "uplot": "1.6.31", @@ -39,18 +39,17 @@ "devDependencies": { "@automattic/jetpack-base-styles": "workspace:*", "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@jest/globals": "29.4.3", - "@storybook/addon-actions": "8.3.5", - "@storybook/blocks": "8.3.5", - "@storybook/react": "8.3.5", + "@storybook/addon-actions": "8.4.7", + "@storybook/blocks": "8.4.7", + "@storybook/react": "8.4.7", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", "@types/jest": "29.5.12", - "@types/qrcode.react": "1.0.5", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", "@types/react-slider": "1.3.6", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", @@ -58,7 +57,7 @@ "react-dom": "18.3.1", "require-from-string": "2.0.2", "resize-observer-polyfill": "1.5.1", - "storybook": "8.3.5", + "storybook": "8.4.7", "ts-dedent": "2.2.0", "typescript": "5.0.4", "webpack": "5.94.0", diff --git a/projects/js-packages/connection/CHANGELOG.md b/projects/js-packages/connection/CHANGELOG.md index f17999bcd355d..39582108afe6c 100644 --- a/projects/js-packages/connection/CHANGELOG.md +++ b/projects/js-packages/connection/CHANGELOG.md @@ -2,6 +2,10 @@ ### This is a list detailing changes for the Jetpack RNA Connection Component releases. +## [0.36.3] - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] [#40798] [#40810] [#40841] + ## [0.36.2] - 2024-12-16 ### Changed - Updated package dependencies. [#40564] @@ -914,6 +918,7 @@ - `Main` and `ConnectUser` components added. - `JetpackRestApiClient` API client added. +[0.36.3]: https://github.com/Automattic/jetpack-connection-js/compare/v0.36.2...v0.36.3 [0.36.2]: https://github.com/Automattic/jetpack-connection-js/compare/v0.36.1...v0.36.2 [0.36.1]: https://github.com/Automattic/jetpack-connection-js/compare/v0.36.0...v0.36.1 [0.36.0]: https://github.com/Automattic/jetpack-connection-js/compare/v0.35.20...v0.36.0 diff --git a/projects/js-packages/connection/package.json b/projects/js-packages/connection/package.json index fc0a69f1fe213..c67af609bee0b 100644 --- a/projects/js-packages/connection/package.json +++ b/projects/js-packages/connection/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/jetpack-connection", - "version": "0.36.2", + "version": "0.36.3", "description": "Jetpack Connection Component", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/connection/#readme", "bugs": { @@ -27,23 +27,23 @@ "@wordpress/i18n": "5.14.0", "@wordpress/icons": "10.14.0", "clsx": "2.1.1", - "debug": "4.3.4", + "debug": "4.4.0", "prop-types": "^15.7.2" }, "devDependencies": { "@automattic/jetpack-base-styles": "workspace:*", "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", - "@storybook/addon-actions": "8.3.5", + "@babel/preset-react": "7.26.3", + "@storybook/addon-actions": "8.4.7", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "react": "18.3.1", "react-dom": "18.3.1", - "storybook": "8.3.5" + "storybook": "8.4.7" }, "peerDependencies": { "react": "^18.0.0", diff --git a/projects/js-packages/critical-css-gen/CHANGELOG.md b/projects/js-packages/critical-css-gen/CHANGELOG.md index 9cc9ce3cf2652..719c6f505de8b 100644 --- a/projects/js-packages/critical-css-gen/CHANGELOG.md +++ b/projects/js-packages/critical-css-gen/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [1.0.4] - 2025-01-06 +### Changed +- Updated package dependencies. [#40372] [#40498] [#40693] [#40798] + +### Removed +- Remove unused prettier dep. [#40434] + ## [1.0.3] - 2024-11-28 ### Changed - Updated package dependencies. [#40060] @@ -37,6 +44,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Initial version. [#38429] +[1.0.4]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.3...v1.0.4 [1.0.3]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.2...v1.0.3 [1.0.2]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.1...v1.0.2 [1.0.1]: https://github.com/Automattic/jetpack-critical-css-gen/compare/v1.0.0...v1.0.1 diff --git a/projects/js-packages/critical-css-gen/changelog/update-cleanup-project-level-eslint-prettier b/projects/js-packages/critical-css-gen/changelog/update-cleanup-project-level-eslint-prettier deleted file mode 100644 index 3779e08b5101e..0000000000000 --- a/projects/js-packages/critical-css-gen/changelog/update-cleanup-project-level-eslint-prettier +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: removed - -Remove unused prettier dep. diff --git a/projects/js-packages/critical-css-gen/changelog/update-eslint-9 b/projects/js-packages/critical-css-gen/changelog/update-eslint-9 deleted file mode 100644 index 1cb10572ab69e..0000000000000 --- a/projects/js-packages/critical-css-gen/changelog/update-eslint-9 +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Update eslint config for eslint 9. - - diff --git a/projects/js-packages/critical-css-gen/changelog/update-various-eslint-plugins b/projects/js-packages/critical-css-gen/changelog/update-various-eslint-plugins deleted file mode 100644 index b98fdbffe73bd..0000000000000 --- a/projects/js-packages/critical-css-gen/changelog/update-various-eslint-plugins +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Update code to fix new eslint rules. - - diff --git a/projects/js-packages/critical-css-gen/package.json b/projects/js-packages/critical-css-gen/package.json index 861323500e52f..39888e91ba759 100644 --- a/projects/js-packages/critical-css-gen/package.json +++ b/projects/js-packages/critical-css-gen/package.json @@ -1,7 +1,7 @@ { "type": "module", "name": "@automattic/jetpack-critical-css-gen", - "version": "1.0.3", + "version": "1.0.4", "description": "A flexible Critical CSS Generator that supports multiple URLs and viewports, with both server-side and client-side generation capabilities.", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/critical-css-gen/#readme", "bugs": { @@ -29,7 +29,7 @@ "@babel/preset-env": "7.26.0", "@babel/preset-typescript": "7.26.0", "@types/clean-css": "4.2.11", - "@types/css-tree": "2.3.9", + "@types/css-tree": "2.3.10", "@types/node": "^20.4.2", "express": "4.21.2", "jest": "29.7.0", diff --git a/projects/js-packages/eslint-changed/changelog/renovate-commander-13.x b/projects/js-packages/eslint-changed/changelog/renovate-commander-13.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/eslint-changed/changelog/renovate-commander-13.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/eslint-changed/package.json b/projects/js-packages/eslint-changed/package.json index 7844d8d10e1bc..63577048991d0 100644 --- a/projects/js-packages/eslint-changed/package.json +++ b/projects/js-packages/eslint-changed/package.json @@ -23,7 +23,7 @@ }, "dependencies": { "chalk": "5.4.1", - "commander": "9.3.0", + "commander": "13.0.0", "parse-diff": "0.8.1" }, "devDependencies": { diff --git a/projects/js-packages/eslint-changed/src/cli.js b/projects/js-packages/eslint-changed/src/cli.js index ab1fab56b3ba3..26d0a2f19e7ad 100755 --- a/projects/js-packages/eslint-changed/src/cli.js +++ b/projects/js-packages/eslint-changed/src/cli.js @@ -71,9 +71,14 @@ export function createProgram( process = global.process ) { 'Only include messages on lines changed in the diff. This may miss things like deleting a `var` that leads to a new `no-undef` elsewhere.' ) .option( '--format ', 'ESLint format to use for output.', 'stylish' ) + // If we uncomment this line, `program` becomes a simple object when passed to main() rather than a `Command` object. + // .argument( '[filenames...]', 'Specified filenames to check.' ) .version( APP_VERSION ) .action( main.bind( program, process ) ); + // We should document the optional extra args with `program.argument()` but this doesn't seem to work (see above). + program.allowExcessArguments(); + return program; } diff --git a/projects/js-packages/eslint-config-target-es/changelog/renovate-browserslist-4.x b/projects/js-packages/eslint-config-target-es/changelog/renovate-browserslist-4.x new file mode 100644 index 0000000000000..70e49af418e3d --- /dev/null +++ b/projects/js-packages/eslint-config-target-es/changelog/renovate-browserslist-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Tests: Adjust test to account for iOS Safari version ranges. diff --git a/projects/js-packages/eslint-config-target-es/tests/funcs.test.js b/projects/js-packages/eslint-config-target-es/tests/funcs.test.js index a88b667b1d7ce..00aa293709133 100644 --- a/projects/js-packages/eslint-config-target-es/tests/funcs.test.js +++ b/projects/js-packages/eslint-config-target-es/tests/funcs.test.js @@ -18,7 +18,7 @@ test( 'getBrowsers', () => { chrome: '21.0.0', firefox: '21.0.0', ie: '10.0.0', - safari_ios: '14.5.0', + safari_ios: '14.0.0', } ); } ); diff --git a/projects/js-packages/idc/CHANGELOG.md b/projects/js-packages/idc/CHANGELOG.md index 5a3a0f7dc9f77..6ffbb71110178 100644 --- a/projects/js-packages/idc/CHANGELOG.md +++ b/projects/js-packages/idc/CHANGELOG.md @@ -2,6 +2,10 @@ ### This is a list detailing changes for the Jetpack RNA IDC package releases. +## 0.12.2 - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] + ## 0.12.1 - 2024-12-16 ### Changed - Updated package dependencies. [#40564] diff --git a/projects/js-packages/idc/package.json b/projects/js-packages/idc/package.json index 539002a3cc77e..331e99ec733e1 100644 --- a/projects/js-packages/idc/package.json +++ b/projects/js-packages/idc/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/jetpack-idc", - "version": "0.12.1", + "version": "0.12.2", "description": "Jetpack Connection Component", "author": "Automattic", "license": "GPL-2.0-or-later", @@ -20,7 +20,7 @@ }, "devDependencies": { "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "react": "18.3.1", "react-dom": "18.3.1" }, diff --git a/projects/js-packages/image-guide/CHANGELOG.md b/projects/js-packages/image-guide/CHANGELOG.md index 0ef74365b4b29..190c31756113a 100644 --- a/projects/js-packages/image-guide/CHANGELOG.md +++ b/projects/js-packages/image-guide/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.5.15] - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] + ## [0.5.14] - 2024-11-28 ### Changed - Updated package dependencies. [#40060] @@ -136,6 +140,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - Minor package.json change - removing private entry. +[0.5.15]: https://github.com/Automattic/jetpack-image-guide/compare/v0.5.14...v0.5.15 [0.5.14]: https://github.com/Automattic/jetpack-image-guide/compare/v0.5.13...v0.5.14 [0.5.13]: https://github.com/Automattic/jetpack-image-guide/compare/v0.5.12...v0.5.13 [0.5.12]: https://github.com/Automattic/jetpack-image-guide/compare/v0.5.11...v0.5.12 diff --git a/projects/js-packages/image-guide/changelog/update-cleanup-deprecated-eslint-rules b/projects/js-packages/image-guide/changelog/update-cleanup-deprecated-eslint-rules deleted file mode 100644 index 94aaa5b70a786..0000000000000 --- a/projects/js-packages/image-guide/changelog/update-cleanup-deprecated-eslint-rules +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Remove unnecessary overrides from eslintrc. - - diff --git a/projects/js-packages/image-guide/changelog/update-cleanup-project-level-eslint-prettier b/projects/js-packages/image-guide/changelog/update-cleanup-project-level-eslint-prettier deleted file mode 100644 index 720019229cd39..0000000000000 --- a/projects/js-packages/image-guide/changelog/update-cleanup-project-level-eslint-prettier +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Enable prettier via eslint, and fix issues. Also remove unused eslint deps and package.json scripts. - - diff --git a/projects/js-packages/image-guide/changelog/update-eslint-9 b/projects/js-packages/image-guide/changelog/update-eslint-9 deleted file mode 100644 index 1cb10572ab69e..0000000000000 --- a/projects/js-packages/image-guide/changelog/update-eslint-9 +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Update eslint config for eslint 9. - - diff --git a/projects/js-packages/image-guide/changelog/update-various-eslint-plugins b/projects/js-packages/image-guide/changelog/update-various-eslint-plugins deleted file mode 100644 index b98fdbffe73bd..0000000000000 --- a/projects/js-packages/image-guide/changelog/update-various-eslint-plugins +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Update code to fix new eslint rules. - - diff --git a/projects/js-packages/image-guide/package.json b/projects/js-packages/image-guide/package.json index 9e121c7254f01..5d76421db9487 100644 --- a/projects/js-packages/image-guide/package.json +++ b/projects/js-packages/image-guide/package.json @@ -1,6 +1,6 @@ { "name": "@automattic/jetpack-image-guide", - "version": "0.5.14", + "version": "0.5.15", "description": "Go through the dom to analyze image size on screen vs actual file size.", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/image-guide/#readme", "type": "module", @@ -33,7 +33,7 @@ "devDependencies": { "@babel/core": "^7.0.0", "@babel/preset-env": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.26.0", "@rollup/plugin-babel": "6.0.4", "@rollup/plugin-commonjs": "26.0.1", diff --git a/projects/js-packages/licensing/CHANGELOG.md b/projects/js-packages/licensing/CHANGELOG.md index 870cf8a3360b0..1b5ce79a0abad 100644 --- a/projects/js-packages/licensing/CHANGELOG.md +++ b/projects/js-packages/licensing/CHANGELOG.md @@ -5,6 +5,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.14.3 - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] +- Updated package dependencies. [#40813] + ## 0.14.2 - 2024-12-16 ### Changed - Updated package dependencies. [#40564] diff --git a/projects/js-packages/licensing/package.json b/projects/js-packages/licensing/package.json index b80b77578f1fd..c0963293ee2c3 100644 --- a/projects/js-packages/licensing/package.json +++ b/projects/js-packages/licensing/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-licensing", - "version": "0.14.2", + "version": "0.14.3", "description": "Jetpack licensing flow", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/licensing/#readme", "bugs": { @@ -29,14 +29,14 @@ "@wordpress/i18n": "5.14.0", "@wordpress/icons": "10.14.0", "clsx": "2.1.1", - "prop-types": "15.7.2" + "prop-types": "15.8.1" }, "devDependencies": { "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", diff --git a/projects/js-packages/partner-coupon/changelog/renovate-babel-monorepo b/projects/js-packages/partner-coupon/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/partner-coupon/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/partner-coupon/changelog/renovate-prop-types-15.x b/projects/js-packages/partner-coupon/changelog/renovate-prop-types-15.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/partner-coupon/changelog/renovate-prop-types-15.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/partner-coupon/package.json b/projects/js-packages/partner-coupon/package.json index d8f25f990a018..5182a97174f27 100644 --- a/projects/js-packages/partner-coupon/package.json +++ b/projects/js-packages/partner-coupon/package.json @@ -23,7 +23,7 @@ "@automattic/jetpack-analytics": "workspace:*", "@automattic/jetpack-base-styles": "workspace:*", "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", @@ -44,7 +44,7 @@ "@automattic/jetpack-connection": "workspace:*", "@wordpress/i18n": "5.14.0", "clsx": "2.1.1", - "prop-types": "15.7.2" + "prop-types": "15.8.1" }, "exports": { ".": "./index.jsx" diff --git a/projects/js-packages/publicize-components/changelog/renovate-automattic-color-studio-4.x b/projects/js-packages/publicize-components/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/publicize-components/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/publicize-components/changelog/renovate-babel-monorepo b/projects/js-packages/publicize-components/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/publicize-components/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/publicize-components/changelog/renovate-definitelytyped b/projects/js-packages/publicize-components/changelog/renovate-definitelytyped new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/publicize-components/changelog/renovate-definitelytyped @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/publicize-components/package.json b/projects/js-packages/publicize-components/package.json index 55e03a65b08d9..e3004dac61d0a 100644 --- a/projects/js-packages/publicize-components/package.json +++ b/projects/js-packages/publicize-components/package.json @@ -51,18 +51,18 @@ "rememo": "4.0.1" }, "devDependencies": { - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/runtime": "7.26.0", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", "@types/jest": "29.5.12", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "@wordpress/babel-plugin-import-jsx-pragma": "5.14.0", "babel-jest": "29.4.3", "jest": "29.7.0", diff --git a/projects/js-packages/react-data-sync-client/CHANGELOG.md b/projects/js-packages/react-data-sync-client/CHANGELOG.md index 02fdbeae201ce..494169516c1c9 100644 --- a/projects/js-packages/react-data-sync-client/CHANGELOG.md +++ b/projects/js-packages/react-data-sync-client/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.1.8] - 2025-01-06 +### Changed +- Internal updates. + ## [0.1.7] - 2024-11-28 ### Changed - Update dependencies. [#40194] @@ -58,6 +62,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed - Added default param for callbacks to prevent crashes when none provided [#34910] +[0.1.8]: https://github.com/Automattic/jetpack-react-data-sync-client/compare/v0.1.7...v0.1.8 [0.1.7]: https://github.com/Automattic/jetpack-react-data-sync-client/compare/v0.1.6...v0.1.7 [0.1.6]: https://github.com/Automattic/jetpack-react-data-sync-client/compare/v0.1.5...v0.1.6 [0.1.5]: https://github.com/Automattic/jetpack-react-data-sync-client/compare/v0.1.4...v0.1.5 diff --git a/projects/js-packages/react-data-sync-client/changelog/update-cleanup-project-level-eslint-prettier b/projects/js-packages/react-data-sync-client/changelog/update-cleanup-project-level-eslint-prettier deleted file mode 100644 index 7e8af900c1dac..0000000000000 --- a/projects/js-packages/react-data-sync-client/changelog/update-cleanup-project-level-eslint-prettier +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: removed -Comment: Remove unused eslint and prettier scripts from package.json. - - diff --git a/projects/js-packages/react-data-sync-client/changelog/update-eslint-9 b/projects/js-packages/react-data-sync-client/changelog/update-eslint-9 deleted file mode 100644 index 1cb10572ab69e..0000000000000 --- a/projects/js-packages/react-data-sync-client/changelog/update-eslint-9 +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Update eslint config for eslint 9. - - diff --git a/projects/js-packages/react-data-sync-client/changelog/update-js-packages-fix-eslint-9-lints b/projects/js-packages/react-data-sync-client/changelog/update-js-packages-fix-eslint-9-lints deleted file mode 100644 index b3176fbef2f88..0000000000000 --- a/projects/js-packages/react-data-sync-client/changelog/update-js-packages-fix-eslint-9-lints +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Fix some JS lints ahead of eslint 9 upgrade. - - diff --git a/projects/js-packages/react-data-sync-client/changelog/update-various-eslint-plugins b/projects/js-packages/react-data-sync-client/changelog/update-various-eslint-plugins deleted file mode 100644 index b98fdbffe73bd..0000000000000 --- a/projects/js-packages/react-data-sync-client/changelog/update-various-eslint-plugins +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Update code to fix new eslint rules. - - diff --git a/projects/js-packages/react-data-sync-client/package.json b/projects/js-packages/react-data-sync-client/package.json index 32e14e1b8b89e..f826f02f32310 100644 --- a/projects/js-packages/react-data-sync-client/package.json +++ b/projects/js-packages/react-data-sync-client/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-react-data-sync-client", - "version": "0.1.7", + "version": "0.1.8", "description": "DataSync client for React", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/react-data-sync-client/#readme", "bugs": { diff --git a/projects/js-packages/scan/CHANGELOG.md b/projects/js-packages/scan/CHANGELOG.md index 9f30e52bf0ff1..e4bbe6bc8d980 100644 --- a/projects/js-packages/scan/CHANGELOG.md +++ b/projects/js-packages/scan/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.5.3] - 2025-01-06 +### Changed +- Updated package dependencies. [#40798] [#40810] [#40841] + ## [0.5.2] - 2024-12-16 ### Changed - Updated package dependencies. [#40564] @@ -87,6 +91,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - Updated dependencies. [#39754] +[0.5.3]: https://github.com/Automattic/jetpack-scan/compare/v0.5.2...v0.5.3 [0.5.2]: https://github.com/Automattic/jetpack-scan/compare/v0.5.1...v0.5.2 [0.5.1]: https://github.com/Automattic/jetpack-scan/compare/v0.5.0...v0.5.1 [0.5.0]: https://github.com/Automattic/jetpack-scan/compare/v0.4.1...v0.5.0 diff --git a/projects/js-packages/scan/package.json b/projects/js-packages/scan/package.json index 4c337339d8966..6ccbe55feabf5 100644 --- a/projects/js-packages/scan/package.json +++ b/projects/js-packages/scan/package.json @@ -1,7 +1,7 @@ { "private": false, "name": "@automattic/jetpack-scan", - "version": "0.5.2", + "version": "0.5.3", "description": "A JS client for consuming Jetpack Scan services", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/scan/#readme", "bugs": { @@ -24,16 +24,16 @@ "type": "module", "devDependencies": { "@jest/globals": "29.7.0", - "@storybook/addon-actions": "8.3.5", - "@storybook/blocks": "8.3.5", - "@storybook/react": "8.3.5", + "@storybook/addon-actions": "8.4.7", + "@storybook/blocks": "8.4.7", + "@storybook/react": "8.4.7", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@types/jest": "29.5.12", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "jest": "^29.7.0", "jest-environment-jsdom": "29.7.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "typescript": "5.0.4" }, "exports": { @@ -53,7 +53,7 @@ "@wordpress/icons": "10.14.0", "@wordpress/i18n": "5.14.0", "@wordpress/url": "4.14.0", - "debug": "4.3.4", + "debug": "4.4.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/projects/js-packages/shared-extension-utils/changelog/renovate-babel-monorepo b/projects/js-packages/shared-extension-utils/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/shared-extension-utils/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/shared-extension-utils/package.json b/projects/js-packages/shared-extension-utils/package.json index bbb3e1f0bfe42..2c7c63afb822b 100644 --- a/projects/js-packages/shared-extension-utils/package.json +++ b/projects/js-packages/shared-extension-utils/package.json @@ -34,7 +34,7 @@ "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", diff --git a/projects/js-packages/social-logos/CHANGELOG.md b/projects/js-packages/social-logos/CHANGELOG.md index c55e4a0814b54..fed4877c0faea 100644 --- a/projects/js-packages/social-logos/CHANGELOG.md +++ b/projects/js-packages/social-logos/CHANGELOG.md @@ -1,3 +1,13 @@ +## [3.1.16] - 2025-01-06 +### Changed +- Updated package dependencies. [#40796] [#40798] [#40831] + +### Deprecated +- Default import is now deprecated in favor of named import and will be removed in future. + +### Fixed +- Fixed package.json exports to expose built in types [#40801] + ## [3.1.15] - 2024-12-16 ### Changed - Internal updates. @@ -184,6 +194,7 @@ - Build: Refactored (aligned build system with Gridicons). +[3.1.16]: https://github.com/Automattic/social-logos/compare/v3.1.15...v3.1.16 [3.1.15]: https://github.com/Automattic/social-logos/compare/v3.1.14...v3.1.15 [3.1.14]: https://github.com/Automattic/social-logos/compare/v3.1.13...v3.1.14 [3.1.13]: https://github.com/Automattic/social-logos/compare/v3.1.12...v3.1.13 diff --git a/projects/js-packages/social-logos/README.md b/projects/js-packages/social-logos/README.md index 52e3af01048c1..d59edf56290cf 100644 --- a/projects/js-packages/social-logos/README.md +++ b/projects/js-packages/social-logos/README.md @@ -21,7 +21,7 @@ npm install social-logos --save #### Usage ``` -import SocialLogo from 'social-logos'; +import { SocialLogo } from 'social-logos'; function MyComponent() { return ; } diff --git a/projects/js-packages/social-logos/package.json b/projects/js-packages/social-logos/package.json index d4968eaaa663e..1d69cc1785df2 100644 --- a/projects/js-packages/social-logos/package.json +++ b/projects/js-packages/social-logos/package.json @@ -1,18 +1,21 @@ { "name": "social-logos", - "version": "3.1.15", + "version": "3.1.16", "description": "A repository of all the social logos used on WordPress.com.", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/social-logos/", "bugs": { "url": "https://github.com/Automattic/jetpack/labels/[JS Package] Social Logos" }, + "main": "build/react/index.js", + "module": "build/react/index.js", + "types": "build/react/index.d.ts", "exports": { ".": { "jetpack:src": "./src/react/index.ts", "default": "./build/react/index.js" }, - "./svg-sprite/social-logos.svg": { - "default": "./build/svg-sprite/social-logos.svg" + "./svg-sprite/*": { + "default": "./build/svg-sprite/*" }, "./font/*": { "default": "./build/font/*" @@ -34,11 +37,11 @@ "react-dom": "18.3.1" }, "devDependencies": { - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", - "glob": "10.4.1", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", + "glob": "11.0.0", "svg2ttf": "^6.0.3", - "svgicons2svgfont": "^14.0.0", + "svgicons2svgfont": "^15.0.0", "svgo": "^3.3.2", "svgstore": "^3.0.1", "typescript": "5.0.4", diff --git a/projects/js-packages/social-logos/src/react/index.ts b/projects/js-packages/social-logos/src/react/index.ts index e6143b8569326..6f56c764e33d9 100644 --- a/projects/js-packages/social-logos/src/react/index.ts +++ b/projects/js-packages/social-logos/src/react/index.ts @@ -2,5 +2,12 @@ * Export components. */ export * from './social-logo'; -export { SocialLogo as default } from './social-logo'; +import { SocialLogo } from './social-logo'; export { SocialLogoData } from './social-logo-data'; + +/** + * @deprecated Use named import instead - `import { SocialLogo } from 'social-logos';` + */ +const DeprecatedDefaultImport = SocialLogo; + +export default DeprecatedDefaultImport; diff --git a/projects/js-packages/storybook/changelog/renovate-babel-monorepo b/projects/js-packages/storybook/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/storybook/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/storybook/changelog/renovate-storybook-monorepo b/projects/js-packages/storybook/changelog/renovate-storybook-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/storybook/changelog/renovate-storybook-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/storybook/package.json b/projects/js-packages/storybook/package.json index 82541f0584358..7704baacb33c5 100644 --- a/projects/js-packages/storybook/package.json +++ b/projects/js-packages/storybook/package.json @@ -23,22 +23,23 @@ "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/plugin-syntax-jsx": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/runtime": "7.26.0", "@playwright/test": "1.48.2", - "@storybook/addon-a11y": "8.3.5", - "@storybook/addon-docs": "8.3.5", - "@storybook/addon-essentials": "8.3.5", - "@storybook/addon-storysource": "8.3.5", + "@storybook/addon-a11y": "8.4.7", + "@storybook/addon-docs": "8.4.7", + "@storybook/addon-essentials": "8.4.7", + "@storybook/addon-storysource": "8.4.7", "@storybook/addon-webpack5-compiler-babel": "^3.0.3", - "@storybook/blocks": "8.3.5", - "@storybook/components": "8.3.5", - "@storybook/manager-api": "8.3.5", - "@storybook/react": "8.3.5", - "@storybook/react-webpack5": "8.3.5", - "@storybook/source-loader": "8.3.5", + "@storybook/blocks": "8.4.7", + "@storybook/components": "8.4.7", + "@storybook/manager-api": "8.4.7", + "@storybook/react": "8.4.7", + "@storybook/react-webpack5": "8.4.7", + "@storybook/source-loader": "8.4.7", "@storybook/test-runner": "0.19.1", - "@storybook/theming": "8.3.5", + "@storybook/theming": "8.4.7", + "@types/react": "18.3.18", "@wordpress/base-styles": "5.14.0", "@wordpress/block-editor": "14.9.0", "@wordpress/block-library": "9.14.0", @@ -61,7 +62,7 @@ "require-from-string": "2.0.2", "sass": "1.64.1", "sass-loader": "12.4.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "storybook-addon-mock": "5.0.0", "style-loader": "2.0.0", "ts-dedent": "2.2.0", diff --git a/projects/js-packages/videopress-core/changelog/renovate-babel-monorepo b/projects/js-packages/videopress-core/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/js-packages/videopress-core/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/js-packages/videopress-core/package.json b/projects/js-packages/videopress-core/package.json index b6bace21725bb..6def65c04d1d4 100644 --- a/projects/js-packages/videopress-core/package.json +++ b/projects/js-packages/videopress-core/package.json @@ -24,7 +24,7 @@ "jest": "*", "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@types/jest": "29.5.12", "tslib": "2.5.0", "typescript": "5.0.4", diff --git a/projects/js-packages/webpack-config/CHANGELOG.md b/projects/js-packages/webpack-config/CHANGELOG.md index 33f39f35a0ed5..b79601e64496f 100644 --- a/projects/js-packages/webpack-config/CHANGELOG.md +++ b/projects/js-packages/webpack-config/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 3.5.6 - 2025-01-06 +### Changed +- Updated package dependencies. [#40797] [#40809] + ## 3.5.5 - 2024-12-16 ### Changed - Updated package dependencies. [#40564] diff --git a/projects/js-packages/webpack-config/package.json b/projects/js-packages/webpack-config/package.json index 2d81edcf5fd06..9504671fbe24e 100644 --- a/projects/js-packages/webpack-config/package.json +++ b/projects/js-packages/webpack-config/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-webpack-config", - "version": "3.5.5", + "version": "3.5.6", "description": "Library of pieces for webpack config in Jetpack projects.", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/js-packages/webpack-config/#readme", "bugs": { @@ -21,18 +21,18 @@ "@automattic/i18n-check-webpack-plugin": "workspace:*", "@automattic/i18n-loader-webpack-plugin": "workspace:*", "@automattic/webpack-rtl-plugin": "6.0.0", - "@babel/compat-data": "7.26.2", + "@babel/compat-data": "7.26.3", "@babel/helper-compilation-targets": "7.25.9", "@babel/plugin-transform-runtime": "7.25.9", "@babel/preset-env": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.26.0", "@cerner/duplicate-package-checker-webpack-plugin": "2.3.0", "@wordpress/browserslist-config": "6.14.0", "@wordpress/dependency-extraction-webpack-plugin": "6.14.0", "babel-loader": "9.1.2", "babel-plugin-polyfill-corejs3": "0.10.6", - "browserslist": "4.23.1", + "browserslist": "4.24.3", "core-js": "3.38.1", "css-loader": "6.5.1", "css-minimizer-webpack-plugin": "5.0.1", diff --git a/projects/packages/analyzer/changelog/fix-analyzer-expr-variable-exception b/projects/packages/analyzer/changelog/fix-analyzer-expr-variable-exception new file mode 100644 index 0000000000000..be1af269bba82 --- /dev/null +++ b/projects/packages/analyzer/changelog/fix-analyzer-expr-variable-exception @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Fixes a bug in Analyzer tring to call toCodeString() in Variable class. diff --git a/projects/packages/analyzer/src/class-utils.php b/projects/packages/analyzer/src/class-utils.php index 7bb4123fecbaa..6ee5589359ada 100644 --- a/projects/packages/analyzer/src/class-utils.php +++ b/projects/packages/analyzer/src/class-utils.php @@ -152,6 +152,11 @@ public static function has_function_call( $node, $name ) { if ( ! $stmt instanceof Node\Stmt\Expression || ! $stmt->expr instanceof Node\Expr\FuncCall ) { continue; } + + if ( $stmt->expr->name instanceof Node\Expr\Variable ) { + continue; + } + if ( false !== strpos( $stmt->expr->name->toCodeString(), $name ) ) { return true; } diff --git a/projects/packages/backup/changelog/renovate-definitelytyped b/projects/packages/backup/changelog/renovate-definitelytyped new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/backup/changelog/renovate-definitelytyped @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/backup/changelog/renovate-moment-2.x b/projects/packages/backup/changelog/renovate-moment-2.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/backup/changelog/renovate-moment-2.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/backup/package.json b/projects/packages/backup/package.json index 4984ca8e875fc..b7a0ff2bbb412 100644 --- a/projects/packages/backup/package.json +++ b/projects/packages/backup/package.json @@ -39,7 +39,7 @@ "@wordpress/date": "5.14.0", "@wordpress/element": "6.14.0", "@wordpress/i18n": "5.14.0", - "moment": "2.29.4", + "moment": "2.30.1", "prop-types": "^15.8.1", "react": "18.3.1", "react-dom": "18.3.1" @@ -53,7 +53,7 @@ "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "@wordpress/browserslist-config": "6.14.0", "concurrently": "7.6.0", "jest": "29.7.0", diff --git a/projects/packages/classic-theme-helper/changelog/renovate-glob-11.x b/projects/packages/classic-theme-helper/changelog/renovate-glob-11.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/classic-theme-helper/changelog/renovate-glob-11.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/classic-theme-helper/package.json b/projects/packages/classic-theme-helper/package.json index f72cc4cbb4ac2..a23c066467b36 100644 --- a/projects/packages/classic-theme-helper/package.json +++ b/projects/packages/classic-theme-helper/package.json @@ -30,7 +30,7 @@ "@csstools/postcss-global-data": "2.1.1", "@wordpress/browserslist-config": "6.14.0", "autoprefixer": "10.4.20", - "glob": "10.4.1", + "glob": "11.0.0", "postcss": "8.4.47", "postcss-loader": "6.2.0", "sass": "1.64.1", diff --git a/projects/packages/connection/CHANGELOG.md b/projects/packages/connection/CHANGELOG.md index eaaba4aa9a81e..63159dac89f69 100644 --- a/projects/packages/connection/CHANGELOG.md +++ b/projects/packages/connection/CHANGELOG.md @@ -5,6 +5,13 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [6.2.2] - 2025-01-06 +### Added +- Added tests to increase code coverage. [#39963] + +### Changed +- Updated package dependencies. [#40831] + ## [6.2.1] - 2024-12-16 ### Changed - Updated package dependencies. [#40564] @@ -1271,6 +1278,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Separate the connection library into its own package. +[6.2.2]: https://github.com/Automattic/jetpack-connection/compare/v6.2.1...v6.2.2 [6.2.1]: https://github.com/Automattic/jetpack-connection/compare/v6.2.0...v6.2.1 [6.2.0]: https://github.com/Automattic/jetpack-connection/compare/v6.1.1...v6.2.0 [6.1.1]: https://github.com/Automattic/jetpack-connection/compare/v6.1.0...v6.1.1 diff --git a/projects/packages/connection/changelog/add-connection-coverage b/projects/packages/connection/changelog/add-connection-coverage deleted file mode 100644 index 5b7642e59a260..0000000000000 --- a/projects/packages/connection/changelog/add-connection-coverage +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: added - -Added tests to increase code coverage. diff --git a/projects/packages/connection/package.json b/projects/packages/connection/package.json index c1b2b310559cb..837e4e6b1f370 100644 --- a/projects/packages/connection/package.json +++ b/projects/packages/connection/package.json @@ -36,7 +36,7 @@ "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", "@wordpress/browserslist-config": "6.14.0", - "glob": "10.4.1", + "glob": "11.0.0", "react": "18.2.0", "react-dom": "18.2.0", "sass": "1.64.1", diff --git a/projects/packages/connection/src/class-package-version.php b/projects/packages/connection/src/class-package-version.php index 361d29d6aaffe..d8a27d74551cc 100644 --- a/projects/packages/connection/src/class-package-version.php +++ b/projects/packages/connection/src/class-package-version.php @@ -12,7 +12,7 @@ */ class Package_Version { - const PACKAGE_VERSION = '6.2.1'; + const PACKAGE_VERSION = '6.2.2'; const PACKAGE_SLUG = 'connection'; diff --git a/projects/packages/forms/changelog/fix-form-block-submit-button-styles-when-errors b/projects/packages/forms/changelog/fix-form-block-submit-button-styles-when-errors new file mode 100644 index 0000000000000..d9d7d5ed0de2a --- /dev/null +++ b/projects/packages/forms/changelog/fix-form-block-submit-button-styles-when-errors @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Form block: Fix submit button styles when there are errors diff --git a/projects/packages/forms/changelog/renovate-automattic-color-studio-4.x b/projects/packages/forms/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/forms/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/forms/changelog/renovate-glob-11.x b/projects/packages/forms/changelog/renovate-glob-11.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/forms/changelog/renovate-glob-11.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/forms/changelog/renovate-react-router-monorepo b/projects/packages/forms/changelog/renovate-react-router-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/forms/changelog/renovate-react-router-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/forms/changelog/renovate-semver-7.x b/projects/packages/forms/changelog/renovate-semver-7.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/forms/changelog/renovate-semver-7.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/forms/package.json b/projects/packages/forms/package.json index 5dbb698daceaa..2253b9e494081 100644 --- a/projects/packages/forms/package.json +++ b/projects/packages/forms/package.json @@ -49,17 +49,17 @@ "gridicons": "3.4.1", "lodash": "4.17.21", "react-redux": "7.2.8", - "react-router-dom": "6.10.0", + "react-router-dom": "6.28.1", "react-transition-group": "^4.4.5", "redux": "4.0.5", "redux-thunk": "2.3.0", "sass": "1.64.1", - "semver": "7.5.2", + "semver": "7.6.3", "webpack": "5.94.0", "webpack-cli": "4.9.1" }, "devDependencies": { - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-webpack-config": "workspace:*", "@automattic/remove-asset-webpack-plugin": "workspace:*", @@ -73,7 +73,7 @@ "@wordpress/date": "5.14.0", "autoprefixer": "10.4.20", "concurrently": "7.6.0", - "glob": "10.4.1", + "glob": "11.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jquery": "3.6.0", diff --git a/projects/packages/forms/src/contact-form/css/grunion.css b/projects/packages/forms/src/contact-form/css/grunion.css index 660dbbd5cf428..885326a247da1 100644 --- a/projects/packages/forms/src/contact-form/css/grunion.css +++ b/projects/packages/forms/src/contact-form/css/grunion.css @@ -321,16 +321,16 @@ .contact-form .contact-form__select-wrapper::after { position: absolute; inset-inline-end: calc(var(--jetpack--contact-form--input-padding-left) + 4px); - top: calc(var(--jetpack--contact-form--input-padding-top) + var(--jetpack--contact-form--line-height) / 2); + top: calc(var(--jetpack--contact-form--input-padding-top) + var(--jetpack--contact-form--line-height) / 2); content: ""; display: block; width: 8px; height: 8px; - + border-bottom: 2px solid; border-right: 2px solid; - + transform: translateY(-50%) rotate(45deg); transform-origin: center center; @@ -594,7 +594,7 @@ on production builds, the attributes are being reordered, causing side-effects .contact-form .grunion-field-wrap input.checkbox-multiple:checked::before { content: "\2713"; - + position: absolute; top: calc(var(--jetpack--contact-form--font-size) / 2); left: calc(var(--jetpack--contact-form--font-size) / 2); @@ -603,7 +603,7 @@ on production builds, the attributes are being reordered, causing side-effects font-size: var(--jetpack--contact-form--font-size); line-height: 1; - + transform: translate(-50%, -50%); } @@ -714,7 +714,6 @@ on production builds, the attributes are being reordered, causing side-effects } .contact-form__error { - margin-bottom: var(--wp--style--block-gap, 1.5rem); padding: 1em; gap: var(--warning-icon-margin); @@ -815,4 +814,4 @@ on production builds, the attributes are being reordered, causing side-effects position: absolute; white-space: nowrap; width: 1px; -} \ No newline at end of file +} diff --git a/projects/packages/forms/src/contact-form/js/accessible-form.js b/projects/packages/forms/src/contact-form/js/accessible-form.js index 20a1d6ff43d86..229b553bd415b 100644 --- a/projects/packages/forms/src/contact-form/js/accessible-form.js +++ b/projects/packages/forms/src/contact-form/js/accessible-form.js @@ -897,7 +897,7 @@ const setFormError = ( form, invalidFields, opts = {} ) => { const submitBtn = getFormSubmitBtn( form ); if ( submitBtn ) { - submitBtn.parentNode.insertBefore( error, submitBtn ); + submitBtn.parentNode.parentNode.insertBefore( error, submitBtn.parentNode ); } else { form.appendChild( error ); } diff --git a/projects/packages/jetpack-mu-wpcom/changelog/renovate-automattic-color-studio-4.x b/projects/packages/jetpack-mu-wpcom/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/jetpack-mu-wpcom/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/jetpack-mu-wpcom/changelog/renovate-babel-monorepo b/projects/packages/jetpack-mu-wpcom/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/jetpack-mu-wpcom/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/jetpack-mu-wpcom/changelog/renovate-debug-4.x b/projects/packages/jetpack-mu-wpcom/changelog/renovate-debug-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/jetpack-mu-wpcom/changelog/renovate-debug-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/jetpack-mu-wpcom/changelog/renovate-definitelytyped b/projects/packages/jetpack-mu-wpcom/changelog/renovate-definitelytyped new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/jetpack-mu-wpcom/changelog/renovate-definitelytyped @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/jetpack-mu-wpcom/package.json b/projects/packages/jetpack-mu-wpcom/package.json index 8dad01437fe0a..a2c12246bc23f 100644 --- a/projects/packages/jetpack-mu-wpcom/package.json +++ b/projects/packages/jetpack-mu-wpcom/package.json @@ -32,11 +32,11 @@ "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@playwright/test": "1.48.2", "@types/node": "^20.4.2", "@types/react": "^18.2.28", - "@types/react-dom": "18.3.1", + "@types/react-dom": "18.3.5", "babel-plugin-transform-rename-properties": "0.1.0", "pkg-dir": "^5.0.0", "sass": "1.64.1", @@ -47,7 +47,7 @@ }, "dependencies": { "@automattic/calypso-color-schemes": "3.1.3", - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/i18n-utils": "1.2.3", "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-shared-extension-utils": "workspace:*", @@ -72,7 +72,7 @@ "@wordpress/router": "^1.8.11", "@wordpress/url": "4.14.0", "clsx": "2.1.1", - "debug": "4.3.4", + "debug": "4.4.0", "preact": "^10.13.1", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/projects/packages/masterbar/changelog/renovate-automattic-color-studio-4.x b/projects/packages/masterbar/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/masterbar/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/masterbar/changelog/renovate-glob-11.x b/projects/packages/masterbar/changelog/renovate-glob-11.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/masterbar/changelog/renovate-glob-11.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/masterbar/package.json b/projects/packages/masterbar/package.json index 5c698cef9de66..ba188bf9f78da 100644 --- a/projects/packages/masterbar/package.json +++ b/projects/packages/masterbar/package.json @@ -25,7 +25,7 @@ }, "dependencies": { "@automattic/calypso-color-schemes": "3.1.3", - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "postcss-custom-properties": "12.1.7" }, "devDependencies": { @@ -35,7 +35,7 @@ "@csstools/postcss-global-data": "2.1.1", "@wordpress/browserslist-config": "6.14.0", "autoprefixer": "10.4.20", - "glob": "10.4.1", + "glob": "11.0.0", "postcss": "8.4.47", "postcss-loader": "6.2.0", "sass": "1.64.1", diff --git a/projects/packages/my-jetpack/CHANGELOG.md b/projects/packages/my-jetpack/CHANGELOG.md index ab8a48a89124a..8fdc37bdd613d 100644 --- a/projects/packages/my-jetpack/CHANGELOG.md +++ b/projects/packages/my-jetpack/CHANGELOG.md @@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [5.3.0] - 2025-01-06 +### Added +- My Jetpack: Added a new status for when Protect detects threats on the site. [#40628] +- My Jetpack: Adds a red bubble and notice when Protect threats are detected. [#40719] +- My Jetpack: introduce feature cards for recommendations in My Jetpack. [#40639] + +### Changed +- Updated package dependencies. [#40705] [#40798] [#40810] [#40841] + +### Fixed +- Tests: Fix failure on 31 December. [#40781] + ## [5.2.0] - 2024-12-23 ### Added - My Jetpack: add features as possible modules to the recommendations list. [#40492] @@ -1883,6 +1895,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Created package +[5.3.0]: https://github.com/Automattic/jetpack-my-jetpack/compare/5.2.0...5.3.0 [5.2.0]: https://github.com/Automattic/jetpack-my-jetpack/compare/5.1.2...5.2.0 [5.1.2]: https://github.com/Automattic/jetpack-my-jetpack/compare/5.1.1...5.1.2 [5.1.1]: https://github.com/Automattic/jetpack-my-jetpack/compare/5.1.0...5.1.1 diff --git a/projects/packages/my-jetpack/_inc/components/evaluation-recommendations/index.tsx b/projects/packages/my-jetpack/_inc/components/evaluation-recommendations/index.tsx index 9716c4c9df675..0bb115f658e9e 100644 --- a/projects/packages/my-jetpack/_inc/components/evaluation-recommendations/index.tsx +++ b/projects/packages/my-jetpack/_inc/components/evaluation-recommendations/index.tsx @@ -131,7 +131,8 @@ const EvaluationRecommendations: FC = () => { fluid > { recommendedModules.map( module => { - const Card = JetpackModuleToProductCard[ module ]; + const moduleName = module.replace( 'feature_', '' ); + const Card = JetpackModuleToProductCard[ moduleName ]; return ( Card && ( diff --git a/projects/packages/my-jetpack/_inc/components/product-card/action-button.tsx b/projects/packages/my-jetpack/_inc/components/product-card/action-button.tsx index eb77e4e25c744..eb1650872143e 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/action-button.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-card/action-button.tsx @@ -88,9 +88,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: buttonText, onClick: onLearnMore, - ...( primaryActionOverride && - PRODUCT_STATUSES.ABSENT in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.ABSENT ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.ABSENT ] ?? {} ), }; } case PRODUCT_STATUSES.ABSENT_WITH_PLAN: { @@ -100,9 +98,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: buttonText, onClick: onInstall, - ...( primaryActionOverride && - PRODUCT_STATUSES.ABSENT_WITH_PLAN in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.ABSENT_WITH_PLAN ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.ABSENT_WITH_PLAN ] ?? {} ), }; } // The site or user have never been connected before and the connection is required @@ -113,9 +109,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: __( 'Learn more', 'jetpack-my-jetpack' ), onClick: onAdd, - ...( primaryActionOverride && - PRODUCT_STATUSES.NEEDS_FIRST_SITE_CONNECTION in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.NEEDS_FIRST_SITE_CONNECTION ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.NEEDS_FIRST_SITE_CONNECTION ] ?? {} ), }; case PRODUCT_STATUSES.NEEDS_PLAN: { const getPlanText = __( 'Get plan', 'jetpack-my-jetpack' ); @@ -128,9 +122,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: buttonText, onClick: onAdd, - ...( primaryActionOverride && - PRODUCT_STATUSES.NEEDS_PLAN in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.NEEDS_PLAN ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.NEEDS_PLAN ] ?? {} ), }; } case PRODUCT_STATUSES.CAN_UPGRADE: { @@ -144,9 +136,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: buttonText, onClick: onAdd, - ...( primaryActionOverride && - PRODUCT_STATUSES.CAN_UPGRADE in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.CAN_UPGRADE ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.CAN_UPGRADE ] ?? {} ), }; } case PRODUCT_STATUSES.ACTIVE: { @@ -159,9 +149,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'secondary', label: buttonText, onClick: onManage, - ...( primaryActionOverride && - PRODUCT_STATUSES.ACTIVE in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.ACTIVE ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.ACTIVE ] ?? {} ), }; } case PRODUCT_STATUSES.SITE_CONNECTION_ERROR: @@ -170,9 +158,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: __( 'Connect', 'jetpack-my-jetpack' ), onClick: onFixSiteConnection, - ...( primaryActionOverride && - PRODUCT_STATUSES.SITE_CONNECTION_ERROR in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.SITE_CONNECTION_ERROR ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.SITE_CONNECTION_ERROR ] ?? {} ), }; case PRODUCT_STATUSES.USER_CONNECTION_ERROR: return { @@ -180,9 +166,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'primary', label: __( 'Connect', 'jetpack-my-jetpack' ), onClick: onFixUserConnection, - ...( primaryActionOverride && - PRODUCT_STATUSES.USER_CONNECTION_ERROR in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.USER_CONNECTION_ERROR ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.USER_CONNECTION_ERROR ] ?? {} ), }; case PRODUCT_STATUSES.INACTIVE: case PRODUCT_STATUSES.MODULE_DISABLED: @@ -192,9 +176,7 @@ const ActionButton: FC< ActionButtonProps > = ( { variant: 'secondary', label: __( 'Activate', 'jetpack-my-jetpack' ), onClick: onActivate, - ...( primaryActionOverride && - PRODUCT_STATUSES.INACTIVE in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.INACTIVE ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.INACTIVE ] ?? {} ), }; case PRODUCT_STATUSES.EXPIRING_SOON: return { @@ -202,9 +184,7 @@ const ActionButton: FC< ActionButtonProps > = ( { href: renewPaidPlanPurchaseUrl, variant: 'primary', label: __( 'Renew my plan', 'jetpack-my-jetpack' ), - ...( primaryActionOverride && - PRODUCT_STATUSES.EXPIRING_SOON in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.EXPIRING_SOON ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.EXPIRING_SOON ] ?? {} ), }; case PRODUCT_STATUSES.EXPIRED: return { @@ -212,22 +192,58 @@ const ActionButton: FC< ActionButtonProps > = ( { href: managePaidPlanPurchaseUrl, variant: 'primary', label: __( 'Resume my plan', 'jetpack-my-jetpack' ), - ...( primaryActionOverride && - PRODUCT_STATUSES.EXPIRED in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.EXPIRED ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.EXPIRED ] ?? {} ), }; - case PRODUCT_STATUSES.NEEDS_ATTENTION: - return { + case PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR: { + const defaultButton: Partial< SecondaryButtonProps > = { ...buttonState, - href: troubleshootBackupsUrl, + href: manageUrl, + variant: 'primary', + label: __( 'Troubleshoot', 'jetpack-my-jetpack' ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR ] ?? {} ), + }; + switch ( slug ) { + case 'backup': + return { + ...defaultButton, + href: troubleshootBackupsUrl, + }; + case 'protect': + return { + ...defaultButton, + label: __( 'Fix threats', 'jetpack-my-jetpack' ), + }; + default: + return defaultButton; + } + } + case PRODUCT_STATUSES.NEEDS_ATTENTION__WARNING: { + const defaultButton: Partial< SecondaryButtonProps > = { + ...buttonState, + href: manageUrl, variant: 'primary', label: __( 'Troubleshoot', 'jetpack-my-jetpack' ), - ...( primaryActionOverride && - PRODUCT_STATUSES.NEEDS_ATTENTION in primaryActionOverride && - primaryActionOverride[ PRODUCT_STATUSES.NEEDS_ATTENTION ] ), + ...( primaryActionOverride?.[ PRODUCT_STATUSES.NEEDS_ATTENTION__WARNING ] ?? {} ), }; + switch ( slug ) { + case 'protect': + return { + ...defaultButton, + label: __( 'Fix threats', 'jetpack-my-jetpack' ), + }; + default: + return { + ...defaultButton, + }; + } + } default: - return null; + return { + ...buttonState, + href: purchaseUrl || `#/add-${ slug }`, + label: __( 'Learn more', 'jetpack-my-jetpack' ), + onClick: onAdd, + }; } }, [ status, diff --git a/projects/packages/my-jetpack/_inc/components/product-card/index.tsx b/projects/packages/my-jetpack/_inc/components/product-card/index.tsx index ba235dfd9fa8b..c05126d83b359 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/index.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-card/index.tsx @@ -73,8 +73,10 @@ const ProductCard: FC< ProductCardProps > = props => { const isOwned = ownedProducts?.includes( slug ); const isError = - status === PRODUCT_STATUSES.EXPIRED || status === PRODUCT_STATUSES.NEEDS_ATTENTION; - const isWarning = status === PRODUCT_STATUSES.EXPIRING_SOON; + status === PRODUCT_STATUSES.EXPIRED || status === PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR; + const isWarning = + status === PRODUCT_STATUSES.EXPIRING_SOON || + status === PRODUCT_STATUSES.NEEDS_ATTENTION__WARNING; const isAbsent = status === PRODUCT_STATUSES.ABSENT || status === PRODUCT_STATUSES.ABSENT_WITH_PLAN; const isPurchaseRequired = status === PRODUCT_STATUSES.NEEDS_PLAN; @@ -223,6 +225,7 @@ const ProductCard: FC< ProductCardProps > = props => { isFetching={ isLoading } isInstallingStandalone={ isInstallingStandalone } isOwned={ isOwned } + suppressNeedsAttention={ slug === 'protect' } />
) } diff --git a/projects/packages/my-jetpack/_inc/components/product-card/pricing-component.tsx b/projects/packages/my-jetpack/_inc/components/product-card/pricing-component.tsx index e6af2ff237f4f..4c46c83f7ac89 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/pricing-component.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-card/pricing-component.tsx @@ -5,16 +5,23 @@ import styles from './style.module.scss'; import usePricingData from './use-pricing-data'; const PriceComponent = ( { slug }: { slug: string } ) => { - const { discountPrice, fullPrice, currencyCode } = usePricingData( slug ); + const { discountPrice, fullPrice, currencyCode, isFeature, hasFreeOffering } = + usePricingData( slug ); + const isFreeFeature = isFeature && hasFreeOffering && ! fullPrice; return (
{ discountPrice && ( { formatCurrency( discountPrice, currencyCode ) } ) } - - { formatCurrency( fullPrice, currencyCode ) } + + { ! isFreeFeature && formatCurrency( fullPrice, currencyCode ) } + { isFreeFeature && __( 'Free', 'jetpack-my-jetpack' ) } - { __( '/month, billed yearly', 'jetpack-my-jetpack' ) } + { ! isFreeFeature && ( + + { __( '/month, billed yearly', 'jetpack-my-jetpack' ) } + + ) }
); }; diff --git a/projects/packages/my-jetpack/_inc/components/product-card/recommendation-actions.tsx b/projects/packages/my-jetpack/_inc/components/product-card/recommendation-actions.tsx index c0d84ace2116b..e01ebd9ba9b8c 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/recommendation-actions.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-card/recommendation-actions.tsx @@ -4,19 +4,26 @@ import styles from './style.module.scss'; import usePricingData from './use-pricing-data'; const RecommendationActions = ( { slug }: { slug: string } ) => { - const { secondaryAction, purchaseAction, isActivating } = usePricingData( slug ); + const { secondaryAction, primaryAction, isFeature, isActivating, isInstalling } = + usePricingData( slug ); return (
- { purchaseAction && ( - + ) } + { secondaryAction && ( + ) } -
); diff --git a/projects/packages/my-jetpack/_inc/components/product-card/status.tsx b/projects/packages/my-jetpack/_inc/components/product-card/status.tsx index f46baca25a7d3..6ef4c935173a9 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/status.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-card/status.tsx @@ -10,11 +10,16 @@ interface StatusProps { isFetching: boolean; isInstallingStandalone: boolean; isOwned: boolean; + suppressNeedsAttention?: boolean; } -type StatusStateFunction = ( status: ProductStatus, isOwned: boolean ) => string; +type StatusStateFunction = ( + status: ProductStatus, + isOwned: boolean, + suppressNeedsAttention: boolean +) => string; -const getStatusLabel: StatusStateFunction = ( status, isOwned ) => { +const getStatusLabel: StatusStateFunction = ( status, isOwned, suppressNeedsAttention ) => { switch ( status ) { case PRODUCT_STATUSES.ACTIVE: case PRODUCT_STATUSES.CAN_UPGRADE: @@ -40,14 +45,21 @@ const getStatusLabel: StatusStateFunction = ( status, isOwned ) => { const inactiveText = __( 'Inactive', 'jetpack-my-jetpack' ); return isOwned ? needsPlanText : inactiveText; } - case PRODUCT_STATUSES.NEEDS_ATTENTION: - return __( 'Needs attention', 'jetpack-my-jetpack' ); + case PRODUCT_STATUSES.NEEDS_ATTENTION__WARNING: + case PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR: { + const activeText = __( 'Active', 'jetpack-my-jetpack' ); + const needsAttentionText = __( 'Needs attention', 'jetpack-my-jetpack' ); + if ( suppressNeedsAttention ) { + return activeText; + } + return needsAttentionText; + } default: return __( 'Inactive', 'jetpack-my-jetpack' ); } }; -const getStatusClassName: StatusStateFunction = ( status, isOwned ) => { +const getStatusClassName: StatusStateFunction = ( status, isOwned, suppressNeedsAttention ) => { switch ( status ) { case PRODUCT_STATUSES.ACTIVE: case PRODUCT_STATUSES.CAN_UPGRADE: @@ -64,18 +76,41 @@ const getStatusClassName: StatusStateFunction = ( status, isOwned ) => { case PRODUCT_STATUSES.NEEDS_PLAN: return isOwned ? styles.warning : styles.inactive; case PRODUCT_STATUSES.EXPIRED: - case PRODUCT_STATUSES.NEEDS_ATTENTION: + case PRODUCT_STATUSES.NEEDS_ATTENTION__WARNING: + /** + * For the Protect card, even when it has a NEEDS_ATTENTION__{WARNING | ERROR} + * status (it means Threats have been detected), we still want to show the card + * status as 'Active'. + */ + if ( suppressNeedsAttention ) { + return styles.active; + } + return styles.warning; + case PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR: + if ( suppressNeedsAttention ) { + return styles.active; + } return styles.error; default: return styles.inactive; } }; -const Status: FC< StatusProps > = ( { status, isFetching, isInstallingStandalone, isOwned } ) => { - const flagLabel = getStatusLabel( status, isOwned ); - const statusClassName = clsx( styles.status, getStatusClassName( status, isOwned ), { - [ styles[ 'is-fetching' ] ]: isFetching || isInstallingStandalone, - } ); +const Status: FC< StatusProps > = ( { + status, + isFetching, + isInstallingStandalone, + isOwned, + suppressNeedsAttention = false, +} ) => { + const flagLabel = getStatusLabel( status, isOwned, suppressNeedsAttention ); + const statusClassName = clsx( + styles.status, + getStatusClassName( status, isOwned, suppressNeedsAttention ), + { + [ styles[ 'is-fetching' ] ]: isFetching || isInstallingStandalone, + } + ); return ( diff --git a/projects/packages/my-jetpack/_inc/components/product-card/use-pricing-data.ts b/projects/packages/my-jetpack/_inc/components/product-card/use-pricing-data.ts index 06e6beb1c01e9..1105c8ece68d2 100644 --- a/projects/packages/my-jetpack/_inc/components/product-card/use-pricing-data.ts +++ b/projects/packages/my-jetpack/_inc/components/product-card/use-pricing-data.ts @@ -3,6 +3,7 @@ import { __ } from '@wordpress/i18n'; import { useCallback } from 'react'; import { PRODUCT_STATUSES } from '../../constants'; import useActivate from '../../data/products/use-activate'; +import useInstallStandalonePlugin from '../../data/products/use-install-standalone-plugin'; import useProduct from '../../data/products/use-product'; import { ProductCamelCase } from '../../data/types'; import { getMyJetpackWindowInitialState } from '../../data/utils/get-my-jetpack-window-state'; @@ -52,7 +53,38 @@ const parsePricingData = ( pricingForUi: ProductCamelCase[ 'pricingForUi' ] ) => }; }; -const getPurchaseAction = ( detail: ProductCamelCase, onCheckout: () => void ) => { +// type for onCheckout and onActivate +type Actions = { + onCheckout: () => void; + onActivate: () => void; + onInstall: () => void; + onManage: () => void; +}; + +const getFeaturePrimaryAction = ( + detail: ProductCamelCase, + { onActivate, onInstall, onManage }: Omit< Actions, 'onCheckout' > +) => { + switch ( detail.status ) { + case PRODUCT_STATUSES.MODULE_DISABLED: + return { label: __( 'Activate', 'jetpack-my-jetpack' ), onClick: onActivate }; + case PRODUCT_STATUSES.ABSENT: + return { label: __( 'Install', 'jetpack-my-jetpack' ), onClick: onInstall }; + case PRODUCT_STATUSES.USER_CONNECTION_ERROR: + return { label: __( 'Connect', 'jetpack-my-jetpack' ), href: '#/connection' }; + default: + return { + label: __( 'Manage', 'jetpack-my-jetpack' ), + href: detail.manageUrl, + onClick: onManage, + }; + } +}; + +const getPrimaryAction = ( + detail: ProductCamelCase, + { onCheckout, onActivate, onInstall, onManage }: Actions +) => { const isUpgradable = detail.status === PRODUCT_STATUSES.ACTIVE && ( detail.isUpgradableByBundle.length || detail.isUpgradable ); @@ -66,10 +98,18 @@ const getPurchaseAction = ( detail: ProductCamelCase, onCheckout: () => void ) = return null; } + if ( detail.isFeature ) { + return getFeaturePrimaryAction( detail, { onActivate, onInstall, onManage } ); + } + return { label: __( 'Purchase', 'jetpack-my-jetpack' ), onClick: onCheckout }; }; const getSecondaryAction = ( detail: ProductCamelCase, onActivate: () => void ) => { + if ( detail.isFeature ) { + return null; + } + const START_FOR_FREE_FEATURE_FLAG = false; const isNotActiveOrNeedsExplicitFreePlan = ! detail.isPluginActive || @@ -98,6 +138,7 @@ const usePricingData = ( slug: string ) => { const { wpcomProductSlug, wpcomFreeProductSlug, ...data } = parsePricingData( detail.pricingForUi ); + const { install: installPlugin, isPending: isInstalling } = useInstallStandalonePlugin( slug ); const { isUserConnected } = useMyJetpackConnection(); const { myJetpackUrl, siteSuffix } = getMyJetpackWindowInitialState(); @@ -135,10 +176,31 @@ const usePricingData = ( slug: string ) => { runCheckout(); }, [ activate, recordEvent, runCheckout, slug ] ); + const handleInstall = useCallback( () => { + recordEvent( 'jetpack_myjetpack_evaluation_recommendations_install_plugin_click', { + product: slug, + } ); + installPlugin(); + }, [ slug, installPlugin, recordEvent ] ); + + const handleManage = useCallback( () => { + recordEvent( 'jetpack_myjetpack_evaluation_recommendations_manage_click', { + product: slug, + } ); + }, [ slug, recordEvent ] ); + return { secondaryAction: getSecondaryAction( detail, handleActivate ), - purchaseAction: getPurchaseAction( detail, handleCheckout ), + primaryAction: getPrimaryAction( detail, { + onCheckout: handleCheckout, + onActivate: handleActivate, + onInstall: handleInstall, + onManage: handleManage, + } ), + isFeature: detail.isFeature, + hasFreeOffering: detail.hasFreeOffering, isActivating, + isInstalling, ...data, }; }; diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/all.ts b/projects/packages/my-jetpack/_inc/components/product-cards-section/all.ts index 18169a3e57272..19a5c3cf4fd5a 100644 --- a/projects/packages/my-jetpack/_inc/components/product-cards-section/all.ts +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/all.ts @@ -5,9 +5,12 @@ import BoostCard from './boost-card'; import CompleteCard from './complete-card'; import CrmCard from './crm-card'; import GrowthCard from './growth-card'; +import NewsletterCard from './newsletter-card'; import ProtectCard from './protect-card'; +import RelatedPostsCard from './related-posts-card'; import SearchCard from './search-card'; import SecurityCard from './security-card'; +import SiteAcceleratorCard from './site-accelerator-card'; import SocialCard from './social-card'; import StatsCard from './stats-card'; import VideopressCard from './videopress-card'; @@ -33,4 +36,8 @@ export const JetpackModuleToProductCard: { extras: null, scan: null, creator: null, + // Features: + newsletter: NewsletterCard, + 'related-posts': RelatedPostsCard, + 'site-accelerator': SiteAcceleratorCard, }; diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx index 03b669c4d4421..0c4477fe38257 100644 --- a/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/backup-card/index.jsx @@ -145,7 +145,7 @@ const BackupCard = props => { return ( // eslint-disable-next-line react/jsx-no-bind - { status === PRODUCT_STATUSES.NEEDS_ATTENTION && backupFailure && ( + { status === PRODUCT_STATUSES.NEEDS_ATTENTION__ERROR && backupFailure && (
diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/index.tsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/index.tsx index 093b2cfe47a7b..bf9f9724c6a16 100644 --- a/projects/packages/my-jetpack/_inc/components/product-cards-section/index.tsx +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/index.tsx @@ -26,9 +26,19 @@ type DisplayItemType = Record< // We don't have a card for these products/bundles, and scan is displayed as protect. // 'jetpack-ai' is the official slug for the AI module, so we also exclude 'ai'. // The backend still supports the 'ai' slug, so it is part of the JetpackModule type. + // Related-posts, newsletter, and site-accelerator are features, not products. Exclude< JetpackModule, - 'extras' | 'scan' | 'security' | 'ai' | 'creator' | 'growth' | 'complete' + | 'extras' + | 'scan' + | 'security' + | 'ai' + | 'creator' + | 'growth' + | 'complete' + | 'site-accelerator' + | 'newsletter' + | 'related-posts' >, FC< { admin: boolean } > >; diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/newsletter-card.tsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/newsletter-card.tsx new file mode 100644 index 0000000000000..d3273867cdc9f --- /dev/null +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/newsletter-card.tsx @@ -0,0 +1,20 @@ +import { PRODUCT_SLUGS } from '../../data/constants'; +import ProductCard from '../connected-product-card'; +import type { FC } from 'react'; + +interface NewsletterCardProps { + admin?: boolean; + recommendation?: boolean; +} + +const NewsletterCard: FC< NewsletterCardProps > = ( { admin, recommendation } ) => { + return ( + + ); +}; + +export default NewsletterCard; diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/protect-card/use-protect-tooltip-copy.ts b/projects/packages/my-jetpack/_inc/components/product-cards-section/protect-card/use-protect-tooltip-copy.ts index c6bdab86dcfc9..d79132a0945d9 100644 --- a/projects/packages/my-jetpack/_inc/components/product-cards-section/protect-card/use-protect-tooltip-copy.ts +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/protect-card/use-protect-tooltip-copy.ts @@ -28,10 +28,11 @@ export function useProtectTooltipCopy(): TooltipContent { const slug = PRODUCT_SLUGS.PROTECT; const { detail } = useProduct( slug ); const { - isPluginActive: isProtectPluginActive, + standalonePluginInfo, hasPaidPlanForProduct: hasProtectPaidPlan, manageUrl: protectDashboardUrl, } = detail || {}; + const { isStandaloneActive } = standalonePluginInfo || {}; const { recordEvent } = useAnalytics(); const { plugins, @@ -60,11 +61,11 @@ export function useProtectTooltipCopy(): TooltipContent { }, [ threats ] ); const settingsLink = useMemo( () => { - if ( isProtectPluginActive ) { + if ( isStandaloneActive ) { return 'admin.php?page=jetpack-protect#/firewall'; } return isJetpackPluginActive() ? 'admin.php?page=jetpack#/settings' : null; - }, [ isProtectPluginActive ] ); + }, [ isStandaloneActive ] ); const trackFirewallSettingsLinkClick = useCallback( () => { recordEvent( 'jetpack_protect_card_tooltip_content_link_click', { @@ -84,7 +85,7 @@ export function useProtectTooltipCopy(): TooltipContent { } ); }, [ recordEvent, protectDashboardUrl ] ); - const isBruteForcePluginsActive = isProtectPluginActive || isJetpackPluginActive(); + const isBruteForcePluginsActive = isStandaloneActive || isJetpackPluginActive(); const blockedLoginsTooltip = useMemo( () => { if ( blockedLoginsCount === 0 ) { @@ -107,7 +108,7 @@ export function useProtectTooltipCopy(): TooltipContent { 'Brute Force Protection is disabled and not actively blocking malicious login attempts. Go to %s to activate it.', 'jetpack-my-jetpack' ), - isProtectPluginActive ? 'firewall settings' : 'Jetpack settings' + isStandaloneActive ? 'firewall settings' : 'Jetpack settings' ), { a: createElement( 'a', { @@ -143,7 +144,7 @@ export function useProtectTooltipCopy(): TooltipContent { 'Brute Force Protection is disabled and not actively blocking malicious login attempts. Go to %s to activate it.', 'jetpack-my-jetpack' ), - isProtectPluginActive ? 'firewall settings' : 'Jetpack settings' + isStandaloneActive ? 'firewall settings' : 'Jetpack settings' ), { a: createElement( 'a', { @@ -162,7 +163,7 @@ export function useProtectTooltipCopy(): TooltipContent { blockedLoginsCount, hasBruteForceProtection, isBruteForcePluginsActive, - isProtectPluginActive, + isStandaloneActive, settingsLink, trackFirewallSettingsLinkClick, ] ); @@ -206,7 +207,7 @@ export function useProtectTooltipCopy(): TooltipContent { numThreats ), criticalThreatCount, - isProtectPluginActive ? 'Protect' : 'Scan' + isStandaloneActive ? 'Protect' : 'Scan' ), { a: createElement( 'a', { @@ -227,7 +228,7 @@ export function useProtectTooltipCopy(): TooltipContent { _n( '%d threat', '%d threats', numThreats, 'jetpack-my-jetpack' ), numThreats ), - isProtectPluginActive ? 'Protect' : 'Scan' + isStandaloneActive ? 'Protect' : 'Scan' ), { a: createElement( 'a', { diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/related-posts-card.tsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/related-posts-card.tsx new file mode 100644 index 0000000000000..3e94849ae406f --- /dev/null +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/related-posts-card.tsx @@ -0,0 +1,20 @@ +import { PRODUCT_SLUGS } from '../../data/constants'; +import ProductCard from '../connected-product-card'; +import type { FC } from 'react'; + +interface RelatedPostsCardProps { + admin?: boolean; + recommendation?: boolean; +} + +const RelatedPostsCard: FC< RelatedPostsCardProps > = ( { admin, recommendation } ) => { + return ( + + ); +}; + +export default RelatedPostsCard; diff --git a/projects/packages/my-jetpack/_inc/components/product-cards-section/site-accelerator-card.tsx b/projects/packages/my-jetpack/_inc/components/product-cards-section/site-accelerator-card.tsx new file mode 100644 index 0000000000000..a4ee55af84cb1 --- /dev/null +++ b/projects/packages/my-jetpack/_inc/components/product-cards-section/site-accelerator-card.tsx @@ -0,0 +1,20 @@ +import { PRODUCT_SLUGS } from '../../data/constants'; +import ProductCard from '../connected-product-card'; +import type { FC } from 'react'; + +interface SiteAcceleratorCardProps { + admin?: boolean; + recommendation?: boolean; +} + +const SiteAcceleratorCard: FC< SiteAcceleratorCardProps > = ( { admin, recommendation } ) => { + return ( + + ); +}; + +export default SiteAcceleratorCard; diff --git a/projects/packages/my-jetpack/_inc/constants.ts b/projects/packages/my-jetpack/_inc/constants.ts index c85bd53950bd8..9ab572b0d6d99 100644 --- a/projects/packages/my-jetpack/_inc/constants.ts +++ b/projects/packages/my-jetpack/_inc/constants.ts @@ -42,5 +42,6 @@ export const PRODUCT_STATUSES = { CAN_UPGRADE: 'can_upgrade', EXPIRING_SOON: 'expiring', EXPIRED: 'expired', - NEEDS_ATTENTION: 'needs_attention', + NEEDS_ATTENTION__ERROR: 'needs_attention_error', + NEEDS_ATTENTION__WARNING: 'needs_attention_warning', }; diff --git a/projects/packages/my-jetpack/_inc/data/constants.ts b/projects/packages/my-jetpack/_inc/data/constants.ts index c5dd1a84a63f7..bf718b02dc97d 100644 --- a/projects/packages/my-jetpack/_inc/data/constants.ts +++ b/projects/packages/my-jetpack/_inc/data/constants.ts @@ -40,17 +40,21 @@ export const PRODUCT_SLUGS = { ANTI_SPAM: 'anti-spam', BACKUP: 'backup', BOOST: 'boost', + BRUTE_FORCE: 'brute-force', CRM: 'crm', CREATOR: 'creator', EXTRAS: 'extras', JETPACK_AI: 'jetpack-ai', + NEWSLETTER: 'newsletter', + PROTECT: 'protect', + RELATED_POSTS: 'related-posts', SCAN: 'scan', SEARCH: 'search', + SITE_ACCELERATOR: 'site-accelerator', SOCIAL: 'social', - SECURITY: 'security', - PROTECT: 'protect', - VIDEOPRESS: 'videopress', STATS: 'stats', + VIDEOPRESS: 'videopress', + SECURITY: 'security', GROWTH: 'growth', COMPLETE: 'complete', } satisfies Record< string, JetpackModule >; diff --git a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/index.ts b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/index.ts index 0efbfe8f3da00..37c1be01d288b 100644 --- a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/index.ts +++ b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/index.ts @@ -4,11 +4,13 @@ import useBadInstallNotice from './use-bad-install-notice'; import useConnectionErrorsNotice from './use-connection-errors-notice'; import useDeprecateFeatureNotice from './use-deprecate-feature-notice'; import useExpiringPlansNotice from './use-expiring-plans-notice'; +import useProtectThreatsDetectedNotice from './use-protect-threats-detected-notice'; import useSiteConnectionNotice from './use-site-connection-notice'; const useNotificationWatcher = () => { const { redBubbleAlerts } = getMyJetpackWindowInitialState(); + useProtectThreatsDetectedNotice( redBubbleAlerts ); useExpiringPlansNotice( redBubbleAlerts ); useBackupNeedsAttentionNotice( redBubbleAlerts ); useDeprecateFeatureNotice( redBubbleAlerts ); diff --git a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-backup-needs-attention-notice.tsx b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-backup-needs-attention-notice.tsx index 0940ea6ff9438..061233360b7a2 100644 --- a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-backup-needs-attention-notice.tsx +++ b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-backup-needs-attention-notice.tsx @@ -16,7 +16,10 @@ const useBackupNeedsAttentionNotice = ( redBubbleAlerts: RedBubbleAlerts ) => { const { recordEvent } = useAnalytics(); const { setNotice } = useContext( NoticeContext ); - const { status, last_updated: lastUpdated } = redBubbleAlerts?.backup_failure || {}; + const { + type, + data: { status, last_updated: lastUpdated }, + } = redBubbleAlerts?.backup_failure || { type: 'error', data: {} }; const { text: errorDescription } = useGetReadableFailedBackupReason() || {}; const { @@ -79,7 +82,7 @@ const useBackupNeedsAttentionNotice = ( redBubbleAlerts: RedBubbleAlerts ) => { const noticeOptions: NoticeOptions = { id: 'backup-needs-attention-notice', - level: 'error', + level: type, actions: [ { label: __( 'Read troubleshooting guide', 'jetpack-my-jetpack' ), @@ -108,6 +111,7 @@ const useBackupNeedsAttentionNotice = ( redBubbleAlerts: RedBubbleAlerts ) => { onSecondaryCtaClick, noticeTitle, backupStatusLastUpdatedDate, + type, errorDescription, ] ); }; diff --git a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-get-readable-failed-backup-reason.tsx b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-get-readable-failed-backup-reason.tsx index 23e1f2fb7b51f..efc837b569697 100644 --- a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-get-readable-failed-backup-reason.tsx +++ b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-get-readable-failed-backup-reason.tsx @@ -15,7 +15,9 @@ export type ReasonContent = { export function useGetReadableFailedBackupReason(): ReasonContent { const { backup_failure: backupFailure } = getMyJetpackWindowInitialState( 'redBubbleAlerts' ) || {}; - const { status } = backupFailure || {}; + const { + data: { status }, + } = backupFailure || { data: {} }; const reasonContent = useMemo( () => { switch ( status ) { diff --git a/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-protect-threats-detected-notice.tsx b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-protect-threats-detected-notice.tsx new file mode 100644 index 0000000000000..1674368333318 --- /dev/null +++ b/projects/packages/my-jetpack/_inc/hooks/use-notification-watcher/use-protect-threats-detected-notice.tsx @@ -0,0 +1,126 @@ +import { Col, getRedirectUrl, Text } from '@automattic/jetpack-components'; +import { __, sprintf } from '@wordpress/i18n'; +import { useContext, useEffect, useCallback } from 'react'; +import { NOTICE_PRIORITY_MEDIUM } from '../../context/constants'; +import { NoticeContext } from '../../context/notices/noticeContext'; +import useProduct from '../../data/products/use-product'; +import preventWidows from '../../utils/prevent-widows'; +import useAnalytics from '../use-analytics'; +import type { NoticeOptions } from '../../context/notices/types'; + +type RedBubbleAlerts = Window[ 'myJetpackInitialState' ][ 'redBubbleAlerts' ]; + +const useProtectThreatsDetectedNotice = ( redBubbleAlerts: RedBubbleAlerts ) => { + const { recordEvent } = useAnalytics(); + const { setNotice } = useContext( NoticeContext ); + const { detail } = useProduct( 'protect' ); + const { + hasPaidPlanForProduct, + standalonePluginInfo, + manageUrl: protectDashboardUrl, + } = detail || {}; + const { isStandaloneActive } = standalonePluginInfo || {}; + + const { + type, + data: { + threat_count: threatCount, + critical_threat_count: criticalThreatCount, + fixable_threat_ids: fixableThreatIds, + }, + } = redBubbleAlerts?.protect_has_threats || { type: 'warning', data: {} }; + + const fixThreatsLearnMoreUrl = getRedirectUrl( 'protect-footer-learn-more-scan', { + anchor: 'how-do-i-fix-threats', + } ); + + const noticeTitle = sprintf( + // translators: %s is the product name. Can be either "Scan" or "Protect". + __( '%s found threats on your site', 'jetpack-my-jetpack' ), + hasPaidPlanForProduct && isStandaloneActive ? 'Protect' : 'Scan' + ); + + const onPrimaryCtaClick = useCallback( () => { + window.open( protectDashboardUrl ); + recordEvent( 'jetpack_my_jetpack_protect_threats_detected_notice_primary_cta_click', { + threat_count: threatCount, + critical_threat_count: criticalThreatCount, + fixable_threat_ids: fixableThreatIds, + } ); + }, [ criticalThreatCount, fixableThreatIds, protectDashboardUrl, recordEvent, threatCount ] ); + + const onSecondaryCtaClick = useCallback( () => { + window.open( fixThreatsLearnMoreUrl ); + recordEvent( 'jetpack_my_jetpack_protect_threats_detected_notice_secondary_cta_click', { + threat_count: threatCount, + critical_threat_count: criticalThreatCount, + fixable_threat_ids: fixableThreatIds, + } ); + }, [ criticalThreatCount, fixThreatsLearnMoreUrl, fixableThreatIds, recordEvent, threatCount ] ); + + useEffect( () => { + if ( ! redBubbleAlerts?.protect_has_threats ) { + return; + } + + const noticeMessage = ( + + + { preventWidows( + __( + 'We’ve detected some security threats that need your attention.', + 'jetpack-my-jetpack' + ) + ) } + + + { preventWidows( + sprintf( + // translators: %s is the product name. Can be either "Scan" or "Protect". + __( + 'Visit the %s dashboard to view threat details, auto-fix threats, and keep your site safe.', + 'jetpack-my-jetpack' + ), + hasPaidPlanForProduct && isStandaloneActive ? 'Protect' : 'Scan' + ) + ) } + + + ); + + const noticeOptions: NoticeOptions = { + id: 'protect-threats-detected-notice', + level: type, + actions: [ + { + label: __( 'Fix threats', 'jetpack-my-jetpack' ), + onClick: onPrimaryCtaClick, + noDefaultClasses: true, + }, + { + label: __( 'Learn more', 'jetpack-my-jetpack' ), + onClick: onSecondaryCtaClick, + isExternalLink: true, + }, + ], + priority: NOTICE_PRIORITY_MEDIUM, + }; + + setNotice( { + title: noticeTitle, + message: noticeMessage, + options: noticeOptions, + } ); + }, [ + hasPaidPlanForProduct, + isStandaloneActive, + noticeTitle, + onPrimaryCtaClick, + onSecondaryCtaClick, + redBubbleAlerts?.protect_has_threats, + setNotice, + type, + ] ); +}; + +export default useProtectThreatsDetectedNotice; diff --git a/projects/packages/my-jetpack/changelog/fix-tests-31_dec_coupon_price_bug b/projects/packages/my-jetpack/changelog/fix-tests-31_dec_coupon_price_bug deleted file mode 100644 index 77bf04c8b779c..0000000000000 --- a/projects/packages/my-jetpack/changelog/fix-tests-31_dec_coupon_price_bug +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: fixed - -Tests: Fix failure on 31 December. diff --git a/projects/packages/my-jetpack/composer.json b/projects/packages/my-jetpack/composer.json index cb6363acb05bb..0f7a78b78d206 100644 --- a/projects/packages/my-jetpack/composer.json +++ b/projects/packages/my-jetpack/composer.json @@ -83,7 +83,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/packages/my-jetpack/global.d.ts b/projects/packages/my-jetpack/global.d.ts index 134f55d8e4ef0..cc0373cc75204 100644 --- a/projects/packages/my-jetpack/global.d.ts +++ b/projects/packages/my-jetpack/global.d.ts @@ -36,15 +36,18 @@ type JetpackModule = | 'extras' | 'ai' | 'jetpack-ai' + | 'protect' | 'scan' | 'search' | 'social' - | 'security' - | 'protect' - | 'videopress' | 'stats' + | 'videopress' + | 'security' | 'growth' - | 'complete'; + | 'complete' + | 'site-accelerator' + | 'newsletter' + | 'related-posts'; type ThreatItem = { // Protect API properties (free plan) @@ -174,6 +177,7 @@ interface Window { has_paid_plan_for_product: boolean; features_by_tier: Array< string >; is_bundle: boolean; + is_feature: boolean; is_plugin_active: boolean; is_upgradable: boolean; is_upgradable_by_bundle: string[]; @@ -389,9 +393,12 @@ interface Window { }; }; backup_failure?: { - source: 'rewind' | 'last_backup'; - status: RewindStatus | BackupStatus; - last_updated: string; + type: 'warning' | 'error'; + data: { + source: 'rewind' | 'last_backup'; + status: RewindStatus | BackupStatus; + last_updated: string; + }; }; [ key: `${ string }--plan_expired` ]: { product_slug: string; @@ -409,6 +416,14 @@ interface Window { manage_url?: string; products_effected?: string[]; }; + protect_has_threats?: { + type: 'warning' | 'error'; + data: { + threat_count: number; + critical_threat_count: number; + fixable_threat_ids: number[]; + }; + }; }; recommendedModules: { modules: JetpackModule[] | null; diff --git a/projects/packages/my-jetpack/package.json b/projects/packages/my-jetpack/package.json index 306cd6eed7c0a..01d60e36a9bb5 100644 --- a/projects/packages/my-jetpack/package.json +++ b/projects/packages/my-jetpack/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-my-jetpack", - "version": "5.2.0", + "version": "5.3.0", "description": "WP Admin page with information and configuration shared among all Jetpack stand-alone plugins", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/packages/my-jetpack/#readme", "bugs": { @@ -43,10 +43,10 @@ "@wordpress/icons": "10.14.0", "@wordpress/url": "4.14.0", "clsx": "2.1.1", - "debug": "4.3.4", + "debug": "4.4.0", "gridicons": "3.4.1", "prop-types": "15.8.1", - "react-router-dom": "6.6.2" + "react-router-dom": "6.28.1" }, "exports": { "./components/*": "./_inc/components/*" @@ -60,13 +60,13 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@jest/globals": "29.7.0", - "@storybook/react": "8.3.5", + "@storybook/react": "8.4.7", "@testing-library/dom": "10.4.0", "@testing-library/jest-dom": "6.5.0", "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", "@types/jest": "29.5.12", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "concurrently": "7.6.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", @@ -75,7 +75,7 @@ "require-from-string": "2.0.2", "sass": "1.64.1", "sass-loader": "12.4.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "typescript": "5.0.4", "webpack": "5.94.0", "webpack-cli": "4.9.1" diff --git a/projects/packages/my-jetpack/src/class-initializer.php b/projects/packages/my-jetpack/src/class-initializer.php index 6ad805d4697d3..ca643051fbe32 100644 --- a/projects/packages/my-jetpack/src/class-initializer.php +++ b/projects/packages/my-jetpack/src/class-initializer.php @@ -21,7 +21,6 @@ use Automattic\Jetpack\Licensing; use Automattic\Jetpack\Modules; use Automattic\Jetpack\Plugins_Installer; -use Automattic\Jetpack\Protect_Status\Status as Protect_Status; use Automattic\Jetpack\Status; use Automattic\Jetpack\Status\Host as Status_Host; use Automattic\Jetpack\Sync\Functions as Sync_Functions; @@ -42,7 +41,7 @@ class Initializer { * * @var string */ - const PACKAGE_VERSION = '5.2.0'; + const PACKAGE_VERSION = '5.3.0'; /** * HTML container ID for the IDC screen on My Jetpack page. @@ -234,7 +233,7 @@ public static function enqueue_scripts() { $previous_score = $speed_score_history->latest( 1 ); } $latest_score['previousScores'] = $previous_score['scores'] ?? array(); - $scan_data = Protect_Status::get_status(); + $scan_data = Products\Protect::get_protect_data(); self::update_historically_active_jetpack_modules(); $waf_config = array(); @@ -930,7 +929,8 @@ public static function add_red_bubble_alerts( array $red_bubble_slugs ) { return array_merge( self::alert_if_missing_connection( $red_bubble_slugs ), self::alert_if_last_backup_failed( $red_bubble_slugs ), - self::alert_if_paid_plan_expiring( $red_bubble_slugs ) + self::alert_if_paid_plan_expiring( $red_bubble_slugs ), + self::alert_if_protect_has_threats( $red_bubble_slugs ) ); } } @@ -1045,7 +1045,7 @@ public static function alert_if_paid_plan_expiring( array $red_bubble_slugs ) { * @return array */ public static function alert_if_last_backup_failed( array $red_bubble_slugs ) { - // Make sure we're dealing with the backup product only + // Make sure we're dealing with the Backup product only if ( ! Products\Backup::has_paid_plan_for_product() ) { return $red_bubble_slugs; } @@ -1057,4 +1057,24 @@ public static function alert_if_last_backup_failed( array $red_bubble_slugs ) { return $red_bubble_slugs; } + + /** + * Add an alert slug if Protect has scan threats/vulnerabilities. + * + * @param array $red_bubble_slugs - slugs that describe the reasons the red bubble is showing. + * @return array + */ + public static function alert_if_protect_has_threats( array $red_bubble_slugs ) { + // Make sure we're dealing with the Protect product only + if ( ! Products\Protect::has_paid_plan_for_product() ) { + return $red_bubble_slugs; + } + + $protect_threats_status = Products\Protect::does_module_need_attention(); + if ( $protect_threats_status ) { + $red_bubble_slugs['protect_has_threats'] = $protect_threats_status; + } + + return $red_bubble_slugs; + } } diff --git a/projects/packages/my-jetpack/src/class-products.php b/projects/packages/my-jetpack/src/class-products.php index b6a96e4304ce1..f45ad5b9d1237 100644 --- a/projects/packages/my-jetpack/src/class-products.php +++ b/projects/packages/my-jetpack/src/class-products.php @@ -29,7 +29,8 @@ class Products { const STATUS_NEEDS_PLAN = 'needs_plan'; const STATUS_NEEDS_ACTIVATION = 'needs_activation'; const STATUS_NEEDS_FIRST_SITE_CONNECTION = 'needs_first_site_connection'; - const STATUS_NEEDS_ATTENTION = 'needs_attention'; + const STATUS_NEEDS_ATTENTION__WARNING = 'needs_attention_warning'; + const STATUS_NEEDS_ATTENTION__ERROR = 'needs_attention_error'; /** * List of statuses that display the module as disabled @@ -67,7 +68,8 @@ class Products { self::STATUS_USER_CONNECTION_ERROR, self::STATUS_PLUGIN_ABSENT_WITH_PLAN, self::STATUS_NEEDS_PLAN, - self::STATUS_NEEDS_ATTENTION, + self::STATUS_NEEDS_ATTENTION__ERROR, + self::STATUS_NEEDS_ATTENTION__WARNING, ); /** @@ -109,7 +111,8 @@ class Products { self::STATUS_NEEDS_PLAN, self::STATUS_NEEDS_ACTIVATION, self::STATUS_NEEDS_FIRST_SITE_CONNECTION, - self::STATUS_NEEDS_ATTENTION, + self::STATUS_NEEDS_ATTENTION__WARNING, + self::STATUS_NEEDS_ATTENTION__ERROR, ); /** diff --git a/projects/packages/my-jetpack/src/products/class-backup.php b/projects/packages/my-jetpack/src/products/class-backup.php index 829044b11d5ec..b4b267a255ad2 100644 --- a/projects/packages/my-jetpack/src/products/class-backup.php +++ b/projects/packages/my-jetpack/src/products/class-backup.php @@ -249,9 +249,12 @@ public static function does_module_need_attention() { if ( ! is_wp_error( $rewind_state ) ) { if ( $rewind_state->state !== 'active' && $rewind_state->state !== 'provisioning' && $rewind_state->state !== 'awaiting_credentials' ) { $backup_failed_status = array( - 'source' => 'rewind', - 'status' => isset( $rewind_state->reason ) && ! empty( $rewind_state->reason ) ? $rewind_state->reason : $rewind_state->state, - 'last_updated' => $rewind_state->last_updated, + 'type' => 'error', + 'data' => array( + 'source' => 'rewind', + 'status' => isset( $rewind_state->reason ) && ! empty( $rewind_state->reason ) ? $rewind_state->reason : $rewind_state->state, + 'last_updated' => $rewind_state->last_updated, + ), ); } } @@ -270,9 +273,12 @@ public static function does_module_need_attention() { if ( $last_backup && isset( $last_backup->status ) ) { if ( $last_backup->status !== 'started' && ! preg_match( '/-will-retry$/', $last_backup->status ) && $last_backup->status !== 'finished' ) { $backup_failed_status = array( - 'source' => 'last_backup', - 'status' => $last_backup->status, - 'last_updated' => $last_backup->last_updated, + 'type' => 'error', + 'data' => array( + 'source' => 'last_backup', + 'status' => $last_backup->status, + 'last_updated' => $last_backup->last_updated, + ), ); } } diff --git a/projects/packages/my-jetpack/src/products/class-module-product.php b/projects/packages/my-jetpack/src/products/class-module-product.php index 9d1a14f0fee86..40e4ef7f4c6d5 100644 --- a/projects/packages/my-jetpack/src/products/class-module-product.php +++ b/projects/packages/my-jetpack/src/products/class-module-product.php @@ -27,13 +27,6 @@ abstract class Module_Product extends Product { */ public static $module_name = null; - /** - * Whether this module is a Jetpack feature - * - * @var boolean - */ - public static $is_feature = false; - /** * Get the plugin slug - ovewrite it ans return Jetpack's * diff --git a/projects/packages/my-jetpack/src/products/class-newsletter.php b/projects/packages/my-jetpack/src/products/class-newsletter.php index 66d806d5ea6ca..61a5736b77c61 100644 --- a/projects/packages/my-jetpack/src/products/class-newsletter.php +++ b/projects/packages/my-jetpack/src/products/class-newsletter.php @@ -169,7 +169,7 @@ public static function get_manage_url() { * * @return null|WP_Error Null on success, WP_Error on invalid file. */ - public static function activate_plugin() { + public static function activate_plugin(): ?WP_Error { $plugin_filename = static::get_installed_plugin_filename( self::JETPACK_PLUGIN_SLUG ); if ( $plugin_filename ) { diff --git a/projects/packages/my-jetpack/src/products/class-product.php b/projects/packages/my-jetpack/src/products/class-product.php index b2262eddd6b4a..e8d2ca67cb7cd 100644 --- a/projects/packages/my-jetpack/src/products/class-product.php +++ b/projects/packages/my-jetpack/src/products/class-product.php @@ -10,7 +10,6 @@ use Automattic\Jetpack\Connection\Client; use Automattic\Jetpack\Connection\Manager as Connection_Manager; use Automattic\Jetpack\Modules; -use Automattic\Jetpack\My_Jetpack\Products\Backup; use Automattic\Jetpack\Plugins_Installer; use Automattic\Jetpack\Status; use Jetpack_Options; @@ -73,6 +72,13 @@ abstract class Product { */ const EXPIRATION_CUTOFF_TIME = '+2 months'; + /** + * Whether this module is a Jetpack feature + * + * @var boolean + */ + public static $is_feature = false; + /** * Whether this product requires a site connection * @@ -182,6 +188,7 @@ public static function get_info() { 'is_plugin_active' => static::is_plugin_active(), 'is_upgradable' => static::is_upgradable(), 'is_upgradable_by_bundle' => static::is_upgradable_by_bundle(), + 'is_feature' => static::$is_feature, 'supported_products' => static::get_supported_products(), 'wpcom_product_slug' => static::get_wpcom_product_slug(), 'requires_user_connection' => static::$requires_user_connection, @@ -717,8 +724,12 @@ public static function get_status() { } elseif ( static::$requires_user_connection && ! ( new Connection_Manager() )->has_connected_owner() ) { $status = Products::STATUS_USER_CONNECTION_ERROR; } elseif ( static::has_paid_plan_for_product() ) { - if ( static::$slug === 'backup' && Backup::does_module_need_attention() ) { - $status = Products::STATUS_NEEDS_ATTENTION; + $needs_attention = static::does_module_need_attention(); + if ( ! empty( $needs_attention ) && is_array( $needs_attention ) ) { + $status = Products::STATUS_NEEDS_ATTENTION__WARNING; + if ( isset( $needs_attention['type'] ) && 'error' === $needs_attention['type'] ) { + $status = Products::STATUS_NEEDS_ATTENTION__ERROR; + } } if ( static::is_paid_plan_expired() ) { $status = Products::STATUS_EXPIRED; diff --git a/projects/packages/my-jetpack/src/products/class-protect.php b/projects/packages/my-jetpack/src/products/class-protect.php index b3e14499ddda9..36a1496f55a16 100644 --- a/projects/packages/my-jetpack/src/products/class-protect.php +++ b/projects/packages/my-jetpack/src/products/class-protect.php @@ -10,6 +10,7 @@ use Automattic\Jetpack\Connection\Client; use Automattic\Jetpack\My_Jetpack\Hybrid_Product; use Automattic\Jetpack\My_Jetpack\Wpcom_Products; +use Automattic\Jetpack\Protect_Status\Status as Protect_Status; use Automattic\Jetpack\Redirect; use Jetpack_Options; use WP_Error; @@ -156,6 +157,15 @@ private static function get_state_from_wpcom() { return $status; } + /** + * Get the normalized protect/scan data + * + * @return Object|WP_Error + */ + public static function get_protect_data() { + return Protect_Status::get_status(); + } + /** * Get the product's available tiers * @@ -272,6 +282,43 @@ public static function get_pricing_for_ui() { ); } + /** + * Determines whether the module/plugin/product needs the users attention. + * Typically due to some sort of error where user troubleshooting is needed. + * + * @return boolean|array + */ + public static function does_module_need_attention() { + $protect_threat_status = false; + + // Check if there are scan threats. + $protect_data = self::get_protect_data(); + if ( is_wp_error( $protect_data ) ) { + return $protect_threat_status; // false + } + $critical_threat_count = false; + if ( ! empty( $protect_data->threats ) ) { + $critical_threat_count = array_reduce( + $protect_data->threats, + function ( $accum, $threat ) { + return $threat->severity >= 5 ? ++$accum : $accum; + }, + 0 + ); + + $protect_threat_status = array( + 'type' => $critical_threat_count ? 'error' : 'warning', + 'data' => array( + 'threat_count' => count( $protect_data->threats ), + 'critical_threat_count' => $critical_threat_count, + 'fixable_threat_ids' => $protect_data->fixable_threat_ids, + ), + ); + } + + return $protect_threat_status; + } + /** * Get the product-slugs of the paid plans for this product. * (Do not include bundle plans, unless it's a bundle plan itself). diff --git a/projects/packages/my-jetpack/src/products/class-related-posts.php b/projects/packages/my-jetpack/src/products/class-related-posts.php index e5b10ec989931..a12a5715b2a91 100644 --- a/projects/packages/my-jetpack/src/products/class-related-posts.php +++ b/projects/packages/my-jetpack/src/products/class-related-posts.php @@ -169,7 +169,7 @@ public static function get_manage_url() { * * @return null|WP_Error Null on success, WP_Error on invalid file. */ - public static function activate_plugin() { + public static function activate_plugin(): ?WP_Error { $plugin_filename = static::get_installed_plugin_filename( self::JETPACK_PLUGIN_SLUG ); if ( $plugin_filename ) { diff --git a/projects/packages/my-jetpack/src/products/class-site-accelerator.php b/projects/packages/my-jetpack/src/products/class-site-accelerator.php index 42cda9bc8a798..72e65b9ff3d49 100644 --- a/projects/packages/my-jetpack/src/products/class-site-accelerator.php +++ b/projects/packages/my-jetpack/src/products/class-site-accelerator.php @@ -169,7 +169,7 @@ public static function get_manage_url() { * * @return null|WP_Error Null on success, WP_Error on invalid file. */ - public static function activate_plugin() { + public static function activate_plugin(): ?WP_Error { $plugin_filename = static::get_installed_plugin_filename( self::JETPACK_PLUGIN_SLUG ); if ( $plugin_filename ) { diff --git a/projects/packages/plugin-deactivation/CHANGELOG.md b/projects/packages/plugin-deactivation/CHANGELOG.md index 804e6aaf8d639..8d5fc4ac63e6b 100644 --- a/projects/packages/plugin-deactivation/CHANGELOG.md +++ b/projects/packages/plugin-deactivation/CHANGELOG.md @@ -5,6 +5,10 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.3.1] - 2025-01-06 +### Changed +- Internal updates. + ## [0.3.0] - 2024-11-28 ### Removed - General: Update minimum PHP version to 7.2. [#40147] @@ -63,6 +67,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Added package to intercept plugin deactivation [#27081] +[0.3.1]: https://github.com/Automattic/jetpack-plugin-deactivation/compare/v0.3.0...v0.3.1 [0.3.0]: https://github.com/Automattic/jetpack-plugin-deactivation/compare/v0.2.4...v0.3.0 [0.2.4]: https://github.com/Automattic/jetpack-plugin-deactivation/compare/v0.2.3...v0.2.4 [0.2.3]: https://github.com/Automattic/jetpack-plugin-deactivation/compare/v0.2.2...v0.2.3 diff --git a/projects/packages/plugin-deactivation/changelog/update-packages-fix-eslint-9-lints b/projects/packages/plugin-deactivation/changelog/update-packages-fix-eslint-9-lints deleted file mode 100644 index b3176fbef2f88..0000000000000 --- a/projects/packages/plugin-deactivation/changelog/update-packages-fix-eslint-9-lints +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Fix some JS lints ahead of eslint 9 upgrade. - - diff --git a/projects/packages/plugin-deactivation/package.json b/projects/packages/plugin-deactivation/package.json index ff20e34048bd7..3a1f1ad29d219 100644 --- a/projects/packages/plugin-deactivation/package.json +++ b/projects/packages/plugin-deactivation/package.json @@ -1,7 +1,7 @@ { "private": true, "name": "@automattic/jetpack-plugin-deactivation", - "version": "0.3.0", + "version": "0.3.1", "description": "Intercept plugin deactivation with a dialog", "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/packages/plugin-deactivation/#readme", "bugs": { diff --git a/projects/packages/plugin-deactivation/src/class-deactivation-handler.php b/projects/packages/plugin-deactivation/src/class-deactivation-handler.php index 1ec6f8a2affa5..f99253ef1fc11 100644 --- a/projects/packages/plugin-deactivation/src/class-deactivation-handler.php +++ b/projects/packages/plugin-deactivation/src/class-deactivation-handler.php @@ -21,7 +21,7 @@ class Deactivation_Handler { * * @var string */ - const PACKAGE_VERSION = '0.3.0'; + const PACKAGE_VERSION = '0.3.1'; /** * Slug of the plugin to intercept deactivation for. diff --git a/projects/packages/search/changelog/renovate-automattic-color-studio-4.x b/projects/packages/search/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/search/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/search/changelog/renovate-babel-monorepo b/projects/packages/search/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/search/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/search/changelog/renovate-major-instant-search-dependency-updates b/projects/packages/search/changelog/renovate-major-instant-search-dependency-updates new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/search/changelog/renovate-major-instant-search-dependency-updates @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/search/changelog/renovate-prop-types-15.x b/projects/packages/search/changelog/renovate-prop-types-15.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/search/changelog/renovate-prop-types-15.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/search/package.json b/projects/packages/search/package.json index 361d561a79fe2..63b366927136c 100644 --- a/projects/packages/search/package.json +++ b/projects/packages/search/package.json @@ -34,7 +34,7 @@ "homepage": "https://github.com/Automattic/jetpack/tree/HEAD/projects/packages/search/#readme", "dependencies": { "@automattic/calypso-color-schemes": "3.1.3", - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/format-currency": "1.0.1", "@automattic/jetpack-analytics": "workspace:*", "@automattic/jetpack-api": "workspace:*", @@ -52,9 +52,9 @@ "lodash": "4.17.21", "photon": "4.1.1", "preact": "10.22.1", - "prop-types": "15.7.2", + "prop-types": "15.8.1", "q-flat": "1.0.7", - "qss": "2.0.3", + "qss": "3.0.0", "react": "18.3.1", "react-dom": "18.3.1", "react-redux": "7.2.8", @@ -68,7 +68,7 @@ "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", "@babel/preset-env": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.26.0", "@babel/runtime": "7.26.0", "@csstools/postcss-global-data": "2.1.1", diff --git a/projects/packages/stats-admin/changelog/add-odyssey-stats-location-views-api b/projects/packages/stats-admin/changelog/add-odyssey-stats-location-views-api new file mode 100644 index 0000000000000..2b8768898e0c1 --- /dev/null +++ b/projects/packages/stats-admin/changelog/add-odyssey-stats-location-views-api @@ -0,0 +1,4 @@ +Significance: minor +Type: added + +Stats: added API support for location stats diff --git a/projects/packages/stats-admin/src/class-rest-controller.php b/projects/packages/stats-admin/src/class-rest-controller.php index 230626c4e1817..ac49cd849063a 100644 --- a/projects/packages/stats-admin/src/class-rest-controller.php +++ b/projects/packages/stats-admin/src/class-rest-controller.php @@ -425,6 +425,17 @@ public function register_rest_routes() { 'permission_callback' => array( $this, 'can_user_view_general_stats_callback' ), ) ); + + // Get Location stats. + register_rest_route( + static::$namespace, + sprintf( '/sites/%d/stats/location-views/(?Pcountry|region|city)', Jetpack_Options::get_option( 'id' ) ), + array( + 'methods' => WP_REST_Server::READABLE, + 'callback' => array( $this, 'get_location_stats' ), + 'permission_callback' => array( $this, 'can_user_view_general_stats_callback' ), + ) + ); } /** @@ -974,6 +985,20 @@ public function get_devices_stats_time_series( $req ) { ); } + /** + * Get Location stats. + * + * @param WP_REST_Request $req The request object. + * @return array + */ + public function get_location_stats( $req ) { + $params = $req->get_params(); + $geo_mode = $params['geo_mode']; + unset( $params['geo_mode'] ); + + return $this->wpcom_stats->get_views_by_location( $geo_mode, $params ); + } + /** * Dismiss or delay stats notices. * diff --git a/projects/packages/stats/changelog/add-odyssey-stats-location-views-api b/projects/packages/stats/changelog/add-odyssey-stats-location-views-api new file mode 100644 index 0000000000000..2b8768898e0c1 --- /dev/null +++ b/projects/packages/stats/changelog/add-odyssey-stats-location-views-api @@ -0,0 +1,4 @@ +Significance: minor +Type: added + +Stats: added API support for location stats diff --git a/projects/packages/stats/src/class-wpcom-stats.php b/projects/packages/stats/src/class-wpcom-stats.php index 3b211601915cf..f7c6ae9478add 100644 --- a/projects/packages/stats/src/class-wpcom-stats.php +++ b/projects/packages/stats/src/class-wpcom-stats.php @@ -232,6 +232,19 @@ public function get_views_by_country( $args = array() ) { return $this->fetch_stats( $args ); } + /** + * Get site's views by location. + * + * @param string $geo_mode The type of location to fetch views for (country, region, city). + * @param array $args Optional query parameters. + * @return array|WP_Error + */ + public function get_views_by_location( $geo_mode, $args = array() ) { + $this->resource = sprintf( 'location-views/%s', $geo_mode ); + + return $this->fetch_stats( $args ); + } + /** * Get site's followers. * diff --git a/projects/packages/videopress/changelog/renovate-babel-monorepo b/projects/packages/videopress/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-debug-4.x b/projects/packages/videopress/changelog/renovate-debug-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-debug-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-definitelytyped b/projects/packages/videopress/changelog/renovate-definitelytyped new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-definitelytyped @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-filesize-10.x b/projects/packages/videopress/changelog/renovate-filesize-10.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-filesize-10.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-react-router-monorepo b/projects/packages/videopress/changelog/renovate-react-router-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-react-router-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-storybook-monorepo b/projects/packages/videopress/changelog/renovate-storybook-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-storybook-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/changelog/renovate-tus-js-client-4.x b/projects/packages/videopress/changelog/renovate-tus-js-client-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/videopress/changelog/renovate-tus-js-client-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/videopress/package.json b/projects/packages/videopress/package.json index b9036e3e04033..3c887a1fa64fd 100644 --- a/projects/packages/videopress/package.json +++ b/projects/packages/videopress/package.json @@ -28,18 +28,18 @@ "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@csstools/postcss-global-data": "2.1.1", "@jest/globals": "29.4.3", - "@storybook/addon-actions": "8.3.5", - "@storybook/blocks": "8.3.5", - "@storybook/preview-api": "8.3.5", - "@storybook/react": "8.3.5", + "@storybook/addon-actions": "8.4.7", + "@storybook/blocks": "8.4.7", + "@storybook/preview-api": "8.4.7", + "@storybook/react": "8.4.7", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@types/jest": "29.5.12", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", "@wordpress/browserslist-config": "6.14.0", "autoprefixer": "10.4.20", "concurrently": "7.6.0", @@ -52,7 +52,7 @@ "require-from-string": "2.0.2", "sass": "1.64.1", "sass-loader": "12.4.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "typescript": "5.0.4", "webpack": "5.94.0", "webpack-cli": "4.9.1" @@ -81,11 +81,11 @@ "@wordpress/icons": "10.14.0", "@wordpress/url": "4.14.0", "clsx": "2.1.1", - "debug": "4.3.4", - "filesize": "8.0.6", + "debug": "4.4.0", + "filesize": "10.1.6", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.28.0", - "tus-js-client": "4.1.0" + "react-router-dom": "6.28.1", + "tus-js-client": "4.2.3" } } diff --git a/projects/packages/videopress/src/client/admin/components/video-storage-meter/index.tsx b/projects/packages/videopress/src/client/admin/components/video-storage-meter/index.tsx index cb1486e5b85c3..11bea31208ae5 100644 --- a/projects/packages/videopress/src/client/admin/components/video-storage-meter/index.tsx +++ b/projects/packages/videopress/src/client/admin/components/video-storage-meter/index.tsx @@ -4,7 +4,7 @@ import { ProgressBar, Text } from '@automattic/jetpack-components'; import { __, sprintf } from '@wordpress/i18n'; import clsx from 'clsx'; -import filesize from 'filesize'; +import { filesize } from 'filesize'; /** * Internal dependencies */ diff --git a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js index 5210489575053..a87025e06c91b 100644 --- a/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js +++ b/projects/packages/videopress/src/client/block-editor/blocks/video/components/videopress-uploader/uploader-progress.js @@ -8,7 +8,7 @@ import { useState, useEffect } from '@wordpress/element'; import { escapeHTML } from '@wordpress/escape-html'; import { __, sprintf } from '@wordpress/i18n'; import debugFactory from 'debug'; -import filesize from 'filesize'; +import { filesize } from 'filesize'; /** * Internal dependencies */ diff --git a/projects/packages/woocommerce-analytics/.phan/baseline.php b/projects/packages/woocommerce-analytics/.phan/baseline.php index 70713ab5b9bc7..5a8d2bf30e5fd 100644 --- a/projects/packages/woocommerce-analytics/.phan/baseline.php +++ b/projects/packages/woocommerce-analytics/.phan/baseline.php @@ -16,7 +16,6 @@ // Currently, file_suppressions and directory_suppressions are the only supported suppressions 'file_suppressions' => [ - 'src/class-checkout-flow.php' => ['PhanPluginRedundantAssignment'], 'src/class-universal.php' => ['PhanPluginRedundantAssignment', 'PhanUndeclaredMethodInCallable'], 'src/class-woo-analytics-trait.php' => ['PhanTypeSuspiciousNonTraversableForeach', 'PhanUndeclaredMethod'], ], diff --git a/projects/packages/woocommerce-analytics/changelog/add-search-event b/projects/packages/woocommerce-analytics/changelog/add-search-event new file mode 100644 index 0000000000000..e0003b7ccf8fa --- /dev/null +++ b/projects/packages/woocommerce-analytics/changelog/add-search-event @@ -0,0 +1,4 @@ +Significance: minor +Type: added + +Add Search Event & landing Page support diff --git a/projects/packages/woocommerce-analytics/src/class-checkout-flow.php b/projects/packages/woocommerce-analytics/src/class-checkout-flow.php deleted file mode 100644 index efdb2cb5ce7bb..0000000000000 --- a/projects/packages/woocommerce-analytics/src/class-checkout-flow.php +++ /dev/null @@ -1,201 +0,0 @@ -find_cart_checkout_content_sources(); - $this->additional_blocks_on_cart_page = $this->get_additional_blocks_on_page( 'cart' ); - $this->additional_blocks_on_checkout_page = $this->get_additional_blocks_on_page( 'checkout' ); - - // single product page view. - add_action( 'woocommerce_after_single_product', array( $this, 'capture_product_view' ) ); - - // order confirmed page view - add_action( 'woocommerce_thankyou', array( $this, 'capture_order_confirmation_view' ), 10, 1 ); - - // cart page view - add_action( 'wp_footer', array( $this, 'capture_cart_view' ) ); - - // checkout page view - add_action( 'wp_footer', array( $this, 'capture_checkout_view' ) ); - } - - /** - * Track a product page view - */ - public function capture_product_view() { - global $product; - if ( ! $product instanceof WC_Product ) { - return; - } - - $this->record_event( - 'woocommerceanalytics_product_view', - array(), - $product->get_id() - ); - } - - /** - * Track the order confirmation page view - */ - public function capture_order_confirmation_view() { - $order_id = absint( get_query_var( 'order-received' ) ); - if ( ! $order_id ) { - return; - } - - if ( ! is_order_received_page() ) { - return; - } - - $order = wc_get_order( $order_id ); - - $order_source = $order->get_created_via(); - $checkout_page_contains_checkout_block = '0'; - $checkout_page_contains_checkout_shortcode = '0'; - - if ( 'store-api' === $order_source ) { - $checkout_page_contains_checkout_block = '1'; - $checkout_page_contains_checkout_shortcode = '0'; - } elseif ( 'checkout' === $order_source ) { - $checkout_page_contains_checkout_block = '0'; - $checkout_page_contains_checkout_shortcode = '1'; - } - - $coupons = $order->get_coupons(); - $coupon_used = 0; - if ( is_countable( $coupons ) ) { - $coupon_used = count( $coupons ) ? 1 : 0; - } - - if ( is_object( WC()->session ) ) { - $create_account = true === WC()->session->get( 'wc_checkout_createaccount_used' ) ? 'Yes' : 'No'; - $checkout_page_used = true === WC()->session->get( 'checkout_page_used' ) ? 'Yes' : 'No'; - } else { - $create_account = 'No'; - $checkout_page_used = 'No'; - } - - $delayed_account_creation = ucfirst( get_option( 'woocommerce_enable_delayed_account_creation', 'Yes' ) ); - $this->record_event( - 'woocommerceanalytics_order_confirmation_view', - array( - 'coupon_used' => $coupon_used, - 'create_account' => $create_account, - 'express_checkout' => 'null', // TODO: not solved yet. - 'guest_checkout' => $order->get_customer_id() ? 'No' : 'Yes', - 'delayed_account_creation' => $delayed_account_creation, - 'oi' => $order->get_id(), - 'order_value' => $order->get_subtotal(), - 'order_total' => $order->get_total(), - 'products_count' => $order->get_item_count(), - 'total_discount' => $order->get_discount_total(), - 'total_shipping' => $order->get_shipping_total(), - 'total_tax' => $order->get_total_tax(), - 'payment_option' => $order->get_payment_method(), - 'products' => $this->format_items_to_json( $order->get_items() ), - 'order_note' => $order->get_customer_note(), - 'shipping_option' => $order->get_shipping_method(), - 'from_checkout' => $checkout_page_used, - 'checkout_page_contains_checkout_block' => $checkout_page_contains_checkout_block, - 'checkout_page_contains_checkout_shortcode' => $checkout_page_contains_checkout_shortcode, - ) - ); - } - - /** - * Track the cart page view - */ - public function capture_cart_view() { - global $post; - $cart_page_id = wc_get_page_id( 'cart' ); - - $is_cart = $cart_page_id && is_page( $cart_page_id ) - || wc_post_content_has_shortcode( 'woocommerce_cart' ) - || has_block( 'woocommerce/cart', $post ) - || apply_filters( 'woocommerce_is_cart', false ) - || Constants::is_defined( 'WOOCOMMERCE_CART' ) - || is_cart(); - - if ( ! $is_cart ) { - return; - } - - $this->record_event( - 'woocommerceanalytics_cart_view', - array_merge( - $this->get_cart_checkout_shared_data(), - array() - ) - ); - } - - /** - * Track the checkout page view - */ - public function capture_checkout_view() { - global $post; - $checkout_page_id = wc_get_page_id( 'checkout' ); - - $is_checkout = $checkout_page_id && is_page( $checkout_page_id ) - || wc_post_content_has_shortcode( 'woocommerce_checkout' ) - || has_block( 'woocommerce/checkout', $post ) - || apply_filters( 'woocommerce_is_checkout', false ) - || Constants::is_defined( 'WOOCOMMERCE_CHECKOUT' ); - - if ( ! $is_checkout ) { - return; - } - - $is_in_checkout_page = $checkout_page_id === $post->ID ? 'Yes' : 'No'; - $checkout_page_contains_checkout_block = '0'; - $checkout_page_contains_checkout_shortcode = '1'; - - $session = WC()->session; - if ( is_object( $session ) ) { - $session->set( 'checkout_page_used', true ); - $session->save_data(); - $draft_order_id = $session->get( 'store_api_draft_order', 0 ); - if ( $draft_order_id ) { - $checkout_page_contains_checkout_block = '1'; - $checkout_page_contains_checkout_shortcode = '0'; - } - } - - // Order received page is also a checkout page, so we need to bail out if we are on that page. - if ( is_order_received_page() ) { - return; - } - - $this->record_event( - 'woocommerceanalytics_checkout_view', - array_merge( - $this->get_cart_checkout_shared_data(), - array( - 'from_checkout' => $is_in_checkout_page, - 'checkout_page_contains_checkout_block' => $checkout_page_contains_checkout_block, - 'checkout_page_contains_checkout_shortcode' => $checkout_page_contains_checkout_shortcode, - ) - ) - ); - } -} diff --git a/projects/packages/woocommerce-analytics/src/class-universal.php b/projects/packages/woocommerce-analytics/src/class-universal.php index 713657256420e..35a9ef63390a6 100644 --- a/projects/packages/woocommerce-analytics/src/class-universal.php +++ b/projects/packages/woocommerce-analytics/src/class-universal.php @@ -7,6 +7,7 @@ namespace Automattic\Woocommerce_Analytics; +use Automattic\Jetpack\Constants; use WC_Order; use WC_Product; @@ -31,7 +32,10 @@ public function init_hooks() { add_action( 'wp_head', array( $this, 'loop_session_events' ), 2 ); // Initialize session - add_action( 'send_headers', array( $this, 'initialize_woocommerceanalytics_session' ) ); + add_action( 'template_redirect', array( $this, 'initialize_woocommerceanalytics_session' ) ); + + // Capture search + add_action( 'template_redirect', array( $this, 'capture_search_query' ), 11 ); // Capture cart events. add_action( 'woocommerce_add_to_cart', array( $this, 'capture_add_to_cart' ), 10, 6 ); @@ -56,16 +60,42 @@ public function init_hooks() { add_action( 'woocommerce_created_customer', array( $this, 'capture_created_customer' ), 10, 2 ); add_action( 'woocommerce_created_customer', array( $this, 'capture_post_checkout_created_customer' ), 10, 2 ); + + // single product page view. + add_action( 'woocommerce_after_single_product', array( $this, 'capture_product_view' ) ); + + // order confirmed page view + add_action( 'woocommerce_thankyou', array( $this, 'capture_order_confirmation_view' ), 10, 1 ); + + // checkout page view + add_action( 'wp_footer', array( $this, 'capture_checkout_view' ), 11 ); + + // cart page view + add_action( 'wp_footer', array( $this, 'capture_cart_view' ), 11 ); } /** * Set a UUID for the current session if is not yet loaded and record the session started event */ public function initialize_woocommerceanalytics_session() { - if ( ! isset( $_COOKIE['woocommerceanalytics_session_id'] ) ) { - $session_id = wp_generate_uuid4(); - $this->session_id = $session_id; - setcookie( 'woocommerceanalytics_session_id', $session_id, 0, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), true ); + if ( ! isset( $_COOKIE['woocommerceanalytics_session'] ) ) { + $session_id = wp_generate_uuid4(); + $this->session_id = $session_id; + $this->landing_page = sanitize_url( wp_unslash( ( empty( $_SERVER['HTTPS'] ) ? 'http' : 'https' ) . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]" ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotValidatedNotSanitized -- actually escaped with sanitize_url. + setcookie( + 'woocommerceanalytics_session', + wp_json_encode( + array( + 'session_id' => $this->session_id, + 'landing_page' => $this->landing_page, + ) + ), + 0, + COOKIEPATH, + COOKIE_DOMAIN, + is_ssl(), + true + ); $this->record_event( 'woocommerceanalytics_session_started' ); } } @@ -523,4 +553,181 @@ public function capture_post_checkout_created_customer( $customer_id, $new_custo ); } } + + /** + * Capture a search event. + */ + public function capture_search_query() { + if ( is_search() ) { + global $wp_query; + $this->record_event( + 'woocommerceanalytics_search', + array( + 'search_query' => $wp_query->get( 's' ), + 'qty' => $wp_query->found_posts, + ) + ); + } + } + + /** + * Track the cart page view + */ + public function capture_cart_view() { + global $post; + $cart_page_id = wc_get_page_id( 'cart' ); + + $is_cart = $cart_page_id && is_page( $cart_page_id ) + || wc_post_content_has_shortcode( 'woocommerce_cart' ) + || has_block( 'woocommerce/cart', $post ) + || apply_filters( 'woocommerce_is_cart', false ) + || Constants::is_defined( 'WOOCOMMERCE_CART' ) + || is_cart(); + + if ( ! $is_cart ) { + return; + } + + $this->record_event( + 'woocommerceanalytics_cart_view', + array_merge( + $this->get_cart_checkout_shared_data(), + array() + ) + ); + } + + /** + * Track a product page view + */ + public function capture_product_view() { + global $product; + if ( ! $product instanceof WC_Product ) { + return; + } + + $this->record_event( + 'woocommerceanalytics_product_view', + array(), + $product->get_id() + ); + } + + /** + * Track the order confirmation page view + */ + public function capture_order_confirmation_view() { + $order_id = absint( get_query_var( 'order-received' ) ); + if ( ! $order_id ) { + return; + } + + if ( ! is_order_received_page() ) { + return; + } + + $order = wc_get_order( $order_id ); + + $order_source = $order->get_created_via(); + $checkout_page_contains_checkout_block = '0'; + $checkout_page_contains_checkout_shortcode = '0'; + + if ( 'store-api' === $order_source ) { + $checkout_page_contains_checkout_block = '1'; + $checkout_page_contains_checkout_shortcode = '0'; + } elseif ( 'checkout' === $order_source ) { + $checkout_page_contains_checkout_block = '0'; + $checkout_page_contains_checkout_shortcode = '1'; + } + + $coupons = $order->get_coupons(); + $coupon_used = 0; + if ( is_countable( $coupons ) ) { + $coupon_used = count( $coupons ) ? 1 : 0; + } + + if ( is_object( WC()->session ) ) { + $create_account = true === WC()->session->get( 'wc_checkout_createaccount_used' ) ? 'Yes' : 'No'; + $checkout_page_used = true === WC()->session->get( 'checkout_page_used' ) ? 'Yes' : 'No'; + } else { + $create_account = 'No'; + $checkout_page_used = 'No'; + } + + $delayed_account_creation = ucfirst( get_option( 'woocommerce_enable_delayed_account_creation', 'Yes' ) ); + $this->record_event( + 'woocommerceanalytics_order_confirmation_view', + array( + 'coupon_used' => $coupon_used, + 'create_account' => $create_account, + 'express_checkout' => 'null', // TODO: not solved yet. + 'guest_checkout' => $order->get_customer_id() ? 'No' : 'Yes', + 'delayed_account_creation' => $delayed_account_creation, + 'oi' => $order->get_id(), + 'order_value' => $order->get_subtotal(), + 'order_total' => $order->get_total(), + 'products_count' => $order->get_item_count(), + 'total_discount' => $order->get_discount_total(), + 'total_shipping' => $order->get_shipping_total(), + 'total_tax' => $order->get_total_tax(), + 'payment_option' => $order->get_payment_method(), + 'products' => $this->format_items_to_json( $order->get_items() ), + 'order_note' => $order->get_customer_note(), + 'shipping_option' => $order->get_shipping_method(), + 'from_checkout' => $checkout_page_used, + 'checkout_page_contains_checkout_block' => $checkout_page_contains_checkout_block, + 'checkout_page_contains_checkout_shortcode' => $checkout_page_contains_checkout_shortcode, + ) + ); + } + + /** + * Track the checkout page view + */ + public function capture_checkout_view() { + global $post; + $checkout_page_id = wc_get_page_id( 'checkout' ); + + $is_checkout = $checkout_page_id && is_page( $checkout_page_id ) + || wc_post_content_has_shortcode( 'woocommerce_checkout' ) + || has_block( 'woocommerce/checkout', $post ) + || apply_filters( 'woocommerce_is_checkout', false ) + || Constants::is_defined( 'WOOCOMMERCE_CHECKOUT' ); + + if ( ! $is_checkout ) { + return; + } + + $is_in_checkout_page = $checkout_page_id === $post->ID ? 'Yes' : 'No'; + $checkout_page_contains_checkout_block = '0'; + $checkout_page_contains_checkout_shortcode = '1'; + + $session = WC()->session; + if ( is_object( $session ) ) { + $session->set( 'checkout_page_used', true ); + $session->save_data(); + $draft_order_id = $session->get( 'store_api_draft_order', 0 ); + if ( $draft_order_id ) { + $checkout_page_contains_checkout_block = '1'; + $checkout_page_contains_checkout_shortcode = '0'; + } + } + + // Order received page is also a checkout page, so we need to bail out if we are on that page. + if ( is_order_received_page() ) { + return; + } + + $this->record_event( + 'woocommerceanalytics_checkout_view', + array_merge( + $this->get_cart_checkout_shared_data(), + array( + 'from_checkout' => $is_in_checkout_page, + 'checkout_page_contains_checkout_block' => $checkout_page_contains_checkout_block, + 'checkout_page_contains_checkout_shortcode' => $checkout_page_contains_checkout_shortcode, + ) + ) + ); + } } diff --git a/projects/packages/woocommerce-analytics/src/class-woo-analytics-trait.php b/projects/packages/woocommerce-analytics/src/class-woo-analytics-trait.php index d726bbf8ed1fc..7e6d3c96b22b8 100644 --- a/projects/packages/woocommerce-analytics/src/class-woo-analytics-trait.php +++ b/projects/packages/woocommerce-analytics/src/class-woo-analytics-trait.php @@ -59,6 +59,13 @@ trait Woo_Analytics_Trait { */ protected $session_id; + /** + * Landing page where session started. + * + * @var string + */ + protected $landing_page; + /** * Format Cart Items or Order Items to an array * @@ -256,12 +263,16 @@ public function find_cart_checkout_content_sources() { * @return array Array of standard event props. */ public function get_common_properties() { + $session_data = json_decode( sanitize_text_field( wp_unslash( $_COOKIE['woocommerceanalytics_session'] ?? '' ) ), true ) ?? array(); + $session_id = sanitize_text_field( $session_data['session_id'] ?? $this->session_id ); + $landing_page = sanitize_url( $session_data['landing_page'] ?? $this->landing_page ); $site_info = array( - 'session_id' => sanitize_text_field( wp_unslash( $_COOKIE['woocommerceanalytics_session_id'] ?? $this->session_id ) ), + 'session_id' => $session_id, 'blog_id' => Jetpack_Connection::get_site_id(), 'store_id' => defined( '\\WC_Install::STORE_ID_OPTION' ) ? get_option( \WC_Install::STORE_ID_OPTION ) : false, 'ui' => $this->get_user_id(), 'url' => home_url(), + 'landing_page' => $landing_page, 'woo_version' => WC()->version, 'wp_version' => get_bloginfo( 'version' ), 'store_admin' => in_array( array( 'administrator', 'shop_manager' ), wp_get_current_user()->roles, true ) ? 1 : 0, diff --git a/projects/packages/woocommerce-analytics/src/class-woocommerce-analytics.php b/projects/packages/woocommerce-analytics/src/class-woocommerce-analytics.php index afa5c0277ab39..553b84cc27342 100644 --- a/projects/packages/woocommerce-analytics/src/class-woocommerce-analytics.php +++ b/projects/packages/woocommerce-analytics/src/class-woocommerce-analytics.php @@ -9,7 +9,6 @@ namespace Automattic; use Automattic\Jetpack\Connection\Manager as Jetpack_Connection; -use Automattic\Woocommerce_Analytics\Checkout_Flow; use Automattic\Woocommerce_Analytics\My_Account; use Automattic\Woocommerce_Analytics\Universal; @@ -42,12 +41,6 @@ public static function init() { // Initialize general store tracking actions. add_action( 'init', array( new Universal(), 'init_hooks' ) ); add_action( 'init', array( new My_Account(), 'init_hooks' ) ); - if ( - class_exists( '\Automattic\WooCommerce\Blocks\Package' ) - && version_compare( \Automattic\WooCommerce\Blocks\Package::get_version(), '11.6.2', '>=' ) - ) { - add_action( 'init', array( new Checkout_Flow(), 'init_hooks' ) ); - } /** * Fires after the WooCommerce Analytics package is initialized diff --git a/projects/packages/wordads/changelog/renovate-automattic-color-studio-4.x b/projects/packages/wordads/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/wordads/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/wordads/changelog/renovate-babel-monorepo b/projects/packages/wordads/changelog/renovate-babel-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/wordads/changelog/renovate-babel-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/wordads/changelog/renovate-major-instant-search-dependency-updates b/projects/packages/wordads/changelog/renovate-major-instant-search-dependency-updates new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/wordads/changelog/renovate-major-instant-search-dependency-updates @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/wordads/changelog/renovate-prop-types-15.x b/projects/packages/wordads/changelog/renovate-prop-types-15.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/packages/wordads/changelog/renovate-prop-types-15.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/packages/wordads/package.json b/projects/packages/wordads/package.json index 2c5e5db77eaa9..71f5e9a68001c 100644 --- a/projects/packages/wordads/package.json +++ b/projects/packages/wordads/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@automattic/calypso-color-schemes": "3.1.3", - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-analytics": "workspace:*", "@automattic/jetpack-api": "workspace:*", "@automattic/jetpack-components": "workspace:*", @@ -47,9 +47,9 @@ "lodash": "4.17.21", "photon": "4.1.1", "preact": "10.22.1", - "prop-types": "15.7.2", + "prop-types": "15.8.1", "q-flat": "1.0.7", - "qss": "2.0.3", + "qss": "3.0.0", "react": "18.3.1", "react-dom": "18.3.1", "react-redux": "7.2.8", @@ -63,7 +63,7 @@ "@babel/core": "7.26.0", "@babel/plugin-transform-react-jsx": "7.25.9", "@babel/preset-env": "7.26.0", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.26.0", "@babel/runtime": "7.26.0", "@testing-library/dom": "10.4.0", diff --git a/projects/plugins/automattic-for-agencies-client/changelog/fix-playwright_install_tweaks b/projects/plugins/automattic-for-agencies-client/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/automattic-for-agencies-client/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/automattic-for-agencies-client/changelog/renovate-automattic-color-studio-4.x b/projects/plugins/automattic-for-agencies-client/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/automattic-for-agencies-client/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/automattic-for-agencies-client/changelog/renovate-config-3.x b/projects/plugins/automattic-for-agencies-client/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/automattic-for-agencies-client/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/automattic-for-agencies-client/package.json b/projects/plugins/automattic-for-agencies-client/package.json index e8a21a71802a0..2b45a0aedf1b0 100644 --- a/projects/plugins/automattic-for-agencies-client/package.json +++ b/projects/plugins/automattic-for-agencies-client/package.json @@ -27,7 +27,7 @@ "extends @wordpress/browserslist-config" ], "dependencies": { - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-api": "workspace:*", "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-components": "workspace:*", diff --git a/projects/plugins/automattic-for-agencies-client/tests/e2e/package.json b/projects/plugins/automattic-for-agencies-client/tests/e2e/package.json index 9d667215dfbb5..764e9d8bc18cb 100644 --- a/projects/plugins/automattic-for-agencies-client/tests/e2e/package.json +++ b/projects/plugins/automattic-for-agencies-client/tests/e2e/package.json @@ -25,12 +25,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/boost/changelog/prerelease b/projects/plugins/backup/changelog/prerelease#6 similarity index 100% rename from projects/plugins/boost/changelog/prerelease rename to projects/plugins/backup/changelog/prerelease#6 diff --git a/projects/plugins/backup/composer.lock b/projects/plugins/backup/composer.lock index c0beaa5394e91..89ab9018ca367 100644 --- a/projects/plugins/backup/composer.lock +++ b/projects/plugins/backup/composer.lock @@ -1215,7 +1215,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1253,7 +1253,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/beta/changelog/renovate-composer-semver-3.x b/projects/plugins/beta/changelog/renovate-composer-semver-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/beta/changelog/renovate-composer-semver-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/beta/composer.json b/projects/plugins/beta/composer.json index 061f1afbdd9c5..44f6cb54df774 100644 --- a/projects/plugins/beta/composer.json +++ b/projects/plugins/beta/composer.json @@ -10,7 +10,7 @@ "require": { "automattic/jetpack-admin-ui": "@dev", "automattic/jetpack-autoloader": "@dev", - "composer/semver": "3.3.2", + "composer/semver": "3.4.3", "erusev/parsedown": "1.7.4" }, "require-dev": { diff --git a/projects/plugins/beta/composer.lock b/projects/plugins/beta/composer.lock index 24f1bab32dedb..6df34fa74f455 100644 --- a/projects/plugins/beta/composer.lock +++ b/projects/plugins/beta/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "92efc2ebd18c5e82b5a0160a2e03169a", + "content-hash": "961751f60b067f5bfd4872ff7ef7ddb8", "packages": [ { "name": "automattic/jetpack-admin-ui", @@ -141,24 +141,24 @@ }, { "name": "composer/semver", - "version": "3.3.2", + "version": "3.4.3", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", "extra": { @@ -200,9 +200,9 @@ "versioning" ], "support": { - "irc": "irc://irc.freenode.org/composer", + "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { @@ -218,7 +218,7 @@ "type": "tidelift" } ], - "time": "2022-04-01T19:23:25+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { "name": "erusev/parsedown", @@ -404,16 +404,16 @@ }, { "name": "symfony/console", - "version": "v7.2.0", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf" + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", - "reference": "23c8aae6d764e2bae02d2a99f7532a7f6ed619cf", + "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", "shasum": "" }, "require": { @@ -477,7 +477,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.2.0" + "source": "https://github.com/symfony/console/tree/v7.2.1" }, "funding": [ { @@ -493,7 +493,7 @@ "type": "tidelift" } ], - "time": "2024-11-06T14:24:19+00:00" + "time": "2024-12-11T03:49:26+00:00" }, { "name": "symfony/deprecation-contracts", @@ -514,12 +514,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { @@ -826,8 +826,8 @@ "type": "library", "extra": { "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "url": "https://github.com/symfony/polyfill", + "name": "symfony/polyfill" } }, "autoload": { @@ -965,12 +965,12 @@ }, "type": "library", "extra": { + "thanks": { + "url": "https://github.com/symfony/contracts", + "name": "symfony/contracts" + }, "branch-alias": { "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" } }, "autoload": { diff --git a/projects/plugins/boost/CHANGELOG.md b/projects/plugins/boost/CHANGELOG.md index d48ad8f0f8a22..35841a3175502 100644 --- a/projects/plugins/boost/CHANGELOG.md +++ b/projects/plugins/boost/CHANGELOG.md @@ -5,6 +5,21 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [3.7.0] - 2025-01-06 +### Added +- Concatenate JS/CSS: Added a button that allows loading default excludes. [#40496] +- General: Added tracks events to clickable elements on the settings page. [#40246] +- General: Added WordPress filters to allow Cornerstone Pages list and Image Size Analyzer source data to be updated. [#40442] +- Concatenate JS/CSS: Added HTTP header to take advantage of WordPress.com edge caching [#40557] +- UI: Added notifications when interacting with dashboard settings. [#40593] + +### Changed +- UI: Gave Page Cache, Concatenate JS/CSS and Image CDN - Image Quality modules a more unifed look. [#40224] + +### Fixed +- Critical CSS: Improved UI responsiveness during a retry after failed generation. [#40675] +- UI: Fixed showing an error if no ISA report was found. [#40660] + ## [3.6.1] - 2024-11-28 ### Changed - Image CDN: Improve performance. [#39883] @@ -552,6 +567,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - First public alpha release +[3.7.0]: https://github.com/Automattic/jetpack-boost-production/compare/3.6.1...3.7.0 [3.6.1]: https://github.com/Automattic/jetpack-boost-production/compare/3.6.0...3.6.1 [3.6.0]: https://github.com/Automattic/jetpack-boost-production/compare/3.5.2...3.6.0 [3.5.2]: https://github.com/Automattic/jetpack-boost-production/compare/3.5.1...3.5.2 diff --git a/projects/plugins/boost/app/data-sync/Cornerstone_Pages_Entry.php b/projects/plugins/boost/app/data-sync/Cornerstone_Pages_Entry.php index eab9d86d91ff5..7cb8baf8cd006 100644 --- a/projects/plugins/boost/app/data-sync/Cornerstone_Pages_Entry.php +++ b/projects/plugins/boost/app/data-sync/Cornerstone_Pages_Entry.php @@ -25,7 +25,7 @@ public function get( $fallback_value = array() ) { /** * Filters the list of cornerstone pages. * - * @since $$next-version$$ + * @since 3.7.0 * * @param array $urls An array of absolute URLs. */ diff --git a/projects/plugins/boost/app/lib/class-site-urls.php b/projects/plugins/boost/app/lib/class-site-urls.php index df9f6c00972c1..6f108e66042b7 100644 --- a/projects/plugins/boost/app/lib/class-site-urls.php +++ b/projects/plugins/boost/app/lib/class-site-urls.php @@ -26,7 +26,7 @@ public static function get( $limit = 100 ) { /** * Filters the list of site URLs used by the Image Size Analysis. * - * @since $$next-version$$ + * @since 3.7.0 * * @param array $urls An array of URLs. * @param int $limit The maximum number of URLs that should be returned. diff --git a/projects/plugins/boost/changelog/add-edge-cache-header b/projects/plugins/boost/changelog/add-edge-cache-header deleted file mode 100644 index 534f4a2e449ff..0000000000000 --- a/projects/plugins/boost/changelog/add-edge-cache-header +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: added - -Minify: Added HTTP header to take advantage of WordPress.com edge caching diff --git a/projects/plugins/boost/changelog/fix-critical-css-status b/projects/plugins/boost/changelog/fix-critical-css-status deleted file mode 100644 index fd96c0c4e40a4..0000000000000 --- a/projects/plugins/boost/changelog/fix-critical-css-status +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: fixed - -Critical CSS: Improved UI responsiveness during a retry after failed generation. diff --git a/projects/plugins/boost/changelog/fix-isa-showing-error-if-no-report-present b/projects/plugins/boost/changelog/fix-isa-showing-error-if-no-report-present deleted file mode 100644 index ec4939628d4b8..0000000000000 --- a/projects/plugins/boost/changelog/fix-isa-showing-error-if-no-report-present +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: fixed - -UI: Fixed showing an error if no ISA report was found. diff --git a/projects/plugins/boost/changelog/fix-speed-score-changed-tracks b/projects/plugins/boost/changelog/fix-speed-score-changed-tracks deleted file mode 100644 index 5d4a87253a8ea..0000000000000 --- a/projects/plugins/boost/changelog/fix-speed-score-changed-tracks +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Fix for an unreleased change. - - diff --git a/projects/plugins/boost/changelog/update-boost-add-notices-to-settings-page b/projects/plugins/boost/changelog/update-boost-add-notices-to-settings-page deleted file mode 100644 index 73d537e320740..0000000000000 --- a/projects/plugins/boost/changelog/update-boost-add-notices-to-settings-page +++ /dev/null @@ -1,4 +0,0 @@ -Significance: minor -Type: added - -UI: Add notifications when interacting with dashboard settings. diff --git a/projects/plugins/boost/changelog/update-boost-add-tracks-events b/projects/plugins/boost/changelog/update-boost-add-tracks-events deleted file mode 100644 index 7d24b2973f91e..0000000000000 --- a/projects/plugins/boost/changelog/update-boost-add-tracks-events +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: added - -General: Added tracks events to clickable elements on the settings page. diff --git a/projects/plugins/boost/changelog/update-boost-custom-site-url-support b/projects/plugins/boost/changelog/update-boost-custom-site-url-support deleted file mode 100644 index f2980aec03261..0000000000000 --- a/projects/plugins/boost/changelog/update-boost-custom-site-url-support +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: added - -General: Add WordPress filters to allow Cornerstone Pages list and Image Size Analyzer source data to be updated. diff --git a/projects/plugins/boost/changelog/update-boost-fix-eslint-9-lints b/projects/plugins/boost/changelog/update-boost-fix-eslint-9-lints deleted file mode 100644 index b4998764a045e..0000000000000 --- a/projects/plugins/boost/changelog/update-boost-fix-eslint-9-lints +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Fix some JS lints ahead of the eslint 9 upgrade. - - diff --git a/projects/plugins/boost/changelog/update-boost-minify-modules-fixes b/projects/plugins/boost/changelog/update-boost-minify-modules-fixes deleted file mode 100644 index 28ba4ff361ff5..0000000000000 --- a/projects/plugins/boost/changelog/update-boost-minify-modules-fixes +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: changed - -Settings Page: Give Page Cache, Concatenate JS/CSS and Image CDN - Image Quality modules a more unifed look. diff --git a/projects/plugins/boost/changelog/update-cleanup-deprecated-eslint-rules b/projects/plugins/boost/changelog/update-cleanup-deprecated-eslint-rules deleted file mode 100644 index 94aaa5b70a786..0000000000000 --- a/projects/plugins/boost/changelog/update-cleanup-deprecated-eslint-rules +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Remove unnecessary overrides from eslintrc. - - diff --git a/projects/plugins/boost/changelog/update-cleanup-project-level-eslint-prettier b/projects/plugins/boost/changelog/update-cleanup-project-level-eslint-prettier deleted file mode 100644 index 76bd72d20ee0d..0000000000000 --- a/projects/plugins/boost/changelog/update-cleanup-project-level-eslint-prettier +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: removed -Comment: Remove unused eslint and prettier scripts and dep from package.json. Also enable `prettier/prettier` eslint rule (which required no fixes). - - diff --git a/projects/plugins/boost/changelog/update-concat-exclude-ui b/projects/plugins/boost/changelog/update-concat-exclude-ui deleted file mode 100644 index ae3eeb5855f27..0000000000000 --- a/projects/plugins/boost/changelog/update-concat-exclude-ui +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: added - -Concatenate JS/CSS: Add a button that allows loading default excludes. diff --git a/projects/plugins/boost/changelog/update-eslint-9 b/projects/plugins/boost/changelog/update-eslint-9 deleted file mode 100644 index 1cb10572ab69e..0000000000000 --- a/projects/plugins/boost/changelog/update-eslint-9 +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: changed -Comment: Update eslint config for eslint 9. - - diff --git a/projects/plugins/boost/changelog/update-fetch-available-licenses b/projects/plugins/boost/changelog/update-fetch-available-licenses deleted file mode 100644 index 3c349c8b1445e..0000000000000 --- a/projects/plugins/boost/changelog/update-fetch-available-licenses +++ /dev/null @@ -1,4 +0,0 @@ -Significance: patch -Type: changed - -Resolved an issue where revoked licenses were incorrectly treated as unattached. This caused users to be redirected to the license activation page after site connection, even when unattached licenses were not valid for activation. diff --git a/projects/plugins/boost/changelog/update-js-packages-fix-eslint-9-lints b/projects/plugins/boost/changelog/update-js-packages-fix-eslint-9-lints deleted file mode 100644 index b3176fbef2f88..0000000000000 --- a/projects/plugins/boost/changelog/update-js-packages-fix-eslint-9-lints +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Fix some JS lints ahead of eslint 9 upgrade. - - diff --git a/projects/plugins/boost/changelog/update-various-eslint-plugins b/projects/plugins/boost/changelog/update-various-eslint-plugins deleted file mode 100644 index b98fdbffe73bd..0000000000000 --- a/projects/plugins/boost/changelog/update-various-eslint-plugins +++ /dev/null @@ -1,5 +0,0 @@ -Significance: patch -Type: fixed -Comment: Update code to fix new eslint rules. - - diff --git a/projects/plugins/boost/composer.json b/projects/plugins/boost/composer.json index 8b34b975f1546..6e61bc7dac944 100644 --- a/projects/plugins/boost/composer.json +++ b/projects/plugins/boost/composer.json @@ -3,7 +3,7 @@ "description": "Boost your WordPress site's performance, from the creators of Jetpack", "type": "library", "license": "GPL-2.0-or-later", - "version": "3.6.1", + "version": "3.7.0", "authors": [ { "name": "Automattic, Inc.", @@ -78,7 +78,7 @@ "platform": { "ext-intl": "0.0.0" }, - "autoloader-suffix": "b1e77e6231d50e7663f84529b6a3dfda_jetpack_boostⓥ3_6_1", + "autoloader-suffix": "b1e77e6231d50e7663f84529b6a3dfda_jetpack_boostⓥ3_7_0", "allow-plugins": { "roots/wordpress-core-installer": true, "automattic/jetpack-autoloader": true, diff --git a/projects/plugins/boost/composer.lock b/projects/plugins/boost/composer.lock index 963010e4e17b6..0f419db440f0b 100644 --- a/projects/plugins/boost/composer.lock +++ b/projects/plugins/boost/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "1b42ed0c5667c68397cf85aa7ff6c3a9", + "content-hash": "b52098ae2e5a4e594034ec41fb2636e6", "packages": [ { "name": "automattic/jetpack-a8c-mc-stats", @@ -1131,7 +1131,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1169,7 +1169,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/boost/jetpack-boost.php b/projects/plugins/boost/jetpack-boost.php index 2cd2b0d3e0c05..6ab8471e88ba9 100644 --- a/projects/plugins/boost/jetpack-boost.php +++ b/projects/plugins/boost/jetpack-boost.php @@ -9,7 +9,7 @@ * Plugin Name: Jetpack Boost * Plugin URI: https://jetpack.com/boost * Description: Boost your WordPress site's performance, from the creators of Jetpack - * Version: 3.6.1 + * Version: 3.7.0 * Author: Automattic - Jetpack Site Speed team * Author URI: https://jetpack.com/boost/ * License: GPL-2.0+ @@ -29,7 +29,7 @@ die; } -define( 'JETPACK_BOOST_VERSION', '3.6.1' ); +define( 'JETPACK_BOOST_VERSION', '3.7.0' ); define( 'JETPACK_BOOST_SLUG', 'jetpack-boost' ); if ( ! defined( 'JETPACK_BOOST_CLIENT_NAME' ) ) { diff --git a/projects/plugins/boost/package.json b/projects/plugins/boost/package.json index 1021541420241..c073f4cb7f950 100644 --- a/projects/plugins/boost/package.json +++ b/projects/plugins/boost/package.json @@ -1,6 +1,6 @@ { "name": "jetpack-boost", - "version": "3.6.1", + "version": "3.7.0", "description": "Boost your WordPress site's performance, from the creators of Jetpack", "directories": { "test": "tests" @@ -11,14 +11,14 @@ "@automattic/jetpack-react-data-sync-client": "workspace:*", "@react-spring/core": "9.7.5", "@react-spring/web": "9.7.3", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "@types/react-router-dom": "5.3.3", "@wordpress/components": "29.0.0", "@wordpress/element": "6.14.0", "clsx": "2.1.1", "copy-webpack-plugin": "11.0.0", "history": "5.3.0", - "react-router-dom": "6.21.0", + "react-router-dom": "6.28.1", "react-use-measure": "2.1.1", "use-debounce": "10.0.0", "zod": "3.22.3" @@ -32,8 +32,8 @@ "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", - "@babel/preset-react": "7.25.9", - "@storybook/react": "8.3.5", + "@babel/preset-react": "7.26.3", + "@storybook/react": "8.4.7", "@types/jest": "29.5.12", "@types/jquery": "3.5.32", "@wordpress/browserslist-config": "6.14.0", @@ -49,7 +49,7 @@ "react-dom": "18.3.1", "sass": "1.64.1", "sass-loader": "12.4.0", - "storybook": "8.3.5", + "storybook": "8.4.7", "tslib": "2.5.0", "typescript": "5.0.4", "webpack": "5.94.0", diff --git a/projects/plugins/boost/readme.txt b/projects/plugins/boost/readme.txt index b0ae3cf707e80..41693dd5a6820 100644 --- a/projects/plugins/boost/readme.txt +++ b/projects/plugins/boost/readme.txt @@ -183,14 +183,20 @@ If you run into compatibility issues, please do let us know. You can drop us a l 2. Jetpack Boost Speed Improvement == Changelog == -### 3.6.1 - 2024-11-28 +### 3.7.0 - 2025-01-06 +#### Added +- Concatenate JS/CSS: Added a button that allows loading default excludes. +- General: Added tracks events to clickable elements on the settings page. +- General: Added WordPress filters to allow Cornerstone Pages list and Image Size Analyzer source data to be updated. +- Concatenate JS/CSS: Added HTTP header to take advantage of WordPress.com edge caching +- UI: Added notifications when interacting with dashboard settings. + #### Changed -- Image CDN: Improve performance. -- General: Update minimum PHP version to 7.2. -- General: Update minimum WordPress version to 6.6. +- UI: Gave Page Cache, Concatenate JS/CSS and Image CDN - Image Quality modules a more unifed look. #### Fixed -- Compatibility: Fixed situations where minify could break due to too many files being enqueued in the elementor editor. +- Critical CSS: Improved UI responsiveness during a retry after failed generation. +- UI: Fixed showing an error if no ISA report was found. -------- diff --git a/projects/plugins/boost/tests/e2e/package.json b/projects/plugins/boost/tests/e2e/package.json index db9a81ef6e877..0121aa55e79da 100644 --- a/projects/plugins/boost/tests/e2e/package.json +++ b/projects/plugins/boost/tests/e2e/package.json @@ -24,13 +24,13 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs", + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs", "prepare:e2e": "pnpm jetpack docker --type e2e --name t1 exec-silent -- chown -R www-data .htaccess wp-config.php wp-content" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/classic-theme-helper-plugin/changelog/fix-playwright_install_tweaks b/projects/plugins/classic-theme-helper-plugin/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/classic-theme-helper-plugin/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/classic-theme-helper-plugin/changelog/renovate-config-3.x b/projects/plugins/classic-theme-helper-plugin/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/classic-theme-helper-plugin/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/classic-theme-helper-plugin/tests/e2e/package.json b/projects/plugins/classic-theme-helper-plugin/tests/e2e/package.json index ac579fe0f32ba..1abf3ffd9f812 100644 --- a/projects/plugins/classic-theme-helper-plugin/tests/e2e/package.json +++ b/projects/plugins/classic-theme-helper-plugin/tests/e2e/package.json @@ -25,12 +25,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/crm/changelog/renovate-definitelytyped#3 b/projects/plugins/crm/changelog/renovate-definitelytyped#3 new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/crm/changelog/renovate-definitelytyped#3 @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/crm/changelog/renovate-glob-11.x b/projects/plugins/crm/changelog/renovate-glob-11.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/crm/changelog/renovate-glob-11.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/crm/changelog/renovate-react-router-monorepo b/projects/plugins/crm/changelog/renovate-react-router-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/crm/changelog/renovate-react-router-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/crm/package.json b/projects/plugins/crm/package.json index 858ecec82e0f0..3de41eae9ddd4 100644 --- a/projects/plugins/crm/package.json +++ b/projects/plugins/crm/package.json @@ -33,7 +33,7 @@ "prop-types": "15.8.1", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.14.1" + "react-router-dom": "6.28.1" }, "devDependencies": { "@automattic/jetpack-webpack-config": "workspace:*", @@ -44,11 +44,11 @@ "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", "@types/jest": "29.5.12", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", "babel-jest": "29.3.1", "css-loader": "6.5.1", - "glob": "10.4.1", + "glob": "11.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "sass": "1.64.1", diff --git a/projects/plugins/jetpack/changelog/add-option-to-sites-api b/projects/plugins/jetpack/changelog/add-option-to-sites-api new file mode 100644 index 0000000000000..e06acc3799f0b --- /dev/null +++ b/projects/plugins/jetpack/changelog/add-option-to-sites-api @@ -0,0 +1,4 @@ +Significance: minor +Type: other + +Add new option to site options api diff --git a/projects/plugins/jetpack/changelog/change-jetpack-ai-feedback-out-of-beta b/projects/plugins/jetpack/changelog/change-jetpack-ai-feedback-out-of-beta new file mode 100644 index 0000000000000..5c59f2cf63e23 --- /dev/null +++ b/projects/plugins/jetpack/changelog/change-jetpack-ai-feedback-out-of-beta @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Jetpack AI: Moving AI Response Feedback feature out of beta diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-40765-prevent_soundcloud_shortcode_conflict b/projects/plugins/jetpack/changelog/fix-jetpack-40765-prevent_soundcloud_shortcode_conflict new file mode 100644 index 0000000000000..d719a0dcde458 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-40765-prevent_soundcloud_shortcode_conflict @@ -0,0 +1,4 @@ +Significance: patch +Type: bugfix + +Shortcodes: Prevent conflict with third-party SoundCloud shortcodes. diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-40766-catch_typeerror b/projects/plugins/jetpack/changelog/fix-jetpack-40766-catch_typeerror new file mode 100644 index 0000000000000..ed64cfefd76a3 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-40766-catch_typeerror @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +VideoPress: Catch TypeError when theme specifies $content_width as a string. diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-40767-prevent_error_on_http_override_filter b/projects/plugins/jetpack/changelog/fix-jetpack-40767-prevent_error_on_http_override_filter new file mode 100644 index 0000000000000..d36349280ecc7 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-40767-prevent_error_on_http_override_filter @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Filters: Prevent error when `http_request_timeout` filter is used incorrectly. diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-ai-extension-form-adjustment b/projects/plugins/jetpack/changelog/fix-jetpack-ai-extension-form-adjustment new file mode 100644 index 0000000000000..399ce50a84a9e --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-ai-extension-form-adjustment @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +AI Assistant: Fix block inserter position for Form block with AI extension diff --git a/projects/plugins/jetpack/changelog/fix-jetpack-ai-featured-image-trigger-emtpy b/projects/plugins/jetpack/changelog/fix-jetpack-ai-featured-image-trigger-emtpy new file mode 100644 index 0000000000000..7dabf88ea7ca9 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-jetpack-ai-featured-image-trigger-emtpy @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Jetpack AI: do not trigger featured image generation if title or content are just empty spaces diff --git a/projects/plugins/jetpack/changelog/fix-playwright_install_tweaks b/projects/plugins/jetpack/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..dedbcb7e44a99 --- /dev/null +++ b/projects/plugins/jetpack/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/jetpack/changelog/map-block-ui-updates b/projects/plugins/jetpack/changelog/map-block-ui-updates new file mode 100644 index 0000000000000..4c7a935630494 --- /dev/null +++ b/projects/plugins/jetpack/changelog/map-block-ui-updates @@ -0,0 +1,4 @@ +Significance: minor +Type: other + +Map block: Inspector controls UI improvements diff --git a/projects/plugins/jetpack/changelog/prerelease b/projects/plugins/jetpack/changelog/prerelease new file mode 100644 index 0000000000000..a1c1831fa1ef7 --- /dev/null +++ b/projects/plugins/jetpack/changelog/prerelease @@ -0,0 +1,5 @@ +Significance: patch +Type: other +Comment: Updated composer.lock. + + diff --git a/projects/plugins/jetpack/changelog/renovate-automattic-color-studio-4.x b/projects/plugins/jetpack/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-config-3.x b/projects/plugins/jetpack/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-debug-4.x b/projects/plugins/jetpack/changelog/renovate-debug-4.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-debug-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-definitelytyped b/projects/plugins/jetpack/changelog/renovate-definitelytyped new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-definitelytyped @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-filesize-10.x b/projects/plugins/jetpack/changelog/renovate-filesize-10.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-filesize-10.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-glob-11.x b/projects/plugins/jetpack/changelog/renovate-glob-11.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-glob-11.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-markdown-it-14.x b/projects/plugins/jetpack/changelog/renovate-markdown-it-14.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-markdown-it-14.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-prop-types-15.x b/projects/plugins/jetpack/changelog/renovate-prop-types-15.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-prop-types-15.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-semver-7.x b/projects/plugins/jetpack/changelog/renovate-semver-7.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-semver-7.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/changelog/renovate-tus-js-client-4.x b/projects/plugins/jetpack/changelog/renovate-tus-js-client-4.x new file mode 100644 index 0000000000000..1eaea6a769e84 --- /dev/null +++ b/projects/plugins/jetpack/changelog/renovate-tus-js-client-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: other + +Updated package dependencies. diff --git a/projects/plugins/jetpack/composer.lock b/projects/plugins/jetpack/composer.lock index ec587490fd21d..277d3a0e6a493 100644 --- a/projects/plugins/jetpack/composer.lock +++ b/projects/plugins/jetpack/composer.lock @@ -1830,7 +1830,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1868,7 +1868,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/jetpack/extensions/blocks/ai-assistant/extensions/jetpack-form/index.tsx b/projects/plugins/jetpack/extensions/blocks/ai-assistant/extensions/jetpack-form/index.tsx index 31125eecaaeab..ebacbfe7dc042 100644 --- a/projects/plugins/jetpack/extensions/blocks/ai-assistant/extensions/jetpack-form/index.tsx +++ b/projects/plugins/jetpack/extensions/blocks/ai-assistant/extensions/jetpack-form/index.tsx @@ -22,7 +22,6 @@ export class JetpackFormHandler extends BlockHandler { super( clientId, [] ); this.behavior = 'action'; this.feature = 'jetpack-form-ai-extension'; - this.adjustPosition = false; this.startOpen = true; this.hideOnBlockFocus = false; } diff --git a/projects/plugins/jetpack/extensions/blocks/map/controls.js b/projects/plugins/jetpack/extensions/blocks/map/controls.js index bf5b1a34e2171..f9c5181ce73f8 100644 --- a/projects/plugins/jetpack/extensions/blocks/map/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/map/controls.js @@ -9,11 +9,12 @@ import { ToolbarButton, ToolbarGroup, RangeControl, - BaseControl, SVG, G, Polygon, Path, + // eslint-disable-next-line @wordpress/no-unsafe-wp-apis + __experimentalNumberControl as NumberControl, } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import Locations from './locations'; @@ -44,7 +45,6 @@ export default ( { onKeyChange, context, mapRef, - instanceId, minHeight, removeAPIKey, updateAPIKey, @@ -60,38 +60,6 @@ export default ( { } }; - /** - * Change event handler for the map height sidebar control. Ensures the height is valid, - * and updates both the height attribute, and the map component's height in the DOM. - * - * @param {Event} event - The change event object. - */ - const onHeightChange = event => { - const { mapHeight } = attributes; - - let height = parseInt( event.target.value, 10 ); - - if ( isNaN( height ) ) { - // Set map height to default size and input box to empty string - height = null; - } else if ( null == mapHeight ) { - // There was previously no height defined, so set the default. - const ref = mapRef?.current?.mapRef ?? mapRef; - height = ref?.current.offsetHeight; - } else if ( height < minHeight ) { - // Set map height to minimum size - height = minHeight; - } - - setAttributes( { - mapHeight: height, - } ); - - if ( mapRef.current.sizeMap ) { - setTimeout( mapRef.current.sizeMap, 0 ); - } - }; - if ( context === 'toolbar' ) { return ( <> @@ -120,36 +88,21 @@ export default ( { { value: attributes.markerColor, onChange: value => setAttributes( { markerColor: value } ), - label: __( 'Marker Color', 'jetpack' ), + label: __( 'Marker', 'jetpack' ), }, ] } /> - - + - { - setAttributes( { mapHeight: event.target.value } ); - // If this input isn't focussed, the onBlur handler won't be triggered - // to commit the map size, so we need to check for that. - if ( event.target !== event.target.ownerDocument.activeElement ) { - if ( mapRef.current ) { - setTimeout( mapRef.current.sizeMap, 0 ); - } - } - } } - onBlur={ onHeightChange } - value={ attributes.mapHeight || '' } - min={ minHeight } - step="10" - /> - + value={ attributes.mapHeight || '' } + min={ minHeight } + onChange={ newValue => { + setAttributes( { mapHeight: newValue } ); + } } + size="__unstable-large" + step={ 10 } + /> setAttributes( { mapDetails: value } ) } /> diff --git a/projects/plugins/jetpack/extensions/blocks/map/edit.js b/projects/plugins/jetpack/extensions/blocks/map/edit.js index 9d5891bb9e587..496aaff57ae74 100644 --- a/projects/plugins/jetpack/extensions/blocks/map/edit.js +++ b/projects/plugins/jetpack/extensions/blocks/map/edit.js @@ -15,7 +15,7 @@ import { ResizableBox, } from '@wordpress/components'; import { compose } from '@wordpress/compose'; -import { withDispatch, useSelect } from '@wordpress/data'; +import { useDispatch, useSelect } from '@wordpress/data'; import { useEffect, useRef, useState } from '@wordpress/element'; import { __ } from '@wordpress/i18n'; import { getActiveStyleName } from '../../shared/block-styles'; @@ -55,9 +55,6 @@ const MapEdit = ( { noticeUI, notices, isSelected, - instanceId, - onResizeStart, - onResizeStop, noticeOperations, } ) => { const { @@ -71,6 +68,8 @@ const MapEdit = ( { showFullscreenButton, } = attributes; + const { toggleSelection } = useDispatch( 'core/block-editor' ); + const { isPreviewMode } = useSelect( select => { const { getSettings } = select( blockEditorStore ); const settings = getSettings(); @@ -195,8 +194,7 @@ const MapEdit = ( { * @param {object} delta - Information about how far the element was resized. */ const onMapResize = ( event, direction, elt, delta ) => { - onResizeStop(); - + toggleSelection( true ); const ref = mapRef?.current?.mapRef ?? mapRef; if ( ref ) { @@ -322,7 +320,6 @@ const MapEdit = ( { apiKeyControl={ apiKeyControl } onKeyChange={ onKeyChange } mapRef={ mapRef } - instanceId={ instanceId } minHeight={ MIN_HEIGHT } removeAPIKey={ removeAPIKey } updateAPIKey={ updateAPIKey } @@ -339,7 +336,7 @@ const MapEdit = ( { showHandle={ isSelected } minHeight={ MIN_HEIGHT } enable={ RESIZABLE_BOX_ENABLE_OPTION } - onResizeStart={ onResizeStart } + onResizeStart={ () => toggleSelection( false ) } onResizeStop={ onMapResize } >
@@ -392,14 +389,4 @@ const MapEdit = ( { ); }; -export default compose( [ - withNotices, - withDispatch( dispatch => { - const { toggleSelection } = dispatch( 'core/block-editor' ); - - return { - onResizeStart: () => toggleSelection( false ), - onResizeStop: () => toggleSelection( true ), - }; - } ), -] )( MapEdit ); +export default compose( withNotices )( MapEdit ); diff --git a/projects/plugins/jetpack/extensions/blocks/map/editor.scss b/projects/plugins/jetpack/extensions/blocks/map/editor.scss index 91a5291613cef..eb1c5e0030f01 100644 --- a/projects/plugins/jetpack/extensions/blocks/map/editor.scss +++ b/projects/plugins/jetpack/extensions/blocks/map/editor.scss @@ -58,10 +58,6 @@ } } -.wp-block-jetpack-map__height_input { - display: block; -} - .component__add-point__popover { .components-popover__content { width: 250px; diff --git a/projects/plugins/jetpack/extensions/blocks/map/test/controls.js b/projects/plugins/jetpack/extensions/blocks/map/test/controls.js index b178c98a4f90f..83140e4e47e18 100644 --- a/projects/plugins/jetpack/extensions/blocks/map/test/controls.js +++ b/projects/plugins/jetpack/extensions/blocks/map/test/controls.js @@ -63,11 +63,11 @@ describe( 'Inspector controls', () => { test( 'displays marker colors correctly', () => { render( ); - expect( screen.getByText( 'Marker Color' ) ).toBeInTheDocument(); + expect( screen.getByText( 'Marker' ) ).toBeInTheDocument(); } ); } ); - describe( 'Map settings panel', () => { + describe( 'Settings panel', () => { test( 'height input shows correctly', () => { render( ); @@ -83,7 +83,7 @@ describe( 'Inspector controls', () => { test( 'street names toggle shows correctly when mapProvider is mapbox', () => { render( ); - expect( screen.getByText( 'Show street names' ) ).toBeInTheDocument(); + expect( screen.getByText( 'Show labels' ) ).toBeInTheDocument(); } ); test( "street names toggle shows doesn't show when mapProvider is mapkit", () => { @@ -91,7 +91,7 @@ describe( 'Inspector controls', () => { render( ); - expect( screen.queryByText( 'Show street names' ) ).not.toBeInTheDocument(); + expect( screen.queryByText( 'Show labels' ) ).not.toBeInTheDocument(); } ); test( 'scroll to zoom toggle shows correctly when mapProvider is mapbox', () => { diff --git a/projects/plugins/jetpack/extensions/blocks/videopress/resumable-upload/index.js b/projects/plugins/jetpack/extensions/blocks/videopress/resumable-upload/index.js index d4ac91ee6cd9a..8fe8e71118ac3 100644 --- a/projects/plugins/jetpack/extensions/blocks/videopress/resumable-upload/index.js +++ b/projects/plugins/jetpack/extensions/blocks/videopress/resumable-upload/index.js @@ -4,7 +4,7 @@ import { Button, ExternalLink } from '@wordpress/components'; import { useCallback, useContext, useEffect, useRef, useState } from '@wordpress/element'; import { __, sprintf } from '@wordpress/i18n'; -import filesize from 'filesize'; +import { filesize } from 'filesize'; /** * Internal Dependencies */ diff --git a/projects/plugins/jetpack/extensions/index.json b/projects/plugins/jetpack/extensions/index.json index 49d5b23b4e391..a2fe1a4a7e689 100644 --- a/projects/plugins/jetpack/extensions/index.json +++ b/projects/plugins/jetpack/extensions/index.json @@ -71,7 +71,8 @@ "ai-general-purpose-image-generator", "ai-proofread-breve", "ai-assistant-site-logo-support", - "ai-title-optimization-keywords-support" + "ai-title-optimization-keywords-support", + "ai-response-feedback" ], "beta": [ "google-docs-embed", @@ -80,7 +81,6 @@ "videopress/video-chapters", "ai-assistant-backend-prompts", "ai-list-to-table-transform", - "ai-response-feedback", "ai-seo-assistant" ], "experimental": [], diff --git a/projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/components/ai-image/featured-image.tsx b/projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/components/ai-image/featured-image.tsx index 36d414b05ac1b..fed823639ba92 100644 --- a/projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/components/ai-image/featured-image.tsx +++ b/projects/plugins/jetpack/extensions/plugins/ai-assistant-plugin/components/ai-image/featured-image.tsx @@ -339,7 +339,7 @@ export default function FeaturedImage( { const generateAgainText = __( 'Generate another image', 'jetpack' ); const generateText = __( 'Generate', 'jetpack' ); - const hasContent = postContent || postTitle ? true : false; + const hasContent = postContent.trim?.() || postTitle.trim?.() ? true : false; const hasPrompt = hasContent ? prompt.length >= 0 : prompt.length >= 3; const disableInput = notEnoughRequests || currentPointer?.generating || requireUpgrade; const disableAction = disableInput || ( ! hasContent && ! hasPrompt ); diff --git a/projects/plugins/jetpack/json-endpoints/class.wpcom-json-api-get-site-endpoint.php b/projects/plugins/jetpack/json-endpoints/class.wpcom-json-api-get-site-endpoint.php index 1b844326cd2d1..43e738dcf68a1 100644 --- a/projects/plugins/jetpack/json-endpoints/class.wpcom-json-api-get-site-endpoint.php +++ b/projects/plugins/jetpack/json-endpoints/class.wpcom-json-api-get-site-endpoint.php @@ -211,6 +211,7 @@ class WPCOM_JSON_API_GET_Site_Endpoint extends WPCOM_JSON_API_Endpoint { 'blogging_prompts_settings', 'launchpad_screen', 'launchpad_checklist_tasks_statuses', + 'migration_source_site_domain', 'wpcom_production_blog_id', 'wpcom_staging_blog_ids', 'can_blaze', @@ -902,6 +903,9 @@ protected function render_option_keys( &$options_response_keys ) { case 'launchpad_checklist_tasks_statuses': $options[ $key ] = $site->get_launchpad_checklist_tasks_statuses(); break; + case 'migration_source_site_domain': + $options[ $key ] = $site->get_migration_source_site_domain(); + break; case 'wpcom_production_blog_id': $options[ $key ] = $site->get_wpcom_production_blog_id(); break; diff --git a/projects/plugins/jetpack/modules/shortcodes.php b/projects/plugins/jetpack/modules/shortcodes.php index 87fb9116887dd..6d45d8bc8e4fe 100644 --- a/projects/plugins/jetpack/modules/shortcodes.php +++ b/projects/plugins/jetpack/modules/shortcodes.php @@ -46,12 +46,20 @@ function shortcode_new_to_old_params( $params, $old_format_support = false ) { * Load all available Jetpack shortcode files. */ function jetpack_load_shortcodes() { + // Prevent third-party shortcode plugins when loading shortcode files. + // Format: shortcode => condition_when_to_skip + $shortcode_skips = array( + 'soundcloud' => function_exists( 'soundcloud_shortcode' ), // SoundCloud Shortcodes plugin + ); + $shortcode_includes = array(); foreach ( Jetpack::glob_php( __DIR__ . '/shortcodes' ) as $file ) { $filename = substr( basename( $file ), 0, -4 ); - $shortcode_includes[ $filename ] = $file; + if ( empty( $shortcode_skips[ $filename ] ) ) { + $shortcode_includes[ $filename ] = $file; + } } /** diff --git a/projects/plugins/jetpack/modules/shortcodes/others.php b/projects/plugins/jetpack/modules/shortcodes/others.php index 3aa90f2debb85..066246ee7921a 100644 --- a/projects/plugins/jetpack/modules/shortcodes/others.php +++ b/projects/plugins/jetpack/modules/shortcodes/others.php @@ -26,7 +26,7 @@ * * @return int The timeout value in seconds. */ -function jetpack_oembed_timeout_override( $timeout, $url ) { +function jetpack_oembed_timeout_override( $timeout, $url = '' ) { if ( is_string( $url ) && str_contains( $url, 'iwmb.icloud.com' ) diff --git a/projects/plugins/jetpack/modules/videopress/shortcode.php b/projects/plugins/jetpack/modules/videopress/shortcode.php index 25f94f6736c12..37af63c349864 100644 --- a/projects/plugins/jetpack/modules/videopress/shortcode.php +++ b/projects/plugins/jetpack/modules/videopress/shortcode.php @@ -127,7 +127,7 @@ public function shortcode_callback( $attr ) { * If there was an invalid or unspecified width, set the width equal to the theme's `$content_width`. */ if ( 0 === $attr['width'] && isset( $content_width ) && $content_width >= VIDEOPRESS_MIN_WIDTH ) { - $attr['width'] = $content_width; + $attr['width'] = (int) $content_width; } /** diff --git a/projects/plugins/jetpack/package.json b/projects/plugins/jetpack/package.json index 7a5e3fdc66067..686076f4ed49b 100644 --- a/projects/plugins/jetpack/package.json +++ b/projects/plugins/jetpack/package.json @@ -89,20 +89,20 @@ "cookie": "1.0.1", "copy-webpack-plugin": "11.0.0", "crypto-js": "4.2.0", - "debug": "4.3.4", + "debug": "4.4.0", "email-validator": "2.0.4", "events": "3.3.0", - "filesize": "8.0.6", + "filesize": "10.1.6", "focus-trap": "6.3.0", "gridicons": "3.4.1", "jsdom": "20.0.3", "mapbox-gl": "1.13.0", - "markdown-it": "14.0.0", + "markdown-it": "14.1.0", "markdown-it-footnote": "3.0.3", "nspell": "2.1.5", "photon": "4.1.1", "postcss-custom-properties": "12.1.7", - "prop-types": "15.7.2", + "prop-types": "15.8.1", "react-redux": "7.2.8", "react-router-dom": "5.3.4", "redux": "4.0.5", @@ -110,16 +110,16 @@ "refx": "3.1.1", "resize-observer-polyfill": "1.5.1", "sass": "1.64.1", - "semver": "7.5.2", + "semver": "7.6.3", "social-logos": "workspace:*", "swiper": "6.7.0", "tinycolor2": "1.4.2", - "tus-js-client": "2.3.0", + "tus-js-client": "4.2.3", "webpack": "5.94.0", "webpack-cli": "4.9.1" }, "devDependencies": { - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-base-styles": "workspace:*", "@automattic/jetpack-webpack-config": "workspace:*", "@automattic/remove-asset-webpack-plugin": "workspace:*", @@ -134,8 +134,8 @@ "@testing-library/react": "16.0.1", "@testing-library/user-event": "14.5.2", "@types/jest": "29.5.12", - "@types/react": "18.3.12", - "@types/wordpress__block-editor": "11.5.15", + "@types/react": "18.3.18", + "@types/wordpress__block-editor": "11.5.16", "@wordpress/api-fetch": "7.14.0", "@wordpress/babel-plugin-import-jsx-pragma": "5.14.0", "@wordpress/blob": "4.14.0", @@ -152,7 +152,7 @@ "babel-jest": "29.4.3", "concurrently": "7.6.0", "eval": "0.1.8", - "glob": "10.4.1", + "glob": "11.0.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", "jquery": "3.6.0", diff --git a/projects/plugins/jetpack/sal/class.json-api-site-base.php b/projects/plugins/jetpack/sal/class.json-api-site-base.php index 0a0e899cc691b..12d0eb89a7f49 100644 --- a/projects/plugins/jetpack/sal/class.json-api-site-base.php +++ b/projects/plugins/jetpack/sal/class.json-api-site-base.php @@ -1562,6 +1562,15 @@ public function get_launchpad_checklist_tasks_statuses() { return array(); } + /** + * Get site option for migration source site domain + * + * @return string + */ + public function get_migration_source_site_domain() { + return get_option( 'migration_source_site_domain', '' ); + } + /** * Detect whether a site is WordPress.com Staging Site. * diff --git a/projects/plugins/jetpack/tests/e2e/package.json b/projects/plugins/jetpack/tests/e2e/package.json index 3af8c58958fc4..d45561b038e83 100644 --- a/projects/plugins/jetpack/tests/e2e/package.json +++ b/projects/plugins/jetpack/tests/e2e/package.json @@ -26,7 +26,7 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=playwright.config.mjs", + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=playwright.config.mjs", "test-decrypt-default-config": "openssl enc -md sha1 -aes-256-cbc -d -pass env:CONFIG_KEY -in ./node_modules/jetpack-e2e-commons/config/encrypted.enc -out ./node_modules/jetpack-e2e-commons/config/local.cjs", "test-decrypt-config": "openssl enc -md sha1 -aes-256-cbc -d -pass env:CONFIG_KEY -in ./config/encrypted.enc -out config/local.cjs", "test-decrypt-all-config": "pnpm test-decrypt-default-config && pnpm test-decrypt-config", @@ -36,7 +36,7 @@ "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/boost/changelog/prerelease#2 b/projects/plugins/protect/changelog/prerelease#11 similarity index 100% rename from projects/plugins/boost/changelog/prerelease#2 rename to projects/plugins/protect/changelog/prerelease#11 diff --git a/projects/plugins/protect/changelog/renovate-definitelytyped#2 b/projects/plugins/protect/changelog/renovate-definitelytyped#2 new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/protect/changelog/renovate-definitelytyped#2 @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/protect/changelog/renovate-moment-2.x b/projects/plugins/protect/changelog/renovate-moment-2.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/protect/changelog/renovate-moment-2.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/protect/changelog/renovate-react-router-monorepo b/projects/plugins/protect/changelog/renovate-react-router-monorepo new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/protect/changelog/renovate-react-router-monorepo @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/protect/composer.lock b/projects/plugins/protect/composer.lock index 19028ae6033fb..920a59e6563a4 100644 --- a/projects/plugins/protect/composer.lock +++ b/projects/plugins/protect/composer.lock @@ -1125,7 +1125,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1163,7 +1163,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/protect/package.json b/projects/plugins/protect/package.json index 1751df7e06f5a..9d6d61047f45c 100644 --- a/projects/plugins/protect/package.json +++ b/projects/plugins/protect/package.json @@ -42,11 +42,11 @@ "@wordpress/url": "4.14.0", "camelize": "1.0.1", "clsx": "2.1.1", - "moment": "2.29.4", + "moment": "2.30.1", "prop-types": "15.8.1", "react": "18.3.1", "react-dom": "18.3.1", - "react-router-dom": "6.2.2" + "react-router-dom": "6.28.1" }, "devDependencies": { "@automattic/babel-plugin-replace-textdomain": "workspace:*", @@ -54,7 +54,7 @@ "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", "@babel/runtime": "7.26.0", - "@types/react": "18.3.12", + "@types/react": "18.3.18", "@wordpress/browserslist-config": "6.14.0", "concurrently": "7.6.0", "sass": "1.64.1", diff --git a/projects/plugins/protect/src/js/data/use-credentials-query.ts b/projects/plugins/protect/src/js/data/use-credentials-query.ts index a5d2ddc8cc703..ebe8339569086 100644 --- a/projects/plugins/protect/src/js/data/use-credentials-query.ts +++ b/projects/plugins/protect/src/js/data/use-credentials-query.ts @@ -8,12 +8,15 @@ import { QUERY_CREDENTIALS_KEY } from '../constants'; * * @return {UseQueryResult} useQuery result. */ -export default function useCredentialsQuery(): UseQueryResult< [ Record< string, unknown > ] > { +export default function useCredentialsQuery(): UseQueryResult< + false | [] | [ Record< string, unknown > ] +> { const { isRegistered } = useConnection( { autoTrigger: false, from: 'protect', redirectUri: null, skipUserConnection: true, + skipPricingPage: true, } ); return useQuery( { diff --git a/projects/plugins/protect/src/js/index.tsx b/projects/plugins/protect/src/js/index.tsx index 4438d5021a664..18bc1fa09e2f5 100644 --- a/projects/plugins/protect/src/js/index.tsx +++ b/projects/plugins/protect/src/js/index.tsx @@ -13,6 +13,7 @@ import { CheckoutProvider } from './hooks/use-plan'; import FirewallRoute from './routes/firewall'; import HomeRoute from './routes/home'; import ScanRoute from './routes/scan'; +import HistoryRoute from './routes/scan/history'; import SetupRoute from './routes/setup'; import './styles.module.scss'; @@ -63,7 +64,7 @@ function render() { path="/scan/history" element={ - + } /> @@ -71,7 +72,7 @@ function render() { path="/scan/history/:filter" element={ - + } /> diff --git a/projects/plugins/protect/src/js/routes/scan/current-threats-data-views.tsx b/projects/plugins/protect/src/js/routes/scan/current-threats-data-views.tsx new file mode 100644 index 0000000000000..4910075577b6b --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/current-threats-data-views.tsx @@ -0,0 +1,32 @@ +import { useCallback } from 'react'; +import useScanStatusQuery from '../../data/scan/use-scan-status-query'; +import useAnalyticsTracks from '../../hooks/use-analytics-tracks'; +import usePlan from '../../hooks/use-plan'; +import useWafData from '../../hooks/use-waf-data'; +import ScanDataViews from './scan-data-views'; + +/** + * Current Threats Data Views + * + * @return {JSX.Element} CurrentThreatsDataViews component. + */ +export default function CurrentThreatsDataViews() { + const { wafSupported } = useWafData(); + const { data: status } = useScanStatusQuery(); + + const { recordEvent } = useAnalyticsTracks(); + const { hasPlan, upgradePlan } = usePlan(); + + const getScan = useCallback( () => { + recordEvent( 'jetpack_protect_threat_modal_get_scan_link_click' ); + upgradePlan(); + }, [ recordEvent, upgradePlan ] ); + + return ( + + ); +} diff --git a/projects/plugins/protect/src/js/routes/scan/history/history-admin-section-hero.tsx b/projects/plugins/protect/src/js/routes/scan/history/history-admin-section-hero.tsx new file mode 100644 index 0000000000000..670bd1c56d281 --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/history/history-admin-section-hero.tsx @@ -0,0 +1,77 @@ +import { Text } from '@automattic/jetpack-components'; +import { dateI18n } from '@wordpress/date'; +import { __, sprintf } from '@wordpress/i18n'; +import clsx from 'clsx'; +import { useMemo } from 'react'; +import AdminSectionHero from '../../../components/admin-section-hero'; +import ErrorAdminSectionHero from '../../../components/error-admin-section-hero'; +import useHistoryQuery from '../../../data/scan/use-history-query'; +import styles from './styles.module.scss'; + +const HistoryAdminSectionHero: React.FC = ( { + size = 'normal', +}: { + size?: 'normal' | 'large'; +} ) => { + const { data: history } = useHistoryQuery(); + const numThreats = history ? history.threats.length : 0; + + const oldestFirstDetected = useMemo( () => { + if ( ! history ) { + return null; + } + + return history.threats.reduce( ( oldest, current ) => { + return new Date( current.firstDetected ) < new Date( oldest.firstDetected ) + ? current + : oldest; + } ).firstDetected; + }, [ history ] ); + + if ( history && history.error ) { + return ( + + ); + } + + return ( + + + + { oldestFirstDetected ? ( + + { sprintf( + /* translators: %s: Oldest first detected date */ + __( '%s - Today', 'jetpack-protect' ), + dateI18n( 'F jS g:i A', oldestFirstDetected, false ) + ) } + + ) : ( + __( 'Most recent results', 'jetpack-protect' ) + ) } + + 0 ? 'error' : 'success' }> + { numThreats > 0 + ? sprintf( + /* translators: %s: Total number of threats */ + __( '%1$s previously active %2$s', 'jetpack-protect' ), + numThreats, + numThreats === 1 ? 'threat' : 'threats' + ) + : __( 'No previously active threats', 'jetpack-protect' ) } + + { __( 'Here you can view all of your threats to date.', 'jetpack-protect' ) } + + + ); +}; + +export default HistoryAdminSectionHero; diff --git a/projects/plugins/protect/src/js/routes/scan/history/history-data-views.tsx b/projects/plugins/protect/src/js/routes/scan/history/history-data-views.tsx new file mode 100644 index 0000000000000..9b41f2ebd0e6e --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/history/history-data-views.tsx @@ -0,0 +1,36 @@ +import { HISTORIC_TABLE_FIELDS } from '@automattic/jetpack-components'; +import { useMemo } from 'react'; +import { useParams } from 'react-router-dom'; +import useHistoryQuery from '../../../data/scan/use-history-query'; +import ScanDataViews from '../scan-data-views'; + +/** + * Scan History Data Viewd + * + * @return {JSX.Element} HistoryDataViews component. + */ +export default function HistoryDataViews() { + const { filter } = useParams(); + const { data: history } = useHistoryQuery(); + + const filters = useMemo( () => { + if ( filter ) { + return [ + { + field: 'status', + value: filter, + operator: 'isAny', + }, + ]; + } + }, [ filter ] ); + + return ( + + ); +} diff --git a/projects/plugins/protect/src/js/routes/scan/history/index.jsx b/projects/plugins/protect/src/js/routes/scan/history/index.jsx new file mode 100644 index 0000000000000..4a45f7d769a05 --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/history/index.jsx @@ -0,0 +1,44 @@ +import { AdminSection, Container, Col } from '@automattic/jetpack-components'; +import AdminPage from '../../../components/admin-page'; +import useHistoryQuery from '../../../data/scan/use-history-query'; +import useScanStatusQuery from '../../../data/scan/use-scan-status-query'; +import HistoryAdminSectionHero from './history-admin-section-hero'; +import HistoryDataViews from './history-data-views'; +import styles from './styles.module.scss'; + +/** + * History Page + * + * The entry point for the History page. + * + * @return {Component} The root component for the scan page. + */ +const HistoryPage = () => { + const { data: status } = useScanStatusQuery(); + const { data: history } = useHistoryQuery(); + + const hasActiveThreats = status && status.threats.length; + const hasHistory = history && history.threats.length; + const showResults = hasActiveThreats || hasHistory; + + return ( + + + { showResults && ( + + + + + + + + ) } + + ); +}; + +export default HistoryPage; diff --git a/projects/plugins/protect/src/js/routes/scan/history/styles.module.scss b/projects/plugins/protect/src/js/routes/scan/history/styles.module.scss new file mode 100644 index 0000000000000..d26a18f627df1 --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/history/styles.module.scss @@ -0,0 +1,20 @@ +.hero-main { + max-width: 550px; +} + +.hero-main--large { + flex: 1 auto; + align-content: center; + height: calc( 100vh - 408px ); +} + +.history-container { + padding-left: 0; + padding-right: 0; + overflow: hidden; + + > * { + margin-left: calc( var( --spacing-base ) * -3 ); // -24px + margin-right: calc( var( --spacing-base ) * -3 ); // -24px + } +} \ No newline at end of file diff --git a/projects/plugins/protect/src/js/routes/scan/index.jsx b/projects/plugins/protect/src/js/routes/scan/index.jsx index f419d04971633..c7c75e8cd0cf9 100644 --- a/projects/plugins/protect/src/js/routes/scan/index.jsx +++ b/projects/plugins/protect/src/js/routes/scan/index.jsx @@ -1,6 +1,5 @@ import { AdminSection, Container, Col } from '@automattic/jetpack-components'; -import { useMemo, useState } from 'react'; -import { useLocation, useParams } from 'react-router-dom'; +import { useState } from 'react'; import AdminPage from '../../components/admin-page'; import OnboardingPopover from '../../components/onboarding-popover'; import useHistoryQuery from '../../data/scan/use-history-query'; @@ -8,9 +7,9 @@ import useScanStatusQuery, { isScanInProgress } from '../../data/scan/use-scan-s import useAnalyticsTracks from '../../hooks/use-analytics-tracks'; import { OnboardingContext } from '../../hooks/use-onboarding'; import usePlan from '../../hooks/use-plan'; +import CurrentThreatsDataViews from './current-threats-data-views'; import onboardingSteps from './onboarding-steps'; import ScanAdminSectionHero from './scan-admin-section-hero'; -import ScanResultsDataView from './scan-results-data-view'; import styles from './styles.module.scss'; /** @@ -22,8 +21,6 @@ import styles from './styles.module.scss'; */ const ScanPage = () => { const { hasPlan } = usePlan(); - const location = useLocation(); - const { filter } = useParams(); const { data: status } = useScanStatusQuery( { usePolling: true } ); const { data: history } = useHistoryQuery(); @@ -42,26 +39,6 @@ const ScanPage = () => { const hasHistory = history && history.threats.length; const showResults = hasActiveThreats || hasHistory; - const filters = useMemo( () => { - if ( location.pathname.includes( '/scan/history' ) ) { - return [ - { - field: 'status', - value: filter ? [ filter ] : [ 'fixed', 'ignored' ], - operator: 'isAny', - }, - ]; - } - - return [ - { - field: 'status', - value: [ 'current' ], - operator: 'isAny', - }, - ]; - }, [ filter, location.pathname ] ); - // Track view for Protect admin page. useAnalyticsTracks( { pageViewEventName: 'protect_admin', @@ -84,7 +61,7 @@ const ScanPage = () => { >
- +
{ !! status && ! isScanInProgress( status ) && ( } props.initialFilters - Initial filters to apply to the data view. + * @param {string[]} props.initialFields - Initial fields to display in the data view. + * @param {boolean} props.isSupportedEnvironment - Indicates if the current environment supports the required features. + * @param {Function} props.handleUpgradeClick - Callback for handling upgrade button click. * - * @return {JSX.Element} ScanResultDataView component. + * @return {JSX.Element} Rendered component. */ -export default function ScanResultsDataView( { - filters = [], +export default function ScanDataViews( { + status, + data, + initialFilters, + initialFields, + isSupportedEnvironment, + handleUpgradeClick, }: { - filters: React.ComponentProps< typeof ThreatsDataViews >[ 'filters' ]; + status?: 'current' | 'historic'; + data: Threat[]; + initialFilters?: { field: string; value: string; operator: string }[]; + initialFields?: string[]; + isSupportedEnvironment?: boolean; + handleUpgradeClick?: () => void; } ) { const { siteSuffix, blogID } = window.jetpackProtectInitialState; const queryClient = useQueryClient(); - const { wafSupported } = useWafData(); - const { data: scanStatus } = useScanStatusQuery(); - const { data: history } = useHistoryQuery(); - - const { recordEvent } = useAnalyticsTracks(); - const { hasPlan, upgradePlan } = usePlan(); - const { fixThreats } = useFixers(); const ignoreThreatMutation = useIgnoreThreatMutation(); const unignoreThreatMutation = useUnIgnoreThreatMutation(); @@ -56,11 +60,6 @@ export default function ScanResultsDataView( { const onModalOpen = useCallback( () => setIsModalOpen( true ), [] ); const onModalClose = useCallback( () => setIsModalOpen( false ), [] ); - const getScan = useCallback( () => { - recordEvent( 'jetpack_protect_threat_modal_get_scan_link_click' ); - upgradePlan(); - }, [ recordEvent, upgradePlan ] ); - const handleFixClick = useCallback( async ( threats: Threat[] ) => { await fixThreats( [ threats[ 0 ].id as number ] ); @@ -100,13 +99,15 @@ export default function ScanResultsDataView( { return ( } /> ); } diff --git a/projects/plugins/protect/src/js/routes/scan/scan-toggle-group-control.tsx b/projects/plugins/protect/src/js/routes/scan/scan-toggle-group-control.tsx new file mode 100644 index 0000000000000..2f47f0b06f5a7 --- /dev/null +++ b/projects/plugins/protect/src/js/routes/scan/scan-toggle-group-control.tsx @@ -0,0 +1,75 @@ +import { + __experimentalToggleGroupControl as ToggleGroupControl, // eslint-disable-line @wordpress/no-unsafe-wp-apis + __experimentalToggleGroupControlOption as ToggleGroupControlOption, // eslint-disable-line @wordpress/no-unsafe-wp-apis +} from '@wordpress/components'; +import { __, sprintf } from '@wordpress/i18n'; +import { useCallback } from 'react'; +import { useLocation, useNavigate } from 'react-router-dom'; +import useHistoryQuery from '../../data/scan/use-history-query'; +import useScanStatusQuery from '../../data/scan/use-scan-status-query'; +import styles from './styles.module.scss'; + +/** + * ToggleGroupControl component for filtering threats by status. + * + * @return {JSX.Element|null} The component or null. + */ +export default function ScanToggleGroupControl(): JSX.Element { + const location = useLocation(); + const navigate = useNavigate(); + const { data: status } = useScanStatusQuery(); + const { data: history } = useHistoryQuery(); + const numActiveThreats = status ? status.threats.length : 0; + const numHistoricThreats = history ? history.threats.length : 0; + + const selectedValue = location.pathname.includes( '/history' ) ? 'historic' : 'current'; + + const onChange = useCallback( + ( value: 'current' | 'historic' ) => { + navigate( value === 'current' ? '/scan' : '/scan/history' ); + }, + [ navigate ] + ); + + if ( ! ( numHistoricThreats + numActiveThreats ) ) { + return null; + } + + try { + return ( +
+
+ + + + +
+
+ ); + } catch { + return null; + } +} diff --git a/projects/plugins/protect/src/js/routes/scan/styles.module.scss b/projects/plugins/protect/src/js/routes/scan/styles.module.scss index 6a04aedcda048..dbaebc0c38e87 100644 --- a/projects/plugins/protect/src/js/routes/scan/styles.module.scss +++ b/projects/plugins/protect/src/js/routes/scan/styles.module.scss @@ -1,5 +1,5 @@ .hero-main { - max-width: 512px; + max-width: 550px; } .hero-main--large { @@ -33,3 +33,7 @@ .last-checked { width: fit-content; } + +.toggle-group-control { + min-width: 300px; +} diff --git a/projects/plugins/protect/src/js/types/global.d.ts b/projects/plugins/protect/src/js/types/global.d.ts index 826b133869a7a..d5f90523ee6d2 100644 --- a/projects/plugins/protect/src/js/types/global.d.ts +++ b/projects/plugins/protect/src/js/types/global.d.ts @@ -12,7 +12,7 @@ declare global { apiRoot: string; apiNonce: string; registrationNonce: string; - credentials: [ Record< string, unknown > ]; + credentials: false | [] | [ Record< string, unknown > ]; status: ScanStatus; fixerStatus: FixersStatus; scanHistory: ScanStatus; diff --git a/projects/plugins/search/changelog/fix-playwright_install_tweaks b/projects/plugins/search/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/search/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/boost/changelog/prerelease#3 b/projects/plugins/search/changelog/prerelease#18 similarity index 100% rename from projects/plugins/boost/changelog/prerelease#3 rename to projects/plugins/search/changelog/prerelease#18 diff --git a/projects/plugins/search/changelog/renovate-config-3.x b/projects/plugins/search/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/search/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/search/composer.lock b/projects/plugins/search/composer.lock index 844752e99441f..f06b70a74691c 100644 --- a/projects/plugins/search/composer.lock +++ b/projects/plugins/search/composer.lock @@ -1065,7 +1065,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1103,7 +1103,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/search/tests/e2e/package.json b/projects/plugins/search/tests/e2e/package.json index 6440f8675589e..56ce4e0989500 100644 --- a/projects/plugins/search/tests/e2e/package.json +++ b/projects/plugins/search/tests/e2e/package.json @@ -23,12 +23,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/social/changelog/fix-playwright_install_tweaks b/projects/plugins/social/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/social/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/boost/changelog/prerelease#4 b/projects/plugins/social/changelog/prerelease#11 similarity index 100% rename from projects/plugins/boost/changelog/prerelease#4 rename to projects/plugins/social/changelog/prerelease#11 diff --git a/projects/plugins/social/changelog/renovate-automattic-color-studio-4.x b/projects/plugins/social/changelog/renovate-automattic-color-studio-4.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/social/changelog/renovate-automattic-color-studio-4.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/social/changelog/renovate-config-3.x b/projects/plugins/social/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/social/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/social/changelog/renovate-definitelytyped#2 b/projects/plugins/social/changelog/renovate-definitelytyped#2 new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/social/changelog/renovate-definitelytyped#2 @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/social/composer.lock b/projects/plugins/social/composer.lock index 5f2d3aa774d7c..d703c4a28382e 100644 --- a/projects/plugins/social/composer.lock +++ b/projects/plugins/social/composer.lock @@ -1065,7 +1065,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1103,7 +1103,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/social/package.json b/projects/plugins/social/package.json index 5980effb41fef..3c7107c889539 100644 --- a/projects/plugins/social/package.json +++ b/projects/plugins/social/package.json @@ -46,7 +46,7 @@ }, "devDependencies": { "@automattic/calypso-color-schemes": "3.1.3", - "@automattic/color-studio": "2.6.0", + "@automattic/color-studio": "4.0.0", "@automattic/jetpack-webpack-config": "workspace:*", "@babel/core": "7.26.0", "@babel/preset-env": "7.26.0", @@ -54,8 +54,8 @@ "@csstools/postcss-global-data": "2.1.1", "@testing-library/dom": "10.4.0", "@testing-library/react": "16.0.1", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/react": "18.3.18", + "@types/react-dom": "18.3.5", "@wordpress/browserslist-config": "6.14.0", "autoprefixer": "10.4.20", "babel-jest": "29.4.3", diff --git a/projects/plugins/social/tests/e2e/package.json b/projects/plugins/social/tests/e2e/package.json index b478405ef1752..f15c2a56b88f1 100644 --- a/projects/plugins/social/tests/e2e/package.json +++ b/projects/plugins/social/tests/e2e/package.json @@ -27,12 +27,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/starter-plugin/changelog/fix-playwright_install_tweaks b/projects/plugins/starter-plugin/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/starter-plugin/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/starter-plugin/changelog/prerelease#3 b/projects/plugins/starter-plugin/changelog/prerelease#3 new file mode 100644 index 0000000000000..9aa70e3ec1f75 --- /dev/null +++ b/projects/plugins/starter-plugin/changelog/prerelease#3 @@ -0,0 +1,5 @@ +Significance: patch +Type: changed +Comment: Updated composer.lock. + + diff --git a/projects/plugins/starter-plugin/changelog/renovate-config-3.x b/projects/plugins/starter-plugin/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/starter-plugin/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/starter-plugin/composer.lock b/projects/plugins/starter-plugin/composer.lock index 2b5cee01e55e6..1d34db41069a8 100644 --- a/projects/plugins/starter-plugin/composer.lock +++ b/projects/plugins/starter-plugin/composer.lock @@ -1065,7 +1065,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1103,7 +1103,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/starter-plugin/tests/e2e/package.json b/projects/plugins/starter-plugin/tests/e2e/package.json index 68195c8b5978c..41cbbf0950ed3 100644 --- a/projects/plugins/starter-plugin/tests/e2e/package.json +++ b/projects/plugins/starter-plugin/tests/e2e/package.json @@ -25,12 +25,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/videopress/changelog/fix-playwright_install_tweaks b/projects/plugins/videopress/changelog/fix-playwright_install_tweaks new file mode 100644 index 0000000000000..ebeba9b69f473 --- /dev/null +++ b/projects/plugins/videopress/changelog/fix-playwright_install_tweaks @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +E2E Tests: Only install single browser used by Playwright. diff --git a/projects/plugins/videopress/changelog/prerelease#18 b/projects/plugins/videopress/changelog/prerelease#18 new file mode 100644 index 0000000000000..9aa70e3ec1f75 --- /dev/null +++ b/projects/plugins/videopress/changelog/prerelease#18 @@ -0,0 +1,5 @@ +Significance: patch +Type: changed +Comment: Updated composer.lock. + + diff --git a/projects/plugins/videopress/changelog/renovate-config-3.x b/projects/plugins/videopress/changelog/renovate-config-3.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/videopress/changelog/renovate-config-3.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/videopress/composer.lock b/projects/plugins/videopress/composer.lock index bdfef9121ba65..6a9e6604f9891 100644 --- a/projects/plugins/videopress/composer.lock +++ b/projects/plugins/videopress/composer.lock @@ -1065,7 +1065,7 @@ "dist": { "type": "path", "url": "../../packages/my-jetpack", - "reference": "1356c22d5af932cc2f331bb5d2762a31609b14ed" + "reference": "73105b323ea52768c8db48a442ee4290d68b6efa" }, "require": { "automattic/jetpack-admin-ui": "@dev", @@ -1103,7 +1103,7 @@ "link-template": "https://github.com/Automattic/jetpack-my-jetpack/compare/${old}...${new}" }, "branch-alias": { - "dev-trunk": "5.2.x-dev" + "dev-trunk": "5.3.x-dev" }, "version-constants": { "::PACKAGE_VERSION": "src/class-initializer.php" diff --git a/projects/plugins/videopress/tests/e2e/package.json b/projects/plugins/videopress/tests/e2e/package.json index c7c9f604db86b..7ebc72623571e 100644 --- a/projects/plugins/videopress/tests/e2e/package.json +++ b/projects/plugins/videopress/tests/e2e/package.json @@ -25,12 +25,12 @@ "tunnel:reset": "tunnel reset", "tunnel:down": "tunnel down", "pretest:run": "pnpm run clean", - "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" + "test:run": ". ./node_modules/jetpack-e2e-commons/bin/app-password.sh && playwright install --with-deps chromium && NODE_CONFIG_DIR='./config' ALLURE_RESULTS_DIR=./output/allure-results NODE_PATH=\"$PWD/node_modules\" playwright test --config=./playwright.config.mjs" }, "devDependencies": { "@playwright/test": "1.48.2", "allure-playwright": "2.9.2", - "config": "3.3.7", + "config": "3.3.12", "jetpack-e2e-commons": "workspace:*" }, "browserslist": [], diff --git a/projects/plugins/wpcomsh/changelog/fix-color-palette b/projects/plugins/wpcomsh/changelog/fix-color-palette new file mode 100644 index 0000000000000..ac1e4b1d58d0c --- /dev/null +++ b/projects/plugins/wpcomsh/changelog/fix-color-palette @@ -0,0 +1,4 @@ +Significance: patch +Type: fixed + +Fixe the color palette now showing up. diff --git a/projects/plugins/wpcomsh/changelog/renovate-wordpress-classic-editor-plugin-1.x b/projects/plugins/wpcomsh/changelog/renovate-wordpress-classic-editor-plugin-1.x new file mode 100644 index 0000000000000..c47cb18e82997 --- /dev/null +++ b/projects/plugins/wpcomsh/changelog/renovate-wordpress-classic-editor-plugin-1.x @@ -0,0 +1,4 @@ +Significance: patch +Type: changed + +Updated package dependencies. diff --git a/projects/plugins/wpcomsh/composer.json b/projects/plugins/wpcomsh/composer.json index b730569d4d8cf..2a3ec17bd1074 100644 --- a/projects/plugins/wpcomsh/composer.json +++ b/projects/plugins/wpcomsh/composer.json @@ -10,7 +10,7 @@ "automattic/custom-fonts-typekit": "^2.0", "automattic/text-media-widget-styles": "^2.0", "automattic/wc-calypso-bridge": "2.8.1", - "wordpress/classic-editor-plugin": "1.5", + "wordpress/classic-editor-plugin": "1.6.7", "automattic/jetpack-config": "@dev", "automattic/jetpack-post-list": "@dev", "automattic/jetpack-mu-wpcom": "@dev", @@ -104,15 +104,15 @@ "type": "package", "package": { "name": "wordpress/classic-editor-plugin", - "version": "1.5", + "version": "1.6.7", "dist": { - "url": "https://downloads.wordpress.org/plugin/classic-editor.1.5.zip", + "url": "https://downloads.wordpress.org/plugin/classic-editor.1.6.7.zip", "type": "zip" }, "source": { "url": "https://plugins.svn.wordpress.org/classic-editor/", "type": "svn", - "reference": "tags/1.5/" + "reference": "tags/1.6.7/" }, "autoload": { "classmap": [] diff --git a/projects/plugins/wpcomsh/composer.lock b/projects/plugins/wpcomsh/composer.lock index b1f66cadbde5d..b3c2e266f04c9 100644 --- a/projects/plugins/wpcomsh/composer.lock +++ b/projects/plugins/wpcomsh/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "968ee97b016c98ecc588293d5e0b4d65", + "content-hash": "8c59e3217b08130af57bb70a9a912b62", "packages": [ { "name": "automattic/at-pressable-podcasting", @@ -2140,15 +2140,15 @@ }, { "name": "wordpress/classic-editor-plugin", - "version": "1.5", + "version": "1.6.7", "source": { "type": "svn", "url": "https://plugins.svn.wordpress.org/classic-editor/", - "reference": "tags/1.5/" + "reference": "tags/1.6.7/" }, "dist": { "type": "zip", - "url": "https://downloads.wordpress.org/plugin/classic-editor.1.5.zip" + "url": "https://downloads.wordpress.org/plugin/classic-editor.1.6.7.zip" }, "type": "library", "autoload": { diff --git a/projects/plugins/wpcomsh/custom-colors/colors.php b/projects/plugins/wpcomsh/custom-colors/colors.php index 3362f2ff7bb63..93fafa904ca1c 100644 --- a/projects/plugins/wpcomsh/custom-colors/colors.php +++ b/projects/plugins/wpcomsh/custom-colors/colors.php @@ -389,7 +389,7 @@ public static function register_scripts_and_styles() { // register scripts wp_register_script( 'Color.js', plugins_url( 'js/color.js', __FILE__ ), array(), '20121210', true ); wp_register_script( 'colors-instapreview', plugins_url( 'js/colors-theme-preview.js', __FILE__ ), array( 'customize-preview', 'jquery', 'Color.js' ), '20121210', true ); - wp_register_script( 'colors-tool', plugins_url( 'js/colors-control.js', __FILE__ ), array( 'customize-controls', 'iris' ), '20160726', true ); + wp_register_script( 'colors-tool', plugins_url( 'js/colors-control.js', __FILE__ ), array( 'customize-controls', 'iris' ), '20250102', true ); wp_register_script( 'spin', plugins_url( 'js/spin.js', __FILE__ ), array(), '1.3', true ); wp_register_script( 'jquery.spin', plugins_url( 'js/jquery.spin.js', __FILE__ ), array( 'spin' ), '20210111', true ); } diff --git a/projects/plugins/wpcomsh/custom-colors/js/colors-control.js b/projects/plugins/wpcomsh/custom-colors/js/colors-control.js index 2cbb1fa480250..eb3c9db6c72ab 100644 --- a/projects/plugins/wpcomsh/custom-colors/js/colors-control.js +++ b/projects/plugins/wpcomsh/custom-colors/js/colors-control.js @@ -308,7 +308,8 @@ const morePaletteClickHandler = function () { // Load palettes into a client-side cache 40 at a time // and refresh that cache one page before it's necessary. - if ( ct.paletteIndex <= ct.palettes.length - ct.palettesAtATime ) { + const lastIndex = Math.max( ct.palettes.length, ct.palettes.length - ct.palettesAtATime ); + if ( lastIndex > ct.paletteIndex ) { ct.showPalettes( ct.paletteIndex ); } @@ -766,6 +767,9 @@ // Construct the color palettes for ( let i = paletteIndex, _len = paletteIndex + 6; i < _len; i++ ) { + if ( undefined === ct.palettes[ i ] ) { + continue; + } const new_palette = $( '
    ' ).addClass( 'color-grid colour-lovers' ); for ( const color_key in ct.palettes[ i ].colors ) { diff --git a/tools/cli/package.json b/tools/cli/package.json index fbd9e897debec..428d9d11f404a 100644 --- a/tools/cli/package.json +++ b/tools/cli/package.json @@ -24,12 +24,12 @@ "@octokit/auth-token": "5.1.1", "@octokit/rest": "20.1.1", "chalk": "5.4.1", - "chokidar": "3.5.3", - "configstore": "5.0.1", + "chokidar": "4.0.3", + "configstore": "7.0.0", "enquirer": "2.4.1", - "envfile": "6.17.0", + "envfile": "7.1.0", "execa": "7.0.0", - "glob": "10.4.1", + "glob": "11.0.0", "ignore": "7.0.0", "js-yaml": "4.1.0", "listr": "0.14.3", @@ -41,7 +41,7 @@ "path-name": "1.0.0", "pluralize": "8.0.0", "process": "0.11.10", - "semver": "7.5.2", + "semver": "7.6.3", "sprintf-js": "1.1.2", "tmp": "0.2.3", "yargs": "17.6.2" diff --git a/tools/e2e-commons/package.json b/tools/e2e-commons/package.json index e26c5a1430704..ba94f3a366a03 100644 --- a/tools/e2e-commons/package.json +++ b/tools/e2e-commons/package.json @@ -25,7 +25,7 @@ "allure-playwright": "2.9.2", "axios": "1.7.4", "chalk": "5.4.1", - "config": "3.3.7", + "config": "3.3.12", "localtunnel": "2.0.2", "lodash-es": "4.17.21", "node-fetch": "2.6.7", diff --git a/tools/js-tools/package.json b/tools/js-tools/package.json index ebd555c211ba8..2ce3575ef90a3 100644 --- a/tools/js-tools/package.json +++ b/tools/js-tools/package.json @@ -14,7 +14,7 @@ "@automattic/eslint-config-target-es": "workspace:*", "@babel/core": "7.26.0", "@babel/eslint-parser": "7.25.9", - "@babel/preset-react": "7.25.9", + "@babel/preset-react": "7.26.3", "@babel/preset-typescript": "7.26.0", "@eslint/compat": "1.2.4", "@eslint/eslintrc": "3.2.0", @@ -26,7 +26,7 @@ "@wordpress/jest-console": "8.14.0", "babel-jest": "29.4.3", "chalk": "5.4.1", - "debug": "4.3.4", + "debug": "4.4.0", "enquirer": "2.4.1", "eslint": "9.16.0", "eslint-config-prettier": "9.1.0", @@ -45,7 +45,7 @@ "eslint-plugin-react-hooks": "5.1.0", "eslint-plugin-svelte": "2.46.1", "eslint-plugin-testing-library": "7.1.1", - "glob": "10.4.1", + "glob": "11.0.0", "globals": "15.13.0", "ignore": "7.0.0", "jest": "29.7.0", @@ -55,7 +55,7 @@ "parse-diff": "0.8.1", "prettier": "npm:wp-prettier@3.0.3", "prettier-plugin-svelte": "3.3.2", - "semver": "7.5.2", + "semver": "7.6.3", "sort-package-json": "1.50.0", "svelte": "4.2.19", "svelte-eslint-parser": "0.39.2",