---
title: "Feature: #101133 - Native enum IconState"
manual: "TYPO3 Core Changelog"
version: "main"
permalink: "https://docs.typo3.org/permalink/changelog:feature-101133-1687875353"
source: "Changelog/13.0/Feature-101133-IconStateEnum.rst"
typo3-version: "13.0"
typo3-major: 13
type: "feature"
issue: 101133
forge: "https://forge.typo3.org/issues/101133"
tags: ["Backend", "Frontend", "ext:core"]
rendered: "2026-09-20T18:31:11+00:00"
---

# Feature: #101133 - Native enum IconState {#feature-101133-1687875353}

See [forge#101133](https://forge.typo3.org/issues/101133)

## Description {#description}

A new native backed enum `\TYPO3\CMS\Core\Imaging\IconState` has been
introduced for streamlined usage within `\TYPO3\CMS\Core\Imaging\Icon` and
`\TYPO3\CMS\Core\Imaging\IconFactory`.

## Impact {#impact}

The new `\TYPO3\CMS\Core\Imaging\IconState` native backed enum is meant
to be a drop-in replacement for the former
`\TYPO3\CMS\Core\Type\Icon\IconState` class.

## Example {#example}

```php
<?php

use TYPO3\CMS\Core\Imaging\IconFactory;
use TYPO3\CMS\Core\Imaging\IconState;
use TYPO3\CMS\Core\Utility\GeneralUtility;

$iconFactory = GeneralUtility::makeInstance(IconFactory::class);
$icon = $iconFactory->getIcon(
    'my-icon',
    TYPO3\CMS\Core\Imaging\Icon::SIZE_SMALL,
    null,
    IconState::STATE_DISABLED
);
```
