diff --git a/packages/components/src/custom-gradient-picker/gradient-bar/index.tsx b/packages/components/src/custom-gradient-picker/gradient-bar/index.tsx index 4f5eafb17523b4..44deda8ec481d8 100644 --- a/packages/components/src/custom-gradient-picker/gradient-bar/index.tsx +++ b/packages/components/src/custom-gradient-picker/gradient-bar/index.tsx @@ -22,6 +22,25 @@ import type { } from '../types'; import type { MouseEventHandler } from 'react'; +const isLightGradient = ( + background: React.CSSProperties[ 'background' ] +): boolean => { + if ( typeof background !== 'string' ) { + return false; + } + + return ( + background.includes( 'rgb(255, 255, 255)' ) || + background.includes( '#fff' ) || + background.includes( '#ffffff' ) || + background.includes( 'white' ) || + // Check for rgba with high values. + /rgba?\(\s*(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s*(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d),\s*(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)(?:,\s*(?:0?\.\d+|1))?\s*\)/.test( + background + ) + ); +}; + const customGradientBarReducer = ( state: CustomGradientBarReducerState, action: CustomGradientBarReducerAction @@ -135,7 +154,11 @@ export default function CustomGradientBar( {