open-consul/ui/packages/consul-ui/app/components/copy-button
John Cowen dfefcabfbe
ui: Native CSS Icon Composition (#12461)
This commit/PR beings to move away from using CSS preprocessing for our icons and towards using native CSS via native CSS property composition
2022-03-15 12:54:14 +00:00
..
README.mdx ui: CopyButton amends (#10511) 2021-07-06 16:56:36 +01:00
chart.xstate.js ui: Move to Workspaced Structure (#8994) 2020-10-21 15:23:16 +01:00
index.hbs ui: CopyButton amends (#10511) 2021-07-06 16:56:36 +01:00
index.js ui: CopyButton amends (#10511) 2021-07-06 16:56:36 +01:00
index.scss ui: Upstream CSS Tweaks (#11554) 2021-11-16 15:36:54 +00:00
layout.scss ui: CopyButton amends (#10511) 2021-07-06 16:56:36 +01:00
skin.scss ui: Native CSS Icon Composition (#12461) 2022-03-15 12:54:14 +00:00

README.mdx

# CopyButton

Button component used for copy-to-clipboard functionality so the user can easily copy specified text to their clipboard, along with tooltip-like notifications so the user has some sort of feedback to know the value has been copied.

This component is essentially a composition of our `{{with-copyable}}` modifier, our `{{tooltip}}` modifier plus specific Consul-flavored visual treatment. This is all glued together with our `<StateChart />` component to manage states.

Can be used inline to render only a small icon for the button with no other text.

```hbs preview-template
<figure>
  <figcaption>Icon only</figcaption>

  <CopyButton
    @value={{'stringToCopy'}}
    @name="Thing"
  />

</figure>

<figure>
  <figcaption>Icon and text</figcaption>

  <CopyButton
    @value={{'stringToCopy'}}
    @name="Thing"
  >
    Copy me!
  </CopyButton>
</figure>
```

## Arguments

| Argument | Type | Default | Description |
| --- | --- | --- | --- |
| `value` | `String` | | The string to be copied to the clipboard on click |
| `name` | `String` | | The 'Name' of the string to be copied. Mainly used for accessibility reasons and giving feedback to the user |


## See

- [Component Source Code](./index.js)
- [Template Source Code](./index.hbs)

---