diff --git a/packages/block-editor/src/components/font-appearance-control/index.js b/packages/block-editor/src/components/font-appearance-control/index.js index 18e814ad23ddb4..bed80b529453f6 100644 --- a/packages/block-editor/src/components/font-appearance-control/index.js +++ b/packages/block-editor/src/components/font-appearance-control/index.js @@ -203,6 +203,8 @@ export default function FontAppearanceControl( props ) { ); }; + console.debug( 'selectOptions: ', selectOptions ); + return ( hasStylesOrWeights && ( - onChange( selectedItem.style ) - } + onChange={ ( { selectedItem } ) => { + console.debug( 'selectedItem:' ); + console.debug( selectedItem ); + onChange( selectedItem.style ); + } } /> ) ); diff --git a/packages/block-editor/src/components/global-styles/typography-panel.js b/packages/block-editor/src/components/global-styles/typography-panel.js index 76836c775bb807..b2b1256e3bad6e 100644 --- a/packages/block-editor/src/components/global-styles/typography-panel.js +++ b/packages/block-editor/src/components/global-styles/typography-panel.js @@ -223,6 +223,8 @@ export default function TypographyPanel( { fontStyle: newFontStyle, fontWeight: newFontWeight, } ) => { + console.debug(fontStyle); + console.debug(fontWeight); onChange( { ...value, typography: { diff --git a/packages/components/src/custom-select-control-v2/legacy-component/index.tsx b/packages/components/src/custom-select-control-v2/legacy-component/index.tsx index 0472d7df327b6f..2e35965e86e982 100644 --- a/packages/components/src/custom-select-control-v2/legacy-component/index.tsx +++ b/packages/components/src/custom-select-control-v2/legacy-component/index.tsx @@ -30,25 +30,22 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) { // Forward props + store from v2 implementation const store = Ariakit.useSelectStore( { async setValue( nextValue ) { - if ( ! onChange ) { - return; - } + if ( ! onChange ) return; // Executes the logic in a microtask after the popup is closed. // This is simply to ensure the isOpen state matches that in Downshift. await Promise.resolve(); const state = store.getState(); + const option = options.find( ( item ) => item.name === nextValue ); + const changeObject = { highlightedIndex: state.renderedItems.findIndex( ( item ) => item.value === nextValue ), inputValue: '', isOpen: state.open, - selectedItem: { - name: nextValue as string, - key: nextValue as string, - }, + selectedItem: option!, type: '', }; onChange( changeObject ); @@ -131,3 +128,14 @@ function CustomSelectControl( props: LegacyCustomSelectProps ) { } export default CustomSelectControl; + +// for backwards compatibility +export function ClassicCustomSelectControl( props: LegacyCustomSelectProps ) { + console.debug( props ); + return ( + + ); +} diff --git a/packages/components/src/index.ts b/packages/components/src/index.ts index a824162cb24129..d4db97ff33dacc 100644 --- a/packages/components/src/index.ts +++ b/packages/components/src/index.ts @@ -63,7 +63,8 @@ export { useCompositeState as __unstableUseCompositeState, } from './composite'; export { ConfirmDialog as __experimentalConfirmDialog } from './confirm-dialog'; -export { StableCustomSelectControl as CustomSelectControl } from './custom-select-control'; +export { ClassicCustomSelectControl as CustomSelectControl } from './custom-select-control-v2/legacy-component'; +export { default as CustomSelectControlV2 } from './custom-select-control-v2'; export { default as Dashicon } from './dashicon'; export { default as DateTimePicker, DatePicker, TimePicker } from './date-time'; export { default as __experimentalDimensionControl } from './dimension-control';