CROPRO Documentation: UI Customization

UI customization

If you have tried the demo on the front page of you probably noticed that you can adjust CROPRO UI to adhere to the color scheme of your application. Here's how...

Two approaches

You adjust the UI styling via the CropArea.styles.settings property.

There are two types of styling-related properties available under the styles.settings:

  1. The easiest but fairly limited approach is to change xxxYyyColor-style properties. These set the color of a particular element such as toolbarBackgroundColor.
  2. The other, more flexible, way is setting xxxYyyClassName-style properties. This way you can set CSS class names of specific elements and gain more flexibility in what you can do.

Technically, you can combine both approaches but for predictable results, you should pick one or the other.

Front page demo styling

This site uses Tailwind CSS framework and we've used Tailwind CSS utility classes to style the front page demo to fit the style of the site.

Here's the relevant part of the demo code:

cropArea.styles.settings.toolbarStyleColorsClassName = 'bg-white'; cropArea.styles.settings.toolbarButtonStyleColorsClassName = 'bg-gradient-to-t from-white to-white hover:from-white hover:via-pink-100 hover:to-white fill-current text-pink-300'; cropArea.styles.settings.toolbarActiveButtonStyleColorsClassName = 'bg-gradient-to-t from-white to-pink-50 fill-current text-pink-400'; cropArea.styles.settings.toolbarStraightenerColorsClassName = 'text-pink-300 fill-current'; cropArea.styles.settings.toolbarBackgroundColor = 'white'; cropArea.styles.settings.canvasBackgroundColor = 'white';

Try to avoid setting layout-related styles

Technically, there's nothing preventing you from setting any CSS properties you like in the CSS classes you specify in the xxxYyyColorsClassName properties. But as the name suggests try sticking to the color-related properties and avoid anything that can affect layout.

Any attempts to set layout-related styles will likely result in undesired side-effects.

See also

  • Check out the IStyleSettings interface for the list of all of the available UI customization properties.