[@liveryvideo/interactive-bridge](../index.md) / LiveryBridgeMock

# Class: LiveryBridgeMock

Test element defined as `<livery-bridge-mock>` which creates a `MockPlayerBridge`
to be used by a Livery Interactive element that should be passed as a child.

Alternatively pass an `<iframe>` element as a child with an interactive layer page
which should be at the origin specified by the `interactiveOrigin` property.
That interactive page should create an `InteractiveBridge` instance targetting this window,
e.g. by using a Livery Interactive element.

## Example

```js
const mock = document.createElement('livery-bridge-mock');
mock.onload = () => {
  const interactive = document.createElement('livery-bridge-interactive');
  interactive.playerBridge = mock.playerBridge;
  mock.appendChild(interactive);
};
document.body.appendChild(mock);
```

## Extends

- `LitElement`

## Properties

### styles

#### styles

> `readonly` `static` **styles**: `CSSResult`

Array of styles to apply to the element. The styles should be defined
using the css tag function, via constructible stylesheets, or
imported from native CSS module scripts.

Note on Content Security Policy:

Element styles are implemented with `<style>` tags when the browser doesn't
support adopted StyleSheets. To use such `<style>` tags with the style-src
CSP directive, the style-src value must either include 'unsafe-inline' or
`nonce-<base64-value>` with `<base64-value>` replaced be a server-generated
nonce.

To provide a nonce to use on generated `<style>` elements, set
`window.litNonce` to a server-generated nonce in your page's HTML, before
loading application code:

```html
<script>
  // Generated and unique per request:
  window.litNonce = 'a1b2c3d4';
</script>
```

##### Nocollapse

##### Overrides

`LitElement.styles`

## Methods

### rendering

#### render()

> **render**(): `TemplateResult`\<`1`\>

Invoked on each update to perform rendering tasks. This method may return
any value renderable by lit-html's `ChildPart` - typically a
`TemplateResult`. Setting properties inside this method will *not* trigger
the element to update.

##### Returns

`TemplateResult`\<`1`\>

##### Overrides

`LitElement.render`

### updates

#### firstUpdated()

> **firstUpdated**(`changedProperties`): `void`

Invoked when the element is first updated. Implement to perform one time
work on the element after update.

```ts
firstUpdated() {
  this.renderRoot.getElementById('my-text-area').focus();
}
```

Setting properties inside this method will trigger the element to update
again after this update cycle completes.

##### Parameters

###### changedProperties

`Map`\<`PropertyKey`, `unknown`\> | `PropertyValueMap`\<`any`\>

##### Returns

`void`

##### Overrides

`LitElement.firstUpdated`

## Attributes

### interactiveOrigin

> **interactiveOrigin**: `string`

Target origin of `MockPlayerBridge` when an `<iframe>` is specified as interactive child element.

#### Default Value

```ts
window.origin
```
