Better Font Awesome - Version 1.3.0

Version Description

  • Replace outdated TinyMCE shortcode selector brand new jQuery dropdown selector that works in both the visual and text editor
  • Clean up CSS and JS
Download this release

Release Info

Developer McGuive7
Plugin Icon 128x128 Better Font Awesome
Version 1.3.0
Comparing to
See all releases

Code changes from version 1.2.1 to 1.3.0

better-font-awesome.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Better Font Awesome
13
  * Plugin URI: http://wordpress.org/plugins/better-font-awesome
14
  * Description: The ultimate Font Awesome icon plugin for WordPress.
15
- * Version: 1.2.1
16
  * Author: MIGHTYminnow & Mickey Kay
17
  * Author URI: mickey@mickeykaycreative.com
18
  * License: GPLv2+
@@ -604,9 +604,9 @@ class Better_Font_Awesome_Plugin {
604
  <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="fa-2x"]</code> or <code>&lt;i class="fa-coffee fa-2x"&gt;&lt;/i&gt;</code><br /><br />
605
  <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="fa-2x fa-rotate-90"]</code> or <code>&lt;i class="fa-coffee fa-2x fa-rotate-90"&gt;&lt;/i&gt;</code><br /><br /><br />
606
  <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/3.2.1/examples/">See all available options &raquo;</a></small><br /><br />
607
- <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="icon-coffee"&gt;&lt;/i&gt;</code><br /><br />
608
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="icon-2x"]</code> or <code>&lt;i class="icon-coffee icon-2x"&gt;&lt;/i&gt;</code><br /><br />
609
- <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="icon-2x icon-rotate-90"]</code> or <code>&lt;i class="icon-coffee icon-2x icon-rotate-90"&gt;&lt;/i&gt;</code>',
610
  'better-font-awesome' ) .
611
  '</div>';
612
  }
12
  * Plugin Name: Better Font Awesome
13
  * Plugin URI: http://wordpress.org/plugins/better-font-awesome
14
  * Description: The ultimate Font Awesome icon plugin for WordPress.
15
+ * Version: 1.3.0
16
  * Author: MIGHTYminnow & Mickey Kay
17
  * Author URI: mickey@mickeykaycreative.com
18
  * License: GPLv2+
604
  <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="fa-2x"]</code> or <code>&lt;i class="fa-coffee fa-2x"&gt;&lt;/i&gt;</code><br /><br />
605
  <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="fa-2x fa-rotate-90"]</code> or <code>&lt;i class="fa-coffee fa-2x fa-rotate-90"&gt;&lt;/i&gt;</code><br /><br /><br />
606
  <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/3.2.1/examples/">See all available options &raquo;</a></small><br /><br />
607
+ <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="icon icon-coffee"&gt;&lt;/i&gt;</code><br /><br />
608
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x"></i> <code>[icon name="coffee" class="icon-2x"]</code> or <code>&lt;i class="icon icon-coffee icon-2x"&gt;&lt;/i&gt;</code><br /><br />
609
+ <i class="icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 fa-rotate-90"></i> <code>[icon name="coffee" class="icon-2x icon-rotate-90"]</code> or <code>&lt;i class="icon icon-coffee icon-2x icon-rotate-90"&gt;&lt;/i&gt;</code>',
610
  'better-font-awesome' ) .
611
  '</div>';
612
  }
css/admin.css CHANGED
@@ -18,3 +18,19 @@
18
  margin: 0;
19
  }
20
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
18
  margin: 0;
19
  }
20
 
