Color Picker

Neumorphic color swatch selector with sizes, labels, palettes, spectrum picker, native input styling, and preview panel.

This component requires softui.js for interactive behavior.

Swatches

<div class="sui-color-picker">
  <div class="sui-color-swatch active" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <div class="sui-color-swatch" data-color="#2DCE89" style="background:#2DCE89;"></div>
  <div class="sui-color-swatch" data-color="#E74C6F" style="background:#E74C6F;"></div>
  <div class="sui-color-swatch" data-color="#F5A623" style="background:#F5A623;"></div>
  <div class="sui-color-swatch" data-color="#36A3F7" style="background:#36A3F7;"></div>
  <div class="sui-color-swatch" data-color="#1B1D2A" style="background:#1B1D2A;"></div>
  <div class="sui-color-swatch" data-color="#6C757D" style="background:#6C757D;"></div>
  <div class="sui-color-swatch" data-color="#FFFFFF" style="background:#FFFFFF;"></div>
</div>

Sizes

Small
Default
Large
<!-- Small -->
<div class="sui-color-picker sui-color-picker-sm">
  <div class="sui-color-swatch" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <!-- more swatches -->
</div>

<!-- Default -->
<div class="sui-color-picker">
  <div class="sui-color-swatch" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <!-- more swatches -->
</div>

<!-- Large -->
<div class="sui-color-picker sui-color-picker-lg">
  <div class="sui-color-swatch" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <!-- more swatches -->
</div>

With Label

Primary
Success
Danger
Warning
Info
<div class="sui-color-picker sui-color-picker-labeled">
  <div class="sui-color-item">
    <div class="sui-color-swatch active" data-color="#5B54E0" style="background:#5B54E0;"></div>
    <span class="sui-color-label">Primary</span>
  </div>
  <div class="sui-color-item">
    <div class="sui-color-swatch" data-color="#2DCE89" style="background:#2DCE89;"></div>
    <span class="sui-color-label">Success</span>
  </div>
  <div class="sui-color-item">
    <div class="sui-color-swatch" data-color="#E74C6F" style="background:#E74C6F;"></div>
    <span class="sui-color-label">Danger</span>
  </div>
  <div class="sui-color-item">
    <div class="sui-color-swatch" data-color="#F5A623" style="background:#F5A623;"></div>
    <span class="sui-color-label">Warning</span>
  </div>
  <div class="sui-color-item">
    <div class="sui-color-swatch" data-color="#36A3F7" style="background:#36A3F7;"></div>
    <span class="sui-color-label">Info</span>
  </div>
</div>

Palette

Purple
Green
Red
Gray
<div class="sui-color-palette">
  <div style="display:flex;align-items:center;gap:12px;">
    <span class="sui-color-palette-label">Purple</span>
    <div class="sui-color-palette-row">
      <div class="sui-color-swatch" style="background:#EDE9FE;"></div>
      <div class="sui-color-swatch" style="background:#C4B5FD;"></div>
      <div class="sui-color-swatch" style="background:#8B5CF6;"></div>
      <div class="sui-color-swatch" style="background:#7C3AED;"></div>
      <div class="sui-color-swatch" style="background:#6D28D9;"></div>
      <div class="sui-color-swatch" style="background:#5B21B6;"></div>
      <div class="sui-color-swatch" style="background:#4C1D95;"></div>
    </div>
  </div>
  <div style="display:flex;align-items:center;gap:12px;">
    <span class="sui-color-palette-label">Green</span>
    <div class="sui-color-palette-row">
      <div class="sui-color-swatch" style="background:#D1FAE5;"></div>
      <div class="sui-color-swatch" style="background:#6EE7B7;"></div>
      <div class="sui-color-swatch" style="background:#34D399;"></div>
      <div class="sui-color-swatch" style="background:#10B981;"></div>
      <div class="sui-color-swatch" style="background:#059669;"></div>
      <div class="sui-color-swatch" style="background:#047857;"></div>
      <div class="sui-color-swatch" style="background:#065F46;"></div>
    </div>
  </div>
</div>

Spectrum

<div class="sui-color-spectrum" data-color="#5B54E0">
  <div class="sui-color-spectrum-canvas">
    <canvas></canvas>
    <div class="sui-color-spectrum-cursor"></div>
  </div>
  <div class="sui-color-spectrum-hue">
    <div class="sui-color-spectrum-hue-cursor"></div>
  </div>
  <div class="sui-color-spectrum-footer">
    <div class="sui-color-spectrum-preview"></div>
    <div class="sui-color-spectrum-values">
      <div class="sui-color-spectrum-hex">
        <label>Hex</label>
        <input type="text" value="5B54E0" maxlength="6" spellcheck="false">
      </div>
      <div class="sui-color-spectrum-rgb">
        <div class="sui-color-spectrum-rgb-field">
          <input type="number" data-channel="r" min="0" max="255" value="91">
          <label>R</label>
        </div>
        <div class="sui-color-spectrum-rgb-field">
          <input type="number" data-channel="g" min="0" max="255" value="84">
          <label>G</label>
        </div>
        <div class="sui-color-spectrum-rgb-field">
          <input type="number" data-channel="b" min="0" max="255" value="224">
          <label>B</label>
        </div>
      </div>
    </div>
  </div>
</div>

Native Input

#5B54E0
Brand Color
#2DCE89
Accent Color
<div class="sui-color-input">
  <input type="color" value="#5B54E0">
  <div>
    <div class="sui-color-input-value">#5B54E0</div>
    <div class="sui-color-input-label">Brand Color</div>
  </div>
</div>

With Preview

#5B54E0
Primary Purple
#2DCE89
Success Green
#E74C6F
Danger Rose
<div class="sui-color-preview">
  <div class="sui-color-preview-swatch" style="background:#5B54E0;"></div>
  <div class="sui-color-preview-info">
    <div class="sui-color-preview-hex">#5B54E0</div>
    <div class="sui-color-preview-name">Primary Purple</div>
  </div>
</div>

Raised

<div class="sui-color-picker sui-color-picker-raised">
  <div class="sui-color-swatch active" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <div class="sui-color-swatch" data-color="#2DCE89" style="background:#2DCE89;"></div>
  <div class="sui-color-swatch" data-color="#E74C6F" style="background:#E74C6F;"></div>
  <div class="sui-color-swatch" data-color="#F5A623" style="background:#F5A623;"></div>
  <div class="sui-color-swatch" data-color="#36A3F7" style="background:#36A3F7;"></div>
</div>

Inset

<div class="sui-color-picker sui-color-picker-inset">
  <div class="sui-color-swatch active" data-color="#5B54E0" style="background:#5B54E0;"></div>
  <div class="sui-color-swatch" data-color="#2DCE89" style="background:#2DCE89;"></div>
  <div class="sui-color-swatch" data-color="#E74C6F" style="background:#E74C6F;"></div>
  <div class="sui-color-swatch" data-color="#F5A623" style="background:#F5A623;"></div>
  <div class="sui-color-swatch" data-color="#36A3F7" style="background:#36A3F7;"></div>
  <div class="sui-color-swatch" data-color="#1B1D2A" style="background:#1B1D2A;"></div>
  <div class="sui-color-swatch" data-color="#6C757D" style="background:#6C757D;"></div>
  <div class="sui-color-swatch" data-color="#FFFFFF" style="background:#FFFFFF;"></div>
</div>

Delete this item?

This action cannot be undone. This will permanently delete the item and remove all associated data.