# slides-creator

Slidev monorepo. Custom theme at `packages/theme`, decks under `decks/`.

## Theme Components

### Timeline

Props: `items`, `compact` (bool), `extendLast` (bool)

**`extendLast`** — makes the last item's vertical line run to the bottom of its container. Use on the left column of a two-column layout to visually connect the flow into the right column.

Required setup for `extendLast` to work:

- Wrap the `<Timeline>` in a `div` with `display:flex; flex-direction:column`
- The outer row container needs `align-items:stretch`

```html
<div style="display:flex;gap:40px;align-items:stretch">
  <div style="flex:1;display:flex;flex-direction:column">
    <Timeline :compact="true" :extend-last="true" :items="[...]" />
  </div>
  <div style="flex:1">
    <Timeline :compact="true" :items="[...]" />
  </div>
</div>
```

**`compact`** — reduces item height (13px titles, 11px descriptions, 10px padding). Use when fitting 6+ items on a single slide.

### HTML in descriptions

`Timeline`, `KeyValue`, and `Steps` descriptions support `v-html` — use `<code>`, `<a>`, etc. Inside Vue attribute bindings use `&quot;` instead of `"` for href values to avoid parser errors.