21
+ .bfa-usage-text {
22
+ padding: 20px;
23
+ background-color: #fff;
24
+ border: 1px solid #efefef;
25
+ }
26
+
27
+ .bfa-usage-text h3 {
28
+ margin-top: 0;
29
+ }
30
+
31
+ .bfa-usage-text .fa,
32
+ .bfa-usage-text .icon {
33
+ width: 40px;
34
+ text-align: center;
35
+ box-sizing: border-box;
36
+ }
lib/better-font-awesome-library/README.md CHANGED
@@ -32,13 +32,10 @@ The Better Font Awesome Library contains a [Git submodule](http://git-scm.com/bo
32
  git clone --recursive https://github.com/MickeyKay/better-font-awesome-library.git
33
  ```
34
 
35
- Alternately, if you've already cloned the repo and need to add the submodules, you can run the following commands:
36
  ```
37
- // Initialize all submodules.
38
- git submodule init
39
-
40
- // Pull in updated copies of all submodules.
41
- git submodule update
42
  ```
43
 
44
  ## Usage ##
32
  git clone --recursive https://github.com/MickeyKay/better-font-awesome-library.git
33
  ```
34
 
35
+ Alternately, if you've already cloned the repo and need to add the submodules, you can run the following command:
36
  ```
37
+ // Initialize and update all submodules.
38
+ git submodule update --init --recursive
 
 
 
39
  ```
40
 
41
  ## Usage ##
lib/better-font-awesome-library/better-font-awesome-library.php CHANGED
@@ -297,9 +297,10 @@ class Better_Font_Awesome_Library {
297
  // Load TinyMCE functionality.
298
  if ( $this->args['load_tinymce_plugin'] ) {
299
 
300
- add_action( 'admin_init', array( $this, 'add_tinymce_components' ) );
301
- add_action( 'admin_head', array( $this, 'output_admin_head_variables' ) );
302
- add_action( 'admin_enqueue_scripts', array( $this, 'register_custom_admin_css' ), 15 );
 
303
 
304
  }
305
 
@@ -919,8 +920,8 @@ class Better_Font_Awesome_Library {
919
  $name = str_replace( 'icon-', '', $name );
920
  $name = str_replace( 'fa-', '', $name );
921
 
922
- // Add the version-specific prefix back on to $name.
923
- $icon_name = $this->prefix . '-' . $name;
924
 
925
  // Remove "icon-" and "fa-" from the icon class.
926
  $class = str_replace( 'icon-', '', $class );
@@ -931,7 +932,11 @@ class Better_Font_Awesome_Library {
931
  $class = preg_replace( '/\s{3,}/', ' ', $class );
932
 
933
  // Add the version-specific prefix back on to each class.
934
- $class = $class ? ' ' . $this->prefix . '-' . str_replace( ' ', ' ' . $this->prefix . '-', $class ) : '';
 
 
 
 
935
 
936
  // Add unprefixed classes.
937
  $class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
@@ -946,9 +951,11 @@ class Better_Font_Awesome_Library {
946
  $class = apply_filters( 'bfa_icon_class', $class, $name );
947
 
948
  // Generate the HTML <i> icon element output.
949
- $output = sprintf( '<i class="%s %s" %s>%s</i>',
950
  $this->prefix,
951
- $icon_name . $class . $size,
 
 
952
  $title,
953
  $space
954
  );
@@ -984,88 +991,50 @@ class Better_Font_Awesome_Library {
984
  }
985
 
986
  /**
987
- * Add TinyMCE button functionality.
988
- *
989
- * @since 1.0.0
990
- */
991
- function add_tinymce_components() {
992
-
993
- if ( ! current_user_can( 'edit_posts' ) && ! current_user_can( 'edit_pages' ) ) {
994
- return;
995
- }
996
-
997
- if ( get_user_option( 'rich_editing' ) == 'true' ) {
998
-
999
- add_filter( 'mce_external_plugins', array( $this, 'register_tinymce_plugin' ) );
1000
- add_filter( 'mce_buttons', array( $this, 'add_tinymce_buttons' ) );
1001
-
1002
- }
1003
-
1004
- }
1005
-
1006
- /**
1007
- * Load TinyMCE Font Awesome dropdown plugin.
1008
  *
1009
  * @since 1.0.0
1010
  */
1011
- function register_tinymce_plugin( $plugin_array ) {
1012
 
1013
- global $tinymce_version;
1014
-
1015
- /**
1016
- * Register the correct TinyMCE plugin based on the version of TinyMCE
1017
- * being used.
1018
- */
1019
- if ( version_compare( $tinymce_version, '4000', '>=' ) ) {
1020
- $plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons.js';
1021
- } else {
1022
- $plugin_array['bfa_plugin'] = $this->root_url . 'js/tinymce-icons-old.js';
1023
- }
1024
 
1025
- return $plugin_array;
 
1026
 
1027
- }
 
 
1028
 
1029
- /**
1030
- * Add the TinyMCE button(s).
1031
- *
1032
- * @since 1.0.0
1033
- */
1034
- function add_tinymce_buttons( $buttons ) {
1035
-
1036
- array_push( $buttons, 'bfaSelect' );
1037
- return $buttons;
1038
 
1039
  }
1040
 
1041
  /**
1042
- * Add PHP variables in HTML <head> for use by TinyMCE JavaScript.
1043
  *
1044
- * @since 1.0.0
1045
  */
1046
- function output_admin_head_variables() {
1047
-
1048
- $icon_list = implode( ",", $this->icons );
1049
- ?>
1050
- <!-- Better Font Awesome PHP variables for use by TinyMCE JavaScript -->
1051
- <script type='text/javascript'>
1052
- var bfa_vars = {
1053
- 'fa_prefix': '<?php echo $this->prefix; ?>',
1054
- 'fa_icons': '<?php echo $icon_list; ?>',
1055
- };
1056
- </script>
1057
- <!-- End Better Font Awesome PHP variables for use by TinyMCE JavaScript -->
1058
- <?php
1059
 
1060
- }
 
 
 
 
 
 
 
 
 
 
1061
 
1062
- /**
1063
- * Load admin CSS.
1064
- *
1065
- * @since 1.0.0
1066
- */
1067
- public function register_custom_admin_css() {
1068
- wp_enqueue_style( self::SLUG . '-admin-styles', $this->root_url . 'css/admin-styles.css' );
1069
  }
1070
 
1071
  /**
297
  // Load TinyMCE functionality.
298
  if ( $this->args['load_tinymce_plugin'] ) {
299
 
300
+ add_action( 'admin_enqueue_scripts', array( $this, 'enqueue_admin_scripts' ) );
301
+
302
+ // Add shortcode insertion button.
303
+ add_action( 'media_buttons', array( $this, 'add_insert_shortcode_button' ), 99 );
304
 
305
  }
306
 
920
  $name = str_replace( 'icon-', '', $name );
921
  $name = str_replace( 'fa-', '', $name );
922
 
923
+ // Add the version-specific prefix back on to $name, if it exists.
924
+ $icon_name = $this->prefix ? $this->prefix . '-' . $name : $name;
925
 
926
  // Remove "icon-" and "fa-" from the icon class.
927
  $class = str_replace( 'icon-', '', $class );
932
  $class = preg_replace( '/\s{3,}/', ' ', $class );
933
 
934
  // Add the version-specific prefix back on to each class.
935
+ $class_array = explode( ' ', $class );
936
+ foreach ( $class_array as $index => $class ) {
937
+ $class_array[ $index ] = $this->prefix ? $this->prefix . '-' . $class : $class;
938
+ }
939
+ $class = implode( ' ', $class_array );
940
 
941
  // Add unprefixed classes.
942
  $class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
951
  $class = apply_filters( 'bfa_icon_class', $class, $name );
952
 
953
  // Generate the HTML <i> icon element output.
954
+ $output = sprintf( '<i class="%s %s %s %s" %s>%s</i>',
955
  $this->prefix,
956
+ $icon_name,
957
+ $class,
958
+ $size,
959
  $title,
960
  $space
961
  );
991
  }
992
 
993
  /**
994
+ * Load admin CSS.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
995
  *
996
  * @since 1.0.0
997
  */
998
+ public function enqueue_admin_scripts() {
999
 
1000
+ // Custom admin CSS.
1001
+ wp_enqueue_style( self::SLUG . '-admin', $this->root_url . 'css/admin-styles.css' );
 
 
 
 
 
 
 
 
 
1002
 
1003
+ // Custom admin JS.
1004
+ wp_enqueue_script( self::SLUG . '-admin', $this->root_url . 'js/admin.js' );
1005
 
1006
+ // Icon picker JS and CSS.
1007
+ wp_enqueue_style( 'fontawesome-iconpicker', $this->root_url . 'lib/fontawesome-iconpicker/css/fontawesome-iconpicker.min.css' );
1008
+ wp_enqueue_script( 'fontawesome-iconpicker', $this->root_url . 'lib/fontawesome-iconpicker/js/fontawesome-iconpicker.min.js' );
1009
 
1010
+ // Output PHP variables to JS.
1011
+ $bfa_vars = array(
1012
+ 'fa_prefix' => $this->prefix,
1013
+ 'fa_icons' => $this->get_icons(),
1014
+ );
1015
+ wp_localize_script( self::SLUG . '-admin', 'bfa_vars', $bfa_vars );
 
 
 
1016
 
1017
  }
1018
 
1019
  /**
1020
+ * [add_insert_shortcode_button description]
1021
  *
1022
+ * @since 1.3.0
1023
  */
1024
+ public function add_insert_shortcode_button() {
 
 
 
 
 
 
 
 
 
 
 
 
1025
 
1026
+ ob_start();
1027
+ ?>
1028
+ <span class="bfa-iconpicker fontawesome-iconpicker" data-selected="fa-flag">
1029
+ <a href="#" class="button-primary iconpicker-component">
1030
+ <span class="fa icon fa-flag icon-flag"></span>&nbsp;
1031
+ <?php esc_html_e( 'Insert Icon', 'better-font-awesome' ); ?>
1032
+ <i class="change-icon-placeholder"></i>
1033
+ </a>
1034
+ </span>
1035
+ <?php
1036
+ echo ob_get_clean();
1037
 
 
 
 
 
 
 
 
1038
  }
1039
 
1040
  /**
lib/better-font-awesome-library/css/admin-styles.css CHANGED
@@ -8,49 +8,47 @@
8
  * @copyright 2014 MIGHTYminnow & Mickey Kay
9
  */
10
 
11
- /**
12
- * TinyMCE
13
  */
14
 
15
- /* Override TinyMCE rules blocking these native Font Awesome styles */
16
- #menu_content_content_bfaSelect_menu .icon-fw,
17
- #menu_content_content_bfaSelect_menu .fa-fw,
18
- .mce-stack-layout-item .icon-fw,
19
- .mce-stack-layout-item .fa-fw {
20
- display: inline-block;
21
- width: 1.2857142857142858em;
22
- text-align: center;
 
 
 
 
 
 
 
 
 
 
 
23
  }
24
 
25
- /* Override TinyMCE icon font family */
26
- .fa {
27
- font-family: FontAwesome !important;
28
  }
29
 
30
- /* BFA select icon (for versions < TinyMCE 4) */
31
- [id*="bfaSelect_text"]:before {
32
- content: "\f024";
33
- margin-right: .5em;
34
- font-family: FontAwesome;
35
  }
36
 
37
- /**
38
- * Settings page
39
- */
40
-
41
- .bfa-usage-text {
42
- padding: 20px;
43
- background-color: #fff;
44
- border: 1px solid #efefef;
45
  }
46
 
47
- .bfa-usage-text h3 {
48
- margin-top: 0;
49
  }
50
 
51
- .bfa-usage-text .fa,
52
- .bfa-usage-text .icon {
53
- width: 40px;
54
- text-align: center;
55
- box-sizing: border-box;
56
- }
8
  * @copyright 2014 MIGHTYminnow & Mickey Kay
9
  */
10
 
11
+ /**
12
+ * TinyMCE Button & Popup
13
  */
14
 
15
+ .bfa-iconpicker .iconpicker-popover {
16
+ position: absolute;
17
+ top: 100%;
18
+ left: 0;
19
+ z-index: 1000;
20
+ display: none;
21
+ float: left;
22
+ min-width: 160px;
23
+ padding: 5px 0;
24
+ margin: 2px 0 0;
25
+ list-style: none;
26
+ font-size: 14px;
27
+ background-color: #fff;
28
+ border: 1px solid #ccc;
29
+ border: 1px solid rgba(0,0,0,.15);
30
+ border-radius: 4px;
31
+ -webkit-box-shadow: 0 6px 12px rgba(0,0,0,.175);
32
+ box-shadow: 0 6px 12px rgba(0,0,0,.175);
33
+ background-clip: padding-box;
34
  }
35
 
36
+ .bfa-iconpicker .iconpicker-popover .arrow {
37
+ display: none !important;
 
38
  }
39
 
40
+ .bfa-iconpicker .iconpicker-item {
41
+ box-shadow: 0 0 0 1px #ddd !important;
 
 
 
42
  }
43
 
44
+ .bfa-iconpicker input[type="search"] {
45
+ width: 100%;
 
 
 
 
 
 
46
  }
47
 
48
+ .bfa-iconpicker .iconpicker-popover.popover {
49
+ width: 253px;
50
  }
51
 
52
+ .bfa-iconpicker .iconpicker-component i {
53
+ display: none;
54
+ }
 
 
 
lib/better-font-awesome-library/js/admin.js ADDED
@@ -0,0 +1,41 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * Better Font Awesome Library admin JS.
3
+ *
4
+ * @since 1.0.3
5
+ *
6
+ * @package Better Font Awesome Library
7
+ */
8
+
9
+ ( function( $ ) {
10
+
11
+ $( document ).ready( function() {
12
+
13
+ $( '.bfa-iconpicker' )
14
+ .iconpicker({
15
+ placement: 'bottomLeft',
16
+ hideOnSelect: true,
17
+ animation: false,
18
+ selectedCustomClass: 'selected',
19
+ icons: bfa_vars.fa_icons,
20
+ fullClassFormatter: function( val ) {
21
+ if ( bfa_vars.fa_prefix ) {
22
+ return bfa_vars.fa_prefix + ' ' + bfa_vars.fa_prefix + '-' + val;
23
+ } else {
24
+ return val;
25
+ }
26
+ },
27
+ })
28
+ .on( 'click', function( e ) {
29
+ $( this ).find( '.iconpicker-search').focus();
30
+ })
31
+ .on( 'iconpickerSelect', function( e ) {
32
+ wp.media.editor.insert( icon_shortcode( e.iconpickerItem.context.title.replace( '.', '' ) ) );
33
+ });
34
+
35
+ });
36
+
37
+ function icon_shortcode( icon ) {
38
+ return '[icon name="' + icon + '" class="" unprefixed_class=""]';
39
+ }
40
+
41
+ } )( jQuery );
lib/better-font-awesome-library/js/tinymce-icons-old.js DELETED
@@ -1,43 +0,0 @@
1
- (function() {
2
-
3
- if( typeof bfa_vars != 'undefined' ) {
4
- var icons = bfa_vars.fa_icons.split(',');
5
- var prefix = bfa_vars.fa_prefix;
6
-
7
- var icon_i = function(id) {
8
- return '<i class="fa ' + prefix + '-' + 'fw ' + prefix + '-' + id + '"></i>';
9
- }
10
-
11
- var icon_shortcode = function(id) {
12
- return '[icon name="' + id + '" class=""]';
13
- }
14
-
15
- var createControl = function(name, controlManager) {
16
- if (name != 'bfaSelect') return null;
17
- var listBox = controlManager.createListBox('bfaSelect', {
18
- title: 'Icons',
19
- onselect: function(v) {
20
- var editor = this.control_manager.editor;
21
- if (v) {
22
- editor.selection.setContent(icon_shortcode(v));
23
- }
24
- return false;
25
- }
26
- });
27
-
28
- for (var i = 0; i < icons.length; i++) {
29
- var _id = icons[i];
30
- listBox.add(icon_i(_id) + ' ' + _id, _id);
31
- }
32
-
33
- return listBox;
34
- };
35
-
36
- tinymce.create('tinymce.plugins.bfa_plugin', {
37
- createControl: createControl
38
- });
39
-
40
- tinymce.PluginManager.add('bfa_plugin', tinymce.plugins.bfa_plugin);
41
-
42
- }
43
- })();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/better-font-awesome-library/js/tinymce-icons.js DELETED
@@ -1,48 +0,0 @@
1
- ( function() {
2
- "use strict";
3
-
4
- var icons = bfa_vars.fa_icons.split(',');
5
- var prefix = bfa_vars.fa_prefix;
6
-
7
- var icon_shortcode = function(id) {
8
- return '[icon name="' + id + '" class=""]';
9
- }
10
-
11
- var bfaSelect = function( editor, url ) {
12
- editor.addButton('bfaSelect', function() {
13
- var values = [];
14
-
15
- for (var i = 0; i < icons.length; i++) {
16
- var _id = icons[i];
17
- values.push({text: _id, value: _id, icon: ' fa fa-fw icon-fw fa-' + _id + ' icon-' + _id });
18
- }
19
-
20
- return {
21
- type: 'listbox',
22
- name: 'bfaSelect',
23
- tooltip: 'Better Font Awesome Icons',
24
- icon: ' fa fa-flag icon-flag',
25
- text: 'Icons',
26
- label: 'Select :',
27
- fixedWidth: true,
28
- values: values,
29
- onselect: function(e) {
30
- if (e) {
31
- editor.insertContent(icon_shortcode(e.control.settings.value));
32
- }
33
-
34
- // Reset back to inital "Icons" text
35
- this.value(null);
36
-
37
- return false;
38
- },
39
- onPostRender: function() {
40
- this.addClass('bfaSelect');
41
- }
42
-
43
- };
44
- });
45
-
46
- };
47
- tinymce.PluginManager.add( 'bfa_plugin', bfaSelect );
48
- } )();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
lib/better-font-awesome-library/lib/fallback-font-awesome/css/font-awesome.css.map ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["../scss/_path.scss","../scss/_core.scss","../scss/_larger.scss","../scss/_fixed-width.scss","../scss/_list.scss","../scss/_variables.scss","../scss/_bordered-pulled.scss","../scss/_animated.scss","../scss/_rotated-flipped.scss","../scss/_mixins.scss","../scss/_stacked.scss","../scss/_icons.scss"],
5
+ "names": [],
6
+ "file": "font-awesome.css"
7
+ }
lib/better-font-awesome-library/lib/fallback-font-awesome/fonts/fontawesome-webfont.woff2 ADDED
Binary file
lib/better-font-awesome-library/lib/fontawesome-iconpicker/css/fontawesome-iconpicker.css ADDED
@@ -0,0 +1,326 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome Icon Picker
3
+ * http://mjolnic.github.io/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2014 Javier Aguilar @mjolnic
6
+ * Licensed under the MIT License
7
+ * https://github.com/mjolnic/fontawesome-iconpicker/blob/master/LICENSE
8
+ *
9
+ */
10
+ /*
11
+ * Font Awesome Icon Picker
12
+ * http://mjolnic.github.io/fontawesome-iconpicker/
13
+ *
14
+ * Originally written by (c) 2014 Javier Aguilar @mjolnic
15
+ * Licensed under the MIT License
16
+ * https://github.com/mjolnic/fontawesome-iconpicker/blob/master/LICENSE
17
+ *
18
+ */
19
+ /*
20
+ * Font Awesome Icon Picker
21
+ * http://mjolnic.github.io/fontawesome-iconpicker/
22
+ *
23
+ * Originally written by (c) 2014 Javier Aguilar @mjolnic
24
+ * Licensed under the MIT License
25
+ * https://github.com/mjolnic/fontawesome-iconpicker/blob/master/LICENSE
26
+ *
27
+ */
28
+ .iconpicker-popover.popover {
29
+ position: absolute;
30
+ top: 0;
31
+ left: 0;
32
+ display: none;
33
+ max-width: none;
34
+ padding: 1px;
35
+ text-align: left;
36
+ width: 242px;
37
+ background: #f7f7f7;
38
+ }
39
+ .iconpicker-popover.popover.top,
40
+ .iconpicker-popover.popover.topLeftCorner,
41
+ .iconpicker-popover.popover.topLeft,
42
+ .iconpicker-popover.popover.topRight,
43
+ .iconpicker-popover.popover.topRightCorner {
44
+ margin-top: -10px;
45
+ }
46
+ .iconpicker-popover.popover.right,
47
+ .iconpicker-popover.popover.rightTop,
48
+ .iconpicker-popover.popover.rightBottom {
49
+ margin-left: 10px;
50
+ }
51
+ .iconpicker-popover.popover.bottom,
52
+ .iconpicker-popover.popover.bottomRightCorner,
53
+ .iconpicker-popover.popover.bottomRight,
54
+ .iconpicker-popover.popover.bottomLeft,
55
+ .iconpicker-popover.popover.bottomLeftCorner {
56
+ margin-top: 10px;
57
+ }
58
+ .iconpicker-popover.popover.left,
59
+ .iconpicker-popover.popover.leftBottom,
60
+ .iconpicker-popover.popover.leftTop {
61
+ margin-left: -10px;
62
+ }
63
+ .iconpicker-popover.popover.inline {
64
+ margin: 0 0 14px 0;
65
+ position: relative;
66
+ display: inline-block;
67
+ opacity: 1;
68
+ top: auto;
69
+ left: auto;
70
+ bottom: auto;
71
+ right: auto;
72
+ max-width: 100%;
73
+ box-shadow: none;
74
+ z-index: auto;
75
+ vertical-align: top;
76
+ }
77
+ .iconpicker-popover.popover.inline > .arrow {
78
+ display: none;
79
+ }
80
+ .dropdown-menu .iconpicker-popover.inline {
81
+ margin: 0;
82
+ border: none;
83
+ }
84
+ .dropdown-menu.iconpicker-container {
85
+ padding: 0;
86
+ }
87
+ .iconpicker-popover.popover .popover-title {
88
+ padding: 14px;
89
+ font-size: 14px;
90
+ line-height: 16px;
91
+ border-bottom: 1px solid #ebebeb;
92
+ background-color: #f7f7f7;
93
+ }
94
+ .iconpicker-popover.popover .popover-title input[type=search].iconpicker-search {
95
+ margin: 0 0 2px 0;
96
+ }
97
+ .iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {
98
+ margin-top: 14px;
99
+ }
100
+ .iconpicker-popover.popover .popover-content {
101
+ padding: 0px;
102
+ text-align: center;
103
+ }
104
+ .iconpicker-popover .popover-footer {
105
+ float: none;
106
+ clear: both;
107
+ padding: 14px;
108
+ text-align: right;
109
+ margin: 0;
110
+ border-top: 1px solid #ebebeb;
111
+ background-color: #f7f7f7;
112
+ }
113
+ .iconpicker-popover .popover-footer:before,
114
+ .iconpicker-popover .popover-footer:after {
115
+ content: " ";
116
+ display: table;
117
+ }
118
+ .iconpicker-popover .popover-footer:after {
119
+ clear: both;
120
+ }
121
+ .iconpicker-popover .popover-footer .iconpicker-btn {
122
+ margin-left: 10px;
123
+ }
124
+ .iconpicker-popover .popover-footer input[type=search].iconpicker-search {
125
+ /*width:auto;
126
+ float:left;*/
127
+ margin-bottom: 14px;
128
+ }
129
+ .iconpicker-popover.popover > .arrow,
130
+ .iconpicker-popover.popover > .arrow:after {
131
+ position: absolute;
132
+ display: block;
133
+ width: 0;
134
+ height: 0;
135
+ border-color: transparent;
136
+ border-style: solid;
137
+ }
138
+ .iconpicker-popover.popover > .arrow {
139
+ border-width: 11px;
140
+ }
141
+ .iconpicker-popover.popover > .arrow:after {
142
+ border-width: 10px;
143
+ content: "";
144
+ }
145
+ .iconpicker-popover.popover.top > .arrow,
146
+ .iconpicker-popover.popover.topLeft > .arrow,
147
+ .iconpicker-popover.popover.topRight > .arrow {
148
+ left: 50%;
149
+ margin-left: -11px;
150
+ border-bottom-width: 0;
151
+ border-top-color: #999999;
152
+ border-top-color: rgba(0, 0, 0, 0.25);
153
+ bottom: -11px;
154
+ }
155
+ .iconpicker-popover.popover.top > .arrow:after,
156
+ .iconpicker-popover.popover.topLeft > .arrow:after,
157
+ .iconpicker-popover.popover.topRight > .arrow:after {
158
+ content: " ";
159
+ bottom: 1px;
160
+ margin-left: -10px;
161
+ border-bottom-width: 0;
162
+ border-top-color: #ffffff;
163
+ }
164
+ .iconpicker-popover.popover.topLeft > .arrow {
165
+ left: 14px;
166
+ margin-left: 0;
167
+ }
168
+ .iconpicker-popover.popover.topRight > .arrow {
169
+ left: auto;
170
+ right: 14px;
171
+ margin-left: 0;
172
+ }
173
+ .iconpicker-popover.popover.right > .arrow,
174
+ .iconpicker-popover.popover.rightTop > .arrow,
175
+ .iconpicker-popover.popover.rightBottom > .arrow {
176
+ top: 50%;
177
+ left: -11px;
178
+ margin-top: -11px;
179
+ border-left-width: 0;
180
+ border-right-color: #999999;
181
+ border-right-color: rgba(0, 0, 0, 0.25);
182
+ }
183
+ .iconpicker-popover.popover.right > .arrow:after,
184
+ .iconpicker-popover.popover.rightTop > .arrow:after,
185
+ .iconpicker-popover.popover.rightBottom > .arrow:after {
186
+ content: " ";
187
+ left: 1px;
188
+ bottom: -10px;
189
+ border-left-width: 0;
190
+ border-right-color: #ffffff;
191
+ }
192
+ .iconpicker-popover.popover.rightTop > .arrow {
193
+ top: auto;
194
+ bottom: 14px;
195
+ margin-top: 0;
196
+ }
197
+ .iconpicker-popover.popover.rightBottom > .arrow {
198
+ top: 14px;
199
+ margin-top: 0;
200
+ }
201
+ .iconpicker-popover.popover.bottom > .arrow,
202
+ .iconpicker-popover.popover.bottomRight > .arrow,
203
+ .iconpicker-popover.popover.bottomLeft > .arrow {
204
+ left: 50%;
205
+ margin-left: -11px;
206
+ border-top-width: 0;
207
+ border-bottom-color: #999999;
208
+ border-bottom-color: rgba(0, 0, 0, 0.25);
209
+ top: -11px;
210
+ }
211
+ .iconpicker-popover.popover.bottom > .arrow:after,
212
+ .iconpicker-popover.popover.bottomRight > .arrow:after,
213
+ .iconpicker-popover.popover.bottomLeft > .arrow:after {
214
+ content: " ";
215
+ top: 1px;
216
+ margin-left: -10px;
217
+ border-top-width: 0;
218
+ border-bottom-color: #ffffff;
219
+ }
220
+ .iconpicker-popover.popover.bottomLeft > .arrow {
221
+ left: 14px;
222
+ margin-left: 0;
223
+ }
224
+ .iconpicker-popover.popover.bottomRight > .arrow {
225
+ left: auto;
226
+ right: 14px;
227
+ margin-left: 0;
228
+ }
229
+ .iconpicker-popover.popover.left > .arrow,
230
+ .iconpicker-popover.popover.leftBottom > .arrow,
231
+ .iconpicker-popover.popover.leftTop > .arrow {
232
+ top: 50%;
233
+ right: -11px;
234
+ margin-top: -11px;
235
+ border-right-width: 0;
236
+ border-left-color: #999999;
237
+ border-left-color: rgba(0, 0, 0, 0.25);
238
+ }
239
+ .iconpicker-popover.popover.left > .arrow:after,
240
+ .iconpicker-popover.popover.leftBottom > .arrow:after,
241
+ .iconpicker-popover.popover.leftTop > .arrow:after {
242
+ content: " ";
243
+ right: 1px;
244
+ border-right-width: 0;
245
+ border-left-color: #ffffff;
246
+ bottom: -10px;
247
+ }
248
+ .iconpicker-popover.popover.leftBottom > .arrow {
249
+ top: 14px;
250
+ margin-top: 0;
251
+ }
252
+ .iconpicker-popover.popover.leftTop > .arrow {
253
+ top: auto;
254
+ bottom: 14px;
255
+ margin-top: 0;
256
+ }
257
+ .iconpicker {
258
+ position: relative;
259
+ text-align: left;
260
+ text-shadow: none;
261
+ line-height: 0;
262
+ display: block;
263
+ margin: 0;
264
+ overflow: hidden;
265
+ }
266
+ .iconpicker * {
267
+ -webkit-box-sizing: content-box;
268
+ -moz-box-sizing: content-box;
269
+ box-sizing: content-box;
270
+ position: relative;
271
+ }
272
+ .iconpicker:before,
273
+ .iconpicker:after {
274
+ content: " ";
275
+ display: table;
276
+ }
277
+ .iconpicker:after {
278
+ clear: both;
279
+ }
280
+ .iconpicker .iconpicker-items {
281
+ position: relative;
282
+ clear: both;
283
+ float: none;
284
+ padding: 14px 0 0 14px;
285
+ background: #fff;
286
+ margin: 0;
287
+ overflow: hidden;
288
+ overflow-y: auto;
289
+ min-height: 55px;
290
+ max-height: 275px;
291
+ }
292
+ .iconpicker .iconpicker-items:before,
293
+ .iconpicker .iconpicker-items:after {
294
+ content: " ";
295
+ display: table;
296
+ }
297
+ .iconpicker .iconpicker-items:after {
298
+ clear: both;
299
+ }
300
+ .iconpicker .iconpicker-item {
301
+ float: left;
302
+ width: 14px;
303
+ height: 14px;
304
+ padding: 14px;
305
+ margin: 0 14px 14px 0;
306
+ text-align: center;
307
+ cursor: pointer;
308
+ border-radius: 3px;
309
+ font-size: 14px;
310
+ box-shadow: 0 0 0 1px #dddddd;
311
+ /*&:nth-child(4n+4) {
312
+ margin-right: 0;
313
+ }
314
+ &:nth-last-child(-n+4) {
315
+ margin-bottom: 0;
316
+ }*/
317
+ }
318
+ .iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
319
+ background-color: #eeeeee;
320
+ }
321
+ .iconpicker .iconpicker-item.iconpicker-selected {
322
+ box-shadow: none;
323
+ }
324
+ .iconpicker-component {
325
+ cursor: pointer;
326
+ }
lib/better-font-awesome-library/lib/fontawesome-iconpicker/css/fontawesome-iconpicker.min.css ADDED
@@ -0,0 +1,9 @@
 
 
 
 
 
 
 
 
 
1
+ /*!
2
+ * Font Awesome Icon Picker
3
+ * http://mjolnic.github.io/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2014 Javier Aguilar @mjolnic
6
+ * Licensed under the MIT License
7
+ * https://github.com/mjolnic/fontawesome-iconpicker/blob/master/LICENSE
8
+ *
9
+ */.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:242px;background:#f7f7f7}.iconpicker-popover.popover.top,.iconpicker-popover.popover.topLeftCorner,.iconpicker-popover.popover.topLeft,.iconpicker-popover.popover.topRight,.iconpicker-popover.popover.topRightCorner{margin-top:-10px}.iconpicker-popover.popover.right,.iconpicker-popover.popover.rightTop,.iconpicker-popover.popover.rightBottom{margin-left:10px}.iconpicker-popover.popover.bottom,.iconpicker-popover.popover.bottomRightCorner,.iconpicker-popover.popover.bottomRight,.iconpicker-popover.popover.bottomLeft,.iconpicker-popover.popover.bottomLeftCorner{margin-top:10px}.iconpicker-popover.popover.left,.iconpicker-popover.popover.leftBottom,.iconpicker-popover.popover.leftTop{margin-left:-10px}.iconpicker-popover.popover.inline{margin:0 0 14px 0;position:relative;display:inline-block;opacity:1;top:auto;left:auto;bottom:auto;right:auto;max-width:100%;box-shadow:none;z-index:auto;vertical-align:top}.iconpicker-popover.popover.inline>.arrow{display:none}.dropdown-menu .iconpicker-popover.inline{margin:0;border:none}.dropdown-menu.iconpicker-container{padding:0}.iconpicker-popover.popover .popover-title{padding:14px;font-size:14px;line-height:16px;border-bottom:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search{margin:0 0 2px 0}.iconpicker-popover.popover .popover-title-text~input[type=search].iconpicker-search{margin-top:14px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:14px;text-align:right;margin:0;border-top:1px solid #ebebeb;background-color:#f7f7f7}.iconpicker-popover .popover-footer:before,.iconpicker-popover .popover-footer:after{content:" ";display:table}.iconpicker-popover .popover-footer:after{clear:both}.iconpicker-popover .popover-footer .iconpicker-btn{margin-left:10px}.iconpicker-popover .popover-footer input[type=search].iconpicker-search{margin-bottom:14px}.iconpicker-popover.popover>.arrow,.iconpicker-popover.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.iconpicker-popover.popover>.arrow{border-width:11px}.iconpicker-popover.popover>.arrow:after{border-width:10px;content:""}.iconpicker-popover.popover.top>.arrow,.iconpicker-popover.popover.topLeft>.arrow,.iconpicker-popover.popover.topRight>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.iconpicker-popover.popover.top>.arrow:after,.iconpicker-popover.popover.topLeft>.arrow:after,.iconpicker-popover.popover.topRight>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.iconpicker-popover.popover.topLeft>.arrow{left:14px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:14px;margin-left:0}.iconpicker-popover.popover.right>.arrow,.iconpicker-popover.popover.rightTop>.arrow,.iconpicker-popover.popover.rightBottom>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.right>.arrow:after,.iconpicker-popover.popover.rightTop>.arrow:after,.iconpicker-popover.popover.rightBottom>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.iconpicker-popover.popover.rightTop>.arrow{top:auto;bottom:14px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:14px;margin-top:0}.iconpicker-popover.popover.bottom>.arrow,.iconpicker-popover.popover.bottomRight>.arrow,.iconpicker-popover.popover.bottomLeft>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.iconpicker-popover.popover.bottom>.arrow:after,.iconpicker-popover.popover.bottomRight>.arrow:after,.iconpicker-popover.popover.bottomLeft>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.iconpicker-popover.popover.bottomLeft>.arrow{left:14px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:14px;margin-left:0}.iconpicker-popover.popover.left>.arrow,.iconpicker-popover.popover.leftBottom>.arrow,.iconpicker-popover.popover.leftTop>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.iconpicker-popover.popover.left>.arrow:after,.iconpicker-popover.popover.leftBottom>.arrow:after,.iconpicker-popover.popover.leftTop>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.iconpicker-popover.popover.leftBottom>.arrow{top:14px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:14px;margin-top:0}.iconpicker{position:relative;text-align:left;text-shadow:none;line-height:0;display:block;margin:0;overflow:hidden}.iconpicker *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;position:relative}.iconpicker:before,.iconpicker:after{content:" ";display:table}.iconpicker:after{clear:both}.iconpicker .iconpicker-items{position:relative;clear:both;float:none;padding:14px 0 0 14px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:55px;max-height:275px}.iconpicker .iconpicker-items:before,.iconpicker .iconpicker-items:after{content:" ";display:table}.iconpicker .iconpicker-items:after{clear:both}.iconpicker .iconpicker-item{float:left;width:14px;height:14px;padding:14px;margin:0 14px 14px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none}.iconpicker-component{cursor:pointer}
lib/better-font-awesome-library/lib/fontawesome-iconpicker/js/fontawesome-iconpicker.js ADDED
@@ -0,0 +1,1017 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ (function(a, b) {
2
+ a.ui = a.ui || {};
3
+ var c, d = Math.max, e = Math.abs, f = Math.round, g = /left|center|right/, h = /top|center|bottom/, i = /[\+\-]\d+(\.[\d]+)?%?/, j = /^\w+/, k = /%$/, l = a.fn.pos;
4
+ function m(a, b, c) {
5
+ return [ parseFloat(a[0]) * (k.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (k.test(a[1]) ? c / 100 : 1) ];
6
+ }
7
+ function n(b, c) {
8
+ return parseInt(a.css(b, c), 10) || 0;
9
+ }
10
+ function o(b) {
11
+ var c = b[0];
12
+ if (c.nodeType === 9) {
13
+ return {
14
+ width: b.width(),
15
+ height: b.height(),
16
+ offset: {
17
+ top: 0,
18
+ left: 0
19
+ }
20
+ };
21
+ }
22
+ if (a.isWindow(c)) {
23
+ return {
24
+ width: b.width(),
25
+ height: b.height(),
26
+ offset: {
27
+ top: b.scrollTop(),
28
+ left: b.scrollLeft()
29
+ }
30
+ };
31
+ }
32
+ if (c.preventDefault) {
33
+ return {
34
+ width: 0,
35
+ height: 0,
36
+ offset: {
37
+ top: c.pageY,
38
+ left: c.pageX
39
+ }
40
+ };
41
+ }
42
+ return {
43
+ width: b.outerWidth(),
44
+ height: b.outerHeight(),
45
+ offset: b.offset()
46
+ };
47
+ }
48
+ a.pos = {
49
+ scrollbarWidth: function() {
50
+ if (c !== b) {
51
+ return c;
52
+ }
53
+ var d, e, f = a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), g = f.children()[0];
54
+ a("body").append(f);
55
+ d = g.offsetWidth;
56
+ f.css("overflow", "scroll");
57
+ e = g.offsetWidth;
58
+ if (d === e) {
59
+ e = f[0].clientWidth;
60
+ }
61
+ f.remove();
62
+ return c = d - e;
63
+ },
64
+ getScrollInfo: function(b) {
65
+ var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight;
66
+ return {
67
+ width: f ? a.pos.scrollbarWidth() : 0,
68
+ height: e ? a.pos.scrollbarWidth() : 0
69
+ };
70
+ },
71
+ getWithinInfo: function(b) {
72
+ var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9;
73
+ return {
74
+ element: c,
75
+ isWindow: d,
76
+ isDocument: e,
77
+ offset: c.offset() || {
78
+ left: 0,
79
+ top: 0
80
+ },
81
+ scrollLeft: c.scrollLeft(),
82
+ scrollTop: c.scrollTop(),
83
+ width: d ? c.width() : c.outerWidth(),
84
+ height: d ? c.height() : c.outerHeight()
85
+ };
86
+ }
87
+ };
88
+ a.fn.pos = function(b) {
89
+ if (!b || !b.of) {
90
+ return l.apply(this, arguments);
91
+ }
92
+ b = a.extend({}, b);
93
+ var c, k, 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 = {};
94
+ s = o(t);
95
+ if (t[0].preventDefault) {
96
+ b.at = "left top";
97
+ }
98
+ k = s.width;
99
+ p = s.height;
100
+ q = s.offset;
101
+ r = a.extend({}, q);
102
+ a.each([ "my", "at" ], function() {
103
+ var a = (b[this] || "").split(" "), c, d;
104
+ if (a.length === 1) {
105
+ a = g.test(a[0]) ? a.concat([ "center" ]) : h.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ];
106
+ }
107
+ a[0] = g.test(a[0]) ? a[0] : "center";
108
+ a[1] = h.test(a[1]) ? a[1] : "center";
109
+ c = i.exec(a[0]);
110
+ d = i.exec(a[1]);
111
+ x[this] = [ c ? c[0] : 0, d ? d[0] : 0 ];
112
+ b[this] = [ j.exec(a[0])[0], j.exec(a[1])[0] ];
113
+ });
114
+ if (w.length === 1) {
115
+ w[1] = w[0];
116
+ }
117
+ if (b.at[0] === "right") {
118
+ r.left += k;
119
+ } else if (b.at[0] === "center") {
120
+ r.left += k / 2;
121
+ }
122
+ if (b.at[1] === "bottom") {
123
+ r.top += p;
124
+ } else if (b.at[1] === "center") {
125
+ r.top += p / 2;
126
+ }
127
+ c = m(x.at, k, p);
128
+ r.left += c[0];
129
+ r.top += c[1];
130
+ return this.each(function() {
131
+ var g, h, i = a(this), j = i.outerWidth(), l = i.outerHeight(), o = n(this, "marginLeft"), s = n(this, "marginTop"), y = j + o + n(this, "marginRight") + v.width, z = l + s + n(this, "marginBottom") + v.height, A = a.extend({}, r), B = m(x.my, i.outerWidth(), i.outerHeight());
132
+ if (b.my[0] === "right") {
133
+ A.left -= j;
134
+ } else if (b.my[0] === "center") {
135
+ A.left -= j / 2;
136
+ }
137
+ if (b.my[1] === "bottom") {
138
+ A.top -= l;
139
+ } else if (b.my[1] === "center") {
140
+ A.top -= l / 2;
141
+ }
142
+ A.left += B[0];
143
+ A.top += B[1];
144
+ if (!a.support.offsetFractions) {
145
+ A.left = f(A.left);
146
+ A.top = f(A.top);
147
+ }
148
+ g = {
149
+ marginLeft: o,
150
+ marginTop: s
151
+ };
152
+ a.each([ "left", "top" ], function(d, e) {
153
+ if (a.ui.pos[w[d]]) {
154
+ a.ui.pos[w[d]][e](A, {
155
+ targetWidth: k,
156
+ targetHeight: p,
157
+ elemWidth: j,
158
+ elemHeight: l,
159
+ collisionPosition: g,
160
+ collisionWidth: y,
161
+ collisionHeight: z,
162
+ offset: [ c[0] + B[0], c[1] + B[1] ],
163
+ my: b.my,
164
+ at: b.at,
165
+ within: u,
166
+ elem: i
167
+ });
168
+ }
169
+ });
170
+ if (b.using) {
171
+ h = function(a) {
172
+ var c = q.left - A.left, f = c + k - j, g = q.top - A.top, h = g + p - l, m = {
173
+ target: {
174
+ element: t,
175
+ left: q.left,
176
+ top: q.top,
177
+ width: k,
178
+ height: p
179
+ },
180
+ element: {
181
+ element: i,
182
+ left: A.left,
183
+ top: A.top,
184
+ width: j,
185
+ height: l
186
+ },
187
+ horizontal: f < 0 ? "left" : c > 0 ? "right" : "center",
188
+ vertical: h < 0 ? "top" : g > 0 ? "bottom" : "middle"
189
+ };
190
+ if (k < j && e(c + f) < k) {
191
+ m.horizontal = "center";
192
+ }
193
+ if (p < l && e(g + h) < p) {
194
+ m.vertical = "middle";
195
+ }
196
+ if (d(e(c), e(f)) > d(e(g), e(h))) {
197
+ m.important = "horizontal";
198
+ } else {
199
+ m.important = "vertical";
200
+ }
201
+ b.using.call(this, a, m);
202
+ };
203
+ }
204
+ i.offset(a.extend(A, {
205
+ using: h
206
+ }));
207
+ });
208
+ };
209
+ a.ui.pos = {
210
+ _trigger: function(a, b, c, d) {
211
+ if (b.elem) {
212
+ b.elem.trigger({
213
+ type: c,
214
+ position: a,
215
+ positionData: b,
216
+ triggered: d
217
+ });
218
+ }
219
+ },
220
+ fit: {
221
+ left: function(b, c) {
222
+ a.ui.pos._trigger(b, c, "posCollide", "fitLeft");
223
+ var e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - c.collisionPosition.marginLeft, i = f - h, j = h + c.collisionWidth - g - f, k;
224
+ if (c.collisionWidth > g) {
225
+ if (i > 0 && j <= 0) {
226
+ k = b.left + i + c.collisionWidth - g - f;
227
+ b.left += i - k;
228
+ } else if (j > 0 && i <= 0) {
229
+ b.left = f;
230
+ } else {
231
+ if (i > j) {
232
+ b.left = f + g - c.collisionWidth;
233
+ } else {
234
+ b.left = f;
235
+ }
236
+ }
237
+ } else if (i > 0) {
238
+ b.left += i;
239
+ } else if (j > 0) {
240
+ b.left -= j;
241
+ } else {
242
+ b.left = d(b.left - h, b.left);
243
+ }
244
+ a.ui.pos._trigger(b, c, "posCollided", "fitLeft");
245
+ },
246
+ top: function(b, c) {
247
+ a.ui.pos._trigger(b, c, "posCollide", "fitTop");
248
+ var e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = c.within.height, h = b.top - c.collisionPosition.marginTop, i = f - h, j = h + c.collisionHeight - g - f, k;
249
+ if (c.collisionHeight > g) {
250
+ if (i > 0 && j <= 0) {
251
+ k = b.top + i + c.collisionHeight - g - f;
252
+ b.top += i - k;
253
+ } else if (j > 0 && i <= 0) {
254
+ b.top = f;
255
+ } else {
256
+ if (i > j) {
257
+ b.top = f + g - c.collisionHeight;
258
+ } else {
259
+ b.top = f;
260
+ }
261
+ }
262
+ } else if (i > 0) {
263
+ b.top += i;
264
+ } else if (j > 0) {
265
+ b.top -= j;
266
+ } else {
267
+ b.top = d(b.top - h, b.top);
268
+ }
269
+ a.ui.pos._trigger(b, c, "posCollided", "fitTop");
270
+ }
271
+ },
272
+ flip: {
273
+ left: function(b, c) {
274
+ a.ui.pos._trigger(b, c, "posCollide", "flipLeft");
275
+ var d = c.within, f = d.offset.left + d.scrollLeft, g = d.width, h = d.isWindow ? d.scrollLeft : d.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p;
276
+ if (j < 0) {
277
+ o = b.left + l + m + n + c.collisionWidth - g - f;
278
+ if (o < 0 || o < e(j)) {
279
+ b.left += l + m + n;
280
+ }
281
+ } else if (k > 0) {
282
+ p = b.left - c.collisionPosition.marginLeft + l + m + n - h;
283
+ if (p > 0 || e(p) < k) {
284
+ b.left += l + m + n;
285
+ }
286
+ }
287
+ a.ui.pos._trigger(b, c, "posCollided", "flipLeft");
288
+ },
289
+ top: function(b, c) {
290
+ a.ui.pos._trigger(b, c, "posCollide", "flipTop");
291
+ var d = c.within, f = d.offset.top + d.scrollTop, g = d.height, h = d.isWindow ? d.scrollTop : d.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q;
292
+ if (j < 0) {
293
+ q = b.top + m + n + o + c.collisionHeight - g - f;
294
+ if (b.top + m + n + o > j && (q < 0 || q < e(j))) {
295
+ b.top += m + n + o;
296
+ }
297
+ } else if (k > 0) {
298
+ p = b.top - c.collisionPosition.marginTop + m + n + o - h;
299
+ if (b.top + m + n + o > k && (p > 0 || e(p) < k)) {
300
+ b.top += m + n + o;
301
+ }
302
+ }
303
+ a.ui.pos._trigger(b, c, "posCollided", "flipTop");
304
+ }
305
+ },
306
+ flipfit: {
307
+ left: function() {
308
+ a.ui.pos.flip.left.apply(this, arguments);
309
+ a.ui.pos.fit.left.apply(this, arguments);
310
+ },
311
+ top: function() {
312
+ a.ui.pos.flip.top.apply(this, arguments);
313
+ a.ui.pos.fit.top.apply(this, arguments);
314
+ }
315
+ }
316
+ };
317
+ (function() {
318
+ var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div");
319
+ b = document.createElement(g ? "div" : "body");
320
+ d = {
321
+ visibility: "hidden",
322
+ width: 0,
323
+ height: 0,
324
+ border: 0,
325
+ margin: 0,
326
+ background: "none"
327
+ };
328
+ if (g) {
329
+ a.extend(d, {
330
+ position: "absolute",
331
+ left: "-1000px",
332
+ top: "-1000px"
333
+ });
334
+ }
335
+ for (f in d) {
336
+ b.style[f] = d[f];
337
+ }
338
+ b.appendChild(h);
339
+ c = g || document.documentElement;
340
+ c.insertBefore(b, c.firstChild);
341
+ h.style.cssText = "position: absolute; left: 10.7432222px;";
342
+ e = a(h).offset().left;
343
+ a.support.offsetFractions = e > 10 && e < 11;
344
+ b.innerHTML = "";
345
+ c.removeChild(b);
346
+ })();
347
+ })(jQuery);
348
+
349
+ (function(a) {
350
+ "use strict";
351
+ if (typeof define === "function" && define.amd) {
352
+ define([ "jquery" ], a);
353
+ } else if (window.jQuery && !window.jQuery.fn.iconpicker) {
354
+ a(window.jQuery);
355
+ }
356
+ })(function(a) {
357
+ "use strict";
358
+ var b = {
359
+ isEmpty: function(a) {
360
+ return a === false || a === "" || a === null || a === undefined;
361
+ },
362
+ isEmptyObject: function(a) {
363
+ return this.isEmpty(a) === true || a.length === 0;
364
+ },
365
+ isElement: function(b) {
366
+ return a(b).length > 0;
367
+ },
368
+ isString: function(a) {
369
+ return typeof a === "string" || a instanceof String;
370
+ },
371
+ isArray: function(b) {
372
+ return a.isArray(b);
373
+ },
374
+ inArray: function(b, c) {
375
+ return a.inArray(b, c) !== -1;
376
+ },
377
+ throwError: function(a) {
378
+ throw "Font Awesome Icon Picker Exception: " + a;
379
+ }
380
+ };
381
+ var c = function(d, e) {
382
+ this._id = c._idCounter++;
383
+ this.element = a(d).addClass("iconpicker-element");
384
+ this._trigger("iconpickerCreate");
385
+ this.options = a.extend({}, c.defaultOptions, this.element.data(), e);
386
+ this.options.templates = a.extend({}, c.defaultOptions.templates, this.options.templates);
387
+ this.options.originalPlacement = this.options.placement;
388
+ this.container = b.isElement(this.options.container) ? a(this.options.container) : false;
389
+ if (this.container === false) {
390
+ if (this.element.is(".dropdown-toggle")) {
391
+ this.container = a("~ .dropdown-menu:first", this.element);
392
+ } else {
393
+ this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element;
394
+ }
395
+ }
396
+ this.container.addClass("iconpicker-container");
397
+ if (this.isDropdownMenu()) {
398
+ this.options.templates.search = false;
399
+ this.options.templates.buttons = false;
400
+ this.options.placement = "inline";
401
+ }
402
+ this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false;
403
+ if (this.input === false) {
404
+ this.input = this.container.find(this.options.input);
405
+ if (!this.input.is("input,textarea")) {
406
+ this.input = false;
407
+ }
408
+ }
409
+ this.component = this.isDropdownMenu() ? this.container.parent().find(this.options.component) : this.container.find(this.options.component);
410
+ if (this.component.length === 0) {
411
+ this.component = false;
412
+ } else {
413
+ this.component.find("i").addClass("iconpicker-component");
414
+ }
415
+ this._createPopover();
416
+ this._createIconpicker();
417
+ if (this.getAcceptButton().length === 0) {
418
+ this.options.mustAccept = false;
419
+ }
420
+ if (this.isInputGroup()) {
421
+ this.container.parent().append(this.popover);
422
+ } else {
423
+ this.container.append(this.popover);
424
+ }
425
+ this._bindElementEvents();
426
+ this._bindWindowEvents();
427
+ this.update(this.options.selected);
428
+ if (this.isInline()) {
429
+ this.show();
430
+ }
431
+ this._trigger("iconpickerCreated");
432
+ };
433
+ c._idCounter = 0;
434
+ c.defaultOptions = {
435
+ title: false,
436
+ selected: false,
437
+ defaultValue: false,
438
+ placement: "bottom",
439
+ collision: "none",
440
+ animation: true,
441
+ hideOnSelect: false,
442
+ showFooter: false,
443
+ searchInFooter: false,
444
+ mustAccept: false,
445
+ selectedCustomClass: "bg-primary",
446
+ icons: [],
447
+ fullClassFormatter: function(a) {
448
+ return "fa " + a;
449
+ },
450
+ input: "input,.iconpicker-input",
451
+ inputSearch: false,
452
+ container: false,
453
+ component: ".input-group-addon,.iconpicker-component",
454
+ templates: {
455
+ popover: '<div class="iconpicker-popover popover"><div class="arrow"></div>' + '<div class="popover-title"></div><div class="popover-content"></div></div>',
456
+ footer: '<div class="popover-footer"></div>',
457
+ buttons: '<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button>' + ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
458
+ search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
459
+ iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
460
+ iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>'
461
+ }
462
+ };
463
+ c.batch = function(b, c) {
464
+ var d = Array.prototype.slice.call(arguments, 2);
465
+ return a(b).each(function() {
466
+ var b = a(this).data("iconpicker");
467
+ if (!!b) {
468
+ b[c].apply(b, d);
469
+ }
470
+ });
471
+ };
472
+ c.prototype = {
473
+ constructor: c,
474
+ options: {},
475
+ _id: 0,
476
+ _trigger: function(b, c) {
477
+ c = c || {};
478
+ this.element.trigger(a.extend({
479
+ type: b,
480
+ iconpickerInstance: this
481
+ }, c));
482
+ },
483
+ _createPopover: function() {
484
+ this.popover = a(this.options.templates.popover);
485
+ var c = this.popover.find(".popover-title");
486
+ if (!!this.options.title) {
487
+ c.append(a('<div class="popover-title-text">' + this.options.title + "</div>"));
488
+ }
489
+ if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
490
+ c.append(this.options.templates.search);
491
+ } else if (!this.options.title) {
492
+ c.remove();
493
+ }
494
+ if (this.options.showFooter && !b.isEmpty(this.options.templates.footer)) {
495
+ var d = a(this.options.templates.footer);
496
+ if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
497
+ d.append(a(this.options.templates.search));
498
+ }
499
+ if (!b.isEmpty(this.options.templates.buttons)) {
500
+ d.append(a(this.options.templates.buttons));
501
+ }
502
+ this.popover.append(d);
503
+ }
504
+ if (this.options.animation === true) {
505
+ this.popover.addClass("fade");
506
+ }
507
+ return this.popover;
508
+ },
509
+ _createIconpicker: function() {
510
+ var b = this;
511
+ this.iconpicker = a(this.options.templates.iconpicker);
512
+ var c = function(c) {
513
+ var d = a(this);
514
+ if (d.is("i")) {
515
+ d = d.parent();
516
+ }
517
+ b._trigger("iconpickerSelect", {
518
+ iconpickerItem: d,
519
+ iconpickerValue: b.iconpickerValue
520
+ });
521
+ if (b.options.mustAccept === false) {
522
+ b.update(d.data("iconpickerValue"));
523
+ b._trigger("iconpickerSelected", {
524
+ iconpickerItem: this,
525
+ iconpickerValue: b.iconpickerValue
526
+ });
527
+ } else {
528
+ b.update(d.data("iconpickerValue"), true);
529
+ }
530
+ if (b.options.hideOnSelect && b.options.mustAccept === false) {
531
+ b.hide();
532
+ }
533
+ c.preventDefault();
534
+ return false;
535
+ };
536
+ for (var d in this.options.icons) {
537
+ var e = a(this.options.templates.iconpickerItem);
538
+ e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d]));
539
+ e.data("iconpickerValue", this.options.icons[d]).on("click.iconpicker", c);
540
+ this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.options.icons[d]));
541
+ }
542
+ this.popover.find(".popover-content").append(this.iconpicker);
543
+ return this.iconpicker;
544
+ },
545
+ _isEventInsideIconpicker: function(b) {
546
+ var c = a(b.target);
547
+ if ((!c.hasClass("iconpicker-element") || c.hasClass("iconpicker-element") && !c.is(this.element)) && c.parents(".iconpicker-popover").length === 0) {
548
+ return false;
549
+ }
550
+ return true;
551
+ },
552
+ _bindElementEvents: function() {
553
+ var c = this;
554
+ this.getSearchInput().on("keyup.iconpicker", function() {
555
+ c.filter(a(this).val().toLowerCase());
556
+ });
557
+ this.getAcceptButton().on("click.iconpicker", function() {
558
+ var a = c.iconpicker.find(".iconpicker-selected").get(0);
559
+ c.update(c.iconpickerValue);
560
+ c._trigger("iconpickerSelected", {
561
+ iconpickerItem: a,
562
+ iconpickerValue: c.iconpickerValue
563
+ });
564
+ if (!c.isInline()) {
565
+ c.hide();
566
+ }
567
+ });
568
+ this.getCancelButton().on("click.iconpicker", function() {
569
+ if (!c.isInline()) {
570
+ c.hide();
571
+ }
572
+ });
573
+ this.element.on("focus.iconpicker", function(a) {
574
+ c.show();
575
+ a.stopPropagation();
576
+ });
577
+ if (this.hasComponent()) {
578
+ this.component.on("click.iconpicker", function() {
579
+ c.toggle();
580
+ });
581
+ }
582
+ if (this.hasInput()) {
583
+ this.input.on("keyup.iconpicker", function(d) {
584
+ if (!b.inArray(d.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
585
+ c.update();
586
+ } else {
587
+ c._updateFormGroupStatus(c.getValid(this.value) !== false);
588
+ }
589
+ if (c.options.inputSearch === true) {
590
+ c.filter(a(this).val().toLowerCase());
591
+ }
592
+ });
593
+ }
594
+ },
595
+ _bindWindowEvents: function() {
596
+ var b = a(window.document);
597
+ var c = this;
598
+ var d = ".iconpicker.inst" + this._id;
599
+ a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function(a) {
600
+ if (c.popover.hasClass("in")) {
601
+ c.updatePlacement();
602
+ }
603
+ });
604
+ if (!c.isInline()) {
605
+ b.on("mouseup" + d, function(a) {
606
+ if (!c._isEventInsideIconpicker(a) && !c.isInline()) {
607
+ c.hide();
608
+ }
609
+ a.stopPropagation();
610
+ a.preventDefault();
611
+ return false;
612
+ });
613
+ }
614
+ return false;
615
+ },
616
+ _unbindElementEvents: function() {
617
+ this.popover.off(".iconpicker");
618
+ this.element.off(".iconpicker");
619
+ if (this.hasInput()) {
620
+ this.input.off(".iconpicker");
621
+ }
622
+ if (this.hasComponent()) {
623
+ this.component.off(".iconpicker");
624
+ }
625
+ if (this.hasContainer()) {
626
+ this.container.off(".iconpicker");
627
+ }
628
+ },
629
+ _unbindWindowEvents: function() {
630
+ a(window).off(".iconpicker.inst" + this._id);
631
+ a(window.document).off(".iconpicker.inst" + this._id);
632
+ },
633
+ updatePlacement: function(b, c) {
634
+ b = b || this.options.placement;
635
+ this.options.placement = b;
636
+ c = c || this.options.collision;
637
+ c = c === true ? "flip" : c;
638
+ var d = {
639
+ at: "right bottom",
640
+ my: "right top",
641
+ of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
642
+ collision: c === true ? "flip" : c,
643
+ within: window
644
+ };
645
+ this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
646
+ if (typeof b === "object") {
647
+ return this.popover.pos(a.extend({}, d, b));
648
+ }
649
+ switch (b) {
650
+ case "inline":
651
+ {
652
+ d = false;
653
+ }
654
+ break;
655
+
656
+ case "topLeftCorner":
657
+ {
658
+ d.my = "right bottom";
659
+ d.at = "left top";
660
+ }
661
+ break;
662
+
663
+ case "topLeft":
664
+ {
665
+ d.my = "left bottom";
666
+ d.at = "left top";
667
+ }
668
+ break;
669
+
670
+ case "top":
671
+ {
672
+ d.my = "center bottom";
673
+ d.at = "center top";
674
+ }
675
+ break;
676
+
677
+ case "topRight":
678
+ {
679
+ d.my = "right bottom";
680
+ d.at = "right top";
681
+ }
682
+ break;
683
+
684
+ case "topRightCorner":
685
+ {
686
+ d.my = "left bottom";
687
+ d.at = "right top";
688
+ }
689
+ break;
690
+
691
+ case "rightTop":
692
+ {
693
+ d.my = "left bottom";
694
+ d.at = "right center";
695
+ }
696
+ break;
697
+
698
+ case "right":
699
+ {
700
+ d.my = "left center";
701
+ d.at = "right center";
702
+ }
703
+ break;
704
+
705
+ case "rightBottom":
706
+ {
707
+ d.my = "left top";
708
+ d.at = "right center";
709
+ }
710
+ break;
711
+
712
+ case "bottomRightCorner":
713
+ {
714
+ d.my = "left top";
715
+ d.at = "right bottom";
716
+ }
717
+ break;
718
+
719
+ case "bottomRight":
720
+ {
721
+ d.my = "right top";
722
+ d.at = "right bottom";
723
+ }
724
+ break;
725
+
726
+ case "bottom":
727
+ {
728
+ d.my = "center top";
729
+ d.at = "center bottom";
730
+ }
731
+ break;
732
+
733
+ case "bottomLeft":
734
+ {
735
+ d.my = "left top";
736
+ d.at = "left bottom";
737
+ }
738
+ break;
739
+
740
+ case "bottomLeftCorner":
741
+ {
742
+ d.my = "right top";
743
+ d.at = "left bottom";
744
+ }
745
+ break;
746
+
747
+ case "leftBottom":
748
+ {
749
+ d.my = "right top";
750
+ d.at = "left center";
751
+ }
752
+ break;
753
+
754
+ case "left":
755
+ {
756
+ d.my = "right center";
757
+ d.at = "left center";
758
+ }
759
+ break;
760
+
761
+ case "leftTop":
762
+ {
763
+ d.my = "right bottom";
764
+ d.at = "left center";
765
+ }
766
+ break;
767
+
768
+ default:
769
+ {
770
+ return false;
771
+ }
772
+ break;
773
+ }
774
+ this.popover.css({
775
+ display: this.options.placement === "inline" ? "" : "block"
776
+ });
777
+ if (d !== false) {
778
+ this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5);
779
+ } else {
780
+ this.popover.css({
781
+ top: "auto",
782
+ right: "auto",
783
+ bottom: "auto",
784
+ left: "auto",
785
+ maxWidth: "none"
786
+ });
787
+ }
788
+ this.popover.addClass(this.options.placement);
789
+ return true;
790
+ },
791
+ _updateComponents: function() {
792
+ this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected " + this.options.selectedCustomClass);
793
+ if (this.iconpickerValue) {
794
+ this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
795
+ }
796
+ if (this.hasComponent()) {
797
+ var a = this.component.find("i");
798
+ if (a.length > 0) {
799
+ a.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
800
+ } else {
801
+ this.component.html(this.getHtml());
802
+ }
803
+ }
804
+ },
805
+ _updateFormGroupStatus: function(a) {
806
+ if (this.hasInput()) {
807
+ if (a !== false) {
808
+ this.input.parents(".form-group:first").removeClass("has-error");
809
+ } else {
810
+ this.input.parents(".form-group:first").addClass("has-error");
811
+ }
812
+ return true;
813
+ }
814
+ return false;
815
+ },
816
+ getValid: function(c) {
817
+ if (!b.isString(c)) {
818
+ c = "";
819
+ }
820
+ var d = c === "";
821
+ c = a.trim(c);
822
+ if (b.inArray(c, this.options.icons) || d) {
823
+ return c;
824
+ }
825
+ return false;
826
+ },
827
+ setValue: function(a) {
828
+ var b = this.getValid(a);
829
+ if (b !== false) {
830
+ this.iconpickerValue = b;
831
+ this._trigger("iconpickerSetValue", {
832
+ iconpickerValue: b
833
+ });
834
+ return this.iconpickerValue;
835
+ } else {
836
+ this._trigger("iconpickerInvalid", {
837
+ iconpickerValue: a
838
+ });
839
+ return false;
840
+ }
841
+ },
842
+ getHtml: function() {
843
+ return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
844
+ },
845
+ setSourceValue: function(a) {
846
+ a = this.setValue(a);
847
+ if (a !== false && a !== "") {
848
+ if (this.hasInput()) {
849
+ this.input.val(this.iconpickerValue);
850
+ } else {
851
+ this.element.data("iconpickerValue", this.iconpickerValue);
852
+ }
853
+ this._trigger("iconpickerSetSourceValue", {
854
+ iconpickerValue: a
855
+ });
856
+ }
857
+ return a;
858
+ },
859
+ getSourceValue: function(a) {
860
+ a = a || this.options.defaultValue;
861
+ var b = a;
862
+ if (this.hasInput()) {
863
+ b = this.input.val();
864
+ } else {
865
+ b = this.element.data("iconpickerValue");
866
+ }
867
+ if (b === undefined || b === "" || b === null || b === false) {
868
+ b = a;
869
+ }
870
+ return b;
871
+ },
872
+ hasInput: function() {
873
+ return this.input !== false;
874
+ },
875
+ isInputSearch: function() {
876
+ return this.hasInput() && this.options.inputSearch === true;
877
+ },
878
+ isInputGroup: function() {
879
+ return this.container.is(".input-group");
880
+ },
881
+ isDropdownMenu: function() {
882
+ return this.container.is(".dropdown-menu");
883
+ },
884
+ hasSeparatedSearchInput: function() {
885
+ return this.options.templates.search !== false && !this.isInputSearch();
886
+ },
887
+ hasComponent: function() {
888
+ return this.component !== false;
889
+ },
890
+ hasContainer: function() {
891
+ return this.container !== false;
892
+ },
893
+ getAcceptButton: function() {
894
+ return this.popover.find(".iconpicker-btn-accept");
895
+ },
896
+ getCancelButton: function() {
897
+ return this.popover.find(".iconpicker-btn-cancel");
898
+ },
899
+ getSearchInput: function() {
900
+ return this.popover.find(".iconpicker-search");
901
+ },
902
+ filter: function(c) {
903
+ if (b.isEmpty(c)) {
904
+ this.iconpicker.find(".iconpicker-item").show();
905
+ return a(false);
906
+ } else {
907
+ var d = [];
908
+ this.iconpicker.find(".iconpicker-item").each(function() {
909
+ var b = a(this);
910
+ var e = b.attr("title").toLowerCase();
911
+ var f = false;
912
+ try {
913
+ f = new RegExp(c, "g");
914
+ } catch (g) {
915
+ f = false;
916
+ }
917
+ if (f !== false && e.match(f)) {
918
+ d.push(b);
919
+ b.show();
920
+ } else {
921
+ b.hide();
922
+ }
923
+ });
924
+ return d;
925
+ }
926
+ },
927
+ show: function() {
928
+ if (this.popover.hasClass("in")) {
929
+ return false;
930
+ }
931
+ a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
932
+ this._trigger("iconpickerShow");
933
+ this.updatePlacement();
934
+ this.popover.addClass("in");
935
+ setTimeout(a.proxy(function() {
936
+ this.popover.css("display", this.isInline() ? "" : "block");
937
+ this._trigger("iconpickerShown");
938
+ }, this), this.options.animation ? 300 : 1);
939
+ },
940
+ hide: function() {
941
+ if (!this.popover.hasClass("in")) {
942
+ return false;
943
+ }
944
+ this._trigger("iconpickerHide");
945
+ this.popover.removeClass("in");
946
+ setTimeout(a.proxy(function() {
947
+ this.popover.css("display", "none");
948
+ this.getSearchInput().val("");
949
+ this.filter("");
950
+ this._trigger("iconpickerHidden");
951
+ }, this), this.options.animation ? 300 : 1);
952
+ },
953
+ toggle: function() {
954
+ if (this.popover.is(":visible")) {
955
+ this.hide();
956
+ } else {
957
+ this.show(true);
958
+ }
959
+ },
960
+ update: function(a, b) {
961
+ a = a ? a : this.getSourceValue(this.iconpickerValue);
962
+ this._trigger("iconpickerUpdate");
963
+ if (b === true) {
964
+ a = this.setValue(a);
965
+ } else {
966
+ a = this.setSourceValue(a);
967
+ this._updateFormGroupStatus(a !== false);
968
+ }
969
+ if (a !== false) {
970
+ this._updateComponents();
971
+ }
972
+ this._trigger("iconpickerUpdated");
973
+ return a;
974
+ },
975
+ destroy: function() {
976
+ this._trigger("iconpickerDestroy");
977
+ this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
978
+ this._unbindElementEvents();
979
+ this._unbindWindowEvents();
980
+ a(this.popover).remove();
981
+ this._trigger("iconpickerDestroyed");
982
+ },
983
+ disable: function() {
984
+ if (this.hasInput()) {
985
+ this.input.prop("disabled", true);
986
+ return true;
987
+ }
988
+ return false;
989
+ },
990
+ enable: function() {
991
+ if (this.hasInput()) {
992
+ this.input.prop("disabled", false);
993
+ return true;
994
+ }
995
+ return false;
996
+ },
997
+ isDisabled: function() {
998
+ if (this.hasInput()) {
999
+ return this.input.prop("disabled") === true;
1000
+ }
1001
+ return false;
1002
+ },
1003
+ isInline: function() {
1004
+ return this.options.placement === "inline" || this.popover.hasClass("inline");
1005
+ }
1006
+ };
1007
+ a.iconpicker = c;
1008
+ a.fn.iconpicker = function(b) {
1009
+ return this.each(function() {
1010
+ var d = a(this);
1011
+ if (!d.data("iconpicker")) {
1012
+ d.data("iconpicker", new c(this, typeof b === "object" ? b : {}));
1013
+ }
1014
+ });
1015
+ };
1016
+ c.defaultOptions.icons = [ "fa-adjust", "fa-adn", "fa-align-center", "fa-align-justify", "fa-align-left", "fa-align-right", "fa-ambulance", "fa-anchor", "fa-android", "fa-angle-double-down", "fa-angle-double-left", "fa-angle-double-right", "fa-angle-double-up", "fa-angle-down", "fa-angle-left", "fa-angle-right", "fa-angle-up", "fa-apple", "fa-archive", "fa-arrow-circle-down", "fa-arrow-circle-left", "fa-arrow-circle-o-down", "fa-arrow-circle-o-left", "fa-arrow-circle-o-right", "fa-arrow-circle-o-up", "fa-arrow-circle-right", "fa-arrow-circle-up", "fa-arrow-down", "fa-arrow-left", "fa-arrow-right", "fa-arrow-up", "fa-arrows", "fa-arrows-alt", "fa-arrows-h", "fa-arrows-v", "fa-asterisk", "fa-automobile", "fa-backward", "fa-ban", "fa-bank", "fa-bar-chart-o", "fa-barcode", "fa-bars", "fa-beer", "fa-behance", "fa-behance-square", "fa-bell", "fa-bell-o", "fa-bitbucket", "fa-bitbucket-square", "fa-bitcoin", "fa-bold", "fa-bolt", "fa-bomb", "fa-book", "fa-bookmark", "fa-bookmark-o", "fa-briefcase", "fa-btc", "fa-bug", "fa-building", "fa-building-o", "fa-bullhorn", "fa-bullseye", "fa-cab", "fa-calendar", "fa-calendar-o", "fa-camera", "fa-camera-retro", "fa-car", "fa-caret-down", "fa-caret-left", "fa-caret-right", "fa-caret-square-o-down", "fa-caret-square-o-left", "fa-caret-square-o-right", "fa-caret-square-o-up", "fa-caret-up", "fa-certificate", "fa-chain", "fa-chain-broken", "fa-check", "fa-check-circle", "fa-check-circle-o", "fa-check-square", "fa-check-square-o", "fa-chevron-circle-down", "fa-chevron-circle-left", "fa-chevron-circle-right", "fa-chevron-circle-up", "fa-chevron-down", "fa-chevron-left", "fa-chevron-right", "fa-chevron-up", "fa-child", "fa-circle", "fa-circle-o", "fa-circle-o-notch", "fa-circle-thin", "fa-clipboard", "fa-clock-o", "fa-cloud", "fa-cloud-download", "fa-cloud-upload", "fa-cny", "fa-code", "fa-code-fork", "fa-codepen", "fa-coffee", "fa-cog", "fa-cogs", "fa-columns", "fa-comment", "fa-comment-o", "fa-comments", "fa-comments-o", "fa-compass", "fa-compress", "fa-copy", "fa-credit-card", "fa-crop", "fa-crosshairs", "fa-css3", "fa-cube", "fa-cubes", "fa-cut", "fa-cutlery", "fa-dashboard", "fa-database", "fa-dedent", "fa-delicious", "fa-desktop", "fa-deviantart", "fa-digg", "fa-dollar", "fa-dot-circle-o", "fa-download", "fa-dribbble", "fa-dropbox", "fa-drupal", "fa-edit", "fa-eject", "fa-ellipsis-h", "fa-ellipsis-v", "fa-empire", "fa-envelope", "fa-envelope-o", "fa-envelope-square", "fa-eraser", "fa-eur", "fa-euro", "fa-exchange", "fa-exclamation", "fa-exclamation-circle", "fa-exclamation-triangle", "fa-expand", "fa-external-link", "fa-external-link-square", "fa-eye", "fa-eye-slash", "fa-facebook", "fa-facebook-square", "fa-fast-backward", "fa-fast-forward", "fa-fax", "fa-female", "fa-fighter-jet", "fa-file", "fa-file-archive-o", "fa-file-audio-o", "fa-file-code-o", "fa-file-excel-o", "fa-file-image-o", "fa-file-movie-o", "fa-file-o", "fa-file-pdf-o", "fa-file-photo-o", "fa-file-picture-o", "fa-file-powerpoint-o", "fa-file-sound-o", "fa-file-text", "fa-file-text-o", "fa-file-video-o", "fa-file-word-o", "fa-file-zip-o", "fa-files-o", "fa-film", "fa-filter", "fa-fire", "fa-fire-extinguisher", "fa-flag", "fa-flag-checkered", "fa-flag-o", "fa-flash", "fa-flask", "fa-flickr", "fa-floppy-o", "fa-folder", "fa-folder-o", "fa-folder-open", "fa-folder-open-o", "fa-font", "fa-forward", "fa-foursquare", "fa-frown-o", "fa-gamepad", "fa-gavel", "fa-gbp", "fa-ge", "fa-gear", "fa-gears", "fa-gift", "fa-git", "fa-git-square", "fa-github", "fa-github-alt", "fa-github-square", "fa-gittip", "fa-glass", "fa-globe", "fa-google", "fa-google-plus", "fa-google-plus-square", "fa-graduation-cap", "fa-group", "fa-h-square", "fa-hacker-news", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-hdd-o", "fa-header", "fa-headphones", "fa-heart", "fa-heart-o", "fa-history", "fa-home", "fa-hospital-o", "fa-html5", "fa-image", "fa-inbox", "fa-indent", "fa-info", "fa-info-circle", "fa-inr", "fa-instagram", "fa-institution", "fa-italic", "fa-joomla", "fa-jpy", "fa-jsfiddle", "fa-key", "fa-keyboard-o", "fa-krw", "fa-language", "fa-laptop", "fa-leaf", "fa-legal", "fa-lemon-o", "fa-level-down", "fa-level-up", "fa-life-bouy", "fa-life-ring", "fa-life-saver", "fa-lightbulb-o", "fa-link", "fa-linkedin", "fa-linkedin-square", "fa-linux", "fa-list", "fa-list-alt", "fa-list-ol", "fa-list-ul", "fa-location-arrow", "fa-lock", "fa-long-arrow-down", "fa-long-arrow-left", "fa-long-arrow-right", "fa-long-arrow-up", "fa-magic", "fa-magnet", "fa-mail-forward", "fa-mail-reply", "fa-mail-reply-all", "fa-male", "fa-map-marker", "fa-maxcdn", "fa-medkit", "fa-meh-o", "fa-microphone", "fa-microphone-slash", "fa-minus", "fa-minus-circle", "fa-minus-square", "fa-minus-square-o", "fa-mobile", "fa-mobile-phone", "fa-money", "fa-moon-o", "fa-mortar-board", "fa-music", "fa-navicon", "fa-openid", "fa-outdent", "fa-pagelines", "fa-paper-plane", "fa-paper-plane-o", "fa-paperclip", "fa-paragraph", "fa-paste", "fa-pause", "fa-paw", "fa-pencil", "fa-pencil-square", "fa-pencil-square-o", "fa-phone", "fa-phone-square", "fa-photo", "fa-picture-o", "fa-pied-piper", "fa-pied-piper-alt", "fa-pied-piper-square", "fa-pinterest", "fa-pinterest-square", "fa-plane", "fa-play", "fa-play-circle", "fa-play-circle-o", "fa-plus", "fa-plus-circle", "fa-plus-square", "fa-plus-square-o", "fa-power-off", "fa-print", "fa-puzzle-piece", "fa-qq", "fa-qrcode", "fa-question", "fa-question-circle", "fa-quote-left", "fa-quote-right", "fa-ra", "fa-random", "fa-rebel", "fa-recycle", "fa-reddit", "fa-reddit-square", "fa-refresh", "fa-renren", "fa-reorder", "fa-repeat", "fa-reply", "fa-reply-all", "fa-retweet", "fa-rmb", "fa-road", "fa-rocket", "fa-rotate-left", "fa-rotate-right", "fa-rouble", "fa-rss", "fa-rss-square", "fa-rub", "fa-ruble", "fa-rupee", "fa-save", "fa-scissors", "fa-search", "fa-search-minus", "fa-search-plus", "fa-send", "fa-send-o", "fa-share", "fa-share-alt", "fa-share-alt-square", "fa-share-square", "fa-share-square-o", "fa-shield", "fa-shopping-cart", "fa-sign-in", "fa-sign-out", "fa-signal", "fa-sitemap", "fa-skype", "fa-slack", "fa-sliders", "fa-smile-o", "fa-sort", "fa-sort-alpha-asc", "fa-sort-alpha-desc", "fa-sort-amount-asc", "fa-sort-amount-desc", "fa-sort-asc", "fa-sort-desc", "fa-sort-down", "fa-sort-numeric-asc", "fa-sort-numeric-desc", "fa-sort-up", "fa-soundcloud", "fa-space-shuttle", "fa-spinner", "fa-spoon", "fa-spotify", "fa-square", "fa-square-o", "fa-stack-exchange", "fa-stack-overflow", "fa-star", "fa-star-half", "fa-star-half-empty", "fa-star-half-full", "fa-star-half-o", "fa-star-o", "fa-steam", "fa-steam-square", "fa-step-backward", "fa-step-forward", "fa-stethoscope", "fa-stop", "fa-strikethrough", "fa-stumbleupon", "fa-stumbleupon-circle", "fa-subscript", "fa-suitcase", "fa-sun-o", "fa-superscript", "fa-support", "fa-table", "fa-tablet", "fa-tachometer", "fa-tag", "fa-tags", "fa-tasks", "fa-taxi", "fa-tencent-weibo", "fa-terminal", "fa-text-height", "fa-text-width", "fa-th", "fa-th-large", "fa-th-list", "fa-thumb-tack", "fa-thumbs-down", "fa-thumbs-o-down", "fa-thumbs-o-up", "fa-thumbs-up", "fa-ticket", "fa-times", "fa-times-circle", "fa-times-circle-o", "fa-tint", "fa-toggle-down", "fa-toggle-left", "fa-toggle-right", "fa-toggle-up", "fa-trash-o", "fa-tree", "fa-trello", "fa-trophy", "fa-truck", "fa-try", "fa-tumblr", "fa-tumblr-square", "fa-turkish-lira", "fa-twitter", "fa-twitter-square", "fa-umbrella", "fa-underline", "fa-undo", "fa-university", "fa-unlink", "fa-unlock", "fa-unlock-alt", "fa-unsorted", "fa-upload", "fa-usd", "fa-user", "fa-user-md", "fa-users", "fa-video-camera", "fa-vimeo-square", "fa-vine", "fa-vk", "fa-volume-down", "fa-volume-off", "fa-volume-up", "fa-warning", "fa-wechat", "fa-weibo", "fa-weixin", "fa-wheelchair", "fa-windows", "fa-won", "fa-wordpress", "fa-wrench", "fa-xing", "fa-xing-square", "fa-yahoo", "fa-yen", "fa-youtube", "fa-youtube-play", "fa-youtube-square" ];
1017
+ });
lib/better-font-awesome-library/lib/fontawesome-iconpicker/js/fontawesome-iconpicker.min.js ADDED
@@ -0,0 +1 @@
 
