| 174 | * @returns |
| 175 | */ |
| 176 | export function matchTheme< |
| 177 | Theme extends BaseTheme = BaseTheme, |
| 178 | Section extends keyof Theme & string = keyof Theme & string, |
| 179 | >( |
| 180 | pattern: MaybeArray<string | RegExp>, |
| 181 | |
| 182 | /** Theme section to use (default: `$1` — The first matched group) */ |
| 183 | section?: '' | Section | KebabCase<Section>, |
| 184 | |
| 185 | /** The css property (default: value of {@link section}) */ |
| 186 | resolve?: keyof CSSProperties | ThemeRuleResolver<ThemeValue<Theme[Section]>, Theme>, |
| 187 | |
| 188 | convert?: ThemeMatchConverter<ThemeValue<Theme[Section]>, Theme>, |
| 189 | ): Rule<Theme> { |
| 190 | return [pattern, fromTheme(section, resolve, convert)] |
| 191 | } |
| 192 | |
| 193 | /** |
| 194 | * @group Configuration |