An easy and beautiful sharesheet when hovering over images
vue-picture-sharesheet
A Vue Picture Sharesheet Component heavily inspired by the Image Sharesheet in Apple's Newsroom.
vue-picture-sharesheet provides an easy and beautiful sharesheet when hovering over images. Currently supported main features are:
- sharing to Twitter/Facebook
- copying the current URL to the Clipboard
- Downloading the Image
with cute cats heart_eyes_cat (The Download in the Demo will just download random cat images as the image changes with every request)
Getting Started
(Vue CLI Usage recommended)
Install
npm install vue-picture-sharesheet --save
Import locally
import PictureSharesheet from 'vue-picture-sharesheet';
export default {
name: 'HelloWorld',
components: {
PictureSharesheet
}
}
OR import globally (f.e. in the Main.js)
import PictureSharesheet from 'vue-picture-sharesheet'
Vue.component('picture-sharesheet',PictureSharesheet);
Properties
Native image attributes ?
src
: String : URL, Specifies the URL of an imagealt
: String : text, Specifies an alternate text for an imageheight
: String : pixels/%, Specifies the height of an imagewidth
: String : pixels/%, Specifies the width of an imageismap
: boolean : ismap, Specifies an image as a server-side image-maplongdesc
: String : URL, Specifies a URL to a detailed description of an imageusemap
: String : #mapname, Specifies an image as a client-side image-mapcrossorigin
: String: anonymous | use-credentials, Allow images from third-party sites that allow cross-origin access to be used with canvas
Component attributes ?
sheetcolor
: String : Color, Specifies the Background-color of the Sharesheeticoncolor
: String : Color, Specifies the Background-color of the Sharesheetposition
: String : bottom | top | left| right, Position of the Sharesheetsize
: String : pixels/%, height/width of the Sharesheetsharemessage
: String : Will be shared in addition to the link. Per Default Website Title. In Facebook Share Dialog as Quote.fixed
: Boolean : if set Sharesheet is visible all the time
Examples
Showing the Sharesheet all the time (not only while :hover) and set the background-color of the sharesheet to white and the icon color to black.
<picture-sharesheet src="https://source.unsplash.com/800x500/?cat" sheetcolor="#FFF" iconcolor="#000" fixed/>
Set the position of the sharesheet to top, the height of the Sharesheet to 100px and the message that will be shared via the Social Media Buttons to "YAY!"
<picture-sharesheet src="https://source.unsplash.com/600x550/?cat" position="top" size="100px" sharemessage="YAY!"/>
Commands
npm start
- Starting a Server to run the demos/examplesnpm run-script demo
- Building the demos/examples in /docs
Roadmap
- [ ] Multiple Image Source (srcset .. )
- [ ] Mobile optimized
- [ ] different overlay modes
- [ ] custom icons