afv-library/skills/design-systems-slds-apply/references/utilities/themes.md

121 lines
4.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: slds.guidance.utilities.themes
title: Themes Utilities
description: SLDS theme utility classes for background and text colors
summary: "Utilities for applying color themes including default, shade, inverse, and semantic states (success, info, warning, error, offline)."
artifact_type: reference
domain: utilities
topic: themes
content_format: structured
complexity: intermediate
audience: [implementer]
tasks: [implement]
refs:
- slds.guidance.utilities
- slds.guidance.overview.utilities
- slds.guidance.hooks.color
tags: [utilities, themes, colors, backgrounds]
keywords: [slds-theme, background colors, semantic colors, inverse themes]
---
# Themes - Color & Background
Applying consistent color themes to containers and components.
## Core Classes
| Class | Purpose |
|-------|---------|
| `slds-theme_default` | White background with default text color |
| `slds-theme_shade` | Gray background (#F3F3F3) for subtle contrast |
| `slds-theme_inverse` | Dark blue background with white text |
| `slds-theme_alt-inverse` | Darker blue background variant |
## Semantic State Themes
| Class | Background Color | Text Color |
|-------|-----------------|------------|
| `slds-theme_success` | Green (#4BCA81) | White |
| `slds-theme_info` | Gray-blue (#706E6B) | White |
| `slds-theme_warning` | Yellow (#FFB75D) | Black |
| `slds-theme_error` | Red (#EA001E) | White |
| `slds-theme_offline` | Black (#444) | White |
## Texture Modifier
| Class | Purpose |
|-------|---------|
| `slds-theme_alert-texture` | Adds diagonal striped pattern overlay |
## Common Patterns
```html
<!-- Card with default theme -->
<div class="slds-card slds-theme_default">
<div class="slds-card__header">Default themed card</div>
<div class="slds-card__body">Card content with white background</div>
</div>
<!-- Section with shade background -->
<section class="slds-theme_shade slds-p-around_medium">
<!-- Gray background for visual separation -->
<h2>Section Title</h2>
<p>Content on subtle gray background</p>
</section>
<!-- Success notification banner -->
<div class="slds-theme_success slds-p-around_small">
<!-- Green background with white text -->
<span class="slds-icon_container">
<svg class="slds-icon slds-icon_small">...</svg>
</span>
<span>Operation completed successfully</span>
</div>
<!-- Warning alert with texture -->
<div class="slds-theme_warning slds-theme_alert-texture slds-p-around_medium">
<!-- Yellow background with striped texture -->
<strong>Warning:</strong> This action cannot be undone
</div>
<!-- Inverse header section -->
<header class="slds-theme_inverse slds-p-around_large">
<!-- Dark blue background with white text -->
<h1>Dashboard</h1>
<p>All text and links are automatically styled for dark backgrounds</p>
</header>
```
## Best Practices
✅ Use `slds-theme_default` for standard white backgrounds
✅ Apply `slds-theme_shade` to visually separate sections
✅ Use semantic themes (success, error, warning) for status messages
✅ Combine `slds-theme_alert-texture` with semantic themes for critical alerts
✅ Apply themes to container elements, not individual text elements
✅ Use `slds-theme_inverse` for headers and navigation areas
❌ Nest multiple theme classes on the same element
❌ Override theme colors with inline styles
❌ Use semantic themes for decorative purposes
❌ Apply themes to elements smaller than 44×44px touch targets
## Deprecation Notes
The following double-dash variants are deprecated but still supported:
- `slds-theme--default` → Use `slds-theme_default`
- `slds-theme--shade` → Use `slds-theme_shade`
- `slds-theme--inverse` → Use `slds-theme_inverse`
- `slds-theme--alt-inverse` → Use `slds-theme_alt-inverse`
- `slds-theme--success` → Use `slds-theme_success`
- `slds-theme--info` → Use `slds-theme_info`
- `slds-theme--warning` → Use `slds-theme_warning`
- `slds-theme--error` → Use `slds-theme_error`
- `slds-theme--offline` → Use `slds-theme_offline`
- `slds-theme--alert-texture` → Use `slds-theme_alert-texture`
- `slds-theme--inverse-text` → Use `slds-theme_inverse-text`