Objects with a single color (do not have foreground/background). Do not use the word "Color" separately, always use with the "part" word.
_The word "Color" shows that this is a color property. Otherwise, it can be confused with a property of another type._
|`Popup.borderColor`
`Group.separatorColor`
| #### State | Word | Use for | Example | |------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------| | ~~**`Active`**~~ | Enabled components, default state. Omit this word. The default state does not need explicit naming. | `Notification.background` | | **`Inactive`** | Enabled components that might be perceived as interactive but are actually not. Example: a tree with visible selection but not in focus. Goes after other state words. |`Tree.inactiveBackground`
`ToolWindow.HeaderTab.hoverInactiveBackground`
| | **`Focused`** | The current focused component. | `Button.focusedBorderColor` | | **`Selected`** | A selected tab or any other control that has equally meaningful selected and inactive states. | `ToolWindow.HeaderTab.selectedBackground` | |**`Hover`**
**`Pressed`**
| An action as indicated in states. |`Link.hoverForeground`
`Link.pressedForeground`
| |**`Error`**
**`Warning`**
**`Success`**
| Validation states. [See example](validation_errors.md) in UI Guidelines. |`ValidationTooltip.errorBackground`
`ValidationTooltip.warningBorderColor`
| | **`Disabled`** | Unavailable components. | `Label.disabledForeground` | #### Part A part is an internal element of a component, e.g., an arrow button in a combo box. Create a separate key for a part if its properties differ from the parent object. If a part is common among several components, use the same name for it. Notable examples of common parts: | Common parts | Use for | Example | |-----------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------| |**`Accelerator`**
**`Shortcut`**
| Shortcut foreground. |`Menu.acceleratorForeground`
`Editor.shortcutForeground`
| | **`Border`** | A line around a component. | `NavBar.borderColor` | | **`Caret`** | The vertical line that denotes typing place. | `TextField.caretForeground` | | **`ModifiedItem`** |An object that has been modified but not yet saved.
_Example: change anything in the Settings dialog, the setting group name in the tree becomes blue._
| `Tree.modifiedItemForeground` | | **`Focus`** | Wide focus border around a component. |`Component.focusColor`
_"Component" is a special key that sets common properties for several basic input components._
| | **`Info`** | Secondary labels with additional useful information. Usually appear in gray color to the right or below a regular label. | `CompletionPopup.infoForeground` | | **`Icon`** | An icon that is created with a source code (not an image file). | `Table.sortIconColor` | | **`Selection`** |The focus place in a component with selectable text. Can be in a typed text or in a list or tree.
Goes before other state words (for historical reasons).
|`TextField.selectionForeground`
`Tree.selectionInactiveBackground`
| | **`Separator`** | A horizontal or vertical line inside a component. Can be with a label. | `Menu.separatorColor` | | **`Shadow`** | A shadow below a component. | `Button.shadowColor` | #### SubObject Use a subobject when creating keys for one of the following: * An implementation variation. Usually has a similar set of UI property keys as the parent object. Examples: * Default button: `Button.Default.background` * Tool window notification: `Notification.ToolWindow.errorBackground` * An internal smaller component of a complex component with its own UI and behavior. Examples: * Tool window tab: `ToolWindow.HeaderTab.inactiveBackground` * The hint text at the bottom of a popup: `Popup.Advertiser.background` #### Gradient Color If a component has a gradient color, add the words "start" and "end" for the beginning and ending of a gradient. Examples: * `Button.startBorderColor` / `Button.endBorderColor` * `SearchMatch.startBackground` / `SearchMatch.endBackground` #### Capitalization Capitalize Object and SubObject. Use lowerCamelCase for property. #### Do Not Use | Do not use | Use instead | |-------------------------------------------|---------------| | `Color` _as a separate word_ | `