1
+ !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("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),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"),g(h(c),h(d))>g(h(e),h(f))?i.important="horizontal":i.important="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):k>0&&0>=j?b.left=f:j>k?b.left=f+h-c.collisionWidth:b.left=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):k>0&&0>=j?b.top=f:j>k?b.top=f+h-c.collisionHeight:b.top=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.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.templates.search=!1,this.options.templates.buttons=!1,this.options.placement="inline"),this.input=this.element.is("input,textarea")?this.element.addClass("iconpicker-input"):!1,this.input===!1&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?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:[],fullClassFormatter:function(a){return"fa "+a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="#" class="iconpicker-item"><i></i></a>'}},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('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&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(c){var d=a(this);return d.is("i")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),b.options.mustAccept===!1?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&b.options.mustAccept===!1&&b.hide(),c.preventDefault(),!1};for(var d in this.options.icons){var e=a(this.options.templates.iconpickerItem);e.find("i").addClass(this.options.fullClassFormatter(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.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.iconpicker",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(d){b.inArray(d.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(),c.options.inputSearch===!0&&c.filter(a(this).val().toLowerCase())})},_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(a){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.isInputGroup()?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.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("i");a.length>0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_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),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)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(a){return a=this.setValue(a),a!==!1&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),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},isInputSearch:function(){return this.hasInput()&&this.options.inputSearch===!0},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return this.options.templates.search!==!1&&!this.isInputSearch()},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=["fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-ambulance","fa-anchor","fa-android","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asterisk","fa-automobile","fa-backward","fa-ban","fa-bank","fa-bar-chart-o","fa-barcode","fa-bars","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-cab","fa-calendar","fa-calendar-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-copy","fa-credit-card","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-database","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-dropbox","fa-drupal","fa-edit","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-square","fa-eraser","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-facebook","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-forward","fa-foursquare","fa-frown-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gittip","fa-glass","fa-globe","fa-google","fa-google-plus","fa-google-plus-square","fa-graduation-cap","fa-group","fa-h-square","fa-hacker-news","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-history","fa-home","fa-hospital-o","fa-html5","fa-image","fa-inbox","fa-indent","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-leaf","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-link","fa-linkedin","fa-linkedin-square","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map-marker","fa-maxcdn","fa-medkit","fa-meh-o","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mobile","fa-mobile-phone","fa-money","fa-moon-o","fa-mortar-board","fa-music","fa-navicon","fa-openid","fa-outdent","fa-pagelines","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-paw","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-square","fa-pinterest","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-power-off","fa-print","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-rebel","fa-recycle","fa-reddit","fa-reddit-square","fa-refresh","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-save","fa-scissors","fa-search","fa-search-minus","fa-search-plus","fa-send","fa-send-o","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shield","fa-shopping-cart","fa-sign-in","fa-sign-out","fa-signal","fa-sitemap","fa-skype","fa-slack","fa-sliders","fa-smile-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-stop","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-suitcase","fa-sun-o","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-right","fa-toggle-up","fa-trash-o","fa-tree","fa-trello","fa-trophy","fa-truck","fa-try","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usd","fa-user","fa-user-md","fa-users","fa-video-camera","fa-vimeo-square","fa-vine","fa-vk","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-wheelchair","fa-windows","fa-won","fa-wordpress","fa-wrench","fa-xing","fa-xing-square","fa-yahoo","fa-yen","fa-youtube","fa-youtube-play","fa-youtube-square"]});
readme.txt CHANGED
@@ -4,7 +4,7 @@ Tags: better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
4
  Donate link: http://mightyminnow.com
