Better Font Awesome - Version 1.7.6

Version Description

  • Fix: revert to 1.7.4 codebase.
  • Fix: remove calls to ready() jQuery method to support latest jQuery versions.
Download this release

Release Info

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

Code changes from version 1.7.5 to 1.7.6

Files changed (34) hide show
  1. README.md +68 -6
  2. better-font-awesome.php +647 -619
  3. languages/better-font-awesome.pot +264 -213
  4. readme.txt +68 -6
  5. vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php +93 -311
  6. vendor/mickey-kay/better-font-awesome-library/composer.json +2 -5
  7. vendor/mickey-kay/better-font-awesome-library/composer.lock +8 -9
  8. vendor/mickey-kay/better-font-awesome-library/js/admin.js +37 -53
  9. vendor/mickey-kay/better-font-awesome-library/lib/font-awesome/package.json +20 -51
  10. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/Gruntfile.js +7 -107
  11. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/README.md +16 -20
  12. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.css +36 -19
  13. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.min.css +6 -5
  14. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.js +561 -4847
  15. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.min.js +2 -11
  16. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/index.html +245 -285
  17. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/package.json +26 -52
  18. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/iconpicker.js +152 -72
  19. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/jquery.ui.pos.js +474 -518
  20. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/iconpicker.less +62 -62
  21. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/popovers.less +203 -204
  22. vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/variables.less +51 -38
  23. vendor/mickey-kay/better-font-awesome-library/package.json +2 -2
  24. vendor/mickey-kay/better-font-awesome-library/vendor/composer/ClassLoader.php +5 -5
  25. vendor/mickey-kay/better-font-awesome-library/vendor/composer/autoload_real.php +0 -3
  26. vendor/mickey-kay/better-font-awesome-library/vendor/composer/installed.json +7 -7
  27. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/README.md +2 -2
  28. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/Spyc.php +6 -31
  29. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/DumpTest.php +3 -1
  30. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/IndentTest.php +3 -1
  31. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/LoadTest.php +2 -0
  32. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/ParseTest.php +13 -25
  33. vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/RoundTripTest.php +2 -0
  34. vendor/mickey-kay/better-font-awesome-library/yarn.lock +3 -3
README.md CHANGED
@@ -1,12 +1,12 @@
1
  [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome) [![Downloads](https://img.shields.io/wordpress/plugin/dt/better-font-awesome.svg)](https://wordpress.org/plugins/better-font-awesome/) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
2
 
3
  # Better Font Awesome #
4
- **Contributors:** [McGuive7](https://profiles.wordpress.org/McGuive7)
5
  **Tags:** better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
6
  **Donate link:** https://mickeykay.me
7
  **Requires at least:** 3.0
8
- **Tested up to:** 5.6.1
9
- **Stable tag:** 1.7.5
10
  **License:** GPLv2+
11
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
12
 
@@ -14,6 +14,8 @@ The Better Font Awesome plugin for WordPress. Shortcodes, HTML, TinyMCE, various
14
 
15
  ## Description ##
16
 
 
 
17
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
18
 
19
  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.
@@ -103,9 +105,6 @@ Nope. Better Font Awesome automatically pulls in everything you need, and it doe
103
 
104
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings → Better Font Awesome**.
105
 
106
- ## Contributing & Development ##
107
- Please see our [contributing guidelines](https://github.com/MickeyKay/better-font-awesome/blob/master/CONTRIBUTING.md) to get involved.
108
-
109
 
110
  ## Screenshots ##
111
  1. The icon shortcode dropdown selector
@@ -114,7 +113,12 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
114
 
115
  ## Changelog ##
116
 
 
 
 
 
117
  ### 1.7.5 ###
 
118
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
119
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
120
 
@@ -225,9 +229,41 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
225
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
226
  * Switch out bulky Titan Framework for native Settings API.
227
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
  ## Upgrade Notice ##
229
 
 
 
 
 
230
  ### 1.7.5 ###
 
231
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
232
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
233
 
@@ -337,3 +373,29 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
337
  * Implement transients to minimize load time.
338
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
339
  * Switch out bulky Titan Framework for native Settings API.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome) [![Downloads](https://img.shields.io/wordpress/plugin/dt/better-font-awesome.svg)](https://wordpress.org/plugins/better-font-awesome/) [![License: GPL v3](https://img.shields.io/badge/License-GPL%20v3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0)
2
 
3
  # Better Font Awesome #
4
+ **Contributors:** [McGuive7](https://profiles.wordpress.org/McGuive7), [aaronbmm](https://profiles.wordpress.org/aaronbmm), [mightyminnow](https://profiles.wordpress.org/mightyminnow)
5
  **Tags:** better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
6
  **Donate link:** https://mickeykay.me
7
  **Requires at least:** 3.0
8
+ **Tested up to:** 5.5
9
+ **Stable tag:** 1.7.4
10
  **License:** GPLv2+
11
  **License URI:** http://www.gnu.org/licenses/gpl-2.0.html
12
 
14
 
15
  ## Description ##
16
 
17
+ [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome)
18
+
19
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
20
 
21
  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.
105
 
106
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings → Better Font Awesome**.
107
 
 
 
 
108
 
109
  ## Screenshots ##
110
  1. The icon shortcode dropdown selector
113
 
114
  ## Changelog ##
115
 
116
+ ### 1.7.6 ###
117
+ * Fix: revert to 1.7.4 codebase.
118
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
119
+
120
  ### 1.7.5 ###
121
+ (BAD BUILD)
122
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
123
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
124
 
229
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
230
  * Switch out bulky Titan Framework for native Settings API.
231
 
232
+ ### 0.9.6 ###
233
+ * Fixed missing icon previews in WordPress 3.8 and below.
234
+
235
+ ### 0.9.5 ###
236
+ * Added ability to choose which CDN to use.
237
+ * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
238
+ * Updated prefixes to now return just the prefix without the dash (-).
239
+
240
+ ### 0.9.4 ###
241
+ * Switched default   being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
242
+ * PLEASE NOTE: this will affect existing shortcodes.
243
+
244
+ ### 0.9.3 ###
245
+ * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
246
+ * Print JS variables in front-end to aid developers
247
+ * Create global $better_font_awesome object for developers to access
248
+
249
+ ### 0.9.2 ###
250
+ * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
251
+
252
+ ### 0.9.1 ###
253
+ * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
254
+
255
+ ### 0.9.0 ###
256
+ * First release!
257
+
258
+
259
  ## Upgrade Notice ##
260
 
261
+ ### 1.7.6 ###
262
+ * Fix: revert to 1.7.4 codebase.
263
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
264
+
265
  ### 1.7.5 ###
266
+ (BAD BUILD)
267
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
268
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
269
 
373
  * Implement transients to minimize load time.
374
  * Implement improved fallback handling (transient → wp_remote_get() → locally included files)
375
  * Switch out bulky Titan Framework for native Settings API.
376
+
377
+ ### 0.9.6 ###
378
+ * Fixed missing icon previews in WordPress 3.8 and below.
379
+
380
+ ### 0.9.5 ###
381
+ * Added ability to choose which CDN to use.
382
+ * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
383
+ * Updated prefixes to now return just the prefix without the dash (-).
384
+
385
+ ### 0.9.4 ###
386
+ * Switched default   being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
387
+ * PLEASE NOTE: this will affect existing shortcodes.
388
+
389
+ ### 0.9.3 ###
390
+ * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
391
+ * Print JS variables in front-end to aid developers
392
+ * Create global $better_font_awesome object for developers to access
393
+
394
+ ### 0.9.2 ###
395
+ * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
396
+
397
+ ### 0.9.1 ###
398
+ * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
399
+
400
+ ### 0.9.0 ###
401
+ * First release!
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.7.5
16
  * Author: Mickey Kay
17
  * Author URI: mickeyskay@gmail.com
18
  * License: GPLv2+
@@ -32,9 +32,8 @@ add_action( 'init', 'bfa_start', 5 );
32
  * @since 0.9.5
33
  */
34
  function bfa_start() {
35
- global $better_font_awesome;
36
- // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedVariableFound
37
- $better_font_awesome = Better_Font_Awesome_Plugin::get_instance();
38
  }
39
 
40
  /**
@@ -44,305 +43,305 @@ function bfa_start() {
44
  */
45
  class Better_Font_Awesome_Plugin {
46
 
47
- /**
48
- * Plugin slug.
49
- *
50
- * @since 0.9.0
51
- *
52
- * @var string
53
- */
54
- const SLUG = 'better-font-awesome';
55
-
56
- /**
57
- * The Better Font Awesome Library object.
58
- *
59
- * @since 0.1.0
60
- *
61
- * @var Better_Font_Awesome_Library
62
- */
63
- private $bfa_lib;
64
-
65
- /**
66
- * Path to the Better Font Awesome Library main file.
67
- *
68
- * @since 0.1.0
69
- *
70
- * @var Better_Font_Awesome_Library
71
- */
72
- private $bfa_lib_file_path;
73
-
74
- /**
75
- * Plugin display name.
76
- *
77
- * @since 0.9.0
78
- *
79
- * @var string
80
- */
81
- private $plugin_display_name;
82
-
83
- /**
84
- * Plugin option name.
85
- *
86
- * @since 0.9.0
87
- *
88
- * @var string
89
- */
90
- protected $option_name;
91
-
92
- /**
93
- * Plugin options.
94
- *
95
- * @since 0.9.0
96
- *
97
- * @var string
98
- */
99
- protected $options;
100
-
101
- /**
102
- * Default options.
103
- *
104
- * Used for setting uninitialized plugin options.
105
- *
106
- * @since 0.9.0
107
- *
108
- * @var array
109
- */
110
- protected $option_defaults = array(
111
- 'version' => 'latest',
112
- 'minified' => 1,
113
- 'remove_existing_fa' => '',
114
- 'hide_admin_notices' => '',
115
- );
116
-
117
- /**
118
- * Instance of this class.
119
- *
120
- * @since 0.9.0
121
- *
122
- * @var Better_Font_Awesome_Plugin
123
- */
124
- protected static $instance = null;
125
-
126
-
127
- /**
128
- * Returns the instance of this class, and initializes the instance if it
129
- * doesn't already exist.
130
- *
131
- * @param array $args Args to instantiate the plugin object.
132
- *
133
- * @return std_class Better_Font_Awesome The BFA object.
134
- */
135
- public static function get_instance( $args = array() ) {
136
-
137
- // If the single instance hasn't been set, set it now.
138
- if ( null === self::$instance ) {
139
- self::$instance = new self( $args );
140
- }
141
-
142
- return self::$instance;
143
- }
144
-
145
- /**
146
- * Better Font Awesome Plugin constructor.
147
- *
148
- * @since 0.9.0
149
- */
150
- protected function __construct() {
151
-
152
- // Perform plugin initialization actions.
153
- $this->initialize();
154
-
155
- // Stop if the Better Font Awesome Library isn't included.
156
- if ( ! $this->bfal_exists() ) {
157
- add_action( 'admin_init', array( $this, 'deactivate' ) );
158
- return false;
159
- }
160
-
161
- // Include required files.
162
- $this->includes();
163
-
164
- // Initialize the Better Font Awesome Library.
165
- $this->initialize_better_font_awesome_library( $this->options );
166
-
167
- // Load the plugin text domain.
168
- $this->load_text_domain();
169
-
170
- // Output admin notices.
171
  add_action( 'admin_notices', array( $this, 'do_admin_notices' ) );
172
 
173
- // Set up the admin settings page.
174
- add_action( 'admin_menu', array( $this, 'add_settings_page' ) );
175
- add_action( 'admin_init', array( $this, 'add_settings' ) );
176
- add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
177
-
178
- // Handle saving options via AJAX.
179
- add_action( 'wp_ajax_bfa_save_options', array( $this, 'save_options' ) );
180
- add_action( 'wp_ajax_bfa_dismiss_testing_admin_notice', array( $this, 'dismiss_testing_admin_notice' ) );
181
- }
182
-
183
- /**
184
- * Do necessary initialization actions.
185
- *
186
- * @since 0.10.0
187
- */
188
- private function initialize() {
189
-
190
- // Set display name.
191
- $this->plugin_display_name = __( 'Better Font Awesome', 'better-font-awesome' );
192
-
193
- // Set options name.
194
- $this->option_name = self::SLUG . '_options';
195
-
196
- // Set up main Better Font Awesome Library file path.
197
- $this->bfa_lib_file_path = plugin_dir_path( __FILE__ ) . 'vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php';
198
-
199
- // Get plugin options, and populate defaults as needed.
200
- $this->initialize_options( $this->option_name );
201
- }
202
-
203
- /**
204
- * Get class prop.
205
- *
206
- * @since 1.7.0
207
- *
208
- * @param string $prop Prop to fetch.
209
- *
210
- * @return mixed Value of the prop.
211
- */
212
- public function get( $prop ) {
213
- return $this->$prop;
214
- }
215
-
216
- /**
217
- * Check if the Better Font Awesome Library is included.
218
- *
219
- * @since 0.10.0
220
- */
221
- public function bfal_exists() {
222
- if ( ! is_readable( $this->bfa_lib_file_path ) ) {
223
- return false;
224
- } else {
225
- return true;
226
- }
227
- }
228
-
229
- /**
230
- * Deactivate and display an error if the BFAL isn't included.
231
- *
232
- * @since 0.10.0
233
- */
234
- public function deactivate() {
235
- deactivate_plugins( plugin_basename( __FILE__ ) );
236
-
237
- $message = '<h2>' . __( 'Better Font Awesome', 'better-font-awesome' ) . '</h2>';
238
- $message .= '<p>' . __( 'It appears that Better Font Awesome is missing it\'s <a href="https://github.com/MickeyKay/better-font-awesome-library" target="_blank">core library</a>, which typically occurs when cloning the Git repository and failing to run <code>composer install</code>. Please refer to the plugin\'s <a href="https://github.com/MickeyKay/better-font-awesome" target="_blank">installation instructions</a> for details on how to properly install Better Font Awesome via Git. If you installed from within WordPress, or via the wordpress.org repo, then chances are the install failed and you can try again. If the issue persists, please create a new topic on the plugin\'s <a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank">support forum</a> or file an issue on the <a href="https://github.com/MickeyKay/better-font-awesome/issues" target="_blank">Github repo</a>.', 'better-font-awesome' ) . '</p>';
239
- $message .= '<p><a href="' . get_admin_url( null, 'plugins.php' ) . '">' . __( 'Back to the plugins page &rarr;', 'better-font-awesome' ) . '</a></p>';
240
-
241
- wp_die( esc_html( $message ) );
242
- }
243
-
244
- /**
245
- * Include required files.
246
- *
247
- * @since 0.10.0
248
- */
249
- private function includes() {
250
-
251
- // Better Font Awesome Library.
252
- require_once $this->bfa_lib_file_path;
253
- }
254
-
255
- /**
256
- * Get plugin options, or initialize with default values.
257
- *
258
- * @since 0.10.0
259
- *
260
- * @param string $option_name Options key.
261
- */
262
- private function initialize_options( $option_name ) {
263
-
264
- /**
265
- * Get plugin options.
266
- *
267
- * Run maybe_unserialize() in case we're updating from the old
268
- * serialized Titan Framwork option to a new, array-based options.
269
- */
270
- $this->options = maybe_unserialize( get_option( $option_name ) );
271
-
272
- // Initialize the plugin options with defaults if they're not set.
273
- if ( empty( $this->options ) ) {
274
- update_option( $option_name, $this->option_defaults );
275
- }
276
- }
277
-
278
- /**
279
- * Initialize the Better Font Awesome Library object.
280
- *
281
- * @since 0.9.0
282
- *
283
- * @param array $options Plugin options.
284
- */
285
- private function initialize_better_font_awesome_library( $options ) {
286
-
287
- // Hide admin notices if setting is checked.
288
- // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
289
- if ( true == $options['hide_admin_notices'] ) {
290
- add_filter( 'bfa_show_errors', '__return_false' );
291
- }
292
-
293
- // Initialize BFA library.
294
- $args = array(
295
- 'version' => isset( $options['version'] ) ? $options['version'] : $this->option_defaults['version'],
296
- 'minified' => isset( $options['minified'] ) ? $options['minified'] : '',
297
- 'remove_existing_fa' => isset( $options['remove_existing_fa'] ) ? $options['remove_existing_fa'] : '',
298
- 'load_styles' => true,
299
- 'load_admin_styles' => true,
300
- 'load_shortcode' => true,
301
- 'load_tinymce_plugin' => true,
302
- );
303
-
304
- $this->bfa_lib = Better_Font_Awesome_Library::get_instance( $args );
305
- }
306
-
307
- /**
308
- * Load plugin text domain.
309
- *
310
- * @since 0.10.0
311
- */
312
- public function load_text_domain() {
313
- load_plugin_textdomain( self::SLUG, false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
314
- }
315
-
316
- /**
 
 
 
 
 
 
 
 
 
 
 
317
  * Generate admin notices.
318
  *
319
  * @since 1.7.3
320
  */
321
  public function do_admin_notices() {
 
322
  $user_dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
323
 
324
  if (
325
- ! isset( $user_dismissed_option_data->{get_current_user_id()} ) ||
326
  true !== $user_dismissed_option_data->{get_current_user_id()}
327
  ) :
328
  ?>
329
- <div class="notice notice-info is-dismissible" id="<?php echo esc_attr( self::SLUG . '-testing-notice' ); ?>">
330
- <p><strong><?php esc_html_e( 'Better Font Awesome - We need your help!', 'better-font-awesome' ); ?></strong> </p>
331
- <p>
332
- <?php
333
- /* translators: placeholders are the opening and closing <a> tags.*/
334
- printf( wp_kses_post( __( "First of all, thanks so much for using the plugin! Second of all, %1\$sBetter Font Awesome 2.0%2\$s is <i>almost</i> ready for use! The new version adds a few major improvements, most notably support for Font Awesome 5 icons. Before publishing the update, it's important that we get plenty of user testing to validate that everything is working as expected, and we could really use your help.", 'better-font-awesome' ) ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' );
335
- ?>
336
- </p>
337
- <p>
338
- <?php
339
- /* translators: placeholders are the opening and closing <a> tags.*/
340
- printf( wp_kses_post( __( 'If you are interested in helping us test the new update, please read the official %1$sblog post%2$s, which includes simple instructions for how to get involved. Thanks so much for you support', 'better-font-awesome' ) ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' );
341
- ?>
342
- <span class="dashicons dashicons-heart"></span>.
343
- </p>
344
  </div>
345
- <?php
346
  endif;
347
  }
348
 
@@ -362,9 +361,9 @@ class Better_Font_Awesome_Plugin {
362
  * @since 1.7.3
363
  */
364
  public function dismiss_testing_admin_notice() {
365
- $dismissed_option_key = self::SLUG . '-dismissed-notice-testing';
366
- $dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
367
- $updated_option_data = $dismissed_option_data;
368
  $updated_option_data->{get_current_user_id()} = true;
369
 
370
  update_option( $dismissed_option_key, $updated_option_data );
@@ -373,339 +372,368 @@ class Better_Font_Awesome_Plugin {
373
  }
374
 
375
  /**
376
- * Create the plugin settings page.
377
- */
378
- public function add_settings_page() {
379
- add_options_page(
380
- $this->plugin_display_name,
381
- $this->plugin_display_name,
382
- 'manage_options',
383
- self::SLUG,
384
- array( $this, 'create_admin_page' )
385
- );
386
- }
387
-
388
- /**
389
- * Output the plugin settings page contents.
390
  *
391
- * @since 0.10.0
 
392
  */
393
- public function create_admin_page() {
394
- ?>
395
- <div class="wrap bfa-settings">
396
- <h2><?php echo esc_html( $this->plugin_display_name ); ?></h2>
397
- <form method="post" action="options.php" id="bfa-settings-form">
398
- <?php
399
- // This prints out all hidden setting fields.
400
- settings_fields( 'option_group' );
401
- do_settings_sections( self::SLUG );
402
- ?>
403
- <p>
404
- <span class="button-primary bfa-save-settings-button"><?php esc_html_e( 'Save Settings', 'better-font-awesome' ); ?></span> <img class="bfa-loading-gif" src="<?php echo esc_attr( includes_url() . 'images/spinner.gif' ); ?>" />
405
- </p>
406
- <div class="bfa-ajax-response-holder"></div>
407
- <?php echo wp_kses_post( $this->get_usage_text() ); ?>
408
- </form>
409
- </div>
410
- <?php
411
- }
412
-
413
- /**
414
- * Populate the settings page with specific settings.
415
- *
416
- * @since 0.10.0
417
- */
418
- public function add_settings() {
419
- register_setting(
420
- 'option_group', // Option group.
421
- $this->option_name, // Option name.
422
- array( $this, 'sanitize' ) // Sanitize.
423
- );
424
-
425
- add_settings_section(
426
- 'settings_section_primary', // ID.
427
- null, // Title.
428
- null, // Callback.
429
- self::SLUG // Page.
430
- );
431
-
432
- add_settings_field(
433
- 'version', // ID.
434
- __( 'Version', 'better-font-awesome' ), // Title.
435
- array( $this, 'version_callback' ), // Callback.
436
- self::SLUG, // Page.
437
- 'settings_section_primary', // Section.
438
- $this->get_versions_list() // Args.
439
- );
440
-
441
- add_settings_field(
442
- 'minified',
443
- __( 'Use minified CSS', 'better-font-awesome' ),
444
- array( $this, 'checkbox_callback' ),
445
- self::SLUG,
446
- 'settings_section_primary',
447
- array(
448
- 'id' => 'minified',
449
- 'description' => __( 'Whether to include the minified version of the CSS (checked), or the unminified version (unchecked).', 'better-font-awesome' ),
450
- )
451
- );
452
-
453
- add_settings_field(
454
- 'remove_existing_fa',
455
- __( 'Remove existing Font Awesome', 'better-font-awesome' ),
456
- array( $this, 'checkbox_callback' ),
457
- self::SLUG,
458
- 'settings_section_primary',
459
- array(
460
- 'id' => 'remove_existing_fa',
461
- 'description' => __( 'Attempt to remove Font Awesome CSS and shortcodes added by other plugins and themes.', 'better-font-awesome' ),
462
- )
463
- );
464
-
465
- add_settings_field(
466
- 'hide_admin_notices',
467
- __( 'Hide admin notices', 'better-font-awesome' ),
468
- array( $this, 'checkbox_callback' ),
469
- self::SLUG,
470
- 'settings_section_primary',
471
- array(
472
- 'id' => 'hide_admin_notices',
473
- 'description' => __( 'Hide the default admin warnings that are shown when API and CDN errors occur.', 'better-font-awesome' ),
474
- )
475
- );
476
- }
477
-
478
- /**
479
- * Enqueue admin scripts and styles.
480
- *
481
- * @param string $hook Settings page hook.
482
- *
483
- * @since 1.0.10
484
- */
485
- public function admin_enqueue_scripts( $hook ) {
486
-
487
- // Settings-specific functionality.
488
- if ( 'settings_page_better-font-awesome' === $hook ) {
489
- // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion
490
- wp_enqueue_style(
491
- self::SLUG . '-admin',
492
- plugin_dir_url( __FILE__ ) . 'css/admin.css'
493
- );
494
-
495
- // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion, WordPress.WP.EnqueuedResourceParameters.NotInFooter
496
- wp_enqueue_script(
497
- self::SLUG . '-admin',
498
- plugin_dir_url( __FILE__ ) . 'js/admin.js',
499
- array( 'jquery' )
500
- );
501
-
502
- // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.NotInFooter
503
- wp_localize_script(
504
- self::SLUG . '-admin',
505
- 'bfa_ajax_object',
506
- array(
507
- 'ajax_url' => admin_url( 'admin-ajax.php' ),
508
- )
509
- );
510
- }
511
-
512
- // Admin notices.
513
- // phpcs:ignore WordPress.WP.EnqueuedResourceParameters.MissingVersion, WordPress.WP.EnqueuedResourceParameters.NotInFooter
514
- wp_enqueue_script(
515
- self::SLUG . '-admin-notices',
516
- plugin_dir_url( __FILE__ ) . 'js/admin-notices.js',
517
- array( 'jquery' )
518
- );
519
- }
520
-
521
- /**
522
- * Save options via AJAX.
523
- *
524
- * @since 1.0.10
525
- */
526
- public function save_options() {
527
- $options = array(
528
- 'minified' => isset( $_POST['minified'] ) && $_POST['minified'],
529
- 'remove_existing_fa' => isset( $_POST['remove_existing_fa'] ) && $_POST['remove_existing_fa'],
530
- 'hide_admin_notices' => isset( $_POST['hide_admin_notices'] ) && $_POST['hide_admin_notices'],
531
- );
532
-
533
- if ( isset( $_POST['version'] ) ) {
534
- $options['version'] = $_POST['version'];
535
- }
536
-
537
- // Sanitize and update the options.
538
- update_option( $this->option_name, $options );
539
-
540
- // Return a message.
541
- echo '<div class="updated"><p>' . esc_html__( 'Settings saved.', 'better-font-awesome' ) . '</p></div>';
542
-
543
- wp_die();
544
- }
545
-
546
- /**
547
- * Get all Font Awesome versions available from the jsDelivr API.
548
- *
549
- * @since 0.10.0
550
- *
551
- * @return array All available versions and the latest version, or an
552
- * empty array if the API fetch fails.
553
- */
554
- public function get_versions_list() {
555
- if ( $this->bfa_lib->get_api_value( 'versions' ) ) {
556
- $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
557
-
558
- foreach ( $this->bfa_lib->get_api_value( 'versions' ) as $version ) {
559
- $versions[ $version ] = $version;
560
- }
561
- } else {
562
- $versions = array();
563
- }
564
-
565
- return $versions;
566
- }
567
-
568
- /**
569
- * Output a <select> version selector.
570
- *
571
- * @since 0.10.0
572
- *
573
- * @param array $versions All available Font Awesome versions.
574
- */
575
- public function version_callback( $versions ) {
576
- if ( $versions ) {
577
-
578
- // Add 'Always Latest' option.
579
- $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
580
-
581
- /**
582
- * Remove version 2.0, since its CSS doesn't work with the regex
583
- * algorith and no one needs 2.0 anyways.
584
- */
585
- foreach ( $versions as $index => $version ) {
586
- // phpcs:ignore WordPress.PHP.StrictComparisons.LooseComparison
587
- if ( '2.0' == $version ) {
588
- unset( $versions[ $index ] );
589
  }
590
  }
591
-
592
- // Output the <select> element.
593
- printf( '<select id="version" name="%s[version]">', esc_attr( $this->option_name ) );
594
-
595
- foreach ( $versions as $version => $text ) {
596
- printf(
597
- '<option value="%s" %s>%s</option>',
598
- esc_attr( $version ),
599
- selected( $version, $this->options['version'], false ),
600
- esc_attr( $text )
601
- );
602
- }
603
-
604
- echo '</select>';
605
- } else {
606
- ?>
607
- <p>
608
- <?php
609
- printf(
610
- // translators: string is the error code + message.
611
- esc_html__( 'Version selection is currently unavailable. The attempt to reach the jsDelivr API server failed with the following error: %s', 'better-font-awesome' ),
612
- '<code>' . esc_html( $this->bfa_lib->get_error( 'api' )->get_error_code() . ': ' . $this->bfa_lib->get_error( 'api' )->get_error_message() ) . '</code>'
613
- );
614
- ?>
615
- </p>
616
- <p>
617
- <?php
618
- printf(
619
- // translators: string is the fallback version of font awesome.
620
- esc_html__( 'Font Awesome will still render using version: %s', 'better-font-awesome' ),
621
- '<code>' . esc_html( $this->bfa_lib->get_fallback_version() ) . '</code>'
622
- );
623
- ?>
624
- </p>
625
- <p>
626
- <?php
627
- printf(
628
- // translators: placeholders are the opening and closing <a> tags.
629
- esc_html__( 'This may be the result of a temporary server or connectivity issue which will resolve shortly. However if the problem persists please file a support ticket on the %1$splugin forum%2$s, citing the errors listed above. ', 'better-font-awesome' ),
630
- '<a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank" title="Better Font Awesome support forum">',
631
- '</a>'
632
- );
633
- ?>
634
- </small></p>
635
- <?php
636
  }
637
  }
638
 
639
- /**
640
- * Output a checkbox setting.
641
- *
642
- * @since 0.10.0
643
- *
644
- * @param array $args Args to the checkbox callback.
645
- */
646
- public function checkbox_callback( $args ) {
647
- $option_name = esc_attr( $this->option_name ) . '[' . $args['id'] . ']';
648
- $option_value = isset( $this->options[ $args['id'] ] ) ? $this->options[ $args['id'] ] : '';
649
- printf(
650
- '<label for="%s"><input type="checkbox" value="1" id="%s" name="%s" %s/> %s</label>',
651
- esc_attr( $args['id'] ),
652
- esc_attr( $args['id'] ),
653
- esc_attr( $option_name ),
654
- esc_attr( checked( 1, $option_value, false ) ),
655
- esc_attr( $args['description'] )
656
- );
657
- }
658
-
659
- /**
660
- * Generate the admin instructions/usage text.
661
- *
662
- * @since 0.10.0
663
- *
664
- * @return string Usage text.
665
- */
666
- public function get_usage_text() {
667
- return '<div class="bfa-usage-text">' .
668
- __(
669
- '<h3>Usage</h3>
670
- <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/examples/">See all available options &raquo;</a></small><br /><br />
671
- <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="fa-coffee"&gt;&lt;/i&gt;</code><br /><br />
672
- <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 />
673
- <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 />
674
- <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 />
675
- <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 />
676
- <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 />
677
- <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>',
678
- 'better-font-awesome'
679
- ) .
680
- '</div>';
681
- }
682
-
683
- /**
684
- * Sanitize each settings field as needed.
685
- *
686
- * @param array $input Contains all settings fields as array keys.
687
- */
688
- public function sanitize( $input ) {
689
- $new_input = array();
690
-
691
- // Sanitize options to match their type.
692
- if ( isset( $input['version'] ) ) {
693
- $new_input['version'] = sanitize_text_field( $input['version'] );
694
- }
695
-
696
- if ( isset( $input['minified'] ) ) {
697
- $new_input['minified'] = absint( $input['minified'] );
698
- }
699
-
700
- if ( isset( $input['remove_existing_fa'] ) ) {
701
- $new_input['remove_existing_fa'] = absint( $input['remove_existing_fa'] );
702
- }
703
-
704
- if ( isset( $input['hide_admin_notices'] ) ) {
705
- $new_input['hide_admin_notices'] = absint( $input['hide_admin_notices'] );
706
- }
707
-
708
- return $new_input;
709
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
710
 
711
  }
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.7.6
16
  * Author: Mickey Kay
17
  * Author URI: mickeyskay@gmail.com
18
  * License: GPLv2+
32
  * @since 0.9.5
33
  */
34
  function bfa_start() {
35
+ global $better_font_awesome;
36
+ $better_font_awesome = Better_Font_Awesome_Plugin::get_instance();
 
37
  }
38
 
39
  /**
43
  */
44
  class Better_Font_Awesome_Plugin {
45
 
46
+ /**
47
+ * Plugin slug.
48
+ *
49
+ * @since 0.9.0
50
+ *
51
+ * @var string
52
+ */
53
+ const SLUG = 'better-font-awesome';
54
+
55
+ /**
56
+ * The Better Font Awesome Library object.
57
+ *
58
+ * @since 0.1.0
59
+ *
60
+ * @var Better_Font_Awesome_Library
61
+ */
62
+ private $bfa_lib;
63
+
64
+ /**
65
+ * Path to the Better Font Awesome Library main file.
66
+ *
67
+ * @since 0.1.0
68
+ *
69
+ * @var Better_Font_Awesome_Library
70
+ */
71
+ private $bfa_lib_file_path;
72
+
73
+ /**
74
+ * Plugin display name.
75
+ *
76
+ * @since 0.9.0
77
+ *
78
+ * @var string
79
+ */
80
+ private $plugin_display_name;
81
+
82
+ /**
83
+ * Plugin option name.
84
+ *
85
+ * @since 0.9.0
86
+ *
87
+ * @var string
88
+ */
89
+ protected $option_name;
90
+
91
+ /**
92
+ * Plugin options.
93
+ *
94
+ * @since 0.9.0
95
+ *
96
+ * @var string
97
+ */
98
+ protected $options;
99
+
100
+ /**
101
+ * Default options.
102
+ *
103
+ * Used for setting uninitialized plugin options.
104
+ *
105
+ * @since 0.9.0
106
+ *
107
+ * @var array
108
+ */
109
+ protected $option_defaults = array(
110
+ 'version' => 'latest',
111
+ 'minified' => 1,
112
+ 'remove_existing_fa' => '',
113
+ 'hide_admin_notices' => '',
114
+ );
115
+
116
+ /**
117
+ * Instance of this class.
118
+ *
119
+ * @since 0.9.0
120
+ *
121
+ * @var Better_Font_Awesome_Plugin
122
+ */
123
+ protected static $instance = null;
124
+
125
+
126
+ /**
127
+ * Returns the instance of this class, and initializes the instance if it
128
+ * doesn't already exist.
129
+ *
130
+ * @return Better_Font_Awesome The BFA object.
131
+ */
132
+ public static function get_instance( $args = array() ) {
133
+
134
+ // If the single instance hasn't been set, set it now.
135
+ if ( null == self::$instance ) {
136
+ self::$instance = new self( $args );
137
+ }
138
+
139
+ return self::$instance;
140
+
141
+ }
142
+
143
+ /**
144
+ * Better Font Awesome Plugin constructor.
145
+ *
146
+ * @since 0.9.0
147
+ */
148
+ function __construct() {
149
+
150
+ // Perform plugin initialization actions.
151
+ $this->initialize();
152
+
153
+ // Stop if the Better Font Awesome Library isn't included.
154
+ if ( ! $this->bfal_exists() ) {
155
+ add_action( 'admin_init', array( $this, 'deactivate' ) );
156
+ return false;
157
+ }
158
+
159
+ // Include required files.
160
+ $this->includes();
161
+
162
+ // Initialize the Better Font Awesome Library.
163
+ $this->initialize_better_font_awesome_library( $this->options );
164
+
165
+ // Load the plugin text domain.
166
+ $this->load_text_domain();
167
+
168
+ // Output admin notices.
 
169
  add_action( 'admin_notices', array( $this, 'do_admin_notices' ) );
170
 
171
+ // Set up the admin settings page.
172
+ add_action( 'admin_menu', array( $this, 'add_settings_page' ) );
173
+ add_action( 'admin_init', array( $this, 'add_settings' ) );
174
+ add_action( 'admin_enqueue_scripts', array( $this, 'admin_enqueue_scripts' ) );
175
+
176
+ // Handle saving options via AJAX
177
+ add_action( 'wp_ajax_bfa_save_options', array( $this, 'save_options' ) );
178
+ add_action( 'wp_ajax_bfa_dismiss_testing_admin_notice', array( $this, 'dismiss_testing_admin_notice' ) );
179
+
180
+ // Clear transients on plugin update.
181
+ add_action( 'upgrader_process_complete', array( $this, 'handle_plugin_upgrade' ), 10, 2 );
182
+
183
+ }
184
+
185
+ /**
186
+ * Do necessary initialization actions.
187
+ *
188
+ * @since 0.10.0
189
+ */
190
+ private function initialize() {
191
+
192
+ // Set display name.
193
+ $this->plugin_display_name = __( 'Better Font Awesome', 'better-font-awesome' );
194
+
195
+ // Set options name.
196
+ $this->option_name = self::SLUG . '_options';
197
+
198
+ // Set up main Better Font Awesome Library file path.
199
+ $this->bfa_lib_file_path = plugin_dir_path( __FILE__ ) . 'vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php';
200
+
201
+ // Get plugin options, and populate defaults as needed.
202
+ $this->initialize_options( $this->option_name );
203
+
204
+ }
205
+
206
+ /**
207
+ * Get class prop.
208
+ *
209
+ * @since 1.7.0
210
+ *
211
+ * @param string $prop Prop to fetch.
212
+ *
213
+ * @return mixed Value of the prop.
214
+ */
215
+ public function get( $prop ) {
216
+ return $this->$prop;
217
+ }
218
+
219
+ /**
220
+ * Check if the Better Font Awesome Library is included.
221
+ *
222
+ * @since 0.10.0
223
+ */
224
+ public function bfal_exists() {
225
+
226
+ if ( ! is_readable( $this->bfa_lib_file_path ) ) {
227
+ return false;
228
+ } else {
229
+ return true;
230
+ }
231
+
232
+ }
233
+
234
+ /**
235
+ * Deactivate and display an error if the BFAL isn't included.
236
+ *
237
+ * @since 0.10.0
238
+ */
239
+ public function deactivate() {
240
+
241
+ deactivate_plugins( plugin_basename( __FILE__ ) );
242
+
243
+ $message = '<h2>' . __( 'Better Font Awesome', 'better-font-awesome' ) . '</h2>';
244
+ $message .= '<p>' . __( 'It appears that Better Font Awesome is missing it\'s <a href="https://github.com/MickeyKay/better-font-awesome-library" target="_blank">core library</a>, which typically occurs when cloning the Git repository and failing to run <code>composer install</code>. Please refer to the plugin\'s <a href="https://github.com/MickeyKay/better-font-awesome" target="_blank">installation instructions</a> for details on how to properly install Better Font Awesome via Git. If you installed from within WordPress, or via the wordpress.org repo, then chances are the install failed and you can try again. If the issue persists, please create a new topic on the plugin\'s <a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank">support forum</a> or file an issue on the <a href="https://github.com/MickeyKay/better-font-awesome/issues" target="_blank">Github repo</a>.' , 'better-font-awesome' ) . '</p>';
245
+ $message .= '<p><a href="' . get_admin_url( null, 'plugins.php' ) . '">' . __( 'Back to the plugins page &rarr;', 'better-font-awesome' ) . '</a></p>';
246
+
247
+ wp_die( $message );
248
+
249
+ }
250
+
251
+ /**
252
+ * Include required files.
253
+ *
254
+ * @since 0.10.0
255
+ */
256
+ private function includes() {
257
+
258
+ // Better Font Awesome Library.
259
+ require_once $this->bfa_lib_file_path;
260
+
261
+ }
262
+
263
+ /**
264
+ * Get plugin options, or initialize with default values.
265
+ *
266
+ * @since 0.10.0
267
+ *
268
+ * @return array Plugin options.
269
+ */
270
+ private function initialize_options( $option_name ) {
271
+
272
+ /**
273
+ * Get plugin options.
274
+ *
275
+ * Run maybe_unserialize() in case we're updating from the old
276
+ * serialized Titan Framwork option to a new, array-based options.
277
+ */
278
+ $this->options = maybe_unserialize( get_option( $option_name ) );
279
+
280
+ // Initialize the plugin options with defaults if they're not set.
281
+ if ( empty( $this->options ) ) {
282
+ update_option( $option_name, $this->option_defaults );
283
+ }
284
+
285
+ }
286
+
287
+ /**
288
+ * Initialize the Better Font Awesome Library object.
289
+ *
290
+ * @since 0.9.0
291
+ *
292
+ * @param array $options Plugin options.
293
+ */
294
+ private function initialize_better_font_awesome_library( $options ) {
295
+
296
+ // Hide admin notices if setting is checked.
297
+ if ( true == $options['hide_admin_notices'] ) {
298
+ add_filter( 'bfa_show_errors', '__return_false' );
299
+ }
300
+
301
+ // Initialize BFA library.
302
+ $args = array(
303
+ 'version' => isset( $options['version'] ) ? $options['version'] : $this->option_defaults['version'],
304
+ 'minified' => isset( $options['minified'] ) ? $options['minified'] : '',
305
+ 'remove_existing_fa' => isset( $options['remove_existing_fa'] ) ? $options['remove_existing_fa'] :'',
306
+ 'load_styles' => true,
307
+ 'load_admin_styles' => true,
308
+ 'load_shortcode' => true,
309
+ 'load_tinymce_plugin' => true,
310
+ );
311
+
312
+ $this->bfa_lib = Better_Font_Awesome_Library::get_instance( $args );
313
+
314
+ }
315
+
316
+ /**
317
+ * Load plugin text domain.
318
+ *
319
+ * @since 0.10.0
320
+ */
321
+ function load_text_domain() {
322
+ load_plugin_textdomain( self::SLUG, false, dirname( plugin_basename( __FILE__ ) ) . '/languages' );
323
+ }
324
+
325
+ /**
326
  * Generate admin notices.
327
  *
328
  * @since 1.7.3
329
  */
330
  public function do_admin_notices() {
331
+
332
  $user_dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
333
 
334
  if (
335
+ !isset( $user_dismissed_option_data->{get_current_user_id()} ) ||
336
  true !== $user_dismissed_option_data->{get_current_user_id()}
337
  ) :
338
  ?>
339
+ <div class="notice notice-info is-dismissible" id="<?php esc_attr_e( self::SLUG . '-testing-notice' ); ?>">
340
+ <p><strong><?php _e( 'Better Font Awesome - We need your help!', 'better-font-awesome' ); ?></strong> </p>
341
+ <p><?php printf( __( "First of all, thanks so much for using the plugin! Second of all, %sBetter Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a few major improvements, most notably support for Font Awesome 5 icons. Before publishing the update, it's important that we get plenty of user testing to validate that everything is working as expected, and we could really use your help.", 'better-font-awesome' ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' ); ?></p>
342
+ <p><?php printf( __( "If you are interested in helping us test the new update, please read the official %sblog post%s, which includes simple instructions for how to get involved. Thanks so much for you support", 'better-font-awesome' ), '<a href="https://mickeykay.me/2020/09/better-font-awesome-v2-ready-for-testing/" target="_blank">', '</a>' ); ?> <span class="dashicons dashicons-heart"></span>.</p>
 
 
 
 
 
 
 
 
 
 
 
343
  </div>
344
+ <?php
345
  endif;
346
  }
347
 
361
  * @since 1.7.3
362
  */
363
  public function dismiss_testing_admin_notice() {
364
+ $dismissed_option_key = self::SLUG . '-dismissed-notice-testing';
365
+ $dismissed_option_data = $this->get_dismissed_admin_notice_testing_data();
366
+ $updated_option_data = $dismissed_option_data;
367
  $updated_option_data->{get_current_user_id()} = true;
368
 
369
  update_option( $dismissed_option_key, $updated_option_data );
372
  }
373
 
374
  /**
375
+ * Clear transients on plugin upgrade to ensure icon structure matches logic.
 
 
 
 
 
 
 
 
 
 
 
 
 
376
  *
377
+ * @param WP_Upgrader $upgrader_object Upgrader object.
378
+ * @param array $options Upgrade options.
379
  */
380
+ public function handle_plugin_upgrade( $upgrader_object, $options ) {
381
+ $bfa_plugin = plugin_basename( __FILE__ );
382
+
383
+ if ( $options['action'] == 'update' && $options['type'] == 'plugin' && isset( $options['plugins'] ) ) {
384
+ foreach ( $options['plugins'] as $plugin ) {
385
+ if ( $plugin == $bfa_plugin ) {
386
+ delete_transient( $this->bfa_lib::SLUG . '-api-versions' );
387
+ delete_transient( $this->bfa_lib::SLUG . '-css' );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  }
389
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
390
  }
391
  }
392
 
393
+ /**
394
+ * Create the plugin settings page.
395
+ */
396
+ function add_settings_page() {
397
+
398
+ add_options_page(
399
+ $this->plugin_display_name,
400
+ $this->plugin_display_name,
401
+ 'manage_options',
402
+ self::SLUG,
403
+ array( $this, 'create_admin_page' )
404
+ );
405
+
406
+ }
407
+
408
+ /**
409
+ * Output the plugin settings page contents.
410
+ *
411
+ * @since 0.10.0
412
+ */
413
+ public function create_admin_page() {
414
+ ?>
415
+ <div class="wrap bfa-settings">
416
+ <?php screen_icon(); ?>
417
+ <h2><?php echo $this->plugin_display_name; ?></h2>
418
+ <form method="post" action="options.php" id="bfa-settings-form">
419
+ <?php
420
+ // This prints out all hidden setting fields
421
+ settings_fields( 'option_group' );
422
+ do_settings_sections( self::SLUG );
423
+ ?>
424
+ <p>
425
+ <span class="button-primary bfa-save-settings-button"><?php _e( 'Save Settings', 'better-font-awesome' ); ?></span> <img class="bfa-loading-gif" src="<?php echo includes_url() . 'images/spinner.gif'; ?>" />
426
+ </p>
427
+ <div class="bfa-ajax-response-holder"></div>
428
+ <?php echo $this->get_usage_text(); ?>
429
+ </form>
430
+ </div>
431
+ <?php
432
+ }
433
+
434
+ /**
435
+ * Populate the settings page with specific settings.
436
+ *
437
+ * @since 0.10.0
438
+ */
439
+ function add_settings() {
440
+
441
+ register_setting(
442
+ 'option_group', // Option group
443
+ $this->option_name, // Option name
444
+ array( $this, 'sanitize' ) // Sanitize
445
+ );
446
+
447
+ add_settings_section(
448
+ 'settings_section_primary', // ID
449
+ null, // Title
450
+ null, // Callback
451
+ self::SLUG // Page
452
+ );
453
+
454
+ add_settings_field(
455
+ 'version', // ID
456
+ __( 'Version', 'better-font-awesome' ), // Title
457
+ array( $this, 'version_callback' ), // Callback
458
+ self::SLUG, // Page
459
+ 'settings_section_primary', // Section
460
+ $this->get_versions_list() // Args
461
+ );
462
+
463
+ add_settings_field(
464
+ 'minified',
465
+ __( 'Use minified CSS', 'better-font-awesome' ),
466
+ array( $this, 'checkbox_callback' ),
467
+ self::SLUG,
468
+ 'settings_section_primary',
469
+ array(
470
+ 'id' => 'minified',
471
+ 'description' => __( 'Whether to include the minified version of the CSS (checked), or the unminified version (unchecked).', 'better-font-awesome' ),
472
+ )
473
+ );
474
+
475
+ add_settings_field(
476
+ 'remove_existing_fa',
477
+ __( 'Remove existing Font Awesome', 'better-font-awesome' ),
478
+ array( $this, 'checkbox_callback' ),
479
+ self::SLUG,
480
+ 'settings_section_primary',
481
+ array(
482
+ 'id' => 'remove_existing_fa',
483
+ 'description' => __( 'Attempt to remove Font Awesome CSS and shortcodes added by other plugins and themes.', 'better-font-awesome' ),
484
+ )
485
+ );
486
+
487
+ add_settings_field(
488
+ 'hide_admin_notices',
489
+ __( 'Hide admin notices', 'better-font-awesome' ),
490
+ array( $this, 'checkbox_callback' ),
491
+ self::SLUG,
492
+ 'settings_section_primary',
493
+ array(
494
+ 'id' => 'hide_admin_notices',
495
+ 'description' => __( 'Hide the default admin warnings that are shown when API and CDN errors occur.', 'better-font-awesome' ),
496
+ )
497
+ );
498
+
499
+ }
500
+
501
+ /**
502
+ * Enqueue admin scripts and styles.
503
+ *
504
+ * @since 1.0.10
505
+ */
506
+ public function admin_enqueue_scripts( $hook ) {
507
+
508
+ // Settings-specific functionality.
509
+ if ( 'settings_page_better-font-awesome' === $hook ) {
510
+
511
+ wp_enqueue_style(
512
+ self::SLUG . '-admin',
513
+ plugin_dir_url( __FILE__ ) . 'css/admin.css'
514
+ );
515
+
516
+ wp_enqueue_script(
517
+ self::SLUG . '-admin',
518
+ plugin_dir_url( __FILE__ ) . 'js/admin.js',
519
+ array( 'jquery' )
520
+ );
521
+
522
+ wp_localize_script(
523
+ self::SLUG . '-admin',
524
+ 'bfa_ajax_object',
525
+ array(
526
+ 'ajax_url' => admin_url( 'admin-ajax.php' )
527
+ )
528
+ );
529
+
530
+ }
531
+
532
+ // Admin notices.
533
+ wp_enqueue_script(
534
+ self::SLUG . '-admin-notices',
535
+ plugin_dir_url( __FILE__ ) . 'js/admin-notices.js',
536
+ array( 'jquery' )
537
+ );
538
+ }
539
+
540
+ /**
541
+ * Save options via AJAX.
542
+ *
543
+ * @since 1.0.10
544
+ */
545
+ public function save_options() {
546
+
547
+ $options = array(
548
+ 'version' => $_POST['version'],
549
+ 'minified' => $_POST['minified'],
550
+ 'remove_existing_fa' => $_POST['remove_existing_fa'],
551
+ 'hide_admin_notices' => $_POST['hide_admin_notices'],
552
+ );
553
+
554
+ // Sanitize and update the options.
555
+ update_option( $this->option_name, $options );
556
+
557
+ // Return a message.
558
+ echo '<div class="updated"><p>' . esc_html( 'Settings saved.', 'better-font-awesome' ) . '</p></div>';
559
+
560
+ wp_die();
561
+
562
+ }
563
+
564
+ /**
565
+ * Get all Font Awesome versions available from the jsDelivr API.
566
+ *
567
+ * @since 0.10.0
568
+ *
569
+ * @return array All available versions and the latest version, or an
570
+ * empty array if the API fetch fails.
571
+ */
572
+ function get_versions_list() {
573
+
574
+ if ( $this->bfa_lib->get_api_value('versions') ) {
575
+ $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
576
+
577
+ foreach ( $this->bfa_lib->get_api_value('versions') as $version ) {
578
+ $versions[ $version ] = $version;
579
+ }
580
+
581
+ } else {
582
+ $versions = array();
583
+ }
584
+
585
+ return $versions;
586
+
587
+ }
588
+
589
+ /**
590
+ * Output a <select> version selector.
591
+ *
592
+ * @since 0.10.0
593
+ *
594
+ * @param array $versions All available Font Awesome versions
595
+ */
596
+ public function version_callback( $versions ) {
597
+
598
+ if ( $versions ) {
599
+
600
+ // Add 'Always Latest' option.
601
+ $versions['latest'] = __( 'Always Latest', 'better-font-awesome' );
602
+
603
+ /**
604
+ * Remove version 2.0, since its CSS doesn't work with the regex
605
+ * algorith and no one needs 2.0 anyways.
606
+ */
607
+ foreach ( $versions as $index => $version ) {
608
+
609
+ if ( '2.0' == $version ) {
610
+ unset( $versions[ $index ] );
611
+ }
612
+
613
+ }
614
+
615
+ // Output the <select> element.
616
+ printf( '<select id="version" name="%s[version]">', esc_attr( $this->option_name ) );
617
+
618
+ foreach ( $versions as $version => $text ) {
619
+
620
+ printf(
621
+ '<option value="%s" %s>%s</option>',
622
+ esc_attr( $version ),
623
+ selected( $version, $this->options['version'], false ),
624
+ esc_attr( $text )
625
+ );
626
+
627
+ }
628
+
629
+ echo '</select>';
630
+
631
+ } else {
632
+ ?>
633
+ <p>
634
+ <?php
635
+ printf( __( 'Version selection is currently unavailable. The attempt to reach the jsDelivr API server failed with the following error: %s', 'better-font-awesome' ),
636
+ '<code>' . $this->bfa_lib->get_error('api')->get_error_code() . ': ' . $this->bfa_lib->get_error('api')->get_error_message() . '</code>'
637
+ );
638
+ ?>
639
+ </p>
640
+ <p>
641
+ <?php
642
+ printf( __( 'Font Awesome will still render using version: %s', 'better-font-awesome' ),
643
+ '<code>' . $this->bfa_lib->get_fallback_version() . '</code>'
644
+ );
645
+ ?>
646
+ </p>
647
+ <p>
648
+ <?php
649
+ printf( __( 'This may be the result of a temporary server or connectivity issue which will resolve shortly. However if the problem persists please file a support ticket on the %splugin forum%s, citing the errors listed above. ', 'better-font-awesome' ),
650
+ '<a href="http://wordpress.org/support/plugin/better-font-awesome" target="_blank" title="Better Font Awesome support forum">',
651
+ '</a>'
652
+ );
653
+ ?>
654
+ </small></p>
655
+ <?php
656
+ }
657
+
658
+ }
659
+
660
+ /**
661
+ * Output a checkbox setting.
662
+ *
663
+ * @since 0.10.0
664
+ */
665
+ public function checkbox_callback( $args ) {
666
+ $option_name = esc_attr( $this->option_name ) . '[' . $args['id'] . ']';
667
+ $option_value = isset( $this->options[ $args['id'] ] ) ? $this->options[ $args['id'] ] : '';
668
+ printf(
669
+ '<label for="%s"><input type="checkbox" value="1" id="%s" name="%s" %s/> %s</label>',
670
+ $args['id'],
671
+ $args['id'],
672
+ $option_name,
673
+ checked( 1, $option_value, false ),
674
+ $args['description']
675
+ );
676
+ }
677
+
678
+ /**
679
+ * Output a text setting.
680
+ *
681
+ * @since 0.10.0
682
+ */
683
+ public function text_callback( $args ) {
684
+ echo '<div class="bfa-text">' . $args['text'] . '</div>';
685
+ }
686
+
687
+ /**
688
+ * Generate the admin instructions/usage text.
689
+ *
690
+ * @since 0.10.0
691
+ *
692
+ * @return string Usage text.
693
+ */
694
+ public function get_usage_text() {
695
+ return '<div class="bfa-usage-text">' .
696
+ __( '<h3>Usage</h3>
697
+ <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a href="http://fontawesome.io/examples/">See all available options &raquo;</a></small><br /><br />
698
+ <i class="icon-coffee fa fa-coffee"></i> <code>[icon name="coffee"]</code> or <code>&lt;i class="fa-coffee"&gt;&lt;/i&gt;</code><br /><br />
699
+ <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 />
700
+ <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 />
701
+ <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 />
702
+ <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 />
703
+ <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 />
704
+ <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>',
705
+ 'better-font-awesome' ) .
706
+ '</div>';
707
+ }
708
+
709
+ /**
710
+ * Sanitize each settings field as needed.
711
+ *
712
+ * @param array $input Contains all settings fields as array keys.
713
+ */
714
+ public function sanitize( $input ) {
715
+
716
+ $new_input = array();
717
+
718
+ // Sanitize options to match their type
719
+ if ( isset( $input['version'] ) ) {
720
+ $new_input['version'] = sanitize_text_field( $input['version'] );
721
+ }
722
+
723
+ if ( isset( $input['minified'] ) ) {
724
+ $new_input['minified'] = absint( $input['minified'] );
725
+ }
726
+
727
+ if ( isset( $input['remove_existing_fa'] ) ) {
728
+ $new_input['remove_existing_fa'] = absint( $input['remove_existing_fa'] );
729
+ }
730
+
731
+ if ( isset( $input['hide_admin_notices'] ) ) {
732
+ $new_input['hide_admin_notices'] = absint( $input['hide_admin_notices'] );
733
+ }
734
+
735
+ return $new_input;
736
+
737
+ }
738
 
739
  }
languages/better-font-awesome.pot CHANGED
@@ -2,10 +2,10 @@
2
  # This file is distributed under the GPLv2+.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: Better Font Awesome 1.7.5\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/better-font-awesome\n"
8
- "POT-Creation-Date: 2021-02-08 06:09:04+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
@@ -18,16 +18,18 @@ msgstr ""
18
  msgid "Better Font Awesome"
19
  msgstr ""
20
 
21
- #: better-font-awesome.php:238 svn/tags/1.7.0/better-font-awesome.php:237
22
  #: svn/tags/1.7.1/better-font-awesome.php:237
23
  #: svn/tags/1.7.2/better-font-awesome.php:237
24
  #: svn/tags/1.7.3/better-font-awesome.php:241
25
  #: svn/tags/1.7.4/better-font-awesome.php:241
 
 
26
  #: svn/tags/2.0.0-beta/better-font-awesome.php:237
27
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:237
28
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:237
29
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:237
30
- #: svn/trunk/better-font-awesome.php:241
31
  msgid ""
32
  "It appears that Better Font Awesome is missing it's <a "
33
  "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
@@ -46,7 +48,7 @@ msgid ""
46
  "target=\"_blank\">Github repo</a>."
47
  msgstr ""
48
 
49
- #: better-font-awesome.php:239 svn/tags/1.0.0/better-font-awesome.php:218
50
  #: svn/tags/1.0.1/better-font-awesome.php:218
51
  #: svn/tags/1.0.10/better-font-awesome.php:219
52
  #: svn/tags/1.0.2/better-font-awesome.php:218
@@ -77,40 +79,48 @@ msgstr ""
77
  #: svn/tags/1.7.2/better-font-awesome.php:238
78
  #: svn/tags/1.7.3/better-font-awesome.php:242
79
  #: svn/tags/1.7.4/better-font-awesome.php:242
 
 
80
  #: svn/tags/2.0.0-beta/better-font-awesome.php:238
81
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:238
82
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:238
83
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:238
84
- #: svn/trunk/better-font-awesome.php:242
85
  msgid "Back to the plugins page &rarr;"
86
  msgstr ""
87
 
88
- #: better-font-awesome.php:330 svn/tags/1.7.3/better-font-awesome.php:337
89
  #: svn/tags/1.7.4/better-font-awesome.php:337
90
- #: svn/trunk/better-font-awesome.php:337
 
 
91
  msgid "Better Font Awesome - We need your help!"
92
  msgstr ""
93
 
94
- #: better-font-awesome.php:334
95
- #. translators: placeholders are the opening and closing <a> tags.
 
 
96
  msgid ""
97
- "First of all, thanks so much for using the plugin! Second of all, "
98
- "%1$sBetter Font Awesome 2.0%2$s is <i>almost</i> ready for use! The new "
99
- "version adds a few major improvements, most notably support for Font "
100
- "Awesome 5 icons. Before publishing the update, it's important that we get "
101
- "plenty of user testing to validate that everything is working as expected, "
102
- "and we could really use your help."
103
  msgstr ""
104
 
105
- #: better-font-awesome.php:340
106
- #. translators: placeholders are the opening and closing <a> tags.
 
 
107
  msgid ""
108
  "If you are interested in helping us test the new update, please read the "
109
- "official %1$sblog post%2$s, which includes simple instructions for how to "
110
- "get involved. Thanks so much for you support"
111
  msgstr ""
112
 
113
- #: better-font-awesome.php:404 svn/tags/1.1.0/better-font-awesome.php:335
114
  #: svn/tags/1.2.0/better-font-awesome.php:335
115
  #: svn/tags/1.2.1/better-font-awesome.php:337
116
  #: svn/tags/1.3.0/better-font-awesome.php:337
@@ -130,15 +140,17 @@ msgstr ""
130
  #: svn/tags/1.7.2/better-font-awesome.php:350
131
  #: svn/tags/1.7.3/better-font-awesome.php:406
132
  #: svn/tags/1.7.4/better-font-awesome.php:406
 
 
133
  #: svn/tags/2.0.0-beta/better-font-awesome.php:350
134
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:350
135
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:350
136
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:350
137
- #: svn/trunk/better-font-awesome.php:406
138
  msgid "Save Settings"
139
  msgstr ""
140
 
141
- #: better-font-awesome.php:434 svn/tags/1.0.0/better-font-awesome.php:352
142
  #: svn/tags/1.0.1/better-font-awesome.php:352
143
  #: svn/tags/1.0.10/better-font-awesome.php:359
144
  #: svn/tags/1.0.2/better-font-awesome.php:352
@@ -169,15 +181,17 @@ msgstr ""
169
  #: svn/tags/1.7.2/better-font-awesome.php:381
170
  #: svn/tags/1.7.3/better-font-awesome.php:437
171
  #: svn/tags/1.7.4/better-font-awesome.php:437
 
 
172
  #: svn/tags/2.0.0-beta/better-font-awesome.php:381
173
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:381
174
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:381
175
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:381
176
- #: svn/trunk/better-font-awesome.php:437
177
  msgid "Version"
178
  msgstr ""
179
 
180
- #: better-font-awesome.php:443 svn/tags/1.0.0/better-font-awesome.php:361
181
  #: svn/tags/1.0.1/better-font-awesome.php:361
182
  #: svn/tags/1.0.10/better-font-awesome.php:368
183
  #: svn/tags/1.0.2/better-font-awesome.php:361
@@ -208,15 +222,17 @@ msgstr ""
208
  #: svn/tags/1.7.2/better-font-awesome.php:390
209
  #: svn/tags/1.7.3/better-font-awesome.php:446
210
  #: svn/tags/1.7.4/better-font-awesome.php:446
 
 
211
  #: svn/tags/2.0.0-beta/better-font-awesome.php:390
212
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:390
213
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:390
214
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:390
215
- #: svn/trunk/better-font-awesome.php:446
216
  msgid "Use minified CSS"
217
  msgstr ""
218
 
219
- #: better-font-awesome.php:449 svn/tags/1.0.0/better-font-awesome.php:367
220
  #: svn/tags/1.0.1/better-font-awesome.php:367
221
  #: svn/tags/1.0.10/better-font-awesome.php:374
222
  #: svn/tags/1.0.2/better-font-awesome.php:367
@@ -247,17 +263,19 @@ msgstr ""
247
  #: svn/tags/1.7.2/better-font-awesome.php:396
248
  #: svn/tags/1.7.3/better-font-awesome.php:452
249
  #: svn/tags/1.7.4/better-font-awesome.php:452
 
 
250
  #: svn/tags/2.0.0-beta/better-font-awesome.php:396
251
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:396
252
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:396
253
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:396
254
- #: svn/trunk/better-font-awesome.php:452
255
  msgid ""
256
  "Whether to include the minified version of the CSS (checked), or the "
257
  "unminified version (unchecked)."
258
  msgstr ""
259
 
260
- #: better-font-awesome.php:455 svn/tags/1.0.0/better-font-awesome.php:373
261
  #: svn/tags/1.0.1/better-font-awesome.php:373
262
  #: svn/tags/1.0.10/better-font-awesome.php:380
263
  #: svn/tags/1.0.2/better-font-awesome.php:373
@@ -288,15 +306,17 @@ msgstr ""
288
  #: svn/tags/1.7.2/better-font-awesome.php:402
289
  #: svn/tags/1.7.3/better-font-awesome.php:458
290
  #: svn/tags/1.7.4/better-font-awesome.php:458
 
 
291
  #: svn/tags/2.0.0-beta/better-font-awesome.php:402
292
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:402
293
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:402
294
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:402
295
- #: svn/trunk/better-font-awesome.php:458
296
  msgid "Remove existing Font Awesome"
297
  msgstr ""
298
 
299
- #: better-font-awesome.php:461 svn/tags/1.0.0/better-font-awesome.php:379
300
  #: svn/tags/1.0.1/better-font-awesome.php:379
301
  #: svn/tags/1.0.10/better-font-awesome.php:386
302
  #: svn/tags/1.0.2/better-font-awesome.php:379
@@ -327,17 +347,19 @@ msgstr ""
327
  #: svn/tags/1.7.2/better-font-awesome.php:408
328
  #: svn/tags/1.7.3/better-font-awesome.php:464
329
  #: svn/tags/1.7.4/better-font-awesome.php:464
 
 
330
  #: svn/tags/2.0.0-beta/better-font-awesome.php:408
331
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:408
332
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:408
333
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:408
334
- #: svn/trunk/better-font-awesome.php:464
335
  msgid ""
336
  "Attempt to remove Font Awesome CSS and shortcodes added by other plugins "
337
  "and themes."
338
  msgstr ""
339
 
340
- #: better-font-awesome.php:467 svn/tags/1.0.10/better-font-awesome.php:392
341
  #: svn/tags/1.0.8/better-font-awesome.php:392
342
  #: svn/tags/1.0.9/better-font-awesome.php:392
343
  #: svn/tags/1.1.0/better-font-awesome.php:399
@@ -360,15 +382,17 @@ msgstr ""
360
  #: svn/tags/1.7.2/better-font-awesome.php:414
361
  #: svn/tags/1.7.3/better-font-awesome.php:470
362
  #: svn/tags/1.7.4/better-font-awesome.php:470
 
 
363
  #: svn/tags/2.0.0-beta/better-font-awesome.php:414
364
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:414
365
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:414
366
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:414
367
- #: svn/trunk/better-font-awesome.php:470
368
  msgid "Hide admin notices"
369
  msgstr ""
370
 
371
- #: better-font-awesome.php:473 svn/tags/1.0.10/better-font-awesome.php:398
372
  #: svn/tags/1.0.8/better-font-awesome.php:398
373
  #: svn/tags/1.0.9/better-font-awesome.php:398
374
  #: svn/tags/1.1.0/better-font-awesome.php:405
@@ -391,21 +415,19 @@ msgstr ""
391
  #: svn/tags/1.7.2/better-font-awesome.php:420
392
  #: svn/tags/1.7.3/better-font-awesome.php:476
393
  #: svn/tags/1.7.4/better-font-awesome.php:476
 
 
394
  #: svn/tags/2.0.0-beta/better-font-awesome.php:420
395
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:420
396
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:420
397
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:420
398
- #: svn/trunk/better-font-awesome.php:476
399
  msgid ""
400
  "Hide the default admin warnings that are shown when API and CDN errors "
401
  "occur."
402
  msgstr ""
403
 
404
- #: better-font-awesome.php:541
405
- msgid "Settings saved."
406
- msgstr ""
407
-
408
- #: better-font-awesome.php:556 better-font-awesome.php:579
409
  #: svn/tags/1.0.0/better-font-awesome.php:396
410
  #: svn/tags/1.0.0/better-font-awesome.php:422
411
  #: svn/tags/1.0.1/better-font-awesome.php:396
@@ -468,6 +490,10 @@ msgstr ""
468
  #: svn/tags/1.7.3/better-font-awesome.php:582
469
  #: svn/tags/1.7.4/better-font-awesome.php:556
470
  #: svn/tags/1.7.4/better-font-awesome.php:582
 
 
 
 
471
  #: svn/tags/2.0.0-beta/better-font-awesome.php:493
472
  #: svn/tags/2.0.0-beta/better-font-awesome.php:519
473
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:493
@@ -476,11 +502,11 @@ msgstr ""
476
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:519
477
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:493
478
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:519
479
- #: svn/trunk/better-font-awesome.php:556 svn/trunk/better-font-awesome.php:582
480
  msgid "Always Latest"
481
  msgstr ""
482
 
483
- #: better-font-awesome.php:611 svn/tags/1.0.0/better-font-awesome.php:456
484
  #: svn/tags/1.0.1/better-font-awesome.php:456
485
  #: svn/tags/1.0.10/better-font-awesome.php:475
486
  #: svn/tags/1.0.2/better-font-awesome.php:456
@@ -511,18 +537,20 @@ msgstr ""
511
  #: svn/tags/1.7.2/better-font-awesome.php:553
512
  #: svn/tags/1.7.3/better-font-awesome.php:616
513
  #: svn/tags/1.7.4/better-font-awesome.php:616
 
 
514
  #: svn/tags/2.0.0-beta/better-font-awesome.php:553
515
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:553
516
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:553
517
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:553
518
- #: svn/trunk/better-font-awesome.php:616
519
  #. translators: string is the error code + message.
520
  msgid ""
521
  "Version selection is currently unavailable. The attempt to reach the "
522
  "jsDelivr API server failed with the following error: %s"
523
  msgstr ""
524
 
525
- #: better-font-awesome.php:620 svn/tags/1.0.0/better-font-awesome.php:463
526
  #: svn/tags/1.0.1/better-font-awesome.php:463
527
  #: svn/tags/1.0.10/better-font-awesome.php:482
528
  #: svn/tags/1.0.2/better-font-awesome.php:463
@@ -553,98 +581,18 @@ msgstr ""
553
  #: svn/tags/1.7.2/better-font-awesome.php:560
554
  #: svn/tags/1.7.3/better-font-awesome.php:623
555
  #: svn/tags/1.7.4/better-font-awesome.php:623
 
 
556
  #: svn/tags/2.0.0-beta/better-font-awesome.php:560
557
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:560
558
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:560
559
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:560
560
- #: svn/trunk/better-font-awesome.php:623
561
  #. translators: string is the fallback version of font awesome.
562
  msgid "Font Awesome will still render using version: %s"
563
  msgstr ""
564
 
565
- #: better-font-awesome.php:629
566
- #. translators: placeholders are the opening and closing <a> tags.
567
- msgid ""
568
- "This may be the result of a temporary server or connectivity issue which "
569
- "will resolve shortly. However if the problem persists please file a support "
570
- "ticket on the %1$splugin forum%2$s, citing the errors listed above. "
571
- msgstr ""
572
-
573
- #: better-font-awesome.php:668
574
- msgid ""
575
- "<h3>Usage</h3>\n"
576
- "\t\t\t\t\t <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a "
577
- "href=\"http://fontawesome.io/examples/\">See all available options "
578
- "&raquo;</a></small><br /><br />\n"
579
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
580
- "name=\"coffee\"]</code> or <code>&lt;i "
581
- "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
582
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
583
- "<code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or <code>&lt;i "
584
- "class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
585
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
586
- "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"fa-2x "
587
- "fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
588
- "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
589
- "\t\t\t\t\t <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
590
- "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
591
- "&raquo;</a></small><br /><br />\n"
592
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
593
- "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
594
- "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
595
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
596
- "<code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or <code>&lt;i "
597
- "class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
598
- "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
599
- "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"icon-2x "
600
- "icon-rotate-90\"]</code> or <code>&lt;i class=\"icon icon-coffee icon-2x "
601
- "icon-rotate-90\"&gt;&lt;/i&gt;</code>"
602
- msgstr ""
603
-
604
- #: svn/tags/1.0.0/better-font-awesome.php:217
605
- #: svn/tags/1.0.1/better-font-awesome.php:217
606
- #: svn/tags/1.0.10/better-font-awesome.php:218
607
- #: svn/tags/1.0.2/better-font-awesome.php:217
608
- #: svn/tags/1.0.3/better-font-awesome.php:217
609
- #: svn/tags/1.0.4/better-font-awesome.php:217
610
- #: svn/tags/1.0.5/better-font-awesome.php:217
611
- #: svn/tags/1.0.6/better-font-awesome.php:217
612
- #: svn/tags/1.0.7/better-font-awesome.php:217
613
- #: svn/tags/1.0.8/better-font-awesome.php:218
614
- #: svn/tags/1.0.9/better-font-awesome.php:218
615
- #: svn/tags/1.1.0/better-font-awesome.php:222
616
- #: svn/tags/1.2.0/better-font-awesome.php:222
617
- #: svn/tags/1.2.1/better-font-awesome.php:224
618
- #: svn/tags/1.3.0/better-font-awesome.php:224
619
- #: svn/tags/1.3.1/better-font-awesome.php:224
620
- #: svn/tags/1.3.2/better-font-awesome.php:224
621
- #: svn/tags/1.3.3/better-font-awesome.php:224
622
- #: svn/tags/1.3.4/better-font-awesome.php:224
623
- #: svn/tags/1.3.5/better-font-awesome.php:224
624
- #: svn/tags/1.4.0/better-font-awesome.php:224
625
- #: svn/tags/1.4.1/better-font-awesome.php:224
626
- #: svn/tags/1.4.2/better-font-awesome.php:224
627
- #: svn/tags/1.4.3/better-font-awesome.php:224
628
- #: svn/tags/1.5.0/better-font-awesome.php:224
629
- #: svn/tags/1.6.0/better-font-awesome.php:224
630
- msgid ""
631
- "It appears that Better Font Awesome is missing it's <a "
632
- "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
633
- "target=\"_blank\">core library</a>, which typically occurs when cloning the "
634
- "Git repository and not updating all submodules. Please refer to the "
635
- "plugin's <a href=\"https://github.com/MickeyKay/better-font-awesome\" "
636
- "target=\"_blank\">installation instructions</a> for details on how to "
637
- "properly install Better Font Awesome via Git. If you installed from within "
638
- "WordPress, or via the wordpress.org repo, then chances are the install "
639
- "failed and you can try again. If the issue persists, please create a new "
640
- "topic on the plugin's <a "
641
- "href=\"http://wordpress.org/support/plugin/better-font-awesome\" "
642
- "target=\"_blank\">support forum</a> or file an issue on the <a "
643
- "href=\"https://github.com/MickeyKay/better-font-awesome/issues\" "
644
- "target=\"_blank\">Github repo</a>."
645
- msgstr ""
646
-
647
- #: svn/tags/1.0.0/better-font-awesome.php:470
648
  #: svn/tags/1.0.0/lib/better-font-awesome-library/better-font-awesome-library.php:1044
649
  #: svn/tags/1.0.1/better-font-awesome.php:470
650
  #: svn/tags/1.0.1/lib/better-font-awesome-library/better-font-awesome-library.php:1052
@@ -707,6 +655,9 @@ msgstr ""
707
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
708
  #: svn/tags/1.7.4/better-font-awesome.php:630
709
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
 
 
 
710
  #: svn/tags/2.0.0-beta/better-font-awesome.php:567
711
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1312
712
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:567
@@ -715,15 +666,114 @@ msgstr ""
715
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1313
716
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:567
717
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
718
- #: svn/trunk/better-font-awesome.php:630
719
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
720
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
721
  msgid ""
722
  "This may be the result of a temporary server or connectivity issue which "
723
  "will resolve shortly. However if the problem persists please file a support "
724
  "ticket on the %splugin forum%s, citing the errors listed above. "
725
  msgstr ""
726
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
727
  #: svn/tags/1.0.0/better-font-awesome.php:517
728
  #: svn/tags/1.0.1/better-font-awesome.php:517
729
  #: svn/tags/1.0.10/better-font-awesome.php:536
@@ -802,12 +852,14 @@ msgstr ""
802
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
803
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
804
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
 
 
805
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1282
806
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1282
807
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1283
808
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
809
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
810
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
811
  msgid "API Error"
812
  msgstr ""
813
 
@@ -843,12 +895,14 @@ msgstr ""
843
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
844
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
845
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
 
 
846
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1284
847
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1284
848
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1285
849
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
850
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
851
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
852
  msgid ""
853
  "The attempt to reach the jsDelivr API server failed with the following "
854
  "error: %s"
@@ -886,12 +940,14 @@ msgstr ""
886
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
887
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
888
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
 
 
889
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1294
890
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1294
891
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1295
892
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
893
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
894
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
895
  msgid "Remote CSS Error"
896
  msgstr ""
897
 
@@ -927,12 +983,14 @@ msgstr ""
927
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
928
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
929
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
 
 
930
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1296
931
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1296
932
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1297
933
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
934
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
935
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
936
  msgid ""
937
  "The attempt to fetch the remote Font Awesome stylesheet failed with the "
938
  "following error: %s %s The embedded fallback Font Awesome will be used "
@@ -971,12 +1029,14 @@ msgstr ""
971
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
972
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
973
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
 
 
974
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1310
975
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1310
976
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
977
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
978
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
979
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
980
  msgid "Solution"
981
  msgstr ""
982
 
@@ -1012,6 +1072,9 @@ msgstr ""
1012
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1013
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1014
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
 
 
 
1015
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1016
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:590
1017
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
@@ -1021,8 +1084,7 @@ msgstr ""
1021
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1022
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1023
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1024
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1025
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1026
  msgid "The jsDelivr API servers appear to be temporarily unavailable."
1027
  msgstr ""
1028
 
@@ -1057,72 +1119,19 @@ msgstr ""
1057
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1058
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1059
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
 
 
1060
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1306
1061
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1306
1062
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1307
1063
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1064
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1065
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1066
  msgid ""
1067
  "<b>Don't worry! Better Font Awesome will still render using the included "
1068
  "fallback version:</b> "
1069
  msgstr ""
1070
 
1071
- #: svn/tags/1.3.0/better-font-awesome.php:601
1072
- #: svn/tags/1.3.1/better-font-awesome.php:601
1073
- #: svn/tags/1.3.2/better-font-awesome.php:601
1074
- #: svn/tags/1.3.3/better-font-awesome.php:601
1075
- #: svn/tags/1.3.4/better-font-awesome.php:601
1076
- #: svn/tags/1.3.5/better-font-awesome.php:601
1077
- #: svn/tags/1.4.0/better-font-awesome.php:601
1078
- #: svn/tags/1.4.1/better-font-awesome.php:601
1079
- #: svn/tags/1.4.2/better-font-awesome.php:601
1080
- #: svn/tags/1.4.3/better-font-awesome.php:601
1081
- #: svn/tags/1.5.0/better-font-awesome.php:601
1082
- #: svn/tags/1.6.0/better-font-awesome.php:601
1083
- #: svn/tags/1.7.0/better-font-awesome.php:614
1084
- #: svn/tags/1.7.1/better-font-awesome.php:614
1085
- #: svn/tags/1.7.2/better-font-awesome.php:614
1086
- #: svn/tags/1.7.3/better-font-awesome.php:677
1087
- #: svn/tags/1.7.4/better-font-awesome.php:677
1088
- #: svn/tags/2.0.0-beta/better-font-awesome.php:614
1089
- #: svn/tags/2.0.0-beta1/better-font-awesome.php:614
1090
- #: svn/tags/2.0.0-beta2/better-font-awesome.php:614
1091
- #: svn/tags/2.0.0-beta3/better-font-awesome.php:614
1092
- #: svn/trunk/better-font-awesome.php:677
1093
- msgid ""
1094
- "<h3>Usage</h3>\n"
1095
- " <b>Font Awesome version 4.x "
1096
- "+</b>&nbsp;&nbsp;&nbsp;<small><a "
1097
- "href=\"http://fontawesome.io/examples/\">See all available options "
1098
- "&raquo;</a></small><br /><br />\n"
1099
- " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1100
- "name=\"coffee\"]</code> or <code>&lt;i "
1101
- "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1102
- " <i class=\"icon-coffee fa fa-coffee icon-2x "
1103
- "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or "
1104
- "<code>&lt;i class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
1105
- " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
1106
- "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
1107
- "class=\"fa-2x fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
1108
- "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
1109
- " <b>Font Awesome version "
1110
- "3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
1111
- "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
1112
- "&raquo;</a></small><br /><br />\n"
1113
- " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1114
- "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
1115
- "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1116
- " <i class=\"icon-coffee fa fa-coffee icon-2x "
1117
- "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or "
1118
- "<code>&lt;i class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br "
1119
- "/><br />\n"
1120
- " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
1121
- "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
1122
- "class=\"icon-2x icon-rotate-90\"]</code> or <code>&lt;i class=\"icon "
1123
- "icon-coffee icon-2x icon-rotate-90\"&gt;&lt;/i&gt;</code>"
1124
- msgstr ""
1125
-
1126
  #: svn/tags/1.3.0/lib/better-font-awesome-library/better-font-awesome-library.php:1031
1127
  #: svn/tags/1.3.1/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1128
  #: svn/tags/1.3.2/lib/better-font-awesome-library/better-font-awesome-library.php:1039
@@ -1141,40 +1150,82 @@ msgstr ""
1141
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1142
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1143
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
 
 
1144
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1256
1145
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1256
1146
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1257
1147
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1148
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1149
- #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1150
  msgid "Insert Icon"
1151
  msgstr ""
1152
 
1153
- #: svn/tags/1.7.3/better-font-awesome.php:338
1154
- #: svn/tags/1.7.4/better-font-awesome.php:338
1155
- #: svn/trunk/better-font-awesome.php:338
 
 
 
 
1156
  msgid ""
1157
- "First of all, thanks so much for using the plugin! Second of all, %sBetter "
1158
- "Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a "
1159
- "few major improvements, most notably support for Font Awesome 5 icons. "
1160
- "Before publishing the update, it's important that we get plenty of user "
1161
- "testing to validate that everything is working as expected, and we could "
1162
- "really use your help."
1163
  msgstr ""
1164
 
1165
- #: svn/tags/1.7.3/better-font-awesome.php:339
1166
- #: svn/tags/1.7.4/better-font-awesome.php:339
1167
- #: svn/trunk/better-font-awesome.php:339
1168
  msgid ""
1169
  "If you are interested in helping us test the new update, please read the "
1170
- "official %sblog post%s, which includes simple instructions for how to get "
1171
- "involved. Thanks so much for you support"
1172
  msgstr ""
1173
 
1174
- #: svn/tags/1.7.3/better-font-awesome.php:341
1175
- #: svn/tags/1.7.4/better-font-awesome.php:341
1176
- #: svn/trunk/better-font-awesome.php:341
1177
- msgid "Dismiss this notice."
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1178
  msgstr ""
1179
 
1180
  #. Plugin URI of the plugin/theme
2
  # This file is distributed under the GPLv2+.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: Better Font Awesome 1.7.6\n"
6
  "Report-Msgid-Bugs-To: "
7
  "https://wordpress.org/support/plugin/better-font-awesome\n"
8
+ "POT-Creation-Date: 2021-02-14 06:27:57+00:00\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=utf-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
18
  msgid "Better Font Awesome"
19
  msgstr ""
20
 
21
+ #: better-font-awesome.php:244 svn/tags/1.7.0/better-font-awesome.php:237
22
  #: svn/tags/1.7.1/better-font-awesome.php:237
23
  #: svn/tags/1.7.2/better-font-awesome.php:237
24
  #: svn/tags/1.7.3/better-font-awesome.php:241
25
  #: svn/tags/1.7.4/better-font-awesome.php:241
26
+ #: svn/tags/1.7.5/better-font-awesome.php:238
27
+ #: svn/tags/1.7.6/better-font-awesome.php:244
28
  #: svn/tags/2.0.0-beta/better-font-awesome.php:237
29
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:237
30
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:237
31
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:237
32
+ #: svn/trunk/better-font-awesome.php:244
33
  msgid ""
34
  "It appears that Better Font Awesome is missing it's <a "
35
  "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
48
  "target=\"_blank\">Github repo</a>."
49
  msgstr ""
50
 
51
+ #: better-font-awesome.php:245 svn/tags/1.0.0/better-font-awesome.php:218
52
  #: svn/tags/1.0.1/better-font-awesome.php:218
53
  #: svn/tags/1.0.10/better-font-awesome.php:219
54
  #: svn/tags/1.0.2/better-font-awesome.php:218
79
  #: svn/tags/1.7.2/better-font-awesome.php:238
80
  #: svn/tags/1.7.3/better-font-awesome.php:242
81
  #: svn/tags/1.7.4/better-font-awesome.php:242
82
+ #: svn/tags/1.7.5/better-font-awesome.php:239
83
+ #: svn/tags/1.7.6/better-font-awesome.php:245
84
  #: svn/tags/2.0.0-beta/better-font-awesome.php:238
85
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:238
86
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:238
87
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:238
88
+ #: svn/trunk/better-font-awesome.php:245
89
  msgid "Back to the plugins page &rarr;"
90
  msgstr ""
91
 
92
+ #: better-font-awesome.php:340 svn/tags/1.7.3/better-font-awesome.php:337
93
  #: svn/tags/1.7.4/better-font-awesome.php:337
94
+ #: svn/tags/1.7.5/better-font-awesome.php:330
95
+ #: svn/tags/1.7.6/better-font-awesome.php:340
96
+ #: svn/trunk/better-font-awesome.php:340
97
  msgid "Better Font Awesome - We need your help!"
98
  msgstr ""
99
 
100
+ #: better-font-awesome.php:341 svn/tags/1.7.3/better-font-awesome.php:338
101
+ #: svn/tags/1.7.4/better-font-awesome.php:338
102
+ #: svn/tags/1.7.6/better-font-awesome.php:341
103
+ #: svn/trunk/better-font-awesome.php:341
104
  msgid ""
105
+ "First of all, thanks so much for using the plugin! Second of all, %sBetter "
106
+ "Font Awesome 2.0%s is <i>almost</i> ready for use! The new version adds a "
107
+ "few major improvements, most notably support for Font Awesome 5 icons. "
108
+ "Before publishing the update, it's important that we get plenty of user "
109
+ "testing to validate that everything is working as expected, and we could "
110
+ "really use your help."
111
  msgstr ""
112
 
113
+ #: better-font-awesome.php:342 svn/tags/1.7.3/better-font-awesome.php:339
114
+ #: svn/tags/1.7.4/better-font-awesome.php:339
115
+ #: svn/tags/1.7.6/better-font-awesome.php:342
116
+ #: svn/trunk/better-font-awesome.php:342
117
  msgid ""
118
  "If you are interested in helping us test the new update, please read the "
119
+ "official %sblog post%s, which includes simple instructions for how to get "
120
+ "involved. Thanks so much for you support"
121
  msgstr ""
122
 
123
+ #: better-font-awesome.php:425 svn/tags/1.1.0/better-font-awesome.php:335
124
  #: svn/tags/1.2.0/better-font-awesome.php:335
125
  #: svn/tags/1.2.1/better-font-awesome.php:337
126
  #: svn/tags/1.3.0/better-font-awesome.php:337
140
  #: svn/tags/1.7.2/better-font-awesome.php:350
141
  #: svn/tags/1.7.3/better-font-awesome.php:406
142
  #: svn/tags/1.7.4/better-font-awesome.php:406
143
+ #: svn/tags/1.7.5/better-font-awesome.php:404
144
+ #: svn/tags/1.7.6/better-font-awesome.php:425
145
  #: svn/tags/2.0.0-beta/better-font-awesome.php:350
146
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:350
147
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:350
148
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:350
149
+ #: svn/trunk/better-font-awesome.php:425
150
  msgid "Save Settings"
151
  msgstr ""
152
 
153
+ #: better-font-awesome.php:456 svn/tags/1.0.0/better-font-awesome.php:352
154
  #: svn/tags/1.0.1/better-font-awesome.php:352
155
  #: svn/tags/1.0.10/better-font-awesome.php:359
156
  #: svn/tags/1.0.2/better-font-awesome.php:352
181
  #: svn/tags/1.7.2/better-font-awesome.php:381
182
  #: svn/tags/1.7.3/better-font-awesome.php:437
183
  #: svn/tags/1.7.4/better-font-awesome.php:437
184
+ #: svn/tags/1.7.5/better-font-awesome.php:434
185
+ #: svn/tags/1.7.6/better-font-awesome.php:456
186
  #: svn/tags/2.0.0-beta/better-font-awesome.php:381
187
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:381
188
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:381
189
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:381
190
+ #: svn/trunk/better-font-awesome.php:456
191
  msgid "Version"
192
  msgstr ""
193
 
194
+ #: better-font-awesome.php:465 svn/tags/1.0.0/better-font-awesome.php:361
195
  #: svn/tags/1.0.1/better-font-awesome.php:361
196
  #: svn/tags/1.0.10/better-font-awesome.php:368
197
  #: svn/tags/1.0.2/better-font-awesome.php:361
222
  #: svn/tags/1.7.2/better-font-awesome.php:390
223
  #: svn/tags/1.7.3/better-font-awesome.php:446
224
  #: svn/tags/1.7.4/better-font-awesome.php:446
225
+ #: svn/tags/1.7.5/better-font-awesome.php:443
226
+ #: svn/tags/1.7.6/better-font-awesome.php:465
227
  #: svn/tags/2.0.0-beta/better-font-awesome.php:390
228
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:390
229
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:390
230
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:390
231
+ #: svn/trunk/better-font-awesome.php:465
232
  msgid "Use minified CSS"
233
  msgstr ""
234
 
235
+ #: better-font-awesome.php:471 svn/tags/1.0.0/better-font-awesome.php:367
236
  #: svn/tags/1.0.1/better-font-awesome.php:367
237
  #: svn/tags/1.0.10/better-font-awesome.php:374
238
  #: svn/tags/1.0.2/better-font-awesome.php:367
263
  #: svn/tags/1.7.2/better-font-awesome.php:396
264
  #: svn/tags/1.7.3/better-font-awesome.php:452
265
  #: svn/tags/1.7.4/better-font-awesome.php:452
266
+ #: svn/tags/1.7.5/better-font-awesome.php:449
267
+ #: svn/tags/1.7.6/better-font-awesome.php:471
268
  #: svn/tags/2.0.0-beta/better-font-awesome.php:396
269
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:396
270
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:396
271
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:396
272
+ #: svn/trunk/better-font-awesome.php:471
273
  msgid ""
274
  "Whether to include the minified version of the CSS (checked), or the "
275
  "unminified version (unchecked)."
276
  msgstr ""
277
 
278
+ #: better-font-awesome.php:477 svn/tags/1.0.0/better-font-awesome.php:373
279
  #: svn/tags/1.0.1/better-font-awesome.php:373
280
  #: svn/tags/1.0.10/better-font-awesome.php:380
281
  #: svn/tags/1.0.2/better-font-awesome.php:373
306
  #: svn/tags/1.7.2/better-font-awesome.php:402
307
  #: svn/tags/1.7.3/better-font-awesome.php:458
308
  #: svn/tags/1.7.4/better-font-awesome.php:458
309
+ #: svn/tags/1.7.5/better-font-awesome.php:455
310
+ #: svn/tags/1.7.6/better-font-awesome.php:477
311
  #: svn/tags/2.0.0-beta/better-font-awesome.php:402
312
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:402
313
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:402
314
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:402
315
+ #: svn/trunk/better-font-awesome.php:477
316
  msgid "Remove existing Font Awesome"
317
  msgstr ""
318
 
319
+ #: better-font-awesome.php:483 svn/tags/1.0.0/better-font-awesome.php:379
320
  #: svn/tags/1.0.1/better-font-awesome.php:379
321
  #: svn/tags/1.0.10/better-font-awesome.php:386
322
  #: svn/tags/1.0.2/better-font-awesome.php:379
347
  #: svn/tags/1.7.2/better-font-awesome.php:408
348
  #: svn/tags/1.7.3/better-font-awesome.php:464
349
  #: svn/tags/1.7.4/better-font-awesome.php:464
350
+ #: svn/tags/1.7.5/better-font-awesome.php:461
351
+ #: svn/tags/1.7.6/better-font-awesome.php:483
352
  #: svn/tags/2.0.0-beta/better-font-awesome.php:408
353
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:408
354
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:408
355
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:408
356
+ #: svn/trunk/better-font-awesome.php:483
357
  msgid ""
358
  "Attempt to remove Font Awesome CSS and shortcodes added by other plugins "
359
  "and themes."
360
  msgstr ""
361
 
362
+ #: better-font-awesome.php:489 svn/tags/1.0.10/better-font-awesome.php:392
363
  #: svn/tags/1.0.8/better-font-awesome.php:392
364
  #: svn/tags/1.0.9/better-font-awesome.php:392
365
  #: svn/tags/1.1.0/better-font-awesome.php:399
382
  #: svn/tags/1.7.2/better-font-awesome.php:414
383
  #: svn/tags/1.7.3/better-font-awesome.php:470
384
  #: svn/tags/1.7.4/better-font-awesome.php:470
385
+ #: svn/tags/1.7.5/better-font-awesome.php:467
386
+ #: svn/tags/1.7.6/better-font-awesome.php:489
387
  #: svn/tags/2.0.0-beta/better-font-awesome.php:414
388
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:414
389
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:414
390
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:414
391
+ #: svn/trunk/better-font-awesome.php:489
392
  msgid "Hide admin notices"
393
  msgstr ""
394
 
395
+ #: better-font-awesome.php:495 svn/tags/1.0.10/better-font-awesome.php:398
396
  #: svn/tags/1.0.8/better-font-awesome.php:398
397
  #: svn/tags/1.0.9/better-font-awesome.php:398
398
  #: svn/tags/1.1.0/better-font-awesome.php:405
415
  #: svn/tags/1.7.2/better-font-awesome.php:420
416
  #: svn/tags/1.7.3/better-font-awesome.php:476
417
  #: svn/tags/1.7.4/better-font-awesome.php:476
418
+ #: svn/tags/1.7.5/better-font-awesome.php:473
419
+ #: svn/tags/1.7.6/better-font-awesome.php:495
420
  #: svn/tags/2.0.0-beta/better-font-awesome.php:420
421
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:420
422
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:420
423
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:420
424
+ #: svn/trunk/better-font-awesome.php:495
425
  msgid ""
426
  "Hide the default admin warnings that are shown when API and CDN errors "
427
  "occur."
428
  msgstr ""
429
 
430
+ #: better-font-awesome.php:575 better-font-awesome.php:601
 
 
 
 
431
  #: svn/tags/1.0.0/better-font-awesome.php:396
432
  #: svn/tags/1.0.0/better-font-awesome.php:422
433
  #: svn/tags/1.0.1/better-font-awesome.php:396
490
  #: svn/tags/1.7.3/better-font-awesome.php:582
491
  #: svn/tags/1.7.4/better-font-awesome.php:556
492
  #: svn/tags/1.7.4/better-font-awesome.php:582
493
+ #: svn/tags/1.7.5/better-font-awesome.php:556
494
+ #: svn/tags/1.7.5/better-font-awesome.php:579
495
+ #: svn/tags/1.7.6/better-font-awesome.php:575
496
+ #: svn/tags/1.7.6/better-font-awesome.php:601
497
  #: svn/tags/2.0.0-beta/better-font-awesome.php:493
498
  #: svn/tags/2.0.0-beta/better-font-awesome.php:519
499
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:493
502
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:519
503
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:493
504
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:519
505
+ #: svn/trunk/better-font-awesome.php:575 svn/trunk/better-font-awesome.php:601
506
  msgid "Always Latest"
507
  msgstr ""
508
 
509
+ #: better-font-awesome.php:635 svn/tags/1.0.0/better-font-awesome.php:456
510
  #: svn/tags/1.0.1/better-font-awesome.php:456
511
  #: svn/tags/1.0.10/better-font-awesome.php:475
512
  #: svn/tags/1.0.2/better-font-awesome.php:456
537
  #: svn/tags/1.7.2/better-font-awesome.php:553
538
  #: svn/tags/1.7.3/better-font-awesome.php:616
539
  #: svn/tags/1.7.4/better-font-awesome.php:616
540
+ #: svn/tags/1.7.5/better-font-awesome.php:611
541
+ #: svn/tags/1.7.6/better-font-awesome.php:635
542
  #: svn/tags/2.0.0-beta/better-font-awesome.php:553
543
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:553
544
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:553
545
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:553
546
+ #: svn/trunk/better-font-awesome.php:635
547
  #. translators: string is the error code + message.
548
  msgid ""
549
  "Version selection is currently unavailable. The attempt to reach the "
550
  "jsDelivr API server failed with the following error: %s"
551
  msgstr ""
552
 
553
+ #: better-font-awesome.php:642 svn/tags/1.0.0/better-font-awesome.php:463
554
  #: svn/tags/1.0.1/better-font-awesome.php:463
555
  #: svn/tags/1.0.10/better-font-awesome.php:482
556
  #: svn/tags/1.0.2/better-font-awesome.php:463
581
  #: svn/tags/1.7.2/better-font-awesome.php:560
582
  #: svn/tags/1.7.3/better-font-awesome.php:623
583
  #: svn/tags/1.7.4/better-font-awesome.php:623
584
+ #: svn/tags/1.7.5/better-font-awesome.php:620
585
+ #: svn/tags/1.7.6/better-font-awesome.php:642
586
  #: svn/tags/2.0.0-beta/better-font-awesome.php:560
587
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:560
588
  #: svn/tags/2.0.0-beta2/better-font-awesome.php:560
589
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:560
590
+ #: svn/trunk/better-font-awesome.php:642
591
  #. translators: string is the fallback version of font awesome.
592
  msgid "Font Awesome will still render using version: %s"
593
  msgstr ""
594
 
595
+ #: better-font-awesome.php:649 svn/tags/1.0.0/better-font-awesome.php:470
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
596
  #: svn/tags/1.0.0/lib/better-font-awesome-library/better-font-awesome-library.php:1044
597
  #: svn/tags/1.0.1/better-font-awesome.php:470
598
  #: svn/tags/1.0.1/lib/better-font-awesome-library/better-font-awesome-library.php:1052
655
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
656
  #: svn/tags/1.7.4/better-font-awesome.php:630
657
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
658
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
659
+ #: svn/tags/1.7.6/better-font-awesome.php:649
660
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
661
  #: svn/tags/2.0.0-beta/better-font-awesome.php:567
662
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1312
663
  #: svn/tags/2.0.0-beta1/better-font-awesome.php:567
666
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1313
667
  #: svn/tags/2.0.0-beta3/better-font-awesome.php:567
668
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1317
669
+ #: svn/trunk/better-font-awesome.php:649
670
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
671
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1107
672
  msgid ""
673
  "This may be the result of a temporary server or connectivity issue which "
674
  "will resolve shortly. However if the problem persists please file a support "
675
  "ticket on the %splugin forum%s, citing the errors listed above. "
676
  msgstr ""
677
 
678
+ #: better-font-awesome.php:696 svn/tags/1.3.0/better-font-awesome.php:601
679
+ #: svn/tags/1.3.1/better-font-awesome.php:601
680
+ #: svn/tags/1.3.2/better-font-awesome.php:601
681
+ #: svn/tags/1.3.3/better-font-awesome.php:601
682
+ #: svn/tags/1.3.4/better-font-awesome.php:601
683
+ #: svn/tags/1.3.5/better-font-awesome.php:601
684
+ #: svn/tags/1.4.0/better-font-awesome.php:601
685
+ #: svn/tags/1.4.1/better-font-awesome.php:601
686
+ #: svn/tags/1.4.2/better-font-awesome.php:601
687
+ #: svn/tags/1.4.3/better-font-awesome.php:601
688
+ #: svn/tags/1.5.0/better-font-awesome.php:601
689
+ #: svn/tags/1.6.0/better-font-awesome.php:601
690
+ #: svn/tags/1.7.0/better-font-awesome.php:614
691
+ #: svn/tags/1.7.1/better-font-awesome.php:614
692
+ #: svn/tags/1.7.2/better-font-awesome.php:614
693
+ #: svn/tags/1.7.3/better-font-awesome.php:677
694
+ #: svn/tags/1.7.4/better-font-awesome.php:677
695
+ #: svn/tags/1.7.6/better-font-awesome.php:696
696
+ #: svn/tags/2.0.0-beta/better-font-awesome.php:614
697
+ #: svn/tags/2.0.0-beta1/better-font-awesome.php:614
698
+ #: svn/tags/2.0.0-beta2/better-font-awesome.php:614
699
+ #: svn/tags/2.0.0-beta3/better-font-awesome.php:614
700
+ #: svn/trunk/better-font-awesome.php:696
701
+ msgid ""
702
+ "<h3>Usage</h3>\n"
703
+ " <b>Font Awesome version 4.x "
704
+ "+</b>&nbsp;&nbsp;&nbsp;<small><a "
705
+ "href=\"http://fontawesome.io/examples/\">See all available options "
706
+ "&raquo;</a></small><br /><br />\n"
707
+ " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
708
+ "name=\"coffee\"]</code> or <code>&lt;i "
709
+ "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
710
+ " <i class=\"icon-coffee fa fa-coffee icon-2x "
711
+ "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or "
712
+ "<code>&lt;i class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
713
+ " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
714
+ "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
715
+ "class=\"fa-2x fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
716
+ "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
717
+ " <b>Font Awesome version "
718
+ "3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
719
+ "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
720
+ "&raquo;</a></small><br /><br />\n"
721
+ " <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
722
+ "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
723
+ "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
724
+ " <i class=\"icon-coffee fa fa-coffee icon-2x "
725
+ "fa-2x\"></i> <code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or "
726
+ "<code>&lt;i class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br "
727
+ "/><br />\n"
728
+ " <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x "
729
+ "icon-rotate-90 fa-rotate-90\"></i> <code>[icon name=\"coffee\" "
730
+ "class=\"icon-2x icon-rotate-90\"]</code> or <code>&lt;i class=\"icon "
731
+ "icon-coffee icon-2x icon-rotate-90\"&gt;&lt;/i&gt;</code>"
732
+ msgstr ""
733
+
734
+ #: svn/tags/1.0.0/better-font-awesome.php:217
735
+ #: svn/tags/1.0.1/better-font-awesome.php:217
736
+ #: svn/tags/1.0.10/better-font-awesome.php:218
737
+ #: svn/tags/1.0.2/better-font-awesome.php:217
738
+ #: svn/tags/1.0.3/better-font-awesome.php:217
739
+ #: svn/tags/1.0.4/better-font-awesome.php:217
740
+ #: svn/tags/1.0.5/better-font-awesome.php:217
741
+ #: svn/tags/1.0.6/better-font-awesome.php:217
742
+ #: svn/tags/1.0.7/better-font-awesome.php:217
743
+ #: svn/tags/1.0.8/better-font-awesome.php:218
744
+ #: svn/tags/1.0.9/better-font-awesome.php:218
745
+ #: svn/tags/1.1.0/better-font-awesome.php:222
746
+ #: svn/tags/1.2.0/better-font-awesome.php:222
747
+ #: svn/tags/1.2.1/better-font-awesome.php:224
748
+ #: svn/tags/1.3.0/better-font-awesome.php:224
749
+ #: svn/tags/1.3.1/better-font-awesome.php:224
750
+ #: svn/tags/1.3.2/better-font-awesome.php:224
751
+ #: svn/tags/1.3.3/better-font-awesome.php:224
752
+ #: svn/tags/1.3.4/better-font-awesome.php:224
753
+ #: svn/tags/1.3.5/better-font-awesome.php:224
754
+ #: svn/tags/1.4.0/better-font-awesome.php:224
755
+ #: svn/tags/1.4.1/better-font-awesome.php:224
756
+ #: svn/tags/1.4.2/better-font-awesome.php:224
757
+ #: svn/tags/1.4.3/better-font-awesome.php:224
758
+ #: svn/tags/1.5.0/better-font-awesome.php:224
759
+ #: svn/tags/1.6.0/better-font-awesome.php:224
760
+ msgid ""
761
+ "It appears that Better Font Awesome is missing it's <a "
762
+ "href=\"https://github.com/MickeyKay/better-font-awesome-library\" "
763
+ "target=\"_blank\">core library</a>, which typically occurs when cloning the "
764
+ "Git repository and not updating all submodules. Please refer to the "
765
+ "plugin's <a href=\"https://github.com/MickeyKay/better-font-awesome\" "
766
+ "target=\"_blank\">installation instructions</a> for details on how to "
767
+ "properly install Better Font Awesome via Git. If you installed from within "
768
+ "WordPress, or via the wordpress.org repo, then chances are the install "
769
+ "failed and you can try again. If the issue persists, please create a new "
770
+ "topic on the plugin's <a "
771
+ "href=\"http://wordpress.org/support/plugin/better-font-awesome\" "
772
+ "target=\"_blank\">support forum</a> or file an issue on the <a "
773
+ "href=\"https://github.com/MickeyKay/better-font-awesome/issues\" "
774
+ "target=\"_blank\">Github repo</a>."
775
+ msgstr ""
776
+
777
  #: svn/tags/1.0.0/better-font-awesome.php:517
778
  #: svn/tags/1.0.1/better-font-awesome.php:517
779
  #: svn/tags/1.0.10/better-font-awesome.php:536
852
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
853
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
854
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
855
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
856
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
857
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1282
858
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1282
859
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1283
860
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1287
861
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
862
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1077
863
  msgid "API Error"
864
  msgstr ""
865
 
895
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
896
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
897
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
898
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
899
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
900
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1284
901
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1284
902
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1285
903
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1289
904
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
905
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1079
906
  msgid ""
907
  "The attempt to reach the jsDelivr API server failed with the following "
908
  "error: %s"
940
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
941
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
942
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
943
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
944
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
945
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1294
946
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1294
947
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1295
948
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1299
949
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
950
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1089
951
  msgid "Remote CSS Error"
952
  msgstr ""
953
 
983
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
984
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
985
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
986
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
987
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
988
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1296
989
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1296
990
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1297
991
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1301
992
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
993
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1091
994
  msgid ""
995
  "The attempt to fetch the remote Font Awesome stylesheet failed with the "
996
  "following error: %s %s The embedded fallback Font Awesome will be used "
1029
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
1030
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
1031
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
1032
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
1033
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
1034
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1310
1035
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1310
1036
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1037
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1315
1038
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
1039
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1105
1040
  msgid "Solution"
1041
  msgstr ""
1042
 
1072
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1073
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1074
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1075
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1076
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1077
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1078
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1079
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:590
1080
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1084
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:524
1085
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:595
1086
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
1087
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:491
 
1088
  msgid "The jsDelivr API servers appear to be temporarily unavailable."
1089
  msgstr ""
1090
 
1119
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1120
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1121
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1122
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1123
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1124
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1306
1125
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1306
1126
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1307
1127
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1311
1128
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1129
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1101
1130
  msgid ""
1131
  "<b>Don't worry! Better Font Awesome will still render using the included "
1132
  "fallback version:</b> "
1133
  msgstr ""
1134
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1135
  #: svn/tags/1.3.0/lib/better-font-awesome-library/better-font-awesome-library.php:1031
1136
  #: svn/tags/1.3.1/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1137
  #: svn/tags/1.3.2/lib/better-font-awesome-library/better-font-awesome-library.php:1039
1150
  #: svn/tags/1.7.2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1151
  #: svn/tags/1.7.3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1152
  #: svn/tags/1.7.4/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1153
+ #: svn/tags/1.7.5/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1154
+ #: svn/tags/1.7.6/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1155
  #: svn/tags/2.0.0-beta/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1256
1156
  #: svn/tags/2.0.0-beta1/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1256
1157
  #: svn/tags/2.0.0-beta2/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1257
1158
  #: svn/tags/2.0.0-beta3/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1261
1159
  #: svn/trunk/vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1160
+ #: vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php:1051
1161
  msgid "Insert Icon"
1162
  msgstr ""
1163
 
1164
+ #: svn/tags/1.7.3/better-font-awesome.php:341
1165
+ #: svn/tags/1.7.4/better-font-awesome.php:341
1166
+ msgid "Dismiss this notice."
1167
+ msgstr ""
1168
+
1169
+ #: svn/tags/1.7.5/better-font-awesome.php:334
1170
+ #. translators: placeholders are the opening and closing <a> tags.
1171
  msgid ""
1172
+ "First of all, thanks so much for using the plugin! Second of all, "
1173
+ "%1$sBetter Font Awesome 2.0%2$s is <i>almost</i> ready for use! The new "
1174
+ "version adds a few major improvements, most notably support for Font "
1175
+ "Awesome 5 icons. Before publishing the update, it's important that we get "
1176
+ "plenty of user testing to validate that everything is working as expected, "
1177
+ "and we could really use your help."
1178
  msgstr ""
1179
 
1180
+ #: svn/tags/1.7.5/better-font-awesome.php:340
1181
+ #. translators: placeholders are the opening and closing <a> tags.
 
1182
  msgid ""
1183
  "If you are interested in helping us test the new update, please read the "
1184
+ "official %1$sblog post%2$s, which includes simple instructions for how to "
1185
+ "get involved. Thanks so much for you support"
1186
  msgstr ""
1187
 
1188
+ #: svn/tags/1.7.5/better-font-awesome.php:541
1189
+ msgid "Settings saved."
1190
+ msgstr ""
1191
+
1192
+ #: svn/tags/1.7.5/better-font-awesome.php:629
1193
+ #. translators: placeholders are the opening and closing <a> tags.
1194
+ msgid ""
1195
+ "This may be the result of a temporary server or connectivity issue which "
1196
+ "will resolve shortly. However if the problem persists please file a support "
1197
+ "ticket on the %1$splugin forum%2$s, citing the errors listed above. "
1198
+ msgstr ""
1199
+
1200
+ #: svn/tags/1.7.5/better-font-awesome.php:668
1201
+ msgid ""
1202
+ "<h3>Usage</h3>\n"
1203
+ "\t\t\t\t\t <b>Font Awesome version 4.x +</b>&nbsp;&nbsp;&nbsp;<small><a "
1204
+ "href=\"http://fontawesome.io/examples/\">See all available options "
1205
+ "&raquo;</a></small><br /><br />\n"
1206
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1207
+ "name=\"coffee\"]</code> or <code>&lt;i "
1208
+ "class=\"fa-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1209
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
1210
+ "<code>[icon name=\"coffee\" class=\"fa-2x\"]</code> or <code>&lt;i "
1211
+ "class=\"fa-coffee fa-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
1212
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
1213
+ "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"fa-2x "
1214
+ "fa-rotate-90\"]</code> or <code>&lt;i class=\"fa-coffee fa-2x "
1215
+ "fa-rotate-90\"&gt;&lt;/i&gt;</code><br /><br /><br />\n"
1216
+ "\t\t\t\t\t <b>Font Awesome version 3.x</b>&nbsp;&nbsp;&nbsp;<small><a "
1217
+ "href=\"http://fontawesome.io/3.2.1/examples/\">See all available options "
1218
+ "&raquo;</a></small><br /><br />\n"
1219
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee\"></i> <code>[icon "
1220
+ "name=\"coffee\"]</code> or <code>&lt;i class=\"icon "
1221
+ "icon-coffee\"&gt;&lt;/i&gt;</code><br /><br />\n"
1222
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x\"></i> "
1223
+ "<code>[icon name=\"coffee\" class=\"icon-2x\"]</code> or <code>&lt;i "
1224
+ "class=\"icon icon-coffee icon-2x\"&gt;&lt;/i&gt;</code><br /><br />\n"
1225
+ "\t\t\t\t\t <i class=\"icon-coffee fa fa-coffee icon-2x fa-2x icon-rotate-90 "
1226
+ "fa-rotate-90\"></i> <code>[icon name=\"coffee\" class=\"icon-2x "
1227
+ "icon-rotate-90\"]</code> or <code>&lt;i class=\"icon icon-coffee icon-2x "
1228
+ "icon-rotate-90\"&gt;&lt;/i&gt;</code>"
1229
  msgstr ""
1230
 
1231
  #. Plugin URI of the plugin/theme
readme.txt CHANGED
@@ -1,10 +1,10 @@
1
  === Better Font Awesome ===
2
- Contributors: McGuive7
3
  Tags: better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
4
  Donate link: https://mickeykay.me
5
  Requires at least: 3.0
6
- Tested up to: 5.6.1
7
- Stable tag: 1.7.5
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -12,6 +12,8 @@ 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.
@@ -101,9 +103,6 @@ Nope. Better Font Awesome automatically pulls in everything you need, and it doe
101
 
102
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings &rarr; Better Font Awesome**.
103
 
104
- == Contributing & Development ==
105
- Please see our [contributing guidelines](https://github.com/MickeyKay/better-font-awesome/blob/master/CONTRIBUTING.md) to get involved.
106
-
107
 
108
  == Screenshots ==
109
  1. The icon shortcode dropdown selector
@@ -112,7 +111,12 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
112
 
113
  == Changelog ==
114
 
 
 
 
 
115
  = 1.7.5 =
 
116
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
117
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
118
 
@@ -223,9 +227,41 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
223
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
224
  * Switch out bulky Titan Framework for native Settings API.
225
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
  == Upgrade Notice ==
227
 
 
 
 
 
228
  = 1.7.5 =
 
229
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
230
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
231
 
@@ -335,3 +371,29 @@ Please see our [contributing guidelines](https://github.com/MickeyKay/better-fon
335
  * Implement transients to minimize load time.
336
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
337
  * Switch out bulky Titan Framework for native Settings API.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  === Better Font Awesome ===
2
+ Contributors: McGuive7, aaronbmm, mightyminnow
3
  Tags: better, font, awesome, icon, icons, bootstrap, fontstrap, cdn, shortcode
4
  Donate link: https://mickeykay.me
5
  Requires at least: 3.0
6
+ Tested up to: 5.5
7
+ Stable tag: 1.7.4
8
  License: GPLv2+
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
12
 
13
  == Description ==
14
 
15
+ [![Build Status](https://travis-ci.org/MickeyKay/better-font-awesome.svg?branch=master)](https://travis-ci.org/MickeyKay/better-font-awesome)
16
+
17
  **Do you find this plugin helpful? Please consider [leaving a 5-star review](https://wordpress.org/support/view/plugin-reviews/better-font-awesome).**
18
 
19
  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.
103
 
104
  Better Font Awesome does it's best to load after any existing Font Awesome CSS, which can minimize conflicts. If you are experiencing any unexpected behavior resulting from plugin/theme conflicts, you can try checking the box to "Remove existing Font Awesome styles" in under **Settings &rarr; Better Font Awesome**.
105
 
 
 
 
106
 
107
  == Screenshots ==
108
  1. The icon shortcode dropdown selector
111
 
112
  == Changelog ==
113
 
114
+ = 1.7.6 =
115
+ * Fix: revert to 1.7.4 codebase.
116
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
117
+
118
  = 1.7.5 =
119
+ (BAD BUILD)
120
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
121
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
122
 
227
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
228
  * Switch out bulky Titan Framework for native Settings API.
229
 
230
+ = 0.9.6 =
231
+ * Fixed missing icon previews in WordPress 3.8 and below.
232
+
233
+ = 0.9.5 =
234
+ * Added ability to choose which CDN to use.
235
+ * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
236
+ * Updated prefixes to now return just the prefix without the dash (-).
237
+
238
+ = 0.9.4 =
239
+ * Switched default &nbsp; being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
240
+ * PLEASE NOTE: this will affect existing shortcodes.
241
+
242
+ = 0.9.3 =
243
+ * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
244
+ * Print JS variables in front-end to aid developers
245
+ * Create global $better_font_awesome object for developers to access
246
+
247
+ = 0.9.2 =
248
+ * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
249
+
250
+ = 0.9.1 =
251
+ * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
252
+
253
+ = 0.9.0 =
254
+ * First release!
255
+
256
+
257
  == Upgrade Notice ==
258
 
259
+ = 1.7.6 =
260
+ * Fix: revert to 1.7.4 codebase.
261
+ * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
262
+
263
  = 1.7.5 =
264
+ (BAD BUILD)
265
  * Fix: remove calls to `ready()` jQuery method to support latest jQuery versions.
266
  * Fix: update fontawesome-iconpicker dependency to repair broken icon select functionality.
267
 
371
  * Implement transients to minimize load time.
372
  * Implement improved fallback handling (transient &rarr; wp_remote_get() &rarr; locally included files)
373
  * Switch out bulky Titan Framework for native Settings API.
374
+
375
+ = 0.9.6 =
376
+ * Fixed missing icon previews in WordPress 3.8 and below.
377
+
378
+ = 0.9.5 =
379
+ * Added ability to choose which CDN to use.
380
+ * Added `unprefixed_class` shortcode attribute to allow for unprefixed shortcodes.
381
+ * Updated prefixes to now return just the prefix without the dash (-).
382
+
383
+ = 0.9.4 =
384
+ * Switched default &nbsp; being output. Now the default "space" attribute is false, and can be set to true to optionally include a space.
385
+ * PLEASE NOTE: this will affect existing shortcodes.
386
+
387
+ = 0.9.3 =
388
+ * Fixed admin-styles.css bug that was applying FontAwesome font-face outside TinyMCE
389
+ * Print JS variables in front-end to aid developers
390
+ * Create global $better_font_awesome object for developers to access
391
+
392
+ = 0.9.2 =
393
+ * Fixes issue of missing icon drop-down select menu in TinyMCE (adds compatibility for TinyMCE v4)
394
+
395
+ = 0.9.1 =
396
+ * Added fixes for older versions of PHP (Titan Framework not found, unexpected "[")
397
+
398
+ = 0.9.0 =
399
+ * First release!
vendor/mickey-kay/better-font-awesome-library/better-font-awesome-library.php CHANGED
@@ -45,29 +45,7 @@ class Better_Font_Awesome_Library {
45
  *
46
  * @var string
47
  */
48
- const JSDELIVR_API_URL = 'https://data.jsdelivr.com/v1/package/gh/FortAwesome/Font-Awesome';
49
-
50
- /**
51
- * jsDelivr API URL for Font Awesome icon metadata.
52
- *
53
- * Version 5+ only,
54
- *
55
- * @since 2.0.0
56
- *
57
- * @var string
58
- */
59
- const JSDELIVR_ICON_METADATA_BASE_URL = 'https://cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@';
60
-
61
- /**
62
- * jsDelivr API file path for Font Awesome icon metadata.
63
- *
64
- * Version 5+ only,
65
- *
66
- * @since 2.0.0
67
- *
68
- * @var string
69
- */
70
- const JSDELIVR_ICON_METADATA_FILE_PATH = '/advanced-options/metadata/icons.yml';
71
 
72
  /**
73
  * Initialization args.
@@ -143,6 +121,15 @@ class Better_Font_Awesome_Library {
143
  */
144
  private $stylesheet_url;
145
 
 
 
 
 
 
 
 
 
 
146
  /**
147
  * Data associated with the local fallback version of Font Awesome.
148
  *
@@ -244,9 +231,6 @@ class Better_Font_Awesome_Library {
244
  */
245
  public function load() {
246
 
247
- // Load dependencies.
248
- $this->load_depenencies();
249
-
250
  // Initialize library properties and actions as needed.
251
  $this->initialize( $this->args );
252
 
@@ -323,10 +307,6 @@ class Better_Font_Awesome_Library {
323
 
324
  }
325
 
326
- private function load_depenencies() {
327
- require_once __DIR__ . '/vendor/autoload.php';
328
- }
329
-
330
  /**
331
  * Do necessary initialization actions.
332
  *
@@ -458,7 +438,7 @@ class Better_Font_Awesome_Library {
458
  * @since 1.0.0
459
  */
460
  private function setup_api_data() {
461
- $this->api_data = $this->get_version_data();
462
  }
463
 
464
  /**
@@ -472,11 +452,9 @@ class Better_Font_Awesome_Library {
472
  * @return array|WP_ERROR Available CDN Font Awesome versions, or a
473
  * WP_ERROR if the fetch fails.
474
  */
475
- private function get_version_data() {
476
- $transient_suffix = '-version-data';
477
- $url = self::JSDELIVR_API_URL;
478
 
479
- if ( false === ( $response = get_transient( self::SLUG . $transient_suffix ) ) ) {
480
 
481
  $response = wp_remote_get( $url, $this->wp_remote_get_args );
482
 
@@ -484,12 +462,10 @@ class Better_Font_Awesome_Library {
484
 
485
  // Decode the API data and grab the versions info.
486
  $json_data = json_decode( wp_remote_retrieve_body( $response ) );
487
- $response = $json_data;
488
 
489
  /**
490
- * Deprecated.
491
- *
492
- * Preserved for legacy support.
493
  *
494
  * @since 1.0.0
495
  *
@@ -497,88 +473,8 @@ class Better_Font_Awesome_Library {
497
  */
498
  $transient_expiration = apply_filters( 'bfa_api_transient_expiration', 12 * HOUR_IN_SECONDS );
499
 
500
- /**
501
- * Filter API version data transient expiration.
502
- *
503
- * @since 2.0.0
504
- *
505
- * @param int Expiration for API version data.
506
- */
507
- $transient_expiration = apply_filters( 'bfa_api_version_data', $transient_expiration );
508
-
509
- // Set the API transient.
510
- set_transient( self::SLUG . $transient_suffix, $response, $transient_expiration );
511
-
512
- } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
513
-
514
- $this->set_error( 'api', $response->get_error_code(), $response->get_error_message() . " (URL: $url)" );
515
- $response = '';
516
-
517
- } elseif ( isset( $response['response'] ) ) { // Check for 404 and other non-WP_ERROR codes
518
-
519
- $this->set_error( 'api', $response['response']['code'], $response['response']['message'] . " (URL: $url)" );
520
- $response = '';
521
-
522
- } else { // Total failsafe
523
-
524
- $this->set_error( 'api', 'Unknown', __( 'The jsDelivr API servers appear to be temporarily unavailable.', 'better-font-awesome' ) . " (URL: $url)" );
525
- $response = '';
526
-
527
- }
528
-
529
- }
530
-
531
- return $response;
532
-
533
- }
534
-
535
- /**
536
- * Fetch the jsDelivr API data.
537
- *
538
- * First check to see if the transient is set for this version's metadata,
539
- * and if not use the jsDelivr API to retrieve all available versions of
540
- * Font Awesome.
541
- *
542
- * @since 2.0.0
543
- *
544
- * @return array Icon metadata, keyed by icon slug.
545
- */
546
- private function get_icons_metadata() {
547
- $transient_suffix = '-icons-metadata';
548
- $version = $this->get_version();
549
- $transient_slug = self::SLUG . "${transient_suffix}_version-${version}";
550
-
551
- $url = self::JSDELIVR_ICON_METADATA_BASE_URL . $version . self::JSDELIVR_ICON_METADATA_FILE_PATH;
552
-
553
- if ( false === ( $response = get_transient( $transient_slug ) ) ) {
554
-
555
- $response = wp_remote_get( $url, $this->wp_remote_get_args );
556
-
557
- if ( 200 == wp_remote_retrieve_response_code( $response ) ) {
558
-
559
- // Decode the API data and grab the versions info.
560
- $yaml_data = wp_remote_retrieve_body( $response );
561
-
562
- $response = spyc_load( $yaml_data );
563
-
564
- // Short-circuit if something is wrong with parsing.
565
- if ( empty( $response ) ) {
566
- return '';
567
- }
568
-
569
- /**
570
- * Filter icon metadata transient expiration.
571
- *
572
- * This can be very long since versioned icon data should never change.
573
- *
574
- * @since 2.0.0
575
- *
576
- * @param int Expiration for icon metadata.
577
- */
578
- $transient_expiration = apply_filters( 'bfa_icons_metadata', YEAR_IN_SECONDS );
579
-
580
  // Set the API transient.
581
- set_transient( $transient_slug, $response, $transient_expiration );
582
 
583
  } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
584
 
@@ -630,8 +526,7 @@ class Better_Font_Awesome_Library {
630
  private function get_latest_version() {
631
 
632
  if ( $this->api_data_exists() ) {
633
- $versions = $this->get_api_value( 'versions' );
634
- return $versions[0];
635
  } else {
636
  return $this->guess_latest_version();
637
  }
@@ -689,11 +584,7 @@ class Better_Font_Awesome_Library {
689
  * @param string $version Version of Font Awesome to use.
690
  */
691
  private function set_stylesheet_url( $version ) {
692
- if ( version_compare( $version, '5.0.0', '>=' ) ) {
693
- $this->stylesheet_url = '//cdn.jsdelivr.net/gh/FortAwesome/Font-Awesome@' . $version . '/web-fonts-with-css/css/fontawesome-all' . $this->get_min_suffix() . '.css';
694
- } else {
695
- $this->stylesheet_url = '//cdn.jsdelivr.net/fontawesome/' . $version . '/css/font-awesome' . $this->get_min_suffix() . '.css';
696
- }
697
  }
698
 
699
  /**
@@ -703,11 +594,15 @@ class Better_Font_Awesome_Library {
703
  */
704
  private function setup_stylesheet_data() {
705
 
 
 
 
 
 
 
706
  // Set up prefix based on version ('fa' or 'icon').
707
- $this->prefix = $this->derive_prefix( $this->font_awesome_version );
708
 
709
- // Get the list of available icons.
710
- $this->icons = $this->get_icon_array();
711
  }
712
 
713
  /**
@@ -866,86 +761,36 @@ class Better_Font_Awesome_Library {
866
  return $this->get_local_file_contents( $this->fallback_data['path'] );
867
  }
868
 
869
- private function get_icon_array_version_5() {
870
-
871
- $icons_metadata = $this->get_icons_metadata();
872
- $icons = array();
873
-
874
- // Add style prefixes.
875
- foreach ( $icons_metadata as $slug => $metadata ) {
876
- $search_terms = array_map( function( $term ) {
877
- return $term;
878
- }, $metadata['search']['terms'] );
879
-
880
- foreach ( $metadata['styles'] as $style ) {
881
- $icons[] = array(
882
- 'title' => "{$metadata['label']} ({$style})",
883
- 'slug' => $slug,
884
- 'style' => $style,
885
- 'base_class' => $this->get_icon_base_class( $slug, $style ),
886
- 'searchTerms' => $search_terms,
887
- );
888
- }
889
- }
890
-
891
- return $icons;
892
- }
893
-
894
- private function get_icon_array_version_pre_5() {
895
 
896
  $icons = array();
897
  $hex_codes = array();
898
 
899
- $css = $this->get_css( $this->stylesheet_url, $this->font_awesome_version );
900
-
901
  /**
902
  * Get all CSS selectors that have a "content:" pseudo-element rule,
903
  * as well as all associated hex codes.
904
  */
905
  preg_match_all( '/\.(icon-|fa-)([^,}]*)\s*:before\s*{\s*(content:)\s*"(\\\\[^"]+)"/s', $css, $matches );
906
-
907
- $icon_slugs = $matches[2];
908
  $hex_codes = $matches[4];
909
 
910
- foreach ( $icon_slugs as $index => $slug ) {
911
- $icons[] = array(
912
- 'title' => $slug,
913
- 'slug' => $slug,
914
- 'base_class' => $this->get_icon_base_class( $slug ),
915
- 'searchTerms' => $slug,
916
- );
917
-
918
- }
919
-
920
- // Alphabetize the icons array by icon slug.
921
- uasort( $icons, function( $icon1, $icon2 ) {
922
- return strcmp( $icon1['slug'], $icon2['slug'] );
923
- });
924
-
925
- return array_values( $icons );
926
- }
927
-
928
- /**
929
- * Get array of icons for the current version.
930
- *
931
- * @since 1.0.0
932
- *
933
- * @param string CSS for the current version of FA (only used pre-v5)
934
- *
935
- * @return array All available icon names (e.g. adjust, car, pencil).
936
- */
937
- private function get_icon_array() {
938
-
939
- $icons = array();
940
 
941
- if ( version_compare( $this->get_version(), '5.0.0', '>=' ) ) {
942
- $icons = $this->get_icon_array_version_5();
943
- } else {
944
- $icons = $this->get_icon_array_version_pre_5();
945
- }
946
 
947
  /**
948
- * [DEPRECATED] Filter the array of available icons.
949
  *
950
  * @since 1.0.0
951
  *
@@ -953,16 +798,8 @@ class Better_Font_Awesome_Library {
953
  */
954
  $icons = apply_filters( 'bfa_icon_list', $icons );
955
 
956
- /**
957
- * Filter the array of available icons.
958
- *
959
- * @since 2.0.0
960
- *
961
- * @param array $icons Array of all available icons.
962
- */
963
- $icons = apply_filters( 'bfa_icon_array', $icons );
964
-
965
  return $icons;
 
966
  }
967
 
968
  /**
@@ -974,9 +811,9 @@ class Better_Font_Awesome_Library {
974
  *
975
  * @return string $prefix 'fa' or 'icon', depending on the version.
976
  */
977
- private function derive_prefix( $version ) {
978
 
979
- if ( version_compare( $this->get_version(), 4, '>=' ) ) {
980
  $prefix = 'fa';
981
  } else {
982
  $prefix = 'icon';
@@ -1036,7 +873,41 @@ class Better_Font_Awesome_Library {
1036
  add_shortcode( 'icon', array( $this, 'render_shortcode' ) );
1037
  }
1038
 
1039
- public function sanitize_shortcode_name_att( $name ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1040
  /**
1041
  * Strip 'icon-' and 'fa-' from the BEGINNING of $name.
1042
  *
@@ -1053,11 +924,10 @@ class Better_Font_Awesome_Library {
1053
 
1054
  }
1055
 
1056
- return $name;
1057
- }
1058
 
1059
- public function sanitize_shortcode_class_att( $class ) {
1060
- $prefix = $this->get_prefix();
1061
 
1062
  // Remove "icon-" and "fa-" from the icon class.
1063
  $class = str_replace( 'icon-', '', $class );
@@ -1068,79 +938,23 @@ class Better_Font_Awesome_Library {
1068
  $class = preg_replace( '/\s{3,}/', ' ', $class );
1069
 
1070
  // Add the version-specific prefix back on to each class.
1071
- $class_array = array_filter( explode( ' ', $class ) );
1072
-
1073
  foreach ( $class_array as $index => $class ) {
1074
- $class_array[ $index ] = $prefix ? $prefix . '-' . $class : $class;
1075
- }
1076
-
1077
- return implode( ' ', $class_array );
1078
- }
1079
-
1080
- /**
1081
- * Render [icon] shortcode.
1082
- *
1083
- * Usage:
1084
- * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
1085
- *
1086
- * @param array $atts Shortcode attributes.
1087
- * @return string $output Icon HTML (e.g. <i class="fa fa-car"></i>).
1088
- */
1089
- public function render_shortcode( $atts ) {
1090
-
1091
- extract( shortcode_atts( array(
1092
- 'name' => '',
1093
- 'class' => '',
1094
- 'unprefixed_class' => '',
1095
- 'title' => '', /* For compatibility with other plugins */
1096
- 'size' => '', /* For compatibility with other plugins */
1097
- 'space' => '',
1098
- 'style' => '', /* Style category */
1099
- ), $atts ));
1100
-
1101
- $icon = $this->get_icon_by_slug( $name );
1102
-
1103
- // Maybe this is an old icon that needs an updated alias.
1104
- if ( ! $icon ) {
1105
- require_once __DIR__ . '/inc/icon-updater.php';
1106
- $name = bfa_get_updated_icon_slug( $name );
1107
-
1108
- if ( ! $name ) {
1109
- return '';
1110
- }
1111
  }
 
1112
 
1113
- $prefix = $this->get_prefix();
1114
- $classes = array();
1115
-
1116
- /**
1117
- * Include for backwards compatibility with Font Awesome More Icons plugin.
1118
- *
1119
- * @see https://wordpress.org/plugins/font-awesome-more-icons/
1120
- */
1121
- $title = $title ? 'title="' . $title . '" ' : '';
1122
- $space = 'true' == $space ? '&nbsp;' : '';
1123
- $size = $size ? ' '. $prefix . '-' . $size : '';
1124
-
1125
- // Santize name.
1126
- $name = $this->sanitize_shortcode_name_att( $name );
1127
-
1128
- // Generate classes array.
1129
- $icon = $this->get_icon_by_slug( $name );
1130
- $classes[] = $icon['base_class'];
1131
- $classes[] = $this->sanitize_shortcode_class_att( $class );
1132
- $classes[] = $unprefixed_class;
1133
-
1134
- $class_string = implode( ' ', array_filter( $classes ) );
1135
 
1136
  /**
1137
  * Filter the icon class.
1138
  *
1139
  * @since 1.0.0
1140
  *
1141
- * @param string $class_string Classes attached to the icon.
1142
  */
1143
- $class_string = apply_filters( 'bfa_icon_class', $class_string, $name );
1144
 
1145
  /**
1146
  * Filter the default <i> icon tag.
@@ -1152,9 +966,11 @@ class Better_Font_Awesome_Library {
1152
  $tag = apply_filters( 'bfa_icon_tag', 'i' );
1153
 
1154
  // Generate the HTML <i> icon element output.
1155
- $output = sprintf( '<%s class="%s %s" %s>%s</%s>',
1156
  $tag,
1157
- $class_string,
 
 
1158
  $size,
1159
  $title,
1160
  $space,
@@ -1172,32 +988,6 @@ class Better_Font_Awesome_Library {
1172
 
1173
  }
1174
 
1175
- public function get_icon_base_class( $slug, $style = '' ) {
1176
- return "{$this->get_icon_style_class( $style )} {$this->get_prefix()}-{$slug}";
1177
- }
1178
-
1179
- private function get_icon_style_class( $style = '' ) {
1180
-
1181
- if ( version_compare( $this->get_version(), 5, '>=' ) ) {
1182
- switch ( $style ) {
1183
- case 'brands':
1184
- return 'fab';
1185
-
1186
- case 'solid':
1187
- return 'fas';
1188
-
1189
- case 'light':
1190
- return 'fal';
1191
-
1192
- case 'regular':
1193
- default:
1194
- return 'far';
1195
- }
1196
- } else {
1197
- return $this->get_prefix();
1198
- }
1199
- }
1200
-
1201
  /**
1202
  * Register and enqueue Font Awesome CSS.
1203
  */
@@ -1505,13 +1295,5 @@ class Better_Font_Awesome_Library {
1505
  return $this->errors;
1506
  }
1507
 
1508
- public function get_icon_by_slug( $slug ) {
1509
- foreach ( $this->get_icons() as $icon ) {
1510
- if ( $slug === $icon['slug'] ) {
1511
- return $icon;
1512
- }
1513
- }
1514
- }
1515
-
1516
  }
1517
  endif;
45
  *
46
  * @var string
47
  */
48
+ const JSDELIVR_API_URL = 'http://api.jsdelivr.com/v1/jsdelivr/libraries/fontawesome/?fields=versions,lastversion';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
49
 
50
  /**
51
  * Initialization args.
121
  */
122
  private $stylesheet_url;
123
 
124
+ /**
125
+ * Font Awesome CSS.
126
+ *
127
+ * @since 1.0.0
128
+ *
129
+ * @var string
130
+ */
131
+ private $css;
132
+
133
  /**
134
  * Data associated with the local fallback version of Font Awesome.
135
  *
231
  */
232
  public function load() {
233
 
 
 
 
234
  // Initialize library properties and actions as needed.
235
  $this->initialize( $this->args );
236
 
307
 
308
  }
309
 
 
 
 
 
310
  /**
311
  * Do necessary initialization actions.
312
  *
438
  * @since 1.0.0
439
  */
440
  private function setup_api_data() {
441
+ $this->api_data = $this->fetch_api_data( self::JSDELIVR_API_URL );
442
  }
443
 
444
  /**
452
  * @return array|WP_ERROR Available CDN Font Awesome versions, or a
453
  * WP_ERROR if the fetch fails.
454
  */
455
+ private function fetch_api_data( $url ) {
 
 
456
 
457
+ if ( false === ( $response = get_transient( self::SLUG . '-api-versions' ) ) ) {
458
 
459
  $response = wp_remote_get( $url, $this->wp_remote_get_args );
460
 
462
 
463
  // Decode the API data and grab the versions info.
464
  $json_data = json_decode( wp_remote_retrieve_body( $response ) );
465
+ $response = $json_data[0];
466
 
467
  /**
468
+ * Filter the API transient expiration.
 
 
469
  *
470
  * @since 1.0.0
471
  *
473
  */
474
  $transient_expiration = apply_filters( 'bfa_api_transient_expiration', 12 * HOUR_IN_SECONDS );
475
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
476
  // Set the API transient.
477
+ set_transient( self::SLUG . '-api-versions', $response, $transient_expiration );
478
 
479
  } elseif ( is_wp_error( $response ) ) { // Check for faulty wp_remote_get()
480
 
526
  private function get_latest_version() {
527
 
528
  if ( $this->api_data_exists() ) {
529
+ return $this->get_api_value( 'lastversion' );
 
530
  } else {
531
  return $this->guess_latest_version();
532
  }
584
  * @param string $version Version of Font Awesome to use.
585
  */
586
  private function set_stylesheet_url( $version ) {
587
+ $this->stylesheet_url = '//cdn.jsdelivr.net/fontawesome/' . $version . '/css/font-awesome' . $this->get_min_suffix() . '.css';
 
 
 
 
588
  }
589
 
590
  /**
594
  */
595
  private function setup_stylesheet_data() {
596
 
597
+ // Get the Font Awesome CSS.
598
+ $this->css = $this->get_css( $this->stylesheet_url, $this->font_awesome_version );
599
+
600
+ // Get the list of available icons from the Font Awesome CSS.
601
+ $this->icons = $this->setup_icon_array( $this->css );
602
+
603
  // Set up prefix based on version ('fa' or 'icon').
604
+ $this->prefix = $this->setup_prefix( $this->font_awesome_version );
605
 
 
 
606
  }
607
 
608
  /**
761
  return $this->get_local_file_contents( $this->fallback_data['path'] );
762
  }
763
 
764
+ /**
765
+ * Get array of icons from the Font Awesome CSS.
766
+ *
767
+ * @since 1.0.0
768
+ *
769
+ * @param string $css The Font Awesome CSS.
770
+ *
771
+ * @return array All available icon names (e.g. adjust, car, pencil).
772
+ */
773
+ private function setup_icon_array( $css ) {
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
774
 
775
  $icons = array();
776
  $hex_codes = array();
777
 
 
 
778
  /**
779
  * Get all CSS selectors that have a "content:" pseudo-element rule,
780
  * as well as all associated hex codes.
781
  */
782
  preg_match_all( '/\.(icon-|fa-)([^,}]*)\s*:before\s*{\s*(content:)\s*"(\\\\[^"]+)"/s', $css, $matches );
783
+ $icons = $matches[2];
 
784
  $hex_codes = $matches[4];
785
 
786
+ // Add hex codes as icon array index.
787
+ $icons = array_combine( $hex_codes, $icons );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
788
 
789
+ // Alphabetize the icons array by icon name.
790
+ asort( $icons );
 
 
 
791
 
792
  /**
793
+ * Filter the array of available icons.
794
  *
795
  * @since 1.0.0
796
  *
798
  */
799
  $icons = apply_filters( 'bfa_icon_list', $icons );
800
 
 
 
 
 
 
 
 
 
 
801
  return $icons;
802
+
803
  }
804
 
805
  /**
811
  *
812
  * @return string $prefix 'fa' or 'icon', depending on the version.
813
  */
814
+ private function setup_prefix( $version ) {
815
 
816
+ if ( 0 <= version_compare( $version, '4' ) ) {
817
  $prefix = 'fa';
818
  } else {
819
  $prefix = 'icon';
873
  add_shortcode( 'icon', array( $this, 'render_shortcode' ) );
874
  }
875
 
876
+ /**
877
+ * Render [icon] shortcode.
878
+ *
879
+ * Usage:
880
+ * [icon name="flag" class="fw 2x spin" unprefixed_class="custom_class"]
881
+ *
882
+ * @param array $atts Shortcode attributes.
883
+ * @return string $output Icon HTML (e.g. <i class="fa fa-car"></i>).
884
+ */
885
+ public function render_shortcode( $atts ) {
886
+
887
+ extract( shortcode_atts( array(
888
+ 'name' => '',
889
+ 'class' => '',
890
+ 'unprefixed_class' => '',
891
+ 'title' => '', /* For compatibility with other plugins */
892
+ 'size' => '', /* For compatibility with other plugins */
893
+ 'space' => '',
894
+ ), $atts )
895
+ );
896
+
897
+ /**
898
+ * Include for backwards compatibility with Font Awesome More Icons plugin.
899
+ *
900
+ * @see https://wordpress.org/plugins/font-awesome-more-icons/
901
+ */
902
+ $title = $title ? 'title="' . $title . '" ' : '';
903
+ $space = 'true' == $space ? '&nbsp;' : '';
904
+ $size = $size ? ' '. $this->prefix . '-' . $size : '';
905
+
906
+ // Remove "icon-" and "fa-" from name
907
+ // This helps both:
908
+ // 1. Incorrect shortcodes (when user includes full class name including prefix)
909
+ // 2. Old shortcodes from other plugins that required prefixes
910
+
911
  /**
912
  * Strip 'icon-' and 'fa-' from the BEGINNING of $name.
913
  *
924
 
925
  }
926
 
927
+ $name = str_replace( 'fa-', '', $name );
 
928
 
929
+ // Add the version-specific prefix back on to $name, if it exists.
930
+ $icon_name = $this->prefix ? $this->prefix . '-' . $name : $name;
931
 
932
  // Remove "icon-" and "fa-" from the icon class.
933
  $class = str_replace( 'icon-', '', $class );
938
  $class = preg_replace( '/\s{3,}/', ' ', $class );
939
 
940
  // Add the version-specific prefix back on to each class.
941
+ $class_array = explode( ' ', $class );
 
942
  foreach ( $class_array as $index => $class ) {
943
+ $class_array[ $index ] = $this->prefix ? $this->prefix . '-' . $class : $class;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
944
  }
945
+ $class = implode( ' ', $class_array );
946
 
947
+ // Add unprefixed classes.
948
+ $class .= $unprefixed_class ? ' ' . $unprefixed_class : '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
949
 
950
  /**
951
  * Filter the icon class.
952
  *
953
  * @since 1.0.0
954
  *
955
+ * @param string $class Classes attached to the icon.
956
  */
957
+ $class = apply_filters( 'bfa_icon_class', $class, $name );
958
 
959
  /**
960
  * Filter the default <i> icon tag.
966
  $tag = apply_filters( 'bfa_icon_tag', 'i' );
967
 
968
  // Generate the HTML <i> icon element output.
969
+ $output = sprintf( '<%s class="%s %s %s %s" %s>%s</%s>',
970
  $tag,
971
+ $this->prefix,
972
+ $icon_name,
973
+ $class,
974
  $size,
975
  $title,
976
  $space,
988
 
989
  }
990
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
991
  /**
992
  * Register and enqueue Font Awesome CSS.
993
  */
1295
  return $this->errors;
1296
  }
1297
 
 
 
 
 
 
 
 
 
1298
  }
1299
  endif;
vendor/mickey-kay/better-font-awesome-library/composer.json CHANGED
@@ -1,8 +1,5 @@
1
  {
2
  "name": "mickey-kay/better-font-awesome-library",
3
  "description": "Better Font Awesome Library for PHP",
4
- "license": "GPL-2.0",
5
- "require": {
6
- "mustangostang/spyc": "^0.6.2"
7
- }
8
- }
1
  {
2
  "name": "mickey-kay/better-font-awesome-library",
3
  "description": "Better Font Awesome Library for PHP",
4
+ "license": "GPL-2.0"
5
+ }
 
 
 
vendor/mickey-kay/better-font-awesome-library/composer.lock CHANGED
@@ -1,23 +1,23 @@
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
- "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
5
  "This file is @generated automatically"
6
  ],
7
  "content-hash": "2af966f91fba481aec1dcf6e1531d0f0",
8
  "packages": [
9
  {
10
  "name": "mustangostang/spyc",
11
- "version": "0.6.3",
12
  "source": {
13
  "type": "git",
14
- "url": "git@github.com:mustangostang/spyc.git",
15
- "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
16
  },
17
  "dist": {
18
  "type": "zip",
19
- "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0",
20
- "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0",
21
  "shasum": ""
22
  },
23
  "require": {
@@ -54,7 +54,7 @@
54
  "yaml",
55
  "yml"
56
  ],
57
- "time": "2019-09-10T13:16:29+00:00"
58
  }
59
  ],
60
  "packages-dev": [],
@@ -64,6 +64,5 @@
64
  "prefer-stable": false,
65
  "prefer-lowest": false,
66
  "platform": [],
67
- "platform-dev": [],
68
- "plugin-api-version": "1.1.0"
69
  }
1
  {
2
  "_readme": [
3
  "This file locks the dependencies of your project to a known state",
4
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
5
  "This file is @generated automatically"
6
  ],
7
  "content-hash": "2af966f91fba481aec1dcf6e1531d0f0",
8
  "packages": [
9
  {
10
  "name": "mustangostang/spyc",
11
+ "version": "0.6.2",
12
  "source": {
13
  "type": "git",
14
+ "url": "https://github.com/mustangostang/spyc.git",
15
+ "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d"
16
  },
17
  "dist": {
18
  "type": "zip",
19
+ "url": "https://api.github.com/repos/mustangostang/spyc/zipball/23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
20
+ "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
21
  "shasum": ""
22
  },
23
  "require": {
54
  "yaml",
55
  "yml"
56
  ],
57
+ "time": "2017-02-24T16:06:33+00:00"
58
  }
59
  ],
60
  "packages-dev": [],
64
  "prefer-stable": false,
65
  "prefer-lowest": false,
66
  "platform": [],
67
+ "platform-dev": []
 
68
  }
vendor/mickey-kay/better-font-awesome-library/js/admin.js CHANGED
@@ -8,61 +8,45 @@
8
 
9
  ( function( $ ) {
10
 
11
- var icons = Object.values( bfa_vars.fa_icons );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
 
13
- function get_icon_by_title( title ) {
14
- return icons.find( function( icon ) {
15
- return icon.title == title;
16
  });
17
- }
18
 
19
- function icon_shortcode( icon ) {
20
- var icon_style_string = icon.style ? ' style="' + icon.style + '"' : '';
21
- return '[icon name="' + icon.slug + '"' + icon_style_string + ' class="" unprefixed_class=""]';
22
- }
23
-
24
- $( function() {
25
-
26
- $( 'body' ).on( 'mousedown', '.bfa-iconpicker', function(e) { // Use mousedown even to allow for triggering click later without infinite looping.
27
-
28
- e.preventDefault();
29
-
30
- $( this ).not( ' .initialized' )
31
- .addClass( 'initialized' )
32
- .iconpicker({
33
- placement: 'bottomLeft',
34
- hideOnSelect: true,
35
- animation: false,
36
- selectedCustomClass: 'selected',
37
- icons: icons,
38
- fullClassFormatter: function( icon_title ) {
39
- var classes = [];
40
- var icon = get_icon_by_title( icon_title );
41
-
42
- return icon.base_class;
43
- },
44
- })
45
- .find( '.iconpicker-item' ).each( function() {
46
- var $item = $( this );
47
- var title = $item.attr( 'title' ).replace( '.', '' );
48
-
49
- $item.attr( 'title', title );
50
- });
51
-
52
- $( this ).trigger( 'click' );
53
-
54
- })
55
- .on( 'click', '.bfa-iconpicker', function(e) {
56
- e.preventDefault(); // Prevent scrolling to top.
57
- $( this ).find( '.iconpicker-search' ).focus();
58
- });
59
-
60
- // Set up icon insertion functionality.
61
- $( '.bfa-iconpicker' ).on( 'iconpickerSelected', function( e ) {
62
- var icon_title = e.iconpickerItem.title.replace( '.', '' );
63
- var icon = get_icon_by_title( icon_title );
64
- wp.media.editor.insert( icon_shortcode( icon ) );
65
- });
66
- });
67
 
68
  } )( jQuery );
8
 
9
  ( function( $ ) {
10
 
11
+ $( document ).on( 'ready ', function() {
12
+
13
+ $( 'body' ).on( 'mousedown', '.bfa-iconpicker', function(e) { // Use mousedown even to allow for triggering click later without infinite looping.
14
+
15
+ e.preventDefault();
16
+
17
+ $( this ).not( ' .initialized' )
18
+ .addClass( 'initialized' )
19
+ .iconpicker({
20
+ placement: 'bottomLeft',
21
+ hideOnSelect: true,
22
+ animation: false,
23
+ selectedCustomClass: 'selected',
24
+ icons: bfa_vars.fa_icons,
25
+ fullClassFormatter: function( val ) {
26
+ if ( bfa_vars.fa_prefix ) {
27
+ return bfa_vars.fa_prefix + ' ' + bfa_vars.fa_prefix + '-' + val;
28
+ } else {
29
+ return val;
30
+ }
31
+ },
32
+ });
33
+
34
+ $( this ).trigger( 'click' );
35
+
36
+ })
37
+ .on( 'click', '.bfa-iconpicker', function(e) {
38
+ $( this ).find( '.iconpicker-search' ).focus();
39
+ });
40
+
41
+ // Set up icon insertion functionality.
42
+ $( document ).on( 'iconpickerSelected', function( e ) {
43
+ wp.media.editor.insert( icon_shortcode( e.iconpickerItem.title.replace( '.', '' ) ) );
44
+ });
45
 
 
 
 
46
  });
 
47
 
48
+ function icon_shortcode( icon ) {
49
+ return '[icon name="' + icon + '" class="" unprefixed_class=""]';
50
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
51
 
52
  } )( jQuery );
vendor/mickey-kay/better-font-awesome-library/lib/font-awesome/package.json CHANGED
@@ -1,75 +1,44 @@
1
  {
2
- "_from": "font-awesome@4.7.0",
3
- "_id": "font-awesome@4.7.0",
4
- "_inBundle": false,
5
- "_integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM=",
6
- "_location": "/font-awesome",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "version",
10
- "registry": true,
11
- "raw": "font-awesome@4.7.0",
12
- "name": "font-awesome",
13
- "escapedName": "font-awesome",
14
- "rawSpec": "4.7.0",
15
- "saveSpec": null,
16
- "fetchSpec": "4.7.0"
17
  },
18
- "_requiredBy": [
19
- "#DEV:/"
20
- ],
21
- "_resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
22
- "_shasum": "8fa8cf0411a1a31afd07b06d2902bb9fc815a133",
23
- "_spec": "font-awesome@4.7.0",
24
- "_where": "/Users/mickey/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/better-font-awesome/vendor/mickey-kay/better-font-awesome-library",
25
  "author": {
26
  "name": "Dave Gandy",
27
  "email": "dave@fontawesome.io",
28
- "url": "http://twitter.com/davegandy"
29
  },
30
- "bugs": {
31
- "url": "http://github.com/FortAwesome/Font-Awesome/issues"
 
32
  },
33
- "bundleDependencies": false,
34
  "contributors": [
35
  {
36
  "name": "Brian Talbot",
37
- "url": "http://twitter.com/talbs"
38
  },
39
  {
40
  "name": "Travis Chase",
41
- "url": "http://twitter.com/supercodepoet"
42
  },
43
  {
44
  "name": "Rob Madole",
45
- "url": "http://twitter.com/robmadole"
46
  },
47
  {
48
  "name": "Geremia Taglialatela",
49
- "url": "http://twitter.com/gtagliala"
50
  }
51
  ],
52
- "dependencies": {},
53
- "deprecated": false,
54
- "description": "The iconic font and CSS framework",
55
- "engines": {
56
- "node": ">=0.10.3"
57
- },
58
- "homepage": "http://fontawesome.io/",
59
- "keywords": [
60
- "font",
61
- "awesome",
62
- "fontawesome",
63
- "icon",
64
- "font",
65
- "bootstrap"
66
- ],
67
  "license": "(OFL-1.1 AND MIT)",
68
- "name": "font-awesome",
69
- "repository": {
70
- "type": "git",
71
- "url": "git+https://github.com/FortAwesome/Font-Awesome.git"
72
  },
73
- "style": "css/font-awesome.css",
74
- "version": "4.7.0"
 
75
  }
1
  {
2
+ "name": "font-awesome",
3
+ "description": "The iconic font and CSS framework",
4
+ "version": "4.7.0",
5
+ "style": "css/font-awesome.css",
6
+ "keywords": ["font", "awesome", "fontawesome", "icon", "font", "bootstrap"],
7
+ "homepage": "http://fontawesome.io/",
8
+ "bugs": {
9
+ "url" : "http://github.com/FortAwesome/Font-Awesome/issues"
 
 
 
 
 
 
 
10
  },
 
 
 
 
 
 
 
11
  "author": {
12
  "name": "Dave Gandy",
13
  "email": "dave@fontawesome.io",
14
+ "web": "http://twitter.com/davegandy"
15
  },
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "https://github.com/FortAwesome/Font-Awesome.git"
19
  },
 
20
  "contributors": [
21
  {
22
  "name": "Brian Talbot",
23
+ "web": "http://twitter.com/talbs"
24
  },
25
  {
26
  "name": "Travis Chase",
27
+ "web": "http://twitter.com/supercodepoet"
28
  },
29
  {
30
  "name": "Rob Madole",
31
+ "web": "http://twitter.com/robmadole"
32
  },
33
  {
34
  "name": "Geremia Taglialatela",
35
+ "web": "http://twitter.com/gtagliala"
36
  }
37
  ],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38
  "license": "(OFL-1.1 AND MIT)",
39
+ "dependencies": {
 
 
 
40
  },
41
+ "engines" : {
42
+ "node" : ">=0.10.3"
43
+ }
44
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/Gruntfile.js CHANGED
@@ -1,91 +1,6 @@
1
  'use strict';
2
-
3
- const FONTAWESOME_VERSION = '5.5.0';
4
- const jsBanner = `/*!
5
- * Font Awesome Icon Picker
6
- * https://farbelous.github.io/fontawesome-iconpicker/
7
- *
8
- * @author Javi Aguilar, itsjavi.com
9
- * @license MIT License
10
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
11
- */
12
- `;
13
-
14
  module.exports = function(grunt) {
15
- const parsedIconPicker = 'prod/src/js/iconpicker.js';
16
- const tempIconsFile = '.icons.temp';
17
  grunt.initConfig({
18
- download: {
19
- somefile: {
20
- src: [
21
- 'https://raw.githubusercontent.com/FortAwesome/Font-Awesome/' +
22
- FONTAWESOME_VERSION +
23
- '/advanced-options/metadata/icons.yml'
24
- ],
25
- dest: tempIconsFile
26
- },
27
- },
28
- yaml: {
29
- getIcons: {
30
- options: {
31
- space: 2,
32
- disableDest: true,
33
- middleware: function(response, sourceJSON, src, dest) {
34
- let targetJSON = {
35
- icons: []
36
- };
37
- sourceJSON = JSON.parse(sourceJSON);
38
- Object.keys(sourceJSON).forEach(function(key) {
39
- let ele = sourceJSON[key];
40
- let icon = 'fa-' + key;
41
- ele.styles.forEach(function(style) {
42
- style = style.toLowerCase();
43
- if (style.startsWith('brand')) {
44
- targetJSON.icons.push({
45
- title: 'fab ' + icon,
46
- searchTerms: ele.search.terms
47
- });
48
- } else if (style.startsWith('solid')) {
49
- targetJSON.icons.push({
50
- title: 'fas ' + icon,
51
- searchTerms: ele.search.terms
52
- });
53
- } else if (style.startsWith('regular')) {
54
- targetJSON.icons.push({
55
- title: 'far ' + icon,
56
- searchTerms: ele.search.terms
57
- });
58
- } else if (style.startsWith('light')) {
59
- targetJSON.icons.push({
60
- title: 'fal ' + icon,
61
- searchTerms: ele.search.terms
62
- });
63
- }
64
- });
65
- });
66
- grunt.file.write(dest, JSON.stringify(targetJSON));
67
- }
68
- },
69
- files: [{
70
- expand: false,
71
- src: [tempIconsFile],
72
- dest: tempIconsFile
73
- }]
74
- },
75
- },
76
- 'string-replace': {
77
- dist: {
78
- files: {
79
- 'prod/': ['src/js/iconpicker.js'],
80
- },
81
- options: {
82
- replacements: [{
83
- pattern: '//###REPLACE-WITH-FONT-AWESOME-5-FONTS###',
84
- replacement: "<%= grunt.file.read('" + tempIconsFile + "') %>"
85
- }]
86
- }
87
- }
88
- },
89
  less: {
90
  dist: {
91
  options: {
@@ -111,34 +26,30 @@ module.exports = function(grunt) {
111
  }
112
  },
113
  jsbeautifier: {
114
- files: ['Gruntfile.js', 'src/js/*.js', parsedIconPicker]
115
  },
116
  uglify: {
117
  distMin: {
118
  options: {
119
  compress: {},
120
- beautify: false,
121
- comments: 'some',
122
- banner: jsBanner
123
  },
124
  files: {
125
  'dist/js/fontawesome-iconpicker.min.js': [
126
  'src/js/jquery.ui.pos.js',
127
- parsedIconPicker
128
  ]
129
  }
130
  },
131
  dist: {
132
  options: {
133
  compress: false,
134
- beautify: true,
135
- comments: 'some',
136
- banner: jsBanner
137
  },
138
  files: {
139
  'dist/js/fontawesome-iconpicker.js': [
140
  'src/js/jquery.ui.pos.js',
141
- parsedIconPicker
142
  ]
143
  }
144
  }
@@ -161,10 +72,6 @@ module.exports = function(grunt) {
161
  dist: [
162
  'dist/css',
163
  'dist/js/*.js'
164
- ],
165
- temp: [
166
- tempIconsFile,
167
- 'prod/'
168
  ]
169
  }
170
  });
@@ -175,20 +82,13 @@ module.exports = function(grunt) {
175
  grunt.loadNpmTasks('grunt-contrib-watch');
176
  grunt.loadNpmTasks('grunt-contrib-less');
177
  grunt.loadNpmTasks('grunt-jsbeautifier');
178
- grunt.loadNpmTasks('grunt-yaml');
179
- grunt.loadNpmTasks('grunt-http-download');
180
- grunt.loadNpmTasks('grunt-string-replace');
181
 
182
  // Register tasks
183
  grunt.registerTask('default', [
184
- 'download',
185
- 'yaml',
186
- 'string-replace',
187
- 'clean:dist',
188
  'less',
189
  'jsbeautifier',
190
- 'uglify',
191
- 'clean:temp'
192
  ]);
193
  grunt.registerTask('dev', [
194
  'watch'
1
  'use strict';
 
 
 
 
 
 
 
 
 
 
 
 
2
  module.exports = function(grunt) {
 
 
3
  grunt.initConfig({
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  less: {
5
  dist: {
6
  options: {
26
  }
27
  },
28
  jsbeautifier: {
29
+ files: ['Gruntfile.js', 'src/js/*.js']
30
  },
31
  uglify: {
32
  distMin: {
33
  options: {
34
  compress: {},
35
+ beautify: false
 
 
36
  },
37
  files: {
38
  'dist/js/fontawesome-iconpicker.min.js': [
39
  'src/js/jquery.ui.pos.js',
40
+ 'src/js/iconpicker.js'
41
  ]
42
  }
43
  },
44
  dist: {
45
  options: {
46
  compress: false,
47
+ beautify: true
 
 
48
  },
49
  files: {
50
  'dist/js/fontawesome-iconpicker.js': [
51
  'src/js/jquery.ui.pos.js',
52
+ 'src/js/iconpicker.js'
53
  ]
54
  }
55
  }
72
  dist: [
73
  'dist/css',
74
  'dist/js/*.js'
 
 
 
 
75
  ]
76
  }
77
  });
82
  grunt.loadNpmTasks('grunt-contrib-watch');
83
  grunt.loadNpmTasks('grunt-contrib-less');
84
  grunt.loadNpmTasks('grunt-jsbeautifier');
 
 
 
85
 
86
  // Register tasks
87
  grunt.registerTask('default', [
88
+ 'clean',
 
 
 
89
  'less',
90
  'jsbeautifier',
91
+ 'uglify'
 
92
  ]);
93
  grunt.registerTask('dev', [
94
  'watch'
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/README.md CHANGED
@@ -1,19 +1,12 @@
1
  fontawesome-iconpicker
2
  ========================
3
 
4
- <!--[![Build Status](https://img.shields.io/travis/farbelous/fontawesome-iconpicker/master.svg?style=flat-square)](https://travis-ci.org/farbelous/fontawesome-iconpicker)-->
5
- <!--[![npm@next](https://img.shields.io/npm/v/fontawesome-iconpicker/next.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker?activeTab=versions)-->
6
- [![npm](https://img.shields.io/npm/v/fontawesome-iconpicker.svg?style=flat-square)](https://www.npmjs.com/package/fontawesome-iconpicker)
7
- [![Donate](https://img.shields.io/badge/%E2%9D%A4-Donate%20to%20this%20project-e0a61d.svg?longCache=true&style=flat-square)](https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers)
8
- [![Supporters](https://img.shields.io/badge/%F0%9F%92%AA-Supporters-333333.svg?longCache=true&style=flat-square)](https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors)
9
-
10
-
11
  Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
12
- with a powerful base API, based on [bootstrap-popover-picker](https://farbelous.github.io/bootstrap-popover-picker/)
13
 
14
- You can use Font Awesome 5 or another font icon set of your choice (icon list is totally customizable).
15
 
16
- [View demos](https://farbelous.github.io/fontawesome-iconpicker/)
17
 
18
  ## Instantiation
19
 
@@ -56,13 +49,6 @@ In order of call:
56
  * iconpickerDestroy
57
  * iconpickerDestroyed
58
 
59
- ```javascript
60
- // Bind iconpicker events to the element
61
- $('.my').on('iconpickerSelected', function(event){
62
- /* event.iconpickerValue */
63
- });
64
- ```
65
-
66
  ## Popover placement extensions
67
 
68
  This plugin comes with more placement options than the original Bootstrap Popover.
@@ -73,7 +59,7 @@ Here are all the possibilities in detail:
73
  F 7
74
  E 8
75
  D C B A 9
76
-
77
  0. inline (no placement, display as inline-block)
78
  1. topLeftCorner
79
  2. topLeft
@@ -96,7 +82,7 @@ Here are all the possibilities in detail:
96
  ## Available options
97
 
98
  ```javascript
99
- var options = {
100
  title: false, // Popover title (optional) only if specified in the template
101
  selected: false, // use this value as the current item and ignore the original
102
  defaultValue: false, // use this value as the current item if input or element value is empty
@@ -109,7 +95,7 @@ var options = {
109
  searchInFooter: false, // If true, the search will be added to the footer instead of the title
110
  mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer
111
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
112
- icons: [], // list of icon objects [{title:String, searchTerms:String}]. By default, all Font Awesome icons are included.
113
  fullClassFormatter: function(val) {
114
  return 'fa ' + val;
115
  },
@@ -130,3 +116,13 @@ var options = {
130
  }
131
  };
132
  ```
 
 
 
 
 
 
 
 
 
 
1
  fontawesome-iconpicker
2
  ========================
3
 
 
 
 
 
 
 
 
4
  Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
5
+ with a powerful base API, based on [bootstrap-popover-picker](https://itsjavi.com/bootstrap-popover-picker/)
6
 
7
+ You can use Font Awesome or another font icon set of your choice (icon list is totally customizable).
8
 
9
+ [View demos](https://itsjavi.com/fontawesome-iconpicker/)
10
 
11
  ## Instantiation
12
 
49
  * iconpickerDestroy
50
  * iconpickerDestroyed
51
 
 
 
 
 
 
 
 
52
  ## Popover placement extensions
53
 
54
  This plugin comes with more placement options than the original Bootstrap Popover.
59
  F 7
60
  E 8
61
  D C B A 9
62
+
63
  0. inline (no placement, display as inline-block)
64
  1. topLeftCorner
65
  2. topLeft
82
  ## Available options
83
 
84
  ```javascript
85
+ var defaults = {
86
  title: false, // Popover title (optional) only if specified in the template
87
  selected: false, // use this value as the current item and ignore the original
88
  defaultValue: false, // use this value as the current item if input or element value is empty
95
  searchInFooter: false, // If true, the search will be added to the footer instead of the title
96
  mustAccept: false, // only applicable when there's an iconpicker-btn-accept button in the popover footer
97
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
98
+ icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
99
  fullClassFormatter: function(val) {
100
  return 'fa ' + val;
101
  },
116
  }
117
  };
118
  ```
119
+
120
+ ## TO-DO
121
+ - [x] Support other icon fonts
122
+ - [x] Fix: input marked as error when it is empty
123
+ - [x] Add role=button to each item, for making them tabbable
124
+ - [x] Ability to use the user input as the filter instead of the popover input
125
+ - [x] Fix bottomRight position when using component mode
126
+ - [x] Better dropdown compatibility
127
+ - [x] Ability to mix various class prefixes and use a customizable class formatter function
128
+ - [ ] ~~Ability to select and copy the icon character (the would need to be hardcoded in js)~~ (Use the chrome extension)
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.css CHANGED
@@ -1,10 +1,29 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4
  *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
  .iconpicker-popover.popover {
10
  position: absolute;
@@ -14,9 +33,8 @@
14
  max-width: none;
15
  padding: 1px;
16
  text-align: left;
17
- width: 234px;
18
  background: #f7f7f7;
19
- z-index: 9;
20
  }
21
  .iconpicker-popover.popover.top,
22
  .iconpicker-popover.popover.topLeftCorner,
@@ -105,7 +123,7 @@
105
  }
106
  .iconpicker-popover .popover-footer input[type=search].iconpicker-search {
107
  /*width:auto;
108
- float:left;*/
109
  margin-bottom: 12px;
110
  }
111
  .iconpicker-popover.popover > .arrow,
@@ -141,7 +159,7 @@
141
  bottom: 1px;
142
  margin-left: -10px;
143
  border-bottom-width: 0;
144
- border-top-color: #fff;
145
  }
146
  .iconpicker-popover.popover.topLeft > .arrow {
147
  left: 8px;
@@ -169,7 +187,7 @@
169
  left: 1px;
170
  bottom: -10px;
171
  border-left-width: 0;
172
- border-right-color: #fff;
173
  }
174
  .iconpicker-popover.popover.rightTop > .arrow {
175
  top: auto;
@@ -197,7 +215,7 @@
197
  top: 1px;
198
  margin-left: -10px;
199
  border-top-width: 0;
200
- border-bottom-color: #fff;
201
  }
202
  .iconpicker-popover.popover.bottomLeft > .arrow {
203
  left: 8px;
@@ -224,7 +242,7 @@
224
  content: " ";
225
  right: 1px;
226
  border-right-width: 0;
227
- border-left-color: #fff;
228
  bottom: -10px;
229
  }
230
  .iconpicker-popover.popover.leftBottom > .arrow {
@@ -289,22 +307,21 @@
289
  cursor: pointer;
290
  border-radius: 3px;
291
  font-size: 14px;
292
- box-shadow: 0 0 0 1px #ddd;
293
  color: inherit;
294
  /*&:nth-child(4n+4) {
295
- margin-right: 0;
296
- }
297
- &:nth-last-child(-n+4) {
298
- margin-bottom: 0;
299
- }*/
300
  }
301
  .iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
302
- background-color: #eee;
303
  }
304
  .iconpicker .iconpicker-item.iconpicker-selected {
305
  box-shadow: none;
306
  color: #fff;
307
- background: #000;
308
  }
309
  .iconpicker-component {
310
  cursor: pointer;
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
+ *
9
+ */
10
+ /*
11
+ * Font Awesome Icon Picker
12
+ * https://itsjavi.com/fontawesome-iconpicker/
13
+ *
14
+ * Originally written by (c) 2016 Javi Aguilar
15
+ * Licensed under the MIT License
16
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
17
+ *
18
+ */
19
+ /*
20
+ * Font Awesome Icon Picker
21
+ * https://itsjavi.com/fontawesome-iconpicker/
22
+ *
23
+ * Originally written by (c) 2016 Javi Aguilar
24
+ * Licensed under the MIT License
25
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
26
  *
 
 
 
27
  */
28
  .iconpicker-popover.popover {
29
  position: absolute;
33
  max-width: none;
34
  padding: 1px;
35
  text-align: left;
36
+ width: 216px;
37
  background: #f7f7f7;
 
38
  }
39
  .iconpicker-popover.popover.top,
40
  .iconpicker-popover.popover.topLeftCorner,
123
  }
124
  .iconpicker-popover .popover-footer input[type=search].iconpicker-search {
125
  /*width:auto;
126
+ float:left;*/
127
  margin-bottom: 12px;
128
  }
129
  .iconpicker-popover.popover > .arrow,
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: 8px;
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;
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: 8px;
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 {
307
  cursor: pointer;
308
  border-radius: 3px;
309
  font-size: 14px;
310
+ box-shadow: 0 0 0 1px #dddddd;
311
  color: inherit;
312
  /*&:nth-child(4n+4) {
313
+ margin-right: 0;
314
+ }
315
+ &:nth-last-child(-n+4) {
316
+ margin-bottom: 0;
317
+ }*/
318
  }
319
  .iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
320
+ background-color: #eeeeee;
321
  }
322
  .iconpicker .iconpicker-item.iconpicker-selected {
323
  box-shadow: none;
324
  color: #fff;
 
325
  }
326
  .iconpicker-component {
327
  cursor: pointer;
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/css/fontawesome-iconpicker.min.css CHANGED
@@ -1,8 +1,9 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
4
  *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
- */.iconpicker-popover.popover{position:absolute;top:0;left:0;display:none;max-width:none;padding:1px;text-align:left;width:234px;background:#f7f7f7;z-index:9}.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 12px 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:12px;font-size:13px;line-height:15px;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:12px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:12px;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:12px}.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:8px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:8px;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:8px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:8px;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:8px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:8px;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:8px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:8px;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:12px 0 0 12px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:49px;max-height:246px}.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:12px;margin:0 12px 12px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd;color:inherit}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;color:#fff;background:#000}.iconpicker-component{cursor:pointer}
 
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
  *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/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:216px;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 12px 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:12px;font-size:13px;line-height:15px;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:12px}.iconpicker-popover.popover .popover-content{padding:0px;text-align:center}.iconpicker-popover .popover-footer{float:none;clear:both;padding:12px;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:12px}.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:8px;margin-left:0}.iconpicker-popover.popover.topRight>.arrow{left:auto;right:8px;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:8px;margin-top:0}.iconpicker-popover.popover.rightBottom>.arrow{top:8px;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:8px;margin-left:0}.iconpicker-popover.popover.bottomRight>.arrow{left:auto;right:8px;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:8px;margin-top:0}.iconpicker-popover.popover.leftTop>.arrow{top:auto;bottom:8px;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:12px 0 0 12px;background:#fff;margin:0;overflow:hidden;overflow-y:auto;min-height:49px;max-height:246px}.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:12px;margin:0 12px 12px 0;text-align:center;cursor:pointer;border-radius:3px;font-size:14px;box-shadow:0 0 0 1px #ddd;color:inherit}.iconpicker .iconpicker-item:hover:not(.iconpicker-selected){background-color:#eee}.iconpicker .iconpicker-item.iconpicker-selected{box-shadow:none;color:#fff}.iconpicker-component{cursor:pointer}
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.js CHANGED
@@ -1,418 +1,402 @@
1
- /*!
2
- * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
4
- *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
- */
9
-
10
-
11
- (function(e) {
12
- if (typeof define === "function" && define.amd) {
13
- define([ "jquery" ], e);
14
- } else {
15
- e(jQuery);
16
  }
17
- })(function(j) {
18
- j.ui = j.ui || {};
19
- var e = j.ui.version = "1.12.1";
20
- (function() {
21
- var r, y = Math.max, x = Math.abs, s = /left|center|right/, i = /top|center|bottom/, f = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, c = /%$/, a = j.fn.pos;
22
- function q(e, a, t) {
23
- return [ parseFloat(e[0]) * (c.test(e[0]) ? a / 100 : 1), parseFloat(e[1]) * (c.test(e[1]) ? t / 100 : 1) ];
24
- }
25
- function C(e, a) {
26
- return parseInt(j.css(e, a), 10) || 0;
27
- }
28
- function t(e) {
29
- var a = e[0];
30
- if (a.nodeType === 9) {
31
- return {
32
- width: e.width(),
33
- height: e.height(),
34
- offset: {
35
- top: 0,
36
- left: 0
37
- }
38
- };
39
- }
40
- if (j.isWindow(a)) {
41
- return {
42
- width: e.width(),
43
- height: e.height(),
44
- offset: {
45
- top: e.scrollTop(),
46
- left: e.scrollLeft()
47
- }
48
- };
49
- }
50
- if (a.preventDefault) {
51
- return {
52
- width: 0,
53
- height: 0,
54
- offset: {
55
- top: a.pageY,
56
- left: a.pageX
57
- }
58
- };
59
- }
60
  return {
61
- width: e.outerWidth(),
62
- height: e.outerHeight(),
63
- offset: e.offset()
 
 
 
64
  };
65
  }
66
- j.pos = {
67
- scrollbarWidth: function() {
68
- if (r !== undefined) {
69
- return r;
 
 
 
70
  }
71
- var e, a, t = j("<div " + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + "<div style='height:100px;width:auto;'></div></div>"), s = t.children()[0];
72
- j("body").append(t);
73
- e = s.offsetWidth;
74
- t.css("overflow", "scroll");
75
- a = s.offsetWidth;
76
- if (e === a) {
77
- a = t[0].clientWidth;
 
 
78
  }
79
- t.remove();
80
- return r = e - a;
81
- },
82
- getScrollInfo: function(e) {
83
- var a = e.isWindow || e.isDocument ? "" : e.element.css("overflow-x"), t = e.isWindow || e.isDocument ? "" : e.element.css("overflow-y"), s = a === "scroll" || a === "auto" && e.width < e.element[0].scrollWidth, r = t === "scroll" || t === "auto" && e.height < e.element[0].scrollHeight;
84
- return {
85
- width: r ? j.pos.scrollbarWidth() : 0,
86
- height: s ? j.pos.scrollbarWidth() : 0
87
- };
88
- },
89
- getWithinInfo: function(e) {
90
- var a = j(e || window), t = j.isWindow(a[0]), s = !!a[0] && a[0].nodeType === 9, r = !t && !s;
91
- return {
92
- element: a,
93
- isWindow: t,
94
- isDocument: s,
95
- offset: r ? j(e).offset() : {
96
- left: 0,
97
- top: 0
98
- },
99
- scrollLeft: a.scrollLeft(),
100
- scrollTop: a.scrollTop(),
101
- width: a.outerWidth(),
102
- height: a.outerHeight()
103
- };
104
- }
105
  };
106
- j.fn.pos = function(h) {
107
- if (!h || !h.of) {
108
- return a.apply(this, arguments);
109
- }
110
- h = j.extend({}, h);
111
- var m, p, d, u, T, e, g = j(h.of), b = j.pos.getWithinInfo(h.within), k = j.pos.getScrollInfo(b), w = (h.collision || "flip").split(" "), v = {};
112
- e = t(g);
113
- if (g[0].preventDefault) {
114
- h.at = "left top";
115
- }
116
- p = e.width;
117
- d = e.height;
118
- u = e.offset;
119
- T = j.extend({}, u);
120
- j.each([ "my", "at" ], function() {
121
- var e = (h[this] || "").split(" "), a, t;
122
- if (e.length === 1) {
123
- e = s.test(e[0]) ? e.concat([ "center" ]) : i.test(e[0]) ? [ "center" ].concat(e) : [ "center", "center" ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
124
  }
125
- e[0] = s.test(e[0]) ? e[0] : "center";
126
- e[1] = i.test(e[1]) ? e[1] : "center";
127
- a = f.exec(e[0]);
128
- t = f.exec(e[1]);
129
- v[this] = [ a ? a[0] : 0, t ? t[0] : 0 ];
130
- h[this] = [ l.exec(e[0])[0], l.exec(e[1])[0] ];
131
  });
132
- if (w.length === 1) {
133
- w[1] = w[0];
134
- }
135
- if (h.at[0] === "right") {
136
- T.left += p;
137
- } else if (h.at[0] === "center") {
138
- T.left += p / 2;
139
- }
140
- if (h.at[1] === "bottom") {
141
- T.top += d;
142
- } else if (h.at[1] === "center") {
143
- T.top += d / 2;
144
- }
145
- m = q(v.at, p, d);
146
- T.left += m[0];
147
- T.top += m[1];
148
- return this.each(function() {
149
- var t, e, f = j(this), l = f.outerWidth(), c = f.outerHeight(), a = C(this, "marginLeft"), s = C(this, "marginTop"), r = l + a + C(this, "marginRight") + k.width, i = c + s + C(this, "marginBottom") + k.height, o = j.extend({}, T), n = q(v.my, f.outerWidth(), f.outerHeight());
150
- if (h.my[0] === "right") {
151
- o.left -= l;
152
- } else if (h.my[0] === "center") {
153
- o.left -= l / 2;
154
- }
155
- if (h.my[1] === "bottom") {
156
- o.top -= c;
157
- } else if (h.my[1] === "center") {
158
- o.top -= c / 2;
159
- }
160
- o.left += n[0];
161
- o.top += n[1];
162
- t = {
163
- marginLeft: a,
164
- marginTop: s
165
- };
166
- j.each([ "left", "top" ], function(e, a) {
167
- if (j.ui.pos[w[e]]) {
168
- j.ui.pos[w[e]][a](o, {
169
- targetWidth: p,
170
- targetHeight: d,
171
- elemWidth: l,
172
- elemHeight: c,
173
- collisionPosition: t,
174
- collisionWidth: r,
175
- collisionHeight: i,
176
- offset: [ m[0] + n[0], m[1] + n[1] ],
177
- my: h.my,
178
- at: h.at,
179
- within: b,
180
- elem: f
181
- });
182
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
183
  });
184
- if (h.using) {
185
- e = function(e) {
186
- var a = u.left - o.left, t = a + p - l, s = u.top - o.top, r = s + d - c, i = {
187
- target: {
188
- element: g,
189
- left: u.left,
190
- top: u.top,
191
- width: p,
192
- height: d
193
- },
194
- element: {
195
- element: f,
196
- left: o.left,
197
- top: o.top,
198
- width: l,
199
- height: c
200
- },
201
- horizontal: t < 0 ? "left" : a > 0 ? "right" : "center",
202
- vertical: r < 0 ? "top" : s > 0 ? "bottom" : "middle"
203
- };
204
- if (p < l && x(a + t) < p) {
205
- i.horizontal = "center";
206
- }
207
- if (d < c && x(s + r) < d) {
208
- i.vertical = "middle";
209
- }
210
- if (y(x(a), x(t)) > y(x(s), x(r))) {
211
- i.important = "horizontal";
212
  } else {
213
- i.important = "vertical";
214
  }
215
- h.using.call(this, e, i);
216
- };
217
- }
218
- f.offset(j.extend(o, {
219
- using: e
220
- }));
221
- });
222
- };
223
- j.ui.pos = {
224
- _trigger: function(e, a, t, s) {
225
- if (a.elem) {
226
- a.elem.trigger({
227
- type: t,
228
- position: e,
229
- positionData: a,
230
- triggered: s
231
- });
232
  }
 
233
  },
234
- fit: {
235
- left: function(e, a) {
236
- j.ui.pos._trigger(e, a, "posCollide", "fitLeft");
237
- var t = a.within, s = t.isWindow ? t.scrollLeft : t.offset.left, r = t.width, i = e.left - a.collisionPosition.marginLeft, f = s - i, l = i + a.collisionWidth - r - s, c;
238
- if (a.collisionWidth > r) {
239
- if (f > 0 && l <= 0) {
240
- c = e.left + f + a.collisionWidth - r - s;
241
- e.left += f - c;
242
- } else if (l > 0 && f <= 0) {
243
- e.left = s;
244
- } else {
245
- if (f > l) {
246
- e.left = s + r - a.collisionWidth;
247
- } else {
248
- e.left = s;
249
- }
250
- }
251
- } else if (f > 0) {
252
- e.left += f;
253
- } else if (l > 0) {
254
- e.left -= l;
255
  } else {
256
- e.left = y(e.left - i, e.left);
257
- }
258
- j.ui.pos._trigger(e, a, "posCollided", "fitLeft");
259
- },
260
- top: function(e, a) {
261
- j.ui.pos._trigger(e, a, "posCollide", "fitTop");
262
- var t = a.within, s = t.isWindow ? t.scrollTop : t.offset.top, r = a.within.height, i = e.top - a.collisionPosition.marginTop, f = s - i, l = i + a.collisionHeight - r - s, c;
263
- if (a.collisionHeight > r) {
264
- if (f > 0 && l <= 0) {
265
- c = e.top + f + a.collisionHeight - r - s;
266
- e.top += f - c;
267
- } else if (l > 0 && f <= 0) {
268
- e.top = s;
269
  } else {
270
- if (f > l) {
271
- e.top = s + r - a.collisionHeight;
272
- } else {
273
- e.top = s;
274
- }
275
  }
276
- } else if (f > 0) {
277
- e.top += f;
278
- } else if (l > 0) {
279
- e.top -= l;
280
- } else {
281
- e.top = y(e.top - i, e.top);
282
  }
283
- j.ui.pos._trigger(e, a, "posCollided", "fitTop");
 
 
 
 
 
284
  }
285
- },
286
- flip: {
287
- left: function(e, a) {
288
- j.ui.pos._trigger(e, a, "posCollide", "flipLeft");
289
- var t = a.within, s = t.offset.left + t.scrollLeft, r = t.width, i = t.isWindow ? t.scrollLeft : t.offset.left, f = e.left - a.collisionPosition.marginLeft, l = f - i, c = f + a.collisionWidth - r - i, o = a.my[0] === "left" ? -a.elemWidth : a.my[0] === "right" ? a.elemWidth : 0, n = a.at[0] === "left" ? a.targetWidth : a.at[0] === "right" ? -a.targetWidth : 0, h = -2 * a.offset[0], m, p;
290
- if (l < 0) {
291
- m = e.left + o + n + h + a.collisionWidth - r - s;
292
- if (m < 0 || m < x(l)) {
293
- e.left += o + n + h;
294
- }
295
- } else if (c > 0) {
296
- p = e.left - a.collisionPosition.marginLeft + o + n + h - i;
297
- if (p > 0 || x(p) < c) {
298
- e.left += o + n + h;
299
- }
300
  }
301
- j.ui.pos._trigger(e, a, "posCollided", "flipLeft");
302
- },
303
- top: function(e, a) {
304
- j.ui.pos._trigger(e, a, "posCollide", "flipTop");
305
- var t = a.within, s = t.offset.top + t.scrollTop, r = t.height, i = t.isWindow ? t.scrollTop : t.offset.top, f = e.top - a.collisionPosition.marginTop, l = f - i, c = f + a.collisionHeight - r - i, o = a.my[1] === "top", n = o ? -a.elemHeight : a.my[1] === "bottom" ? a.elemHeight : 0, h = a.at[1] === "top" ? a.targetHeight : a.at[1] === "bottom" ? -a.targetHeight : 0, m = -2 * a.offset[1], p, d;
306
- if (l < 0) {
307
- d = e.top + n + h + m + a.collisionHeight - r - s;
308
- if (d < 0 || d < x(l)) {
309
- e.top += n + h + m;
310
- }
311
- } else if (c > 0) {
312
- p = e.top - a.collisionPosition.marginTop + n + h + m - i;
313
- if (p > 0 || x(p) < c) {
314
- e.top += n + h + m;
315
- }
316
  }
317
- j.ui.pos._trigger(e, a, "posCollided", "flipTop");
318
  }
 
319
  },
320
- flipfit: {
321
- left: function() {
322
- j.ui.pos.flip.left.apply(this, arguments);
323
- j.ui.pos.fit.left.apply(this, arguments);
324
- },
325
- top: function() {
326
- j.ui.pos.flip.top.apply(this, arguments);
327
- j.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
328
  }
 
329
  }
330
- };
331
- (function() {
332
- var e, a, t, s, r, i = document.getElementsByTagName("body")[0], f = document.createElement("div");
333
- e = document.createElement(i ? "div" : "body");
334
- t = {
335
- visibility: "hidden",
336
- width: 0,
337
- height: 0,
338
- border: 0,
339
- margin: 0,
340
- background: "none"
341
- };
342
- if (i) {
343
- j.extend(t, {
344
- position: "absolute",
345
- left: "-1000px",
346
- top: "-1000px"
347
- });
348
- }
349
- for (r in t) {
350
- e.style[r] = t[r];
351
  }
352
- e.appendChild(f);
353
- a = i || document.documentElement;
354
- a.insertBefore(e, a.firstChild);
355
- f.style.cssText = "position: absolute; left: 10.7432222px;";
356
- s = j(f).offset().left;
357
- j.support.offsetFractions = s > 10 && s < 11;
358
- e.innerHTML = "";
359
- a.removeChild(e);
360
- })();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
361
  })();
362
- var a = j.ui.position;
363
- });
364
 
365
- (function(e) {
366
  "use strict";
367
  if (typeof define === "function" && define.amd) {
368
- define([ "jquery" ], e);
369
  } else if (window.jQuery && !window.jQuery.fn.iconpicker) {
370
- e(window.jQuery);
371
  }
372
- })(function(c) {
373
  "use strict";
374
- var f = {
375
- isEmpty: function(e) {
376
- return e === false || e === "" || e === null || e === undefined;
377
  },
378
- isEmptyObject: function(e) {
379
- return this.isEmpty(e) === true || e.length === 0;
380
  },
381
- isElement: function(e) {
382
- return c(e).length > 0;
383
  },
384
- isString: function(e) {
385
- return typeof e === "string" || e instanceof String;
386
  },
387
- isArray: function(e) {
388
- return c.isArray(e);
389
  },
390
- inArray: function(e, a) {
391
- return c.inArray(e, a) !== -1;
392
  },
393
- throwError: function(e) {
394
- throw "Font Awesome Icon Picker Exception: " + e;
395
  }
396
  };
397
- var t = function(e, a) {
398
- this._id = t._idCounter++;
399
- this.element = c(e).addClass("iconpicker-element");
400
- this._trigger("iconpickerCreate", {
401
- iconpickerValue: this.iconpickerValue
402
- });
403
- this.options = c.extend({}, t.defaultOptions, this.element.data(), a);
404
- this.options.templates = c.extend({}, t.defaultOptions.templates, this.options.templates);
405
  this.options.originalPlacement = this.options.placement;
406
- this.container = f.isElement(this.options.container) ? c(this.options.container) : false;
407
  if (this.container === false) {
408
  if (this.element.is(".dropdown-toggle")) {
409
- this.container = c("~ .dropdown-menu:first", this.element);
410
  } else {
411
  this.container = this.element.is("input,textarea,button,.btn") ? this.element.parent() : this.element;
412
  }
413
  }
414
  this.container.addClass("iconpicker-container");
415
  if (this.isDropdownMenu()) {
 
 
416
  this.options.placement = "inline";
417
  }
418
  this.input = this.element.is("input,textarea") ? this.element.addClass("iconpicker-input") : false;
@@ -444,12 +428,10 @@
444
  if (this.isInline()) {
445
  this.show();
446
  }
447
- this._trigger("iconpickerCreated", {
448
- iconpickerValue: this.iconpickerValue
449
- });
450
  };
451
- t._idCounter = 0;
452
- t.defaultOptions = {
453
  title: false,
454
  selected: false,
455
  defaultValue: false,
@@ -462,8 +444,8 @@
462
  mustAccept: false,
463
  selectedCustomClass: "bg-primary",
464
  icons: [],
465
- fullClassFormatter: function(e) {
466
- return e;
467
  },
468
  input: "input,.iconpicker-input",
469
  inputSearch: false,
@@ -475,49 +457,49 @@
475
  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>',
476
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
477
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
478
- iconpickerItem: '<a role="button" href="javascript:;" class="iconpicker-item"><i></i></a>'
479
  }
480
  };
481
- t.batch = function(e, a) {
482
- var t = Array.prototype.slice.call(arguments, 2);
483
- return c(e).each(function() {
484
- var e = c(this).data("iconpicker");
485
- if (!!e) {
486
- e[a].apply(e, t);
487
  }
488
  });
489
  };
490
- t.prototype = {
491
- constructor: t,
492
  options: {},
493
  _id: 0,
494
- _trigger: function(e, a) {
495
- a = a || {};
496
- this.element.trigger(c.extend({
497
- type: e,
498
  iconpickerInstance: this
499
- }, a));
500
  },
501
  _createPopover: function() {
502
- this.popover = c(this.options.templates.popover);
503
- var e = this.popover.find(".popover-title");
504
  if (!!this.options.title) {
505
- e.append(c('<div class="popover-title-text">' + this.options.title + "</div>"));
506
  }
507
  if (this.hasSeparatedSearchInput() && !this.options.searchInFooter) {
508
- e.append(this.options.templates.search);
509
  } else if (!this.options.title) {
510
- e.remove();
511
  }
512
- if (this.options.showFooter && !f.isEmpty(this.options.templates.footer)) {
513
- var a = c(this.options.templates.footer);
514
  if (this.hasSeparatedSearchInput() && this.options.searchInFooter) {
515
- a.append(c(this.options.templates.search));
516
  }
517
- if (!f.isEmpty(this.options.templates.buttons)) {
518
- a.append(c(this.options.templates.buttons));
519
  }
520
- this.popover.append(a);
521
  }
522
  if (this.options.animation === true) {
523
  this.popover.addClass("fade");
@@ -525,118 +507,113 @@
525
  return this.popover;
526
  },
527
  _createIconpicker: function() {
528
- var t = this;
529
- this.iconpicker = c(this.options.templates.iconpicker);
530
- var e = function(e) {
531
- var a = c(this);
532
- if (a.is("i")) {
533
- a = a.parent();
534
- }
535
- t._trigger("iconpickerSelect", {
536
- iconpickerItem: a,
537
- iconpickerValue: t.iconpickerValue
538
  });
539
- if (t.options.mustAccept === false) {
540
- t.update(a.data("iconpickerValue"));
541
- t._trigger("iconpickerSelected", {
542
  iconpickerItem: this,
543
- iconpickerValue: t.iconpickerValue
544
  });
545
  } else {
546
- t.update(a.data("iconpickerValue"), true);
547
  }
548
- if (t.options.hideOnSelect && t.options.mustAccept === false) {
549
- t.hide();
550
  }
 
 
551
  };
552
- var a = c(this.options.templates.iconpickerItem);
553
- var s = [];
554
- for (var r in this.options.icons) {
555
- if (typeof this.options.icons[r].title === "string") {
556
- var i = a.clone();
557
- i.find("i").addClass(this.options.fullClassFormatter(this.options.icons[r].title));
558
- i.data("iconpickerValue", this.options.icons[r].title).on("click.iconpicker", e);
559
- i.attr("title", "." + this.options.icons[r].title);
560
- if (this.options.icons[r].searchTerms.length > 0) {
561
- var f = "";
562
- for (var l = 0; l < this.options.icons[r].searchTerms.length; l++) {
563
- f = f + this.options.icons[r].searchTerms[l] + " ";
564
- }
565
- i.attr("data-search-terms", f);
566
- }
567
- s.push(i);
568
  }
569
  }
570
- this.iconpicker.find(".iconpicker-items").append(s);
571
  this.popover.find(".popover-content").append(this.iconpicker);
572
  return this.iconpicker;
573
  },
574
- _isEventInsideIconpicker: function(e) {
575
- var a = c(e.target);
576
- if ((!a.hasClass("iconpicker-element") || a.hasClass("iconpicker-element") && !a.is(this.element)) && a.parents(".iconpicker-popover").length === 0) {
577
  return false;
578
  }
579
  return true;
580
  },
581
  _bindElementEvents: function() {
582
- var a = this;
583
  this.getSearchInput().on("keyup.iconpicker", function() {
584
- a.filter(c(this).val().toLowerCase());
585
  });
586
  this.getAcceptButton().on("click.iconpicker", function() {
587
- var e = a.iconpicker.find(".iconpicker-selected").get(0);
588
- a.update(a.iconpickerValue);
589
- a._trigger("iconpickerSelected", {
590
- iconpickerItem: e,
591
- iconpickerValue: a.iconpickerValue
592
  });
593
- if (!a.isInline()) {
594
- a.hide();
595
  }
596
  });
597
  this.getCancelButton().on("click.iconpicker", function() {
598
- if (!a.isInline()) {
599
- a.hide();
600
  }
601
  });
602
- this.element.on("focus.iconpicker", function(e) {
603
- a.show();
604
- e.stopPropagation();
605
  });
606
  if (this.hasComponent()) {
607
  this.component.on("click.iconpicker", function() {
608
- a.toggle();
609
  });
610
  }
611
  if (this.hasInput()) {
612
- this.input.on("keyup.iconpicker", function(e) {
613
- if (!f.inArray(e.keyCode, [ 38, 40, 37, 39, 16, 17, 18, 9, 8, 91, 93, 20, 46, 186, 190, 46, 78, 188, 44, 86 ])) {
614
- a.update();
615
  } else {
616
- a._updateFormGroupStatus(a.getValid(this.value) !== false);
617
  }
618
- if (a.options.inputSearch === true) {
619
- a.filter(c(this).val().toLowerCase());
620
  }
621
  });
622
  }
623
  },
624
  _bindWindowEvents: function() {
625
- var e = c(window.document);
626
- var a = this;
627
- var t = ".iconpicker.inst" + this._id;
628
- c(window).on("resize.iconpicker" + t + " orientationchange.iconpicker" + t, function(e) {
629
- if (a.popover.hasClass("in")) {
630
- a.updatePlacement();
631
  }
632
  });
633
- if (!a.isInline()) {
634
- e.on("mouseup" + t, function(e) {
635
- if (!a._isEventInsideIconpicker(e) && !a.isInline()) {
636
- a.hide();
637
  }
 
 
 
638
  });
639
  }
 
640
  },
641
  _unbindElementEvents: function() {
642
  this.popover.off(".iconpicker");
@@ -652,141 +629,141 @@
652
  }
653
  },
654
  _unbindWindowEvents: function() {
655
- c(window).off(".iconpicker.inst" + this._id);
656
- c(window.document).off(".iconpicker.inst" + this._id);
657
- },
658
- updatePlacement: function(e, a) {
659
- e = e || this.options.placement;
660
- this.options.placement = e;
661
- a = a || this.options.collision;
662
- a = a === true ? "flip" : a;
663
- var t = {
664
  at: "right bottom",
665
  my: "right top",
666
  of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
667
- collision: a === true ? "flip" : a,
668
  within: window
669
  };
670
  this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
671
- if (typeof e === "object") {
672
- return this.popover.pos(c.extend({}, t, e));
673
  }
674
- switch (e) {
675
  case "inline":
676
  {
677
- t = false;
678
  }
679
  break;
680
 
681
  case "topLeftCorner":
682
  {
683
- t.my = "right bottom";
684
- t.at = "left top";
685
  }
686
  break;
687
 
688
  case "topLeft":
689
  {
690
- t.my = "left bottom";
691
- t.at = "left top";
692
  }
693
  break;
694
 
695
  case "top":
696
  {
697
- t.my = "center bottom";
698
- t.at = "center top";
699
  }
700
  break;
701
 
702
  case "topRight":
703
  {
704
- t.my = "right bottom";
705
- t.at = "right top";
706
  }
707
  break;
708
 
709
  case "topRightCorner":
710
  {
711
- t.my = "left bottom";
712
- t.at = "right top";
713
  }
714
  break;
715
 
716
  case "rightTop":
717
  {
718
- t.my = "left bottom";
719
- t.at = "right center";
720
  }
721
  break;
722
 
723
  case "right":
724
  {
725
- t.my = "left center";
726
- t.at = "right center";
727
  }
728
  break;
729
 
730
  case "rightBottom":
731
  {
732
- t.my = "left top";
733
- t.at = "right center";
734
  }
735
  break;
736
 
737
  case "bottomRightCorner":
738
  {
739
- t.my = "left top";
740
- t.at = "right bottom";
741
  }
742
  break;
743
 
744
  case "bottomRight":
745
  {
746
- t.my = "right top";
747
- t.at = "right bottom";
748
  }
749
  break;
750
 
751
  case "bottom":
752
  {
753
- t.my = "center top";
754
- t.at = "center bottom";
755
  }
756
  break;
757
 
758
  case "bottomLeft":
759
  {
760
- t.my = "left top";
761
- t.at = "left bottom";
762
  }
763
  break;
764
 
765
  case "bottomLeftCorner":
766
  {
767
- t.my = "right top";
768
- t.at = "left bottom";
769
  }
770
  break;
771
 
772
  case "leftBottom":
773
  {
774
- t.my = "right top";
775
- t.at = "left center";
776
  }
777
  break;
778
 
779
  case "left":
780
  {
781
- t.my = "right center";
782
- t.at = "left center";
783
  }
784
  break;
785
 
786
  case "leftTop":
787
  {
788
- t.my = "right bottom";
789
- t.at = "left center";
790
  }
791
  break;
792
 
@@ -799,8 +776,8 @@
799
  this.popover.css({
800
  display: this.options.placement === "inline" ? "" : "block"
801
  });
802
- if (t !== false) {
803
- this.popover.pos(t).css("maxWidth", c(window).width() - this.container.offset().left - 5);
804
  } else {
805
  this.popover.css({
806
  top: "auto",
@@ -819,17 +796,17 @@
819
  this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
820
  }
821
  if (this.hasComponent()) {
822
- var e = this.component.find("i");
823
- if (e.length > 0) {
824
- e.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
825
  } else {
826
  this.component.html(this.getHtml());
827
  }
828
  }
829
  },
830
- _updateFormGroupStatus: function(e) {
831
  if (this.hasInput()) {
832
- if (e !== false) {
833
  this.input.parents(".form-group:first").removeClass("has-error");
834
  } else {
835
  this.input.parents(".form-group:first").addClass("has-error");
@@ -838,35 +815,28 @@
838
  }
839
  return false;
840
  },
841
- getValid: function(e) {
842
- if (!f.isString(e)) {
843
- e = "";
844
- }
845
- var a = e === "";
846
- e = c.trim(e);
847
- var t = false;
848
- for (var s = 0; s < this.options.icons.length; s++) {
849
- if (this.options.icons[s].title === e) {
850
- t = true;
851
- break;
852
- }
853
  }
854
- if (t || a) {
855
- return e;
 
 
856
  }
857
  return false;
858
  },
859
- setValue: function(e) {
860
- var a = this.getValid(e);
861
- if (a !== false) {
862
- this.iconpickerValue = a;
863
  this._trigger("iconpickerSetValue", {
864
- iconpickerValue: a
865
  });
866
  return this.iconpickerValue;
867
  } else {
868
  this._trigger("iconpickerInvalid", {
869
- iconpickerValue: e
870
  });
871
  return false;
872
  }
@@ -874,32 +844,32 @@
874
  getHtml: function() {
875
  return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
876
  },
877
- setSourceValue: function(e) {
878
- e = this.setValue(e);
879
- if (e !== false && e !== "") {
880
  if (this.hasInput()) {
881
  this.input.val(this.iconpickerValue);
882
  } else {
883
  this.element.data("iconpickerValue", this.iconpickerValue);
884
  }
885
  this._trigger("iconpickerSetSourceValue", {
886
- iconpickerValue: e
887
  });
888
  }
889
- return e;
890
  },
891
- getSourceValue: function(e) {
892
- e = e || this.options.defaultValue;
893
- var a = e;
894
  if (this.hasInput()) {
895
- a = this.input.val();
896
  } else {
897
- a = this.element.data("iconpickerValue");
898
  }
899
- if (a === undefined || a === "" || a === null || a === false) {
900
- a = e;
901
  }
902
- return a;
903
  },
904
  hasInput: function() {
905
  return this.input !== false;
@@ -931,65 +901,55 @@
931
  getSearchInput: function() {
932
  return this.popover.find(".iconpicker-search");
933
  },
934
- filter: function(r) {
935
- if (f.isEmpty(r)) {
936
  this.iconpicker.find(".iconpicker-item").show();
937
- return c(false);
938
  } else {
939
- var i = [];
940
  this.iconpicker.find(".iconpicker-item").each(function() {
941
- var e = c(this);
942
- var a = e.attr("title").toLowerCase();
943
- var t = e.attr("data-search-terms") ? e.attr("data-search-terms").toLowerCase() : "";
944
- a = a + " " + t;
945
- var s = false;
946
  try {
947
- s = new RegExp("(^|\\W)" + r, "g");
948
- } catch (e) {
949
- s = false;
950
  }
951
- if (s !== false && a.match(s)) {
952
- i.push(e);
953
- e.show();
954
  } else {
955
- e.hide();
956
  }
957
  });
958
- return i;
959
  }
960
  },
961
  show: function() {
962
  if (this.popover.hasClass("in")) {
963
  return false;
964
  }
965
- c.iconpicker.batch(c(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
966
- this._trigger("iconpickerShow", {
967
- iconpickerValue: this.iconpickerValue
968
- });
969
  this.updatePlacement();
970
  this.popover.addClass("in");
971
- setTimeout(c.proxy(function() {
972
  this.popover.css("display", this.isInline() ? "" : "block");
973
- this._trigger("iconpickerShown", {
974
- iconpickerValue: this.iconpickerValue
975
- });
976
  }, this), this.options.animation ? 300 : 1);
977
  },
978
  hide: function() {
979
  if (!this.popover.hasClass("in")) {
980
  return false;
981
  }
982
- this._trigger("iconpickerHide", {
983
- iconpickerValue: this.iconpickerValue
984
- });
985
  this.popover.removeClass("in");
986
- setTimeout(c.proxy(function() {
987
  this.popover.css("display", "none");
988
  this.getSearchInput().val("");
989
  this.filter("");
990
- this._trigger("iconpickerHidden", {
991
- iconpickerValue: this.iconpickerValue
992
- });
993
  }, this), this.options.animation ? 300 : 1);
994
  },
995
  toggle: function() {
@@ -999,36 +959,28 @@
999
  this.show(true);
1000
  }
1001
  },
1002
- update: function(e, a) {
1003
- e = e ? e : this.getSourceValue(this.iconpickerValue);
1004
- this._trigger("iconpickerUpdate", {
1005
- iconpickerValue: this.iconpickerValue
1006
- });
1007
- if (a === true) {
1008
- e = this.setValue(e);
1009
  } else {
1010
- e = this.setSourceValue(e);
1011
- this._updateFormGroupStatus(e !== false);
1012
  }
1013
- if (e !== false) {
1014
  this._updateComponents();
1015
  }
1016
- this._trigger("iconpickerUpdated", {
1017
- iconpickerValue: this.iconpickerValue
1018
- });
1019
- return e;
1020
  },
1021
  destroy: function() {
1022
- this._trigger("iconpickerDestroy", {
1023
- iconpickerValue: this.iconpickerValue
1024
- });
1025
  this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
1026
  this._unbindElementEvents();
1027
  this._unbindWindowEvents();
1028
- c(this.popover).remove();
1029
- this._trigger("iconpickerDestroyed", {
1030
- iconpickerValue: this.iconpickerValue
1031
- });
1032
  },
1033
  disable: function() {
1034
  if (this.hasInput()) {
@@ -1054,4252 +1006,14 @@
1054
  return this.options.placement === "inline" || this.popover.hasClass("inline");
1055
  }
1056
  };
1057
- c.iconpicker = t;
1058
- c.fn.iconpicker = function(a) {
1059
  return this.each(function() {
1060
- var e = c(this);
1061
- if (!e.data("iconpicker")) {
1062
- e.data("iconpicker", new t(this, typeof a === "object" ? a : {}));
1063
  }
1064
  });
1065
  };
1066
- t.defaultOptions = c.extend(t.defaultOptions, {
1067
- icons: [ {
1068
- title: "fab fa-500px",
1069
- searchTerms: []
1070
- }, {
1071
- title: "fab fa-accessible-icon",
1072
- searchTerms: [ "accessibility", "handicap", "person", "wheelchair", "wheelchair-alt" ]
1073
- }, {
1074
- title: "fab fa-accusoft",
1075
- searchTerms: []
1076
- }, {
1077
- title: "fab fa-acquisitions-incorporated",
1078
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
1079
- }, {
1080
- title: "fas fa-ad",
1081
- searchTerms: []
1082
- }, {
1083
- title: "fas fa-address-book",
1084
- searchTerms: []
1085
- }, {
1086
- title: "far fa-address-book",
1087
- searchTerms: []
1088
- }, {
1089
- title: "fas fa-address-card",
1090
- searchTerms: []
1091
- }, {
1092
- title: "far fa-address-card",
1093
- searchTerms: []
1094
- }, {
1095
- title: "fas fa-adjust",
1096
- searchTerms: [ "contrast" ]
1097
- }, {
1098
- title: "fab fa-adn",
1099
- searchTerms: []
1100
- }, {
1101
- title: "fab fa-adversal",
1102
- searchTerms: []
1103
- }, {
1104
- title: "fab fa-affiliatetheme",
1105
- searchTerms: []
1106
- }, {
1107
- title: "fas fa-air-freshener",
1108
- searchTerms: []
1109
- }, {
1110
- title: "fab fa-algolia",
1111
- searchTerms: []
1112
- }, {
1113
- title: "fas fa-align-center",
1114
- searchTerms: [ "middle", "text" ]
1115
- }, {
1116
- title: "fas fa-align-justify",
1117
- searchTerms: [ "text" ]
1118
- }, {
1119
- title: "fas fa-align-left",
1120
- searchTerms: [ "text" ]
1121
- }, {
1122
- title: "fas fa-align-right",
1123
- searchTerms: [ "text" ]
1124
- }, {
1125
- title: "fab fa-alipay",
1126
- searchTerms: []
1127
- }, {
1128
- title: "fas fa-allergies",
1129
- searchTerms: [ "freckles", "hand", "intolerances", "pox", "spots" ]
1130
- }, {
1131
- title: "fab fa-amazon",
1132
- searchTerms: []
1133
- }, {
1134
- title: "fab fa-amazon-pay",
1135
- searchTerms: []
1136
- }, {
1137
- title: "fas fa-ambulance",
1138
- searchTerms: [ "help", "machine", "support", "vehicle" ]
1139
- }, {
1140
- title: "fas fa-american-sign-language-interpreting",
1141
- searchTerms: []
1142
- }, {
1143
- title: "fab fa-amilia",
1144
- searchTerms: []
1145
- }, {
1146
- title: "fas fa-anchor",
1147
- searchTerms: [ "link" ]
1148
- }, {
1149
- title: "fab fa-android",
1150
- searchTerms: [ "robot" ]
1151
- }, {
1152
- title: "fab fa-angellist",
1153
- searchTerms: []
1154
- }, {
1155
- title: "fas fa-angle-double-down",
1156
- searchTerms: [ "arrows" ]
1157
- }, {
1158
- title: "fas fa-angle-double-left",
1159
- searchTerms: [ "arrows", "back", "laquo", "previous", "quote" ]
1160
- }, {
1161
- title: "fas fa-angle-double-right",
1162
- searchTerms: [ "arrows", "forward", "next", "quote", "raquo" ]
1163
- }, {
1164
- title: "fas fa-angle-double-up",
1165
- searchTerms: [ "arrows" ]
1166
- }, {
1167
- title: "fas fa-angle-down",
1168
- searchTerms: [ "arrow" ]
1169
- }, {
1170
- title: "fas fa-angle-left",
1171
- searchTerms: [ "arrow", "back", "previous" ]
1172
- }, {
1173
- title: "fas fa-angle-right",
1174
- searchTerms: [ "arrow", "forward", "next" ]
1175
- }, {
1176
- title: "fas fa-angle-up",
1177
- searchTerms: [ "arrow" ]
1178
- }, {
1179
- title: "fas fa-angry",
1180
- searchTerms: [ "disapprove", "emoticon", "face", "mad", "upset" ]
1181
- }, {
1182
- title: "far fa-angry",
1183
- searchTerms: [ "disapprove", "emoticon", "face", "mad", "upset" ]
1184
- }, {
1185
- title: "fab fa-angrycreative",
1186
- searchTerms: []
1187
- }, {
1188
- title: "fab fa-angular",
1189
- searchTerms: []
1190
- }, {
1191
- title: "fas fa-ankh",
1192
- searchTerms: [ "amulet", "copper", "coptic christianity", "copts", "crux ansata", "egyptian", "venus" ]
1193
- }, {
1194
- title: "fab fa-app-store",
1195
- searchTerms: []
1196
- }, {
1197
- title: "fab fa-app-store-ios",
1198
- searchTerms: []
1199
- }, {
1200
- title: "fab fa-apper",
1201
- searchTerms: []
1202
- }, {
1203
- title: "fab fa-apple",
1204
- searchTerms: [ "food", "fruit", "mac", "osx" ]
1205
- }, {
1206
- title: "fas fa-apple-alt",
1207
- searchTerms: [ "fall", "food", "fruit", "fuji", "macintosh", "seasonal" ]
1208
- }, {
1209
- title: "fab fa-apple-pay",
1210
- searchTerms: []
1211
- }, {
1212
- title: "fas fa-archive",
1213
- searchTerms: [ "box", "package", "storage" ]
1214
- }, {
1215
- title: "fas fa-archway",
1216
- searchTerms: [ "arc", "monument", "road", "street" ]
1217
- }, {
1218
- title: "fas fa-arrow-alt-circle-down",
1219
- searchTerms: [ "arrow-circle-o-down", "download" ]
1220
- }, {
1221
- title: "far fa-arrow-alt-circle-down",
1222
- searchTerms: [ "arrow-circle-o-down", "download" ]
1223
- }, {
1224
- title: "fas fa-arrow-alt-circle-left",
1225
- searchTerms: [ "arrow-circle-o-left", "back", "previous" ]
1226
- }, {
1227
- title: "far fa-arrow-alt-circle-left",
1228
- searchTerms: [ "arrow-circle-o-left", "back", "previous" ]
1229
- }, {
1230
- title: "fas fa-arrow-alt-circle-right",
1231
- searchTerms: [ "arrow-circle-o-right", "forward", "next" ]
1232
- }, {
1233
- title: "far fa-arrow-alt-circle-right",
1234
- searchTerms: [ "arrow-circle-o-right", "forward", "next" ]
1235
- }, {
1236
- title: "fas fa-arrow-alt-circle-up",
1237
- searchTerms: [ "arrow-circle-o-up" ]
1238
- }, {
1239
- title: "far fa-arrow-alt-circle-up",
1240
- searchTerms: [ "arrow-circle-o-up" ]
1241
- }, {
1242
- title: "fas fa-arrow-circle-down",
1243
- searchTerms: [ "download" ]
1244
- }, {
1245
- title: "fas fa-arrow-circle-left",
1246
- searchTerms: [ "back", "previous" ]
1247
- }, {
1248
- title: "fas fa-arrow-circle-right",
1249
- searchTerms: [ "forward", "next" ]
1250
- }, {
1251
- title: "fas fa-arrow-circle-up",
1252
- searchTerms: []
1253
- }, {
1254
- title: "fas fa-arrow-down",
1255
- searchTerms: [ "download" ]
1256
- }, {
1257
- title: "fas fa-arrow-left",
1258
- searchTerms: [ "back", "previous" ]
1259
- }, {
1260
- title: "fas fa-arrow-right",
1261
- searchTerms: [ "forward", "next" ]
1262
- }, {
1263
- title: "fas fa-arrow-up",
1264
- searchTerms: []
1265
- }, {
1266
- title: "fas fa-arrows-alt",
1267
- searchTerms: [ "arrow", "arrows", "bigger", "enlarge", "expand", "fullscreen", "move", "position", "reorder", "resize" ]
1268
- }, {
1269
- title: "fas fa-arrows-alt-h",
1270
- searchTerms: [ "arrows-h", "resize" ]
1271
- }, {
1272
- title: "fas fa-arrows-alt-v",
1273
- searchTerms: [ "arrows-v", "resize" ]
1274
- }, {
1275
- title: "fas fa-assistive-listening-systems",
1276
- searchTerms: []
1277
- }, {
1278
- title: "fas fa-asterisk",
1279
- searchTerms: [ "details" ]
1280
- }, {
1281
- title: "fab fa-asymmetrik",
1282
- searchTerms: []
1283
- }, {
1284
- title: "fas fa-at",
1285
- searchTerms: [ "e-mail", "email" ]
1286
- }, {
1287
- title: "fas fa-atlas",
1288
- searchTerms: [ "book", "directions", "geography", "map", "wayfinding" ]
1289
- }, {
1290
- title: "fas fa-atom",
1291
- searchTerms: [ "atheism", "chemistry", "science" ]
1292
- }, {
1293
- title: "fab fa-audible",
1294
- searchTerms: []
1295
- }, {
1296
- title: "fas fa-audio-description",
1297
- searchTerms: []
1298
- }, {
1299
- title: "fab fa-autoprefixer",
1300
- searchTerms: []
1301
- }, {
1302
- title: "fab fa-avianex",
1303
- searchTerms: []
1304
- }, {
1305
- title: "fab fa-aviato",
1306
- searchTerms: []
1307
- }, {
1308
- title: "fas fa-award",
1309
- searchTerms: [ "honor", "praise", "prize", "recognition", "ribbon" ]
1310
- }, {
1311
- title: "fab fa-aws",
1312
- searchTerms: []
1313
- }, {
1314
- title: "fas fa-backspace",
1315
- searchTerms: [ "command", "delete", "keyboard", "undo" ]
1316
- }, {
1317
- title: "fas fa-backward",
1318
- searchTerms: [ "previous", "rewind" ]
1319
- }, {
1320
- title: "fas fa-balance-scale",
1321
- searchTerms: [ "balanced", "justice", "legal", "measure", "weight" ]
1322
- }, {
1323
- title: "fas fa-ban",
1324
- searchTerms: [ "abort", "ban", "block", "cancel", "delete", "hide", "prohibit", "remove", "stop", "trash" ]
1325
- }, {
1326
- title: "fas fa-band-aid",
1327
- searchTerms: [ "bandage", "boo boo", "ouch" ]
1328
- }, {
1329
- title: "fab fa-bandcamp",
1330
- searchTerms: []
1331
- }, {
1332
- title: "fas fa-barcode",
1333
- searchTerms: [ "scan" ]
1334
- }, {
1335
- title: "fas fa-bars",
1336
- searchTerms: [ "checklist", "drag", "hamburger", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "todo", "ul" ]
1337
- }, {
1338
- title: "fas fa-baseball-ball",
1339
- searchTerms: []
1340
- }, {
1341
- title: "fas fa-basketball-ball",
1342
- searchTerms: []
1343
- }, {
1344
- title: "fas fa-bath",
1345
- searchTerms: []
1346
- }, {
1347
- title: "fas fa-battery-empty",
1348
- searchTerms: [ "power", "status" ]
1349
- }, {
1350
- title: "fas fa-battery-full",
1351
- searchTerms: [ "power", "status" ]
1352
- }, {
1353
- title: "fas fa-battery-half",
1354
- searchTerms: [ "power", "status" ]
1355
- }, {
1356
- title: "fas fa-battery-quarter",
1357
- searchTerms: [ "power", "status" ]
1358
- }, {
1359
- title: "fas fa-battery-three-quarters",
1360
- searchTerms: [ "power", "status" ]
1361
- }, {
1362
- title: "fas fa-bed",
1363
- searchTerms: [ "lodging", "sleep", "travel" ]
1364
- }, {
1365
- title: "fas fa-beer",
1366
- searchTerms: [ "alcohol", "bar", "beverage", "drink", "liquor", "mug", "stein" ]
1367
- }, {
1368
- title: "fab fa-behance",
1369
- searchTerms: []
1370
- }, {
1371
- title: "fab fa-behance-square",
1372
- searchTerms: []
1373
- }, {
1374
- title: "fas fa-bell",
1375
- searchTerms: [ "alert", "notification", "reminder" ]
1376
- }, {
1377
- title: "far fa-bell",
1378
- searchTerms: [ "alert", "notification", "reminder" ]
1379
- }, {
1380
- title: "fas fa-bell-slash",
1381
- searchTerms: []
1382
- }, {
1383
- title: "far fa-bell-slash",
1384
- searchTerms: []
1385
- }, {
1386
- title: "fas fa-bezier-curve",
1387
- searchTerms: [ "curves", "illustrator", "lines", "path", "vector" ]
1388
- }, {
1389
- title: "fas fa-bible",
1390
- searchTerms: [ "book", "catholicism", "christianity" ]
1391
- }, {
1392
- title: "fas fa-bicycle",
1393
- searchTerms: [ "bike", "gears", "transportation", "vehicle" ]
1394
- }, {
1395
- title: "fab fa-bimobject",
1396
- searchTerms: []
1397
- }, {
1398
- title: "fas fa-binoculars",
1399
- searchTerms: []
1400
- }, {
1401
- title: "fas fa-birthday-cake",
1402
- searchTerms: []
1403
- }, {
1404
- title: "fab fa-bitbucket",
1405
- searchTerms: [ "bitbucket-square", "git" ]
1406
- }, {
1407
- title: "fab fa-bitcoin",
1408
- searchTerms: []
1409
- }, {
1410
- title: "fab fa-bity",
1411
- searchTerms: []
1412
- }, {
1413
- title: "fab fa-black-tie",
1414
- searchTerms: []
1415
- }, {
1416
- title: "fab fa-blackberry",
1417
- searchTerms: []
1418
- }, {
1419
- title: "fas fa-blender",
1420
- searchTerms: []
1421
- }, {
1422
- title: "fas fa-blender-phone",
1423
- searchTerms: [ "appliance", "fantasy", "silly" ]
1424
- }, {
1425
- title: "fas fa-blind",
1426
- searchTerms: []
1427
- }, {
1428
- title: "fab fa-blogger",
1429
- searchTerms: []
1430
- }, {
1431
- title: "fab fa-blogger-b",
1432
- searchTerms: []
1433
- }, {
1434
- title: "fab fa-bluetooth",
1435
- searchTerms: []
1436
- }, {
1437
- title: "fab fa-bluetooth-b",
1438
- searchTerms: []
1439
- }, {
1440
- title: "fas fa-bold",
1441
- searchTerms: []
1442
- }, {
1443
- title: "fas fa-bolt",
1444
- searchTerms: [ "electricity", "lightning", "weather", "zap" ]
1445
- }, {
1446
- title: "fas fa-bomb",
1447
- searchTerms: []
1448
- }, {
1449
- title: "fas fa-bone",
1450
- searchTerms: []
1451
- }, {
1452
- title: "fas fa-bong",
1453
- searchTerms: [ "aparatus", "cannabis", "marijuana", "pipe", "smoke", "smoking" ]
1454
- }, {
1455
- title: "fas fa-book",
1456
- searchTerms: [ "documentation", "read" ]
1457
- }, {
1458
- title: "fas fa-book-dead",
1459
- searchTerms: [ "Dungeons & Dragons", "crossbones", "d&d", "dark arts", "death", "dnd", "documentation", "evil", "fantasy", "halloween", "holiday", "read", "skull", "spell" ]
1460
- }, {
1461
- title: "fas fa-book-open",
1462
- searchTerms: [ "flyer", "notebook", "open book", "pamphlet", "reading" ]
1463
- }, {
1464
- title: "fas fa-book-reader",
1465
- searchTerms: [ "library" ]
1466
- }, {
1467
- title: "fas fa-bookmark",
1468
- searchTerms: [ "save" ]
1469
- }, {
1470
- title: "far fa-bookmark",
1471
- searchTerms: [ "save" ]
1472
- }, {
1473
- title: "fas fa-bowling-ball",
1474
- searchTerms: []
1475
- }, {
1476
- title: "fas fa-box",
1477
- searchTerms: [ "package" ]
1478
- }, {
1479
- title: "fas fa-box-open",
1480
- searchTerms: []
1481
- }, {
1482
- title: "fas fa-boxes",
1483
- searchTerms: []
1484
- }, {
1485
- title: "fas fa-braille",
1486
- searchTerms: []
1487
- }, {
1488
- title: "fas fa-brain",
1489
- searchTerms: [ "cerebellum", "gray matter", "intellect", "medulla oblongata", "mind", "noodle", "wit" ]
1490
- }, {
1491
- title: "fas fa-briefcase",
1492
- searchTerms: [ "bag", "business", "luggage", "office", "work" ]
1493
- }, {
1494
- title: "fas fa-briefcase-medical",
1495
- searchTerms: [ "health briefcase" ]
1496
- }, {
1497
- title: "fas fa-broadcast-tower",
1498
- searchTerms: [ "airwaves", "radio", "waves" ]
1499
- }, {
1500
- title: "fas fa-broom",
1501
- searchTerms: [ "clean", "firebolt", "fly", "halloween", "holiday", "nimbus 2000", "quidditch", "sweep", "witch" ]
1502
- }, {
1503
- title: "fas fa-brush",
1504
- searchTerms: [ "bristles", "color", "handle", "painting" ]
1505
- }, {
1506
- title: "fab fa-btc",
1507
- searchTerms: []
1508
- }, {
1509
- title: "fas fa-bug",
1510
- searchTerms: [ "insect", "report" ]
1511
- }, {
1512
- title: "fas fa-building",
1513
- searchTerms: [ "apartment", "business", "company", "office", "work" ]
1514
- }, {
1515
- title: "far fa-building",
1516
- searchTerms: [ "apartment", "business", "company", "office", "work" ]
1517
- }, {
1518
- title: "fas fa-bullhorn",
1519
- searchTerms: [ "announcement", "broadcast", "louder", "megaphone", "share" ]
1520
- }, {
1521
- title: "fas fa-bullseye",
1522
- searchTerms: [ "target" ]
1523
- }, {
1524
- title: "fas fa-burn",
1525
- searchTerms: [ "energy" ]
1526
- }, {
1527
- title: "fab fa-buromobelexperte",
1528
- searchTerms: []
1529
- }, {
1530
- title: "fas fa-bus",
1531
- searchTerms: [ "machine", "public transportation", "transportation", "vehicle" ]
1532
- }, {
1533
- title: "fas fa-bus-alt",
1534
- searchTerms: [ "machine", "public transportation", "transportation", "vehicle" ]
1535
- }, {
1536
- title: "fas fa-business-time",
1537
- searchTerms: [ "briefcase", "business socks", "clock", "flight of the conchords", "wednesday" ]
1538
- }, {
1539
- title: "fab fa-buysellads",
1540
- searchTerms: []
1541
- }, {
1542
- title: "fas fa-calculator",
1543
- searchTerms: []
1544
- }, {
1545
- title: "fas fa-calendar",
1546
- searchTerms: [ "calendar-o", "date", "event", "schedule", "time", "when" ]
1547
- }, {
1548
- title: "far fa-calendar",
1549
- searchTerms: [ "calendar-o", "date", "event", "schedule", "time", "when" ]
1550
- }, {
1551
- title: "fas fa-calendar-alt",
1552
- searchTerms: [ "calendar", "date", "event", "schedule", "time", "when" ]
1553
- }, {
1554
- title: "far fa-calendar-alt",
1555
- searchTerms: [ "calendar", "date", "event", "schedule", "time", "when" ]
1556
- }, {
1557
- title: "fas fa-calendar-check",
1558
- searchTerms: [ "accept", "agree", "appointment", "confirm", "correct", "done", "ok", "select", "success", "todo" ]
1559
- }, {
1560
- title: "far fa-calendar-check",
1561
- searchTerms: [ "accept", "agree", "appointment", "confirm", "correct", "done", "ok", "select", "success", "todo" ]
1562
- }, {
1563
- title: "fas fa-calendar-minus",
1564
- searchTerms: [ "delete", "negative", "remove" ]
1565
- }, {
1566
- title: "far fa-calendar-minus",
1567
- searchTerms: [ "delete", "negative", "remove" ]
1568
- }, {
1569
- title: "fas fa-calendar-plus",
1570
- searchTerms: [ "add", "create", "new", "positive" ]
1571
- }, {
1572
- title: "far fa-calendar-plus",
1573
- searchTerms: [ "add", "create", "new", "positive" ]
1574
- }, {
1575
- title: "fas fa-calendar-times",
1576
- searchTerms: [ "archive", "delete", "remove", "x" ]
1577
- }, {
1578
- title: "far fa-calendar-times",
1579
- searchTerms: [ "archive", "delete", "remove", "x" ]
1580
- }, {
1581
- title: "fas fa-camera",
1582
- searchTerms: [ "photo", "picture", "record" ]
1583
- }, {
1584
- title: "fas fa-camera-retro",
1585
- searchTerms: [ "photo", "picture", "record" ]
1586
- }, {
1587
- title: "fas fa-campground",
1588
- searchTerms: [ "camping", "fall", "outdoors", "seasonal", "tent" ]
1589
- }, {
1590
- title: "fas fa-cannabis",
1591
- searchTerms: [ "bud", "chronic", "drugs", "endica", "endo", "ganja", "marijuana", "mary jane", "pot", "reefer", "sativa", "spliff", "weed", "whacky-tabacky" ]
1592
- }, {
1593
- title: "fas fa-capsules",
1594
- searchTerms: [ "drugs", "medicine" ]
1595
- }, {
1596
- title: "fas fa-car",
1597
- searchTerms: [ "machine", "transportation", "vehicle" ]
1598
- }, {
1599
- title: "fas fa-car-alt",
1600
- searchTerms: []
1601
- }, {
1602
- title: "fas fa-car-battery",
1603
- searchTerms: []
1604
- }, {
1605
- title: "fas fa-car-crash",
1606
- searchTerms: []
1607
- }, {
1608
- title: "fas fa-car-side",
1609
- searchTerms: []
1610
- }, {
1611
- title: "fas fa-caret-down",
1612
- searchTerms: [ "arrow", "dropdown", "menu", "more", "triangle down" ]
1613
- }, {
1614
- title: "fas fa-caret-left",
1615
- searchTerms: [ "arrow", "back", "previous", "triangle left" ]
1616
- }, {
1617
- title: "fas fa-caret-right",
1618
- searchTerms: [ "arrow", "forward", "next", "triangle right" ]
1619
- }, {
1620
- title: "fas fa-caret-square-down",
1621
- searchTerms: [ "caret-square-o-down", "dropdown", "menu", "more" ]
1622
- }, {
1623
- title: "far fa-caret-square-down",
1624
- searchTerms: [ "caret-square-o-down", "dropdown", "menu", "more" ]
1625
- }, {
1626
- title: "fas fa-caret-square-left",
1627
- searchTerms: [ "back", "caret-square-o-left", "previous" ]
1628
- }, {
1629
- title: "far fa-caret-square-left",
1630
- searchTerms: [ "back", "caret-square-o-left", "previous" ]
1631
- }, {
1632
- title: "fas fa-caret-square-right",
1633
- searchTerms: [ "caret-square-o-right", "forward", "next" ]
1634
- }, {
1635
- title: "far fa-caret-square-right",
1636
- searchTerms: [ "caret-square-o-right", "forward", "next" ]
1637
- }, {
1638
- title: "fas fa-caret-square-up",
1639
- searchTerms: [ "caret-square-o-up" ]
1640
- }, {
1641
- title: "far fa-caret-square-up",
1642
- searchTerms: [ "caret-square-o-up" ]
1643
- }, {
1644
- title: "fas fa-caret-up",
1645
- searchTerms: [ "arrow", "triangle up" ]
1646
- }, {
1647
- title: "fas fa-cart-arrow-down",
1648
- searchTerms: [ "shopping" ]
1649
- }, {
1650
- title: "fas fa-cart-plus",
1651
- searchTerms: [ "add", "create", "new", "positive", "shopping" ]
1652
- }, {
1653
- title: "fas fa-cat",
1654
- searchTerms: [ "feline", "halloween", "holiday", "kitten", "kitty", "meow", "pet" ]
1655
- }, {
1656
- title: "fab fa-cc-amazon-pay",
1657
- searchTerms: []
1658
- }, {
1659
- title: "fab fa-cc-amex",
1660
- searchTerms: [ "amex" ]
1661
- }, {
1662
- title: "fab fa-cc-apple-pay",
1663
- searchTerms: []
1664
- }, {
1665
- title: "fab fa-cc-diners-club",
1666
- searchTerms: []
1667
- }, {
1668
- title: "fab fa-cc-discover",
1669
- searchTerms: []
1670
- }, {
1671
- title: "fab fa-cc-jcb",
1672
- searchTerms: []
1673
- }, {
1674
- title: "fab fa-cc-mastercard",
1675
- searchTerms: []
1676
- }, {
1677
- title: "fab fa-cc-paypal",
1678
- searchTerms: []
1679
- }, {
1680
- title: "fab fa-cc-stripe",
1681
- searchTerms: []
1682
- }, {
1683
- title: "fab fa-cc-visa",
1684
- searchTerms: []
1685
- }, {
1686
- title: "fab fa-centercode",
1687
- searchTerms: []
1688
- }, {
1689
- title: "fas fa-certificate",
1690
- searchTerms: [ "badge", "star" ]
1691
- }, {
1692
- title: "fas fa-chair",
1693
- searchTerms: [ "furniture", "seat" ]
1694
- }, {
1695
- title: "fas fa-chalkboard",
1696
- searchTerms: [ "blackboard", "learning", "school", "teaching", "whiteboard", "writing" ]
1697
- }, {
1698
- title: "fas fa-chalkboard-teacher",
1699
- searchTerms: [ "blackboard", "instructor", "learning", "professor", "school", "whiteboard", "writing" ]
1700
- }, {
1701
- title: "fas fa-charging-station",
1702
- searchTerms: []
1703
- }, {
1704
- title: "fas fa-chart-area",
1705
- searchTerms: [ "analytics", "area-chart", "graph" ]
1706
- }, {
1707
- title: "fas fa-chart-bar",
1708
- searchTerms: [ "analytics", "bar-chart", "graph" ]
1709
- }, {
1710
- title: "far fa-chart-bar",
1711
- searchTerms: [ "analytics", "bar-chart", "graph" ]
1712
- }, {
1713
- title: "fas fa-chart-line",
1714
- searchTerms: [ "activity", "analytics", "dashboard", "graph", "line-chart" ]
1715
- }, {
1716
- title: "fas fa-chart-pie",
1717
- searchTerms: [ "analytics", "graph", "pie-chart" ]
1718
- }, {
1719
- title: "fas fa-check",
1720
- searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "notice", "notification", "notify", "ok", "select", "success", "tick", "todo", "yes" ]
1721
- }, {
1722
- title: "fas fa-check-circle",
1723
- searchTerms: [ "accept", "agree", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1724
- }, {
1725
- title: "far fa-check-circle",
1726
- searchTerms: [ "accept", "agree", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1727
- }, {
1728
- title: "fas fa-check-double",
1729
- searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "notice", "notification", "notify", "ok", "select", "success", "tick", "todo" ]
1730
- }, {
1731
- title: "fas fa-check-square",
1732
- searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1733
- }, {
1734
- title: "far fa-check-square",
1735
- searchTerms: [ "accept", "agree", "checkmark", "confirm", "correct", "done", "ok", "select", "success", "todo", "yes" ]
1736
- }, {
1737
- title: "fas fa-chess",
1738
- searchTerms: []
1739
- }, {
1740
- title: "fas fa-chess-bishop",
1741
- searchTerms: []
1742
- }, {
1743
- title: "fas fa-chess-board",
1744
- searchTerms: []
1745
- }, {
1746
- title: "fas fa-chess-king",
1747
- searchTerms: []
1748
- }, {
1749
- title: "fas fa-chess-knight",
1750
- searchTerms: []
1751
- }, {
1752
- title: "fas fa-chess-pawn",
1753
- searchTerms: []
1754
- }, {
1755
- title: "fas fa-chess-queen",
1756
- searchTerms: []
1757
- }, {
1758
- title: "fas fa-chess-rook",
1759
- searchTerms: []
1760
- }, {
1761
- title: "fas fa-chevron-circle-down",
1762
- searchTerms: [ "arrow", "dropdown", "menu", "more" ]
1763
- }, {
1764
- title: "fas fa-chevron-circle-left",
1765
- searchTerms: [ "arrow", "back", "previous" ]
1766
- }, {
1767
- title: "fas fa-chevron-circle-right",
1768
- searchTerms: [ "arrow", "forward", "next" ]
1769
- }, {
1770
- title: "fas fa-chevron-circle-up",
1771
- searchTerms: [ "arrow" ]
1772
- }, {
1773
- title: "fas fa-chevron-down",
1774
- searchTerms: []
1775
- }, {
1776
- title: "fas fa-chevron-left",
1777
- searchTerms: [ "back", "bracket", "previous" ]
1778
- }, {
1779
- title: "fas fa-chevron-right",
1780
- searchTerms: [ "bracket", "forward", "next" ]
1781
- }, {
1782
- title: "fas fa-chevron-up",
1783
- searchTerms: []
1784
- }, {
1785
- title: "fas fa-child",
1786
- searchTerms: []
1787
- }, {
1788
- title: "fab fa-chrome",
1789
- searchTerms: [ "browser" ]
1790
- }, {
1791
- title: "fas fa-church",
1792
- searchTerms: [ "building", "community", "religion" ]
1793
- }, {
1794
- title: "fas fa-circle",
1795
- searchTerms: [ "circle-thin", "dot", "notification" ]
1796
- }, {
1797
- title: "far fa-circle",
1798
- searchTerms: [ "circle-thin", "dot", "notification" ]
1799
- }, {
1800
- title: "fas fa-circle-notch",
1801
- searchTerms: [ "circle-o-notch" ]
1802
- }, {
1803
- title: "fas fa-city",
1804
- searchTerms: [ "buildings", "busy", "skyscrapers", "urban", "windows" ]
1805
- }, {
1806
- title: "fas fa-clipboard",
1807
- searchTerms: [ "paste" ]
1808
- }, {
1809
- title: "far fa-clipboard",
1810
- searchTerms: [ "paste" ]
1811
- }, {
1812
- title: "fas fa-clipboard-check",
1813
- searchTerms: [ "accept", "agree", "confirm", "done", "ok", "select", "success", "todo", "yes" ]
1814
- }, {
1815
- title: "fas fa-clipboard-list",
1816
- searchTerms: [ "checklist", "completed", "done", "finished", "intinerary", "ol", "schedule", "todo", "ul" ]
1817
- }, {
1818
- title: "fas fa-clock",
1819
- searchTerms: [ "date", "late", "schedule", "timer", "timestamp", "watch" ]
1820
- }, {
1821
- title: "far fa-clock",
1822
- searchTerms: [ "date", "late", "schedule", "timer", "timestamp", "watch" ]
1823
- }, {
1824
- title: "fas fa-clone",
1825
- searchTerms: [ "copy", "duplicate" ]
1826
- }, {
1827
- title: "far fa-clone",
1828
- searchTerms: [ "copy", "duplicate" ]
1829
- }, {
1830
- title: "fas fa-closed-captioning",
1831
- searchTerms: [ "cc" ]
1832
- }, {
1833
- title: "far fa-closed-captioning",
1834
- searchTerms: [ "cc" ]
1835
- }, {
1836
- title: "fas fa-cloud",
1837
- searchTerms: [ "save" ]
1838
- }, {
1839
- title: "fas fa-cloud-download-alt",
1840
- searchTerms: [ "import" ]
1841
- }, {
1842
- title: "fas fa-cloud-meatball",
1843
- searchTerms: []
1844
- }, {
1845
- title: "fas fa-cloud-moon",
1846
- searchTerms: [ "crescent", "evening", "halloween", "holiday", "lunar", "night", "sky" ]
1847
- }, {
1848
- title: "fas fa-cloud-moon-rain",
1849
- searchTerms: []
1850
- }, {
1851
- title: "fas fa-cloud-rain",
1852
- searchTerms: [ "precipitation" ]
1853
- }, {
1854
- title: "fas fa-cloud-showers-heavy",
1855
- searchTerms: [ "precipitation", "rain", "storm" ]
1856
- }, {
1857
- title: "fas fa-cloud-sun",
1858
- searchTerms: [ "day", "daytime", "fall", "outdoors", "seasonal" ]
1859
- }, {
1860
- title: "fas fa-cloud-sun-rain",
1861
- searchTerms: []
1862
- }, {
1863
- title: "fas fa-cloud-upload-alt",
1864
- searchTerms: [ "cloud-upload" ]
1865
- }, {
1866
- title: "fab fa-cloudscale",
1867
- searchTerms: []
1868
- }, {
1869
- title: "fab fa-cloudsmith",
1870
- searchTerms: []
1871
- }, {
1872
- title: "fab fa-cloudversify",
1873
- searchTerms: []
1874
- }, {
1875
- title: "fas fa-cocktail",
1876
- searchTerms: [ "alcohol", "beverage", "drink" ]
1877
- }, {
1878
- title: "fas fa-code",
1879
- searchTerms: [ "brackets", "html" ]
1880
- }, {
1881
- title: "fas fa-code-branch",
1882
- searchTerms: [ "branch", "code-fork", "fork", "git", "github", "rebase", "svn", "vcs", "version" ]
1883
- }, {
1884
- title: "fab fa-codepen",
1885
- searchTerms: []
1886
- }, {
1887
- title: "fab fa-codiepie",
1888
- searchTerms: []
1889
- }, {
1890
- title: "fas fa-coffee",
1891
- searchTerms: [ "beverage", "breakfast", "cafe", "drink", "fall", "morning", "mug", "seasonal", "tea" ]
1892
- }, {
1893
- title: "fas fa-cog",
1894
- searchTerms: [ "settings" ]
1895
- }, {
1896
- title: "fas fa-cogs",
1897
- searchTerms: [ "gears", "settings" ]
1898
- }, {
1899
- title: "fas fa-coins",
1900
- searchTerms: []
1901
- }, {
1902
- title: "fas fa-columns",
1903
- searchTerms: [ "dashboard", "panes", "split" ]
1904
- }, {
1905
- title: "fas fa-comment",
1906
- searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1907
- }, {
1908
- title: "far fa-comment",
1909
- searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1910
- }, {
1911
- title: "fas fa-comment-alt",
1912
- searchTerms: [ "bubble", "chat", "commenting", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1913
- }, {
1914
- title: "far fa-comment-alt",
1915
- searchTerms: [ "bubble", "chat", "commenting", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1916
- }, {
1917
- title: "fas fa-comment-dollar",
1918
- searchTerms: []
1919
- }, {
1920
- title: "fas fa-comment-dots",
1921
- searchTerms: []
1922
- }, {
1923
- title: "far fa-comment-dots",
1924
- searchTerms: []
1925
- }, {
1926
- title: "fas fa-comment-slash",
1927
- searchTerms: []
1928
- }, {
1929
- title: "fas fa-comments",
1930
- searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1931
- }, {
1932
- title: "far fa-comments",
1933
- searchTerms: [ "bubble", "chat", "conversation", "feedback", "message", "note", "notification", "sms", "speech", "texting" ]
1934
- }, {
1935
- title: "fas fa-comments-dollar",
1936
- searchTerms: []
1937
- }, {
1938
- title: "fas fa-compact-disc",
1939
- searchTerms: [ "bluray", "cd", "disc", "media" ]
1940
- }, {
1941
- title: "fas fa-compass",
1942
- searchTerms: [ "directory", "location", "menu", "safari" ]
1943
- }, {
1944
- title: "far fa-compass",
1945
- searchTerms: [ "directory", "location", "menu", "safari" ]
1946
- }, {
1947
- title: "fas fa-compress",
1948
- searchTerms: [ "collapse", "combine", "contract", "merge", "smaller" ]
1949
- }, {
1950
- title: "fas fa-concierge-bell",
1951
- searchTerms: [ "attention", "hotel", "service", "support" ]
1952
- }, {
1953
- title: "fab fa-connectdevelop",
1954
- searchTerms: []
1955
- }, {
1956
- title: "fab fa-contao",
1957
- searchTerms: []
1958
- }, {
1959
- title: "fas fa-cookie",
1960
- searchTerms: [ "baked good", "chips", "food", "snack", "sweet", "treat" ]
1961
- }, {
1962
- title: "fas fa-cookie-bite",
1963
- searchTerms: [ "baked good", "bitten", "chips", "eating", "food", "snack", "sweet", "treat" ]
1964
- }, {
1965
- title: "fas fa-copy",
1966
- searchTerms: [ "clone", "duplicate", "file", "files-o" ]
1967
- }, {
1968
- title: "far fa-copy",
1969
- searchTerms: [ "clone", "duplicate", "file", "files-o" ]
1970
- }, {
1971
- title: "fas fa-copyright",
1972
- searchTerms: []
1973
- }, {
1974
- title: "far fa-copyright",
1975
- searchTerms: []
1976
- }, {
1977
- title: "fas fa-couch",
1978
- searchTerms: [ "furniture", "sofa" ]
1979
- }, {
1980
- title: "fab fa-cpanel",
1981
- searchTerms: []
1982
- }, {
1983
- title: "fab fa-creative-commons",
1984
- searchTerms: []
1985
- }, {
1986
- title: "fab fa-creative-commons-by",
1987
- searchTerms: []
1988
- }, {
1989
- title: "fab fa-creative-commons-nc",
1990
- searchTerms: []
1991
- }, {
1992
- title: "fab fa-creative-commons-nc-eu",
1993
- searchTerms: []
1994
- }, {
1995
- title: "fab fa-creative-commons-nc-jp",
1996
- searchTerms: []
1997
- }, {
1998
- title: "fab fa-creative-commons-nd",
1999
- searchTerms: []
2000
- }, {
2001
- title: "fab fa-creative-commons-pd",
2002
- searchTerms: []
2003
- }, {
2004
- title: "fab fa-creative-commons-pd-alt",
2005
- searchTerms: []
2006
- }, {
2007
- title: "fab fa-creative-commons-remix",
2008
- searchTerms: []
2009
- }, {
2010
- title: "fab fa-creative-commons-sa",
2011
- searchTerms: []
2012
- }, {
2013
- title: "fab fa-creative-commons-sampling",
2014
- searchTerms: []
2015
- }, {
2016
- title: "fab fa-creative-commons-sampling-plus",
2017
- searchTerms: []
2018
- }, {
2019
- title: "fab fa-creative-commons-share",
2020
- searchTerms: []
2021
- }, {
2022
- title: "fab fa-creative-commons-zero",
2023
- searchTerms: []
2024
- }, {
2025
- title: "fas fa-credit-card",
2026
- searchTerms: [ "buy", "checkout", "credit-card-alt", "debit", "money", "payment", "purchase" ]
2027
- }, {
2028
- title: "far fa-credit-card",
2029
- searchTerms: [ "buy", "checkout", "credit-card-alt", "debit", "money", "payment", "purchase" ]
2030
- }, {
2031
- title: "fab fa-critical-role",
2032
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
2033
- }, {
2034
- title: "fas fa-crop",
2035
- searchTerms: [ "design" ]
2036
- }, {
2037
- title: "fas fa-crop-alt",
2038
- searchTerms: []
2039
- }, {
2040
- title: "fas fa-cross",
2041
- searchTerms: [ "catholicism", "christianity" ]
2042
- }, {
2043
- title: "fas fa-crosshairs",
2044
- searchTerms: [ "gpd", "picker", "position" ]
2045
- }, {
2046
- title: "fas fa-crow",
2047
- searchTerms: [ "bird", "bullfrog", "fauna", "halloween", "holiday", "toad" ]
2048
- }, {
2049
- title: "fas fa-crown",
2050
- searchTerms: []
2051
- }, {
2052
- title: "fab fa-css3",
2053
- searchTerms: [ "code" ]
2054
- }, {
2055
- title: "fab fa-css3-alt",
2056
- searchTerms: []
2057
- }, {
2058
- title: "fas fa-cube",
2059
- searchTerms: [ "package" ]
2060
- }, {
2061
- title: "fas fa-cubes",
2062
- searchTerms: [ "packages" ]
2063
- }, {
2064
- title: "fas fa-cut",
2065
- searchTerms: [ "scissors" ]
2066
- }, {
2067
- title: "fab fa-cuttlefish",
2068
- searchTerms: []
2069
- }, {
2070
- title: "fab fa-d-and-d",
2071
- searchTerms: []
2072
- }, {
2073
- title: "fab fa-d-and-d-beyond",
2074
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "gaming", "tabletop" ]
2075
- }, {
2076
- title: "fab fa-dashcube",
2077
- searchTerms: []
2078
- }, {
2079
- title: "fas fa-database",
2080
- searchTerms: []
2081
- }, {
2082
- title: "fas fa-deaf",
2083
- searchTerms: []
2084
- }, {
2085
- title: "fab fa-delicious",
2086
- searchTerms: []
2087
- }, {
2088
- title: "fas fa-democrat",
2089
- searchTerms: [ "american", "democratic party", "donkey", "election", "left", "left-wing", "liberal", "politics", "usa" ]
2090
- }, {
2091
- title: "fab fa-deploydog",
2092
- searchTerms: []
2093
- }, {
2094
- title: "fab fa-deskpro",
2095
- searchTerms: []
2096
- }, {
2097
- title: "fas fa-desktop",
2098
- searchTerms: [ "computer", "cpu", "demo", "desktop", "device", "machine", "monitor", "pc", "screen" ]
2099
- }, {
2100
- title: "fab fa-dev",
2101
- searchTerms: []
2102
- }, {
2103
- title: "fab fa-deviantart",
2104
- searchTerms: []
2105
- }, {
2106
- title: "fas fa-dharmachakra",
2107
- searchTerms: [ "buddhism", "buddhist", "wheel of dharma" ]
2108
- }, {
2109
- title: "fas fa-diagnoses",
2110
- searchTerms: []
2111
- }, {
2112
- title: "fas fa-dice",
2113
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2114
- }, {
2115
- title: "fas fa-dice-d20",
2116
- searchTerms: [ "Dungeons & Dragons", "chance", "d&d", "dnd", "fantasy", "gambling", "game", "roll" ]
2117
- }, {
2118
- title: "fas fa-dice-d6",
2119
- searchTerms: [ "Dungeons & Dragons", "chance", "d&d", "dnd", "fantasy", "gambling", "game", "roll" ]
2120
- }, {
2121
- title: "fas fa-dice-five",
2122
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2123
- }, {
2124
- title: "fas fa-dice-four",
2125
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2126
- }, {
2127
- title: "fas fa-dice-one",
2128
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2129
- }, {
2130
- title: "fas fa-dice-six",
2131
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2132
- }, {
2133
- title: "fas fa-dice-three",
2134
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2135
- }, {
2136
- title: "fas fa-dice-two",
2137
- searchTerms: [ "chance", "gambling", "game", "roll" ]
2138
- }, {
2139
- title: "fab fa-digg",
2140
- searchTerms: []
2141
- }, {
2142
- title: "fab fa-digital-ocean",
2143
- searchTerms: []
2144
- }, {
2145
- title: "fas fa-digital-tachograph",
2146
- searchTerms: []
2147
- }, {
2148
- title: "fas fa-directions",
2149
- searchTerms: []
2150
- }, {
2151
- title: "fab fa-discord",
2152
- searchTerms: []
2153
- }, {
2154
- title: "fab fa-discourse",
2155
- searchTerms: []
2156
- }, {
2157
- title: "fas fa-divide",
2158
- searchTerms: []
2159
- }, {
2160
- title: "fas fa-dizzy",
2161
- searchTerms: [ "dazed", "disapprove", "emoticon", "face" ]
2162
- }, {
2163
- title: "far fa-dizzy",
2164
- searchTerms: [ "dazed", "disapprove", "emoticon", "face" ]
2165
- }, {
2166
- title: "fas fa-dna",
2167
- searchTerms: [ "double helix", "helix" ]
2168
- }, {
2169
- title: "fab fa-dochub",
2170
- searchTerms: []
2171
- }, {
2172
- title: "fab fa-docker",
2173
- searchTerms: []
2174
- }, {
2175
- title: "fas fa-dog",
2176
- searchTerms: [ "canine", "fauna", "mammmal", "pet", "pooch", "puppy", "woof" ]
2177
- }, {
2178
- title: "fas fa-dollar-sign",
2179
- searchTerms: [ "$", "dollar-sign", "money", "price", "usd" ]
2180
- }, {
2181
- title: "fas fa-dolly",
2182
- searchTerms: []
2183
- }, {
2184
- title: "fas fa-dolly-flatbed",
2185
- searchTerms: []
2186
- }, {
2187
- title: "fas fa-donate",
2188
- searchTerms: [ "generosity", "give" ]
2189
- }, {
2190
- title: "fas fa-door-closed",
2191
- searchTerms: []
2192
- }, {
2193
- title: "fas fa-door-open",
2194
- searchTerms: []
2195
- }, {
2196
- title: "fas fa-dot-circle",
2197
- searchTerms: [ "bullseye", "notification", "target" ]
2198
- }, {
2199
- title: "far fa-dot-circle",
2200
- searchTerms: [ "bullseye", "notification", "target" ]
2201
- }, {
2202
- title: "fas fa-dove",
2203
- searchTerms: [ "bird", "fauna", "flying", "peace" ]
2204
- }, {
2205
- title: "fas fa-download",
2206
- searchTerms: [ "import" ]
2207
- }, {
2208
- title: "fab fa-draft2digital",
2209
- searchTerms: []
2210
- }, {
2211
- title: "fas fa-drafting-compass",
2212
- searchTerms: [ "mechanical drawing", "plot", "plotting" ]
2213
- }, {
2214
- title: "fas fa-dragon",
2215
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy" ]
2216
- }, {
2217
- title: "fas fa-draw-polygon",
2218
- searchTerms: []
2219
- }, {
2220
- title: "fab fa-dribbble",
2221
- searchTerms: []
2222
- }, {
2223
- title: "fab fa-dribbble-square",
2224
- searchTerms: []
2225
- }, {
2226
- title: "fab fa-dropbox",
2227
- searchTerms: []
2228
- }, {
2229
- title: "fas fa-drum",
2230
- searchTerms: [ "instrument", "music", "percussion", "snare", "sound" ]
2231
- }, {
2232
- title: "fas fa-drum-steelpan",
2233
- searchTerms: [ "calypso", "instrument", "music", "percussion", "reggae", "snare", "sound", "steel", "tropical" ]
2234
- }, {
2235
- title: "fas fa-drumstick-bite",
2236
- searchTerms: []
2237
- }, {
2238
- title: "fab fa-drupal",
2239
- searchTerms: []
2240
- }, {
2241
- title: "fas fa-dumbbell",
2242
- searchTerms: [ "exercise", "gym", "strength", "weight", "weight-lifting" ]
2243
- }, {
2244
- title: "fas fa-dungeon",
2245
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "door", "entrance", "fantasy", "gate" ]
2246
- }, {
2247
- title: "fab fa-dyalog",
2248
- searchTerms: []
2249
- }, {
2250
- title: "fab fa-earlybirds",
2251
- searchTerms: []
2252
- }, {
2253
- title: "fab fa-ebay",
2254
- searchTerms: []
2255
- }, {
2256
- title: "fab fa-edge",
2257
- searchTerms: [ "browser", "ie" ]
2258
- }, {
2259
- title: "fas fa-edit",
2260
- searchTerms: [ "edit", "pen", "pencil", "update", "write" ]
2261
- }, {
2262
- title: "far fa-edit",
2263
- searchTerms: [ "edit", "pen", "pencil", "update", "write" ]
2264
- }, {
2265
- title: "fas fa-eject",
2266
- searchTerms: []
2267
- }, {
2268
- title: "fab fa-elementor",
2269
- searchTerms: []
2270
- }, {
2271
- title: "fas fa-ellipsis-h",
2272
- searchTerms: [ "dots", "drag", "kebab", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "ul" ]
2273
- }, {
2274
- title: "fas fa-ellipsis-v",
2275
- searchTerms: [ "dots", "drag", "kebab", "list", "menu", "nav", "navigation", "ol", "reorder", "settings", "ul" ]
2276
- }, {
2277
- title: "fab fa-ello",
2278
- searchTerms: []
2279
- }, {
2280
- title: "fab fa-ember",
2281
- searchTerms: []
2282
- }, {
2283
- title: "fab fa-empire",
2284
- searchTerms: []
2285
- }, {
2286
- title: "fas fa-envelope",
2287
- searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2288
- }, {
2289
- title: "far fa-envelope",
2290
- searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2291
- }, {
2292
- title: "fas fa-envelope-open",
2293
- searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2294
- }, {
2295
- title: "far fa-envelope-open",
2296
- searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2297
- }, {
2298
- title: "fas fa-envelope-open-text",
2299
- searchTerms: []
2300
- }, {
2301
- title: "fas fa-envelope-square",
2302
- searchTerms: [ "e-mail", "email", "letter", "mail", "message", "notification", "support" ]
2303
- }, {
2304
- title: "fab fa-envira",
2305
- searchTerms: [ "leaf" ]
2306
- }, {
2307
- title: "fas fa-equals",
2308
- searchTerms: []
2309
- }, {
2310
- title: "fas fa-eraser",
2311
- searchTerms: [ "delete", "remove" ]
2312
- }, {
2313
- title: "fab fa-erlang",
2314
- searchTerms: []
2315
- }, {
2316
- title: "fab fa-ethereum",
2317
- searchTerms: []
2318
- }, {
2319
- title: "fab fa-etsy",
2320
- searchTerms: []
2321
- }, {
2322
- title: "fas fa-euro-sign",
2323
- searchTerms: [ "eur" ]
2324
- }, {
2325
- title: "fas fa-exchange-alt",
2326
- searchTerms: [ "arrow", "arrows", "exchange", "reciprocate", "return", "swap", "transfer" ]
2327
- }, {
2328
- title: "fas fa-exclamation",
2329
- searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2330
- }, {
2331
- title: "fas fa-exclamation-circle",
2332
- searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2333
- }, {
2334
- title: "fas fa-exclamation-triangle",
2335
- searchTerms: [ "alert", "danger", "error", "important", "notice", "notification", "notify", "problem", "warning" ]
2336
- }, {
2337
- title: "fas fa-expand",
2338
- searchTerms: [ "bigger", "enlarge", "resize" ]
2339
- }, {
2340
- title: "fas fa-expand-arrows-alt",
2341
- searchTerms: [ "arrows-alt", "bigger", "enlarge", "move", "resize" ]
2342
- }, {
2343
- title: "fab fa-expeditedssl",
2344
- searchTerms: []
2345
- }, {
2346
- title: "fas fa-external-link-alt",
2347
- searchTerms: [ "external-link", "new", "open" ]
2348
- }, {
2349
- title: "fas fa-external-link-square-alt",
2350
- searchTerms: [ "external-link-square", "new", "open" ]
2351
- }, {
2352
- title: "fas fa-eye",
2353
- searchTerms: [ "optic", "see", "seen", "show", "sight", "views", "visible" ]
2354
- }, {
2355
- title: "far fa-eye",
2356
- searchTerms: [ "optic", "see", "seen", "show", "sight", "views", "visible" ]
2357
- }, {
2358
- title: "fas fa-eye-dropper",
2359
- searchTerms: [ "eyedropper" ]
2360
- }, {
2361
- title: "fas fa-eye-slash",
2362
- searchTerms: [ "blind", "hide", "show", "toggle", "unseen", "views", "visible", "visiblity" ]
2363
- }, {
2364
- title: "far fa-eye-slash",
2365
- searchTerms: [ "blind", "hide", "show", "toggle", "unseen", "views", "visible", "visiblity" ]
2366
- }, {
2367
- title: "fab fa-facebook",
2368
- searchTerms: [ "facebook-official", "social network" ]
2369
- }, {
2370
- title: "fab fa-facebook-f",
2371
- searchTerms: [ "facebook" ]
2372
- }, {
2373
- title: "fab fa-facebook-messenger",
2374
- searchTerms: []
2375
- }, {
2376
- title: "fab fa-facebook-square",
2377
- searchTerms: [ "social network" ]
2378
- }, {
2379
- title: "fab fa-fantasy-flight-games",
2380
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
2381
- }, {
2382
- title: "fas fa-fast-backward",
2383
- searchTerms: [ "beginning", "first", "previous", "rewind", "start" ]
2384
- }, {
2385
- title: "fas fa-fast-forward",
2386
- searchTerms: [ "end", "last", "next" ]
2387
- }, {
2388
- title: "fas fa-fax",
2389
- searchTerms: []
2390
- }, {
2391
- title: "fas fa-feather",
2392
- searchTerms: [ "bird", "light", "plucked", "quill" ]
2393
- }, {
2394
- title: "fas fa-feather-alt",
2395
- searchTerms: [ "bird", "light", "plucked", "quill" ]
2396
- }, {
2397
- title: "fas fa-female",
2398
- searchTerms: [ "human", "person", "profile", "user", "woman" ]
2399
- }, {
2400
- title: "fas fa-fighter-jet",
2401
- searchTerms: [ "airplane", "fast", "fly", "goose", "maverick", "plane", "quick", "top gun", "transportation", "travel" ]
2402
- }, {
2403
- title: "fas fa-file",
2404
- searchTerms: [ "document", "new", "page", "pdf", "resume" ]
2405
- }, {
2406
- title: "far fa-file",
2407
- searchTerms: [ "document", "new", "page", "pdf", "resume" ]
2408
- }, {
2409
- title: "fas fa-file-alt",
2410
- searchTerms: [ "document", "file-text", "invoice", "new", "page", "pdf" ]
2411
- }, {
2412
- title: "far fa-file-alt",
2413
- searchTerms: [ "document", "file-text", "invoice", "new", "page", "pdf" ]
2414
- }, {
2415
- title: "fas fa-file-archive",
2416
- searchTerms: [ ".zip", "bundle", "compress", "compression", "download", "zip" ]
2417
- }, {
2418
- title: "far fa-file-archive",
2419
- searchTerms: [ ".zip", "bundle", "compress", "compression", "download", "zip" ]
2420
- }, {
2421
- title: "fas fa-file-audio",
2422
- searchTerms: []
2423
- }, {
2424
- title: "far fa-file-audio",
2425
- searchTerms: []
2426
- }, {
2427
- title: "fas fa-file-code",
2428
- searchTerms: []
2429
- }, {
2430
- title: "far fa-file-code",
2431
- searchTerms: []
2432
- }, {
2433
- title: "fas fa-file-contract",
2434
- searchTerms: [ "agreement", "binding", "document", "legal", "signature" ]
2435
- }, {
2436
- title: "fas fa-file-csv",
2437
- searchTerms: [ "spreadsheets" ]
2438
- }, {
2439
- title: "fas fa-file-download",
2440
- searchTerms: []
2441
- }, {
2442
- title: "fas fa-file-excel",
2443
- searchTerms: []
2444
- }, {
2445
- title: "far fa-file-excel",
2446
- searchTerms: []
2447
- }, {
2448
- title: "fas fa-file-export",
2449
- searchTerms: []
2450
- }, {
2451
- title: "fas fa-file-image",
2452
- searchTerms: []
2453
- }, {
2454
- title: "far fa-file-image",
2455
- searchTerms: []
2456
- }, {
2457
- title: "fas fa-file-import",
2458
- searchTerms: []
2459
- }, {
2460
- title: "fas fa-file-invoice",
2461
- searchTerms: [ "bill", "document", "receipt" ]
2462
- }, {
2463
- title: "fas fa-file-invoice-dollar",
2464
- searchTerms: [ "$", "bill", "document", "dollar-sign", "money", "receipt", "usd" ]
2465
- }, {
2466
- title: "fas fa-file-medical",
2467
- searchTerms: []
2468
- }, {
2469
- title: "fas fa-file-medical-alt",
2470
- searchTerms: []
2471
- }, {
2472
- title: "fas fa-file-pdf",
2473
- searchTerms: []
2474
- }, {
2475
- title: "far fa-file-pdf",
2476
- searchTerms: []
2477
- }, {
2478
- title: "fas fa-file-powerpoint",
2479
- searchTerms: []
2480
- }, {
2481
- title: "far fa-file-powerpoint",
2482
- searchTerms: []
2483
- }, {
2484
- title: "fas fa-file-prescription",
2485
- searchTerms: [ "drugs", "medical", "medicine", "rx" ]
2486
- }, {
2487
- title: "fas fa-file-signature",
2488
- searchTerms: [ "John Hancock", "contract", "document", "name" ]
2489
- }, {
2490
- title: "fas fa-file-upload",
2491
- searchTerms: []
2492
- }, {
2493
- title: "fas fa-file-video",
2494
- searchTerms: []
2495
- }, {
2496
- title: "far fa-file-video",
2497
- searchTerms: []
2498
- }, {
2499
- title: "fas fa-file-word",
2500
- searchTerms: []
2501
- }, {
2502
- title: "far fa-file-word",
2503
- searchTerms: []
2504
- }, {
2505
- title: "fas fa-fill",
2506
- searchTerms: [ "bucket", "color", "paint", "paint bucket" ]
2507
- }, {
2508
- title: "fas fa-fill-drip",
2509
- searchTerms: [ "bucket", "color", "drop", "paint", "paint bucket", "spill" ]
2510
- }, {
2511
- title: "fas fa-film",
2512
- searchTerms: [ "movie" ]
2513
- }, {
2514
- title: "fas fa-filter",
2515
- searchTerms: [ "funnel", "options" ]
2516
- }, {
2517
- title: "fas fa-fingerprint",
2518
- searchTerms: [ "human", "id", "identification", "lock", "smudge", "touch", "unique", "unlock" ]
2519
- }, {
2520
- title: "fas fa-fire",
2521
- searchTerms: [ "caliente", "flame", "heat", "hot", "popular" ]
2522
- }, {
2523
- title: "fas fa-fire-extinguisher",
2524
- searchTerms: []
2525
- }, {
2526
- title: "fab fa-firefox",
2527
- searchTerms: [ "browser" ]
2528
- }, {
2529
- title: "fas fa-first-aid",
2530
- searchTerms: []
2531
- }, {
2532
- title: "fab fa-first-order",
2533
- searchTerms: []
2534
- }, {
2535
- title: "fab fa-first-order-alt",
2536
- searchTerms: []
2537
- }, {
2538
- title: "fab fa-firstdraft",
2539
- searchTerms: []
2540
- }, {
2541
- title: "fas fa-fish",
2542
- searchTerms: [ "fauna", "gold", "swimming" ]
2543
- }, {
2544
- title: "fas fa-fist-raised",
2545
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "hand", "ki", "monk", "resist", "strength", "unarmed combat" ]
2546
- }, {
2547
- title: "fas fa-flag",
2548
- searchTerms: [ "country", "notice", "notification", "notify", "pole", "report", "symbol" ]
2549
- }, {
2550
- title: "far fa-flag",
2551
- searchTerms: [ "country", "notice", "notification", "notify", "pole", "report", "symbol" ]
2552
- }, {
2553
- title: "fas fa-flag-checkered",
2554
- searchTerms: [ "notice", "notification", "notify", "pole", "racing", "report", "symbol" ]
2555
- }, {
2556
- title: "fas fa-flag-usa",
2557
- searchTerms: [ "betsy ross", "country", "old glory", "stars", "stripes", "symbol" ]
2558
- }, {
2559
- title: "fas fa-flask",
2560
- searchTerms: [ "beaker", "experimental", "labs", "science" ]
2561
- }, {
2562
- title: "fab fa-flickr",
2563
- searchTerms: []
2564
- }, {
2565
- title: "fab fa-flipboard",
2566
- searchTerms: []
2567
- }, {
2568
- title: "fas fa-flushed",
2569
- searchTerms: [ "embarrassed", "emoticon", "face" ]
2570
- }, {
2571
- title: "far fa-flushed",
2572
- searchTerms: [ "embarrassed", "emoticon", "face" ]
2573
- }, {
2574
- title: "fab fa-fly",
2575
- searchTerms: []
2576
- }, {
2577
- title: "fas fa-folder",
2578
- searchTerms: []
2579
- }, {
2580
- title: "far fa-folder",
2581
- searchTerms: []
2582
- }, {
2583
- title: "fas fa-folder-minus",
2584
- searchTerms: [ "archive", "delete", "negative", "remove" ]
2585
- }, {
2586
- title: "fas fa-folder-open",
2587
- searchTerms: []
2588
- }, {
2589
- title: "far fa-folder-open",
2590
- searchTerms: []
2591
- }, {
2592
- title: "fas fa-folder-plus",
2593
- searchTerms: [ "add", "create", "new", "positive" ]
2594
- }, {
2595
- title: "fas fa-font",
2596
- searchTerms: [ "text" ]
2597
- }, {
2598
- title: "fab fa-font-awesome",
2599
- searchTerms: [ "meanpath" ]
2600
- }, {
2601
- title: "fab fa-font-awesome-alt",
2602
- searchTerms: []
2603
- }, {
2604
- title: "fab fa-font-awesome-flag",
2605
- searchTerms: []
2606
- }, {
2607
- title: "far fa-font-awesome-logo-full",
2608
- searchTerms: []
2609
- }, {
2610
- title: "fas fa-font-awesome-logo-full",
2611
- searchTerms: []
2612
- }, {
2613
- title: "fab fa-font-awesome-logo-full",
2614
- searchTerms: []
2615
- }, {
2616
- title: "fab fa-fonticons",
2617
- searchTerms: []
2618
- }, {
2619
- title: "fab fa-fonticons-fi",
2620
- searchTerms: []
2621
- }, {
2622
- title: "fas fa-football-ball",
2623
- searchTerms: [ "fall", "pigskin", "seasonal" ]
2624
- }, {
2625
- title: "fab fa-fort-awesome",
2626
- searchTerms: [ "castle" ]
2627
- }, {
2628
- title: "fab fa-fort-awesome-alt",
2629
- searchTerms: [ "castle" ]
2630
- }, {
2631
- title: "fab fa-forumbee",
2632
- searchTerms: []
2633
- }, {
2634
- title: "fas fa-forward",
2635
- searchTerms: [ "forward", "next" ]
2636
- }, {
2637
- title: "fab fa-foursquare",
2638
- searchTerms: []
2639
- }, {
2640
- title: "fab fa-free-code-camp",
2641
- searchTerms: []
2642
- }, {
2643
- title: "fab fa-freebsd",
2644
- searchTerms: []
2645
- }, {
2646
- title: "fas fa-frog",
2647
- searchTerms: [ "amphibian", "bullfrog", "fauna", "hop", "kermit", "kiss", "prince", "ribbit", "toad", "wart" ]
2648
- }, {
2649
- title: "fas fa-frown",
2650
- searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2651
- }, {
2652
- title: "far fa-frown",
2653
- searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2654
- }, {
2655
- title: "fas fa-frown-open",
2656
- searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2657
- }, {
2658
- title: "far fa-frown-open",
2659
- searchTerms: [ "disapprove", "emoticon", "face", "rating", "sad" ]
2660
- }, {
2661
- title: "fab fa-fulcrum",
2662
- searchTerms: []
2663
- }, {
2664
- title: "fas fa-funnel-dollar",
2665
- searchTerms: []
2666
- }, {
2667
- title: "fas fa-futbol",
2668
- searchTerms: [ "ball", "football", "soccer" ]
2669
- }, {
2670
- title: "far fa-futbol",
2671
- searchTerms: [ "ball", "football", "soccer" ]
2672
- }, {
2673
- title: "fab fa-galactic-republic",
2674
- searchTerms: [ "politics", "star wars" ]
2675
- }, {
2676
- title: "fab fa-galactic-senate",
2677
- searchTerms: [ "star wars" ]
2678
- }, {
2679
- title: "fas fa-gamepad",
2680
- searchTerms: [ "controller" ]
2681
- }, {
2682
- title: "fas fa-gas-pump",
2683
- searchTerms: []
2684
- }, {
2685
- title: "fas fa-gavel",
2686
- searchTerms: [ "hammer", "judge", "lawyer", "opinion" ]
2687
- }, {
2688
- title: "fas fa-gem",
2689
- searchTerms: [ "diamond" ]
2690
- }, {
2691
- title: "far fa-gem",
2692
- searchTerms: [ "diamond" ]
2693
- }, {
2694
- title: "fas fa-genderless",
2695
- searchTerms: []
2696
- }, {
2697
- title: "fab fa-get-pocket",
2698
- searchTerms: []
2699
- }, {
2700
- title: "fab fa-gg",
2701
- searchTerms: []
2702
- }, {
2703
- title: "fab fa-gg-circle",
2704
- searchTerms: []
2705
- }, {
2706
- title: "fas fa-ghost",
2707
- searchTerms: [ "apparition", "blinky", "clyde", "floating", "halloween", "holiday", "inky", "pinky", "spirit" ]
2708
- }, {
2709
- title: "fas fa-gift",
2710
- searchTerms: [ "generosity", "giving", "party", "present", "wrapped" ]
2711
- }, {
2712
- title: "fab fa-git",
2713
- searchTerms: []
2714
- }, {
2715
- title: "fab fa-git-square",
2716
- searchTerms: []
2717
- }, {
2718
- title: "fab fa-github",
2719
- searchTerms: [ "octocat" ]
2720
- }, {
2721
- title: "fab fa-github-alt",
2722
- searchTerms: [ "octocat" ]
2723
- }, {
2724
- title: "fab fa-github-square",
2725
- searchTerms: [ "octocat" ]
2726
- }, {
2727
- title: "fab fa-gitkraken",
2728
- searchTerms: []
2729
- }, {
2730
- title: "fab fa-gitlab",
2731
- searchTerms: [ "Axosoft" ]
2732
- }, {
2733
- title: "fab fa-gitter",
2734
- searchTerms: []
2735
- }, {
2736
- title: "fas fa-glass-martini",
2737
- searchTerms: [ "alcohol", "bar", "beverage", "drink", "glass", "liquor", "martini" ]
2738
- }, {
2739
- title: "fas fa-glass-martini-alt",
2740
- searchTerms: []
2741
- }, {
2742
- title: "fas fa-glasses",
2743
- searchTerms: [ "foureyes", "hipster", "nerd", "reading", "sight", "spectacles" ]
2744
- }, {
2745
- title: "fab fa-glide",
2746
- searchTerms: []
2747
- }, {
2748
- title: "fab fa-glide-g",
2749
- searchTerms: []
2750
- }, {
2751
- title: "fas fa-globe",
2752
- searchTerms: [ "all", "coordinates", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2753
- }, {
2754
- title: "fas fa-globe-africa",
2755
- searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2756
- }, {
2757
- title: "fas fa-globe-americas",
2758
- searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2759
- }, {
2760
- title: "fas fa-globe-asia",
2761
- searchTerms: [ "all", "country", "earth", "global", "gps", "language", "localize", "location", "map", "online", "place", "planet", "translate", "travel", "world" ]
2762
- }, {
2763
- title: "fab fa-gofore",
2764
- searchTerms: []
2765
- }, {
2766
- title: "fas fa-golf-ball",
2767
- searchTerms: []
2768
- }, {
2769
- title: "fab fa-goodreads",
2770
- searchTerms: []
2771
- }, {
2772
- title: "fab fa-goodreads-g",
2773
- searchTerms: []
2774
- }, {
2775
- title: "fab fa-google",
2776
- searchTerms: []
2777
- }, {
2778
- title: "fab fa-google-drive",
2779
- searchTerms: []
2780
- }, {
2781
- title: "fab fa-google-play",
2782
- searchTerms: []
2783
- }, {
2784
- title: "fab fa-google-plus",
2785
- searchTerms: [ "google-plus-circle", "google-plus-official" ]
2786
- }, {
2787
- title: "fab fa-google-plus-g",
2788
- searchTerms: [ "google-plus", "social network" ]
2789
- }, {
2790
- title: "fab fa-google-plus-square",
2791
- searchTerms: [ "social network" ]
2792
- }, {
2793
- title: "fab fa-google-wallet",
2794
- searchTerms: []
2795
- }, {
2796
- title: "fas fa-gopuram",
2797
- searchTerms: [ "building", "entrance", "hinduism", "temple", "tower" ]
2798
- }, {
2799
- title: "fas fa-graduation-cap",
2800
- searchTerms: [ "learning", "school", "student" ]
2801
- }, {
2802
- title: "fab fa-gratipay",
2803
- searchTerms: [ "favorite", "heart", "like", "love" ]
2804
- }, {
2805
- title: "fab fa-grav",
2806
- searchTerms: []
2807
- }, {
2808
- title: "fas fa-greater-than",
2809
- searchTerms: []
2810
- }, {
2811
- title: "fas fa-greater-than-equal",
2812
- searchTerms: []
2813
- }, {
2814
- title: "fas fa-grimace",
2815
- searchTerms: [ "cringe", "emoticon", "face" ]
2816
- }, {
2817
- title: "far fa-grimace",
2818
- searchTerms: [ "cringe", "emoticon", "face" ]
2819
- }, {
2820
- title: "fas fa-grin",
2821
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2822
- }, {
2823
- title: "far fa-grin",
2824
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2825
- }, {
2826
- title: "fas fa-grin-alt",
2827
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2828
- }, {
2829
- title: "far fa-grin-alt",
2830
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2831
- }, {
2832
- title: "fas fa-grin-beam",
2833
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2834
- }, {
2835
- title: "far fa-grin-beam",
2836
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2837
- }, {
2838
- title: "fas fa-grin-beam-sweat",
2839
- searchTerms: [ "emoticon", "face", "smile" ]
2840
- }, {
2841
- title: "far fa-grin-beam-sweat",
2842
- searchTerms: [ "emoticon", "face", "smile" ]
2843
- }, {
2844
- title: "fas fa-grin-hearts",
2845
- searchTerms: [ "emoticon", "face", "love", "smile" ]
2846
- }, {
2847
- title: "far fa-grin-hearts",
2848
- searchTerms: [ "emoticon", "face", "love", "smile" ]
2849
- }, {
2850
- title: "fas fa-grin-squint",
2851
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2852
- }, {
2853
- title: "far fa-grin-squint",
2854
- searchTerms: [ "emoticon", "face", "laugh", "smile" ]
2855
- }, {
2856
- title: "fas fa-grin-squint-tears",
2857
- searchTerms: [ "emoticon", "face", "happy", "smile" ]
2858
- }, {
2859
- title: "far fa-grin-squint-tears",
2860
- searchTerms: [ "emoticon", "face", "happy", "smile" ]
2861
- }, {
2862
- title: "fas fa-grin-stars",
2863
- searchTerms: [ "emoticon", "face", "star-struck" ]
2864
- }, {
2865
- title: "far fa-grin-stars",
2866
- searchTerms: [ "emoticon", "face", "star-struck" ]
2867
- }, {
2868
- title: "fas fa-grin-tears",
2869
- searchTerms: [ "LOL", "emoticon", "face" ]
2870
- }, {
2871
- title: "far fa-grin-tears",
2872
- searchTerms: [ "LOL", "emoticon", "face" ]
2873
- }, {
2874
- title: "fas fa-grin-tongue",
2875
- searchTerms: [ "LOL", "emoticon", "face" ]
2876
- }, {
2877
- title: "far fa-grin-tongue",
2878
- searchTerms: [ "LOL", "emoticon", "face" ]
2879
- }, {
2880
- title: "fas fa-grin-tongue-squint",
2881
- searchTerms: [ "LOL", "emoticon", "face" ]
2882
- }, {
2883
- title: "far fa-grin-tongue-squint",
2884
- searchTerms: [ "LOL", "emoticon", "face" ]
2885
- }, {
2886
- title: "fas fa-grin-tongue-wink",
2887
- searchTerms: [ "LOL", "emoticon", "face" ]
2888
- }, {
2889
- title: "far fa-grin-tongue-wink",
2890
- searchTerms: [ "LOL", "emoticon", "face" ]
2891
- }, {
2892
- title: "fas fa-grin-wink",
2893
- searchTerms: [ "emoticon", "face", "flirt", "laugh", "smile" ]
2894
- }, {
2895
- title: "far fa-grin-wink",
2896
- searchTerms: [ "emoticon", "face", "flirt", "laugh", "smile" ]
2897
- }, {
2898
- title: "fas fa-grip-horizontal",
2899
- searchTerms: [ "affordance", "drag", "drop", "grab", "handle" ]
2900
- }, {
2901
- title: "fas fa-grip-vertical",
2902
- searchTerms: [ "affordance", "drag", "drop", "grab", "handle" ]
2903
- }, {
2904
- title: "fab fa-gripfire",
2905
- searchTerms: []
2906
- }, {
2907
- title: "fab fa-grunt",
2908
- searchTerms: []
2909
- }, {
2910
- title: "fab fa-gulp",
2911
- searchTerms: []
2912
- }, {
2913
- title: "fas fa-h-square",
2914
- searchTerms: [ "hospital", "hotel" ]
2915
- }, {
2916
- title: "fab fa-hacker-news",
2917
- searchTerms: []
2918
- }, {
2919
- title: "fab fa-hacker-news-square",
2920
- searchTerms: []
2921
- }, {
2922
- title: "fab fa-hackerrank",
2923
- searchTerms: []
2924
- }, {
2925
- title: "fas fa-hammer",
2926
- searchTerms: [ "admin", "fix", "repair", "settings", "tool" ]
2927
- }, {
2928
- title: "fas fa-hamsa",
2929
- searchTerms: [ "amulet", "christianity", "islam", "jewish", "judaism", "muslim", "protection" ]
2930
- }, {
2931
- title: "fas fa-hand-holding",
2932
- searchTerms: []
2933
- }, {
2934
- title: "fas fa-hand-holding-heart",
2935
- searchTerms: []
2936
- }, {
2937
- title: "fas fa-hand-holding-usd",
2938
- searchTerms: [ "$", "dollar sign", "donation", "giving", "money", "price" ]
2939
- }, {
2940
- title: "fas fa-hand-lizard",
2941
- searchTerms: []
2942
- }, {
2943
- title: "far fa-hand-lizard",
2944
- searchTerms: []
2945
- }, {
2946
- title: "fas fa-hand-paper",
2947
- searchTerms: [ "stop" ]
2948
- }, {
2949
- title: "far fa-hand-paper",
2950
- searchTerms: [ "stop" ]
2951
- }, {
2952
- title: "fas fa-hand-peace",
2953
- searchTerms: []
2954
- }, {
2955
- title: "far fa-hand-peace",
2956
- searchTerms: []
2957
- }, {
2958
- title: "fas fa-hand-point-down",
2959
- searchTerms: [ "finger", "hand-o-down", "point" ]
2960
- }, {
2961
- title: "far fa-hand-point-down",
2962
- searchTerms: [ "finger", "hand-o-down", "point" ]
2963
- }, {
2964
- title: "fas fa-hand-point-left",
2965
- searchTerms: [ "back", "finger", "hand-o-left", "left", "point", "previous" ]
2966
- }, {
2967
- title: "far fa-hand-point-left",
2968
- searchTerms: [ "back", "finger", "hand-o-left", "left", "point", "previous" ]
2969
- }, {
2970
- title: "fas fa-hand-point-right",
2971
- searchTerms: [ "finger", "forward", "hand-o-right", "next", "point", "right" ]
2972
- }, {
2973
- title: "far fa-hand-point-right",
2974
- searchTerms: [ "finger", "forward", "hand-o-right", "next", "point", "right" ]
2975
- }, {
2976
- title: "fas fa-hand-point-up",
2977
- searchTerms: [ "finger", "hand-o-up", "point" ]
2978
- }, {
2979
- title: "far fa-hand-point-up",
2980
- searchTerms: [ "finger", "hand-o-up", "point" ]
2981
- }, {
2982
- title: "fas fa-hand-pointer",
2983
- searchTerms: [ "select" ]
2984
- }, {
2985
- title: "far fa-hand-pointer",
2986
- searchTerms: [ "select" ]
2987
- }, {
2988
- title: "fas fa-hand-rock",
2989
- searchTerms: []
2990
- }, {
2991
- title: "far fa-hand-rock",
2992
- searchTerms: []
2993
- }, {
2994
- title: "fas fa-hand-scissors",
2995
- searchTerms: []
2996
- }, {
2997
- title: "far fa-hand-scissors",
2998
- searchTerms: []
2999
- }, {
3000
- title: "fas fa-hand-spock",
3001
- searchTerms: []
3002
- }, {
3003
- title: "far fa-hand-spock",
3004
- searchTerms: []
3005
- }, {
3006
- title: "fas fa-hands",
3007
- searchTerms: []
3008
- }, {
3009
- title: "fas fa-hands-helping",
3010
- searchTerms: [ "aid", "assistance", "partnership", "volunteering" ]
3011
- }, {
3012
- title: "fas fa-handshake",
3013
- searchTerms: [ "greeting", "partnership" ]
3014
- }, {
3015
- title: "far fa-handshake",
3016
- searchTerms: [ "greeting", "partnership" ]
3017
- }, {
3018
- title: "fas fa-hanukiah",
3019
- searchTerms: [ "candle", "hanukkah", "jewish", "judaism", "light" ]
3020
- }, {
3021
- title: "fas fa-hashtag",
3022
- searchTerms: []
3023
- }, {
3024
- title: "fas fa-hat-wizard",
3025
- searchTerms: [ "Dungeons & Dragons", "buckle", "cloth", "clothing", "d&d", "dnd", "fantasy", "halloween", "holiday", "mage", "magic", "pointy", "witch" ]
3026
- }, {
3027
- title: "fas fa-haykal",
3028
- searchTerms: [ "bahai", "bahá'í", "star" ]
3029
- }, {
3030
- title: "fas fa-hdd",
3031
- searchTerms: [ "cpu", "hard drive", "harddrive", "machine", "save", "storage" ]
3032
- }, {
3033
- title: "far fa-hdd",
3034
- searchTerms: [ "cpu", "hard drive", "harddrive", "machine", "save", "storage" ]
3035
- }, {
3036
- title: "fas fa-heading",
3037
- searchTerms: [ "header" ]
3038
- }, {
3039
- title: "fas fa-headphones",
3040
- searchTerms: [ "audio", "listen", "music", "sound", "speaker" ]
3041
- }, {
3042
- title: "fas fa-headphones-alt",
3043
- searchTerms: [ "audio", "listen", "music", "sound", "speaker" ]
3044
- }, {
3045
- title: "fas fa-headset",
3046
- searchTerms: [ "audio", "gamer", "gaming", "listen", "live chat", "microphone", "shot caller", "sound", "support", "telemarketer" ]
3047
- }, {
3048
- title: "fas fa-heart",
3049
- searchTerms: [ "favorite", "like", "love" ]
3050
- }, {
3051
- title: "far fa-heart",
3052
- searchTerms: [ "favorite", "like", "love" ]
3053
- }, {
3054
- title: "fas fa-heartbeat",
3055
- searchTerms: [ "ekg", "lifeline", "vital signs" ]
3056
- }, {
3057
- title: "fas fa-helicopter",
3058
- searchTerms: [ "airwolf", "apache", "chopper", "flight", "fly" ]
3059
- }, {
3060
- title: "fas fa-highlighter",
3061
- searchTerms: [ "edit", "marker", "sharpie", "update", "write" ]
3062
- }, {
3063
- title: "fas fa-hiking",
3064
- searchTerms: [ "activity", "backpack", "fall", "fitness", "outdoors", "seasonal", "walking" ]
3065
- }, {
3066
- title: "fas fa-hippo",
3067
- searchTerms: [ "fauna", "hungry", "mammmal" ]
3068
- }, {
3069
- title: "fab fa-hips",
3070
- searchTerms: []
3071
- }, {
3072
- title: "fab fa-hire-a-helper",
3073
- searchTerms: []
3074
- }, {
3075
- title: "fas fa-history",
3076
- searchTerms: []
3077
- }, {
3078
- title: "fas fa-hockey-puck",
3079
- searchTerms: []
3080
- }, {
3081
- title: "fas fa-home",
3082
- searchTerms: [ "house", "main" ]
3083
- }, {
3084
- title: "fab fa-hooli",
3085
- searchTerms: []
3086
- }, {
3087
- title: "fab fa-hornbill",
3088
- searchTerms: []
3089
- }, {
3090
- title: "fas fa-horse",
3091
- searchTerms: [ "equus", "fauna", "mammmal", "neigh" ]
3092
- }, {
3093
- title: "fas fa-hospital",
3094
- searchTerms: [ "building", "emergency room", "medical center" ]
3095
- }, {
3096
- title: "far fa-hospital",
3097
- searchTerms: [ "building", "emergency room", "medical center" ]
3098
- }, {
3099
- title: "fas fa-hospital-alt",
3100
- searchTerms: [ "building", "emergency room", "medical center" ]
3101
- }, {
3102
- title: "fas fa-hospital-symbol",
3103
- searchTerms: []
3104
- }, {
3105
- title: "fas fa-hot-tub",
3106
- searchTerms: []
3107
- }, {
3108
- title: "fas fa-hotel",
3109
- searchTerms: [ "building", "lodging" ]
3110
- }, {
3111
- title: "fab fa-hotjar",
3112
- searchTerms: []
3113
- }, {
3114
- title: "fas fa-hourglass",
3115
- searchTerms: []
3116
- }, {
3117
- title: "far fa-hourglass",
3118
- searchTerms: []
3119
- }, {
3120
- title: "fas fa-hourglass-end",
3121
- searchTerms: []
3122
- }, {
3123
- title: "fas fa-hourglass-half",
3124
- searchTerms: []
3125
- }, {
3126
- title: "fas fa-hourglass-start",
3127
- searchTerms: []
3128
- }, {
3129
- title: "fas fa-house-damage",
3130
- searchTerms: [ "devastation", "home" ]
3131
- }, {
3132
- title: "fab fa-houzz",
3133
- searchTerms: []
3134
- }, {
3135
- title: "fas fa-hryvnia",
3136
- searchTerms: [ "money" ]
3137
- }, {
3138
- title: "fab fa-html5",
3139
- searchTerms: []
3140
- }, {
3141
- title: "fab fa-hubspot",
3142
- searchTerms: []
3143
- }, {
3144
- title: "fas fa-i-cursor",
3145
- searchTerms: []
3146
- }, {
3147
- title: "fas fa-id-badge",
3148
- searchTerms: []
3149
- }, {
3150
- title: "far fa-id-badge",
3151
- searchTerms: []
3152
- }, {
3153
- title: "fas fa-id-card",
3154
- searchTerms: [ "document", "identification", "issued" ]
3155
- }, {
3156
- title: "far fa-id-card",
3157
- searchTerms: [ "document", "identification", "issued" ]
3158
- }, {
3159
- title: "fas fa-id-card-alt",
3160
- searchTerms: [ "demographics" ]
3161
- }, {
3162
- title: "fas fa-image",
3163
- searchTerms: [ "album", "photo", "picture" ]
3164
- }, {
3165
- title: "far fa-image",
3166
- searchTerms: [ "album", "photo", "picture" ]
3167
- }, {
3168
- title: "fas fa-images",
3169
- searchTerms: [ "album", "photo", "picture" ]
3170
- }, {
3171
- title: "far fa-images",
3172
- searchTerms: [ "album", "photo", "picture" ]
3173
- }, {
3174
- title: "fab fa-imdb",
3175
- searchTerms: []
3176
- }, {
3177
- title: "fas fa-inbox",
3178
- searchTerms: []
3179
- }, {
3180
- title: "fas fa-indent",
3181
- searchTerms: []
3182
- }, {
3183
- title: "fas fa-industry",
3184
- searchTerms: [ "factory", "manufacturing" ]
3185
- }, {
3186
- title: "fas fa-infinity",
3187
- searchTerms: []
3188
- }, {
3189
- title: "fas fa-info",
3190
- searchTerms: [ "details", "help", "information", "more" ]
3191
- }, {
3192
- title: "fas fa-info-circle",
3193
- searchTerms: [ "details", "help", "information", "more" ]
3194
- }, {
3195
- title: "fab fa-instagram",
3196
- searchTerms: []
3197
- }, {
3198
- title: "fab fa-internet-explorer",
3199
- searchTerms: [ "browser", "ie" ]
3200
- }, {
3201
- title: "fab fa-ioxhost",
3202
- searchTerms: []
3203
- }, {
3204
- title: "fas fa-italic",
3205
- searchTerms: [ "italics" ]
3206
- }, {
3207
- title: "fab fa-itunes",
3208
- searchTerms: []
3209
- }, {
3210
- title: "fab fa-itunes-note",
3211
- searchTerms: []
3212
- }, {
3213
- title: "fab fa-java",
3214
- searchTerms: []
3215
- }, {
3216
- title: "fas fa-jedi",
3217
- searchTerms: [ "star wars" ]
3218
- }, {
3219
- title: "fab fa-jedi-order",
3220
- searchTerms: [ "star wars" ]
3221
- }, {
3222
- title: "fab fa-jenkins",
3223
- searchTerms: []
3224
- }, {
3225
- title: "fab fa-joget",
3226
- searchTerms: []
3227
- }, {
3228
- title: "fas fa-joint",
3229
- searchTerms: [ "blunt", "cannabis", "doobie", "drugs", "marijuana", "roach", "smoke", "smoking", "spliff" ]
3230
- }, {
3231
- title: "fab fa-joomla",
3232
- searchTerms: []
3233
- }, {
3234
- title: "fas fa-journal-whills",
3235
- searchTerms: [ "book", "jedi", "star wars", "the force" ]
3236
- }, {
3237
- title: "fab fa-js",
3238
- searchTerms: []
3239
- }, {
3240
- title: "fab fa-js-square",
3241
- searchTerms: []
3242
- }, {
3243
- title: "fab fa-jsfiddle",
3244
- searchTerms: []
3245
- }, {
3246
- title: "fas fa-kaaba",
3247
- searchTerms: [ "building", "cube", "islam", "muslim" ]
3248
- }, {
3249
- title: "fab fa-kaggle",
3250
- searchTerms: []
3251
- }, {
3252
- title: "fas fa-key",
3253
- searchTerms: [ "password", "unlock" ]
3254
- }, {
3255
- title: "fab fa-keybase",
3256
- searchTerms: []
3257
- }, {
3258
- title: "fas fa-keyboard",
3259
- searchTerms: [ "input", "type" ]
3260
- }, {
3261
- title: "far fa-keyboard",
3262
- searchTerms: [ "input", "type" ]
3263
- }, {
3264
- title: "fab fa-keycdn",
3265
- searchTerms: []
3266
- }, {
3267
- title: "fas fa-khanda",
3268
- searchTerms: [ "chakkar", "sikh", "sikhism", "sword" ]
3269
- }, {
3270
- title: "fab fa-kickstarter",
3271
- searchTerms: []
3272
- }, {
3273
- title: "fab fa-kickstarter-k",
3274
- searchTerms: []
3275
- }, {
3276
- title: "fas fa-kiss",
3277
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3278
- }, {
3279
- title: "far fa-kiss",
3280
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3281
- }, {
3282
- title: "fas fa-kiss-beam",
3283
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3284
- }, {
3285
- title: "far fa-kiss-beam",
3286
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3287
- }, {
3288
- title: "fas fa-kiss-wink-heart",
3289
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3290
- }, {
3291
- title: "far fa-kiss-wink-heart",
3292
- searchTerms: [ "beso", "emoticon", "face", "love", "smooch" ]
3293
- }, {
3294
- title: "fas fa-kiwi-bird",
3295
- searchTerms: [ "bird", "fauna" ]
3296
- }, {
3297
- title: "fab fa-korvue",
3298
- searchTerms: []
3299
- }, {
3300
- title: "fas fa-landmark",
3301
- searchTerms: [ "building", "historic", "memoroable", "politics" ]
3302
- }, {
3303
- title: "fas fa-language",
3304
- searchTerms: [ "dialect", "idiom", "localize", "speech", "translate", "vernacular" ]
3305
- }, {
3306
- title: "fas fa-laptop",
3307
- searchTerms: [ "computer", "cpu", "dell", "demo", "device", "dude you're getting", "mac", "macbook", "machine", "pc" ]
3308
- }, {
3309
- title: "fas fa-laptop-code",
3310
- searchTerms: []
3311
- }, {
3312
- title: "fab fa-laravel",
3313
- searchTerms: []
3314
- }, {
3315
- title: "fab fa-lastfm",
3316
- searchTerms: []
3317
- }, {
3318
- title: "fab fa-lastfm-square",
3319
- searchTerms: []
3320
- }, {
3321
- title: "fas fa-laugh",
3322
- searchTerms: [ "LOL", "emoticon", "face", "laugh" ]
3323
- }, {
3324
- title: "far fa-laugh",
3325
- searchTerms: [ "LOL", "emoticon", "face", "laugh" ]
3326
- }, {
3327
- title: "fas fa-laugh-beam",
3328
- searchTerms: [ "LOL", "emoticon", "face" ]
3329
- }, {
3330
- title: "far fa-laugh-beam",
3331
- searchTerms: [ "LOL", "emoticon", "face" ]
3332
- }, {
3333
- title: "fas fa-laugh-squint",
3334
- searchTerms: [ "LOL", "emoticon", "face" ]
3335
- }, {
3336
- title: "far fa-laugh-squint",
3337
- searchTerms: [ "LOL", "emoticon", "face" ]
3338
- }, {
3339
- title: "fas fa-laugh-wink",
3340
- searchTerms: [ "LOL", "emoticon", "face" ]
3341
- }, {
3342
- title: "far fa-laugh-wink",
3343
- searchTerms: [ "LOL", "emoticon", "face" ]
3344
- }, {
3345
- title: "fas fa-layer-group",
3346
- searchTerms: [ "layers" ]
3347
- }, {
3348
- title: "fas fa-leaf",
3349
- searchTerms: [ "eco", "flora", "nature", "plant" ]
3350
- }, {
3351
- title: "fab fa-leanpub",
3352
- searchTerms: []
3353
- }, {
3354
- title: "fas fa-lemon",
3355
- searchTerms: [ "food" ]
3356
- }, {
3357
- title: "far fa-lemon",
3358
- searchTerms: [ "food" ]
3359
- }, {
3360
- title: "fab fa-less",
3361
- searchTerms: []
3362
- }, {
3363
- title: "fas fa-less-than",
3364
- searchTerms: []
3365
- }, {
3366
- title: "fas fa-less-than-equal",
3367
- searchTerms: []
3368
- }, {
3369
- title: "fas fa-level-down-alt",
3370
- searchTerms: [ "level-down" ]
3371
- }, {
3372
- title: "fas fa-level-up-alt",
3373
- searchTerms: [ "level-up" ]
3374
- }, {
3375
- title: "fas fa-life-ring",
3376
- searchTerms: [ "support" ]
3377
- }, {
3378
- title: "far fa-life-ring",
3379
- searchTerms: [ "support" ]
3380
- }, {
3381
- title: "fas fa-lightbulb",
3382
- searchTerms: [ "idea", "inspiration" ]
3383
- }, {
3384
- title: "far fa-lightbulb",
3385
- searchTerms: [ "idea", "inspiration" ]
3386
- }, {
3387
- title: "fab fa-line",
3388
- searchTerms: []
3389
- }, {
3390
- title: "fas fa-link",
3391
- searchTerms: [ "chain" ]
3392
- }, {
3393
- title: "fab fa-linkedin",
3394
- searchTerms: [ "linkedin-square" ]
3395
- }, {
3396
- title: "fab fa-linkedin-in",
3397
- searchTerms: [ "linkedin" ]
3398
- }, {
3399
- title: "fab fa-linode",
3400
- searchTerms: []
3401
- }, {
3402
- title: "fab fa-linux",
3403
- searchTerms: [ "tux" ]
3404
- }, {
3405
- title: "fas fa-lira-sign",
3406
- searchTerms: [ "try", "turkish" ]
3407
- }, {
3408
- title: "fas fa-list",
3409
- searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3410
- }, {
3411
- title: "fas fa-list-alt",
3412
- searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3413
- }, {
3414
- title: "far fa-list-alt",
3415
- searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
3416
- }, {
3417
- title: "fas fa-list-ol",
3418
- searchTerms: [ "checklist", "list", "numbers", "ol", "todo", "ul" ]
3419
- }, {
3420
- title: "fas fa-list-ul",
3421
- searchTerms: [ "checklist", "list", "ol", "todo", "ul" ]
3422
- }, {
3423
- title: "fas fa-location-arrow",
3424
- searchTerms: [ "address", "coordinates", "gps", "location", "map", "place", "where" ]
3425
- }, {
3426
- title: "fas fa-lock",
3427
- searchTerms: [ "admin", "protect", "security" ]
3428
- }, {
3429
- title: "fas fa-lock-open",
3430
- searchTerms: [ "admin", "lock", "open", "password", "protect" ]
3431
- }, {
3432
- title: "fas fa-long-arrow-alt-down",
3433
- searchTerms: [ "long-arrow-down" ]
3434
- }, {
3435
- title: "fas fa-long-arrow-alt-left",
3436
- searchTerms: [ "back", "long-arrow-left", "previous" ]
3437
- }, {
3438
- title: "fas fa-long-arrow-alt-right",
3439
- searchTerms: [ "long-arrow-right" ]
3440
- }, {
3441
- title: "fas fa-long-arrow-alt-up",
3442
- searchTerms: [ "long-arrow-up" ]
3443
- }, {
3444
- title: "fas fa-low-vision",
3445
- searchTerms: []
3446
- }, {
3447
- title: "fas fa-luggage-cart",
3448
- searchTerms: []
3449
- }, {
3450
- title: "fab fa-lyft",
3451
- searchTerms: []
3452
- }, {
3453
- title: "fab fa-magento",
3454
- searchTerms: []
3455
- }, {
3456
- title: "fas fa-magic",
3457
- searchTerms: [ "autocomplete", "automatic", "mage", "magic", "spell", "witch", "wizard" ]
3458
- }, {
3459
- title: "fas fa-magnet",
3460
- searchTerms: []
3461
- }, {
3462
- title: "fas fa-mail-bulk",
3463
- searchTerms: []
3464
- }, {
3465
- title: "fab fa-mailchimp",
3466
- searchTerms: []
3467
- }, {
3468
- title: "fas fa-male",
3469
- searchTerms: [ "human", "man", "person", "profile", "user" ]
3470
- }, {
3471
- title: "fab fa-mandalorian",
3472
- searchTerms: []
3473
- }, {
3474
- title: "fas fa-map",
3475
- searchTerms: [ "coordinates", "location", "paper", "place", "travel" ]
3476
- }, {
3477
- title: "far fa-map",
3478
- searchTerms: [ "coordinates", "location", "paper", "place", "travel" ]
3479
- }, {
3480
- title: "fas fa-map-marked",
3481
- searchTerms: [ "address", "coordinates", "destination", "gps", "localize", "location", "map", "paper", "pin", "place", "point of interest", "position", "route", "travel", "where" ]
3482
- }, {
3483
- title: "fas fa-map-marked-alt",
3484
- searchTerms: [ "address", "coordinates", "destination", "gps", "localize", "location", "map", "paper", "pin", "place", "point of interest", "position", "route", "travel", "where" ]
3485
- }, {
3486
- title: "fas fa-map-marker",
3487
- searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "pin", "place", "position", "travel", "where" ]
3488
- }, {
3489
- title: "fas fa-map-marker-alt",
3490
- searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "pin", "place", "position", "travel", "where" ]
3491
- }, {
3492
- title: "fas fa-map-pin",
3493
- searchTerms: [ "address", "coordinates", "gps", "localize", "location", "map", "marker", "place", "position", "travel", "where" ]
3494
- }, {
3495
- title: "fas fa-map-signs",
3496
- searchTerms: []
3497
- }, {
3498
- title: "fab fa-markdown",
3499
- searchTerms: []
3500
- }, {
3501
- title: "fas fa-marker",
3502
- searchTerms: [ "edit", "sharpie", "update", "write" ]
3503
- }, {
3504
- title: "fas fa-mars",
3505
- searchTerms: [ "male" ]
3506
- }, {
3507
- title: "fas fa-mars-double",
3508
- searchTerms: []
3509
- }, {
3510
- title: "fas fa-mars-stroke",
3511
- searchTerms: []
3512
- }, {
3513
- title: "fas fa-mars-stroke-h",
3514
- searchTerms: []
3515
- }, {
3516
- title: "fas fa-mars-stroke-v",
3517
- searchTerms: []
3518
- }, {
3519
- title: "fas fa-mask",
3520
- searchTerms: [ "costume", "disguise", "halloween", "holiday", "secret", "super hero" ]
3521
- }, {
3522
- title: "fab fa-mastodon",
3523
- searchTerms: []
3524
- }, {
3525
- title: "fab fa-maxcdn",
3526
- searchTerms: []
3527
- }, {
3528
- title: "fas fa-medal",
3529
- searchTerms: []
3530
- }, {
3531
- title: "fab fa-medapps",
3532
- searchTerms: []
3533
- }, {
3534
- title: "fab fa-medium",
3535
- searchTerms: []
3536
- }, {
3537
- title: "fab fa-medium-m",
3538
- searchTerms: []
3539
- }, {
3540
- title: "fas fa-medkit",
3541
- searchTerms: [ "first aid", "firstaid", "health", "help", "support" ]
3542
- }, {
3543
- title: "fab fa-medrt",
3544
- searchTerms: []
3545
- }, {
3546
- title: "fab fa-meetup",
3547
- searchTerms: []
3548
- }, {
3549
- title: "fab fa-megaport",
3550
- searchTerms: []
3551
- }, {
3552
- title: "fas fa-meh",
3553
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3554
- }, {
3555
- title: "far fa-meh",
3556
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3557
- }, {
3558
- title: "fas fa-meh-blank",
3559
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3560
- }, {
3561
- title: "far fa-meh-blank",
3562
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3563
- }, {
3564
- title: "fas fa-meh-rolling-eyes",
3565
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3566
- }, {
3567
- title: "far fa-meh-rolling-eyes",
3568
- searchTerms: [ "emoticon", "face", "neutral", "rating" ]
3569
- }, {
3570
- title: "fas fa-memory",
3571
- searchTerms: [ "DIMM", "RAM" ]
3572
- }, {
3573
- title: "fas fa-menorah",
3574
- searchTerms: [ "candle", "hanukkah", "jewish", "judaism", "light" ]
3575
- }, {
3576
- title: "fas fa-mercury",
3577
- searchTerms: [ "transgender" ]
3578
- }, {
3579
- title: "fas fa-meteor",
3580
- searchTerms: []
3581
- }, {
3582
- title: "fas fa-microchip",
3583
- searchTerms: [ "cpu", "processor" ]
3584
- }, {
3585
- title: "fas fa-microphone",
3586
- searchTerms: [ "record", "sound", "voice" ]
3587
- }, {
3588
- title: "fas fa-microphone-alt",
3589
- searchTerms: [ "record", "sound", "voice" ]
3590
- }, {
3591
- title: "fas fa-microphone-alt-slash",
3592
- searchTerms: [ "disable", "mute", "record", "sound", "voice" ]
3593
- }, {
3594
- title: "fas fa-microphone-slash",
3595
- searchTerms: [ "disable", "mute", "record", "sound", "voice" ]
3596
- }, {
3597
- title: "fas fa-microscope",
3598
- searchTerms: []
3599
- }, {
3600
- title: "fab fa-microsoft",
3601
- searchTerms: []
3602
- }, {
3603
- title: "fas fa-minus",
3604
- searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3605
- }, {
3606
- title: "fas fa-minus-circle",
3607
- searchTerms: [ "delete", "hide", "negative", "remove", "trash" ]
3608
- }, {
3609
- title: "fas fa-minus-square",
3610
- searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3611
- }, {
3612
- title: "far fa-minus-square",
3613
- searchTerms: [ "collapse", "delete", "hide", "minify", "negative", "remove", "trash" ]
3614
- }, {
3615
- title: "fab fa-mix",
3616
- searchTerms: []
3617
- }, {
3618
- title: "fab fa-mixcloud",
3619
- searchTerms: []
3620
- }, {
3621
- title: "fab fa-mizuni",
3622
- searchTerms: []
3623
- }, {
3624
- title: "fas fa-mobile",
3625
- searchTerms: [ "apple", "call", "cell phone", "cellphone", "device", "iphone", "number", "screen", "telephone", "text" ]
3626
- }, {
3627
- title: "fas fa-mobile-alt",
3628
- searchTerms: [ "apple", "call", "cell phone", "cellphone", "device", "iphone", "number", "screen", "telephone", "text" ]
3629
- }, {
3630
- title: "fab fa-modx",
3631
- searchTerms: []
3632
- }, {
3633
- title: "fab fa-monero",
3634
- searchTerms: []
3635
- }, {
3636
- title: "fas fa-money-bill",
3637
- searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3638
- }, {
3639
- title: "fas fa-money-bill-alt",
3640
- searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3641
- }, {
3642
- title: "far fa-money-bill-alt",
3643
- searchTerms: [ "buy", "cash", "checkout", "money", "payment", "price", "purchase" ]
3644
- }, {
3645
- title: "fas fa-money-bill-wave",
3646
- searchTerms: []
3647
- }, {
3648
- title: "fas fa-money-bill-wave-alt",
3649
- searchTerms: []
3650
- }, {
3651
- title: "fas fa-money-check",
3652
- searchTerms: [ "bank check", "cheque" ]
3653
- }, {
3654
- title: "fas fa-money-check-alt",
3655
- searchTerms: [ "bank check", "cheque" ]
3656
- }, {
3657
- title: "fas fa-monument",
3658
- searchTerms: [ "building", "historic", "memoroable" ]
3659
- }, {
3660
- title: "fas fa-moon",
3661
- searchTerms: [ "contrast", "crescent", "darker", "lunar", "night" ]
3662
- }, {
3663
- title: "far fa-moon",
3664
- searchTerms: [ "contrast", "crescent", "darker", "lunar", "night" ]
3665
- }, {
3666
- title: "fas fa-mortar-pestle",
3667
- searchTerms: [ "crush", "culinary", "grind", "medical", "mix", "spices" ]
3668
- }, {
3669
- title: "fas fa-mosque",
3670
- searchTerms: [ "building", "islam", "muslim" ]
3671
- }, {
3672
- title: "fas fa-motorcycle",
3673
- searchTerms: [ "bike", "machine", "transportation", "vehicle" ]
3674
- }, {
3675
- title: "fas fa-mountain",
3676
- searchTerms: []
3677
- }, {
3678
- title: "fas fa-mouse-pointer",
3679
- searchTerms: [ "select" ]
3680
- }, {
3681
- title: "fas fa-music",
3682
- searchTerms: [ "note", "sound" ]
3683
- }, {
3684
- title: "fab fa-napster",
3685
- searchTerms: []
3686
- }, {
3687
- title: "fab fa-neos",
3688
- searchTerms: []
3689
- }, {
3690
- title: "fas fa-network-wired",
3691
- searchTerms: []
3692
- }, {
3693
- title: "fas fa-neuter",
3694
- searchTerms: []
3695
- }, {
3696
- title: "fas fa-newspaper",
3697
- searchTerms: [ "article", "press" ]
3698
- }, {
3699
- title: "far fa-newspaper",
3700
- searchTerms: [ "article", "press" ]
3701
- }, {
3702
- title: "fab fa-nimblr",
3703
- searchTerms: []
3704
- }, {
3705
- title: "fab fa-nintendo-switch",
3706
- searchTerms: []
3707
- }, {
3708
- title: "fab fa-node",
3709
- searchTerms: []
3710
- }, {
3711
- title: "fab fa-node-js",
3712
- searchTerms: []
3713
- }, {
3714
- title: "fas fa-not-equal",
3715
- searchTerms: []
3716
- }, {
3717
- title: "fas fa-notes-medical",
3718
- searchTerms: []
3719
- }, {
3720
- title: "fab fa-npm",
3721
- searchTerms: []
3722
- }, {
3723
- title: "fab fa-ns8",
3724
- searchTerms: []
3725
- }, {
3726
- title: "fab fa-nutritionix",
3727
- searchTerms: []
3728
- }, {
3729
- title: "fas fa-object-group",
3730
- searchTerms: [ "design" ]
3731
- }, {
3732
- title: "far fa-object-group",
3733
- searchTerms: [ "design" ]
3734
- }, {
3735
- title: "fas fa-object-ungroup",
3736
- searchTerms: [ "design" ]
3737
- }, {
3738
- title: "far fa-object-ungroup",
3739
- searchTerms: [ "design" ]
3740
- }, {
3741
- title: "fab fa-odnoklassniki",
3742
- searchTerms: []
3743
- }, {
3744
- title: "fab fa-odnoklassniki-square",
3745
- searchTerms: []
3746
- }, {
3747
- title: "fas fa-oil-can",
3748
- searchTerms: []
3749
- }, {
3750
- title: "fab fa-old-republic",
3751
- searchTerms: [ "politics", "star wars" ]
3752
- }, {
3753
- title: "fas fa-om",
3754
- searchTerms: [ "buddhism", "hinduism", "jainism", "mantra" ]
3755
- }, {
3756
- title: "fab fa-opencart",
3757
- searchTerms: []
3758
- }, {
3759
- title: "fab fa-openid",
3760
- searchTerms: []
3761
- }, {
3762
- title: "fab fa-opera",
3763
- searchTerms: []
3764
- }, {
3765
- title: "fab fa-optin-monster",
3766
- searchTerms: []
3767
- }, {
3768
- title: "fab fa-osi",
3769
- searchTerms: []
3770
- }, {
3771
- title: "fas fa-otter",
3772
- searchTerms: [ "fauna", "mammmal" ]
3773
- }, {
3774
- title: "fas fa-outdent",
3775
- searchTerms: []
3776
- }, {
3777
- title: "fab fa-page4",
3778
- searchTerms: []
3779
- }, {
3780
- title: "fab fa-pagelines",
3781
- searchTerms: [ "eco", "flora", "leaf", "leaves", "nature", "plant", "tree" ]
3782
- }, {
3783
- title: "fas fa-paint-brush",
3784
- searchTerms: []
3785
- }, {
3786
- title: "fas fa-paint-roller",
3787
- searchTerms: [ "brush", "painting", "tool" ]
3788
- }, {
3789
- title: "fas fa-palette",
3790
- searchTerms: [ "colors", "painting" ]
3791
- }, {
3792
- title: "fab fa-palfed",
3793
- searchTerms: []
3794
- }, {
3795
- title: "fas fa-pallet",
3796
- searchTerms: []
3797
- }, {
3798
- title: "fas fa-paper-plane",
3799
- searchTerms: []
3800
- }, {
3801
- title: "far fa-paper-plane",
3802
- searchTerms: []
3803
- }, {
3804
- title: "fas fa-paperclip",
3805
- searchTerms: [ "attachment" ]
3806
- }, {
3807
- title: "fas fa-parachute-box",
3808
- searchTerms: [ "aid", "assistance", "rescue", "supplies" ]
3809
- }, {
3810
- title: "fas fa-paragraph",
3811
- searchTerms: []
3812
- }, {
3813
- title: "fas fa-parking",
3814
- searchTerms: []
3815
- }, {
3816
- title: "fas fa-passport",
3817
- searchTerms: [ "document", "identification", "issued" ]
3818
- }, {
3819
- title: "fas fa-pastafarianism",
3820
- searchTerms: [ "agnosticism", "atheism", "flying spaghetti monster", "fsm" ]
3821
- }, {
3822
- title: "fas fa-paste",
3823
- searchTerms: [ "clipboard", "copy" ]
3824
- }, {
3825
- title: "fab fa-patreon",
3826
- searchTerms: []
3827
- }, {
3828
- title: "fas fa-pause",
3829
- searchTerms: [ "wait" ]
3830
- }, {
3831
- title: "fas fa-pause-circle",
3832
- searchTerms: []
3833
- }, {
3834
- title: "far fa-pause-circle",
3835
- searchTerms: []
3836
- }, {
3837
- title: "fas fa-paw",
3838
- searchTerms: [ "animal", "pet" ]
3839
- }, {
3840
- title: "fab fa-paypal",
3841
- searchTerms: []
3842
- }, {
3843
- title: "fas fa-peace",
3844
- searchTerms: []
3845
- }, {
3846
- title: "fas fa-pen",
3847
- searchTerms: [ "design", "edit", "update", "write" ]
3848
- }, {
3849
- title: "fas fa-pen-alt",
3850
- searchTerms: [ "design", "edit", "update", "write" ]
3851
- }, {
3852
- title: "fas fa-pen-fancy",
3853
- searchTerms: [ "design", "edit", "fountain pen", "update", "write" ]
3854
- }, {
3855
- title: "fas fa-pen-nib",
3856
- searchTerms: [ "design", "edit", "fountain pen", "update", "write" ]
3857
- }, {
3858
- title: "fas fa-pen-square",
3859
- searchTerms: [ "edit", "pencil-square", "update", "write" ]
3860
- }, {
3861
- title: "fas fa-pencil-alt",
3862
- searchTerms: [ "design", "edit", "pencil", "update", "write" ]
3863
- }, {
3864
- title: "fas fa-pencil-ruler",
3865
- searchTerms: []
3866
- }, {
3867
- title: "fab fa-penny-arcade",
3868
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "pax", "tabletop" ]
3869
- }, {
3870
- title: "fas fa-people-carry",
3871
- searchTerms: [ "movers" ]
3872
- }, {
3873
- title: "fas fa-percent",
3874
- searchTerms: []
3875
- }, {
3876
- title: "fas fa-percentage",
3877
- searchTerms: []
3878
- }, {
3879
- title: "fab fa-periscope",
3880
- searchTerms: []
3881
- }, {
3882
- title: "fas fa-person-booth",
3883
- searchTerms: [ "changing", "changing room", "election", "human", "person", "vote", "voting" ]
3884
- }, {
3885
- title: "fab fa-phabricator",
3886
- searchTerms: []
3887
- }, {
3888
- title: "fab fa-phoenix-framework",
3889
- searchTerms: []
3890
- }, {
3891
- title: "fab fa-phoenix-squadron",
3892
- searchTerms: []
3893
- }, {
3894
- title: "fas fa-phone",
3895
- searchTerms: [ "call", "earphone", "number", "support", "telephone", "voice" ]
3896
- }, {
3897
- title: "fas fa-phone-slash",
3898
- searchTerms: []
3899
- }, {
3900
- title: "fas fa-phone-square",
3901
- searchTerms: [ "call", "number", "support", "telephone", "voice" ]
3902
- }, {
3903
- title: "fas fa-phone-volume",
3904
- searchTerms: [ "telephone", "volume-control-phone" ]
3905
- }, {
3906
- title: "fab fa-php",
3907
- searchTerms: []
3908
- }, {
3909
- title: "fab fa-pied-piper",
3910
- searchTerms: []
3911
- }, {
3912
- title: "fab fa-pied-piper-alt",
3913
- searchTerms: []
3914
- }, {
3915
- title: "fab fa-pied-piper-hat",
3916
- searchTerms: [ "clothing" ]
3917
- }, {
3918
- title: "fab fa-pied-piper-pp",
3919
- searchTerms: []
3920
- }, {
3921
- title: "fas fa-piggy-bank",
3922
- searchTerms: [ "save", "savings" ]
3923
- }, {
3924
- title: "fas fa-pills",
3925
- searchTerms: [ "drugs", "medicine" ]
3926
- }, {
3927
- title: "fab fa-pinterest",
3928
- searchTerms: []
3929
- }, {
3930
- title: "fab fa-pinterest-p",
3931
- searchTerms: []
3932
- }, {
3933
- title: "fab fa-pinterest-square",
3934
- searchTerms: []
3935
- }, {
3936
- title: "fas fa-place-of-worship",
3937
- searchTerms: []
3938
- }, {
3939
- title: "fas fa-plane",
3940
- searchTerms: [ "airplane", "destination", "fly", "location", "mode", "travel", "trip" ]
3941
- }, {
3942
- title: "fas fa-plane-arrival",
3943
- searchTerms: [ "airplane", "arriving", "destination", "fly", "land", "landing", "location", "mode", "travel", "trip" ]
3944
- }, {
3945
- title: "fas fa-plane-departure",
3946
- searchTerms: [ "airplane", "departing", "destination", "fly", "location", "mode", "take off", "taking off", "travel", "trip" ]
3947
- }, {
3948
- title: "fas fa-play",
3949
- searchTerms: [ "music", "playing", "sound", "start" ]
3950
- }, {
3951
- title: "fas fa-play-circle",
3952
- searchTerms: [ "playing", "start" ]
3953
- }, {
3954
- title: "far fa-play-circle",
3955
- searchTerms: [ "playing", "start" ]
3956
- }, {
3957
- title: "fab fa-playstation",
3958
- searchTerms: []
3959
- }, {
3960
- title: "fas fa-plug",
3961
- searchTerms: [ "connect", "online", "power" ]
3962
- }, {
3963
- title: "fas fa-plus",
3964
- searchTerms: [ "add", "create", "expand", "new", "positive" ]
3965
- }, {
3966
- title: "fas fa-plus-circle",
3967
- searchTerms: [ "add", "create", "expand", "new", "positive" ]
3968
- }, {
3969
- title: "fas fa-plus-square",
3970
- searchTerms: [ "add", "create", "expand", "new", "positive" ]
3971
- }, {
3972
- title: "far fa-plus-square",
3973
- searchTerms: [ "add", "create", "expand", "new", "positive" ]
3974
- }, {
3975
- title: "fas fa-podcast",
3976
- searchTerms: []
3977
- }, {
3978
- title: "fas fa-poll",
3979
- searchTerms: [ "results", "survey", "vote", "voting" ]
3980
- }, {
3981
- title: "fas fa-poll-h",
3982
- searchTerms: [ "results", "survey", "vote", "voting" ]
3983
- }, {
3984
- title: "fas fa-poo",
3985
- searchTerms: []
3986
- }, {
3987
- title: "fas fa-poo-storm",
3988
- searchTerms: [ "mess", "poop", "shit" ]
3989
- }, {
3990
- title: "fas fa-poop",
3991
- searchTerms: []
3992
- }, {
3993
- title: "fas fa-portrait",
3994
- searchTerms: []
3995
- }, {
3996
- title: "fas fa-pound-sign",
3997
- searchTerms: [ "gbp" ]
3998
- }, {
3999
- title: "fas fa-power-off",
4000
- searchTerms: [ "on", "reboot", "restart" ]
4001
- }, {
4002
- title: "fas fa-pray",
4003
- searchTerms: []
4004
- }, {
4005
- title: "fas fa-praying-hands",
4006
- searchTerms: []
4007
- }, {
4008
- title: "fas fa-prescription",
4009
- searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4010
- }, {
4011
- title: "fas fa-prescription-bottle",
4012
- searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4013
- }, {
4014
- title: "fas fa-prescription-bottle-alt",
4015
- searchTerms: [ "drugs", "medical", "medicine", "rx" ]
4016
- }, {
4017
- title: "fas fa-print",
4018
- searchTerms: []
4019
- }, {
4020
- title: "fas fa-procedures",
4021
- searchTerms: []
4022
- }, {
4023
- title: "fab fa-product-hunt",
4024
- searchTerms: []
4025
- }, {
4026
- title: "fas fa-project-diagram",
4027
- searchTerms: []
4028
- }, {
4029
- title: "fab fa-pushed",
4030
- searchTerms: []
4031
- }, {
4032
- title: "fas fa-puzzle-piece",
4033
- searchTerms: [ "add-on", "addon", "section" ]
4034
- }, {
4035
- title: "fab fa-python",
4036
- searchTerms: []
4037
- }, {
4038
- title: "fab fa-qq",
4039
- searchTerms: []
4040
- }, {
4041
- title: "fas fa-qrcode",
4042
- searchTerms: [ "scan" ]
4043
- }, {
4044
- title: "fas fa-question",
4045
- searchTerms: [ "help", "information", "support", "unknown" ]
4046
- }, {
4047
- title: "fas fa-question-circle",
4048
- searchTerms: [ "help", "information", "support", "unknown" ]
4049
- }, {
4050
- title: "far fa-question-circle",
4051
- searchTerms: [ "help", "information", "support", "unknown" ]
4052
- }, {
4053
- title: "fas fa-quidditch",
4054
- searchTerms: []
4055
- }, {
4056
- title: "fab fa-quinscape",
4057
- searchTerms: []
4058
- }, {
4059
- title: "fab fa-quora",
4060
- searchTerms: []
4061
- }, {
4062
- title: "fas fa-quote-left",
4063
- searchTerms: []
4064
- }, {
4065
- title: "fas fa-quote-right",
4066
- searchTerms: []
4067
- }, {
4068
- title: "fas fa-quran",
4069
- searchTerms: [ "book", "islam", "muslim" ]
4070
- }, {
4071
- title: "fab fa-r-project",
4072
- searchTerms: []
4073
- }, {
4074
- title: "fas fa-rainbow",
4075
- searchTerms: []
4076
- }, {
4077
- title: "fas fa-random",
4078
- searchTerms: [ "shuffle", "sort" ]
4079
- }, {
4080
- title: "fab fa-ravelry",
4081
- searchTerms: []
4082
- }, {
4083
- title: "fab fa-react",
4084
- searchTerms: []
4085
- }, {
4086
- title: "fab fa-reacteurope",
4087
- searchTerms: []
4088
- }, {
4089
- title: "fab fa-readme",
4090
- searchTerms: []
4091
- }, {
4092
- title: "fab fa-rebel",
4093
- searchTerms: []
4094
- }, {
4095
- title: "fas fa-receipt",
4096
- searchTerms: [ "check", "invoice", "table" ]
4097
- }, {
4098
- title: "fas fa-recycle",
4099
- searchTerms: []
4100
- }, {
4101
- title: "fab fa-red-river",
4102
- searchTerms: []
4103
- }, {
4104
- title: "fab fa-reddit",
4105
- searchTerms: []
4106
- }, {
4107
- title: "fab fa-reddit-alien",
4108
- searchTerms: []
4109
- }, {
4110
- title: "fab fa-reddit-square",
4111
- searchTerms: []
4112
- }, {
4113
- title: "fas fa-redo",
4114
- searchTerms: [ "forward", "refresh", "reload", "repeat" ]
4115
- }, {
4116
- title: "fas fa-redo-alt",
4117
- searchTerms: [ "forward", "refresh", "reload", "repeat" ]
4118
- }, {
4119
- title: "fas fa-registered",
4120
- searchTerms: []
4121
- }, {
4122
- title: "far fa-registered",
4123
- searchTerms: []
4124
- }, {
4125
- title: "fab fa-renren",
4126
- searchTerms: []
4127
- }, {
4128
- title: "fas fa-reply",
4129
- searchTerms: []
4130
- }, {
4131
- title: "fas fa-reply-all",
4132
- searchTerms: []
4133
- }, {
4134
- title: "fab fa-replyd",
4135
- searchTerms: []
4136
- }, {
4137
- title: "fas fa-republican",
4138
- searchTerms: [ "american", "conservative", "election", "elephant", "politics", "republican party", "right", "right-wing", "usa" ]
4139
- }, {
4140
- title: "fab fa-researchgate",
4141
- searchTerms: []
4142
- }, {
4143
- title: "fab fa-resolving",
4144
- searchTerms: []
4145
- }, {
4146
- title: "fas fa-retweet",
4147
- searchTerms: [ "refresh", "reload", "share", "swap" ]
4148
- }, {
4149
- title: "fab fa-rev",
4150
- searchTerms: []
4151
- }, {
4152
- title: "fas fa-ribbon",
4153
- searchTerms: [ "badge", "cause", "lapel", "pin" ]
4154
- }, {
4155
- title: "fas fa-ring",
4156
- searchTerms: [ "Dungeons & Dragons", "Gollum", "band", "binding", "d&d", "dnd", "fantasy", "jewelry", "precious" ]
4157
- }, {
4158
- title: "fas fa-road",
4159
- searchTerms: [ "street" ]
4160
- }, {
4161
- title: "fas fa-robot",
4162
- searchTerms: []
4163
- }, {
4164
- title: "fas fa-rocket",
4165
- searchTerms: [ "app" ]
4166
- }, {
4167
- title: "fab fa-rocketchat",
4168
- searchTerms: []
4169
- }, {
4170
- title: "fab fa-rockrms",
4171
- searchTerms: []
4172
- }, {
4173
- title: "fas fa-route",
4174
- searchTerms: []
4175
- }, {
4176
- title: "fas fa-rss",
4177
- searchTerms: [ "blog" ]
4178
- }, {
4179
- title: "fas fa-rss-square",
4180
- searchTerms: [ "blog", "feed" ]
4181
- }, {
4182
- title: "fas fa-ruble-sign",
4183
- searchTerms: [ "rub" ]
4184
- }, {
4185
- title: "fas fa-ruler",
4186
- searchTerms: []
4187
- }, {
4188
- title: "fas fa-ruler-combined",
4189
- searchTerms: []
4190
- }, {
4191
- title: "fas fa-ruler-horizontal",
4192
- searchTerms: []
4193
- }, {
4194
- title: "fas fa-ruler-vertical",
4195
- searchTerms: []
4196
- }, {
4197
- title: "fas fa-running",
4198
- searchTerms: [ "jog", "sprint" ]
4199
- }, {
4200
- title: "fas fa-rupee-sign",
4201
- searchTerms: [ "indian", "inr" ]
4202
- }, {
4203
- title: "fas fa-sad-cry",
4204
- searchTerms: [ "emoticon", "face", "tear", "tears" ]
4205
- }, {
4206
- title: "far fa-sad-cry",
4207
- searchTerms: [ "emoticon", "face", "tear", "tears" ]
4208
- }, {
4209
- title: "fas fa-sad-tear",
4210
- searchTerms: [ "emoticon", "face", "tear", "tears" ]
4211
- }, {
4212
- title: "far fa-sad-tear",
4213
- searchTerms: [ "emoticon", "face", "tear", "tears" ]
4214
- }, {
4215
- title: "fab fa-safari",
4216
- searchTerms: [ "browser" ]
4217
- }, {
4218
- title: "fab fa-sass",
4219
- searchTerms: []
4220
- }, {
4221
- title: "fas fa-save",
4222
- searchTerms: [ "floppy", "floppy-o" ]
4223
- }, {
4224
- title: "far fa-save",
4225
- searchTerms: [ "floppy", "floppy-o" ]
4226
- }, {
4227
- title: "fab fa-schlix",
4228
- searchTerms: []
4229
- }, {
4230
- title: "fas fa-school",
4231
- searchTerms: []
4232
- }, {
4233
- title: "fas fa-screwdriver",
4234
- searchTerms: [ "admin", "fix", "repair", "settings", "tool" ]
4235
- }, {
4236
- title: "fab fa-scribd",
4237
- searchTerms: []
4238
- }, {
4239
- title: "fas fa-scroll",
4240
- searchTerms: [ "Dungeons & Dragons", "announcement", "d&d", "dnd", "fantasy", "paper" ]
4241
- }, {
4242
- title: "fas fa-search",
4243
- searchTerms: [ "bigger", "enlarge", "magnify", "preview", "zoom" ]
4244
- }, {
4245
- title: "fas fa-search-dollar",
4246
- searchTerms: []
4247
- }, {
4248
- title: "fas fa-search-location",
4249
- searchTerms: []
4250
- }, {
4251
- title: "fas fa-search-minus",
4252
- searchTerms: [ "minify", "negative", "smaller", "zoom", "zoom out" ]
4253
- }, {
4254
- title: "fas fa-search-plus",
4255
- searchTerms: [ "bigger", "enlarge", "magnify", "positive", "zoom", "zoom in" ]
4256
- }, {
4257
- title: "fab fa-searchengin",
4258
- searchTerms: []
4259
- }, {
4260
- title: "fas fa-seedling",
4261
- searchTerms: []
4262
- }, {
4263
- title: "fab fa-sellcast",
4264
- searchTerms: [ "eercast" ]
4265
- }, {
4266
- title: "fab fa-sellsy",
4267
- searchTerms: []
4268
- }, {
4269
- title: "fas fa-server",
4270
- searchTerms: [ "cpu" ]
4271
- }, {
4272
- title: "fab fa-servicestack",
4273
- searchTerms: []
4274
- }, {
4275
- title: "fas fa-shapes",
4276
- searchTerms: [ "circle", "square", "triangle" ]
4277
- }, {
4278
- title: "fas fa-share",
4279
- searchTerms: []
4280
- }, {
4281
- title: "fas fa-share-alt",
4282
- searchTerms: []
4283
- }, {
4284
- title: "fas fa-share-alt-square",
4285
- searchTerms: []
4286
- }, {
4287
- title: "fas fa-share-square",
4288
- searchTerms: [ "send", "social" ]
4289
- }, {
4290
- title: "far fa-share-square",
4291
- searchTerms: [ "send", "social" ]
4292
- }, {
4293
- title: "fas fa-shekel-sign",
4294
- searchTerms: [ "ils" ]
4295
- }, {
4296
- title: "fas fa-shield-alt",
4297
- searchTerms: [ "achievement", "award", "block", "defend", "security", "winner" ]
4298
- }, {
4299
- title: "fas fa-ship",
4300
- searchTerms: [ "boat", "sea" ]
4301
- }, {
4302
- title: "fas fa-shipping-fast",
4303
- searchTerms: []
4304
- }, {
4305
- title: "fab fa-shirtsinbulk",
4306
- searchTerms: []
4307
- }, {
4308
- title: "fas fa-shoe-prints",
4309
- searchTerms: [ "feet", "footprints", "steps" ]
4310
- }, {
4311
- title: "fas fa-shopping-bag",
4312
- searchTerms: []
4313
- }, {
4314
- title: "fas fa-shopping-basket",
4315
- searchTerms: []
4316
- }, {
4317
- title: "fas fa-shopping-cart",
4318
- searchTerms: [ "buy", "checkout", "payment", "purchase" ]
4319
- }, {
4320
- title: "fab fa-shopware",
4321
- searchTerms: []
4322
- }, {
4323
- title: "fas fa-shower",
4324
- searchTerms: []
4325
- }, {
4326
- title: "fas fa-shuttle-van",
4327
- searchTerms: [ "machine", "public-transportation", "transportation", "vehicle" ]
4328
- }, {
4329
- title: "fas fa-sign",
4330
- searchTerms: []
4331
- }, {
4332
- title: "fas fa-sign-in-alt",
4333
- searchTerms: [ "arrow", "enter", "join", "log in", "login", "sign in", "sign up", "sign-in", "signin", "signup" ]
4334
- }, {
4335
- title: "fas fa-sign-language",
4336
- searchTerms: []
4337
- }, {
4338
- title: "fas fa-sign-out-alt",
4339
- searchTerms: [ "arrow", "exit", "leave", "log out", "logout", "sign-out" ]
4340
- }, {
4341
- title: "fas fa-signal",
4342
- searchTerms: [ "bars", "graph", "online", "status" ]
4343
- }, {
4344
- title: "fas fa-signature",
4345
- searchTerms: [ "John Hancock", "cursive", "name", "writing" ]
4346
- }, {
4347
- title: "fab fa-simplybuilt",
4348
- searchTerms: []
4349
- }, {
4350
- title: "fab fa-sistrix",
4351
- searchTerms: []
4352
- }, {
4353
- title: "fas fa-sitemap",
4354
- searchTerms: [ "directory", "hierarchy", "ia", "information architecture", "organization" ]
4355
- }, {
4356
- title: "fab fa-sith",
4357
- searchTerms: []
4358
- }, {
4359
- title: "fas fa-skull",
4360
- searchTerms: [ "bones", "skeleton", "yorick" ]
4361
- }, {
4362
- title: "fas fa-skull-crossbones",
4363
- searchTerms: [ "Dungeons & Dragons", "alert", "bones", "d&d", "danger", "dead", "deadly", "death", "dnd", "fantasy", "halloween", "holiday", "jolly-roger", "pirate", "poison", "skeleton", "warning" ]
4364
- }, {
4365
- title: "fab fa-skyatlas",
4366
- searchTerms: []
4367
- }, {
4368
- title: "fab fa-skype",
4369
- searchTerms: []
4370
- }, {
4371
- title: "fab fa-slack",
4372
- searchTerms: [ "anchor", "hash", "hashtag" ]
4373
- }, {
4374
- title: "fab fa-slack-hash",
4375
- searchTerms: [ "anchor", "hash", "hashtag" ]
4376
- }, {
4377
- title: "fas fa-slash",
4378
- searchTerms: []
4379
- }, {
4380
- title: "fas fa-sliders-h",
4381
- searchTerms: [ "settings", "sliders" ]
4382
- }, {
4383
- title: "fab fa-slideshare",
4384
- searchTerms: []
4385
- }, {
4386
- title: "fas fa-smile",
4387
- searchTerms: [ "approve", "emoticon", "face", "happy", "rating", "satisfied" ]
4388
- }, {
4389
- title: "far fa-smile",
4390
- searchTerms: [ "approve", "emoticon", "face", "happy", "rating", "satisfied" ]
4391
- }, {
4392
- title: "fas fa-smile-beam",
4393
- searchTerms: [ "emoticon", "face", "happy", "positive" ]
4394
- }, {
4395
- title: "far fa-smile-beam",
4396
- searchTerms: [ "emoticon", "face", "happy", "positive" ]
4397
- }, {
4398
- title: "fas fa-smile-wink",
4399
- searchTerms: [ "emoticon", "face", "happy" ]
4400
- }, {
4401
- title: "far fa-smile-wink",
4402
- searchTerms: [ "emoticon", "face", "happy" ]
4403
- }, {
4404
- title: "fas fa-smog",
4405
- searchTerms: [ "dragon" ]
4406
- }, {
4407
- title: "fas fa-smoking",
4408
- searchTerms: [ "cigarette", "nicotine", "smoking status" ]
4409
- }, {
4410
- title: "fas fa-smoking-ban",
4411
- searchTerms: [ "no smoking", "non-smoking" ]
4412
- }, {
4413
- title: "fab fa-snapchat",
4414
- searchTerms: []
4415
- }, {
4416
- title: "fab fa-snapchat-ghost",
4417
- searchTerms: []
4418
- }, {
4419
- title: "fab fa-snapchat-square",
4420
- searchTerms: []
4421
- }, {
4422
- title: "fas fa-snowflake",
4423
- searchTerms: [ "precipitation", "seasonal", "winter" ]
4424
- }, {
4425
- title: "far fa-snowflake",
4426
- searchTerms: [ "precipitation", "seasonal", "winter" ]
4427
- }, {
4428
- title: "fas fa-socks",
4429
- searchTerms: [ "business socks", "business time", "flight of the conchords", "wednesday" ]
4430
- }, {
4431
- title: "fas fa-solar-panel",
4432
- searchTerms: [ "clean", "eco-friendly", "energy", "green", "sun" ]
4433
- }, {
4434
- title: "fas fa-sort",
4435
- searchTerms: [ "order" ]
4436
- }, {
4437
- title: "fas fa-sort-alpha-down",
4438
- searchTerms: [ "sort-alpha-asc" ]
4439
- }, {
4440
- title: "fas fa-sort-alpha-up",
4441
- searchTerms: [ "sort-alpha-desc" ]
4442
- }, {
4443
- title: "fas fa-sort-amount-down",
4444
- searchTerms: [ "sort-amount-asc" ]
4445
- }, {
4446
- title: "fas fa-sort-amount-up",
4447
- searchTerms: [ "sort-amount-desc" ]
4448
- }, {
4449
- title: "fas fa-sort-down",
4450
- searchTerms: [ "arrow", "descending", "sort-desc" ]
4451
- }, {
4452
- title: "fas fa-sort-numeric-down",
4453
- searchTerms: [ "numbers", "sort-numeric-asc" ]
4454
- }, {
4455
- title: "fas fa-sort-numeric-up",
4456
- searchTerms: [ "numbers", "sort-numeric-desc" ]
4457
- }, {
4458
- title: "fas fa-sort-up",
4459
- searchTerms: [ "arrow", "ascending", "sort-asc" ]
4460
- }, {
4461
- title: "fab fa-soundcloud",
4462
- searchTerms: []
4463
- }, {
4464
- title: "fas fa-spa",
4465
- searchTerms: [ "flora", "mindfullness", "plant", "wellness" ]
4466
- }, {
4467
- title: "fas fa-space-shuttle",
4468
- searchTerms: [ "astronaut", "machine", "nasa", "rocket", "transportation" ]
4469
- }, {
4470
- title: "fab fa-speakap",
4471
- searchTerms: []
4472
- }, {
4473
- title: "fas fa-spider",
4474
- searchTerms: [ "arachnid", "bug", "charlotte", "crawl", "eight", "halloween", "holiday" ]
4475
- }, {
4476
- title: "fas fa-spinner",
4477
- searchTerms: [ "loading", "progress" ]
4478
- }, {
4479
- title: "fas fa-splotch",
4480
- searchTerms: []
4481
- }, {
4482
- title: "fab fa-spotify",
4483
- searchTerms: []
4484
- }, {
4485
- title: "fas fa-spray-can",
4486
- searchTerms: []
4487
- }, {
4488
- title: "fas fa-square",
4489
- searchTerms: [ "block", "box" ]
4490
- }, {
4491
- title: "far fa-square",
4492
- searchTerms: [ "block", "box" ]
4493
- }, {
4494
- title: "fas fa-square-full",
4495
- searchTerms: []
4496
- }, {
4497
- title: "fas fa-square-root-alt",
4498
- searchTerms: []
4499
- }, {
4500
- title: "fab fa-squarespace",
4501
- searchTerms: []
4502
- }, {
4503
- title: "fab fa-stack-exchange",
4504
- searchTerms: []
4505
- }, {
4506
- title: "fab fa-stack-overflow",
4507
- searchTerms: []
4508
- }, {
4509
- title: "fas fa-stamp",
4510
- searchTerms: []
4511
- }, {
4512
- title: "fas fa-star",
4513
- searchTerms: [ "achievement", "award", "favorite", "important", "night", "rating", "score" ]
4514
- }, {
4515
- title: "far fa-star",
4516
- searchTerms: [ "achievement", "award", "favorite", "important", "night", "rating", "score" ]
4517
- }, {
4518
- title: "fas fa-star-and-crescent",
4519
- searchTerms: [ "islam", "muslim" ]
4520
- }, {
4521
- title: "fas fa-star-half",
4522
- searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4523
- }, {
4524
- title: "far fa-star-half",
4525
- searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4526
- }, {
4527
- title: "fas fa-star-half-alt",
4528
- searchTerms: [ "achievement", "award", "rating", "score", "star-half-empty", "star-half-full" ]
4529
- }, {
4530
- title: "fas fa-star-of-david",
4531
- searchTerms: [ "jewish", "judaism" ]
4532
- }, {
4533
- title: "fas fa-star-of-life",
4534
- searchTerms: []
4535
- }, {
4536
- title: "fab fa-staylinked",
4537
- searchTerms: []
4538
- }, {
4539
- title: "fab fa-steam",
4540
- searchTerms: []
4541
- }, {
4542
- title: "fab fa-steam-square",
4543
- searchTerms: []
4544
- }, {
4545
- title: "fab fa-steam-symbol",
4546
- searchTerms: []
4547
- }, {
4548
- title: "fas fa-step-backward",
4549
- searchTerms: [ "beginning", "first", "previous", "rewind", "start" ]
4550
- }, {
4551
- title: "fas fa-step-forward",
4552
- searchTerms: [ "end", "last", "next" ]
4553
- }, {
4554
- title: "fas fa-stethoscope",
4555
- searchTerms: []
4556
- }, {
4557
- title: "fab fa-sticker-mule",
4558
- searchTerms: []
4559
- }, {
4560
- title: "fas fa-sticky-note",
4561
- searchTerms: []
4562
- }, {
4563
- title: "far fa-sticky-note",
4564
- searchTerms: []
4565
- }, {
4566
- title: "fas fa-stop",
4567
- searchTerms: [ "block", "box", "square" ]
4568
- }, {
4569
- title: "fas fa-stop-circle",
4570
- searchTerms: []
4571
- }, {
4572
- title: "far fa-stop-circle",
4573
- searchTerms: []
4574
- }, {
4575
- title: "fas fa-stopwatch",
4576
- searchTerms: [ "time" ]
4577
- }, {
4578
- title: "fas fa-store",
4579
- searchTerms: []
4580
- }, {
4581
- title: "fas fa-store-alt",
4582
- searchTerms: []
4583
- }, {
4584
- title: "fab fa-strava",
4585
- searchTerms: []
4586
- }, {
4587
- title: "fas fa-stream",
4588
- searchTerms: []
4589
- }, {
4590
- title: "fas fa-street-view",
4591
- searchTerms: [ "map" ]
4592
- }, {
4593
- title: "fas fa-strikethrough",
4594
- searchTerms: []
4595
- }, {
4596
- title: "fab fa-stripe",
4597
- searchTerms: []
4598
- }, {
4599
- title: "fab fa-stripe-s",
4600
- searchTerms: []
4601
- }, {
4602
- title: "fas fa-stroopwafel",
4603
- searchTerms: [ "dessert", "food", "sweets", "waffle" ]
4604
- }, {
4605
- title: "fab fa-studiovinari",
4606
- searchTerms: []
4607
- }, {
4608
- title: "fab fa-stumbleupon",
4609
- searchTerms: []
4610
- }, {
4611
- title: "fab fa-stumbleupon-circle",
4612
- searchTerms: []
4613
- }, {
4614
- title: "fas fa-subscript",
4615
- searchTerms: []
4616
- }, {
4617
- title: "fas fa-subway",
4618
- searchTerms: [ "machine", "railway", "train", "transportation", "vehicle" ]
4619
- }, {
4620
- title: "fas fa-suitcase",
4621
- searchTerms: [ "baggage", "luggage", "move", "suitcase", "travel", "trip" ]
4622
- }, {
4623
- title: "fas fa-suitcase-rolling",
4624
- searchTerms: []
4625
- }, {
4626
- title: "fas fa-sun",
4627
- searchTerms: [ "brighten", "contrast", "day", "lighter", "sol", "solar", "star", "weather" ]
4628
- }, {
4629
- title: "far fa-sun",
4630
- searchTerms: [ "brighten", "contrast", "day", "lighter", "sol", "solar", "star", "weather" ]
4631
- }, {
4632
- title: "fab fa-superpowers",
4633
- searchTerms: []
4634
- }, {
4635
- title: "fas fa-superscript",
4636
- searchTerms: [ "exponential" ]
4637
- }, {
4638
- title: "fab fa-supple",
4639
- searchTerms: []
4640
- }, {
4641
- title: "fas fa-surprise",
4642
- searchTerms: [ "emoticon", "face", "shocked" ]
4643
- }, {
4644
- title: "far fa-surprise",
4645
- searchTerms: [ "emoticon", "face", "shocked" ]
4646
- }, {
4647
- title: "fas fa-swatchbook",
4648
- searchTerms: []
4649
- }, {
4650
- title: "fas fa-swimmer",
4651
- searchTerms: [ "athlete", "head", "man", "person", "water" ]
4652
- }, {
4653
- title: "fas fa-swimming-pool",
4654
- searchTerms: [ "ladder", "recreation", "water" ]
4655
- }, {
4656
- title: "fas fa-synagogue",
4657
- searchTerms: [ "building", "jewish", "judaism", "star of david", "temple" ]
4658
- }, {
4659
- title: "fas fa-sync",
4660
- searchTerms: [ "exchange", "refresh", "reload", "rotate", "swap" ]
4661
- }, {
4662
- title: "fas fa-sync-alt",
4663
- searchTerms: [ "refresh", "reload", "rotate" ]
4664
- }, {
4665
- title: "fas fa-syringe",
4666
- searchTerms: [ "immunizations", "needle" ]
4667
- }, {
4668
- title: "fas fa-table",
4669
- searchTerms: [ "data", "excel", "spreadsheet" ]
4670
- }, {
4671
- title: "fas fa-table-tennis",
4672
- searchTerms: []
4673
- }, {
4674
- title: "fas fa-tablet",
4675
- searchTerms: [ "apple", "device", "ipad", "kindle", "screen" ]
4676
- }, {
4677
- title: "fas fa-tablet-alt",
4678
- searchTerms: [ "apple", "device", "ipad", "kindle", "screen" ]
4679
- }, {
4680
- title: "fas fa-tablets",
4681
- searchTerms: [ "drugs", "medicine" ]
4682
- }, {
4683
- title: "fas fa-tachometer-alt",
4684
- searchTerms: [ "dashboard", "tachometer" ]
4685
- }, {
4686
- title: "fas fa-tag",
4687
- searchTerms: [ "label" ]
4688
- }, {
4689
- title: "fas fa-tags",
4690
- searchTerms: [ "labels" ]
4691
- }, {
4692
- title: "fas fa-tape",
4693
- searchTerms: []
4694
- }, {
4695
- title: "fas fa-tasks",
4696
- searchTerms: [ "downloading", "downloads", "loading", "progress", "settings" ]
4697
- }, {
4698
- title: "fas fa-taxi",
4699
- searchTerms: [ "cab", "cabbie", "car", "car service", "lyft", "machine", "transportation", "uber", "vehicle" ]
4700
- }, {
4701
- title: "fab fa-teamspeak",
4702
- searchTerms: []
4703
- }, {
4704
- title: "fas fa-teeth",
4705
- searchTerms: []
4706
- }, {
4707
- title: "fas fa-teeth-open",
4708
- searchTerms: []
4709
- }, {
4710
- title: "fab fa-telegram",
4711
- searchTerms: []
4712
- }, {
4713
- title: "fab fa-telegram-plane",
4714
- searchTerms: []
4715
- }, {
4716
- title: "fas fa-temperature-high",
4717
- searchTerms: [ "mercury", "thermometer", "warm" ]
4718
- }, {
4719
- title: "fas fa-temperature-low",
4720
- searchTerms: [ "cool", "mercury", "thermometer" ]
4721
- }, {
4722
- title: "fab fa-tencent-weibo",
4723
- searchTerms: []
4724
- }, {
4725
- title: "fas fa-terminal",
4726
- searchTerms: [ "code", "command", "console", "prompt" ]
4727
- }, {
4728
- title: "fas fa-text-height",
4729
- searchTerms: []
4730
- }, {
4731
- title: "fas fa-text-width",
4732
- searchTerms: []
4733
- }, {
4734
- title: "fas fa-th",
4735
- searchTerms: [ "blocks", "boxes", "grid", "squares" ]
4736
- }, {
4737
- title: "fas fa-th-large",
4738
- searchTerms: [ "blocks", "boxes", "grid", "squares" ]
4739
- }, {
4740
- title: "fas fa-th-list",
4741
- searchTerms: [ "checklist", "completed", "done", "finished", "ol", "todo", "ul" ]
4742
- }, {
4743
- title: "fab fa-the-red-yeti",
4744
- searchTerms: []
4745
- }, {
4746
- title: "fas fa-theater-masks",
4747
- searchTerms: []
4748
- }, {
4749
- title: "fab fa-themeco",
4750
- searchTerms: []
4751
- }, {
4752
- title: "fab fa-themeisle",
4753
- searchTerms: []
4754
- }, {
4755
- title: "fas fa-thermometer",
4756
- searchTerms: [ "mercury", "status", "temperature" ]
4757
- }, {
4758
- title: "fas fa-thermometer-empty",
4759
- searchTerms: [ "mercury", "status", "temperature" ]
4760
- }, {
4761
- title: "fas fa-thermometer-full",
4762
- searchTerms: [ "fever", "mercury", "status", "temperature" ]
4763
- }, {
4764
- title: "fas fa-thermometer-half",
4765
- searchTerms: [ "mercury", "status", "temperature" ]
4766
- }, {
4767
- title: "fas fa-thermometer-quarter",
4768
- searchTerms: [ "mercury", "status", "temperature" ]
4769
- }, {
4770
- title: "fas fa-thermometer-three-quarters",
4771
- searchTerms: [ "mercury", "status", "temperature" ]
4772
- }, {
4773
- title: "fab fa-think-peaks",
4774
- searchTerms: []
4775
- }, {
4776
- title: "fas fa-thumbs-down",
4777
- searchTerms: [ "disagree", "disapprove", "dislike", "hand", "thumbs-o-down" ]
4778
- }, {
4779
- title: "far fa-thumbs-down",
4780
- searchTerms: [ "disagree", "disapprove", "dislike", "hand", "thumbs-o-down" ]
4781
- }, {
4782
- title: "fas fa-thumbs-up",
4783
- searchTerms: [ "agree", "approve", "favorite", "hand", "like", "ok", "okay", "success", "thumbs-o-up", "yes", "you got it dude" ]
4784
- }, {
4785
- title: "far fa-thumbs-up",
4786
- searchTerms: [ "agree", "approve", "favorite", "hand", "like", "ok", "okay", "success", "thumbs-o-up", "yes", "you got it dude" ]
4787
- }, {
4788
- title: "fas fa-thumbtack",
4789
- searchTerms: [ "coordinates", "location", "marker", "pin", "thumb-tack" ]
4790
- }, {
4791
- title: "fas fa-ticket-alt",
4792
- searchTerms: [ "ticket" ]
4793
- }, {
4794
- title: "fas fa-times",
4795
- searchTerms: [ "close", "cross", "error", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4796
- }, {
4797
- title: "fas fa-times-circle",
4798
- searchTerms: [ "close", "cross", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4799
- }, {
4800
- title: "far fa-times-circle",
4801
- searchTerms: [ "close", "cross", "exit", "incorrect", "notice", "notification", "notify", "problem", "wrong", "x" ]
4802
- }, {
4803
- title: "fas fa-tint",
4804
- searchTerms: [ "drop", "droplet", "raindrop", "waterdrop" ]
4805
- }, {
4806
- title: "fas fa-tint-slash",
4807
- searchTerms: []
4808
- }, {
4809
- title: "fas fa-tired",
4810
- searchTerms: [ "emoticon", "face", "grumpy" ]
4811
- }, {
4812
- title: "far fa-tired",
4813
- searchTerms: [ "emoticon", "face", "grumpy" ]
4814
- }, {
4815
- title: "fas fa-toggle-off",
4816
- searchTerms: [ "switch" ]
4817
- }, {
4818
- title: "fas fa-toggle-on",
4819
- searchTerms: [ "switch" ]
4820
- }, {
4821
- title: "fas fa-toilet-paper",
4822
- searchTerms: [ "bathroom", "halloween", "holiday", "lavatory", "prank", "restroom", "roll" ]
4823
- }, {
4824
- title: "fas fa-toolbox",
4825
- searchTerms: [ "admin", "container", "fix", "repair", "settings", "tools" ]
4826
- }, {
4827
- title: "fas fa-tooth",
4828
- searchTerms: [ "bicuspid", "dental", "molar", "mouth", "teeth" ]
4829
- }, {
4830
- title: "fas fa-torah",
4831
- searchTerms: [ "book", "jewish", "judaism" ]
4832
- }, {
4833
- title: "fas fa-torii-gate",
4834
- searchTerms: [ "building", "shintoism" ]
4835
- }, {
4836
- title: "fas fa-tractor",
4837
- searchTerms: []
4838
- }, {
4839
- title: "fab fa-trade-federation",
4840
- searchTerms: []
4841
- }, {
4842
- title: "fas fa-trademark",
4843
- searchTerms: []
4844
- }, {
4845
- title: "fas fa-traffic-light",
4846
- searchTerms: []
4847
- }, {
4848
- title: "fas fa-train",
4849
- searchTerms: [ "bullet", "locomotive", "railway" ]
4850
- }, {
4851
- title: "fas fa-transgender",
4852
- searchTerms: [ "intersex" ]
4853
- }, {
4854
- title: "fas fa-transgender-alt",
4855
- searchTerms: []
4856
- }, {
4857
- title: "fas fa-trash",
4858
- searchTerms: [ "delete", "garbage", "hide", "remove" ]
4859
- }, {
4860
- title: "fas fa-trash-alt",
4861
- searchTerms: [ "delete", "garbage", "hide", "remove", "trash", "trash-o" ]
4862
- }, {
4863
- title: "far fa-trash-alt",
4864
- searchTerms: [ "delete", "garbage", "hide", "remove", "trash", "trash-o" ]
4865
- }, {
4866
- title: "fas fa-tree",
4867
- searchTerms: [ "bark", "fall", "flora", "forest", "nature", "plant", "seasonal" ]
4868
- }, {
4869
- title: "fab fa-trello",
4870
- searchTerms: []
4871
- }, {
4872
- title: "fab fa-tripadvisor",
4873
- searchTerms: []
4874
- }, {
4875
- title: "fas fa-trophy",
4876
- searchTerms: [ "achievement", "award", "cup", "game", "winner" ]
4877
- }, {
4878
- title: "fas fa-truck",
4879
- searchTerms: [ "delivery", "shipping" ]
4880
- }, {
4881
- title: "fas fa-truck-loading",
4882
- searchTerms: []
4883
- }, {
4884
- title: "fas fa-truck-monster",
4885
- searchTerms: []
4886
- }, {
4887
- title: "fas fa-truck-moving",
4888
- searchTerms: []
4889
- }, {
4890
- title: "fas fa-truck-pickup",
4891
- searchTerms: []
4892
- }, {
4893
- title: "fas fa-tshirt",
4894
- searchTerms: [ "cloth", "clothing" ]
4895
- }, {
4896
- title: "fas fa-tty",
4897
- searchTerms: []
4898
- }, {
4899
- title: "fab fa-tumblr",
4900
- searchTerms: []
4901
- }, {
4902
- title: "fab fa-tumblr-square",
4903
- searchTerms: []
4904
- }, {
4905
- title: "fas fa-tv",
4906
- searchTerms: [ "computer", "display", "monitor", "television" ]
4907
- }, {
4908
- title: "fab fa-twitch",
4909
- searchTerms: []
4910
- }, {
4911
- title: "fab fa-twitter",
4912
- searchTerms: [ "social network", "tweet" ]
4913
- }, {
4914
- title: "fab fa-twitter-square",
4915
- searchTerms: [ "social network", "tweet" ]
4916
- }, {
4917
- title: "fab fa-typo3",
4918
- searchTerms: []
4919
- }, {
4920
- title: "fab fa-uber",
4921
- searchTerms: []
4922
- }, {
4923
- title: "fab fa-uikit",
4924
- searchTerms: []
4925
- }, {
4926
- title: "fas fa-umbrella",
4927
- searchTerms: [ "protection", "rain" ]
4928
- }, {
4929
- title: "fas fa-umbrella-beach",
4930
- searchTerms: [ "protection", "recreation", "sun" ]
4931
- }, {
4932
- title: "fas fa-underline",
4933
- searchTerms: []
4934
- }, {
4935
- title: "fas fa-undo",
4936
- searchTerms: [ "back", "control z", "exchange", "oops", "return", "rotate", "swap" ]
4937
- }, {
4938
- title: "fas fa-undo-alt",
4939
- searchTerms: [ "back", "control z", "exchange", "oops", "return", "swap" ]
4940
- }, {
4941
- title: "fab fa-uniregistry",
4942
- searchTerms: []
4943
- }, {
4944
- title: "fas fa-universal-access",
4945
- searchTerms: []
4946
- }, {
4947
- title: "fas fa-university",
4948
- searchTerms: [ "bank", "institution" ]
4949
- }, {
4950
- title: "fas fa-unlink",
4951
- searchTerms: [ "chain", "chain-broken", "remove" ]
4952
- }, {
4953
- title: "fas fa-unlock",
4954
- searchTerms: [ "admin", "lock", "password", "protect" ]
4955
- }, {
4956
- title: "fas fa-unlock-alt",
4957
- searchTerms: [ "admin", "lock", "password", "protect" ]
4958
- }, {
4959
- title: "fab fa-untappd",
4960
- searchTerms: []
4961
- }, {
4962
- title: "fas fa-upload",
4963
- searchTerms: [ "export", "publish" ]
4964
- }, {
4965
- title: "fab fa-usb",
4966
- searchTerms: []
4967
- }, {
4968
- title: "fas fa-user",
4969
- searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4970
- }, {
4971
- title: "far fa-user",
4972
- searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4973
- }, {
4974
- title: "fas fa-user-alt",
4975
- searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4976
- }, {
4977
- title: "fas fa-user-alt-slash",
4978
- searchTerms: []
4979
- }, {
4980
- title: "fas fa-user-astronaut",
4981
- searchTerms: [ "avatar", "clothing", "cosmonaut", "space", "suit" ]
4982
- }, {
4983
- title: "fas fa-user-check",
4984
- searchTerms: []
4985
- }, {
4986
- title: "fas fa-user-circle",
4987
- searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4988
- }, {
4989
- title: "far fa-user-circle",
4990
- searchTerms: [ "account", "avatar", "head", "human", "man", "person", "profile" ]
4991
- }, {
4992
- title: "fas fa-user-clock",
4993
- searchTerms: []
4994
- }, {
4995
- title: "fas fa-user-cog",
4996
- searchTerms: []
4997
- }, {
4998
- title: "fas fa-user-edit",
4999
- searchTerms: []
5000
- }, {
5001
- title: "fas fa-user-friends",
5002
- searchTerms: []
5003
- }, {
5004
- title: "fas fa-user-graduate",
5005
- searchTerms: [ "cap", "clothing", "commencement", "gown", "graduation", "student" ]
5006
- }, {
5007
- title: "fas fa-user-injured",
5008
- searchTerms: [ "cast", "ouch", "sling" ]
5009
- }, {
5010
- title: "fas fa-user-lock",
5011
- searchTerms: []
5012
- }, {
5013
- title: "fas fa-user-md",
5014
- searchTerms: [ "doctor", "job", "medical", "nurse", "occupation", "profile" ]
5015
- }, {
5016
- title: "fas fa-user-minus",
5017
- searchTerms: [ "delete", "negative", "remove" ]
5018
- }, {
5019
- title: "fas fa-user-ninja",
5020
- searchTerms: [ "assassin", "avatar", "dangerous", "deadly", "sneaky" ]
5021
- }, {
5022
- title: "fas fa-user-plus",
5023
- searchTerms: [ "positive", "sign up", "signup" ]
5024
- }, {
5025
- title: "fas fa-user-secret",
5026
- searchTerms: [ "clothing", "coat", "hat", "incognito", "privacy", "spy", "whisper" ]
5027
- }, {
5028
- title: "fas fa-user-shield",
5029
- searchTerms: []
5030
- }, {
5031
- title: "fas fa-user-slash",
5032
- searchTerms: [ "ban", "remove" ]
5033
- }, {
5034
- title: "fas fa-user-tag",
5035
- searchTerms: []
5036
- }, {
5037
- title: "fas fa-user-tie",
5038
- searchTerms: [ "avatar", "business", "clothing", "formal" ]
5039
- }, {
5040
- title: "fas fa-user-times",
5041
- searchTerms: [ "archive", "delete", "remove", "x" ]
5042
- }, {
5043
- title: "fas fa-users",
5044
- searchTerms: [ "people", "persons", "profiles" ]
5045
- }, {
5046
- title: "fas fa-users-cog",
5047
- searchTerms: []
5048
- }, {
5049
- title: "fab fa-ussunnah",
5050
- searchTerms: []
5051
- }, {
5052
- title: "fas fa-utensil-spoon",
5053
- searchTerms: [ "spoon" ]
5054
- }, {
5055
- title: "fas fa-utensils",
5056
- searchTerms: [ "cutlery", "dinner", "eat", "food", "knife", "restaurant", "spoon" ]
5057
- }, {
5058
- title: "fab fa-vaadin",
5059
- searchTerms: []
5060
- }, {
5061
- title: "fas fa-vector-square",
5062
- searchTerms: [ "anchors", "lines", "object" ]
5063
- }, {
5064
- title: "fas fa-venus",
5065
- searchTerms: [ "female" ]
5066
- }, {
5067
- title: "fas fa-venus-double",
5068
- searchTerms: []
5069
- }, {
5070
- title: "fas fa-venus-mars",
5071
- searchTerms: []
5072
- }, {
5073
- title: "fab fa-viacoin",
5074
- searchTerms: []
5075
- }, {
5076
- title: "fab fa-viadeo",
5077
- searchTerms: []
5078
- }, {
5079
- title: "fab fa-viadeo-square",
5080
- searchTerms: []
5081
- }, {
5082
- title: "fas fa-vial",
5083
- searchTerms: [ "test tube" ]
5084
- }, {
5085
- title: "fas fa-vials",
5086
- searchTerms: [ "lab results", "test tubes" ]
5087
- }, {
5088
- title: "fab fa-viber",
5089
- searchTerms: []
5090
- }, {
5091
- title: "fas fa-video",
5092
- searchTerms: [ "camera", "film", "movie", "record", "video-camera" ]
5093
- }, {
5094
- title: "fas fa-video-slash",
5095
- searchTerms: []
5096
- }, {
5097
- title: "fas fa-vihara",
5098
- searchTerms: [ "buddhism", "buddhist", "building", "monastery" ]
5099
- }, {
5100
- title: "fab fa-vimeo",
5101
- searchTerms: []
5102
- }, {
5103
- title: "fab fa-vimeo-square",
5104
- searchTerms: []
5105
- }, {
5106
- title: "fab fa-vimeo-v",
5107
- searchTerms: [ "vimeo" ]
5108
- }, {
5109
- title: "fab fa-vine",
5110
- searchTerms: []
5111
- }, {
5112
- title: "fab fa-vk",
5113
- searchTerms: []
5114
- }, {
5115
- title: "fab fa-vnv",
5116
- searchTerms: []
5117
- }, {
5118
- title: "fas fa-volleyball-ball",
5119
- searchTerms: []
5120
- }, {
5121
- title: "fas fa-volume-down",
5122
- searchTerms: [ "audio", "lower", "music", "quieter", "sound", "speaker" ]
5123
- }, {
5124
- title: "fas fa-volume-mute",
5125
- searchTerms: []
5126
- }, {
5127
- title: "fas fa-volume-off",
5128
- searchTerms: [ "audio", "music", "mute", "sound" ]
5129
- }, {
5130
- title: "fas fa-volume-up",
5131
- searchTerms: [ "audio", "higher", "louder", "music", "sound", "speaker" ]
5132
- }, {
5133
- title: "fas fa-vote-yea",
5134
- searchTerms: [ "accept", "cast", "election", "politics", "positive", "yes" ]
5135
- }, {
5136
- title: "fas fa-vr-cardboard",
5137
- searchTerms: [ "google", "reality", "virtual" ]
5138
- }, {
5139
- title: "fab fa-vuejs",
5140
- searchTerms: []
5141
- }, {
5142
- title: "fas fa-walking",
5143
- searchTerms: []
5144
- }, {
5145
- title: "fas fa-wallet",
5146
- searchTerms: []
5147
- }, {
5148
- title: "fas fa-warehouse",
5149
- searchTerms: []
5150
- }, {
5151
- title: "fas fa-water",
5152
- searchTerms: []
5153
- }, {
5154
- title: "fab fa-weebly",
5155
- searchTerms: []
5156
- }, {
5157
- title: "fab fa-weibo",
5158
- searchTerms: []
5159
- }, {
5160
- title: "fas fa-weight",
5161
- searchTerms: [ "measurement", "scale", "weight" ]
5162
- }, {
5163
- title: "fas fa-weight-hanging",
5164
- searchTerms: [ "anvil", "heavy", "measurement" ]
5165
- }, {
5166
- title: "fab fa-weixin",
5167
- searchTerms: []
5168
- }, {
5169
- title: "fab fa-whatsapp",
5170
- searchTerms: []
5171
- }, {
5172
- title: "fab fa-whatsapp-square",
5173
- searchTerms: []
5174
- }, {
5175
- title: "fas fa-wheelchair",
5176
- searchTerms: [ "handicap", "person" ]
5177
- }, {
5178
- title: "fab fa-whmcs",
5179
- searchTerms: []
5180
- }, {
5181
- title: "fas fa-wifi",
5182
- searchTerms: []
5183
- }, {
5184
- title: "fab fa-wikipedia-w",
5185
- searchTerms: []
5186
- }, {
5187
- title: "fas fa-wind",
5188
- searchTerms: [ "air", "blow", "breeze", "fall", "seasonal" ]
5189
- }, {
5190
- title: "fas fa-window-close",
5191
- searchTerms: []
5192
- }, {
5193
- title: "far fa-window-close",
5194
- searchTerms: []
5195
- }, {
5196
- title: "fas fa-window-maximize",
5197
- searchTerms: []
5198
- }, {
5199
- title: "far fa-window-maximize",
5200
- searchTerms: []
5201
- }, {
5202
- title: "fas fa-window-minimize",
5203
- searchTerms: []
5204
- }, {
5205
- title: "far fa-window-minimize",
5206
- searchTerms: []
5207
- }, {
5208
- title: "fas fa-window-restore",
5209
- searchTerms: []
5210
- }, {
5211
- title: "far fa-window-restore",
5212
- searchTerms: []
5213
- }, {
5214
- title: "fab fa-windows",
5215
- searchTerms: [ "microsoft" ]
5216
- }, {
5217
- title: "fas fa-wine-bottle",
5218
- searchTerms: [ "alcohol", "beverage", "drink", "glass", "grapes" ]
5219
- }, {
5220
- title: "fas fa-wine-glass",
5221
- searchTerms: [ "alcohol", "beverage", "drink", "grapes" ]
5222
- }, {
5223
- title: "fas fa-wine-glass-alt",
5224
- searchTerms: [ "alcohol", "beverage", "drink", "grapes" ]
5225
- }, {
5226
- title: "fab fa-wix",
5227
- searchTerms: []
5228
- }, {
5229
- title: "fab fa-wizards-of-the-coast",
5230
- searchTerms: [ "Dungeons & Dragons", "d&d", "dnd", "fantasy", "game", "gaming", "tabletop" ]
5231
- }, {
5232
- title: "fab fa-wolf-pack-battalion",
5233
- searchTerms: []
5234
- }, {
5235
- title: "fas fa-won-sign",
5236
- searchTerms: [ "krw" ]
5237
- }, {
5238
- title: "fab fa-wordpress",
5239
- searchTerms: []
5240
- }, {
5241
- title: "fab fa-wordpress-simple",
5242
- searchTerms: []
5243
- }, {
5244
- title: "fab fa-wpbeginner",
5245
- searchTerms: []
5246
- }, {
5247
- title: "fab fa-wpexplorer",
5248
- searchTerms: []
5249
- }, {
5250
- title: "fab fa-wpforms",
5251
- searchTerms: []
5252
- }, {
5253
- title: "fab fa-wpressr",
5254
- searchTerms: [ "rendact" ]
5255
- }, {
5256
- title: "fas fa-wrench",
5257
- searchTerms: [ "fix", "settings", "spanner", "tool", "update" ]
5258
- }, {
5259
- title: "fas fa-x-ray",
5260
- searchTerms: [ "radiological images", "radiology" ]
5261
- }, {
5262
- title: "fab fa-xbox",
5263
- searchTerms: []
5264
- }, {
5265
- title: "fab fa-xing",
5266
- searchTerms: []
5267
- }, {
5268
- title: "fab fa-xing-square",
5269
- searchTerms: []
5270
- }, {
5271
- title: "fab fa-y-combinator",
5272
- searchTerms: []
5273
- }, {
5274
- title: "fab fa-yahoo",
5275
- searchTerms: []
5276
- }, {
5277
- title: "fab fa-yandex",
5278
- searchTerms: []
5279
- }, {
5280
- title: "fab fa-yandex-international",
5281
- searchTerms: []
5282
- }, {
5283
- title: "fab fa-yelp",
5284
- searchTerms: []
5285
- }, {
5286
- title: "fas fa-yen-sign",
5287
- searchTerms: [ "jpy", "money" ]
5288
- }, {
5289
- title: "fas fa-yin-yang",
5290
- searchTerms: [ "daoism", "opposites", "taoism" ]
5291
- }, {
5292
- title: "fab fa-yoast",
5293
- searchTerms: []
5294
- }, {
5295
- title: "fab fa-youtube",
5296
- searchTerms: [ "film", "video", "youtube-play", "youtube-square" ]
5297
- }, {
5298
- title: "fab fa-youtube-square",
5299
- searchTerms: []
5300
- }, {
5301
- title: "fab fa-zhihu",
5302
- searchTerms: []
5303
- } ]
5304
- });
5305
  });
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;
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,
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,
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");
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
+ if (typeof this.options.icons[d] === "string") {
538
+ var e = a(this.options.templates.iconpickerItem);
539
+ e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d]));
540
+ e.data("iconpickerValue", this.options.icons[d]).on("click.iconpicker", c);
541
+ this.iconpicker.find(".iconpicker-items").append(e.attr("title", "." + this.options.icons[d]));
 
 
 
 
 
 
 
 
 
 
542
  }
543
  }
 
544
  this.popover.find(".popover-content").append(this.iconpicker);
545
  return this.iconpicker;
546
  },
547
+ _isEventInsideIconpicker: function(b) {
548
+ var c = a(b.target);
549
+ if ((!c.hasClass("iconpicker-element") || c.hasClass("iconpicker-element") && !c.is(this.element)) && c.parents(".iconpicker-popover").length === 0) {
550
  return false;
551
  }
552
  return true;
553
  },
554
  _bindElementEvents: function() {
555
+ var c = this;
556
  this.getSearchInput().on("keyup.iconpicker", function() {
557
+ c.filter(a(this).val().toLowerCase());
558
  });
559
  this.getAcceptButton().on("click.iconpicker", function() {
560
+ var a = c.iconpicker.find(".iconpicker-selected").get(0);
561
+ c.update(c.iconpickerValue);
562
+ c._trigger("iconpickerSelected", {
563
+ iconpickerItem: a,
564
+ iconpickerValue: c.iconpickerValue
565
  });
566
+ if (!c.isInline()) {
567
+ c.hide();
568
  }
569
  });
570
  this.getCancelButton().on("click.iconpicker", function() {
571
+ if (!c.isInline()) {
572
+ c.hide();
573
  }
574
  });
575
+ this.element.on("focus.iconpicker", function(a) {
576
+ c.show();
577
+ a.stopPropagation();
578
  });
579
  if (this.hasComponent()) {
580
  this.component.on("click.iconpicker", function() {
581
+ c.toggle();
582
  });
583
  }
584
  if (this.hasInput()) {
585
+ this.input.on("keyup.iconpicker", function(d) {
586
+ 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 ])) {
587
+ c.update();
588
  } else {
589
+ c._updateFormGroupStatus(c.getValid(this.value) !== false);
590
  }
591
+ if (c.options.inputSearch === true) {
592
+ c.filter(a(this).val().toLowerCase());
593
  }
594
  });
595
  }
596
  },
597
  _bindWindowEvents: function() {
598
+ var b = a(window.document);
599
+ var c = this;
600
+ var d = ".iconpicker.inst" + this._id;
601
+ a(window).on("resize.iconpicker" + d + " orientationchange.iconpicker" + d, function(a) {
602
+ if (c.popover.hasClass("in")) {
603
+ c.updatePlacement();
604
  }
605
  });
606
+ if (!c.isInline()) {
607
+ b.on("mouseup" + d, function(a) {
608
+ if (!c._isEventInsideIconpicker(a) && !c.isInline()) {
609
+ c.hide();
610
  }
611
+ a.stopPropagation();
612
+ a.preventDefault();
613
+ return false;
614
  });
615
  }
616
+ return false;
617
  },
618
  _unbindElementEvents: function() {
619
  this.popover.off(".iconpicker");
629
  }
630
  },
631
  _unbindWindowEvents: function() {
632
+ a(window).off(".iconpicker.inst" + this._id);
633
+ a(window.document).off(".iconpicker.inst" + this._id);
634
+ },
635
+ updatePlacement: function(b, c) {
636
+ b = b || this.options.placement;
637
+ this.options.placement = b;
638
+ c = c || this.options.collision;
639
+ c = c === true ? "flip" : c;
640
+ var d = {
641
  at: "right bottom",
642
  my: "right top",
643
  of: this.hasInput() && !this.isInputGroup() ? this.input : this.container,
644
+ collision: c === true ? "flip" : c,
645
  within: window
646
  };
647
  this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner " + "rightTop right rightBottom bottomRight bottomRightCorner " + "bottom bottomLeft bottomLeftCorner leftBottom left leftTop");
648
+ if (typeof b === "object") {
649
+ return this.popover.pos(a.extend({}, d, b));
650
  }
651
+ switch (b) {
652
  case "inline":
653
  {
654
+ d = false;
655
  }
656
  break;
657
 
658
  case "topLeftCorner":
659
  {
660
+ d.my = "right bottom";
661
+ d.at = "left top";
662
  }
663
  break;
664
 
665
  case "topLeft":
666
  {
667
+ d.my = "left bottom";
668
+ d.at = "left top";
669
  }
670
  break;
671
 
672
  case "top":
673
  {
674
+ d.my = "center bottom";
675
+ d.at = "center top";
676
  }
677
  break;
678
 
679
  case "topRight":
680
  {
681
+ d.my = "right bottom";
682
+ d.at = "right top";
683
  }
684
  break;
685
 
686
  case "topRightCorner":
687
  {
688
+ d.my = "left bottom";
689
+ d.at = "right top";
690
  }
691
  break;
692
 
693
  case "rightTop":
694
  {
695
+ d.my = "left bottom";
696
+ d.at = "right center";
697
  }
698
  break;
699
 
700
  case "right":
701
  {
702
+ d.my = "left center";
703
+ d.at = "right center";
704
  }
705
  break;
706
 
707
  case "rightBottom":
708
  {
709
+ d.my = "left top";
710
+ d.at = "right center";
711
  }
712
  break;
713
 
714
  case "bottomRightCorner":
715
  {
716
+ d.my = "left top";
717
+ d.at = "right bottom";
718
  }
719
  break;
720
 
721
  case "bottomRight":
722
  {
723
+ d.my = "right top";
724
+ d.at = "right bottom";
725
  }
726
  break;
727
 
728
  case "bottom":
729
  {
730
+ d.my = "center top";
731
+ d.at = "center bottom";
732
  }
733
  break;
734
 
735
  case "bottomLeft":
736
  {
737
+ d.my = "left top";
738
+ d.at = "left bottom";
739
  }
740
  break;
741
 
742
  case "bottomLeftCorner":
743
  {
744
+ d.my = "right top";
745
+ d.at = "left bottom";
746
  }
747
  break;
748
 
749
  case "leftBottom":
750
  {
751
+ d.my = "right top";
752
+ d.at = "left center";
753
  }
754
  break;
755
 
756
  case "left":
757
  {
758
+ d.my = "right center";
759
+ d.at = "left center";
760
  }
761
  break;
762
 
763
  case "leftTop":
764
  {
765
+ d.my = "right bottom";
766
+ d.at = "left center";
767
  }
768
  break;
769
 
776
  this.popover.css({
777
  display: this.options.placement === "inline" ? "" : "block"
778
  });
779
+ if (d !== false) {
780
+ this.popover.pos(d).css("maxWidth", a(window).width() - this.container.offset().left - 5);
781
  } else {
782
  this.popover.css({
783
  top: "auto",
796
  this.iconpicker.find("." + this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g, ".")).parent().addClass("iconpicker-selected " + this.options.selectedCustomClass);
797
  }
798
  if (this.hasComponent()) {
799
+ var a = this.component.find("i");
800
+ if (a.length > 0) {
801
+ a.attr("class", this.options.fullClassFormatter(this.iconpickerValue));
802
  } else {
803
  this.component.html(this.getHtml());
804
  }
805
  }
806
  },
807
+ _updateFormGroupStatus: function(a) {
808
  if (this.hasInput()) {
809
+ if (a !== false) {
810
  this.input.parents(".form-group:first").removeClass("has-error");
811
  } else {
812
  this.input.parents(".form-group:first").addClass("has-error");
815
  }
816
  return false;
817
  },
818
+ getValid: function(c) {
819
+ if (!b.isString(c)) {
820
+ c = "";
 
 
 
 
 
 
 
 
 
821
  }
822
+ var d = c === "";
823
+ c = a.trim(c);
824
+ if (b.inArray(c, this.options.icons) || d) {
825
+ return c;
826
  }
827
  return false;
828
  },
829
+ setValue: function(a) {
830
+ var b = this.getValid(a);
831
+ if (b !== false) {
832
+ this.iconpickerValue = b;
833
  this._trigger("iconpickerSetValue", {
834
+ iconpickerValue: b
835
  });
836
  return this.iconpickerValue;
837
  } else {
838
  this._trigger("iconpickerInvalid", {
839
+ iconpickerValue: a
840
  });
841
  return false;
842
  }
844
  getHtml: function() {
845
  return '<i class="' + this.options.fullClassFormatter(this.iconpickerValue) + '"></i>';
846
  },
847
+ setSourceValue: function(a) {
848
+ a = this.setValue(a);
849
+ if (a !== false && a !== "") {
850
  if (this.hasInput()) {
851
  this.input.val(this.iconpickerValue);
852
  } else {
853
  this.element.data("iconpickerValue", this.iconpickerValue);
854
  }
855
  this._trigger("iconpickerSetSourceValue", {
856
+ iconpickerValue: a
857
  });
858
  }
859
+ return a;
860
  },
861
+ getSourceValue: function(a) {
862
+ a = a || this.options.defaultValue;
863
+ var b = a;
864
  if (this.hasInput()) {
865
+ b = this.input.val();
866
  } else {
867
+ b = this.element.data("iconpickerValue");
868
  }
869
+ if (b === undefined || b === "" || b === null || b === false) {
870
+ b = a;
871
  }
872
+ return b;
873
  },
874
  hasInput: function() {
875
  return this.input !== false;
901
  getSearchInput: function() {
902
  return this.popover.find(".iconpicker-search");
903
  },
904
+ filter: function(c) {
905
+ if (b.isEmpty(c)) {
906
  this.iconpicker.find(".iconpicker-item").show();
907
+ return a(false);
908
  } else {
909
+ var d = [];
910
  this.iconpicker.find(".iconpicker-item").each(function() {
911
+ var b = a(this);
912
+ var e = b.attr("title").toLowerCase();
913
+ var f = false;
 
 
914
  try {
915
+ f = new RegExp(c, "g");
916
+ } catch (a) {
917
+ f = false;
918
  }
919
+ if (f !== false && e.match(f)) {
920
+ d.push(b);
921
+ b.show();
922
  } else {
923
+ b.hide();
924
  }
925
  });
926
+ return d;
927
  }
928
  },
929
  show: function() {
930
  if (this.popover.hasClass("in")) {
931
  return false;
932
  }
933
+ a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover), "hide");
934
+ this._trigger("iconpickerShow");
 
 
935
  this.updatePlacement();
936
  this.popover.addClass("in");
937
+ setTimeout(a.proxy(function() {
938
  this.popover.css("display", this.isInline() ? "" : "block");
939
+ this._trigger("iconpickerShown");
 
 
940
  }, this), this.options.animation ? 300 : 1);
941
  },
942
  hide: function() {
943
  if (!this.popover.hasClass("in")) {
944
  return false;
945
  }
946
+ this._trigger("iconpickerHide");
 
 
947
  this.popover.removeClass("in");
948
+ setTimeout(a.proxy(function() {
949
  this.popover.css("display", "none");
950
  this.getSearchInput().val("");
951
  this.filter("");
952
+ this._trigger("iconpickerHidden");
 
 
953
  }, this), this.options.animation ? 300 : 1);
954
  },
955
  toggle: function() {
959
  this.show(true);
960
  }
961
  },
962
+ update: function(a, b) {
963
+ a = a ? a : this.getSourceValue(this.iconpickerValue);
964
+ this._trigger("iconpickerUpdate");
965
+ if (b === true) {
966
+ a = this.setValue(a);
 
 
967
  } else {
968
+ a = this.setSourceValue(a);
969
+ this._updateFormGroupStatus(a !== false);
970
  }
971
+ if (a !== false) {
972
  this._updateComponents();
973
  }
974
+ this._trigger("iconpickerUpdated");
975
+ return a;
 
 
976
  },
977
  destroy: function() {
978
+ this._trigger("iconpickerDestroy");
 
 
979
  this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element");
980
  this._unbindElementEvents();
981
  this._unbindWindowEvents();
982
+ a(this.popover).remove();
983
+ this._trigger("iconpickerDestroyed");
 
 
984
  },
985
  disable: function() {
986
  if (this.hasInput()) {
1006
  return this.options.placement === "inline" || this.popover.hasClass("inline");
1007
  }
1008
  };
1009
+ a.iconpicker = c;
1010
+ a.fn.iconpicker = function(b) {
1011
  return this.each(function() {
1012
+ var d = a(this);
1013
+ if (!d.data("iconpicker")) {
1014
+ d.data("iconpicker", new c(this, typeof b === "object" ? b : {}));
1015
  }
1016
  });
1017
  };
1018
+ c.defaultOptions.icons = [ "fa-500px", "fa-address-book", "fa-address-book-o", "fa-address-card", "fa-address-card-o", "fa-adjust", "fa-adn", "fa-align-center", "fa-align-justify", "fa-align-left", "fa-align-right", "fa-amazon", "fa-ambulance", "fa-american-sign-language-interpreting", "fa-anchor", "fa-android", "fa-angellist", "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-area-chart", "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-asl-interpreting", "fa-assistive-listening-systems", "fa-asterisk", "fa-at", "fa-audio-description", "fa-automobile", "fa-backward", "fa-balance-scale", "fa-ban", "fa-bandcamp", "fa-bank", "fa-bar-chart", "fa-bar-chart-o", "fa-barcode", "fa-bars", "fa-bath", "fa-bathtub", "fa-battery", "fa-battery-0", "fa-battery-1", "fa-battery-2", "fa-battery-3", "fa-battery-4", "fa-battery-empty", "fa-battery-full", "fa-battery-half", "fa-battery-quarter", "fa-battery-three-quarters", "fa-bed", "fa-beer", "fa-behance", "fa-behance-square", "fa-bell", "fa-bell-o", "fa-bell-slash", "fa-bell-slash-o", "fa-bicycle", "fa-binoculars", "fa-birthday-cake", "fa-bitbucket", "fa-bitbucket-square", "fa-bitcoin", "fa-black-tie", "fa-blind", "fa-bluetooth", "fa-bluetooth-b", "fa-bold", "fa-bolt", "fa-bomb", "fa-book", "fa-bookmark", "fa-bookmark-o", "fa-braille", "fa-briefcase", "fa-btc", "fa-bug", "fa-building", "fa-building-o", "fa-bullhorn", "fa-bullseye", "fa-bus", "fa-buysellads", "fa-cab", "fa-calculator", "fa-calendar", "fa-calendar-check-o", "fa-calendar-minus-o", "fa-calendar-o", "fa-calendar-plus-o", "fa-calendar-times-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-cart-arrow-down", "fa-cart-plus", "fa-cc", "fa-cc-amex", "fa-cc-diners-club", "fa-cc-discover", "fa-cc-jcb", "fa-cc-mastercard", "fa-cc-paypal", "fa-cc-stripe", "fa-cc-visa", "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-chrome", "fa-circle", "fa-circle-o", "fa-circle-o-notch", "fa-circle-thin", "fa-clipboard", "fa-clock-o", "fa-clone", "fa-close", "fa-cloud", "fa-cloud-download", "fa-cloud-upload", "fa-cny", "fa-code", "fa-code-fork", "fa-codepen", "fa-codiepie", "fa-coffee", "fa-cog", "fa-cogs", "fa-columns", "fa-comment", "fa-comment-o", "fa-commenting", "fa-commenting-o", "fa-comments", "fa-comments-o", "fa-compass", "fa-compress", "fa-connectdevelop", "fa-contao", "fa-copy", "fa-copyright", "fa-creative-commons", "fa-credit-card", "fa-credit-card-alt", "fa-crop", "fa-crosshairs", "fa-css3", "fa-cube", "fa-cubes", "fa-cut", "fa-cutlery", "fa-dashboard", "fa-dashcube", "fa-database", "fa-deaf", "fa-deafness", "fa-dedent", "fa-delicious", "fa-desktop", "fa-deviantart", "fa-diamond", "fa-digg", "fa-dollar", "fa-dot-circle-o", "fa-download", "fa-dribbble", "fa-drivers-license", "fa-drivers-license-o", "fa-dropbox", "fa-drupal", "fa-edge", "fa-edit", "fa-eercast", "fa-eject", "fa-ellipsis-h", "fa-ellipsis-v", "fa-empire", "fa-envelope", "fa-envelope-o", "fa-envelope-open", "fa-envelope-open-o", "fa-envelope-square", "fa-envira", "fa-eraser", "fa-etsy", "fa-eur", "fa-euro", "fa-exchange", "fa-exclamation", "fa-exclamation-circle", "fa-exclamation-triangle", "fa-expand", "fa-expeditedssl", "fa-external-link", "fa-external-link-square", "fa-eye", "fa-eye-slash", "fa-eyedropper", "fa-fa", "fa-facebook", "fa-facebook-f", "fa-facebook-official", "fa-facebook-square", "fa-fast-backward", "fa-fast-forward", "fa-fax", "fa-feed", "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-firefox", "fa-first-order", "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-font-awesome", "fa-fonticons", "fa-fort-awesome", "fa-forumbee", "fa-forward", "fa-foursquare", "fa-free-code-camp", "fa-frown-o", "fa-futbol-o", "fa-gamepad", "fa-gavel", "fa-gbp", "fa-ge", "fa-gear", "fa-gears", "fa-genderless", "fa-get-pocket", "fa-gg", "fa-gg-circle", "fa-gift", "fa-git", "fa-git-square", "fa-github", "fa-github-alt", "fa-github-square", "fa-gitlab", "fa-gittip", "fa-glass", "fa-glide", "fa-glide-g", "fa-globe", "fa-google", "fa-google-plus", "fa-google-plus-circle", "fa-google-plus-official", "fa-google-plus-square", "fa-google-wallet", "fa-graduation-cap", "fa-gratipay", "fa-grav", "fa-group", "fa-h-square", "fa-hacker-news", "fa-hand-grab-o", "fa-hand-lizard-o", "fa-hand-o-down", "fa-hand-o-left", "fa-hand-o-right", "fa-hand-o-up", "fa-hand-paper-o", "fa-hand-peace-o", "fa-hand-pointer-o", "fa-hand-rock-o", "fa-hand-scissors-o", "fa-hand-spock-o", "fa-hand-stop-o", "fa-handshake-o", "fa-hard-of-hearing", "fa-hashtag", "fa-hdd-o", "fa-header", "fa-headphones", "fa-heart", "fa-heart-o", "fa-heartbeat", "fa-history", "fa-home", "fa-hospital-o", "fa-hotel", "fa-hourglass", "fa-hourglass-1", "fa-hourglass-2", "fa-hourglass-3", "fa-hourglass-end", "fa-hourglass-half", "fa-hourglass-o", "fa-hourglass-start", "fa-houzz", "fa-html5", "fa-i-cursor", "fa-id-badge", "fa-id-card", "fa-id-card-o", "fa-ils", "fa-image", "fa-imdb", "fa-inbox", "fa-indent", "fa-industry", "fa-info", "fa-info-circle", "fa-inr", "fa-instagram", "fa-institution", "fa-internet-explorer", "fa-intersex", "fa-ioxhost", "fa-italic", "fa-joomla", "fa-jpy", "fa-jsfiddle", "fa-key", "fa-keyboard-o", "fa-krw", "fa-language", "fa-laptop", "fa-lastfm", "fa-lastfm-square", "fa-leaf", "fa-leanpub", "fa-legal", "fa-lemon-o", "fa-level-down", "fa-level-up", "fa-life-bouy", "fa-life-buoy", "fa-life-ring", "fa-life-saver", "fa-lightbulb-o", "fa-line-chart", "fa-link", "fa-linkedin", "fa-linkedin-square", "fa-linode", "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-low-vision", "fa-magic", "fa-magnet", "fa-mail-forward", "fa-mail-reply", "fa-mail-reply-all", "fa-male", "fa-map", "fa-map-marker", "fa-map-o", "fa-map-pin", "fa-map-signs", "fa-mars", "fa-mars-double", "fa-mars-stroke", "fa-mars-stroke-h", "fa-mars-stroke-v", "fa-maxcdn", "fa-meanpath", "fa-medium", "fa-medkit", "fa-meetup", "fa-meh-o", "fa-mercury", "fa-microchip", "fa-microphone", "fa-microphone-slash", "fa-minus", "fa-minus-circle", "fa-minus-square", "fa-minus-square-o", "fa-mixcloud", "fa-mobile", "fa-mobile-phone", "fa-modx", "fa-money", "fa-moon-o", "fa-mortar-board", "fa-motorcycle", "fa-mouse-pointer", "fa-music", "fa-navicon", "fa-neuter", "fa-newspaper-o", "fa-object-group", "fa-object-ungroup", "fa-odnoklassniki", "fa-odnoklassniki-square", "fa-opencart", "fa-openid", "fa-opera", "fa-optin-monster", "fa-outdent", "fa-pagelines", "fa-paint-brush", "fa-paper-plane", "fa-paper-plane-o", "fa-paperclip", "fa-paragraph", "fa-paste", "fa-pause", "fa-pause-circle", "fa-pause-circle-o", "fa-paw", "fa-paypal", "fa-pencil", "fa-pencil-square", "fa-pencil-square-o", "fa-percent", "fa-phone", "fa-phone-square", "fa-photo", "fa-picture-o", "fa-pie-chart", "fa-pied-piper", "fa-pied-piper-alt", "fa-pied-piper-pp", "fa-pinterest", "fa-pinterest-p", "fa-pinterest-square", "fa-plane", "fa-play", "fa-play-circle", "fa-play-circle-o", "fa-plug", "fa-plus", "fa-plus-circle", "fa-plus-square", "fa-plus-square-o", "fa-podcast", "fa-power-off", "fa-print", "fa-product-hunt", "fa-puzzle-piece", "fa-qq", "fa-qrcode", "fa-question", "fa-question-circle", "fa-question-circle-o", "fa-quora", "fa-quote-left", "fa-quote-right", "fa-ra", "fa-random", "fa-ravelry", "fa-rebel", "fa-recycle", "fa-reddit", "fa-reddit-alien", "fa-reddit-square", "fa-refresh", "fa-registered", "fa-remove", "fa-renren", "fa-reorder", "fa-repeat", "fa-reply", "fa-reply-all", "fa-resistance", "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-s15", "fa-safari", "fa-save", "fa-scissors", "fa-scribd", "fa-search", "fa-search-minus", "fa-search-plus", "fa-sellsy", "fa-send", "fa-send-o", "fa-server", "fa-share", "fa-share-alt", "fa-share-alt-square", "fa-share-square", "fa-share-square-o", "fa-shekel", "fa-sheqel", "fa-shield", "fa-ship", "fa-shirtsinbulk", "fa-shopping-bag", "fa-shopping-basket", "fa-shopping-cart", "fa-shower", "fa-sign-in", "fa-sign-language", "fa-sign-out", "fa-signal", "fa-signing", "fa-simplybuilt", "fa-sitemap", "fa-skyatlas", "fa-skype", "fa-slack", "fa-sliders", "fa-slideshare", "fa-smile-o", "fa-snapchat", "fa-snapchat-ghost", "fa-snapchat-square", "fa-snowflake-o", "fa-soccer-ball-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-sticky-note", "fa-sticky-note-o", "fa-stop", "fa-stop-circle", "fa-stop-circle-o", "fa-street-view", "fa-strikethrough", "fa-stumbleupon", "fa-stumbleupon-circle", "fa-subscript", "fa-subway", "fa-suitcase", "fa-sun-o", "fa-superpowers", "fa-superscript", "fa-support", "fa-table", "fa-tablet", "fa-tachometer", "fa-tag", "fa-tags", "fa-tasks", "fa-taxi", "fa-telegram", "fa-television", "fa-tencent-weibo", "fa-terminal", "fa-text-height", "fa-text-width", "fa-th", "fa-th-large", "fa-th-list", "fa-themeisle", "fa-thermometer", "fa-thermometer-0", "fa-thermometer-1", "fa-thermometer-2", "fa-thermometer-3", "fa-thermometer-4", "fa-thermometer-empty", "fa-thermometer-full", "fa-thermometer-half", "fa-thermometer-quarter", "fa-thermometer-three-quarters", "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-times-rectangle", "fa-times-rectangle-o", "fa-tint", "fa-toggle-down", "fa-toggle-left", "fa-toggle-off", "fa-toggle-on", "fa-toggle-right", "fa-toggle-up", "fa-trademark", "fa-train", "fa-transgender", "fa-transgender-alt", "fa-trash", "fa-trash-o", "fa-tree", "fa-trello", "fa-tripadvisor", "fa-trophy", "fa-truck", "fa-try", "fa-tty", "fa-tumblr", "fa-tumblr-square", "fa-turkish-lira", "fa-tv", "fa-twitch", "fa-twitter", "fa-twitter-square", "fa-umbrella", "fa-underline", "fa-undo", "fa-universal-access", "fa-university", "fa-unlink", "fa-unlock", "fa-unlock-alt", "fa-unsorted", "fa-upload", "fa-usb", "fa-usd", "fa-user", "fa-user-circle", "fa-user-circle-o", "fa-user-md", "fa-user-o", "fa-user-plus", "fa-user-secret", "fa-user-times", "fa-users", "fa-vcard", "fa-vcard-o", "fa-venus", "fa-venus-double", "fa-venus-mars", "fa-viacoin", "fa-viadeo", "fa-viadeo-square", "fa-video-camera", "fa-vimeo", "fa-vimeo-square", "fa-vine", "fa-vk", "fa-volume-control-phone", "fa-volume-down", "fa-volume-off", "fa-volume-up", "fa-warning", "fa-wechat", "fa-weibo", "fa-weixin", "fa-whatsapp", "fa-wheelchair", "fa-wheelchair-alt", "fa-wifi", "fa-wikipedia-w", "fa-window-close", "fa-window-close-o", "fa-window-maximize", "fa-window-minimize", "fa-window-restore", "fa-windows", "fa-won", "fa-wordpress", "fa-wpbeginner", "fa-wpexplorer", "fa-wpforms", "fa-wrench", "fa-xing", "fa-xing-square", "fa-y-combinator", "fa-y-combinator-square", "fa-yahoo", "fa-yc", "fa-yc-square", "fa-yelp", "fa-yen", "fa-yoast", "fa-youtube", "fa-youtube-play", "fa-youtube-square" ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1019
  });
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/dist/js/fontawesome-iconpicker.min.js CHANGED
@@ -1,11 +1,2 @@
1
- /*!
2
- * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
4
- *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
- */
9
-
10
-
11
- !function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e(jQuery)}(function(j){j.ui=j.ui||{};j.ui.version="1.12.1";!function(){var r,y=Math.max,x=Math.abs,s=/left|center|right/,i=/top|center|bottom/,c=/[\+\-]\d+(\.[\d]+)?%?/,f=/^\w+/,l=/%$/,o=j.fn.pos;function q(e,a,t){return[parseFloat(e[0])*(l.test(e[0])?a/100:1),parseFloat(e[1])*(l.test(e[1])?t/100:1)]}function C(e,a){return parseInt(j.css(e,a),10)||0}j.pos={scrollbarWidth:function(){if(void 0!==r)return r;var e,a,t=j("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),s=t.children()[0];return j("body").append(t),e=s.offsetWidth,t.css("overflow","scroll"),e===(a=s.offsetWidth)&&(a=t[0].clientWidth),t.remove(),r=e-a},getScrollInfo:function(e){var a=e.isWindow||e.isDocument?"":e.element.css("overflow-x"),t=e.isWindow||e.isDocument?"":e.element.css("overflow-y"),s="scroll"===a||"auto"===a&&e.width<e.element[0].scrollWidth;return{width:"scroll"===t||"auto"===t&&e.height<e.element[0].scrollHeight?j.pos.scrollbarWidth():0,height:s?j.pos.scrollbarWidth():0}},getWithinInfo:function(e){var a=j(e||window),t=j.isWindow(a[0]),s=!!a[0]&&9===a[0].nodeType;return{element:a,isWindow:t,isDocument:s,offset:!t&&!s?j(e).offset():{left:0,top:0},scrollLeft:a.scrollLeft(),scrollTop:a.scrollTop(),width:a.outerWidth(),height:a.outerHeight()}}},j.fn.pos=function(h){if(!h||!h.of)return o.apply(this,arguments);h=j.extend({},h);var m,p,d,T,u,e,a,t,g=j(h.of),b=j.pos.getWithinInfo(h.within),k=j.pos.getScrollInfo(b),w=(h.collision||"flip").split(" "),v={};return e=9===(t=(a=g)[0]).nodeType?{width:a.width(),height:a.height(),offset:{top:0,left:0}}:j.isWindow(t)?{width:a.width(),height:a.height(),offset:{top:a.scrollTop(),left:a.scrollLeft()}}:t.preventDefault?{width:0,height:0,offset:{top:t.pageY,left:t.pageX}}:{width:a.outerWidth(),height:a.outerHeight(),offset:a.offset()},g[0].preventDefault&&(h.at="left top"),p=e.width,d=e.height,T=e.offset,u=j.extend({},T),j.each(["my","at"],function(){var e,a,t=(h[this]||"").split(" ");1===t.length&&(t=s.test(t[0])?t.concat(["center"]):i.test(t[0])?["center"].concat(t):["center","center"]),t[0]=s.test(t[0])?t[0]:"center",t[1]=i.test(t[1])?t[1]:"center",e=c.exec(t[0]),a=c.exec(t[1]),v[this]=[e?e[0]:0,a?a[0]:0],h[this]=[f.exec(t[0])[0],f.exec(t[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===h.at[0]?u.left+=p:"center"===h.at[0]&&(u.left+=p/2),"bottom"===h.at[1]?u.top+=d:"center"===h.at[1]&&(u.top+=d/2),m=q(v.at,p,d),u.left+=m[0],u.top+=m[1],this.each(function(){var t,e,c=j(this),f=c.outerWidth(),l=c.outerHeight(),a=C(this,"marginLeft"),s=C(this,"marginTop"),r=f+a+C(this,"marginRight")+k.width,i=l+s+C(this,"marginBottom")+k.height,o=j.extend({},u),n=q(v.my,c.outerWidth(),c.outerHeight());"right"===h.my[0]?o.left-=f:"center"===h.my[0]&&(o.left-=f/2),"bottom"===h.my[1]?o.top-=l:"center"===h.my[1]&&(o.top-=l/2),o.left+=n[0],o.top+=n[1],t={marginLeft:a,marginTop:s},j.each(["left","top"],function(e,a){j.ui.pos[w[e]]&&j.ui.pos[w[e]][a](o,{targetWidth:p,targetHeight:d,elemWidth:f,elemHeight:l,collisionPosition:t,collisionWidth:r,collisionHeight:i,offset:[m[0]+n[0],m[1]+n[1]],my:h.my,at:h.at,within:b,elem:c})}),h.using&&(e=function(e){var a=T.left-o.left,t=a+p-f,s=T.top-o.top,r=s+d-l,i={target:{element:g,left:T.left,top:T.top,width:p,height:d},element:{element:c,left:o.left,top:o.top,width:f,height:l},horizontal:t<0?"left":0<a?"right":"center",vertical:r<0?"top":0<s?"bottom":"middle"};p<f&&x(a+t)<p&&(i.horizontal="center"),d<l&&x(s+r)<d&&(i.vertical="middle"),y(x(a),x(t))>y(x(s),x(r))?i.important="horizontal":i.important="vertical",h.using.call(this,e,i)}),c.offset(j.extend(o,{using:e}))})},j.ui.pos={_trigger:function(e,a,t,s){a.elem&&a.elem.trigger({type:t,position:e,positionData:a,triggered:s})},fit:{left:function(e,a){j.ui.pos._trigger(e,a,"posCollide","fitLeft");var t,s=a.within,r=s.isWindow?s.scrollLeft:s.offset.left,i=s.width,c=e.left-a.collisionPosition.marginLeft,f=r-c,l=c+a.collisionWidth-i-r;a.collisionWidth>i?0<f&&l<=0?(t=e.left+f+a.collisionWidth-i-r,e.left+=f-t):e.left=0<l&&f<=0?r:l<f?r+i-a.collisionWidth:r:0<f?e.left+=f:0<l?e.left-=l:e.left=y(e.left-c,e.left),j.ui.pos._trigger(e,a,"posCollided","fitLeft")},top:function(e,a){j.ui.pos._trigger(e,a,"posCollide","fitTop");var t,s=a.within,r=s.isWindow?s.scrollTop:s.offset.top,i=a.within.height,c=e.top-a.collisionPosition.marginTop,f=r-c,l=c+a.collisionHeight-i-r;a.collisionHeight>i?0<f&&l<=0?(t=e.top+f+a.collisionHeight-i-r,e.top+=f-t):e.top=0<l&&f<=0?r:l<f?r+i-a.collisionHeight:r:0<f?e.top+=f:0<l?e.top-=l:e.top=y(e.top-c,e.top),j.ui.pos._trigger(e,a,"posCollided","fitTop")}},flip:{left:function(e,a){j.ui.pos._trigger(e,a,"posCollide","flipLeft");var t,s,r=a.within,i=r.offset.left+r.scrollLeft,c=r.width,f=r.isWindow?r.scrollLeft:r.offset.left,l=e.left-a.collisionPosition.marginLeft,o=l-f,n=l+a.collisionWidth-c-f,h="left"===a.my[0]?-a.elemWidth:"right"===a.my[0]?a.elemWidth:0,m="left"===a.at[0]?a.targetWidth:"right"===a.at[0]?-a.targetWidth:0,p=-2*a.offset[0];o<0?((t=e.left+h+m+p+a.collisionWidth-c-i)<0||t<x(o))&&(e.left+=h+m+p):0<n&&(0<(s=e.left-a.collisionPosition.marginLeft+h+m+p-f)||x(s)<n)&&(e.left+=h+m+p),j.ui.pos._trigger(e,a,"posCollided","flipLeft")},top:function(e,a){j.ui.pos._trigger(e,a,"posCollide","flipTop");var t,s,r=a.within,i=r.offset.top+r.scrollTop,c=r.height,f=r.isWindow?r.scrollTop:r.offset.top,l=e.top-a.collisionPosition.marginTop,o=l-f,n=l+a.collisionHeight-c-f,h="top"===a.my[1]?-a.elemHeight:"bottom"===a.my[1]?a.elemHeight:0,m="top"===a.at[1]?a.targetHeight:"bottom"===a.at[1]?-a.targetHeight:0,p=-2*a.offset[1];o<0?((s=e.top+h+m+p+a.collisionHeight-c-i)<0||s<x(o))&&(e.top+=h+m+p):0<n&&(0<(t=e.top-a.collisionPosition.marginTop+h+m+p-f)||x(t)<n)&&(e.top+=h+m+p),j.ui.pos._trigger(e,a,"posCollided","flipTop")}},flipfit:{left:function(){j.ui.pos.flip.left.apply(this,arguments),j.ui.pos.fit.left.apply(this,arguments)},top:function(){j.ui.pos.flip.top.apply(this,arguments),j.ui.pos.fit.top.apply(this,arguments)}}},function(){var e,a,t,s,r,i=document.getElementsByTagName("body")[0],c=document.createElement("div");for(r in e=document.createElement(i?"div":"body"),t={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},i&&j.extend(t,{position:"absolute",left:"-1000px",top:"-1000px"}),t)e.style[r]=t[r];e.appendChild(c),(a=i||document.documentElement).insertBefore(e,a.firstChild),c.style.cssText="position: absolute; left: 10.7432222px;",s=j(c).offset().left,j.support.offsetFractions=10<s&&s<11,e.innerHTML="",a.removeChild(e)}()}();j.ui.position}),function(e){"use strict";"function"==typeof define&&define.amd?define(["jquery"],e):window.jQuery&&!window.jQuery.fn.iconpicker&&e(window.jQuery)}(function(l){"use strict";var t=function(e){return!1===e||""===e||null==e},s=function(e){return 0<l(e).length},r=function(e){return"string"==typeof e||e instanceof String},i=function(e,a){return-1!==l.inArray(e,a)},c=function(e,a){this._id=c._idCounter++,this.element=l(e).addClass("iconpicker-element"),this._trigger("iconpickerCreate",{iconpickerValue:this.iconpickerValue}),this.options=l.extend({},c.defaultOptions,this.element.data(),a),this.options.templates=l.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!s(this.options.container)&&l(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=l("~ .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.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(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",{iconpickerValue:this.iconpickerValue})};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(e){return e},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="javascript:;" class="iconpicker-item"><i></i></a>'}},c.batch=function(e,a){var t=Array.prototype.slice.call(arguments,2);return l(e).each(function(){var e=l(this).data("iconpicker");e&&e[a].apply(e,t)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(e,a){a=a||{},this.element.trigger(l.extend({type:e,iconpickerInstance:this},a))},_createPopover:function(){this.popover=l(this.options.templates.popover);var e=this.popover.find(".popover-title");if(this.options.title&&e.append(l('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?e.append(this.options.templates.search):this.options.title||e.remove(),this.options.showFooter&&!t(this.options.templates.footer)){var a=l(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&a.append(l(this.options.templates.search)),t(this.options.templates.buttons)||a.append(l(this.options.templates.buttons)),this.popover.append(a)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var t=this;this.iconpicker=l(this.options.templates.iconpicker);var e=function(e){var a=l(this);a.is("i")&&(a=a.parent()),t._trigger("iconpickerSelect",{iconpickerItem:a,iconpickerValue:t.iconpickerValue}),!1===t.options.mustAccept?(t.update(a.data("iconpickerValue")),t._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:t.iconpickerValue})):t.update(a.data("iconpickerValue"),!0),t.options.hideOnSelect&&!1===t.options.mustAccept&&t.hide()},a=l(this.options.templates.iconpickerItem),s=[];for(var r in this.options.icons)if("string"==typeof this.options.icons[r].title){var i=a.clone();if(i.find("i").addClass(this.options.fullClassFormatter(this.options.icons[r].title)),i.data("iconpickerValue",this.options.icons[r].title).on("click.iconpicker",e),i.attr("title","."+this.options.icons[r].title),0<this.options.icons[r].searchTerms.length){for(var c="",f=0;f<this.options.icons[r].searchTerms.length;f++)c=c+this.options.icons[r].searchTerms[f]+" ";i.attr("data-search-terms",c)}s.push(i)}return this.iconpicker.find(".iconpicker-items").append(s),this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(e){var a=l(e.target);return!((!a.hasClass("iconpicker-element")||a.hasClass("iconpicker-element")&&!a.is(this.element))&&0===a.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var a=this;this.getSearchInput().on("keyup.iconpicker",function(){a.filter(l(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var e=a.iconpicker.find(".iconpicker-selected").get(0);a.update(a.iconpickerValue),a._trigger("iconpickerSelected",{iconpickerItem:e,iconpickerValue:a.iconpickerValue}),a.isInline()||a.hide()}),this.getCancelButton().on("click.iconpicker",function(){a.isInline()||a.hide()}),this.element.on("focus.iconpicker",function(e){a.show(),e.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){a.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(e){i(e.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?a._updateFormGroupStatus(!1!==a.getValid(this.value)):a.update(),!0===a.options.inputSearch&&a.filter(l(this).val().toLowerCase())})},_bindWindowEvents:function(){var e=l(window.document),a=this,t=".iconpicker.inst"+this._id;l(window).on("resize.iconpicker"+t+" orientationchange.iconpicker"+t,function(e){a.popover.hasClass("in")&&a.updatePlacement()}),a.isInline()||e.on("mouseup"+t,function(e){a._isEventInsideIconpicker(e)||a.isInline()||a.hide()})},_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(){l(window).off(".iconpicker.inst"+this._id),l(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(e,a){e=e||this.options.placement,this.options.placement=e,a=!0===(a=a||this.options.collision)?"flip":a;var t={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:!0===a?"flip":a,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 e)return this.popover.pos(l.extend({},t,e));switch(e){case"inline":t=!1;break;case"topLeftCorner":t.my="right bottom",t.at="left top";break;case"topLeft":t.my="left bottom",t.at="left top";break;case"top":t.my="center bottom",t.at="center top";break;case"topRight":t.my="right bottom",t.at="right top";break;case"topRightCorner":t.my="left bottom",t.at="right top";break;case"rightTop":t.my="left bottom",t.at="right center";break;case"right":t.my="left center",t.at="right center";break;case"rightBottom":t.my="left top",t.at="right center";break;case"bottomRightCorner":t.my="left top",t.at="right bottom";break;case"bottomRight":t.my="right top",t.at="right bottom";break;case"bottom":t.my="center top",t.at="center bottom";break;case"bottomLeft":t.my="left top",t.at="left bottom";break;case"bottomLeftCorner":t.my="right top",t.at="left bottom";break;case"leftBottom":t.my="right top",t.at="left center";break;case"left":t.my="right center",t.at="left center";break;case"leftTop":t.my="right bottom",t.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),!1!==t?this.popover.pos(t).css("maxWidth",l(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 e=this.component.find("i");0<e.length?e.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(e){return!!this.hasInput()&&(!1!==e?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(e){r(e)||(e="");var a=""===e;e=l.trim(e);for(var t=!1,s=0;s<this.options.icons.length;s++)if(this.options.icons[s].title===e){t=!0;break}return!(!t&&!a)&&e},setValue:function(e){var a=this.getValid(e);return!1!==a?(this.iconpickerValue=a,this._trigger("iconpickerSetValue",{iconpickerValue:a}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:e}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(e){return!1!==(e=this.setValue(e))&&""!==e&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:e})),e},getSourceValue:function(e){var a=e=e||this.options.defaultValue;return void 0!==(a=this.hasInput()?this.input.val():this.element.data("iconpickerValue"))&&""!==a&&null!==a&&!1!==a||(a=e),a},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},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(s){if(t(s))return this.iconpicker.find(".iconpicker-item").show(),l(!1);var r=[];return this.iconpicker.find(".iconpicker-item").each(function(){var e=l(this),a=e.attr("title").toLowerCase();a=a+" "+(e.attr("data-search-terms")?e.attr("data-search-terms").toLowerCase():"");var t=!1;try{t=new RegExp("(^|\\W)"+s,"g")}catch(e){t=!1}!1!==t&&a.match(t)?(r.push(e),e.show()):e.hide()}),r},show:function(){if(this.popover.hasClass("in"))return!1;l.iconpicker.batch(l(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow",{iconpickerValue:this.iconpickerValue}),this.updatePlacement(),this.popover.addClass("in"),setTimeout(l.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide",{iconpickerValue:this.iconpickerValue}),this.popover.removeClass("in"),setTimeout(l.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden",{iconpickerValue:this.iconpickerValue})},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(e,a){return e=e||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate",{iconpickerValue:this.iconpickerValue}),!0===a?e=this.setValue(e):(e=this.setSourceValue(e),this._updateFormGroupStatus(!1!==e)),!1!==e&&this._updateComponents(),this._trigger("iconpickerUpdated",{iconpickerValue:this.iconpickerValue}),e},destroy:function(){this._trigger("iconpickerDestroy",{iconpickerValue:this.iconpickerValue}),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),l(this.popover).remove(),this._trigger("iconpickerDestroyed",{iconpickerValue:this.iconpickerValue})},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},l.iconpicker=c,l.fn.iconpicker=function(a){return this.each(function(){var e=l(this);e.data("iconpicker")||e.data("iconpicker",new c(this,"object"==typeof a?a:{}))})},c.defaultOptions=l.extend(c.defaultOptions,{icons:[{title:"fab fa-500px",searchTerms:[]},{title:"fab fa-accessible-icon",searchTerms:["accessibility","handicap","person","wheelchair","wheelchair-alt"]},{title:"fab fa-accusoft",searchTerms:[]},{title:"fab fa-acquisitions-incorporated",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-ad",searchTerms:[]},{title:"fas fa-address-book",searchTerms:[]},{title:"far fa-address-book",searchTerms:[]},{title:"fas fa-address-card",searchTerms:[]},{title:"far fa-address-card",searchTerms:[]},{title:"fas fa-adjust",searchTerms:["contrast"]},{title:"fab fa-adn",searchTerms:[]},{title:"fab fa-adversal",searchTerms:[]},{title:"fab fa-affiliatetheme",searchTerms:[]},{title:"fas fa-air-freshener",searchTerms:[]},{title:"fab fa-algolia",searchTerms:[]},{title:"fas fa-align-center",searchTerms:["middle","text"]},{title:"fas fa-align-justify",searchTerms:["text"]},{title:"fas fa-align-left",searchTerms:["text"]},{title:"fas fa-align-right",searchTerms:["text"]},{title:"fab fa-alipay",searchTerms:[]},{title:"fas fa-allergies",searchTerms:["freckles","hand","intolerances","pox","spots"]},{title:"fab fa-amazon",searchTerms:[]},{title:"fab fa-amazon-pay",searchTerms:[]},{title:"fas fa-ambulance",searchTerms:["help","machine","support","vehicle"]},{title:"fas fa-american-sign-language-interpreting",searchTerms:[]},{title:"fab fa-amilia",searchTerms:[]},{title:"fas fa-anchor",searchTerms:["link"]},{title:"fab fa-android",searchTerms:["robot"]},{title:"fab fa-angellist",searchTerms:[]},{title:"fas fa-angle-double-down",searchTerms:["arrows"]},{title:"fas fa-angle-double-left",searchTerms:["arrows","back","laquo","previous","quote"]},{title:"fas fa-angle-double-right",searchTerms:["arrows","forward","next","quote","raquo"]},{title:"fas fa-angle-double-up",searchTerms:["arrows"]},{title:"fas fa-angle-down",searchTerms:["arrow"]},{title:"fas fa-angle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-angle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-angle-up",searchTerms:["arrow"]},{title:"fas fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"far fa-angry",searchTerms:["disapprove","emoticon","face","mad","upset"]},{title:"fab fa-angrycreative",searchTerms:[]},{title:"fab fa-angular",searchTerms:[]},{title:"fas fa-ankh",searchTerms:["amulet","copper","coptic christianity","copts","crux ansata","egyptian","venus"]},{title:"fab fa-app-store",searchTerms:[]},{title:"fab fa-app-store-ios",searchTerms:[]},{title:"fab fa-apper",searchTerms:[]},{title:"fab fa-apple",searchTerms:["food","fruit","mac","osx"]},{title:"fas fa-apple-alt",searchTerms:["fall","food","fruit","fuji","macintosh","seasonal"]},{title:"fab fa-apple-pay",searchTerms:[]},{title:"fas fa-archive",searchTerms:["box","package","storage"]},{title:"fas fa-archway",searchTerms:["arc","monument","road","street"]},{title:"fas fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"far fa-arrow-alt-circle-down",searchTerms:["arrow-circle-o-down","download"]},{title:"fas fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"far fa-arrow-alt-circle-left",searchTerms:["arrow-circle-o-left","back","previous"]},{title:"fas fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"far fa-arrow-alt-circle-right",searchTerms:["arrow-circle-o-right","forward","next"]},{title:"fas fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"far fa-arrow-alt-circle-up",searchTerms:["arrow-circle-o-up"]},{title:"fas fa-arrow-circle-down",searchTerms:["download"]},{title:"fas fa-arrow-circle-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-circle-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-circle-up",searchTerms:[]},{title:"fas fa-arrow-down",searchTerms:["download"]},{title:"fas fa-arrow-left",searchTerms:["back","previous"]},{title:"fas fa-arrow-right",searchTerms:["forward","next"]},{title:"fas fa-arrow-up",searchTerms:[]},{title:"fas fa-arrows-alt",searchTerms:["arrow","arrows","bigger","enlarge","expand","fullscreen","move","position","reorder","resize"]},{title:"fas fa-arrows-alt-h",searchTerms:["arrows-h","resize"]},{title:"fas fa-arrows-alt-v",searchTerms:["arrows-v","resize"]},{title:"fas fa-assistive-listening-systems",searchTerms:[]},{title:"fas fa-asterisk",searchTerms:["details"]},{title:"fab fa-asymmetrik",searchTerms:[]},{title:"fas fa-at",searchTerms:["e-mail","email"]},{title:"fas fa-atlas",searchTerms:["book","directions","geography","map","wayfinding"]},{title:"fas fa-atom",searchTerms:["atheism","chemistry","science"]},{title:"fab fa-audible",searchTerms:[]},{title:"fas fa-audio-description",searchTerms:[]},{title:"fab fa-autoprefixer",searchTerms:[]},{title:"fab fa-avianex",searchTerms:[]},{title:"fab fa-aviato",searchTerms:[]},{title:"fas fa-award",searchTerms:["honor","praise","prize","recognition","ribbon"]},{title:"fab fa-aws",searchTerms:[]},{title:"fas fa-backspace",searchTerms:["command","delete","keyboard","undo"]},{title:"fas fa-backward",searchTerms:["previous","rewind"]},{title:"fas fa-balance-scale",searchTerms:["balanced","justice","legal","measure","weight"]},{title:"fas fa-ban",searchTerms:["abort","ban","block","cancel","delete","hide","prohibit","remove","stop","trash"]},{title:"fas fa-band-aid",searchTerms:["bandage","boo boo","ouch"]},{title:"fab fa-bandcamp",searchTerms:[]},{title:"fas fa-barcode",searchTerms:["scan"]},{title:"fas fa-bars",searchTerms:["checklist","drag","hamburger","list","menu","nav","navigation","ol","reorder","settings","todo","ul"]},{title:"fas fa-baseball-ball",searchTerms:[]},{title:"fas fa-basketball-ball",searchTerms:[]},{title:"fas fa-bath",searchTerms:[]},{title:"fas fa-battery-empty",searchTerms:["power","status"]},{title:"fas fa-battery-full",searchTerms:["power","status"]},{title:"fas fa-battery-half",searchTerms:["power","status"]},{title:"fas fa-battery-quarter",searchTerms:["power","status"]},{title:"fas fa-battery-three-quarters",searchTerms:["power","status"]},{title:"fas fa-bed",searchTerms:["lodging","sleep","travel"]},{title:"fas fa-beer",searchTerms:["alcohol","bar","beverage","drink","liquor","mug","stein"]},{title:"fab fa-behance",searchTerms:[]},{title:"fab fa-behance-square",searchTerms:[]},{title:"fas fa-bell",searchTerms:["alert","notification","reminder"]},{title:"far fa-bell",searchTerms:["alert","notification","reminder"]},{title:"fas fa-bell-slash",searchTerms:[]},{title:"far fa-bell-slash",searchTerms:[]},{title:"fas fa-bezier-curve",searchTerms:["curves","illustrator","lines","path","vector"]},{title:"fas fa-bible",searchTerms:["book","catholicism","christianity"]},{title:"fas fa-bicycle",searchTerms:["bike","gears","transportation","vehicle"]},{title:"fab fa-bimobject",searchTerms:[]},{title:"fas fa-binoculars",searchTerms:[]},{title:"fas fa-birthday-cake",searchTerms:[]},{title:"fab fa-bitbucket",searchTerms:["bitbucket-square","git"]},{title:"fab fa-bitcoin",searchTerms:[]},{title:"fab fa-bity",searchTerms:[]},{title:"fab fa-black-tie",searchTerms:[]},{title:"fab fa-blackberry",searchTerms:[]},{title:"fas fa-blender",searchTerms:[]},{title:"fas fa-blender-phone",searchTerms:["appliance","fantasy","silly"]},{title:"fas fa-blind",searchTerms:[]},{title:"fab fa-blogger",searchTerms:[]},{title:"fab fa-blogger-b",searchTerms:[]},{title:"fab fa-bluetooth",searchTerms:[]},{title:"fab fa-bluetooth-b",searchTerms:[]},{title:"fas fa-bold",searchTerms:[]},{title:"fas fa-bolt",searchTerms:["electricity","lightning","weather","zap"]},{title:"fas fa-bomb",searchTerms:[]},{title:"fas fa-bone",searchTerms:[]},{title:"fas fa-bong",searchTerms:["aparatus","cannabis","marijuana","pipe","smoke","smoking"]},{title:"fas fa-book",searchTerms:["documentation","read"]},{title:"fas fa-book-dead",searchTerms:["Dungeons & Dragons","crossbones","d&d","dark arts","death","dnd","documentation","evil","fantasy","halloween","holiday","read","skull","spell"]},{title:"fas fa-book-open",searchTerms:["flyer","notebook","open book","pamphlet","reading"]},{title:"fas fa-book-reader",searchTerms:["library"]},{title:"fas fa-bookmark",searchTerms:["save"]},{title:"far fa-bookmark",searchTerms:["save"]},{title:"fas fa-bowling-ball",searchTerms:[]},{title:"fas fa-box",searchTerms:["package"]},{title:"fas fa-box-open",searchTerms:[]},{title:"fas fa-boxes",searchTerms:[]},{title:"fas fa-braille",searchTerms:[]},{title:"fas fa-brain",searchTerms:["cerebellum","gray matter","intellect","medulla oblongata","mind","noodle","wit"]},{title:"fas fa-briefcase",searchTerms:["bag","business","luggage","office","work"]},{title:"fas fa-briefcase-medical",searchTerms:["health briefcase"]},{title:"fas fa-broadcast-tower",searchTerms:["airwaves","radio","waves"]},{title:"fas fa-broom",searchTerms:["clean","firebolt","fly","halloween","holiday","nimbus 2000","quidditch","sweep","witch"]},{title:"fas fa-brush",searchTerms:["bristles","color","handle","painting"]},{title:"fab fa-btc",searchTerms:[]},{title:"fas fa-bug",searchTerms:["insect","report"]},{title:"fas fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"far fa-building",searchTerms:["apartment","business","company","office","work"]},{title:"fas fa-bullhorn",searchTerms:["announcement","broadcast","louder","megaphone","share"]},{title:"fas fa-bullseye",searchTerms:["target"]},{title:"fas fa-burn",searchTerms:["energy"]},{title:"fab fa-buromobelexperte",searchTerms:[]},{title:"fas fa-bus",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-bus-alt",searchTerms:["machine","public transportation","transportation","vehicle"]},{title:"fas fa-business-time",searchTerms:["briefcase","business socks","clock","flight of the conchords","wednesday"]},{title:"fab fa-buysellads",searchTerms:[]},{title:"fas fa-calculator",searchTerms:[]},{title:"fas fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"far fa-calendar",searchTerms:["calendar-o","date","event","schedule","time","when"]},{title:"fas fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"far fa-calendar-alt",searchTerms:["calendar","date","event","schedule","time","when"]},{title:"fas fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"far fa-calendar-check",searchTerms:["accept","agree","appointment","confirm","correct","done","ok","select","success","todo"]},{title:"fas fa-calendar-minus",searchTerms:["delete","negative","remove"]},{title:"far fa-calendar-minus",searchTerms:["delete","negative","remove"]},{title:"fas fa-calendar-plus",searchTerms:["add","create","new","positive"]},{title:"far fa-calendar-plus",searchTerms:["add","create","new","positive"]},{title:"fas fa-calendar-times",searchTerms:["archive","delete","remove","x"]},{title:"far fa-calendar-times",searchTerms:["archive","delete","remove","x"]},{title:"fas fa-camera",searchTerms:["photo","picture","record"]},{title:"fas fa-camera-retro",searchTerms:["photo","picture","record"]},{title:"fas fa-campground",searchTerms:["camping","fall","outdoors","seasonal","tent"]},{title:"fas fa-cannabis",searchTerms:["bud","chronic","drugs","endica","endo","ganja","marijuana","mary jane","pot","reefer","sativa","spliff","weed","whacky-tabacky"]},{title:"fas fa-capsules",searchTerms:["drugs","medicine"]},{title:"fas fa-car",searchTerms:["machine","transportation","vehicle"]},{title:"fas fa-car-alt",searchTerms:[]},{title:"fas fa-car-battery",searchTerms:[]},{title:"fas fa-car-crash",searchTerms:[]},{title:"fas fa-car-side",searchTerms:[]},{title:"fas fa-caret-down",searchTerms:["arrow","dropdown","menu","more","triangle down"]},{title:"fas fa-caret-left",searchTerms:["arrow","back","previous","triangle left"]},{title:"fas fa-caret-right",searchTerms:["arrow","forward","next","triangle right"]},{title:"fas fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"far fa-caret-square-down",searchTerms:["caret-square-o-down","dropdown","menu","more"]},{title:"fas fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"far fa-caret-square-left",searchTerms:["back","caret-square-o-left","previous"]},{title:"fas fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"far fa-caret-square-right",searchTerms:["caret-square-o-right","forward","next"]},{title:"fas fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"far fa-caret-square-up",searchTerms:["caret-square-o-up"]},{title:"fas fa-caret-up",searchTerms:["arrow","triangle up"]},{title:"fas fa-cart-arrow-down",searchTerms:["shopping"]},{title:"fas fa-cart-plus",searchTerms:["add","create","new","positive","shopping"]},{title:"fas fa-cat",searchTerms:["feline","halloween","holiday","kitten","kitty","meow","pet"]},{title:"fab fa-cc-amazon-pay",searchTerms:[]},{title:"fab fa-cc-amex",searchTerms:["amex"]},{title:"fab fa-cc-apple-pay",searchTerms:[]},{title:"fab fa-cc-diners-club",searchTerms:[]},{title:"fab fa-cc-discover",searchTerms:[]},{title:"fab fa-cc-jcb",searchTerms:[]},{title:"fab fa-cc-mastercard",searchTerms:[]},{title:"fab fa-cc-paypal",searchTerms:[]},{title:"fab fa-cc-stripe",searchTerms:[]},{title:"fab fa-cc-visa",searchTerms:[]},{title:"fab fa-centercode",searchTerms:[]},{title:"fas fa-certificate",searchTerms:["badge","star"]},{title:"fas fa-chair",searchTerms:["furniture","seat"]},{title:"fas fa-chalkboard",searchTerms:["blackboard","learning","school","teaching","whiteboard","writing"]},{title:"fas fa-chalkboard-teacher",searchTerms:["blackboard","instructor","learning","professor","school","whiteboard","writing"]},{title:"fas fa-charging-station",searchTerms:[]},{title:"fas fa-chart-area",searchTerms:["analytics","area-chart","graph"]},{title:"fas fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"far fa-chart-bar",searchTerms:["analytics","bar-chart","graph"]},{title:"fas fa-chart-line",searchTerms:["activity","analytics","dashboard","graph","line-chart"]},{title:"fas fa-chart-pie",searchTerms:["analytics","graph","pie-chart"]},{title:"fas fa-check",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo","yes"]},{title:"fas fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-circle",searchTerms:["accept","agree","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-check-double",searchTerms:["accept","agree","checkmark","confirm","correct","done","notice","notification","notify","ok","select","success","tick","todo"]},{title:"fas fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"far fa-check-square",searchTerms:["accept","agree","checkmark","confirm","correct","done","ok","select","success","todo","yes"]},{title:"fas fa-chess",searchTerms:[]},{title:"fas fa-chess-bishop",searchTerms:[]},{title:"fas fa-chess-board",searchTerms:[]},{title:"fas fa-chess-king",searchTerms:[]},{title:"fas fa-chess-knight",searchTerms:[]},{title:"fas fa-chess-pawn",searchTerms:[]},{title:"fas fa-chess-queen",searchTerms:[]},{title:"fas fa-chess-rook",searchTerms:[]},{title:"fas fa-chevron-circle-down",searchTerms:["arrow","dropdown","menu","more"]},{title:"fas fa-chevron-circle-left",searchTerms:["arrow","back","previous"]},{title:"fas fa-chevron-circle-right",searchTerms:["arrow","forward","next"]},{title:"fas fa-chevron-circle-up",searchTerms:["arrow"]},{title:"fas fa-chevron-down",searchTerms:[]},{title:"fas fa-chevron-left",searchTerms:["back","bracket","previous"]},{title:"fas fa-chevron-right",searchTerms:["bracket","forward","next"]},{title:"fas fa-chevron-up",searchTerms:[]},{title:"fas fa-child",searchTerms:[]},{title:"fab fa-chrome",searchTerms:["browser"]},{title:"fas fa-church",searchTerms:["building","community","religion"]},{title:"fas fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"far fa-circle",searchTerms:["circle-thin","dot","notification"]},{title:"fas fa-circle-notch",searchTerms:["circle-o-notch"]},{title:"fas fa-city",searchTerms:["buildings","busy","skyscrapers","urban","windows"]},{title:"fas fa-clipboard",searchTerms:["paste"]},{title:"far fa-clipboard",searchTerms:["paste"]},{title:"fas fa-clipboard-check",searchTerms:["accept","agree","confirm","done","ok","select","success","todo","yes"]},{title:"fas fa-clipboard-list",searchTerms:["checklist","completed","done","finished","intinerary","ol","schedule","todo","ul"]},{title:"fas fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"far fa-clock",searchTerms:["date","late","schedule","timer","timestamp","watch"]},{title:"fas fa-clone",searchTerms:["copy","duplicate"]},{title:"far fa-clone",searchTerms:["copy","duplicate"]},{title:"fas fa-closed-captioning",searchTerms:["cc"]},{title:"far fa-closed-captioning",searchTerms:["cc"]},{title:"fas fa-cloud",searchTerms:["save"]},{title:"fas fa-cloud-download-alt",searchTerms:["import"]},{title:"fas fa-cloud-meatball",searchTerms:[]},{title:"fas fa-cloud-moon",searchTerms:["crescent","evening","halloween","holiday","lunar","night","sky"]},{title:"fas fa-cloud-moon-rain",searchTerms:[]},{title:"fas fa-cloud-rain",searchTerms:["precipitation"]},{title:"fas fa-cloud-showers-heavy",searchTerms:["precipitation","rain","storm"]},{title:"fas fa-cloud-sun",searchTerms:["day","daytime","fall","outdoors","seasonal"]},{title:"fas fa-cloud-sun-rain",searchTerms:[]},{title:"fas fa-cloud-upload-alt",searchTerms:["cloud-upload"]},{title:"fab fa-cloudscale",searchTerms:[]},{title:"fab fa-cloudsmith",searchTerms:[]},{title:"fab fa-cloudversify",searchTerms:[]},{title:"fas fa-cocktail",searchTerms:["alcohol","beverage","drink"]},{title:"fas fa-code",searchTerms:["brackets","html"]},{title:"fas fa-code-branch",searchTerms:["branch","code-fork","fork","git","github","rebase","svn","vcs","version"]},{title:"fab fa-codepen",searchTerms:[]},{title:"fab fa-codiepie",searchTerms:[]},{title:"fas fa-coffee",searchTerms:["beverage","breakfast","cafe","drink","fall","morning","mug","seasonal","tea"]},{title:"fas fa-cog",searchTerms:["settings"]},{title:"fas fa-cogs",searchTerms:["gears","settings"]},{title:"fas fa-coins",searchTerms:[]},{title:"fas fa-columns",searchTerms:["dashboard","panes","split"]},{title:"fas fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-alt",searchTerms:["bubble","chat","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comment-alt",searchTerms:["bubble","chat","commenting","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comment-dollar",searchTerms:[]},{title:"fas fa-comment-dots",searchTerms:[]},{title:"far fa-comment-dots",searchTerms:[]},{title:"fas fa-comment-slash",searchTerms:[]},{title:"fas fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"far fa-comments",searchTerms:["bubble","chat","conversation","feedback","message","note","notification","sms","speech","texting"]},{title:"fas fa-comments-dollar",searchTerms:[]},{title:"fas fa-compact-disc",searchTerms:["bluray","cd","disc","media"]},{title:"fas fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"far fa-compass",searchTerms:["directory","location","menu","safari"]},{title:"fas fa-compress",searchTerms:["collapse","combine","contract","merge","smaller"]},{title:"fas fa-concierge-bell",searchTerms:["attention","hotel","service","support"]},{title:"fab fa-connectdevelop",searchTerms:[]},{title:"fab fa-contao",searchTerms:[]},{title:"fas fa-cookie",searchTerms:["baked good","chips","food","snack","sweet","treat"]},{title:"fas fa-cookie-bite",searchTerms:["baked good","bitten","chips","eating","food","snack","sweet","treat"]},{title:"fas fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"far fa-copy",searchTerms:["clone","duplicate","file","files-o"]},{title:"fas fa-copyright",searchTerms:[]},{title:"far fa-copyright",searchTerms:[]},{title:"fas fa-couch",searchTerms:["furniture","sofa"]},{title:"fab fa-cpanel",searchTerms:[]},{title:"fab fa-creative-commons",searchTerms:[]},{title:"fab fa-creative-commons-by",searchTerms:[]},{title:"fab fa-creative-commons-nc",searchTerms:[]},{title:"fab fa-creative-commons-nc-eu",searchTerms:[]},{title:"fab fa-creative-commons-nc-jp",searchTerms:[]},{title:"fab fa-creative-commons-nd",searchTerms:[]},{title:"fab fa-creative-commons-pd",searchTerms:[]},{title:"fab fa-creative-commons-pd-alt",searchTerms:[]},{title:"fab fa-creative-commons-remix",searchTerms:[]},{title:"fab fa-creative-commons-sa",searchTerms:[]},{title:"fab fa-creative-commons-sampling",searchTerms:[]},{title:"fab fa-creative-commons-sampling-plus",searchTerms:[]},{title:"fab fa-creative-commons-share",searchTerms:[]},{title:"fab fa-creative-commons-zero",searchTerms:[]},{title:"fas fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"far fa-credit-card",searchTerms:["buy","checkout","credit-card-alt","debit","money","payment","purchase"]},{title:"fab fa-critical-role",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-crop",searchTerms:["design"]},{title:"fas fa-crop-alt",searchTerms:[]},{title:"fas fa-cross",searchTerms:["catholicism","christianity"]},{title:"fas fa-crosshairs",searchTerms:["gpd","picker","position"]},{title:"fas fa-crow",searchTerms:["bird","bullfrog","fauna","halloween","holiday","toad"]},{title:"fas fa-crown",searchTerms:[]},{title:"fab fa-css3",searchTerms:["code"]},{title:"fab fa-css3-alt",searchTerms:[]},{title:"fas fa-cube",searchTerms:["package"]},{title:"fas fa-cubes",searchTerms:["packages"]},{title:"fas fa-cut",searchTerms:["scissors"]},{title:"fab fa-cuttlefish",searchTerms:[]},{title:"fab fa-d-and-d",searchTerms:[]},{title:"fab fa-d-and-d-beyond",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","gaming","tabletop"]},{title:"fab fa-dashcube",searchTerms:[]},{title:"fas fa-database",searchTerms:[]},{title:"fas fa-deaf",searchTerms:[]},{title:"fab fa-delicious",searchTerms:[]},{title:"fas fa-democrat",searchTerms:["american","democratic party","donkey","election","left","left-wing","liberal","politics","usa"]},{title:"fab fa-deploydog",searchTerms:[]},{title:"fab fa-deskpro",searchTerms:[]},{title:"fas fa-desktop",searchTerms:["computer","cpu","demo","desktop","device","machine","monitor","pc","screen"]},{title:"fab fa-dev",searchTerms:[]},{title:"fab fa-deviantart",searchTerms:[]},{title:"fas fa-dharmachakra",searchTerms:["buddhism","buddhist","wheel of dharma"]},{title:"fas fa-diagnoses",searchTerms:[]},{title:"fas fa-dice",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-d20",searchTerms:["Dungeons & Dragons","chance","d&d","dnd","fantasy","gambling","game","roll"]},{title:"fas fa-dice-d6",searchTerms:["Dungeons & Dragons","chance","d&d","dnd","fantasy","gambling","game","roll"]},{title:"fas fa-dice-five",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-four",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-one",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-six",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-three",searchTerms:["chance","gambling","game","roll"]},{title:"fas fa-dice-two",searchTerms:["chance","gambling","game","roll"]},{title:"fab fa-digg",searchTerms:[]},{title:"fab fa-digital-ocean",searchTerms:[]},{title:"fas fa-digital-tachograph",searchTerms:[]},{title:"fas fa-directions",searchTerms:[]},{title:"fab fa-discord",searchTerms:[]},{title:"fab fa-discourse",searchTerms:[]},{title:"fas fa-divide",searchTerms:[]},{title:"fas fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"far fa-dizzy",searchTerms:["dazed","disapprove","emoticon","face"]},{title:"fas fa-dna",searchTerms:["double helix","helix"]},{title:"fab fa-dochub",searchTerms:[]},{title:"fab fa-docker",searchTerms:[]},{title:"fas fa-dog",searchTerms:["canine","fauna","mammmal","pet","pooch","puppy","woof"]},{title:"fas fa-dollar-sign",searchTerms:["$","dollar-sign","money","price","usd"]},{title:"fas fa-dolly",searchTerms:[]},{title:"fas fa-dolly-flatbed",searchTerms:[]},{title:"fas fa-donate",searchTerms:["generosity","give"]},{title:"fas fa-door-closed",searchTerms:[]},{title:"fas fa-door-open",searchTerms:[]},{title:"fas fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"far fa-dot-circle",searchTerms:["bullseye","notification","target"]},{title:"fas fa-dove",searchTerms:["bird","fauna","flying","peace"]},{title:"fas fa-download",searchTerms:["import"]},{title:"fab fa-draft2digital",searchTerms:[]},{title:"fas fa-drafting-compass",searchTerms:["mechanical drawing","plot","plotting"]},{title:"fas fa-dragon",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy"]},{title:"fas fa-draw-polygon",searchTerms:[]},{title:"fab fa-dribbble",searchTerms:[]},{title:"fab fa-dribbble-square",searchTerms:[]},{title:"fab fa-dropbox",searchTerms:[]},{title:"fas fa-drum",searchTerms:["instrument","music","percussion","snare","sound"]},{title:"fas fa-drum-steelpan",searchTerms:["calypso","instrument","music","percussion","reggae","snare","sound","steel","tropical"]},{title:"fas fa-drumstick-bite",searchTerms:[]},{title:"fab fa-drupal",searchTerms:[]},{title:"fas fa-dumbbell",searchTerms:["exercise","gym","strength","weight","weight-lifting"]},{title:"fas fa-dungeon",searchTerms:["Dungeons & Dragons","d&d","dnd","door","entrance","fantasy","gate"]},{title:"fab fa-dyalog",searchTerms:[]},{title:"fab fa-earlybirds",searchTerms:[]},{title:"fab fa-ebay",searchTerms:[]},{title:"fab fa-edge",searchTerms:["browser","ie"]},{title:"fas fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"far fa-edit",searchTerms:["edit","pen","pencil","update","write"]},{title:"fas fa-eject",searchTerms:[]},{title:"fab fa-elementor",searchTerms:[]},{title:"fas fa-ellipsis-h",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fas fa-ellipsis-v",searchTerms:["dots","drag","kebab","list","menu","nav","navigation","ol","reorder","settings","ul"]},{title:"fab fa-ello",searchTerms:[]},{title:"fab fa-ember",searchTerms:[]},{title:"fab fa-empire",searchTerms:[]},{title:"fas fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"far fa-envelope-open",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fas fa-envelope-open-text",searchTerms:[]},{title:"fas fa-envelope-square",searchTerms:["e-mail","email","letter","mail","message","notification","support"]},{title:"fab fa-envira",searchTerms:["leaf"]},{title:"fas fa-equals",searchTerms:[]},{title:"fas fa-eraser",searchTerms:["delete","remove"]},{title:"fab fa-erlang",searchTerms:[]},{title:"fab fa-ethereum",searchTerms:[]},{title:"fab fa-etsy",searchTerms:[]},{title:"fas fa-euro-sign",searchTerms:["eur"]},{title:"fas fa-exchange-alt",searchTerms:["arrow","arrows","exchange","reciprocate","return","swap","transfer"]},{title:"fas fa-exclamation",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-circle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-exclamation-triangle",searchTerms:["alert","danger","error","important","notice","notification","notify","problem","warning"]},{title:"fas fa-expand",searchTerms:["bigger","enlarge","resize"]},{title:"fas fa-expand-arrows-alt",searchTerms:["arrows-alt","bigger","enlarge","move","resize"]},{title:"fab fa-expeditedssl",searchTerms:[]},{title:"fas fa-external-link-alt",searchTerms:["external-link","new","open"]},{title:"fas fa-external-link-square-alt",searchTerms:["external-link-square","new","open"]},{title:"fas fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"far fa-eye",searchTerms:["optic","see","seen","show","sight","views","visible"]},{title:"fas fa-eye-dropper",searchTerms:["eyedropper"]},{title:"fas fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"far fa-eye-slash",searchTerms:["blind","hide","show","toggle","unseen","views","visible","visiblity"]},{title:"fab fa-facebook",searchTerms:["facebook-official","social network"]},{title:"fab fa-facebook-f",searchTerms:["facebook"]},{title:"fab fa-facebook-messenger",searchTerms:[]},{title:"fab fa-facebook-square",searchTerms:["social network"]},{title:"fab fa-fantasy-flight-games",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fas fa-fast-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-fast-forward",searchTerms:["end","last","next"]},{title:"fas fa-fax",searchTerms:[]},{title:"fas fa-feather",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-feather-alt",searchTerms:["bird","light","plucked","quill"]},{title:"fas fa-female",searchTerms:["human","person","profile","user","woman"]},{title:"fas fa-fighter-jet",searchTerms:["airplane","fast","fly","goose","maverick","plane","quick","top gun","transportation","travel"]},{title:"fas fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"far fa-file",searchTerms:["document","new","page","pdf","resume"]},{title:"fas fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"far fa-file-alt",searchTerms:["document","file-text","invoice","new","page","pdf"]},{title:"fas fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"far fa-file-archive",searchTerms:[".zip","bundle","compress","compression","download","zip"]},{title:"fas fa-file-audio",searchTerms:[]},{title:"far fa-file-audio",searchTerms:[]},{title:"fas fa-file-code",searchTerms:[]},{title:"far fa-file-code",searchTerms:[]},{title:"fas fa-file-contract",searchTerms:["agreement","binding","document","legal","signature"]},{title:"fas fa-file-csv",searchTerms:["spreadsheets"]},{title:"fas fa-file-download",searchTerms:[]},{title:"fas fa-file-excel",searchTerms:[]},{title:"far fa-file-excel",searchTerms:[]},{title:"fas fa-file-export",searchTerms:[]},{title:"fas fa-file-image",searchTerms:[]},{title:"far fa-file-image",searchTerms:[]},{title:"fas fa-file-import",searchTerms:[]},{title:"fas fa-file-invoice",searchTerms:["bill","document","receipt"]},{title:"fas fa-file-invoice-dollar",searchTerms:["$","bill","document","dollar-sign","money","receipt","usd"]},{title:"fas fa-file-medical",searchTerms:[]},{title:"fas fa-file-medical-alt",searchTerms:[]},{title:"fas fa-file-pdf",searchTerms:[]},{title:"far fa-file-pdf",searchTerms:[]},{title:"fas fa-file-powerpoint",searchTerms:[]},{title:"far fa-file-powerpoint",searchTerms:[]},{title:"fas fa-file-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-file-signature",searchTerms:["John Hancock","contract","document","name"]},{title:"fas fa-file-upload",searchTerms:[]},{title:"fas fa-file-video",searchTerms:[]},{title:"far fa-file-video",searchTerms:[]},{title:"fas fa-file-word",searchTerms:[]},{title:"far fa-file-word",searchTerms:[]},{title:"fas fa-fill",searchTerms:["bucket","color","paint","paint bucket"]},{title:"fas fa-fill-drip",searchTerms:["bucket","color","drop","paint","paint bucket","spill"]},{title:"fas fa-film",searchTerms:["movie"]},{title:"fas fa-filter",searchTerms:["funnel","options"]},{title:"fas fa-fingerprint",searchTerms:["human","id","identification","lock","smudge","touch","unique","unlock"]},{title:"fas fa-fire",searchTerms:["caliente","flame","heat","hot","popular"]},{title:"fas fa-fire-extinguisher",searchTerms:[]},{title:"fab fa-firefox",searchTerms:["browser"]},{title:"fas fa-first-aid",searchTerms:[]},{title:"fab fa-first-order",searchTerms:[]},{title:"fab fa-first-order-alt",searchTerms:[]},{title:"fab fa-firstdraft",searchTerms:[]},{title:"fas fa-fish",searchTerms:["fauna","gold","swimming"]},{title:"fas fa-fist-raised",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","hand","ki","monk","resist","strength","unarmed combat"]},{title:"fas fa-flag",searchTerms:["country","notice","notification","notify","pole","report","symbol"]},{title:"far fa-flag",searchTerms:["country","notice","notification","notify","pole","report","symbol"]},{title:"fas fa-flag-checkered",searchTerms:["notice","notification","notify","pole","racing","report","symbol"]},{title:"fas fa-flag-usa",searchTerms:["betsy ross","country","old glory","stars","stripes","symbol"]},{title:"fas fa-flask",searchTerms:["beaker","experimental","labs","science"]},{title:"fab fa-flickr",searchTerms:[]},{title:"fab fa-flipboard",searchTerms:[]},{title:"fas fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"far fa-flushed",searchTerms:["embarrassed","emoticon","face"]},{title:"fab fa-fly",searchTerms:[]},{title:"fas fa-folder",searchTerms:[]},{title:"far fa-folder",searchTerms:[]},{title:"fas fa-folder-minus",searchTerms:["archive","delete","negative","remove"]},{title:"fas fa-folder-open",searchTerms:[]},{title:"far fa-folder-open",searchTerms:[]},{title:"fas fa-folder-plus",searchTerms:["add","create","new","positive"]},{title:"fas fa-font",searchTerms:["text"]},{title:"fab fa-font-awesome",searchTerms:["meanpath"]},{title:"fab fa-font-awesome-alt",searchTerms:[]},{title:"fab fa-font-awesome-flag",searchTerms:[]},{title:"far fa-font-awesome-logo-full",searchTerms:[]},{title:"fas fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-font-awesome-logo-full",searchTerms:[]},{title:"fab fa-fonticons",searchTerms:[]},{title:"fab fa-fonticons-fi",searchTerms:[]},{title:"fas fa-football-ball",searchTerms:["fall","pigskin","seasonal"]},{title:"fab fa-fort-awesome",searchTerms:["castle"]},{title:"fab fa-fort-awesome-alt",searchTerms:["castle"]},{title:"fab fa-forumbee",searchTerms:[]},{title:"fas fa-forward",searchTerms:["forward","next"]},{title:"fab fa-foursquare",searchTerms:[]},{title:"fab fa-free-code-camp",searchTerms:[]},{title:"fab fa-freebsd",searchTerms:[]},{title:"fas fa-frog",searchTerms:["amphibian","bullfrog","fauna","hop","kermit","kiss","prince","ribbit","toad","wart"]},{title:"fas fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fas fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"far fa-frown-open",searchTerms:["disapprove","emoticon","face","rating","sad"]},{title:"fab fa-fulcrum",searchTerms:[]},{title:"fas fa-funnel-dollar",searchTerms:[]},{title:"fas fa-futbol",searchTerms:["ball","football","soccer"]},{title:"far fa-futbol",searchTerms:["ball","football","soccer"]},{title:"fab fa-galactic-republic",searchTerms:["politics","star wars"]},{title:"fab fa-galactic-senate",searchTerms:["star wars"]},{title:"fas fa-gamepad",searchTerms:["controller"]},{title:"fas fa-gas-pump",searchTerms:[]},{title:"fas fa-gavel",searchTerms:["hammer","judge","lawyer","opinion"]},{title:"fas fa-gem",searchTerms:["diamond"]},{title:"far fa-gem",searchTerms:["diamond"]},{title:"fas fa-genderless",searchTerms:[]},{title:"fab fa-get-pocket",searchTerms:[]},{title:"fab fa-gg",searchTerms:[]},{title:"fab fa-gg-circle",searchTerms:[]},{title:"fas fa-ghost",searchTerms:["apparition","blinky","clyde","floating","halloween","holiday","inky","pinky","spirit"]},{title:"fas fa-gift",searchTerms:["generosity","giving","party","present","wrapped"]},{title:"fab fa-git",searchTerms:[]},{title:"fab fa-git-square",searchTerms:[]},{title:"fab fa-github",searchTerms:["octocat"]},{title:"fab fa-github-alt",searchTerms:["octocat"]},{title:"fab fa-github-square",searchTerms:["octocat"]},{title:"fab fa-gitkraken",searchTerms:[]},{title:"fab fa-gitlab",searchTerms:["Axosoft"]},{title:"fab fa-gitter",searchTerms:[]},{title:"fas fa-glass-martini",searchTerms:["alcohol","bar","beverage","drink","glass","liquor","martini"]},{title:"fas fa-glass-martini-alt",searchTerms:[]},{title:"fas fa-glasses",searchTerms:["foureyes","hipster","nerd","reading","sight","spectacles"]},{title:"fab fa-glide",searchTerms:[]},{title:"fab fa-glide-g",searchTerms:[]},{title:"fas fa-globe",searchTerms:["all","coordinates","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-africa",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-americas",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fas fa-globe-asia",searchTerms:["all","country","earth","global","gps","language","localize","location","map","online","place","planet","translate","travel","world"]},{title:"fab fa-gofore",searchTerms:[]},{title:"fas fa-golf-ball",searchTerms:[]},{title:"fab fa-goodreads",searchTerms:[]},{title:"fab fa-goodreads-g",searchTerms:[]},{title:"fab fa-google",searchTerms:[]},{title:"fab fa-google-drive",searchTerms:[]},{title:"fab fa-google-play",searchTerms:[]},{title:"fab fa-google-plus",searchTerms:["google-plus-circle","google-plus-official"]},{title:"fab fa-google-plus-g",searchTerms:["google-plus","social network"]},{title:"fab fa-google-plus-square",searchTerms:["social network"]},{title:"fab fa-google-wallet",searchTerms:[]},{title:"fas fa-gopuram",searchTerms:["building","entrance","hinduism","temple","tower"]},{title:"fas fa-graduation-cap",searchTerms:["learning","school","student"]},{title:"fab fa-gratipay",searchTerms:["favorite","heart","like","love"]},{title:"fab fa-grav",searchTerms:[]},{title:"fas fa-greater-than",searchTerms:[]},{title:"fas fa-greater-than-equal",searchTerms:[]},{title:"fas fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"far fa-grimace",searchTerms:["cringe","emoticon","face"]},{title:"fas fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-alt",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-beam",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"far fa-grin-beam-sweat",searchTerms:["emoticon","face","smile"]},{title:"fas fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"far fa-grin-hearts",searchTerms:["emoticon","face","love","smile"]},{title:"fas fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"far fa-grin-squint",searchTerms:["emoticon","face","laugh","smile"]},{title:"fas fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"far fa-grin-squint-tears",searchTerms:["emoticon","face","happy","smile"]},{title:"fas fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"far fa-grin-stars",searchTerms:["emoticon","face","star-struck"]},{title:"fas fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tears",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-grin-tongue-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"far fa-grin-wink",searchTerms:["emoticon","face","flirt","laugh","smile"]},{title:"fas fa-grip-horizontal",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fas fa-grip-vertical",searchTerms:["affordance","drag","drop","grab","handle"]},{title:"fab fa-gripfire",searchTerms:[]},{title:"fab fa-grunt",searchTerms:[]},{title:"fab fa-gulp",searchTerms:[]},{title:"fas fa-h-square",searchTerms:["hospital","hotel"]},{title:"fab fa-hacker-news",searchTerms:[]},{title:"fab fa-hacker-news-square",searchTerms:[]},{title:"fab fa-hackerrank",searchTerms:[]},{title:"fas fa-hammer",searchTerms:["admin","fix","repair","settings","tool"]},{title:"fas fa-hamsa",searchTerms:["amulet","christianity","islam","jewish","judaism","muslim","protection"]},{title:"fas fa-hand-holding",searchTerms:[]},{title:"fas fa-hand-holding-heart",searchTerms:[]},{title:"fas fa-hand-holding-usd",searchTerms:["$","dollar sign","donation","giving","money","price"]},{title:"fas fa-hand-lizard",searchTerms:[]},{title:"far fa-hand-lizard",searchTerms:[]},{title:"fas fa-hand-paper",searchTerms:["stop"]},{title:"far fa-hand-paper",searchTerms:["stop"]},{title:"fas fa-hand-peace",searchTerms:[]},{title:"far fa-hand-peace",searchTerms:[]},{title:"fas fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"far fa-hand-point-down",searchTerms:["finger","hand-o-down","point"]},{title:"fas fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"far fa-hand-point-left",searchTerms:["back","finger","hand-o-left","left","point","previous"]},{title:"fas fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"far fa-hand-point-right",searchTerms:["finger","forward","hand-o-right","next","point","right"]},{title:"fas fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"far fa-hand-point-up",searchTerms:["finger","hand-o-up","point"]},{title:"fas fa-hand-pointer",searchTerms:["select"]},{title:"far fa-hand-pointer",searchTerms:["select"]},{title:"fas fa-hand-rock",searchTerms:[]},{title:"far fa-hand-rock",searchTerms:[]},{title:"fas fa-hand-scissors",searchTerms:[]},{title:"far fa-hand-scissors",searchTerms:[]},{title:"fas fa-hand-spock",searchTerms:[]},{title:"far fa-hand-spock",searchTerms:[]},{title:"fas fa-hands",searchTerms:[]},{title:"fas fa-hands-helping",searchTerms:["aid","assistance","partnership","volunteering"]},{title:"fas fa-handshake",searchTerms:["greeting","partnership"]},{title:"far fa-handshake",searchTerms:["greeting","partnership"]},{title:"fas fa-hanukiah",searchTerms:["candle","hanukkah","jewish","judaism","light"]},{title:"fas fa-hashtag",searchTerms:[]},{title:"fas fa-hat-wizard",searchTerms:["Dungeons & Dragons","buckle","cloth","clothing","d&d","dnd","fantasy","halloween","holiday","mage","magic","pointy","witch"]},{title:"fas fa-haykal",searchTerms:["bahai","bahá'í","star"]},{title:"fas fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"far fa-hdd",searchTerms:["cpu","hard drive","harddrive","machine","save","storage"]},{title:"fas fa-heading",searchTerms:["header"]},{title:"fas fa-headphones",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headphones-alt",searchTerms:["audio","listen","music","sound","speaker"]},{title:"fas fa-headset",searchTerms:["audio","gamer","gaming","listen","live chat","microphone","shot caller","sound","support","telemarketer"]},{title:"fas fa-heart",searchTerms:["favorite","like","love"]},{title:"far fa-heart",searchTerms:["favorite","like","love"]},{title:"fas fa-heartbeat",searchTerms:["ekg","lifeline","vital signs"]},{title:"fas fa-helicopter",searchTerms:["airwolf","apache","chopper","flight","fly"]},{title:"fas fa-highlighter",searchTerms:["edit","marker","sharpie","update","write"]},{title:"fas fa-hiking",searchTerms:["activity","backpack","fall","fitness","outdoors","seasonal","walking"]},{title:"fas fa-hippo",searchTerms:["fauna","hungry","mammmal"]},{title:"fab fa-hips",searchTerms:[]},{title:"fab fa-hire-a-helper",searchTerms:[]},{title:"fas fa-history",searchTerms:[]},{title:"fas fa-hockey-puck",searchTerms:[]},{title:"fas fa-home",searchTerms:["house","main"]},{title:"fab fa-hooli",searchTerms:[]},{title:"fab fa-hornbill",searchTerms:[]},{title:"fas fa-horse",searchTerms:["equus","fauna","mammmal","neigh"]},{title:"fas fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"far fa-hospital",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-alt",searchTerms:["building","emergency room","medical center"]},{title:"fas fa-hospital-symbol",searchTerms:[]},{title:"fas fa-hot-tub",searchTerms:[]},{title:"fas fa-hotel",searchTerms:["building","lodging"]},{title:"fab fa-hotjar",searchTerms:[]},{title:"fas fa-hourglass",searchTerms:[]},{title:"far fa-hourglass",searchTerms:[]},{title:"fas fa-hourglass-end",searchTerms:[]},{title:"fas fa-hourglass-half",searchTerms:[]},{title:"fas fa-hourglass-start",searchTerms:[]},{title:"fas fa-house-damage",searchTerms:["devastation","home"]},{title:"fab fa-houzz",searchTerms:[]},{title:"fas fa-hryvnia",searchTerms:["money"]},{title:"fab fa-html5",searchTerms:[]},{title:"fab fa-hubspot",searchTerms:[]},{title:"fas fa-i-cursor",searchTerms:[]},{title:"fas fa-id-badge",searchTerms:[]},{title:"far fa-id-badge",searchTerms:[]},{title:"fas fa-id-card",searchTerms:["document","identification","issued"]},{title:"far fa-id-card",searchTerms:["document","identification","issued"]},{title:"fas fa-id-card-alt",searchTerms:["demographics"]},{title:"fas fa-image",searchTerms:["album","photo","picture"]},{title:"far fa-image",searchTerms:["album","photo","picture"]},{title:"fas fa-images",searchTerms:["album","photo","picture"]},{title:"far fa-images",searchTerms:["album","photo","picture"]},{title:"fab fa-imdb",searchTerms:[]},{title:"fas fa-inbox",searchTerms:[]},{title:"fas fa-indent",searchTerms:[]},{title:"fas fa-industry",searchTerms:["factory","manufacturing"]},{title:"fas fa-infinity",searchTerms:[]},{title:"fas fa-info",searchTerms:["details","help","information","more"]},{title:"fas fa-info-circle",searchTerms:["details","help","information","more"]},{title:"fab fa-instagram",searchTerms:[]},{title:"fab fa-internet-explorer",searchTerms:["browser","ie"]},{title:"fab fa-ioxhost",searchTerms:[]},{title:"fas fa-italic",searchTerms:["italics"]},{title:"fab fa-itunes",searchTerms:[]},{title:"fab fa-itunes-note",searchTerms:[]},{title:"fab fa-java",searchTerms:[]},{title:"fas fa-jedi",searchTerms:["star wars"]},{title:"fab fa-jedi-order",searchTerms:["star wars"]},{title:"fab fa-jenkins",searchTerms:[]},{title:"fab fa-joget",searchTerms:[]},{title:"fas fa-joint",searchTerms:["blunt","cannabis","doobie","drugs","marijuana","roach","smoke","smoking","spliff"]},{title:"fab fa-joomla",searchTerms:[]},{title:"fas fa-journal-whills",searchTerms:["book","jedi","star wars","the force"]},{title:"fab fa-js",searchTerms:[]},{title:"fab fa-js-square",searchTerms:[]},{title:"fab fa-jsfiddle",searchTerms:[]},{title:"fas fa-kaaba",searchTerms:["building","cube","islam","muslim"]},{title:"fab fa-kaggle",searchTerms:[]},{title:"fas fa-key",searchTerms:["password","unlock"]},{title:"fab fa-keybase",searchTerms:[]},{title:"fas fa-keyboard",searchTerms:["input","type"]},{title:"far fa-keyboard",searchTerms:["input","type"]},{title:"fab fa-keycdn",searchTerms:[]},{title:"fas fa-khanda",searchTerms:["chakkar","sikh","sikhism","sword"]},{title:"fab fa-kickstarter",searchTerms:[]},{title:"fab fa-kickstarter-k",searchTerms:[]},{title:"fas fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-beam",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"far fa-kiss-wink-heart",searchTerms:["beso","emoticon","face","love","smooch"]},{title:"fas fa-kiwi-bird",searchTerms:["bird","fauna"]},{title:"fab fa-korvue",searchTerms:[]},{title:"fas fa-landmark",searchTerms:["building","historic","memoroable","politics"]},{title:"fas fa-language",searchTerms:["dialect","idiom","localize","speech","translate","vernacular"]},{title:"fas fa-laptop",searchTerms:["computer","cpu","dell","demo","device","dude you're getting","mac","macbook","machine","pc"]},{title:"fas fa-laptop-code",searchTerms:[]},{title:"fab fa-laravel",searchTerms:[]},{title:"fab fa-lastfm",searchTerms:[]},{title:"fab fa-lastfm-square",searchTerms:[]},{title:"fas fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"far fa-laugh",searchTerms:["LOL","emoticon","face","laugh"]},{title:"fas fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-beam",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-squint",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"far fa-laugh-wink",searchTerms:["LOL","emoticon","face"]},{title:"fas fa-layer-group",searchTerms:["layers"]},{title:"fas fa-leaf",searchTerms:["eco","flora","nature","plant"]},{title:"fab fa-leanpub",searchTerms:[]},{title:"fas fa-lemon",searchTerms:["food"]},{title:"far fa-lemon",searchTerms:["food"]},{title:"fab fa-less",searchTerms:[]},{title:"fas fa-less-than",searchTerms:[]},{title:"fas fa-less-than-equal",searchTerms:[]},{title:"fas fa-level-down-alt",searchTerms:["level-down"]},{title:"fas fa-level-up-alt",searchTerms:["level-up"]},{title:"fas fa-life-ring",searchTerms:["support"]},{title:"far fa-life-ring",searchTerms:["support"]},{title:"fas fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"far fa-lightbulb",searchTerms:["idea","inspiration"]},{title:"fab fa-line",searchTerms:[]},{title:"fas fa-link",searchTerms:["chain"]},{title:"fab fa-linkedin",searchTerms:["linkedin-square"]},{title:"fab fa-linkedin-in",searchTerms:["linkedin"]},{title:"fab fa-linode",searchTerms:[]},{title:"fab fa-linux",searchTerms:["tux"]},{title:"fas fa-lira-sign",searchTerms:["try","turkish"]},{title:"fas fa-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"far fa-list-alt",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fas fa-list-ol",searchTerms:["checklist","list","numbers","ol","todo","ul"]},{title:"fas fa-list-ul",searchTerms:["checklist","list","ol","todo","ul"]},{title:"fas fa-location-arrow",searchTerms:["address","coordinates","gps","location","map","place","where"]},{title:"fas fa-lock",searchTerms:["admin","protect","security"]},{title:"fas fa-lock-open",searchTerms:["admin","lock","open","password","protect"]},{title:"fas fa-long-arrow-alt-down",searchTerms:["long-arrow-down"]},{title:"fas fa-long-arrow-alt-left",searchTerms:["back","long-arrow-left","previous"]},{title:"fas fa-long-arrow-alt-right",searchTerms:["long-arrow-right"]},{title:"fas fa-long-arrow-alt-up",searchTerms:["long-arrow-up"]},{title:"fas fa-low-vision",searchTerms:[]},{title:"fas fa-luggage-cart",searchTerms:[]},{title:"fab fa-lyft",searchTerms:[]},{title:"fab fa-magento",searchTerms:[]},{title:"fas fa-magic",searchTerms:["autocomplete","automatic","mage","magic","spell","witch","wizard"]},{title:"fas fa-magnet",searchTerms:[]},{title:"fas fa-mail-bulk",searchTerms:[]},{title:"fab fa-mailchimp",searchTerms:[]},{title:"fas fa-male",searchTerms:["human","man","person","profile","user"]},{title:"fab fa-mandalorian",searchTerms:[]},{title:"fas fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"far fa-map",searchTerms:["coordinates","location","paper","place","travel"]},{title:"fas fa-map-marked",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marked-alt",searchTerms:["address","coordinates","destination","gps","localize","location","map","paper","pin","place","point of interest","position","route","travel","where"]},{title:"fas fa-map-marker",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-marker-alt",searchTerms:["address","coordinates","gps","localize","location","map","pin","place","position","travel","where"]},{title:"fas fa-map-pin",searchTerms:["address","coordinates","gps","localize","location","map","marker","place","position","travel","where"]},{title:"fas fa-map-signs",searchTerms:[]},{title:"fab fa-markdown",searchTerms:[]},{title:"fas fa-marker",searchTerms:["edit","sharpie","update","write"]},{title:"fas fa-mars",searchTerms:["male"]},{title:"fas fa-mars-double",searchTerms:[]},{title:"fas fa-mars-stroke",searchTerms:[]},{title:"fas fa-mars-stroke-h",searchTerms:[]},{title:"fas fa-mars-stroke-v",searchTerms:[]},{title:"fas fa-mask",searchTerms:["costume","disguise","halloween","holiday","secret","super hero"]},{title:"fab fa-mastodon",searchTerms:[]},{title:"fab fa-maxcdn",searchTerms:[]},{title:"fas fa-medal",searchTerms:[]},{title:"fab fa-medapps",searchTerms:[]},{title:"fab fa-medium",searchTerms:[]},{title:"fab fa-medium-m",searchTerms:[]},{title:"fas fa-medkit",searchTerms:["first aid","firstaid","health","help","support"]},{title:"fab fa-medrt",searchTerms:[]},{title:"fab fa-meetup",searchTerms:[]},{title:"fab fa-megaport",searchTerms:[]},{title:"fas fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-blank",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"far fa-meh-rolling-eyes",searchTerms:["emoticon","face","neutral","rating"]},{title:"fas fa-memory",searchTerms:["DIMM","RAM"]},{title:"fas fa-menorah",searchTerms:["candle","hanukkah","jewish","judaism","light"]},{title:"fas fa-mercury",searchTerms:["transgender"]},{title:"fas fa-meteor",searchTerms:[]},{title:"fas fa-microchip",searchTerms:["cpu","processor"]},{title:"fas fa-microphone",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt",searchTerms:["record","sound","voice"]},{title:"fas fa-microphone-alt-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microphone-slash",searchTerms:["disable","mute","record","sound","voice"]},{title:"fas fa-microscope",searchTerms:[]},{title:"fab fa-microsoft",searchTerms:[]},{title:"fas fa-minus",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"fas fa-minus-circle",searchTerms:["delete","hide","negative","remove","trash"]},{title:"fas fa-minus-square",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"far fa-minus-square",searchTerms:["collapse","delete","hide","minify","negative","remove","trash"]},{title:"fab fa-mix",searchTerms:[]},{title:"fab fa-mixcloud",searchTerms:[]},{title:"fab fa-mizuni",searchTerms:[]},{title:"fas fa-mobile",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fas fa-mobile-alt",searchTerms:["apple","call","cell phone","cellphone","device","iphone","number","screen","telephone","text"]},{title:"fab fa-modx",searchTerms:[]},{title:"fab fa-monero",searchTerms:[]},{title:"fas fa-money-bill",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"far fa-money-bill-alt",searchTerms:["buy","cash","checkout","money","payment","price","purchase"]},{title:"fas fa-money-bill-wave",searchTerms:[]},{title:"fas fa-money-bill-wave-alt",searchTerms:[]},{title:"fas fa-money-check",searchTerms:["bank check","cheque"]},{title:"fas fa-money-check-alt",searchTerms:["bank check","cheque"]},{title:"fas fa-monument",searchTerms:["building","historic","memoroable"]},{title:"fas fa-moon",searchTerms:["contrast","crescent","darker","lunar","night"]},{title:"far fa-moon",searchTerms:["contrast","crescent","darker","lunar","night"]},{title:"fas fa-mortar-pestle",searchTerms:["crush","culinary","grind","medical","mix","spices"]},{title:"fas fa-mosque",searchTerms:["building","islam","muslim"]},{title:"fas fa-motorcycle",searchTerms:["bike","machine","transportation","vehicle"]},{title:"fas fa-mountain",searchTerms:[]},{title:"fas fa-mouse-pointer",searchTerms:["select"]},{title:"fas fa-music",searchTerms:["note","sound"]},{title:"fab fa-napster",searchTerms:[]},{title:"fab fa-neos",searchTerms:[]},{title:"fas fa-network-wired",searchTerms:[]},{title:"fas fa-neuter",searchTerms:[]},{title:"fas fa-newspaper",searchTerms:["article","press"]},{title:"far fa-newspaper",searchTerms:["article","press"]},{title:"fab fa-nimblr",searchTerms:[]},{title:"fab fa-nintendo-switch",searchTerms:[]},{title:"fab fa-node",searchTerms:[]},{title:"fab fa-node-js",searchTerms:[]},{title:"fas fa-not-equal",searchTerms:[]},{title:"fas fa-notes-medical",searchTerms:[]},{title:"fab fa-npm",searchTerms:[]},{title:"fab fa-ns8",searchTerms:[]},{title:"fab fa-nutritionix",searchTerms:[]},{title:"fas fa-object-group",searchTerms:["design"]},{title:"far fa-object-group",searchTerms:["design"]},{title:"fas fa-object-ungroup",searchTerms:["design"]},{title:"far fa-object-ungroup",searchTerms:["design"]},{title:"fab fa-odnoklassniki",searchTerms:[]},{title:"fab fa-odnoklassniki-square",searchTerms:[]},{title:"fas fa-oil-can",searchTerms:[]},{title:"fab fa-old-republic",searchTerms:["politics","star wars"]},{title:"fas fa-om",searchTerms:["buddhism","hinduism","jainism","mantra"]},{title:"fab fa-opencart",searchTerms:[]},{title:"fab fa-openid",searchTerms:[]},{title:"fab fa-opera",searchTerms:[]},{title:"fab fa-optin-monster",searchTerms:[]},{title:"fab fa-osi",searchTerms:[]},{title:"fas fa-otter",searchTerms:["fauna","mammmal"]},{title:"fas fa-outdent",searchTerms:[]},{title:"fab fa-page4",searchTerms:[]},{title:"fab fa-pagelines",searchTerms:["eco","flora","leaf","leaves","nature","plant","tree"]},{title:"fas fa-paint-brush",searchTerms:[]},{title:"fas fa-paint-roller",searchTerms:["brush","painting","tool"]},{title:"fas fa-palette",searchTerms:["colors","painting"]},{title:"fab fa-palfed",searchTerms:[]},{title:"fas fa-pallet",searchTerms:[]},{title:"fas fa-paper-plane",searchTerms:[]},{title:"far fa-paper-plane",searchTerms:[]},{title:"fas fa-paperclip",searchTerms:["attachment"]},{title:"fas fa-parachute-box",searchTerms:["aid","assistance","rescue","supplies"]},{title:"fas fa-paragraph",searchTerms:[]},{title:"fas fa-parking",searchTerms:[]},{title:"fas fa-passport",searchTerms:["document","identification","issued"]},{title:"fas fa-pastafarianism",searchTerms:["agnosticism","atheism","flying spaghetti monster","fsm"]},{title:"fas fa-paste",searchTerms:["clipboard","copy"]},{title:"fab fa-patreon",searchTerms:[]},{title:"fas fa-pause",searchTerms:["wait"]},{title:"fas fa-pause-circle",searchTerms:[]},{title:"far fa-pause-circle",searchTerms:[]},{title:"fas fa-paw",searchTerms:["animal","pet"]},{title:"fab fa-paypal",searchTerms:[]},{title:"fas fa-peace",searchTerms:[]},{title:"fas fa-pen",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-alt",searchTerms:["design","edit","update","write"]},{title:"fas fa-pen-fancy",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-nib",searchTerms:["design","edit","fountain pen","update","write"]},{title:"fas fa-pen-square",searchTerms:["edit","pencil-square","update","write"]},{title:"fas fa-pencil-alt",searchTerms:["design","edit","pencil","update","write"]},{title:"fas fa-pencil-ruler",searchTerms:[]},{title:"fab fa-penny-arcade",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","pax","tabletop"]},{title:"fas fa-people-carry",searchTerms:["movers"]},{title:"fas fa-percent",searchTerms:[]},{title:"fas fa-percentage",searchTerms:[]},{title:"fab fa-periscope",searchTerms:[]},{title:"fas fa-person-booth",searchTerms:["changing","changing room","election","human","person","vote","voting"]},{title:"fab fa-phabricator",searchTerms:[]},{title:"fab fa-phoenix-framework",searchTerms:[]},{title:"fab fa-phoenix-squadron",searchTerms:[]},{title:"fas fa-phone",searchTerms:["call","earphone","number","support","telephone","voice"]},{title:"fas fa-phone-slash",searchTerms:[]},{title:"fas fa-phone-square",searchTerms:["call","number","support","telephone","voice"]},{title:"fas fa-phone-volume",searchTerms:["telephone","volume-control-phone"]},{title:"fab fa-php",searchTerms:[]},{title:"fab fa-pied-piper",searchTerms:[]},{title:"fab fa-pied-piper-alt",searchTerms:[]},{title:"fab fa-pied-piper-hat",searchTerms:["clothing"]},{title:"fab fa-pied-piper-pp",searchTerms:[]},{title:"fas fa-piggy-bank",searchTerms:["save","savings"]},{title:"fas fa-pills",searchTerms:["drugs","medicine"]},{title:"fab fa-pinterest",searchTerms:[]},{title:"fab fa-pinterest-p",searchTerms:[]},{title:"fab fa-pinterest-square",searchTerms:[]},{title:"fas fa-place-of-worship",searchTerms:[]},{title:"fas fa-plane",searchTerms:["airplane","destination","fly","location","mode","travel","trip"]},{title:"fas fa-plane-arrival",searchTerms:["airplane","arriving","destination","fly","land","landing","location","mode","travel","trip"]},{title:"fas fa-plane-departure",searchTerms:["airplane","departing","destination","fly","location","mode","take off","taking off","travel","trip"]},{title:"fas fa-play",searchTerms:["music","playing","sound","start"]},{title:"fas fa-play-circle",searchTerms:["playing","start"]},{title:"far fa-play-circle",searchTerms:["playing","start"]},{title:"fab fa-playstation",searchTerms:[]},{title:"fas fa-plug",searchTerms:["connect","online","power"]},{title:"fas fa-plus",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-plus-circle",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-plus-square",searchTerms:["add","create","expand","new","positive"]},{title:"far fa-plus-square",searchTerms:["add","create","expand","new","positive"]},{title:"fas fa-podcast",searchTerms:[]},{title:"fas fa-poll",searchTerms:["results","survey","vote","voting"]},{title:"fas fa-poll-h",searchTerms:["results","survey","vote","voting"]},{title:"fas fa-poo",searchTerms:[]},{title:"fas fa-poo-storm",searchTerms:["mess","poop","shit"]},{title:"fas fa-poop",searchTerms:[]},{title:"fas fa-portrait",searchTerms:[]},{title:"fas fa-pound-sign",searchTerms:["gbp"]},{title:"fas fa-power-off",searchTerms:["on","reboot","restart"]},{title:"fas fa-pray",searchTerms:[]},{title:"fas fa-praying-hands",searchTerms:[]},{title:"fas fa-prescription",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-prescription-bottle-alt",searchTerms:["drugs","medical","medicine","rx"]},{title:"fas fa-print",searchTerms:[]},{title:"fas fa-procedures",searchTerms:[]},{title:"fab fa-product-hunt",searchTerms:[]},{title:"fas fa-project-diagram",searchTerms:[]},{title:"fab fa-pushed",searchTerms:[]},{title:"fas fa-puzzle-piece",searchTerms:["add-on","addon","section"]},{title:"fab fa-python",searchTerms:[]},{title:"fab fa-qq",searchTerms:[]},{title:"fas fa-qrcode",searchTerms:["scan"]},{title:"fas fa-question",searchTerms:["help","information","support","unknown"]},{title:"fas fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"far fa-question-circle",searchTerms:["help","information","support","unknown"]},{title:"fas fa-quidditch",searchTerms:[]},{title:"fab fa-quinscape",searchTerms:[]},{title:"fab fa-quora",searchTerms:[]},{title:"fas fa-quote-left",searchTerms:[]},{title:"fas fa-quote-right",searchTerms:[]},{title:"fas fa-quran",searchTerms:["book","islam","muslim"]},{title:"fab fa-r-project",searchTerms:[]},{title:"fas fa-rainbow",searchTerms:[]},{title:"fas fa-random",searchTerms:["shuffle","sort"]},{title:"fab fa-ravelry",searchTerms:[]},{title:"fab fa-react",searchTerms:[]},{title:"fab fa-reacteurope",searchTerms:[]},{title:"fab fa-readme",searchTerms:[]},{title:"fab fa-rebel",searchTerms:[]},{title:"fas fa-receipt",searchTerms:["check","invoice","table"]},{title:"fas fa-recycle",searchTerms:[]},{title:"fab fa-red-river",searchTerms:[]},{title:"fab fa-reddit",searchTerms:[]},{title:"fab fa-reddit-alien",searchTerms:[]},{title:"fab fa-reddit-square",searchTerms:[]},{title:"fas fa-redo",searchTerms:["forward","refresh","reload","repeat"]},{title:"fas fa-redo-alt",searchTerms:["forward","refresh","reload","repeat"]},{title:"fas fa-registered",searchTerms:[]},{title:"far fa-registered",searchTerms:[]},{title:"fab fa-renren",searchTerms:[]},{title:"fas fa-reply",searchTerms:[]},{title:"fas fa-reply-all",searchTerms:[]},{title:"fab fa-replyd",searchTerms:[]},{title:"fas fa-republican",searchTerms:["american","conservative","election","elephant","politics","republican party","right","right-wing","usa"]},{title:"fab fa-researchgate",searchTerms:[]},{title:"fab fa-resolving",searchTerms:[]},{title:"fas fa-retweet",searchTerms:["refresh","reload","share","swap"]},{title:"fab fa-rev",searchTerms:[]},{title:"fas fa-ribbon",searchTerms:["badge","cause","lapel","pin"]},{title:"fas fa-ring",searchTerms:["Dungeons & Dragons","Gollum","band","binding","d&d","dnd","fantasy","jewelry","precious"]},{title:"fas fa-road",searchTerms:["street"]},{title:"fas fa-robot",searchTerms:[]},{title:"fas fa-rocket",searchTerms:["app"]},{title:"fab fa-rocketchat",searchTerms:[]},{title:"fab fa-rockrms",searchTerms:[]},{title:"fas fa-route",searchTerms:[]},{title:"fas fa-rss",searchTerms:["blog"]},{title:"fas fa-rss-square",searchTerms:["blog","feed"]},{title:"fas fa-ruble-sign",searchTerms:["rub"]},{title:"fas fa-ruler",searchTerms:[]},{title:"fas fa-ruler-combined",searchTerms:[]},{title:"fas fa-ruler-horizontal",searchTerms:[]},{title:"fas fa-ruler-vertical",searchTerms:[]},{title:"fas fa-running",searchTerms:["jog","sprint"]},{title:"fas fa-rupee-sign",searchTerms:["indian","inr"]},{title:"fas fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-cry",searchTerms:["emoticon","face","tear","tears"]},{title:"fas fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"far fa-sad-tear",searchTerms:["emoticon","face","tear","tears"]},{title:"fab fa-safari",searchTerms:["browser"]},{title:"fab fa-sass",searchTerms:[]},{title:"fas fa-save",searchTerms:["floppy","floppy-o"]},{title:"far fa-save",searchTerms:["floppy","floppy-o"]},{title:"fab fa-schlix",searchTerms:[]},{title:"fas fa-school",searchTerms:[]},{title:"fas fa-screwdriver",searchTerms:["admin","fix","repair","settings","tool"]},{title:"fab fa-scribd",searchTerms:[]},{title:"fas fa-scroll",searchTerms:["Dungeons & Dragons","announcement","d&d","dnd","fantasy","paper"]},{title:"fas fa-search",searchTerms:["bigger","enlarge","magnify","preview","zoom"]},{title:"fas fa-search-dollar",searchTerms:[]},{title:"fas fa-search-location",searchTerms:[]},{title:"fas fa-search-minus",searchTerms:["minify","negative","smaller","zoom","zoom out"]},{title:"fas fa-search-plus",searchTerms:["bigger","enlarge","magnify","positive","zoom","zoom in"]},{title:"fab fa-searchengin",searchTerms:[]},{title:"fas fa-seedling",searchTerms:[]},{title:"fab fa-sellcast",searchTerms:["eercast"]},{title:"fab fa-sellsy",searchTerms:[]},{title:"fas fa-server",searchTerms:["cpu"]},{title:"fab fa-servicestack",searchTerms:[]},{title:"fas fa-shapes",searchTerms:["circle","square","triangle"]},{title:"fas fa-share",searchTerms:[]},{title:"fas fa-share-alt",searchTerms:[]},{title:"fas fa-share-alt-square",searchTerms:[]},{title:"fas fa-share-square",searchTerms:["send","social"]},{title:"far fa-share-square",searchTerms:["send","social"]},{title:"fas fa-shekel-sign",searchTerms:["ils"]},{title:"fas fa-shield-alt",searchTerms:["achievement","award","block","defend","security","winner"]},{title:"fas fa-ship",searchTerms:["boat","sea"]},{title:"fas fa-shipping-fast",searchTerms:[]},{title:"fab fa-shirtsinbulk",searchTerms:[]},{title:"fas fa-shoe-prints",searchTerms:["feet","footprints","steps"]},{title:"fas fa-shopping-bag",searchTerms:[]},{title:"fas fa-shopping-basket",searchTerms:[]},{title:"fas fa-shopping-cart",searchTerms:["buy","checkout","payment","purchase"]},{title:"fab fa-shopware",searchTerms:[]},{title:"fas fa-shower",searchTerms:[]},{title:"fas fa-shuttle-van",searchTerms:["machine","public-transportation","transportation","vehicle"]},{title:"fas fa-sign",searchTerms:[]},{title:"fas fa-sign-in-alt",searchTerms:["arrow","enter","join","log in","login","sign in","sign up","sign-in","signin","signup"]},{title:"fas fa-sign-language",searchTerms:[]},{title:"fas fa-sign-out-alt",searchTerms:["arrow","exit","leave","log out","logout","sign-out"]},{title:"fas fa-signal",searchTerms:["bars","graph","online","status"]},{title:"fas fa-signature",searchTerms:["John Hancock","cursive","name","writing"]},{title:"fab fa-simplybuilt",searchTerms:[]},{title:"fab fa-sistrix",searchTerms:[]},{title:"fas fa-sitemap",searchTerms:["directory","hierarchy","ia","information architecture","organization"]},{title:"fab fa-sith",searchTerms:[]},{title:"fas fa-skull",searchTerms:["bones","skeleton","yorick"]},{title:"fas fa-skull-crossbones",searchTerms:["Dungeons & Dragons","alert","bones","d&d","danger","dead","deadly","death","dnd","fantasy","halloween","holiday","jolly-roger","pirate","poison","skeleton","warning"]},{title:"fab fa-skyatlas",searchTerms:[]},{title:"fab fa-skype",searchTerms:[]},{title:"fab fa-slack",searchTerms:["anchor","hash","hashtag"]},{title:"fab fa-slack-hash",searchTerms:["anchor","hash","hashtag"]},{title:"fas fa-slash",searchTerms:[]},{title:"fas fa-sliders-h",searchTerms:["settings","sliders"]},{title:"fab fa-slideshare",searchTerms:[]},{title:"fas fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"far fa-smile",searchTerms:["approve","emoticon","face","happy","rating","satisfied"]},{title:"fas fa-smile-beam",searchTerms:["emoticon","face","happy","positive"]},{title:"far fa-smile-beam",searchTerms:["emoticon","face","happy","positive"]},{title:"fas fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"far fa-smile-wink",searchTerms:["emoticon","face","happy"]},{title:"fas fa-smog",searchTerms:["dragon"]},{title:"fas fa-smoking",searchTerms:["cigarette","nicotine","smoking status"]},{title:"fas fa-smoking-ban",searchTerms:["no smoking","non-smoking"]},{title:"fab fa-snapchat",searchTerms:[]},{title:"fab fa-snapchat-ghost",searchTerms:[]},{title:"fab fa-snapchat-square",searchTerms:[]},{title:"fas fa-snowflake",searchTerms:["precipitation","seasonal","winter"]},{title:"far fa-snowflake",searchTerms:["precipitation","seasonal","winter"]},{title:"fas fa-socks",searchTerms:["business socks","business time","flight of the conchords","wednesday"]},{title:"fas fa-solar-panel",searchTerms:["clean","eco-friendly","energy","green","sun"]},{title:"fas fa-sort",searchTerms:["order"]},{title:"fas fa-sort-alpha-down",searchTerms:["sort-alpha-asc"]},{title:"fas fa-sort-alpha-up",searchTerms:["sort-alpha-desc"]},{title:"fas fa-sort-amount-down",searchTerms:["sort-amount-asc"]},{title:"fas fa-sort-amount-up",searchTerms:["sort-amount-desc"]},{title:"fas fa-sort-down",searchTerms:["arrow","descending","sort-desc"]},{title:"fas fa-sort-numeric-down",searchTerms:["numbers","sort-numeric-asc"]},{title:"fas fa-sort-numeric-up",searchTerms:["numbers","sort-numeric-desc"]},{title:"fas fa-sort-up",searchTerms:["arrow","ascending","sort-asc"]},{title:"fab fa-soundcloud",searchTerms:[]},{title:"fas fa-spa",searchTerms:["flora","mindfullness","plant","wellness"]},{title:"fas fa-space-shuttle",searchTerms:["astronaut","machine","nasa","rocket","transportation"]},{title:"fab fa-speakap",searchTerms:[]},{title:"fas fa-spider",searchTerms:["arachnid","bug","charlotte","crawl","eight","halloween","holiday"]},{title:"fas fa-spinner",searchTerms:["loading","progress"]},{title:"fas fa-splotch",searchTerms:[]},{title:"fab fa-spotify",searchTerms:[]},{title:"fas fa-spray-can",searchTerms:[]},{title:"fas fa-square",searchTerms:["block","box"]},{title:"far fa-square",searchTerms:["block","box"]},{title:"fas fa-square-full",searchTerms:[]},{title:"fas fa-square-root-alt",searchTerms:[]},{title:"fab fa-squarespace",searchTerms:[]},{title:"fab fa-stack-exchange",searchTerms:[]},{title:"fab fa-stack-overflow",searchTerms:[]},{title:"fas fa-stamp",searchTerms:[]},{title:"fas fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"far fa-star",searchTerms:["achievement","award","favorite","important","night","rating","score"]},{title:"fas fa-star-and-crescent",searchTerms:["islam","muslim"]},{title:"fas fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"far fa-star-half",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-half-alt",searchTerms:["achievement","award","rating","score","star-half-empty","star-half-full"]},{title:"fas fa-star-of-david",searchTerms:["jewish","judaism"]},{title:"fas fa-star-of-life",searchTerms:[]},{title:"fab fa-staylinked",searchTerms:[]},{title:"fab fa-steam",searchTerms:[]},{title:"fab fa-steam-square",searchTerms:[]},{title:"fab fa-steam-symbol",searchTerms:[]},{title:"fas fa-step-backward",searchTerms:["beginning","first","previous","rewind","start"]},{title:"fas fa-step-forward",searchTerms:["end","last","next"]},{title:"fas fa-stethoscope",searchTerms:[]},{title:"fab fa-sticker-mule",searchTerms:[]},{title:"fas fa-sticky-note",searchTerms:[]},{title:"far fa-sticky-note",searchTerms:[]},{title:"fas fa-stop",searchTerms:["block","box","square"]},{title:"fas fa-stop-circle",searchTerms:[]},{title:"far fa-stop-circle",searchTerms:[]},{title:"fas fa-stopwatch",searchTerms:["time"]},{title:"fas fa-store",searchTerms:[]},{title:"fas fa-store-alt",searchTerms:[]},{title:"fab fa-strava",searchTerms:[]},{title:"fas fa-stream",searchTerms:[]},{title:"fas fa-street-view",searchTerms:["map"]},{title:"fas fa-strikethrough",searchTerms:[]},{title:"fab fa-stripe",searchTerms:[]},{title:"fab fa-stripe-s",searchTerms:[]},{title:"fas fa-stroopwafel",searchTerms:["dessert","food","sweets","waffle"]},{title:"fab fa-studiovinari",searchTerms:[]},{title:"fab fa-stumbleupon",searchTerms:[]},{title:"fab fa-stumbleupon-circle",searchTerms:[]},{title:"fas fa-subscript",searchTerms:[]},{title:"fas fa-subway",searchTerms:["machine","railway","train","transportation","vehicle"]},{title:"fas fa-suitcase",searchTerms:["baggage","luggage","move","suitcase","travel","trip"]},{title:"fas fa-suitcase-rolling",searchTerms:[]},{title:"fas fa-sun",searchTerms:["brighten","contrast","day","lighter","sol","solar","star","weather"]},{title:"far fa-sun",searchTerms:["brighten","contrast","day","lighter","sol","solar","star","weather"]},{title:"fab fa-superpowers",searchTerms:[]},{title:"fas fa-superscript",searchTerms:["exponential"]},{title:"fab fa-supple",searchTerms:[]},{title:"fas fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"far fa-surprise",searchTerms:["emoticon","face","shocked"]},{title:"fas fa-swatchbook",searchTerms:[]},{title:"fas fa-swimmer",searchTerms:["athlete","head","man","person","water"]},{title:"fas fa-swimming-pool",searchTerms:["ladder","recreation","water"]},{title:"fas fa-synagogue",searchTerms:["building","jewish","judaism","star of david","temple"]},{title:"fas fa-sync",searchTerms:["exchange","refresh","reload","rotate","swap"]},{title:"fas fa-sync-alt",searchTerms:["refresh","reload","rotate"]},{title:"fas fa-syringe",searchTerms:["immunizations","needle"]},{title:"fas fa-table",searchTerms:["data","excel","spreadsheet"]},{title:"fas fa-table-tennis",searchTerms:[]},{title:"fas fa-tablet",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablet-alt",searchTerms:["apple","device","ipad","kindle","screen"]},{title:"fas fa-tablets",searchTerms:["drugs","medicine"]},{title:"fas fa-tachometer-alt",searchTerms:["dashboard","tachometer"]},{title:"fas fa-tag",searchTerms:["label"]},{title:"fas fa-tags",searchTerms:["labels"]},{title:"fas fa-tape",searchTerms:[]},{title:"fas fa-tasks",searchTerms:["downloading","downloads","loading","progress","settings"]},{title:"fas fa-taxi",searchTerms:["cab","cabbie","car","car service","lyft","machine","transportation","uber","vehicle"]},{title:"fab fa-teamspeak",searchTerms:[]},{title:"fas fa-teeth",searchTerms:[]},{title:"fas fa-teeth-open",searchTerms:[]},{title:"fab fa-telegram",searchTerms:[]},{title:"fab fa-telegram-plane",searchTerms:[]},{title:"fas fa-temperature-high",searchTerms:["mercury","thermometer","warm"]},{title:"fas fa-temperature-low",searchTerms:["cool","mercury","thermometer"]},{title:"fab fa-tencent-weibo",searchTerms:[]},{title:"fas fa-terminal",searchTerms:["code","command","console","prompt"]},{title:"fas fa-text-height",searchTerms:[]},{title:"fas fa-text-width",searchTerms:[]},{title:"fas fa-th",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-large",searchTerms:["blocks","boxes","grid","squares"]},{title:"fas fa-th-list",searchTerms:["checklist","completed","done","finished","ol","todo","ul"]},{title:"fab fa-the-red-yeti",searchTerms:[]},{title:"fas fa-theater-masks",searchTerms:[]},{title:"fab fa-themeco",searchTerms:[]},{title:"fab fa-themeisle",searchTerms:[]},{title:"fas fa-thermometer",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-empty",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-full",searchTerms:["fever","mercury","status","temperature"]},{title:"fas fa-thermometer-half",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-quarter",searchTerms:["mercury","status","temperature"]},{title:"fas fa-thermometer-three-quarters",searchTerms:["mercury","status","temperature"]},{title:"fab fa-think-peaks",searchTerms:[]},{title:"fas fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"far fa-thumbs-down",searchTerms:["disagree","disapprove","dislike","hand","thumbs-o-down"]},{title:"fas fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"far fa-thumbs-up",searchTerms:["agree","approve","favorite","hand","like","ok","okay","success","thumbs-o-up","yes","you got it dude"]},{title:"fas fa-thumbtack",searchTerms:["coordinates","location","marker","pin","thumb-tack"]},{title:"fas fa-ticket-alt",searchTerms:["ticket"]},{title:"fas fa-times",searchTerms:["close","cross","error","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"far fa-times-circle",searchTerms:["close","cross","exit","incorrect","notice","notification","notify","problem","wrong","x"]},{title:"fas fa-tint",searchTerms:["drop","droplet","raindrop","waterdrop"]},{title:"fas fa-tint-slash",searchTerms:[]},{title:"fas fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"far fa-tired",searchTerms:["emoticon","face","grumpy"]},{title:"fas fa-toggle-off",searchTerms:["switch"]},{title:"fas fa-toggle-on",searchTerms:["switch"]},{title:"fas fa-toilet-paper",searchTerms:["bathroom","halloween","holiday","lavatory","prank","restroom","roll"]},{title:"fas fa-toolbox",searchTerms:["admin","container","fix","repair","settings","tools"]},{title:"fas fa-tooth",searchTerms:["bicuspid","dental","molar","mouth","teeth"]},{title:"fas fa-torah",searchTerms:["book","jewish","judaism"]},{title:"fas fa-torii-gate",searchTerms:["building","shintoism"]},{title:"fas fa-tractor",searchTerms:[]},{title:"fab fa-trade-federation",searchTerms:[]},{title:"fas fa-trademark",searchTerms:[]},{title:"fas fa-traffic-light",searchTerms:[]},{title:"fas fa-train",searchTerms:["bullet","locomotive","railway"]},{title:"fas fa-transgender",searchTerms:["intersex"]},{title:"fas fa-transgender-alt",searchTerms:[]},{title:"fas fa-trash",searchTerms:["delete","garbage","hide","remove"]},{title:"fas fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"far fa-trash-alt",searchTerms:["delete","garbage","hide","remove","trash","trash-o"]},{title:"fas fa-tree",searchTerms:["bark","fall","flora","forest","nature","plant","seasonal"]},{title:"fab fa-trello",searchTerms:[]},{title:"fab fa-tripadvisor",searchTerms:[]},{title:"fas fa-trophy",searchTerms:["achievement","award","cup","game","winner"]},{title:"fas fa-truck",searchTerms:["delivery","shipping"]},{title:"fas fa-truck-loading",searchTerms:[]},{title:"fas fa-truck-monster",searchTerms:[]},{title:"fas fa-truck-moving",searchTerms:[]},{title:"fas fa-truck-pickup",searchTerms:[]},{title:"fas fa-tshirt",searchTerms:["cloth","clothing"]},{title:"fas fa-tty",searchTerms:[]},{title:"fab fa-tumblr",searchTerms:[]},{title:"fab fa-tumblr-square",searchTerms:[]},{title:"fas fa-tv",searchTerms:["computer","display","monitor","television"]},{title:"fab fa-twitch",searchTerms:[]},{title:"fab fa-twitter",searchTerms:["social network","tweet"]},{title:"fab fa-twitter-square",searchTerms:["social network","tweet"]},{title:"fab fa-typo3",searchTerms:[]},{title:"fab fa-uber",searchTerms:[]},{title:"fab fa-uikit",searchTerms:[]},{title:"fas fa-umbrella",searchTerms:["protection","rain"]},{title:"fas fa-umbrella-beach",searchTerms:["protection","recreation","sun"]},{title:"fas fa-underline",searchTerms:[]},{title:"fas fa-undo",searchTerms:["back","control z","exchange","oops","return","rotate","swap"]},{title:"fas fa-undo-alt",searchTerms:["back","control z","exchange","oops","return","swap"]},{title:"fab fa-uniregistry",searchTerms:[]},{title:"fas fa-universal-access",searchTerms:[]},{title:"fas fa-university",searchTerms:["bank","institution"]},{title:"fas fa-unlink",searchTerms:["chain","chain-broken","remove"]},{title:"fas fa-unlock",searchTerms:["admin","lock","password","protect"]},{title:"fas fa-unlock-alt",searchTerms:["admin","lock","password","protect"]},{title:"fab fa-untappd",searchTerms:[]},{title:"fas fa-upload",searchTerms:["export","publish"]},{title:"fab fa-usb",searchTerms:[]},{title:"fas fa-user",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"far fa-user",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-alt",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-alt-slash",searchTerms:[]},{title:"fas fa-user-astronaut",searchTerms:["avatar","clothing","cosmonaut","space","suit"]},{title:"fas fa-user-check",searchTerms:[]},{title:"fas fa-user-circle",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"far fa-user-circle",searchTerms:["account","avatar","head","human","man","person","profile"]},{title:"fas fa-user-clock",searchTerms:[]},{title:"fas fa-user-cog",searchTerms:[]},{title:"fas fa-user-edit",searchTerms:[]},{title:"fas fa-user-friends",searchTerms:[]},{title:"fas fa-user-graduate",searchTerms:["cap","clothing","commencement","gown","graduation","student"]},{title:"fas fa-user-injured",searchTerms:["cast","ouch","sling"]},{title:"fas fa-user-lock",searchTerms:[]},{title:"fas fa-user-md",searchTerms:["doctor","job","medical","nurse","occupation","profile"]},{title:"fas fa-user-minus",searchTerms:["delete","negative","remove"]},{title:"fas fa-user-ninja",searchTerms:["assassin","avatar","dangerous","deadly","sneaky"]},{title:"fas fa-user-plus",searchTerms:["positive","sign up","signup"]},{title:"fas fa-user-secret",searchTerms:["clothing","coat","hat","incognito","privacy","spy","whisper"]},{title:"fas fa-user-shield",searchTerms:[]},{title:"fas fa-user-slash",searchTerms:["ban","remove"]},{title:"fas fa-user-tag",searchTerms:[]},{title:"fas fa-user-tie",searchTerms:["avatar","business","clothing","formal"]},{title:"fas fa-user-times",searchTerms:["archive","delete","remove","x"]},{title:"fas fa-users",searchTerms:["people","persons","profiles"]},{title:"fas fa-users-cog",searchTerms:[]},{title:"fab fa-ussunnah",searchTerms:[]},{title:"fas fa-utensil-spoon",searchTerms:["spoon"]},{title:"fas fa-utensils",searchTerms:["cutlery","dinner","eat","food","knife","restaurant","spoon"]},{title:"fab fa-vaadin",searchTerms:[]},{title:"fas fa-vector-square",searchTerms:["anchors","lines","object"]},{title:"fas fa-venus",searchTerms:["female"]},{title:"fas fa-venus-double",searchTerms:[]},{title:"fas fa-venus-mars",searchTerms:[]},{title:"fab fa-viacoin",searchTerms:[]},{title:"fab fa-viadeo",searchTerms:[]},{title:"fab fa-viadeo-square",searchTerms:[]},{title:"fas fa-vial",searchTerms:["test tube"]},{title:"fas fa-vials",searchTerms:["lab results","test tubes"]},{title:"fab fa-viber",searchTerms:[]},{title:"fas fa-video",searchTerms:["camera","film","movie","record","video-camera"]},{title:"fas fa-video-slash",searchTerms:[]},{title:"fas fa-vihara",searchTerms:["buddhism","buddhist","building","monastery"]},{title:"fab fa-vimeo",searchTerms:[]},{title:"fab fa-vimeo-square",searchTerms:[]},{title:"fab fa-vimeo-v",searchTerms:["vimeo"]},{title:"fab fa-vine",searchTerms:[]},{title:"fab fa-vk",searchTerms:[]},{title:"fab fa-vnv",searchTerms:[]},{title:"fas fa-volleyball-ball",searchTerms:[]},{title:"fas fa-volume-down",searchTerms:["audio","lower","music","quieter","sound","speaker"]},{title:"fas fa-volume-mute",searchTerms:[]},{title:"fas fa-volume-off",searchTerms:["audio","music","mute","sound"]},{title:"fas fa-volume-up",searchTerms:["audio","higher","louder","music","sound","speaker"]},{title:"fas fa-vote-yea",searchTerms:["accept","cast","election","politics","positive","yes"]},{title:"fas fa-vr-cardboard",searchTerms:["google","reality","virtual"]},{title:"fab fa-vuejs",searchTerms:[]},{title:"fas fa-walking",searchTerms:[]},{title:"fas fa-wallet",searchTerms:[]},{title:"fas fa-warehouse",searchTerms:[]},{title:"fas fa-water",searchTerms:[]},{title:"fab fa-weebly",searchTerms:[]},{title:"fab fa-weibo",searchTerms:[]},{title:"fas fa-weight",searchTerms:["measurement","scale","weight"]},{title:"fas fa-weight-hanging",searchTerms:["anvil","heavy","measurement"]},{title:"fab fa-weixin",searchTerms:[]},{title:"fab fa-whatsapp",searchTerms:[]},{title:"fab fa-whatsapp-square",searchTerms:[]},{title:"fas fa-wheelchair",searchTerms:["handicap","person"]},{title:"fab fa-whmcs",searchTerms:[]},{title:"fas fa-wifi",searchTerms:[]},{title:"fab fa-wikipedia-w",searchTerms:[]},{title:"fas fa-wind",searchTerms:["air","blow","breeze","fall","seasonal"]},{title:"fas fa-window-close",searchTerms:[]},{title:"far fa-window-close",searchTerms:[]},{title:"fas fa-window-maximize",searchTerms:[]},{title:"far fa-window-maximize",searchTerms:[]},{title:"fas fa-window-minimize",searchTerms:[]},{title:"far fa-window-minimize",searchTerms:[]},{title:"fas fa-window-restore",searchTerms:[]},{title:"far fa-window-restore",searchTerms:[]},{title:"fab fa-windows",searchTerms:["microsoft"]},{title:"fas fa-wine-bottle",searchTerms:["alcohol","beverage","drink","glass","grapes"]},{title:"fas fa-wine-glass",searchTerms:["alcohol","beverage","drink","grapes"]},{title:"fas fa-wine-glass-alt",searchTerms:["alcohol","beverage","drink","grapes"]},{title:"fab fa-wix",searchTerms:[]},{title:"fab fa-wizards-of-the-coast",searchTerms:["Dungeons & Dragons","d&d","dnd","fantasy","game","gaming","tabletop"]},{title:"fab fa-wolf-pack-battalion",searchTerms:[]},{title:"fas fa-won-sign",searchTerms:["krw"]},{title:"fab fa-wordpress",searchTerms:[]},{title:"fab fa-wordpress-simple",searchTerms:[]},{title:"fab fa-wpbeginner",searchTerms:[]},{title:"fab fa-wpexplorer",searchTerms:[]},{title:"fab fa-wpforms",searchTerms:[]},{title:"fab fa-wpressr",searchTerms:["rendact"]},{title:"fas fa-wrench",searchTerms:["fix","settings","spanner","tool","update"]},{title:"fas fa-x-ray",searchTerms:["radiological images","radiology"]},{title:"fab fa-xbox",searchTerms:[]},{title:"fab fa-xing",searchTerms:[]},{title:"fab fa-xing-square",searchTerms:[]},{title:"fab fa-y-combinator",searchTerms:[]},{title:"fab fa-yahoo",searchTerms:[]},{title:"fab fa-yandex",searchTerms:[]},{title:"fab fa-yandex-international",searchTerms:[]},{title:"fab fa-yelp",searchTerms:[]},{title:"fas fa-yen-sign",searchTerms:["jpy","money"]},{title:"fas fa-yin-yang",searchTerms:["daoism","opposites","taoism"]},{title:"fab fa-yoast",searchTerms:[]},{title:"fab fa-youtube",searchTerms:["film","video","youtube-play","youtube-square"]},{title:"fab fa-youtube-square",searchTerms:[]},{title:"fab fa-zhihu",searchTerms:[]}]})});
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:d<0?"left":c>0?"right":"center",vertical:f<0?"top":e>0?"bottom":"middle"};n<l&&h(c+d)<n&&(i.horizontal="center"),p<m&&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&&k<=0?(d=b.left+j+c.collisionWidth-h-f,b.left+=j-d):k>0&&j<=0?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&&k<=0?(d=b.top+j+c.collisionHeight-h-f,b.top+=j-d):k>0&&j<=0?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];l<0?(d=b.left+n+o+p+c.collisionWidth-i-g,(d<0||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];l<0?(e=b.top+o+p+q+c.collisionHeight-i-g,b.top+o+p+q>l&&(e<0||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&&e<11,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 a.inArray(b,c)!==-1},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),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"),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)if("string"==typeof this.options.icons[d]){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)},_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)},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c),!(!b.inArray(c,this.options.icons)&&!d)&&c},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(a){f=!1}f!==!1&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){return!this.popover.hasClass("in")&&(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))},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)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},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-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","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-area-chart","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-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-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-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","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-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","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-firefox","fa-first-order","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-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","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-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","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-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-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-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","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-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"];
2
+ });
 
 
 
 
 
 
 
 
 
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/index.html CHANGED
@@ -1,312 +1,272 @@
1
  <!DOCTYPE html>
2
  <html lang="en">
3
- <head>
4
- <meta charset="utf-8">
5
- <title>Font Awesome Icon Picker plugin for Bootstrap</title>
6
- <script async src="https://www.googletagmanager.com/gtag/js?id=UA-85082661-5"></script>
7
- <script>
8
- window.dataLayer = window.dataLayer || [];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
- function gtag() {
11
- dataLayer.push(arguments);
12
- }
13
-
14
- gtag('js', new Date());
15
- gtag('config', 'UA-85082661-5');
16
- </script>
17
- <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
18
- <!-- <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"> -->
19
- <link href="https://use.fontawesome.com/releases/v5.5.0/css/all.css" rel="stylesheet">
20
- <link href="dist/css/fontawesome-iconpicker.min.css" rel="stylesheet">
21
- <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
22
- <!--[if lt IE 9]>
23
- <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
24
- <![endif]-->
25
- <style>
26
- footer {
27
- font-style: italic;
28
- background: #f7f7f7;
29
- padding: 60px;
30
- text-align: center;
31
- margin-top: 60px;
32
- }
33
-
34
- pre {
35
- text-align: left;
36
- }
37
-
38
- .form-control, .form-group {
39
- position: relative;
40
- }
41
-
42
- p.lead {
43
- max-width: 800px;
44
- margin: 0 auto 20px auto;
45
- }
46
-
47
- div.lead {
48
- margin: 30px 0;
49
- }
50
-
51
- a.action-placement {
52
- margin: 0 4px 4px 4px;
53
- display: inline-block;
54
- /*border-bottom: 1px dotted #428BCA;*/
55
- text-decoration: none;
56
- }
57
-
58
- a.action-placement.active {
59
- color: #5CB85C;
60
- }
61
-
62
- .form-group {
63
- text-align: left;
64
- margin-bottom: 30px;
65
- }
66
-
67
- .form-group label {
68
- display: block;
69
- margin-bottom: 15px;
70
- }
71
-
72
- .lead iframe {
73
- display: inline-block;
74
- vertical-align: middle;
75
- }
76
- </style>
77
- </head>
78
-
79
- <body>
80
- <div class="container" style="text-align: center">
81
- <h1 class="page-header">Font Awesome Icon Picker</h1>
82
-
83
- <p class="lead">
84
- Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
85
- with a powerful base API, based on
86
- <a href="https://itsjavi.com/bootstrap-popover-picker" target="_blank">Bootstrap Popover Picker</a>
87
- </p>
88
- <div class="lead">
89
-
90
- <a class="btn btn-warning" href="https://github.com/itsjavi/fontawesome-iconpicker">
91
- <i class="fab fa-github"></i> Source Code
92
- </a>
93
-
94
- <a class="btn btn-primary" href="https://github.com/itsjavi/fontawesome-iconpicker/releases">
95
- <i class="fas fa-download"></i> Download
96
- </a>
97
 
98
- <a class="btn btn-primary" target="_blank"
99
- href="https://chrome.google.com/webstore/detail/font-awesome-icon-picker/mcepmpclbgahgbpcgbmnpplcfmlaiopm">
100
- <i class="fas fa-puzzle-piece"></i> Chrome extension
101
- </a>
102
 
103
- <a class="btn btn-success" href="https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors--backers">
104
- <i class="far fa-heart"></i> Donate
105
- </a>
106
 
107
- <a class="btn btn-default"
108
- href="https://github.com/itsjavi/itsjavi.github.io/blob/master/BACKERS.md#sponsors">
109
- <i class="fas fa-star"></i> Supporters
110
- </a>
111
- </div>
112
- <p class="lead">
113
- You can use Font Awesome or another font icon set of your choice (icon options and items are customizable).
114
- </p>
115
- <div class="panel panel-default">
116
- <div class="panel-heading">
117
- <h2 class="panel-title">Demos</h2>
118
- </div>
119
- <div class="panel-body">
120
  <p class="lead">
121
- <i class="fa fa-graduation-cap fa-3x picker-target"></i>
122
  </p>
123
- <div class="row">
124
- <div class="col-md-5">
125
- <div class="form-group">
126
- <label>Default</label>
127
- <input class="form-control icp icp-auto" value="fas fa-anchor" type="text"/>
128
- </div>
129
- <div class="form-group">
130
- <label>As a component</label>
 
 
 
 
 
 
 
 
131
 
132
- <div class="input-group">
133
- <input data-placement="bottomRight" class="form-control icp icp-auto" value="fas fa-archive"
134
- type="text"/>
135
- <span class="input-group-addon"></span>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
136
  </div>
137
- </div>
138
- <div class="form-group">
139
- <label>With the input as a search box</label>
140
- <input class="form-control icp icp-auto" data-input-search="true" value="fas fa-plane"
141
- type="text"/>
142
- </div>
143
- <div class="form-group">
144
- <label>Inside dropdowns</label>
145
- <div class="btn-group">
146
- <button data-selected="graduation-cap" type="button"
147
- class="icp icp-dd btn btn-default dropdown-toggle iconpicker-component"
148
- data-toggle="dropdown">
149
- Dropdown <i class="fa fa-fw"></i>
150
- <span class="caret"></span>
151
- </button>
152
- <div class="dropdown-menu"></div>
153
- </div>
154
- <div class="btn-group">
155
- <button type="button" class="btn btn-primary iconpicker-component"><i
156
- class="fa fa-fw fa-heart"></i></button>
157
- <button type="button" class="icp icp-dd btn btn-primary dropdown-toggle"
158
- data-selected="fa-car" data-toggle="dropdown">
159
- <span class="caret"></span>
160
- <span class="sr-only">Toggle Dropdown</span>
161
- </button>
162
- <div class="dropdown-menu"></div>
163
- </div>
164
- <p class="help-block"><br>
165
- Note: In dropdowns the placement is controlled by the Bootstrap dropdown plugin
166
- </p>
167
- </div>
168
- <div class="form-group">
169
- <label data-title="Inline picker" data-placement="inline" class="icp icp-auto"
170
- data-selected="fa-align-justify">
171
- Inline mode, without input:
172
- </label>
173
- </div>
174
- </div>
175
- <div class="col-md-7">
176
- <div class="form-group">
177
- <label>With custom options, e.g. a subset of icons</label>
178
- <input class="form-control icp icp-opts" value="fab fa-github" type="text"/><br>
179
- <pre class="well">
180
  {
181
  //...
182
  title: 'With custom options',
183
- icons: [
184
- {
185
- title: "fab fa-github",
186
- searchTerms: ['repository', 'code']
187
- },
188
- {
189
- title: "fas fa-heart",
190
- searchTerms: ['love']
191
- },
192
- {
193
- title: "fab fa-html5",
194
- searchTerms: ['web']
195
- },
196
- {
197
- title: "fab fa-css3",
198
- searchTerms: ['style']
199
- }
200
- ],
201
  selectedCustomClass: 'label label-success',
202
  mustAccept:true,
203
  placement:'bottomRight',
204
  showFooter:true,
205
  //... (see the source code of this page)
206
  }</pre>
207
- <p class="help-block"><br>
208
- Tip: You can use any font library of your choice and add the icons this way,
209
- mix them up with Font Awesome icons, etc.
210
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
211
  </div>
212
  </div>
 
 
 
 
213
  </div>
214
  </div>
215
- <div class="panel-footer">
216
- <button class="btn btn-danger action-destroy">Destroy instances</button>
217
- <button class="btn btn-default action-create">Create instances</button>
218
- </div>
219
- </div>
220
- </div>
221
- <footer>
222
- created by <a href="https://itsjavi.com" target="_blank">Javi Aguilar</a>
223
- </footer>
224
- <script src="//code.jquery.com/jquery-2.2.1.min.js"></script>
225
- <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
226
- <script src="dist/js/fontawesome-iconpicker.js"></script>
227
- <script>
228
- $(function () {
229
- $('.action-destroy').on('click', function () {
230
- $.iconpicker.batch('.icp.iconpicker-element', 'destroy');
231
- });
232
- // Live binding of buttons
233
- $(document).on('click', '.action-placement', function (e) {
234
- $('.action-placement').removeClass('active');
235
- $(this).addClass('active');
236
- $('.icp-opts').data('iconpicker').updatePlacement($(this).text());
237
- e.preventDefault();
238
- return false;
239
- });
240
- $('.action-create').on('click', function () {
241
- $('.icp-auto').iconpicker();
242
-
243
- $('.icp-dd').iconpicker({
244
- //title: 'Dropdown with picker',
245
- //component:'.btn > i'
246
- });
247
- $('.icp-opts').iconpicker({
248
- title: 'With custom options',
249
- icons: [
250
- {
251
- title: "fab fa-github",
252
- searchTerms: ['repository', 'code']
253
- },
254
- {
255
- title: "fas fa-heart",
256
- searchTerms: ['love']
257
- },
258
- {
259
- title: "fab fa-html5",
260
- searchTerms: ['web']
261
- },
262
- {
263
- title: "fab fa-css3",
264
- searchTerms: ['style']
265
- }
266
- ],
267
- selectedCustomClass: 'label label-success',
268
- mustAccept: true,
269
- placement: 'bottomRight',
270
- showFooter: true,
271
- // note that this is ignored cause we have an accept button:
272
- hideOnSelect: true,
273
- // fontAwesome5: true,
274
- templates: {
275
- footer: '<div class="popover-footer">' +
276
- '<div style="text-align:left; font-size:12px;">Placements: \n\
277
- <a href="#" class=" action-placement">inline</a>\n\
278
- <a href="#" class=" action-placement">topLeftCorner</a>\n\
279
- <a href="#" class=" action-placement">topLeft</a>\n\
280
- <a href="#" class=" action-placement">top</a>\n\
281
- <a href="#" class=" action-placement">topRight</a>\n\
282
- <a href="#" class=" action-placement">topRightCorner</a>\n\
283
- <a href="#" class=" action-placement">rightTop</a>\n\
284
- <a href="#" class=" action-placement">right</a>\n\
285
- <a href="#" class=" action-placement">rightBottom</a>\n\
286
- <a href="#" class=" action-placement">bottomRightCorner</a>\n\
287
- <a href="#" class=" active action-placement">bottomRight</a>\n\
288
- <a href="#" class=" action-placement">bottom</a>\n\
289
- <a href="#" class=" action-placement">bottomLeft</a>\n\
290
- <a href="#" class=" action-placement">bottomLeftCorner</a>\n\
291
- <a href="#" class=" action-placement">leftBottom</a>\n\
292
- <a href="#" class=" action-placement">left</a>\n\
293
- <a href="#" class=" action-placement">leftTop</a>\n\
294
- </div><hr></div>'
295
- }
296
- }).data('iconpicker').show();
297
- }).trigger('click');
298
 
299
 
300
- // Events sample:
301
- // This event is only triggered when the actual input value is changed
302
- // by user interaction
303
- $('.icp').on('iconpickerSelected', function (e) {
304
- $('.lead .picker-target').get(0).className = 'picker-target fa-3x ' +
305
- e.iconpickerInstance.options.iconBaseClass + ' ' +
306
- e.iconpickerInstance.options.fullClassFormatter(e.iconpickerValue);
307
- });
308
- });
309
- </script>
310
- </body>
311
 
312
  </html>
1
  <!DOCTYPE html>
2
  <html lang="en">
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Font Awesome Icon Picker plugin for Bootstrap</title>
6
+ <link href="//netdna.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet">
7
+ <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
8
+ <link href="dist/css/fontawesome-iconpicker.min.css" rel="stylesheet">
9
+ <!-- Le HTML5 shim, for IE6-8 support of HTML elements -->
10
+ <!--[if lt IE 9]>
11
+ <script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
12
+ <![endif]-->
13
+ <style>
14
+ footer{
15
+ font-style: italic;
16
+ background:#f7f7f7;
17
+ padding:60px;
18
+ text-align: center;
19
+ margin-top: 60px;
20
+ }
21
+ pre{
22
+ text-align: left;
23
+ }
24
+ .form-control, .form-group{
25
+ position: relative;
26
+ }
27
+ p.lead{
28
+ max-width: 600px;
29
+ margin:0 auto 20px auto;
30
+ }
31
+ div.lead{
32
+ margin:30px 0;
33
+ }
34
+ a.action-placement{
35
+ margin:0 4px 4px 4px;
36
+ display:inline-block;
37
+ /*border-bottom: 1px dotted #428BCA;*/
38
+ text-decoration: none;
39
+ }
40
+ a.action-placement.active{
41
+ color:#5CB85C;
42
+ }
43
+ .form-group{
44
+ text-align: left;
45
+ margin-bottom: 30px;
46
+ }
47
+ .form-group label{
48
+ display:block;
49
+ margin-bottom: 15px;
50
+ }
51
+ .lead iframe{
52
+ display:inline-block;
53
+ vertical-align: middle;
54
+ }
55
+ </style>
56
+ </head>
57
 
58
+ <body>
59
+ <div class="container" style="text-align: center">
60
+ <h1 class="page-header">Font Awesome Icon Picker</h1>
61
+
62
+ <p class="lead">
63
+ Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap,
64
+ with a powerful base API,<br> based on
65
+ <a href="https://itsjavi.com/bootstrap-popover-picker" target="_blank">Bootstrap Popover Picker</a>
66
+ </p>
67
+ <div class="lead">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
68
 
69
+ <a class="btn btn-warning" href="https://github.com/itsjavi/fontawesome-iconpicker">
70
+ <i class="fa-github-alt fa"></i> Source Code
71
+ </a>
 
72
 
73
+ <a class="btn btn-primary" href="https://github.com/itsjavi/fontawesome-iconpicker/releases">
74
+ <i class="fa-download fa"></i> Download
75
+ </a>
76
 
77
+ <a class="btn btn-primary" target="_blank" href="https://chrome.google.com/webstore/detail/font-awesome-icon-picker/mcepmpclbgahgbpcgbmnpplcfmlaiopm">
78
+ <i class="fa-puzzle-piece fa"></i> Google Chrome extension
79
+ </a>
80
+ </div>
 
 
 
 
 
 
 
 
 
81
  <p class="lead">
82
+ You can use Font Awesome or another font icon set of your choice (icon options and items are customizable).
83
  </p>
84
+ <div class="panel panel-default">
85
+ <div class="panel-heading">
86
+ <h2 class="panel-title">Demos</h2>
87
+ </div>
88
+ <div class="panel-body">
89
+ <p class="lead">
90
+ <i class="fa fa-graduation-cap fa-3x picker-target"></i>
91
+ </p>
92
+ <div class="row">
93
+ <div class="col-md-5">
94
+ <div class="form-group">
95
+ <label>Default</label>
96
+ <input class="form-control icp icp-auto" value="fa-anchor" type="text" />
97
+ </div>
98
+ <div class="form-group">
99
+ <label>As a component</label>
100
 
101
+ <div class="input-group">
102
+ <input data-placement="bottomRight" class="form-control icp icp-auto" value="fa-archive" type="text" />
103
+ <span class="input-group-addon"></span>
104
+ </div>
105
+ </div>
106
+ <div class="form-group">
107
+ <label>With the input as a search box</label>
108
+ <input class="form-control icp icp-auto" data-input-search="true" value="fa-plane" type="text" />
109
+ </div>
110
+ <div class="form-group">
111
+ <label>Inside dropdowns</label>
112
+ <div class="btn-group">
113
+ <button data-selected="graduation-cap" type="button" class="icp icp-dd btn btn-default dropdown-toggle iconpicker-component" data-toggle="dropdown">
114
+ Dropdown <i class="fa fa-fw"></i>
115
+ <span class="caret"></span>
116
+ </button>
117
+ <div class="dropdown-menu"></div>
118
+ </div>
119
+ <div class="btn-group">
120
+ <button type="button" class="btn btn-primary iconpicker-component"><i class="fa fa-fw fa-heart"></i></button>
121
+ <button type="button" class="icp icp-dd btn btn-primary dropdown-toggle" data-selected="fa-car" data-toggle="dropdown">
122
+ <span class="caret"></span>
123
+ <span class="sr-only">Toggle Dropdown</span>
124
+ </button>
125
+ <div class="dropdown-menu"></div>
126
+ </div>
127
+ <p class="help-block"><br>
128
+ Note: In dropdowns the placement is controlled by the Bootstrap dropdown plugin
129
+ </p>
130
+ </div>
131
+ <div class="form-group">
132
+ <label data-title="Inline picker" data-placement="inline" class="icp icp-auto" data-selected="fa-align-justify">
133
+ Inline mode, without input:
134
+ </label>
135
+ </div>
136
  </div>
137
+ <div class="col-md-7">
138
+ <div class="form-group">
139
+ <label>With custom options</label>
140
+ <input class="form-control icp icp-opts" value="fa-github" type="text" /><br>
141
+ <pre class="well">
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
  {
143
  //...
144
  title: 'With custom options',
145
+ icons: ['fa-github', 'fa-heart', 'fa-html5', 'fa-css3'],
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
146
  selectedCustomClass: 'label label-success',
147
  mustAccept:true,
148
  placement:'bottomRight',
149
  showFooter:true,
150
  //... (see the source code of this page)
151
  }</pre>
152
+ </div>
153
+ <div class="form-group">
154
+ <label>Mixing a custom font with the default Font Awesome icons</label>
155
+ <input class="form-control icp icp-glyphs" value="glyphicon-star" type="text" /><br>
156
+ <pre class="well">
157
+ {
158
+ //...
159
+ title: 'Prepending glypghicons',
160
+ icons: $.merge([
161
+ 'glyphicon-home',
162
+ 'glyphicon-repeat',
163
+ 'glyphicon-search',
164
+ 'glyphicon-arrow-left',
165
+ 'glyphicon-arrow-right',
166
+ 'glyphicon-star'],
167
+ $.iconpicker.defaultOptions.icons),
168
+ fullClassFormatter: function(val){
169
+ if(val.match(/^fa-/)){
170
+ return 'fa '+val;
171
+ }else{
172
+ return 'glyphicon '+val;
173
+ }
174
+ }
175
+ //...
176
+ }</pre>
177
+ </div>
178
+ </div>
179
  </div>
180
  </div>
181
+ <div class="panel-footer">
182
+ <button class="btn btn-danger action-destroy">Destroy instances</button>
183
+ <button class="btn btn-default action-create">Create instances</button>
184
+ </div>
185
  </div>
186
  </div>
187
+ <footer>
188
+ created by <a href="https://itsjavi.com" target="_blank">Javi Aguilar</a>
189
+ </footer>
190
+ <script src="//code.jquery.com/jquery-2.2.1.min.js"></script>
191
+ <script src="//netdna.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
192
+ <script src="dist/js/fontawesome-iconpicker.js"></script>
193
+ <script>
194
+ $(function() {
195
+ $('.action-destroy').on('click', function() {
196
+ $.iconpicker.batch('.icp.iconpicker-element', 'destroy');
197
+ });
198
+ // Live binding of buttons
199
+ $(document).on('click', '.action-placement', function(e) {
200
+ $('.action-placement').removeClass('active');
201
+ $(this).addClass('active');
202
+ $('.icp-opts').data('iconpicker').updatePlacement($(this).text());
203
+ e.preventDefault();
204
+ return false;
205
+ });
206
+ $('.action-create').on('click', function() {
207
+ $('.icp-auto').iconpicker();
208
+
209
+ $('.icp-dd').iconpicker({
210
+ //title: 'Dropdown with picker',
211
+ //component:'.btn > i'
212
+ });
213
+
214
+ $('.icp-glyphs').iconpicker({
215
+ title: 'Prepending glypghicons',
216
+ icons: $.merge(['glyphicon-home', 'glyphicon-repeat', 'glyphicon-search',
217
+ 'glyphicon-arrow-left', 'glyphicon-arrow-right', 'glyphicon-star'], $.iconpicker.defaultOptions.icons),
218
+ fullClassFormatter: function(val){
219
+ if(val.match(/^fa-/)){
220
+ return 'fa '+val;
221
+ }else{
222
+ return 'glyphicon '+val;
223
+ }
224
+ }
225
+ });
226
+ $('.icp-opts').iconpicker({
227
+ title: 'With custom options',
228
+ icons: ['fa-github', 'fa-heart', 'fa-html5', 'fa-css3'],
229
+ selectedCustomClass: 'label label-success',
230
+ mustAccept: true,
231
+ placement: 'bottomRight',
232
+ showFooter: true,
233
+ // note that this is ignored cause we have an accept button:
234
+ hideOnSelect: true,
235
+ templates: {
236
+ footer: '<div class="popover-footer">' +
237
+ '<div style="text-align:left; font-size:12px;">Placements: \n\
238
+ <a href="#" class=" action-placement">inline</a>\n\
239
+ <a href="#" class=" action-placement">topLeftCorner</a>\n\
240
+ <a href="#" class=" action-placement">topLeft</a>\n\
241
+ <a href="#" class=" action-placement">top</a>\n\
242
+ <a href="#" class=" action-placement">topRight</a>\n\
243
+ <a href="#" class=" action-placement">topRightCorner</a>\n\
244
+ <a href="#" class=" action-placement">rightTop</a>\n\
245
+ <a href="#" class=" action-placement">right</a>\n\
246
+ <a href="#" class=" action-placement">rightBottom</a>\n\
247
+ <a href="#" class=" action-placement">bottomRightCorner</a>\n\
248
+ <a href="#" class=" active action-placement">bottomRight</a>\n\
249
+ <a href="#" class=" action-placement">bottom</a>\n\
250
+ <a href="#" class=" action-placement">bottomLeft</a>\n\
251
+ <a href="#" class=" action-placement">bottomLeftCorner</a>\n\
252
+ <a href="#" class=" action-placement">leftBottom</a>\n\
253
+ <a href="#" class=" action-placement">left</a>\n\
254
+ <a href="#" class=" action-placement">leftTop</a>\n\
255
+ </div><hr></div>'}
256
+ }).data('iconpicker').show();
257
+ }).trigger('click');
 
 
 
 
 
 
 
 
 
 
 
 
258
 
259
 
260
+ // Events sample:
261
+ // This event is only triggered when the actual input value is changed
262
+ // by user interaction
263
+ $('.icp').on('iconpickerSelected', function(e) {
264
+ $('.lead .picker-target').get(0).className = 'picker-target fa-3x ' +
265
+ e.iconpickerInstance.options.iconBaseClass + ' ' +
266
+ e.iconpickerInstance.options.fullClassFormatter(e.iconpickerValue);
267
+ });
268
+ });
269
+ </script>
270
+ </body>
271
 
272
  </html>
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/package.json CHANGED
@@ -1,51 +1,16 @@
1
  {
2
- "_from": "fontawesome-iconpicker@latest",
3
- "_id": "fontawesome-iconpicker@3.2.0",
4
- "_inBundle": false,
5
- "_integrity": "sha512-faI7fhGmO61u1WnYpFoHZ1OiL1xQo8KfX3ranq50KkDz5Jh/klaVjf8vhedQIJquVV28GJ61e/MChRTpQ6POTw==",
6
- "_location": "/fontawesome-iconpicker",
7
- "_phantomChildren": {},
8
- "_requested": {
9
- "type": "tag",
10
- "registry": true,
11
- "raw": "fontawesome-iconpicker@latest",
12
- "name": "fontawesome-iconpicker",
13
- "escapedName": "fontawesome-iconpicker",
14
- "rawSpec": "latest",
15
- "saveSpec": null,
16
- "fetchSpec": "latest"
17
- },
18
- "_requiredBy": [
19
- "#DEV:/",
20
- "#USER"
21
- ],
22
- "_resolved": "https://registry.npmjs.org/fontawesome-iconpicker/-/fontawesome-iconpicker-3.2.0.tgz",
23
- "_shasum": "48b535ec1cc077f00b8d63b659eb03da7d72d972",
24
- "_spec": "fontawesome-iconpicker@latest",
25
- "_where": "/Users/mickey/vagrant-local/www/wordpress-one/public_html/wp-content/plugins/better-font-awesome/vendor/mickey-kay/better-font-awesome-library",
26
- "author": {
27
- "name": "Javi Aguilar"
28
  },
 
29
  "bugs": {
30
- "url": "https://github.com/farbelous/fontawesome-iconpicker/issues"
31
  },
32
- "bundleDependencies": false,
33
- "deprecated": false,
34
- "description": "Font Awesome Icon Picker plugin for Twitter Bootstrap",
35
- "devDependencies": {
36
- "grunt": "^1.0.3",
37
- "grunt-contrib-clean": "^0.5",
38
- "grunt-contrib-concat": "^0.4",
39
- "grunt-contrib-jshint": "^2.0.0",
40
- "grunt-contrib-less": "^2.0.0",
41
- "grunt-contrib-uglify": "^4.0.0",
42
- "grunt-contrib-watch": "^1.1.0",
43
- "grunt-http-download": "^0.1",
44
- "grunt-jsbeautifier": "^0.2",
45
- "grunt-string-replace": "^1.3",
46
- "grunt-yaml": "^0.4"
47
- },
48
- "homepage": "https://farbelous.github.io/fontawesome-iconpicker/",
49
  "keywords": [
50
  "bootstrap",
51
  "fontawesome",
@@ -53,12 +18,21 @@
53
  "popover",
54
  "picker"
55
  ],
56
- "license": "MIT",
57
- "main": "dist/js/fontawesome-iconpicker.js",
58
- "name": "fontawesome-iconpicker",
59
- "repository": {
60
- "type": "git",
61
- "url": "git+ssh://git@github.com/farbelous/fontawesome-iconpicker.git"
62
- },
63
- "version": "3.2.0"
 
 
 
 
 
 
 
 
 
64
  }
1
  {
2
+ "name": "fontawesome-iconpicker",
3
+ "version": "1.3.0",
4
+ "description": "Font Awesome Icon Picker plugin for Twitter Bootstrap",
5
+ "homepage": "https://itsjavi.com/fontawesome-iconpicker/",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git@github.com:itsjavi/fontawesome-iconpicker.git"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  },
10
+ "main": "dist/js/fontawesome-iconpicker.js",
11
  "bugs": {
12
+ "url": "https://github.com/itsjavi/fontawesome-iconpicker/issues"
13
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
14
  "keywords": [
15
  "bootstrap",
16
  "fontawesome",
18
  "popover",
19
  "picker"
20
  ],
21
+ "author": "Javi Aguilar",
22
+ "licenses": [
23
+ {
24
+ "type": "MIT",
25
+ "url": "https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE"
26
+ }
27
+ ],
28
+ "devDependencies": {
29
+ "grunt": "~0.4.5",
30
+ "grunt-contrib-clean": "~0.5.0",
31
+ "grunt-contrib-jshint": "~0.10.0",
32
+ "grunt-contrib-less": "~0.11.2",
33
+ "grunt-contrib-uglify": "~0.5.0",
34
+ "grunt-contrib-concat": "~0.4.0",
35
+ "grunt-jsbeautifier": "~0.2.7",
36
+ "grunt-contrib-watch": "~0.6.1"
37
+ }
38
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/iconpicker.js CHANGED
@@ -1,10 +1,11 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
4
  *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
 
10
  (function(factory) {
@@ -45,12 +46,11 @@
45
  var Iconpicker = function(element, options) {
46
  this._id = Iconpicker._idCounter++;
47
  this.element = $(element).addClass('iconpicker-element');
48
- this._trigger('iconpickerCreate', {
49
- iconpickerValue: this.iconpickerValue
50
- });
51
  this.options = $.extend({}, Iconpicker.defaultOptions, this.element.data(), options);
52
  this.options.templates = $.extend({}, Iconpicker.defaultOptions.templates, this.options.templates);
53
  this.options.originalPlacement = this.options.placement;
 
54
  // Iconpicker container element
55
  this.container = (_helpers.isElement(this.options.container) ? $(this.options.container) : false);
56
  if (this.container === false) {
@@ -63,10 +63,14 @@
63
  this.container.addClass('iconpicker-container');
64
 
65
  if (this.isDropdownMenu()) {
 
 
 
 
66
  this.options.placement = 'inline';
67
  }
68
 
69
- // Is the element an input? Should we search inside for any input?
70
  this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false);
71
  if (this.input === false) {
72
  this.input = (this.container.find(this.options.input));
@@ -110,9 +114,7 @@
110
  this.show();
111
  }
112
 
113
- this._trigger('iconpickerCreated', {
114
- iconpickerValue: this.iconpickerValue
115
- });
116
  };
117
 
118
  // Instance identifier counter
@@ -133,7 +135,7 @@
133
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
134
  icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
135
  fullClassFormatter: function(val) {
136
- return val;
137
  },
138
  input: 'input,.iconpicker-input', // children input selector
139
  inputSearch: false, // use the input as a search box too?
@@ -148,7 +150,7 @@
148
  ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
149
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
150
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
151
- iconpickerItem: '<a role="button" href="javascript:;" class="iconpicker-item"><i></i></a>',
152
  }
153
  };
154
 
@@ -236,37 +238,29 @@
236
  // only hide when the accept button is not present
237
  _self.hide();
238
  }
 
 
239
  };
240
 
241
- var $itemElementTemplate = $(this.options.templates.iconpickerItem);
242
- var $elementsToAppend = [];
243
  for (var i in this.options.icons) {
244
- if (typeof this.options.icons[i].title === 'string') {
245
- var itemElement = $itemElementTemplate.clone();
246
  itemElement.find('i')
247
- .addClass(this.options.fullClassFormatter(this.options.icons[i].title));
248
- itemElement.data('iconpickerValue', this.options.icons[i].title)
249
  .on('click.iconpicker', itemClickFn);
250
-
251
- itemElement.attr('title', '.' + this.options.icons[i].title);
252
- if (this.options.icons[i].searchTerms.length > 0) {
253
- var searchTerms = '';
254
- for (var j = 0; j < this.options.icons[i].searchTerms.length; j++) {
255
- searchTerms = searchTerms + this.options.icons[i].searchTerms[j] + ' ';
256
- }
257
- itemElement.attr('data-search-terms', searchTerms);
258
- }
259
- $elementsToAppend.push(itemElement);
260
  }
261
  }
262
- this.iconpicker.find('.iconpicker-items').append($elementsToAppend);
263
  this.popover.find('.popover-content').append(this.iconpicker);
264
 
265
  return this.iconpicker;
266
  },
267
  _isEventInsideIconpicker: function(e) {
268
  var _t = $(e.target);
269
- if ((!_t.hasClass('iconpicker-element') ||
270
  (_t.hasClass('iconpicker-element') && !_t.is(this.element))) &&
271
  (_t.parents('.iconpicker-popover').length === 0)) {
272
  return false;
@@ -346,8 +340,13 @@
346
  if (!_self._isEventInsideIconpicker(e) && !_self.isInline()) {
347
  _self.hide();
348
  }
 
 
 
349
  });
350
  }
 
 
351
  },
352
  _unbindElementEvents: function() {
353
  this.popover.off('.iconpicker');
@@ -385,7 +384,7 @@
385
  my: "right top",
386
  // of: Which element to position against.
387
  of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container,
388
- // collision: When the positioned element overflows the window (or within element)
389
  // in some direction, move it to an alternative position.
390
  collision: (collision === true ? 'flip' : collision),
391
  // within: Element to position within, affecting collision detection.
@@ -591,15 +590,8 @@
591
 
592
  // trim string
593
  val = $.trim(val);
594
- var e = false;
595
- for (var i = 0; i < this.options.icons.length; i++) {
596
- if (this.options.icons[i].title === val) {
597
- e = true;
598
- break;
599
- };
600
- }
601
 
602
- if (e || isEmpty) {
603
  return val;
604
  }
605
  return false;
@@ -705,11 +697,9 @@
705
  this.iconpicker.find('.iconpicker-item').each(function() {
706
  var $this = $(this);
707
  var text = $this.attr('title').toLowerCase();
708
- var searchTerms = $this.attr('data-search-terms') ? $this.attr('data-search-terms').toLowerCase() : '';
709
- text = text + ' ' + searchTerms;
710
  var regex = false;
711
  try {
712
- regex = new RegExp('(^|\\W)' + filterText, 'g');
713
  } catch (e) {
714
  regex = false;
715
  }
@@ -730,33 +720,25 @@
730
  // hide other non-inline pickers
731
  $.iconpicker.batch($('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');
732
 
733
- this._trigger('iconpickerShow', {
734
- iconpickerValue: this.iconpickerValue
735
- });
736
  this.updatePlacement();
737
  this.popover.addClass('in');
738
  setTimeout($.proxy(function() {
739
  this.popover.css('display', this.isInline() ? '' : 'block');
740
- this._trigger('iconpickerShown', {
741
- iconpickerValue: this.iconpickerValue
742
- });
743
  }, this), this.options.animation ? 300 : 1); // animation duration
744
  },
745
  hide: function() {
746
  if (!this.popover.hasClass('in')) {
747
  return false;
748
  }
749
- this._trigger('iconpickerHide', {
750
- iconpickerValue: this.iconpickerValue
751
- });
752
  this.popover.removeClass('in');
753
  setTimeout($.proxy(function() {
754
  this.popover.css('display', 'none');
755
  this.getSearchInput().val('');
756
  this.filter(''); // clear filter
757
- this._trigger('iconpickerHidden', {
758
- iconpickerValue: this.iconpickerValue
759
- });
760
  }, this), this.options.animation ? 300 : 1);
761
  },
762
  toggle: function() {
@@ -767,12 +749,10 @@
767
  }
768
  },
769
  update: function(val, updateOnlyInternal) {
770
- val = (val ? val : this.getSourceValue(this.iconpickerValue));
771
  // reads the input or element value again and tries to update the plugin
772
  // fallback to the current selected item value
773
- this._trigger('iconpickerUpdate', {
774
- iconpickerValue: this.iconpickerValue
775
- });
776
 
777
  if (updateOnlyInternal === true) {
778
  val = this.setValue(val);
@@ -785,15 +765,11 @@
785
  this._updateComponents();
786
  }
787
 
788
- this._trigger('iconpickerUpdated', {
789
- iconpickerValue: this.iconpickerValue
790
- });
791
  return val;
792
  },
793
  destroy: function() {
794
- this._trigger('iconpickerDestroy', {
795
- iconpickerValue: this.iconpickerValue
796
- });
797
 
798
  // unbinds events and resets everything to the initial state,
799
  // including component mode
@@ -804,9 +780,7 @@
804
 
805
  $(this.popover).remove();
806
 
807
- this._trigger('iconpickerDestroyed', {
808
- iconpickerValue: this.iconpickerValue
809
- });
810
  },
811
  disable: function() {
812
  if (this.hasInput()) {
@@ -847,8 +821,114 @@
847
  };
848
 
849
  // List of all Font Awesome icons without class prefix
850
- Iconpicker.defaultOptions = $.extend(
851
- Iconpicker.defaultOptions,
852
- //###REPLACE-WITH-FONT-AWESOME-5-FONTS###
853
- );
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
854
  }));
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
  *
 
 
 
9
  */
10
 
11
  (function(factory) {
46
  var Iconpicker = function(element, options) {
47
  this._id = Iconpicker._idCounter++;
48
  this.element = $(element).addClass('iconpicker-element');
49
+ this._trigger('iconpickerCreate');
 
 
50
  this.options = $.extend({}, Iconpicker.defaultOptions, this.element.data(), options);
51
  this.options.templates = $.extend({}, Iconpicker.defaultOptions.templates, this.options.templates);
52
  this.options.originalPlacement = this.options.placement;
53
+
54
  // Iconpicker container element
55
  this.container = (_helpers.isElement(this.options.container) ? $(this.options.container) : false);
56
  if (this.container === false) {
63
  this.container.addClass('iconpicker-container');
64
 
65
  if (this.isDropdownMenu()) {
66
+ // if you try to click the dropdown, it is closed, because of that
67
+ // we'll hide some picker controls
68
+ this.options.templates.search = false;
69
+ this.options.templates.buttons = false;
70
  this.options.placement = 'inline';
71
  }
72
 
73
+ // Is the element an input? Should we search inside for any input?
74
  this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false);
75
  if (this.input === false) {
76
  this.input = (this.container.find(this.options.input));
114
  this.show();
115
  }
116
 
117
+ this._trigger('iconpickerCreated');
 
 
118
  };
119
 
120
  // Instance identifier counter
135
  selectedCustomClass: 'bg-primary', // Appends this class when to the selected item
136
  icons: [], // list of icon classes (declared at the bottom of this script for maintainability)
137
  fullClassFormatter: function(val) {
138
+ return 'fa ' + val;
139
  },
140
  input: 'input,.iconpicker-input', // children input selector
141
  inputSearch: false, // use the input as a search box too?
150
  ' <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',
151
  search: '<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',
152
  iconpicker: '<div class="iconpicker"><div class="iconpicker-items"></div></div>',
153
+ iconpickerItem: '<a role="button" href="#" class="iconpicker-item"><i></i></a>',
154
  }
155
  };
156
 
238
  // only hide when the accept button is not present
239
  _self.hide();
240
  }
241
+ e.preventDefault();
242
+ return false;
243
  };
244
 
 
 
245
  for (var i in this.options.icons) {
246
+ if (typeof this.options.icons[i] === 'string') {
247
+ var itemElement = $(this.options.templates.iconpickerItem);
248
  itemElement.find('i')
249
+ .addClass(this.options.fullClassFormatter(this.options.icons[i]));
250
+ itemElement.data('iconpickerValue', this.options.icons[i])
251
  .on('click.iconpicker', itemClickFn);
252
+ this.iconpicker.find('.iconpicker-items').append(itemElement
253
+ .attr('title', '.' + this.options.icons[i]));
 
 
 
 
 
 
 
 
254
  }
255
  }
256
+
257
  this.popover.find('.popover-content').append(this.iconpicker);
258
 
259
  return this.iconpicker;
260
  },
261
  _isEventInsideIconpicker: function(e) {
262
  var _t = $(e.target);
263
+ if ((!_t.hasClass('iconpicker-element')  ||
264
  (_t.hasClass('iconpicker-element') && !_t.is(this.element))) &&
265
  (_t.parents('.iconpicker-popover').length === 0)) {
266
  return false;
340
  if (!_self._isEventInsideIconpicker(e) && !_self.isInline()) {
341
  _self.hide();
342
  }
343
+ e.stopPropagation();
344
+ e.preventDefault();
345
+ return false;
346
  });
347
  }
348
+
349
+ return false;
350
  },
351
  _unbindElementEvents: function() {
352
  this.popover.off('.iconpicker');
384
  my: "right top",
385
  // of: Which element to position against.
386
  of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container,
387
+ // collision: When the positioned element overflows the window (or within element)
388
  // in some direction, move it to an alternative position.
389
  collision: (collision === true ? 'flip' : collision),
390
  // within: Element to position within, affecting collision detection.
590
 
591
  // trim string
592
  val = $.trim(val);
 
 
 
 
 
 
 
593
 
594
+ if (_helpers.inArray(val, this.options.icons) || isEmpty) {
595
  return val;
596
  }
597
  return false;
697
  this.iconpicker.find('.iconpicker-item').each(function() {
698
  var $this = $(this);
699
  var text = $this.attr('title').toLowerCase();
 
 
700
  var regex = false;
701
  try {
702
+ regex = new RegExp(filterText, 'g');
703
  } catch (e) {
704
  regex = false;
705
  }
720
  // hide other non-inline pickers
721
  $.iconpicker.batch($('.iconpicker-popover.in:not(.inline)').not(this.popover), 'hide');
722
 
723
+ this._trigger('iconpickerShow');
 
 
724
  this.updatePlacement();
725
  this.popover.addClass('in');
726
  setTimeout($.proxy(function() {
727
  this.popover.css('display', this.isInline() ? '' : 'block');
728
+ this._trigger('iconpickerShown');
 
 
729
  }, this), this.options.animation ? 300 : 1); // animation duration
730
  },
731
  hide: function() {
732
  if (!this.popover.hasClass('in')) {
733
  return false;
734
  }
735
+ this._trigger('iconpickerHide');
 
 
736
  this.popover.removeClass('in');
737
  setTimeout($.proxy(function() {
738
  this.popover.css('display', 'none');
739
  this.getSearchInput().val('');
740
  this.filter(''); // clear filter
741
+ this._trigger('iconpickerHidden');
 
 
742
  }, this), this.options.animation ? 300 : 1);
743
  },
744
  toggle: function() {
749
  }
750
  },
751
  update: function(val, updateOnlyInternal) {
752
+ val = (val ? val :  this.getSourceValue(this.iconpickerValue));
753
  // reads the input or element value again and tries to update the plugin
754
  // fallback to the current selected item value
755
+ this._trigger('iconpickerUpdate');
 
 
756
 
757
  if (updateOnlyInternal === true) {
758
  val = this.setValue(val);
765
  this._updateComponents();
766
  }
767
 
768
+ this._trigger('iconpickerUpdated');
 
 
769
  return val;
770
  },
771
  destroy: function() {
772
+ this._trigger('iconpickerDestroy');
 
 
773
 
774
  // unbinds events and resets everything to the initial state,
775
  // including component mode
780
 
781
  $(this.popover).remove();
782
 
783
+ this._trigger('iconpickerDestroyed');
 
 
784
  },
785
  disable: function() {
786
  if (this.hasInput()) {
821
  };
822
 
823
  // List of all Font Awesome icons without class prefix
824
+ Iconpicker.defaultOptions.icons = [
825
+ 'fa-500px', 'fa-address-book', 'fa-address-book-o', 'fa-address-card', 'fa-address-card-o', 'fa-adjust', 'fa-adn',
826
+ 'fa-align-center', 'fa-align-justify', 'fa-align-left', 'fa-align-right', 'fa-amazon', 'fa-ambulance',
827
+ 'fa-american-sign-language-interpreting', 'fa-anchor', 'fa-android', 'fa-angellist', 'fa-angle-double-down',
828
+ 'fa-angle-double-left', 'fa-angle-double-right', 'fa-angle-double-up', 'fa-angle-down', 'fa-angle-left', 'fa-angle-right',
829
+ 'fa-angle-up', 'fa-apple', 'fa-archive', 'fa-area-chart', 'fa-arrow-circle-down', 'fa-arrow-circle-left',
830
+ 'fa-arrow-circle-o-down', 'fa-arrow-circle-o-left', 'fa-arrow-circle-o-right', 'fa-arrow-circle-o-up',
831
+ 'fa-arrow-circle-right', 'fa-arrow-circle-up', 'fa-arrow-down', 'fa-arrow-left', 'fa-arrow-right', 'fa-arrow-up', 'fa-arrows',
832
+ 'fa-arrows-alt', 'fa-arrows-h', 'fa-arrows-v', 'fa-asl-interpreting', 'fa-assistive-listening-systems', 'fa-asterisk',
833
+ 'fa-at', 'fa-audio-description', 'fa-automobile', 'fa-backward', 'fa-balance-scale', 'fa-ban', 'fa-bandcamp', 'fa-bank',
834
+ 'fa-bar-chart', 'fa-bar-chart-o', 'fa-barcode', 'fa-bars', 'fa-bath', 'fa-bathtub', 'fa-battery', 'fa-battery-0',
835
+ 'fa-battery-1', 'fa-battery-2', 'fa-battery-3', 'fa-battery-4', 'fa-battery-empty', 'fa-battery-full', 'fa-battery-half',
836
+ 'fa-battery-quarter', 'fa-battery-three-quarters', 'fa-bed', 'fa-beer', 'fa-behance', 'fa-behance-square', 'fa-bell',
837
+ 'fa-bell-o', 'fa-bell-slash', 'fa-bell-slash-o', 'fa-bicycle', 'fa-binoculars', 'fa-birthday-cake', 'fa-bitbucket',
838
+ 'fa-bitbucket-square', 'fa-bitcoin', 'fa-black-tie', 'fa-blind', 'fa-bluetooth', 'fa-bluetooth-b', 'fa-bold', 'fa-bolt',
839
+ 'fa-bomb', 'fa-book', 'fa-bookmark', 'fa-bookmark-o', 'fa-braille', 'fa-briefcase', 'fa-btc', 'fa-bug', 'fa-building',
840
+ 'fa-building-o', 'fa-bullhorn', 'fa-bullseye', 'fa-bus', 'fa-buysellads', 'fa-cab', 'fa-calculator', 'fa-calendar',
841
+ 'fa-calendar-check-o', 'fa-calendar-minus-o', 'fa-calendar-o', 'fa-calendar-plus-o', 'fa-calendar-times-o', 'fa-camera',
842
+ 'fa-camera-retro', 'fa-car', 'fa-caret-down', 'fa-caret-left', 'fa-caret-right', 'fa-caret-square-o-down',
843
+ 'fa-caret-square-o-left', 'fa-caret-square-o-right', 'fa-caret-square-o-up', 'fa-caret-up', 'fa-cart-arrow-down',
844
+ 'fa-cart-plus', 'fa-cc', 'fa-cc-amex', 'fa-cc-diners-club', 'fa-cc-discover', 'fa-cc-jcb', 'fa-cc-mastercard', 'fa-cc-paypal',
845
+ 'fa-cc-stripe', 'fa-cc-visa', 'fa-certificate', 'fa-chain', 'fa-chain-broken', 'fa-check', 'fa-check-circle',
846
+ 'fa-check-circle-o', 'fa-check-square', 'fa-check-square-o', 'fa-chevron-circle-down', 'fa-chevron-circle-left',
847
+ 'fa-chevron-circle-right', 'fa-chevron-circle-up', 'fa-chevron-down', 'fa-chevron-left', 'fa-chevron-right', 'fa-chevron-up',
848
+ 'fa-child', 'fa-chrome', 'fa-circle', 'fa-circle-o', 'fa-circle-o-notch', 'fa-circle-thin', 'fa-clipboard', 'fa-clock-o',
849
+ 'fa-clone', 'fa-close', 'fa-cloud', 'fa-cloud-download', 'fa-cloud-upload', 'fa-cny', 'fa-code', 'fa-code-fork', 'fa-codepen',
850
+ 'fa-codiepie', 'fa-coffee', 'fa-cog', 'fa-cogs', 'fa-columns', 'fa-comment', 'fa-comment-o', 'fa-commenting',
851
+ 'fa-commenting-o', 'fa-comments', 'fa-comments-o', 'fa-compass', 'fa-compress', 'fa-connectdevelop', 'fa-contao', 'fa-copy',
852
+ 'fa-copyright', 'fa-creative-commons', 'fa-credit-card', 'fa-credit-card-alt', 'fa-crop', 'fa-crosshairs', 'fa-css3',
853
+ 'fa-cube', 'fa-cubes', 'fa-cut', 'fa-cutlery', 'fa-dashboard', 'fa-dashcube', 'fa-database', 'fa-deaf', 'fa-deafness',
854
+ 'fa-dedent', 'fa-delicious', 'fa-desktop', 'fa-deviantart', 'fa-diamond', 'fa-digg', 'fa-dollar', 'fa-dot-circle-o',
855
+ 'fa-download', 'fa-dribbble', 'fa-drivers-license', 'fa-drivers-license-o', 'fa-dropbox', 'fa-drupal', 'fa-edge', 'fa-edit',
856
+ 'fa-eercast', 'fa-eject', 'fa-ellipsis-h', 'fa-ellipsis-v', 'fa-empire', 'fa-envelope', 'fa-envelope-o', 'fa-envelope-open',
857
+ 'fa-envelope-open-o', 'fa-envelope-square', 'fa-envira', 'fa-eraser', 'fa-etsy', 'fa-eur', 'fa-euro', 'fa-exchange',
858
+ 'fa-exclamation', 'fa-exclamation-circle', 'fa-exclamation-triangle', 'fa-expand', 'fa-expeditedssl', 'fa-external-link',
859
+ 'fa-external-link-square', 'fa-eye', 'fa-eye-slash', 'fa-eyedropper', 'fa-fa', 'fa-facebook', 'fa-facebook-f',
860
+ 'fa-facebook-official', 'fa-facebook-square', 'fa-fast-backward', 'fa-fast-forward', 'fa-fax', 'fa-feed', 'fa-female',
861
+ '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',
862
+ 'fa-file-movie-o', 'fa-file-o', 'fa-file-pdf-o', 'fa-file-photo-o', 'fa-file-picture-o', 'fa-file-powerpoint-o',
863
+ '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',
864
+ 'fa-film', 'fa-filter', 'fa-fire', 'fa-fire-extinguisher', 'fa-firefox', 'fa-first-order', 'fa-flag', 'fa-flag-checkered',
865
+ 'fa-flag-o', 'fa-flash', 'fa-flask', 'fa-flickr', 'fa-floppy-o', 'fa-folder', 'fa-folder-o', 'fa-folder-open',
866
+ 'fa-folder-open-o', 'fa-font', 'fa-font-awesome', 'fa-fonticons', 'fa-fort-awesome', 'fa-forumbee', 'fa-forward',
867
+ 'fa-foursquare', 'fa-free-code-camp', 'fa-frown-o', 'fa-futbol-o', 'fa-gamepad', 'fa-gavel', 'fa-gbp', 'fa-ge', 'fa-gear',
868
+ 'fa-gears', 'fa-genderless', 'fa-get-pocket', 'fa-gg', 'fa-gg-circle', 'fa-gift', 'fa-git', 'fa-git-square', 'fa-github',
869
+ 'fa-github-alt', 'fa-github-square', 'fa-gitlab', 'fa-gittip', 'fa-glass', 'fa-glide', 'fa-glide-g', 'fa-globe', 'fa-google',
870
+ 'fa-google-plus', 'fa-google-plus-circle', 'fa-google-plus-official', 'fa-google-plus-square', 'fa-google-wallet',
871
+ 'fa-graduation-cap', 'fa-gratipay', 'fa-grav', 'fa-group', 'fa-h-square', 'fa-hacker-news', 'fa-hand-grab-o',
872
+ 'fa-hand-lizard-o', 'fa-hand-o-down', 'fa-hand-o-left', 'fa-hand-o-right', 'fa-hand-o-up', 'fa-hand-paper-o',
873
+ 'fa-hand-peace-o', 'fa-hand-pointer-o', 'fa-hand-rock-o', 'fa-hand-scissors-o', 'fa-hand-spock-o', 'fa-hand-stop-o',
874
+ 'fa-handshake-o', 'fa-hard-of-hearing', 'fa-hashtag', 'fa-hdd-o', 'fa-header', 'fa-headphones', 'fa-heart', 'fa-heart-o',
875
+ 'fa-heartbeat', 'fa-history', 'fa-home', 'fa-hospital-o', 'fa-hotel', 'fa-hourglass', 'fa-hourglass-1', 'fa-hourglass-2',
876
+ 'fa-hourglass-3', 'fa-hourglass-end', 'fa-hourglass-half', 'fa-hourglass-o', 'fa-hourglass-start', 'fa-houzz', 'fa-html5',
877
+ 'fa-i-cursor', 'fa-id-badge', 'fa-id-card', 'fa-id-card-o', 'fa-ils', 'fa-image', 'fa-imdb', 'fa-inbox', 'fa-indent',
878
+ 'fa-industry', 'fa-info', 'fa-info-circle', 'fa-inr', 'fa-instagram', 'fa-institution', 'fa-internet-explorer', 'fa-intersex',
879
+ 'fa-ioxhost', 'fa-italic', 'fa-joomla', 'fa-jpy', 'fa-jsfiddle', 'fa-key', 'fa-keyboard-o', 'fa-krw', 'fa-language',
880
+ 'fa-laptop', 'fa-lastfm', 'fa-lastfm-square', 'fa-leaf', 'fa-leanpub', 'fa-legal', 'fa-lemon-o', 'fa-level-down',
881
+ 'fa-level-up', 'fa-life-bouy', 'fa-life-buoy', 'fa-life-ring', 'fa-life-saver', 'fa-lightbulb-o', 'fa-line-chart', 'fa-link',
882
+ 'fa-linkedin', 'fa-linkedin-square', 'fa-linode', 'fa-linux', 'fa-list', 'fa-list-alt', 'fa-list-ol', 'fa-list-ul',
883
+ 'fa-location-arrow', 'fa-lock', 'fa-long-arrow-down', 'fa-long-arrow-left', 'fa-long-arrow-right', 'fa-long-arrow-up',
884
+ 'fa-low-vision', 'fa-magic', 'fa-magnet', 'fa-mail-forward', 'fa-mail-reply', 'fa-mail-reply-all', 'fa-male', 'fa-map',
885
+ 'fa-map-marker', 'fa-map-o', 'fa-map-pin', 'fa-map-signs', 'fa-mars', 'fa-mars-double', 'fa-mars-stroke', 'fa-mars-stroke-h',
886
+ 'fa-mars-stroke-v', 'fa-maxcdn', 'fa-meanpath', 'fa-medium', 'fa-medkit', 'fa-meetup', 'fa-meh-o', 'fa-mercury',
887
+ 'fa-microchip', 'fa-microphone', 'fa-microphone-slash', 'fa-minus', 'fa-minus-circle', 'fa-minus-square', 'fa-minus-square-o',
888
+ 'fa-mixcloud', 'fa-mobile', 'fa-mobile-phone', 'fa-modx', 'fa-money', 'fa-moon-o', 'fa-mortar-board', 'fa-motorcycle',
889
+ 'fa-mouse-pointer', 'fa-music', 'fa-navicon', 'fa-neuter', 'fa-newspaper-o', 'fa-object-group', 'fa-object-ungroup',
890
+ 'fa-odnoklassniki', 'fa-odnoklassniki-square', 'fa-opencart', 'fa-openid', 'fa-opera', 'fa-optin-monster', 'fa-outdent',
891
+ 'fa-pagelines', 'fa-paint-brush', 'fa-paper-plane', 'fa-paper-plane-o', 'fa-paperclip', 'fa-paragraph', 'fa-paste',
892
+ 'fa-pause', 'fa-pause-circle', 'fa-pause-circle-o', 'fa-paw', 'fa-paypal', 'fa-pencil', 'fa-pencil-square',
893
+ 'fa-pencil-square-o', 'fa-percent', 'fa-phone', 'fa-phone-square', 'fa-photo', 'fa-picture-o', 'fa-pie-chart',
894
+ 'fa-pied-piper', 'fa-pied-piper-alt', 'fa-pied-piper-pp', 'fa-pinterest', 'fa-pinterest-p', 'fa-pinterest-square', 'fa-plane',
895
+ 'fa-play', 'fa-play-circle', 'fa-play-circle-o', 'fa-plug', 'fa-plus', 'fa-plus-circle', 'fa-plus-square', 'fa-plus-square-o',
896
+ 'fa-podcast', 'fa-power-off', 'fa-print', 'fa-product-hunt', 'fa-puzzle-piece', 'fa-qq', 'fa-qrcode', 'fa-question',
897
+ 'fa-question-circle', 'fa-question-circle-o', 'fa-quora', 'fa-quote-left', 'fa-quote-right', 'fa-ra', 'fa-random',
898
+ 'fa-ravelry', 'fa-rebel', 'fa-recycle', 'fa-reddit', 'fa-reddit-alien', 'fa-reddit-square', 'fa-refresh', 'fa-registered',
899
+ 'fa-remove', 'fa-renren', 'fa-reorder', 'fa-repeat', 'fa-reply', 'fa-reply-all', 'fa-resistance', 'fa-retweet', 'fa-rmb',
900
+ 'fa-road', 'fa-rocket', 'fa-rotate-left', 'fa-rotate-right', 'fa-rouble', 'fa-rss', 'fa-rss-square', 'fa-rub', 'fa-ruble',
901
+ 'fa-rupee', 'fa-s15', 'fa-safari', 'fa-save', 'fa-scissors', 'fa-scribd', 'fa-search', 'fa-search-minus', 'fa-search-plus',
902
+ 'fa-sellsy', 'fa-send', 'fa-send-o', 'fa-server', 'fa-share', 'fa-share-alt', 'fa-share-alt-square', 'fa-share-square',
903
+ 'fa-share-square-o', 'fa-shekel', 'fa-sheqel', 'fa-shield', 'fa-ship', 'fa-shirtsinbulk', 'fa-shopping-bag',
904
+ 'fa-shopping-basket', 'fa-shopping-cart', 'fa-shower', 'fa-sign-in', 'fa-sign-language', 'fa-sign-out', 'fa-signal',
905
+ 'fa-signing', 'fa-simplybuilt', 'fa-sitemap', 'fa-skyatlas', 'fa-skype', 'fa-slack', 'fa-sliders', 'fa-slideshare',
906
+ 'fa-smile-o', 'fa-snapchat', 'fa-snapchat-ghost', 'fa-snapchat-square', 'fa-snowflake-o', 'fa-soccer-ball-o', 'fa-sort',
907
+ 'fa-sort-alpha-asc', 'fa-sort-alpha-desc', 'fa-sort-amount-asc', 'fa-sort-amount-desc', 'fa-sort-asc', 'fa-sort-desc',
908
+ 'fa-sort-down', 'fa-sort-numeric-asc', 'fa-sort-numeric-desc', 'fa-sort-up', 'fa-soundcloud', 'fa-space-shuttle',
909
+ 'fa-spinner', 'fa-spoon', 'fa-spotify', 'fa-square', 'fa-square-o', 'fa-stack-exchange', 'fa-stack-overflow', 'fa-star',
910
+ 'fa-star-half', 'fa-star-half-empty', 'fa-star-half-full', 'fa-star-half-o', 'fa-star-o', 'fa-steam', 'fa-steam-square',
911
+ 'fa-step-backward', 'fa-step-forward', 'fa-stethoscope', 'fa-sticky-note', 'fa-sticky-note-o', 'fa-stop', 'fa-stop-circle',
912
+ 'fa-stop-circle-o', 'fa-street-view', 'fa-strikethrough', 'fa-stumbleupon', 'fa-stumbleupon-circle', 'fa-subscript',
913
+ 'fa-subway', 'fa-suitcase', 'fa-sun-o', 'fa-superpowers', 'fa-superscript', 'fa-support', 'fa-table', 'fa-tablet',
914
+ 'fa-tachometer', 'fa-tag', 'fa-tags', 'fa-tasks', 'fa-taxi', 'fa-telegram', 'fa-television', 'fa-tencent-weibo',
915
+ 'fa-terminal', 'fa-text-height', 'fa-text-width', 'fa-th', 'fa-th-large', 'fa-th-list', 'fa-themeisle', 'fa-thermometer',
916
+ 'fa-thermometer-0', 'fa-thermometer-1', 'fa-thermometer-2', 'fa-thermometer-3', 'fa-thermometer-4', 'fa-thermometer-empty',
917
+ 'fa-thermometer-full', 'fa-thermometer-half', 'fa-thermometer-quarter', 'fa-thermometer-three-quarters', 'fa-thumb-tack',
918
+ 'fa-thumbs-down', 'fa-thumbs-o-down', 'fa-thumbs-o-up', 'fa-thumbs-up', 'fa-ticket', 'fa-times', 'fa-times-circle',
919
+ 'fa-times-circle-o', 'fa-times-rectangle', 'fa-times-rectangle-o', 'fa-tint', 'fa-toggle-down', 'fa-toggle-left',
920
+ 'fa-toggle-off', 'fa-toggle-on', 'fa-toggle-right', 'fa-toggle-up', 'fa-trademark', 'fa-train', 'fa-transgender',
921
+ 'fa-transgender-alt', 'fa-trash', 'fa-trash-o', 'fa-tree', 'fa-trello', 'fa-tripadvisor', 'fa-trophy', 'fa-truck', 'fa-try',
922
+ 'fa-tty', 'fa-tumblr', 'fa-tumblr-square', 'fa-turkish-lira', 'fa-tv', 'fa-twitch', 'fa-twitter', 'fa-twitter-square',
923
+ 'fa-umbrella', 'fa-underline', 'fa-undo', 'fa-universal-access', 'fa-university', 'fa-unlink', 'fa-unlock', 'fa-unlock-alt',
924
+ 'fa-unsorted', 'fa-upload', 'fa-usb', 'fa-usd', 'fa-user', 'fa-user-circle', 'fa-user-circle-o', 'fa-user-md', 'fa-user-o',
925
+ 'fa-user-plus', 'fa-user-secret', 'fa-user-times', 'fa-users', 'fa-vcard', 'fa-vcard-o', 'fa-venus', 'fa-venus-double',
926
+ 'fa-venus-mars', 'fa-viacoin', 'fa-viadeo', 'fa-viadeo-square', 'fa-video-camera', 'fa-vimeo', 'fa-vimeo-square', 'fa-vine',
927
+ 'fa-vk', 'fa-volume-control-phone', 'fa-volume-down', 'fa-volume-off', 'fa-volume-up', 'fa-warning', 'fa-wechat', 'fa-weibo',
928
+ 'fa-weixin', 'fa-whatsapp', 'fa-wheelchair', 'fa-wheelchair-alt', 'fa-wifi', 'fa-wikipedia-w', 'fa-window-close',
929
+ 'fa-window-close-o', 'fa-window-maximize', 'fa-window-minimize', 'fa-window-restore', 'fa-windows', 'fa-won', 'fa-wordpress',
930
+ 'fa-wpbeginner', 'fa-wpexplorer', 'fa-wpforms', 'fa-wrench', 'fa-xing', 'fa-xing-square', 'fa-y-combinator',
931
+ 'fa-y-combinator-square', 'fa-yahoo', 'fa-yc', 'fa-yc-square', 'fa-yelp', 'fa-yen', 'fa-yoast', 'fa-youtube',
932
+ 'fa-youtube-play', 'fa-youtube-square'
933
+ ];
934
  }));
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/js/jquery.ui.pos.js CHANGED
@@ -1,576 +1,532 @@
1
- (function(factory) {
2
- if (typeof define === "function" && define.amd) {
3
-
4
- // AMD. Register as an anonymous module.
5
- define(["jquery"], factory);
6
- } else {
7
-
8
- // Browser globals
9
- factory(jQuery);
10
- }
11
- }(function($) {
 
 
 
12
 
13
  $.ui = $.ui || {};
14
 
15
- var version = $.ui.version = "1.12.1";
16
-
17
-
18
- /*!
19
- * jQuery UI Position 1.12.1
20
- * http://jqueryui.com
21
- *
22
- * Copyright jQuery Foundation and other contributors
23
- * Released under the MIT license.
24
- * http://jquery.org/license
25
- *
26
- * http://api.jqueryui.com/position/
27
- */
28
-
29
- //>>label: Position
30
- //>>group: Core
31
- //>>description: Positions elements relative to other elements.
32
- //>>docs: http://api.jqueryui.com/position/
33
- //>>demos: http://jqueryui.com/position/
34
 
 
 
 
35
 
36
- (function() {
37
- var cachedScrollbarWidth,
38
- max = Math.max,
39
- abs = Math.abs,
40
- rhorizontal = /left|center|right/,
41
- rvertical = /top|center|bottom/,
42
- roffset = /[\+\-]\d+(\.[\d]+)?%?/,
43
- rposition = /^\w+/,
44
- rpercent = /%$/,
45
- _position = $.fn.pos;
46
-
47
- function getOffsets(offsets, width, height) {
48
- return [
49
- parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1),
50
- parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)
51
- ];
52
  }
53
-
54
- function parseCss(element, property) {
55
- return parseInt($.css(element, property), 10) || 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
56
  }
 
 
 
 
 
 
57
 
58
- function getDimensions(elem) {
59
- var raw = elem[0];
60
- if (raw.nodeType === 9) {
61
- return {
62
- width: elem.width(),
63
- height: elem.height(),
64
- offset: {
65
- top: 0,
66
- left: 0
67
- }
68
- };
69
- }
70
- if ($.isWindow(raw)) {
71
- return {
72
- width: elem.width(),
73
- height: elem.height(),
74
- offset: {
75
- top: elem.scrollTop(),
76
- left: elem.scrollLeft()
77
- }
78
- };
79
  }
80
- if (raw.preventDefault) {
81
- return {
82
- width: 0,
83
- height: 0,
84
- offset: {
85
- top: raw.pageY,
86
- left: raw.pageX
87
- }
88
- };
 
 
 
89
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
90
  return {
91
- width: elem.outerWidth(),
92
- height: elem.outerHeight(),
93
- offset: elem.offset()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  };
95
  }
 
96
 
97
- $.pos = {
98
- scrollbarWidth: function() {
99
- if (cachedScrollbarWidth !== undefined) {
100
- return cachedScrollbarWidth;
101
- }
102
- var w1, w2,
103
- div = $("<div " +
104
- "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" +
105
- "<div style='height:100px;width:auto;'></div></div>"),
106
- innerDiv = div.children()[0];
107
-
108
- $("body").append(div);
109
- w1 = innerDiv.offsetWidth;
110
- div.css("overflow", "scroll");
111
-
112
- w2 = innerDiv.offsetWidth;
113
 
114
- if (w1 === w2) {
115
- w2 = div[0].clientWidth;
116
- }
117
 
118
- div.remove();
 
 
 
 
 
119
 
120
- return (cachedScrollbarWidth = w1 - w2);
121
- },
122
- getScrollInfo: function(within) {
123
- var overflowX = within.isWindow || within.isDocument ? "" :
124
- within.element.css("overflow-x"),
125
- overflowY = within.isWindow || within.isDocument ? "" :
126
- within.element.css("overflow-y"),
127
- hasOverflowX = overflowX === "scroll" ||
128
- (overflowX === "auto" && within.width < within.element[0].scrollWidth),
129
- hasOverflowY = overflowY === "scroll" ||
130
- (overflowY === "auto" && within.height < within.element[0].scrollHeight);
131
- return {
132
- width: hasOverflowY ? $.pos.scrollbarWidth() : 0,
133
- height: hasOverflowX ? $.pos.scrollbarWidth() : 0
134
- };
135
- },
136
- getWithinInfo: function(element) {
137
- var withinElement = $(element || window),
138
- isWindow = $.isWindow(withinElement[0]),
139
- isDocument = !!withinElement[0] && withinElement[0].nodeType === 9,
140
- hasOffset = !isWindow && !isDocument;
141
- return {
142
- element: withinElement,
143
- isWindow: isWindow,
144
- isDocument: isDocument,
145
- offset: hasOffset ? $(element).offset() : {
146
- left: 0,
147
- top: 0
148
- },
149
- scrollLeft: withinElement.scrollLeft(),
150
- scrollTop: withinElement.scrollTop(),
151
- width: withinElement.outerWidth(),
152
- height: withinElement.outerHeight()
153
- };
154
  }
155
- };
 
 
 
 
 
 
 
 
 
156
 
157
- $.fn.pos = function(options) {
158
- if (!options || !options.of) {
159
- return _position.apply(this, arguments);
160
- }
 
 
161
 
162
- // Make a copy, we don't want to modify arguments
163
- options = $.extend({}, options);
 
 
164
 
165
- var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
166
- target = $(options.of),
167
- within = $.pos.getWithinInfo(options.within),
168
- scrollInfo = $.pos.getScrollInfo(within),
169
- collision = (options.collision || "flip").split(" "),
170
- offsets = {};
171
 
172
- dimensions = getDimensions(target);
173
- if (target[0].preventDefault) {
 
 
 
174
 
175
- // Force left top to allow flipping
176
- options.at = "left top";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  }
178
- targetWidth = dimensions.width;
179
- targetHeight = dimensions.height;
180
- targetOffset = dimensions.offset;
181
-
182
- // Clone to reuse original targetOffset later
183
- basePosition = $.extend({}, targetOffset);
184
-
185
- // Force my and at to have valid horizontal and vertical positions
186
- // if a value is missing or invalid, it will be converted to center
187
- $.each(["my", "at"], function() {
188
- var pos = (options[this] || "").split(" "),
189
- horizontalOffset,
190
- verticalOffset;
191
-
192
- if (pos.length === 1) {
193
- pos = rhorizontal.test(pos[0]) ?
194
- pos.concat(["center"]) :
195
- rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
196
- }
197
- pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
198
- pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
199
-
200
- // Calculate offsets
201
- horizontalOffset = roffset.exec(pos[0]);
202
- verticalOffset = roffset.exec(pos[1]);
203
- offsets[this] = [
204
- horizontalOffset ? horizontalOffset[0] : 0,
205
- verticalOffset ? verticalOffset[0] : 0
206
- ];
207
-
208
- // Reduce to just the positions without the offsets
209
- options[this] = [
210
- rposition.exec(pos[0])[0],
211
- rposition.exec(pos[1])[0]
212
- ];
213
- });
214
 
215
- // Normalize collision option
216
- if (collision.length === 1) {
217
- collision[1] = collision[0];
 
218
  }
219
 
220
- if (options.at[0] === "right") {
221
- basePosition.left += targetWidth;
222
- } else if (options.at[0] === "center") {
223
- basePosition.left += targetWidth / 2;
224
- }
225
 
226
- if (options.at[1] === "bottom") {
227
- basePosition.top += targetHeight;
228
- } else if (options.at[1] === "center") {
229
- basePosition.top += targetHeight / 2;
230
  }
231
 
232
- atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
233
- basePosition.left += atOffset[0];
234
- basePosition.top += atOffset[1];
235
-
236
- return this.each(function() {
237
- var collisionPosition, using,
238
- elem = $(this),
239
- elemWidth = elem.outerWidth(),
240
- elemHeight = elem.outerHeight(),
241
- marginLeft = parseCss(this, "marginLeft"),
242
- marginTop = parseCss(this, "marginTop"),
243
- collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") +
244
- scrollInfo.width,
245
- collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") +
246
- scrollInfo.height,
247
- position = $.extend({}, basePosition),
248
- myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
249
-
250
- if (options.my[0] === "right") {
251
- position.left -= elemWidth;
252
- } else if (options.my[0] === "center") {
253
- position.left -= elemWidth / 2;
254
- }
255
 
256
- if (options.my[1] === "bottom") {
257
- position.top -= elemHeight;
258
- } else if (options.my[1] === "center") {
259
- position.top -= elemHeight / 2;
 
 
 
 
 
 
 
 
 
 
 
 
260
  }
 
261
 
262
- position.left += myOffset[0];
263
- position.top += myOffset[1];
264
-
265
- collisionPosition = {
266
- marginLeft: marginLeft,
267
- marginTop: marginTop
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
268
  };
 
269
 
270
- $.each(["left", "top"], function(i, dir) {
271
- if ($.ui.pos[collision[i]]) {
272
- $.ui.pos[collision[i]][dir](position, {
273
- targetWidth: targetWidth,
274
- targetHeight: targetHeight,
275
- elemWidth: elemWidth,
276
- elemHeight: elemHeight,
277
- collisionPosition: collisionPosition,
278
- collisionWidth: collisionWidth,
279
- collisionHeight: collisionHeight,
280
- offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
281
- my: options.my,
282
- at: options.at,
283
- within: within,
284
- elem: elem
285
- });
286
- }
287
  });
288
-
289
- if (options.using) {
290
-
291
- // Adds feedback as second argument to using callback, if present
292
- using = function(props) {
293
- var left = targetOffset.left - position.left,
294
- right = left + targetWidth - elemWidth,
295
- top = targetOffset.top - position.top,
296
- bottom = top + targetHeight - elemHeight,
297
- feedback = {
298
- target: {
299
- element: target,
300
- left: targetOffset.left,
301
- top: targetOffset.top,
302
- width: targetWidth,
303
- height: targetHeight
304
- },
305
- element: {
306
- element: elem,
307
- left: position.left,
308
- top: position.top,
309
- width: elemWidth,
310
- height: elemHeight
311
- },
312
- horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
313
- vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
314
- };
315
- if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
316
- feedback.horizontal = "center";
317
- }
318
- if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
319
- feedback.vertical = "middle";
320
- }
321
- if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
322
- feedback.important = "horizontal";
323
  } else {
324
- feedback.important = "vertical";
325
  }
326
- options.using.call(this, props, feedback);
327
- };
328
- }
329
-
330
- elem.offset($.extend(position, {
331
- using: using
332
- }));
333
- });
334
- };
335
-
336
- $.ui.pos = {
337
- _trigger: function(position, data, name, triggered) {
338
- if (data.elem) {
339
- data.elem.trigger({
340
- 'type': name,
341
- 'position': position,
342
- 'positionData': data,
343
- 'triggered': triggered
344
- });
345
  }
 
346
  },
347
- fit: {
348
- left: function(position, data) {
349
- $.ui.pos._trigger(position, data, 'posCollide', 'fitLeft');
350
- var within = data.within,
351
- withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
352
- outerWidth = within.width,
353
- collisionPosLeft = position.left - data.collisionPosition.marginLeft,
354
- overLeft = withinOffset - collisionPosLeft,
355
- overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
356
- newOverRight;
357
-
358
- // Element is wider than within
359
- if (data.collisionWidth > outerWidth) {
360
-
361
- // Element is initially over the left side of within
362
- if (overLeft > 0 && overRight <= 0) {
363
- newOverRight = position.left + overLeft + data.collisionWidth - outerWidth -
364
- withinOffset;
365
- position.left += overLeft - newOverRight;
366
-
367
- // Element is initially over right side of within
368
- } else if (overRight > 0 && overLeft <= 0) {
369
- position.left = withinOffset;
370
-
371
- // Element is initially over both left and right sides of within
372
- } else {
373
- if (overLeft > overRight) {
374
- position.left = withinOffset + outerWidth - data.collisionWidth;
375
- } else {
376
- position.left = withinOffset;
377
- }
378
- }
379
-
380
- // Too far left -> align with left edge
381
- } else if (overLeft > 0) {
382
- position.left += overLeft;
383
-
384
- // Too far right -> align with right edge
385
- } else if (overRight > 0) {
386
- position.left -= overRight;
387
-
388
- // Adjust based on position and margin
389
  } else {
390
- position.left = max(position.left - collisionPosLeft, position.left);
391
- }
392
- $.ui.pos._trigger(position, data, 'posCollided', 'fitLeft');
393
- },
394
- top: function(position, data) {
395
- $.ui.pos._trigger(position, data, 'posCollide', 'fitTop');
396
- var within = data.within,
397
- withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
398
- outerHeight = data.within.height,
399
- collisionPosTop = position.top - data.collisionPosition.marginTop,
400
- overTop = withinOffset - collisionPosTop,
401
- overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
402
- newOverBottom;
403
-
404
- // Element is taller than within
405
- if (data.collisionHeight > outerHeight) {
406
-
407
- // Element is initially over the top of within
408
- if (overTop > 0 && overBottom <= 0) {
409
- newOverBottom = position.top + overTop + data.collisionHeight - outerHeight -
410
- withinOffset;
411
- position.top += overTop - newOverBottom;
412
-
413
- // Element is initially over bottom of within
414
- } else if (overBottom > 0 && overTop <= 0) {
415
- position.top = withinOffset;
416
-
417
- // Element is initially over both top and bottom of within
418
  } else {
419
- if (overTop > overBottom) {
420
- position.top = withinOffset + outerHeight - data.collisionHeight;
421
- } else {
422
- position.top = withinOffset;
423
- }
424
  }
425
-
426
- // Too far up -> align with top
427
- } else if (overTop > 0) {
428
- position.top += overTop;
429
-
430
- // Too far down -> align with bottom edge
431
- } else if (overBottom > 0) {
432
- position.top -= overBottom;
433
-
434
- // Adjust based on position and margin
435
- } else {
436
- position.top = max(position.top - collisionPosTop, position.top);
437
  }
438
- $.ui.pos._trigger(position, data, 'posCollided', 'fitTop');
 
 
 
 
 
 
 
 
439
  }
440
- },
441
- flip: {
442
- left: function(position, data) {
443
- $.ui.pos._trigger(position, data, 'posCollide', 'flipLeft');
444
- var within = data.within,
445
- withinOffset = within.offset.left + within.scrollLeft,
446
- outerWidth = within.width,
447
- offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
448
- collisionPosLeft = position.left - data.collisionPosition.marginLeft,
449
- overLeft = collisionPosLeft - offsetLeft,
450
- overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
451
- myOffset = data.my[0] === "left" ?
452
- -data.elemWidth :
453
- data.my[0] === "right" ?
454
- data.elemWidth :
455
- 0,
456
- atOffset = data.at[0] === "left" ?
457
- data.targetWidth :
458
- data.at[0] === "right" ?
459
- -data.targetWidth :
460
- 0,
461
- offset = -2 * data.offset[0],
462
- newOverRight,
463
- newOverLeft;
464
-
465
- if (overLeft < 0) {
466
- newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth -
467
- outerWidth - withinOffset;
468
- if (newOverRight < 0 || newOverRight < abs(overLeft)) {
469
- position.left += myOffset + atOffset + offset;
470
- }
471
- } else if (overRight > 0) {
472
- newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset +
473
- atOffset + offset - offsetLeft;
474
- if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
475
- position.left += myOffset + atOffset + offset;
476
- }
477
  }
478
- $.ui.pos._trigger(position, data, 'posCollided', 'flipLeft');
479
- },
480
- top: function(position, data) {
481
- $.ui.pos._trigger(position, data, 'posCollide', 'flipTop');
482
- var within = data.within,
483
- withinOffset = within.offset.top + within.scrollTop,
484
- outerHeight = within.height,
485
- offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
486
- collisionPosTop = position.top - data.collisionPosition.marginTop,
487
- overTop = collisionPosTop - offsetTop,
488
- overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
489
- top = data.my[1] === "top",
490
- myOffset = top ?
491
- -data.elemHeight :
492
- data.my[1] === "bottom" ?
493
- data.elemHeight :
494
- 0,
495
- atOffset = data.at[1] === "top" ?
496
- data.targetHeight :
497
- data.at[1] === "bottom" ?
498
- -data.targetHeight :
499
- 0,
500
- offset = -2 * data.offset[1],
501
- newOverTop,
502
- newOverBottom;
503
- if (overTop < 0) {
504
- newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight -
505
- outerHeight - withinOffset;
506
- if (newOverBottom < 0 || newOverBottom < abs(overTop)) {
507
- position.top += myOffset + atOffset + offset;
508
- }
509
- } else if (overBottom > 0) {
510
- newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset +
511
- offset - offsetTop;
512
- if (newOverTop > 0 || abs(newOverTop) < overBottom) {
513
- position.top += myOffset + atOffset + offset;
514
- }
515
  }
516
- $.ui.pos._trigger(position, data, 'posCollided', 'flipTop');
517
  }
 
518
  },
519
- flipfit: {
520
- left: function() {
521
- $.ui.pos.flip.left.apply(this, arguments);
522
- $.ui.pos.fit.left.apply(this, arguments);
523
- },
524
- top: function() {
525
- $.ui.pos.flip.top.apply(this, arguments);
526
- $.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
527
  }
 
528
  }
529
- };
530
- // fraction support test
531
- (function() {
532
- var testElement, testElementParent, testElementStyle, offsetLeft, i,
533
- body = document.getElementsByTagName("body")[0],
534
- div = document.createElement("div");
535
-
536
- //Create a "fake body" for testing based on method used in jQuery.support
537
- testElement = document.createElement(body ? "div" : "body");
538
- testElementStyle = {
539
- visibility: "hidden",
540
- width: 0,
541
- height: 0,
542
- border: 0,
543
- margin: 0,
544
- background: "none"
545
- };
546
- if (body) {
547
- $.extend(testElementStyle, {
548
- position: "absolute",
549
- left: "-1000px",
550
- top: "-1000px"
551
- });
552
- }
553
- for (i in testElementStyle) {
554
- testElement.style[i] = testElementStyle[i];
555
  }
556
- testElement.appendChild(div);
557
- testElementParent = body || document.documentElement;
558
- testElementParent.insertBefore(testElement, testElementParent.firstChild);
559
 
560
- div.style.cssText = "position: absolute; left: 10.7432222px;";
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
561
 
562
- offsetLeft = $(div).offset().left;
563
- $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
564
 
565
- testElement.innerHTML = "";
566
- testElementParent.removeChild(testElement);
567
- })();
568
 
 
 
569
  })();
570
 
571
- var position = $.ui.position;
572
-
573
-
574
-
575
-
576
- }));
1
+ /*!
2
+ * .pos() plugin based on jQuery UI Position 1.10.4, renamed to avoid
3
+ * problems with jQuery native .position(), and added some triggers when position
4
+ * collapses
5
+ *
6
+ * http://jqueryui.com
7
+ *
8
+ * Copyright 2014 jQuery Foundation and other contributors
9
+ * Released under the MIT license.
10
+ * http://jquery.org/license
11
+ *
12
+ * http://api.jqueryui.com/position/
13
+ */
14
+ (function($, undefined) {
15
 
16
  $.ui = $.ui || {};
17
 
18
+ var cachedScrollbarWidth,
19
+ max = Math.max,
20
+ abs = Math.abs,
21
+ round = Math.round,
22
+ rhorizontal = /left|center|right/,
23
+ rvertical = /top|center|bottom/,
24
+ roffset = /[\+\-]\d+(\.[\d]+)?%?/,
25
+ rposition = /^\w+/,
26
+ rpercent = /%$/,
27
+ _position = $.fn.pos;
28
+
29
+ function getOffsets(offsets, width, height) {
30
+ return [
31
+ parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1),
32
+ parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1)
33
+ ];
34
+ }
 
 
35
 
36
+ function parseCss(element, property) {
37
+ return parseInt($.css(element, property), 10) || 0;
38
+ }
39
 
40
+ function getDimensions(elem) {
41
+ var raw = elem[0];
42
+ if (raw.nodeType === 9) {
43
+ return {
44
+ width: elem.width(),
45
+ height: elem.height(),
46
+ offset: {
47
+ top: 0,
48
+ left: 0
49
+ }
50
+ };
 
 
 
 
 
51
  }
52
+ if ($.isWindow(raw)) {
53
+ return {
54
+ width: elem.width(),
55
+ height: elem.height(),
56
+ offset: {
57
+ top: elem.scrollTop(),
58
+ left: elem.scrollLeft()
59
+ }
60
+ };
61
+ }
62
+ if (raw.preventDefault) {
63
+ return {
64
+ width: 0,
65
+ height: 0,
66
+ offset: {
67
+ top: raw.pageY,
68
+ left: raw.pageX
69
+ }
70
+ };
71
  }
72
+ return {
73
+ width: elem.outerWidth(),
74
+ height: elem.outerHeight(),
75
+ offset: elem.offset()
76
+ };
77
+ }
78
 
79
+ $.pos = {
80
+ scrollbarWidth: function() {
81
+ if (cachedScrollbarWidth !== undefined) {
82
+ return cachedScrollbarWidth;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
83
  }
84
+ var w1, w2,
85
+ div = $("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),
86
+ innerDiv = div.children()[0];
87
+
88
+ $("body").append(div);
89
+ w1 = innerDiv.offsetWidth;
90
+ div.css("overflow", "scroll");
91
+
92
+ w2 = innerDiv.offsetWidth;
93
+
94
+ if (w1 === w2) {
95
+ w2 = div[0].clientWidth;
96
  }
97
+
98
+ div.remove();
99
+
100
+ return (cachedScrollbarWidth = w1 - w2);
101
+ },
102
+ getScrollInfo: function(within) {
103
+ var overflowX = within.isWindow || within.isDocument ? "" :
104
+ within.element.css("overflow-x"),
105
+ overflowY = within.isWindow || within.isDocument ? "" :
106
+ within.element.css("overflow-y"),
107
+ hasOverflowX = overflowX === "scroll" ||
108
+ (overflowX === "auto" && within.width < within.element[0].scrollWidth),
109
+ hasOverflowY = overflowY === "scroll" ||
110
+ (overflowY === "auto" && within.height < within.element[0].scrollHeight);
111
  return {
112
+ width: hasOverflowY ? $.pos.scrollbarWidth() : 0,
113
+ height: hasOverflowX ? $.pos.scrollbarWidth() : 0
114
+ };
115
+ },
116
+ getWithinInfo: function(element) {
117
+ var withinElement = $(element || window),
118
+ isWindow = $.isWindow(withinElement[0]),
119
+ isDocument = !!withinElement[0] && withinElement[0].nodeType === 9;
120
+ return {
121
+ element: withinElement,
122
+ isWindow: isWindow,
123
+ isDocument: isDocument,
124
+ offset: withinElement.offset() || {
125
+ left: 0,
126
+ top: 0
127
+ },
128
+ scrollLeft: withinElement.scrollLeft(),
129
+ scrollTop: withinElement.scrollTop(),
130
+ width: isWindow ? withinElement.width() : withinElement.outerWidth(),
131
+ height: isWindow ? withinElement.height() : withinElement.outerHeight()
132
  };
133
  }
134
+ };
135
 
136
+ $.fn.pos = function(options) {
137
+ if (!options || !options.of) {
138
+ return _position.apply(this, arguments);
139
+ }
 
 
 
 
 
 
 
 
 
 
 
 
140
 
141
+ // make a copy, we don't want to modify arguments
142
+ options = $.extend({}, options);
 
143
 
144
+ var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions,
145
+ target = $(options.of),
146
+ within = $.pos.getWithinInfo(options.within),
147
+ scrollInfo = $.pos.getScrollInfo(within),
148
+ collision = (options.collision || "flip").split(" "),
149
+ offsets = {};
150
 
151
+ dimensions = getDimensions(target);
152
+ if (target[0].preventDefault) {
153
+ // force left top to allow flipping
154
+ options.at = "left top";
155
+ }
156
+ targetWidth = dimensions.width;
157
+ targetHeight = dimensions.height;
158
+ targetOffset = dimensions.offset;
159
+ // clone to reuse original targetOffset later
160
+ basePosition = $.extend({}, targetOffset);
161
+
162
+ // force my and at to have valid horizontal and vertical positions
163
+ // if a value is missing or invalid, it will be converted to center
164
+ $.each(["my", "at"], function() {
165
+ var pos = (options[this] || "").split(" "),
166
+ horizontalOffset,
167
+ verticalOffset;
168
+
169
+ if (pos.length === 1) {
170
+ pos = rhorizontal.test(pos[0]) ?
171
+ pos.concat(["center"]) :
172
+ rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"];
 
 
 
 
 
 
 
 
 
 
 
 
173
  }
174
+ pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center";
175
+ pos[1] = rvertical.test(pos[1]) ? pos[1] : "center";
176
+
177
+ // calculate offsets
178
+ horizontalOffset = roffset.exec(pos[0]);
179
+ verticalOffset = roffset.exec(pos[1]);
180
+ offsets[this] = [
181
+ horizontalOffset ? horizontalOffset[0] : 0,
182
+ verticalOffset ? verticalOffset[0] : 0
183
+ ];
184
 
185
+ // reduce to just the positions without the offsets
186
+ options[this] = [
187
+ rposition.exec(pos[0])[0],
188
+ rposition.exec(pos[1])[0]
189
+ ];
190
+ });
191
 
192
+ // normalize collision option
193
+ if (collision.length === 1) {
194
+ collision[1] = collision[0];
195
+ }
196
 
197
+ if (options.at[0] === "right") {
198
+ basePosition.left += targetWidth;
199
+ } else if (options.at[0] === "center") {
200
+ basePosition.left += targetWidth / 2;
201
+ }
 
202
 
203
+ if (options.at[1] === "bottom") {
204
+ basePosition.top += targetHeight;
205
+ } else if (options.at[1] === "center") {
206
+ basePosition.top += targetHeight / 2;
207
+ }
208
 
209
+ atOffset = getOffsets(offsets.at, targetWidth, targetHeight);
210
+ basePosition.left += atOffset[0];
211
+ basePosition.top += atOffset[1];
212
+
213
+ return this.each(function() {
214
+ var collisionPosition, using,
215
+ elem = $(this),
216
+ elemWidth = elem.outerWidth(),
217
+ elemHeight = elem.outerHeight(),
218
+ marginLeft = parseCss(this, "marginLeft"),
219
+ marginTop = parseCss(this, "marginTop"),
220
+ collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width,
221
+ collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height,
222
+ position = $.extend({}, basePosition),
223
+ myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight());
224
+
225
+ if (options.my[0] === "right") {
226
+ position.left -= elemWidth;
227
+ } else if (options.my[0] === "center") {
228
+ position.left -= elemWidth / 2;
229
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
230
 
231
+ if (options.my[1] === "bottom") {
232
+ position.top -= elemHeight;
233
+ } else if (options.my[1] === "center") {
234
+ position.top -= elemHeight / 2;
235
  }
236
 
237
+ position.left += myOffset[0];
238
+ position.top += myOffset[1];
 
 
 
239
 
240
+ // if the browser doesn't support fractions, then round for consistent results
241
+ if (!$.support.offsetFractions) {
242
+ position.left = round(position.left);
243
+ position.top = round(position.top);
244
  }
245
 
246
+ collisionPosition = {
247
+ marginLeft: marginLeft,
248
+ marginTop: marginTop
249
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
250
 
251
+ $.each(["left", "top"], function(i, dir) {
252
+ if ($.ui.pos[collision[i]]) {
253
+ $.ui.pos[collision[i]][dir](position, {
254
+ targetWidth: targetWidth,
255
+ targetHeight: targetHeight,
256
+ elemWidth: elemWidth,
257
+ elemHeight: elemHeight,
258
+ collisionPosition: collisionPosition,
259
+ collisionWidth: collisionWidth,
260
+ collisionHeight: collisionHeight,
261
+ offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]],
262
+ my: options.my,
263
+ at: options.at,
264
+ within: within,
265
+ elem: elem
266
+ });
267
  }
268
+ });
269
 
270
+ if (options.using) {
271
+ // adds feedback as second argument to using callback, if present
272
+ using = function(props) {
273
+ var left = targetOffset.left - position.left,
274
+ right = left + targetWidth - elemWidth,
275
+ top = targetOffset.top - position.top,
276
+ bottom = top + targetHeight - elemHeight,
277
+ feedback = {
278
+ target: {
279
+ element: target,
280
+ left: targetOffset.left,
281
+ top: targetOffset.top,
282
+ width: targetWidth,
283
+ height: targetHeight
284
+ },
285
+ element: {
286
+ element: elem,
287
+ left: position.left,
288
+ top: position.top,
289
+ width: elemWidth,
290
+ height: elemHeight
291
+ },
292
+ horizontal: right < 0 ? "left" : left > 0 ? "right" : "center",
293
+ vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle"
294
+ };
295
+ if (targetWidth < elemWidth && abs(left + right) < targetWidth) {
296
+ feedback.horizontal = "center";
297
+ }
298
+ if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) {
299
+ feedback.vertical = "middle";
300
+ }
301
+ if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) {
302
+ feedback.important = "horizontal";
303
+ } else {
304
+ feedback.important = "vertical";
305
+ }
306
+ options.using.call(this, props, feedback);
307
  };
308
+ }
309
 
310
+ elem.offset($.extend(position, {
311
+ using: using
312
+ }));
313
+ });
314
+ };
315
+
316
+ $.ui.pos = {
317
+ _trigger: function(position, data, name, triggered) {
318
+ if (data.elem) {
319
+ data.elem.trigger({
320
+ 'type': name,
321
+ 'position': position,
322
+ 'positionData': data,
323
+ 'triggered': triggered
 
 
 
324
  });
325
+ }
326
+ },
327
+ fit: {
328
+ left: function(position, data) {
329
+ $.ui.pos._trigger(position, data, 'posCollide', 'fitLeft');
330
+ var within = data.within,
331
+ withinOffset = within.isWindow ? within.scrollLeft : within.offset.left,
332
+ outerWidth = within.width,
333
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
334
+ overLeft = withinOffset - collisionPosLeft,
335
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset,
336
+ newOverRight;
337
+
338
+ // element is wider than within
339
+ if (data.collisionWidth > outerWidth) {
340
+ // element is initially over the left side of within
341
+ if (overLeft > 0 && overRight <= 0) {
342
+ newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset;
343
+ position.left += overLeft - newOverRight;
344
+ // element is initially over right side of within
345
+ } else if (overRight > 0 && overLeft <= 0) {
346
+ position.left = withinOffset;
347
+ // element is initially over both left and right sides of within
348
+ } else {
349
+ if (overLeft > overRight) {
350
+ position.left = withinOffset + outerWidth - data.collisionWidth;
 
 
 
 
 
 
 
 
 
351
  } else {
352
+ position.left = withinOffset;
353
  }
354
+ }
355
+ // too far left -> align with left edge
356
+ } else if (overLeft > 0) {
357
+ position.left += overLeft;
358
+ // too far right -> align with right edge
359
+ } else if (overRight > 0) {
360
+ position.left -= overRight;
361
+ // adjust based on position and margin
362
+ } else {
363
+ position.left = max(position.left - collisionPosLeft, position.left);
 
 
 
 
 
 
 
 
 
364
  }
365
+ $.ui.pos._trigger(position, data, 'posCollided', 'fitLeft');
366
  },
367
+ top: function(position, data) {
368
+ $.ui.pos._trigger(position, data, 'posCollide', 'fitTop');
369
+ var within = data.within,
370
+ withinOffset = within.isWindow ? within.scrollTop : within.offset.top,
371
+ outerHeight = data.within.height,
372
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
373
+ overTop = withinOffset - collisionPosTop,
374
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset,
375
+ newOverBottom;
376
+
377
+ // element is taller than within
378
+ if (data.collisionHeight > outerHeight) {
379
+ // element is initially over the top of within
380
+ if (overTop > 0 && overBottom <= 0) {
381
+ newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset;
382
+ position.top += overTop - newOverBottom;
383
+ // element is initially over bottom of within
384
+ } else if (overBottom > 0 && overTop <= 0) {
385
+ position.top = withinOffset;
386
+ // element is initially over both top and bottom of within
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
387
  } else {
388
+ if (overTop > overBottom) {
389
+ position.top = withinOffset + outerHeight - data.collisionHeight;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
390
  } else {
391
+ position.top = withinOffset;
 
 
 
 
392
  }
 
 
 
 
 
 
 
 
 
 
 
 
393
  }
394
+ // too far up -> align with top
395
+ } else if (overTop > 0) {
396
+ position.top += overTop;
397
+ // too far down -> align with bottom edge
398
+ } else if (overBottom > 0) {
399
+ position.top -= overBottom;
400
+ // adjust based on position and margin
401
+ } else {
402
+ position.top = max(position.top - collisionPosTop, position.top);
403
  }
404
+ $.ui.pos._trigger(position, data, 'posCollided', 'fitTop');
405
+ }
406
+ },
407
+ flip: {
408
+ left: function(position, data) {
409
+ $.ui.pos._trigger(position, data, 'posCollide', 'flipLeft');
410
+ var within = data.within,
411
+ withinOffset = within.offset.left + within.scrollLeft,
412
+ outerWidth = within.width,
413
+ offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left,
414
+ collisionPosLeft = position.left - data.collisionPosition.marginLeft,
415
+ overLeft = collisionPosLeft - offsetLeft,
416
+ overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft,
417
+ myOffset = data.my[0] === "left" ?
418
+ -data.elemWidth :
419
+ data.my[0] === "right" ?
420
+ data.elemWidth :
421
+ 0,
422
+ atOffset = data.at[0] === "left" ?
423
+ data.targetWidth :
424
+ data.at[0] === "right" ?
425
+ -data.targetWidth :
426
+ 0,
427
+ offset = -2 * data.offset[0],
428
+ newOverRight,
429
+ newOverLeft;
430
+
431
+ if (overLeft < 0) {
432
+ newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset;
433
+ if (newOverRight < 0 || newOverRight < abs(overLeft)) {
434
+ position.left += myOffset + atOffset + offset;
 
 
 
 
 
 
435
  }
436
+ } else if (overRight > 0) {
437
+ newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft;
438
+ if (newOverLeft > 0 || abs(newOverLeft) < overRight) {
439
+ position.left += myOffset + atOffset + offset;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
440
  }
 
441
  }
442
+ $.ui.pos._trigger(position, data, 'posCollided', 'flipLeft');
443
  },
444
+ top: function(position, data) {
445
+ $.ui.pos._trigger(position, data, 'posCollide', 'flipTop');
446
+ var within = data.within,
447
+ withinOffset = within.offset.top + within.scrollTop,
448
+ outerHeight = within.height,
449
+ offsetTop = within.isWindow ? within.scrollTop : within.offset.top,
450
+ collisionPosTop = position.top - data.collisionPosition.marginTop,
451
+ overTop = collisionPosTop - offsetTop,
452
+ overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop,
453
+ top = data.my[1] === "top",
454
+ myOffset = top ?
455
+ -data.elemHeight :
456
+ data.my[1] === "bottom" ?
457
+ data.elemHeight :
458
+ 0,
459
+ atOffset = data.at[1] === "top" ?
460
+ data.targetHeight :
461
+ data.at[1] === "bottom" ?
462
+ -data.targetHeight :
463
+ 0,
464
+ offset = -2 * data.offset[1],
465
+ newOverTop,
466
+ newOverBottom;
467
+ if (overTop < 0) {
468
+ newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset;
469
+ if ((position.top + myOffset + atOffset + offset) > overTop && (newOverBottom < 0 || newOverBottom < abs(overTop))) {
470
+ position.top += myOffset + atOffset + offset;
471
+ }
472
+ } else if (overBottom > 0) {
473
+ newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop;
474
+ if ((position.top + myOffset + atOffset + offset) > overBottom && (newOverTop > 0 || abs(newOverTop) < overBottom)) {
475
+ position.top += myOffset + atOffset + offset;
476
+ }
477
  }
478
+ $.ui.pos._trigger(position, data, 'posCollided', 'flipTop');
479
  }
480
+ },
481
+ flipfit: {
482
+ left: function() {
483
+ $.ui.pos.flip.left.apply(this, arguments);
484
+ $.ui.pos.fit.left.apply(this, arguments);
485
+ },
486
+ top: function() {
487
+ $.ui.pos.flip.top.apply(this, arguments);
488
+ $.ui.pos.fit.top.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
489
  }
490
+ }
491
+ };
 
492
 
493
+ // fraction support test
494
+ (function() {
495
+ var testElement, testElementParent, testElementStyle, offsetLeft, i,
496
+ body = document.getElementsByTagName("body")[0],
497
+ div = document.createElement("div");
498
+
499
+ //Create a "fake body" for testing based on method used in jQuery.support
500
+ testElement = document.createElement(body ? "div" : "body");
501
+ testElementStyle = {
502
+ visibility: "hidden",
503
+ width: 0,
504
+ height: 0,
505
+ border: 0,
506
+ margin: 0,
507
+ background: "none"
508
+ };
509
+ if (body) {
510
+ $.extend(testElementStyle, {
511
+ position: "absolute",
512
+ left: "-1000px",
513
+ top: "-1000px"
514
+ });
515
+ }
516
+ for (i in testElementStyle) {
517
+ testElement.style[i] = testElementStyle[i];
518
+ }
519
+ testElement.appendChild(div);
520
+ testElementParent = body || document.documentElement;
521
+ testElementParent.insertBefore(testElement, testElementParent.firstChild);
522
 
523
+ div.style.cssText = "position: absolute; left: 10.7432222px;";
 
524
 
525
+ offsetLeft = $(div).offset().left;
526
+ $.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11;
 
527
 
528
+ testElement.innerHTML = "";
529
+ testElementParent.removeChild(testElement);
530
  })();
531
 
532
+ }(jQuery));
 
 
 
 
 
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/iconpicker.less CHANGED
@@ -1,77 +1,77 @@
1
  /*!
2
  * Font Awesome Icon Picker
3
- * https://farbelous.github.io/fontawesome-iconpicker/
 
 
 
 
4
  *
5
- * @author Javi Aguilar, itsjavi.com
6
- * @license MIT License
7
- * @see https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
8
  */
9
  @import 'variables.less';
10
  @import 'popovers.less';
11
 
12
- .iconpicker {
13
- * {
14
- -webkit-box-sizing: content-box;
15
- -moz-box-sizing: content-box;
16
- box-sizing: content-box;
17
- position: relative;
18
- }
19
- position: relative;
20
- .clearfix();
21
- text-align: left;
22
- text-shadow: none;
23
- line-height: 0;
24
- display: block;
25
- margin: 0;
26
- overflow: hidden;
27
-
28
- .iconpicker-items {
29
  position: relative;
30
  .clearfix();
31
- clear: both;
32
- float: none;
33
- padding: @base_spacing 0 0 @base_spacing;
34
- background: #fff;
35
- //margin:0 -@base_spacing -@base_spacing 0;
36
- //width:@picker_width - (@base_spacing*2);
37
- margin: 0;
38
- overflow: hidden;
39
- overflow-y: auto;
40
- min-height: @row_outer_height;
41
- max-height: (@row_outer_height * @num_rows) + 1;
42
 
43
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
44
 
45
- .iconpicker-item {
46
- float: left;
47
- width: @item_size;
48
- height: @item_size;
49
- padding: @base_spacing;
50
- margin: 0 @base_spacing @base_spacing 0;
51
- text-align: center;
52
- cursor: pointer;
53
- border-radius: 3px;
54
- font-size: @item_size;
55
- .outer-border();
56
- color: inherit;
57
- &:hover:not(.iconpicker-selected) {
58
- background-color: @hover_bg;
59
  }
60
- &.iconpicker-selected {
61
- box-shadow: none;
62
- color: #fff;
63
- background: #000;
64
- }
65
- /*&:nth-child(4n+4) {
66
- margin-right: 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  }
68
- &:nth-last-child(-n+4) {
69
- margin-bottom: 0;
70
- }*/
71
- //box-shadow:0;
72
- }
73
  }
74
 
75
- .iconpicker-component {
76
- cursor: pointer;
77
- }
1
  /*!
2
  * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
  *
 
 
 
9
  */
10
  @import 'variables.less';
11
  @import 'popovers.less';
12
 
13
+ .iconpicker{
14
+ *{
15
+ -webkit-box-sizing: content-box;
16
+ -moz-box-sizing: content-box;
17
+ box-sizing: content-box;
18
+ position: relative;
19
+ }
 
 
 
 
 
 
 
 
 
 
20
  position: relative;
21
  .clearfix();
22
+ text-align:left;
23
+ text-shadow:none;
24
+ line-height:0;
25
+ display:block;
26
+ margin:0;
27
+ overflow:hidden;
 
 
 
 
 
28
 
29
+ .iconpicker-items{
30
+ position: relative;
31
+ .clearfix();
32
+ clear:both;
33
+ float:none;
34
+ padding:@base_spacing 0 0 @base_spacing;
35
+ background:#fff;
36
+ //margin:0 -@base_spacing -@base_spacing 0;
37
+ //width:@picker_width - (@base_spacing*2);
38
+ margin:0;
39
+ overflow:hidden;
40
+ overflow-y: auto;
41
+ min-height: @row_outer_height;
42
+ max-height: (@row_outer_height * @num_rows) + 1;
43
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
44
  }
45
+
46
+ .iconpicker-item{
47
+ float:left;
48
+ width:@item_size;
49
+ height:@item_size;
50
+ padding: @base_spacing;
51
+ margin:0 @base_spacing @base_spacing 0;
52
+ text-align:center;
53
+ cursor:pointer;
54
+ border-radius:3px;
55
+ font-size:@item_size;
56
+ .outer-border();
57
+ color:inherit;
58
+ &:hover:not(.iconpicker-selected){
59
+ background-color:@hover_bg;
60
+ }
61
+ &.iconpicker-selected{
62
+ box-shadow: none;
63
+ color:#fff;
64
+ }
65
+ /*&:nth-child(4n+4) {
66
+ margin-right: 0;
67
+ }
68
+ &:nth-last-child(-n+4) {
69
+ margin-bottom: 0;
70
+ }*/
71
+ //box-shadow:0;
72
  }
 
 
 
 
 
73
  }
74
 
75
+ .iconpicker-component{
76
+ cursor:pointer;
77
+ }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/popovers.less CHANGED
@@ -1,103 +1,104 @@
 
 
 
 
 
 
 
 
 
 
1
  //
2
  // Popovers
3
  // --------------------------------------------------
4
 
 
5
  .iconpicker-popover.popover {
6
- position: absolute;
7
- top: 0;
8
- left: 0;
9
- display: none;
10
- max-width: none;
11
- padding: 1px;
12
- text-align: left;
13
- width: @picker_width + @num_cols;
14
- background: @popover-title-bg;
15
- z-index: 9;
16
-
17
- // Offset the popover to account for the popover arrow
18
- &.top, &.topLeftCorner, &.topLeft, &.topRight, &.topRightCorner {
19
- margin-top: -@popover-arrow-width;
20
- }
21
- &.right, &.rightTop, &.rightBottom {
22
- margin-left: @popover-arrow-width;
23
- }
24
- &.bottom, &.bottomRightCorner, &.bottomRight, &.bottomLeft, &.bottomLeftCorner {
25
- margin-top: @popover-arrow-width;
26
- }
27
- &.left, &.leftBottom, &.leftTop {
28
- margin-left: -@popover-arrow-width;
29
- }
30
-
31
- &.inline {
32
- > .arrow {
33
- display: none;
34
- }
35
- margin: 0 0 @base_spacing 0;
36
- position: relative;
37
- display: inline-block;
38
- opacity: 1;
39
- top: auto;
40
- left: auto;
41
- bottom: auto;
42
- right: auto;
43
- max-width: 100%;
44
- box-shadow: none;
45
- z-index: auto;
46
- vertical-align: top;
47
- }
48
  }
49
 
50
- .dropdown-menu .iconpicker-popover.inline {
51
- margin: 0;
52
- border: none;
53
  }
54
 
55
- .dropdown-menu.iconpicker-container {
56
- padding: 0;
57
  }
58
 
59
  .iconpicker-popover.popover .popover-title {
60
- //padding: 8px 14px;
61
- //border-radius: 5px 5px 0 0;
62
- padding: @base_spacing;
63
- font-size: @title_size;
64
- line-height: @title_size + 2px;
65
- border-bottom: 1px solid darken(@popover-title-bg, 5%);
66
- background-color: @popover-title-bg;
67
-
68
- input[type=search].iconpicker-search {
69
- margin: 0 0 2px 0;
70
- }
71
  }
72
-
73
- .iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {
74
- margin-top: @base_spacing;
75
  }
76
 
77
  .iconpicker-popover.popover .popover-content {
78
- //padding: 9px 14px;
79
- padding: 0px;
80
- text-align: center;
81
- //overflow:hidden;
82
  }
83
 
84
- .iconpicker-popover .popover-footer {
85
- .clearfix();
86
- float: none;
87
- clear: both;
88
- padding: @base_spacing;
89
- text-align: right;
90
- margin: 0;
91
- border-top: 1px solid darken(@popover-title-bg, 5%);
92
- background-color: @popover-title-bg;
93
- .iconpicker-btn {
94
- margin-left: 10px;
95
- }
96
- input[type=search].iconpicker-search {
97
- /*width:auto;
98
- float:left;*/
99
- margin-bottom: @base_spacing;
100
- }
101
  }
102
 
103
  // Arrows
@@ -105,133 +106,131 @@
105
  // .arrow is outer, .arrow:after is inner
106
 
107
  .iconpicker-popover.popover > .arrow {
108
- &,
109
- &:after {
110
- position: absolute;
111
- display: block;
112
- width: 0;
113
- height: 0;
114
- border-color: transparent;
115
- border-style: solid;
116
- }
117
  }
118
-
119
  .iconpicker-popover.popover > .arrow {
120
- border-width: @popover-arrow-outer-width;
121
  }
122
-
123
  .iconpicker-popover.popover > .arrow:after {
124
- border-width: @popover-arrow-width;
125
- content: "";
126
  }
127
 
128
  .iconpicker-popover.popover {
129
- &.top, &.topLeft, &.topRight {
130
- > .arrow {
131
- left: 50%;
132
- margin-left: -@popover-arrow-outer-width;
133
- border-bottom-width: 0;
134
- border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
135
- border-top-color: @popover-arrow-outer-color;
136
- bottom: -@popover-arrow-outer-width;
137
- &:after {
138
- content: " ";
139
- bottom: 1px;
140
- margin-left: -@popover-arrow-width;
141
- border-bottom-width: 0;
142
- border-top-color: @popover-arrow-color;
143
- }
144
- }
145
- }
146
- &.topLeft > .arrow {
147
- left: @arrow_position;
148
- margin-left: 0;
149
- }
150
- &.topRight > .arrow {
151
- left: auto;
152
- right: @arrow_position;
153
- margin-left: 0;
154
- }
155
- &.right, &.rightTop, &.rightBottom {
156
- > .arrow {
157
- top: 50%;
158
- left: -@popover-arrow-outer-width;
159
- margin-top: -@popover-arrow-outer-width;
160
- border-left-width: 0;
161
- border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
162
- border-right-color: @popover-arrow-outer-color;
163
- &:after {
164
- content: " ";
165
- left: 1px;
166
- bottom: -@popover-arrow-width;
167
- border-left-width: 0;
168
- border-right-color: @popover-arrow-color;
169
- }
170
- }
171
- }
172
-
173
- &.rightTop > .arrow {
174
- top: auto;
175
- bottom: @arrow_position;
176
- margin-top: 0;
177
- }
178
- &.rightBottom > .arrow {
179
- top: @arrow_position;
180
- margin-top: 0;
181
- }
182
-
183
- &.bottom, &.bottomRight, &.bottomLeft {
184
- > .arrow {
185
- left: 50%;
186
- margin-left: -@popover-arrow-outer-width;
187
- border-top-width: 0;
188
- border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
189
- border-bottom-color: @popover-arrow-outer-color;
190
- top: -@popover-arrow-outer-width;
191
- &:after {
192
- content: " ";
193
- top: 1px;
194
- margin-left: -@popover-arrow-width;
195
- border-top-width: 0;
196
- border-bottom-color: @popover-arrow-color;
197
- }
198
- }
199
- }
200
- &.bottomLeft > .arrow {
201
- left: @arrow_position;
202
- margin-left: 0;
203
- }
204
- &.bottomRight > .arrow {
205
- left: auto;
206
- right: @arrow_position;
207
- margin-left: 0;
208
- }
209
-
210
- &.left, &.leftBottom, &.leftTop {
211
- > .arrow {
212
- top: 50%;
213
- right: -@popover-arrow-outer-width;
214
- margin-top: -@popover-arrow-outer-width;
215
- border-right-width: 0;
216
- border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
217
- border-left-color: @popover-arrow-outer-color;
218
- &:after {
219
- content: " ";
220
- right: 1px;
221
- border-right-width: 0;
222
- border-left-color: @popover-arrow-color;
223
- bottom: -@popover-arrow-width;
224
- }
225
- }
226
- }
227
-
228
- &.leftBottom > .arrow {
229
- top: @arrow_position;
230
- margin-top: 0;
231
- }
232
- &.leftTop > .arrow {
233
- top: auto;
234
- bottom: @arrow_position;
235
- margin-top: 0;
236
- }
237
  }
1
+ /*
2
+ * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
+ *
9
+ */
10
+
11
  //
12
  // Popovers
13
  // --------------------------------------------------
14
 
15
+
16
  .iconpicker-popover.popover {
17
+ position: absolute;
18
+ top: 0;
19
+ left: 0;
20
+ display: none;
21
+ max-width: none;
22
+ padding: 1px;
23
+ text-align: left;
24
+ width: @picker_width + @num_cols;
25
+ background:@popover-title-bg;
26
+
27
+ // Offset the popover to account for the popover arrow
28
+ &.top, &.topLeftCorner, &.topLeft, &.topRight, &.topRightCorner { margin-top: -@popover-arrow-width; }
29
+ &.right, &.rightTop, &.rightBottom { margin-left: @popover-arrow-width; }
30
+ &.bottom, &.bottomRightCorner, &.bottomRight, &.bottomLeft, &.bottomLeftCorner { margin-top: @popover-arrow-width; }
31
+ &.left, &.leftBottom, &.leftTop { margin-left: -@popover-arrow-width; }
32
+
33
+ &.inline{
34
+ > .arrow{
35
+ display:none;
36
+ }
37
+ margin: 0 0 @base_spacing 0;
38
+ position: relative;
39
+ display:inline-block;
40
+ opacity:1;
41
+ top:auto;
42
+ left:auto;
43
+ bottom:auto;
44
+ right:auto;
45
+ max-width: 100%;
46
+ box-shadow: none;
47
+ z-index:auto;
48
+ vertical-align: top;
49
+ }
 
 
 
 
 
 
 
 
 
50
  }
51
 
52
+ .dropdown-menu .iconpicker-popover.inline{
53
+ margin:0;
54
+ border:none;
55
  }
56
 
57
+ .dropdown-menu.iconpicker-container{
58
+ padding:0;
59
  }
60
 
61
  .iconpicker-popover.popover .popover-title {
62
+ //padding: 8px 14px;
63
+ //border-radius: 5px 5px 0 0;
64
+ padding:@base_spacing;
65
+ font-size:@title_size;
66
+ line-height:@title_size + 2px;
67
+ border-bottom:1px solid darken(@popover-title-bg, 5%);
68
+ background-color: @popover-title-bg;
69
+
70
+ input[type=search].iconpicker-search{
71
+ margin: 0 0 2px 0;
72
+ }
73
  }
74
+ .iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search{
75
+ margin-top: @base_spacing;
 
76
  }
77
 
78
  .iconpicker-popover.popover .popover-content {
79
+ //padding: 9px 14px;
80
+ padding:0px;
81
+ text-align: center;
82
+ //overflow:hidden;
83
  }
84
 
85
+ .iconpicker-popover .popover-footer{
86
+ .clearfix();
87
+ float:none;
88
+ clear:both;
89
+ padding:@base_spacing;
90
+ text-align:right;
91
+ margin:0;
92
+ border-top:1px solid darken(@popover-title-bg, 5%);
93
+ background-color: @popover-title-bg;
94
+ .iconpicker-btn{
95
+ margin-left: 10px;
96
+ }
97
+ input[type=search].iconpicker-search{
98
+ /*width:auto;
99
+ float:left;*/
100
+ margin-bottom: @base_spacing;
101
+ }
102
  }
103
 
104
  // Arrows
106
  // .arrow is outer, .arrow:after is inner
107
 
108
  .iconpicker-popover.popover > .arrow {
109
+ &,
110
+ &:after {
111
+ position: absolute;
112
+ display: block;
113
+ width: 0;
114
+ height: 0;
115
+ border-color: transparent;
116
+ border-style: solid;
117
+ }
118
  }
 
119
  .iconpicker-popover.popover > .arrow {
120
+ border-width: @popover-arrow-outer-width;
121
  }
 
122
  .iconpicker-popover.popover > .arrow:after {
123
+ border-width: @popover-arrow-width;
124
+ content: "";
125
  }
126
 
127
  .iconpicker-popover.popover {
128
+ &.top, &.topLeft, &.topRight{
129
+ > .arrow {
130
+ left: 50%;
131
+ margin-left: -@popover-arrow-outer-width;
132
+ border-bottom-width: 0;
133
+ border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback
134
+ border-top-color: @popover-arrow-outer-color;
135
+ bottom: -@popover-arrow-outer-width;
136
+ &:after {
137
+ content: " ";
138
+ bottom: 1px;
139
+ margin-left: -@popover-arrow-width;
140
+ border-bottom-width: 0;
141
+ border-top-color: @popover-arrow-color;
142
+ }
143
+ }
144
+ }
145
+ &.topLeft > .arrow{
146
+ left:@arrow_position;
147
+ margin-left:0;
148
+ }
149
+ &.topRight > .arrow{
150
+ left:auto;
151
+ right:@arrow_position;
152
+ margin-left:0;
153
+ }
154
+ &.right, &.rightTop, &.rightBottom{
155
+ > .arrow {
156
+ top: 50%;
157
+ left: -@popover-arrow-outer-width;
158
+ margin-top: -@popover-arrow-outer-width;
159
+ border-left-width: 0;
160
+ border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback
161
+ border-right-color: @popover-arrow-outer-color;
162
+ &:after {
163
+ content: " ";
164
+ left: 1px;
165
+ bottom: -@popover-arrow-width;
166
+ border-left-width: 0;
167
+ border-right-color: @popover-arrow-color;
168
+ }
169
+ }
170
+ }
171
+
172
+ &.rightTop > .arrow{
173
+ top:auto;
174
+ bottom:@arrow_position;
175
+ margin-top:0;
176
+ }
177
+ &.rightBottom > .arrow{
178
+ top:@arrow_position;
179
+ margin-top:0;
180
+ }
181
+
182
+ &.bottom, &.bottomRight, &.bottomLeft{
183
+ > .arrow {
184
+ left: 50%;
185
+ margin-left: -@popover-arrow-outer-width;
186
+ border-top-width: 0;
187
+ border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback
188
+ border-bottom-color: @popover-arrow-outer-color;
189
+ top: -@popover-arrow-outer-width;
190
+ &:after {
191
+ content: " ";
192
+ top: 1px;
193
+ margin-left: -@popover-arrow-width;
194
+ border-top-width: 0;
195
+ border-bottom-color: @popover-arrow-color;
196
+ }
197
+ }
198
+ }
199
+ &.bottomLeft > .arrow{
200
+ left:@arrow_position;
201
+ margin-left:0;
202
+ }
203
+ &.bottomRight > .arrow{
204
+ left:auto;
205
+ right:@arrow_position;
206
+ margin-left:0;
207
+ }
208
+
209
+ &.left, &.leftBottom, &.leftTop{
210
+ > .arrow {
211
+ top: 50%;
212
+ right: -@popover-arrow-outer-width;
213
+ margin-top: -@popover-arrow-outer-width;
214
+ border-right-width: 0;
215
+ border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback
216
+ border-left-color: @popover-arrow-outer-color;
217
+ &:after {
218
+ content: " ";
219
+ right: 1px;
220
+ border-right-width: 0;
221
+ border-left-color: @popover-arrow-color;
222
+ bottom: -@popover-arrow-width;
223
+ }
224
+ }
225
+ }
226
+
227
+ &.leftBottom > .arrow{
228
+ top:@arrow_position;
229
+ margin-top:0;
230
+ }
231
+ &.leftTop > .arrow{
232
+ top:auto;
233
+ bottom:@arrow_position;
234
+ margin-top:0;
235
+ }
236
  }
vendor/mickey-kay/better-font-awesome-library/lib/fontawesome-iconpicker/src/less/variables.less CHANGED
@@ -1,11 +1,20 @@
 
 
 
 
 
 
 
 
 
 
1
  // Iconpicker variables:
2
- @item_size: 14px;
3
- @hover_bg: #eee;
4
  @num_cols: 4;
5
  @num_rows: 5;
6
  @base_spacing: 12px;
7
- @scrollbar_compensation: @base_spacing + 6px;
8
- @picker_width: (@item_size * @num_cols) + (@num_cols * @base_spacing * (@num_cols - 1)) + @base_spacing + @scrollbar_compensation;
9
  @row_outer_height: (@item_size + (@base_spacing * 3)) - 1px;
10
  @title_size: (@base_spacing + @item_size) / 2;
11
  @border_color: #ddd;
@@ -16,28 +25,29 @@
16
  //##
17
 
18
  //** Popover body background color
19
- @popover-bg: #fff;
20
  //** Popover maximum width
21
- @popover-max-width: 276px;
22
  //** Popover border color
23
- @popover-border-color: rgba(0, 0, 0, .2);
24
  //** Popover fallback border color
25
- @popover-fallback-border-color: #ccc;
26
 
27
  //** Popover title background color
28
- @popover-title-bg: darken(@popover-bg, 3%);
29
 
30
  //** Popover arrow width
31
- @popover-arrow-width: 10px;
32
  //** Popover arrow color
33
- @popover-arrow-color: #fff;
34
 
35
  //** Popover outer arrow width
36
- @popover-arrow-outer-width: (@popover-arrow-width + 1);
37
  //** Popover outer arrow color
38
- @popover-arrow-outer-color: fadein(@popover-border-color, 5%);
39
  //** Popover outer arrow fallback color
40
- @popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
 
41
 
42
  // Clearfix
43
  //
@@ -52,50 +62,53 @@
52
  // Source: http://nicolasgallagher.com/micro-clearfix-hack/
53
 
54
  .clearfix() {
55
- &:before,
56
- &:after {
57
- content: " "; // 1
58
- display: table; // 2
59
- }
60
- &:after {
61
- clear: both;
62
- }
63
  }
64
 
65
- .outer-border() {
66
- box-shadow: 0 0 0 1px @border_color;
67
  }
68
 
 
69
  //
70
  // Other Bootstrap Variables:
71
  // --------------------------------------------------
72
 
 
73
  //== Colors
74
  //
75
  //## Gray and brand colors for use across Bootstrap.
76
 
77
- @gray-darker: lighten(#000, 13.5%); // #222
78
- @gray-dark: lighten(#000, 20%); // #333
79
- @gray: lighten(#000, 33.5%); // #555
80
- @gray-light: lighten(#000, 60%); // #999
81
- @gray-lighter: lighten(#000, 93.5%); // #eee
 
 
 
 
 
 
82
 
83
- @brand-primary: #428bca;
84
- @brand-success: #5cb85c;
85
- @brand-info: #5bc0de;
86
- @brand-warning: #f0ad4e;
87
- @brand-danger: #d9534f;
88
 
89
  //== Scaffolding
90
  //
91
  // ## Settings for some of the most global styles.
92
 
93
  //** Background color for `<body>`.
94
- @body-bg: #fff;
95
  //** Global text color on `<body>`.
96
- @text-color: @gray-dark;
97
 
98
  //** Global textual link color.
99
- @link-color: @brand-primary;
100
  //** Link hover color set via `darken()` function.
101
- @link-hover-color: darken(@link-color, 15%);
1
+ /*
2
+ * Font Awesome Icon Picker
3
+ * https://itsjavi.com/fontawesome-iconpicker/
4
+ *
5
+ * Originally written by (c) 2016 Javi Aguilar
6
+ * Licensed under the MIT License
7
+ * https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE
8
+ *
9
+ */
10
+
11
  // Iconpicker variables:
12
+ @item_size:14px;
13
+ @hover_bg:#eee;
14
  @num_cols: 4;
15
  @num_rows: 5;
16
  @base_spacing: 12px;
17
+ @picker_width: (@item_size * @num_cols) + (@num_cols * @base_spacing * (@num_cols - 1)) + @base_spacing;
 
18
  @row_outer_height: (@item_size + (@base_spacing * 3)) - 1px;
19
  @title_size: (@base_spacing + @item_size) / 2;
20
  @border_color: #ddd;
25
  //##
26
 
27
  //** Popover body background color
28
+ @popover-bg: #fff;
29
  //** Popover maximum width
30
+ @popover-max-width: 276px;
31
  //** Popover border color
32
+ @popover-border-color: rgba(0,0,0,.2);
33
  //** Popover fallback border color
34
+ @popover-fallback-border-color: #ccc;
35
 
36
  //** Popover title background color
37
+ @popover-title-bg: darken(@popover-bg, 3%);
38
 
39
  //** Popover arrow width
40
+ @popover-arrow-width: 10px;
41
  //** Popover arrow color
42
+ @popover-arrow-color: #fff;
43
 
44
  //** Popover outer arrow width
45
+ @popover-arrow-outer-width: (@popover-arrow-width + 1);
46
  //** Popover outer arrow color
47
+ @popover-arrow-outer-color: fadein(@popover-border-color, 5%);
48
  //** Popover outer arrow fallback color
49
+ @popover-arrow-outer-fallback-color: darken(@popover-fallback-border-color, 20%);
50
+
51
 
52
  // Clearfix
53
  //
62
  // Source: http://nicolasgallagher.com/micro-clearfix-hack/
63
 
64
  .clearfix() {
65
+ &:before,
66
+ &:after {
67
+ content: " "; // 1
68
+ display: table; // 2
69
+ }
70
+ &:after {
71
+ clear: both;
72
+ }
73
  }
74
 
75
+ .outer-border(){
76
+ box-shadow: 0 0 0 1px @border_color;
77
  }
78
 
79
+
80
  //
81
  // Other Bootstrap Variables:
82
  // --------------------------------------------------
83
 
84
+
85
  //== Colors
86
  //
87
  //## Gray and brand colors for use across Bootstrap.
88
 
89
+ @gray-darker: lighten(#000, 13.5%); // #222
90
+ @gray-dark: lighten(#000, 20%); // #333
91
+ @gray: lighten(#000, 33.5%); // #555
92
+ @gray-light: lighten(#000, 60%); // #999
93
+ @gray-lighter: lighten(#000, 93.5%); // #eee
94
+
95
+ @brand-primary: #428bca;
96
+ @brand-success: #5cb85c;
97
+ @brand-info: #5bc0de;
98
+ @brand-warning: #f0ad4e;
99
+ @brand-danger: #d9534f;
100
 
 
 
 
 
 
101
 
102
  //== Scaffolding
103
  //
104
  // ## Settings for some of the most global styles.
105
 
106
  //** Background color for `<body>`.
107
+ @body-bg: #fff;
108
  //** Global text color on `<body>`.
109
+ @text-color: @gray-dark;
110
 
111
  //** Global textual link color.
112
+ @link-color: @brand-primary;
113
  //** Link hover color set via `darken()` function.
114
+ @link-hover-color: darken(@link-color, 15%);
vendor/mickey-kay/better-font-awesome-library/package.json CHANGED
@@ -1,11 +1,11 @@
1
  {
2
  "name": "better-font-awesome-library",
3
  "description": "Better Font Awesome Library",
4
- "version": "1.4.7",
5
  "main": " ",
6
  "devDependencies": {
7
  "font-awesome": "4.7.0",
8
- "fontawesome-iconpicker": "^3.2.0",
9
  "grunt": "^1.0.1",
10
  "grunt-contrib-copy": "^1.0.0",
11
  "load-grunt-tasks": "^3.5.2"
1
  {
2
  "name": "better-font-awesome-library",
3
  "description": "Better Font Awesome Library",
4
+ "version": "1.4.6",
5
  "main": " ",
6
  "devDependencies": {
7
  "font-awesome": "4.7.0",
8
+ "fontawesome-iconpicker": "1.3.0",
9
  "grunt": "^1.0.1",
10
  "grunt-contrib-copy": "^1.0.0",
11
  "load-grunt-tasks": "^3.5.2"
vendor/mickey-kay/better-font-awesome-library/vendor/composer/ClassLoader.php CHANGED
@@ -60,7 +60,7 @@ class ClassLoader
60
  public function getPrefixes()
61
  {
62
  if (!empty($this->prefixesPsr0)) {
63
- return call_user_func_array('array_merge', array_values($this->prefixesPsr0));
64
  }
65
 
66
  return array();
@@ -279,7 +279,7 @@ class ClassLoader
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
- $this->apcuPrefix = function_exists('apcu_fetch') && filter_var(ini_get('apc.enabled'), FILTER_VALIDATE_BOOLEAN) ? $apcuPrefix : null;
283
  }
284
 
285
  /**
@@ -377,11 +377,11 @@ class ClassLoader
377
  $subPath = $class;
378
  while (false !== $lastPos = strrpos($subPath, '\\')) {
379
  $subPath = substr($subPath, 0, $lastPos);
380
- $search = $subPath . '\\';
381
  if (isset($this->prefixDirsPsr4[$search])) {
382
- $pathEnd = DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $lastPos + 1);
383
  foreach ($this->prefixDirsPsr4[$search] as $dir) {
384
- if (file_exists($file = $dir . $pathEnd)) {
 
385
  return $file;
386
  }
387
  }
60
  public function getPrefixes()
61
  {
62
  if (!empty($this->prefixesPsr0)) {
63
+ return call_user_func_array('array_merge', $this->prefixesPsr0);
64
  }
65
 
66
  return array();
279
  */
280
  public function setApcuPrefix($apcuPrefix)
281
  {
282
+ $this->apcuPrefix = function_exists('apcu_fetch') && ini_get('apc.enabled') ? $apcuPrefix : null;
283
  }
284
 
285
  /**
377
  $subPath = $class;
378
  while (false !== $lastPos = strrpos($subPath, '\\')) {
379
  $subPath = substr($subPath, 0, $lastPos);
380
+ $search = $subPath.'\\';
381
  if (isset($this->prefixDirsPsr4[$search])) {
 
382
  foreach ($this->prefixDirsPsr4[$search] as $dir) {
383
+ $length = $this->prefixLengthsPsr4[$first][$search];
384
+ if (file_exists($file = $dir . DIRECTORY_SEPARATOR . substr($logicalPathPsr4, $length))) {
385
  return $file;
386
  }
387
  }
vendor/mickey-kay/better-font-awesome-library/vendor/composer/autoload_real.php CHANGED
@@ -13,9 +13,6 @@ class ComposerAutoloaderInitab4657d25d7e31c0f5004a96fe7d39fe
13
  }
14
  }
15
 
16
- /**
17
- * @return \Composer\Autoload\ClassLoader
18
- */
19
  public static function getLoader()
20
  {
21
  if (null !== self::$loader) {
13
  }
14
  }
15
 
 
 
 
16
  public static function getLoader()
17
  {
18
  if (null !== self::$loader) {
vendor/mickey-kay/better-font-awesome-library/vendor/composer/installed.json CHANGED
@@ -1,17 +1,17 @@
1
  [
2
  {
3
  "name": "mustangostang/spyc",
4
- "version": "0.6.3",
5
- "version_normalized": "0.6.3.0",
6
  "source": {
7
  "type": "git",
8
- "url": "git@github.com:mustangostang/spyc.git",
9
- "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0"
10
  },
11
  "dist": {
12
  "type": "zip",
13
- "url": "https://api.github.com/repos/mustangostang/spyc/zipball/4627c838b16550b666d15aeae1e5289dd5b77da0",
14
- "reference": "4627c838b16550b666d15aeae1e5289dd5b77da0",
15
  "shasum": ""
16
  },
17
  "require": {
@@ -20,7 +20,7 @@
20
  "require-dev": {
21
  "phpunit/phpunit": "4.3.*@dev"
22
  },
23
- "time": "2019-09-10T13:16:29+00:00",
24
  "type": "library",
25
  "extra": {
26
  "branch-alias": {
1
  [
2
  {
3
  "name": "mustangostang/spyc",
4
+ "version": "0.6.2",
5
+ "version_normalized": "0.6.2.0",
6
  "source": {
7
  "type": "git",
8
+ "url": "https://github.com/mustangostang/spyc.git",
9
+ "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d"
10
  },
11
  "dist": {
12
  "type": "zip",
13
+ "url": "https://api.github.com/repos/mustangostang/spyc/zipball/23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
14
+ "reference": "23c35ae854d835f2d7bcc3e3ad743d7e57a8c14d",
15
  "shasum": ""
16
  },
17
  "require": {
20
  "require-dev": {
21
  "phpunit/phpunit": "4.3.*@dev"
22
  },
23
+ "time": "2017-02-24T16:06:33+00:00",
24
  "type": "library",
25
  "extra": {
26
  "branch-alias": {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/README.md CHANGED
@@ -11,7 +11,7 @@ Spyc supports YAML 1.0 specification.
11
 
12
  Using Spyc is trivial:
13
 
14
- ```php
15
  <?php
16
  require_once "spyc.php";
17
  $Data = Spyc::YAMLLoad('spyc.yaml');
@@ -19,7 +19,7 @@ $Data = Spyc::YAMLLoad('spyc.yaml');
19
 
20
  or (if you prefer functional syntax)
21
 
22
- ```php
23
  <?php
24
  require_once "spyc.php";
25
  $Data = spyc_load_file('spyc.yaml');
11
 
12
  Using Spyc is trivial:
13
 
14
+ ```
15
  <?php
16
  require_once "spyc.php";
17
  $Data = Spyc::YAMLLoad('spyc.yaml');
19
 
20
  or (if you prefer functional syntax)
21
 
22
+ ```
23
  <?php
24
  require_once "spyc.php";
25
  $Data = spyc_load_file('spyc.yaml');
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/Spyc.php CHANGED
@@ -88,12 +88,6 @@ class Spyc {
88
  */
89
  public $setting_use_syck_is_possible = false;
90
 
91
- /**
92
- * Setting this to true will forse YAMLLoad to use syck_load function when
93
- * possible. False by default.
94
- * @var bool
95
- */
96
- public $setting_empty_hash_as_object = false;
97
 
98
 
99
  /**#@+
@@ -153,15 +147,9 @@ class Spyc {
153
  * @access public
154
  * @return array
155
  * @param string $input Path of YAML file or string containing YAML
156
- * @param array set options
157
  */
158
- public static function YAMLLoad($input, $options = []) {
159
  $Spyc = new Spyc;
160
- foreach ($options as $key => $value) {
161
- if (property_exists($Spyc, $key)) {
162
- $Spyc->$key = $value;
163
- }
164
- }
165
  return $Spyc->_load($input);
166
  }
167
 
@@ -183,15 +171,9 @@ class Spyc {
183
  * @access public
184
  * @return array
185
  * @param string $input String containing YAML
186
- * @param array set options
187
  */
188
- public static function YAMLLoadString($input, $options = []) {
189
  $Spyc = new Spyc;
190
- foreach ($options as $key => $value) {
191
- if (property_exists($Spyc, $key)) {
192
- $Spyc->$key = $value;
193
- }
194
- }
195
  return $Spyc->_loadString($input);
196
  }
197
 
@@ -592,20 +574,19 @@ class Spyc {
592
  $line = $this->stripGroup ($line, $group);
593
  }
594
 
595
- if ($this->startsMappedSequence($line)) {
596
  return $this->returnMappedSequence($line);
597
- }
598
 
599
- if ($this->startsMappedValue($line)) {
600
  return $this->returnMappedValue($line);
601
- }
602
 
603
  if ($this->isArrayElement($line))
604
- return $this->returnArrayElement($line);
605
 
606
  if ($this->isPlainArray($line))
607
  return $this->returnPlainArray($line);
608
 
 
609
  return $this->returnKeyValuePair($line);
610
 
611
  }
@@ -618,11 +599,6 @@ class Spyc {
618
  */
619
  private function _toType($value) {
620
  if ($value === '') return "";
621
-
622
- if ($this->setting_empty_hash_as_object && $value === '{}') {
623
- return new stdClass();
624
- }
625
-
626
  $first_character = $value[0];
627
  $last_character = substr($value, -1, 1);
628
 
@@ -1125,7 +1101,6 @@ class Spyc {
1125
  }
1126
  // Set the type of the value. Int, string, etc
1127
  $value = $this->_toType($value);
1128
-
1129
  if ($key === '0') $key = '__!YAMLZero';
1130
  $array[$key] = $value;
1131
  } else {
88
  */
89
  public $setting_use_syck_is_possible = false;
90
 
 
 
 
 
 
 
91
 
92
 
93
  /**#@+
147
  * @access public
148
  * @return array
149
  * @param string $input Path of YAML file or string containing YAML
 
150
  */
151
+ public static function YAMLLoad($input) {
152
  $Spyc = new Spyc;
 
 
 
 
 
153
  return $Spyc->_load($input);
154
  }
155
 
171
  * @access public
172
  * @return array
173
  * @param string $input String containing YAML
 
174
  */
175
+ public static function YAMLLoadString($input) {
176
  $Spyc = new Spyc;
 
 
 
 
 
177
  return $Spyc->_loadString($input);
178
  }
179
 
574
  $line = $this->stripGroup ($line, $group);
575
  }
576
 
577
+ if ($this->startsMappedSequence($line))
578
  return $this->returnMappedSequence($line);
 
579
 
580
+ if ($this->startsMappedValue($line))
581
  return $this->returnMappedValue($line);
 
582
 
583
  if ($this->isArrayElement($line))
584
+ return $this->returnArrayElement($line);
585
 
586
  if ($this->isPlainArray($line))
587
  return $this->returnPlainArray($line);
588
 
589
+
590
  return $this->returnKeyValuePair($line);
591
 
592
  }
599
  */
600
  private function _toType($value) {
601
  if ($value === '') return "";
 
 
 
 
 
602
  $first_character = $value[0];
603
  $last_character = substr($value, -1, 1);
604
 
1101
  }
1102
  // Set the type of the value. Int, string, etc
1103
  $value = $this->_toType($value);
 
1104
  if ($key === '0') $key = '__!YAMLZero';
1105
  $array[$key] = $value;
1106
  } else {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/DumpTest.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
 
 
3
  class DumpTest extends PHPUnit_Framework_TestCase {
4
 
5
  private $files_to_test = array();
6
 
7
  public function setUp() {
8
- $this->files_to_test = array (__DIR__.'/../spyc.yaml', 'failing1.yaml', 'indent_1.yaml', 'quotes.yaml');
9
  }
10
 
11
  public function testShortSyntax() {
1
  <?php
2
 
3
+ require_once ("../Spyc.php");
4
+
5
  class DumpTest extends PHPUnit_Framework_TestCase {
6
 
7
  private $files_to_test = array();
8
 
9
  public function setUp() {
10
+ $this->files_to_test = array ('../spyc.yaml', 'failing1.yaml', 'indent_1.yaml', 'quotes.yaml');
11
  }
12
 
13
  public function testShortSyntax() {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/IndentTest.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
 
 
3
  class IndentTest extends PHPUnit_Framework_TestCase {
4
 
5
  protected $Y;
6
 
7
  protected function setUp() {
8
- $this->Y = Spyc::YAMLLoad(__DIR__."/indent_1.yaml");
9
  }
10
 
11
  public function testIndent_1() {
1
  <?php
2
 
3
+ require_once ("../Spyc.php");
4
+
5
  class IndentTest extends PHPUnit_Framework_TestCase {
6
 
7
  protected $Y;
8
 
9
  protected function setUp() {
10
+ $this->Y = Spyc::YAMLLoad("indent_1.yaml");
11
  }
12
 
13
  public function testIndent_1() {
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/LoadTest.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  class LoadTest extends PHPUnit_Framework_TestCase {
4
  public function testQuotes() {
5
  $test_values = array(
1
  <?php
2
 
3
+ require_once ("../Spyc.php");
4
+
5
  class LoadTest extends PHPUnit_Framework_TestCase {
6
  public function testQuotes() {
7
  $test_values = array(
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/ParseTest.php CHANGED
@@ -1,11 +1,13 @@
1
  <?php
2
 
 
 
3
  class ParseTest extends PHPUnit_Framework_TestCase {
4
 
5
  protected $yaml;
6
 
7
  protected function setUp() {
8
- $this->yaml = spyc_load_file(__DIR__.'/../spyc.yaml');
9
  }
10
 
11
  public function testMergeHashKeys() {
@@ -13,19 +15,19 @@ class ParseTest extends PHPUnit_Framework_TestCase {
13
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '1mm')),
14
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '2mm')),
15
  );
16
- $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
17
  $this->assertEquals ($Expected, $Actual['steps']);
18
  }
19
 
20
  public function testDeathMasks() {
21
  $Expected = array ('sad' => 2, 'magnificent' => 4);
22
- $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
23
  $this->assertEquals ($Expected, $Actual['death masks are']);
24
  }
25
 
26
  public function testDevDb() {
27
  $Expected = array ('adapter' => 'mysql', 'host' => 'localhost', 'database' => 'rails_dev');
28
- $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
29
  $this->assertEquals ($Expected, $Actual['development']);
30
  }
31
 
@@ -339,45 +341,45 @@ dog', $this->yaml['many_lines']);
339
  }
340
 
341
  public function testAngleQuotes() {
342
- $Quotes = Spyc::YAMLLoad(__DIR__.'/quotes.yaml');
343
  $this->assertEquals (array ('html_tags' => array ('<br>', '<p>'), 'html_content' => array ('<p>hello world</p>', 'hello<br>world'), 'text_content' => array ('hello world')),
344
  $Quotes);
345
  }
346
 
347
  public function testFailingColons() {
348
- $Failing = Spyc::YAMLLoad(__DIR__.'/failing1.yaml');
349
  $this->assertSame (array ('MyObject' => array ('Prop1' => array ('key1:val1'))),
350
  $Failing);
351
  }
352
 
353
  public function testQuotesWithComments() {
354
  $Expected = 'bar';
355
- $Actual = spyc_load_file (__DIR__.'/comments.yaml');
356
  $this->assertEquals ($Expected, $Actual['foo']);
357
  }
358
 
359
  public function testArrayWithComments() {
360
  $Expected = array ('x', 'y', 'z');
361
- $Actual = spyc_load_file (__DIR__.'/comments.yaml');
362
  $this->assertEquals ($Expected, $Actual['arr']);
363
  }
364
 
365
  public function testAfterArrayWithKittens() {
366
  $Expected = 'kittens';
367
- $Actual = spyc_load_file (__DIR__.'/comments.yaml');
368
  $this->assertEquals ($Expected, $Actual['bar']);
369
  }
370
 
371
  // Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
372
  public function testKai() {
373
  $Expected = array('-example' => 'value');
374
- $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
375
  $this->assertEquals ($Expected, $Actual['kai']);
376
  }
377
 
378
  public function testKaiList() {
379
  $Expected = array ('-item', '-item', '-item');
380
- $Actual = spyc_load_file (__DIR__.'/indent_1.yaml');
381
  $this->assertEquals ($Expected, $Actual['kai_list_of_items']);
382
  }
383
 
@@ -396,18 +398,4 @@ dog', $this->yaml['many_lines']);
396
  $expected = array(array(array('x')));
397
  $this->assertSame($expected, Spyc::YAMLLoad("- - - x"));
398
  }
399
-
400
- public function testElementWithEmptyHash()
401
- {
402
- $element = "hash: {}\narray: []";
403
- $yaml = Spyc::YAMLLoadString($element);
404
- $this->assertEquals($yaml['hash'], []);
405
- $this->assertEquals($yaml['array'], []);
406
-
407
- $yaml = Spyc::YAMLLoadString($element, [
408
- 'setting_empty_hash_as_object' => true
409
- ]);
410
- $this->assertInstanceOf(stdClass::class, $yaml['hash']);
411
- $this->assertEquals($yaml['array'], []);
412
- }
413
  }
1
  <?php
2
 
3
+ require_once ("../Spyc.php");
4
+
5
  class ParseTest extends PHPUnit_Framework_TestCase {
6
 
7
  protected $yaml;
8
 
9
  protected function setUp() {
10
+ $this->yaml = spyc_load_file('../spyc.yaml');
11
  }
12
 
13
  public function testMergeHashKeys() {
15
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '1mm')),
16
  array ('step' => array('instrument' => 'Lasik 2000', 'pulseEnergy' => 5.4, 'pulseDuration' => 12, 'repetition' => 1000, 'spotSize' => '2mm')),
17
  );
18
+ $Actual = spyc_load_file ('indent_1.yaml');
19
  $this->assertEquals ($Expected, $Actual['steps']);
20
  }
21
 
22
  public function testDeathMasks() {
23
  $Expected = array ('sad' => 2, 'magnificent' => 4);
24
+ $Actual = spyc_load_file ('indent_1.yaml');
25
  $this->assertEquals ($Expected, $Actual['death masks are']);
26
  }
27
 
28
  public function testDevDb() {
29
  $Expected = array ('adapter' => 'mysql', 'host' => 'localhost', 'database' => 'rails_dev');
30
+ $Actual = spyc_load_file ('indent_1.yaml');
31
  $this->assertEquals ($Expected, $Actual['development']);
32
  }
33
 
341
  }
342
 
343
  public function testAngleQuotes() {
344
+ $Quotes = Spyc::YAMLLoad('quotes.yaml');
345
  $this->assertEquals (array ('html_tags' => array ('<br>', '<p>'), 'html_content' => array ('<p>hello world</p>', 'hello<br>world'), 'text_content' => array ('hello world')),
346
  $Quotes);
347
  }
348
 
349
  public function testFailingColons() {
350
+ $Failing = Spyc::YAMLLoad('failing1.yaml');
351
  $this->assertSame (array ('MyObject' => array ('Prop1' => array ('key1:val1'))),
352
  $Failing);
353
  }
354
 
355
  public function testQuotesWithComments() {
356
  $Expected = 'bar';
357
+ $Actual = spyc_load_file ('comments.yaml');
358
  $this->assertEquals ($Expected, $Actual['foo']);
359
  }
360
 
361
  public function testArrayWithComments() {
362
  $Expected = array ('x', 'y', 'z');
363
+ $Actual = spyc_load_file ('comments.yaml');
364
  $this->assertEquals ($Expected, $Actual['arr']);
365
  }
366
 
367
  public function testAfterArrayWithKittens() {
368
  $Expected = 'kittens';
369
+ $Actual = spyc_load_file ('comments.yaml');
370
  $this->assertEquals ($Expected, $Actual['bar']);
371
  }
372
 
373
  // Plain characters http://www.yaml.org/spec/1.2/spec.html#id2789510
374
  public function testKai() {
375
  $Expected = array('-example' => 'value');
376
+ $Actual = spyc_load_file ('indent_1.yaml');
377
  $this->assertEquals ($Expected, $Actual['kai']);
378
  }
379
 
380
  public function testKaiList() {
381
  $Expected = array ('-item', '-item', '-item');
382
+ $Actual = spyc_load_file ('indent_1.yaml');
383
  $this->assertEquals ($Expected, $Actual['kai_list_of_items']);
384
  }
385
 
398
  $expected = array(array(array('x')));
399
  $this->assertSame($expected, Spyc::YAMLLoad("- - - x"));
400
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
401
  }
vendor/mickey-kay/better-font-awesome-library/vendor/mustangostang/spyc/tests/RoundTripTest.php CHANGED
@@ -1,5 +1,7 @@
1
  <?php
2
 
 
 
3
  function roundTrip($a) { return Spyc::YAMLLoad(Spyc::YAMLDump(array('x' => $a))); }
4
 
5
 
1
  <?php
2
 
3
+ require_once ("../Spyc.php");
4
+
5
  function roundTrip($a) { return Spyc::YAMLLoad(Spyc::YAMLDump(array('x' => $a))); }
6
 
7
 
vendor/mickey-kay/better-font-awesome-library/yarn.lock CHANGED
@@ -154,9 +154,9 @@ font-awesome@4.7.0:
154
  version "4.7.0"
155
  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
156
 
157
- fontawesome-iconpicker@3.0.0:
158
- version "3.0.0"
159
- resolved "https://registry.yarnpkg.com/fontawesome-iconpicker/-/fontawesome-iconpicker-3.0.0.tgz#689be496bf6ab8df539b849f2c2f6be3e209590e"
160
 
161
  fs.realpath@^1.0.0:
162
  version "1.0.0"
154
  version "4.7.0"
155
  resolved "https://registry.yarnpkg.com/font-awesome/-/font-awesome-4.7.0.tgz#8fa8cf0411a1a31afd07b06d2902bb9fc815a133"
156
 
157
+ fontawesome-iconpicker@1.3.0:
158
+ version "1.3.0"
159
+ resolved "https://registry.yarnpkg.com/fontawesome-iconpicker/-/fontawesome-iconpicker-1.3.0.tgz#26187d4f8c0a0eeeaeb4b161601d0ab6f6d2fc91"
160
 
161
  fs.realpath@^1.0.0:
162
  version "1.0.0"