From 458a2b8878b493a0fac696ec291408995a6b7578 Mon Sep 17 00:00:00 2001
From: Aaron Robertshaw <60436221+aaronrobertshaw@users.noreply.github.com>
Date: Fri, 21 Apr 2023 13:14:27 +1000
Subject: [PATCH] Leverage popover props to modify palette popovers on mobile
---
.../components/global-styles/color-palette-panel.js | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/packages/edit-site/src/components/global-styles/color-palette-panel.js b/packages/edit-site/src/components/global-styles/color-palette-panel.js
index 7bf422b878e01..e81b35772e2df 100644
--- a/packages/edit-site/src/components/global-styles/color-palette-panel.js
+++ b/packages/edit-site/src/components/global-styles/color-palette-panel.js
@@ -1,6 +1,7 @@
/**
* WordPress dependencies
*/
+import { useViewportMatch } from '@wordpress/compose';
import {
__experimentalPaletteEdit as PaletteEdit,
__experimentalVStack as VStack,
@@ -43,6 +44,15 @@ export default function ColorPalettePanel( { name } ) {
'color.defaultPalette',
name
);
+
+ const isMobileViewport = useViewportMatch( 'small', '<' );
+ const popoverProps = isMobileViewport
+ ? {
+ placement: 'bottom-start',
+ offset: 8,
+ }
+ : undefined;
+
return (
) }
{ !! defaultColors &&
@@ -68,6 +79,7 @@ export default function ColorPalettePanel( { name } ) {
onChange={ setDefaultColors }
paletteLabel={ __( 'Default' ) }
paletteLabelHeadingLevel={ 3 }
+ popoverProps={ popoverProps }
/>
) }
);