5
  Requires at least: 3.0
6
  Tested up to: 4.3
7
- Stable tag: 1.2.1
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,8 +12,6 @@ The Better Font Awesome plugin for WordPress. Shortcodes, HTML, TinyMCE, various
12
 
13
  == Description ==
14
 
15
- **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
16
-
17
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
18
 
19
 
@@ -103,13 +101,16 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
103
 
104
 
105
  == Screenshots ==
106
-
107
- 1. Better Font Awesome settings, accessed via Settings &rarr; Better Font Awesome
108
- 2. Using Better Font Awesome via TinyMCE
109
 
110
 
111
  == Changelog ==
112
 
 
 
 
 
113
  = 1.2.1 =
114
  * Update get_instance() call to work for older versions of PHP (< 5.3)
115
 
@@ -190,6 +191,10 @@ Better Font Awesome does it's best to load after any existing Font Awesome CSS,
190
 
191
  == Upgrade Notice ==
192
 
 
 
 
 
193
  = 1.2.1 =
194
  * Update get_instance() call to work for older versions of PHP (< 5.3)
195
 
4
  Donate link: http://mightyminnow.com
5
  Requires at least: 3.0
6
  Tested up to: 4.3
7
+ Stable tag: 1.3.0
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
 
 
15
  Better Font Awesome allows you to automatically integrate the latest available version of [Font Awesome](http://fontawesome.io/) into your WordPress project, along with accompanying CSS, shortcodes, and TinyMCE icon shortcode generator.
16
 
17
 
101
 
102
 
103
  == Screenshots ==
104
+ 1. The icon shortcode dropdown selector
105
+ 2. Better Font Awesome settings, accessed via Settings &rarr; Better Font Awesome
 
106
 
107
 
108
  == Changelog ==
109
 
110
+ = 1.3.0 =
111
+ * Replace outdated TinyMCE shortcode selector brand new jQuery dropdown selector that works in both the visual and text editor
112
+ * Clean up CSS and JS
113
+
114
  = 1.2.1 =
115
  * Update get_instance() call to work for older versions of PHP (< 5.3)
116
 
191
 
192
  == Upgrade Notice ==
193
 
194
+ = 1.3.0 =
195
+ * Replace outdated TinyMCE shortcode selector brand new jQuery dropdown selector that works in both the visual and text editor
196
+ * Clean up CSS and JS
197
+
198
  = 1.2.1 =
199
  * Update get_instance() call to work for older versions of PHP (< 5.3)
200