# CSS Shadow Parts Guidelines TABLE OF CONTENTS - [Definitions](#definitions) - [Scope](#scope) - [General Guidelines](#general-guidelines) - [Standard Parts](#standard-parts) - [Specialized Parts](#specialized-parts) - [Documentation](#documentation) ## Definitions **CSS Shadow Parts:** The CSS shadow parts module defines the [::part()](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Selectors/::part) pseudo-element that can be set on a [shadow host](https://developer.mozilla.org/en-US/docs/Glossary/Shadow_tree). Using this pseudo-element, you can enable shadow hosts to expose the selected element in the shadow tree to the outside page for styling purposes. [^1] ## Scope Ionic Framework components that use Shadow DOM expose CSS Shadow Parts to enable custom styling by end users. This document establishes a standardized naming convention for CSS Shadow Parts in Ionic Framework components. ## General Guidelines 1. **Attempt to use standard parts first**: Use `native`, `wrapper`, `inner`, `container`, and `content` wherever they apply before inventing new names. 2. **Use semantic, kebab-case names**: Choose descriptive names that communicate the role of the element (for example, `detail-icon`, `supporting-text`). 3. **Reuse names for the same concept**: Use the same part name across components when the element serves the same role (for example, `backdrop`, `handle`, `label`). ## Standard Parts **Name parts by what the element does, not where it appears.** Ask what role the element plays: | Name | Role | | --- | --- | | `native` | Is it a native HTML element that the user interacts with (e.g. `