diff --git a/css/lib/font-awesome.min.css b/css/lib/font-awesome.min.css index bafa96a..f123f78 100644 --- a/css/lib/font-awesome.min.css +++ b/css/lib/font-awesome.min.css @@ -1,15 +1,15 @@ /*! - * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * Font Awesome 4.4.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) */ @font-face { font-family: 'FontAwesome'; - src: url('../../fonts/fontawesome-webfont.eot?v=4.3.0'); - src: url('../../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), - url('../../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), - url('../../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), - url('../../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), - url('../../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); + src: url('../../fonts/fontawesome-webfont.eot?v=4.4.0'); + src: url('../../fonts/fontawesome-webfont.eot?#iefix&v=4.4.0') format('embedded-opentype'), + url('../../fonts/fontawesome-webfont.woff2?v=4.4.0') format('woff2'), + url('../../fonts/fontawesome-webfont.woff?v=4.4.0') format('woff'), + url('../../fonts/fontawesome-webfont.ttf?v=4.4.0') format('truetype'), + url('../../fonts/fontawesome-webfont.svg?v=4.4.0#fontawesomeregular') format('svg'); font-weight: normal; font-style: normal } @@ -20,8 +20,7 @@ font-size: inherit; text-rendering: auto; -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; - transform: translate(0, 0) + -moz-osx-font-smoothing: grayscale } .fa-lg { @@ -75,10 +74,26 @@ .fa-border { padding: .2em .25em .15em; - border: solid .08em #eee; + border: solid .08em #eeeeee; border-radius: .1em } +.fa-pull-left { + float: left +} + +.fa-pull-right { + float: right +} + +.fa.fa-pull-left { + margin-right: .3em +} + +.fa.fa-pull-right { + margin-left: .3em +} + .pull-right { float: right } @@ -191,7 +206,7 @@ } .fa-inverse { - color: #fff + color: #ffffff } .fa-glass:before { @@ -790,7 +805,7 @@ content: "\f09d" } -.fa-rss:before { +.fa-feed:before, .fa-rss:before { content: "\f09e" } @@ -1894,7 +1909,7 @@ content: "\f1d3" } -.fa-hacker-news:before { +.fa-y-combinator-square:before, .fa-yc-square:before, .fa-hacker-news:before { content: "\f1d4" } @@ -1922,7 +1937,7 @@ content: "\f1da" } -.fa-genderless:before, .fa-circle-thin:before { +.fa-circle-thin:before { content: "\f1db" } @@ -2190,7 +2205,7 @@ content: "\f223" } -.fa-transgender:before { +.fa-intersex:before, .fa-transgender:before { content: "\f224" } @@ -2226,6 +2241,10 @@ content: "\f22c" } +.fa-genderless:before { + content: "\f22d" +} + .fa-facebook-official:before { content: "\f230" } @@ -2269,3 +2288,263 @@ .fa-medium:before { content: "\f23a" } + +.fa-yc:before, .fa-y-combinator:before { + content: "\f23b" +} + +.fa-optin-monster:before { + content: "\f23c" +} + +.fa-opencart:before { + content: "\f23d" +} + +.fa-expeditedssl:before { + content: "\f23e" +} + +.fa-battery-4:before, .fa-battery-full:before { + content: "\f240" +} + +.fa-battery-3:before, .fa-battery-three-quarters:before { + content: "\f241" +} + +.fa-battery-2:before, .fa-battery-half:before { + content: "\f242" +} + +.fa-battery-1:before, .fa-battery-quarter:before { + content: "\f243" +} + +.fa-battery-0:before, .fa-battery-empty:before { + content: "\f244" +} + +.fa-mouse-pointer:before { + content: "\f245" +} + +.fa-i-cursor:before { + content: "\f246" +} + +.fa-object-group:before { + content: "\f247" +} + +.fa-object-ungroup:before { + content: "\f248" +} + +.fa-sticky-note:before { + content: "\f249" +} + +.fa-sticky-note-o:before { + content: "\f24a" +} + +.fa-cc-jcb:before { + content: "\f24b" +} + +.fa-cc-diners-club:before { + content: "\f24c" +} + +.fa-clone:before { + content: "\f24d" +} + +.fa-balance-scale:before { + content: "\f24e" +} + +.fa-hourglass-o:before { + content: "\f250" +} + +.fa-hourglass-1:before, .fa-hourglass-start:before { + content: "\f251" +} + +.fa-hourglass-2:before, .fa-hourglass-half:before { + content: "\f252" +} + +.fa-hourglass-3:before, .fa-hourglass-end:before { + content: "\f253" +} + +.fa-hourglass:before { + content: "\f254" +} + +.fa-hand-grab-o:before, .fa-hand-rock-o:before { + content: "\f255" +} + +.fa-hand-stop-o:before, .fa-hand-paper-o:before { + content: "\f256" +} + +.fa-hand-scissors-o:before { + content: "\f257" +} + +.fa-hand-lizard-o:before { + content: "\f258" +} + +.fa-hand-spock-o:before { + content: "\f259" +} + +.fa-hand-pointer-o:before { + content: "\f25a" +} + +.fa-hand-peace-o:before { + content: "\f25b" +} + +.fa-trademark:before { + content: "\f25c" +} + +.fa-registered:before { + content: "\f25d" +} + +.fa-creative-commons:before { + content: "\f25e" +} + +.fa-gg:before { + content: "\f260" +} + +.fa-gg-circle:before { + content: "\f261" +} + +.fa-tripadvisor:before { + content: "\f262" +} + +.fa-odnoklassniki:before { + content: "\f263" +} + +.fa-odnoklassniki-square:before { + content: "\f264" +} + +.fa-get-pocket:before { + content: "\f265" +} + +.fa-wikipedia-w:before { + content: "\f266" +} + +.fa-safari:before { + content: "\f267" +} + +.fa-chrome:before { + content: "\f268" +} + +.fa-firefox:before { + content: "\f269" +} + +.fa-opera:before { + content: "\f26a" +} + +.fa-internet-explorer:before { + content: "\f26b" +} + +.fa-tv:before, .fa-television:before { + content: "\f26c" +} + +.fa-contao:before { + content: "\f26d" +} + +.fa-500px:before { + content: "\f26e" +} + +.fa-amazon:before { + content: "\f270" +} + +.fa-calendar-plus-o:before { + content: "\f271" +} + +.fa-calendar-minus-o:before { + content: "\f272" +} + +.fa-calendar-times-o:before { + content: "\f273" +} + +.fa-calendar-check-o:before { + content: "\f274" +} + +.fa-industry:before { + content: "\f275" +} + +.fa-map-pin:before { + content: "\f276" +} + +.fa-map-signs:before { + content: "\f277" +} + +.fa-map-o:before { + content: "\f278" +} + +.fa-map:before { + content: "\f279" +} + +.fa-commenting:before { + content: "\f27a" +} + +.fa-commenting-o:before { + content: "\f27b" +} + +.fa-houzz:before { + content: "\f27c" +} + +.fa-vimeo:before { + content: "\f27d" +} + +.fa-black-tie:before { + content: "\f27e" +} + +.fa-fonticons:before { + content: "\f280" +} diff --git a/fonts/FontAwesome.otf b/fonts/FontAwesome.otf index f7936cc..681bdd4 100644 Binary files a/fonts/FontAwesome.otf and b/fonts/FontAwesome.otf differ diff --git a/fonts/fontawesome-webfont.eot b/fonts/fontawesome-webfont.eot index 33b2bb8..a30335d 100644 Binary files a/fonts/fontawesome-webfont.eot and b/fonts/fontawesome-webfont.eot differ diff --git a/fonts/fontawesome-webfont.svg b/fonts/fontawesome-webfont.svg index 1ee89d4..6fd19ab 100644 --- a/fonts/fontawesome-webfont.svg +++ b/fonts/fontawesome-webfont.svg @@ -399,7 +399,7 @@ - + @@ -411,8 +411,8 @@ - - + + @@ -459,7 +459,7 @@ - + @@ -483,13 +483,13 @@ - + - + @@ -523,7 +523,7 @@ - + @@ -531,18 +531,18 @@ - + - + - + - + @@ -556,10 +556,85 @@ - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/fonts/fontawesome-webfont.ttf b/fonts/fontawesome-webfont.ttf index ed9372f..d7994e1 100644 Binary files a/fonts/fontawesome-webfont.ttf and b/fonts/fontawesome-webfont.ttf differ diff --git a/fonts/fontawesome-webfont.woff b/fonts/fontawesome-webfont.woff index 8b280b9..6fd4ede 100644 Binary files a/fonts/fontawesome-webfont.woff and b/fonts/fontawesome-webfont.woff differ diff --git a/fonts/fontawesome-webfont.woff2 b/fonts/fontawesome-webfont.woff2 index 3311d58..5560193 100644 Binary files a/fonts/fontawesome-webfont.woff2 and b/fonts/fontawesome-webfont.woff2 differ diff --git a/js/lib/font-awesome-iconpicker.min.js b/js/lib/font-awesome-iconpicker.min.js index 38884ad..084d161 100644 --- a/js/lib/font-awesome-iconpicker.min.js +++ b/js/lib/font-awesome-iconpicker.min.js @@ -1 +1,1082 @@ -!function(a,b){function c(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function d(b,c){return parseInt(a.css(b,c),10)||0}function e(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.pos;a.pos={scrollbarWidth:function(){if(f!==b)return f;var c,d,e=a("
"),g=e.children()[0];return a("body").append(e),c=g.offsetWidth,e.css("overflow","scroll"),d=g.offsetWidth,c===d&&(d=e[0].clientWidth),e.remove(),f=c-d},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.widthd?"left":c>0?"right":"center",vertical:0>f?"top":e>0?"bottom":"middle"};l>n&&h(c+d)p&&h(e+f)g(h(e),h(f))?"horizontal":"vertical",b.using.call(this,a,i)}),k.offset(a.extend(A,{using:j}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var d,e=c.within,f=e.isWindow?e.scrollLeft:e.offset.left,h=e.width,i=b.left-c.collisionPosition.marginLeft,j=f-i,k=i+c.collisionWidth-h-f;c.collisionWidth>h?j>0&&0>=k?(d=b.left+j+c.collisionWidth-h-f,b.left+=j-d):b.left=k>0&&0>=j?f:j>k?f+h-c.collisionWidth:f:j>0?b.left+=j:k>0?b.left-=k:b.left=g(b.left-i,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var d,e=c.within,f=e.isWindow?e.scrollTop:e.offset.top,h=c.within.height,i=b.top-c.collisionPosition.marginTop,j=f-i,k=i+c.collisionHeight-h-f;c.collisionHeight>h?j>0&&0>=k?(d=b.top+j+c.collisionHeight-h-f,b.top+=j-d):b.top=k>0&&0>=j?f:j>k?f+h-c.collisionHeight:f:j>0?b.top+=j:k>0?b.top-=k:b.top=g(b.top-i,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var d,e,f=c.within,g=f.offset.left+f.scrollLeft,i=f.width,j=f.isWindow?f.scrollLeft:f.offset.left,k=b.left-c.collisionPosition.marginLeft,l=k-j,m=k+c.collisionWidth-i-j,n="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,o="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,p=-2*c.offset[0];0>l?(d=b.left+n+o+p+c.collisionWidth-i-g,(0>d||d0&&(e=b.left-c.collisionPosition.marginLeft+n+o+p-j,(e>0||h(e)l?(e=b.top+o+p+q+c.collisionHeight-i-g,b.top+o+p+q>l&&(0>e||e0&&(d=b.top-c.collisionPosition.marginTop+o+p+q-j,b.top+o+p+q>m&&(d>0||h(d)10&&11>e,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return a===!1||""===a||null===a||void 0===a},isEmptyObject:function(a){return this.isEmpty(a)===!0||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return-1!==a.inArray(b,c)},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate"),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=b.isElement(this.options.container)?a(this.options.container):!1,this.container===!1&&(this.container=this.element.is("input")?this.element.parent():this.element),this.container.addClass("iconpicker-container").is(".dropdown-menu")&&(this.options.placement="inline"),this.input=this.element.is("input")?this.element.addClass("iconpicker-input"):!1,this.input===!1&&(this.input=this.container.find(this.options.input)),this.component=this.container.find(this.options.component).addClass("iconpicker-component"),0===this.component.length?this.component=!1:this.component.find("i").addClass(this.options.iconComponentBaseClass),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.container.is(".input-group")?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated")};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],iconBaseClass:"fa",iconComponentBaseClass:"fa fa-fw",iconClassPrefix:"fa-",input:"input",component:".input-group-addon",container:!1,templates:{popover:'
',footer:'',buttons:' ',search:'',iconpicker:'
',iconpickerItem:'
'}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('
'+this.options.title+"
")),this.options.searchInFooter||b.isEmpty(this.options.templates.buttons)?this.options.title||c.remove():c.append(this.options.templates.search),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);!b.isEmpty(this.options.templates.search)&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return this.options.animation===!0&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(){var c=a(this);c.is("."+b.options.iconBaseClass)&&(c=c.parent()),b._trigger("iconpickerSelect",{iconpickerItem:c,iconpickerValue:b.iconpickerValue}),b.options.mustAccept===!1?(b.update(c.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(c.data("iconpickerValue"),!0),b.options.hideOnSelect&&b.options.mustAccept===!1&&b.hide()};for(var d in this.options.icons){var e=a(this.options.templates.iconpickerItem);e.find("i").addClass(b.options.iconBaseClass+" "+this.options.iconClassPrefix+this.options.icons[d]),e.data("iconpickerValue",this.options.icons[d]).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.getValue(this.options.icons[d])))}return this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(b){var c=a(b.target);return c.hasClass("iconpicker-element")&&(!c.hasClass("iconpicker-element")||c.is(this.element))||0!==c.parents(".iconpicker-popover").length?!0:!1},_bindElementEvents:function(){var c=this;this.getSearchInput().on("keyup",function(){c.filter(a(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var a=c.iconpicker.find(".iconpicker-selected").get(0);c.update(c.iconpickerValue),c._trigger("iconpickerSelected",{iconpickerItem:a,iconpickerValue:c.iconpickerValue}),c.isInline()||c.hide()}),this.getCancelButton().on("click.iconpicker",function(){c.isInline()||c.hide()}),this.element.on("focus.iconpicker",function(a){c.show(),a.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){c.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(a){b.inArray(a.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?c._updateFormGroupStatus(c.getValid(this.value)!==!1):c.update()})},_bindWindowEvents:function(){var b=a(window.document),c=this,d=".iconpicker.inst"+this._id;return a(window).on("resize.iconpicker"+d+" orientationchange.iconpicker"+d,function(){c.popover.hasClass("in")&&c.updatePlacement()}),c.isInline()||b.on("mouseup"+d,function(a){return c._isEventInsideIconpicker(a)||c.isInline()||c.hide(),a.stopPropagation(),a.preventDefault(),!1}),!1},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){a(window).off(".iconpicker.inst"+this._id),a(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(b,c){b=b||this.options.placement,this.options.placement=b,c=c||this.options.collision,c=c===!0?"flip":c;var d={at:"right bottom",my:"right top",of:this.hasInput()?this.input:this.container,collision:c===!0?"flip":c,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof b)return this.popover.pos(a.extend({},d,b));switch(b){case"inline":d=!1;break;case"topLeftCorner":d.my="right bottom",d.at="left top";break;case"topLeft":d.my="left bottom",d.at="left top";break;case"top":d.my="center bottom",d.at="center top";break;case"topRight":d.my="right bottom",d.at="right top";break;case"topRightCorner":d.my="left bottom",d.at="right top";break;case"rightTop":d.my="left bottom",d.at="right center";break;case"right":d.my="left center",d.at="right center";break;case"rightBottom":d.my="left top",d.at="right center";break;case"bottomRightCorner":d.my="left top",d.at="right bottom";break;case"bottomRight":d.my="right top",d.at="right bottom";break;case"bottom":d.my="center top",d.at="center bottom";break;case"bottomLeft":d.my="left top",d.at="left bottom";break;case"bottomLeftCorner":d.my="right top",d.at="left bottom";break;case"leftBottom":d.my="right top",d.at="left center";break;case"left":d.my="right center",d.at="left center";break;case"leftTop":d.my="right bottom",d.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),d!==!1?this.popover.pos(d).css("maxWidth",a(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpicker.find("."+this.options.iconBaseClass+"."+this.options.iconClassPrefix+this.iconpickerValue).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("i");a.length>0?a.attr("class",this.options.iconComponentBaseClass+" "+this.getValue()):this.component.html(this.getValueHtml())}},_updateFormGroupStatus:function(a){return this.hasInput()?(a!==!1?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0):!1},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c.replace(this.options.iconClassPrefix,"")),b.inArray(c,this.options.icons)||d?c:!1},setValue:function(a){var b=this.getValid(a);return b!==!1?(this.iconpickerValue=b,this._trigger("iconpickerSetValue",{iconpickerValue:b}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:a}),!1)},getValue:function(a){return this.options.iconClassPrefix+(a?a:this.iconpickerValue)},getValueHtml:function(){return''},setSourceValue:function(a){return a=this.setValue(a),a!==!1&&""!==a&&(this.hasInput()?this.input.val(this.getValue()):this.element.data("iconpickerValue",this.getValue()),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),(void 0===b||""===b||null===b||b===!1)&&(b=a),b},hasInput:function(){return this.input!==!1},hasComponent:function(){return this.component!==!1},hasContainer:function(){return this.container!==!1},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase(),f=!1;try{f=new RegExp(c,"g")}catch(g){f=!1}f!==!1&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){return this.popover.hasClass("in")?!1:(a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow"),this.updatePlacement(),this.popover.addClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown")},this),this.options.animation?300:1))},hide:function(){return this.popover.hasClass("in")?(this._trigger("iconpickerHide"),this.popover.removeClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden")},this),this.options.animation?300:1)):!1},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a?a:this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate"),b===!0?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(a!==!1)),a!==!1&&this._updateComponents(),this._trigger("iconpickerUpdated"),a},destroy:function(){this._trigger("iconpickerDestroy"),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed")},disable:function(){return this.hasInput()?(this.input.prop("disabled",!0),!0):!1},enable:function(){return this.hasInput()?(this.input.prop("disabled",!1),!0):!1},isDisabled:function(){return this.hasInput()?this.input.prop("disabled")===!0:!1},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions.icons=["adjust","adn","align-center","align-justify","align-left","align-right","ambulance","anchor","android","angle-double-down","angle-double-left","angle-double-right","angle-double-up","angle-down","angle-left","angle-right","angle-up","apple","archive","arrow-circle-down","arrow-circle-left","arrow-circle-o-down","arrow-circle-o-left","arrow-circle-o-right","arrow-circle-o-up","arrow-circle-right","arrow-circle-up","arrow-down","arrow-left","arrow-right","arrow-up","arrows","arrows-alt","arrows-h","arrows-v","asterisk","automobile","backward","ban","bank","bar-chart-o","barcode","bars","beer","behance","behance-square","bell","bell-o","bitbucket","bitbucket-square","bitcoin","bold","bolt","bomb","book","bookmark","bookmark-o","briefcase","btc","bug","building","building-o","bullhorn","bullseye","cab","calendar","calendar-o","camera","camera-retro","car","caret-down","caret-left","caret-right","caret-square-o-down","caret-square-o-left","caret-square-o-right","caret-square-o-up","caret-up","certificate","chain","chain-broken","check","check-circle","check-circle-o","check-square","check-square-o","chevron-circle-down","chevron-circle-left","chevron-circle-right","chevron-circle-up","chevron-down","chevron-left","chevron-right","chevron-up","child","circle","circle-o","circle-o-notch","circle-thin","clipboard","clock-o","cloud","cloud-download","cloud-upload","cny","code","code-fork","codepen","coffee","cog","cogs","columns","comment","comment-o","comments","comments-o","compass","compress","copy","credit-card","crop","crosshairs","css3","cube","cubes","cut","cutlery","dashboard","database","dedent","delicious","desktop","deviantart","digg","dollar","dot-circle-o","download","dribbble","dropbox","drupal","edit","eject","ellipsis-h","ellipsis-v","empire","envelope","envelope-o","envelope-square","eraser","eur","euro","exchange","exclamation","exclamation-circle","exclamation-triangle","expand","external-link","external-link-square","eye","eye-slash","facebook","facebook-square","fast-backward","fast-forward","fax","female","fighter-jet","file","file-archive-o","file-audio-o","file-code-o","file-excel-o","file-image-o","file-movie-o","file-o","file-pdf-o","file-photo-o","file-picture-o","file-powerpoint-o","file-sound-o","file-text","file-text-o","file-video-o","file-word-o","file-zip-o","files-o","film","filter","fire","fire-extinguisher","flag","flag-checkered","flag-o","flash","flask","flickr","floppy-o","folder","folder-o","folder-open","folder-open-o","font","forward","foursquare","frown-o","gamepad","gavel","gbp","ge","gear","gears","gift","git","git-square","github","github-alt","github-square","gittip","glass","globe","google","google-plus","google-plus-square","graduation-cap","group","h-square","hacker-news","hand-o-down","hand-o-left","hand-o-right","hand-o-up","hdd-o","header","headphones","heart","heart-o","history","home","hospital-o","html5","image","inbox","indent","info","info-circle","inr","instagram","institution","italic","joomla","jpy","jsfiddle","key","keyboard-o","krw","language","laptop","leaf","legal","lemon-o","level-down","level-up","life-bouy","life-ring","life-saver","lightbulb-o","link","linkedin","linkedin-square","linux","list","list-alt","list-ol","list-ul","location-arrow","lock","long-arrow-down","long-arrow-left","long-arrow-right","long-arrow-up","magic","magnet","mail-forward","mail-reply","mail-reply-all","male","map-marker","maxcdn","medkit","meh-o","microphone","microphone-slash","minus","minus-circle","minus-square","minus-square-o","mobile","mobile-phone","money","moon-o","mortar-board","music","navicon","openid","outdent","pagelines","paper-plane","paper-plane-o","paperclip","paragraph","paste","pause","paw","pencil","pencil-square","pencil-square-o","phone","phone-square","photo","picture-o","pied-piper","pied-piper-alt","pied-piper-square","pinterest","pinterest-square","plane","play","play-circle","play-circle-o","plus","plus-circle","plus-square","plus-square-o","power-off","print","puzzle-piece","qq","qrcode","question","question-circle","quote-left","quote-right","ra","random","rebel","recycle","reddit","reddit-square","refresh","renren","reorder","repeat","reply","reply-all","retweet","rmb","road","rocket","rotate-left","rotate-right","rouble","rss","rss-square","rub","ruble","rupee","save","scissors","search","search-minus","search-plus","send","send-o","share","share-alt","share-alt-square","share-square","share-square-o","shield","shopping-cart","sign-in","sign-out","signal","sitemap","skype","slack","sliders","smile-o","sort","sort-alpha-asc","sort-alpha-desc","sort-amount-asc","sort-amount-desc","sort-asc","sort-desc","sort-down","sort-numeric-asc","sort-numeric-desc","sort-up","soundcloud","space-shuttle","spinner","spoon","spotify","square","square-o","stack-exchange","stack-overflow","star","star-half","star-half-empty","star-half-full","star-half-o","star-o","steam","steam-square","step-backward","step-forward","stethoscope","stop","strikethrough","stumbleupon","stumbleupon-circle","subscript","suitcase","sun-o","superscript","support","table","tablet","tachometer","tag","tags","tasks","taxi","tencent-weibo","terminal","text-height","text-width","th","th-large","th-list","thumb-tack","thumbs-down","thumbs-o-down","thumbs-o-up","thumbs-up","ticket","times","times-circle","times-circle-o","tint","toggle-down","toggle-left","toggle-right","toggle-up","trash-o","tree","trello","trophy","truck","try","tumblr","tumblr-square","turkish-lira","twitter","twitter-square","umbrella","underline","undo","university","unlink","unlock","unlock-alt","unsorted","upload","usd","user","user-md","users","video-camera","vimeo-square","vine","vk","volume-down","volume-off","volume-up","warning","wechat","weibo","weixin","wheelchair","windows","won","wordpress","wrench","xing","xing-square","yahoo","yen","youtube","youtube-play","youtube-square"]}); \ No newline at end of file +!function (a, b) { + function c(a, b, c) { + return [parseFloat(a[0]) * (n.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (n.test(a[1]) ? c / 100 : 1)] + } + + function d(b, c) { + return parseInt(a.css(b, c), 10) || 0 + } + + function e(b) { + var c = b[0]; + return 9 === c.nodeType ? { + width: b.width(), + height: b.height(), + offset: {top: 0, left: 0} + } : a.isWindow(c) ? { + width: b.width(), + height: b.height(), + offset: {top: b.scrollTop(), left: b.scrollLeft()} + } : c.preventDefault ? {width: 0, height: 0, offset: {top: c.pageY, left: c.pageX}} : { + width: b.outerWidth(), + height: b.outerHeight(), + offset: b.offset() + } + } + + a.ui = a.ui || {}; + var f, g = Math.max, h = Math.abs, i = Math.round, j = /left|center|right/, k = /top|center|bottom/, l = /[\+\-]\d+(\.[\d]+)?%?/, m = /^\w+/, n = /%$/, o = a.fn.pos; + a.pos = { + scrollbarWidth: function () { + if (f !== b)return f; + var c, d, e = a("
"), g = e.children()[0]; + return a("body").append(e), c = g.offsetWidth, e.css("overflow", "scroll"), d = g.offsetWidth, c === d && (d = e[0].clientWidth), e.remove(), f = c - d + }, getScrollInfo: function (b) { + var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = "scroll" === c || "auto" === c && b.width < b.element[0].scrollWidth, f = "scroll" === d || "auto" === d && b.height < b.element[0].scrollHeight; + return {width: f ? a.pos.scrollbarWidth() : 0, height: e ? a.pos.scrollbarWidth() : 0} + }, getWithinInfo: function (b) { + var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && 9 === c[0].nodeType; + return { + element: c, + isWindow: d, + isDocument: e, + offset: c.offset() || {left: 0, top: 0}, + scrollLeft: c.scrollLeft(), + scrollTop: c.scrollTop(), + width: d ? c.width() : c.outerWidth(), + height: d ? c.height() : c.outerHeight() + } + } + }, a.fn.pos = function (b) { + if (!b || !b.of)return o.apply(this, arguments); + b = a.extend({}, b); + var f, n, p, q, r, s, t = a(b.of), u = a.pos.getWithinInfo(b.within), v = a.pos.getScrollInfo(u), w = (b.collision || "flip").split(" "), x = {}; + return s = e(t), t[0].preventDefault && (b.at = "left top"), n = s.width, p = s.height, q = s.offset, r = a.extend({}, q), a.each(["my", "at"], function () { + var a, c, d = (b[this] || "").split(" "); + 1 === d.length && (d = j.test(d[0]) ? d.concat(["center"]) : k.test(d[0]) ? ["center"].concat(d) : ["center", "center"]), d[0] = j.test(d[0]) ? d[0] : "center", d[1] = k.test(d[1]) ? d[1] : "center", a = l.exec(d[0]), c = l.exec(d[1]), x[this] = [a ? a[0] : 0, c ? c[0] : 0], b[this] = [m.exec(d[0])[0], m.exec(d[1])[0]] + }), 1 === w.length && (w[1] = w[0]), "right" === b.at[0] ? r.left += n : "center" === b.at[0] && (r.left += n / 2), "bottom" === b.at[1] ? r.top += p : "center" === b.at[1] && (r.top += p / 2), f = c(x.at, n, p), r.left += f[0], r.top += f[1], this.each(function () { + var e, j, k = a(this), l = k.outerWidth(), m = k.outerHeight(), o = d(this, "marginLeft"), s = d(this, "marginTop"), y = l + o + d(this, "marginRight") + v.width, z = m + s + d(this, "marginBottom") + v.height, A = a.extend({}, r), B = c(x.my, k.outerWidth(), k.outerHeight()); + "right" === b.my[0] ? A.left -= l : "center" === b.my[0] && (A.left -= l / 2), "bottom" === b.my[1] ? A.top -= m : "center" === b.my[1] && (A.top -= m / 2), A.left += B[0], A.top += B[1], a.support.offsetFractions || (A.left = i(A.left), A.top = i(A.top)), e = { + marginLeft: o, + marginTop: s + }, a.each(["left", "top"], function (c, d) { + a.ui.pos[w[c]] && a.ui.pos[w[c]][d](A, { + targetWidth: n, + targetHeight: p, + elemWidth: l, + elemHeight: m, + collisionPosition: e, + collisionWidth: y, + collisionHeight: z, + offset: [f[0] + B[0], f[1] + B[1]], + my: b.my, + at: b.at, + within: u, + elem: k + }) + }), b.using && (j = function (a) { + var c = q.left - A.left, d = c + n - l, e = q.top - A.top, f = e + p - m, i = { + target: { + element: t, + left: q.left, + top: q.top, + width: n, + height: p + }, + element: {element: k, left: A.left, top: A.top, width: l, height: m}, + horizontal: 0 > d ? "left" : c > 0 ? "right" : "center", + vertical: 0 > f ? "top" : e > 0 ? "bottom" : "middle" + }; + l > n && h(c + d) < n && (i.horizontal = "center"), m > p && h(e + f) < p && (i.vertical = "middle"), i.important = g(h(c), h(d)) > g(h(e), h(f)) ? "horizontal" : "vertical", b.using.call(this, a, i) + }), k.offset(a.extend(A, {using: j})) + }) + }, a.ui.pos = { + _trigger: function (a, b, c, d) { + b.elem && b.elem.trigger({type: c, position: a, positionData: b, triggered: d}) + }, fit: { + left: function (b, c) { + a.ui.pos._trigger(b, c, "posCollide", "fitLeft"); + var d, e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, h = e.width, i = b.left - c.collisionPosition.marginLeft, j = f - i, k = i + c.collisionWidth - h - f; + c.collisionWidth > h ? j > 0 && 0 >= k ? (d = b.left + j + c.collisionWidth - h - f, b.left += j - d) : b.left = k > 0 && 0 >= j ? f : j > k ? f + h - c.collisionWidth : f : j > 0 ? b.left += j : k > 0 ? b.left -= k : b.left = g(b.left - i, b.left), a.ui.pos._trigger(b, c, "posCollided", "fitLeft") + }, top: function (b, c) { + a.ui.pos._trigger(b, c, "posCollide", "fitTop"); + var d, e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, h = c.within.height, i = b.top - c.collisionPosition.marginTop, j = f - i, k = i + c.collisionHeight - h - f; + c.collisionHeight > h ? j > 0 && 0 >= k ? (d = b.top + j + c.collisionHeight - h - f, b.top += j - d) : b.top = k > 0 && 0 >= j ? f : j > k ? f + h - c.collisionHeight : f : j > 0 ? b.top += j : k > 0 ? b.top -= k : b.top = g(b.top - i, b.top), a.ui.pos._trigger(b, c, "posCollided", "fitTop") + } + }, flip: { + left: function (b, c) { + a.ui.pos._trigger(b, c, "posCollide", "flipLeft"); + var d, e, f = c.within, g = f.offset.left + f.scrollLeft, i = f.width, j = f.isWindow ? f.scrollLeft : f.offset.left, k = b.left - c.collisionPosition.marginLeft, l = k - j, m = k + c.collisionWidth - i - j, n = "left" === c.my[0] ? -c.elemWidth : "right" === c.my[0] ? c.elemWidth : 0, o = "left" === c.at[0] ? c.targetWidth : "right" === c.at[0] ? -c.targetWidth : 0, p = -2 * c.offset[0]; + 0 > l ? (d = b.left + n + o + p + c.collisionWidth - i - g, (0 > d || d < h(l)) && (b.left += n + o + p)) : m > 0 && (e = b.left - c.collisionPosition.marginLeft + n + o + p - j, (e > 0 || h(e) < m) && (b.left += n + o + p)), a.ui.pos._trigger(b, c, "posCollided", "flipLeft") + }, top: function (b, c) { + a.ui.pos._trigger(b, c, "posCollide", "flipTop"); + var d, e, f = c.within, g = f.offset.top + f.scrollTop, i = f.height, j = f.isWindow ? f.scrollTop : f.offset.top, k = b.top - c.collisionPosition.marginTop, l = k - j, m = k + c.collisionHeight - i - j, n = "top" === c.my[1], o = n ? -c.elemHeight : "bottom" === c.my[1] ? c.elemHeight : 0, p = "top" === c.at[1] ? c.targetHeight : "bottom" === c.at[1] ? -c.targetHeight : 0, q = -2 * c.offset[1]; + 0 > l ? (e = b.top + o + p + q + c.collisionHeight - i - g, b.top + o + p + q > l && (0 > e || e < h(l)) && (b.top += o + p + q)) : m > 0 && (d = b.top - c.collisionPosition.marginTop + o + p + q - j, b.top + o + p + q > m && (d > 0 || h(d) < m) && (b.top += o + p + q)), a.ui.pos._trigger(b, c, "posCollided", "flipTop") + } + }, flipfit: { + left: function () { + a.ui.pos.flip.left.apply(this, arguments), a.ui.pos.fit.left.apply(this, arguments) + }, top: function () { + a.ui.pos.flip.top.apply(this, arguments), a.ui.pos.fit.top.apply(this, arguments) + } + } + }, function () { + var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div"); + b = document.createElement(g ? "div" : "body"), d = { + visibility: "hidden", + width: 0, + height: 0, + border: 0, + margin: 0, + background: "none" + }, g && a.extend(d, {position: "absolute", left: "-1000px", top: "-1000px"}); + for (f in d)b.style[f] = d[f]; + b.appendChild(h), c = g || document.documentElement, c.insertBefore(b, c.firstChild), h.style.cssText = "position: absolute; left: 10.7432222px;", e = a(h).offset().left, a.support.offsetFractions = e > 10 && 11 > e, b.innerHTML = "", c.removeChild(b) + }() +}(jQuery), function (a) { + "use strict"; + "function" == typeof define && define.amd ? define(["jquery"], a) : window.jQuery && !window.jQuery.fn.iconpicker && a(window.jQuery) +}(function (a) { + "use strict"; + var b = { + isEmpty: function (a) { + return a === !1 || "" === a || null === a || void 0 === a + }, isEmptyObject: function (a) { + return this.isEmpty(a) === !0 || 0 === a.length + }, isElement: function (b) { + return a(b).length > 0 + }, isString: function (a) { + return "string" == typeof a || a instanceof String + }, isArray: function (b) { + return a.isArray(b) + }, inArray: function (b, c) { + return -1 !== a.inArray(b, c) + }, throwError: function (a) { + throw"Font Awesome Icon Picker Exception: " + a + } + }, c = function (d, e) { + this._id = c._idCounter++, this.element = a(d).addClass("iconpicker-element"), this._trigger("iconpickerCreate"), this.options = a.extend({}, c.defaultOptions, this.element.data(), e), this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates), this.options.originalPlacement = this.options.placement, this.container = b.isElement(this.options.container) ? a(this.options.container) : !1, this.container === !1 && (this.container = this.element.is("input") ? this.element.parent() : this.element), this.container.addClass("iconpicker-container").is(".dropdown-menu") && (this.options.placement = "inline"), this.input = this.element.is("input") ? this.element.addClass("iconpicker-input") : !1, this.input === !1 && (this.input = this.container.find(this.options.input)), this.component = this.container.find(this.options.component).addClass("iconpicker-component"), 0 === this.component.length ? this.component = !1 : this.component.find("i").addClass(this.options.iconComponentBaseClass), this._createPopover(), this._createIconpicker(), 0 === this.getAcceptButton().length && (this.options.mustAccept = !1), this.container.is(".input-group") ? this.container.parent().append(this.popover) : this.container.append(this.popover), this._bindElementEvents(), this._bindWindowEvents(), this.update(this.options.selected), this.isInline() && this.show(), this._trigger("iconpickerCreated") + }; + c._idCounter = 0, c.defaultOptions = { + title: !1, + selected: !1, + defaultValue: !1, + placement: "bottom", + collision: "none", + animation: !0, + hideOnSelect: !1, + showFooter: !1, + searchInFooter: !1, + mustAccept: !1, + selectedCustomClass: "bg-primary", + icons: [], + iconBaseClass: "fa", + iconComponentBaseClass: "fa fa-fw", + iconClassPrefix: "fa-", + input: "input", + component: ".input-group-addon", + container: !1, + templates: { + popover: '
', + footer: '', + buttons: ' ', + search: '', + iconpicker: '
', + iconpickerItem: '
' + } + }, c.batch = function (b, c) { + var d = Array.prototype.slice.call(arguments, 2); + return a(b).each(function () { + var b = a(this).data("iconpicker"); + b && b[c].apply(b, d) + }) + }, c.prototype = { + constructor: c, options: {}, _id: 0, _trigger: function (b, c) { + c = c || {}, this.element.trigger(a.extend({type: b, iconpickerInstance: this}, c)) + }, _createPopover: function () { + this.popover = a(this.options.templates.popover); + var c = this.popover.find(".popover-title"); + if (this.options.title && c.append(a('
' + this.options.title + "
")), this.options.searchInFooter || b.isEmpty(this.options.templates.buttons) ? this.options.title || c.remove() : c.append(this.options.templates.search), this.options.showFooter && !b.isEmpty(this.options.templates.footer)) { + var d = a(this.options.templates.footer); + !b.isEmpty(this.options.templates.search) && this.options.searchInFooter && d.append(a(this.options.templates.search)), b.isEmpty(this.options.templates.buttons) || d.append(a(this.options.templates.buttons)), this.popover.append(d) + } + return this.options.animation === !0 && this.popover.addClass("fade"), this.popover + }, _createIconpicker: function () { + var b = this; + this.iconpicker = a(this.options.templates.iconpicker); + var c = function () { + var c = a(this); + c.is("." + b.options.iconBaseClass) && (c = c.parent()), b._trigger("iconpickerSelect", { + iconpickerItem: c, + iconpickerValue: b.iconpickerValue + }), b.options.mustAccept === !1 ? (b.update(c.data("iconpickerValue")), b._trigger("iconpickerSelected", { + iconpickerItem: this, + iconpickerValue: b.iconpickerValue + })) : b.update(c.data("iconpickerValue"), !0), b.options.hideOnSelect && b.options.mustAccept === !1 && b.hide() + }; + for (var d in this.options.icons) { + var e = a(this.options.templates.iconpickerItem); + e.find("i").addClass(b.options.iconBaseClass + " " + this.options.iconClassPrefix + this.options.icons[d]), e.data("iconpickerValue", this.options.icons[d]).on("click.iconpicker", c), this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.getValue(this.options.icons[d]))) + } + return this.popover.find(".popover-content").append(this.iconpicker), this.iconpicker + }, _isEventInsideIconpicker: function (b) { + var c = a(b.target); + return c.hasClass("iconpicker-element") && (!c.hasClass("iconpicker-element") || c.is(this.element)) || 0 !== c.parents(".iconpicker-popover").length ? !0 : !1 + }, _bindElementEvents: function () { + var c = this; + this.getSearchInput().on("keyup", function () { + c.filter(a(this).val().toLowerCase()) + }), this.getAcceptButton().on("click.iconpicker", function () { + var a = c.iconpicker.find(".iconpicker-selected").get(0); + c.update(c.iconpickerValue), c._trigger("iconpickerSelected", { + iconpickerItem: a, + iconpickerValue: c.iconpickerValue + }), c.isInline() || c.hide() + }), this.getCancelButton().on("click.iconpicker", function () { + c.isInline() || c.hide() + }), this.element.on("focus.iconpicker", function (a) { + c.show(), a.stopPropagation() + }), this.hasComponent() && this.component.on("click.iconpicker", function () { + c.toggle() + }), this.hasInput() && this.input.on("keyup.iconpicker", function (a) { + b.inArray(a.keyCode, [38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86]) ? c._updateFormGroupStatus(c.getValid(this.value) !== !1) : c.update() + }) + }, _bindWindowEvents: function () { + var b = a(window.document), c = this, d = ".iconpicker.inst" + this._id; + return a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function () { + c.popover.hasClass("in") && c.updatePlacement() + }), c.isInline() || b.on("mouseup" + d, function (a) { + return c._isEventInsideIconpicker(a) || c.isInline() || c.hide(), a.stopPropagation(), a.preventDefault(), !1 + }), !1 + }, _unbindElementEvents: function () { + this.popover.off(".iconpicker"), this.element.off(".iconpicker"), this.hasInput() && this.input.off(".iconpicker"), this.hasComponent() && this.component.off(".iconpicker"), this.hasContainer() && this.container.off(".iconpicker") + }, _unbindWindowEvents: function () { + a(window).off(".iconpicker.inst" + this._id), a(window.document).off(".iconpicker.inst" + this._id) + }, updatePlacement: function (b, c) { + b = b || this.options.placement, this.options.placement = b, c = c || this.options.collision, c = c === !0 ? "flip" : c; + var d = { + at: "right bottom", + my: "right top", + of: this.hasInput() ? this.input : this.container, + collision: c === !0 ? "flip" : c, + within: window + }; + if (this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"), "object" == typeof b)return this.popover.pos(a.extend({}, d, b)); + switch (b) { + case"inline": + d = !1; + break; + case"topLeftCorner": + d.my = "right bottom", d.at = "left top"; + break; + case"topLeft": + d.my = "left bottom", d.at = "left top"; + break; + case"top": + d.my = "center bottom", d.at = "center top"; + break; + case"topRight": + d.my = "right bottom", d.at = "right top"; + break; + case"topRightCorner": + d.my = "left bottom", d.at = "right top"; + break; + case"rightTop": + d.my = "left bottom", d.at = "right center"; + break; + case"right": + d.my = "left center", d.at = "right center"; + break; + case"rightBottom": + d.my = "left top", d.at = "right center"; + break; + case"bottomRightCorner": + d.my = "left top", d.at = "right bottom"; + break; + case"bottomRight": + d.my = "right top", d.at = "right bottom"; + break; + case"bottom": + d.my = "center top", d.at = "center bottom"; + break; + case"bottomLeft": + d.my = "left top", d.at = "left bottom"; + break; + case"bottomLeftCorner": + d.my = "right top", d.at = "left bottom"; + break; + case"leftBottom": + d.my = "right top", d.at = "left center"; + break; + case"left": + d.my = "right center", d.at = "left center"; + break; + case"leftTop": + d.my = "right bottom", d.at = "left center"; + break; + default: + return !1 + } + return this.popover.css({display: "inline" === this.options.placement ? "" : "block"}), d !== !1 ? this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5) : this.popover.css({ + top: "auto", + right: "auto", + bottom: "auto", + left: "auto", + maxWidth: "none" + }), this.popover.addClass(this.options.placement), !0 + }, _updateComponents: function () { + if (this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected " + this.options.selectedCustomClass), this.iconpicker.find("." + this.options.iconBaseClass + "." + this.options.iconClassPrefix + this.iconpickerValue).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass), this.hasComponent()) { + var a = this.component.find("i"); + a.length > 0 ? a.attr("class", this.options.iconComponentBaseClass + " " + this.getValue()) : this.component.html(this.getValueHtml()) + } + }, _updateFormGroupStatus: function (a) { + return this.hasInput() ? (a !== !1 ? this.input.parents(".form-group:first").removeClass("has-error") : this.input.parents(".form-group:first").addClass("has-error"), !0) : !1 + }, getValid: function (c) { + b.isString(c) || (c = ""); + var d = "" === c; + return c = a.trim(c.replace(this.options.iconClassPrefix, "")), b.inArray(c, this.options.icons) || d ? c : !1 + }, setValue: function (a) { + var b = this.getValid(a); + return b !== !1 ? (this.iconpickerValue = b, this._trigger("iconpickerSetValue", {iconpickerValue: b}), this.iconpickerValue) : (this._trigger("iconpickerInvalid", {iconpickerValue: a}), !1) + }, getValue: function (a) { + return this.options.iconClassPrefix + (a ? a : this.iconpickerValue) + }, getValueHtml: function () { + return '' + }, setSourceValue: function (a) { + return a = this.setValue(a), a !== !1 && "" !== a && (this.hasInput() ? this.input.val(this.getValue()) : this.element.data("iconpickerValue", this.getValue()), this._trigger("iconpickerSetSourceValue", {iconpickerValue: a})), a + }, getSourceValue: function (a) { + a = a || this.options.defaultValue; + var b = a; + return b = this.hasInput() ? this.input.val() : this.element.data("iconpickerValue"), (void 0 === b || "" === b || null === b || b === !1) && (b = a), b + }, hasInput: function () { + return this.input !== !1 + }, hasComponent: function () { + return this.component !== !1 + }, hasContainer: function () { + return this.container !== !1 + }, getAcceptButton: function () { + return this.popover.find(".iconpicker-btn-accept") + }, getCancelButton: function () { + return this.popover.find(".iconpicker-btn-cancel") + }, getSearchInput: function () { + return this.popover.find(".iconpicker-search") + }, filter: function (c) { + if (b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(), a(!1); + var d = []; + return this.iconpicker.find(".iconpicker-item").each(function () { + var b = a(this), e = b.attr("title").toLowerCase(), f = !1; + try { + f = new RegExp(c, "g") + } catch (g) { + f = !1 + } + f !== !1 && e.match(f) ? (d.push(b), b.show()) : b.hide() + }), d + }, show: function () { + return this.popover.hasClass("in") ? !1 : (a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide"), this._trigger("iconpickerShow"), this.updatePlacement(), this.popover.addClass("in"), void setTimeout(a.proxy(function () { + this.popover.css("display", this.isInline() ? "" : "block"), this._trigger("iconpickerShown") + }, this), this.options.animation ? 300 : 1)) + }, hide: function () { + return this.popover.hasClass("in") ? (this._trigger("iconpickerHide"), this.popover.removeClass("in"), void setTimeout(a.proxy(function () { + this.popover.css("display", "none"), this.getSearchInput().val(""), this.filter(""), this._trigger("iconpickerHidden") + }, this), this.options.animation ? 300 : 1)) : !1 + }, toggle: function () { + this.popover.is(":visible") ? this.hide() : this.show(!0) + }, update: function (a, b) { + return a = a ? a : this.getSourceValue(this.iconpickerValue), this._trigger("iconpickerUpdate"), b === !0 ? a = this.setValue(a) : (a = this.setSourceValue(a), this._updateFormGroupStatus(a !== !1)), a !== !1 && this._updateComponents(), this._trigger("iconpickerUpdated"), a + }, destroy: function () { + this._trigger("iconpickerDestroy"), this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"), this._unbindElementEvents(), this._unbindWindowEvents(), a(this.popover).remove(), this._trigger("iconpickerDestroyed") + }, disable: function () { + return this.hasInput() ? (this.input.prop("disabled", !0), !0) : !1 + }, enable: function () { + return this.hasInput() ? (this.input.prop("disabled", !1), !0) : !1 + }, isDisabled: function () { + return this.hasInput() ? this.input.prop("disabled") === !0 : !1 + }, isInline: function () { + return "inline" === this.options.placement || this.popover.hasClass("inline") + } + }, a.iconpicker = c, a.fn.iconpicker = function (b) { + return this.each(function () { + var d = a(this); + d.data("iconpicker") || d.data("iconpicker", new c(this, "object" == typeof b ? b : {})) + }) + }, c.defaultOptions.icons = [ + "glass", + "music", + "search", + "envelope-o", + "heart", + "star", + "star-o", + "user", + "film", + "th-large", + "th", + "th-list", + "check", + "remove", + "close", + "times", + "search-plus", + "search-minus", + "power-off", + "signal", + "gear", + "cog", + "trash-o", + "home", + "file-o", + "clock-o", + "road", + "download", + "arrow-circle-o-down", + "arrow-circle-o-up", + "inbox", + "play-circle-o", + "rotate-right", + "repeat", + "refresh", + "list-alt", + "lock", + "flag", + "headphones", + "volume-off", + "volume-down", + "volume-up", + "qrcode", + "barcode", + "tag", + "tags", + "book", + "bookmark", + "print", + "camera", + "font", + "bold", + "italic", + "text-height", + "text-width", + "align-left", + "align-center", + "align-right", + "align-justify", + "list", + "dedent", + "outdent", + "indent", + "video-camera", + "photo", + "image", + "picture-o", + "pencil", + "map-marker", + "adjust", + "tint", + "edit", + "pencil-square-o", + "share-square-o", + "check-square-o", + "arrows", + "step-backward", + "fast-backward", + "backward", + "play", + "pause", + "stop", + "forward", + "fast-forward", + "step-forward", + "eject", + "chevron-left", + "chevron-right", + "plus-circle", + "minus-circle", + "times-circle", + "check-circle", + "question-circle", + "info-circle", + "crosshairs", + "times-circle-o", + "check-circle-o", + "ban", + "arrow-left", + "arrow-right", + "arrow-up", + "arrow-down", + "mail-forward", + "share", + "expand", + "compress", + "plus", + "minus", + "asterisk", + "exclamation-circle", + "gift", + "leaf", + "fire", + "eye", + "eye-slash", + "warning", + "exclamation-triangle", + "plane", + "calendar", + "random", + "comment", + "magnet", + "chevron-up", + "chevron-down", + "retweet", + "shopping-cart", + "folder", + "folder-open", + "arrows-v", + "arrows-h", + "bar-chart-o", + "bar-chart", + "twitter-square", + "facebook-square", + "camera-retro", + "key", + "gears", + "cogs", + "comments", + "thumbs-o-up", + "thumbs-o-down", + "star-half", + "heart-o", + "sign-out", + "linkedin-square", + "thumb-tack", + "external-link", + "sign-in", + "trophy", + "github-square", + "upload", + "lemon-o", + "phone", + "square-o", + "bookmark-o", + "phone-square", + "twitter", + "facebook-f", + "facebook", + "github", + "unlock", + "credit-card", + "feed", + "rss", + "hdd-o", + "bullhorn", + "bell", + "certificate", + "hand-o-right", + "hand-o-left", + "hand-o-up", + "hand-o-down", + "arrow-circle-left", + "arrow-circle-right", + "arrow-circle-up", + "arrow-circle-down", + "globe", + "wrench", + "tasks", + "filter", + "briefcase", + "arrows-alt", + "group", + "users", + "chain", + "link", + "cloud", + "flask", + "cut", + "scissors", + "copy", + "files-o", + "paperclip", + "save", + "floppy-o", + "square", + "navicon", + "reorder", + "bars", + "list-ul", + "list-ol", + "strikethrough", + "underline", + "table", + "magic", + "truck", + "pinterest", + "pinterest-square", + "google-plus-square", + "google-plus", + "money", + "caret-down", + "caret-up", + "caret-left", + "caret-right", + "columns", + "unsorted", + "sort", + "sort-down", + "sort-desc", + "sort-up", + "sort-asc", + "envelope", + "linkedin", + "rotate-left", + "undo", + "legal", + "gavel", + "dashboard", + "tachometer", + "comment-o", + "comments-o", + "flash", + "bolt", + "sitemap", + "umbrella", + "paste", + "clipboard", + "lightbulb-o", + "exchange", + "cloud-download", + "cloud-upload", + "user-md", + "stethoscope", + "suitcase", + "bell-o", + "coffee", + "cutlery", + "file-text-o", + "building-o", + "hospital-o", + "ambulance", + "medkit", + "fighter-jet", + "beer", + "h-square", + "plus-square", + "angle-double-left", + "angle-double-right", + "angle-double-up", + "angle-double-down", + "angle-left", + "angle-right", + "angle-up", + "angle-down", + "desktop", + "laptop", + "tablet", + "mobile-phone", + "mobile", + "circle-o", + "quote-left", + "quote-right", + "spinner", + "circle", + "mail-reply", + "reply", + "github-alt", + "folder-o", + "folder-open-o", + "smile-o", + "frown-o", + "meh-o", + "gamepad", + "keyboard-o", + "flag-o", + "flag-checkered", + "terminal", + "code", + "mail-reply-all", + "reply-all", + "star-half-empty", + "star-half-full", + "star-half-o", + "location-arrow", + "crop", + "code-fork", + "unlink", + "chain-broken", + "question", + "info", + "exclamation", + "superscript", + "subscript", + "eraser", + "puzzle-piece", + "microphone", + "microphone-slash", + "shield", + "calendar-o", + "fire-extinguisher", + "rocket", + "maxcdn", + "chevron-circle-left", + "chevron-circle-right", + "chevron-circle-up", + "chevron-circle-down", + "html5", + "css3", + "anchor", + "unlock-alt", + "bullseye", + "ellipsis-h", + "ellipsis-v", + "rss-square", + "play-circle", + "ticket", + "minus-square", + "minus-square-o", + "level-up", + "level-down", + "check-square", + "pencil-square", + "external-link-square", + "share-square", + "compass", + "toggle-down", + "caret-square-o-down", + "toggle-up", + "caret-square-o-up", + "toggle-right", + "caret-square-o-right", + "euro", + "eur", + "gbp", + "dollar", + "usd", + "rupee", + "inr", + "cny", + "rmb", + "yen", + "jpy", + "ruble", + "rouble", + "rub", + "won", + "krw", + "bitcoin", + "btc", + "file", + "file-text", + "sort-alpha-asc", + "sort-alpha-desc", + "sort-amount-asc", + "sort-amount-desc", + "sort-numeric-asc", + "sort-numeric-desc", + "thumbs-up", + "thumbs-down", + "youtube-square", + "youtube", + "xing", + "xing-square", + "youtube-play", + "dropbox", + "stack-overflow", + "instagram", + "flickr", + "adn", + "bitbucket", + "bitbucket-square", + "tumblr", + "tumblr-square", + "long-arrow-down", + "long-arrow-up", + "long-arrow-left", + "long-arrow-right", + "apple", + "windows", + "android", + "linux", + "dribbble", + "skype", + "foursquare", + "trello", + "female", + "male", + "gittip", + "gratipay", + "sun-o", + "moon-o", + "archive", + "bug", + "vk", + "weibo", + "renren", + "pagelines", + "stack-exchange", + "arrow-circle-o-right", + "arrow-circle-o-left", + "toggle-left", + "caret-square-o-left", + "dot-circle-o", + "wheelchair", + "vimeo-square", + "turkish-lira", + "try", + "plus-square-o", + "space-shuttle", + "slack", + "envelope-square", + "wordpress", + "openid", + "institution", + "bank", + "university", + "mortar-board", + "graduation-cap", + "yahoo", + "google", + "reddit", + "reddit-square", + "stumbleupon-circle", + "stumbleupon", + "delicious", + "digg", + "pied-piper", + "pied-piper-alt", + "drupal", + "joomla", + "language", + "fax", + "building", + "child", + "paw", + "spoon", + "cube", + "cubes", + "behance", + "behance-square", + "steam", + "steam-square", + "recycle", + "automobile", + "car", + "cab", + "taxi", + "tree", + "spotify", + "deviantart", + "soundcloud", + "database", + "file-pdf-o", + "file-word-o", + "file-excel-o", + "file-powerpoint-o", + "file-photo-o", + "file-picture-o", + "file-image-o", + "file-zip-o", + "file-archive-o", + "file-sound-o", + "file-audio-o", + "file-movie-o", + "file-video-o", + "file-code-o", + "vine", + "codepen", + "jsfiddle", + "life-bouy", + "life-buoy", + "life-saver", + "support", + "life-ring", + "circle-o-notch", + "ra", + "rebel", + "ge", + "empire", + "git-square", + "git", + "y-combinator-square", + "yc-square", + "hacker-news", + "tencent-weibo", + "qq", + "wechat", + "weixin", + "send", + "paper-plane", + "send-o", + "paper-plane-o", + "history", + "circle-thin", + "header", + "paragraph", + "sliders", + "share-alt", + "share-alt-square", + "bomb", + "soccer-ball-o", + "futbol-o", + "tty", + "binoculars", + "plug", + "slideshare", + "twitch", + "yelp", + "newspaper-o", + "wifi", + "calculator", + "paypal", + "google-wallet", + "cc-visa", + "cc-mastercard", + "cc-discover", + "cc-amex", + "cc-paypal", + "cc-stripe", + "bell-slash", + "bell-slash-o", + "trash", + "copyright", + "at", + "eyedropper", + "paint-brush", + "birthday-cake", + "area-chart", + "pie-chart", + "line-chart", + "lastfm", + "lastfm-square", + "toggle-off", + "toggle-on", + "bicycle", + "bus", + "ioxhost", + "angellist", + "cc", + "shekel", + "sheqel", + "ils", + "meanpath", + "buysellads", + "connectdevelop", + "dashcube", + "forumbee", + "leanpub", + "sellsy", + "shirtsinbulk", + "simplybuilt", + "skyatlas", + "cart-plus", + "cart-arrow-down", + "diamond", + "ship", + "user-secret", + "motorcycle", + "street-view", + "heartbeat", + "venus", + "mars", + "mercury", + "intersex", + "transgender", + "transgender-alt", + "venus-double", + "mars-double", + "venus-mars", + "mars-stroke", + "mars-stroke-v", + "mars-stroke-h", + "neuter", + "genderless", + "facebook-official", + "pinterest-p", + "whatsapp", + "server", + "user-plus", + "user-times", + "hotel", + "bed", + "viacoin", + "train", + "subway", + "medium", + "yc", + "y-combinator", + "optin-monster", + "opencart", + "expeditedssl", + "battery-4", + "battery-full", + "battery-3", + "battery-three-quarters", + "battery-2", + "battery-half", + "battery-1", + "battery-quarter", + "battery-0", + "battery-empty", + "mouse-pointer", + "i-cursor", + "object-group", + "object-ungroup", + "sticky-note", + "sticky-note-o", + "cc-jcb", + "cc-diners-club", + "clone", + "balance-scale", + "hourglass-o", + "hourglass-1", + "hourglass-start", + "hourglass-2", + "hourglass-half", + "hourglass-3", + "hourglass-end", + "hourglass", + "hand-grab-o", + "hand-rock-o", + "hand-stop-o", + "hand-paper-o", + "hand-scissors-o", + "hand-lizard-o", + "hand-spock-o", + "hand-pointer-o", + "hand-peace-o", + "trademark", + "registered", + "creative-commons", + "gg", + "gg-circle", + "tripadvisor", + "odnoklassniki", + "odnoklassniki-square", + "get-pocket", + "wikipedia-w", + "safari", + "chrome", + "firefox", + "opera", + "internet-explorer", + "tv", + "television", + "contao", + "500px", + "amazon", + "calendar-plus-o", + "calendar-minus-o", + "calendar-times-o", + "calendar-check-o", + "industry", + "map-pin", + "map-signs", + "map-o", + "map", + "commenting", + "commenting-o", + "houzz", + "vimeo", + "black-tie", + "fonticons", + ] + + c.defaultOptions.icons.sort(); + +});