---
url: https://lit-ui-router.dev/api/reference/directives/SrefStatusDirective.md
---
[lit-ui-router](../index.md) / SrefStatusDirective

# Abstract Class: SrefStatusDirective\<Params, Rendered>

Defined in: [packages/lit-ui-router/src/sref-active.ts:63](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router/src/sref-active.ts#L63)

What [srefActiveClass](srefActiveClass.md) and [srefAriaCurrent](srefAriaCurrent.md) share: a target
(named, or gathered from enclosed links), the router subscriptions that
recompute its [SrefStatus](../types/SrefStatus.md), and the push of each new value into the
attribute.

`render()` is a function of `status` and the params alone. A server renderer
runs it without `update()`, so it seeds `status` from the call-scoped router
first; with no router in reach the value stays `noChange` and the attribute
is left as authored.

## Extends

* [`AsyncDirective`](https://lit.dev/docs/api/custom-directives/#AsyncDirective)

## Extended by

* [`SrefActiveClassDirective`](SrefActiveClassDirective.md)
* [`SrefAriaCurrentDirective`](SrefAriaCurrentDirective.md)

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
|  `Params` *extends* [`SrefTargetParams`](../types/SrefTargetParams.md) | - |
|  `Rendered` | `unknown` |

## Properties

| Property | Modifier | Type | Description | Defined in |
| ------ | ------ | ------ | ------ | ------ |
|  `directiveName` | `protected readonly` | `string` | the public function's name, for errors and warnings | [packages/lit-ui-router/src/sref-active.ts:101](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router/src/sref-active.ts#L101) |
|  `params` | `public` | `Params` | `undefined` | the last params `update()` saw | [packages/lit-ui-router/src/sref-active.ts:75](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router/src/sref-active.ts#L75) |
|  `status` | `public` | [`SrefStatus`](../types/SrefStatus.md) | `undefined` | merged status of every target, or `undefined` before there is one | [packages/lit-ui-router/src/sref-active.ts:77](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router/src/sref-active.ts#L77) |

## Methods

### render()

```ts
abstract render(params): Rendered;
```

Defined in: [packages/lit-ui-router/src/sref-active.ts:115](https://github.com/simshanith/lit-ui-router/blob/92660184d9980e90964f7e785d5efeb5cae43b42/packages/lit-ui-router/src/sref-active.ts#L115)

the value for `status` and `params` as they stand

#### Parameters

| Parameter | Type |
| ------ | ------ |
| `params` | `Params` |

#### Returns

`Rendered`

#### Overrides

`AsyncDirective.render`
