From 5ff17de37ab95825cf78d838ea13ea21ab1c0997 Mon Sep 17 00:00:00 2001 From: Jorge Costa Date: Mon, 12 Aug 2024 23:12:26 +0100 Subject: [PATCH] feedback --- .../dataviews-layouts/grid/density-picker.tsx | 108 ++++++++---------- .../src/dataviews-layouts/grid/style.scss | 4 - 2 files changed, 46 insertions(+), 66 deletions(-) diff --git a/packages/dataviews/src/dataviews-layouts/grid/density-picker.tsx b/packages/dataviews/src/dataviews-layouts/grid/density-picker.tsx index 0a96bb84821d3d..9ec2fa86235621 100644 --- a/packages/dataviews/src/dataviews-layouts/grid/density-picker.tsx +++ b/packages/dataviews/src/dataviews-layouts/grid/density-picker.tsx @@ -1,16 +1,10 @@ /** * WordPress dependencies */ -import { - BaseControl, - RangeControl, - Button, - __experimentalHStack as HStack, -} from '@wordpress/components'; +import { RangeControl } from '@wordpress/components'; import { __ } from '@wordpress/i18n'; import { useViewportMatch } from '@wordpress/compose'; -import { plus, reset } from '@wordpress/icons'; -import { useEffect } from '@wordpress/element'; +import { useEffect, useMemo } from '@wordpress/element'; const viewportBreaks = { xhuge: { min: 3, max: 6, default: 5 }, @@ -83,64 +77,54 @@ export default function DensityPicker( { return _density; } ); }, [ setDensity, viewport ] ); - if ( ! viewport ) { - return null; - } - const breakValues = viewportBreaks[ viewport ]; + const breakValues = viewportBreaks[ viewport || 'mobile' ]; const densityToUse = density || breakValues.default; const rangeValue = getRangeValue( densityToUse, breakValues ); const step = 100 / ( breakValues.max - breakValues.min + 1 ); + const marks = useMemo( + () => + Array.from( + { length: breakValues.max - breakValues.min + 1 }, + ( _, i ) => { + const value = getRangeValue( + i + breakValues.min, + breakValues + ); + return { + value, + }; + } + ), + [ breakValues ] + ); + if ( ! viewport ) { + return null; + } return ( - - - { __( 'Item size' ) } - - -