A lightweight element wrapping-up clipboard.js

Published on Vaadin  Directory Stars on vaadin.com/directory


A simple, lightweight element wrapping-up clipboard.js

Built on lit-element

The old Polymer 2.x-1.x version is available on the polymer-hybrid-1.x-2.x branch.

Doc & demo


Usage example

<granite-clipboard text="Text to be copied">
    <div style="width:250px;height:50px;border-radius:5px;background-color:#aaaaff;cursor:pointer;">Click here</div>


Install the component using npm:

$ npm i @granite-elements/granite-clipboard 

Once installed, import it in your application:

import '@granite-elements/granite-clipboard/granite-clipboard.js';

Running demos and tests in browser

  1. Fork the granite-clipboard repository and clone it locally.

  2. Make sure you have npm and the Polymer CLI installed.

  3. When in the granite-clipboard directory, run npm install to install dependencies.

  4. Serve the project using Polyumer CLI:

    polymer serve --npm

  5. Open the demo in the browser


Attribute Type Default Description
text String `` The text to copy
action String copy The action to do (either copy or cut)


  1. Fork it!
  2. Create your feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -m 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request :D


MIT License


Link to this version
ImportedReleased 06 November 2018MIT License
Framework Support
Polymer 3.0+
Also supported:
Polymer 1 (1.0.2)Polymer 2 (1.2.3)
Browser Independent
Install with
npm install @granite-elements/granite-clipboard"@3.0.0"
Run the above npm command in your project folder. If you have any issues installing, please contact the author.
Release notes - Version 3.0.0


  • @polymer/lit-element#^0.6.2
  • @polymer/polymer#^3.0.0
  • @migrate-to-esm/clipboard#2.0.1-1