2016-07-21 14:35:23 +02:00
/ * ! Q u i l l E d i t o r v 0 . 2 0 . 0
* https : //quilljs.com/
* Copyright ( c ) 2014 , Jason Chen
* Copyright ( c ) 2013 , salesforce . com
* /
! function ( a ) { if ( "object" == typeof exports && "undefined" != typeof module ) module . exports = a ( ) ; else if ( "function" == typeof define && define . amd ) define ( [ ] , a ) ; else { var b ; b = "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : this , b . Quill = a ( ) } } ( function ( ) { var a ; return function b ( a , c , d ) { function e ( g , h ) { if ( ! c [ g ] ) { if ( ! a [ g ] ) { var i = "function" == typeof require && require ; if ( ! h && i ) return i ( g , ! 0 ) ; if ( f ) return f ( g , ! 0 ) ; var j = new Error ( "Cannot find module '" + g + "'" ) ; throw j . code = "MODULE_NOT_FOUND" , j } var k = c [ g ] = { exports : { } } ; a [ g ] [ 0 ] . call ( k . exports , function ( b ) { var c = a [ g ] [ 1 ] [ b ] ; return e ( c ? c : b ) } , k , k . exports , b , a , c , d ) } return c [ g ] . exports } for ( var f = "function" == typeof require && require , g = 0 ; g < d . length ; g ++ ) e ( d [ g ] ) ; return e } ( { 1 : [ function ( b , c , d ) { ( function ( b ) { ( function ( ) { function e ( a , b , c ) { for ( var d = a . length , e = c ? d : - 1 ; c ? e -- : ++ e < d ; ) if ( b ( a [ e ] , e , a ) ) return e ; return - 1 } function f ( a , b , c ) { if ( b !== b ) return i ( a , c ) ; for ( var d = c - 1 , e = a . length ; ++ d < e ; ) if ( a [ d ] === b ) return d ; return - 1 } function g ( a ) { return "function" == typeof a || ! 1 } function h ( a ) { return "string" == typeof a ? a : null == a ? "" : a + "" } function i ( a , b , c ) { for ( var d = a . length , e = b + ( c ? 0 : - 1 ) ; c ? e -- : ++ e < d ; ) { var f = a [ e ] ; if ( f !== f ) return e } return - 1 } function j ( a ) { return ! ! a && "object" == typeof a } function k ( a , b ) { for ( var c = - 1 , d = a . length , e = - 1 , f = [ ] ; ++ c < d ; ) a [ c ] === b && ( a [ c ] = yb , f [ ++ e ] = c ) ; return f } function l ( ) { } function m ( ) { } function n ( a ) { this . _ _wrapped _ _ = a , this . _ _actions _ _ = null , this . _ _dir _ _ = 1 , this . _ _dropCount _ _ = 0 , this . _ _filtered _ _ = ! 1 , this . _ _iteratees _ _ = null , this . _ _takeCount _ _ = Ic , this . _ _views _ _ = null } function o ( a ) { var b = a ? a . length : 0 ; for ( this . data = { hash : Cc ( null ) , set : new yc } ; b -- ; ) this . push ( a [ b ] ) } function p ( a , b ) { var c = a . data , d = "string" == typeof b || Wa ( b ) ? c . set . has ( b ) : c . hash [ b ] ; return d ? 0 : - 1 } function q ( a ) { var b = this . data ; "string" == typeof a || Wa ( a ) ? b . set . add ( a ) : b . hash [ a ] = ! 0 } function r ( a , b ) { var c = - 1 , d = a . length ; for ( b || ( b = Array ( d ) ) ; ++ c < d ; ) b [ c ] = a [ c ] ; return b } function s ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d && b ( a [ c ] , c , a ) !== ! 1 ; ) ; return a } function t ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( ! b ( a [ c ] , c , a ) ) return ! 1 ; return ! 0 } function u ( a , b ) { for ( var c = - 1 , d = a . length , e = Array ( d ) ; ++ c < d ; ) e [ c ] = b ( a [ c ] , c , a ) ; return e } function v ( a , b , c , d ) { var e = - 1 , f = a . length ; for ( d && f && ( c = a [ ++ e ] ) ; ++ e < f ; ) c = b ( c , a [ e ] , e , a ) ; return c } function w ( a , b ) { for ( var c = - 1 , d = a . length ; ++ c < d ; ) if ( b ( a [ c ] , c , a ) ) return ! 0 ; return ! 1 } function x ( a , b ) { return a === kb ? b : a } function y ( a , b , c ) { for ( var d = - 1 , e = md ( b ) , f = e . length ; ++ d < f ; ) { var g = e [ d ] , h = a [ g ] , i = c ( h , b [ g ] , g , a , b ) ; ( i === i ? i === h : h !== h ) && ( h !== kb || g in a ) || ( a [ g ] = i ) } return a } function z ( a , b ) { return null == b ? a : A ( b , md ( b ) , a ) } function A ( a , b , c ) { c || ( c = { } ) ; for ( var d = - 1 , e = b . length ; ++ d < e ; ) { var f = b [ d ] ; c [ f ] = a [ f ] } return c } function B ( a , b , c ) { var d = typeof a ; return "function" == d ? b === kb ? a : Y ( a , b , c ) : null == a ? fb : "object" == d ? P ( a ) : b === kb ? ib ( a ) : Q ( a , b ) } function C ( a , b , c , d , e , f , g ) { var h ; if ( c && ( h = e ? c ( a , d , e ) : c ( a ) ) , h !== kb ) return h ; if ( ! Wa ( a ) ) return a ; var i = hd ( a ) ; if ( i ) { if ( h = ua ( a ) , ! b ) return r ( a , h ) } else { var j = sc . call ( a ) , k = j == Eb ; if ( j != Hb && j != zb && ( ! k || e ) ) return ec [ j ] ? wa ( a , j , b ) : e ? a : { } ; if ( h = va ( k ? { } : a ) , ! b ) return z ( h , a ) } f || ( f = [ ] ) , g || ( g = [ ] ) ; for ( var l = f . length ; l -- ; ) if ( f [ l ] == a ) return g [ l ] ; return f . push ( a ) , g . push ( h ) , ( i ? s : J ) ( a , function ( d , e ) { h [ e ] = C ( d , b , c , e , a , f , g ) } ) , h } function D ( a , b , c ) { if ( "function" != typeof a ) throw new TypeError ( xb ) ; return setTimeout ( function ( ) { a . apply ( kb , c ) } , b ) } function E ( a , b ) { var c = a ? a . length : 0 , d = [ ] ; if ( ! c ) return d ; var e = - 1 , g = ra ( ) , h = g == f , i = h && b . length >= 200 ? Vc ( b ) : null , j = b . length ; i && ( g = p , h = ! 1 , b = i ) ; a : for ( ; ++ e < c ; ) { var k = a [ e ] ; if ( h && k === k ) { for ( var l = j ; l -- ; ) if ( b [ l ] === k ) continue a ; d . push ( k ) } else g ( b , k , 0 ) < 0 && d . push ( k ) } return d } function F ( a , b ) { var c = ! 0 ; return Sc ( a , function ( a , d , e ) { return c = ! ! b ( a , d , e ) } ) , c } function G ( a , b , c , d ) { var e ; return c ( a , function ( a , c , f ) { return b ( a , c , f ) ? ( e = d ? c : a , ! 1 ) : void 0 } ) , e } function H ( a , b , c ) { for ( var d = - 1 , e = a . length , f = - 1 , g = [ ] ; ++ d < e ; ) { var h = a [ d ] ; if ( j ( h ) && ya ( h ) && ( c || hd ( h ) || Ta ( h ) ) ) { b && ( h = H ( h , b , c ) ) ; for ( var i = - 1 , k = h . length ; ++ i < k ; ) g [ ++ f ] = h [ i ] } else c || ( g [ ++ f ] = h ) } return g } function I ( a , b ) { return Tc ( a , b , _a ) } function J ( a , b ) { return Tc ( a , b , md ) } function K ( a , b , c ) { if ( null != a ) { c !== kb && c in La ( a ) && ( b = [ c ] ) ; for ( var d = 0 , e = b . length ; null != a && e > d ; ) a = a [ b [ d ++ ] ] ; return d && d == e ? a : kb } } function L ( a , b , c , d , e , f ) { ret
k [ "delete" ] ? g . push ( k ) : g . retain ( i , f . attributes . transform ( j . attributes , k . attributes , b ) ) } else g . retain ( f . length ( c . next ( ) ) ) ; return g . chop ( ) } , h . prototype . transformPosition = function ( a , b ) { b = ! ! b ; for ( var c = f . iterator ( this . ops ) , d = 0 ; c . hasNext ( ) && a >= d ; ) { var e = c . peekLength ( ) , g = c . peekType ( ) ; c . next ( ) , "delete" !== g ? ( "insert" === g && ( a > d || ! b ) && ( a += e ) , d += e ) : a -= Math . min ( e , a - d ) } return a } , b . exports = h } , { "./is" : 4 , "./op" : 5 , "fast-diff" : 6 } ] , 4 : [ function ( a , b , c ) { b . exports = { equal : function ( a , b ) { if ( a === b ) return ! 0 ; if ( null == a && null == b ) return ! 0 ; if ( null == a || null == b ) return ! 1 ; if ( ! this . object ( a ) || ! this . object ( b ) ) return ! 1 ; if ( Object . keys ( a ) . length != Object . keys ( b ) . length ) return ! 1 ; for ( var c in a ) if ( a [ c ] !== b [ c ] ) return ! 1 ; return ! 0 } , array : function ( a ) { return Array . isArray ( a ) } , number : function ( a ) { return "number" == typeof a ? ! 0 : "object" == typeof a && "[object Number]" === Object . prototype . toString . call ( a ) ? ! 0 : ! 1 } , object : function ( a ) { return a ? "function" == typeof a || "object" == typeof a : ! 1 } , string : function ( a ) { return "string" == typeof a ? ! 0 : "object" == typeof a && "[object String]" === Object . prototype . toString . call ( a ) ? ! 0 : ! 1 } } } , { } ] , 5 : [ function ( a , b , c ) { function d ( a ) { this . ops = a , this . index = 0 , this . offset = 0 } var e = a ( "./is" ) , f = { attributes : { clone : function ( a , b ) { return e . object ( a ) ? Object . keys ( a ) . reduce ( function ( c , d ) { return void 0 === a [ d ] || null === a [ d ] && ! b || ( c [ d ] = a [ d ] ) , c } , { } ) : { } } , compose : function ( a , b , c ) { e . object ( a ) || ( a = { } ) , e . object ( b ) || ( b = { } ) ; var d = this . clone ( b , c ) ; for ( var f in a ) void 0 !== a [ f ] && void 0 === b [ f ] && ( d [ f ] = a [ f ] ) ; return Object . keys ( d ) . length > 0 ? d : void 0 } , diff : function ( a , b ) { e . object ( a ) || ( a = { } ) , e . object ( b ) || ( b = { } ) ; var c = Object . keys ( a ) . concat ( Object . keys ( b ) ) . reduce ( function ( c , d ) { return a [ d ] !== b [ d ] && ( c [ d ] = void 0 === b [ d ] ? null : b [ d ] ) , c } , { } ) ; return Object . keys ( c ) . length > 0 ? c : void 0 } , transform : function ( a , b , c ) { if ( ! e . object ( a ) ) return b ; if ( ! e . object ( b ) ) return void 0 ; if ( ! c ) return b ; var d = Object . keys ( b ) . reduce ( function ( c , d ) { return void 0 === a [ d ] && ( c [ d ] = b [ d ] ) , c } , { } ) ; return Object . keys ( d ) . length > 0 ? d : void 0 } } , clone : function ( a ) { var b = this . attributes . clone ( a ) ; return e . object ( b . attributes ) && ( b . attributes = this . attributes . clone ( b . attributes , ! 0 ) ) , b } , iterator : function ( a ) { return new d ( a ) } , length : function ( a ) { return e . number ( a [ "delete" ] ) ? a [ "delete" ] : e . number ( a . retain ) ? a . retain : e . string ( a . insert ) ? a . insert . length : 1 } } ; d . prototype . hasNext = function ( ) { return this . peekLength ( ) < 1 / 0 } , d . prototype . next = function ( a ) { a || ( a = 1 / 0 ) ; var b = this . ops [ this . index ] ; if ( b ) { var c = this . offset , d = f . length ( b ) ; if ( a >= d - c ? ( a = d - c , this . index += 1 , this . offset = 0 ) : this . offset += a , e . number ( b [ "delete" ] ) ) return { "delete" : a } ; var g = { } ; return b . attributes && ( g . attributes = b . attributes ) , e . number ( b . retain ) ? g . retain = a : e . string ( b . insert ) ? g . insert = b . insert . substr ( c , a ) : g . insert = b . insert , g } return { retain : 1 / 0 } } , d . prototype . peekLength = function ( ) { return this . ops [ this . index ] ? f . length ( this . ops [ this . index ] ) - this . offset : 1 / 0 } , d . prototype . peekType = function ( ) { return this . ops [ this . index ] ? e . number ( this . ops [ this . index ] [ "delete" ] ) ? "delete" : e . number ( this . ops [ this . index ] . retain ) ? "retain" : "insert" : "retain" } , b . exports = f } , { "./is" : 4 } ] , 6 : [ function ( a , b , c ) { function d ( a , b ) { if ( a == b ) return a ? [ [ n , a ] ] : [ ] ; var c = h ( a , b ) , d = a . substring ( 0 , c ) ; a = a . substring ( c ) , b = b . substring ( c ) , c = i ( a , b ) ; var f = a . substring ( a . length - c ) ; a = a . substring ( 0 , a . length - c ) , b = b . substring ( 0 , b . length - c ) ; var g = e ( a , b ) ; return d && g . unshift ( [ n , d ] ) , f && g . push ( [ n , f ] ) , k ( g ) , g } function e ( a , b ) { var c ; if ( ! a ) return [ [ m , b ] ] ; if ( ! b ) return [ [ l , a ] ] ; var e = a . length > b . length ? a : b , g = a . length > b . length ? b : a , h = e . indexOf ( g ) ; if ( - 1 != h ) return c = [ [ m , e . substring ( 0 , h ) ] , [ n , g ] , [ m , e . substring ( h + g . length ) ] ] , a . length > b . length && ( c [ 0 ] [ 0 ] = c [ 2 ] [ 0 ] = l ) , c ; if ( 1 == g . length ) return [ [ l , a ] , [ m , b ] ] ; var i = j ( a , b ) ; if ( i ) { var k = i [ 0 ] , o = i [ 1 ] , p = i [ 2 ] , q = i [ 3 ] , r = i [ 4 ] , s = d ( k , p ) , t = d ( o , q ) ; return s . concat ( [ [ n , r ] ] , t ) } return f ( a , b ) } function f ( a , b ) { for ( var c = a . length , d = b . length , e = Math . ceil ( ( c + d ) / 2 ) , f = e , h = 2 * e , i = new Array ( h ) , j = new Array ( h ) , k = 0 ; h > k ; k ++ ) i [ k ] = - 1 , j [ k ] = - 1 ; i [ f + 1 ] = 0 , j [ f + 1 ] = 0 ; for ( var n = c - d , o = n % 2 != 0 , p = 0 , q = 0 , r = 0 , s = 0 , t = 0 ; e > t ; t ++ ) { for ( var u = - t + p ; t - q >= u ; u += 2 ) { var v , w = f + u ; v = u == - t || u != t && i [ w - 1 ] < i [ w + 1 ] ? i [ w + 1 ] : i [ w - 1 ] + 1 ; for ( var x = v - u ; c > v && d > x && a . charAt ( v ) == b . charAt ( x ) ; ) v ++ , x ++ ; if ( i [ w ] = v , v > c ) q += 2 ; else if ( x > d ) p += 2 ; else if ( o ) { var y = f + n - u ; if ( y >= 0
} , a . prototype . _decodePosition = function ( a , b ) { var c ; return i ( a ) . isElement ( ) && ( c = i ( a . parentNode ) . childNodes ( ) . indexOf ( a ) , b += c , a = a . parentNode ) , [ a , b ] } , a . prototype . _encodePosition = function ( a , b ) { for ( var c ; ; ) { if ( i ( a ) . isTextNode ( ) || a . tagName === i . DEFAULT _BREAK _TAG || null != i . EMBED _TAGS [ a . tagName ] ) return [ a , b ] ; if ( b < a . childNodes . length ) a = a . childNodes [ b ] , b = 0 ; else { if ( 0 === a . childNodes . length ) return null == this . doc . normalizer . whitelist . tags [ a . tagName ] && ( c = document . createTextNode ( "" ) , a . appendChild ( c ) , a = c ) , [ a , 0 ] ; if ( a = a . lastChild , ! i ( a ) . isElement ( ) ) return [ a , i ( a ) . length ( ) ] ; if ( a . tagName === i . DEFAULT _BREAK _TAG || null != i . EMBED _TAGS [ a . tagName ] ) return [ a , 1 ] ; b = a . childNodes . length } } } , a . prototype . _getNativeRange = function ( ) { var a , b ; return b = document . getSelection ( ) , ( null != b ? b . rangeCount : void 0 ) > 0 && ( a = b . getRangeAt ( 0 ) , i ( a . startContainer ) . isAncestor ( this . doc . root , ! 0 ) && ( a . startContainer === a . endContainer || i ( a . endContainer ) . isAncestor ( this . doc . root , ! 0 ) ) ) ? a : null } , a . prototype . _indexToPosition = function ( a ) { var b , c , d ; return 0 === this . doc . lines . length ? [ this . doc . root , 0 ] : ( d = this . doc . findLeafAt ( a , ! 0 ) , b = d [ 0 ] , c = d [ 1 ] , this . _decodePosition ( b . node , c ) ) } , a . prototype . _positionToIndex = function ( a , b ) { var c , d , e , f , g , h ; if ( i . isIE ( 10 ) && "BR" === a . tagName && 1 === b && ( b = 0 ) , h = this . _encodePosition ( a , b ) , d = h [ 0 ] , b = h [ 1 ] , f = this . doc . findLine ( d ) , null == f ) return 0 ; for ( c = f . findLeaf ( d ) , g = 0 ; null != f . prev ; ) f = f . prev , g += f . length ; if ( null == c ) return g ; for ( e = 0 ; null != c . prev ; ) c = c . prev , e += c . length ; return g + e + b } , a . prototype . _setNativeRange = function ( a , b , c , d ) { var e , f ; if ( f = document . getSelection ( ) ) if ( null != a ) { if ( this . checkFocus ( ) || this . doc . root . focus ( ) , e = this . _getNativeRange ( ) , null == e || a !== e . startContainer || b !== e . startOffset || c !== e . endContainer || d !== e . endOffset ) return f . removeAllRanges ( ) , e = document . createRange ( ) , e . setStart ( a , b ) , e . setEnd ( c , d ) , f . addRange ( e ) } else if ( f . removeAllRanges ( ) , this . doc . root . blur ( ) , i . isIE ( 11 ) && ! i . isIE ( 9 ) ) return document . body . focus ( ) } , a } ( ) , b . exports = g } , { "../lib/dom" : 17 , "../lib/range" : 20 , "./leaf" : 11 , "./normalizer" : 13 , lodash : 1 } ] , 15 : [ function ( a , b , c ) { a ( "./modules/authorship" ) , a ( "./modules/image-tooltip" ) , a ( "./modules/keyboard" ) , a ( "./modules/link-tooltip" ) , a ( "./modules/multi-cursor" ) , a ( "./modules/paste-manager" ) , a ( "./modules/toolbar" ) , a ( "./modules/tooltip" ) , a ( "./modules/undo-manager" ) , b . exports = a ( "./quill" ) } , { "./modules/authorship" : 21 , "./modules/image-tooltip" : 22 , "./modules/keyboard" : 23 , "./modules/link-tooltip" : 24 , "./modules/multi-cursor" : 25 , "./modules/paste-manager" : 26 , "./modules/toolbar" : 27 , "./modules/tooltip" : 28 , "./modules/undo-manager" : 29 , "./quill" : 30 } ] , 16 : [ function ( a , b , c ) { var d , e , f , g = function ( a , b ) { function c ( ) { this . constructor = a } for ( var d in b ) h . call ( b , d ) && ( a [ d ] = b [ d ] ) ; return c . prototype = b . prototype , a . prototype = new c , a . _ _super _ _ = b . prototype , a } , h = { } . hasOwnProperty ; f = a ( "./dom" ) , e = a ( "./picker" ) , d = function ( a ) { function b ( ) { b . _ _super _ _ . constructor . apply ( this , arguments ) , f ( this . container ) . addClass ( "ql-color-picker" ) } return g ( b , a ) , b . prototype . buildItem = function ( a , c , d ) { var e ; return e = b . _ _super _ _ . buildItem . call ( this , a , c , d ) , e . style . backgroundColor = c . value , e } , b } ( e ) , b . exports = d } , { "./dom" : 17 , "./picker" : 19 } ] , 17 : [ function ( a , b , c ) { var d , e , f , g , h , i = function ( a , b ) { return function ( ) { return a . apply ( b , arguments ) } } , j = function ( a , b ) { function c ( ) { this . constructor = a } for ( var d in b ) k . call ( b , d ) && ( a [ d ] = b [ d ] ) ; return c . prototype = b . prototype , a . prototype = new c , a . _ _super _ _ = b . prototype , a } , k = { } . hasOwnProperty ; f = a ( "lodash" ) , h = null , e = function ( ) { function a ( a ) { this . node = a , this . trigger = i ( this . trigger , this ) } return a . prototype . addClass = function ( a ) { return this . hasClass ( a ) ? void 0 : ( null != this . node . classList ? this . node . classList . add ( a ) : null != this . node . className && ( this . node . className = ( this . node . className + " " + a ) . trim ( ) ) , this ) } , a . prototype . attributes = function ( a ) { var b , c , d , e , g , h ; if ( a ) return f . each ( a , function ( a ) { return function ( b , c ) { return a . node . setAttribute ( c , b ) } } ( this ) ) , this ; if ( null == this . node . attributes ) return { } ; for ( a = { } , g = this . node . attributes , c = d = 0 , e = g . length ; e > d ; c = ++ d ) h = g [ c ] , b = this . node . attributes [ c ] , a [ b . name ] = b . value ; return a } , a . prototype . child = function ( a ) { var b , c ; for ( b = this . node . firstChild , c = g ( b ) . length ( ) ; null != b && ! ( c > a ) ; ) a -= c , b = b . nextSibling , c = g ( b ) . lengt
null != b ? ( this . container . focus ( ) , h . defer ( function ( a ) { return function ( ) { var c , d , e , f , g , h , i ; return c = a . options . onConvert ( a . container ) , d = c . length ( ) , d > 0 && ( b . start > 0 && c . ops . unshift ( { retain : b . start } ) , c [ "delete" ] ( b . end - b . start ) , a . quill . updateContents ( c , "user" ) ) , a . quill . setSelection ( b . start + d , b . start + d ) , h = a . quill . editor . doc . findLineAt ( b . start + d ) , e = h [ 0 ] , g = h [ 1 ] , f = e . node . getBoundingClientRect ( ) . bottom , i = document . documentElement . clientHeight , f > i && e . node . scrollIntoView ( ! 1 ) , a . container . innerHTML = "" } } ( this ) ) ) : void 0 } , a } ( ) , g . registerModule ( "paste-manager" , f ) , b . exports = f } , { "../core/document" : 8 , "../quill" : 30 } ] , 27 : [ function ( a , b , c ) { var d , e , f , g ; d = a ( "../quill" ) , f = d . require ( "lodash" ) , g = d . require ( "dom" ) , e = function ( ) { function a ( b , c ) { if ( this . quill = b , this . options = c , ( f . isString ( this . options ) || f . isElement ( this . options ) ) && ( this . options = { container : this . options } ) , null == this . options . container ) throw new Error ( "container required for toolbar" , this . options ) ; this . container = f . isString ( this . options . container ) ? document . querySelector ( this . options . container ) : this . options . container , this . inputs = { } , this . preventUpdate = ! 1 , this . triggering = ! 1 , f . each ( this . quill . options . formats , function ( b ) { return function ( c ) { return null == a . formats . TOOLTIP [ c ] ? b . initFormat ( c , f . bind ( b . _applyFormat , b , c ) ) : void 0 } } ( this ) ) , this . quill . on ( d . events . FORMAT _INIT , function ( b ) { return function ( c ) { return null == a . formats . TOOLTIP [ c ] ? b . initFormat ( c , f . bind ( b . _applyFormat , b , c ) ) : void 0 } } ( this ) ) , this . quill . on ( d . events . SELECTION _CHANGE , function ( a ) { return function ( b ) { return null != b ? a . updateActive ( b ) : void 0 } } ( this ) ) , this . quill . on ( d . events . TEXT _CHANGE , function ( a ) { return function ( ) { return a . updateActive ( ) } } ( this ) ) , this . quill . onModuleLoad ( "keyboard" , function ( a ) { return function ( b ) { return b . addHotkey ( [ g . KEYS . BACKSPACE , g . KEYS . DELETE ] , function ( ) { return f . defer ( f . bind ( a . updateActive , a ) ) } ) } } ( this ) ) , g ( this . container ) . addClass ( "ql-toolbar" ) , g . isIOS ( ) && g ( this . container ) . addClass ( "ios" ) } return a . DEFAULTS = { container : null } , a . formats = { LINE : { align : "align" , bullet : "bullet" , list : "list" } , SELECT : { align : "align" , background : "background" , color : "color" , font : "font" , size : "size" } , TOGGLE : { bold : "bold" , bullet : "bullet" , image : "image" , italic : "italic" , link : "link" , list : "list" , strike : "strike" , underline : "underline" } , TOOLTIP : { image : "image" , link : "link" } } , a . prototype . initFormat = function ( b , c ) { var d , e , f ; return f = ".ql-" + b , null != a . formats . SELECT [ b ] ? ( f = "select" + f , d = "change" ) : d = "click" , e = this . container . querySelector ( f ) , null != e ? ( this . inputs [ b ] = e , g ( e ) . on ( d , function ( a ) { return function ( ) { var b , f ; return f = "change" === d ? g ( e ) . value ( ) : ! g ( e ) . hasClass ( "ql-active" ) , a . preventUpdate = ! 0 , a . quill . focus ( ) , b = a . quill . getSelection ( ) , null != b && c ( b , f ) , a . preventUpdate = ! 1 , ! 0 } } ( this ) ) ) : void 0 } , a . prototype . setActive = function ( a , b ) { var c , d , e , f ; return "image" === a && ( b = ! 1 ) , d = this . inputs [ a ] , null != d ? ( c = g ( d ) , "SELECT" === d . tagName ? ( this . triggering = ! 0 , f = c . value ( d ) , null == b && ( b = null != ( e = c [ "default" ] ( ) ) ? e . value : void 0 ) , Array . isArray ( b ) && ( b = "" ) , b !== f && ( null != b ? c . option ( b ) : c . reset ( ) ) , this . triggering = ! 1 ) : c . toggleClass ( "ql-active" , b || ! 1 ) ) : void 0 } , a . prototype . updateActive = function ( a , b ) { var c ; return null == b && ( b = null ) , a || ( a = this . quill . getSelection ( ) ) , null == a || this . preventUpdate ? void 0 : ( c = this . _getActive ( a ) , f . each ( this . inputs , function ( a ) { return function ( d , e ) { return ( ! Array . isArray ( b ) || b . indexOf ( e ) > - 1 ) && a . setActive ( e , c [ e ] ) , ! 0 } } ( this ) ) ) } , a . prototype . _applyFormat = function ( b , c , d ) { return this . triggering ? void 0 : ( c . isCollapsed ( ) ? this . quill . prepareFormat ( b , d , "user" ) : null != a . formats . LINE [ b ] ? this . quill . formatLine ( c , b , d , "user" ) : this . quill . formatText ( c , b , d , "user" ) , f . defer ( function ( a ) { return function ( ) { return a . updateActive ( c , [ "bullet" , "list" ] ) , a . setActive ( b , d ) } } ( this ) ) ) } , a . prototype . _getActive = function ( a ) { var b , c ; return b = this . _getLeafActive ( a ) , c = this . _getLineActive ( a ) , f . defaults ( { } , b , c ) } , a . prototype . _getLeafActive = function ( a ) { var b , c , d , e , g ; return a . isCollapsed ( ) ? ( g = this . quill . editor . doc . findLineAt ( a . start ) , d = g [ 0 ] , e = g [ 1 ] , b = 0 === e ? this . quill . getContents ( a . start , a . end + 1 ) : this . quill . getContents ( a . start - 1 , a . end ) ) : b = this . quill . getContents ( a ) , c = f . map ( b . ops , "attributes" ) , this . _intersectFormats ( c ) } , a . prototype . _getLineActive = function (