# XWUIDock

A macOS-style dock: a bar of icon items that can magnify on hover, pinned to any edge via `position` (`bottom` / `top` / `left` / `right`). Use it as an app launcher or quick-access shortcut strip. Each `items` entry is `{ id, icon, label?, href? }` - items with an `href` render as links, others fire `onItemClick(handler)`. It reuses XWUIIcon for rendering; toggle hover scaling with `magnify` and cap it with `scaleMax`.

## Usage

```ts
import { XWUIDock } from './XWUIDock';

const dock = new XWUIDock(
  container,
  {
    items: [
      { id: 'finder', icon: 'folder', label: 'Finder' },
      { id: 'mail', icon: 'mail', label: 'Mail' },
    ],
  },
  { position: 'bottom', magnify: true, scaleMax: 1.6 }
);

dock.onItemClick((id) => console.log('launched', id));
```

## Basic Usage

A bottom dock of app launchers; clicking an item fires onItemClick.

```example
file: examples/BasicUsage.ts
html: examples/BasicUsage.html
title: Basic Usage
description: A bottom dock of app launchers; clicking an item fires onItemClick.
```

## Positions

The dock can pin to any edge: bottom / top / left / right.

```example
file: examples/Positions.ts
html: examples/Positions.html
title: Positions
description: The dock can pin to any edge: bottom / top / left / right.
```

## Magnify & Links

Hover magnification (scaleMax) plus items that navigate via href.

```example
file: examples/MagnifyLinks.ts
html: examples/MagnifyLinks.html
title: Magnify & Links
description: Hover magnification (scaleMax) plus items that navigate via href.
```

```api
```
