From 2bd87db819d54bb203acb0b8fb31a6da32590d0f Mon Sep 17 00:00:00 2001 From: Glen Davies Date: Mon, 15 Aug 2022 13:49:23 +1200 Subject: [PATCH] Implement disabling of custom space sizes --- .../spacing-input-control.js | 53 +++++++++++-------- 1 file changed, 32 insertions(+), 21 deletions(-) diff --git a/packages/block-editor/src/components/spacing-sizes-control/spacing-input-control.js b/packages/block-editor/src/components/spacing-sizes-control/spacing-input-control.js index 98f7e5f5650759..2a9ed938e043c4 100644 --- a/packages/block-editor/src/components/spacing-sizes-control/spacing-input-control.js +++ b/packages/block-editor/src/components/spacing-sizes-control/spacing-input-control.js @@ -7,6 +7,7 @@ import classnames from 'classnames'; * WordPress dependencies */ import { useState, useMemo } from '@wordpress/element'; +import { useSelect } from '@wordpress/data'; import { Button, RangeControl, @@ -24,6 +25,7 @@ import { settings } from '@wordpress/icons'; * Internal dependencies */ import useSetting from '../use-setting'; +import { store as blockEditorStore } from '../../store'; import { LABELS, getSliderValueFromPreset, @@ -43,8 +45,15 @@ export default function SpacingInputControl( { let selectListSizes = spacingSizes; const showRangeControl = spacingSizes.length <= 8; + const disableCustomSpacingSizes = useSelect( ( select ) => { + const editorSettings = select( blockEditorStore ).getSettings(); + return editorSettings?.disableCustomSpacingSizes; + } ); + const [ showCustomValueControl, setShowCustomValueControl ] = useState( - value !== undefined && ! isValueSpacingPreset( value ) + ! disableCustomSpacingSizes && + value !== undefined && + ! isValueSpacingPreset( value ) ); const units = useCustomUnits( { @@ -171,26 +180,28 @@ export default function SpacingInputControl( { ) } -