# Customizing Shadows Manage shadow sizes through `WindTheme`: pre-defined keys, arbitrary values, and runtime customization. - [Default Shadow Sizes](#default-shadow-sizes) - [Arbitrary Shadow Values](#arbitrary-shadow-values) - [Managing Shadows](#managing-shadows) - [Related Documentation](#related-documentation) ```dart WindTheme.setShadowSize('custom', 10); double size = WindTheme.getShadowSize('xl'); // 12 ``` ## Default Shadow Sizes `WindTheme` includes default shadow sizes mapped to descriptive keys. Each value is an elevation in px. | Key | Value (px) | Description | |:---|:---|:---| | `none` | `0` | No shadow | | `sm` | `1` | Small shadow | | `default` | `2` | Default shadow size | | `md` | `4` | Medium shadow | | `lg` | `8` | Large shadow | | `xl` | `12` | Extra large shadow | | `2xl` | `16` | Very large shadow | | `3xl` | `24` | Extra extra large shadow | | `inner` | `1` | Inner shadow effect | For example: - `shadow-sm` applies a shadow with an elevation of **1px**. - `shadow-lg` applies a shadow with an elevation of **8px**. ## Arbitrary Shadow Values For sizes outside the scale, use the `shadow-[value]` syntax, where value is the desired elevation in px. - `shadow-[8]` applies a shadow with an elevation of **8px**. - `shadow-[20]` applies a shadow with an elevation of **20px**. ## Managing Shadows `WindTheme` provides methods to check, retrieve, customize, and remove shadow sizes at runtime. ```dart // Check whether a shadow size exists bool exists = WindTheme.hasShadowSize('lg'); print(exists); // Output: true ``` ```dart // Retrieve a shadow size value double size = WindTheme.getShadowSize('xl'); print(size); // Output: 12 ``` ```dart // Add a custom shadow size WindTheme.setShadowSize('custom', 10); // Update an existing shadow size WindTheme.setShadowSize('lg', 6); ``` ```dart // Remove a shadow size WindTheme.removeShadowSize('sm'); ``` ## Related Documentation - [Shadow Utilities](../effects/shadow.md) — apply shadows with `shadow-*` - [Rounded Corners](./rounded-corners.md) — customize corner radii - [Colors](./colors.md) — the palette behind surface styling