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