Flutter Color Palette Swatch Card with Shade Scale

A color palette card showing four Wind color families across five shades each, the utility-first token scale at a glance. Built entirely from Wind className strings with dark mode built in.

Anılcan Çakır by Anılcan Çakır 78 views 0 stars 3 weeks ago Rev 1
Flutter Color Palette Swatch Card with Shade Scale preview
main.dart
WDiv(
  className: 'max-w-sm w-full mx-auto p-6 rounded-3xl bg-white dark:bg-gray-900 border border-gray-200 dark:border-gray-800 shadow-xl',
  children: [
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-6',
      children: [
        WDiv(
          className: 'flex flex-col',
          children: [
            WText(
              'Color palette',
              className: 'text-gray-900 dark:text-white text-lg font-bold'
            ),
            WText(
              'Utility-first tokens',
              className: 'text-gray-500 dark:text-gray-400 text-xs'
            ),
          ],
        ),
        WDiv(
          className: 'px-3 py-1 rounded-full bg-indigo-50 dark:bg-indigo-950',
          child: WText(
            'Wind',
            className: 'text-indigo-600 dark:text-indigo-300 text-xs font-semibold'
          ),
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-3',
      children: [
        WText(
          'Indigo',
          className: 'text-gray-700 dark:text-gray-200 text-sm font-semibold'
        ),
        WDiv(
          className: 'flex flex-row gap-1',
          children: [
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-indigo-300 dark:bg-indigo-300',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-indigo-400 dark:bg-indigo-400',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-indigo-500 dark:bg-indigo-500',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-indigo-600 dark:bg-indigo-600',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-indigo-700 dark:bg-indigo-700',
              children: []
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-3',
      children: [
        WText(
          'Emerald',
          className: 'text-gray-700 dark:text-gray-200 text-sm font-semibold'
        ),
        WDiv(
          className: 'flex flex-row gap-1',
          children: [
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-emerald-300 dark:bg-emerald-300',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-emerald-400 dark:bg-emerald-400',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-emerald-500 dark:bg-emerald-500',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-emerald-600 dark:bg-emerald-600',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-emerald-700 dark:bg-emerald-700',
              children: []
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full mb-3',
      children: [
        WText(
          'Amber',
          className: 'text-gray-700 dark:text-gray-200 text-sm font-semibold'
        ),
        WDiv(
          className: 'flex flex-row gap-1',
          children: [
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-amber-300 dark:bg-amber-300',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-amber-400 dark:bg-amber-400',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-amber-500 dark:bg-amber-500',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-amber-600 dark:bg-amber-600',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-amber-700 dark:bg-amber-700',
              children: []
            ),
          ],
        ),
      ],
    ),
    WDiv(
      className: 'flex flex-row items-center justify-between w-full',
      children: [
        WText(
          'Rose',
          className: 'text-gray-700 dark:text-gray-200 text-sm font-semibold'
        ),
        WDiv(
          className: 'flex flex-row gap-1',
          children: [
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-rose-300 dark:bg-rose-300',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-rose-400 dark:bg-rose-400',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-rose-500 dark:bg-rose-500',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-rose-600 dark:bg-rose-600',
              children: []
            ),
            WDiv(
              className: 'w-9 h-9 rounded-lg bg-rose-700 dark:bg-rose-700',
              children: []
            ),
          ],
        ),
      ],
    ),
  ],
)
Stats
Views
78
Stars
0
Revisions
2
Size
5,065 chars
Created
Jun 30, 2026