> Documentation index: https://www.gooddata.ai/docs/gooddata-ui/llms.txt lists every page of these docs as Markdown.

# newComposedPlaceholder()

- Package: [@gooddata/sdk-ui](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/index.md)
- Kind: function
- Source: https://github.com/gooddata/gooddata-ui-sdk/blob/rel/11.64/libs/sdk-ui/src/base/react/placeholders/factory.ts
- Guides: [Swap visualization inputs with placeholders](https://www.gooddata.ai/docs/gooddata-ui/latest/data-layer/data-model/visualization-placeholders/index.md)

Create a new composed placeholder. See [IComposedPlaceholder](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.icomposedplaceholder/index.md).

**Signature:**

```typescript
export declare function newComposedPlaceholder<TValue extends any[], TReturn = PlaceholdersResolvedValues<TValue>, TContext = UnionToIntersection<ComposedPlaceholderResolutionContext<Flatten<TValue>>>>(placeholders: [...TValue], computeValue?: (values: PlaceholdersResolvedValues<TValue>, resolutionContext: TContext) => TReturn): IComposedPlaceholder<TReturn, TValue, TContext>;
```

## Parameters

| Parameter | Type | Description |
| --- | --- | --- |
| placeholders | [...TValue] |  |
| computeValue | (values: [PlaceholdersResolvedValues](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.placeholdersresolvedvalues/index.md)&lt;TValue&gt;, resolutionContext: TContext) =&gt; TReturn | _(Optional)_ |

**Returns:**

[IComposedPlaceholder](https://www.gooddata.ai/docs/gooddata-ui/latest/api-reference/sdk-ui/sdk-ui.icomposedplaceholder/index.md)&lt;TReturn, TValue, TContext&gt;
