## class: `WyButton`, `wy-button`

Button component. Handles both slotted icon and text children. Can be configured with various appearances.

### Fields

| Name       | Type                                                                              | Default    | Description                                                    | Inherited From |
| ---------- | --------------------------------------------------------------------------------- | ---------- | -------------------------------------------------------------- | -------------- |
| `type`     | `"submit" \| "reset" \| undefined`                                                |            | Optional type role for use in forms.                           |                |
| `kind`     | `"filled" \| "inline" \| "icon" \| "icon-inline" \| "link" \| "tab" \| undefined` | `"filled"` | Button kind which sets the appearance.                         |                |
| `active`   | `boolean \| undefined`                                                            | `false`    | Sets active state of the button.                               |                |
| `color`    | `"primary" \| "variant" \| "primary-text" \| "inherit" \| "none" \| undefined`    |            | Color token name.                                              |                |
| `small`    | `boolean \| undefined`                                                            | `false`    | Smaller size button.                                           |                |
| `disabled` | `boolean \| undefined`                                                            | `false`    | Sets disabled state of the button.                             |                |
| `href`     | `string \| undefined`                                                             |            | Optional href attribute to render the button using \`\<a>\`.   |                |
| `target`   | `string \| undefined`                                                             |            | Optional target window when using the \`href\` attribute.      |                |
| `download` | `string \| undefined`                                                             |            | Optional download attribute when using the \`href\` attribute. |                |

### Attributes

| Name       | Field    | Inherited From |
| ---------- | -------- | -------------- |
| `type`     | type     |                |
| `kind`     | kind     |                |
| `active`   | active   |                |
| `color`    | color    |                |
| `small`    | small    |                |
| `disabled` | disabled |                |
| `href`     | href     |                |
| `target`   | target   |                |
| `download` | download |                |

### CSS Parts

| Name                      | Description                                   |
| ------------------------- | --------------------------------------------- |
| `wy-button`               |                                               |
| `wy-active`               | When \`active\` state.                        |
| `wy-disabled`             | When \`disabled\` state.                      |
| `wy-button-inline`        | When \`kind\` is \`inline\`.                  |
| `wy-button-icon`          | When \`kind\` is \`icon\`.                    |
| `wy-button-icon-inline`   | When \`kind\` is \`icon-inline\`.             |
| `wy-button-link`          | When \`kind\` is \`link\`.                    |
| `wy-button-primary`       | when \`color\` is \`primary\`.                |
| `wy-button-primary-text`  | When \`color\` is \`primary-text\`.           |
| `wy-button-inherit-color` | When \`color\` is \`inherit\`.                |
| `wy-button-no-color`      | When \`color\` is \`none\`.                   |
| `wy-button-variant`       | When \`color\` is \`variant\`.                |
| `wy-button-type-submit`   | When \`type\` is \`submit\`.                  |
| `wy-button-type-reset"`   | When \`type\` is \`reset\`.                   |
| `wy-button-state-layer`   | When the button has a state layer.            |
| `wy-button-sm`            | When the button is small.                     |
| `wy-tab`                  | When \`kind\` is \`tab\`.                     |
| `wy-tab-sm`               | When \`kind\` is \`tab\` and button is small, |

### Slots

| Name | Description                      |
| ---- | -------------------------------- |
|      | Default slot for icons and text. |

<details><summary>Private API</summary>

### Fields

| Name          | Privacy   | Type | Default                                  | Description | Inherited From |
| ------------- | --------- | ---- | ---------------------------------------- | ----------- | -------------- |
| `exportParts` | protected |      | `new ShadowPartsController(this, false)` |             |                |

</details>

<hr/>

## class: `WyButtons`, `wy-buttons`

Button group. Provides layout and styling.

### Fields

| Name       | Type                                 | Default    | Description                       | Inherited From |
| ---------- | ------------------------------------ | ---------- | --------------------------------- | -------------- |
| `tabs`     | `boolean`                            | `false`    | Display the buttons as tabs.      |                |
| `position` | `"normal" \| "floating" \| "sticky"` | `"normal"` | Button group positioning.         |                |
| `reverse`  | `boolean`                            | `false`    | Reverse the order of the buttons. |                |

### Attributes

| Name       | Field    | Inherited From |
| ---------- | -------- | -------------- |
| `tabs`     | tabs     |                |
| `position` | position |                |
| `reverse`  | reverse  |                |

### CSS Parts

| Name                  | Description                        |
| --------------------- | ---------------------------------- |
| `wy-buttons`          | Regular button group               |
| `wy-buttons-reverse`  | When button order is reversed.     |
| `wy-tabs`             | Tab style button group.            |
| `wy-buttons-floating` | Floating positioning of the group. |
| `wy-buttons-sticky`   | Sticky positioning of the group.   |

### Slots

| Name | Description               |
| ---- | ------------------------- |
|      | Default slot for buttons. |

<details><summary>Private API</summary>

### Fields

| Name          | Privacy   | Type | Default                           | Description | Inherited From |
| ------------- | --------- | ---- | --------------------------------- | ----------- | -------------- |
| `exportParts` | protected |      | `new ShadowPartsController(this)` |             |                |

</details>

<hr/>

## Exports

| Kind                        | Name         | Declaration | Module                         | Package |
| --------------------------- | ------------ | ----------- | ------------------------------ | ------- |
| `js`                        | `WyButton`   | WyButton    | lib/components/ui/wy-button.ts |         |
| `custom-element-definition` | `wy-button`  | WyButton    | lib/components/ui/wy-button.ts |         |
| `js`                        | `WyButtons`  | WyButtons   | lib/components/ui/wy-button.ts |         |
| `custom-element-definition` | `wy-buttons` | WyButtons   | lib/components/ui/wy-button.ts |         |
