/ * !
* clipboard . js v1 . 6.1
* https : //zenorocha.github.io/clipboard.js
*
* Licensed MIT © Zeno Rocha
* /
! ( function ( e ) { if ( typeof exports === 'object' && typeof module !== 'undefined' ) module . exports = e ( ) ; else if ( typeof define === 'function' && define . amd ) define ( [ ] , e ) ; else { let t ; t = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : this , t . Clipboard = e ( ) } } ( ( ) => {
let e ; let t ; let n ; return ( function e ( t , n , o ) { function i ( a , c ) { if ( ! n [ a ] ) { if ( ! t [ a ] ) { const l = typeof require === 'function' && require ; if ( ! c && l ) return l ( a , ! 0 ) ; if ( r ) return r ( a , ! 0 ) ; const u = new Error ( ` Cannot find module ' ${ a } ' ` ) ; throw u . code = 'MODULE_NOT_FOUND' , u } const s = n [ a ] = { exports : { } } ; t [ a ] [ 0 ] . call ( s . exports , ( e ) => { const n = t [ a ] [ 1 ] [ e ] ; return i ( n || e ) } , s , s . exports , e , t , n , o ) } return n [ a ] . exports } for ( var r = typeof require === 'function' && require , a = 0 ; a < o . length ; a ++ ) i ( o [ a ] ) ; return i } ( {
1 : [ function ( e , t , n ) { function o ( e , t ) { for ( ; e && e . nodeType !== i ; ) { if ( e . matches ( t ) ) return e ; e = e . parentNode } } var i = 9 ; if ( typeof Element !== 'undefined' && ! Element . prototype . matches ) { const r = Element . prototype ; r . matches = r . matchesSelector || r . mozMatchesSelector || r . msMatchesSelector || r . oMatchesSelector || r . webkitMatchesSelector } t . exports = o } , { } ] ,
2 : [ function ( e , t , n ) { function o ( e , t , n , o , r ) { const a = i . apply ( this , arguments ) ; return e . addEventListener ( n , a , r ) , { destroy ( ) { e . removeEventListener ( n , a , r ) } } } function i ( e , t , n , o ) { return function ( n ) { n . delegateTarget = r ( n . target , t ) , n . delegateTarget && o . call ( e , n ) } } var r = e ( './closest' ) ; t . exports = o } , { './closest' : 1 } ] ,
3 : [ function ( e , t , n ) { n . node = function ( e ) { return void 0 !== e && e instanceof HTMLElement && e . nodeType === 1 } , n . nodeList = function ( e ) { const t = Object . prototype . toString . call ( e ) ; return void 0 !== e && ( t === '[object NodeList]' || t === '[object HTMLCollection]' ) && 'length' in e && ( e . length === 0 || n . node ( e [ 0 ] ) ) } , n . string = function ( e ) { return typeof e === 'string' || e instanceof String } , n . fn = function ( e ) { const t = Object . prototype . toString . call ( e ) ; return t === '[object Function]' } } , { } ] ,
4 : [ function ( e , t , n ) { function o ( e , t , n ) { if ( ! e && ! t && ! n ) throw new Error ( 'Missing required arguments' ) ; if ( ! c . string ( t ) ) throw new TypeError ( 'Second argument must be a String' ) ; if ( ! c . fn ( n ) ) throw new TypeError ( 'Third argument must be a Function' ) ; if ( c . node ( e ) ) return i ( e , t , n ) ; if ( c . nodeList ( e ) ) return r ( e , t , n ) ; if ( c . string ( e ) ) return a ( e , t , n ) ; throw new TypeError ( 'First argument must be a String, HTMLElement, HTMLCollection, or NodeList' ) } function i ( e , t , n ) { return e . addEventListener ( t , n ) , { destroy ( ) { e . removeEventListener ( t , n ) } } } function r ( e , t , n ) { return Array . prototype . forEach . call ( e , ( e ) => { e . addEventListener ( t , n ) } ) , { destroy ( ) { Array . prototype . forEach . call ( e , ( e ) => { e . removeEventListener ( t , n ) } ) } } } function a ( e , t , n ) { return l ( document . body , e , t , n ) } var c = e ( './is' ) ; var l = e ( 'delegate' ) ; t . exports = o } , { './is' : 3 , delegate : 2 } ] ,
5 : [ function ( e , t , n ) { function o ( e ) { let t ; if ( e . nodeName === 'SELECT' ) e . focus ( ) , t = e . value ; else if ( e . nodeName === 'INPUT' || e . nodeName === 'TEXTAREA' ) { const n = e . hasAttribute ( 'readonly' ) ; n || e . setAttribute ( 'readonly' , '' ) , e . select ( ) , e . setSelectionRange ( 0 , e . value . length ) , n || e . removeAttribute ( 'readonly' ) , t = e . value } else { e . hasAttribute ( 'contenteditable' ) && e . focus ( ) ; const o = window . getSelection ( ) ; const i = document . createRange ( ) ; i . selectNodeContents ( e ) , o . removeAllRanges ( ) , o . addRange ( i ) , t = o . toString ( ) } return t } t . exports = o } , { } ] ,
6 : [ function ( e , t , n ) {
function o ( ) { } o . prototype = {
on ( e , t , n ) { const o = this . e || ( this . e = { } ) ; return ( o [ e ] || ( o [ e ] = [ ] ) ) . push ( { fn : t , ctx : n } ) , this } , once ( e , t , n ) { function o ( ) { i . off ( e , o ) , t . apply ( n , arguments ) } var i = this ; return o . _ = t , this . on ( e , o , n ) } , emit ( e ) { const t = [ ] . slice . call ( arguments , 1 ) ; const n = ( ( this . e || ( this . e = { } ) ) [ e ] || [ ] ) . slice ( ) ; let o = 0 ; const i = n . length ; for ( o ; o < i ; o ++ ) n [ o ] . fn . apply ( n [ o ] . ctx , t ) ; return this } , off ( e , t ) { const n = this . e || ( this . e = { } ) ; const o = n [ e ] ; const i = [ ] ; if ( o && t ) for ( let r = 0 , a = o . length ; r < a ; r ++ ) o [ r ] . fn !== t && o [ r ] . fn . _ !== t && i . push ( o [ r ] ) ; return i . length ? n [ e ] = i : delete n [ e ] , this }
} , t . exports = o
} , { } ] ,
7 : [ function ( t , n , o ) {
! ( function ( i , r ) { if ( typeof e === 'function' && e . amd ) e ( [ 'module' , 'select' ] , r ) ; else if ( typeof o !== 'undefined' ) r ( n , t ( 'select' ) ) ; else { const a = { exports : { } } ; r ( a , i . select ) , i . clipboardAction = a . exports } } ( this , ( e , t ) => {
'use strict'
function n ( e ) { return e && e . _ _esModule ? e : { default : e } } function o ( e , t ) { if ( ! ( e instanceof t ) ) throw new TypeError ( 'Cannot call a class as a function' ) } const i = n ( t ) ; const r = typeof Symbol === 'function' && typeof Symbol . iterator === 'symbol' ? function ( e ) { return typeof e } : function ( e ) { return e && typeof Symbol === 'function' && e . constructor === Symbol && e !== Symbol . prototype ? 'symbol' : typeof e } ; const a = ( function ( ) { function e ( e , t ) { for ( let n = 0 ; n < t . length ; n ++ ) { const o = t [ n ] ; o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , 'value' in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , o . key , o ) } } return function ( t , n , o ) { return n && e ( t . prototype , n ) , o && e ( t , o ) , t } } ( ) ) ; const c = ( function ( ) {
function e ( t ) { o ( this , e ) , this . resolveOptions ( t ) , this . initSelection ( ) } return a ( e , [ { key : 'resolveOptions' , value : function e ( ) { const t = arguments . length > 0 && void 0 !== arguments [ 0 ] ? arguments [ 0 ] : { } ; this . action = t . action , this . emitter = t . emitter , this . target = t . target , this . text = t . text , this . trigger = t . trigger , this . selectedText = '' } } , { key : 'initSelection' , value : function e ( ) { this . text ? this . selectFake ( ) : this . target && this . selectTarget ( ) } } , { key : 'selectFake' , value : function e ( ) { const t = this ; const n = document . documentElement . getAttribute ( 'dir' ) == 'rtl' ; this . removeFake ( ) , this . fakeHandlerCallback = function ( ) { return t . removeFake ( ) } , this . fakeHandler = document . body . addEventListener ( 'click' , this . fakeHandlerCallback ) || ! 0 , this . fakeElem = document . createElement ( 'textarea' ) , this . fakeElem . style . fontSize = '12pt' , this . fakeElem . style . border = '0' , this . fakeElem . style . padding = '0' , this . fakeElem . style . margin = '0' , this . fakeElem . style . position = 'absolute' , this . fakeElem . style [ n ? 'right' : 'left' ] = '-9999px' ; const o = window . pageYOffset || document . documentElement . scrollTop ; this . fakeElem . style . top = ` ${ o } px ` , this . fakeElem . setAttribute ( 'readonly' , '' ) , this . fakeElem . value = this . text , document . body . appendChild ( this . fakeElem ) , this . selectedText = ( 0 , i . default ) ( this . fakeElem ) , this . copyText ( ) } } , { key : 'removeFake' , value : function e ( ) { this . fakeHandler && ( document . body . removeEventListener ( 'click' , this . fakeHandlerCallback ) , this . fakeHandler = null , this . fakeHandlerCallback = null ) , this . fakeElem && ( document . body . removeChild ( this . fakeElem ) , this . fakeElem = null ) } } , { key : 'selectTarget' , value : function e ( ) { this . selectedText = ( 0 , i . default ) ( this . target ) , this . copyText ( ) } } , { key : 'copyText' , value : function e ( ) { let t = void 0 ; try { t = document . execCommand ( this . action ) } catch ( e ) { t = ! 1 } this . handleResult ( t ) } } , {
key : 'handleResult' ,
value : function e ( t ) {
this . emitter . emit ( t ? 'success' : 'error' , {
action : this . action , text : this . selectedText , trigger : this . trigger , clearSelection : this . clearSelection . bind ( this )
} )
}
} , { key : 'clearSelection' , value : function e ( ) { this . target && this . target . blur ( ) , window . getSelection ( ) . removeAllRanges ( ) } } , { key : 'destroy' , value : function e ( ) { this . removeFake ( ) } } , { key : 'action' , set : function e ( ) { const t = arguments . length > 0 && void 0 !== arguments [ 0 ] ? arguments [ 0 ] : 'copy' ; if ( this . _action = t , this . _action !== 'copy' && this . _action !== 'cut' ) throw new Error ( 'Invalid "action" value, use either "copy" or "cut"' ) } , get : function e ( ) { return this . _action } } , { key : 'target' , set : function e ( t ) { if ( void 0 !== t ) { if ( ! t || ( typeof t === 'undefined' ? 'undefined' : r ( t ) ) !== 'object' || t . nodeType !== 1 ) throw new Error ( 'Invalid "target" value, use a valid Element' ) ; if ( this . action === 'copy' && t . hasAttribute ( 'disabled' ) ) throw new Error ( 'Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute' ) ; if ( this . action === 'cut' && ( t . hasAttribute ( 'readonly' ) || t . hasAttribute ( 'disabled' ) ) ) throw new Error ( 'Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes' ) ; this . _target = t } } , get : function e ( ) { return this . _target } } ] ) , e
} ( ) ) ; e . exports = c
} ) )
} , { select : 5 } ] ,
8 : [ function ( t , n , o ) {
! ( function ( i , r ) { if ( typeof e === 'function' && e . amd ) e ( [ 'module' , './clipboard-action' , 'tiny-emitter' , 'good-listener' ] , r ) ; else if ( typeof o !== 'undefined' ) r ( n , t ( './clipboard-action' ) , t ( 'tiny-emitter' ) , t ( 'good-listener' ) ) ; else { const a = { exports : { } } ; r ( a , i . clipboardAction , i . tinyEmitter , i . goodListener ) , i . clipboard = a . exports } } ( this , ( e , t , n , o ) => {
'use strict'
function i ( e ) { return e && e . _ _esModule ? e : { default : e } } function r ( e , t ) { if ( ! ( e instanceof t ) ) throw new TypeError ( 'Cannot call a class as a function' ) } function a ( e , t ) { if ( ! e ) throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; return ! t || typeof t !== 'object' && typeof t !== 'function' ? e : t } function c ( e , t ) {
if ( typeof t !== 'function' && t !== null ) throw new TypeError ( ` Super expression must either be null or a function, not ${ typeof t } ` ) ; e . prototype = Object . create ( t && t . prototype , {
constructor : {
value : e , enumerable : ! 1 , writable : ! 0 , configurable : ! 0
}
} ) , t && ( Object . setPrototypeOf ? Object . setPrototypeOf ( e , t ) : e . _ _proto _ _ = t )
} function l ( e , t ) { const n = ` data-clipboard- ${ e } ` ; if ( t . hasAttribute ( n ) ) return t . getAttribute ( n ) } const u = i ( t ) ; const s = i ( n ) ; const f = i ( o ) ; const d = ( function ( ) { function e ( e , t ) { for ( let n = 0 ; n < t . length ; n ++ ) { const o = t [ n ] ; o . enumerable = o . enumerable || ! 1 , o . configurable = ! 0 , 'value' in o && ( o . writable = ! 0 ) , Object . defineProperty ( e , o . key , o ) } } return function ( t , n , o ) { return n && e ( t . prototype , n ) , o && e ( t , o ) , t } } ( ) ) ; const h = ( function ( e ) {
function t ( e , n ) { r ( this , t ) ; const o = a ( this , ( t . _ _proto _ _ || Object . getPrototypeOf ( t ) ) . call ( this ) ) ; return o . resolveOptions ( n ) , o . listenClick ( e ) , o } return c ( t , e ) , d ( t , [ { key : 'resolveOptions' , value : function e ( ) { const t = arguments . length > 0 && void 0 !== arguments [ 0 ] ? arguments [ 0 ] : { } ; this . action = typeof t . action === 'function' ? t . action : this . defaultAction , this . target = typeof t . target === 'function' ? t . target : this . defaultTarget , this . text = typeof t . text === 'function' ? t . text : this . defaultText } } , { key : 'listenClick' , value : function e ( t ) { const n = this ; this . listener = ( 0 , f . default ) ( t , 'click' , ( e ) => n . onClick ( e ) ) } } , {
key : 'onClick' ,
value : function e ( t ) {
const n = t . delegateTarget || t . currentTarget ; this . clipboardAction && ( this . clipboardAction = null ) , this . clipboardAction = new u . default ( {
action : this . action ( n ) , target : this . target ( n ) , text : this . text ( n ) , trigger : n , emitter : this
} )
}
} , { key : 'defaultAction' , value : function e ( t ) { return l ( 'action' , t ) } } , { key : 'defaultTarget' , value : function e ( t ) { const n = l ( 'target' , t ) ; if ( n ) return document . querySelector ( n ) } } , { key : 'defaultText' , value : function e ( t ) { return l ( 'text' , t ) } } , { key : 'destroy' , value : function e ( ) { this . listener . destroy ( ) , this . clipboardAction && ( this . clipboardAction . destroy ( ) , this . clipboardAction = null ) } } ] , [ { key : 'isSupported' , value : function e ( ) { const t = arguments . length > 0 && void 0 !== arguments [ 0 ] ? arguments [ 0 ] : [ 'copy' , 'cut' ] ; const n = typeof t === 'string' ? [ t ] : t ; let o = ! ! document . queryCommandSupported ; return n . forEach ( ( e ) => { o = o && ! ! document . queryCommandSupported ( e ) } ) , o } } ] ) , t
} ( s . default ) ) ; e . exports = h
} ) )
} , { './clipboard-action' : 7 , 'good-listener' : 4 , 'tiny-emitter' : 6 } ]
} , { } , [ 8 ] ) ) ( 8 )
} ) )