Adding Petals

There are three ways to add a petal:

  • Add button. Click the add button (+) in the floating toolbar. Petals generates a color that complements the existing palette.
  • Double-click the background. Double-click any empty area in the palette zone. A new petal appears at the click position, then animates into the flower layout. The vertical position of your click influences color boldness: clicking near the top produces subtler colors, while clicking lower produces bolder ones.
  • Import. Use the preset viewer’s import button to paste hex codes, a Coolors URL, or CSS variables. Petals parses the colors and creates a new palette.

Each palette holds up to 19 petals. When you hit the limit, the add button shakes briefly. After four rapid attempts, a toast message confirms the palette is full.

Editing a Petal’s Color

Double-click a petal to open the color picker. Petals offers two picker options, configurable in settings:

  • Built-in picker is a hex color picker modal that appears inside the panel. Type a hex value or use the color field to select visually.
  • System picker uses the macOS system color picker, which includes an eyedropper tool for sampling colors from anywhere on screen.

After confirming a new color, the change is applied immediately. All layers linked to that petal update automatically.

Reordering Petals

Hold a petal for about 300ms until it lifts into a draggable state, then drag it to a new position. As you drag over other slots, petals swap positions with spring animations. Release to drop the petal into its new slot.

The slot order determines the sequence used when applying palettes across compositions.

Context Menu

Right-click any petal to open a context menu with two options:

  • Lock petal / Unlock petal toggles the lock state. A lock icon appears on locked petals.
  • Delete petal removes the petal immediately. This works even on locked petals (it unlocks first).

Locking Petals

Locked petals are protected from:

  • Shuffle keeps their color while unlocked petals regenerate.
  • Quick remove is skipped; the remove button only removes unlocked petals.
  • Drag-to-delete is blocked; locked petals cannot be flung outside the boundary.

Locked state is saved with the palette.

Removing Petals

Three ways to remove a petal:

  • Remove button. Click the remove button (-) in the floating toolbar. It removes the outermost unlocked petal.
  • Drag to delete. Hold and drag a petal outside the flower boundary. A circular boundary ring appears during the drag. When the petal crosses it, an X overlay appears at the boundary edge. Release to delete. A particle burst animation plays on removal.
  • Context menu. Right-click a petal and choose Delete petal.

All removals can be undone with the undo button in the top bar.

Shuffle and Regeneration

Click the shuffle button (dice icon) to regenerate colors. The transition plays as an animated wave that ripples across petals diagonally, with each petal pulsing as it changes color.

  • If any petals are locked, only unlocked petals are regenerated. The new colors still respect the overall palette character.
  • Hold Cmd/Ctrl and click shuffle for an instant replacement without the wave animation.
  • Right-click the shuffle button to open the profile selector for filtering which palette styles are used.

Profile Selector

Right-click the shuffle button to open the profile selector. This controls which generation styles are used when shuffling:

  • Curated draws from 1,000 hand-picked palettes from ColourLovers.
  • Algorithmic profiles (Vibrant, Pastel, Jewel, Muted, Neon, Earth, Cool, Warm, Contrast) generate colors procedurally with specific lightness and chroma ranges.

Toggle profiles on or off. At least one must be active. Click "All" to reset the filter. Your selection persists across sessions.

Undo and Redo

Every color change, add, remove, reorder, and lock/unlock is tracked by the undo system. The undo history holds up to 50 states per palette. Undo and redo transitions are animated: colors smoothly interpolate and petals grow or shrink as needed.