From 2a0a66fa0f2c0269034754ea7dd716e5cefaf53c Mon Sep 17 00:00:00 2001 From: Lena Morita Date: Wed, 18 Dec 2024 03:13:12 +0900 Subject: [PATCH 1/3] RadioGroup: Log deprecation warning --- packages/components/src/radio-group/index.tsx | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/components/src/radio-group/index.tsx b/packages/components/src/radio-group/index.tsx index e59775c00a8023..74d726e7e0bc29 100644 --- a/packages/components/src/radio-group/index.tsx +++ b/packages/components/src/radio-group/index.tsx @@ -6,6 +6,7 @@ import * as Ariakit from '@ariakit/react'; /** * WordPress dependencies */ +import deprecated from '@wordpress/deprecated'; import { useMemo, forwardRef } from '@wordpress/element'; import { isRTL } from '@wordpress/i18n'; @@ -46,6 +47,12 @@ function UnforwardedRadioGroup( [ radioStore, disabled ] ); + deprecated( 'wp.components.__experimentalRadioGroup', { + alternative: + 'wp.components.RadioControl or wp.components.__experimentalToggleGroupControl', + since: '6.8', + } ); + return ( Date: Wed, 18 Dec 2024 04:33:02 +0900 Subject: [PATCH 2/3] Add changelog --- packages/components/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/components/CHANGELOG.md b/packages/components/CHANGELOG.md index 7b5ec64bd44ca5..10fe8f785f9374 100644 --- a/packages/components/CHANGELOG.md +++ b/packages/components/CHANGELOG.md @@ -11,6 +11,7 @@ - `TreeSelect`: Deprecate 36px default size ([#67855](https://github.com/WordPress/gutenberg/pull/67855)). - `SelectControl`: Deprecate 36px default size ([#66898](https://github.com/WordPress/gutenberg/pull/66898)). - `InputControl`: Deprecate 36px default size ([#66897](https://github.com/WordPress/gutenberg/pull/66897)). +- `RadioGroup`: Log deprecation warning ([#68067](https://github.com/WordPress/gutenberg/pull/68067)). ### Bug Fixes From a3f9c9f1700eff877b12e685b5d5b06c4a50165a Mon Sep 17 00:00:00 2001 From: Lena Morita Date: Wed, 18 Dec 2024 06:09:00 +0900 Subject: [PATCH 3/3] Suppress warning for internal ButtonGroup --- packages/components/src/button-group/index.tsx | 12 +++++++----- packages/components/src/button-group/types.ts | 7 +++++++ packages/components/src/radio-group/index.tsx | 6 +++++- 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/packages/components/src/button-group/index.tsx b/packages/components/src/button-group/index.tsx index 4bdf3a139188b5..e073b0c3b359b8 100644 --- a/packages/components/src/button-group/index.tsx +++ b/packages/components/src/button-group/index.tsx @@ -20,13 +20,15 @@ function UnforwardedButtonGroup( props: WordPressComponentProps< ButtonGroupProps, 'div', false >, ref: ForwardedRef< HTMLDivElement > ) { - const { className, ...restProps } = props; + const { className, __shouldNotWarnDeprecated, ...restProps } = props; const classes = clsx( 'components-button-group', className ); - deprecated( 'wp.components.ButtonGroup', { - since: '6.8', - alternative: 'wp.components.ToggleGroupControl', - } ); + if ( ! __shouldNotWarnDeprecated ) { + deprecated( 'wp.components.ButtonGroup', { + since: '6.8', + alternative: 'wp.components.__experimentalToggleGroupControl', + } ); + } return (
diff --git a/packages/components/src/button-group/types.ts b/packages/components/src/button-group/types.ts index 0bc162d5cf1c74..57388c7b5fc095 100644 --- a/packages/components/src/button-group/types.ts +++ b/packages/components/src/button-group/types.ts @@ -8,4 +8,11 @@ export type ButtonGroupProps = { * The children elements. */ children: ReactNode; + /** + * Do not throw a warning for component deprecation. + * For internal components of other components that already throw the warning. + * + * @ignore + */ + __shouldNotWarnDeprecated?: boolean; }; diff --git a/packages/components/src/radio-group/index.tsx b/packages/components/src/radio-group/index.tsx index 74d726e7e0bc29..589d20ffdaae5b 100644 --- a/packages/components/src/radio-group/index.tsx +++ b/packages/components/src/radio-group/index.tsx @@ -57,7 +57,11 @@ function UnforwardedRadioGroup( { children } } + render={ + + { children } + + } aria-label={ label } ref={ ref } { ...props }