# LayoutControls

Present host-supplied layout commands.

## Public import

```svelte
<script lang="ts">
  import { LayoutControls } from "rom-ui/ui/components";
  import "rom-studio/styles";
</script>
```

## Composition and responsibility

The host supplies data, callbacks and application policy. The component does not provide persistence or authorization.

Public names: `LayoutControls`.

## Declared props

This declaration comes from the installed package. Imported types retain their upstream meaning.

```ts
type Props = {
    layout: readonly LayoutItem[];
    options: LayoutOptions;
    label: string;
    itemLabel: (id: string) => string;
    labels: LayoutControlsLabels;
    onChange: (
      command: Readonly<LayoutCommand>,
      proposal: readonly Readonly<LayoutItem>[],
    ) => CompositionCommandResult | Promise<CompositionCommandResult>;
    authorityToken: unknown;
    recoveryToken?: unknown;
    disabled?: boolean;
  };
```

## Source and version

ROM UI **0.1.0-alpha.7**. [Component source](https://github.com/pmikstacki/rom-ui/blob/v0.1.0-alpha.7/src/lib/ui/components/LayoutControls.svelte).

See [the composition guide](/docs/studio-compositions/) for host integration boundaries.
