1 <?php
2
3 /*
4 * This file is part of the Brickrouge package.
5 *
6 * (c) Olivier Laviale <olivier.laviale@gmail.com>
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12 namespace Brickrouge;
13
14 /**
15 * Interface for classes implementing CSS class names.
16 *
17 * Classes implementing the interface should provide the {@link css_class} and
18 * {@link css_class_names} magic properties.
19 *
20 * @property-read string $css_class The CSS class of the instance.
21 * @property-read array[string]mixed $css_class_names The CSS class names of the instance.
22 */
23 interface CSSClassNames
24 {
25 /**
26 * Renders the CSS class names into a string.
27 *
28 * @param array|string $modifiers Modifiers used to select or remove the class names.
29 */
30 public function css_class($modifiers=null);
31 }