# layout.meter.fill

The filled part of a layout.meter. Set its width to the amount with style={{ width: "62%" }}; data-tone="warning" or "danger" when the amount is a problem, "muted" or "faint" for a value it is compared with

Component: [`<Layout>`](https://www.prongs.dev/docs/components/layout.md) · Renders: `<div>` · Profile: [UI](https://www.prongs.dev/docs/intents/ui.md)

## Example

```tsx
<Layout intent="layout.meter.fill">
  …
</Layout>
```

## Choosing between neighbours

Find the row that describes your element, and use the intent on the right.

| If it is for… | Use |
|---|---|
| The filled part of a layout.meter. Set its width to the amount with style={{ width: "62%" }}; data-tone="warning" or "danger" when the amount is a problem, "muted" or "faint" for a value it is compared with | `layout.meter.fill` (this page) |

## Connections

Declared in the registry, both directions. Where an intent is used in your own code is something check and the gallery see; this site has no app code.

- Built from: [`arrange.stack`](https://www.prongs.dev/docs/intents/ui.md#arrange-stack)

## For registry authors

**Starter intents.** These are the intents `prongs add` puts in your registry, shown in this site’s theme. Yours are your own `registry.ts`: rename, restyle and add to them, and see them with `prongs add gallery`.

What this intent is built from and its entry in `components/prongs/registry.ts`. You only need this to change how it looks or to add an intent like it.

How layout.meter.fill resolves, and its definition

Each layer adds to the one before it; a later class wins over an earlier one that sets the same thing.

- [`arrange.stack`](https://www.prongs.dev/docs/intents/ui.md#arrange-stack) — Children in a column, free to shrink inside a row or grid

  ```
  flex min-w-0 flex-col
  ```

- `layout.meter.fill` (this page) — The filled part of a layout.meter. Set its width to the amount with style={{ width: "62%" }}; data-tone="warning" or "danger" when the amount is a problem, "muted" or "faint" for a value it is compared with

  ```
  absolute inset-y-0 left-0 h-full rounded-full bg-brand
  transition-[width] data-[tone=muted]:bg-surface-muted
  data-[tone=faint]:bg-surface-border
  data-[tone=warning]:bg-warning data-[tone=danger]:bg-destructive
  ```

Final classes

```
flex min-w-0 flex-col absolute inset-y-0 left-0 h-full
rounded-full bg-brand transition-[width]
data-[tone=muted]:bg-surface-muted
data-[tone=faint]:bg-surface-border
data-[tone=warning]:bg-warning data-[tone=danger]:bg-destructive
```

Definition

```ts
'layout.meter.fill': {
  kind: 'semantic',
  description: 'The filled part of a layout.meter. Set its width to the amount with style={{ width: "62%" }}; data-tone="warning" or "danger" when the amount is a problem, "muted" or "faint" for a value it is compared with',
  refs: ['arrange.stack'],
  binding: {
    classes: 'absolute inset-y-0 left-0 h-full rounded-full bg-brand transition-[width] data-[tone=muted]:bg-surface-muted data-[tone=faint]:bg-surface-border data-[tone=warning]:bg-warning data-[tone=danger]:bg-destructive',
  },
},
```
