暂无描述

Ryan Chandler c4a11a533b feature: v3 support!!! 4 年之前
.github 9dadd11a40 chore: workflows for npm 4 年之前
builds c4a11a533b feature: v3 support!!! 4 年之前
dist c4a11a533b feature: v3 support!!! 4 年之前
examples 9c60d7bb3f chore: remove cruft 4 年之前
src c4a11a533b feature: v3 support!!! 4 年之前
tests 04f744f95c fix(rename AlpinePlugin to AlpineClipboard) 4 年之前
.gitignore fa5989466c init 4 年之前
LICENSE.md fa5989466c init 4 年之前
README.md 84404809dd chore: we need more whitespace! 4 年之前
jest.config.js fa5989466c init 4 年之前
package-lock.json c4a11a533b feature: v3 support!!! 4 年之前
package.json c4a11a533b feature: v3 support!!! 4 年之前
rollup.config.js c4a11a533b feature: v3 support!!! 4 年之前

README.md

✨ Help support the maintenance of this package by sponsoring me.

Alpine Clipboard

Copy text to the user's clipboard.

GitHub tag (latest by date) Build size Brotli Monthly downloads via CDN

Since v2.0, this package only supports Alpine v3.x. If you're still using Alpine 2.x, please use v1.0 of this package.

About

This plugin adds a new $clipboard magic property to all of your Alpine components that can be used to copy any piece of data to the user's clipboard.

Installation

CDN

Include the following <script> tag at the end of your <body>:

<script src="https://cdn.jsdelivr.net/npm/@ryangjchandler/alpine-clipboard@1.x.x/dist/alpine-clipboard.js"></script>

NPM

npm install @ryangjchandler/alpine-clipboard

Add the $clipboard magic property to your project by importing the package before Alpine.js.

import "@ryangjchandler/alpine-clipboard"
// import "alpinejs"

Legacy Browser Support

If you need to support legacy browsers, you can import the alpine-clipboard.ie11.js file instead.

CDN

<script src="https://cdn.jsdelivr.net/npm/@ryangjchandler/alpine-clipboard@1.x.x/dist/alpine-clipboard.ie11.js"></script>

NPM

import "@ryangjchandler/alpine-clipboard/src/index.ie11.js"
// import "alpinejs"

Usage

To copy some data to the clipboard, invoke $clipboard from an event handler in your component.

<div x-data="{ input: '' }">
    <input x-model="input">
    <button type="button" @click="$clipboard(input)">Copy to Clipboard</button>
</div>

Object and Array

Since you can pass any properties through to the $clipboard function, if you pass through an Object or Array, it will be run through JSON.stringify before being copied to the clipboard.

<div x-data="{ items: ['foo', 'bar'] }">
    <button type="button" @click="$clipboard(items)">Copy to Clipboard</button>
</div>

The clipboard will now contain ["foo","bar"].

Versioning

This projects follow the Semantic Versioning guidelines. This means that there could be breaking changes on minor version changes, up until v1.x is reached.

For example, 0.1 -> 0.2 might introduce a breaking change.

License

Copyright (c) 2020 Ryan Chandler and contributors

Licensed under the MIT license, see LICENSE.md for details.