> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tappify.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# TapInternals

> The two members of Tap the host and the SDK's own hooks use.

The two members of `Tap` the host and the SDK's own hooks use. Extensions do
not call these.

## Extended by

* [`Tap`](/extensions/reference/frontend-api/Interface.Tap)

## Properties

### \_\_portal

```ts theme={null}
__portal: HTMLElement | null;
```

The portal node inside the mount's shadow root, or `null` until the shadow
root exists.

## Methods

### \_\_subscribe()

```ts theme={null}
__subscribe(key, listener): () => void;
```

The host replaces the member a key names with a new object and only then
calls the key's listeners; it never mutates a member in place, because the
`useTap*` hooks compare snapshots by reference. Returns an unsubscribe
function.

#### Parameters

##### key

[`TapChangeKey`](/extensions/reference/frontend-api/TypeAlias.TapChangeKey)

##### listener

() => `void`

#### Returns

() => `void`
