1+ 'use strict' ;
2+
3+ Object . defineProperty ( exports , "__esModule" , {
4+ value : true
5+ } ) ;
6+
7+ var _copyToClipboard = require ( 'copy-to-clipboard' ) ;
8+
9+ var _copyToClipboard2 = _interopRequireDefault ( _copyToClipboard ) ;
10+
11+ function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { default : obj } ; }
12+
13+ var CopyToClipboardProps = {
14+ text : {
15+ type : String ,
16+ required : true
17+ } ,
18+ options : {
19+ type : Object ,
20+ 'default' : function _default ( ) {
21+ return null ;
22+ }
23+ }
24+ } ;
25+
26+ var CopyToClipboard = {
27+ name : 'VueCopyToClipboard' ,
28+ functional : true ,
29+ props : CopyToClipboardProps ,
30+ render : function render ( h , ctx ) {
31+ var props = ctx . props ,
32+ onCopy = ctx . listeners . copy ,
33+ children = ctx . children ;
34+
35+ var _ref = props || { } ,
36+ text = _ref . text ,
37+ options = _ref . options ;
38+
39+ function handleClick ( e ) {
40+ // Bypass onClick if it was present
41+ e . preventDefault ( ) ;
42+ e . stopPropagation ( ) ;
43+
44+ var result = ( 0 , _copyToClipboard2 . default ) ( text , options ) ;
45+
46+ if ( onCopy ) {
47+ onCopy ( text , result ) ;
48+ }
49+ }
50+
51+ return h ( 'span' , { on : { 'click' : handleClick } } , children ) ;
52+ }
53+ } ;
54+
55+ /* istanbul ignore next */
56+ CopyToClipboard . install = function ( Vue ) {
57+ Vue . component ( CopyToClipboard . name , CopyToClipboard ) ;
58+ } ;
59+
60+ exports . default = CopyToClipboard ;
0 commit comments