Version Description
- Released 2020-09-30
- Removed nags for review and pro version
Download this release
Release Info
Developer | mrsztuczkens |
Plugin | jQuery Pin It Button for Images |
Version | 3.0.6 |
Comparing to | |
See all releases |
Code changes from version 3.0.5 to 3.0.6
- css/fonts/jpibfi-font.svg +14 -14
- includes/admin/JPIBFI_Welcome_Screen.php +139 -139
- includes/admin/includes/JPIBFI_Pro_Nag.php +0 -88
- includes/admin/includes/jpibfi_admin_notice.php +28 -28
- includes/admin/includes/jpibfi_ajax_result_builder.php +49 -49
- includes/admin/includes/jpibfi_nag.php +29 -29
- includes/admin/includes/jpibfi_review_nag.php +0 -71
- includes/admin/jpibfi-admin.php +178 -218
- includes/admin/settings/jpibfi-advanced-settings.php +100 -100
- includes/admin/settings/jpibfi-import-export-settings.php +139 -139
- includes/admin/settings/jpibfi-license-settings.php +0 -5
- includes/admin/settings/jpibfi-selection-settings.php +186 -186
- includes/admin/settings/jpibfi-settings-base.php +78 -81
- includes/admin/settings/jpibfi-visual-settings.php +218 -218
- includes/admin/settings/jpibfi_validator.php +162 -162
- includes/includes/JPIBFI_Version_Updater.php +27 -27
- includes/includes/jpibfi-edd-sl-plugin-updater.php +475 -475
- includes/includes/jpibfi-includes.php +20 -22
- includes/includes/jpibfi-updater.php +4 -5
- includes/includes/options/jpibfi-advanced-options.php +69 -69
- includes/includes/options/jpibfi-license-options.php +0 -3
- includes/includes/options/jpibfi-options.php +52 -52
- includes/includes/options/jpibfi-selection-options.php +37 -37
- includes/includes/options/jpibfi-visual-options.php +121 -121
- includes/includes/versions/JPIBFI_Version_Update_2_2_3.php +185 -186
- includes/jpibfi.php +41 -41
- includes/public/JPIBFI_Client_Helper.php +32 -32
- includes/public/class-jpibfi-client.php +308 -308
- index.php +1 -1
- jquery-pin-it-button-for-images.php +2 -2
- js/jpibfi.admin.js +1 -11
- js/jpibfi.client.js +1 -1
- languages/index.php +1 -1
- languages/jquery-pin-it-button-for-images-es_ES.pot +499 -499
- languages/jquery-pin-it-button-for-images.pot +153 -161
- readme.txt +606 -602
- uninstall.php +13 -13
css/fonts/jpibfi-font.svg
CHANGED
@@ -1,15 +1,15 @@
|
|
1 |
-
<?xml version="1.0" standalone="no"?>
|
2 |
-
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
-
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
-
<metadata>Generated by IcoMoon</metadata>
|
5 |
-
<defs>
|
6 |
-
<font id="jpibfi-font" horiz-adv-x="1024">
|
7 |
-
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
-
<missing-glyph horiz-adv-x="1024" />
|
9 |
-
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
-
<glyph unicode="" glyph-name="pushpin" d="M544 960l-96-96 96-96-224-256h-224l176-176-272-360.616v-39.384h39.384l360.616 272 176-176v224l256 224 96-96 96 96-480 480zM448 416l-64 64 224 224 64-64-224-224z" />
|
11 |
-
<glyph unicode="" glyph-name="pinterest2" d="M512 960c-282.4 0-512-229.6-512-512s229.6-512 512-512 512 229.6 512 512-229.6 512-512 512zM512 4.4c-45.8 0-89.8 7-131.4 19.8 18 29.4 45.2 77.8 55.2 116.2 5.4 20.8 27.6 105.4 27.6 105.4 14.4-27.6 56.8-51 101.6-51 133.8 0 230.2 123 230.2 276 0 146.6-119.6 256.2-273.4 256.2-191.4 0-293-128.6-293-268.4 0-65 34.6-146 90-171.8 8.4-4 12.8-2.2 14.8 6 1.4 6.2 9 36.2 12.4 50.4 1 4.4 0.6 8.4-3 12.8-18.4 22.2-33 63.2-33 101.2 0 97.8 74 192.6 200.2 192.6 109 0 185.2-74.2 185.2-180.4 0-120-60.6-203.2-139.4-203.2-43.6 0-76.2 36-65.6 80.2 12.6 52.8 36.8 109.6 36.8 147.6 0 34-18.2 62.4-56.2 62.4-44.6 0-80.2-46-80.2-107.8 0-39.2 13.2-65.8 13.2-65.8s-44-185.8-52-220.4c-9-38.4-5.4-92.2-1.6-127.2-165 64.4-282 224.8-282 412.8 0 245 198.6 443.6 443.6 443.6s443.6-198.6 443.6-443.6c0-245-198.6-443.6-443.6-443.6z" />
|
12 |
-
<glyph unicode="" glyph-name="thumb-tack" horiz-adv-x="658" d="M274.286 457.143v256q0 8-5.143 13.143t-13.143 5.143-13.143-5.143-5.143-13.143v-256q0-8 5.143-13.143t13.143-5.143 13.143 5.143 5.143 13.143zM658.286 256q0-14.857-10.857-25.714t-25.714-10.857h-245.143l-29.143-276q-1.143-6.857-6-11.714t-11.714-4.857h-0.571q-15.429 0-18.286 15.429l-43.429 277.143h-230.857q-14.857 0-25.714 10.857t-10.857 25.714q0 70.286 44.857 126.571t101.429 56.286v292.571q-29.714 0-51.429 21.714t-21.714 51.429 21.714 51.429 51.429 21.714h365.714q29.714 0 51.429-21.714t21.714-51.429-21.714-51.429-51.429-21.714v-292.571q56.571 0 101.429-56.286t44.857-126.571z" />
|
13 |
-
<glyph unicode="" glyph-name="pinterest3" horiz-adv-x="878" d="M877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857q-63.429 0-124.571 18.286 33.714 53.143 44.571 93.714 5.143 19.429 30.857 120.571 11.429-22.286 41.714-38.571t65.143-16.286q69.143 0 123.429 39.143t84 107.714 29.714 154.286q0 65.143-34 122.286t-98.571 93.143-145.714 36q-60 0-112-16.571t-88.286-44-62.286-63.143-38.286-74-12.286-76.571q0-59.429 22.857-104.571t66.857-63.429q17.143-6.857 21.714 11.429 1.143 4 4.571 17.714t4.571 17.143q3.429 13.143-6.286 24.571-29.143 34.857-29.143 86.286 0 86.286 59.714 148.286t156.286 62q86.286 0 134.571-46.857t48.286-121.714q0-97.143-39.143-165.143t-100.286-68q-34.857 0-56 24.857t-13.143 59.714q4.571 20 15.143 53.429t17.143 58.857 6.571 43.143q0 28.571-15.429 47.429t-44 18.857q-35.429 0-60-32.571t-24.571-81.143q0-41.714 14.286-69.714l-56.571-238.857q-9.714-40-7.429-101.143-117.714 52-190.286 160.571t-72.571 241.714q0 119.429 58.857 220.286t159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
|
14 |
-
<glyph unicode="" glyph-name="pinterest-p" horiz-adv-x="731" d="M0 609.714q0 61.714 21.429 116.286t59.143 95.143 86.857 70.286 105.714 44.571 115.429 14.857q90.286 0 168-38t126.286-110.571 48.571-164q0-54.857-10.857-107.429t-34.286-101.143-57.143-85.429-82.857-58.857-108-22q-38.857 0-77.143 18.286t-54.857 50.286q-5.714-22.286-16-64.286t-13.429-54.286-11.714-40.571-14.857-40.571-18.286-35.714-26.286-44.286-35.429-49.429l-8-2.857-5.143 5.714q-8.571 89.714-8.571 107.429 0 52.571 12.286 118t38 164.286 29.714 116q-18.286 37.143-18.286 96.571 0 47.429 29.714 89.143t75.429 41.714q34.857 0 54.286-23.143t19.429-58.571q0-37.714-25.143-109.143t-25.143-106.857q0-36 25.714-59.714t62.286-23.714q31.429 0 58.286 14.286t44.857 38.857 32 54.286 21.714 63.143 11.429 63.429 3.714 56.857q0 98.857-62.571 154t-163.143 55.143q-114.286 0-190.857-74t-76.571-187.714q0-25.143 7.143-48.571t15.429-37.143 15.429-26 7.143-17.429q0-16-8.571-41.714t-21.143-25.714q-1.143 0-9.714 1.714-29.143 8.571-51.714 32t-34.857 54-18.571 61.714-6.286 60.857z" />
|
15 |
</font></defs></svg>
|
1 |
+
<?xml version="1.0" standalone="no"?>
|
2 |
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3 |
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4 |
+
<metadata>Generated by IcoMoon</metadata>
|
5 |
+
<defs>
|
6 |
+
<font id="jpibfi-font" horiz-adv-x="1024">
|
7 |
+
<font-face units-per-em="1024" ascent="960" descent="-64" />
|
8 |
+
<missing-glyph horiz-adv-x="1024" />
|
9 |
+
<glyph unicode=" " horiz-adv-x="512" d="" />
|
10 |
+
<glyph unicode="" glyph-name="pushpin" d="M544 960l-96-96 96-96-224-256h-224l176-176-272-360.616v-39.384h39.384l360.616 272 176-176v224l256 224 96-96 96 96-480 480zM448 416l-64 64 224 224 64-64-224-224z" />
|
11 |
+
<glyph unicode="" glyph-name="pinterest2" d="M512 960c-282.4 0-512-229.6-512-512s229.6-512 512-512 512 229.6 512 512-229.6 512-512 512zM512 4.4c-45.8 0-89.8 7-131.4 19.8 18 29.4 45.2 77.8 55.2 116.2 5.4 20.8 27.6 105.4 27.6 105.4 14.4-27.6 56.8-51 101.6-51 133.8 0 230.2 123 230.2 276 0 146.6-119.6 256.2-273.4 256.2-191.4 0-293-128.6-293-268.4 0-65 34.6-146 90-171.8 8.4-4 12.8-2.2 14.8 6 1.4 6.2 9 36.2 12.4 50.4 1 4.4 0.6 8.4-3 12.8-18.4 22.2-33 63.2-33 101.2 0 97.8 74 192.6 200.2 192.6 109 0 185.2-74.2 185.2-180.4 0-120-60.6-203.2-139.4-203.2-43.6 0-76.2 36-65.6 80.2 12.6 52.8 36.8 109.6 36.8 147.6 0 34-18.2 62.4-56.2 62.4-44.6 0-80.2-46-80.2-107.8 0-39.2 13.2-65.8 13.2-65.8s-44-185.8-52-220.4c-9-38.4-5.4-92.2-1.6-127.2-165 64.4-282 224.8-282 412.8 0 245 198.6 443.6 443.6 443.6s443.6-198.6 443.6-443.6c0-245-198.6-443.6-443.6-443.6z" />
|
12 |
+
<glyph unicode="" glyph-name="thumb-tack" horiz-adv-x="658" d="M274.286 457.143v256q0 8-5.143 13.143t-13.143 5.143-13.143-5.143-5.143-13.143v-256q0-8 5.143-13.143t13.143-5.143 13.143 5.143 5.143 13.143zM658.286 256q0-14.857-10.857-25.714t-25.714-10.857h-245.143l-29.143-276q-1.143-6.857-6-11.714t-11.714-4.857h-0.571q-15.429 0-18.286 15.429l-43.429 277.143h-230.857q-14.857 0-25.714 10.857t-10.857 25.714q0 70.286 44.857 126.571t101.429 56.286v292.571q-29.714 0-51.429 21.714t-21.714 51.429 21.714 51.429 51.429 21.714h365.714q29.714 0 51.429-21.714t21.714-51.429-21.714-51.429-51.429-21.714v-292.571q56.571 0 101.429-56.286t44.857-126.571z" />
|
13 |
+
<glyph unicode="" glyph-name="pinterest3" horiz-adv-x="878" d="M877.714 438.857q0-119.429-58.857-220.286t-159.714-159.714-220.286-58.857q-63.429 0-124.571 18.286 33.714 53.143 44.571 93.714 5.143 19.429 30.857 120.571 11.429-22.286 41.714-38.571t65.143-16.286q69.143 0 123.429 39.143t84 107.714 29.714 154.286q0 65.143-34 122.286t-98.571 93.143-145.714 36q-60 0-112-16.571t-88.286-44-62.286-63.143-38.286-74-12.286-76.571q0-59.429 22.857-104.571t66.857-63.429q17.143-6.857 21.714 11.429 1.143 4 4.571 17.714t4.571 17.143q3.429 13.143-6.286 24.571-29.143 34.857-29.143 86.286 0 86.286 59.714 148.286t156.286 62q86.286 0 134.571-46.857t48.286-121.714q0-97.143-39.143-165.143t-100.286-68q-34.857 0-56 24.857t-13.143 59.714q4.571 20 15.143 53.429t17.143 58.857 6.571 43.143q0 28.571-15.429 47.429t-44 18.857q-35.429 0-60-32.571t-24.571-81.143q0-41.714 14.286-69.714l-56.571-238.857q-9.714-40-7.429-101.143-117.714 52-190.286 160.571t-72.571 241.714q0 119.429 58.857 220.286t159.714 159.714 220.286 58.857 220.286-58.857 159.714-159.714 58.857-220.286z" />
|
14 |
+
<glyph unicode="" glyph-name="pinterest-p" horiz-adv-x="731" d="M0 609.714q0 61.714 21.429 116.286t59.143 95.143 86.857 70.286 105.714 44.571 115.429 14.857q90.286 0 168-38t126.286-110.571 48.571-164q0-54.857-10.857-107.429t-34.286-101.143-57.143-85.429-82.857-58.857-108-22q-38.857 0-77.143 18.286t-54.857 50.286q-5.714-22.286-16-64.286t-13.429-54.286-11.714-40.571-14.857-40.571-18.286-35.714-26.286-44.286-35.429-49.429l-8-2.857-5.143 5.714q-8.571 89.714-8.571 107.429 0 52.571 12.286 118t38 164.286 29.714 116q-18.286 37.143-18.286 96.571 0 47.429 29.714 89.143t75.429 41.714q34.857 0 54.286-23.143t19.429-58.571q0-37.714-25.143-109.143t-25.143-106.857q0-36 25.714-59.714t62.286-23.714q31.429 0 58.286 14.286t44.857 38.857 32 54.286 21.714 63.143 11.429 63.429 3.714 56.857q0 98.857-62.571 154t-163.143 55.143q-114.286 0-190.857-74t-76.571-187.714q0-25.143 7.143-48.571t15.429-37.143 15.429-26 7.143-17.429q0-16-8.571-41.714t-21.143-25.714q-1.143 0-9.714 1.714-29.143 8.571-51.714 32t-34.857 54-18.571 61.714-6.286 60.857z" />
|
15 |
</font></defs></svg>
|
includes/admin/JPIBFI_Welcome_Screen.php
CHANGED
@@ -1,140 +1,140 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
6 |
-
class JPIBFI_Welcome_Screen {
|
7 |
-
private $minimum_capability = 'manage_options';
|
8 |
-
private $transient_name = '_jpibfi_activation_redirect';
|
9 |
-
private $plugin_name;
|
10 |
-
private $file;
|
11 |
-
private $version;
|
12 |
-
|
13 |
-
function __construct( $file, $version ) {
|
14 |
-
$this->file = $file;
|
15 |
-
$this->version = $version;
|
16 |
-
|
17 |
-
$this->plugin_name = 'jQuery Pin It Button for Images Lite';
|
18 |
-
add_action( 'admin_menu', array( $this, 'admin_menus' ) );
|
19 |
-
add_action( 'admin_init', array( $this, 'redirect' ), 11 );
|
20 |
-
}
|
21 |
-
|
22 |
-
public function admin_menus() {
|
23 |
-
// About Page
|
24 |
-
add_dashboard_page(
|
25 |
-
__( 'Welcome to jQuery Pin It Button for Images', 'jquery-pin-it-button-for-images' ),
|
26 |
-
__( 'Welcome to jQuery Pin It Button for Images', 'jquery-pin-it-button-for-images' ),
|
27 |
-
$this->minimum_capability,
|
28 |
-
'jpibfi-welcome',
|
29 |
-
array( $this, 'welcome_message' )
|
30 |
-
);
|
31 |
-
|
32 |
-
// Now remove them from the menus so plugins that allow customizing the admin menu don't show them
|
33 |
-
remove_submenu_page( 'index.php', 'jpibfi-welcome' );
|
34 |
-
}
|
35 |
-
|
36 |
-
public function welcome_message() {
|
37 |
-
?>
|
38 |
-
<div class="wrap about-wrap">
|
39 |
-
<h1><?php printf( __( 'Welcome to %s %s', 'jquery-pin-it-button-for-images' ), $this->plugin_name, $this->version ); ?></h1>
|
40 |
-
|
41 |
-
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! %s helps your readers share your images using Pinterest.', 'jquery-pin-it-button-for-images' ), $this->plugin_name, $this->version ); ?></p>
|
42 |
-
|
43 |
-
<hr/>
|
44 |
-
|
45 |
-
<div class="feature-section one-col">
|
46 |
-
<h2><?php _e( 'Settings', 'jquery-pin-it-button-for-images' ); ?></h2>
|
47 |
-
<p class="lead-description"><?php _e( 'The most important part of the plugin is the settings panel.', 'jquery-pin-it-button-for-images' ); ?></p>
|
48 |
-
</div>
|
49 |
-
|
50 |
-
<div class="feature-section two-col">
|
51 |
-
<div class="col">
|
52 |
-
<h3><?php _e( 'Finding the settings panel', 'jquery-pin-it-button-for-images' ); ?></h3>
|
53 |
-
<p><?php printf( __( 'You can find the plugin\'s settings panel in the <b>Settings</b> submenu under the name <b>%s</b>. There you can find all the settings the plugin allows you to adjust. All settings are divided into several tabs so you can find what you\'re looking for easily.', 'jquery-pin-it-button-for-images' ), $this->plugin_name ); ?></p>
|
54 |
-
</div>
|
55 |
-
<div class="col">
|
56 |
-
<?php
|
57 |
-
$file_name = 'settings_link.png';
|
58 |
-
?>
|
59 |
-
<img src="<?php echo plugin_dir_url( $this->file ) . '/images/' . $file_name ?>"
|
60 |
-
title="<?php _e( 'Settings link', 'jquery-pin-it-button-for-images' ); ?>"/>
|
61 |
-
</div>
|
62 |
-
</div>
|
63 |
-
<div class="feature-section one-col">
|
64 |
-
<h3><?php _e( 'Everything at hand', 'jquery-pin-it-button-for-images' ); ?></h3>
|
65 |
-
<p style="margin-left: 0; margin-right: 0;"><?php _e( 'You can find all the links mentioned below in the settings panel.', 'jquery-pin-it-button-for-images' ); ?></p>
|
66 |
-
<p style="text-align: center;"><img
|
67 |
-
src="<?php echo plugin_dir_url( $this->file ) . '/images/settings_tabs.png' ?>"
|
68 |
-
title="<?php _e( 'Settings tabs', 'jquery-pin-it-button-for-images' ); ?>"/>
|
69 |
-
</p>
|
70 |
-
</div>
|
71 |
-
<div class="feature-section two-col">
|
72 |
-
<div class="col">
|
73 |
-
<h3><?php _e( 'Selection settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
74 |
-
<p><?php _e( 'In this tab you choose which images should feature the "Pin it" button. You can choose images with specific classes or set up a minimum image resolution to prevent the button from showing up on small images. You can also choose on which pages the "Pin it" button should show up.', 'jquery-pin-it-button-for-images' ); ?></p>
|
75 |
-
<?php printf( __( '<a href="%s" class="button button-primary">Go to Selection settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=select' ) ); ?>
|
76 |
-
</div>
|
77 |
-
<div class="col">
|
78 |
-
<h3><?php _e( 'Visual settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
79 |
-
<p><?php _e( 'This tab helps you configure how the "Pin it" button looks like and where it appears. If you want to use your own "Pin it" icon or make the button show up in the upper right corner of the image, this is the tab you are looking for.', 'jquery-pin-it-button-for-images' ); ?></p>
|
80 |
-
<?php printf( __( '<a href="%s" class="button button-primary">Go to Visual settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=visual' ) ); ?>
|
81 |
-
</div>
|
82 |
-
</div>
|
83 |
-
<div class="feature-section two-col">
|
84 |
-
<div class="col">
|
85 |
-
<h3><?php _e( 'Advanced settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
86 |
-
<p><?php _e( 'In most cases you won\'t have to visit this tab ever. It features a few advanced settings used in most cases to resolve conflicts with other plugins.', 'jquery-pin-it-button-for-images' ); ?></p>
|
87 |
-
<?php printf( __( '<a href="%s" class="button button-primary">Go to Advanced settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=advanced' ) ); ?>
|
88 |
-
</div>
|
89 |
-
<div class="col">
|
90 |
-
<h3><?php _e( 'Import/Export', 'jquery-pin-it-button-for-images' ); ?></h3>
|
91 |
-
<p><?php _e( 'If you would like to quickly copy the plugin\'s settings to another instance of WordPress, that\'s the place for you. You can download a file with your current settings and import it to another instance easily.', 'jquery-pin-it-button-for-images' ); ?></p>
|
92 |
-
<?php printf( __( '<a href="%s" class="button button-primary">Go to Import/Export</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=import' ) ); ?>
|
93 |
-
</div>
|
94 |
-
</div>
|
95 |
-
|
96 |
-
<hr/>
|
97 |
-
|
98 |
-
<div class="feature-section one-col">
|
99 |
-
<h2><?php _e( 'Finding help', 'jquery-pin-it-button-for-images' ); ?></h2>
|
100 |
-
<p class="lead-description"><?php _e( 'If you\'re stuck and can\'t get the plugin to work the way you want it to, get help!', 'jquery-pin-it-button-for-images' ); ?></p>
|
101 |
-
</div>
|
102 |
-
|
103 |
-
<div class="feature-section two-col">
|
104 |
-
<div class="col">
|
105 |
-
<h3><?php _e( 'Documentation', 'jquery-pin-it-button-for-images' ); ?></h3>
|
106 |
-
<p><?php printf( __( 'If you are having difficulties with some aspects of the plugin, the first place to look for help is <a href="%s" target="_blank">the documentation</a> of the plugin. Chances are you will find what you are looking for there.', 'jquery-pin-it-button-for-images' ), 'https://highfiveplugins.com/jpibfi/jquery-pin-it-button-for-images-documentation/' ); ?></p>
|
107 |
-
</div>
|
108 |
-
<div class="col">
|
109 |
-
<h3><?php _e( 'Support', 'jquery-pin-it-button-for-images' ); ?></h3>
|
110 |
-
<p><?php
|
111 |
-
printf( __( 'Users of the free version of the plugin can find support <a href="%s" target="_blank">in the support forum</a>. When posting to the support forum, make sure you include the URL of your website.', 'jquery-pin-it-button-for-images' ), 'https://wordpress.org/support/plugin/jquery-pin-it-button-for-images' );
|
112 |
-
?></p>
|
113 |
-
</div>
|
114 |
-
</div>
|
115 |
-
<hr />
|
116 |
-
<div class="feature-section one-col">
|
117 |
-
<h2><?php _e( 'Next steps', 'jquery-pin-it-button-for-images' ); ?></h2>
|
118 |
-
<?php
|
119 |
-
$next_steps_text = sprintf( __( 'In most cases, the plugin is ready to go without any configuration. If there is anything you would like to change, go to the <a href="%s">Settings panel</a>.', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings' ) );
|
120 |
-
?>
|
121 |
-
<p class="lead-description"><?php echo $next_steps_text; ?></p>
|
122 |
-
</div>
|
123 |
-
</div>
|
124 |
-
<?php
|
125 |
-
}
|
126 |
-
|
127 |
-
public function redirect() {
|
128 |
-
if ( ! get_transient( $this->transient_name ) ) {
|
129 |
-
return;
|
130 |
-
}
|
131 |
-
delete_transient( $this->transient_name );
|
132 |
-
|
133 |
-
// Bail if activating from network, or bulk
|
134 |
-
if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
|
135 |
-
return;
|
136 |
-
}
|
137 |
-
wp_safe_redirect( admin_url( 'index.php?page=jpibfi-welcome' ) );
|
138 |
-
exit;
|
139 |
-
}
|
140 |
}
|
1 |
+
<?php
|
2 |
+
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
+
exit;
|
4 |
+
}
|
5 |
+
|
6 |
+
class JPIBFI_Welcome_Screen {
|
7 |
+
private $minimum_capability = 'manage_options';
|
8 |
+
private $transient_name = '_jpibfi_activation_redirect';
|
9 |
+
private $plugin_name;
|
10 |
+
private $file;
|
11 |
+
private $version;
|
12 |
+
|
13 |
+
function __construct( $file, $version ) {
|
14 |
+
$this->file = $file;
|
15 |
+
$this->version = $version;
|
16 |
+
|
17 |
+
$this->plugin_name = 'jQuery Pin It Button for Images Lite';
|
18 |
+
add_action( 'admin_menu', array( $this, 'admin_menus' ) );
|
19 |
+
add_action( 'admin_init', array( $this, 'redirect' ), 11 );
|
20 |
+
}
|
21 |
+
|
22 |
+
public function admin_menus() {
|
23 |
+
// About Page
|
24 |
+
add_dashboard_page(
|
25 |
+
__( 'Welcome to jQuery Pin It Button for Images', 'jquery-pin-it-button-for-images' ),
|
26 |
+
__( 'Welcome to jQuery Pin It Button for Images', 'jquery-pin-it-button-for-images' ),
|
27 |
+
$this->minimum_capability,
|
28 |
+
'jpibfi-welcome',
|
29 |
+
array( $this, 'welcome_message' )
|
30 |
+
);
|
31 |
+
|
32 |
+
// Now remove them from the menus so plugins that allow customizing the admin menu don't show them
|
33 |
+
remove_submenu_page( 'index.php', 'jpibfi-welcome' );
|
34 |
+
}
|
35 |
+
|
36 |
+
public function welcome_message() {
|
37 |
+
?>
|
38 |
+
<div class="wrap about-wrap">
|
39 |
+
<h1><?php printf( __( 'Welcome to %s %s', 'jquery-pin-it-button-for-images' ), $this->plugin_name, $this->version ); ?></h1>
|
40 |
+
|
41 |
+
<p class="about-text"><?php printf( __( 'Thank you for updating to the latest version! %s helps your readers share your images using Pinterest.', 'jquery-pin-it-button-for-images' ), $this->plugin_name, $this->version ); ?></p>
|
42 |
+
|
43 |
+
<hr/>
|
44 |
+
|
45 |
+
<div class="feature-section one-col">
|
46 |
+
<h2><?php _e( 'Settings', 'jquery-pin-it-button-for-images' ); ?></h2>
|
47 |
+
<p class="lead-description"><?php _e( 'The most important part of the plugin is the settings panel.', 'jquery-pin-it-button-for-images' ); ?></p>
|
48 |
+
</div>
|
49 |
+
|
50 |
+
<div class="feature-section two-col">
|
51 |
+
<div class="col">
|
52 |
+
<h3><?php _e( 'Finding the settings panel', 'jquery-pin-it-button-for-images' ); ?></h3>
|
53 |
+
<p><?php printf( __( 'You can find the plugin\'s settings panel in the <b>Settings</b> submenu under the name <b>%s</b>. There you can find all the settings the plugin allows you to adjust. All settings are divided into several tabs so you can find what you\'re looking for easily.', 'jquery-pin-it-button-for-images' ), $this->plugin_name ); ?></p>
|
54 |
+
</div>
|
55 |
+
<div class="col">
|
56 |
+
<?php
|
57 |
+
$file_name = 'settings_link.png';
|
58 |
+
?>
|
59 |
+
<img src="<?php echo plugin_dir_url( $this->file ) . '/images/' . $file_name ?>"
|
60 |
+
title="<?php _e( 'Settings link', 'jquery-pin-it-button-for-images' ); ?>"/>
|
61 |
+
</div>
|
62 |
+
</div>
|
63 |
+
<div class="feature-section one-col">
|
64 |
+
<h3><?php _e( 'Everything at hand', 'jquery-pin-it-button-for-images' ); ?></h3>
|
65 |
+
<p style="margin-left: 0; margin-right: 0;"><?php _e( 'You can find all the links mentioned below in the settings panel.', 'jquery-pin-it-button-for-images' ); ?></p>
|
66 |
+
<p style="text-align: center;"><img
|
67 |
+
src="<?php echo plugin_dir_url( $this->file ) . '/images/settings_tabs.png' ?>"
|
68 |
+
title="<?php _e( 'Settings tabs', 'jquery-pin-it-button-for-images' ); ?>"/>
|
69 |
+
</p>
|
70 |
+
</div>
|
71 |
+
<div class="feature-section two-col">
|
72 |
+
<div class="col">
|
73 |
+
<h3><?php _e( 'Selection settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
74 |
+
<p><?php _e( 'In this tab you choose which images should feature the "Pin it" button. You can choose images with specific classes or set up a minimum image resolution to prevent the button from showing up on small images. You can also choose on which pages the "Pin it" button should show up.', 'jquery-pin-it-button-for-images' ); ?></p>
|
75 |
+
<?php printf( __( '<a href="%s" class="button button-primary">Go to Selection settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=select' ) ); ?>
|
76 |
+
</div>
|
77 |
+
<div class="col">
|
78 |
+
<h3><?php _e( 'Visual settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
79 |
+
<p><?php _e( 'This tab helps you configure how the "Pin it" button looks like and where it appears. If you want to use your own "Pin it" icon or make the button show up in the upper right corner of the image, this is the tab you are looking for.', 'jquery-pin-it-button-for-images' ); ?></p>
|
80 |
+
<?php printf( __( '<a href="%s" class="button button-primary">Go to Visual settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=visual' ) ); ?>
|
81 |
+
</div>
|
82 |
+
</div>
|
83 |
+
<div class="feature-section two-col">
|
84 |
+
<div class="col">
|
85 |
+
<h3><?php _e( 'Advanced settings', 'jquery-pin-it-button-for-images' ); ?></h3>
|
86 |
+
<p><?php _e( 'In most cases you won\'t have to visit this tab ever. It features a few advanced settings used in most cases to resolve conflicts with other plugins.', 'jquery-pin-it-button-for-images' ); ?></p>
|
87 |
+
<?php printf( __( '<a href="%s" class="button button-primary">Go to Advanced settings</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=advanced' ) ); ?>
|
88 |
+
</div>
|
89 |
+
<div class="col">
|
90 |
+
<h3><?php _e( 'Import/Export', 'jquery-pin-it-button-for-images' ); ?></h3>
|
91 |
+
<p><?php _e( 'If you would like to quickly copy the plugin\'s settings to another instance of WordPress, that\'s the place for you. You can download a file with your current settings and import it to another instance easily.', 'jquery-pin-it-button-for-images' ); ?></p>
|
92 |
+
<?php printf( __( '<a href="%s" class="button button-primary">Go to Import/Export</a>', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings&tab=import' ) ); ?>
|
93 |
+
</div>
|
94 |
+
</div>
|
95 |
+
|
96 |
+
<hr/>
|
97 |
+
|
98 |
+
<div class="feature-section one-col">
|
99 |
+
<h2><?php _e( 'Finding help', 'jquery-pin-it-button-for-images' ); ?></h2>
|
100 |
+
<p class="lead-description"><?php _e( 'If you\'re stuck and can\'t get the plugin to work the way you want it to, get help!', 'jquery-pin-it-button-for-images' ); ?></p>
|
101 |
+
</div>
|
102 |
+
|
103 |
+
<div class="feature-section two-col">
|
104 |
+
<div class="col">
|
105 |
+
<h3><?php _e( 'Documentation', 'jquery-pin-it-button-for-images' ); ?></h3>
|
106 |
+
<p><?php printf( __( 'If you are having difficulties with some aspects of the plugin, the first place to look for help is <a href="%s" target="_blank">the documentation</a> of the plugin. Chances are you will find what you are looking for there.', 'jquery-pin-it-button-for-images' ), 'https://highfiveplugins.com/jpibfi/jquery-pin-it-button-for-images-documentation/' ); ?></p>
|
107 |
+
</div>
|
108 |
+
<div class="col">
|
109 |
+
<h3><?php _e( 'Support', 'jquery-pin-it-button-for-images' ); ?></h3>
|
110 |
+
<p><?php
|
111 |
+
printf( __( 'Users of the free version of the plugin can find support <a href="%s" target="_blank">in the support forum</a>. When posting to the support forum, make sure you include the URL of your website.', 'jquery-pin-it-button-for-images' ), 'https://wordpress.org/support/plugin/jquery-pin-it-button-for-images' );
|
112 |
+
?></p>
|
113 |
+
</div>
|
114 |
+
</div>
|
115 |
+
<hr />
|
116 |
+
<div class="feature-section one-col">
|
117 |
+
<h2><?php _e( 'Next steps', 'jquery-pin-it-button-for-images' ); ?></h2>
|
118 |
+
<?php
|
119 |
+
$next_steps_text = sprintf( __( 'In most cases, the plugin is ready to go without any configuration. If there is anything you would like to change, go to the <a href="%s">Settings panel</a>.', 'jquery-pin-it-button-for-images' ), admin_url( 'options-general.php?page=jpibfi_settings' ) );
|
120 |
+
?>
|
121 |
+
<p class="lead-description"><?php echo $next_steps_text; ?></p>
|
122 |
+
</div>
|
123 |
+
</div>
|
124 |
+
<?php
|
125 |
+
}
|
126 |
+
|
127 |
+
public function redirect() {
|
128 |
+
if ( ! get_transient( $this->transient_name ) ) {
|
129 |
+
return;
|
130 |
+
}
|
131 |
+
delete_transient( $this->transient_name );
|
132 |
+
|
133 |
+
// Bail if activating from network, or bulk
|
134 |
+
if ( is_network_admin() || isset( $_GET['activate-multi'] ) ) {
|
135 |
+
return;
|
136 |
+
}
|
137 |
+
wp_safe_redirect( admin_url( 'index.php?page=jpibfi-welcome' ) );
|
138 |
+
exit;
|
139 |
+
}
|
140 |
}
|
includes/admin/includes/JPIBFI_Pro_Nag.php
DELETED
@@ -1,88 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
require_once 'jpibfi_nag.php';
|
4 |
-
class JPIBFI_Pro_Nag extends JPIBFI_Nag {
|
5 |
-
|
6 |
-
private $plugin_name;
|
7 |
-
private $pro_link;
|
8 |
-
private $notice_key;
|
9 |
-
private $notice_text;
|
10 |
-
|
11 |
-
function __construct( $plugin_prefix, $plugin_name, $pro_link ) {
|
12 |
-
parent::__construct( $plugin_prefix );
|
13 |
-
$this->pro_link = $pro_link;
|
14 |
-
$this->plugin_name = $plugin_name;
|
15 |
-
$this->notice_key = $plugin_prefix . '_pro_notice_date';
|
16 |
-
|
17 |
-
$this->notice_text = sprintf(
|
18 |
-
__( "You've been using <b>%s</b> for quite some time now. How about checking out the Pro version? <a class='button button-primary' href='%s' target='_blank'>Yes, take me there →</a> <a class='button button-secondary' href='%s'>Thanks, but no thanks.</a>", 'jquery-pin-in-button-for-images' ),
|
19 |
-
$plugin_name,
|
20 |
-
$pro_link,
|
21 |
-
'%s'
|
22 |
-
);
|
23 |
-
|
24 |
-
$this->setup();
|
25 |
-
}
|
26 |
-
|
27 |
-
public function setup() {
|
28 |
-
if ( current_user_can( 'install_plugins' ) ) {
|
29 |
-
$this->catch_hide_notice();
|
30 |
-
add_action( 'admin_notices', array( $this, 'display_admin_notice' ) );
|
31 |
-
}
|
32 |
-
}
|
33 |
-
|
34 |
-
private function catch_hide_notice() {
|
35 |
-
if ( ! isset( $_GET[ $this->notice_key ] ) ) {
|
36 |
-
return;
|
37 |
-
}
|
38 |
-
global $current_user;
|
39 |
-
|
40 |
-
/* remove old user meta if it still exists */
|
41 |
-
delete_user_meta($current_user->ID, $this->plugin_prefix . '_pro_notice');
|
42 |
-
|
43 |
-
$datetime_install = $this->get_install_date();
|
44 |
-
$next_date = $this->getNextNagDate( $datetime_install );
|
45 |
-
update_user_meta( $current_user->ID, $this->notice_key, $next_date->format( 'Y-m-d' ) );
|
46 |
-
wp_redirect( remove_query_arg( $this->notice_key ) );
|
47 |
-
exit;
|
48 |
-
}
|
49 |
-
|
50 |
-
private function getNextNagDate($install_date) {
|
51 |
-
$base_period = 45;
|
52 |
-
$stages = array(
|
53 |
-
new DateTime( '-180 days' ),
|
54 |
-
new DateTime( '-365 days' ),
|
55 |
-
new DateTime( '-730 days' ),
|
56 |
-
new DateTime( '-1100 days' )
|
57 |
-
);
|
58 |
-
|
59 |
-
for( $i = count( $stages) - 1; $i >= 0; $i--) {
|
60 |
-
if ( $install_date < $stages[ $i ] ) {
|
61 |
-
return new DateTime( sprintf( '+%s days', ($i + 1) * $base_period ) );
|
62 |
-
}
|
63 |
-
}
|
64 |
-
return new DateTime( '+30 days' );
|
65 |
-
}
|
66 |
-
|
67 |
-
/**
|
68 |
-
* Display the admin notice
|
69 |
-
*/
|
70 |
-
public function display_admin_notice() {
|
71 |
-
$now = new DateTime();
|
72 |
-
$current_user = wp_get_current_user();
|
73 |
-
$notice_date_string = get_user_meta( $current_user->ID, $this->notice_key, true );
|
74 |
-
$notice_date = '' == $notice_date_string
|
75 |
-
? $now
|
76 |
-
: new DateTime( $notice_date_string );
|
77 |
-
|
78 |
-
if ( $notice_date > $now ) {
|
79 |
-
return;
|
80 |
-
}
|
81 |
-
?>
|
82 |
-
<div class="notice notice-info is-dismissible">
|
83 |
-
<p><?php printf( $this->notice_text, add_query_arg( $this->notice_key, '1' ) ); ?></p>
|
84 |
-
</div>
|
85 |
-
<?php
|
86 |
-
}
|
87 |
-
|
88 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/admin/includes/jpibfi_admin_notice.php
CHANGED
@@ -1,29 +1,29 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Admin_Notice {
|
4 |
-
private $type;
|
5 |
-
private $is_dismissible;
|
6 |
-
private $message;
|
7 |
-
|
8 |
-
|
9 |
-
/**
|
10 |
-
* JPIBFI_Admin_Notice constructor.
|
11 |
-
*
|
12 |
-
* @param $type string
|
13 |
-
* @param $is_dismissible boolean
|
14 |
-
* @param $message string
|
15 |
-
*/
|
16 |
-
public function __construct($type, $is_dismissible, $message) {
|
17 |
-
$this->type = $type;
|
18 |
-
$this->is_dismissible = $is_dismissible;
|
19 |
-
$this->message = $message;
|
20 |
-
}
|
21 |
-
|
22 |
-
function get_html() {
|
23 |
-
$class = sprintf( 'notice%1$s%2$s',
|
24 |
-
$this->is_dismissible ? ' is-dismissible' : '',
|
25 |
-
' notice-' . $this->type
|
26 |
-
);
|
27 |
-
return sprintf('<div class="%s"><p>%s</p></div>', $class, $this->message);
|
28 |
-
}
|
29 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Admin_Notice {
|
4 |
+
private $type;
|
5 |
+
private $is_dismissible;
|
6 |
+
private $message;
|
7 |
+
|
8 |
+
|
9 |
+
/**
|
10 |
+
* JPIBFI_Admin_Notice constructor.
|
11 |
+
*
|
12 |
+
* @param $type string
|
13 |
+
* @param $is_dismissible boolean
|
14 |
+
* @param $message string
|
15 |
+
*/
|
16 |
+
public function __construct($type, $is_dismissible, $message) {
|
17 |
+
$this->type = $type;
|
18 |
+
$this->is_dismissible = $is_dismissible;
|
19 |
+
$this->message = $message;
|
20 |
+
}
|
21 |
+
|
22 |
+
function get_html() {
|
23 |
+
$class = sprintf( 'notice%1$s%2$s',
|
24 |
+
$this->is_dismissible ? ' is-dismissible' : '',
|
25 |
+
' notice-' . $this->type
|
26 |
+
);
|
27 |
+
return sprintf('<div class="%s"><p>%s</p></div>', $class, $this->message);
|
28 |
+
}
|
29 |
}
|
includes/admin/includes/jpibfi_ajax_result_builder.php
CHANGED
@@ -1,50 +1,50 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Ajax_Result_Builder {
|
4 |
-
|
5 |
-
private $model;
|
6 |
-
private $status;
|
7 |
-
private $messages;
|
8 |
-
|
9 |
-
function __construct() {
|
10 |
-
$this->model = null;
|
11 |
-
$this->messages = array();
|
12 |
-
$this->status = 'OK';
|
13 |
-
}
|
14 |
-
|
15 |
-
function set_model($model) {
|
16 |
-
$this->model = $model;
|
17 |
-
return $this;
|
18 |
-
}
|
19 |
-
|
20 |
-
function set_error($error_msg, $error_msg_id = 'error') {
|
21 |
-
$arr = array();
|
22 |
-
$arr[$error_msg_id] = $error_msg;
|
23 |
-
return $this->set_errors($arr);
|
24 |
-
}
|
25 |
-
|
26 |
-
function set_errors($errors) {
|
27 |
-
$this->status = 'ERROR';
|
28 |
-
$this->messages = $errors;
|
29 |
-
return $this;
|
30 |
-
}
|
31 |
-
|
32 |
-
function set_message($msg, $msg_id = 'ok'){
|
33 |
-
$this->messages = array($msg_id => $msg);
|
34 |
-
return $this;
|
35 |
-
}
|
36 |
-
|
37 |
-
function build() {
|
38 |
-
$res = array(
|
39 |
-
'status' => array(
|
40 |
-
'status' => $this->status,
|
41 |
-
'messages' => $this->messages
|
42 |
-
)
|
43 |
-
);
|
44 |
-
|
45 |
-
if ($this->model != null)
|
46 |
-
$res['model'] = $this->model;
|
47 |
-
|
48 |
-
return $res;
|
49 |
-
}
|
50 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Ajax_Result_Builder {
|
4 |
+
|
5 |
+
private $model;
|
6 |
+
private $status;
|
7 |
+
private $messages;
|
8 |
+
|
9 |
+
function __construct() {
|
10 |
+
$this->model = null;
|
11 |
+
$this->messages = array();
|
12 |
+
$this->status = 'OK';
|
13 |
+
}
|
14 |
+
|
15 |
+
function set_model($model) {
|
16 |
+
$this->model = $model;
|
17 |
+
return $this;
|
18 |
+
}
|
19 |
+
|
20 |
+
function set_error($error_msg, $error_msg_id = 'error') {
|
21 |
+
$arr = array();
|
22 |
+
$arr[$error_msg_id] = $error_msg;
|
23 |
+
return $this->set_errors($arr);
|
24 |
+
}
|
25 |
+
|
26 |
+
function set_errors($errors) {
|
27 |
+
$this->status = 'ERROR';
|
28 |
+
$this->messages = $errors;
|
29 |
+
return $this;
|
30 |
+
}
|
31 |
+
|
32 |
+
function set_message($msg, $msg_id = 'ok'){
|
33 |
+
$this->messages = array($msg_id => $msg);
|
34 |
+
return $this;
|
35 |
+
}
|
36 |
+
|
37 |
+
function build() {
|
38 |
+
$res = array(
|
39 |
+
'status' => array(
|
40 |
+
'status' => $this->status,
|
41 |
+
'messages' => $this->messages
|
42 |
+
)
|
43 |
+
);
|
44 |
+
|
45 |
+
if ($this->model != null)
|
46 |
+
$res['model'] = $this->model;
|
47 |
+
|
48 |
+
return $res;
|
49 |
+
}
|
50 |
}
|
includes/admin/includes/jpibfi_nag.php
CHANGED
@@ -1,30 +1,30 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
abstract class JPIBFI_Nag {
|
4 |
-
|
5 |
-
protected $plugin_prefix;
|
6 |
-
private $install_date_key;
|
7 |
-
|
8 |
-
function __construct( $plugin_prefix ) {
|
9 |
-
$this->plugin_prefix = $plugin_prefix;
|
10 |
-
$this->install_date_key = $plugin_prefix . '_install_date';
|
11 |
-
}
|
12 |
-
|
13 |
-
protected function get_install_date() {
|
14 |
-
$date_string = get_site_option( $this->install_date_key, '' );
|
15 |
-
if ( $date_string == '' ) {
|
16 |
-
$date_string = $this->insert_install_date();
|
17 |
-
}
|
18 |
-
|
19 |
-
return new DateTime( $date_string );
|
20 |
-
}
|
21 |
-
|
22 |
-
protected function insert_install_date() {
|
23 |
-
$datetime_now = new DateTime();
|
24 |
-
$date_string = $datetime_now->format( 'Y-m-d' );
|
25 |
-
add_site_option( $this->install_date_key, $date_string );
|
26 |
-
|
27 |
-
return $date_string;
|
28 |
-
}
|
29 |
-
|
30 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
abstract class JPIBFI_Nag {
|
4 |
+
|
5 |
+
protected $plugin_prefix;
|
6 |
+
private $install_date_key;
|
7 |
+
|
8 |
+
function __construct( $plugin_prefix ) {
|
9 |
+
$this->plugin_prefix = $plugin_prefix;
|
10 |
+
$this->install_date_key = $plugin_prefix . '_install_date';
|
11 |
+
}
|
12 |
+
|
13 |
+
protected function get_install_date() {
|
14 |
+
$date_string = get_site_option( $this->install_date_key, '' );
|
15 |
+
if ( $date_string == '' ) {
|
16 |
+
$date_string = $this->insert_install_date();
|
17 |
+
}
|
18 |
+
|
19 |
+
return new DateTime( $date_string );
|
20 |
+
}
|
21 |
+
|
22 |
+
protected function insert_install_date() {
|
23 |
+
$datetime_now = new DateTime();
|
24 |
+
$date_string = $datetime_now->format( 'Y-m-d' );
|
25 |
+
add_site_option( $this->install_date_key, $date_string );
|
26 |
+
|
27 |
+
return $date_string;
|
28 |
+
}
|
29 |
+
|
30 |
}
|
includes/admin/includes/jpibfi_review_nag.php
DELETED
@@ -1,71 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
require_once 'jpibfi_nag.php';
|
4 |
-
/**
|
5 |
-
* Class JPIBFI_Nag
|
6 |
-
*
|
7 |
-
* Heavily influenced by What The File Plugin
|
8 |
-
* https://wordpress.org/plugins/what-the-file/
|
9 |
-
*/
|
10 |
-
class JPIBFI_Review_Nag extends JPIBFI_Nag {
|
11 |
-
|
12 |
-
private $notice_key;
|
13 |
-
private $notice_text;
|
14 |
-
private $notice_period;
|
15 |
-
|
16 |
-
function __construct($plugin_prefix, $plugin_name, $review_link, $period = '-10 days') {
|
17 |
-
parent::__construct( $plugin_prefix );
|
18 |
-
$this->notice_key = $plugin_prefix . '_review_notice';
|
19 |
-
|
20 |
-
$this->notice_text = sprintf(
|
21 |
-
__( "You've been using <b>%s</b> for some time now, could you please give it a review at wordpress.org? <a class='button button-primary' href='%s' target='_blank'>Yes, take me there →</a> <a class='button button-secondary' href='%s'>I've already done this!</a>" ),
|
22 |
-
$plugin_name,
|
23 |
-
$review_link,
|
24 |
-
'%s'
|
25 |
-
);
|
26 |
-
$this->notice_period = $period;
|
27 |
-
|
28 |
-
$this->setup();
|
29 |
-
}
|
30 |
-
|
31 |
-
public function setup() {
|
32 |
-
if ( current_user_can( 'install_plugins' ) ) {
|
33 |
-
$this->catch_hide_notice();
|
34 |
-
add_action( 'admin_notices', array( $this, 'display_admin_notice' ) );
|
35 |
-
}
|
36 |
-
}
|
37 |
-
|
38 |
-
private function catch_hide_notice() {
|
39 |
-
if ( ! isset( $_GET[ $this->notice_key ] ) ) {
|
40 |
-
return;
|
41 |
-
}
|
42 |
-
global $current_user;
|
43 |
-
add_user_meta( $current_user->ID, $this->notice_key, '1', true );
|
44 |
-
wp_redirect( remove_query_arg( $this->notice_key ) );
|
45 |
-
exit;
|
46 |
-
}
|
47 |
-
|
48 |
-
/**
|
49 |
-
* Display the admin notice
|
50 |
-
*/
|
51 |
-
public function display_admin_notice() {
|
52 |
-
$current_user = wp_get_current_user();
|
53 |
-
$hide_notice = get_user_meta( $current_user->ID, $this->notice_key, true );
|
54 |
-
|
55 |
-
if ( '' != $hide_notice ) {
|
56 |
-
return;
|
57 |
-
}
|
58 |
-
|
59 |
-
$datetime_install = $this->get_install_date();
|
60 |
-
$datetime_past = new DateTime( $this->notice_period );
|
61 |
-
|
62 |
-
if ( $datetime_past < $datetime_install ) {
|
63 |
-
return;
|
64 |
-
}
|
65 |
-
?>
|
66 |
-
<div class="notice notice-info is-dismissible">
|
67 |
-
<p><?php printf( $this->notice_text, add_query_arg( $this->notice_key, '1' ) ); ?></p>
|
68 |
-
</div>
|
69 |
-
<?php
|
70 |
-
}
|
71 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
includes/admin/jpibfi-admin.php
CHANGED
@@ -1,219 +1,179 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Admin {
|
4 |
-
|
5 |
-
private $file;
|
6 |
-
private $version;
|
7 |
-
private $save_settings_action;
|
8 |
-
private $save_settings_tab;
|
9 |
-
|
10 |
-
private $admin_screen_hook = '';
|
11 |
-
|
12 |
-
/**
|
13 |
-
* @var JPIBFI_Settings_Tab[]
|
14 |
-
*/
|
15 |
-
private $tab_modules;
|
16 |
-
|
17 |
-
function __construct( $file, $version ) {
|
18 |
-
$this->file = $file;
|
19 |
-
$this->version = $version;
|
20 |
-
|
21 |
-
$this->tab_modules = array();
|
22 |
-
$this->save_settings_action = 'jpibfi_save_settings';
|
23 |
-
$this->save_settings_tab = 'jpibfi_save_settings_tab';
|
24 |
-
|
25 |
-
$this->load_dependencies();
|
26 |
-
$this->setup();
|
27 |
-
|
28 |
-
add_action( 'admin_init', array( $this, 'save_settings' ) );
|
29 |
-
add_action( 'admin_menu', array( $this, 'print_admin_page_action' ) );
|
30 |
-
add_action( 'admin_enqueue_scripts', array( $this, 'add_admin_scripts' ) );
|
31 |
-
|
32 |
-
$jpibfi_plugin = plugin_basename( $this->file );
|
33 |
-
add_filter( "plugin_action_links_$jpibfi_plugin", array( $this, 'add_settings_link' ) );
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
$
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
'
|
56 |
-
'
|
57 |
-
'
|
58 |
-
'settings/jpibfi-settings
|
59 |
-
'settings/
|
60 |
-
'settings/jpibfi-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
$this->add_tab_module( new
|
72 |
-
|
73 |
-
$this->
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
$
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
'
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
);
|
113 |
-
|
114 |
-
|
115 |
-
$
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
'
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
|
147 |
-
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
|
168 |
-
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
-
|
179 |
-
$tab = $_POST[ $this->save_settings_tab ];
|
180 |
-
$module = $this->get_tab( $tab );
|
181 |
-
$module->save_settings( $_POST );
|
182 |
-
}
|
183 |
-
|
184 |
-
function show_nags() {
|
185 |
-
require_once 'includes/jpibfi_review_nag.php';
|
186 |
-
new JPIBFI_Review_Nag( 'jpibfi', 'jQuery Pin It Button For Images', 'http://wordpress.org/support/view/plugin-reviews/jquery-pin-it-button-for-images', '-10 days' );
|
187 |
-
|
188 |
-
require_once 'includes/JPIBFI_Pro_Nag.php';
|
189 |
-
new JPIBFI_Pro_Nag( 'jpibfi', 'jQuery Pin It Button For Images', 'https://highfiveplugins.com/downloads/jquery-pin-it-button-for-images-pro/' );
|
190 |
-
|
191 |
-
}
|
192 |
-
|
193 |
-
public function show_ad() {
|
194 |
-
global $hook_suffix;
|
195 |
-
if ( $hook_suffix !== $this->admin_screen_hook ) {
|
196 |
-
return;
|
197 |
-
}
|
198 |
-
?>
|
199 |
-
<div class="notice notice-success">
|
200 |
-
<p>
|
201 |
-
<?php printf(
|
202 |
-
__( '<strong>jQuery Pin It Button for Images Pro</strong> is available. <a class="button button-primary" href="%1$s" target="_blank">Check it out →</a>', 'jquery-pin-it-button-for-images' ),
|
203 |
-
'https://highfiveplugins.com/downloads/jquery-pin-it-button-for-images-pro/'
|
204 |
-
);
|
205 |
-
?>
|
206 |
-
</p>
|
207 |
-
</div>
|
208 |
-
<?php
|
209 |
-
}
|
210 |
-
|
211 |
-
function plugin_meta_links( $links, $file ) {
|
212 |
-
$plugin = plugin_basename( $this->file );
|
213 |
-
if ( $file == $plugin ) {
|
214 |
-
return array_merge( $links, array( '<a href="https://highfiveplugins.com/downloads/jquery-pin-it-button-for-images-pro/">jQuery Pin It Button for Images Pro</a>' ) );
|
215 |
-
}
|
216 |
-
|
217 |
-
return $links;
|
218 |
-
}
|
219 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Admin {
|
4 |
+
|
5 |
+
private $file;
|
6 |
+
private $version;
|
7 |
+
private $save_settings_action;
|
8 |
+
private $save_settings_tab;
|
9 |
+
|
10 |
+
private $admin_screen_hook = '';
|
11 |
+
|
12 |
+
/**
|
13 |
+
* @var JPIBFI_Settings_Tab[]
|
14 |
+
*/
|
15 |
+
private $tab_modules;
|
16 |
+
|
17 |
+
function __construct( $file, $version ) {
|
18 |
+
$this->file = $file;
|
19 |
+
$this->version = $version;
|
20 |
+
|
21 |
+
$this->tab_modules = array();
|
22 |
+
$this->save_settings_action = 'jpibfi_save_settings';
|
23 |
+
$this->save_settings_tab = 'jpibfi_save_settings_tab';
|
24 |
+
|
25 |
+
$this->load_dependencies();
|
26 |
+
$this->setup();
|
27 |
+
|
28 |
+
add_action( 'admin_init', array( $this, 'save_settings' ) );
|
29 |
+
add_action( 'admin_menu', array( $this, 'print_admin_page_action' ) );
|
30 |
+
add_action( 'admin_enqueue_scripts', array( $this, 'add_admin_scripts' ) );
|
31 |
+
|
32 |
+
$jpibfi_plugin = plugin_basename( $this->file );
|
33 |
+
add_filter( "plugin_action_links_$jpibfi_plugin", array( $this, 'add_settings_link' ) );
|
34 |
+
}
|
35 |
+
|
36 |
+
function add_settings_link( $links ) {
|
37 |
+
$settings_link = '<a href="options-general.php?page=jpibfi_settings">' . __( 'Settings', 'jquery-pin-it-button-for-images' ) . '</a>';
|
38 |
+
array_unshift( $links, $settings_link );
|
39 |
+
|
40 |
+
return $links;
|
41 |
+
}
|
42 |
+
|
43 |
+
/**
|
44 |
+
* @param $tab_module JPIBFI_Settings_Tab
|
45 |
+
*/
|
46 |
+
private function add_tab_module( $tab_module ) {
|
47 |
+
$this->tab_modules[ $tab_module->get_slug() ] = $tab_module;
|
48 |
+
}
|
49 |
+
|
50 |
+
private function load_dependencies() {
|
51 |
+
$deps = array(
|
52 |
+
'JPIBFI_Welcome_Screen.php',
|
53 |
+
'includes/jpibfi_ajax_result_builder.php',
|
54 |
+
'includes/jpibfi_admin_notice.php',
|
55 |
+
'settings/jpibfi-settings-base.php',
|
56 |
+
'settings/jpibfi_validator.php',
|
57 |
+
'settings/jpibfi-import-export-settings.php',
|
58 |
+
'settings/jpibfi-selection-settings.php',
|
59 |
+
'settings/jpibfi-visual-settings.php',
|
60 |
+
'settings/jpibfi-advanced-settings.php',
|
61 |
+
);
|
62 |
+
foreach ( $deps as $dep ) {
|
63 |
+
require_once $dep;
|
64 |
+
}
|
65 |
+
}
|
66 |
+
|
67 |
+
private function setup() {
|
68 |
+
$this->add_tab_module( new JPIBFI_Selection_Settings() );
|
69 |
+
$this->add_tab_module( new JPIBFI_Visual_Settings() );
|
70 |
+
$this->add_tab_module( new JPIBFI_Advanced_Settings() );
|
71 |
+
$this->add_tab_module( new JPIBFI_Import_Export_Settings() );
|
72 |
+
|
73 |
+
new JPIBFI_Welcome_Screen( $this->file, $this->version );
|
74 |
+
}
|
75 |
+
|
76 |
+
public function print_admin_page_action() {
|
77 |
+
|
78 |
+
$name = 'jQuery Pin It Button For Images Lite';
|
79 |
+
|
80 |
+
$this->admin_screen_hook = add_options_page(
|
81 |
+
$name,
|
82 |
+
$name,
|
83 |
+
'manage_options',
|
84 |
+
'jpibfi_settings',
|
85 |
+
array( $this, 'print_admin_page' )
|
86 |
+
);
|
87 |
+
}
|
88 |
+
|
89 |
+
public function add_admin_scripts( $hook ) {
|
90 |
+
if ( $this->admin_screen_hook === $hook ) {
|
91 |
+
$this->add_settings_scripts();
|
92 |
+
}
|
93 |
+
}
|
94 |
+
|
95 |
+
private function add_settings_scripts() {
|
96 |
+
$plugin_dir_url = plugin_dir_url( $this->file );
|
97 |
+
|
98 |
+
wp_enqueue_style( 'jquery-pin-it-button-admin-style', $plugin_dir_url . 'css/admin.css', array(), $this->version, 'all' );
|
99 |
+
|
100 |
+
$links = array(
|
101 |
+
array(
|
102 |
+
'url' => 'https://highfiveplugins.com/jpibfi/jquery-pin-it-button-for-images-documentation/',
|
103 |
+
'label' => __( 'Documentation', 'jquery-pin-it-button-for-images' )
|
104 |
+
),
|
105 |
+
array(
|
106 |
+
'url' => 'https://wordpress.org/support/plugin/jquery-pin-it-button-for-images',
|
107 |
+
'label' => __( 'Support', 'jquery-pin-it-button-for-images' )
|
108 |
+
)
|
109 |
+
);
|
110 |
+
|
111 |
+
$slug = isset( $_GET['tab'] ) ? $_GET['tab'] : 'select';
|
112 |
+
$tab_mod = $this->get_tab( $slug );
|
113 |
+
$slug = $tab_mod->get_slug();
|
114 |
+
|
115 |
+
$settings = array(
|
116 |
+
'tabs' => $this->get_tabs(),
|
117 |
+
'currentTab' => $slug,
|
118 |
+
'page' => 'jpibfi_settings',
|
119 |
+
'save' => array(
|
120 |
+
'post_url' => add_query_arg( array( 'tab' => $slug ) ),
|
121 |
+
'action' => $this->save_settings_action,
|
122 |
+
'nonce' => wp_create_nonce( $this->save_settings_action ),
|
123 |
+
'tab' => $this->save_settings_tab,
|
124 |
+
'submit' => __( 'Save Changes', 'jquery-pin-it-button-for-images' )
|
125 |
+
),
|
126 |
+
'links' => $links,
|
127 |
+
'settings' => $tab_mod->get_settings_configuration(),
|
128 |
+
'i18n' => array(
|
129 |
+
'editor' => $tab_mod->get_settings_i18n(),
|
130 |
+
'status' => array( 'pending' => __( 'Saving changes ...', 'jquery-pin-it-button-for-images' ) ),
|
131 |
+
),
|
132 |
+
);
|
133 |
+
$settings['version'] = 'lite';
|
134 |
+
wp_enqueue_script( 'jpibfi', $plugin_dir_url . 'js/jpibfi.admin.js', array( 'jquery' ), $this->version, false );
|
135 |
+
wp_localize_script( 'jpibfi', 'jpibfi_settings', $settings );
|
136 |
+
|
137 |
+
if ( function_exists( "wp_enqueue_media" ) ) {
|
138 |
+
wp_enqueue_media();
|
139 |
+
}
|
140 |
+
}
|
141 |
+
|
142 |
+
private function get_tab( $tab_slug ) {
|
143 |
+
return array_key_exists( $tab_slug, $this->tab_modules )
|
144 |
+
? $this->tab_modules[ $tab_slug ]
|
145 |
+
: $this->tab_modules[ 'select' ];
|
146 |
+
}
|
147 |
+
|
148 |
+
private function get_tabs() {
|
149 |
+
$res = array();
|
150 |
+
foreach ( $this->tab_modules as $slug => $tab_module ) {
|
151 |
+
$res[] = $tab_module->get_module_settings();
|
152 |
+
}
|
153 |
+
|
154 |
+
return $res;
|
155 |
+
}
|
156 |
+
|
157 |
+
public function print_admin_page() {
|
158 |
+
?>
|
159 |
+
<div id="jpibfi-container" class="wrap">
|
160 |
+
<h2><?php _e( 'jQuery Pin It Button For Images Options', 'jquery-pin-it-button-for-images' ); ?></h2>
|
161 |
+
<div id="icon-plugins" class="icon32"></div>
|
162 |
+
<jpibfi settings-name="jpibfi_settings"></jpibfi>
|
163 |
+
<h3 id="jpibfi-error"><?php printf(__('If you cannot see the settings page, <a href="%s" target="_blank">click here</a>', 'jquery-pin-it-button-for-images'), 'https://highfiveplugins.com/jpibfi/jquery-pin-it-button-for-images-documentation/#Empty_settings_page'); ?></h3>
|
164 |
+
</div>
|
165 |
+
<?php
|
166 |
+
}
|
167 |
+
|
168 |
+
|
169 |
+
function save_settings() {
|
170 |
+
$return_condition = ! isset( $_POST[ $this->save_settings_action ] ) ||
|
171 |
+
! wp_verify_nonce( $_POST[ $this->save_settings_action ], $this->save_settings_action );
|
172 |
+
if ( $return_condition ) {
|
173 |
+
return;
|
174 |
+
}
|
175 |
+
$tab = $_POST[ $this->save_settings_tab ];
|
176 |
+
$module = $this->get_tab( $tab );
|
177 |
+
$module->save_settings( $_POST );
|
178 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
179 |
}
|
includes/admin/settings/jpibfi-advanced-settings.php
CHANGED
@@ -1,101 +1,101 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Advanced_Settings extends JPIBFI_Settings_Base {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
parent::__construct( 'advanced', new JPIBFI_Advanced_Options() );
|
7 |
-
}
|
8 |
-
|
9 |
-
function get_settings_i18n() {
|
10 |
-
$parent = parent::get_settings_i18n();
|
11 |
-
$i18n = array();
|
12 |
-
$i18n['title'] = __( 'Advanced settings', 'jquery-pin-it-button-for-images' );
|
13 |
-
$i18n['filters_label'] = __( 'Filters', 'jquery-pin-it-button-for-images' );
|
14 |
-
$i18n['filters_description'] =
|
15 |
-
sprintf(
|
16 |
-
__( 'You can enabled or disable if the plugin should use a certain filter and change the priority setting. Read more about filters <a href="%s" target="_blank">here</a>. By default all 3 filters are active with the priority of 10.', 'jquery-pin-it-button-for-images' ),
|
17 |
-
'https://codex.wordpress.org/Plugin_API'
|
18 |
-
);
|
19 |
-
$i18n['filter_template'] = __( '%name% with priority of %priority%', 'jquery-pin-it-button-for-images' );
|
20 |
-
|
21 |
-
return array_merge( $parent, $i18n );
|
22 |
-
}
|
23 |
-
|
24 |
-
function get_module_settings() {
|
25 |
-
return array(
|
26 |
-
'slug' => 'advanced',
|
27 |
-
'name' => __( 'Advanced', 'jquery-pin-it-button-for-images' ),
|
28 |
-
);
|
29 |
-
}
|
30 |
-
|
31 |
-
function get_settings_configuration() {
|
32 |
-
|
33 |
-
$option_value = $this->options->get();
|
34 |
-
$res = array();
|
35 |
-
|
36 |
-
$res['filter_the_content_on'] = array(
|
37 |
-
'key' => 'filter_the_content_on',
|
38 |
-
'text' => 'the_content',
|
39 |
-
'type' => 'boolean'
|
40 |
-
);
|
41 |
-
|
42 |
-
$res['filter_the_content_priority'] = array(
|
43 |
-
'key' => 'filter_the_content_priority',
|
44 |
-
'type' => 'int',
|
45 |
-
'error_label' => __( 'the_content priority', 'jquery-pin-it-button-for-images' )
|
46 |
-
);
|
47 |
-
|
48 |
-
$res['filter_the_excerpt_on'] = array(
|
49 |
-
'key' => 'filter_the_excerpt_on',
|
50 |
-
'text' => 'the_excerpt',
|
51 |
-
'type' => 'boolean'
|
52 |
-
);
|
53 |
-
|
54 |
-
$res['filter_the_excerpt_priority'] = array(
|
55 |
-
'key' => 'filter_the_excerpt_priority',
|
56 |
-
'type' => 'int',
|
57 |
-
'error_label' => __( 'the_excerpt priority', 'jquery-pin-it-button-for-images' )
|
58 |
-
);
|
59 |
-
|
60 |
-
$res['filter_post_thumbnail_html_on'] = array(
|
61 |
-
'key' => 'filter_post_thumbnail_html_on',
|
62 |
-
'text' => 'post_thumbnail_html',
|
63 |
-
'type' => 'boolean'
|
64 |
-
);
|
65 |
-
|
66 |
-
$res['filter_post_thumbnail_html_priority'] = array(
|
67 |
-
'key' => 'filter_post_thumbnail_html_priority',
|
68 |
-
'type' => 'int',
|
69 |
-
'error_label' => __( 'post_thumbnail_html priority', 'jquery-pin-it-button-for-images' )
|
70 |
-
);
|
71 |
-
|
72 |
-
$res['scroll_selector'] = array(
|
73 |
-
'key' => 'scroll_selector',
|
74 |
-
'type' => 'string',
|
75 |
-
'label' => __( 'Scroll selector', 'jquery-pin-it-button-for-images' ),
|
76 |
-
'desc' => __( 'Additional scroll selector for "Always" and "Always on touch devices" Show Button settings.', 'jquery-pin-it-button-for-images' )
|
77 |
-
);
|
78 |
-
|
79 |
-
$res['custom_css'] = array(
|
80 |
-
'key' => 'custom_css',
|
81 |
-
'type' => 'string',
|
82 |
-
'label' => __( 'Custom CSS', 'jquery-pin-it-button-for-images' ),
|
83 |
-
'desc' => __( 'Additional CSS that prevents the "Pin it" button from rendering incorrectly on some themes.', 'jquery-pin-it-button-for-images' )
|
84 |
-
);
|
85 |
-
|
86 |
-
$res['support_srcset'] = array(
|
87 |
-
'key' => 'support_srcset',
|
88 |
-
'label' => __( 'Support Srcset Attribute', 'jquery-pin-it-button-for-images' ),
|
89 |
-
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
90 |
-
'desc' => __( 'When checked, the plugin will try to find the best quality image to pin using the srcset attribute generated by WordPress. Useful when you want people to pin bigger version of the image than you embed on the page.', 'jquery-pin-it-button-for-images' ),
|
91 |
-
'type' => 'boolean',
|
92 |
-
);
|
93 |
-
|
94 |
-
|
95 |
-
foreach ( $res as $key => $setting ) {
|
96 |
-
$res[ $key ]['value'] = $option_value[ $key ];
|
97 |
-
}
|
98 |
-
|
99 |
-
return $res;
|
100 |
-
}
|
101 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Advanced_Settings extends JPIBFI_Settings_Base {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
parent::__construct( 'advanced', new JPIBFI_Advanced_Options() );
|
7 |
+
}
|
8 |
+
|
9 |
+
function get_settings_i18n() {
|
10 |
+
$parent = parent::get_settings_i18n();
|
11 |
+
$i18n = array();
|
12 |
+
$i18n['title'] = __( 'Advanced settings', 'jquery-pin-it-button-for-images' );
|
13 |
+
$i18n['filters_label'] = __( 'Filters', 'jquery-pin-it-button-for-images' );
|
14 |
+
$i18n['filters_description'] =
|
15 |
+
sprintf(
|
16 |
+
__( 'You can enabled or disable if the plugin should use a certain filter and change the priority setting. Read more about filters <a href="%s" target="_blank">here</a>. By default all 3 filters are active with the priority of 10.', 'jquery-pin-it-button-for-images' ),
|
17 |
+
'https://codex.wordpress.org/Plugin_API'
|
18 |
+
);
|
19 |
+
$i18n['filter_template'] = __( '%name% with priority of %priority%', 'jquery-pin-it-button-for-images' );
|
20 |
+
|
21 |
+
return array_merge( $parent, $i18n );
|
22 |
+
}
|
23 |
+
|
24 |
+
function get_module_settings() {
|
25 |
+
return array(
|
26 |
+
'slug' => 'advanced',
|
27 |
+
'name' => __( 'Advanced', 'jquery-pin-it-button-for-images' ),
|
28 |
+
);
|
29 |
+
}
|
30 |
+
|
31 |
+
function get_settings_configuration() {
|
32 |
+
|
33 |
+
$option_value = $this->options->get();
|
34 |
+
$res = array();
|
35 |
+
|
36 |
+
$res['filter_the_content_on'] = array(
|
37 |
+
'key' => 'filter_the_content_on',
|
38 |
+
'text' => 'the_content',
|
39 |
+
'type' => 'boolean'
|
40 |
+
);
|
41 |
+
|
42 |
+
$res['filter_the_content_priority'] = array(
|
43 |
+
'key' => 'filter_the_content_priority',
|
44 |
+
'type' => 'int',
|
45 |
+
'error_label' => __( 'the_content priority', 'jquery-pin-it-button-for-images' )
|
46 |
+
);
|
47 |
+
|
48 |
+
$res['filter_the_excerpt_on'] = array(
|
49 |
+
'key' => 'filter_the_excerpt_on',
|
50 |
+
'text' => 'the_excerpt',
|
51 |
+
'type' => 'boolean'
|
52 |
+
);
|
53 |
+
|
54 |
+
$res['filter_the_excerpt_priority'] = array(
|
55 |
+
'key' => 'filter_the_excerpt_priority',
|
56 |
+
'type' => 'int',
|
57 |
+
'error_label' => __( 'the_excerpt priority', 'jquery-pin-it-button-for-images' )
|
58 |
+
);
|
59 |
+
|
60 |
+
$res['filter_post_thumbnail_html_on'] = array(
|
61 |
+
'key' => 'filter_post_thumbnail_html_on',
|
62 |
+
'text' => 'post_thumbnail_html',
|
63 |
+
'type' => 'boolean'
|
64 |
+
);
|
65 |
+
|
66 |
+
$res['filter_post_thumbnail_html_priority'] = array(
|
67 |
+
'key' => 'filter_post_thumbnail_html_priority',
|
68 |
+
'type' => 'int',
|
69 |
+
'error_label' => __( 'post_thumbnail_html priority', 'jquery-pin-it-button-for-images' )
|
70 |
+
);
|
71 |
+
|
72 |
+
$res['scroll_selector'] = array(
|
73 |
+
'key' => 'scroll_selector',
|
74 |
+
'type' => 'string',
|
75 |
+
'label' => __( 'Scroll selector', 'jquery-pin-it-button-for-images' ),
|
76 |
+
'desc' => __( 'Additional scroll selector for "Always" and "Always on touch devices" Show Button settings.', 'jquery-pin-it-button-for-images' )
|
77 |
+
);
|
78 |
+
|
79 |
+
$res['custom_css'] = array(
|
80 |
+
'key' => 'custom_css',
|
81 |
+
'type' => 'string',
|
82 |
+
'label' => __( 'Custom CSS', 'jquery-pin-it-button-for-images' ),
|
83 |
+
'desc' => __( 'Additional CSS that prevents the "Pin it" button from rendering incorrectly on some themes.', 'jquery-pin-it-button-for-images' )
|
84 |
+
);
|
85 |
+
|
86 |
+
$res['support_srcset'] = array(
|
87 |
+
'key' => 'support_srcset',
|
88 |
+
'label' => __( 'Support Srcset Attribute', 'jquery-pin-it-button-for-images' ),
|
89 |
+
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
90 |
+
'desc' => __( 'When checked, the plugin will try to find the best quality image to pin using the srcset attribute generated by WordPress. Useful when you want people to pin bigger version of the image than you embed on the page.', 'jquery-pin-it-button-for-images' ),
|
91 |
+
'type' => 'boolean',
|
92 |
+
);
|
93 |
+
|
94 |
+
|
95 |
+
foreach ( $res as $key => $setting ) {
|
96 |
+
$res[ $key ]['value'] = $option_value[ $key ];
|
97 |
+
}
|
98 |
+
|
99 |
+
return $res;
|
100 |
+
}
|
101 |
}
|
includes/admin/settings/jpibfi-import-export-settings.php
CHANGED
@@ -1,140 +1,140 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Import_Export_Settings extends JPIBFI_Settings_Tab {
|
4 |
-
|
5 |
-
private $ajax_import_action;
|
6 |
-
|
7 |
-
private $options_to_import_export;
|
8 |
-
|
9 |
-
function __construct() {
|
10 |
-
parent::__construct( 'import' );
|
11 |
-
$this->ajax_import_action = 'import';
|
12 |
-
$this->options_to_import_export = array(
|
13 |
-
'jpibfi_selection_options',
|
14 |
-
'jpibfi_visual_options',
|
15 |
-
'jpibfi_advanced_options',
|
16 |
-
'jpibfi_version',
|
17 |
-
);
|
18 |
-
add_filter( 'export_args', array( $this, 'export_args' ) );
|
19 |
-
add_action( 'export_wp', array( $this, 'export_wp' ) );
|
20 |
-
}
|
21 |
-
|
22 |
-
function import() {
|
23 |
-
$file = wp_import_handle_upload();
|
24 |
-
|
25 |
-
if ( isset( $file['error'] ) ) {
|
26 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, esc_html( $file['error'] ) );
|
27 |
-
|
28 |
-
return;
|
29 |
-
}
|
30 |
-
|
31 |
-
if ( ! isset( $file['file'], $file['id'] ) ) {
|
32 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, __( 'The file did not upload properly. Please try again.', 'jquery-pin-it-button-for-images' ) );
|
33 |
-
|
34 |
-
return;
|
35 |
-
}
|
36 |
-
|
37 |
-
if ( ! file_exists( $file['file'] ) ) {
|
38 |
-
wp_import_cleanup( $file['id'] );
|
39 |
-
|
40 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, sprintf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'jquery-pin-it-button-for-images' ), esc_html( $file['file'] ) ) );
|
41 |
-
|
42 |
-
return;
|
43 |
-
}
|
44 |
-
|
45 |
-
if ( ! is_file( $file['file'] ) ) {
|
46 |
-
wp_import_cleanup( $file['id'] );
|
47 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, __( 'The path is not a file, please try again.', 'jquery-pin-it-button-for-images' ) );
|
48 |
-
|
49 |
-
return;
|
50 |
-
}
|
51 |
-
|
52 |
-
$file_contents = file_get_contents( $file['file'] );
|
53 |
-
$data = json_decode( $file_contents, true );
|
54 |
-
wp_import_cleanup( $file['id'] );
|
55 |
-
|
56 |
-
$options_to_import = $data['options'];
|
57 |
-
foreach ( (array) $options_to_import as $option_name => $option_value ) {
|
58 |
-
$options_to_import[ $option_name ] = maybe_unserialize( $option_value );
|
59 |
-
}
|
60 |
-
$options_to_import[ 'jpibfi_version' ] = ! isset( $options_to_import[ 'jpibfi_version' ] ) ? '2.2.2' : $options_to_import[ 'jpibfi_version' ];
|
61 |
-
|
62 |
-
foreach ( $this->options_to_import_export as $option_name ) {
|
63 |
-
if ( isset( $options_to_import[ $option_name ] ) ) {
|
64 |
-
update_option( $option_name, $options_to_import[ $option_name] );
|
65 |
-
}
|
66 |
-
}
|
67 |
-
|
68 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'success', true, __( 'Import Successful', 'jquery_pin_it_button_for_images' ) );
|
69 |
-
}
|
70 |
-
|
71 |
-
function get_settings_i18n() {
|
72 |
-
$parent = parent::get_settings_i18n();
|
73 |
-
$i18n = array();
|
74 |
-
$i18n['export_title'] = __( 'Export', 'jquery-pin-it-button-for-images' );
|
75 |
-
$i18n['export_url'] = admin_url( 'export.php?download=true&content=jpibfi' );
|
76 |
-
$i18n['export_button_text'] = __( 'Download Export File', 'jquery-pin-it-button-for-images' );
|
77 |
-
|
78 |
-
$i18n['import_title'] = __( 'Import', 'jquery-pin-it-button-for-images' );
|
79 |
-
$i18n['import_button_text'] = __( 'Import Settings', 'jquery-pin-it-button-for-images' );
|
80 |
-
$i18n['import_action_name'] = $this->ajax_import_action;
|
81 |
-
|
82 |
-
return array_merge( $parent, $i18n );
|
83 |
-
}
|
84 |
-
|
85 |
-
function get_module_settings() {
|
86 |
-
return array(
|
87 |
-
'slug' => 'import',
|
88 |
-
'name' => __( 'Import/Export', 'jquery-pin-it-button-for-images' ),
|
89 |
-
);
|
90 |
-
}
|
91 |
-
|
92 |
-
/**
|
93 |
-
* @param array $args The export args being filtered.
|
94 |
-
*
|
95 |
-
* @return array The (possibly modified) export args.
|
96 |
-
*/
|
97 |
-
public function export_args( $args ) {
|
98 |
-
if ( ! empty( $_GET['content'] ) && 'jpibfi' == $_GET['content'] ) {
|
99 |
-
return array( 'jpibfi' => true );
|
100 |
-
}
|
101 |
-
|
102 |
-
return $args;
|
103 |
-
}
|
104 |
-
|
105 |
-
|
106 |
-
/**
|
107 |
-
* Export options as a JSON file if that's what the user wants to do.
|
108 |
-
*
|
109 |
-
* @param array $args The export arguments.
|
110 |
-
*
|
111 |
-
* @return void
|
112 |
-
*/
|
113 |
-
public function export_wp( $args ) {
|
114 |
-
if ( empty( $args['jpibfi'] ) ) {
|
115 |
-
return;
|
116 |
-
}
|
117 |
-
|
118 |
-
$filename = 'jpibfi_settings_' . date( 'Y-m-d' ) . '.json';
|
119 |
-
|
120 |
-
header( 'Content-Description: File Transfer' );
|
121 |
-
header( 'Content-Disposition: attachment; filename=' . $filename );
|
122 |
-
header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ), true );
|
123 |
-
|
124 |
-
$export_options = array();
|
125 |
-
foreach ( $this->options_to_import_export as $option_name ) {
|
126 |
-
$option_value = get_option( $option_name );
|
127 |
-
if (false !== $option_value ) {
|
128 |
-
$export_options[ $option_name ] = maybe_serialize( $option_value );
|
129 |
-
}
|
130 |
-
}
|
131 |
-
|
132 |
-
$JSON_PRETTY_PRINT = defined( 'JSON_PRETTY_PRINT' ) ? JSON_PRETTY_PRINT : null;
|
133 |
-
echo json_encode( array( 'options' => $export_options ), $JSON_PRETTY_PRINT );
|
134 |
-
exit;
|
135 |
-
}
|
136 |
-
|
137 |
-
public function save_settings( $settings ) {
|
138 |
-
$this->import();
|
139 |
-
}
|
140 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Import_Export_Settings extends JPIBFI_Settings_Tab {
|
4 |
+
|
5 |
+
private $ajax_import_action;
|
6 |
+
|
7 |
+
private $options_to_import_export;
|
8 |
+
|
9 |
+
function __construct() {
|
10 |
+
parent::__construct( 'import' );
|
11 |
+
$this->ajax_import_action = 'import';
|
12 |
+
$this->options_to_import_export = array(
|
13 |
+
'jpibfi_selection_options',
|
14 |
+
'jpibfi_visual_options',
|
15 |
+
'jpibfi_advanced_options',
|
16 |
+
'jpibfi_version',
|
17 |
+
);
|
18 |
+
add_filter( 'export_args', array( $this, 'export_args' ) );
|
19 |
+
add_action( 'export_wp', array( $this, 'export_wp' ) );
|
20 |
+
}
|
21 |
+
|
22 |
+
function import() {
|
23 |
+
$file = wp_import_handle_upload();
|
24 |
+
|
25 |
+
if ( isset( $file['error'] ) ) {
|
26 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, esc_html( $file['error'] ) );
|
27 |
+
|
28 |
+
return;
|
29 |
+
}
|
30 |
+
|
31 |
+
if ( ! isset( $file['file'], $file['id'] ) ) {
|
32 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, __( 'The file did not upload properly. Please try again.', 'jquery-pin-it-button-for-images' ) );
|
33 |
+
|
34 |
+
return;
|
35 |
+
}
|
36 |
+
|
37 |
+
if ( ! file_exists( $file['file'] ) ) {
|
38 |
+
wp_import_cleanup( $file['id'] );
|
39 |
+
|
40 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, sprintf( __( 'The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem.', 'jquery-pin-it-button-for-images' ), esc_html( $file['file'] ) ) );
|
41 |
+
|
42 |
+
return;
|
43 |
+
}
|
44 |
+
|
45 |
+
if ( ! is_file( $file['file'] ) ) {
|
46 |
+
wp_import_cleanup( $file['id'] );
|
47 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, __( 'The path is not a file, please try again.', 'jquery-pin-it-button-for-images' ) );
|
48 |
+
|
49 |
+
return;
|
50 |
+
}
|
51 |
+
|
52 |
+
$file_contents = file_get_contents( $file['file'] );
|
53 |
+
$data = json_decode( $file_contents, true );
|
54 |
+
wp_import_cleanup( $file['id'] );
|
55 |
+
|
56 |
+
$options_to_import = $data['options'];
|
57 |
+
foreach ( (array) $options_to_import as $option_name => $option_value ) {
|
58 |
+
$options_to_import[ $option_name ] = maybe_unserialize( $option_value );
|
59 |
+
}
|
60 |
+
$options_to_import[ 'jpibfi_version' ] = ! isset( $options_to_import[ 'jpibfi_version' ] ) ? '2.2.2' : $options_to_import[ 'jpibfi_version' ];
|
61 |
+
|
62 |
+
foreach ( $this->options_to_import_export as $option_name ) {
|
63 |
+
if ( isset( $options_to_import[ $option_name ] ) ) {
|
64 |
+
update_option( $option_name, $options_to_import[ $option_name] );
|
65 |
+
}
|
66 |
+
}
|
67 |
+
|
68 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'success', true, __( 'Import Successful', 'jquery_pin_it_button_for_images' ) );
|
69 |
+
}
|
70 |
+
|
71 |
+
function get_settings_i18n() {
|
72 |
+
$parent = parent::get_settings_i18n();
|
73 |
+
$i18n = array();
|
74 |
+
$i18n['export_title'] = __( 'Export', 'jquery-pin-it-button-for-images' );
|
75 |
+
$i18n['export_url'] = admin_url( 'export.php?download=true&content=jpibfi' );
|
76 |
+
$i18n['export_button_text'] = __( 'Download Export File', 'jquery-pin-it-button-for-images' );
|
77 |
+
|
78 |
+
$i18n['import_title'] = __( 'Import', 'jquery-pin-it-button-for-images' );
|
79 |
+
$i18n['import_button_text'] = __( 'Import Settings', 'jquery-pin-it-button-for-images' );
|
80 |
+
$i18n['import_action_name'] = $this->ajax_import_action;
|
81 |
+
|
82 |
+
return array_merge( $parent, $i18n );
|
83 |
+
}
|
84 |
+
|
85 |
+
function get_module_settings() {
|
86 |
+
return array(
|
87 |
+
'slug' => 'import',
|
88 |
+
'name' => __( 'Import/Export', 'jquery-pin-it-button-for-images' ),
|
89 |
+
);
|
90 |
+
}
|
91 |
+
|
92 |
+
/**
|
93 |
+
* @param array $args The export args being filtered.
|
94 |
+
*
|
95 |
+
* @return array The (possibly modified) export args.
|
96 |
+
*/
|
97 |
+
public function export_args( $args ) {
|
98 |
+
if ( ! empty( $_GET['content'] ) && 'jpibfi' == $_GET['content'] ) {
|
99 |
+
return array( 'jpibfi' => true );
|
100 |
+
}
|
101 |
+
|
102 |
+
return $args;
|
103 |
+
}
|
104 |
+
|
105 |
+
|
106 |
+
/**
|
107 |
+
* Export options as a JSON file if that's what the user wants to do.
|
108 |
+
*
|
109 |
+
* @param array $args The export arguments.
|
110 |
+
*
|
111 |
+
* @return void
|
112 |
+
*/
|
113 |
+
public function export_wp( $args ) {
|
114 |
+
if ( empty( $args['jpibfi'] ) ) {
|
115 |
+
return;
|
116 |
+
}
|
117 |
+
|
118 |
+
$filename = 'jpibfi_settings_' . date( 'Y-m-d' ) . '.json';
|
119 |
+
|
120 |
+
header( 'Content-Description: File Transfer' );
|
121 |
+
header( 'Content-Disposition: attachment; filename=' . $filename );
|
122 |
+
header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ), true );
|
123 |
+
|
124 |
+
$export_options = array();
|
125 |
+
foreach ( $this->options_to_import_export as $option_name ) {
|
126 |
+
$option_value = get_option( $option_name );
|
127 |
+
if (false !== $option_value ) {
|
128 |
+
$export_options[ $option_name ] = maybe_serialize( $option_value );
|
129 |
+
}
|
130 |
+
}
|
131 |
+
|
132 |
+
$JSON_PRETTY_PRINT = defined( 'JSON_PRETTY_PRINT' ) ? JSON_PRETTY_PRINT : null;
|
133 |
+
echo json_encode( array( 'options' => $export_options ), $JSON_PRETTY_PRINT );
|
134 |
+
exit;
|
135 |
+
}
|
136 |
+
|
137 |
+
public function save_settings( $settings ) {
|
138 |
+
$this->import();
|
139 |
+
}
|
140 |
}
|
includes/admin/settings/jpibfi-license-settings.php
DELETED
@@ -1,5 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! defined( 'ABSPATH' ) ) {
|
3 |
-
exit;
|
4 |
-
}
|
5 |
-
|
|
|
|
|
|
|
|
|
|
includes/admin/settings/jpibfi-selection-settings.php
CHANGED
@@ -1,187 +1,187 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Selection_Settings extends JPIBFI_Settings_Base {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
parent::__construct( 'select', new JPIBFI_Selection_Options() );
|
7 |
-
add_action( 'add_meta_boxes', array( $this, 'add_post_selection_meta_box' ), 10, 2 );
|
8 |
-
add_action( 'save_post', array( $this, 'save_post_selection_meta' ), 10, 3 );
|
9 |
-
}
|
10 |
-
|
11 |
-
function add_post_selection_meta_box( $post_type, $post ) {
|
12 |
-
add_meta_box(
|
13 |
-
'jpibfi-disable-plugin_meta',
|
14 |
-
__( 'jQuery Pin It Button for Images Settings', 'jquery-pin-it-button-for-images' ),
|
15 |
-
array( $this, 'render_post_selection_meta_box' ),
|
16 |
-
array( 'post', 'page' ),
|
17 |
-
'side'
|
18 |
-
);
|
19 |
-
}
|
20 |
-
|
21 |
-
function get_settings_i18n() {
|
22 |
-
$existing_post_types = get_post_types( array( 'public' => true ) );
|
23 |
-
|
24 |
-
$parent = parent::get_settings_i18n();
|
25 |
-
$i18n = array();
|
26 |
-
$i18n['title'] = __( 'Selection settings', 'jquery-pin-it-button-for-images' );
|
27 |
-
$i18n['image_resolution_label'] = __( 'Minimum image resolution', 'jquery-pin-it-button-for-images' );
|
28 |
-
$i18n['image_resolution_desc'] = __( 'Use this settings to hide the "Pin it" button on small images (e.g. social media icons).', 'jquery-pin-it-button-for-images' );
|
29 |
-
$i18n['image_resolution_desc_2'] = __( '* - screen that is less than 768 pixels wide', 'jquery-pin-it-button-for-images' );
|
30 |
-
$i18n['min_resolution_template_small'] = __( 'For small screens* the "Pin it" button will show up if the image is at least %height% pixels high and %width% pixels wide.', 'jquery-pin-it-button-for-images' );
|
31 |
-
$i18n['min_resolution_template'] = __( 'Otherwise, the "Pin it" button will show up if the image is at least %height% pixels high and %width% pixels wide.', 'jquery-pin-it-button-for-images' );
|
32 |
-
|
33 |
-
$i18n['show_on_field_label'] = __( 'On which pages the "Pin it" button should be shown', 'jquery-pin-it-button-for-images' );
|
34 |
-
$i18n['show_on_field_desc'] = __( 'Separate settings using commas. For the button to show up on a certain page, the page must be included in the "Show on" section and not included in the "Disable on" section. You can use the following settings:' )
|
35 |
-
. '<p>'
|
36 |
-
. __( 'number (e.g. 588) - the ID of a certain page or post' ) . '<br/>'
|
37 |
-
. __( '[front] - front page' ) . '<br/>'
|
38 |
-
. __( '[single] - single posts' ) . '<br/>'
|
39 |
-
. __( '[page] - single pages' ) . '<br/>'
|
40 |
-
. sprintf( __( '[archive] - <a href="%s" target="_blank">archive pages</a>' ) . '<br/>', 'https://codex.wordpress.org/Function_Reference/is_archive' )
|
41 |
-
. __( '[search] - search pages' ) . '<br/>'
|
42 |
-
. __( '[category] - category pages' ) . '<br/>'
|
43 |
-
. __( '[tag] - tag pages' ) . '<br/>'
|
44 |
-
. __( '[home] - blog page' ) . '<br/>'
|
45 |
-
. __( '[post_type] where post_type is one of the following: ') . join(', ', $existing_post_types) . '.</p>';
|
46 |
-
|
47 |
-
return array_merge( $parent, $i18n );
|
48 |
-
}
|
49 |
-
|
50 |
-
function get_module_settings() {
|
51 |
-
return array(
|
52 |
-
'slug' => 'select',
|
53 |
-
'name' => __( 'Selection', 'jquery-pin-it-button-for-images' ),
|
54 |
-
);
|
55 |
-
}
|
56 |
-
|
57 |
-
function get_settings_configuration() {
|
58 |
-
|
59 |
-
$option_value = $this->options->get();
|
60 |
-
$res = array();
|
61 |
-
|
62 |
-
$res['image_selector'] = array(
|
63 |
-
'key' => 'image_selector',
|
64 |
-
'label' => __( 'Image selector', 'jquery-pin-it-button-for-images' ),
|
65 |
-
'desc' => sprintf( __( 'jQuery selector for all the images that should have the "Pin it" button. Set the value to %s if you want the "Pin it" button to appear only on images in content or %s to appear on all images on site (including sidebar, header and footer). If you know a thing or two about jQuery, you might use your own selector. %sClick here%s to read about jQuery selectors.', 'jquery-pin-it-button-for-images' ),
|
66 |
-
'<strong>.jpibfi_container img</strong>',
|
67 |
-
'<strong>img</strong>',
|
68 |
-
'<a href="http://api.jquery.com/category/selectors/" target="_blank">',
|
69 |
-
'</a>'
|
70 |
-
),
|
71 |
-
'type' => 'string',
|
72 |
-
'required' => true
|
73 |
-
);
|
74 |
-
|
75 |
-
$res['disabled_classes'] = array(
|
76 |
-
'key' => 'disabled_classes',
|
77 |
-
'label' => __( 'Disabled classes', 'jquery-pin-it-button-for-images' ),
|
78 |
-
'desc' => __( 'Images with these CSS classes won\'t show the "Pin it" button. Please separate multiple classes with semicolons. Spaces are not accepted.', 'jquery-pin-it-button-for-images' ),
|
79 |
-
'type' => 'string'
|
80 |
-
);
|
81 |
-
|
82 |
-
$res['enabled_classes'] = array(
|
83 |
-
'key' => 'enabled_classes',
|
84 |
-
'label' => __( 'Enabled classes', 'jquery-pin-it-button-for-images' ),
|
85 |
-
'desc' => __( 'Only images with these CSS classes will show the "Pin it" button. Please separate multiple classes with semicolons. If this field is empty, images with any (besides disabled ones) classes will show the Pin It button.', 'jquery-pin-it-button-for-images' ),
|
86 |
-
'type' => 'string'
|
87 |
-
);
|
88 |
-
|
89 |
-
$local_args = array(
|
90 |
-
'min' => '0',
|
91 |
-
'step' => '1',
|
92 |
-
'type' => 'int'
|
93 |
-
);
|
94 |
-
$res['min_image_height'] = array_merge( $local_args, array(
|
95 |
-
'key' => 'min_image_height',
|
96 |
-
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
97 |
-
'error_label' => __( 'Minimum image height', 'jquery-pin-it-button-for-images' )
|
98 |
-
) );
|
99 |
-
$res['min_image_width'] = array_merge( $local_args, array(
|
100 |
-
'key' => 'min_image_width',
|
101 |
-
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
102 |
-
'error_label' => __( 'Minimum image width', 'jquery-pin-it-button-for-images' )
|
103 |
-
) );
|
104 |
-
|
105 |
-
$res['min_image_height_small'] = array_merge( $local_args, array(
|
106 |
-
'key' => 'min_image_height_small',
|
107 |
-
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
108 |
-
'error_label' => __( 'Minimum image height for mobile', 'jquery-pin-it-button-for-images' )
|
109 |
-
) );
|
110 |
-
$res['min_image_width_small'] = array_merge( $local_args, array(
|
111 |
-
'key' => 'min_image_width_small',
|
112 |
-
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
113 |
-
'error_label' => __( 'Minimum image width for mobile', 'jquery-pin-it-button-for-images' )
|
114 |
-
) );
|
115 |
-
|
116 |
-
$res['show_on'] = array(
|
117 |
-
'key' => 'show_on',
|
118 |
-
'label' => __( 'Show on', 'jquery-pin-it-button-for-images' ),
|
119 |
-
'type' => 'string'
|
120 |
-
);
|
121 |
-
|
122 |
-
$res['disable_on'] = array(
|
123 |
-
'key' => 'disable_on',
|
124 |
-
'label' => __( 'Disable on', 'jquery-pin-it-button-for-images' ),
|
125 |
-
'type' => 'string'
|
126 |
-
);
|
127 |
-
|
128 |
-
foreach ( $res as $key => $setting ) {
|
129 |
-
$res[ $key ]['value'] = $option_value[ $key ];
|
130 |
-
}
|
131 |
-
|
132 |
-
return $res;
|
133 |
-
}
|
134 |
-
|
135 |
-
function render_post_selection_meta_box() {
|
136 |
-
global $post;
|
137 |
-
$id = $post->ID;
|
138 |
-
$options = $this->options->get();
|
139 |
-
$disabled_list = $options['disable_on'];
|
140 |
-
$disabled_array = explode( ',', $disabled_list );
|
141 |
-
$result = in_array( (string) $id, $disabled_array );
|
142 |
-
wp_nonce_field( 'jpibfi-post-selection', "jpibfi-post-selection" );
|
143 |
-
?>
|
144 |
-
<div>
|
145 |
-
<label>
|
146 |
-
<input name="jpibfi-disable-post" type="checkbox" <?php checked( true, $result, true ); ?> value="1"/>
|
147 |
-
<?php _e( 'Disable plugin on this post', 'jquery-pin-it-button-for-images' ); ?>
|
148 |
-
</label>
|
149 |
-
</div>
|
150 |
-
<?php
|
151 |
-
}
|
152 |
-
|
153 |
-
function save_post_selection_meta( $post_id, $post, $update ) {
|
154 |
-
if ( ! isset( $_POST["jpibfi-post-selection"] ) || ! wp_verify_nonce( $_POST["jpibfi-post-selection"], 'jpibfi-post-selection' ) ) {
|
155 |
-
return $post_id;
|
156 |
-
}
|
157 |
-
|
158 |
-
if ( ! current_user_can( "edit_post", $post_id ) ) {
|
159 |
-
return $post_id;
|
160 |
-
}
|
161 |
-
|
162 |
-
if ( defined( "DOING_AUTOSAVE" ) && DOING_AUTOSAVE ) {
|
163 |
-
return $post_id;
|
164 |
-
}
|
165 |
-
|
166 |
-
$should_be_in_array = isset( $_POST["jpibfi-disable-post"] );
|
167 |
-
|
168 |
-
$options = $this->options->get();
|
169 |
-
$disabled_str = $options['disable_on'];
|
170 |
-
$disabled_array = explode( ',', $disabled_str );
|
171 |
-
$is_in_array = in_array( (string) $post_id, $disabled_array );
|
172 |
-
|
173 |
-
if ( $should_be_in_array === $is_in_array ) {
|
174 |
-
return $post_id;
|
175 |
-
}
|
176 |
-
|
177 |
-
if ( $should_be_in_array ) {
|
178 |
-
$disabled_array[] = (string) $post_id;
|
179 |
-
} else {
|
180 |
-
$disabled_array = array_diff( $disabled_array, array( (string) $post_id ) );
|
181 |
-
}
|
182 |
-
|
183 |
-
$disabled_str = implode( ',', $disabled_array );
|
184 |
-
$options['disable_on'] = $disabled_str;
|
185 |
-
$this->options->update( $options );
|
186 |
-
}
|
187 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Selection_Settings extends JPIBFI_Settings_Base {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
parent::__construct( 'select', new JPIBFI_Selection_Options() );
|
7 |
+
add_action( 'add_meta_boxes', array( $this, 'add_post_selection_meta_box' ), 10, 2 );
|
8 |
+
add_action( 'save_post', array( $this, 'save_post_selection_meta' ), 10, 3 );
|
9 |
+
}
|
10 |
+
|
11 |
+
function add_post_selection_meta_box( $post_type, $post ) {
|
12 |
+
add_meta_box(
|
13 |
+
'jpibfi-disable-plugin_meta',
|
14 |
+
__( 'jQuery Pin It Button for Images Settings', 'jquery-pin-it-button-for-images' ),
|
15 |
+
array( $this, 'render_post_selection_meta_box' ),
|
16 |
+
array( 'post', 'page' ),
|
17 |
+
'side'
|
18 |
+
);
|
19 |
+
}
|
20 |
+
|
21 |
+
function get_settings_i18n() {
|
22 |
+
$existing_post_types = get_post_types( array( 'public' => true ) );
|
23 |
+
|
24 |
+
$parent = parent::get_settings_i18n();
|
25 |
+
$i18n = array();
|
26 |
+
$i18n['title'] = __( 'Selection settings', 'jquery-pin-it-button-for-images' );
|
27 |
+
$i18n['image_resolution_label'] = __( 'Minimum image resolution', 'jquery-pin-it-button-for-images' );
|
28 |
+
$i18n['image_resolution_desc'] = __( 'Use this settings to hide the "Pin it" button on small images (e.g. social media icons).', 'jquery-pin-it-button-for-images' );
|
29 |
+
$i18n['image_resolution_desc_2'] = __( '* - screen that is less than 768 pixels wide', 'jquery-pin-it-button-for-images' );
|
30 |
+
$i18n['min_resolution_template_small'] = __( 'For small screens* the "Pin it" button will show up if the image is at least %height% pixels high and %width% pixels wide.', 'jquery-pin-it-button-for-images' );
|
31 |
+
$i18n['min_resolution_template'] = __( 'Otherwise, the "Pin it" button will show up if the image is at least %height% pixels high and %width% pixels wide.', 'jquery-pin-it-button-for-images' );
|
32 |
+
|
33 |
+
$i18n['show_on_field_label'] = __( 'On which pages the "Pin it" button should be shown', 'jquery-pin-it-button-for-images' );
|
34 |
+
$i18n['show_on_field_desc'] = __( 'Separate settings using commas. For the button to show up on a certain page, the page must be included in the "Show on" section and not included in the "Disable on" section. You can use the following settings:' )
|
35 |
+
. '<p>'
|
36 |
+
. __( 'number (e.g. 588) - the ID of a certain page or post' ) . '<br/>'
|
37 |
+
. __( '[front] - front page' ) . '<br/>'
|
38 |
+
. __( '[single] - single posts' ) . '<br/>'
|
39 |
+
. __( '[page] - single pages' ) . '<br/>'
|
40 |
+
. sprintf( __( '[archive] - <a href="%s" target="_blank">archive pages</a>' ) . '<br/>', 'https://codex.wordpress.org/Function_Reference/is_archive' )
|
41 |
+
. __( '[search] - search pages' ) . '<br/>'
|
42 |
+
. __( '[category] - category pages' ) . '<br/>'
|
43 |
+
. __( '[tag] - tag pages' ) . '<br/>'
|
44 |
+
. __( '[home] - blog page' ) . '<br/>'
|
45 |
+
. __( '[post_type] where post_type is one of the following: ') . join(', ', $existing_post_types) . '.</p>';
|
46 |
+
|
47 |
+
return array_merge( $parent, $i18n );
|
48 |
+
}
|
49 |
+
|
50 |
+
function get_module_settings() {
|
51 |
+
return array(
|
52 |
+
'slug' => 'select',
|
53 |
+
'name' => __( 'Selection', 'jquery-pin-it-button-for-images' ),
|
54 |
+
);
|
55 |
+
}
|
56 |
+
|
57 |
+
function get_settings_configuration() {
|
58 |
+
|
59 |
+
$option_value = $this->options->get();
|
60 |
+
$res = array();
|
61 |
+
|
62 |
+
$res['image_selector'] = array(
|
63 |
+
'key' => 'image_selector',
|
64 |
+
'label' => __( 'Image selector', 'jquery-pin-it-button-for-images' ),
|
65 |
+
'desc' => sprintf( __( 'jQuery selector for all the images that should have the "Pin it" button. Set the value to %s if you want the "Pin it" button to appear only on images in content or %s to appear on all images on site (including sidebar, header and footer). If you know a thing or two about jQuery, you might use your own selector. %sClick here%s to read about jQuery selectors.', 'jquery-pin-it-button-for-images' ),
|
66 |
+
'<strong>.jpibfi_container img</strong>',
|
67 |
+
'<strong>img</strong>',
|
68 |
+
'<a href="http://api.jquery.com/category/selectors/" target="_blank">',
|
69 |
+
'</a>'
|
70 |
+
),
|
71 |
+
'type' => 'string',
|
72 |
+
'required' => true
|
73 |
+
);
|
74 |
+
|
75 |
+
$res['disabled_classes'] = array(
|
76 |
+
'key' => 'disabled_classes',
|
77 |
+
'label' => __( 'Disabled classes', 'jquery-pin-it-button-for-images' ),
|
78 |
+
'desc' => __( 'Images with these CSS classes won\'t show the "Pin it" button. Please separate multiple classes with semicolons. Spaces are not accepted.', 'jquery-pin-it-button-for-images' ),
|
79 |
+
'type' => 'string'
|
80 |
+
);
|
81 |
+
|
82 |
+
$res['enabled_classes'] = array(
|
83 |
+
'key' => 'enabled_classes',
|
84 |
+
'label' => __( 'Enabled classes', 'jquery-pin-it-button-for-images' ),
|
85 |
+
'desc' => __( 'Only images with these CSS classes will show the "Pin it" button. Please separate multiple classes with semicolons. If this field is empty, images with any (besides disabled ones) classes will show the Pin It button.', 'jquery-pin-it-button-for-images' ),
|
86 |
+
'type' => 'string'
|
87 |
+
);
|
88 |
+
|
89 |
+
$local_args = array(
|
90 |
+
'min' => '0',
|
91 |
+
'step' => '1',
|
92 |
+
'type' => 'int'
|
93 |
+
);
|
94 |
+
$res['min_image_height'] = array_merge( $local_args, array(
|
95 |
+
'key' => 'min_image_height',
|
96 |
+
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
97 |
+
'error_label' => __( 'Minimum image height', 'jquery-pin-it-button-for-images' )
|
98 |
+
) );
|
99 |
+
$res['min_image_width'] = array_merge( $local_args, array(
|
100 |
+
'key' => 'min_image_width',
|
101 |
+
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
102 |
+
'error_label' => __( 'Minimum image width', 'jquery-pin-it-button-for-images' )
|
103 |
+
) );
|
104 |
+
|
105 |
+
$res['min_image_height_small'] = array_merge( $local_args, array(
|
106 |
+
'key' => 'min_image_height_small',
|
107 |
+
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
108 |
+
'error_label' => __( 'Minimum image height for mobile', 'jquery-pin-it-button-for-images' )
|
109 |
+
) );
|
110 |
+
$res['min_image_width_small'] = array_merge( $local_args, array(
|
111 |
+
'key' => 'min_image_width_small',
|
112 |
+
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
113 |
+
'error_label' => __( 'Minimum image width for mobile', 'jquery-pin-it-button-for-images' )
|
114 |
+
) );
|
115 |
+
|
116 |
+
$res['show_on'] = array(
|
117 |
+
'key' => 'show_on',
|
118 |
+
'label' => __( 'Show on', 'jquery-pin-it-button-for-images' ),
|
119 |
+
'type' => 'string'
|
120 |
+
);
|
121 |
+
|
122 |
+
$res['disable_on'] = array(
|
123 |
+
'key' => 'disable_on',
|
124 |
+
'label' => __( 'Disable on', 'jquery-pin-it-button-for-images' ),
|
125 |
+
'type' => 'string'
|
126 |
+
);
|
127 |
+
|
128 |
+
foreach ( $res as $key => $setting ) {
|
129 |
+
$res[ $key ]['value'] = $option_value[ $key ];
|
130 |
+
}
|
131 |
+
|
132 |
+
return $res;
|
133 |
+
}
|
134 |
+
|
135 |
+
function render_post_selection_meta_box() {
|
136 |
+
global $post;
|
137 |
+
$id = $post->ID;
|
138 |
+
$options = $this->options->get();
|
139 |
+
$disabled_list = $options['disable_on'];
|
140 |
+
$disabled_array = explode( ',', $disabled_list );
|
141 |
+
$result = in_array( (string) $id, $disabled_array );
|
142 |
+
wp_nonce_field( 'jpibfi-post-selection', "jpibfi-post-selection" );
|
143 |
+
?>
|
144 |
+
<div>
|
145 |
+
<label>
|
146 |
+
<input name="jpibfi-disable-post" type="checkbox" <?php checked( true, $result, true ); ?> value="1"/>
|
147 |
+
<?php _e( 'Disable plugin on this post', 'jquery-pin-it-button-for-images' ); ?>
|
148 |
+
</label>
|
149 |
+
</div>
|
150 |
+
<?php
|
151 |
+
}
|
152 |
+
|
153 |
+
function save_post_selection_meta( $post_id, $post, $update ) {
|
154 |
+
if ( ! isset( $_POST["jpibfi-post-selection"] ) || ! wp_verify_nonce( $_POST["jpibfi-post-selection"], 'jpibfi-post-selection' ) ) {
|
155 |
+
return $post_id;
|
156 |
+
}
|
157 |
+
|
158 |
+
if ( ! current_user_can( "edit_post", $post_id ) ) {
|
159 |
+
return $post_id;
|
160 |
+
}
|
161 |
+
|
162 |
+
if ( defined( "DOING_AUTOSAVE" ) && DOING_AUTOSAVE ) {
|
163 |
+
return $post_id;
|
164 |
+
}
|
165 |
+
|
166 |
+
$should_be_in_array = isset( $_POST["jpibfi-disable-post"] );
|
167 |
+
|
168 |
+
$options = $this->options->get();
|
169 |
+
$disabled_str = $options['disable_on'];
|
170 |
+
$disabled_array = explode( ',', $disabled_str );
|
171 |
+
$is_in_array = in_array( (string) $post_id, $disabled_array );
|
172 |
+
|
173 |
+
if ( $should_be_in_array === $is_in_array ) {
|
174 |
+
return $post_id;
|
175 |
+
}
|
176 |
+
|
177 |
+
if ( $should_be_in_array ) {
|
178 |
+
$disabled_array[] = (string) $post_id;
|
179 |
+
} else {
|
180 |
+
$disabled_array = array_diff( $disabled_array, array( (string) $post_id ) );
|
181 |
+
}
|
182 |
+
|
183 |
+
$disabled_str = implode( ',', $disabled_array );
|
184 |
+
$options['disable_on'] = $disabled_str;
|
185 |
+
$this->options->update( $options );
|
186 |
+
}
|
187 |
}
|
includes/admin/settings/jpibfi-settings-base.php
CHANGED
@@ -1,82 +1,79 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
abstract class JPIBFI_Settings_Tab {
|
4 |
-
|
5 |
-
abstract function get_module_settings();
|
6 |
-
|
7 |
-
/**
|
8 |
-
* @var string
|
9 |
-
*/
|
10 |
-
private $slug;
|
11 |
-
|
12 |
-
/**
|
13 |
-
* @var JPIBFI_Admin_Notice[]
|
14 |
-
*/
|
15 |
-
protected $notices;
|
16 |
-
|
17 |
-
function __construct( $slug ) {
|
18 |
-
$this->slug = $slug;
|
19 |
-
$this->notices = array();
|
20 |
-
|
21 |
-
add_action( 'admin_notices', array( $this, 'show_notices' ) );
|
22 |
-
}
|
23 |
-
|
24 |
-
function get_settings_configuration() {
|
25 |
-
return array();
|
26 |
-
}
|
27 |
-
|
28 |
-
function get_settings_i18n() {
|
29 |
-
return array(
|
30 |
-
'submit' => __( 'Save Changes', 'jquery-pin-it-button-for-images' ),
|
31 |
-
'pro_feature_error' =>
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
);
|
74 |
-
$
|
75 |
-
|
76 |
-
$
|
77 |
-
|
78 |
-
|
79 |
-
$this->notices[] = new JPIBFI_Admin_Notice( 'success', true, '<strong>' . __( 'Settings saved.', 'jquery-pin-in-button-for-images' ) . '</strong>' );
|
80 |
-
}
|
81 |
-
}
|
82 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
abstract class JPIBFI_Settings_Tab {
|
4 |
+
|
5 |
+
abstract function get_module_settings();
|
6 |
+
|
7 |
+
/**
|
8 |
+
* @var string
|
9 |
+
*/
|
10 |
+
private $slug;
|
11 |
+
|
12 |
+
/**
|
13 |
+
* @var JPIBFI_Admin_Notice[]
|
14 |
+
*/
|
15 |
+
protected $notices;
|
16 |
+
|
17 |
+
function __construct( $slug ) {
|
18 |
+
$this->slug = $slug;
|
19 |
+
$this->notices = array();
|
20 |
+
|
21 |
+
add_action( 'admin_notices', array( $this, 'show_notices' ) );
|
22 |
+
}
|
23 |
+
|
24 |
+
function get_settings_configuration() {
|
25 |
+
return array();
|
26 |
+
}
|
27 |
+
|
28 |
+
function get_settings_i18n() {
|
29 |
+
return array(
|
30 |
+
'submit' => __( 'Save Changes', 'jquery-pin-it-button-for-images' ),
|
31 |
+
'pro_feature_error' => __( 'This feature is not available in the free version.', 'jquery-pin-it-button-for-images' )
|
32 |
+
);
|
33 |
+
}
|
34 |
+
|
35 |
+
function get_slug() {
|
36 |
+
return $this->slug;
|
37 |
+
}
|
38 |
+
|
39 |
+
function save_settings( $settings ) {
|
40 |
+
|
41 |
+
}
|
42 |
+
|
43 |
+
function show_notices( ) {
|
44 |
+
foreach ( $this->notices as $notice ) {
|
45 |
+
echo $notice->get_html();
|
46 |
+
}
|
47 |
+
}
|
48 |
+
|
49 |
+
}
|
50 |
+
|
51 |
+
abstract class JPIBFI_Settings_Base extends JPIBFI_Settings_Tab {
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @var JPIBFI_Options
|
55 |
+
*/
|
56 |
+
protected $options;
|
57 |
+
|
58 |
+
function __construct( $slug, $options ) {
|
59 |
+
parent::__construct( $slug );
|
60 |
+
$this->options = $options;
|
61 |
+
}
|
62 |
+
|
63 |
+
function save_settings( $settings ) {
|
64 |
+
$validator = new JPIBFI_Validator( $settings, $this->options->get_default_options(), $this->get_settings_configuration() );
|
65 |
+
$errors = $validator->get_errors();
|
66 |
+
if ( count( $errors ) > 0 ) {
|
67 |
+
$error_messages = array_merge(
|
68 |
+
array( '<strong>' .__( 'Settings not saved.', 'jquery-pin-in-button-for-images' ) . '</strong>' ),
|
69 |
+
$errors
|
70 |
+
);
|
71 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'error', true, join( '<br/>', $error_messages ) );
|
72 |
+
} else {
|
73 |
+
$sanitized = $validator->get_result();
|
74 |
+
$sanitized = $this->options->sanitize( $sanitized );
|
75 |
+
$this->options->update( $sanitized );
|
76 |
+
$this->notices[] = new JPIBFI_Admin_Notice( 'success', true, '<strong>' . __( 'Settings saved.', 'jquery-pin-in-button-for-images' ) . '</strong>' );
|
77 |
+
}
|
78 |
+
}
|
|
|
|
|
|
|
79 |
}
|
includes/admin/settings/jpibfi-visual-settings.php
CHANGED
@@ -1,219 +1,219 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Visual_Settings extends JPIBFI_Settings_Base {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
parent::__construct( 'visual', new JPIBFI_Visual_Options() );
|
7 |
-
}
|
8 |
-
|
9 |
-
function get_settings_i18n() {
|
10 |
-
$parent = parent::get_settings_i18n();
|
11 |
-
$i18n = array();
|
12 |
-
$i18n['margins_label'] = __( '"Pin it" button margins', 'jquery-pin-it-button-for-images' );
|
13 |
-
$i18n['margins_desc'] = sprintf( __( 'Margins are used to adjust the position of the "Pin it" button, but not all margins are used on all button positions. Here is an example. If you\'re using the "%s" position, the button\'s position will be affected only by top and left margins. Bottom and right margins affect "%s" position, etc. The "%s" position does not use any margins at all.', 'jquery-pin-it-button-for-images' ),
|
14 |
-
__( 'Top left', 'jquery-pin-it-button-for-images' ),
|
15 |
-
__( 'Bottom right', 'jquery-pin-it-button-for-images' ),
|
16 |
-
__( 'Middle', 'jquery-pin-it-button-for-images' )
|
17 |
-
);
|
18 |
-
$i18n['preview'] = __( 'Preview', 'jquery-pin-it-button-for-images' );
|
19 |
-
$i18n['mode'] = __( 'Mode', 'jquery-pin-it-button-for-images' );
|
20 |
-
$i18n['settings'] = __( 'Settings', 'jquery-pin-it-button-for-images' );
|
21 |
-
$i18n['custom_button_desc'] = __( 'Click the button to choose an image from your WordPress media library. Height and width should fill automatically.', 'jquery-pin-it-button-for-images' );
|
22 |
-
$i18n['custom_button_no_image_to_preview'] = __( 'No image to preview', 'jquery-pin-it-button-for-images' );
|
23 |
-
$i18n['custom_button_upload'] = __( 'Upload an image using media library', 'jquery-pin-it-button-for-images' );
|
24 |
-
$i18n['custom_button_frame_title'] = __( 'Select your custom "Pin It" button', 'jquery-pin-it-button-for-images' );
|
25 |
-
$i18n['custom_button_frame_button_text'] = __( 'Use as "Pin It" button', 'jquery-pin-it-button-for-images' );
|
26 |
-
|
27 |
-
$i18n['attribution'] = sprintf( __( 'Available icons come from the following icon packs: %s and %s.', 'jquery-pin-it-button-for-images' ),
|
28 |
-
'<a href="http://fontawesome.io/" target="_blank">Font Awesome</a>',
|
29 |
-
'<a href="https://icomoon.io/icons-icomoon.html" target="_blank">Icomoon</a>'
|
30 |
-
);
|
31 |
-
|
32 |
-
return array_merge( $parent, $i18n );
|
33 |
-
}
|
34 |
-
|
35 |
-
function get_module_settings() {
|
36 |
-
return array(
|
37 |
-
'slug' => 'visual',
|
38 |
-
'name' => __( 'Visual', 'jquery-pin-it-button-for-images' ),
|
39 |
-
);
|
40 |
-
}
|
41 |
-
|
42 |
-
function get_settings_configuration() {
|
43 |
-
|
44 |
-
$option_value = $this->options->get();
|
45 |
-
$res = array();
|
46 |
-
|
47 |
-
$res['show_button'] = array(
|
48 |
-
'key' => 'show_button',
|
49 |
-
'label' => __( 'Show button', 'jquery-pin-it-button-for-images' ),
|
50 |
-
'options' => array(
|
51 |
-
'hover' => __( 'On hover', 'jquery-pin-it-button-for-images' ),
|
52 |
-
'always_touch' => __( 'Always on touch devices', 'jquery-pin-it-button-for-images' ),
|
53 |
-
'always' => __( 'Always', 'jquery-pin-it-button-for-images' )
|
54 |
-
),
|
55 |
-
'desc' => __( 'When the "Pin it" button should be visible.', 'jquery-pin-it-button-for-images' ),
|
56 |
-
'type' => 'select'
|
57 |
-
);
|
58 |
-
|
59 |
-
$margin_args = array(
|
60 |
-
'min' => '0',
|
61 |
-
'step' => '1',
|
62 |
-
'unit' => 'px',
|
63 |
-
'type' => 'int'
|
64 |
-
);
|
65 |
-
$res['button_margin_bottom'] = array_merge( $margin_args,
|
66 |
-
array(
|
67 |
-
'key' => 'button_margin_bottom',
|
68 |
-
'label' => __( 'Bottom', 'jquery-pin-it-button-for-images' ),
|
69 |
-
'error_label' => __( 'Button bottom margin', 'jquery-pin-it-button-for-images' )
|
70 |
-
) );
|
71 |
-
$res['button_margin_top'] = array_merge( $margin_args,
|
72 |
-
array(
|
73 |
-
'key' => 'button_margin_top',
|
74 |
-
'label' => __( 'Top', 'jquery-pin-it-button-for-images' ),
|
75 |
-
'error_label' => __( 'Button top margin', 'jquery-pin-it-button-for-images' )
|
76 |
-
) );
|
77 |
-
$res['button_margin_left'] = array_merge( $margin_args,
|
78 |
-
array(
|
79 |
-
'key' => 'button_margin_left',
|
80 |
-
'label' => __( 'Left', 'jquery-pin-it-button-for-images' ),
|
81 |
-
'error_label' => __( 'Button left margin', 'jquery-pin-it-button-for-images' )
|
82 |
-
) );
|
83 |
-
$res['button_margin_right'] = array_merge( $margin_args,
|
84 |
-
array(
|
85 |
-
'key' => 'button_margin_right',
|
86 |
-
'label' => __( 'Right', 'jquery-pin-it-button-for-images' ),
|
87 |
-
'error_label' => __( 'Button right margin', 'jquery-pin-it-button-for-images' )
|
88 |
-
) );
|
89 |
-
|
90 |
-
$res['button_position'] = array(
|
91 |
-
'key' => 'button_position',
|
92 |
-
'label' => __( '"Pin it" button position', 'jquery-pin-it-button-for-images' ),
|
93 |
-
'options' => array(
|
94 |
-
'top-left' => __( 'Top left', 'jquery-pin-it-button-for-images' ),
|
95 |
-
'top-right' => __( 'Top right', 'jquery-pin-it-button-for-images' ),
|
96 |
-
'bottom-left' => __( 'Bottom left', 'jquery-pin-it-button-for-images' ),
|
97 |
-
'bottom-right' => __( 'Bottom right', 'jquery-pin-it-button-for-images' ),
|
98 |
-
'middle' => __( 'Middle', 'jquery-pin-it-button-for-images' )
|
99 |
-
),
|
100 |
-
'desc' => __( 'Where the "Pin it" button should appear on the image.', 'jquery-pin-it-button-for-images' ),
|
101 |
-
'type' => 'select'
|
102 |
-
);
|
103 |
-
|
104 |
-
$res['description_option'] = array(
|
105 |
-
'key' => 'description_option',
|
106 |
-
'label' => __( 'Description source', 'jquery-pin-it-button-for-images' ),
|
107 |
-
'options' => array(
|
108 |
-
"post_title" => __( 'Post title', 'jquery-pin-it-button-for-images' ),
|
109 |
-
"post_excerpt" => __( 'Post description (excerpt)', 'jquery-pin-it-button-for-images' ),
|
110 |
-
"img_title" => __( 'Image title attribute', 'jquery-pin-it-button-for-images' ),
|
111 |
-
"site_title" => __( 'Site title (Settings->General)', 'jquery-pin-it-button-for-images' ),
|
112 |
-
"img_description" => __( 'Image description', 'jquery-pin-it-button-for-images' ),
|
113 |
-
"img_caption" => __( 'Image caption', 'jquery-pin-it-button-for-images' ),
|
114 |
-
"img_alt" => __( 'Image alt attribute', 'jquery-pin-it-button-for-images' ),
|
115 |
-
"data_pin_description" => __( 'data-pin-description (Pinterest\'s custom attribute)', 'jquery-pin-it-button-for-images' )
|
116 |
-
),
|
117 |
-
'desc' => __( 'From where the Pinterest message should be taken. Check which sources should be considered and prioritize them by dragging and dropping. The description will come from the top source that has data. Please note that "Image description" and "Image caption" work properly only for images that were added to your Media Library.', 'jquery-pin-it-button-for-images' ),
|
118 |
-
'type' => 'multiselect'
|
119 |
-
);
|
120 |
-
|
121 |
-
$res['transparency_value'] = array(
|
122 |
-
'key' => 'transparency_value',
|
123 |
-
'label' => __( 'Transparency', 'jquery-pin-it-button-for-images' ),
|
124 |
-
'desc' => sprintf( __( 'Choose transparency (between %.02f and %.02f)', 'jquery-pin-it-button-for-images' ), '0.00', '1.00' ),
|
125 |
-
'min' => '0',
|
126 |
-
'max' => '1',
|
127 |
-
'step' => '0.01',
|
128 |
-
'type' => 'float'
|
129 |
-
);
|
130 |
-
|
131 |
-
$res['pin_image'] = array(
|
132 |
-
'key' => 'pin_image',
|
133 |
-
'label' => __( 'Pin image', 'jquery-pin-it-button-for-images' ),
|
134 |
-
'options' => array(
|
135 |
-
'old_default' => __( 'Old default', 'jquery-pin-it-button-for-images' ),
|
136 |
-
'default' => __( 'Default', 'jquery-pin-it-button-for-images' ),
|
137 |
-
'custom' => __( 'Custom', 'jquery-pin-it-button-for-images' )
|
138 |
-
),
|
139 |
-
'type' => 'select'
|
140 |
-
);
|
141 |
-
|
142 |
-
$res['pin_image_button'] = array(
|
143 |
-
'key' => 'pin_image_button',
|
144 |
-
'label' => __( 'Button', 'jquery-pin-it-button-for-images' ),
|
145 |
-
'options' => array(
|
146 |
-
'square' => __( 'Square', 'jquery-pin-it-button-for-images' ),
|
147 |
-
'rounded-square' => __( 'Rounded square', 'jquery-pin-it-button-for-images' ),
|
148 |
-
'round' => __( 'Round', 'jquery-pin-it-button-for-images' ),
|
149 |
-
'rectangle' => __( 'Rectangle', 'jquery-pin-it-button-for-images' ),
|
150 |
-
'rounded-rectangle' => __( 'Rounded rectangle', 'jquery-pin-it-button-for-images' )
|
151 |
-
),
|
152 |
-
'type' => 'select'
|
153 |
-
);
|
154 |
-
|
155 |
-
$res['pin_image_icon'] = array(
|
156 |
-
'key' => 'pin_image_icon',
|
157 |
-
'label' => __( 'Icon', 'jquery-pin-it-button-for-images' ),
|
158 |
-
'options' => array(
|
159 |
-
'circle' => __( 'Circle', 'jquery-pin-it-button-for-images' ),
|
160 |
-
'plain' => __( 'Plain', 'jquery-pin-it-button-for-images' ),
|
161 |
-
'thumb-tack' => __( 'Thumbtack', 'jquery-pin-it-button-for-images' ),
|
162 |
-
'pushpin' => __( 'Thumbtack #2', 'jquery-pin-it-button-for-images' ),
|
163 |
-
'pinterest2' => __( 'Classic', 'jquery-pin-it-button-for-images' ),
|
164 |
-
),
|
165 |
-
'type' => 'select'
|
166 |
-
);
|
167 |
-
|
168 |
-
$res['pin_image_size'] = array(
|
169 |
-
'key' => 'pin_image_size',
|
170 |
-
'label' => __( 'Size', 'jquery-pin-it-button-for-images' ),
|
171 |
-
'options' => array(
|
172 |
-
'small' => __( 'Small', 'jquery-pin-it-button-for-images' ),
|
173 |
-
'normal' => __( 'Normal', 'jquery-pin-it-button-for-images' ),
|
174 |
-
'large' => __( 'Large', 'jquery-pin-it-button-for-images' ),
|
175 |
-
),
|
176 |
-
'type' => 'select'
|
177 |
-
);
|
178 |
-
|
179 |
-
$res['custom_image_url'] = array(
|
180 |
-
'key' => 'custom_image_url',
|
181 |
-
'label' => __( 'URL address of the image', 'jquery-pin-it-button-for-images' ),
|
182 |
-
'type' => 'string'
|
183 |
-
);
|
184 |
-
|
185 |
-
$image_size = array( 'min' => '0', 'step' => '1', 'unit' => 'px', 'type' => 'int' );
|
186 |
-
$res['custom_image_height'] = array_merge( $image_size, array(
|
187 |
-
'key' => 'custom_image_height',
|
188 |
-
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
189 |
-
'error_label' => __( 'Custom image height', 'jquery-pin-it-button-for-images' )
|
190 |
-
) );
|
191 |
-
$res['custom_image_width'] = array_merge( $image_size, array(
|
192 |
-
'key' => 'custom_image_width',
|
193 |
-
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
194 |
-
'error_label' => __( 'Custom image width', 'jquery-pin-it-button-for-images' )
|
195 |
-
) );
|
196 |
-
|
197 |
-
$res['scale_pin_image'] = array(
|
198 |
-
'key' => 'scale_pin_image',
|
199 |
-
'label' => __( 'Scale Pin Image', 'jquery-pin-it-button-for-images' ),
|
200 |
-
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
201 |
-
'desc' => __( 'When checked, the "Pin it" button will scale down in size for smaller screens, ensuring best user experience. Left unchecked, the "Pin it" button will show up in full size no matter the screen size.', 'jquery-pin-it-button-for-images' ),
|
202 |
-
'type' => 'boolean',
|
203 |
-
);
|
204 |
-
|
205 |
-
$res['pin_linked_url'] = array(
|
206 |
-
'key' => 'pin_linked_url',
|
207 |
-
'label' => __( 'Pin linked URL', 'jquery-pin-it-button-for-images' ),
|
208 |
-
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
209 |
-
'desc' => __( 'When checked, if the image links to another URL in your domain, that URL goes to Pinterest instead of the current one.', 'jquery-pin-it-button-for-images' ),
|
210 |
-
'type' => 'boolean',
|
211 |
-
);
|
212 |
-
|
213 |
-
foreach ( $res as $key => $setting ) {
|
214 |
-
$res[ $key ]['value'] = $option_value[ $key ];
|
215 |
-
}
|
216 |
-
|
217 |
-
return $res;
|
218 |
-
}
|
219 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Visual_Settings extends JPIBFI_Settings_Base {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
parent::__construct( 'visual', new JPIBFI_Visual_Options() );
|
7 |
+
}
|
8 |
+
|
9 |
+
function get_settings_i18n() {
|
10 |
+
$parent = parent::get_settings_i18n();
|
11 |
+
$i18n = array();
|
12 |
+
$i18n['margins_label'] = __( '"Pin it" button margins', 'jquery-pin-it-button-for-images' );
|
13 |
+
$i18n['margins_desc'] = sprintf( __( 'Margins are used to adjust the position of the "Pin it" button, but not all margins are used on all button positions. Here is an example. If you\'re using the "%s" position, the button\'s position will be affected only by top and left margins. Bottom and right margins affect "%s" position, etc. The "%s" position does not use any margins at all.', 'jquery-pin-it-button-for-images' ),
|
14 |
+
__( 'Top left', 'jquery-pin-it-button-for-images' ),
|
15 |
+
__( 'Bottom right', 'jquery-pin-it-button-for-images' ),
|
16 |
+
__( 'Middle', 'jquery-pin-it-button-for-images' )
|
17 |
+
);
|
18 |
+
$i18n['preview'] = __( 'Preview', 'jquery-pin-it-button-for-images' );
|
19 |
+
$i18n['mode'] = __( 'Mode', 'jquery-pin-it-button-for-images' );
|
20 |
+
$i18n['settings'] = __( 'Settings', 'jquery-pin-it-button-for-images' );
|
21 |
+
$i18n['custom_button_desc'] = __( 'Click the button to choose an image from your WordPress media library. Height and width should fill automatically.', 'jquery-pin-it-button-for-images' );
|
22 |
+
$i18n['custom_button_no_image_to_preview'] = __( 'No image to preview', 'jquery-pin-it-button-for-images' );
|
23 |
+
$i18n['custom_button_upload'] = __( 'Upload an image using media library', 'jquery-pin-it-button-for-images' );
|
24 |
+
$i18n['custom_button_frame_title'] = __( 'Select your custom "Pin It" button', 'jquery-pin-it-button-for-images' );
|
25 |
+
$i18n['custom_button_frame_button_text'] = __( 'Use as "Pin It" button', 'jquery-pin-it-button-for-images' );
|
26 |
+
|
27 |
+
$i18n['attribution'] = sprintf( __( 'Available icons come from the following icon packs: %s and %s.', 'jquery-pin-it-button-for-images' ),
|
28 |
+
'<a href="http://fontawesome.io/" target="_blank">Font Awesome</a>',
|
29 |
+
'<a href="https://icomoon.io/icons-icomoon.html" target="_blank">Icomoon</a>'
|
30 |
+
);
|
31 |
+
|
32 |
+
return array_merge( $parent, $i18n );
|
33 |
+
}
|
34 |
+
|
35 |
+
function get_module_settings() {
|
36 |
+
return array(
|
37 |
+
'slug' => 'visual',
|
38 |
+
'name' => __( 'Visual', 'jquery-pin-it-button-for-images' ),
|
39 |
+
);
|
40 |
+
}
|
41 |
+
|
42 |
+
function get_settings_configuration() {
|
43 |
+
|
44 |
+
$option_value = $this->options->get();
|
45 |
+
$res = array();
|
46 |
+
|
47 |
+
$res['show_button'] = array(
|
48 |
+
'key' => 'show_button',
|
49 |
+
'label' => __( 'Show button', 'jquery-pin-it-button-for-images' ),
|
50 |
+
'options' => array(
|
51 |
+
'hover' => __( 'On hover', 'jquery-pin-it-button-for-images' ),
|
52 |
+
'always_touch' => __( 'Always on touch devices', 'jquery-pin-it-button-for-images' ),
|
53 |
+
'always' => __( 'Always', 'jquery-pin-it-button-for-images' )
|
54 |
+
),
|
55 |
+
'desc' => __( 'When the "Pin it" button should be visible.', 'jquery-pin-it-button-for-images' ),
|
56 |
+
'type' => 'select'
|
57 |
+
);
|
58 |
+
|
59 |
+
$margin_args = array(
|
60 |
+
'min' => '0',
|
61 |
+
'step' => '1',
|
62 |
+
'unit' => 'px',
|
63 |
+
'type' => 'int'
|
64 |
+
);
|
65 |
+
$res['button_margin_bottom'] = array_merge( $margin_args,
|
66 |
+
array(
|
67 |
+
'key' => 'button_margin_bottom',
|
68 |
+
'label' => __( 'Bottom', 'jquery-pin-it-button-for-images' ),
|
69 |
+
'error_label' => __( 'Button bottom margin', 'jquery-pin-it-button-for-images' )
|
70 |
+
) );
|
71 |
+
$res['button_margin_top'] = array_merge( $margin_args,
|
72 |
+
array(
|
73 |
+
'key' => 'button_margin_top',
|
74 |
+
'label' => __( 'Top', 'jquery-pin-it-button-for-images' ),
|
75 |
+
'error_label' => __( 'Button top margin', 'jquery-pin-it-button-for-images' )
|
76 |
+
) );
|
77 |
+
$res['button_margin_left'] = array_merge( $margin_args,
|
78 |
+
array(
|
79 |
+
'key' => 'button_margin_left',
|
80 |
+
'label' => __( 'Left', 'jquery-pin-it-button-for-images' ),
|
81 |
+
'error_label' => __( 'Button left margin', 'jquery-pin-it-button-for-images' )
|
82 |
+
) );
|
83 |
+
$res['button_margin_right'] = array_merge( $margin_args,
|
84 |
+
array(
|
85 |
+
'key' => 'button_margin_right',
|
86 |
+
'label' => __( 'Right', 'jquery-pin-it-button-for-images' ),
|
87 |
+
'error_label' => __( 'Button right margin', 'jquery-pin-it-button-for-images' )
|
88 |
+
) );
|
89 |
+
|
90 |
+
$res['button_position'] = array(
|
91 |
+
'key' => 'button_position',
|
92 |
+
'label' => __( '"Pin it" button position', 'jquery-pin-it-button-for-images' ),
|
93 |
+
'options' => array(
|
94 |
+
'top-left' => __( 'Top left', 'jquery-pin-it-button-for-images' ),
|
95 |
+
'top-right' => __( 'Top right', 'jquery-pin-it-button-for-images' ),
|
96 |
+
'bottom-left' => __( 'Bottom left', 'jquery-pin-it-button-for-images' ),
|
97 |
+
'bottom-right' => __( 'Bottom right', 'jquery-pin-it-button-for-images' ),
|
98 |
+
'middle' => __( 'Middle', 'jquery-pin-it-button-for-images' )
|
99 |
+
),
|
100 |
+
'desc' => __( 'Where the "Pin it" button should appear on the image.', 'jquery-pin-it-button-for-images' ),
|
101 |
+
'type' => 'select'
|
102 |
+
);
|
103 |
+
|
104 |
+
$res['description_option'] = array(
|
105 |
+
'key' => 'description_option',
|
106 |
+
'label' => __( 'Description source', 'jquery-pin-it-button-for-images' ),
|
107 |
+
'options' => array(
|
108 |
+
"post_title" => __( 'Post title', 'jquery-pin-it-button-for-images' ),
|
109 |
+
"post_excerpt" => __( 'Post description (excerpt)', 'jquery-pin-it-button-for-images' ),
|
110 |
+
"img_title" => __( 'Image title attribute', 'jquery-pin-it-button-for-images' ),
|
111 |
+
"site_title" => __( 'Site title (Settings->General)', 'jquery-pin-it-button-for-images' ),
|
112 |
+
"img_description" => __( 'Image description', 'jquery-pin-it-button-for-images' ),
|
113 |
+
"img_caption" => __( 'Image caption', 'jquery-pin-it-button-for-images' ),
|
114 |
+
"img_alt" => __( 'Image alt attribute', 'jquery-pin-it-button-for-images' ),
|
115 |
+
"data_pin_description" => __( 'data-pin-description (Pinterest\'s custom attribute)', 'jquery-pin-it-button-for-images' )
|
116 |
+
),
|
117 |
+
'desc' => __( 'From where the Pinterest message should be taken. Check which sources should be considered and prioritize them by dragging and dropping. The description will come from the top source that has data. Please note that "Image description" and "Image caption" work properly only for images that were added to your Media Library.', 'jquery-pin-it-button-for-images' ),
|
118 |
+
'type' => 'multiselect'
|
119 |
+
);
|
120 |
+
|
121 |
+
$res['transparency_value'] = array(
|
122 |
+
'key' => 'transparency_value',
|
123 |
+
'label' => __( 'Transparency', 'jquery-pin-it-button-for-images' ),
|
124 |
+
'desc' => sprintf( __( 'Choose transparency (between %.02f and %.02f)', 'jquery-pin-it-button-for-images' ), '0.00', '1.00' ),
|
125 |
+
'min' => '0',
|
126 |
+
'max' => '1',
|
127 |
+
'step' => '0.01',
|
128 |
+
'type' => 'float'
|
129 |
+
);
|
130 |
+
|
131 |
+
$res['pin_image'] = array(
|
132 |
+
'key' => 'pin_image',
|
133 |
+
'label' => __( 'Pin image', 'jquery-pin-it-button-for-images' ),
|
134 |
+
'options' => array(
|
135 |
+
'old_default' => __( 'Old default', 'jquery-pin-it-button-for-images' ),
|
136 |
+
'default' => __( 'Default', 'jquery-pin-it-button-for-images' ),
|
137 |
+
'custom' => __( 'Custom', 'jquery-pin-it-button-for-images' )
|
138 |
+
),
|
139 |
+
'type' => 'select'
|
140 |
+
);
|
141 |
+
|
142 |
+
$res['pin_image_button'] = array(
|
143 |
+
'key' => 'pin_image_button',
|
144 |
+
'label' => __( 'Button', 'jquery-pin-it-button-for-images' ),
|
145 |
+
'options' => array(
|
146 |
+
'square' => __( 'Square', 'jquery-pin-it-button-for-images' ),
|
147 |
+
'rounded-square' => __( 'Rounded square', 'jquery-pin-it-button-for-images' ),
|
148 |
+
'round' => __( 'Round', 'jquery-pin-it-button-for-images' ),
|
149 |
+
'rectangle' => __( 'Rectangle', 'jquery-pin-it-button-for-images' ),
|
150 |
+
'rounded-rectangle' => __( 'Rounded rectangle', 'jquery-pin-it-button-for-images' )
|
151 |
+
),
|
152 |
+
'type' => 'select'
|
153 |
+
);
|
154 |
+
|
155 |
+
$res['pin_image_icon'] = array(
|
156 |
+
'key' => 'pin_image_icon',
|
157 |
+
'label' => __( 'Icon', 'jquery-pin-it-button-for-images' ),
|
158 |
+
'options' => array(
|
159 |
+
'circle' => __( 'Circle', 'jquery-pin-it-button-for-images' ),
|
160 |
+
'plain' => __( 'Plain', 'jquery-pin-it-button-for-images' ),
|
161 |
+
'thumb-tack' => __( 'Thumbtack', 'jquery-pin-it-button-for-images' ),
|
162 |
+
'pushpin' => __( 'Thumbtack #2', 'jquery-pin-it-button-for-images' ),
|
163 |
+
'pinterest2' => __( 'Classic', 'jquery-pin-it-button-for-images' ),
|
164 |
+
),
|
165 |
+
'type' => 'select'
|
166 |
+
);
|
167 |
+
|
168 |
+
$res['pin_image_size'] = array(
|
169 |
+
'key' => 'pin_image_size',
|
170 |
+
'label' => __( 'Size', 'jquery-pin-it-button-for-images' ),
|
171 |
+
'options' => array(
|
172 |
+
'small' => __( 'Small', 'jquery-pin-it-button-for-images' ),
|
173 |
+
'normal' => __( 'Normal', 'jquery-pin-it-button-for-images' ),
|
174 |
+
'large' => __( 'Large', 'jquery-pin-it-button-for-images' ),
|
175 |
+
),
|
176 |
+
'type' => 'select'
|
177 |
+
);
|
178 |
+
|
179 |
+
$res['custom_image_url'] = array(
|
180 |
+
'key' => 'custom_image_url',
|
181 |
+
'label' => __( 'URL address of the image', 'jquery-pin-it-button-for-images' ),
|
182 |
+
'type' => 'string'
|
183 |
+
);
|
184 |
+
|
185 |
+
$image_size = array( 'min' => '0', 'step' => '1', 'unit' => 'px', 'type' => 'int' );
|
186 |
+
$res['custom_image_height'] = array_merge( $image_size, array(
|
187 |
+
'key' => 'custom_image_height',
|
188 |
+
'label' => __( 'Height', 'jquery-pin-it-button-for-images' ),
|
189 |
+
'error_label' => __( 'Custom image height', 'jquery-pin-it-button-for-images' )
|
190 |
+
) );
|
191 |
+
$res['custom_image_width'] = array_merge( $image_size, array(
|
192 |
+
'key' => 'custom_image_width',
|
193 |
+
'label' => __( 'Width', 'jquery-pin-it-button-for-images' ),
|
194 |
+
'error_label' => __( 'Custom image width', 'jquery-pin-it-button-for-images' )
|
195 |
+
) );
|
196 |
+
|
197 |
+
$res['scale_pin_image'] = array(
|
198 |
+
'key' => 'scale_pin_image',
|
199 |
+
'label' => __( 'Scale Pin Image', 'jquery-pin-it-button-for-images' ),
|
200 |
+
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
201 |
+
'desc' => __( 'When checked, the "Pin it" button will scale down in size for smaller screens, ensuring best user experience. Left unchecked, the "Pin it" button will show up in full size no matter the screen size.', 'jquery-pin-it-button-for-images' ),
|
202 |
+
'type' => 'boolean',
|
203 |
+
);
|
204 |
+
|
205 |
+
$res['pin_linked_url'] = array(
|
206 |
+
'key' => 'pin_linked_url',
|
207 |
+
'label' => __( 'Pin linked URL', 'jquery-pin-it-button-for-images' ),
|
208 |
+
'text' => __( 'Active', 'jquery-pin-it-button-for-images' ),
|
209 |
+
'desc' => __( 'When checked, if the image links to another URL in your domain, that URL goes to Pinterest instead of the current one.', 'jquery-pin-it-button-for-images' ),
|
210 |
+
'type' => 'boolean',
|
211 |
+
);
|
212 |
+
|
213 |
+
foreach ( $res as $key => $setting ) {
|
214 |
+
$res[ $key ]['value'] = $option_value[ $key ];
|
215 |
+
}
|
216 |
+
|
217 |
+
return $res;
|
218 |
+
}
|
219 |
}
|
includes/admin/settings/jpibfi_validator.php
CHANGED
@@ -1,163 +1,163 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Validator {
|
4 |
-
|
5 |
-
private $current;
|
6 |
-
private $default;
|
7 |
-
private $settings;
|
8 |
-
|
9 |
-
private $result;
|
10 |
-
/**
|
11 |
-
* @var string[]
|
12 |
-
*/
|
13 |
-
private $errors;
|
14 |
-
|
15 |
-
function __construct( $current, $default, $settings ) {
|
16 |
-
$this->current = $current;
|
17 |
-
$this->default = $default;
|
18 |
-
$this->settings = $settings;
|
19 |
-
|
20 |
-
$this->process();
|
21 |
-
}
|
22 |
-
|
23 |
-
private function process() {
|
24 |
-
$this->errors = array();
|
25 |
-
$this->result = array();
|
26 |
-
|
27 |
-
foreach ( $this->default as $key => $def_value ) {
|
28 |
-
if ( ! isset( $this->settings[ $key ] ) ) {
|
29 |
-
continue;
|
30 |
-
}
|
31 |
-
$setting = $this->settings[ $key ];
|
32 |
-
|
33 |
-
$value = ! isset( $this->current[ $key ] )
|
34 |
-
? ( 'boolean' === $setting['type'] ? '' : $def_value )
|
35 |
-
: $this->current[ $key ];
|
36 |
-
$value = $this->try_sanitize_field( $value, $setting );
|
37 |
-
$validation_result = $this->validate_field( $value, $this->settings[ $key ] );
|
38 |
-
if ( true !== $validation_result ) {
|
39 |
-
$this->errors[ $key ] = $validation_result;
|
40 |
-
}
|
41 |
-
$this->result[ $key ] = $value;
|
42 |
-
}
|
43 |
-
}
|
44 |
-
|
45 |
-
function get_errors() {
|
46 |
-
return $this->errors;
|
47 |
-
}
|
48 |
-
|
49 |
-
function get_result() {
|
50 |
-
return $this->result;
|
51 |
-
}
|
52 |
-
|
53 |
-
/**
|
54 |
-
* @param $error_type string
|
55 |
-
* @param $error_default_format string
|
56 |
-
* @param $setting array
|
57 |
-
*
|
58 |
-
* @return string
|
59 |
-
*/
|
60 |
-
private function get_error_text( $error_type, $error_default_format, $setting ) {
|
61 |
-
if ( isset( $setting['error_messages'] ) && isset( $setting['error_messages'][ $error_type ] ) ) {
|
62 |
-
return $setting['error_messages'][ $error_type ];
|
63 |
-
}
|
64 |
-
$error_label = isset( $setting['error_label'] )
|
65 |
-
? $setting['error_label']
|
66 |
-
: ( isset( $setting['label'] ) ? $setting['label'] : '' );
|
67 |
-
|
68 |
-
return sprintf( $error_default_format, $error_label );
|
69 |
-
}
|
70 |
-
|
71 |
-
private function validate_field( $value, $setting ) {
|
72 |
-
if ( ! isset( $setting['type'] ) ) {
|
73 |
-
return true;
|
74 |
-
}
|
75 |
-
$func_name = 'validate_' . $setting['type'];
|
76 |
-
|
77 |
-
if ( is_callable( array( $this, $func_name ) ) ) {
|
78 |
-
return call_user_func( array( $this, $func_name ), $value, $setting );
|
79 |
-
}
|
80 |
-
|
81 |
-
return true;
|
82 |
-
}
|
83 |
-
|
84 |
-
private function validate_float( $value, $setting ) {
|
85 |
-
if ( ! is_float( $value ) ) {
|
86 |
-
return $this->get_error_text( 'type', __( '%1$s value is not a number.', 'jquery-pin-in-button-for-images' ), $setting );
|
87 |
-
}
|
88 |
-
|
89 |
-
return $this->validate_mix_max( $value, $setting );
|
90 |
-
}
|
91 |
-
|
92 |
-
private function validate_int( $value, $setting ) {
|
93 |
-
if ( ! is_int( $value ) ) {
|
94 |
-
return $this->get_error_text( 'type', __( '%1$s value is not a number.', 'jquery-pin-in-button-for-images' ), $setting );
|
95 |
-
}
|
96 |
-
|
97 |
-
return $this->validate_mix_max( $value, $setting );
|
98 |
-
}
|
99 |
-
|
100 |
-
private function validate_mix_max( $value, $setting ) {
|
101 |
-
if ( isset( $setting['min'] ) && $value < $setting['min'] ) {
|
102 |
-
return $this->get_error_text( 'min', __( '%1$s value is less than the minimum value of %2$s.', 'jquery-pin-in-button-for-images' ), $setting );
|
103 |
-
}
|
104 |
-
if ( isset( $setting['max'] ) && $value > $setting['max'] ) {
|
105 |
-
return $this->get_error_text( 'max', __( '%1$s value is greater than the minimum value of %2$s.', 'jquery-pin-in-button-for-images' ), $setting );
|
106 |
-
}
|
107 |
-
|
108 |
-
return true;
|
109 |
-
}
|
110 |
-
|
111 |
-
private function validate_multiselect( $value, $setting ) {
|
112 |
-
$err = __( '%1$s value is invalid.', 'jquery-pin-in-button-for-images' );
|
113 |
-
if ( ! is_array( $value ) ) {
|
114 |
-
return $this->get_error_text( 'type', $err, $setting );
|
115 |
-
}
|
116 |
-
if ( isset( $setting['min'] ) && count( $value ) < $setting['min'] ) {
|
117 |
-
return $this->get_error_text( 'min', __('%1$s does not have enough selected records.', 'jquery-pin-in-button-for-images'), $setting);
|
118 |
-
}
|
119 |
-
$options_keys = array_keys( $setting['options'] );
|
120 |
-
foreach ( $value as $name ) {
|
121 |
-
if ( ! in_array( $name, $options_keys ) ) {
|
122 |
-
return $this->get_error_text( 'type', $err, $setting );
|
123 |
-
}
|
124 |
-
}
|
125 |
-
|
126 |
-
return true;
|
127 |
-
}
|
128 |
-
|
129 |
-
private function validate_select( $value, $setting ) {
|
130 |
-
$options_keys = array_keys( $setting['options'] );
|
131 |
-
if ( ! in_array( $value, $options_keys ) ) {
|
132 |
-
$this->get_error_text( 'type', __( '%1$s value is invalid.', 'jquery-pin-in-button-for-images' ), $setting );
|
133 |
-
}
|
134 |
-
|
135 |
-
return true;
|
136 |
-
}
|
137 |
-
|
138 |
-
private function validate_string( $value, $setting ) {
|
139 |
-
if ( isset( $setting['required' ] ) && '' == $value ) {
|
140 |
-
return $this->get_error_text( 'required', __( '%1$s cannot be empty.', 'jquery-pin-in-button-for-images' ) , $setting );
|
141 |
-
}
|
142 |
-
return true;
|
143 |
-
}
|
144 |
-
|
145 |
-
private function try_sanitize_field( $value, $setting ) {
|
146 |
-
if ( ! isset( $setting['type'] ) ) {
|
147 |
-
return $value;
|
148 |
-
}
|
149 |
-
switch ( $setting['type'] ) {
|
150 |
-
case 'int':
|
151 |
-
return is_numeric( $value ) ? intval( $value ) : $value;
|
152 |
-
case 'float':
|
153 |
-
return is_numeric( $value ) ? floatval( $value ) : $value;
|
154 |
-
case 'boolean':
|
155 |
-
return 'on' === $value;
|
156 |
-
case 'multiselect':
|
157 |
-
return '' === $value ? array() : explode( ',', $value );
|
158 |
-
default:
|
159 |
-
return $value;
|
160 |
-
}
|
161 |
-
}
|
162 |
-
|
163 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Validator {
|
4 |
+
|
5 |
+
private $current;
|
6 |
+
private $default;
|
7 |
+
private $settings;
|
8 |
+
|
9 |
+
private $result;
|
10 |
+
/**
|
11 |
+
* @var string[]
|
12 |
+
*/
|
13 |
+
private $errors;
|
14 |
+
|
15 |
+
function __construct( $current, $default, $settings ) {
|
16 |
+
$this->current = $current;
|
17 |
+
$this->default = $default;
|
18 |
+
$this->settings = $settings;
|
19 |
+
|
20 |
+
$this->process();
|
21 |
+
}
|
22 |
+
|
23 |
+
private function process() {
|
24 |
+
$this->errors = array();
|
25 |
+
$this->result = array();
|
26 |
+
|
27 |
+
foreach ( $this->default as $key => $def_value ) {
|
28 |
+
if ( ! isset( $this->settings[ $key ] ) ) {
|
29 |
+
continue;
|
30 |
+
}
|
31 |
+
$setting = $this->settings[ $key ];
|
32 |
+
|
33 |
+
$value = ! isset( $this->current[ $key ] )
|
34 |
+
? ( 'boolean' === $setting['type'] ? '' : $def_value )
|
35 |
+
: $this->current[ $key ];
|
36 |
+
$value = $this->try_sanitize_field( $value, $setting );
|
37 |
+
$validation_result = $this->validate_field( $value, $this->settings[ $key ] );
|
38 |
+
if ( true !== $validation_result ) {
|
39 |
+
$this->errors[ $key ] = $validation_result;
|
40 |
+
}
|
41 |
+
$this->result[ $key ] = $value;
|
42 |
+
}
|
43 |
+
}
|
44 |
+
|
45 |
+
function get_errors() {
|
46 |
+
return $this->errors;
|
47 |
+
}
|
48 |
+
|
49 |
+
function get_result() {
|
50 |
+
return $this->result;
|
51 |
+
}
|
52 |
+
|
53 |
+
/**
|
54 |
+
* @param $error_type string
|
55 |
+
* @param $error_default_format string
|
56 |
+
* @param $setting array
|
57 |
+
*
|
58 |
+
* @return string
|
59 |
+
*/
|
60 |
+
private function get_error_text( $error_type, $error_default_format, $setting ) {
|
61 |
+
if ( isset( $setting['error_messages'] ) && isset( $setting['error_messages'][ $error_type ] ) ) {
|
62 |
+
return $setting['error_messages'][ $error_type ];
|
63 |
+
}
|
64 |
+
$error_label = isset( $setting['error_label'] )
|
65 |
+
? $setting['error_label']
|
66 |
+
: ( isset( $setting['label'] ) ? $setting['label'] : '' );
|
67 |
+
|
68 |
+
return sprintf( $error_default_format, $error_label );
|
69 |
+
}
|
70 |
+
|
71 |
+
private function validate_field( $value, $setting ) {
|
72 |
+
if ( ! isset( $setting['type'] ) ) {
|
73 |
+
return true;
|
74 |
+
}
|
75 |
+
$func_name = 'validate_' . $setting['type'];
|
76 |
+
|
77 |
+
if ( is_callable( array( $this, $func_name ) ) ) {
|
78 |
+
return call_user_func( array( $this, $func_name ), $value, $setting );
|
79 |
+
}
|
80 |
+
|
81 |
+
return true;
|
82 |
+
}
|
83 |
+
|
84 |
+
private function validate_float( $value, $setting ) {
|
85 |
+
if ( ! is_float( $value ) ) {
|
86 |
+
return $this->get_error_text( 'type', __( '%1$s value is not a number.', 'jquery-pin-in-button-for-images' ), $setting );
|
87 |
+
}
|
88 |
+
|
89 |
+
return $this->validate_mix_max( $value, $setting );
|
90 |
+
}
|
91 |
+
|
92 |
+
private function validate_int( $value, $setting ) {
|
93 |
+
if ( ! is_int( $value ) ) {
|
94 |
+
return $this->get_error_text( 'type', __( '%1$s value is not a number.', 'jquery-pin-in-button-for-images' ), $setting );
|
95 |
+
}
|
96 |
+
|
97 |
+
return $this->validate_mix_max( $value, $setting );
|
98 |
+
}
|
99 |
+
|
100 |
+
private function validate_mix_max( $value, $setting ) {
|
101 |
+
if ( isset( $setting['min'] ) && $value < $setting['min'] ) {
|
102 |
+
return $this->get_error_text( 'min', __( '%1$s value is less than the minimum value of %2$s.', 'jquery-pin-in-button-for-images' ), $setting );
|
103 |
+
}
|
104 |
+
if ( isset( $setting['max'] ) && $value > $setting['max'] ) {
|
105 |
+
return $this->get_error_text( 'max', __( '%1$s value is greater than the minimum value of %2$s.', 'jquery-pin-in-button-for-images' ), $setting );
|
106 |
+
}
|
107 |
+
|
108 |
+
return true;
|
109 |
+
}
|
110 |
+
|
111 |
+
private function validate_multiselect( $value, $setting ) {
|
112 |
+
$err = __( '%1$s value is invalid.', 'jquery-pin-in-button-for-images' );
|
113 |
+
if ( ! is_array( $value ) ) {
|
114 |
+
return $this->get_error_text( 'type', $err, $setting );
|
115 |
+
}
|
116 |
+
if ( isset( $setting['min'] ) && count( $value ) < $setting['min'] ) {
|
117 |
+
return $this->get_error_text( 'min', __('%1$s does not have enough selected records.', 'jquery-pin-in-button-for-images'), $setting);
|
118 |
+
}
|
119 |
+
$options_keys = array_keys( $setting['options'] );
|
120 |
+
foreach ( $value as $name ) {
|
121 |
+
if ( ! in_array( $name, $options_keys ) ) {
|
122 |
+
return $this->get_error_text( 'type', $err, $setting );
|
123 |
+
}
|
124 |
+
}
|
125 |
+
|
126 |
+
return true;
|
127 |
+
}
|
128 |
+
|
129 |
+
private function validate_select( $value, $setting ) {
|
130 |
+
$options_keys = array_keys( $setting['options'] );
|
131 |
+
if ( ! in_array( $value, $options_keys ) ) {
|
132 |
+
$this->get_error_text( 'type', __( '%1$s value is invalid.', 'jquery-pin-in-button-for-images' ), $setting );
|
133 |
+
}
|
134 |
+
|
135 |
+
return true;
|
136 |
+
}
|
137 |
+
|
138 |
+
private function validate_string( $value, $setting ) {
|
139 |
+
if ( isset( $setting['required' ] ) && '' == $value ) {
|
140 |
+
return $this->get_error_text( 'required', __( '%1$s cannot be empty.', 'jquery-pin-in-button-for-images' ) , $setting );
|
141 |
+
}
|
142 |
+
return true;
|
143 |
+
}
|
144 |
+
|
145 |
+
private function try_sanitize_field( $value, $setting ) {
|
146 |
+
if ( ! isset( $setting['type'] ) ) {
|
147 |
+
return $value;
|
148 |
+
}
|
149 |
+
switch ( $setting['type'] ) {
|
150 |
+
case 'int':
|
151 |
+
return is_numeric( $value ) ? intval( $value ) : $value;
|
152 |
+
case 'float':
|
153 |
+
return is_numeric( $value ) ? floatval( $value ) : $value;
|
154 |
+
case 'boolean':
|
155 |
+
return 'on' === $value;
|
156 |
+
case 'multiselect':
|
157 |
+
return '' === $value ? array() : explode( ',', $value );
|
158 |
+
default:
|
159 |
+
return $value;
|
160 |
+
}
|
161 |
+
}
|
162 |
+
|
163 |
}
|
includes/includes/JPIBFI_Version_Updater.php
CHANGED
@@ -1,28 +1,28 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Version_Updater {
|
4 |
-
|
5 |
-
private $version;
|
6 |
-
private $option_name = 'jpibfi_version';
|
7 |
-
|
8 |
-
function __construct( $version ) {
|
9 |
-
$this->version = $version;
|
10 |
-
}
|
11 |
-
|
12 |
-
function update() {
|
13 |
-
$version = get_option( $this->option_name );
|
14 |
-
if ( $this->version == $version ) {
|
15 |
-
return;
|
16 |
-
}
|
17 |
-
|
18 |
-
if ( version_compare( $version, '2.2.3', 'lt' ) ) {
|
19 |
-
$this->update_2_2_3();
|
20 |
-
}
|
21 |
-
update_option( $this->option_name, $this->version );
|
22 |
-
}
|
23 |
-
|
24 |
-
private function update_2_2_3() {
|
25 |
-
require_once 'versions/JPIBFI_Version_Update_2_2_3.php';
|
26 |
-
new JPIBFI_Version_Update_2_2_3();
|
27 |
-
}
|
28 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Version_Updater {
|
4 |
+
|
5 |
+
private $version;
|
6 |
+
private $option_name = 'jpibfi_version';
|
7 |
+
|
8 |
+
function __construct( $version ) {
|
9 |
+
$this->version = $version;
|
10 |
+
}
|
11 |
+
|
12 |
+
function update() {
|
13 |
+
$version = get_option( $this->option_name );
|
14 |
+
if ( $this->version == $version ) {
|
15 |
+
return;
|
16 |
+
}
|
17 |
+
|
18 |
+
if ( version_compare( $version, '2.2.3', 'lt' ) ) {
|
19 |
+
$this->update_2_2_3();
|
20 |
+
}
|
21 |
+
update_option( $this->option_name, $this->version );
|
22 |
+
}
|
23 |
+
|
24 |
+
private function update_2_2_3() {
|
25 |
+
require_once 'versions/JPIBFI_Version_Update_2_2_3.php';
|
26 |
+
new JPIBFI_Version_Update_2_2_3();
|
27 |
+
}
|
28 |
}
|
includes/includes/jpibfi-edd-sl-plugin-updater.php
CHANGED
@@ -1,476 +1,476 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
5 |
-
|
6 |
-
/**
|
7 |
-
* Allows plugins to use their own update API.
|
8 |
-
*
|
9 |
-
* @author Easy Digital Downloads
|
10 |
-
* @version 1.6.12
|
11 |
-
*/
|
12 |
-
class JPIBFI_EDD_SL_Plugin_Updater {
|
13 |
-
|
14 |
-
private $api_url = '';
|
15 |
-
private $api_data = array();
|
16 |
-
private $name = '';
|
17 |
-
private $slug = '';
|
18 |
-
private $version = '';
|
19 |
-
private $wp_override = false;
|
20 |
-
private $cache_key = '';
|
21 |
-
|
22 |
-
/**
|
23 |
-
* Class constructor.
|
24 |
-
*
|
25 |
-
* @uses plugin_basename()
|
26 |
-
* @uses hook()
|
27 |
-
*
|
28 |
-
* @param string $_api_url The URL pointing to the custom API endpoint.
|
29 |
-
* @param string $_plugin_file Path to the plugin file.
|
30 |
-
* @param array $_api_data Optional data to send with API calls.
|
31 |
-
*/
|
32 |
-
public function __construct( $_api_url, $_plugin_file, $_api_data = null ) {
|
33 |
-
|
34 |
-
global $edd_plugin_data;
|
35 |
-
|
36 |
-
$this->api_url = trailingslashit( $_api_url );
|
37 |
-
$this->api_data = $_api_data;
|
38 |
-
$this->name = plugin_basename( $_plugin_file );
|
39 |
-
$this->slug = basename( $_plugin_file, '.php' );
|
40 |
-
$this->version = $_api_data['version'];
|
41 |
-
$this->wp_override = isset( $_api_data['wp_override'] ) ? (bool) $_api_data['wp_override'] : false;
|
42 |
-
$this->beta = ! empty( $this->api_data['beta'] ) ? true : false;
|
43 |
-
$this->cache_key = md5( serialize( $this->slug . $this->api_data['license'] . $this->beta ) );
|
44 |
-
|
45 |
-
$edd_plugin_data[ $this->slug ] = $this->api_data;
|
46 |
-
|
47 |
-
// Set up hooks.
|
48 |
-
$this->init();
|
49 |
-
|
50 |
-
}
|
51 |
-
|
52 |
-
/**
|
53 |
-
* Set up WordPress filters to hook into WP's update process.
|
54 |
-
*
|
55 |
-
* @uses add_filter()
|
56 |
-
*
|
57 |
-
* @return void
|
58 |
-
*/
|
59 |
-
public function init() {
|
60 |
-
|
61 |
-
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
62 |
-
add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
|
63 |
-
remove_action( 'after_plugin_row_' . $this->name, 'wp_plugin_update_row', 10 );
|
64 |
-
add_action( 'after_plugin_row_' . $this->name, array( $this, 'show_update_notification' ), 10, 2 );
|
65 |
-
add_action( 'admin_init', array( $this, 'show_changelog' ) );
|
66 |
-
|
67 |
-
}
|
68 |
-
|
69 |
-
/**
|
70 |
-
* Check for Updates at the defined API endpoint and modify the update array.
|
71 |
-
*
|
72 |
-
* This function dives into the update API just when WordPress creates its update array,
|
73 |
-
* then adds a custom API call and injects the custom plugin data retrieved from the API.
|
74 |
-
* It is reassembled from parts of the native WordPress plugin update code.
|
75 |
-
* See wp-includes/update.php line 121 for the original wp_update_plugins() function.
|
76 |
-
*
|
77 |
-
* @uses api_request()
|
78 |
-
*
|
79 |
-
* @param array $_transient_data Update array build by WordPress.
|
80 |
-
* @return array Modified update array with custom plugin data.
|
81 |
-
*/
|
82 |
-
public function check_update( $_transient_data ) {
|
83 |
-
|
84 |
-
global $pagenow;
|
85 |
-
|
86 |
-
if ( ! is_object( $_transient_data ) ) {
|
87 |
-
$_transient_data = new stdClass;
|
88 |
-
}
|
89 |
-
|
90 |
-
if ( 'plugins.php' == $pagenow && is_multisite() ) {
|
91 |
-
return $_transient_data;
|
92 |
-
}
|
93 |
-
|
94 |
-
if ( ! empty( $_transient_data->response ) && ! empty( $_transient_data->response[ $this->name ] ) && false === $this->wp_override ) {
|
95 |
-
return $_transient_data;
|
96 |
-
}
|
97 |
-
|
98 |
-
$version_info = $this->get_cached_version_info();
|
99 |
-
|
100 |
-
if ( false === $version_info ) {
|
101 |
-
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug, 'beta' => $this->beta ) );
|
102 |
-
|
103 |
-
$this->set_version_info_cache( $version_info );
|
104 |
-
|
105 |
-
}
|
106 |
-
|
107 |
-
if ( false !== $version_info && is_object( $version_info ) && isset( $version_info->new_version ) ) {
|
108 |
-
|
109 |
-
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
110 |
-
|
111 |
-
$_transient_data->response[ $this->name ] = $version_info;
|
112 |
-
|
113 |
-
}
|
114 |
-
|
115 |
-
$_transient_data->last_checked = current_time( 'timestamp' );
|
116 |
-
$_transient_data->checked[ $this->name ] = $this->version;
|
117 |
-
|
118 |
-
}
|
119 |
-
|
120 |
-
return $_transient_data;
|
121 |
-
}
|
122 |
-
|
123 |
-
/**
|
124 |
-
* show update nofication row -- needed for multisite subsites, because WP won't tell you otherwise!
|
125 |
-
*
|
126 |
-
* @param string $file
|
127 |
-
* @param array $plugin
|
128 |
-
*/
|
129 |
-
public function show_update_notification( $file, $plugin ) {
|
130 |
-
|
131 |
-
if ( is_network_admin() ) {
|
132 |
-
return;
|
133 |
-
}
|
134 |
-
|
135 |
-
if( ! current_user_can( 'update_plugins' ) ) {
|
136 |
-
return;
|
137 |
-
}
|
138 |
-
|
139 |
-
if( ! is_multisite() ) {
|
140 |
-
return;
|
141 |
-
}
|
142 |
-
|
143 |
-
if ( $this->name != $file ) {
|
144 |
-
return;
|
145 |
-
}
|
146 |
-
|
147 |
-
// Remove our filter on the site transient
|
148 |
-
remove_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ), 10 );
|
149 |
-
|
150 |
-
$update_cache = get_site_transient( 'update_plugins' );
|
151 |
-
|
152 |
-
$update_cache = is_object( $update_cache ) ? $update_cache : new stdClass();
|
153 |
-
|
154 |
-
if ( empty( $update_cache->response ) || empty( $update_cache->response[ $this->name ] ) ) {
|
155 |
-
|
156 |
-
$version_info = $this->get_cached_version_info();
|
157 |
-
|
158 |
-
if ( false === $version_info ) {
|
159 |
-
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug, 'beta' => $this->beta ) );
|
160 |
-
|
161 |
-
$this->set_version_info_cache( $version_info );
|
162 |
-
}
|
163 |
-
|
164 |
-
if ( ! is_object( $version_info ) ) {
|
165 |
-
return;
|
166 |
-
}
|
167 |
-
|
168 |
-
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
169 |
-
|
170 |
-
$update_cache->response[ $this->name ] = $version_info;
|
171 |
-
|
172 |
-
}
|
173 |
-
|
174 |
-
$update_cache->last_checked = current_time( 'timestamp' );
|
175 |
-
$update_cache->checked[ $this->name ] = $this->version;
|
176 |
-
|
177 |
-
set_site_transient( 'update_plugins', $update_cache );
|
178 |
-
|
179 |
-
} else {
|
180 |
-
|
181 |
-
$version_info = $update_cache->response[ $this->name ];
|
182 |
-
|
183 |
-
}
|
184 |
-
|
185 |
-
// Restore our filter
|
186 |
-
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
187 |
-
|
188 |
-
if ( ! empty( $update_cache->response[ $this->name ] ) && version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
189 |
-
|
190 |
-
// build a plugin list row, with update notification
|
191 |
-
$wp_list_table = _get_list_table( 'WP_Plugins_List_Table' );
|
192 |
-
# <tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">
|
193 |
-
echo '<tr class="plugin-update-tr" id="' . $this->slug . '-update" data-slug="' . $this->slug . '" data-plugin="' . $this->slug . '/' . $file . '">';
|
194 |
-
echo '<td colspan="3" class="plugin-update colspanchange">';
|
195 |
-
echo '<div class="update-message notice inline notice-warning notice-alt">';
|
196 |
-
|
197 |
-
$changelog_link = self_admin_url( 'index.php?edd_sl_action=view_plugin_changelog&plugin=' . $this->name . '&slug=' . $this->slug . '&TB_iframe=true&width=772&height=911' );
|
198 |
-
|
199 |
-
if ( empty( $version_info->download_link ) ) {
|
200 |
-
printf(
|
201 |
-
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s.', 'easy-digital-downloads' ),
|
202 |
-
esc_html( $version_info->name ),
|
203 |
-
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
204 |
-
esc_html( $version_info->new_version ),
|
205 |
-
'</a>'
|
206 |
-
);
|
207 |
-
} else {
|
208 |
-
printf(
|
209 |
-
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s or %5$supdate now%6$s.', 'easy-digital-downloads' ),
|
210 |
-
esc_html( $version_info->name ),
|
211 |
-
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
212 |
-
esc_html( $version_info->new_version ),
|
213 |
-
'</a>',
|
214 |
-
'<a href="' . esc_url( wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $this->name, 'upgrade-plugin_' . $this->name ) ) .'">',
|
215 |
-
'</a>'
|
216 |
-
);
|
217 |
-
}
|
218 |
-
|
219 |
-
do_action( "in_plugin_update_message-{$file}", $plugin, $version_info );
|
220 |
-
|
221 |
-
echo '</div></td></tr>';
|
222 |
-
}
|
223 |
-
}
|
224 |
-
|
225 |
-
/**
|
226 |
-
* Updates information on the "View version x.x details" page with custom data.
|
227 |
-
*
|
228 |
-
* @uses api_request()
|
229 |
-
*
|
230 |
-
* @param mixed $_data
|
231 |
-
* @param string $_action
|
232 |
-
* @param object $_args
|
233 |
-
* @return object $_data
|
234 |
-
*/
|
235 |
-
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
236 |
-
|
237 |
-
if ( $_action != 'plugin_information' ) {
|
238 |
-
|
239 |
-
return $_data;
|
240 |
-
|
241 |
-
}
|
242 |
-
|
243 |
-
if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) {
|
244 |
-
|
245 |
-
return $_data;
|
246 |
-
|
247 |
-
}
|
248 |
-
|
249 |
-
$to_send = array(
|
250 |
-
'slug' => $this->slug,
|
251 |
-
'is_ssl' => is_ssl(),
|
252 |
-
'fields' => array(
|
253 |
-
'banners' => array(),
|
254 |
-
'reviews' => false
|
255 |
-
)
|
256 |
-
);
|
257 |
-
|
258 |
-
$cache_key = 'edd_api_request_' . md5( serialize( $this->slug . $this->api_data['license'] . $this->beta ) );
|
259 |
-
|
260 |
-
// Get the transient where we store the api request for this plugin for 24 hours
|
261 |
-
$edd_api_request_transient = $this->get_cached_version_info( $cache_key );
|
262 |
-
|
263 |
-
//If we have no transient-saved value, run the API, set a fresh transient with the API value, and return that value too right now.
|
264 |
-
if ( empty( $edd_api_request_transient ) ) {
|
265 |
-
|
266 |
-
$api_response = $this->api_request( 'plugin_information', $to_send );
|
267 |
-
|
268 |
-
// Expires in 3 hours
|
269 |
-
$this->set_version_info_cache( $api_response, $cache_key );
|
270 |
-
|
271 |
-
if ( false !== $api_response ) {
|
272 |
-
$_data = $api_response;
|
273 |
-
}
|
274 |
-
|
275 |
-
} else {
|
276 |
-
$_data = $edd_api_request_transient;
|
277 |
-
}
|
278 |
-
|
279 |
-
// Convert sections into an associative array, since we're getting an object, but Core expects an array.
|
280 |
-
if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) {
|
281 |
-
$new_sections = array();
|
282 |
-
foreach ( $_data->sections as $key => $value ) {
|
283 |
-
$new_sections[ $key ] = $value;
|
284 |
-
}
|
285 |
-
|
286 |
-
$_data->sections = $new_sections;
|
287 |
-
}
|
288 |
-
|
289 |
-
// Convert banners into an associative array, since we're getting an object, but Core expects an array.
|
290 |
-
if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) {
|
291 |
-
$new_banners = array();
|
292 |
-
foreach ( $_data->banners as $key => $value ) {
|
293 |
-
$new_banners[ $key ] = $value;
|
294 |
-
}
|
295 |
-
|
296 |
-
$_data->banners = $new_banners;
|
297 |
-
}
|
298 |
-
|
299 |
-
return $_data;
|
300 |
-
}
|
301 |
-
|
302 |
-
/**
|
303 |
-
* Disable SSL verification in order to prevent download update failures
|
304 |
-
*
|
305 |
-
* @param array $args
|
306 |
-
* @param string $url
|
307 |
-
* @return object $array
|
308 |
-
*/
|
309 |
-
public function http_request_args( $args, $url ) {
|
310 |
-
// If it is an https request and we are performing a package download, disable ssl verification
|
311 |
-
if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
|
312 |
-
$args['sslverify'] = false;
|
313 |
-
}
|
314 |
-
return $args;
|
315 |
-
}
|
316 |
-
|
317 |
-
/**
|
318 |
-
* Calls the API and, if successfull, returns the object delivered by the API.
|
319 |
-
*
|
320 |
-
* @uses get_bloginfo()
|
321 |
-
* @uses wp_remote_post()
|
322 |
-
* @uses is_wp_error()
|
323 |
-
*
|
324 |
-
* @param string $_action The requested action.
|
325 |
-
* @param array $_data Parameters for the API action.
|
326 |
-
* @return false|object
|
327 |
-
*/
|
328 |
-
private function api_request( $_action, $_data ) {
|
329 |
-
|
330 |
-
global $wp_version;
|
331 |
-
|
332 |
-
$data = array_merge( $this->api_data, $_data );
|
333 |
-
|
334 |
-
if ( $data['slug'] != $this->slug ) {
|
335 |
-
return;
|
336 |
-
}
|
337 |
-
|
338 |
-
if( $this->api_url == trailingslashit (home_url() ) ) {
|
339 |
-
return false; // Don't allow a plugin to ping itself
|
340 |
-
}
|
341 |
-
|
342 |
-
$api_params = array(
|
343 |
-
'edd_action' => 'get_version',
|
344 |
-
'license' => ! empty( $data['license'] ) ? $data['license'] : '',
|
345 |
-
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
346 |
-
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
347 |
-
'version' => isset( $data['version'] ) ? $data['version'] : false,
|
348 |
-
'slug' => $data['slug'],
|
349 |
-
'author' => $data['author'],
|
350 |
-
'url' => home_url(),
|
351 |
-
'beta' => ! empty( $data['beta'] ),
|
352 |
-
);
|
353 |
-
|
354 |
-
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
355 |
-
|
356 |
-
if ( ! is_wp_error( $request ) ) {
|
357 |
-
$request = json_decode( wp_remote_retrieve_body( $request ) );
|
358 |
-
}
|
359 |
-
|
360 |
-
if ( $request && isset( $request->sections ) ) {
|
361 |
-
$request->sections = maybe_unserialize( $request->sections );
|
362 |
-
} else {
|
363 |
-
$request = false;
|
364 |
-
}
|
365 |
-
|
366 |
-
if ( $request && isset( $request->banners ) ) {
|
367 |
-
$request->banners = maybe_unserialize( $request->banners );
|
368 |
-
}
|
369 |
-
|
370 |
-
if( ! empty( $request->sections ) ) {
|
371 |
-
foreach( $request->sections as $key => $section ) {
|
372 |
-
$request->$key = (array) $section;
|
373 |
-
}
|
374 |
-
}
|
375 |
-
|
376 |
-
return $request;
|
377 |
-
}
|
378 |
-
|
379 |
-
public function show_changelog() {
|
380 |
-
|
381 |
-
global $edd_plugin_data;
|
382 |
-
|
383 |
-
if( empty( $_REQUEST['edd_sl_action'] ) || 'view_plugin_changelog' != $_REQUEST['edd_sl_action'] ) {
|
384 |
-
return;
|
385 |
-
}
|
386 |
-
|
387 |
-
if( empty( $_REQUEST['plugin'] ) ) {
|
388 |
-
return;
|
389 |
-
}
|
390 |
-
|
391 |
-
if( empty( $_REQUEST['slug'] ) ) {
|
392 |
-
return;
|
393 |
-
}
|
394 |
-
|
395 |
-
if( ! current_user_can( 'update_plugins' ) ) {
|
396 |
-
wp_die( __( 'You do not have permission to install plugin updates', 'easy-digital-downloads' ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
|
397 |
-
}
|
398 |
-
|
399 |
-
$data = $edd_plugin_data[ $_REQUEST['slug'] ];
|
400 |
-
$beta = ! empty( $data['beta'] ) ? true : false;
|
401 |
-
$cache_key = md5( 'edd_plugin_' . sanitize_key( $_REQUEST['plugin'] ) . '_' . $beta . '_version_info' );
|
402 |
-
$version_info = $this->get_cached_version_info( $cache_key );
|
403 |
-
|
404 |
-
if( false === $version_info ) {
|
405 |
-
|
406 |
-
$api_params = array(
|
407 |
-
'edd_action' => 'get_version',
|
408 |
-
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
409 |
-
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
410 |
-
'slug' => $_REQUEST['slug'],
|
411 |
-
'author' => $data['author'],
|
412 |
-
'url' => home_url(),
|
413 |
-
'beta' => ! empty( $data['beta'] )
|
414 |
-
);
|
415 |
-
|
416 |
-
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
417 |
-
|
418 |
-
if ( ! is_wp_error( $request ) ) {
|
419 |
-
$version_info = json_decode( wp_remote_retrieve_body( $request ) );
|
420 |
-
}
|
421 |
-
|
422 |
-
|
423 |
-
if ( ! empty( $version_info ) && isset( $version_info->sections ) ) {
|
424 |
-
$version_info->sections = maybe_unserialize( $version_info->sections );
|
425 |
-
} else {
|
426 |
-
$version_info = false;
|
427 |
-
}
|
428 |
-
|
429 |
-
if( ! empty( $version_info ) ) {
|
430 |
-
foreach( $version_info->sections as $key => $section ) {
|
431 |
-
$version_info->$key = (array) $section;
|
432 |
-
}
|
433 |
-
}
|
434 |
-
|
435 |
-
$this->set_version_info_cache( $version_info, $cache_key );
|
436 |
-
|
437 |
-
}
|
438 |
-
|
439 |
-
if( ! empty( $version_info ) && isset( $version_info->sections['changelog'] ) ) {
|
440 |
-
echo '<div style="background:#fff;padding:10px;">' . $version_info->sections['changelog'] . '</div>';
|
441 |
-
}
|
442 |
-
|
443 |
-
exit;
|
444 |
-
}
|
445 |
-
|
446 |
-
public function get_cached_version_info( $cache_key = '' ) {
|
447 |
-
|
448 |
-
if( empty( $cache_key ) ) {
|
449 |
-
$cache_key = $this->cache_key;
|
450 |
-
}
|
451 |
-
|
452 |
-
$cache = get_option( $cache_key );
|
453 |
-
|
454 |
-
if( empty( $cache['timeout'] ) || current_time( 'timestamp' ) > $cache['timeout'] ) {
|
455 |
-
return false; // Cache is expired
|
456 |
-
}
|
457 |
-
|
458 |
-
return json_decode( $cache['value'] );
|
459 |
-
|
460 |
-
}
|
461 |
-
|
462 |
-
public function set_version_info_cache( $value = '', $cache_key = '' ) {
|
463 |
-
|
464 |
-
if( empty( $cache_key ) ) {
|
465 |
-
$cache_key = $this->cache_key;
|
466 |
-
}
|
467 |
-
|
468 |
-
$data = array(
|
469 |
-
'timeout' => strtotime( '+3 hours', current_time( 'timestamp' ) ),
|
470 |
-
'value' => json_encode( $value )
|
471 |
-
);
|
472 |
-
|
473 |
-
update_option( $cache_key, $data );
|
474 |
-
|
475 |
-
}
|
476 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
5 |
+
|
6 |
+
/**
|
7 |
+
* Allows plugins to use their own update API.
|
8 |
+
*
|
9 |
+
* @author Easy Digital Downloads
|
10 |
+
* @version 1.6.12
|
11 |
+
*/
|
12 |
+
class JPIBFI_EDD_SL_Plugin_Updater {
|
13 |
+
|
14 |
+
private $api_url = '';
|
15 |
+
private $api_data = array();
|
16 |
+
private $name = '';
|
17 |
+
private $slug = '';
|
18 |
+
private $version = '';
|
19 |
+
private $wp_override = false;
|
20 |
+
private $cache_key = '';
|
21 |
+
|
22 |
+
/**
|
23 |
+
* Class constructor.
|
24 |
+
*
|
25 |
+
* @uses plugin_basename()
|
26 |
+
* @uses hook()
|
27 |
+
*
|
28 |
+
* @param string $_api_url The URL pointing to the custom API endpoint.
|
29 |
+
* @param string $_plugin_file Path to the plugin file.
|
30 |
+
* @param array $_api_data Optional data to send with API calls.
|
31 |
+
*/
|
32 |
+
public function __construct( $_api_url, $_plugin_file, $_api_data = null ) {
|
33 |
+
|
34 |
+
global $edd_plugin_data;
|
35 |
+
|
36 |
+
$this->api_url = trailingslashit( $_api_url );
|
37 |
+
$this->api_data = $_api_data;
|
38 |
+
$this->name = plugin_basename( $_plugin_file );
|
39 |
+
$this->slug = basename( $_plugin_file, '.php' );
|
40 |
+
$this->version = $_api_data['version'];
|
41 |
+
$this->wp_override = isset( $_api_data['wp_override'] ) ? (bool) $_api_data['wp_override'] : false;
|
42 |
+
$this->beta = ! empty( $this->api_data['beta'] ) ? true : false;
|
43 |
+
$this->cache_key = md5( serialize( $this->slug . $this->api_data['license'] . $this->beta ) );
|
44 |
+
|
45 |
+
$edd_plugin_data[ $this->slug ] = $this->api_data;
|
46 |
+
|
47 |
+
// Set up hooks.
|
48 |
+
$this->init();
|
49 |
+
|
50 |
+
}
|
51 |
+
|
52 |
+
/**
|
53 |
+
* Set up WordPress filters to hook into WP's update process.
|
54 |
+
*
|
55 |
+
* @uses add_filter()
|
56 |
+
*
|
57 |
+
* @return void
|
58 |
+
*/
|
59 |
+
public function init() {
|
60 |
+
|
61 |
+
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
62 |
+
add_filter( 'plugins_api', array( $this, 'plugins_api_filter' ), 10, 3 );
|
63 |
+
remove_action( 'after_plugin_row_' . $this->name, 'wp_plugin_update_row', 10 );
|
64 |
+
add_action( 'after_plugin_row_' . $this->name, array( $this, 'show_update_notification' ), 10, 2 );
|
65 |
+
add_action( 'admin_init', array( $this, 'show_changelog' ) );
|
66 |
+
|
67 |
+
}
|
68 |
+
|
69 |
+
/**
|
70 |
+
* Check for Updates at the defined API endpoint and modify the update array.
|
71 |
+
*
|
72 |
+
* This function dives into the update API just when WordPress creates its update array,
|
73 |
+
* then adds a custom API call and injects the custom plugin data retrieved from the API.
|
74 |
+
* It is reassembled from parts of the native WordPress plugin update code.
|
75 |
+
* See wp-includes/update.php line 121 for the original wp_update_plugins() function.
|
76 |
+
*
|
77 |
+
* @uses api_request()
|
78 |
+
*
|
79 |
+
* @param array $_transient_data Update array build by WordPress.
|
80 |
+
* @return array Modified update array with custom plugin data.
|
81 |
+
*/
|
82 |
+
public function check_update( $_transient_data ) {
|
83 |
+
|
84 |
+
global $pagenow;
|
85 |
+
|
86 |
+
if ( ! is_object( $_transient_data ) ) {
|
87 |
+
$_transient_data = new stdClass;
|
88 |
+
}
|
89 |
+
|
90 |
+
if ( 'plugins.php' == $pagenow && is_multisite() ) {
|
91 |
+
return $_transient_data;
|
92 |
+
}
|
93 |
+
|
94 |
+
if ( ! empty( $_transient_data->response ) && ! empty( $_transient_data->response[ $this->name ] ) && false === $this->wp_override ) {
|
95 |
+
return $_transient_data;
|
96 |
+
}
|
97 |
+
|
98 |
+
$version_info = $this->get_cached_version_info();
|
99 |
+
|
100 |
+
if ( false === $version_info ) {
|
101 |
+
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug, 'beta' => $this->beta ) );
|
102 |
+
|
103 |
+
$this->set_version_info_cache( $version_info );
|
104 |
+
|
105 |
+
}
|
106 |
+
|
107 |
+
if ( false !== $version_info && is_object( $version_info ) && isset( $version_info->new_version ) ) {
|
108 |
+
|
109 |
+
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
110 |
+
|
111 |
+
$_transient_data->response[ $this->name ] = $version_info;
|
112 |
+
|
113 |
+
}
|
114 |
+
|
115 |
+
$_transient_data->last_checked = current_time( 'timestamp' );
|
116 |
+
$_transient_data->checked[ $this->name ] = $this->version;
|
117 |
+
|
118 |
+
}
|
119 |
+
|
120 |
+
return $_transient_data;
|
121 |
+
}
|
122 |
+
|
123 |
+
/**
|
124 |
+
* show update nofication row -- needed for multisite subsites, because WP won't tell you otherwise!
|
125 |
+
*
|
126 |
+
* @param string $file
|
127 |
+
* @param array $plugin
|
128 |
+
*/
|
129 |
+
public function show_update_notification( $file, $plugin ) {
|
130 |
+
|
131 |
+
if ( is_network_admin() ) {
|
132 |
+
return;
|
133 |
+
}
|
134 |
+
|
135 |
+
if( ! current_user_can( 'update_plugins' ) ) {
|
136 |
+
return;
|
137 |
+
}
|
138 |
+
|
139 |
+
if( ! is_multisite() ) {
|
140 |
+
return;
|
141 |
+
}
|
142 |
+
|
143 |
+
if ( $this->name != $file ) {
|
144 |
+
return;
|
145 |
+
}
|
146 |
+
|
147 |
+
// Remove our filter on the site transient
|
148 |
+
remove_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ), 10 );
|
149 |
+
|
150 |
+
$update_cache = get_site_transient( 'update_plugins' );
|
151 |
+
|
152 |
+
$update_cache = is_object( $update_cache ) ? $update_cache : new stdClass();
|
153 |
+
|
154 |
+
if ( empty( $update_cache->response ) || empty( $update_cache->response[ $this->name ] ) ) {
|
155 |
+
|
156 |
+
$version_info = $this->get_cached_version_info();
|
157 |
+
|
158 |
+
if ( false === $version_info ) {
|
159 |
+
$version_info = $this->api_request( 'plugin_latest_version', array( 'slug' => $this->slug, 'beta' => $this->beta ) );
|
160 |
+
|
161 |
+
$this->set_version_info_cache( $version_info );
|
162 |
+
}
|
163 |
+
|
164 |
+
if ( ! is_object( $version_info ) ) {
|
165 |
+
return;
|
166 |
+
}
|
167 |
+
|
168 |
+
if ( version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
169 |
+
|
170 |
+
$update_cache->response[ $this->name ] = $version_info;
|
171 |
+
|
172 |
+
}
|
173 |
+
|
174 |
+
$update_cache->last_checked = current_time( 'timestamp' );
|
175 |
+
$update_cache->checked[ $this->name ] = $this->version;
|
176 |
+
|
177 |
+
set_site_transient( 'update_plugins', $update_cache );
|
178 |
+
|
179 |
+
} else {
|
180 |
+
|
181 |
+
$version_info = $update_cache->response[ $this->name ];
|
182 |
+
|
183 |
+
}
|
184 |
+
|
185 |
+
// Restore our filter
|
186 |
+
add_filter( 'pre_set_site_transient_update_plugins', array( $this, 'check_update' ) );
|
187 |
+
|
188 |
+
if ( ! empty( $update_cache->response[ $this->name ] ) && version_compare( $this->version, $version_info->new_version, '<' ) ) {
|
189 |
+
|
190 |
+
// build a plugin list row, with update notification
|
191 |
+
$wp_list_table = _get_list_table( 'WP_Plugins_List_Table' );
|
192 |
+
# <tr class="plugin-update-tr"><td colspan="' . $wp_list_table->get_column_count() . '" class="plugin-update colspanchange">
|
193 |
+
echo '<tr class="plugin-update-tr" id="' . $this->slug . '-update" data-slug="' . $this->slug . '" data-plugin="' . $this->slug . '/' . $file . '">';
|
194 |
+
echo '<td colspan="3" class="plugin-update colspanchange">';
|
195 |
+
echo '<div class="update-message notice inline notice-warning notice-alt">';
|
196 |
+
|
197 |
+
$changelog_link = self_admin_url( 'index.php?edd_sl_action=view_plugin_changelog&plugin=' . $this->name . '&slug=' . $this->slug . '&TB_iframe=true&width=772&height=911' );
|
198 |
+
|
199 |
+
if ( empty( $version_info->download_link ) ) {
|
200 |
+
printf(
|
201 |
+
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s.', 'easy-digital-downloads' ),
|
202 |
+
esc_html( $version_info->name ),
|
203 |
+
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
204 |
+
esc_html( $version_info->new_version ),
|
205 |
+
'</a>'
|
206 |
+
);
|
207 |
+
} else {
|
208 |
+
printf(
|
209 |
+
__( 'There is a new version of %1$s available. %2$sView version %3$s details%4$s or %5$supdate now%6$s.', 'easy-digital-downloads' ),
|
210 |
+
esc_html( $version_info->name ),
|
211 |
+
'<a target="_blank" class="thickbox" href="' . esc_url( $changelog_link ) . '">',
|
212 |
+
esc_html( $version_info->new_version ),
|
213 |
+
'</a>',
|
214 |
+
'<a href="' . esc_url( wp_nonce_url( self_admin_url( 'update.php?action=upgrade-plugin&plugin=' ) . $this->name, 'upgrade-plugin_' . $this->name ) ) .'">',
|
215 |
+
'</a>'
|
216 |
+
);
|
217 |
+
}
|
218 |
+
|
219 |
+
do_action( "in_plugin_update_message-{$file}", $plugin, $version_info );
|
220 |
+
|
221 |
+
echo '</div></td></tr>';
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
225 |
+
/**
|
226 |
+
* Updates information on the "View version x.x details" page with custom data.
|
227 |
+
*
|
228 |
+
* @uses api_request()
|
229 |
+
*
|
230 |
+
* @param mixed $_data
|
231 |
+
* @param string $_action
|
232 |
+
* @param object $_args
|
233 |
+
* @return object $_data
|
234 |
+
*/
|
235 |
+
public function plugins_api_filter( $_data, $_action = '', $_args = null ) {
|
236 |
+
|
237 |
+
if ( $_action != 'plugin_information' ) {
|
238 |
+
|
239 |
+
return $_data;
|
240 |
+
|
241 |
+
}
|
242 |
+
|
243 |
+
if ( ! isset( $_args->slug ) || ( $_args->slug != $this->slug ) ) {
|
244 |
+
|
245 |
+
return $_data;
|
246 |
+
|
247 |
+
}
|
248 |
+
|
249 |
+
$to_send = array(
|
250 |
+
'slug' => $this->slug,
|
251 |
+
'is_ssl' => is_ssl(),
|
252 |
+
'fields' => array(
|
253 |
+
'banners' => array(),
|
254 |
+
'reviews' => false
|
255 |
+
)
|
256 |
+
);
|
257 |
+
|
258 |
+
$cache_key = 'edd_api_request_' . md5( serialize( $this->slug . $this->api_data['license'] . $this->beta ) );
|
259 |
+
|
260 |
+
// Get the transient where we store the api request for this plugin for 24 hours
|
261 |
+
$edd_api_request_transient = $this->get_cached_version_info( $cache_key );
|
262 |
+
|
263 |
+
//If we have no transient-saved value, run the API, set a fresh transient with the API value, and return that value too right now.
|
264 |
+
if ( empty( $edd_api_request_transient ) ) {
|
265 |
+
|
266 |
+
$api_response = $this->api_request( 'plugin_information', $to_send );
|
267 |
+
|
268 |
+
// Expires in 3 hours
|
269 |
+
$this->set_version_info_cache( $api_response, $cache_key );
|
270 |
+
|
271 |
+
if ( false !== $api_response ) {
|
272 |
+
$_data = $api_response;
|
273 |
+
}
|
274 |
+
|
275 |
+
} else {
|
276 |
+
$_data = $edd_api_request_transient;
|
277 |
+
}
|
278 |
+
|
279 |
+
// Convert sections into an associative array, since we're getting an object, but Core expects an array.
|
280 |
+
if ( isset( $_data->sections ) && ! is_array( $_data->sections ) ) {
|
281 |
+
$new_sections = array();
|
282 |
+
foreach ( $_data->sections as $key => $value ) {
|
283 |
+
$new_sections[ $key ] = $value;
|
284 |
+
}
|
285 |
+
|
286 |
+
$_data->sections = $new_sections;
|
287 |
+
}
|
288 |
+
|
289 |
+
// Convert banners into an associative array, since we're getting an object, but Core expects an array.
|
290 |
+
if ( isset( $_data->banners ) && ! is_array( $_data->banners ) ) {
|
291 |
+
$new_banners = array();
|
292 |
+
foreach ( $_data->banners as $key => $value ) {
|
293 |
+
$new_banners[ $key ] = $value;
|
294 |
+
}
|
295 |
+
|
296 |
+
$_data->banners = $new_banners;
|
297 |
+
}
|
298 |
+
|
299 |
+
return $_data;
|
300 |
+
}
|
301 |
+
|
302 |
+
/**
|
303 |
+
* Disable SSL verification in order to prevent download update failures
|
304 |
+
*
|
305 |
+
* @param array $args
|
306 |
+
* @param string $url
|
307 |
+
* @return object $array
|
308 |
+
*/
|
309 |
+
public function http_request_args( $args, $url ) {
|
310 |
+
// If it is an https request and we are performing a package download, disable ssl verification
|
311 |
+
if ( strpos( $url, 'https://' ) !== false && strpos( $url, 'edd_action=package_download' ) ) {
|
312 |
+
$args['sslverify'] = false;
|
313 |
+
}
|
314 |
+
return $args;
|
315 |
+
}
|
316 |
+
|
317 |
+
/**
|
318 |
+
* Calls the API and, if successfull, returns the object delivered by the API.
|
319 |
+
*
|
320 |
+
* @uses get_bloginfo()
|
321 |
+
* @uses wp_remote_post()
|
322 |
+
* @uses is_wp_error()
|
323 |
+
*
|
324 |
+
* @param string $_action The requested action.
|
325 |
+
* @param array $_data Parameters for the API action.
|
326 |
+
* @return false|object
|
327 |
+
*/
|
328 |
+
private function api_request( $_action, $_data ) {
|
329 |
+
|
330 |
+
global $wp_version;
|
331 |
+
|
332 |
+
$data = array_merge( $this->api_data, $_data );
|
333 |
+
|
334 |
+
if ( $data['slug'] != $this->slug ) {
|
335 |
+
return;
|
336 |
+
}
|
337 |
+
|
338 |
+
if( $this->api_url == trailingslashit (home_url() ) ) {
|
339 |
+
return false; // Don't allow a plugin to ping itself
|
340 |
+
}
|
341 |
+
|
342 |
+
$api_params = array(
|
343 |
+
'edd_action' => 'get_version',
|
344 |
+
'license' => ! empty( $data['license'] ) ? $data['license'] : '',
|
345 |
+
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
346 |
+
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
347 |
+
'version' => isset( $data['version'] ) ? $data['version'] : false,
|
348 |
+
'slug' => $data['slug'],
|
349 |
+
'author' => $data['author'],
|
350 |
+
'url' => home_url(),
|
351 |
+
'beta' => ! empty( $data['beta'] ),
|
352 |
+
);
|
353 |
+
|
354 |
+
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
355 |
+
|
356 |
+
if ( ! is_wp_error( $request ) ) {
|
357 |
+
$request = json_decode( wp_remote_retrieve_body( $request ) );
|
358 |
+
}
|
359 |
+
|
360 |
+
if ( $request && isset( $request->sections ) ) {
|
361 |
+
$request->sections = maybe_unserialize( $request->sections );
|
362 |
+
} else {
|
363 |
+
$request = false;
|
364 |
+
}
|
365 |
+
|
366 |
+
if ( $request && isset( $request->banners ) ) {
|
367 |
+
$request->banners = maybe_unserialize( $request->banners );
|
368 |
+
}
|
369 |
+
|
370 |
+
if( ! empty( $request->sections ) ) {
|
371 |
+
foreach( $request->sections as $key => $section ) {
|
372 |
+
$request->$key = (array) $section;
|
373 |
+
}
|
374 |
+
}
|
375 |
+
|
376 |
+
return $request;
|
377 |
+
}
|
378 |
+
|
379 |
+
public function show_changelog() {
|
380 |
+
|
381 |
+
global $edd_plugin_data;
|
382 |
+
|
383 |
+
if( empty( $_REQUEST['edd_sl_action'] ) || 'view_plugin_changelog' != $_REQUEST['edd_sl_action'] ) {
|
384 |
+
return;
|
385 |
+
}
|
386 |
+
|
387 |
+
if( empty( $_REQUEST['plugin'] ) ) {
|
388 |
+
return;
|
389 |
+
}
|
390 |
+
|
391 |
+
if( empty( $_REQUEST['slug'] ) ) {
|
392 |
+
return;
|
393 |
+
}
|
394 |
+
|
395 |
+
if( ! current_user_can( 'update_plugins' ) ) {
|
396 |
+
wp_die( __( 'You do not have permission to install plugin updates', 'easy-digital-downloads' ), __( 'Error', 'easy-digital-downloads' ), array( 'response' => 403 ) );
|
397 |
+
}
|
398 |
+
|
399 |
+
$data = $edd_plugin_data[ $_REQUEST['slug'] ];
|
400 |
+
$beta = ! empty( $data['beta'] ) ? true : false;
|
401 |
+
$cache_key = md5( 'edd_plugin_' . sanitize_key( $_REQUEST['plugin'] ) . '_' . $beta . '_version_info' );
|
402 |
+
$version_info = $this->get_cached_version_info( $cache_key );
|
403 |
+
|
404 |
+
if( false === $version_info ) {
|
405 |
+
|
406 |
+
$api_params = array(
|
407 |
+
'edd_action' => 'get_version',
|
408 |
+
'item_name' => isset( $data['item_name'] ) ? $data['item_name'] : false,
|
409 |
+
'item_id' => isset( $data['item_id'] ) ? $data['item_id'] : false,
|
410 |
+
'slug' => $_REQUEST['slug'],
|
411 |
+
'author' => $data['author'],
|
412 |
+
'url' => home_url(),
|
413 |
+
'beta' => ! empty( $data['beta'] )
|
414 |
+
);
|
415 |
+
|
416 |
+
$request = wp_remote_post( $this->api_url, array( 'timeout' => 15, 'sslverify' => false, 'body' => $api_params ) );
|
417 |
+
|
418 |
+
if ( ! is_wp_error( $request ) ) {
|
419 |
+
$version_info = json_decode( wp_remote_retrieve_body( $request ) );
|
420 |
+
}
|
421 |
+
|
422 |
+
|
423 |
+
if ( ! empty( $version_info ) && isset( $version_info->sections ) ) {
|
424 |
+
$version_info->sections = maybe_unserialize( $version_info->sections );
|
425 |
+
} else {
|
426 |
+
$version_info = false;
|
427 |
+
}
|
428 |
+
|
429 |
+
if( ! empty( $version_info ) ) {
|
430 |
+
foreach( $version_info->sections as $key => $section ) {
|
431 |
+
$version_info->$key = (array) $section;
|
432 |
+
}
|
433 |
+
}
|
434 |
+
|
435 |
+
$this->set_version_info_cache( $version_info, $cache_key );
|
436 |
+
|
437 |
+
}
|
438 |
+
|
439 |
+
if( ! empty( $version_info ) && isset( $version_info->sections['changelog'] ) ) {
|
440 |
+
echo '<div style="background:#fff;padding:10px;">' . $version_info->sections['changelog'] . '</div>';
|
441 |
+
}
|
442 |
+
|
443 |
+
exit;
|
444 |
+
}
|
445 |
+
|
446 |
+
public function get_cached_version_info( $cache_key = '' ) {
|
447 |
+
|
448 |
+
if( empty( $cache_key ) ) {
|
449 |
+
$cache_key = $this->cache_key;
|
450 |
+
}
|
451 |
+
|
452 |
+
$cache = get_option( $cache_key );
|
453 |
+
|
454 |
+
if( empty( $cache['timeout'] ) || current_time( 'timestamp' ) > $cache['timeout'] ) {
|
455 |
+
return false; // Cache is expired
|
456 |
+
}
|
457 |
+
|
458 |
+
return json_decode( $cache['value'] );
|
459 |
+
|
460 |
+
}
|
461 |
+
|
462 |
+
public function set_version_info_cache( $value = '', $cache_key = '' ) {
|
463 |
+
|
464 |
+
if( empty( $cache_key ) ) {
|
465 |
+
$cache_key = $this->cache_key;
|
466 |
+
}
|
467 |
+
|
468 |
+
$data = array(
|
469 |
+
'timeout' => strtotime( '+3 hours', current_time( 'timestamp' ) ),
|
470 |
+
'value' => json_encode( $value )
|
471 |
+
);
|
472 |
+
|
473 |
+
update_option( $cache_key, $data );
|
474 |
+
|
475 |
+
}
|
476 |
}
|
includes/includes/jpibfi-includes.php
CHANGED
@@ -1,23 +1,21 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Includes {
|
4 |
-
|
5 |
-
private $file;
|
6 |
-
private $version;
|
7 |
-
|
8 |
-
function __construct( $file, $version ){
|
9 |
-
$this->version = $version;
|
10 |
-
$this->file = $file;
|
11 |
-
$this->load_dependencies();
|
12 |
-
}
|
13 |
-
|
14 |
-
function load_dependencies(){
|
15 |
-
require_once 'options/jpibfi-options.php';
|
16 |
-
require_once 'options/jpibfi-selection-options.php';
|
17 |
-
require_once 'options/jpibfi-visual-options.php';
|
18 |
-
require_once 'options/jpibfi-advanced-options.php';
|
19 |
-
|
20 |
-
|
21 |
-
require_once 'JPIBFI_Version_Updater.php';
|
22 |
-
}
|
23 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Includes {
|
4 |
+
|
5 |
+
private $file;
|
6 |
+
private $version;
|
7 |
+
|
8 |
+
function __construct( $file, $version ){
|
9 |
+
$this->version = $version;
|
10 |
+
$this->file = $file;
|
11 |
+
$this->load_dependencies();
|
12 |
+
}
|
13 |
+
|
14 |
+
function load_dependencies(){
|
15 |
+
require_once 'options/jpibfi-options.php';
|
16 |
+
require_once 'options/jpibfi-selection-options.php';
|
17 |
+
require_once 'options/jpibfi-visual-options.php';
|
18 |
+
require_once 'options/jpibfi-advanced-options.php';
|
19 |
+
require_once 'JPIBFI_Version_Updater.php';
|
20 |
+
}
|
|
|
|
|
21 |
}
|
includes/includes/jpibfi-updater.php
CHANGED
@@ -1,5 +1,4 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
// Exit if accessed directly
|
4 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
5 |
-
|
1 |
+
<?php
|
2 |
+
|
3 |
+
// Exit if accessed directly
|
4 |
+
if ( ! defined( 'ABSPATH' ) ) exit;
|
|
includes/includes/options/jpibfi-advanced-options.php
CHANGED
@@ -1,70 +1,70 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Advanced_Options extends JPIBFI_Options {
|
4 |
-
|
5 |
-
function get_default_options() {
|
6 |
-
$defaults = array(
|
7 |
-
'custom_css' =>
|
8 |
-
'a.pinit-button {
|
9 |
-
border-bottom: 0 !important;
|
10 |
-
box-shadow: none !important;
|
11 |
-
margin-bottom: 0 !important;
|
12 |
-
}
|
13 |
-
a.pinit-button::after {
|
14 |
-
display: none;
|
15 |
-
}',
|
16 |
-
'filter_the_content_on' => true,
|
17 |
-
'filter_the_content_priority' => 10,
|
18 |
-
'filter_the_excerpt_on' => true,
|
19 |
-
'filter_the_excerpt_priority' => 10,
|
20 |
-
'filter_post_thumbnail_html_on' => true,
|
21 |
-
'filter_post_thumbnail_html_priority' => 10,
|
22 |
-
'scroll_selector' => '',
|
23 |
-
'support_srcset' => false,
|
24 |
-
);
|
25 |
-
|
26 |
-
return $defaults;
|
27 |
-
}
|
28 |
-
|
29 |
-
function get_option_name() {
|
30 |
-
return 'jpibfi_advanced_options';
|
31 |
-
}
|
32 |
-
|
33 |
-
function get_types() {
|
34 |
-
return array(
|
35 |
-
'custom_css' => 'string',
|
36 |
-
'filter_the_content_on' => 'boolean',
|
37 |
-
'filter_the_content_priority' => 'int',
|
38 |
-
'filter_the_excerpt_on' => 'boolean',
|
39 |
-
'filter_the_excerpt_priority' => 'int',
|
40 |
-
'filter_post_thumbnail_html_on' => 'boolean',
|
41 |
-
'filter_post_thumbnail_html_priority' => 'int',
|
42 |
-
'scroll_selector' => 'string',
|
43 |
-
'support_srcset' => 'boolean',
|
44 |
-
);
|
45 |
-
}
|
46 |
-
|
47 |
-
function get_options_for_view() {
|
48 |
-
$options = $this->get();
|
49 |
-
|
50 |
-
return array(
|
51 |
-
'scroll_selector' => $options['scroll_selector'],
|
52 |
-
'support_srcset' => $options['support_srcset'],
|
53 |
-
);
|
54 |
-
}
|
55 |
-
|
56 |
-
function sanitize( $input ) {
|
57 |
-
$input = parent::sanitize( $input );
|
58 |
-
$save = false;
|
59 |
-
if ( $input['support_srcset'] != false ) {
|
60 |
-
$input['support_srcset'] = false;
|
61 |
-
$save = true;
|
62 |
-
}
|
63 |
-
|
64 |
-
if ( $save ) {
|
65 |
-
$this->update( $input );
|
66 |
-
}
|
67 |
-
|
68 |
-
return $input;
|
69 |
-
}
|
70 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Advanced_Options extends JPIBFI_Options {
|
4 |
+
|
5 |
+
function get_default_options() {
|
6 |
+
$defaults = array(
|
7 |
+
'custom_css' =>
|
8 |
+
'a.pinit-button {
|
9 |
+
border-bottom: 0 !important;
|
10 |
+
box-shadow: none !important;
|
11 |
+
margin-bottom: 0 !important;
|
12 |
+
}
|
13 |
+
a.pinit-button::after {
|
14 |
+
display: none;
|
15 |
+
}',
|
16 |
+
'filter_the_content_on' => true,
|
17 |
+
'filter_the_content_priority' => 10,
|
18 |
+
'filter_the_excerpt_on' => true,
|
19 |
+
'filter_the_excerpt_priority' => 10,
|
20 |
+
'filter_post_thumbnail_html_on' => true,
|
21 |
+
'filter_post_thumbnail_html_priority' => 10,
|
22 |
+
'scroll_selector' => '',
|
23 |
+
'support_srcset' => false,
|
24 |
+
);
|
25 |
+
|
26 |
+
return $defaults;
|
27 |
+
}
|
28 |
+
|
29 |
+
function get_option_name() {
|
30 |
+
return 'jpibfi_advanced_options';
|
31 |
+
}
|
32 |
+
|
33 |
+
function get_types() {
|
34 |
+
return array(
|
35 |
+
'custom_css' => 'string',
|
36 |
+
'filter_the_content_on' => 'boolean',
|
37 |
+
'filter_the_content_priority' => 'int',
|
38 |
+
'filter_the_excerpt_on' => 'boolean',
|
39 |
+
'filter_the_excerpt_priority' => 'int',
|
40 |
+
'filter_post_thumbnail_html_on' => 'boolean',
|
41 |
+
'filter_post_thumbnail_html_priority' => 'int',
|
42 |
+
'scroll_selector' => 'string',
|
43 |
+
'support_srcset' => 'boolean',
|
44 |
+
);
|
45 |
+
}
|
46 |
+
|
47 |
+
function get_options_for_view() {
|
48 |
+
$options = $this->get();
|
49 |
+
|
50 |
+
return array(
|
51 |
+
'scroll_selector' => $options['scroll_selector'],
|
52 |
+
'support_srcset' => $options['support_srcset'],
|
53 |
+
);
|
54 |
+
}
|
55 |
+
|
56 |
+
function sanitize( $input ) {
|
57 |
+
$input = parent::sanitize( $input );
|
58 |
+
$save = false;
|
59 |
+
if ( $input['support_srcset'] != false ) {
|
60 |
+
$input['support_srcset'] = false;
|
61 |
+
$save = true;
|
62 |
+
}
|
63 |
+
|
64 |
+
if ( $save ) {
|
65 |
+
$this->update( $input );
|
66 |
+
}
|
67 |
+
|
68 |
+
return $input;
|
69 |
+
}
|
70 |
}
|
includes/includes/options/jpibfi-license-options.php
DELETED
@@ -1,3 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
if ( ! defined( 'ABSPATH' ) ) exit;
|
3 |
-
|
|
|
|
|
|
includes/includes/options/jpibfi-options.php
CHANGED
@@ -1,53 +1,53 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
abstract class JPIBFI_Options {
|
4 |
-
|
5 |
-
abstract function get_option_name();
|
6 |
-
|
7 |
-
abstract function get_default_options();
|
8 |
-
|
9 |
-
/**
|
10 |
-
* @return array
|
11 |
-
*/
|
12 |
-
protected abstract function get_types();
|
13 |
-
|
14 |
-
function sanitize($input) {
|
15 |
-
$types = $this->get_types();
|
16 |
-
$defaults = $this->get_default_options();
|
17 |
-
foreach ( $types as $key => $type ) {
|
18 |
-
$input[ $key ] = $this->sanitize_field( $input[ $key ], $type, $defaults[ $key ] );
|
19 |
-
}
|
20 |
-
return $input;
|
21 |
-
}
|
22 |
-
|
23 |
-
public function get() {
|
24 |
-
$db_options = get_option( $this->get_option_name() );
|
25 |
-
$db_options = $db_options != false ? $db_options : array();
|
26 |
-
$defaults = $this->get_default_options();
|
27 |
-
$merged = array_merge($defaults, $db_options);
|
28 |
-
return $this->sanitize($merged);
|
29 |
-
}
|
30 |
-
|
31 |
-
public function update( $val ) {
|
32 |
-
update_option( $this->get_option_name(), $val );
|
33 |
-
}
|
34 |
-
|
35 |
-
private function sanitize_field( $value, $type, $default ) {
|
36 |
-
if ( ! isset($value ) )
|
37 |
-
return $default;
|
38 |
-
switch ( $type ) {
|
39 |
-
case 'int':
|
40 |
-
return is_numeric( $value ) ? intval( $value ) : $default;
|
41 |
-
case 'float':
|
42 |
-
return is_numeric( $value ) ? floatval( $value ) : $default;
|
43 |
-
case 'boolean':
|
44 |
-
return is_bool( $value ) ? $value : $default;
|
45 |
-
case 'array':
|
46 |
-
return is_array( $value ) ? $value : $default;
|
47 |
-
case 'string':
|
48 |
-
return is_string( $value ) ? $value : $default;
|
49 |
-
default:
|
50 |
-
return $value;
|
51 |
-
}
|
52 |
-
}
|
53 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
abstract class JPIBFI_Options {
|
4 |
+
|
5 |
+
abstract function get_option_name();
|
6 |
+
|
7 |
+
abstract function get_default_options();
|
8 |
+
|
9 |
+
/**
|
10 |
+
* @return array
|
11 |
+
*/
|
12 |
+
protected abstract function get_types();
|
13 |
+
|
14 |
+
function sanitize($input) {
|
15 |
+
$types = $this->get_types();
|
16 |
+
$defaults = $this->get_default_options();
|
17 |
+
foreach ( $types as $key => $type ) {
|
18 |
+
$input[ $key ] = $this->sanitize_field( $input[ $key ], $type, $defaults[ $key ] );
|
19 |
+
}
|
20 |
+
return $input;
|
21 |
+
}
|
22 |
+
|
23 |
+
public function get() {
|
24 |
+
$db_options = get_option( $this->get_option_name() );
|
25 |
+
$db_options = $db_options != false ? $db_options : array();
|
26 |
+
$defaults = $this->get_default_options();
|
27 |
+
$merged = array_merge($defaults, $db_options);
|
28 |
+
return $this->sanitize($merged);
|
29 |
+
}
|
30 |
+
|
31 |
+
public function update( $val ) {
|
32 |
+
update_option( $this->get_option_name(), $val );
|
33 |
+
}
|
34 |
+
|
35 |
+
private function sanitize_field( $value, $type, $default ) {
|
36 |
+
if ( ! isset($value ) )
|
37 |
+
return $default;
|
38 |
+
switch ( $type ) {
|
39 |
+
case 'int':
|
40 |
+
return is_numeric( $value ) ? intval( $value ) : $default;
|
41 |
+
case 'float':
|
42 |
+
return is_numeric( $value ) ? floatval( $value ) : $default;
|
43 |
+
case 'boolean':
|
44 |
+
return is_bool( $value ) ? $value : $default;
|
45 |
+
case 'array':
|
46 |
+
return is_array( $value ) ? $value : $default;
|
47 |
+
case 'string':
|
48 |
+
return is_string( $value ) ? $value : $default;
|
49 |
+
default:
|
50 |
+
return $value;
|
51 |
+
}
|
52 |
+
}
|
53 |
}
|
includes/includes/options/jpibfi-selection-options.php
CHANGED
@@ -1,38 +1,38 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Selection_Options extends JPIBFI_Options {
|
4 |
-
|
5 |
-
function get_default_options() {
|
6 |
-
$defaults = array(
|
7 |
-
'image_selector' => '.jpibfi_container img',
|
8 |
-
'disabled_classes' => 'wp-smiley;nopin',
|
9 |
-
'enabled_classes' => '',
|
10 |
-
'min_image_height' => 0,
|
11 |
-
'min_image_height_small' => 0,
|
12 |
-
'min_image_width' => 0,
|
13 |
-
'min_image_width_small' => 0,
|
14 |
-
'show_on' => '[front],[home],[single],[page],[archive],[search],[category]',
|
15 |
-
'disable_on' => ''
|
16 |
-
);
|
17 |
-
|
18 |
-
return $defaults;
|
19 |
-
}
|
20 |
-
|
21 |
-
function get_option_name() {
|
22 |
-
return 'jpibfi_selection_options';
|
23 |
-
}
|
24 |
-
|
25 |
-
function get_types() {
|
26 |
-
return array(
|
27 |
-
'image_selector' => 'string',
|
28 |
-
'disabled_classes' => 'string',
|
29 |
-
'enabled_classes' => 'string',
|
30 |
-
'min_image_height' => 'int',
|
31 |
-
'min_image_height_small' => 'int',
|
32 |
-
'min_image_width' => 'int',
|
33 |
-
'min_image_width_small' => 'int',
|
34 |
-
'show_on' => 'string',
|
35 |
-
'disable_on' => 'string'
|
36 |
-
);
|
37 |
-
}
|
38 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Selection_Options extends JPIBFI_Options {
|
4 |
+
|
5 |
+
function get_default_options() {
|
6 |
+
$defaults = array(
|
7 |
+
'image_selector' => '.jpibfi_container img',
|
8 |
+
'disabled_classes' => 'wp-smiley;nopin',
|
9 |
+
'enabled_classes' => '',
|
10 |
+
'min_image_height' => 0,
|
11 |
+
'min_image_height_small' => 0,
|
12 |
+
'min_image_width' => 0,
|
13 |
+
'min_image_width_small' => 0,
|
14 |
+
'show_on' => '[front],[home],[single],[page],[archive],[search],[category]',
|
15 |
+
'disable_on' => ''
|
16 |
+
);
|
17 |
+
|
18 |
+
return $defaults;
|
19 |
+
}
|
20 |
+
|
21 |
+
function get_option_name() {
|
22 |
+
return 'jpibfi_selection_options';
|
23 |
+
}
|
24 |
+
|
25 |
+
function get_types() {
|
26 |
+
return array(
|
27 |
+
'image_selector' => 'string',
|
28 |
+
'disabled_classes' => 'string',
|
29 |
+
'enabled_classes' => 'string',
|
30 |
+
'min_image_height' => 'int',
|
31 |
+
'min_image_height_small' => 'int',
|
32 |
+
'min_image_width' => 'int',
|
33 |
+
'min_image_width_small' => 'int',
|
34 |
+
'show_on' => 'string',
|
35 |
+
'disable_on' => 'string'
|
36 |
+
);
|
37 |
+
}
|
38 |
}
|
includes/includes/options/jpibfi-visual-options.php
CHANGED
@@ -1,122 +1,122 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Visual_Options extends JPIBFI_Options {
|
4 |
-
|
5 |
-
function get_default_options() {
|
6 |
-
$defaults = array(
|
7 |
-
'show_button' => 'hover',
|
8 |
-
'button_margin_bottom' => 20,
|
9 |
-
'button_margin_top' => 20,
|
10 |
-
'button_margin_left' => 20,
|
11 |
-
'button_margin_right' => 20,
|
12 |
-
'button_position' => 'top-left',
|
13 |
-
'description_option' => array( 'img_title', 'img_alt', 'post_title' ),
|
14 |
-
'transparency_value' => 0.2,
|
15 |
-
'pin_image' => 'default',
|
16 |
-
'pin_image_button' => 'square',
|
17 |
-
'pin_image_icon' => 'circle',
|
18 |
-
'pin_image_size' => 'normal',
|
19 |
-
'custom_image_url' => '',
|
20 |
-
'custom_image_height' => 0,
|
21 |
-
'custom_image_width' => 0,
|
22 |
-
'scale_pin_image' => false,
|
23 |
-
'pin_linked_url' => true,
|
24 |
-
);
|
25 |
-
return $defaults;
|
26 |
-
}
|
27 |
-
|
28 |
-
function sanitize( $input ) {
|
29 |
-
$input = parent::sanitize( $input );
|
30 |
-
$save = false;
|
31 |
-
if ( $input['show_button'] != 'hover' ) {
|
32 |
-
$input['show_button'] = 'hover';
|
33 |
-
$save = true;
|
34 |
-
}
|
35 |
-
if ( $input['pin_image_icon'] != 'circle' ) {
|
36 |
-
$input['pin_image_icon'] = 'circle';
|
37 |
-
$save = true;
|
38 |
-
}
|
39 |
-
if ( array_key_exists( 'scale_pin_image', $input ) && $input['scale_pin_image'] != false ) {
|
40 |
-
$input['scale_pin_image'] = false;
|
41 |
-
$save = true;
|
42 |
-
}
|
43 |
-
|
44 |
-
if ( ! is_array( $input['description_option'] ) ) {
|
45 |
-
$input['description_option'] = array( 'img_title', 'img_alt', 'post_title' );
|
46 |
-
$save = true;
|
47 |
-
}
|
48 |
-
|
49 |
-
if ( array_key_exists( 'use_custom_image', $input ) ) {
|
50 |
-
$use_custom = $input['use_custom_image'] == true;
|
51 |
-
$input['pin_image'] = $use_custom ? 'custom' : 'old_default';
|
52 |
-
unset( $input['use_custom_image'] );
|
53 |
-
$save = true;
|
54 |
-
}
|
55 |
-
|
56 |
-
if ( $save ) {
|
57 |
-
$this->update( $input );
|
58 |
-
}
|
59 |
-
|
60 |
-
return $input;
|
61 |
-
}
|
62 |
-
|
63 |
-
public function get_options_for_view() {
|
64 |
-
$options = $this->get();
|
65 |
-
if ( $options['pin_image'] == 'custom' ) {
|
66 |
-
$options['pinImageWidth'] = $options['custom_image_width'];
|
67 |
-
$options['pinImageHeight'] = $options['custom_image_height'];
|
68 |
-
} else if ( $options['pin_image'] == 'old_default' ) {
|
69 |
-
$options['pinImageWidth'] = 65; // size of the default image
|
70 |
-
$options['pinImageHeight'] = 41;
|
71 |
-
} else {
|
72 |
-
$options['pinImageHeight'] = 54 * $this->get_pin_image_height_ratio( $options['pin_image_size'] ); // baseHeight * ratio
|
73 |
-
$options['pinImageWidth'] = $options['pinImageHeight'] * $this->get_pin_image_width_ratio( $options['pin_image_button'] );
|
74 |
-
}
|
75 |
-
unset( $options['custom_image_width'], $options['custom_image_height'] );
|
76 |
-
|
77 |
-
return $options;
|
78 |
-
}
|
79 |
-
|
80 |
-
private function get_pin_image_height_ratio( $pin_image_size ) {
|
81 |
-
switch ( $pin_image_size ) {
|
82 |
-
case 'small': return 0.8;
|
83 |
-
case 'large': return 1.5;
|
84 |
-
default: return 1;
|
85 |
-
}
|
86 |
-
}
|
87 |
-
|
88 |
-
private function get_pin_image_width_ratio( $pin_image_shape ) {
|
89 |
-
switch ( $pin_image_shape ) {
|
90 |
-
case 'rectangle':
|
91 |
-
case 'rounded-rectangle':
|
92 |
-
return 1.5;
|
93 |
-
default: return 1;
|
94 |
-
}
|
95 |
-
}
|
96 |
-
|
97 |
-
public function get_option_name() {
|
98 |
-
return 'jpibfi_visual_options';
|
99 |
-
}
|
100 |
-
|
101 |
-
function get_types() {
|
102 |
-
return array(
|
103 |
-
'show_button' => 'string',
|
104 |
-
'button_margin_bottom' => 'int',
|
105 |
-
'button_margin_top' => 'int',
|
106 |
-
'button_margin_left' => 'int',
|
107 |
-
'button_margin_right' => 'int',
|
108 |
-
'button_position' => 'string',
|
109 |
-
'description_option' => 'array',
|
110 |
-
'transparency_value' => 'float',
|
111 |
-
'pin_image' => 'string',
|
112 |
-
'pin_image_button' => 'string',
|
113 |
-
'pin_image_icon' => 'string',
|
114 |
-
'pin_image_size' => 'string',
|
115 |
-
'custom_image_url' => 'string',
|
116 |
-
'custom_image_height' => 'int',
|
117 |
-
'custom_image_width' => 'int',
|
118 |
-
'scale_pin_image' => 'boolean',
|
119 |
-
'pin_linked_url' => 'boolean',
|
120 |
-
);
|
121 |
-
}
|
122 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Visual_Options extends JPIBFI_Options {
|
4 |
+
|
5 |
+
function get_default_options() {
|
6 |
+
$defaults = array(
|
7 |
+
'show_button' => 'hover',
|
8 |
+
'button_margin_bottom' => 20,
|
9 |
+
'button_margin_top' => 20,
|
10 |
+
'button_margin_left' => 20,
|
11 |
+
'button_margin_right' => 20,
|
12 |
+
'button_position' => 'top-left',
|
13 |
+
'description_option' => array( 'img_title', 'img_alt', 'post_title' ),
|
14 |
+
'transparency_value' => 0.2,
|
15 |
+
'pin_image' => 'default',
|
16 |
+
'pin_image_button' => 'square',
|
17 |
+
'pin_image_icon' => 'circle',
|
18 |
+
'pin_image_size' => 'normal',
|
19 |
+
'custom_image_url' => '',
|
20 |
+
'custom_image_height' => 0,
|
21 |
+
'custom_image_width' => 0,
|
22 |
+
'scale_pin_image' => false,
|
23 |
+
'pin_linked_url' => true,
|
24 |
+
);
|
25 |
+
return $defaults;
|
26 |
+
}
|
27 |
+
|
28 |
+
function sanitize( $input ) {
|
29 |
+
$input = parent::sanitize( $input );
|
30 |
+
$save = false;
|
31 |
+
if ( $input['show_button'] != 'hover' ) {
|
32 |
+
$input['show_button'] = 'hover';
|
33 |
+
$save = true;
|
34 |
+
}
|
35 |
+
if ( $input['pin_image_icon'] != 'circle' ) {
|
36 |
+
$input['pin_image_icon'] = 'circle';
|
37 |
+
$save = true;
|
38 |
+
}
|
39 |
+
if ( array_key_exists( 'scale_pin_image', $input ) && $input['scale_pin_image'] != false ) {
|
40 |
+
$input['scale_pin_image'] = false;
|
41 |
+
$save = true;
|
42 |
+
}
|
43 |
+
|
44 |
+
if ( ! is_array( $input['description_option'] ) ) {
|
45 |
+
$input['description_option'] = array( 'img_title', 'img_alt', 'post_title' );
|
46 |
+
$save = true;
|
47 |
+
}
|
48 |
+
|
49 |
+
if ( array_key_exists( 'use_custom_image', $input ) ) {
|
50 |
+
$use_custom = $input['use_custom_image'] == true;
|
51 |
+
$input['pin_image'] = $use_custom ? 'custom' : 'old_default';
|
52 |
+
unset( $input['use_custom_image'] );
|
53 |
+
$save = true;
|
54 |
+
}
|
55 |
+
|
56 |
+
if ( $save ) {
|
57 |
+
$this->update( $input );
|
58 |
+
}
|
59 |
+
|
60 |
+
return $input;
|
61 |
+
}
|
62 |
+
|
63 |
+
public function get_options_for_view() {
|
64 |
+
$options = $this->get();
|
65 |
+
if ( $options['pin_image'] == 'custom' ) {
|
66 |
+
$options['pinImageWidth'] = $options['custom_image_width'];
|
67 |
+
$options['pinImageHeight'] = $options['custom_image_height'];
|
68 |
+
} else if ( $options['pin_image'] == 'old_default' ) {
|
69 |
+
$options['pinImageWidth'] = 65; // size of the default image
|
70 |
+
$options['pinImageHeight'] = 41;
|
71 |
+
} else {
|
72 |
+
$options['pinImageHeight'] = 54 * $this->get_pin_image_height_ratio( $options['pin_image_size'] ); // baseHeight * ratio
|
73 |
+
$options['pinImageWidth'] = $options['pinImageHeight'] * $this->get_pin_image_width_ratio( $options['pin_image_button'] );
|
74 |
+
}
|
75 |
+
unset( $options['custom_image_width'], $options['custom_image_height'] );
|
76 |
+
|
77 |
+
return $options;
|
78 |
+
}
|
79 |
+
|
80 |
+
private function get_pin_image_height_ratio( $pin_image_size ) {
|
81 |
+
switch ( $pin_image_size ) {
|
82 |
+
case 'small': return 0.8;
|
83 |
+
case 'large': return 1.5;
|
84 |
+
default: return 1;
|
85 |
+
}
|
86 |
+
}
|
87 |
+
|
88 |
+
private function get_pin_image_width_ratio( $pin_image_shape ) {
|
89 |
+
switch ( $pin_image_shape ) {
|
90 |
+
case 'rectangle':
|
91 |
+
case 'rounded-rectangle':
|
92 |
+
return 1.5;
|
93 |
+
default: return 1;
|
94 |
+
}
|
95 |
+
}
|
96 |
+
|
97 |
+
public function get_option_name() {
|
98 |
+
return 'jpibfi_visual_options';
|
99 |
+
}
|
100 |
+
|
101 |
+
function get_types() {
|
102 |
+
return array(
|
103 |
+
'show_button' => 'string',
|
104 |
+
'button_margin_bottom' => 'int',
|
105 |
+
'button_margin_top' => 'int',
|
106 |
+
'button_margin_left' => 'int',
|
107 |
+
'button_margin_right' => 'int',
|
108 |
+
'button_position' => 'string',
|
109 |
+
'description_option' => 'array',
|
110 |
+
'transparency_value' => 'float',
|
111 |
+
'pin_image' => 'string',
|
112 |
+
'pin_image_button' => 'string',
|
113 |
+
'pin_image_icon' => 'string',
|
114 |
+
'pin_image_size' => 'string',
|
115 |
+
'custom_image_url' => 'string',
|
116 |
+
'custom_image_height' => 'int',
|
117 |
+
'custom_image_width' => 'int',
|
118 |
+
'scale_pin_image' => 'boolean',
|
119 |
+
'pin_linked_url' => 'boolean',
|
120 |
+
);
|
121 |
+
}
|
122 |
}
|
includes/includes/versions/JPIBFI_Version_Update_2_2_3.php
CHANGED
@@ -1,187 +1,186 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Version_Update_2_2_3 {
|
4 |
-
|
5 |
-
function __construct() {
|
6 |
-
$this->update_options_if_needed();
|
7 |
-
$this->cleanup();
|
8 |
-
}
|
9 |
-
|
10 |
-
public function update_options_if_needed() {
|
11 |
-
|
12 |
-
$options_val = get_option( 'jpibfi_selection_options' );
|
13 |
-
if ( $options_val ) {
|
14 |
-
$options_val = $this->fix_selection_options( $options_val );
|
15 |
-
$options = new JPIBFI_Selection_Options();
|
16 |
-
$defaults = $options->get_default_options();
|
17 |
-
$with_defaults = array_merge( $defaults, $options_val );
|
18 |
-
$result = array();
|
19 |
-
foreach($defaults as $key => $val) {
|
20 |
-
$result[ $key ] = $with_defaults[ $key ];
|
21 |
-
}
|
22 |
-
$options->update( $result );
|
23 |
-
}
|
24 |
-
|
25 |
-
$options_val = get_option( 'jpibfi_visual_options' );
|
26 |
-
if ( $options_val ) {
|
27 |
-
$options_val = $this->fix_visual_options( $options_val );
|
28 |
-
$options = new JPIBFI_Visual_Options();
|
29 |
-
$defaults = $options->get_default_options();
|
30 |
-
$with_defaults = array_merge( $defaults, $options_val );
|
31 |
-
$result = array();
|
32 |
-
foreach($defaults as $key => $val) {
|
33 |
-
$result[ $key ] = $with_defaults[ $key ];
|
34 |
-
}
|
35 |
-
$options->update( $result );
|
36 |
-
}
|
37 |
-
}
|
38 |
-
|
39 |
-
private function fix_selection_options( $options ) {
|
40 |
-
$resolution_options = array(
|
41 |
-
'min_image_height',
|
42 |
-
'min_image_height_small',
|
43 |
-
'min_image_width',
|
44 |
-
'min_image_width_small'
|
45 |
-
);
|
46 |
-
foreach ( $resolution_options as $resolution_option ) {
|
47 |
-
$options[ $resolution_option ] = isset( $options[ $resolution_option ] ) && is_numeric( $options[ $resolution_option ] )
|
48 |
-
? intval( $options[ $resolution_option ] )
|
49 |
-
: 0;
|
50 |
-
}
|
51 |
-
if ( ! isset( $options['show_on'] ) ) {
|
52 |
-
$options['show_on'] = $this->create_show_on( $options );
|
53 |
-
}
|
54 |
-
if ( ! isset( $options['disable_on'] ) ) {
|
55 |
-
$options['disable_on'] = $this->create_disable_on();
|
56 |
-
}
|
57 |
-
|
58 |
-
return $options;
|
59 |
-
}
|
60 |
-
|
61 |
-
private function create_show_on( $selection_settings ) {
|
62 |
-
$show_on = array();
|
63 |
-
if ( isset( $selection_settings['show_on_home'] ) && $selection_settings['show_on_home'] == "1" ) {
|
64 |
-
$show_on[] = '[front]';
|
65 |
-
}
|
66 |
-
|
67 |
-
if ( isset( $selection_settings['show_on_single'] ) && $selection_settings['show_on_single'] == "1" ) {
|
68 |
-
$show_on[] = '[single]';
|
69 |
-
}
|
70 |
-
|
71 |
-
if ( isset( $selection_settings['show_on_page'] ) && $selection_settings['show_on_page'] == "1" ) {
|
72 |
-
$show_on[] = '[page]';
|
73 |
-
}
|
74 |
-
|
75 |
-
if ( isset( $selection_settings['show_on_category'] ) && $selection_settings['show_on_category'] == "1" ) {
|
76 |
-
$show_on[] = '[category]';
|
77 |
-
$show_on[] = '[archive]';
|
78 |
-
$show_on[] = '[search]';
|
79 |
-
}
|
80 |
-
|
81 |
-
if ( isset( $selection_settings['show_on_blog'] ) && $selection_settings['show_on_blog'] == "1" ) {
|
82 |
-
$show_on[] = '[home]';
|
83 |
-
}
|
84 |
-
|
85 |
-
return implode( ',', $show_on );
|
86 |
-
}
|
87 |
-
|
88 |
-
private function create_disable_on() {
|
89 |
-
global $wpdb;
|
90 |
-
$result = array();
|
91 |
-
|
92 |
-
$entries = $wpdb->get_results( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'jpibfi_meta'", ARRAY_A );
|
93 |
-
for($i = 0; $i < count( $entries ); $i++ ){
|
94 |
-
$meta_val = maybe_unserialize( $entries[ $i ][ 'meta_value'] );
|
95 |
-
$post_id = $entries[ $i ][ 'post_id' ];
|
96 |
-
if ( array_key_exists( 'jpibfi_disable_for_post', $meta_val ) && '1' == $meta_val['jpibfi_disable_for_post'] ) {
|
97 |
-
$result[] = $post_id;
|
98 |
-
}
|
99 |
-
}
|
100 |
-
|
101 |
-
return implode( ',', $result );
|
102 |
-
}
|
103 |
-
|
104 |
-
private function fix_visual_options( $options ) {
|
105 |
-
$int_options = array(
|
106 |
-
'button_margin_bottom',
|
107 |
-
'button_margin_top',
|
108 |
-
'button_margin_left',
|
109 |
-
'button_margin_right',
|
110 |
-
'custom_image_height',
|
111 |
-
'custom_image_width'
|
112 |
-
);
|
113 |
-
foreach ( $int_options as $int_option ) {
|
114 |
-
$options[ $int_option ] = isset( $options[ $int_option ] ) && is_numeric( $options[ $int_option ] )
|
115 |
-
? intval( $options[ $int_option ] )
|
116 |
-
: 0;
|
117 |
-
}
|
118 |
-
if ( isset( $options['pinLinkedImages'] ) && is_string( $options['pinLinkedImages'] ) ) {
|
119 |
-
$options['pinLinkedImages'] = '1' == $options['pinLinkedImages'];
|
120 |
-
}
|
121 |
-
if ( isset( $options['use_custom_image'] ) && is_string( $options['use_custom_image'] ) ) {
|
122 |
-
$options['use_custom_image'] = '1' == $options['use_custom_image'];
|
123 |
-
}
|
124 |
-
|
125 |
-
$options['transparency_value'] = isset( $options['transparency_value'] ) && is_numeric( $options['transparency_value'] )
|
126 |
-
? floatval( $options['transparency_value'] )
|
127 |
-
: 0.5;
|
128 |
-
|
129 |
-
if ( isset( $options['button_position'] ) ) {
|
130 |
-
$options['button_position'] = $this->convert_button_position( $options['button_position'] );
|
131 |
-
}
|
132 |
-
if ( isset( $options['description_option'] ) && ! is_array( $options['description_option'] ) ) {
|
133 |
-
$options['description_option'] = $this->convert_description_option( $options['description_option'] );
|
134 |
-
}
|
135 |
-
|
136 |
-
return $options;
|
137 |
-
}
|
138 |
-
|
139 |
-
private function convert_button_position( $button_position ) {
|
140 |
-
switch ( $button_position ) {
|
141 |
-
case 'top-left':
|
142 |
-
case 'top-right':
|
143 |
-
case 'bottom-left':
|
144 |
-
case 'bottom-right':
|
145 |
-
case 'middle':
|
146 |
-
return $button_position;
|
147 |
-
case '0':
|
148 |
-
return 'top-left';
|
149 |
-
case '1':
|
150 |
-
return 'top-right';
|
151 |
-
case '2':
|
152 |
-
return 'bottom-left';
|
153 |
-
case '3':
|
154 |
-
return 'bottom-right';
|
155 |
-
case '4':
|
156 |
-
return 'middle';
|
157 |
-
default:
|
158 |
-
return 'top-left';
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
-
private function convert_description_option( $description_option ) {
|
163 |
-
switch ( $description_option ) {
|
164 |
-
case '1':
|
165 |
-
return array( 'post_title' );
|
166 |
-
case '2':
|
167 |
-
return array( 'post_excerpt' );
|
168 |
-
case '3':
|
169 |
-
return array( 'img_title' );
|
170 |
-
case '4':
|
171 |
-
return array( 'site_title' );
|
172 |
-
case '5':
|
173 |
-
return array( 'img_description' );
|
174 |
-
case '6':
|
175 |
-
return array( 'img_alt' );
|
176 |
-
default:
|
177 |
-
return array( 'img_title', 'img_alt', 'post_title' );
|
178 |
-
}
|
179 |
-
}
|
180 |
-
|
181 |
-
private function cleanup() {
|
182 |
-
delete_option( 'jpibfi_lightbox_options' );
|
183 |
-
delete_option( 'jpibfi_options_version' );
|
184 |
-
delete_post_meta_by_key( 'jpibfi_meta' );
|
185 |
-
}
|
186 |
-
|
187 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Version_Update_2_2_3 {
|
4 |
+
|
5 |
+
function __construct() {
|
6 |
+
$this->update_options_if_needed();
|
7 |
+
$this->cleanup();
|
8 |
+
}
|
9 |
+
|
10 |
+
public function update_options_if_needed() {
|
11 |
+
|
12 |
+
$options_val = get_option( 'jpibfi_selection_options' );
|
13 |
+
if ( $options_val ) {
|
14 |
+
$options_val = $this->fix_selection_options( $options_val );
|
15 |
+
$options = new JPIBFI_Selection_Options();
|
16 |
+
$defaults = $options->get_default_options();
|
17 |
+
$with_defaults = array_merge( $defaults, $options_val );
|
18 |
+
$result = array();
|
19 |
+
foreach($defaults as $key => $val) {
|
20 |
+
$result[ $key ] = $with_defaults[ $key ];
|
21 |
+
}
|
22 |
+
$options->update( $result );
|
23 |
+
}
|
24 |
+
|
25 |
+
$options_val = get_option( 'jpibfi_visual_options' );
|
26 |
+
if ( $options_val ) {
|
27 |
+
$options_val = $this->fix_visual_options( $options_val );
|
28 |
+
$options = new JPIBFI_Visual_Options();
|
29 |
+
$defaults = $options->get_default_options();
|
30 |
+
$with_defaults = array_merge( $defaults, $options_val );
|
31 |
+
$result = array();
|
32 |
+
foreach($defaults as $key => $val) {
|
33 |
+
$result[ $key ] = $with_defaults[ $key ];
|
34 |
+
}
|
35 |
+
$options->update( $result );
|
36 |
+
}
|
37 |
+
}
|
38 |
+
|
39 |
+
private function fix_selection_options( $options ) {
|
40 |
+
$resolution_options = array(
|
41 |
+
'min_image_height',
|
42 |
+
'min_image_height_small',
|
43 |
+
'min_image_width',
|
44 |
+
'min_image_width_small'
|
45 |
+
);
|
46 |
+
foreach ( $resolution_options as $resolution_option ) {
|
47 |
+
$options[ $resolution_option ] = isset( $options[ $resolution_option ] ) && is_numeric( $options[ $resolution_option ] )
|
48 |
+
? intval( $options[ $resolution_option ] )
|
49 |
+
: 0;
|
50 |
+
}
|
51 |
+
if ( ! isset( $options['show_on'] ) ) {
|
52 |
+
$options['show_on'] = $this->create_show_on( $options );
|
53 |
+
}
|
54 |
+
if ( ! isset( $options['disable_on'] ) ) {
|
55 |
+
$options['disable_on'] = $this->create_disable_on();
|
56 |
+
}
|
57 |
+
|
58 |
+
return $options;
|
59 |
+
}
|
60 |
+
|
61 |
+
private function create_show_on( $selection_settings ) {
|
62 |
+
$show_on = array();
|
63 |
+
if ( isset( $selection_settings['show_on_home'] ) && $selection_settings['show_on_home'] == "1" ) {
|
64 |
+
$show_on[] = '[front]';
|
65 |
+
}
|
66 |
+
|
67 |
+
if ( isset( $selection_settings['show_on_single'] ) && $selection_settings['show_on_single'] == "1" ) {
|
68 |
+
$show_on[] = '[single]';
|
69 |
+
}
|
70 |
+
|
71 |
+
if ( isset( $selection_settings['show_on_page'] ) && $selection_settings['show_on_page'] == "1" ) {
|
72 |
+
$show_on[] = '[page]';
|
73 |
+
}
|
74 |
+
|
75 |
+
if ( isset( $selection_settings['show_on_category'] ) && $selection_settings['show_on_category'] == "1" ) {
|
76 |
+
$show_on[] = '[category]';
|
77 |
+
$show_on[] = '[archive]';
|
78 |
+
$show_on[] = '[search]';
|
79 |
+
}
|
80 |
+
|
81 |
+
if ( isset( $selection_settings['show_on_blog'] ) && $selection_settings['show_on_blog'] == "1" ) {
|
82 |
+
$show_on[] = '[home]';
|
83 |
+
}
|
84 |
+
|
85 |
+
return implode( ',', $show_on );
|
86 |
+
}
|
87 |
+
|
88 |
+
private function create_disable_on() {
|
89 |
+
global $wpdb;
|
90 |
+
$result = array();
|
91 |
+
|
92 |
+
$entries = $wpdb->get_results( "SELECT post_id, meta_value FROM $wpdb->postmeta WHERE meta_key = 'jpibfi_meta'", ARRAY_A );
|
93 |
+
for($i = 0; $i < count( $entries ); $i++ ){
|
94 |
+
$meta_val = maybe_unserialize( $entries[ $i ][ 'meta_value'] );
|
95 |
+
$post_id = $entries[ $i ][ 'post_id' ];
|
96 |
+
if ( array_key_exists( 'jpibfi_disable_for_post', $meta_val ) && '1' == $meta_val['jpibfi_disable_for_post'] ) {
|
97 |
+
$result[] = $post_id;
|
98 |
+
}
|
99 |
+
}
|
100 |
+
|
101 |
+
return implode( ',', $result );
|
102 |
+
}
|
103 |
+
|
104 |
+
private function fix_visual_options( $options ) {
|
105 |
+
$int_options = array(
|
106 |
+
'button_margin_bottom',
|
107 |
+
'button_margin_top',
|
108 |
+
'button_margin_left',
|
109 |
+
'button_margin_right',
|
110 |
+
'custom_image_height',
|
111 |
+
'custom_image_width'
|
112 |
+
);
|
113 |
+
foreach ( $int_options as $int_option ) {
|
114 |
+
$options[ $int_option ] = isset( $options[ $int_option ] ) && is_numeric( $options[ $int_option ] )
|
115 |
+
? intval( $options[ $int_option ] )
|
116 |
+
: 0;
|
117 |
+
}
|
118 |
+
if ( isset( $options['pinLinkedImages'] ) && is_string( $options['pinLinkedImages'] ) ) {
|
119 |
+
$options['pinLinkedImages'] = '1' == $options['pinLinkedImages'];
|
120 |
+
}
|
121 |
+
if ( isset( $options['use_custom_image'] ) && is_string( $options['use_custom_image'] ) ) {
|
122 |
+
$options['use_custom_image'] = '1' == $options['use_custom_image'];
|
123 |
+
}
|
124 |
+
|
125 |
+
$options['transparency_value'] = isset( $options['transparency_value'] ) && is_numeric( $options['transparency_value'] )
|
126 |
+
? floatval( $options['transparency_value'] )
|
127 |
+
: 0.5;
|
128 |
+
|
129 |
+
if ( isset( $options['button_position'] ) ) {
|
130 |
+
$options['button_position'] = $this->convert_button_position( $options['button_position'] );
|
131 |
+
}
|
132 |
+
if ( isset( $options['description_option'] ) && ! is_array( $options['description_option'] ) ) {
|
133 |
+
$options['description_option'] = $this->convert_description_option( $options['description_option'] );
|
134 |
+
}
|
135 |
+
|
136 |
+
return $options;
|
137 |
+
}
|
138 |
+
|
139 |
+
private function convert_button_position( $button_position ) {
|
140 |
+
switch ( $button_position ) {
|
141 |
+
case 'top-left':
|
142 |
+
case 'top-right':
|
143 |
+
case 'bottom-left':
|
144 |
+
case 'bottom-right':
|
145 |
+
case 'middle':
|
146 |
+
return $button_position;
|
147 |
+
case '0':
|
148 |
+
return 'top-left';
|
149 |
+
case '1':
|
150 |
+
return 'top-right';
|
151 |
+
case '2':
|
152 |
+
return 'bottom-left';
|
153 |
+
case '3':
|
154 |
+
return 'bottom-right';
|
155 |
+
case '4':
|
156 |
+
return 'middle';
|
157 |
+
default:
|
158 |
+
return 'top-left';
|
159 |
+
}
|
160 |
+
}
|
161 |
+
|
162 |
+
private function convert_description_option( $description_option ) {
|
163 |
+
switch ( $description_option ) {
|
164 |
+
case '1':
|
165 |
+
return array( 'post_title' );
|
166 |
+
case '2':
|
167 |
+
return array( 'post_excerpt' );
|
168 |
+
case '3':
|
169 |
+
return array( 'img_title' );
|
170 |
+
case '4':
|
171 |
+
return array( 'site_title' );
|
172 |
+
case '5':
|
173 |
+
return array( 'img_description' );
|
174 |
+
case '6':
|
175 |
+
return array( 'img_alt' );
|
176 |
+
default:
|
177 |
+
return array( 'img_title', 'img_alt', 'post_title' );
|
178 |
+
}
|
179 |
+
}
|
180 |
+
|
181 |
+
private function cleanup() {
|
182 |
+
delete_option( 'jpibfi_lightbox_options' );
|
183 |
+
delete_option( 'jpibfi_options_version' );
|
184 |
+
delete_post_meta_by_key( 'jpibfi_meta' );
|
185 |
+
}
|
|
|
186 |
}
|
includes/jpibfi.php
CHANGED
@@ -1,42 +1,42 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI {
|
4 |
-
|
5 |
-
private $version;
|
6 |
-
private $file;
|
7 |
-
|
8 |
-
function __construct($file, $version){
|
9 |
-
|
10 |
-
$this->file = $file;
|
11 |
-
$this->version = $version;
|
12 |
-
|
13 |
-
$this->load_dependencies();
|
14 |
-
$this->load_textdomain();
|
15 |
-
|
16 |
-
register_activation_hook( $file, array( $this, 'update_plugin' ) );
|
17 |
-
add_action( 'plugins_loaded', array( $this, 'update_plugin' ) );
|
18 |
-
}
|
19 |
-
|
20 |
-
function load_dependencies(){
|
21 |
-
|
22 |
-
require_once 'includes/jpibfi-includes.php';
|
23 |
-
new JPIBFI_Includes($this->file, $this->version);
|
24 |
-
|
25 |
-
if (is_admin()){
|
26 |
-
require_once 'admin/jpibfi-admin.php';
|
27 |
-
new JPIBFI_Admin($this->file, $this->version);
|
28 |
-
} else {
|
29 |
-
require_once 'public/class-jpibfi-client.php';
|
30 |
-
new JPIBFI_Client($this->file, $this->version);
|
31 |
-
}
|
32 |
-
}
|
33 |
-
|
34 |
-
function load_textdomain() {
|
35 |
-
load_plugin_textdomain( 'jquery-pin-it-button-for-images', FALSE, dirname( plugin_basename( $this->file ) ) . '/languages/' );
|
36 |
-
}
|
37 |
-
|
38 |
-
public function update_plugin() {
|
39 |
-
$version_updater = new JPIBFI_Version_Updater( $this->version );
|
40 |
-
$version_updater->update();
|
41 |
-
}
|
42 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI {
|
4 |
+
|
5 |
+
private $version;
|
6 |
+
private $file;
|
7 |
+
|
8 |
+
function __construct($file, $version){
|
9 |
+
|
10 |
+
$this->file = $file;
|
11 |
+
$this->version = $version;
|
12 |
+
|
13 |
+
$this->load_dependencies();
|
14 |
+
$this->load_textdomain();
|
15 |
+
|
16 |
+
register_activation_hook( $file, array( $this, 'update_plugin' ) );
|
17 |
+
add_action( 'plugins_loaded', array( $this, 'update_plugin' ) );
|
18 |
+
}
|
19 |
+
|
20 |
+
function load_dependencies(){
|
21 |
+
|
22 |
+
require_once 'includes/jpibfi-includes.php';
|
23 |
+
new JPIBFI_Includes($this->file, $this->version);
|
24 |
+
|
25 |
+
if (is_admin()){
|
26 |
+
require_once 'admin/jpibfi-admin.php';
|
27 |
+
new JPIBFI_Admin($this->file, $this->version);
|
28 |
+
} else {
|
29 |
+
require_once 'public/class-jpibfi-client.php';
|
30 |
+
new JPIBFI_Client($this->file, $this->version);
|
31 |
+
}
|
32 |
+
}
|
33 |
+
|
34 |
+
function load_textdomain() {
|
35 |
+
load_plugin_textdomain( 'jquery-pin-it-button-for-images', FALSE, dirname( plugin_basename( $this->file ) ) . '/languages/' );
|
36 |
+
}
|
37 |
+
|
38 |
+
public function update_plugin() {
|
39 |
+
$version_updater = new JPIBFI_Version_Updater( $this->version );
|
40 |
+
$version_updater->update();
|
41 |
+
}
|
42 |
}
|
includes/public/JPIBFI_Client_Helper.php
CHANGED
@@ -1,33 +1,33 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Client_Helper {
|
4 |
-
|
5 |
-
/**
|
6 |
-
* Returns URL address if available in the $css_property_value arg
|
7 |
-
*
|
8 |
-
* @param $css_property_value
|
9 |
-
*
|
10 |
-
* @return string|bool
|
11 |
-
*/
|
12 |
-
static function get_url_from_css_property( $css_property_value ) {
|
13 |
-
$url_pattern = '/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]))/i';
|
14 |
-
preg_match( $url_pattern, $css_property_value, $url);
|
15 |
-
return count($url) > 0 ? $url[0] : false;
|
16 |
-
}
|
17 |
-
|
18 |
-
/**
|
19 |
-
* Returns background url if available
|
20 |
-
*
|
21 |
-
* @param $style_attr_value
|
22 |
-
*
|
23 |
-
* @return bool|string
|
24 |
-
*/
|
25 |
-
static public function get_background_image_url( $style_attr_value ) {
|
26 |
-
$background_attr_pattern = '/(background|background-image)\s*:\s*([^;]+)\s*;?/i';
|
27 |
-
preg_match( $background_attr_pattern, $style_attr_value, $background_attr );
|
28 |
-
if ( count( $background_attr ) == 0 )
|
29 |
-
return false;
|
30 |
-
$property_value = $background_attr[2];
|
31 |
-
return self::get_url_from_css_property( $property_value );
|
32 |
-
}
|
33 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Client_Helper {
|
4 |
+
|
5 |
+
/**
|
6 |
+
* Returns URL address if available in the $css_property_value arg
|
7 |
+
*
|
8 |
+
* @param $css_property_value
|
9 |
+
*
|
10 |
+
* @return string|bool
|
11 |
+
*/
|
12 |
+
static function get_url_from_css_property( $css_property_value ) {
|
13 |
+
$url_pattern = '/(?i)\b((?:https?:\/\/|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:\'\".,<>?«»“”‘’]))/i';
|
14 |
+
preg_match( $url_pattern, $css_property_value, $url);
|
15 |
+
return count($url) > 0 ? $url[0] : false;
|
16 |
+
}
|
17 |
+
|
18 |
+
/**
|
19 |
+
* Returns background url if available
|
20 |
+
*
|
21 |
+
* @param $style_attr_value
|
22 |
+
*
|
23 |
+
* @return bool|string
|
24 |
+
*/
|
25 |
+
static public function get_background_image_url( $style_attr_value ) {
|
26 |
+
$background_attr_pattern = '/(background|background-image)\s*:\s*([^;]+)\s*;?/i';
|
27 |
+
preg_match( $background_attr_pattern, $style_attr_value, $background_attr );
|
28 |
+
if ( count( $background_attr ) == 0 )
|
29 |
+
return false;
|
30 |
+
$property_value = $background_attr[2];
|
31 |
+
return self::get_url_from_css_property( $property_value );
|
32 |
+
}
|
33 |
}
|
includes/public/class-jpibfi-client.php
CHANGED
@@ -1,309 +1,309 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
class JPIBFI_Client {
|
4 |
-
|
5 |
-
private $selection_options;
|
6 |
-
private $visual_options;
|
7 |
-
/**
|
8 |
-
* @var JPIBFI_Advanced_Options
|
9 |
-
*/
|
10 |
-
private $advanced_options;
|
11 |
-
private $version;
|
12 |
-
private $plugin_dir_url;
|
13 |
-
|
14 |
-
public function __construct( $file, $version ) {
|
15 |
-
$this->version = $version;
|
16 |
-
$this->plugin_dir_url = plugin_dir_url( $file );
|
17 |
-
$this->selection_options = new JPIBFI_Selection_Options();
|
18 |
-
$this->visual_options = new JPIBFI_Visual_Options();
|
19 |
-
$this->advanced_options = new JPIBFI_Advanced_Options();
|
20 |
-
|
21 |
-
add_action( 'wp_enqueue_scripts', array( $this, 'add_plugin_scripts' ) );
|
22 |
-
add_action( 'wp_head', array( $this, 'print_header_style' ) );
|
23 |
-
$this->add_conditional_filters();
|
24 |
-
|
25 |
-
//load dependency
|
26 |
-
require_once 'JPIBFI_Client_Helper.php';
|
27 |
-
}
|
28 |
-
|
29 |
-
private function add_conditional_filters() {
|
30 |
-
$advanced_value = $this->advanced_options->get();
|
31 |
-
|
32 |
-
$filters = array(
|
33 |
-
'post_thumbnail_html',
|
34 |
-
'the_excerpt',
|
35 |
-
'the_content'
|
36 |
-
);
|
37 |
-
|
38 |
-
foreach ( $filters as $filter ) {
|
39 |
-
if ( $advanced_value[ 'filter_' . $filter . '_on' ] ) {
|
40 |
-
add_filter( $filter, array(
|
41 |
-
$this,
|
42 |
-
'the_content'
|
43 |
-
), $advanced_value[ 'filter_' . $filter . '_priority' ] );
|
44 |
-
}
|
45 |
-
}
|
46 |
-
}
|
47 |
-
|
48 |
-
public function add_plugin_scripts() {
|
49 |
-
if ( ! $this->add_jpibfi() ) {
|
50 |
-
return;
|
51 |
-
}
|
52 |
-
|
53 |
-
wp_enqueue_script( 'jpibfi-script', $this->plugin_dir_url . 'js/jpibfi.client.js', array( 'jquery' ), $this->version, true );
|
54 |
-
|
55 |
-
$parameters_array = array(
|
56 |
-
'hover' => array_merge(
|
57 |
-
array( 'siteTitle' => esc_attr( get_bloginfo( 'name', 'display' ) ) ),
|
58 |
-
$this->selection_options->get(),
|
59 |
-
$this->visual_options->get_options_for_view(),
|
60 |
-
$this->advanced_options->get_options_for_view()
|
61 |
-
),
|
62 |
-
);
|
63 |
-
wp_localize_script( 'jpibfi-script', 'jpibfi_options', $parameters_array );
|
64 |
-
wp_enqueue_style( 'jpibfi-style', $this->plugin_dir_url . 'css/client.css', array(), $this->version );
|
65 |
-
}
|
66 |
-
|
67 |
-
public function print_header_style() {
|
68 |
-
if ( ! $this->add_jpibfi() ) {
|
69 |
-
return;
|
70 |
-
}
|
71 |
-
|
72 |
-
$visual_options_js = $this->visual_options->get_options_for_view();
|
73 |
-
$advanced_options = $this->advanced_options->get();
|
74 |
-
|
75 |
-
$custom_button_span_css = '';
|
76 |
-
if ( $visual_options_js['pin_image'] === 'custom' ) {
|
77 |
-
$custom_button_span_css .= sprintf( 'background-image: url("%s");', $visual_options_js['custom_image_url'] );
|
78 |
-
}
|
79 |
-
ob_start();
|
80 |
-
?>
|
81 |
-
<style type="text/css">
|
82 |
-
a.pinit-button.custom span {
|
83 |
-
<?php echo $custom_button_span_css; ?>
|
84 |
-
}
|
85 |
-
|
86 |
-
.pinit-hover {
|
87 |
-
opacity: <?php echo (1 - $visual_options_js['transparency_value']); ?> !important;
|
88 |
-
filter: alpha(opacity=<?php echo (1 - $visual_options_js['transparency_value']) * 100; ?>) !important;
|
89 |
-
}
|
90 |
-
<?php echo $advanced_options['custom_css']; ?>
|
91 |
-
</style>
|
92 |
-
<?php
|
93 |
-
echo ob_get_clean();
|
94 |
-
}
|
95 |
-
|
96 |
-
/*
|
97 |
-
* Adds data-jpibfi-description attribute to each image that is added through media library. The value is the "Description" of the image from media library.
|
98 |
-
* This piece of code uses a lot of code from the Photo Protect http://wordpress.org/plugins/photo-protect/ plugin
|
99 |
-
*/
|
100 |
-
function the_content( $content ) {
|
101 |
-
if ( ! $this->add_jpibfi() ) {
|
102 |
-
return $content;
|
103 |
-
}
|
104 |
-
global $post;
|
105 |
-
|
106 |
-
$visual_options = $this->visual_options->get();
|
107 |
-
|
108 |
-
$get_description = in_array( 'img_description', $visual_options['description_option'] );
|
109 |
-
$get_caption = in_array( 'img_caption', $visual_options['description_option'] );
|
110 |
-
|
111 |
-
$imgPattern = '/<img[^>]*>/i';
|
112 |
-
$attrPattern = '/ ([-\w]+)[ ]*=[ ]*([\"\'])(.*?)\2/i';
|
113 |
-
|
114 |
-
preg_match_all( $imgPattern, $content, $images, PREG_SET_ORDER );
|
115 |
-
|
116 |
-
foreach ( $images as $img ) {
|
117 |
-
|
118 |
-
preg_match_all( $attrPattern, $img[0], $attributes, PREG_SET_ORDER );
|
119 |
-
|
120 |
-
$new_img = '<img';
|
121 |
-
$src = '';
|
122 |
-
$id = '';
|
123 |
-
|
124 |
-
foreach ( $attributes as $att ) {
|
125 |
-
$full = $att[0];
|
126 |
-
$name = $att[1];
|
127 |
-
$value = $att[3];
|
128 |
-
|
129 |
-
$new_img .= $full;
|
130 |
-
|
131 |
-
if ( 'class' == $name ) {
|
132 |
-
$id = $this->get_post_id_from_image_classes( $value );
|
133 |
-
}
|
134 |
-
|
135 |
-
if ( 'src' == $name ) {
|
136 |
-
$src = $value;
|
137 |
-
}
|
138 |
-
}
|
139 |
-
|
140 |
-
$att = $get_description || $get_caption ? $this->get_attachment( $id, $src ): null;
|
141 |
-
if ( $att != null ) {
|
142 |
-
$new_img .= $get_description ? sprintf( ' data-jpibfi-description="%s"', esc_attr( $att->post_content ) ): '';
|
143 |
-
$new_img .= $get_caption ? sprintf( ' data-jpibfi-caption="%s"', esc_attr( $att->post_excerpt ) ): '';
|
144 |
-
}
|
145 |
-
|
146 |
-
$new_img .= sprintf( ' data-jpibfi-post-excerpt="%s"', esc_attr( wp_kses( $post->post_excerpt, array() ) ) );
|
147 |
-
$new_img .= sprintf( ' data-jpibfi-post-url="%s"', esc_attr( get_permalink() ) );
|
148 |
-
$new_img .= sprintf( ' data-jpibfi-post-title="%s"', esc_attr( get_the_title() ) );
|
149 |
-
$new_img .= sprintf( ' data-jpibfi-src="%s"', esc_attr( $src ) );
|
150 |
-
$new_img .= ' >';
|
151 |
-
$content = str_replace( $img[0], $new_img, $content );
|
152 |
-
}
|
153 |
-
$jscript = '';
|
154 |
-
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
155 |
-
ob_start();
|
156 |
-
?>
|
157 |
-
<script type="text/javascript">
|
158 |
-
(function () {
|
159 |
-
if (!jQuery) return;
|
160 |
-
jQuery(document).ready(function () {
|
161 |
-
var $inputs = jQuery('.jpibfi');
|
162 |
-
var $closest = $inputs.closest('div, article');
|
163 |
-
$closest = $closest.length ? $closest : $inputs.parent();
|
164 |
-
$closest.addClass('jpibfi_container');
|
165 |
-
});
|
166 |
-
})();
|
167 |
-
</script>
|
168 |
-
<?php
|
169 |
-
$jscript = ob_get_clean();
|
170 |
-
}
|
171 |
-
|
172 |
-
return '<input class="jpibfi" type="hidden">' . $content . $jscript;
|
173 |
-
}
|
174 |
-
|
175 |
-
|
176 |
-
//function gets the id of the image by searching for class with wp-image- prefix, otherwise returns empty string
|
177 |
-
function get_post_id_from_image_classes( $class_attribute ) {
|
178 |
-
$classes = preg_split( '/\s+/', $class_attribute, - 1, PREG_SPLIT_NO_EMPTY );
|
179 |
-
$prefix = 'wp-image-';
|
180 |
-
|
181 |
-
foreach ( $classes as $class ) {
|
182 |
-
if ( $prefix === substr( $class, 0, strlen( $prefix ) ) ) {
|
183 |
-
return str_replace( $prefix, '', $class );
|
184 |
-
}
|
185 |
-
}
|
186 |
-
|
187 |
-
return '';
|
188 |
-
}
|
189 |
-
|
190 |
-
/**
|
191 |
-
* @param $id
|
192 |
-
* @param $src
|
193 |
-
*
|
194 |
-
* @return array|null|WP_Post
|
195 |
-
*/
|
196 |
-
function get_attachment( $id, $src ) {
|
197 |
-
$result = is_numeric( $id ) ? get_post( $id ) : null;
|
198 |
-
if ( $result )
|
199 |
-
return $result;
|
200 |
-
|
201 |
-
$id = $this->get_attachment_id_by_url( $src );
|
202 |
-
return $id !== 0 ? get_post( $id ) : null;
|
203 |
-
}
|
204 |
-
|
205 |
-
/**
|
206 |
-
* Function copied from https://wpscholar.com/blog/get-attachment-id-from-wp-image-url/
|
207 |
-
* Return an ID of an attachment by searching the database with the file URL.
|
208 |
-
*
|
209 |
-
* @return {int} $attachment
|
210 |
-
*/
|
211 |
-
function get_attachment_id_by_url( $url ) {
|
212 |
-
$attachment_id = 0;
|
213 |
-
$dir = wp_upload_dir();
|
214 |
-
if ( false !== strpos( $url, $dir['baseurl'] . '/' ) ) {
|
215 |
-
$file = basename( $url );
|
216 |
-
$query_args = array(
|
217 |
-
'post_type' => 'attachment',
|
218 |
-
'post_status' => 'inherit',
|
219 |
-
'fields' => 'ids',
|
220 |
-
'meta_query' => array(
|
221 |
-
array(
|
222 |
-
'value' => $file,
|
223 |
-
'compare' => 'LIKE',
|
224 |
-
'key' => '_wp_attachment_metadata',
|
225 |
-
),
|
226 |
-
)
|
227 |
-
);
|
228 |
-
$query = new WP_Query( $query_args );
|
229 |
-
if ( $query->have_posts() ) {
|
230 |
-
foreach ( $query->posts as $post_id ) {
|
231 |
-
$meta = wp_get_attachment_metadata( $post_id );
|
232 |
-
$original_file = basename( $meta['file'] );
|
233 |
-
$cropped_image_files = wp_list_pluck( $meta['sizes'], 'file' );
|
234 |
-
if ( $original_file === $file || in_array( $file, $cropped_image_files ) ) {
|
235 |
-
$attachment_id = $post_id;
|
236 |
-
break;
|
237 |
-
}
|
238 |
-
}
|
239 |
-
}
|
240 |
-
}
|
241 |
-
|
242 |
-
return $attachment_id;
|
243 |
-
}
|
244 |
-
|
245 |
-
function add_jpibfi() {
|
246 |
-
if ( is_feed() ) {
|
247 |
-
return false;
|
248 |
-
}
|
249 |
-
$existing_post_types = get_post_types();
|
250 |
-
$add_jpibfi = false;
|
251 |
-
$jpibfi_selection_options = $this->selection_options->get();
|
252 |
-
$show_on = $jpibfi_selection_options['show_on'];
|
253 |
-
$show_array = explode( ',', $show_on );
|
254 |
-
|
255 |
-
foreach ( $show_array as $show_tag ) {
|
256 |
-
if ( $this->is_tag( $show_tag, $existing_post_types ) ) {
|
257 |
-
$add_jpibfi = true;
|
258 |
-
break;
|
259 |
-
}
|
260 |
-
}
|
261 |
-
if ( ! $add_jpibfi ) {
|
262 |
-
return false;
|
263 |
-
}
|
264 |
-
|
265 |
-
$disable_on = $jpibfi_selection_options['disable_on'];
|
266 |
-
$disable_array = explode( ',', $disable_on );
|
267 |
-
|
268 |
-
foreach ( $disable_array as $disable_tag ) {
|
269 |
-
if ( $this->is_tag( $disable_tag, $existing_post_types ) ) {
|
270 |
-
return false;
|
271 |
-
}
|
272 |
-
}
|
273 |
-
|
274 |
-
return true;
|
275 |
-
}
|
276 |
-
|
277 |
-
function is_tag( $tag, $existing_post_types ) {
|
278 |
-
$tag = trim( $tag );
|
279 |
-
if ( is_numeric( $tag ) ) {
|
280 |
-
$int = intval( $tag );
|
281 |
-
|
282 |
-
return get_the_ID() === $int;
|
283 |
-
}
|
284 |
-
$tag_without = str_replace(']', '', str_replace('[', '', $tag));
|
285 |
-
|
286 |
-
if ( in_array( $tag_without, $existing_post_types ) ) {
|
287 |
-
return is_singular( $tag_without ) || is_post_type_archive( $tag_without );
|
288 |
-
}
|
289 |
-
|
290 |
-
switch ( strtolower( $tag ) ) {
|
291 |
-
case '[front]':
|
292 |
-
return is_front_page();
|
293 |
-
case '[single]':
|
294 |
-
return is_single();
|
295 |
-
case '[archive]':
|
296 |
-
return is_archive();
|
297 |
-
case '[search]':
|
298 |
-
return is_search();
|
299 |
-
case '[category]':
|
300 |
-
return is_category();
|
301 |
-
case '[tag]':
|
302 |
-
return is_tag();
|
303 |
-
case '[home]':
|
304 |
-
return is_home();
|
305 |
-
default:
|
306 |
-
return false;
|
307 |
-
}
|
308 |
-
}
|
309 |
}
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class JPIBFI_Client {
|
4 |
+
|
5 |
+
private $selection_options;
|
6 |
+
private $visual_options;
|
7 |
+
/**
|
8 |
+
* @var JPIBFI_Advanced_Options
|
9 |
+
*/
|
10 |
+
private $advanced_options;
|
11 |
+
private $version;
|
12 |
+
private $plugin_dir_url;
|
13 |
+
|
14 |
+
public function __construct( $file, $version ) {
|
15 |
+
$this->version = $version;
|
16 |
+
$this->plugin_dir_url = plugin_dir_url( $file );
|
17 |
+
$this->selection_options = new JPIBFI_Selection_Options();
|
18 |
+
$this->visual_options = new JPIBFI_Visual_Options();
|
19 |
+
$this->advanced_options = new JPIBFI_Advanced_Options();
|
20 |
+
|
21 |
+
add_action( 'wp_enqueue_scripts', array( $this, 'add_plugin_scripts' ) );
|
22 |
+
add_action( 'wp_head', array( $this, 'print_header_style' ) );
|
23 |
+
$this->add_conditional_filters();
|
24 |
+
|
25 |
+
//load dependency
|
26 |
+
require_once 'JPIBFI_Client_Helper.php';
|
27 |
+
}
|
28 |
+
|
29 |
+
private function add_conditional_filters() {
|
30 |
+
$advanced_value = $this->advanced_options->get();
|
31 |
+
|
32 |
+
$filters = array(
|
33 |
+
'post_thumbnail_html',
|
34 |
+
'the_excerpt',
|
35 |
+
'the_content'
|
36 |
+
);
|
37 |
+
|
38 |
+
foreach ( $filters as $filter ) {
|
39 |
+
if ( $advanced_value[ 'filter_' . $filter . '_on' ] ) {
|
40 |
+
add_filter( $filter, array(
|
41 |
+
$this,
|
42 |
+
'the_content'
|
43 |
+
), $advanced_value[ 'filter_' . $filter . '_priority' ] );
|
44 |
+
}
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
public function add_plugin_scripts() {
|
49 |
+
if ( ! $this->add_jpibfi() ) {
|
50 |
+
return;
|
51 |
+
}
|
52 |
+
|
53 |
+
wp_enqueue_script( 'jpibfi-script', $this->plugin_dir_url . 'js/jpibfi.client.js', array( 'jquery' ), $this->version, true );
|
54 |
+
|
55 |
+
$parameters_array = array(
|
56 |
+
'hover' => array_merge(
|
57 |
+
array( 'siteTitle' => esc_attr( get_bloginfo( 'name', 'display' ) ) ),
|
58 |
+
$this->selection_options->get(),
|
59 |
+
$this->visual_options->get_options_for_view(),
|
60 |
+
$this->advanced_options->get_options_for_view()
|
61 |
+
),
|
62 |
+
);
|
63 |
+
wp_localize_script( 'jpibfi-script', 'jpibfi_options', $parameters_array );
|
64 |
+
wp_enqueue_style( 'jpibfi-style', $this->plugin_dir_url . 'css/client.css', array(), $this->version );
|
65 |
+
}
|
66 |
+
|
67 |
+
public function print_header_style() {
|
68 |
+
if ( ! $this->add_jpibfi() ) {
|
69 |
+
return;
|
70 |
+
}
|
71 |
+
|
72 |
+
$visual_options_js = $this->visual_options->get_options_for_view();
|
73 |
+
$advanced_options = $this->advanced_options->get();
|
74 |
+
|
75 |
+
$custom_button_span_css = '';
|
76 |
+
if ( $visual_options_js['pin_image'] === 'custom' ) {
|
77 |
+
$custom_button_span_css .= sprintf( 'background-image: url("%s");', $visual_options_js['custom_image_url'] );
|
78 |
+
}
|
79 |
+
ob_start();
|
80 |
+
?>
|
81 |
+
<style type="text/css">
|
82 |
+
a.pinit-button.custom span {
|
83 |
+
<?php echo $custom_button_span_css; ?>
|
84 |
+
}
|
85 |
+
|
86 |
+
.pinit-hover {
|
87 |
+
opacity: <?php echo (1 - $visual_options_js['transparency_value']); ?> !important;
|
88 |
+
filter: alpha(opacity=<?php echo (1 - $visual_options_js['transparency_value']) * 100; ?>) !important;
|
89 |
+
}
|
90 |
+
<?php echo $advanced_options['custom_css']; ?>
|
91 |
+
</style>
|
92 |
+
<?php
|
93 |
+
echo ob_get_clean();
|
94 |
+
}
|
95 |
+
|
96 |
+
/*
|
97 |
+
* Adds data-jpibfi-description attribute to each image that is added through media library. The value is the "Description" of the image from media library.
|
98 |
+
* This piece of code uses a lot of code from the Photo Protect http://wordpress.org/plugins/photo-protect/ plugin
|
99 |
+
*/
|
100 |
+
function the_content( $content ) {
|
101 |
+
if ( ! $this->add_jpibfi() ) {
|
102 |
+
return $content;
|
103 |
+
}
|
104 |
+
global $post;
|
105 |
+
|
106 |
+
$visual_options = $this->visual_options->get();
|
107 |
+
|
108 |
+
$get_description = in_array( 'img_description', $visual_options['description_option'] );
|
109 |
+
$get_caption = in_array( 'img_caption', $visual_options['description_option'] );
|
110 |
+
|
111 |
+
$imgPattern = '/<img[^>]*>/i';
|
112 |
+
$attrPattern = '/ ([-\w]+)[ ]*=[ ]*([\"\'])(.*?)\2/i';
|
113 |
+
|
114 |
+
preg_match_all( $imgPattern, $content, $images, PREG_SET_ORDER );
|
115 |
+
|
116 |
+
foreach ( $images as $img ) {
|
117 |
+
|
118 |
+
preg_match_all( $attrPattern, $img[0], $attributes, PREG_SET_ORDER );
|
119 |
+
|
120 |
+
$new_img = '<img';
|
121 |
+
$src = '';
|
122 |
+
$id = '';
|
123 |
+
|
124 |
+
foreach ( $attributes as $att ) {
|
125 |
+
$full = $att[0];
|
126 |
+
$name = $att[1];
|
127 |
+
$value = $att[3];
|
128 |
+
|
129 |
+
$new_img .= $full;
|
130 |
+
|
131 |
+
if ( 'class' == $name ) {
|
132 |
+
$id = $this->get_post_id_from_image_classes( $value );
|
133 |
+
}
|
134 |
+
|
135 |
+
if ( 'src' == $name ) {
|
136 |
+
$src = $value;
|
137 |
+
}
|
138 |
+
}
|
139 |
+
|
140 |
+
$att = $get_description || $get_caption ? $this->get_attachment( $id, $src ): null;
|
141 |
+
if ( $att != null ) {
|
142 |
+
$new_img .= $get_description ? sprintf( ' data-jpibfi-description="%s"', esc_attr( $att->post_content ) ): '';
|
143 |
+
$new_img .= $get_caption ? sprintf( ' data-jpibfi-caption="%s"', esc_attr( $att->post_excerpt ) ): '';
|
144 |
+
}
|
145 |
+
|
146 |
+
$new_img .= sprintf( ' data-jpibfi-post-excerpt="%s"', esc_attr( wp_kses( $post->post_excerpt, array() ) ) );
|
147 |
+
$new_img .= sprintf( ' data-jpibfi-post-url="%s"', esc_attr( get_permalink() ) );
|
148 |
+
$new_img .= sprintf( ' data-jpibfi-post-title="%s"', esc_attr( get_the_title() ) );
|
149 |
+
$new_img .= sprintf( ' data-jpibfi-src="%s"', esc_attr( $src ) );
|
150 |
+
$new_img .= ' >';
|
151 |
+
$content = str_replace( $img[0], $new_img, $content );
|
152 |
+
}
|
153 |
+
$jscript = '';
|
154 |
+
if ( defined( 'DOING_AJAX' ) && DOING_AJAX ) {
|
155 |
+
ob_start();
|
156 |
+
?>
|
157 |
+
<script type="text/javascript">
|
158 |
+
(function () {
|
159 |
+
if (!jQuery) return;
|
160 |
+
jQuery(document).ready(function () {
|
161 |
+
var $inputs = jQuery('.jpibfi');
|
162 |
+
var $closest = $inputs.closest('div, article');
|
163 |
+
$closest = $closest.length ? $closest : $inputs.parent();
|
164 |
+
$closest.addClass('jpibfi_container');
|
165 |
+
});
|
166 |
+
})();
|
167 |
+
</script>
|
168 |
+
<?php
|
169 |
+
$jscript = ob_get_clean();
|
170 |
+
}
|
171 |
+
|
172 |
+
return '<input class="jpibfi" type="hidden">' . $content . $jscript;
|
173 |
+
}
|
174 |
+
|
175 |
+
|
176 |
+
//function gets the id of the image by searching for class with wp-image- prefix, otherwise returns empty string
|
177 |
+
function get_post_id_from_image_classes( $class_attribute ) {
|
178 |
+
$classes = preg_split( '/\s+/', $class_attribute, - 1, PREG_SPLIT_NO_EMPTY );
|
179 |
+
$prefix = 'wp-image-';
|
180 |
+
|
181 |
+
foreach ( $classes as $class ) {
|
182 |
+
if ( $prefix === substr( $class, 0, strlen( $prefix ) ) ) {
|
183 |
+
return str_replace( $prefix, '', $class );
|
184 |
+
}
|
185 |
+
}
|
186 |
+
|
187 |
+
return '';
|
188 |
+
}
|
189 |
+
|
190 |
+
/**
|
191 |
+
* @param $id
|
192 |
+
* @param $src
|
193 |
+
*
|
194 |
+
* @return array|null|WP_Post
|
195 |
+
*/
|
196 |
+
function get_attachment( $id, $src ) {
|
197 |
+
$result = is_numeric( $id ) ? get_post( $id ) : null;
|
198 |
+
if ( $result )
|
199 |
+
return $result;
|
200 |
+
|
201 |
+
$id = $this->get_attachment_id_by_url( $src );
|
202 |
+
return $id !== 0 ? get_post( $id ) : null;
|
203 |
+
}
|
204 |
+
|
205 |
+
/**
|
206 |
+
* Function copied from https://wpscholar.com/blog/get-attachment-id-from-wp-image-url/
|
207 |
+
* Return an ID of an attachment by searching the database with the file URL.
|
208 |
+
*
|
209 |
+
* @return {int} $attachment
|
210 |
+
*/
|
211 |
+
function get_attachment_id_by_url( $url ) {
|
212 |
+
$attachment_id = 0;
|
213 |
+
$dir = wp_upload_dir();
|
214 |
+
if ( false !== strpos( $url, $dir['baseurl'] . '/' ) ) {
|
215 |
+
$file = basename( $url );
|
216 |
+
$query_args = array(
|
217 |
+
'post_type' => 'attachment',
|
218 |
+
'post_status' => 'inherit',
|
219 |
+
'fields' => 'ids',
|
220 |
+
'meta_query' => array(
|
221 |
+
array(
|
222 |
+
'value' => $file,
|
223 |
+
'compare' => 'LIKE',
|
224 |
+
'key' => '_wp_attachment_metadata',
|
225 |
+
),
|
226 |
+
)
|
227 |
+
);
|
228 |
+
$query = new WP_Query( $query_args );
|
229 |
+
if ( $query->have_posts() ) {
|
230 |
+
foreach ( $query->posts as $post_id ) {
|
231 |
+
$meta = wp_get_attachment_metadata( $post_id );
|
232 |
+
$original_file = basename( $meta['file'] );
|
233 |
+
$cropped_image_files = wp_list_pluck( $meta['sizes'], 'file' );
|
234 |
+
if ( $original_file === $file || in_array( $file, $cropped_image_files ) ) {
|
235 |
+
$attachment_id = $post_id;
|
236 |
+
break;
|
237 |
+
}
|
238 |
+
}
|
239 |
+
}
|
240 |
+
}
|
241 |
+
|
242 |
+
return $attachment_id;
|
243 |
+
}
|
244 |
+
|
245 |
+
function add_jpibfi() {
|
246 |
+
if ( is_feed() ) {
|
247 |
+
return false;
|
248 |
+
}
|
249 |
+
$existing_post_types = get_post_types();
|
250 |
+
$add_jpibfi = false;
|
251 |
+
$jpibfi_selection_options = $this->selection_options->get();
|
252 |
+
$show_on = $jpibfi_selection_options['show_on'];
|
253 |
+
$show_array = explode( ',', $show_on );
|
254 |
+
|
255 |
+
foreach ( $show_array as $show_tag ) {
|
256 |
+
if ( $this->is_tag( $show_tag, $existing_post_types ) ) {
|
257 |
+
$add_jpibfi = true;
|
258 |
+
break;
|
259 |
+
}
|
260 |
+
}
|
261 |
+
if ( ! $add_jpibfi ) {
|
262 |
+
return false;
|
263 |
+
}
|
264 |
+
|
265 |
+
$disable_on = $jpibfi_selection_options['disable_on'];
|
266 |
+
$disable_array = explode( ',', $disable_on );
|
267 |
+
|
268 |
+
foreach ( $disable_array as $disable_tag ) {
|
269 |
+
if ( $this->is_tag( $disable_tag, $existing_post_types ) ) {
|
270 |
+
return false;
|
271 |
+
}
|
272 |
+
}
|
273 |
+
|
274 |
+
return true;
|
275 |
+
}
|
276 |
+
|
277 |
+
function is_tag( $tag, $existing_post_types ) {
|
278 |
+
$tag = trim( $tag );
|
279 |
+
if ( is_numeric( $tag ) ) {
|
280 |
+
$int = intval( $tag );
|
281 |
+
|
282 |
+
return get_the_ID() === $int;
|
283 |
+
}
|
284 |
+
$tag_without = str_replace(']', '', str_replace('[', '', $tag));
|
285 |
+
|
286 |
+
if ( in_array( $tag_without, $existing_post_types ) ) {
|
287 |
+
return is_singular( $tag_without ) || is_post_type_archive( $tag_without );
|
288 |
+
}
|
289 |
+
|
290 |
+
switch ( strtolower( $tag ) ) {
|
291 |
+
case '[front]':
|
292 |
+
return is_front_page();
|
293 |
+
case '[single]':
|
294 |
+
return is_single();
|
295 |
+
case '[archive]':
|
296 |
+
return is_archive();
|
297 |
+
case '[search]':
|
298 |
+
return is_search();
|
299 |
+
case '[category]':
|
300 |
+
return is_category();
|
301 |
+
case '[tag]':
|
302 |
+
return is_tag();
|
303 |
+
case '[home]':
|
304 |
+
return is_home();
|
305 |
+
default:
|
306 |
+
return false;
|
307 |
+
}
|
308 |
+
}
|
309 |
}
|
index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
<?php
|
2 |
/* Let The Force Be With You */
|
1 |
+
<?php
|
2 |
/* Let The Force Be With You */
|
jquery-pin-it-button-for-images.php
CHANGED
@@ -6,7 +6,7 @@ Description: Highlights images on hover and adds a "Pin It" button over them for
|
|
6 |
Text Domain: jquery-pin-it-button-for-images
|
7 |
Domain Path: /languages
|
8 |
Author: Marcin Skrzypiec
|
9 |
-
Version:3.0.
|
10 |
Author URI: https://highfiveplugins.com/
|
11 |
*/
|
12 |
|
@@ -18,7 +18,7 @@ if ( !class_exists( 'jQuery_Pin_It_Button_For_Images' ) ) {
|
|
18 |
final class jQuery_Pin_It_Button_For_Images {
|
19 |
|
20 |
function __construct() {
|
21 |
-
$version = '3.0.
|
22 |
require_once plugin_dir_path(__FILE__) . 'includes/jpibfi.php';
|
23 |
new JPIBFI(__FILE__, $version);
|
24 |
}
|
6 |
Text Domain: jquery-pin-it-button-for-images
|
7 |
Domain Path: /languages
|
8 |
Author: Marcin Skrzypiec
|
9 |
+
Version:3.0.6
|
10 |
Author URI: https://highfiveplugins.com/
|
11 |
*/
|
12 |
|
18 |
final class jQuery_Pin_It_Button_For_Images {
|
19 |
|
20 |
function __construct() {
|
21 |
+
$version = '3.0.6';
|
22 |
require_once plugin_dir_path(__FILE__) . 'includes/jpibfi.php';
|
23 |
new JPIBFI(__FILE__, $version);
|
24 |
}
|
js/jpibfi.admin.js
CHANGED
@@ -1,11 +1 @@
|
|
1 |
-
!function(){function e(t,n,r){function o(i,s){if(!n[i]){if(!t[i]){var u="function"==typeof require&&require;if(!s&&u)return u(i,!0);if(a)return a(i,!0);var c=new Error("Cannot find module '"+i+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[i]={exports:{}};t[i][0].call(l.exports,function(e){var n=t[i][1][e];return o(n||e)},l,l.exports,e,t,n,r)}return n[i].exports}for(var a="function"==typeof require&&require,i=0;i<r.length;i++)o(r[i]);return o}return e}()({1:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=e("react"),c=r(u),l=e("./Components/Navbar"),p=r(l),f=e("./Components/SelectEditor"),d=r(f),h=e("./Components/VisualEditor"),v=r(h),g=e("./Components/AdvancedEditor"),m=r(g),y=e("./Components/ImportExportEditor"),b=r(y),_=function(e){function t(){o(this,t);var e=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this));return e.state={config:null},e.renderLicenseTab=e.renderLicenseTab.bind(e),e.renderTab=e.renderTab.bind(e),e.renderSubmitButton=e.renderSubmitButton.bind(e),e}return i(t,e),s(t,[{key:"componentDidMount",value:function(){this.setState({config:window.jpibfi_settings})}},{key:"isCurrentTabIn",value:function(e){var t=this;return e.some(function(e){return t.state.config.currentTab===e})}},{key:"isCurrentTabEqualTo",value:function(e){return this.isCurrentTabIn([e])}},{key:"render",value:function(){if(!this.state.config)return null;var e=this.state.config,t={tabs:e.tabs,page:e.page,currentTab:e.currentTab,links:e.links};return c["default"].createElement("div",{id:"foo"},c["default"].createElement(p["default"],t),c["default"].createElement("form",{method:"POST",encType:"multipart/form-data",id:"jpibfi-form",action:e.save.post_url},c["default"].createElement("input",{name:e.save.action,value:e.save.nonce,type:"hidden"}),c["default"].createElement("input",{name:e.save.tab,value:e.currentTab,type:"hidden"}),this.renderTab(d["default"],"select"),this.renderTab(v["default"],"visual"),this.renderTab(m["default"],"advanced"),this.renderTab(b["default"],"import"),this.renderLicenseTab(),this.renderSubmitButton()))}},{key:"renderTab",value:function(e,t){if(!this.isCurrentTabEqualTo(t))return null;var n=this.state.config,r=n.settings,o=n.i18n;return c["default"].createElement(e,{settings:r,i18n:o.editor})}},{key:"renderSubmitButton",value:function(){return this.isCurrentTabIn(["select","visual","advanced"])?c["default"].createElement("input",{type:"submit",className:"button button-primary",value:this.state.config.save.submit}):null}},{key:"renderLicenseTab",value:function(){return null}}]),t}(u.Component);n["default"]=_},{"./Components/AdvancedEditor":2,"./Components/ImportExportEditor":3,"./Components/Navbar":4,"./Components/SelectEditor":5,"./Components/VisualEditor":7,react:353}],2:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function u(e){var t=e.name,n=e.priority,r=e.template,o=[{tag:"%name%",editor:f["default"].createElement(d.CheckboxEditor,{key:"name",args:t})},{tag:"%priority%",editor:f["default"].createElement(d.LabeledNumberEditor,{key:"priority",args:n,step:"1"})}];return f["default"].createElement(d.Templated,{items:o,template:r})}Object.defineProperty(n,"__esModule",{value:!0});var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p=e("react"),f=r(p),d=e("./helpers"),h=function(e){function t(e){a(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.changeValue=function(e,t){var r=n.props.settings[e],a=c({},n.state.settings,o({},e,c({},r,{value:t})));n.setState({settings:a})},n.renderProFeatureError=function(){return f["default"].createElement("p",null,f["default"].createElement("b",{dangerouslySetInnerHTML:{__html:n.props.i18n.pro_feature_error}}))},n.state={settings:c({},e.settings)},n}return s(t,e),l(t,[{key:"render",value:function(){var e=this.props,t=e.settings,n=e.i18n;return f["default"].createElement("div",null,f["default"].createElement("h2",null,e.i18n.title),f["default"].createElement("table",{className:"form-table"},f["default"].createElement("tbody",null,this.renderSupportSrcsetSetting(),f["default"].createElement("tr",null,f["default"].createElement("th",null,n.filters_label),f["default"].createElement("td",null,f["default"].createElement(u,{name:t.filter_the_content_on,priority:t.filter_the_content_priority,template:n.filter_template}),f["default"].createElement(u,{name:t.filter_the_excerpt_on,priority:t.filter_the_excerpt_priority,template:n.filter_template}),f["default"].createElement(u,{name:t.filter_post_thumbnail_html_on,priority:t.filter_post_thumbnail_html_priority,template:n.filter_template}),f["default"].createElement(d.Description,{text:n.filters_description}))),this.renderScrollSelectionSetting(),f["default"].createElement(d.TableRow,{Editor:d.TextareaEditor,rows:5,setting:t.custom_css}))))}},{key:"renderSupportSrcsetSetting",value:function(){var e=this,t=this.state.settings.support_srcset,n=null;return t.value===!0&&(n=this.renderProFeatureError()),f["default"].createElement("tr",null,f["default"].createElement("th",null,f["default"].createElement("label",{htmlFor:t.key},t.label)),f["default"].createElement("td",null,f["default"].createElement(d.CheckboxEditor,{args:t,onChange:function(t){return e.changeValue("support_srcset",t.target.checked)}}),f["default"].createElement(d.Description,{text:t.desc}),n))}},{key:"renderScrollSelectionSetting",value:function(){this.props.settings;return null}}]),t}(p.Component);n["default"]=h},{"./helpers":8,react:353}],3:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var s=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),u=e("react"),c=r(u),l=(e("./helpers"),function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),s(t,[{key:"onUpload",value:function(){document.getElementById("jpibfi-form").submit()}},{key:"render",value:function(){var e=this.props,t=(e.settings,e.i18n);return c["default"].createElement("div",null,c["default"].createElement("h2",null,t.title),c["default"].createElement("table",{className:"form-table"},c["default"].createElement("tbody",null,c["default"].createElement("tr",null,c["default"].createElement("th",null,c["default"].createElement("label",null,t.export_title)),c["default"].createElement("td",null,c["default"].createElement("a",{href:t.export_url,className:"button button-default"},t.export_button_text))),c["default"].createElement("tr",null,c["default"].createElement("th",null,c["default"].createElement("label",null,t.import_title)),c["default"].createElement("td",null,c["default"].createElement("input",{type:"file",name:"import",onChange:this.onUpload,accept:".json"}))))))}}]),t}(u.Component));n["default"]=l},{"./helpers":8,react:353}],4:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){return i["default"].createElement("h2",{className:"nav-tab-wrapper"},e.tabs.map(function(t){return i["default"].createElement("a",{key:t.slug,href:"?page="+e.page+"&tab="+t.slug,className:"nav-tab "+(e.currentTab===t.slug&&"nav-tab-active")},t.name)}),e.links.map(function(e){return i["default"].createElement("a",{key:e.url,target:"_blank",className:"nav-tab",href:e.url},e.label)}))}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("react"),i=r(a)},{react:353}],5:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=e.height,n=e.width,r=e.template,o=[{tag:"%height%",editor:l["default"].createElement(p.NumberEditor,{key:"height",args:t,step:"1",min:"0"})},{tag:"%width%",editor:l["default"].createElement(p.NumberEditor,{key:"width",args:n,step:"1",min:"0"})}];return l["default"].createElement(p.Templated,{items:o,template:r})}Object.defineProperty(n,"__esModule",{value:!0});var u=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),c=e("react"),l=r(c),p=e("./helpers"),f=function(e){function t(){return o(this,t),a(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return i(t,e),u(t,[{key:"render",value:function(){var e=this.props,t=e.settings,n=e.i18n;return l["default"].createElement("div",null,l["default"].createElement("h2",null,n.title),l["default"].createElement("table",{className:"form-table"},l["default"].createElement("tbody",null,l["default"].createElement(p.TableRow,{Editor:p.TextareaEditor,setting:t.image_selector}),l["default"].createElement(p.TableRow,{Editor:p.TextEditor,setting:t.disabled_classes}),l["default"].createElement(p.TableRow,{Editor:p.TextEditor,setting:t.enabled_classes}),l["default"].createElement("tr",null,l["default"].createElement("th",null,n.image_resolution_label),l["default"].createElement("td",null,l["default"].createElement(s,{height:t.min_image_height_small,width:t.min_image_width_small,template:n.min_resolution_template_small}),l["default"].createElement(s,{height:t.min_image_height,width:t.min_image_width,template:n.min_resolution_template}),l["default"].createElement(p.Description,{text:n.image_resolution_desc}),l["default"].createElement(p.Description,{text:n.image_resolution_desc_2}))),l["default"].createElement("tr",null,l["default"].createElement("th",null,n.show_on_field_label),l["default"].createElement("td",null,l["default"].createElement("p",null,l["default"].createElement("label",{htmlFor:"show_on"},t.show_on.label,":"),l["default"].createElement("br",null),l["default"].createElement(p.TextareaEditor,{args:t.show_on})),l["default"].createElement("p",null,l["default"].createElement("label",{htmlFor:"disable_on"},t.disable_on.label,":"),l["default"].createElement("br",null),l["default"].createElement(p.TextareaEditor,{args:t.disable_on})),l["default"].createElement(p.Description,{text:n.show_on_field_desc}))))))}}]),t}(c.Component);n["default"]=f},{"./helpers":8,react:353}],6:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0}),n.SortableItem=void 0;var u,c,l,p,f,d,h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},v=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),g=e("react"),m=r(g),y=e("react-dnd"),b=e("react-dnd-html5-backend"),_=r(b),E="ListItem",C={beginDrag:function(e){var t=e.item.key,n=e.findItem;return{key:t,originalIndex:n(t).index}},endDrag:function(e,t){var n=t.getItem(),r=n.key,o=n.originalIndex;t.didDrop()||e.moveCard(r,o)}},w={canDrop:function(){return!1},hover:function(e,t){var n=e.item,r=e.findItem,o=e.moveItem,a=t.getItem(),i=a.key,s=n.key;if(i!==s){var u=r(s),c=u.index;o(i,c)}}},O=n.SortableItem=(u=(0,y.DropTarget)(E,w,function(e){return{connectDropTarget:e.dropTarget()}}),c=(0,y.DragSource)(E,C,function(e,t){return{connectDragSource:e.dragSource(),isDragging:t.isDragging()}}),u(l=c(l=function(e){function t(){return a(this,t),i(this,(t.__proto__||Object.getPrototypeOf(t)).apply(this,arguments))}return s(t,e),v(t,[{key:"render",value:function(){var e=this.props,t=e.item,n=e.isDragging,r=e.connectDragSource,o=e.connectDropTarget,a=e.changeSelected,i=n?0:1;return r(o(m["default"].createElement("li",{style:{opacity:i}},m["default"].createElement("input",{type:"checkbox",id:t.key,defaultChecked:t.selected,onChange:function(){return a(t.key)}}),m["default"].createElement("label",{htmlFor:t.key},t.label))))}}]),t}(g.Component))||l)||l),T={drop:function(){}},D=(p=(0,y.DragDropContext)(_["default"]),f=(0,y.DropTarget)(E,T,function(e){return{connectDropTarget:e.dropTarget()}}),p(d=f(d=function(e){function t(e){a(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));n.changeSelected=n.changeSelected.bind(n),n.moveItem=n.moveItem.bind(n),n.findItem=n.findItem.bind(n);var r=e.args,o=r.value.slice().concat(Object.keys(r.options).filter(function(e){return r.value.indexOf(e)===-1}));return n.state={items:o.map(function(e){return{key:e,label:r.options[e],selected:r.value.indexOf(e)!==-1}})},n}return s(t,e),v(t,[{key:"changeSelected",value:function(e){this.setState({items:this.state.items.map(function(t){return t.key==e?h({},t,{selected:!t.selected}):t})})}},{key:"moveItem",value:function(e,t){var n=this.findItem(e),r=n.item,a=(n.index,this.state.items.filter(function(e){return e.key!=r.key}));a=[].concat(o(a.slice(0,t)),[r],o(a.slice(t))),this.setState({items:a})}},{key:"findItem",value:function(e){var t=this.state.items,n=t.filter(function(t){return t.key===e})[0];return{item:n,index:t.indexOf(n)}}},{key:"render",value:function(){var e=this,t=this.props,n=t.connectDropTarget,r=t.args,o=this.state.items,a=o.reduce(function(e,t){return t.selected?e.concat([t.key]):e},[]);return n(m["default"].createElement("div",null,m["default"].createElement("input",{type:"hidden",name:r.key,value:a}),m["default"].createElement("ul",{className:"frizzly-sortable"},o.map(function(t,n){return m["default"].createElement(O,{key:t.key,item:t,moveItem:e.moveItem,findItem:e.findItem,changeSelected:e.changeSelected})}))))}}]),t}(g.Component))||d)||d);n["default"]=D},{react:353,"react-dnd":192,"react-dnd-html5-backend":177}],7:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function s(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=e("react"),p=r(l),f=e("./helpers"),d=e("./SortableEditor"),h=r(d),v=function(e){function t(e){a(this,t);var n=i(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.buttonPositionChanged=function(e){n.setState({ui:{marginAvailability:{top:"top-left"===e||"top-right"===e,bottom:"bottom-left"===e||"bottom-right"===e,left:"top-left"===e||"bottom-left"===e,right:"top-right"===e||"bottom-right"===e}}}),n.changeValue("buttonPosition",e)},n.changeValue=function(e,t){var r=n.props.settings[e],a=u({},n.state.settings,o({},e,u({},r,{value:t})));n.setState({settings:a})},n.upload=function(){return n.fileFrame?void n.fileFrame.open():(n.fileFrame=wp.media.frames.file_frame=wp.media({title:n.props.i18n.custom_button_frame_title,button:{text:n.props.i18n.custom_button_frame_button_text},multiple:!1}).on("select",function(){var e=n.fileFrame.state().get("selection").first().toJSON();n.changeValue("custom_image_url",e.url),n.changeValue("custom_image_width",e.width),n.changeValue("custom_image_height",e.height)}),void n.fileFrame.open())},n.renderCustomIconSettings=function(){var e=n.state.settings,t=n.props.i18n;return p["default"].createElement("div",null,p["default"].createElement("p",null,p["default"].createElement("button",{type:"button",className:"button button-default",onClick:n.upload},t.custom_button_upload)),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"custom_image_url"},e.custom_image_url.label),p["default"].createElement(f.TextEditor,{value:e.custom_image_url.value,args:e.custom_image_url,onChange:function(e){return n.changeValue("custom_image_url",e.target.value)}})),p["default"].createElement("div",{style:{display:"inline-block",width:"49%"}},p["default"].createElement("label",{htmlFor:"custom_image_height"},e.custom_image_height.label),p["default"].createElement(f.NumberEditor,{args:e.custom_image_height,value:e.custom_image_height.value,onChange:function(e){return n.changeValue("custom_image_height",e.target.value)}})),p["default"].createElement("div",{style:{display:"inline-block",width:"49%"}},p["default"].createElement("label",{htmlFor:"custom_image_width"},e.custom_image_width.label),p["default"].createElement(f.NumberEditor,{value:e.custom_image_width.value,args:e.custom_image_width,onChange:function(e){return n.changeValue("custom_image_width",e.target.value)}})),p["default"].createElement("br",null),p["default"].createElement(f.Description,{dangerouslySetInnerHTML:{__html:t.custom_button_desc}}))},n.state={settings:u({},e.settings),ui:{marginAvailability:{top:!0,bottom:!0,left:!0,right:!0}}},n.fileFrame=null,n}return s(t,e),c(t,[{key:"componentDidMount",value:function(){this.buttonPositionChanged(this.props.settings.button_position.value)}},{key:"render",value:function(){var e=this,t=this.props.i18n,n=this.state,r=n.ui.marginAvailability,o=n.settings;return p["default"].createElement("div",null,p["default"].createElement("h2",null,t.title),p["default"].createElement("table",{className:"form-table"},p["default"].createElement("tbody",null,p["default"].createElement("tr",null,p["default"].createElement("th",null,p["default"].createElement("label",{htmlFor:"show_button"},o.show_button.label)),p["default"].createElement("td",null,p["default"].createElement(f.SelectEditor,{args:o.show_button,onChange:function(t){return e.changeValue("show_button",t.target.value)}}),p["default"].createElement(f.Description,{text:o.show_button.desc}),this.renderShowButtonError())),p["default"].createElement("tr",null,p["default"].createElement("th",null,p["default"].createElement("label",null,o.description_option.label)),p["default"].createElement("td",null,p["default"].createElement(h["default"],{args:o.description_option}),p["default"].createElement(f.Description,{text:o.description_option.desc}))),p["default"].createElement(f.TableRow,{Editor:f.NumberEditor,setting:o.transparency_value,min:"0",max:"1",step:"0.01"}),p["default"].createElement("tr",null,p["default"].createElement("th",null,p["default"].createElement("label",null,o.pin_image.label)),p["default"].createElement("td",null,p["default"].createElement("table",{className:"jpibfi-inner-table"},p["default"].createElement("tbody",null,p["default"].createElement("tr",null,p["default"].createElement("th",null,t.mode),"old_default"!==o.pin_image.value&&p["default"].createElement("th",null,t.settings),p["default"].createElement("th",null,t.preview)),p["default"].createElement("tr",null,p["default"].createElement("td",null,Object.keys(o.pin_image.options).map(function(t){return p["default"].createElement("p",{key:t},p["default"].createElement("label",null,p["default"].createElement("input",{type:"radio",name:o.pin_image.key,value:t,checked:t===o.pin_image.value,onChange:function(t){return e.changeValue("pin_image",t.target.value)}}),o.pin_image.options[t]))})),p["default"].createElement("td",null,"default"===o.pin_image.value&&this.renderDefaultIconSettings(),"custom"===o.pin_image.value&&this.renderCustomIconSettings()),this.renderIconPreview()))))),p["default"].createElement(f.TableRow,{Editor:f.CheckboxEditor,setting:o.pin_linked_url}),this.renderScalePinImageSetting(),p["default"].createElement(f.TableRow,{Editor:f.SelectEditor,setting:o.button_position,onChange:function(t){return e.buttonPositionChanged(t.target.value)}}),p["default"].createElement("tr",null,p["default"].createElement("th",null,p["default"].createElement("label",null,t.margins_label)),p["default"].createElement("td",null,p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"button_margin_top"},o.button_margin_top.label),p["default"].createElement(f.LabeledNumberEditor,{disabled:!r.top,args:o.button_margin_top})),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"button_margin_bottom"},o.button_margin_bottom.label),p["default"].createElement(f.LabeledNumberEditor,{disabled:!r.bottom,args:o.button_margin_bottom})),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"button_margin_left"},o.button_margin_left.label),p["default"].createElement(f.LabeledNumberEditor,{disabled:!r.left,args:o.button_margin_left})),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"button_margin_right"},o.button_margin_right.label),p["default"].createElement(f.LabeledNumberEditor,{disabled:!r.right,args:o.button_margin_right})),p["default"].createElement(f.Description,{text:t.margins_desc}))))),p["default"].createElement("p",{dangerouslySetInnerHTML:{__html:t.attribution}}))}},{key:"renderDefaultIconSettings",value:function(){var e=this,t=this.state.settings,n=null;return"circle"!==t.pin_image_icon.value&&(n=this.renderProFeatureError()),p["default"].createElement("div",null,p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"pin_image_icon"},t.pin_image_icon.label),p["default"].createElement(f.SelectEditor,{args:t.pin_image_icon,onChange:function(t){return e.changeValue("pin_image_icon",t.target.value)}}),n),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"pin_image_size"},t.pin_image_size.label),p["default"].createElement(f.SelectEditor,{args:t.pin_image_size,onChange:function(t){return e.changeValue("pin_image_size",t.target.value)}})),p["default"].createElement("p",null,p["default"].createElement("label",{htmlFor:"pin_image_button"},t.pin_image_button.label),p["default"].createElement(f.SelectEditor,{args:t.pin_image_button,onChange:function(t){return e.changeValue("pin_image_button",t.target.value)}})))}},{key:"renderIconPreview",value:function(){var e=this.props.i18n,t=this.state.settings,n=t.pin_image.value,r=t.pin_image_size.value,o=this.state.settings.custom_image_url.value;return p["default"].createElement("td",null,"old_default"===n&&p["default"].createElement("div",null,p["default"].createElement("a",{className:"pinit-button old_default"},p["default"].createElement("span",null))),"default"===n&&p["default"].createElement("div",null,p["default"].createElement("a",{className:"pinit-button default jpibfi-size-"+r+" jpibfi-button-"+t.pin_image_button.value},p["default"].createElement("span",{className:"jpibfi-icon-"+t.pin_image_icon.value}))),"custom"===n&&o&&p["default"].createElement("div",null,p["default"].createElement("div",{style:{width:t.custom_image_width.value+"px",height:t.custom_image_height.value+"px",backgroundImage:"url('"+o+"')"}})),"custom"===n&&!o&&p["default"].createElement("div",{dangerouslySetInnerHTML:{__html:e.custom_button_no_image_to_preview}}))}},{key:"renderProFeatureError",value:function(){return p["default"].createElement("p",null,p["default"].createElement("b",{dangerouslySetInnerHTML:{__html:this.props.i18n.pro_feature_error}}))}},{key:"renderShowButtonError",value:function(){return"hover"!==this.state.settings.show_button.value?this.renderProFeatureError():null}},{key:"renderScalePinImageSetting",value:function(){var e=this,t=this.state.settings.scale_pin_image,n=null;return t.value===!0&&(n=this.renderProFeatureError()),p["default"].createElement("tr",null,p["default"].createElement("th",null,p["default"].createElement("label",{htmlFor:t.key},t.label)),p["default"].createElement("td",null,p["default"].createElement(f.CheckboxEditor,{args:t,onChange:function(t){return e.changeValue("scale_pin_image",t.target.checked)}}),p["default"].createElement(f.Description,{text:t.desc}),n))}}]),t}(l.Component);n["default"]=v},{"./SortableEditor":6,"./helpers":8,react:353}],8:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var n={};for(var r in e)t.indexOf(r)>=0||Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function a(e){var t=e.text;return g["default"].createElement("p",{className:"description",dangerouslySetInnerHTML:{__html:t}})}function i(e){var t=e.Editor,n=e.setting,r=o(e,["Editor","setting"]);return g["default"].createElement("tr",null,g["default"].createElement("th",null,g["default"].createElement("label",{htmlFor:n.key},n.label)),g["default"].createElement("td",null,g["default"].createElement(t,h({args:n},r)),g["default"].createElement(a,{text:n.desc})))}function s(e){var t=e.template,n=e.items,r=t.split(" ").reduce(function(e,t){if(n.every(function(e){return e.tag!==t}))return e.concat([t+" "]);var r=n.filter(function(e){return e.tag===t})[0];return e.concat([r.editor," "])},[]).reduce(function(e,t){return 0===e.length?[t]:"string"==typeof t&&"string"==typeof e[e.length-1]?e.slice(0,e.length-1).concat([e[e.length-1]+t]):e.concat(t)},[]);return g["default"].createElement("p",[],r)}function u(e){var t=e.args,n=e.className,r=void 0===n?"regular-text":n,a=o(e,["args","className"]);return a.hasOwnProperty("value")||(a.defaultValue=t.value),g["default"].createElement("input",h({type:"text",className:r},a,{placeholder:t.placeholder||"",name:t.key,id:t.key}))}function c(e){var t=e.args,n=o(e,["args"]);return g["default"].createElement("textarea",h({rows:"3",cols:"50",className:"large-text code",defaultValue:t.value},n,{id:t.key,name:t.key}))}function l(e){var t=e.args,n=o(e,["args"]);return n.hasOwnProperty("value")||(n.defaultValue=t.value),g["default"].createElement("input",h({type:"number",className:"small-text"},n,{id:t.key,name:t.key}))}function p(e){var t=e.args,n=o(e,["args"]);return g["default"].createElement("label",{htmlFor:t.key},t.text,g["default"].createElement(l,h({args:t},n)),t.unit)}function f(e){var t=e.args,n=o(e,["args"]);return g["default"].createElement("select",h({name:t.key,id:t.key},n,{defaultValue:t.value}),Object.keys(t.options).map(function(e){return g["default"].createElement("option",{key:e,value:e},t.options[e])}))}function d(e){var t=e.args,n=o(e,["args"]);return g["default"].createElement("span",null,g["default"].createElement("input",h({type:"checkbox",name:t.key,id:t.key,defaultChecked:t.value},n)),g["default"].createElement("label",{htmlFor:t.key},t.text),t.tooltip&&g["default"].createElement("span",{tooltips:!0,"tooltip-template":t.tooltip,className:"dashicons dashicons-editor-help"}),t.addBr&&g["default"].createElement("br",null))}Object.defineProperty(n,"__esModule",{value:!0});var h=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n.Description=a,n.TableRow=i,n.Templated=s,n.TextEditor=u,n.TextareaEditor=c,n.NumberEditor=l,n.LabeledNumberEditor=p,n.SelectEditor=f,n.CheckboxEditor=d;var v=e("react"),g=r(v)},{react:353}],9:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}var o=e("react"),a=r(o),i=e("react-dom"),s=e("./app/App"),u=r(s);jQuery(document).ready(function(){(0,i.render)(a["default"].createElement(u["default"],null),document.getElementById("jpibfi-container"))})},{"./app/App":1,react:353,"react-dom":201}],10:[function(e,t,n){"use strict";function r(){if(u.length)throw u.shift()}function o(e){var t;t=s.length?s.pop():new a,t.task=e,i(t)}function a(){this.task=null}var i=e("./raw"),s=[],u=[],c=i.makeRequestCallFromTimer(r);t.exports=o,a.prototype.call=function(){try{this.task.call()}catch(e){o.onerror?o.onerror(e):(u.push(e),c())}finally{this.task=null,s[s.length]=this}}},{"./raw":11}],11:[function(e,t,n){(function(e){
|
2 |
-
"use strict";function n(e){s.length||(i(),u=!0),s[s.length]=e}function r(){for(;c<s.length;){var e=c;if(c+=1,s[e].call(),c>l){for(var t=0,n=s.length-c;t<n;t++)s[t]=s[t+c];s.length-=c,c=0}}s.length=0,c=0,u=!1}function o(e){var t=1,n=new f(e),r=document.createTextNode("");return n.observe(r,{characterData:!0}),function(){t=-t,r.data=t}}function a(e){return function(){function t(){clearTimeout(n),clearInterval(r),e()}var n=setTimeout(t,0),r=setInterval(t,50)}}t.exports=n;var i,s=[],u=!1,c=0,l=1024,p="undefined"!=typeof e?e:self,f=p.MutationObserver||p.WebKitMutationObserver;i="function"==typeof f?o(r):a(r),n.requestFlush=i,n.makeRequestCallFromTimer=a}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(e,t,n){(function(n){"use strict";function r(e){return e}function o(e,t,n){function o(e,t){var n=y.hasOwnProperty(t)?y[t]:null;w.hasOwnProperty(t)&&u("OVERRIDE_BASE"===n,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",t),e&&u("DEFINE_MANY"===n||"DEFINE_MANY_MERGED"===n,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",t)}function a(e,n){if(n){u("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),u(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,a=r.__reactAutoBindPairs;n.hasOwnProperty(c)&&_.mixins(e,n.mixins);for(var i in n)if(n.hasOwnProperty(i)&&i!==c){var s=n[i],l=r.hasOwnProperty(i);if(o(l,i),_.hasOwnProperty(i))_[i](e,s);else{var p=y.hasOwnProperty(i),h="function"==typeof s,v=h&&!p&&!l&&n.autobind!==!1;if(v)a.push(i,s),r[i]=s;else if(l){var g=y[i];u(p&&("DEFINE_MANY_MERGED"===g||"DEFINE_MANY"===g),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",g,i),"DEFINE_MANY_MERGED"===g?r[i]=f(r[i],s):"DEFINE_MANY"===g&&(r[i]=d(r[i],s))}else r[i]=s}}}else;}function l(e,t){if(t)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in _;u(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n);var a=n in e;if(a){var i=b.hasOwnProperty(n)?b[n]:null;return u("DEFINE_MANY_MERGED"===i,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),void(e[n]=f(e[n],r))}e[n]=r}}}function p(e,t){u(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");for(var n in t)t.hasOwnProperty(n)&&(u(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function f(e,t){return function(){var n=e.apply(this,arguments),r=t.apply(this,arguments);if(null==n)return r;if(null==r)return n;var o={};return p(o,n),p(o,r),o}}function d(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function h(e,t){var n=t.bind(e);return n}function v(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=h(e,o)}}function g(e){var t=r(function(e,r,o){this.__reactAutoBindPairs.length&&v(this),this.props=e,this.context=r,this.refs=s,this.updater=o||n,this.state=null;var a=this.getInitialState?this.getInitialState():null;u("object"==typeof a&&!Array.isArray(a),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=a});t.prototype=new O,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],m.forEach(a.bind(null,t)),a(t,E),a(t,e),a(t,C),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),u(t.prototype.render,"createClass(...): Class specification must implement a `render` method.");for(var o in y)t.prototype[o]||(t.prototype[o]=null);return t}var m=[],y={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},b={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},_={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)a(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=i({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=i({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=f(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=i({},e.propTypes,t)},statics:function(e,t){l(e,t)},autobind:function(){}},E={componentDidMount:function(){this.__isMounted=!0}},C={componentWillUnmount:function(){this.__isMounted=!1}},w={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},O=function(){};return i(O.prototype,e.prototype,w),g}var a,i=e("object-assign"),s=e("fbjs/lib/emptyObject"),u=e("fbjs/lib/invariant"),c="mixins";a={},t.exports=o}).call(this,e("_process"))},{_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161}],13:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var a=e("./isDisposable"),i=r(a),s=function(){function e(){for(var t=arguments.length,n=Array(t),r=0;r<t;r++)n[r]=arguments[r];o(this,e),Array.isArray(n[0])&&1===n.length&&(n=n[0]);for(var a=0;a<n.length;a++)if(!i["default"](n[a]))throw new Error("Expected a disposable");this.disposables=n,this.isDisposed=!1}return e.prototype.add=function(e){this.isDisposed?e.dispose():this.disposables.push(e)},e.prototype.remove=function(e){if(this.isDisposed)return!1;var t=this.disposables.indexOf(e);return t!==-1&&(this.disposables.splice(t,1),e.dispose(),!0)},e.prototype.dispose=function(){if(!this.isDisposed){for(var e=this.disposables.length,t=new Array(e),n=0;n<e;n++)t[n]=this.disposables[n];this.isDisposed=!0,this.disposables=[],this.length=0;for(var n=0;n<e;n++)t[n].dispose()}},e}();n["default"]=s,t.exports=n["default"]},{"./isDisposable":17}],14:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){},i=function(){function e(t){r(this,e),this.isDisposed=!1,this.action=t||a}return o(e,null,[{key:"empty",value:{dispose:a},enumerable:!0}]),e.prototype.dispose=function(){this.isDisposed||(this.action.call(null),this.isDisposed=!0)},e}();n["default"]=i,t.exports=n["default"]},{}],15:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}n.__esModule=!0;var a=e("./isDisposable"),i=r(a),s=function(){function e(){o(this,e),this.isDisposed=!1,this.current=null}return e.prototype.getDisposable=function(){return this.current},e.prototype.setDisposable=function(){var e=arguments.length<=0||void 0===arguments[0]?null:arguments[0];if(null!=e&&!i["default"](e))throw new Error("Expected either an empty value or a valid disposable");var t=this.isDisposed,n=void 0;t||(n=this.current,this.current=e),n&&n.dispose(),t&&e&&e.dispose()},e.prototype.dispose=function(){if(!this.isDisposed){this.isDisposed=!0;var e=this.current;this.current=null,e&&e.dispose()}},e}();n["default"]=s,t.exports=n["default"]},{"./isDisposable":17}],16:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}n.__esModule=!0;var o=e("./isDisposable"),a=r(o);n.isDisposable=a["default"];var i=e("./Disposable"),s=r(i);n.Disposable=s["default"];var u=e("./CompositeDisposable"),c=r(u);n.CompositeDisposable=c["default"];var l=e("./SerialDisposable"),p=r(l);n.SerialDisposable=p["default"]},{"./CompositeDisposable":13,"./Disposable":14,"./SerialDisposable":15,"./isDisposable":17}],17:[function(e,t,n){"use strict";function r(e){return Boolean(e&&"function"==typeof e.dispose)}n.__esModule=!0,n["default"]=r,t.exports=n["default"]},{}],18:[function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=e("redux/lib/createStore"),u=o(s),c=e("./reducers"),l=o(c),p=e("./actions/dragDrop"),f=r(p),d=e("./DragDropMonitor"),h=o(d),v=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};a(this,e);var r=(0,u["default"])(l["default"]);this.context=n,this.store=r,this.monitor=new h["default"](r),this.registry=this.monitor.registry,this.backend=t(this),r.subscribe(this.handleRefCountChange.bind(this))}return i(e,[{key:"handleRefCountChange",value:function(){var e=this.store.getState().refCount>0;e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)}},{key:"getContext",value:function(){return this.context}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.registry}},{key:"getActions",value:function(){function e(e){return function(){for(var r=arguments.length,o=Array(r),a=0;a<r;a++)o[a]=arguments[a];var i=e.apply(t,o);"undefined"!=typeof i&&n(i)}}var t=this,n=this.store.dispatch;return Object.keys(f).filter(function(e){return"function"==typeof f[e]}).reduce(function(t,n){var r=f[n];return t[n]=e(r),t},{})}}]),e}();n["default"]=v},{"./DragDropMonitor":19,"./actions/dragDrop":23,"./reducers":30,"redux/lib/createStore":354}],19:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("invariant"),s=r(i),u=e("lodash/isArray"),c=r(u),l=e("./utils/matchesType"),p=r(l),f=e("./HandlerRegistry"),d=r(f),h=e("./reducers/dragOffset"),v=e("./reducers/dirtyHandlerIds"),g=function(){function e(t){o(this,e),this.store=t,this.registry=new d["default"](t)}return a(e,[{key:"subscribeToStateChange",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=n.handlerIds;(0,s["default"])("function"==typeof e,"listener must be a function."),(0,s["default"])("undefined"==typeof r||(0,c["default"])(r),"handlerIds, when specified, must be an array of strings.");var o=this.store.getState().stateId,a=function(){var n=t.store.getState(),a=n.stateId;try{var i=a===o||a===o+1&&!(0,v.areDirty)(n.dirtyHandlerIds,r);i||e()}finally{o=a}};return this.store.subscribe(a)}},{key:"subscribeToOffsetChange",value:function(e){var t=this;(0,s["default"])("function"==typeof e,"listener must be a function.");var n=this.store.getState().dragOffset,r=function(){var r=t.store.getState().dragOffset;r!==n&&(n=r,e())};return this.store.subscribe(r)}},{key:"canDragSource",value:function(e){var t=this.registry.getSource(e);return(0,s["default"])(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){var t=this.registry.getTarget(e);if((0,s["default"])(t,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var n=this.registry.getTargetType(e),r=this.getItemType();return(0,p["default"])(n,r)&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){var t=this.registry.getSource(e,!0);if((0,s["default"])(t,"Expected to find a valid source."),!this.isDragging()||!this.isSourcePublic())return!1;var n=this.registry.getSourceType(e),r=this.getItemType();return n===r&&t.isDragging(this,e)}},{key:"isOverTarget",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{shallow:!1},n=t.shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),o=this.getItemType();if(!(0,p["default"])(r,o))return!1;var a=this.getTargetIds();if(!a.length)return!1;var i=a.indexOf(e);return n?i===a.length-1:i>-1}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return this.store.getState().dragOperation.isSourcePublic}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return(0,h.getSourceClientOffset)(this.store.getState().dragOffset)}},{key:"getDifferenceFromInitialOffset",value:function(){return(0,h.getDifferenceFromInitialOffset)(this.store.getState().dragOffset)}}]),e}();n["default"]=g},{"./HandlerRegistry":22,"./reducers/dirtyHandlerIds":27,"./reducers/dragOffset":28,"./utils/matchesType":34,invariant:59,"lodash/isArray":144}],20:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(){r(this,e)}return o(e,[{key:"canDrag",value:function(){return!0}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}]),e}();n["default"]=a},{}],21:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(){r(this,e)}return o(e,[{key:"canDrop",value:function(){return!0}},{key:"hover",value:function(){}},{key:"drop",value:function(){}}]),e}();n["default"]=a},{}],22:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){(0,d["default"])("function"==typeof e.canDrag,"Expected canDrag to be a function."),(0,d["default"])("function"==typeof e.beginDrag,"Expected beginDrag to be a function."),(0,d["default"])("function"==typeof e.endDrag,"Expected endDrag to be a function.")}function i(e){(0,d["default"])("function"==typeof e.canDrop,"Expected canDrop to be a function."),(0,d["default"])("function"==typeof e.hover,"Expected hover to be a function."),(0,d["default"])("function"==typeof e.drop,"Expected beginDrag to be a function.")}function s(e,t){return t&&(0,v["default"])(e)?void e.forEach(function(e){return s(e,!1)}):void(0,d["default"])("string"==typeof e||"symbol"===("undefined"==typeof e?"undefined":p(e)),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}function u(e){var t=(0,_["default"])().toString();switch(e){case E.SOURCE:return"S"+t;case E.TARGET:return"T"+t;default:(0,d["default"])(!1,"Unknown role: "+e)}}function c(e){switch(e[0]){case"S":return E.SOURCE;case"T":return E.TARGET;default:(0,d["default"])(!1,"Cannot parse handler ID: "+e)}}Object.defineProperty(n,"__esModule",{value:!0});var l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),p="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f=e("invariant"),d=r(f),h=e("lodash/isArray"),v=r(h),g=e("asap"),m=r(g),y=e("./actions/registry"),b=e("./utils/getNextUniqueId"),_=r(b),E={SOURCE:"SOURCE",TARGET:"TARGET"},C=function(){function e(t){o(this,e),this.store=t,this.types={},this.handlers={},this.pinnedSourceId=null,this.pinnedSource=null}return l(e,[{key:"addSource",value:function(e,t){s(e),a(t);var n=this.addHandler(E.SOURCE,e,t);return this.store.dispatch((0,y.addSource)(n)),n}},{key:"addTarget",value:function(e,t){s(e,!0),i(t);var n=this.addHandler(E.TARGET,e,t);return this.store.dispatch((0,y.addTarget)(n)),n}},{key:"addHandler",value:function(e,t,n){var r=u(e);return this.types[r]=t,this.handlers[r]=n,r}},{key:"containsHandler",value:function(e){var t=this;return Object.keys(this.handlers).some(function(n){return t.handlers[n]===e})}},{key:"getSource",value:function(e,t){(0,d["default"])(this.isSourceId(e),"Expected a valid source ID.");var n=t&&e===this.pinnedSourceId,r=n?this.pinnedSource:this.handlers[e];return r}},{key:"getTarget",value:function(e){return(0,d["default"])(this.isTargetId(e),"Expected a valid target ID."),this.handlers[e]}},{key:"getSourceType",value:function(e){return(0,d["default"])(this.isSourceId(e),"Expected a valid source ID."),this.types[e]}},{key:"getTargetType",value:function(e){return(0,d["default"])(this.isTargetId(e),"Expected a valid target ID."),this.types[e]}},{key:"isSourceId",value:function(e){var t=c(e);return t===E.SOURCE}},{key:"isTargetId",value:function(e){var t=c(e);return t===E.TARGET}},{key:"removeSource",value:function(e){var t=this;(0,d["default"])(this.getSource(e),"Expected an existing source."),this.store.dispatch((0,y.removeSource)(e)),(0,m["default"])(function(){delete t.handlers[e],delete t.types[e]})}},{key:"removeTarget",value:function(e){var t=this;(0,d["default"])(this.getTarget(e),"Expected an existing target."),this.store.dispatch((0,y.removeTarget)(e)),(0,m["default"])(function(){delete t.handlers[e],delete t.types[e]})}},{key:"pinSource",value:function(e){var t=this.getSource(e);(0,d["default"])(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){(0,d["default"])(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}}]),e}();n["default"]=C},{"./actions/registry":24,"./utils/getNextUniqueId":33,asap:10,invariant:59,"lodash/isArray":144}],23:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{publishSource:!0,clientOffset:null},n=t.publishSource,r=t.clientOffset,o=t.getSourceClientOffset;(0,p["default"])((0,d["default"])(e),"Expected sourceIds to be an array.");var a=this.getMonitor(),i=this.getRegistry();(0,p["default"])(!a.isDragging(),"Cannot call beginDrag while dragging.");for(var s=0;s<e.length;s++)(0,p["default"])(i.getSource(e[s]),"Expected sourceIds to be registered.");for(var u=null,c=e.length-1;c>=0;c--)if(a.canDragSource(e[c])){u=e[c];break}if(null!==u){var l=null;r&&((0,p["default"])("function"==typeof o,"When clientOffset is provided, getSourceClientOffset must be a function."),l=o(u));var f=i.getSource(u),h=f.beginDrag(a,u);(0,p["default"])((0,v["default"])(h),"Item must be an object."),i.pinSource(u);var g=i.getSourceType(u);return{type:y,itemType:g,item:h,sourceId:u,clientOffset:r,sourceClientOffset:l,isSourcePublic:n}}}function a(){var e=this.getMonitor();if(e.isDragging())return{type:b}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.clientOffset,r=void 0===n?null:n;(0,p["default"])((0,d["default"])(e),"Expected targetIds to be an array.");var o=e.slice(0),a=this.getMonitor(),i=this.getRegistry();(0,p["default"])(a.isDragging(),"Cannot call hover while not dragging."),(0,p["default"])(!a.didDrop(),"Cannot call hover after drop.");for(var s=0;s<o.length;s++){var u=o[s];(0,p["default"])(o.lastIndexOf(u)===s,"Expected targetIds to be unique in the passed array.");var c=i.getTarget(u);(0,p["default"])(c,"Expected targetIds to be registered.")}for(var l=a.getItemType(),f=o.length-1;f>=0;f--){var h=o[f],v=i.getTargetType(h);(0,m["default"])(v,l)||o.splice(f,1)}for(var g=0;g<o.length;g++){var y=o[g],b=i.getTarget(y);b.hover(a,y)}return{type:_,targetIds:o,clientOffset:r}}function s(){var e=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=this.getMonitor(),r=this.getRegistry();(0,p["default"])(n.isDragging(),"Cannot call drop while not dragging."),(0,p["default"])(!n.didDrop(),"Cannot call drop twice during one drag operation.");var o=n.getTargetIds().filter(n.canDropOnTarget,n);o.reverse(),o.forEach(function(o,a){var i=r.getTarget(o),s=i.drop(n,o);(0,p["default"])("undefined"==typeof s||(0,v["default"])(s),"Drop result must either be an object or undefined."),"undefined"==typeof s&&(s=0===a?{}:n.getDropResult()),e.store.dispatch({type:E,dropResult:c({},t,s)})})}function u(){var e=this.getMonitor(),t=this.getRegistry();(0,p["default"])(e.isDragging(),"Cannot call endDrag while not dragging.");var n=e.getSourceId(),r=t.getSource(n,!0);return r.endDrag(e,n),t.unpinSource(),{type:C}}Object.defineProperty(n,"__esModule",{value:!0}),n.END_DRAG=n.DROP=n.HOVER=n.PUBLISH_DRAG_SOURCE=n.BEGIN_DRAG=void 0;var c=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n.beginDrag=o,n.publishDragSource=a,n.hover=i,n.drop=s,n.endDrag=u;var l=e("invariant"),p=r(l),f=e("lodash/isArray"),d=r(f),h=e("lodash/isObject"),v=r(h),g=e("../utils/matchesType"),m=r(g),y=n.BEGIN_DRAG="dnd-core/BEGIN_DRAG",b=n.PUBLISH_DRAG_SOURCE="dnd-core/PUBLISH_DRAG_SOURCE",_=n.HOVER="dnd-core/HOVER",E=n.DROP="dnd-core/DROP",C=n.END_DRAG="dnd-core/END_DRAG"},{"../utils/matchesType":34,invariant:59,"lodash/isArray":144,"lodash/isObject":150}],24:[function(e,t,n){"use strict";function r(e){return{type:s,sourceId:e}}function o(e){return{type:u,targetId:e}}function a(e){return{type:c,sourceId:e}}function i(e){return{type:l,targetId:e}}Object.defineProperty(n,"__esModule",{value:!0}),n.addSource=r,n.addTarget=o,n.removeSource=a,n.removeTarget=i;var s=n.ADD_SOURCE="dnd-core/ADD_SOURCE",u=n.ADD_TARGET="dnd-core/ADD_TARGET",c=n.REMOVE_SOURCE="dnd-core/REMOVE_SOURCE",l=n.REMOVE_TARGET="dnd-core/REMOVE_TARGET"},{}],25:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){return new c(e)}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=a;var s=e("lodash/noop"),u=r(s),c=function(){function e(t){o(this,e),this.actions=t.getActions()}return i(e,[{key:"setup",value:function(){this.didCallSetup=!0}},{key:"teardown",value:function(){this.didCallTeardown=!0}},{key:"connectDragSource",value:function(){return u["default"]}},{key:"connectDragPreview",value:function(){return u["default"]}},{key:"connectDropTarget",value:function(){return u["default"]}},{key:"simulateBeginDrag",value:function(e,t){this.actions.beginDrag(e,t)}},{key:"simulatePublishDragSource",value:function(){this.actions.publishDragSource()}},{key:"simulateHover",value:function(e,t){this.actions.hover(e,t)}},{key:"simulateDrop",value:function(){this.actions.drop()}},{key:"simulateEndDrag",value:function(){this.actions.endDrag()}}]),e}()},{"lodash/noop":156}],26:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var o=e("./DragDropManager");Object.defineProperty(n,"DragDropManager",{enumerable:!0,get:function(){return r(o)["default"]}});var a=e("./DragSource");Object.defineProperty(n,"DragSource",{enumerable:!0,get:function(){return r(a)["default"]}});var i=e("./DropTarget");Object.defineProperty(n,"DropTarget",{enumerable:!0,get:function(){return r(i)["default"]}});var s=e("./backends/createTestBackend");Object.defineProperty(n,"createTestBackend",{enumerable:!0,get:function(){return r(s)["default"]}})},{"./DragDropManager":18,"./DragSource":20,"./DropTarget":21,"./backends/createTestBackend":25}],27:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:f,arguments[1]),t=arguments[2];switch(e.type){case l.HOVER:break;case p.ADD_SOURCE:case p.ADD_TARGET:case p.REMOVE_TARGET:case p.REMOVE_SOURCE:return f;case l.BEGIN_DRAG:case l.PUBLISH_DRAG_SOURCE:case l.END_DRAG:case l.DROP:default:return d}var n=e.targetIds,r=t.targetIds,o=(0,s["default"])(n,r),a=!1;if(0===o.length){for(var i=0;i<n.length;i++)if(n[i]!==r[i]){a=!0;break}}else a=!0;if(!a)return f;var u=r[r.length-1],c=n[n.length-1];return u!==c&&(u&&o.push(u),c&&o.push(c)),o}function a(e,t){return e!==f&&(e===d||"undefined"==typeof t||(0,c["default"])(t,e).length>0)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o,n.areDirty=a;var i=e("lodash/xor"),s=r(i),u=e("lodash/intersection"),c=r(u),l=e("../actions/dragDrop"),p=e("../actions/registry"),f=[],d=[]},{"../actions/dragDrop":23,"../actions/registry":24,"lodash/intersection":142,"lodash/xor":160}],28:[function(e,t,n){"use strict";function r(e,t){return e===t||e&&t&&e.x===t.x&&e.y===t.y}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:c,t=arguments[1];switch(t.type){case u.BEGIN_DRAG:return{initialSourceClientOffset:t.sourceClientOffset,initialClientOffset:t.clientOffset,clientOffset:t.clientOffset};case u.HOVER:return r(e.clientOffset,t.clientOffset)?e:s({},e,{clientOffset:t.clientOffset});case u.END_DRAG:case u.DROP:return c;default:return e}}function a(e){var t=e.clientOffset,n=e.initialClientOffset,r=e.initialSourceClientOffset;return t&&n&&r?{x:t.x+r.x-n.x,y:t.y+r.y-n.y}:null}function i(e){var t=e.clientOffset,n=e.initialClientOffset;return t&&n?{x:t.x-n.x,y:t.y-n.y}:null}Object.defineProperty(n,"__esModule",{value:!0});var s=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n["default"]=o,n.getSourceClientOffset=a,n.getDifferenceFromInitialOffset=i;var u=e("../actions/dragDrop"),c={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null}},{"../actions/dragDrop":23}],29:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:l,t=arguments[1];switch(t.type){case u.BEGIN_DRAG:return a({},e,{itemType:t.itemType,item:t.item,sourceId:t.sourceId,isSourcePublic:t.isSourcePublic,dropResult:null,didDrop:!1});case u.PUBLISH_DRAG_SOURCE:return a({},e,{isSourcePublic:!0});case u.HOVER:return a({},e,{targetIds:t.targetIds});case c.REMOVE_TARGET:return e.targetIds.indexOf(t.targetId)===-1?e:a({},e,{targetIds:(0,s["default"])(e.targetIds,t.targetId)});case u.DROP:return a({},e,{dropResult:t.dropResult,didDrop:!0,targetIds:[]});case u.END_DRAG:return a({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}}Object.defineProperty(n,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e};n["default"]=o;var i=e("lodash/without"),s=r(i),u=e("../actions/dragDrop"),c=e("../actions/registry"),l={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null}},{"../actions/dragDrop":23,"../actions/registry":24,"lodash/without":159}],30:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return{dirtyHandlerIds:(0,f["default"])(e.dirtyHandlerIds,t,e.dragOperation),dragOffset:(0,i["default"])(e.dragOffset,t),refCount:(0,l["default"])(e.refCount,t),dragOperation:(0,u["default"])(e.dragOperation,t),stateId:(0,h["default"])(e.stateId)}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("./dragOffset"),i=r(a),s=e("./dragOperation"),u=r(s),c=e("./refCount"),l=r(c),p=e("./dirtyHandlerIds"),f=r(p),d=e("./stateId"),h=r(d)},{"./dirtyHandlerIds":27,"./dragOffset":28,"./dragOperation":29,"./refCount":31,"./stateId":32}],31:[function(e,t,n){"use strict";function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments[1];switch(t.type){case o.ADD_SOURCE:case o.ADD_TARGET:return e+1;case o.REMOVE_SOURCE:case o.REMOVE_TARGET:return e-1;default:return e}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var o=e("../actions/registry")},{"../actions/registry":24}],32:[function(e,t,n){"use strict";function r(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return e+1}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r},{}],33:[function(e,t,n){"use strict";function r(){return o++}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var o=0},{}],34:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return(0,i["default"])(e)?e.some(function(e){return e===t}):e===t}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("lodash/isArray"),i=r(a)},{"lodash/isArray":144}],35:[function(e,t,n){(function(n){"use strict";var r=e("./emptyFunction"),o={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),
|
3 |
-
{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};t.exports=o}).call(this,e("_process"))},{"./emptyFunction":42,_process:162}],36:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),o={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=o},{}],37:[function(e,t,n){"use strict";function r(e){return e.replace(o,function(e,t){return t.toUpperCase()})}var o=/-(.)/g;t.exports=r},{}],38:[function(e,t,n){"use strict";function r(e){return o(e.replace(a,"ms-"))}var o=e("./camelize"),a=/^-ms-/;t.exports=r},{"./camelize":37}],39:[function(e,t,n){"use strict";function r(e,t){return!(!e||!t)&&(e===t||!o(e)&&(o(t)?r(e,t.parentNode):"contains"in e?e.contains(t):!!e.compareDocumentPosition&&!!(16&e.compareDocumentPosition(t))))}var o=e("./isTextNode");t.exports=r},{"./isTextNode":52}],40:[function(e,t,n){(function(n){"use strict";function r(e){var t=e.length;if(Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e?i(!1):void 0,"number"!=typeof t?i(!1):void 0,0===t||t-1 in e?void 0:i(!1),"function"==typeof e.callee?i(!1):void 0,e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(n){}for(var r=Array(t),o=0;o<t;o++)r[o]=e[o];return r}function o(e){return!!e&&("object"==typeof e||"function"==typeof e)&&"length"in e&&!("setInterval"in e)&&"number"!=typeof e.nodeType&&(Array.isArray(e)||"callee"in e||"item"in e)}function a(e){return o(e)?Array.isArray(e)?e.slice():r(e):[e]}var i=e("./invariant");t.exports=a}).call(this,e("_process"))},{"./invariant":50,_process:162}],41:[function(e,t,n){(function(n){"use strict";function r(e){var t=e.match(l);return t&&t[1].toLowerCase()}function o(e,t){var n=c;c?void 0:u(!1);var o=r(e),a=o&&s(o);if(a){n.innerHTML=a[1]+e+a[2];for(var l=a[0];l--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t?void 0:u(!1),i(p).forEach(t));for(var f=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return f}var a=e("./ExecutionEnvironment"),i=e("./createArrayFromMixed"),s=e("./getMarkupWrap"),u=e("./invariant"),c=a.canUseDOM?document.createElement("div"):null,l=/^\s*<(\w+)/;t.exports=o}).call(this,e("_process"))},{"./ExecutionEnvironment":36,"./createArrayFromMixed":40,"./getMarkupWrap":46,"./invariant":50,_process:162}],42:[function(e,t,n){"use strict";function r(e){return function(){return e}}var o=function(){};o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],43:[function(e,t,n){(function(e){"use strict";var n={};t.exports=n}).call(this,e("_process"))},{_process:162}],44:[function(e,t,n){"use strict";function r(e){try{e.focus()}catch(t){}}t.exports=r},{}],45:[function(e,t,n){"use strict";function r(e){if(e=e||("undefined"!=typeof document?document:void 0),"undefined"==typeof e)return null;try{return e.activeElement||e.body}catch(t){return e.body}}t.exports=r},{}],46:[function(e,t,n){(function(n){"use strict";function r(e){return i?void 0:a(!1),f.hasOwnProperty(e)||(e="*"),s.hasOwnProperty(e)||("*"===e?i.innerHTML="<link />":i.innerHTML="<"+e+"></"+e+">",s[e]=!i.firstChild),s[e]?f[e]:null}var o=e("./ExecutionEnvironment"),a=e("./invariant"),i=o.canUseDOM?document.createElement("div"):null,s={},u=[1,'<select multiple="true">',"</select>"],c=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],p=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],f={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:u,option:u,caption:c,colgroup:c,tbody:c,tfoot:c,thead:c,td:l,th:l},d=["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"];d.forEach(function(e){f[e]=p,s[e]=!0}),t.exports=r}).call(this,e("_process"))},{"./ExecutionEnvironment":36,"./invariant":50,_process:162}],47:[function(e,t,n){"use strict";function r(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}t.exports=r},{}],48:[function(e,t,n){"use strict";function r(e){return e.replace(o,"-$1").toLowerCase()}var o=/([A-Z])/g;t.exports=r},{}],49:[function(e,t,n){"use strict";function r(e){return o(e).replace(a,"-ms-")}var o=e("./hyphenate"),a=/^ms-/;t.exports=r},{"./hyphenate":48}],50:[function(e,t,n){(function(e){"use strict";function n(e,t,n,o,a,i,s,u){if(r(t),!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[n,o,a,i,s,u],p=0;c=new Error(t.replace(/%s/g,function(){return l[p++]})),c.name="Invariant Violation"}throw c.framesToPop=1,c}}var r=function(e){};t.exports=n}).call(this,e("_process"))},{_process:162}],51:[function(e,t,n){"use strict";function r(e){var t=e?e.ownerDocument||e:document,n=t.defaultView||window;return!(!e||!("function"==typeof n.Node?e instanceof n.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}t.exports=r},{}],52:[function(e,t,n){"use strict";function r(e){return o(e)&&3==e.nodeType}var o=e("./isNode");t.exports=r},{"./isNode":51}],53:[function(e,t,n){"use strict";function r(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}t.exports=r},{}],54:[function(e,t,n){"use strict";var r,o=e("./ExecutionEnvironment");o.canUseDOM&&(r=window.performance||window.msPerformance||window.webkitPerformance),t.exports=r||{}},{"./ExecutionEnvironment":36}],55:[function(e,t,n){"use strict";var r,o=e("./performance");r=o.now?function(){return o.now()}:function(){return Date.now()},t.exports=r},{"./performance":54}],56:[function(e,t,n){"use strict";function r(e,t){return e===t?0!==e||0!==t||1/e===1/t:e!==e&&t!==t}function o(e,t){if(r(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),o=Object.keys(t);if(n.length!==o.length)return!1;for(var i=0;i<n.length;i++)if(!a.call(t,n[i])||!r(e[n[i]],t[n[i]]))return!1;return!0}var a=Object.prototype.hasOwnProperty;t.exports=o},{}],57:[function(e,t,n){(function(n){"use strict";var r=e("./emptyFunction"),o=r;t.exports=o}).call(this,e("_process"))},{"./emptyFunction":42,_process:162}],58:[function(e,t,n){"use strict";function r(e,t,n){if("string"!=typeof t){if(p){var f=l(t);f&&f!==p&&r(e,f,n)}var d=s(t);u&&(d=d.concat(u(t)));for(var h=0;h<d.length;++h){var v=d[h];if(!(o[v]||a[v]||n&&n[v])){var g=c(t,v);try{i(e,v,g)}catch(m){}}}return e}return e}var o={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i=Object.defineProperty,s=Object.getOwnPropertyNames,u=Object.getOwnPropertySymbols,c=Object.getOwnPropertyDescriptor,l=Object.getPrototypeOf,p=l&&l(Object);t.exports=r},{}],59:[function(e,t,n){(function(e){"use strict";var n=function(e,t,n,r,o,a,i,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,r,o,a,i,s],l=0;u=new Error(t.replace(/%s/g,function(){return c[l++]})),u.name="Invariant Violation"}throw u.framesToPop=1,u}};t.exports=n}).call(this,e("_process"))},{_process:162}],60:[function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=e("./_hashClear"),a=e("./_hashDelete"),i=e("./_hashGet"),s=e("./_hashHas"),u=e("./_hashSet");r.prototype.clear=o,r.prototype["delete"]=a,r.prototype.get=i,r.prototype.has=s,r.prototype.set=u,t.exports=r},{"./_hashClear":103,"./_hashDelete":104,"./_hashGet":105,"./_hashHas":106,"./_hashSet":107}],61:[function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=e("./_listCacheClear"),a=e("./_listCacheDelete"),i=e("./_listCacheGet"),s=e("./_listCacheHas"),u=e("./_listCacheSet");r.prototype.clear=o,r.prototype["delete"]=a,r.prototype.get=i,r.prototype.has=s,r.prototype.set=u,t.exports=r},{"./_listCacheClear":114,"./_listCacheDelete":115,"./_listCacheGet":116,"./_listCacheHas":117,"./_listCacheSet":118}],62:[function(e,t,n){var r=e("./_getNative"),o=e("./_root"),a=r(o,"Map");t.exports=a},{"./_getNative":99,"./_root":130}],63:[function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}var o=e("./_mapCacheClear"),a=e("./_mapCacheDelete"),i=e("./_mapCacheGet"),s=e("./_mapCacheHas"),u=e("./_mapCacheSet");r.prototype.clear=o,r.prototype["delete"]=a,r.prototype.get=i,r.prototype.has=s,r.prototype.set=u,t.exports=r},{"./_mapCacheClear":119,"./_mapCacheDelete":120,"./_mapCacheGet":121,"./_mapCacheHas":122,"./_mapCacheSet":123}],64:[function(e,t,n){var r=e("./_getNative"),o=e("./_root"),a=r(o,"Set");t.exports=a},{"./_getNative":99,"./_root":130}],65:[function(e,t,n){function r(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new o;++t<n;)this.add(e[t])}var o=e("./_MapCache"),a=e("./_setCacheAdd"),i=e("./_setCacheHas");r.prototype.add=r.prototype.push=a,r.prototype.has=i,t.exports=r},{"./_MapCache":63,"./_setCacheAdd":131,"./_setCacheHas":132}],66:[function(e,t,n){var r=e("./_root"),o=r.Symbol;t.exports=o},{"./_root":130}],67:[function(e,t,n){function r(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}t.exports=r},{}],68:[function(e,t,n){function r(e,t){for(var n=-1,r=null==e?0:e.length,o=0,a=[];++n<r;){var i=e[n];t(i,n,e)&&(a[o++]=i)}return a}t.exports=r},{}],69:[function(e,t,n){function r(e,t){var n=null==e?0:e.length;return!!n&&o(e,t,0)>-1}var o=e("./_baseIndexOf");t.exports=r},{"./_baseIndexOf":79}],70:[function(e,t,n){function r(e,t,n){for(var r=-1,o=null==e?0:e.length;++r<o;)if(n(t,e[r]))return!0;return!1}t.exports=r},{}],71:[function(e,t,n){function r(e,t){var n=i(e),r=!n&&a(e),l=!n&&!r&&s(e),f=!n&&!r&&!l&&c(e),d=n||r||l||f,h=d?o(e.length,String):[],v=h.length;for(var g in e)!t&&!p.call(e,g)||d&&("length"==g||l&&("offset"==g||"parent"==g)||f&&("buffer"==g||"byteLength"==g||"byteOffset"==g)||u(g,v))||h.push(g);return h}var o=e("./_baseTimes"),a=e("./isArguments"),i=e("./isArray"),s=e("./isBuffer"),u=e("./_isIndex"),c=e("./isTypedArray"),l=Object.prototype,p=l.hasOwnProperty;t.exports=r},{"./_baseTimes":88,"./_isIndex":109,"./isArguments":143,"./isArray":144,"./isBuffer":147,"./isTypedArray":153}],72:[function(e,t,n){function r(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}t.exports=r},{}],73:[function(e,t,n){function r(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}t.exports=r},{}],74:[function(e,t,n){function r(e,t){for(var n=e.length;n--;)if(o(e[n][0],t))return n;return-1}var o=e("./eq");t.exports=r},{"./eq":140}],75:[function(e,t,n){function r(e,t,n,r){var p=-1,f=a,d=!0,h=e.length,v=[],g=t.length;if(!h)return v;n&&(t=s(t,u(n))),r?(f=i,d=!1):t.length>=l&&(f=c,d=!1,t=new o(t));e:for(;++p<h;){var m=e[p],y=null==n?m:n(m);if(m=r||0!==m?m:0,d&&y===y){for(var b=g;b--;)if(t[b]===y)continue e;v.push(m)}else f(t,y,r)||v.push(m)}return v}var o=e("./_SetCache"),a=e("./_arrayIncludes"),i=e("./_arrayIncludesWith"),s=e("./_arrayMap"),u=e("./_baseUnary"),c=e("./_cacheHas"),l=200;t.exports=r},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_arrayMap":72,"./_baseUnary":89,"./_cacheHas":92}],76:[function(e,t,n){function r(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}t.exports=r},{}],77:[function(e,t,n){function r(e,t,n,i,s){var u=-1,c=e.length;for(n||(n=a),s||(s=[]);++u<c;){var l=e[u];t>0&&n(l)?t>1?r(l,t-1,n,i,s):o(s,l):i||(s[s.length]=l)}return s}var o=e("./_arrayPush"),a=e("./_isFlattenable");t.exports=r},{"./_arrayPush":73,"./_isFlattenable":108}],78:[function(e,t,n){function r(e){return null==e?void 0===e?u:s:c&&c in Object(e)?a(e):i(e)}var o=e("./_Symbol"),a=e("./_getRawTag"),i=e("./_objectToString"),s="[object Null]",u="[object Undefined]",c=o?o.toStringTag:void 0;t.exports=r},{"./_Symbol":66,"./_getRawTag":101,"./_objectToString":127}],79:[function(e,t,n){function r(e,t,n){return t===t?i(e,t,n):o(e,a,n)}var o=e("./_baseFindIndex"),a=e("./_baseIsNaN"),i=e("./_strictIndexOf");t.exports=r},{"./_baseFindIndex":76,"./_baseIsNaN":82,"./_strictIndexOf":136}],80:[function(e,t,n){function r(e,t,n){for(var r=n?i:a,p=e[0].length,f=e.length,d=f,h=Array(f),v=1/0,g=[];d--;){var m=e[d];d&&t&&(m=s(m,u(t))),v=l(m.length,v),h[d]=!n&&(t||p>=120&&m.length>=120)?new o(d&&m):void 0}m=e[0];var y=-1,b=h[0];e:for(;++y<p&&g.length<v;){var _=m[y],E=t?t(_):_;if(_=n||0!==_?_:0,!(b?c(b,E):r(g,E,n))){for(d=f;--d;){var C=h[d];if(!(C?c(C,E):r(e[d],E,n)))continue e}b&&b.push(E),g.push(_)}}return g}var o=e("./_SetCache"),a=e("./_arrayIncludes"),i=e("./_arrayIncludesWith"),s=e("./_arrayMap"),u=e("./_baseUnary"),c=e("./_cacheHas"),l=Math.min;t.exports=r},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_arrayMap":72,"./_baseUnary":89,"./_cacheHas":92}],81:[function(e,t,n){function r(e){return a(e)&&o(e)==i}var o=e("./_baseGetTag"),a=e("./isObjectLike"),i="[object Arguments]";t.exports=r},{"./_baseGetTag":78,"./isObjectLike":151}],82:[function(e,t,n){function r(e){return e!==e}t.exports=r},{}],83:[function(e,t,n){function r(e){if(!i(e)||a(e))return!1;var t=o(e)?h:c;return t.test(s(e))}var o=e("./isFunction"),a=e("./_isMasked"),i=e("./isObject"),s=e("./_toSource"),u=/[\\^$.*+?()[\]{}|]/g,c=/^\[object .+?Constructor\]$/,l=Function.prototype,p=Object.prototype,f=l.toString,d=p.hasOwnProperty,h=RegExp("^"+f.call(d).replace(u,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=r},{"./_isMasked":112,"./_toSource":137,"./isFunction":148,"./isObject":150}],84:[function(e,t,n){function r(e){return i(e)&&a(e.length)&&!!I[o(e)]}var o=e("./_baseGetTag"),a=e("./isLength"),i=e("./isObjectLike"),s="[object Arguments]",u="[object Array]",c="[object Boolean]",l="[object Date]",p="[object Error]",f="[object Function]",d="[object Map]",h="[object Number]",v="[object Object]",g="[object RegExp]",m="[object Set]",y="[object String]",b="[object WeakMap]",_="[object ArrayBuffer]",E="[object DataView]",C="[object Float32Array]",w="[object Float64Array]",O="[object Int8Array]",T="[object Int16Array]",D="[object Int32Array]",S="[object Uint8Array]",x="[object Uint8ClampedArray]",k="[object Uint16Array]",P="[object Uint32Array]",I={};I[C]=I[w]=I[O]=I[T]=I[D]=I[S]=I[x]=I[k]=I[P]=!0,I[s]=I[u]=I[_]=I[c]=I[E]=I[l]=I[p]=I[f]=I[d]=I[h]=I[v]=I[g]=I[m]=I[y]=I[b]=!1,t.exports=r},{"./_baseGetTag":78,"./isLength":149,"./isObjectLike":151}],85:[function(e,t,n){function r(e){if(!o(e))return i(e);var t=a(e),n=[];for(var r in e)("constructor"!=r||!t&&u.call(e,r))&&n.push(r);return n}var o=e("./isObject"),a=e("./_isPrototype"),i=e("./_nativeKeysIn"),s=Object.prototype,u=s.hasOwnProperty;t.exports=r},{"./_isPrototype":113,"./_nativeKeysIn":125,"./isObject":150}],86:[function(e,t,n){function r(e,t){return i(a(e,t,o),e+"")}var o=e("./identity"),a=e("./_overRest"),i=e("./_setToString");t.exports=r},{"./_overRest":129,"./_setToString":134,"./identity":141}],87:[function(e,t,n){var r=e("./constant"),o=e("./_defineProperty"),a=e("./identity"),i=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:a;t.exports=i},{"./_defineProperty":96,"./constant":138,"./identity":141}],88:[function(e,t,n){function r(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}t.exports=r},{}],89:[function(e,t,n){function r(e){return function(t){return e(t)}}t.exports=r},{}],90:[function(e,t,n){function r(e,t,n){var r=-1,p=a,f=e.length,d=!0,h=[],v=h;if(n)d=!1,p=i;else if(f>=l){var g=t?null:u(e);if(g)return c(g);d=!1,p=s,v=new o}else v=t?[]:h;e:for(;++r<f;){var m=e[r],y=t?t(m):m;if(m=n||0!==m?m:0,d&&y===y){for(var b=v.length;b--;)if(v[b]===y)continue e;t&&v.push(y),h.push(m)}else p(v,y,n)||(v!==h&&v.push(y),h.push(m))}return h}var o=e("./_SetCache"),a=e("./_arrayIncludes"),i=e("./_arrayIncludesWith"),s=e("./_cacheHas"),u=e("./_createSet"),c=e("./_setToArray"),l=200;t.exports=r},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_cacheHas":92,"./_createSet":95,"./_setToArray":133}],91:[function(e,t,n){function r(e,t,n){var r=e.length;if(r<2)return r?i(e[0]):[];for(var s=-1,u=Array(r);++s<r;)for(var c=e[s],l=-1;++l<r;)l!=s&&(u[s]=o(u[s]||c,e[l],t,n));return i(a(u,1),t,n)}var o=e("./_baseDifference"),a=e("./_baseFlatten"),i=e("./_baseUniq");t.exports=r},{"./_baseDifference":75,"./_baseFlatten":77,"./_baseUniq":90}],92:[function(e,t,n){function r(e,t){return e.has(t)}t.exports=r},{}],93:[function(e,t,n){function r(e){return o(e)?e:[]}var o=e("./isArrayLikeObject");t.exports=r},{"./isArrayLikeObject":146}],94:[function(e,t,n){var r=e("./_root"),o=r["__core-js_shared__"];t.exports=o},{"./_root":130}],95:[function(e,t,n){var r=e("./_Set"),o=e("./noop"),a=e("./_setToArray"),i=1/0,s=r&&1/a(new r([,-0]))[1]==i?function(e){return new r(e)}:o;t.exports=s},{"./_Set":64,"./_setToArray":133,"./noop":156}],96:[function(e,t,n){var r=e("./_getNative"),o=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(t){}}();t.exports=o},{"./_getNative":99}],97:[function(e,t,n){(function(e){var n="object"==typeof e&&e&&e.Object===Object&&e;t.exports=n}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],98:[function(e,t,n){function r(e,t){var n=e.__data__;return o(t)?n["string"==typeof t?"string":"hash"]:n.map}var o=e("./_isKeyable");t.exports=r},{"./_isKeyable":111}],99:[function(e,t,n){function r(e,t){var n=a(e,t);return o(n)?n:void 0}var o=e("./_baseIsNative"),a=e("./_getValue");t.exports=r},{"./_baseIsNative":83,"./_getValue":102}],100:[function(e,t,n){var r=e("./_overArg"),o=r(Object.getPrototypeOf,Object);t.exports=o},{"./_overArg":128}],101:[function(e,t,n){function r(e){var t=i.call(e,u),n=e[u];try{e[u]=void 0;var r=!0}catch(o){}var a=s.call(e);return r&&(t?e[u]=n:delete e[u]),a}var o=e("./_Symbol"),a=Object.prototype,i=a.hasOwnProperty,s=a.toString,u=o?o.toStringTag:void 0;t.exports=r},{"./_Symbol":66}],102:[function(e,t,n){function r(e,t){return null==e?void 0:e[t]}t.exports=r},{}],103:[function(e,t,n){function r(){this.__data__=o?o(null):{},this.size=0}var o=e("./_nativeCreate");t.exports=r},{"./_nativeCreate":124}],104:[function(e,t,n){function r(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}t.exports=r},{}],105:[function(e,t,n){function r(e){var t=this.__data__;if(o){var n=t[e];return n===a?void 0:n}return s.call(t,e)?t[e]:void 0}var o=e("./_nativeCreate"),a="__lodash_hash_undefined__",i=Object.prototype,s=i.hasOwnProperty;t.exports=r},{"./_nativeCreate":124}],106:[function(e,t,n){function r(e){var t=this.__data__;return o?void 0!==t[e]:i.call(t,e)}var o=e("./_nativeCreate"),a=Object.prototype,i=a.hasOwnProperty;t.exports=r},{"./_nativeCreate":124}],107:[function(e,t,n){function r(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=o&&void 0===t?a:t,this}var o=e("./_nativeCreate"),a="__lodash_hash_undefined__";t.exports=r},{"./_nativeCreate":124}],108:[function(e,t,n){function r(e){return i(e)||a(e)||!!(s&&e&&e[s])}var o=e("./_Symbol"),a=e("./isArguments"),i=e("./isArray"),s=o?o.isConcatSpreadable:void 0;t.exports=r},{"./_Symbol":66,"./isArguments":143,"./isArray":144}],109:[function(e,t,n){function r(e,t){var n=typeof e;return t=null==t?o:t,!!t&&("number"==n||"symbol"!=n&&a.test(e))&&e>-1&&e%1==0&&e<t}var o=9007199254740991,a=/^(?:0|[1-9]\d*)$/;t.exports=r},{}],110:[function(e,t,n){function r(e,t,n){if(!s(n))return!1;var r=typeof t;return!!("number"==r?a(n)&&i(t,n.length):"string"==r&&t in n)&&o(n[t],e)}var o=e("./eq"),a=e("./isArrayLike"),i=e("./_isIndex"),s=e("./isObject");t.exports=r},{"./_isIndex":109,"./eq":140,"./isArrayLike":145,"./isObject":150}],111:[function(e,t,n){function r(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}t.exports=r},{}],112:[function(e,t,n){function r(e){return!!a&&a in e}var o=e("./_coreJsData"),a=function(){var e=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();t.exports=r},{"./_coreJsData":94}],113:[function(e,t,n){function r(e){var t=e&&e.constructor,n="function"==typeof t&&t.prototype||o;return e===n}var o=Object.prototype;t.exports=r},{}],114:[function(e,t,n){function r(){this.__data__=[],this.size=0}t.exports=r},{}],115:[function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():i.call(t,n,1),--this.size,!0}var o=e("./_assocIndexOf"),a=Array.prototype,i=a.splice;t.exports=r},{"./_assocIndexOf":74}],116:[function(e,t,n){function r(e){var t=this.__data__,n=o(t,e);return n<0?void 0:t[n][1]}var o=e("./_assocIndexOf");t.exports=r},{"./_assocIndexOf":74}],117:[function(e,t,n){function r(e){return o(this.__data__,e)>-1}var o=e("./_assocIndexOf");t.exports=r},{"./_assocIndexOf":74}],118:[function(e,t,n){function r(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}var o=e("./_assocIndexOf");t.exports=r},{"./_assocIndexOf":74}],119:[function(e,t,n){function r(){this.size=0,this.__data__={hash:new o,map:new(i||a),string:new o}}var o=e("./_Hash"),a=e("./_ListCache"),i=e("./_Map");t.exports=r},{"./_Hash":60,"./_ListCache":61,"./_Map":62}],120:[function(e,t,n){function r(e){var t=o(this,e)["delete"](e);return this.size-=t?1:0,t}var o=e("./_getMapData");t.exports=r},{"./_getMapData":98}],121:[function(e,t,n){function r(e){return o(this,e).get(e)}var o=e("./_getMapData");t.exports=r},{"./_getMapData":98}],122:[function(e,t,n){function r(e){return o(this,e).has(e)}var o=e("./_getMapData");t.exports=r},{"./_getMapData":98}],123:[function(e,t,n){function r(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}var o=e("./_getMapData");t.exports=r},{"./_getMapData":98}],124:[function(e,t,n){var r=e("./_getNative"),o=r(Object,"create");t.exports=o},{"./_getNative":99}],125:[function(e,t,n){function r(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}t.exports=r},{}],126:[function(e,t,n){var r=e("./_freeGlobal"),o="object"==typeof n&&n&&!n.nodeType&&n,a=o&&"object"==typeof t&&t&&!t.nodeType&&t,i=a&&a.exports===o,s=i&&r.process,u=function(){try{var e=a&&a.require&&a.require("util").types;return e?e:s&&s.binding&&s.binding("util")}catch(t){}}();t.exports=u},{"./_freeGlobal":97}],127:[function(e,t,n){function r(e){return a.call(e)}var o=Object.prototype,a=o.toString;t.exports=r},{}],128:[function(e,t,n){function r(e,t){return function(n){return e(t(n))}}t.exports=r},{}],129:[function(e,t,n){function r(e,t,n){return t=a(void 0===t?e.length-1:t,0),function(){for(var r=arguments,i=-1,s=a(r.length-t,0),u=Array(s);++i<s;)u[i]=r[t+i];i=-1;for(var c=Array(t+1);++i<t;)c[i]=r[i];return c[t]=n(u),o(e,this,c)}}var o=e("./_apply"),a=Math.max;t.exports=r},{"./_apply":67}],130:[function(e,t,n){var r=e("./_freeGlobal"),o="object"==typeof self&&self&&self.Object===Object&&self,a=r||o||Function("return this")();t.exports=a},{"./_freeGlobal":97}],131:[function(e,t,n){function r(e){return this.__data__.set(e,o),this}var o="__lodash_hash_undefined__";t.exports=r},{}],132:[function(e,t,n){function r(e){return this.__data__.has(e)}t.exports=r},{}],133:[function(e,t,n){function r(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}t.exports=r},{}],134:[function(e,t,n){var r=e("./_baseSetToString"),o=e("./_shortOut"),a=o(r);t.exports=a},{"./_baseSetToString":87,"./_shortOut":135}],135:[function(e,t,n){function r(e){var t=0,n=0;return function(){var r=i(),s=a-(r-n);if(n=r,s>0){if(++t>=o)return arguments[0]}else t=0;return e.apply(void 0,arguments)}}var o=800,a=16,i=Date.now;t.exports=r},{}],136:[function(e,t,n){function r(e,t,n){for(var r=n-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}t.exports=r},{}],137:[function(e,t,n){function r(e){if(null!=e){try{return a.call(e)}catch(t){}try{return e+""}catch(t){}}return""}var o=Function.prototype,a=o.toString;t.exports=r},{}],138:[function(e,t,n){function r(e){return function(){return e}}t.exports=r},{}],139:[function(e,t,n){var r=e("./_baseRest"),o=e("./eq"),a=e("./_isIterateeCall"),i=e("./keysIn"),s=Object.prototype,u=s.hasOwnProperty,c=r(function(e,t){e=Object(e);var n=-1,r=t.length,c=r>2?t[2]:void 0;for(c&&a(t[0],t[1],c)&&(r=1);++n<r;)for(var l=t[n],p=i(l),f=-1,d=p.length;++f<d;){var h=p[f],v=e[h];(void 0===v||o(v,s[h])&&!u.call(e,h))&&(e[h]=l[h])}return e});t.exports=c},{"./_baseRest":86,"./_isIterateeCall":110,"./eq":140,"./keysIn":154}],140:[function(e,t,n){function r(e,t){return e===t||e!==e&&t!==t}t.exports=r},{}],141:[function(e,t,n){function r(e){return e}t.exports=r},{}],142:[function(e,t,n){var r=e("./_arrayMap"),o=e("./_baseIntersection"),a=e("./_baseRest"),i=e("./_castArrayLikeObject"),s=a(function(e){var t=r(e,i);return t.length&&t[0]===e[0]?o(t):[]});t.exports=s},{"./_arrayMap":72,"./_baseIntersection":80,"./_baseRest":86,"./_castArrayLikeObject":93}],143:[function(e,t,n){var r=e("./_baseIsArguments"),o=e("./isObjectLike"),a=Object.prototype,i=a.hasOwnProperty,s=a.propertyIsEnumerable,u=r(function(){return arguments}())?r:function(e){return o(e)&&i.call(e,"callee")&&!s.call(e,"callee")};t.exports=u},{"./_baseIsArguments":81,"./isObjectLike":151}],144:[function(e,t,n){var r=Array.isArray;t.exports=r},{}],145:[function(e,t,n){function r(e){return null!=e&&a(e.length)&&!o(e)}var o=e("./isFunction"),a=e("./isLength");t.exports=r},{"./isFunction":148,"./isLength":149}],146:[function(e,t,n){function r(e){return a(e)&&o(e)}var o=e("./isArrayLike"),a=e("./isObjectLike");t.exports=r},{"./isArrayLike":145,"./isObjectLike":151}],147:[function(e,t,n){var r=e("./_root"),o=e("./stubFalse"),a="object"==typeof n&&n&&!n.nodeType&&n,i=a&&"object"==typeof t&&t&&!t.nodeType&&t,s=i&&i.exports===a,u=s?r.Buffer:void 0,c=u?u.isBuffer:void 0,l=c||o;t.exports=l},{"./_root":130,"./stubFalse":157}],148:[function(e,t,n){function r(e){if(!a(e))return!1;var t=o(e);return t==s||t==u||t==i||t==c}var o=e("./_baseGetTag"),a=e("./isObject"),i="[object AsyncFunction]",s="[object Function]",u="[object GeneratorFunction]",c="[object Proxy]";t.exports=r},{"./_baseGetTag":78,"./isObject":150}],149:[function(e,t,n){function r(e){return"number"==typeof e&&e>-1&&e%1==0&&e<=o}var o=9007199254740991;t.exports=r},{}],150:[function(e,t,n){function r(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}t.exports=r},{}],151:[function(e,t,n){function r(e){return null!=e&&"object"==typeof e}t.exports=r},{}],152:[function(e,t,n){function r(e){if(!i(e)||o(e)!=s)return!1;var t=a(e);if(null===t)return!0;var n=p.call(t,"constructor")&&t.constructor;return"function"==typeof n&&n instanceof n&&l.call(n)==f}var o=e("./_baseGetTag"),a=e("./_getPrototype"),i=e("./isObjectLike"),s="[object Object]",u=Function.prototype,c=Object.prototype,l=u.toString,p=c.hasOwnProperty,f=l.call(Object);t.exports=r},{"./_baseGetTag":78,"./_getPrototype":100,"./isObjectLike":151}],153:[function(e,t,n){var r=e("./_baseIsTypedArray"),o=e("./_baseUnary"),a=e("./_nodeUtil"),i=a&&a.isTypedArray,s=i?o(i):r;t.exports=s},{"./_baseIsTypedArray":84,"./_baseUnary":89,"./_nodeUtil":126}],154:[function(e,t,n){function r(e){return i(e)?o(e,!0):a(e)}var o=e("./_arrayLikeKeys"),a=e("./_baseKeysIn"),i=e("./isArrayLike");t.exports=r},{"./_arrayLikeKeys":71,"./_baseKeysIn":85,"./isArrayLike":145}],155:[function(e,t,n){function r(e,t){if("function"!=typeof e||null!=t&&"function"!=typeof t)throw new TypeError(a);var n=function(){var r=arguments,o=t?t.apply(this,r):r[0],a=n.cache;if(a.has(o))return a.get(o);var i=e.apply(this,r);return n.cache=a.set(o,i)||a,i};return n.cache=new(r.Cache||o),n}var o=e("./_MapCache"),a="Expected a function";r.Cache=o,t.exports=r},{"./_MapCache":63}],156:[function(e,t,n){function r(){}t.exports=r},{}],157:[function(e,t,n){function r(){return!1}t.exports=r},{}],158:[function(e,t,n){var r=e("./_baseFlatten"),o=e("./_baseRest"),a=e("./_baseUniq"),i=e("./isArrayLikeObject"),s=o(function(e){return a(r(e,1,i,!0))});t.exports=s},{"./_baseFlatten":77,"./_baseRest":86,"./_baseUniq":90,"./isArrayLikeObject":146}],159:[function(e,t,n){var r=e("./_baseDifference"),o=e("./_baseRest"),a=e("./isArrayLikeObject"),i=o(function(e,t){return a(e)?r(e,t):[]});t.exports=i},{"./_baseDifference":75,"./_baseRest":86,"./isArrayLikeObject":146}],160:[function(e,t,n){var r=e("./_arrayFilter"),o=e("./_baseRest"),a=e("./_baseXor"),i=e("./isArrayLikeObject"),s=o(function(e){return a(r(e,i))});t.exports=s},{"./_arrayFilter":68,"./_baseRest":86,"./_baseXor":91,"./isArrayLikeObject":146}],161:[function(e,t,n){"use strict";function r(e){if(null===e||void 0===e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}function o(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;var r=Object.getOwnPropertyNames(t).map(function(e){return t[e]});if("0123456789"!==r.join(""))return!1;var o={};return"abcdefghijklmnopqrst".split("").forEach(function(e){o[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},o)).join("")}catch(a){return!1}}var a=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=o()?Object.assign:function(e,t){for(var n,o,u=r(e),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)i.call(n,l)&&(u[l]=n[l]);if(a){o=a(n);for(var p=0;p<o.length;p++)s.call(n,o[p])&&(u[o[p]]=n[o[p]])}}return u}},{}],162:[function(e,t,n){function r(){throw new Error("setTimeout has not been defined")}function o(){throw new Error("clearTimeout has not been defined")}function a(e){if(p===setTimeout)return setTimeout(e,0);if((p===r||!p)&&setTimeout)return p=setTimeout,setTimeout(e,0);try{return p(e,0)}catch(t){try{return p.call(null,e,0)}catch(t){return p.call(this,e,0)}}}function i(e){if(f===clearTimeout)return clearTimeout(e);if((f===o||!f)&&clearTimeout)return f=clearTimeout,clearTimeout(e);try{return f(e)}catch(t){try{return f.call(null,e)}catch(t){return f.call(this,e)}}}function s(){g&&h&&(g=!1,h.length?v=h.concat(v):m=-1,v.length&&u())}function u(){if(!g){var e=a(s);g=!0;for(var t=v.length;t;){for(h=v,v=[];++m<t;)h&&h[m].run();m=-1,t=v.length}h=null,g=!1,i(e)}}function c(e,t){this.fun=e,this.array=t}function l(){}var p,f,d=t.exports={};!function(){try{p="function"==typeof setTimeout?setTimeout:r}catch(e){p=r}try{f="function"==typeof clearTimeout?clearTimeout:o}catch(e){f=o}}();var h,v=[],g=!1,m=-1;d.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];v.push(new c(e,t)),1!==v.length||g||a(u)},c.prototype.run=function(){this.fun.apply(null,this.array)},d.title="browser",d.browser=!0,d.env={},d.argv=[],d.version="",d.versions={},d.on=l,d.addListener=l,d.once=l,d.off=l,d.removeListener=l,d.removeAllListeners=l,d.emit=l,d.prependListener=l,d.prependOnceListener=l,d.listeners=function(e){return[]},d.binding=function(e){
|
4 |
-
throw new Error("process.binding is not supported")},d.cwd=function(){return"/"},d.chdir=function(e){throw new Error("process.chdir is not supported")},d.umask=function(){return 0}},{}],163:[function(e,t,n){(function(e){"use strict";function n(e,t,n,r,o){}t.exports=n}).call(this,e("_process"))},{"./lib/ReactPropTypesSecret":168,_process:162}],164:[function(e,t,n){"use strict";var r=e("./factoryWithTypeCheckers");t.exports=function(e){var t=!1;return r(e,t)}},{"./factoryWithTypeCheckers":166}],165:[function(e,t,n){"use strict";function r(){}var o=e("./lib/ReactPropTypesSecret");t.exports=function(){function e(e,t,n,r,a,i){if(i!==o){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n,n}},{"./lib/ReactPropTypesSecret":168}],166:[function(e,t,n){(function(n){"use strict";function r(){return null}var o=e("object-assign"),a=e("./lib/ReactPropTypesSecret"),i=e("./checkPropTypes"),s=function(){};t.exports=function(e,t){function n(e){var t=e&&(x&&e[x]||e[k]);if("function"==typeof t)return t}function u(e,t){return e===t?0!==e||1/e===1/t:e!==e&&t!==t}function c(e){this.message=e,this.stack=""}function l(e){function n(n,r,o,i,s,u,l){if(i=i||P,u=u||o,l!==a){if(t){var p=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw p.name="Invariant Violation",p}}return null==r[o]?n?new c(null===r[o]?"The "+s+" `"+u+"` is marked as required "+("in `"+i+"`, but its value is `null`."):"The "+s+" `"+u+"` is marked as required in "+("`"+i+"`, but its value is `undefined`.")):null:e(r,o,i,s,u)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function p(e){function t(t,n,r,o,a,i){var s=t[n],u=O(s);if(u!==e){var l=T(s);return new c("Invalid "+o+" `"+a+"` of type "+("`"+l+"` supplied to `"+r+"`, expected ")+("`"+e+"`."))}return null}return l(t)}function f(){return l(r)}function d(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var s=t[n];if(!Array.isArray(s)){var u=O(s);return new c("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an array."))}for(var l=0;l<s.length;l++){var p=e(s,l,r,o,i+"["+l+"]",a);if(p instanceof Error)return p}return null}return l(t)}function h(){function t(t,n,r,o,a){var i=t[n];if(!e(i)){var s=O(i);return new c("Invalid "+o+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected a single ReactElement."))}return null}return l(t)}function v(e){function t(t,n,r,o,a){if(!(t[n]instanceof e)){var i=e.name||P,s=S(t[n]);return new c("Invalid "+o+" `"+a+"` of type "+("`"+s+"` supplied to `"+r+"`, expected ")+("instance of `"+i+"`."))}return null}return l(t)}function g(e){function t(t,n,r,o,a){for(var i=t[n],s=0;s<e.length;s++)if(u(i,e[s]))return null;var l=JSON.stringify(e);return new c("Invalid "+o+" `"+a+"` of value `"+i+"` "+("supplied to `"+r+"`, expected one of "+l+"."))}return Array.isArray(e)?l(t):r}function m(e){function t(t,n,r,o,i){if("function"!=typeof e)return new c("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var s=t[n],u=O(s);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type "+("`"+u+"` supplied to `"+r+"`, expected an object."));for(var l in s)if(s.hasOwnProperty(l)){var p=e(s,l,r,o,i+"."+l,a);if(p instanceof Error)return p}return null}return l(t)}function y(e){function t(t,n,r,o,i){for(var s=0;s<e.length;s++){var u=e[s];if(null==u(t,n,r,o,i,a))return null}return new c("Invalid "+o+" `"+i+"` supplied to "+("`"+r+"`."))}if(!Array.isArray(e))return r;for(var n=0;n<e.length;n++){var o=e[n];if("function"!=typeof o)return s("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+D(o)+" at index "+n+"."),r}return l(t)}function b(){function e(e,t,n,r,o){return C(e[t])?null:new c("Invalid "+r+" `"+o+"` supplied to "+("`"+n+"`, expected a ReactNode."))}return l(e)}function _(e){function t(t,n,r,o,i){var s=t[n],u=O(s);if("object"!==u)return new c("Invalid "+o+" `"+i+"` of type `"+u+"` "+("supplied to `"+r+"`, expected `object`."));for(var l in e){var p=e[l];if(p){var f=p(s,l,r,o,i+"."+l,a);if(f)return f}}return null}return l(t)}function E(e){function t(t,n,r,i,s){var u=t[n],l=O(u);if("object"!==l)return new c("Invalid "+i+" `"+s+"` of type `"+l+"` "+("supplied to `"+r+"`, expected `object`."));var p=o({},t[n],e);for(var f in p){var d=e[f];if(!d)return new c("Invalid "+i+" `"+s+"` key `"+f+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var h=d(u,f,r,i,s+"."+f,a);if(h)return h}return null}return l(t)}function C(t){switch(typeof t){case"number":case"string":case"undefined":return!0;case"boolean":return!t;case"object":if(Array.isArray(t))return t.every(C);if(null===t||e(t))return!0;var r=n(t);if(!r)return!1;var o,a=r.call(t);if(r!==t.entries){for(;!(o=a.next()).done;)if(!C(o.value))return!1}else for(;!(o=a.next()).done;){var i=o.value;if(i&&!C(i[1]))return!1}return!0;default:return!1}}function w(e,t){return"symbol"===e||("Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol)}function O(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":w(t,e)?"symbol":t}function T(e){if("undefined"==typeof e||null===e)return""+e;var t=O(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function D(e){var t=T(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}function S(e){return e.constructor&&e.constructor.name?e.constructor.name:P}var x="function"==typeof Symbol&&Symbol.iterator,k="@@iterator",P="<<anonymous>>",I={array:p("array"),bool:p("boolean"),func:p("function"),number:p("number"),object:p("object"),string:p("string"),symbol:p("symbol"),any:f(),arrayOf:d,element:h(),instanceOf:v,node:b(),objectOf:m,oneOf:g,oneOfType:y,shape:_,exact:E};return c.prototype=Error.prototype,I.checkPropTypes=i,I.PropTypes=I,I}}).call(this,e("_process"))},{"./checkPropTypes":163,"./lib/ReactPropTypesSecret":168,_process:162,"object-assign":161}],167:[function(e,t,n){(function(n){t.exports=e("./factoryWithThrowingShims")()}).call(this,e("_process"))},{"./factoryWithThrowingShims":165,"./factoryWithTypeCheckers":166,_process:162}],168:[function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r},{}],169:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0}),n.isSafari=n.isFirefox=void 0;var o=e("lodash/memoize"),a=r(o);n.isFirefox=(0,a["default"])(function(){return/firefox/i.test(navigator.userAgent)}),n.isSafari=(0,a["default"])(function(){return Boolean(window.safari)})},{"lodash/memoize":155}],170:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var a=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),i=e("lodash/union"),s=r(i),u=e("lodash/without"),c=r(u),l=function(){function e(){o(this,e),this.entered=[]}return a(e,[{key:"enter",value:function(e){var t=this.entered.length,n=function(t){return document.documentElement.contains(t)&&(!t.contains||t.contains(e))};return this.entered=(0,s["default"])(this.entered.filter(n),[e]),0===t&&this.entered.length>0}},{key:"leave",value:function(e){var t=this.entered.length;return this.entered=(0,c["default"])(this.entered.filter(function(e){return document.documentElement.contains(e)}),e),t>0&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}]),e}();n["default"]=l},{"lodash/union":158,"lodash/without":159}],171:[function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),s=e("lodash/defaults"),u=o(s),c=e("./shallowEqual"),l=o(c),p=e("./EnterLeaveCounter"),f=o(p),d=e("./BrowserDetector"),h=e("./OffsetUtils"),v=e("./NativeDragSources"),g=e("./NativeTypes"),m=r(g),y=function(){function e(t){a(this,e),this.actions=t.getActions(),this.monitor=t.getMonitor(),this.registry=t.getRegistry(),this.context=t.getContext(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new f["default"],this.dragStartSourceIds=[],this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this),this.asyncEndDragNativeItem=this.asyncEndDragNativeItem.bind(this),this.isNodeInDocument=this.isNodeInDocument.bind(this)}return i(e,[{key:"setup",value:function(){if(void 0!==this.window){if(this.window.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.window.__isReactDndBackendSetUp=!0,this.addEventListeners(this.window)}}},{key:"teardown",value:function(){void 0!==this.window&&(this.window.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.window),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&this.window.cancelAnimationFrame(this.asyncEndDragFrameId))}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions[e]=n,this.sourcePreviewNodes[e]=t,function(){delete r.sourcePreviewNodes[e],delete r.sourcePreviewNodeOptions[e]}}},{key:"connectDragSource",value:function(e,t,n){var r=this;this.sourceNodes[e]=t,this.sourceNodeOptions[e]=n;var o=function(t){return r.handleDragStart(t,e)},a=function(t){return r.handleSelectStart(t,e)};return t.setAttribute("draggable",!0),t.addEventListener("dragstart",o),t.addEventListener("selectstart",a),function(){delete r.sourceNodes[e],delete r.sourceNodeOptions[e],t.removeEventListener("dragstart",o),t.removeEventListener("selectstart",a),t.setAttribute("draggable",!1)}}},{key:"connectDropTarget",value:function(e,t){var n=this,r=function(t){return n.handleDragEnter(t,e)},o=function(t){return n.handleDragOver(t,e)},a=function(t){return n.handleDrop(t,e)};return t.addEventListener("dragenter",r),t.addEventListener("dragover",o),t.addEventListener("drop",a),function(){t.removeEventListener("dragenter",r),t.removeEventListener("dragover",o),t.removeEventListener("drop",a)}}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourceNodeOptions[e];return(0,u["default"])(t||{},{dropEffect:this.altKeyPressed?"copy":"move"})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId(),t=this.sourcePreviewNodeOptions[e];return(0,u["default"])(t||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})}},{key:"getSourceClientOffset",value:function(e){return(0,h.getNodeClientOffset)(this.sourceNodes[e])}},{key:"isDraggingNativeItem",value:function(){var e=this.monitor.getItemType();return Object.keys(m).some(function(t){return m[t]===e})}},{key:"beginDragNativeItem",value:function(e){this.clearCurrentDragSourceNode();var t=(0,v.createNativeDragSource)(e);this.currentNativeSource=new t,this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"asyncEndDragNativeItem",value:function(){this.asyncEndDragFrameId=this.window.requestAnimationFrame(this.endDragNativeItem)}},{key:"endDragNativeItem",value:function(){this.isDraggingNativeItem()&&(this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)}},{key:"isNodeInDocument",value:function(e){return!(!document.body.contains(e)&&!this.window)&&this.window.document.body.contains(e)}},{key:"endDragIfSourceWasRemovedFromDOM",value:function(){var e=this.currentDragSourceNode;this.isNodeInDocument(e)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.currentDragSourceNodeOffset=(0,h.getNodeClientOffset)(e),this.currentDragSourceNodeOffsetChanged=!1;var n=1e3;this.mouseMoveTimeoutTimer=setTimeout(function(){return t.mouseMoveTimeoutId=null,t.window.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)},n)}},{key:"clearCurrentDragSourceNode",value:function(){return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,this.window.clearTimeout(this.mouseMoveTimeoutTimer),this.window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),this.mouseMoveTimeoutTimer=null,!0)}},{key:"checkIfCurrentDragSourceRectChanged",value:function(){var e=this.currentDragSourceNode;return!!e&&(!!this.currentDragSourceNodeOffsetChanged||(this.currentDragSourceNodeOffsetChanged=!(0,l["default"])((0,h.getNodeClientOffset)(e),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged))}},{key:"handleTopDragStartCapture",value:function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]}},{key:"handleDragStart",value:function(e,t){this.dragStartSourceIds.unshift(t)}},{key:"handleTopDragStart",value:function(e){var t=this,n=this.dragStartSourceIds;this.dragStartSourceIds=null;var r=(0,h.getEventClientOffset)(e);this.monitor.isDragging()&&this.actions.endDrag(),this.actions.beginDrag(n,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});var o=e.dataTransfer,a=(0,v.matchNativeItemType)(o);if(this.monitor.isDragging()){if("function"==typeof o.setDragImage){var i=this.monitor.getSourceId(),s=this.sourceNodes[i],u=this.sourcePreviewNodes[i]||s,c=this.getCurrentSourcePreviewNodeOptions(),l=c.anchorX,p=c.anchorY,f=c.offsetX,d=c.offsetY,g={anchorX:l,anchorY:p},m={offsetX:f,offsetY:d},y=(0,h.getDragPreviewOffset)(s,u,r,g,m);o.setDragImage(u,y.x,y.y)}try{o.setData("application/json",{})}catch(b){}this.setCurrentDragSourceNode(e.target);var _=this.getCurrentSourcePreviewNodeOptions(),E=_.captureDraggingState;E?this.actions.publishDragSource():setTimeout(function(){return t.actions.publishDragSource()})}else if(a)this.beginDragNativeItem(a);else{if(!(o.types||e.target.hasAttribute&&e.target.hasAttribute("draggable")))return;e.preventDefault()}}},{key:"handleTopDragEndCapture",value:function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()}},{key:"handleTopDragEnterCapture",value:function(e){this.dragEnterTargetIds=[];var t=this.enterLeaveCounter.enter(e.target);if(t&&!this.monitor.isDragging()){var n=e.dataTransfer,r=(0,v.matchNativeItemType)(n);r&&this.beginDragNativeItem(r)}}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleTopDragEnter",value:function(e){var t=this,n=this.dragEnterTargetIds;if(this.dragEnterTargetIds=[],this.monitor.isDragging()){this.altKeyPressed=e.altKey,(0,d.isFirefox)()||this.actions.hover(n,{clientOffset:(0,h.getEventClientOffset)(e)});var r=n.some(function(e){return t.monitor.canDropOnTarget(e)});r&&(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect())}}},{key:"handleTopDragOverCapture",value:function(){this.dragOverTargetIds=[]}},{key:"handleDragOver",value:function(e,t){this.dragOverTargetIds.unshift(t)}},{key:"handleTopDragOver",value:function(e){var t=this,n=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer.dropEffect="none");this.altKeyPressed=e.altKey,this.actions.hover(n,{clientOffset:(0,h.getEventClientOffset)(e)});var r=n.some(function(e){return t.monitor.canDropOnTarget(e)});r?(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(e.preventDefault(),e.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(e.preventDefault(),e.dataTransfer.dropEffect="move")}},{key:"handleTopDragLeaveCapture",value:function(e){this.isDraggingNativeItem()&&e.preventDefault();var t=this.enterLeaveCounter.leave(e.target);t&&this.isDraggingNativeItem()&&this.endDragNativeItem()}},{key:"handleTopDropCapture",value:function(e){this.dropTargetIds=[],e.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer),this.enterLeaveCounter.reset()}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}},{key:"handleTopDrop",value:function(e){var t=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:(0,h.getEventClientOffset)(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()}},{key:"handleSelectStart",value:function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))}},{key:"window",get:function(){return this.context&&this.context.window?this.context.window:"undefined"!=typeof window?window:void 0}}]),e}();n["default"]=y},{"./BrowserDetector":169,"./EnterLeaveCounter":170,"./NativeDragSources":173,"./NativeTypes":174,"./OffsetUtils":175,"./shallowEqual":178,"lodash/defaults":139}],172:[function(e,t,n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(n,"__esModule",{value:!0});var o=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),a=function(){function e(t,n){r(this,e);for(var o=t.length,a=[],i=0;i<o;i++)a.push(i);a.sort(function(e,n){return t[e]<t[n]?-1:1});for(var s=[],u=[],c=[],l=void 0,p=void 0,f=0;f<o-1;f++)l=t[f+1]-t[f],p=n[f+1]-n[f],u.push(l),s.push(p),c.push(p/l);for(var d=[c[0]],h=0;h<u.length-1;h++){var v=c[h],g=c[h+1];if(v*g<=0)d.push(0);else{l=u[h];var m=u[h+1],y=l+m;d.push(3*y/((y+m)/v+(y+l)/g))}}d.push(c[c.length-1]);for(var b=[],_=[],E=void 0,C=0;C<d.length-1;C++){E=c[C];var w=d[C],O=1/u[C],T=w+d[C+1]-E-E;b.push((E-w-T)*O),_.push(T*O*O)}this.xs=t,this.ys=n,this.c1s=d,this.c2s=b,this.c3s=_}return o(e,[{key:"interpolate",value:function(e){var t=this.xs,n=this.ys,r=this.c1s,o=this.c2s,a=this.c3s,i=t.length-1;if(e===t[i])return n[i];for(var s=0,u=a.length-1,c=void 0;s<=u;){c=Math.floor(.5*(s+u));var l=t[c];if(l<e)s=c+1;else{if(!(l>e))return n[c];u=c-1}}i=Math.max(0,u);var p=e-t[i],f=p*p;return n[i]+r[i]*p+o[i]*f+a[i]*p*f}}]),e}();n["default"]=a},{}],173:[function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e,t){for(var n in t){var r=t[n];r.configurable=r.enumerable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,n,r)}return e}function a(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function s(e,t,n){var r=t.reduce(function(t,n){return t||e.getData(n)},null);return null!=r?r:n}function u(e){var t=h[e],n=t.exposeProperty,r=t.matchesTypes,i=t.getData;return function(){function e(){var t,r;a(this,e),this.item=(t={},r={},r[n]=r[n]||{},r[n].get=function(){return console.warn("Browser doesn't allow reading \""+n+'" until the drop event.'),null},o(t,r),t)}return p(e,[{key:"mutateItemByReadingDataTransfer",value:function(e){delete this.item[n],this.item[n]=i(e,r)}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}]),e}()}function c(e){var t=Array.prototype.slice.call(e.types||[]);return Object.keys(h).filter(function(e){var n=h[e].matchesTypes;return n.some(function(e){return t.indexOf(e)>-1})})[0]||null}Object.defineProperty(n,"__esModule",{value:!0});var l,p=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n.createNativeDragSource=u,n.matchNativeItemType=c;var f=e("./NativeTypes"),d=r(f),h=(l={},i(l,d.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(e){return Array.prototype.slice.call(e.files)}}),i(l,d.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(e,t){return s(e,t,"").split("\n")}}),i(l,d.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(e,t){return s(e,t,"")}}),l)},{"./NativeTypes":174}],174:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.FILE="__NATIVE_FILE__",n.URL="__NATIVE_URL__",n.TEXT="__NATIVE_TEXT__"},{}],175:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){var t=e.nodeType===f?e:e.parentElement;if(!t)return null;var n=t.getBoundingClientRect(),r=n.top,o=n.left;return{x:o,y:r}}function a(e){return{x:e.clientX,y:e.clientY}}function i(e){return"IMG"===e.nodeName&&((0,c.isFirefox)()||!document.documentElement.contains(e))}function s(e,t,n,r){var o=e?t.width:n,a=e?t.height:r;return(0,c.isSafari)()&&e&&(a/=window.devicePixelRatio,o/=window.devicePixelRatio),{dragPreviewWidth:o,dragPreviewHeight:a}}function u(e,t,n,r,a){var u=i(t),l=u?e:t,f=o(l),d={x:n.x-f.x,y:n.y-f.y},h=e.offsetWidth,v=e.offsetHeight,g=r.anchorX,m=r.anchorY,y=s(u,t,h,v),b=y.dragPreviewWidth,_=y.dragPreviewHeight,E=function(){var e=new p["default"]([0,.5,1],[d.y,d.y/v*_,d.y+_-v]),t=e.interpolate(m);return(0,c.isSafari)()&&u&&(t+=(window.devicePixelRatio-1)*_),t},C=function(){var e=new p["default"]([0,.5,1],[d.x,d.x/h*b,d.x+b-h]);return e.interpolate(g)},w=a.offsetX,O=a.offsetY,T=0===w||w,D=0===O||O;return{x:T?w:C(),y:D?O:E()}}Object.defineProperty(n,"__esModule",{value:!0}),n.getNodeClientOffset=o,n.getEventClientOffset=a,n.getDragPreviewOffset=u;var c=e("./BrowserDetector"),l=e("./MonotonicInterpolant"),p=r(l),f=1},{"./BrowserDetector":169,"./MonotonicInterpolant":172}],176:[function(e,t,n){"use strict";function r(){return o||(o=new Image,o.src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="),o}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r;var o=void 0},{}],177:[function(e,t,n){"use strict";function r(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t["default"]=e,t}function o(e){return e&&e.__esModule?e:{"default":e}}function a(e){return new s["default"](e)}Object.defineProperty(n,"__esModule",{value:!0}),n.getEmptyImage=n.NativeTypes=void 0,n["default"]=a;var i=e("./HTML5Backend"),s=o(i),u=e("./getEmptyImage"),c=o(u),l=e("./NativeTypes"),p=r(l);n.NativeTypes=p,n.getEmptyImage=c["default"]},{"./HTML5Backend":171,"./NativeTypes":174,"./getEmptyImage":176}],178:[function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,a=0;a<n.length;a+=1){if(!o.call(t,n[a])||e[n[a]]!==t[n[a]])return!1;var i=e[n[a]],s=t[n[a]];if(i!==s)return!1}return!0}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r},{}],179:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){E["default"].apply(void 0,["DragDropContext","backend"].concat(Array.prototype.slice.call(arguments)));var t=O(e),n=w(t);return function(e){var t,r,s=e.displayName||e.name||"Component",l=(r=t=function(t){function r(){return o(this,r),a(this,(r.__proto__||Object.getPrototypeOf(r)).apply(this,arguments))}return i(r,t),c(r,[{key:"getDecoratedComponentInstance",value:function(){return(0,m["default"])(this.child,"In order to access an instance of the decorated component it can not be a stateless component."),this.child}},{key:"getManager",value:function(){return n.dragDropManager}},{key:"getChildContext",value:function(){return n}},{key:"render",value:function(){var t=this;return f["default"].createElement(e,u({},this.props,{ref:function(e){t.child=e}}))}}]),r}(p.Component),t.DecoratedComponent=e,t.displayName="DragDropContext("+s+")",t.childContextTypes=C,r);return(0,b["default"])(l,e)}}Object.defineProperty(n,"__esModule",{value:!0}),n.unpackBackendForEs5Users=n.createChildContext=n.CHILD_CONTEXT_TYPES=void 0;var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n["default"]=s;var p=e("react"),f=r(p),d=e("prop-types"),h=r(d),v=e("dnd-core"),g=e("invariant"),m=r(g),y=e("hoist-non-react-statics"),b=r(y),_=e("./utils/checkDecoratorArguments"),E=r(_),C=n.CHILD_CONTEXT_TYPES={dragDropManager:h["default"].object.isRequired},w=n.createChildContext=function(e,t){return{dragDropManager:new v.DragDropManager(e,t)}},O=n.unpackBackendForEs5Users=function(e){var t=e;return"object"===("undefined"==typeof t?"undefined":l(t))&&"function"==typeof t["default"]&&(t=t["default"]),(0,m["default"])("function"==typeof t,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://react-dnd.github.io/react-dnd/docs-drag-drop-context.html"),t}},{"./utils/checkDecoratorArguments":195,"dnd-core":26,"hoist-non-react-statics":58,invariant:59,"prop-types":167,react:353}],180:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=void 0;var s,u,c=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),l=e("react"),p=e("prop-types"),f=r(p),d=e("./DragDropContext"),h=(u=s=function(e){function t(e,n){o(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n)),i=function(){return e&&e.window?e.window:n&&n.window?n.window:"undefined"!=typeof window?window:void 0};return r.backend=(0,d.unpackBackendForEs5Users)(e.backend),r.childContext=(0,d.createChildContext)(r.backend,{window:i()}),r}return i(t,e),c(t,[{key:"componentWillReceiveProps",value:function(e){if(e.backend!==this.props.backend||e.window!==this.props.window)throw new Error("DragDropContextProvider backend and window props must not change.")}},{key:"getChildContext",value:function(){return this.childContext;
|
5 |
-
}},{key:"render",value:function(){return l.Children.only(this.props.children)}}]),t}(l.Component),s.propTypes={backend:f["default"].oneOfType([f["default"].func,f["default"].object]).isRequired,children:f["default"].element.isRequired,window:f["default"].object},s.defaultProps={window:void 0},s.childContextTypes=d.CHILD_CONTEXT_TYPES,s.displayName="DragDropContextProvider",s.contextTypes={window:f["default"].object},u);n["default"]=h},{"./DragDropContext":179,"prop-types":167,react:353}],181:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return D["default"].apply(void 0,["DragLayer","collect[, options]"].concat(Array.prototype.slice.call(arguments))),(0,_["default"])("function"==typeof e,'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ',"Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html",e),(0,_["default"])((0,y["default"])(t),'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html',t),function(n){var r,s,d=t.arePropsEqual,v=void 0===d?O["default"]:d,m=n.displayName||n.name||"Component",y=(s=r=function(t){function r(e,t){o(this,r);var n=a(this,(r.__proto__||Object.getPrototypeOf(r)).call(this,e));return n.handleChange=n.handleChange.bind(n),n.manager=t.dragDropManager,(0,_["default"])("object"===c(n.manager),"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",m,m),n.state=n.getCurrentState(),n}return i(r,t),l(r,[{key:"getDecoratedComponentInstance",value:function(){return(0,_["default"])(this.child,"In order to access an instance of the decorated component it can not be a stateless component."),this.child}},{key:"shouldComponentUpdate",value:function(e,t){return!v(e,this.props)||!(0,C["default"])(t,this.state)}}]),l(r,[{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0;var e=this.manager.getMonitor();this.unsubscribeFromOffsetChange=e.subscribeToOffsetChange(this.handleChange),this.unsubscribeFromStateChange=e.subscribeToStateChange(this.handleChange),this.handleChange()}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.unsubscribeFromOffsetChange(),this.unsubscribeFromStateChange()}},{key:"handleChange",value:function(){if(this.isCurrentlyMounted){var e=this.getCurrentState();(0,C["default"])(e,this.state)||this.setState(e)}}},{key:"getCurrentState",value:function(){var t=this.manager.getMonitor();return e(t,this.props)}},{key:"render",value:function(){var e=this;return f["default"].createElement(n,u({},this.props,this.state,{ref:function(t){e.child=t}}))}}]),r}(p.Component),r.DecoratedComponent=n,r.displayName="DragLayer("+m+")",r.contextTypes={dragDropManager:h["default"].object.isRequired},s);return(0,g["default"])(y,n)}}Object.defineProperty(n,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=s;var p=e("react"),f=r(p),d=e("prop-types"),h=r(d),v=e("hoist-non-react-statics"),g=r(v),m=e("lodash/isPlainObject"),y=r(m),b=e("invariant"),_=r(b),E=e("./utils/shallowEqual"),C=r(E),w=e("./utils/shallowEqualScalar"),O=r(w),T=e("./utils/checkDecoratorArguments"),D=r(T)},{"./utils/checkDecoratorArguments":195,"./utils/shallowEqual":198,"./utils/shallowEqualScalar":199,"hoist-non-react-statics":58,invariant:59,"lodash/isPlainObject":152,"prop-types":167,react:353}],182:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};l["default"].apply(void 0,["DragSource","type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));var o=e;"function"!=typeof e&&((0,i["default"])((0,C["default"])(e),'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',e),o=function(){return e}),(0,i["default"])((0,u["default"])(t),'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',t);var a=(0,g["default"])(t);return(0,i["default"])("function"==typeof n,'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',n),(0,i["default"])((0,u["default"])(r),'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',n),function(e){return(0,f["default"])({connectBackend:function(e,t){return e.connectDragSource(t)},containerDisplayName:"DragSource",createHandler:a,registerHandler:h["default"],createMonitor:y["default"],createConnector:_["default"],DecoratedComponent:e,getType:o,collect:n,options:r})}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("invariant"),i=r(a),s=e("lodash/isPlainObject"),u=r(s),c=e("./utils/checkDecoratorArguments"),l=r(c),p=e("./decorateHandler"),f=r(p),d=e("./registerSource"),h=r(d),v=e("./createSourceFactory"),g=r(v),m=e("./createSourceMonitor"),y=r(m),b=e("./createSourceConnector"),_=r(b),E=e("./utils/isValidType"),C=r(E)},{"./createSourceConnector":185,"./createSourceFactory":186,"./createSourceMonitor":187,"./decorateHandler":191,"./registerSource":193,"./utils/checkDecoratorArguments":195,"./utils/isValidType":197,invariant:59,"lodash/isPlainObject":152}],183:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};l["default"].apply(void 0,["DropTarget","type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));var o=e;"function"!=typeof e&&((0,i["default"])((0,C["default"])(e,!0),'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',e),o=function(){return e}),(0,i["default"])((0,u["default"])(t),'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',t);var a=(0,g["default"])(t);return(0,i["default"])("function"==typeof n,'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',n),(0,i["default"])((0,u["default"])(r),'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',n),function(e){return(0,f["default"])({connectBackend:function(e,t){return e.connectDropTarget(t)},containerDisplayName:"DropTarget",createHandler:a,registerHandler:h["default"],createMonitor:y["default"],createConnector:_["default"],DecoratedComponent:e,getType:o,collect:n,options:r})}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("invariant"),i=r(a),s=e("lodash/isPlainObject"),u=r(s),c=e("./utils/checkDecoratorArguments"),l=r(c),p=e("./decorateHandler"),f=r(p),d=e("./registerTarget"),h=r(d),v=e("./createTargetFactory"),g=r(v),m=e("./createTargetMonitor"),y=r(m),b=e("./createTargetConnector"),_=r(b),E=e("./utils/isValidType"),C=r(E)},{"./createTargetConnector":188,"./createTargetFactory":189,"./createTargetMonitor":190,"./decorateHandler":191,"./registerTarget":194,"./utils/checkDecoratorArguments":195,"./utils/isValidType":197,invariant:59,"lodash/isPlainObject":152}],184:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return t===e||null!==t&&null!==e&&(0,i["default"])(t,e)}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("./utils/shallowEqual"),i=r(a)},{"./utils/shallowEqual":198}],185:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){function t(){c&&(c(),c=null),o&&a&&(c=e.connectDragSource(o,a,s))}function n(){f&&(f(),f=null),o&&l&&(f=e.connectDragPreview(o,l,p))}function r(e){e!==o&&(o=e,t(),n())}var o=void 0,a=void 0,s=void 0,c=void 0,l=void 0,p=void 0,f=void 0,d=(0,i["default"])({dragSource:function(e,n){e===a&&(0,u["default"])(n,s)||(a=e,s=n,t())},dragPreview:function(e,t){e===l&&(0,u["default"])(t,p)||(l=e,p=t,n())}});return{receiveHandlerId:r,hooks:d}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("./wrapConnectorHooks"),i=r(a),s=e("./areOptionsEqual"),u=r(s)},{"./areOptionsEqual":184,"./wrapConnectorHooks":200}],186:[function(e,t,n){(function(t){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){Object.keys(e).forEach(function(t){(0,u["default"])(l.indexOf(t)>-1,'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',l.join(", "),t),(0,u["default"])("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html",t,t,e[t])}),p.forEach(function(t){(0,u["default"])("function"==typeof e[t],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html",t,t,e[t])});var t=function(){function t(e){o(this,t),this.monitor=e,this.props=null,this.component=null}return i(t,[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveComponent",value:function(e){this.component=e}},{key:"canDrag",value:function(){return!e.canDrag||e.canDrag(this.props,this.monitor)}},{key:"isDragging",value:function(t,n){return e.isDragging?e.isDragging(this.props,this.monitor):n===t.getSourceId()}},{key:"beginDrag",value:function(){var t=e.beginDrag(this.props,this.monitor,this.component);return t}},{key:"endDrag",value:function(){e.endDrag&&e.endDrag(this.props,this.monitor,this.component)}}]),t}();return function(e){return new t(e)}}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=a;var s=e("invariant"),u=r(s),c=e("lodash/isPlainObject"),l=(r(c),["canDrag","beginDrag","isDragging","endDrag"]),p=["beginDrag"]}).call(this,e("_process"))},{_process:162,invariant:59,"lodash/isPlainObject":152}],187:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){return new p(e)}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=a;var s=e("invariant"),u=r(s),c=!1,l=!1,p=function(){function e(t){o(this,e),this.internalMonitor=t.getMonitor()}return i(e,[{key:"receiveHandlerId",value:function(e){this.sourceId=e}},{key:"canDrag",value:function(){(0,u["default"])(!c,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{c=!1}}},{key:"isDragging",value:function(){(0,u["default"])(!l,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");try{return l=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{l=!1}}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),e}()},{invariant:59}],188:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){function t(){s&&(s(),s=null),r&&o&&(s=e.connectDropTarget(r,o,a))}function n(e){e!==r&&(r=e,t())}var r=void 0,o=void 0,a=void 0,s=void 0,c=(0,i["default"])({dropTarget:function(e,n){e===o&&(0,u["default"])(n,a)||(o=e,a=n,t())}});return{receiveHandlerId:n,hooks:c}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("./wrapConnectorHooks"),i=r(a),s=e("./areOptionsEqual"),u=r(s)},{"./areOptionsEqual":184,"./wrapConnectorHooks":200}],189:[function(e,t,n){(function(t){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){Object.keys(e).forEach(function(t){(0,u["default"])(l.indexOf(t)>-1,'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',l.join(", "),t),(0,u["default"])("function"==typeof e[t],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html",t,t,e[t])});var t=function(){function t(e){o(this,t),this.monitor=e,this.props=null,this.component=null}return i(t,[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveMonitor",value:function(e){this.monitor=e}},{key:"receiveComponent",value:function(e){this.component=e}},{key:"canDrop",value:function(){return!e.canDrop||e.canDrop(this.props,this.monitor)}},{key:"hover",value:function(){e.hover&&e.hover(this.props,this.monitor,this.component)}},{key:"drop",value:function(){if(e.drop){var t=e.drop(this.props,this.monitor,this.component);return t}}}]),t}();return function(e){return new t(e)}}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=a;var s=e("invariant"),u=r(s),c=e("lodash/isPlainObject"),l=(r(c),["canDrop","hover","drop"])}).call(this,e("_process"))},{_process:162,invariant:59,"lodash/isPlainObject":152}],190:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e){return new l(e)}Object.defineProperty(n,"__esModule",{value:!0});var i=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=a;var s=e("invariant"),u=r(s),c=!1,l=function(){function e(t){o(this,e),this.internalMonitor=t.getMonitor()}return i(e,[{key:"receiveHandlerId",value:function(e){this.targetId=e}},{key:"canDrop",value:function(){(0,u["default"])(!c,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target-monitor.html");try{return c=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{c=!1}}},{key:"isOver",value:function(e){return this.internalMonitor.isOverTarget(this.targetId,e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),e}()},{invariant:59}],191:[function(e,t,n){(function(t){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function a(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}function s(e){var t,n,r=e.DecoratedComponent,s=e.createHandler,d=e.createMonitor,g=e.createConnector,m=e.registerHandler,b=e.containerDisplayName,E=e.getType,w=e.collect,D=e.options,S=D.arePropsEqual,x=void 0===S?O["default"]:S,k=r.displayName||r.name||"Component",P=(n=t=function(e){function t(e,n){o(this,t);var r=a(this,(t.__proto__||Object.getPrototypeOf(t)).call(this,e,n));return r.handleChange=r.handleChange.bind(r),r.handleChildRef=r.handleChildRef.bind(r),(0,y["default"])("object"===c(r.context.dragDropManager),"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",k,k),r.manager=r.context.dragDropManager,r.handlerMonitor=d(r.manager),r.handlerConnector=g(r.manager.getBackend()),r.handler=s(r.handlerMonitor),r.disposable=new v.SerialDisposable,r.receiveProps(e),r.state=r.getCurrentState(),r.dispose(),r}return i(t,e),l(t,[{key:"getHandlerId",value:function(){return this.handlerId}},{key:"getDecoratedComponentInstance",value:function(){return this.decoratedComponentInstance}},{key:"shouldComponentUpdate",value:function(e,t){return!x(e,this.props)||!(0,C["default"])(t,this.state)}}]),l(t,[{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0,this.disposable=new v.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()}},{key:"componentWillReceiveProps",value:function(e){x(e,this.props)||(this.receiveProps(e),this.handleChange())}},{key:"componentWillUnmount",value:function(){this.dispose(),this.isCurrentlyMounted=!1}},{key:"receiveProps",value:function(e){this.handler.receiveProps(e),this.receiveType(E(e))}},{key:"receiveType",value:function(e){if(e!==this.currentType){this.currentType=e;var t=m(e,this.handler,this.manager),n=t.handlerId,r=t.unregister;this.handlerId=n,this.handlerMonitor.receiveHandlerId(n),this.handlerConnector.receiveHandlerId(n);var o=this.manager.getMonitor(),a=o.subscribeToStateChange(this.handleChange,{handlerIds:[n]});this.disposable.setDisposable(new v.CompositeDisposable(new v.Disposable(a),new v.Disposable(r)))}}},{key:"handleChange",value:function(){if(this.isCurrentlyMounted){var e=this.getCurrentState();(0,C["default"])(e,this.state)||this.setState(e)}}},{key:"dispose",value:function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)}},{key:"handleChildRef",value:function(e){this.decoratedComponentInstance=e,this.handler.receiveComponent(e)}},{key:"getCurrentState",value:function(){var e=w(this.handlerConnector.hooks,this.handlerMonitor);return e}},{key:"render",value:function(){return f["default"].createElement(r,u({},this.props,this.state,{ref:T(r)?this.handleChildRef:null}))}}]),t}(p.Component),t.DecoratedComponent=r,t.displayName=b+"("+k+")",t.contextTypes={dragDropManager:h["default"].object.isRequired},n);return(0,_["default"])(P,r)}Object.defineProperty(n,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();n["default"]=s;var p=e("react"),f=r(p),d=e("prop-types"),h=r(d),v=e("disposables"),g=e("lodash/isPlainObject"),m=(r(g),e("invariant")),y=r(m),b=e("hoist-non-react-statics"),_=r(b),E=e("./utils/shallowEqual"),C=r(E),w=e("./utils/shallowEqualScalar"),O=r(w),T=function(e){return Boolean(e&&e.prototype&&"function"==typeof e.prototype.render)}}).call(this,e("_process"))},{"./utils/shallowEqual":198,"./utils/shallowEqualScalar":199,_process:162,disposables:16,"hoist-non-react-statics":58,invariant:59,"lodash/isPlainObject":152,"prop-types":167,react:353}],192:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var o=e("./DragDropContext");Object.defineProperty(n,"DragDropContext",{enumerable:!0,get:function(){return r(o)["default"]}});var a=e("./DragDropContextProvider");Object.defineProperty(n,"DragDropContextProvider",{enumerable:!0,get:function(){return r(a)["default"]}});var i=e("./DragLayer");Object.defineProperty(n,"DragLayer",{enumerable:!0,get:function(){return r(i)["default"]}});var s=e("./DragSource");Object.defineProperty(n,"DragSource",{enumerable:!0,get:function(){return r(s)["default"]}});var u=e("./DropTarget");Object.defineProperty(n,"DropTarget",{enumerable:!0,get:function(){return r(u)["default"]}})},{"./DragDropContext":179,"./DragDropContextProvider":180,"./DragLayer":181,"./DragSource":182,"./DropTarget":183}],193:[function(e,t,n){"use strict";function r(e,t,n){function r(){o.removeSource(a)}var o=n.getRegistry(),a=o.addSource(e,t);return{handlerId:a,unregister:r}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r},{}],194:[function(e,t,n){"use strict";function r(e,t,n){function r(){o.removeTarget(a)}var o=n.getRegistry(),a=o.addTarget(e,t);return{handlerId:a,unregister:r}}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r},{}],195:[function(e,t,n){(function(e){"use strict";function t(e,t){}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=t}).call(this,e("_process"))},{_process:162}],196:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){var n=e.ref;return(0,i["default"])("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?(0,s.cloneElement)(e,{ref:function(e){t(e),n&&n(e)}}):(0,s.cloneElement)(e,{ref:t})}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=o;var a=e("invariant"),i=r(a),s=e("react")},{invariant:59,react:353}],197:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t){return"string"==typeof e||"symbol"===("undefined"==typeof e?"undefined":a(e))||t&&(0,s["default"])(e)&&e.every(function(e){return o(e,!1)})}Object.defineProperty(n,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n["default"]=o;var i=e("lodash/isArray"),s=r(i)},{"lodash/isArray":144}],198:[function(e,t,n){arguments[4][178][0].apply(n,arguments)},{dup:178}],199:[function(e,t,n){"use strict";function r(e,t){if(e===t)return!0;if("object"!==("undefined"==typeof e?"undefined":o(e))||null===e||"object"!==("undefined"==typeof t?"undefined":o(t))||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var a=Object.prototype.hasOwnProperty,i=0;i<n.length;i+=1){if(!a.call(t,n[i]))return!1;var s=e[n[i]],u=t[n[i]];if(s!==u||"object"===("undefined"==typeof s?"undefined":o(s))||"object"===("undefined"==typeof u?"undefined":o(u)))return!1}return!0}Object.defineProperty(n,"__esModule",{value:!0});var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n["default"]=r},{}],200:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e){if("string"!=typeof e.type){var t=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors."+("You can either wrap "+t+" into a <div>, or turn it into a ")+"drag source or a drop target itself.")}}function a(e){return function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(0,s.isValidElement)(t)){var r=t;return void e(r,n)}var a=t;o(a);var i=n?function(t){return e(t,n)}:e;return(0,c["default"])(a,i)}}function i(e){var t={};return Object.keys(e).forEach(function(n){var r=e[n],o=a(r);t[n]=function(){return o}}),t}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=i;var s=e("react"),u=e("./utils/cloneWithRef"),c=r(u)},{"./utils/cloneWithRef":196,react:353}],201:[function(e,t,n){"use strict";t.exports=e("./lib/ReactDOM")},{"./lib/ReactDOM":231}],202:[function(e,t,n){"use strict";var r={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}};t.exports=r},{}],203:[function(e,t,n){"use strict";var r=e("./ReactDOMComponentTree"),o=e("fbjs/lib/focusNode"),a={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};t.exports=a},{"./ReactDOMComponentTree":234,"fbjs/lib/focusNode":44}],204:[function(e,t,n){"use strict";function r(){var e=window.opera;return"object"==typeof e&&"function"==typeof e.version&&parseInt(e.version(),10)<=12}function o(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}function a(e){switch(e){case"topCompositionStart":return D.compositionStart;case"topCompositionEnd":return D.compositionEnd;case"topCompositionUpdate":return D.compositionUpdate}}function i(e,t){return"topKeyDown"===e&&t.keyCode===b}function s(e,t){switch(e){case"topKeyUp":return y.indexOf(t.keyCode)!==-1;case"topKeyDown":return t.keyCode!==b;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function u(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}function c(e,t,n,r){var o,c;if(_?o=a(e):x?s(e,n)&&(o=D.compositionEnd):i(e,n)&&(o=D.compositionStart),!o)return null;w&&(x||o!==D.compositionStart?o===D.compositionEnd&&x&&(c=x.getData()):x=v.getPooled(r));var l=g.getPooled(o,t,n,r);if(c)l.data=c;else{var p=u(n);null!==p&&(l.data=p)}return d.accumulateTwoPhaseDispatches(l),l}function l(e,t){switch(e){case"topCompositionEnd":return u(t);case"topKeyPress":var n=t.which;return n!==O?null:(S=!0,T);case"topTextInput":var r=t.data;return r===T&&S?null:r;default:return null}}function p(e,t){if(x){if("topCompositionEnd"===e||!_&&s(e,t)){var n=x.getData();return v.release(x),x=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!o(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return w?null:t.data;default:return null}}function f(e,t,n,r){var o;if(o=C?l(e,n):p(e,n),!o)return null;var a=m.getPooled(D.beforeInput,t,n,r);return a.data=o,d.accumulateTwoPhaseDispatches(a),a}var d=e("./EventPropagators"),h=e("fbjs/lib/ExecutionEnvironment"),v=e("./FallbackCompositionState"),g=e("./SyntheticCompositionEvent"),m=e("./SyntheticInputEvent"),y=[9,13,27,32],b=229,_=h.canUseDOM&&"CompositionEvent"in window,E=null;h.canUseDOM&&"documentMode"in document&&(E=document.documentMode);var C=h.canUseDOM&&"TextEvent"in window&&!E&&!r(),w=h.canUseDOM&&(!_||E&&E>8&&E<=11),O=32,T=String.fromCharCode(O),D={
|
6 |
-
beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},S=!1,x=null,k={eventTypes:D,extractEvents:function(e,t,n,r){return[c(e,t,n,r),f(e,t,n,r)]}};t.exports=k},{"./EventPropagators":220,"./FallbackCompositionState":221,"./SyntheticCompositionEvent":285,"./SyntheticInputEvent":289,"fbjs/lib/ExecutionEnvironment":36}],205:[function(e,t,n){"use strict";function r(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}var o={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},a=["Webkit","ms","Moz","O"];Object.keys(o).forEach(function(e){a.forEach(function(t){o[r(t,e)]=o[e]})});var i={background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}},s={isUnitlessNumber:o,shorthandPropertyExpansions:i};t.exports=s},{}],206:[function(e,t,n){(function(n){"use strict";var r=e("./CSSProperty"),o=e("fbjs/lib/ExecutionEnvironment"),a=(e("./ReactInstrumentation"),e("fbjs/lib/camelizeStyleName"),e("./dangerousStyleValue")),i=e("fbjs/lib/hyphenateStyleName"),s=e("fbjs/lib/memoizeStringOnly"),u=(e("fbjs/lib/warning"),s(function(e){return i(e)})),c=!1,l="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(f){c=!0}void 0===document.documentElement.style.cssFloat&&(l="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),i=e[r];null!=i&&(n+=u(r)+":",n+=a(r,i,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var i in t)if(t.hasOwnProperty(i)){var s=0===i.indexOf("--"),u=a(i,t[i],n,s);if("float"!==i&&"cssFloat"!==i||(i=l),s)o.setProperty(i,u);else if(u)o[i]=u;else{var p=c&&r.shorthandPropertyExpansions[i];if(p)for(var f in p)o[f]="";else o[i]=""}}}};t.exports=d}).call(this,e("_process"))},{"./CSSProperty":205,"./ReactInstrumentation":263,"./dangerousStyleValue":302,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/camelizeStyleName":38,"fbjs/lib/hyphenateStyleName":49,"fbjs/lib/memoizeStringOnly":53,"fbjs/lib/warning":57}],207:[function(e,t,n){(function(n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var o=e("./reactProdInvariant"),a=e("./PooledClass"),i=(e("fbjs/lib/invariant"),function(){function e(t){r(this,e),this._callbacks=null,this._contexts=null,this._arg=t}return e.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},e.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length?o("24"):void 0,this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},e.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},e.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},e.prototype.reset=function(){this._callbacks=null,this._contexts=null},e.prototype.destructor=function(){this.reset()},e}());t.exports=a.addPoolingTo(i)}).call(this,e("_process"))},{"./PooledClass":225,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],208:[function(e,t,n){"use strict";function r(e,t,n){var r=D.getPooled(I.change,e,t,n);return r.type="change",C.accumulateTwoPhaseDispatches(r),r}function o(e){var t=e.nodeName&&e.nodeName.toLowerCase();return"select"===t||"input"===t&&"file"===e.type}function a(e){var t=r(M,e,x(e));T.batchedUpdates(i,t)}function i(e){E.enqueueEvents(e),E.processEventQueue(!1)}function s(e,t){R=e,M=t,R.attachEvent("onchange",a)}function u(){R&&(R.detachEvent("onchange",a),R=null,M=null)}function c(e,t){var n=S.updateValueIfChanged(e),r=t.simulated===!0&&A._allowSimulatedPassThrough;if(n||r)return e}function l(e,t){if("topChange"===e)return t}function p(e,t,n){"topFocus"===e?(u(),s(t,n)):"topBlur"===e&&u()}function f(e,t){R=e,M=t,R.attachEvent("onpropertychange",h)}function d(){R&&(R.detachEvent("onpropertychange",h),R=null,M=null)}function h(e){"value"===e.propertyName&&c(M,e)&&a(e)}function v(e,t,n){"topFocus"===e?(d(),f(t,n)):"topBlur"===e&&d()}function g(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return c(M,n)}function m(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}function y(e,t,n){if("topClick"===e)return c(t,n)}function b(e,t,n){if("topInput"===e||"topChange"===e)return c(t,n)}function _(e,t){if(null!=e){var n=e._wrapperState||t._wrapperState;if(n&&n.controlled&&"number"===t.type){var r=""+t.value;t.getAttribute("value")!==r&&t.setAttribute("value",r)}}}var E=e("./EventPluginHub"),C=e("./EventPropagators"),w=e("fbjs/lib/ExecutionEnvironment"),O=e("./ReactDOMComponentTree"),T=e("./ReactUpdates"),D=e("./SyntheticEvent"),S=e("./inputValueTracking"),x=e("./getEventTarget"),k=e("./isEventSupported"),P=e("./isTextInputElement"),I={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}},R=null,M=null,j=!1;w.canUseDOM&&(j=k("change")&&(!document.documentMode||document.documentMode>8));var N=!1;w.canUseDOM&&(N=k("input")&&(!document.documentMode||document.documentMode>9));var A={eventTypes:I,_allowSimulatedPassThrough:!0,_isInputEventSupported:N,extractEvents:function(e,t,n,a){var i,s,u=t?O.getNodeFromInstance(t):window;if(o(u)?j?i=l:s=p:P(u)?N?i=b:(i=g,s=v):m(u)&&(i=y),i){var c=i(e,t,n);if(c){var f=r(c,n,a);return f}}s&&s(e,u,t),"topBlur"===e&&_(t,u)}};t.exports=A},{"./EventPluginHub":217,"./EventPropagators":220,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./SyntheticEvent":287,"./getEventTarget":310,"./inputValueTracking":316,"./isEventSupported":318,"./isTextInputElement":319,"fbjs/lib/ExecutionEnvironment":36}],209:[function(e,t,n){(function(n){"use strict";function r(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}function o(e,t,n){l.insertTreeBefore(e,t,n)}function a(e,t,n){Array.isArray(t)?s(e,t[0],t[1],n):v(e,t,n)}function i(e,t){if(Array.isArray(t)){var n=t[1];t=t[0],u(e,t,n),e.removeChild(n)}e.removeChild(t)}function s(e,t,n,r){for(var o=t;;){var a=o.nextSibling;if(v(e,o,r),o===n)break;o=a}}function u(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}function c(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&v(r,document.createTextNode(n),o):n?(h(o,n),u(r,o,t)):u(r,e,t)}var l=e("./DOMLazyTree"),p=e("./Danger"),f=(e("./ReactDOMComponentTree"),e("./ReactInstrumentation"),e("./createMicrosoftUnsafeLocalFunction")),d=e("./setInnerHTML"),h=e("./setTextContent"),v=f(function(e,t,n){e.insertBefore(t,n)}),g=p.dangerouslyReplaceNodeWithMarkup,m={dangerouslyReplaceNodeWithMarkup:g,replaceDelimitedText:c,processUpdates:function(e,t){for(var n=0;n<t.length;n++){var s=t[n];switch(s.type){case"INSERT_MARKUP":o(e,s.content,r(e,s.afterNode));break;case"MOVE_EXISTING":a(e,s.fromNode,r(e,s.afterNode));break;case"SET_MARKUP":d(e,s.content);break;case"TEXT_CONTENT":h(e,s.content);break;case"REMOVE_NODE":i(e,s.fromNode)}}}};t.exports=m}).call(this,e("_process"))},{"./DOMLazyTree":210,"./Danger":214,"./ReactDOMComponentTree":234,"./ReactInstrumentation":263,"./createMicrosoftUnsafeLocalFunction":301,"./setInnerHTML":323,"./setTextContent":324,_process:162}],210:[function(e,t,n){"use strict";function r(e){if(g){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)m(t,n[r],null);else null!=e.html?p(t,e.html):null!=e.text&&d(t,e.text)}}function o(e,t){e.parentNode.replaceChild(t.node,e),r(t)}function a(e,t){g?e.children.push(t):e.node.appendChild(t.node)}function i(e,t){g?e.html=t:p(e.node,t)}function s(e,t){g?e.text=t:d(e.node,t)}function u(){return this.node.nodeName}function c(e){return{node:e,children:[],html:null,text:null,toString:u}}var l=e("./DOMNamespaces"),p=e("./setInnerHTML"),f=e("./createMicrosoftUnsafeLocalFunction"),d=e("./setTextContent"),h=1,v=11,g="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent),m=f(function(e,t,n){t.node.nodeType===v||t.node.nodeType===h&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===l.html)?(r(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),r(t))});c.insertTreeBefore=m,c.replaceChildWithTree=o,c.queueChild=a,c.queueHTML=i,c.queueText=s,t.exports=c},{"./DOMNamespaces":211,"./createMicrosoftUnsafeLocalFunction":301,"./setInnerHTML":323,"./setTextContent":324}],211:[function(e,t,n){"use strict";var r={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"};t.exports=r},{}],212:[function(e,t,n){(function(n){"use strict";function r(e,t){return(e&t)===t}var o=e("./reactProdInvariant"),a=(e("fbjs/lib/invariant"),{MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t=a,n=e.Properties||{},i=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},c=e.DOMPropertyNames||{},l=e.DOMMutationMethods||{};e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute);for(var p in n){s.properties.hasOwnProperty(p)?o("48",p):void 0;var f=p.toLowerCase(),d=n[p],h={attributeName:f,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:r(d,t.MUST_USE_PROPERTY),hasBooleanValue:r(d,t.HAS_BOOLEAN_VALUE),hasNumericValue:r(d,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:r(d,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:r(d,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1?void 0:o("50",p),u.hasOwnProperty(p)){var v=u[p];h.attributeName=v}i.hasOwnProperty(p)&&(h.attributeNamespace=i[p]),c.hasOwnProperty(p)&&(h.propertyName=c[p]),l.hasOwnProperty(p)&&(h.mutationMethod=l[p]),s.properties[p]=h}}}),i=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",s={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:i,ATTRIBUTE_NAME_CHAR:i+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){var n=s._isCustomAttributeFunctions[t];if(n(e))return!0}return!1},injection:a};t.exports=s}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],213:[function(e,t,n){(function(n){"use strict";function r(e){return!!c.hasOwnProperty(e)||!u.hasOwnProperty(e)&&(s.test(e)?(c[e]=!0,!0):(u[e]=!0,!1))}function o(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&t===!1}var a=e("./DOMProperty"),i=(e("./ReactDOMComponentTree"),e("./ReactInstrumentation"),e("./quoteAttributeValueForBrowser")),s=(e("fbjs/lib/warning"),new RegExp("^["+a.ATTRIBUTE_NAME_START_CHAR+"]["+a.ATTRIBUTE_NAME_CHAR+"]*$")),u={},c={},l={createMarkupForID:function(e){return a.ID_ATTRIBUTE_NAME+"="+i(e)},setAttributeForID:function(e,t){e.setAttribute(a.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return a.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(a.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=a.properties.hasOwnProperty(e)?a.properties[e]:null;if(n){if(o(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&t===!0?r+'=""':r+"="+i(t)}return a.isCustomAttribute(e)?null==t?"":e+"="+i(t):null},createMarkupForCustomAttribute:function(e,t){return r(e)&&null!=t?e+"="+i(t):""},setValueForProperty:function(e,t,n){var r=a.properties.hasOwnProperty(t)?a.properties[t]:null;if(r){var i=r.mutationMethod;if(i)i(e,n);else{if(o(r,n))return void this.deleteValueForProperty(e,t);if(r.mustUseProperty)e[r.propertyName]=n;else{var s=r.attributeName,u=r.attributeNamespace;u?e.setAttributeNS(u,s,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&n===!0?e.setAttribute(s,""):e.setAttribute(s,""+n)}}}else if(a.isCustomAttribute(t))return void l.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){if(r(t)){null==n?e.removeAttribute(t):e.setAttribute(t,""+n)}},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=a.properties.hasOwnProperty(t)?a.properties[t]:null;if(n){var r=n.mutationMethod;if(r)r(e,void 0);else if(n.mustUseProperty){var o=n.propertyName;n.hasBooleanValue?e[o]=!1:e[o]=""}else e.removeAttribute(n.attributeName)}else a.isCustomAttribute(t)&&e.removeAttribute(t)}};t.exports=l}).call(this,e("_process"))},{"./DOMProperty":212,"./ReactDOMComponentTree":234,"./ReactInstrumentation":263,"./quoteAttributeValueForBrowser":320,_process:162,"fbjs/lib/warning":57}],214:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=e("./DOMLazyTree"),a=e("fbjs/lib/ExecutionEnvironment"),i=e("fbjs/lib/createNodesFromMarkup"),s=e("fbjs/lib/emptyFunction"),u=(e("fbjs/lib/invariant"),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(a.canUseDOM?void 0:r("56"),t?void 0:r("57"),"HTML"===e.nodeName?r("58"):void 0,"string"==typeof t){var n=i(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});t.exports=u}).call(this,e("_process"))},{"./DOMLazyTree":210,"./reactProdInvariant":321,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/createNodesFromMarkup":41,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50}],215:[function(e,t,n){"use strict";var r=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"];t.exports=r},{}],216:[function(e,t,n){"use strict";var r=e("./EventPropagators"),o=e("./ReactDOMComponentTree"),a=e("./SyntheticMouseEvent"),i={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:i,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u;if(s.window===s)u=s;else{var c=s.ownerDocument;u=c?c.defaultView||c.parentWindow:window}var l,p;if("topMouseOut"===e){l=t;var f=n.relatedTarget||n.toElement;p=f?o.getClosestInstanceFromNode(f):null}else l=null,p=t;if(l===p)return null;var d=null==l?u:o.getNodeFromInstance(l),h=null==p?u:o.getNodeFromInstance(p),v=a.getPooled(i.mouseLeave,l,n,s);v.type="mouseleave",v.target=d,v.relatedTarget=h;var g=a.getPooled(i.mouseEnter,p,n,s);return g.type="mouseenter",g.target=h,g.relatedTarget=d,r.accumulateEnterLeaveDispatches(v,g,l,p),[v,g]}};t.exports=s},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./SyntheticMouseEvent":291}],217:[function(e,t,n){(function(n){"use strict";function r(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}function o(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return!(!n.disabled||!r(t));default:return!1}}var a=e("./reactProdInvariant"),i=e("./EventPluginRegistry"),s=e("./EventPluginUtils"),u=e("./ReactErrorUtils"),c=e("./accumulateInto"),l=e("./forEachAccumulated"),p=(e("fbjs/lib/invariant"),{}),f=null,d=function(e,t){e&&(s.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},h=function(e){return d(e,!0)},v=function(e){return d(e,!1)},g=function(e){return"."+e._rootNodeID},m={injection:{injectEventPluginOrder:i.injectEventPluginOrder,injectEventPluginsByName:i.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n?a("94",t,typeof n):void 0;var r=g(e),o=p[t]||(p[t]={});o[r]=n;var s=i.registrationNameModules[t];s&&s.didPutListener&&s.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(o(t,e._currentElement.type,e._currentElement.props))return null;var r=g(e);return n&&n[r]},deleteListener:function(e,t){var n=i.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=p[t];if(r){var o=g(e);delete r[o]}},deleteAllListeners:function(e){var t=g(e);for(var n in p)if(p.hasOwnProperty(n)&&p[n][t]){var r=i.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete p[n][t]}},extractEvents:function(e,t,n,r){for(var o,a=i.plugins,s=0;s<a.length;s++){var u=a[s];if(u){var l=u.extractEvents(e,t,n,r);l&&(o=c(o,l))}}return o},enqueueEvents:function(e){e&&(f=c(f,e))},processEventQueue:function(e){var t=f;f=null,e?l(t,h):l(t,v),f?a("95"):void 0,u.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};t.exports=m}).call(this,e("_process"))},{"./EventPluginRegistry":218,"./EventPluginUtils":219,"./ReactErrorUtils":254,"./accumulateInto":298,"./forEachAccumulated":306,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],218:[function(e,t,n){(function(n){"use strict";function r(){if(s)for(var e in u){var t=u[e],n=s.indexOf(e);if(n>-1?void 0:i("96",e),!c.plugins[n]){t.extractEvents?void 0:i("97",e),c.plugins[n]=t;var r=t.eventTypes;for(var a in r)o(r[a],t,a)?void 0:i("98",a,e)}}}function o(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)?i("99",n):void 0,c.eventNameDispatchConfigs[n]=e;var r=e.phasedRegistrationNames;if(r){for(var o in r)if(r.hasOwnProperty(o)){var s=r[o];a(s,t,n)}return!0}return!!e.registrationName&&(a(e.registrationName,t,n),!0)}function a(e,t,n){c.registrationNameModules[e]?i("100",e):void 0,c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var i=e("./reactProdInvariant"),s=(e("fbjs/lib/invariant"),null),u={},c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){s?i("101"):void 0,s=Array.prototype.slice.call(e),r()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];u.hasOwnProperty(n)&&u[n]===o||(u[n]?i("102",n):void 0,u[n]=o,t=!0)}t&&r()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return c.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=c.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){s=null;for(var e in u)u.hasOwnProperty(e)&&delete u[e];c.plugins.length=0;var t=c.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=c.registrationNameModules;for(var o in r)r.hasOwnProperty(o)&&delete r[o]}};t.exports=c}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],219:[function(e,t,n){(function(n){"use strict";function r(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e}function o(e){return"topMouseMove"===e||"topTouchMove"===e}function a(e){return"topMouseDown"===e||"topTouchStart"===e}function i(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=m.getNodeFromInstance(r),t?v.invokeGuardedCallbackWithCatch(o,n,e):v.invokeGuardedCallback(o,n,e),e.currentTarget=null}function s(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)i(e,t,n[o],r[o]);else n&&i(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null}function u(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}function c(e){var t=u(e);return e._dispatchInstances=null,e._dispatchListeners=null,t}function l(e){var t=e._dispatchListeners,n=e._dispatchInstances;Array.isArray(t)?h("103"):void 0,e.currentTarget=t?m.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r}function p(e){return!!e._dispatchListeners}var f,d,h=e("./reactProdInvariant"),v=e("./ReactErrorUtils"),g=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),{injectComponentTree:function(e){f=e},injectTreeTraversal:function(e){d=e}}),m={isEndish:r,isMoveish:o,isStartish:a,executeDirectDispatch:l,executeDispatchesInOrder:s,executeDispatchesInOrderStopAtTrue:c,hasDispatches:p,getInstanceFromNode:function(e){return f.getInstanceFromNode(e)},getNodeFromInstance:function(e){return f.getNodeFromInstance(e)},isAncestor:function(e,t){return d.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return d.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return d.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return d.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return d.traverseEnterLeave(e,t,n,r,o)},injection:g};t.exports=m}).call(this,e("_process"))},{"./ReactErrorUtils":254,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],220:[function(e,t,n){(function(n){"use strict";function r(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return m(e,r)}function o(e,t,n){var o=r(e,n,t);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}function a(e){e&&e.dispatchConfig.phasedRegistrationNames&&h.traverseTwoPhase(e._targetInst,o,e)}function i(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?h.getParentInstance(t):null;h.traverseTwoPhase(n,o,e)}}function s(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=m(e,r);o&&(n._dispatchListeners=v(n._dispatchListeners,o),n._dispatchInstances=v(n._dispatchInstances,e))}}function u(e){e&&e.dispatchConfig.registrationName&&s(e._targetInst,null,e)}function c(e){g(e,a)}function l(e){g(e,i)}function p(e,t,n,r){h.traverseEnterLeave(n,r,s,e,t)}function f(e){g(e,u)}var d=e("./EventPluginHub"),h=e("./EventPluginUtils"),v=e("./accumulateInto"),g=e("./forEachAccumulated"),m=(e("fbjs/lib/warning"),d.getListener),y={accumulateTwoPhaseDispatches:c,accumulateTwoPhaseDispatchesSkipTarget:l,accumulateDirectDispatches:f,accumulateEnterLeaveDispatches:p};t.exports=y}).call(this,e("_process"))},{"./EventPluginHub":217,"./EventPluginUtils":219,"./accumulateInto":298,"./forEachAccumulated":306,_process:162,"fbjs/lib/warning":57}],221:[function(e,t,n){"use strict";function r(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}var o=e("object-assign"),a=e("./PooledClass"),i=e("./getTextContentAccessor");o(r.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[i()]},getData:function(){if(this._fallbackText)return this._fallbackText;var e,t,n=this._startText,r=n.length,o=this.getText(),a=o.length;for(e=0;e<r&&n[e]===o[e];e++);var i=r-e;for(t=1;t<=i&&n[r-t]===o[a-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),a.addPoolingTo(r),t.exports=r},{"./PooledClass":225,"./getTextContentAccessor":314,"object-assign":161}],222:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=r.injection.MUST_USE_PROPERTY,a=r.injection.HAS_BOOLEAN_VALUE,i=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,c={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:a,allowTransparency:0,alt:0,as:0,async:a,autoComplete:0,autoPlay:a,capture:a,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|a,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:a,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,"default":a,defer:a,dir:0,disabled:a,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:a,formTarget:0,frameBorder:0,headers:0,height:0,hidden:a,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:a,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|a,muted:o|a,name:0,nonce:0,noValidate:a,open:a,optimum:0,pattern:0,placeholder:0,playsInline:a,poster:0,preload:0,profile:0,radioGroup:0,readOnly:a,referrerPolicy:0,rel:0,required:a,reversed:a,role:0,rows:s,rowSpan:i,sandbox:0,scope:0,scoped:a,scrolling:0,seamless:a,selected:o|a,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:i,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,"typeof":0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:a,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){return null==t?e.removeAttribute("value"):void("number"!==e.type||e.hasAttribute("value")===!1?e.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t))}}};t.exports=c},{"./DOMProperty":212}],223:[function(e,t,n){"use strict";function r(e){var t=/[=:]/g,n={"=":"=0",":":"=2"},r=(""+e).replace(t,function(e){return n[e]});return"$"+r}function o(e){var t=/(=0|=2)/g,n={"=0":"=","=2":":"},r="."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1);return(""+r).replace(t,function(e){return n[e]})}var a={escape:r,unescape:o};t.exports=a},{}],224:[function(e,t,n){(function(n){"use strict";function r(e){null!=e.checkedLink&&null!=e.valueLink?s("87"):void 0}function o(e){r(e),null!=e.value||null!=e.onChange?s("88"):void 0}function a(e){r(e),null!=e.checked||null!=e.onChange?s("89"):void 0}function i(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var s=e("./reactProdInvariant"),u=e("./ReactPropTypesSecret"),c=e("prop-types/factory"),l=e("react/lib/React"),p=c(l.isValidElement),f=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0}),d={value:function(e,t,n){return!e[t]||f[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:p.func},h={},v={checkPropTypes:function(e,t,n){for(var r in d){if(d.hasOwnProperty(r))var o=d[r](t,r,e,"prop",null,u);if(o instanceof Error&&!(o.message in h)){h[o.message]=!0;i(n)}}},getValue:function(e){return e.valueLink?(o(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(a(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(o(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(a(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};t.exports=v}).call(this,e("_process"))},{"./ReactPropTypesSecret":271,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"prop-types/factory":164,"react/lib/React":330}],225:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=(e("fbjs/lib/invariant"),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},i=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var a=o.instancePool.pop();return o.call(a,e,t,n,r),a}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,l=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||l,n.poolSize||(n.poolSize=c),n.release=u,n},f={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:a,threeArgumentPooler:i,fourArgumentPooler:s};t.exports=f}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],226:[function(e,t,n){"use strict";function r(e){return Object.prototype.hasOwnProperty.call(e,v)||(e[v]=d++,p[e[v]]={}),p[e[v]]}var o,a=e("object-assign"),i=e("./EventPluginRegistry"),s=e("./ReactEventEmitterMixin"),u=e("./ViewportMetrics"),c=e("./getVendorPrefixedEventName"),l=e("./isEventSupported"),p={},f=!1,d=0,h={topAbort:"abort",topAnimationEnd:c("animationend")||"animationend",topAnimationIteration:c("animationiteration")||"animationiteration",topAnimationStart:c("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",
|
7 |
-
topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:c("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},v="_reactListenersID"+String(Math.random()).slice(2),g=a({},s,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,o=r(n),a=i.registrationNameDependencies[e],s=0;s<a.length;s++){var u=a[s];o.hasOwnProperty(u)&&o[u]||("topWheel"===u?l("wheel")?g.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):l("mousewheel")?g.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):g.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===u?l("scroll",!0)?g.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):g.ReactEventListener.trapBubbledEvent("topScroll","scroll",g.ReactEventListener.WINDOW_HANDLE):"topFocus"===u||"topBlur"===u?(l("focus",!0)?(g.ReactEventListener.trapCapturedEvent("topFocus","focus",n),g.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):l("focusin")&&(g.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),g.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),o.topBlur=!0,o.topFocus=!0):h.hasOwnProperty(u)&&g.ReactEventListener.trapBubbledEvent(u,h[u],n),o[u]=!0)}},trapBubbledEvent:function(e,t,n){return g.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return g.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){if(void 0===o&&(o=g.supportsEventPageXY()),!o&&!f){var e=u.refreshScrollValues;g.ReactEventListener.monitorScrollValue(e),f=!0}}});t.exports=g},{"./EventPluginRegistry":218,"./ReactEventEmitterMixin":255,"./ViewportMetrics":297,"./getVendorPrefixedEventName":315,"./isEventSupported":318,"object-assign":161}],227:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=a(t,!0))}var o=e("./ReactReconciler"),a=e("./instantiateReactComponent"),i=(e("./KeyEscapeUtils"),e("./shouldUpdateReactComponent")),s=e("./traverseAllChildren");e("fbjs/lib/warning");"undefined"!=typeof n&&n.env,1;var u={instantiateChildren:function(e,t,n,o){if(null==e)return null;var a={};return s(e,r,a),a},updateChildren:function(e,t,n,r,s,u,c,l,p){if(t||e){var f,d;for(f in t)if(t.hasOwnProperty(f)){d=e&&e[f];var h=d&&d._currentElement,v=t[f];if(null!=d&&i(h,v))o.receiveComponent(d,v,s,l),t[f]=d;else{d&&(r[f]=o.getHostNode(d),o.unmountComponent(d,!1));var g=a(v,!0);t[f]=g;var m=o.mountComponent(g,s,u,c,l,p);n.push(m)}}for(f in e)!e.hasOwnProperty(f)||t&&t.hasOwnProperty(f)||(d=e[f],r[f]=o.getHostNode(d),o.unmountComponent(d,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];o.unmountComponent(r,t)}}};t.exports=u}).call(this,e("_process"))},{"./KeyEscapeUtils":223,"./ReactReconciler":273,"./instantiateReactComponent":317,"./shouldUpdateReactComponent":325,"./traverseAllChildren":326,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],228:[function(e,t,n){"use strict";var r=e("./DOMChildrenOperations"),o=e("./ReactDOMIDOperations"),a={processChildrenUpdates:o.dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};t.exports=a},{"./DOMChildrenOperations":209,"./ReactDOMIDOperations":238}],229:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=(e("fbjs/lib/invariant"),!1),a={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o?r("104"):void 0,a.replaceNodeWithMarkup=e.replaceNodeWithMarkup,a.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};t.exports=a}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],230:[function(e,t,n){(function(n){"use strict";function r(e){}function o(e,t){}function a(e){return!(!e.prototype||!e.prototype.isReactComponent)}function i(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}var s=e("./reactProdInvariant"),u=e("object-assign"),c=e("react/lib/React"),l=e("./ReactComponentEnvironment"),p=e("react/lib/ReactCurrentOwner"),f=e("./ReactErrorUtils"),d=e("./ReactInstanceMap"),h=(e("./ReactInstrumentation"),e("./ReactNodeTypes")),v=e("./ReactReconciler"),g=e("fbjs/lib/emptyObject"),m=(e("fbjs/lib/invariant"),e("fbjs/lib/shallowEqual")),y=e("./shouldUpdateReactComponent"),b=(e("fbjs/lib/warning"),{ImpureClass:0,PureClass:1,StatelessFunctional:2});r.prototype.render=function(){var e=d.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return o(e,t),t};var _=1,E={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,u){this._context=u,this._mountOrder=_++,this._hostParent=t,this._hostContainerInfo=n;var l,p=this._currentElement.props,f=this._processContext(u),h=this._currentElement.type,v=e.getUpdateQueue(),m=a(h),y=this._constructComponent(m,p,f,v);m||null!=y&&null!=y.render?i(h)?this._compositeType=b.PureClass:this._compositeType=b.ImpureClass:(l=y,o(h,l),null===y||y===!1||c.isValidElement(y)?void 0:s("105",h.displayName||h.name||"Component"),y=new r(h),this._compositeType=b.StatelessFunctional);y.props=p,y.context=f,y.refs=g,y.updater=v,this._instance=y,d.set(y,this);var E=y.state;void 0===E&&(y.state=E=null),"object"!=typeof E||Array.isArray(E)?s("106",this.getName()||"ReactCompositeComponent"):void 0,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1;var C;return C=y.unstable_handleError?this.performInitialMountWithErrorHandling(l,t,n,e,u):this.performInitialMount(l,t,n,e,u),y.componentDidMount&&e.getReactMountReady().enqueue(y.componentDidMount,y),C},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(e,t,n,r,o){var a,i=r.checkpoint();try{a=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(i),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),i=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(i),a=this.performInitialMount(e,t,n,r,o)}return a},performInitialMount:function(e,t,n,r,o){var a=this._instance,i=0;a.componentWillMount&&(a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),void 0===e&&(e=this._renderValidatedComponent());var s=h.getType(e);this._renderedNodeType=s;var u=this._instantiateReactComponent(e,s!==h.EMPTY);this._renderedComponent=u;var c=v.mountComponent(u,r,t,n,this._processChildContext(o),i);return c},getHostNode:function(){return v.getHostNode(this._renderedComponent)},unmountComponent:function(e){if(this._renderedComponent){var t=this._instance;if(t.componentWillUnmount&&!t._calledComponentWillUnmount)if(t._calledComponentWillUnmount=!0,e){var n=this.getName()+".componentWillUnmount()";f.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(v.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,d.remove(t)}},_maskContext:function(e){var t=this._currentElement.type,n=t.contextTypes;if(!n)return g;var r={};for(var o in n)r[o]=e[o];return r},_processContext:function(e){var t=this._maskContext(e);return t},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){"object"!=typeof n.childContextTypes?s("107",this.getName()||"ReactCompositeComponent"):void 0;for(var o in t)o in n.childContextTypes?void 0:s("108",this.getName()||"ReactCompositeComponent",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?v.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var a=this._instance;null==a?s("136",this.getName()||"ReactCompositeComponent"):void 0;var i,u=!1;this._context===o?i=a.context:(i=this._processContext(o),u=!0);var c=t.props,l=n.props;t!==n&&(u=!0),u&&a.componentWillReceiveProps&&a.componentWillReceiveProps(l,i);var p=this._processPendingState(l,i),f=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?f=a.shouldComponentUpdate(l,p,i):this._compositeType===b.PureClass&&(f=!m(c,l)||!m(a.state,p))),this._updateBatchNumber=null,f?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,l,p,i,e,o)):(this._currentElement=n,this._context=o,a.props=l,a.state=p,a.context=i)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var a=u({},o?r[0]:n.state),i=o?1:0;i<r.length;i++){var s=r[i];u(a,"function"==typeof s?s.call(n,a,e,t):s)}return a},_performComponentUpdate:function(e,t,n,r,o,a){var i,s,u,c=this._instance,l=Boolean(c.componentDidUpdate);l&&(i=c.props,s=c.state,u=c.context),c.componentWillUpdate&&c.componentWillUpdate(t,n,r),this._currentElement=e,this._context=a,c.props=t,c.state=n,c.context=r,this._updateRenderedComponent(o,a),l&&o.getReactMountReady().enqueue(c.componentDidUpdate.bind(c,i,s,u),c)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent(),a=0;if(y(r,o))v.receiveComponent(n,o,e,this._processChildContext(t));else{var i=v.getHostNode(n);v.unmountComponent(n,!1);var s=h.getType(o);this._renderedNodeType=s;var u=this._instantiateReactComponent(o,s!==h.EMPTY);this._renderedComponent=u;var c=v.mountComponent(u,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),a);this._replaceNodeWithMarkup(i,c,n)}},_replaceNodeWithMarkup:function(e,t,n){l.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e,t=this._instance;return e=t.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==b.StatelessFunctional){p.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{p.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||e===!1||c.isValidElement(e)?void 0:s("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n?s("110"):void 0;var r=t.getPublicInstance(),o=n.refs===g?n.refs={}:n.refs;o[e]=r},detachRef:function(e){var t=this.getPublicInstance().refs;delete t[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===b.StatelessFunctional?null:e},_instantiateReactComponent:null};t.exports=E}).call(this,e("_process"))},{"./ReactComponentEnvironment":229,"./ReactErrorUtils":254,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactNodeTypes":268,"./ReactReconciler":273,"./checkReactTypeSpec":300,"./reactProdInvariant":321,"./shouldUpdateReactComponent":325,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/shallowEqual":56,"fbjs/lib/warning":57,"object-assign":161,"react/lib/React":330,"react/lib/ReactCurrentOwner":334}],231:[function(e,t,n){(function(n){"use strict";var r=e("./ReactDOMComponentTree"),o=e("./ReactDefaultInjection"),a=e("./ReactMount"),i=e("./ReactReconciler"),s=e("./ReactUpdates"),u=e("./ReactVersion"),c=e("./findDOMNode"),l=e("./getHostComponentFromComposite"),p=e("./renderSubtreeIntoContainer");e("fbjs/lib/warning");o.inject();var f={findDOMNode:c,render:a.render,unmountComponentAtNode:a.unmountComponentAtNode,version:u,unstable_batchedUpdates:s.batchedUpdates,unstable_renderSubtreeIntoContainer:p};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:r.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=l(e)),e?r.getNodeFromInstance(e):null}},Mount:a,Reconciler:i});t.exports=f}).call(this,e("_process"))},{"./ReactDOMComponentTree":234,"./ReactDOMInvalidARIAHook":240,"./ReactDOMNullInputValuePropHook":241,"./ReactDOMUnknownPropertyHook":248,"./ReactDefaultInjection":251,"./ReactInstrumentation":263,"./ReactMount":266,"./ReactReconciler":273,"./ReactUpdates":278,"./ReactVersion":279,"./findDOMNode":304,"./getHostComponentFromComposite":311,"./renderSubtreeIntoContainer":322,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/warning":57}],232:[function(e,t,n){(function(n){"use strict";function r(e){if(e){var t=e._currentElement._owner||null;if(t){var n=t.getName();if(n)return" This DOM node was rendered by `"+n+"`."}}return""}function o(e,t){t&&(Q[e._tag]&&(null!=t.children||null!=t.dangerouslySetInnerHTML?g("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":""):void 0),null!=t.dangerouslySetInnerHTML&&(null!=t.children?g("60"):void 0,"object"==typeof t.dangerouslySetInnerHTML&&q in t.dangerouslySetInnerHTML?void 0:g("61")),null!=t.style&&"object"!=typeof t.style?g("62",r(e)):void 0)}function a(e,t,n,r){if(!(r instanceof j)){var o=e._hostContainerInfo,a=o._node&&o._node.nodeType===z,s=a?o._node:o._ownerDocument;H(t,s),r.getReactMountReady().enqueue(i,{inst:e,registrationName:t,listener:n})}}function i(){var e=this;O.putListener(e.inst,e.registrationName,e.listener)}function s(){var e=this;k.postMountWrapper(e)}function u(){var e=this;R.postMountWrapper(e)}function c(){var e=this;P.postMountWrapper(e)}function l(){A.track(this)}function p(){var e=this;e._rootNodeID?void 0:g("63");var t=F(e);switch(t?void 0:g("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[D.trapBubbledEvent("topLoad","load",t)];break;case"video":case"audio":e._wrapperState.listeners=[];for(var n in G)G.hasOwnProperty(n)&&e._wrapperState.listeners.push(D.trapBubbledEvent(n,G[n],t));break;case"source":e._wrapperState.listeners=[D.trapBubbledEvent("topError","error",t)];break;case"img":e._wrapperState.listeners=[D.trapBubbledEvent("topError","error",t),D.trapBubbledEvent("topLoad","load",t)];break;case"form":e._wrapperState.listeners=[D.trapBubbledEvent("topReset","reset",t),D.trapBubbledEvent("topSubmit","submit",t)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[D.trapBubbledEvent("topInvalid","invalid",t)]}}function f(){I.postUpdateWrapper(this)}function d(e){Z.call(J,e)||($.test(e)?void 0:g("65",e),J[e]=!0)}function h(e,t){return e.indexOf("-")>=0||null!=t.is}function v(e){var t=e.type;d(t),this._currentElement=e,this._tag=t.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}var g=e("./reactProdInvariant"),m=e("object-assign"),y=e("./AutoFocusUtils"),b=e("./CSSPropertyOperations"),_=e("./DOMLazyTree"),E=e("./DOMNamespaces"),C=e("./DOMProperty"),w=e("./DOMPropertyOperations"),O=e("./EventPluginHub"),T=e("./EventPluginRegistry"),D=e("./ReactBrowserEventEmitter"),S=e("./ReactDOMComponentFlags"),x=e("./ReactDOMComponentTree"),k=e("./ReactDOMInput"),P=e("./ReactDOMOption"),I=e("./ReactDOMSelect"),R=e("./ReactDOMTextarea"),M=(e("./ReactInstrumentation"),e("./ReactMultiChild")),j=e("./ReactServerRenderingTransaction"),N=(e("fbjs/lib/emptyFunction"),e("./escapeTextContentForBrowser")),A=(e("fbjs/lib/invariant"),e("./isEventSupported"),e("fbjs/lib/shallowEqual"),e("./inputValueTracking")),L=(e("./validateDOMNesting"),e("fbjs/lib/warning"),S),U=O.deleteListener,F=x.getNodeFromInstance,H=D.listenTo,B=T.registrationNameModules,V={string:!0,number:!0},W="style",q="__html",K={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},z=11,G={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"},Y={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},X={listing:!0,pre:!0,textarea:!0},Q=m({menuitem:!0},Y),$=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,J={},Z={}.hasOwnProperty,ee=1;v.displayName="ReactDOMComponent",v.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=ee++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var a=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(p,this);break;case"input":k.mountWrapper(this,a,t),a=k.getHostProps(this,a),e.getReactMountReady().enqueue(l,this),e.getReactMountReady().enqueue(p,this);break;case"option":P.mountWrapper(this,a,t),a=P.getHostProps(this,a);break;case"select":I.mountWrapper(this,a,t),a=I.getHostProps(this,a),e.getReactMountReady().enqueue(p,this);break;case"textarea":R.mountWrapper(this,a,t),a=R.getHostProps(this,a),e.getReactMountReady().enqueue(l,this),e.getReactMountReady().enqueue(p,this)}o(this,a);var i,f;null!=t?(i=t._namespaceURI,f=t._tag):n._tag&&(i=n._namespaceURI,f=n._tag),(null==i||i===E.svg&&"foreignobject"===f)&&(i=E.html),i===E.html&&("svg"===this._tag?i=E.svg:"math"===this._tag&&(i=E.mathml)),this._namespaceURI=i;var d;if(e.useCreateElement){var h,v=n._ownerDocument;if(i===E.html)if("script"===this._tag){var g=v.createElement("div"),m=this._currentElement.type;g.innerHTML="<"+m+"></"+m+">",h=g.removeChild(g.firstChild)}else h=a.is?v.createElement(this._currentElement.type,a.is):v.createElement(this._currentElement.type);else h=v.createElementNS(i,this._currentElement.type);x.precacheNode(this,h),this._flags|=L.hasCachedChildNodes,this._hostParent||w.setAttributeForRoot(h),this._updateDOMProperties(null,a,e);var b=_(h);this._createInitialChildren(e,a,r,b),d=b}else{var C=this._createOpenTagMarkupAndPutListeners(e,a),O=this._createContentMarkup(e,a,r);d=!O&&Y[this._tag]?C+"/>":C+">"+O+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(s,this),a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(u,this),a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"select":a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"button":a.autoFocus&&e.getReactMountReady().enqueue(y.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(c,this)}return d},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var o=t[r];if(null!=o)if(B.hasOwnProperty(r))o&&a(this,r,o,e);else{r===W&&(o&&(o=this._previousStyleCopy=m({},t.style)),o=b.createMarkupForStyles(o,this));var i=null;null!=this._tag&&h(this._tag,t)?K.hasOwnProperty(r)||(i=w.createMarkupForCustomAttribute(r,o)):i=w.createMarkupForProperty(r,o),i&&(n+=" "+i)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+w.createMarkupForRoot()),n+=" "+w.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var a=V[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)r=N(a);else if(null!=i){var s=this.mountChildren(i,e,n);r=s.join("")}}return X[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&_.queueHTML(r,o.__html);else{var a=V[typeof t.children]?t.children:null,i=null!=a?null:t.children;if(null!=a)""!==a&&_.queueText(r,a);else if(null!=i)for(var s=this.mountChildren(i,e,n),u=0;u<s.length;u++)_.queueChild(r,s[u])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var a=t.props,i=this._currentElement.props;switch(this._tag){case"input":a=k.getHostProps(this,a),i=k.getHostProps(this,i);break;case"option":a=P.getHostProps(this,a),i=P.getHostProps(this,i);break;case"select":a=I.getHostProps(this,a),i=I.getHostProps(this,i);break;case"textarea":a=R.getHostProps(this,a),i=R.getHostProps(this,i)}switch(o(this,i),this._updateDOMProperties(a,i,e),this._updateDOMChildren(a,i,e,r),this._tag){case"input":k.updateWrapper(this),A.updateValueIfChanged(this);break;case"textarea":R.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(f,this)}},_updateDOMProperties:function(e,t,n){var r,o,i;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===W){var s=this._previousStyleCopy;for(o in s)s.hasOwnProperty(o)&&(i=i||{},i[o]="");this._previousStyleCopy=null}else B.hasOwnProperty(r)?e[r]&&U(this,r):h(this._tag,e)?K.hasOwnProperty(r)||w.deleteValueForAttribute(F(this),r):(C.properties[r]||C.isCustomAttribute(r))&&w.deleteValueForProperty(F(this),r);for(r in t){var u=t[r],c=r===W?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==c&&(null!=u||null!=c))if(r===W)if(u?u=this._previousStyleCopy=m({},u):this._previousStyleCopy=null,c){for(o in c)!c.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||(i=i||{},i[o]="");for(o in u)u.hasOwnProperty(o)&&c[o]!==u[o]&&(i=i||{},i[o]=u[o])}else i=u;else if(B.hasOwnProperty(r))u?a(this,r,u,n):c&&U(this,r);else if(h(this._tag,t))K.hasOwnProperty(r)||w.setValueForAttribute(F(this),r,u);else if(C.properties[r]||C.isCustomAttribute(r)){var l=F(this);null!=u?w.setValueForProperty(l,r,u):w.deleteValueForProperty(l,r)}}i&&b.setValueForStyles(F(this),i,this)},_updateDOMChildren:function(e,t,n,r){var o=V[typeof e.children]?e.children:null,a=V[typeof t.children]?t.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,c=null!=a?null:t.children,l=null!=o||null!=i,p=null!=a||null!=s;null!=u&&null==c?this.updateChildren(null,n,r):l&&!p&&this.updateTextContent(""),null!=a?o!==a&&this.updateTextContent(""+a):null!=s?i!==s&&this.updateMarkup(""+s):null!=c&&this.updateChildren(c,n,r)},getHostNode:function(){return F(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"input":case"textarea":A.stopTracking(this);break;case"html":case"head":case"body":g("66",this._tag)}this.unmountChildren(e),x.uncacheNode(this),O.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return F(this)}},m(v.prototype,v.Mixin,M.Mixin),t.exports=v}).call(this,e("_process"))},{"./AutoFocusUtils":203,"./CSSPropertyOperations":206,"./DOMLazyTree":210,"./DOMNamespaces":211,"./DOMProperty":212,"./DOMPropertyOperations":213,"./EventPluginHub":217,"./EventPluginRegistry":218,"./ReactBrowserEventEmitter":226,"./ReactDOMComponentFlags":233,"./ReactDOMComponentTree":234,"./ReactDOMInput":239,"./ReactDOMOption":242,"./ReactDOMSelect":243,"./ReactDOMTextarea":246,"./ReactInstrumentation":263,"./ReactMultiChild":267,"./ReactServerRenderingTransaction":275,"./escapeTextContentForBrowser":303,"./inputValueTracking":316,"./isEventSupported":318,"./reactProdInvariant":321,"./validateDOMNesting":327,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50,"fbjs/lib/shallowEqual":56,"fbjs/lib/warning":57,"object-assign":161}],233:[function(e,t,n){"use strict";var r={hasCachedChildNodes:1};t.exports=r},{}],234:[function(e,t,n){(function(n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(h)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function o(e){for(var t;t=e._renderedComponent;)e=t;return e}function a(e,t){var n=o(e);n._hostNode=t,t[g]=n}function i(e){var t=e._hostNode;t&&(delete t[g],e._hostNode=null)}function s(e,t){if(!(e._flags&v.hasCachedChildNodes)){var n=e._renderedChildren,i=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],c=o(u)._domID;if(0!==c){for(;null!==i;i=i.nextSibling)if(r(i,c)){a(u,i);continue e}p("32",c)}}e._flags|=v.hasCachedChildNodes}}function u(e){if(e[g])return e[g];for(var t=[];!e[g];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[g]);e=t.pop())n=r,t.length&&s(r,e);return n}function c(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function l(e){if(void 0===e._hostNode?p("33"):void 0,e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent?void 0:p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=e("./reactProdInvariant"),f=e("./DOMProperty"),d=e("./ReactDOMComponentFlags"),h=(e("fbjs/lib/invariant"),f.ID_ATTRIBUTE_NAME),v=d,g="__reactInternalInstance$"+Math.random().toString(36).slice(2),m={getClosestInstanceFromNode:u,getInstanceFromNode:c,getNodeFromInstance:l,precacheChildNodes:s,precacheNode:a,uncacheNode:i};t.exports=m}).call(this,e("_process"))},{"./DOMProperty":212,"./ReactDOMComponentFlags":233,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],235:[function(e,t,n){(function(n){"use strict";function r(e,t){var n={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===o?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null};return n}var o=(e("./validateDOMNesting"),9);t.exports=r}).call(this,e("_process"))},{"./validateDOMNesting":327,_process:162}],236:[function(e,t,n){"use strict";var r=e("object-assign"),o=e("./DOMLazyTree"),a=e("./ReactDOMComponentTree"),i=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(i.prototype,{mountComponent:function(e,t,n,r){var i=n._idCounter++;this._domID=i,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument,c=u.createComment(s);return a.precacheNode(this,c),o(c)}return e.renderToStaticMarkup?"":"<!--"+s+"-->"},receiveComponent:function(){},getHostNode:function(){return a.getNodeFromInstance(this)},unmountComponent:function(){a.uncacheNode(this)}}),t.exports=i},{"./DOMLazyTree":210,"./ReactDOMComponentTree":234,"object-assign":161}],237:[function(e,t,n){"use strict";var r={useCreateElement:!0,useFiber:!1};t.exports=r},{}],238:[function(e,t,n){"use strict";var r=e("./DOMChildrenOperations"),o=e("./ReactDOMComponentTree"),a={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};t.exports=a},{"./DOMChildrenOperations":209,"./ReactDOMComponentTree":234}],239:[function(e,t,n){(function(n){"use strict";function r(){this._rootNodeID&&f.updateWrapper(this)}function o(e){var t="checkbox"===e.type||"radio"===e.type;return t?null!=e.checked:null!=e.value}function a(e){var t=this._currentElement.props,n=c.executeOnChange(t,e);p.asap(r,this);var o=t.name;if("radio"===t.type&&null!=o){for(var a=l.getNodeFromInstance(this),s=a;s.parentNode;)s=s.parentNode;for(var u=s.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),f=0;f<u.length;f++){var d=u[f];if(d!==a&&d.form===a.form){var h=l.getInstanceFromNode(d);h?void 0:i("90"),p.asap(r,h)}}}return n}var i=e("./reactProdInvariant"),s=e("object-assign"),u=e("./DOMPropertyOperations"),c=e("./LinkedValueUtils"),l=e("./ReactDOMComponentTree"),p=e("./ReactUpdates"),f=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),{getHostProps:function(e,t){var n=c.getValue(t),r=c.getChecked(t),o=s({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange});return o},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:a.bind(e),controlled:o(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&u.setValueForProperty(l.getNodeFromInstance(e),"checked",n||!1);var r=l.getNodeFromInstance(e),o=c.getValue(t);if(null!=o)if(0===o&&""===r.value)r.value="0";else if("number"===t.type){var a=parseFloat(r.value,10)||0;(o!=a||o==a&&r.value!=o)&&(r.value=""+o)}else r.value!==""+o&&(r.value=""+o);else null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked)},postMountWrapper:function(e){var t=e._currentElement.props,n=l.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":n.value="",n.value=n.defaultValue;break;default:n.value=n.value}var r=n.name;""!==r&&(n.name=""),n.defaultChecked=!n.defaultChecked,n.defaultChecked=!n.defaultChecked,""!==r&&(n.name=r)}});t.exports=f}).call(this,e("_process"))},{"./DOMPropertyOperations":213,"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,
|
8 |
-
"object-assign":161}],240:[function(e,t,n){(function(n){"use strict";var r=e("./DOMProperty"),o=(e("react/lib/ReactComponentTreeHook"),e("fbjs/lib/warning"),new RegExp("^(aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$"),{onBeforeMountComponent:function(e,t){},onBeforeUpdateComponent:function(e,t){}});t.exports=o}).call(this,e("_process"))},{"./DOMProperty":212,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],241:[function(e,t,n){(function(n){"use strict";function r(e,t){null!=t&&("input"!==t.type&&"textarea"!==t.type&&"select"!==t.type||null==t.props||null!==t.props.value||o||(o=!0))}var o=(e("react/lib/ReactComponentTreeHook"),e("fbjs/lib/warning"),!1),a={onBeforeMountComponent:function(e,t){r(e,t)},onBeforeUpdateComponent:function(e,t){r(e,t)}};t.exports=a}).call(this,e("_process"))},{_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],242:[function(e,t,n){(function(n){"use strict";function r(e){var t="";return a.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:u||(u=!0))}),t}var o=e("object-assign"),a=e("react/lib/React"),i=e("./ReactDOMComponentTree"),s=e("./ReactDOMSelect"),u=(e("fbjs/lib/warning"),!1),c={mountWrapper:function(e,t,n){var o=null;if(null!=n){var a=n;"optgroup"===a._tag&&(a=a._hostParent),null!=a&&"select"===a._tag&&(o=s.getSelectValueContext(a))}var i=null;if(null!=o){var u;if(u=null!=t.value?t.value+"":r(t.children),i=!1,Array.isArray(o)){for(var c=0;c<o.length;c++)if(""+o[c]===u){i=!0;break}}else i=""+o===u}e._wrapperState={selected:i}},postMountWrapper:function(e){var t=e._currentElement.props;if(null!=t.value){var n=i.getNodeFromInstance(e);n.setAttribute("value",t.value)}},getHostProps:function(e,t){var n=o({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);var a=r(t.children);return a&&(n.children=a),n}};t.exports=c}).call(this,e("_process"))},{"./ReactDOMComponentTree":234,"./ReactDOMSelect":243,_process:162,"fbjs/lib/warning":57,"object-assign":161,"react/lib/React":330}],243:[function(e,t,n){(function(n){"use strict";function r(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=s.getValue(e);null!=t&&o(this,Boolean(e.multiple),t)}}function o(e,t,n){var r,o,a=u.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[""+n[o]]=!0;for(o=0;o<a.length;o++){var i=r.hasOwnProperty(a[o].value);a[o].selected!==i&&(a[o].selected=i)}}else{for(r=""+n,o=0;o<a.length;o++)if(a[o].value===r)return void(a[o].selected=!0);a.length&&(a[0].selected=!0)}}function a(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),c.asap(r,this),n}var i=e("object-assign"),s=e("./LinkedValueUtils"),u=e("./ReactDOMComponentTree"),c=e("./ReactUpdates"),l=(e("fbjs/lib/warning"),!1),p={getHostProps:function(e,t){return i({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=s.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:a.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||l||(l=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=s.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,o(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?o(e,Boolean(t.multiple),t.defaultValue):o(e,Boolean(t.multiple),t.multiple?[]:""))}};t.exports=p}).call(this,e("_process"))},{"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,_process:162,"fbjs/lib/warning":57,"object-assign":161}],244:[function(e,t,n){"use strict";function r(e,t,n,r){return e===n&&t===r}function o(e){var t=document.selection,n=t.createRange(),r=n.text.length,o=n.duplicate();o.moveToElementText(e),o.setEndPoint("EndToStart",n);var a=o.text.length,i=a+r;return{start:a,end:i}}function a(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,o=t.anchorOffset,a=t.focusNode,i=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(u){return null}var c=r(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset),l=c?0:s.toString().length,p=s.cloneRange();p.selectNodeContents(e),p.setEnd(s.startContainer,s.startOffset);var f=r(p.startContainer,p.startOffset,p.endContainer,p.endOffset),d=f?0:p.toString().length,h=d+l,v=document.createRange();v.setStart(n,o),v.setEnd(a,i);var g=v.collapsed;return{start:g?h:d,end:g?d:h}}function i(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?(n=t.start,r=n):t.start>t.end?(n=t.end,r=t.start):(n=t.start,r=t.end),o.moveToElementText(e),o.moveStart("character",n),o.setEndPoint("EndToStart",o),o.moveEnd("character",r-n),o.select()}function s(e,t){if(window.getSelection){var n=window.getSelection(),r=e[l()].length,o=Math.min(t.start,r),a=void 0===t.end?o:Math.min(t.end,r);if(!n.extend&&o>a){var i=a;a=o,o=i}var s=c(e,o),u=c(e,a);if(s&&u){var p=document.createRange();p.setStart(s.node,s.offset),n.removeAllRanges(),o>a?(n.addRange(p),n.extend(u.node,u.offset)):(p.setEnd(u.node,u.offset),n.addRange(p))}}}var u=e("fbjs/lib/ExecutionEnvironment"),c=e("./getNodeForCharacterOffset"),l=e("./getTextContentAccessor"),p=u.canUseDOM&&"selection"in document&&!("getSelection"in window),f={getOffsets:p?o:a,setOffsets:p?i:s};t.exports=f},{"./getNodeForCharacterOffset":313,"./getTextContentAccessor":314,"fbjs/lib/ExecutionEnvironment":36}],245:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=e("object-assign"),a=e("./DOMChildrenOperations"),i=e("./DOMLazyTree"),s=e("./ReactDOMComponentTree"),u=e("./escapeTextContentForBrowser"),c=(e("fbjs/lib/invariant"),e("./validateDOMNesting"),function(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null});o(c.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,a=" react-text: "+o+" ",c=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,p=l.createComment(a),f=l.createComment(c),d=i(l.createDocumentFragment());return i.queueChild(d,i(p)),this._stringText&&i.queueChild(d,i(l.createTextNode(this._stringText))),i.queueChild(d,i(f)),s.precacheNode(this,p),this._closingComment=f,d}var h=u(this._stringText);return e.renderToStaticMarkup?h:"<!--"+a+"-->"+h+"<!--"+c+"-->"},receiveComponent:function(e,t){if(e!==this._currentElement){this._currentElement=e;var n=""+e;if(n!==this._stringText){this._stringText=n;var r=this.getHostNode();a.replaceDelimitedText(r[0],r[1],n)}}},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=s.getNodeFromInstance(this),n=t.nextSibling;;){if(null==n?r("67",this._domID):void 0,8===n.nodeType&&" /react-text "===n.nodeValue){this._closingComment=n;break}n=n.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),t.exports=c}).call(this,e("_process"))},{"./DOMChildrenOperations":209,"./DOMLazyTree":210,"./ReactDOMComponentTree":234,"./escapeTextContentForBrowser":303,"./reactProdInvariant":321,"./validateDOMNesting":327,_process:162,"fbjs/lib/invariant":50,"object-assign":161}],246:[function(e,t,n){(function(n){"use strict";function r(){this._rootNodeID&&l.updateWrapper(this)}function o(e){var t=this._currentElement.props,n=s.executeOnChange(t,e);return c.asap(r,this),n}var a=e("./reactProdInvariant"),i=e("object-assign"),s=e("./LinkedValueUtils"),u=e("./ReactDOMComponentTree"),c=e("./ReactUpdates"),l=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),{getHostProps:function(e,t){null!=t.dangerouslySetInnerHTML?a("91"):void 0;var n=i({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange});return n},mountWrapper:function(e,t){var n=s.getValue(t),r=n;if(null==n){var i=t.defaultValue,u=t.children;null!=u&&(null!=i?a("92"):void 0,Array.isArray(u)&&(u.length<=1?void 0:a("93"),u=u[0]),i=""+u),null==i&&(i=""),r=i}e._wrapperState={initialValue:""+r,listeners:null,onChange:o.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=u.getNodeFromInstance(e),r=s.getValue(t);if(null!=r){var o=""+r;o!==n.value&&(n.value=o),null==t.defaultValue&&(n.defaultValue=o)}null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=u.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}});t.exports=l}).call(this,e("_process"))},{"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161}],247:[function(e,t,n){(function(n){"use strict";function r(e,t){"_hostNode"in e?void 0:u("33"),"_hostNode"in t?void 0:u("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,a=t;a;a=a._hostParent)o++;for(;n-o>0;)e=e._hostParent,n--;for(;o-n>0;)t=t._hostParent,o--;for(var i=n;i--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}function o(e,t){"_hostNode"in e?void 0:u("35"),"_hostNode"in t?void 0:u("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1}function a(e){return"_hostNode"in e?void 0:u("36"),e._hostParent}function i(e,t,n){for(var r=[];e;)r.push(e),e=e._hostParent;var o;for(o=r.length;o-- >0;)t(r[o],"captured",n);for(o=0;o<r.length;o++)t(r[o],"bubbled",n)}function s(e,t,n,o,a){for(var i=e&&t?r(e,t):null,s=[];e&&e!==i;)s.push(e),e=e._hostParent;for(var u=[];t&&t!==i;)u.push(t),t=t._hostParent;var c;for(c=0;c<s.length;c++)n(s[c],"bubbled",o);for(c=u.length;c-- >0;)n(u[c],"captured",a)}var u=e("./reactProdInvariant");e("fbjs/lib/invariant");t.exports={isAncestor:o,getLowestCommonAncestor:r,getParentInstance:a,traverseTwoPhase:i,traverseEnterLeave:s}}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],248:[function(e,t,n){(function(n){"use strict";function r(e,t){null!=t&&"string"==typeof t.type&&(t.type.indexOf("-")>=0||t.props.is||a(e,t))}var o,a=(e("./DOMProperty"),e("./EventPluginRegistry"),e("react/lib/ReactComponentTreeHook"),e("fbjs/lib/warning"),function(e,t){var n=[];for(var r in t.props){var a=o(t.type,r,e);a||n.push(r)}n.map(function(e){return"`"+e+"`"}).join(", ");1===n.length||n.length>1}),i={onBeforeMountComponent:function(e,t){r(e,t)},onBeforeUpdateComponent:function(e,t){r(e,t)}};t.exports=i}).call(this,e("_process"))},{"./DOMProperty":212,"./EventPluginRegistry":218,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],249:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r,o,a,i,s){try{t.call(n,r,o,a,i,s)}catch(u){C[e]=!0}}function o(e,t,n,o,a,i){for(var s=0;s<E.length;s++){var u=E[s],c=u[e];c&&r(e,c,u,t,n,o,a,i)}}function a(){y.purgeUnmountedComponents(),m.clearHistory()}function i(e){return e.reduce(function(e,t){var n=y.getOwnerID(t),r=y.getParentID(t);return e[t]={displayName:y.getDisplayName(t),text:y.getText(t),updateCount:y.getUpdateCount(t),childIDs:y.getChildIDs(t),ownerID:n||r&&y.getOwnerID(r)||0,parentID:r},e},{})}function s(){var e=x,t=S,n=m.getHistory();if(0===D)return x=0,S=[],void a();if(t.length||n.length){var r=y.getRegisteredIDs();O.push({duration:_()-e,measurements:t||[],operations:n||[],treeSnapshot:i(r)})}a(),x=_(),S=[]}function u(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1]}function c(e,t){0!==D&&(R&&!M&&(M=!0),P=_(),I=0,k=e,R=t)}function l(e,t){0!==D&&(R===t||M||(M=!0),w&&S.push({timerType:t,instanceID:e,duration:_()-P-I}),P=0,I=0,k=null,R=null)}function p(){var e={startTime:P,nestedFlushStartTime:_(),debugID:k,timerType:R};T.push(e),P=0,I=0,k=null,R=null}function f(){var e=T.pop(),t=e.startTime,n=e.nestedFlushStartTime,r=e.debugID,o=e.timerType,a=_()-n;P=t,I+=a,k=r,R=o}function d(e){if(!w||!N)return!1;var t=y.getElement(e);if(null==t||"object"!=typeof t)return!1;var n="string"==typeof t.type;return!n}function h(e,t){if(d(e)){var n=e+"::"+t;j=_(),performance.mark(n)}}function v(e,t){if(d(e)){var n=e+"::"+t,r=y.getDisplayName(e)||"Unknown",o=_();if(o-j>.1){var a=r+" ["+t+"]";performance.measure(a,n)}performance.clearMarks(n),a&&performance.clearMeasures(a)}}var g=e("./ReactInvalidSetStateWarningHook"),m=e("./ReactHostOperationHistoryHook"),y=e("react/lib/ReactComponentTreeHook"),b=e("fbjs/lib/ExecutionEnvironment"),_=e("fbjs/lib/performanceNow"),E=(e("fbjs/lib/warning"),[]),C={},w=!1,O=[],T=[],D=0,S=[],x=0,k=null,P=0,I=0,R=null,M=!1,j=0,N="undefined"!=typeof performance&&"function"==typeof performance.mark&&"function"==typeof performance.clearMarks&&"function"==typeof performance.measure&&"function"==typeof performance.clearMeasures,A={addHook:function(e){E.push(e)},removeHook:function(e){for(var t=0;t<E.length;t++)E[t]===e&&(E.splice(t,1),t--)},isProfiling:function(){return w},beginProfiling:function(){w||(w=!0,O.length=0,s(),A.addHook(m))},endProfiling:function(){w&&(w=!1,s(),A.removeHook(m))},getFlushHistory:function(){return O},onBeginFlush:function(){D++,s(),p(),o("onBeginFlush")},onEndFlush:function(){s(),D--,f(),o("onEndFlush")},onBeginLifeCycleTimer:function(e,t){u(e),o("onBeginLifeCycleTimer",e,t),h(e,t),c(e,t)},onEndLifeCycleTimer:function(e,t){u(e),l(e,t),v(e,t),o("onEndLifeCycleTimer",e,t)},onBeginProcessingChildContext:function(){o("onBeginProcessingChildContext")},onEndProcessingChildContext:function(){o("onEndProcessingChildContext")},onHostOperation:function(e){u(e.instanceID),o("onHostOperation",e)},onSetState:function(){o("onSetState")},onSetChildren:function(e,t){u(e),t.forEach(u),o("onSetChildren",e,t)},onBeforeMountComponent:function(e,t,n){u(e),u(n,!0),o("onBeforeMountComponent",e,t,n),h(e,"mount")},onMountComponent:function(e){u(e),v(e,"mount"),o("onMountComponent",e)},onBeforeUpdateComponent:function(e,t){u(e),o("onBeforeUpdateComponent",e,t),h(e,"update")},onUpdateComponent:function(e){u(e),v(e,"update"),o("onUpdateComponent",e)},onBeforeUnmountComponent:function(e){u(e),o("onBeforeUnmountComponent",e),h(e,"unmount")},onUnmountComponent:function(e){u(e),v(e,"unmount"),o("onUnmountComponent",e)},onTestEvent:function(){o("onTestEvent")}};A.addDevtool=A.addHook,A.removeDevtool=A.removeHook,A.addHook(g),A.addHook(y);var L=b.canUseDOM&&window.location.href||"";/[?&]react_perf\b/.test(L)&&A.beginProfiling(),t.exports=A}).call(this,e("_process"))},{"./ReactHostOperationHistoryHook":259,"./ReactInvalidSetStateWarningHook":264,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/performanceNow":55,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],250:[function(e,t,n){"use strict";function r(){this.reinitializeTransaction()}var o=e("object-assign"),a=e("./ReactUpdates"),i=e("./Transaction"),s=e("fbjs/lib/emptyFunction"),u={initialize:s,close:function(){f.isBatchingUpdates=!1}},c={initialize:s,close:a.flushBatchedUpdates.bind(a)},l=[c,u];o(r.prototype,i,{getTransactionWrappers:function(){return l}});var p=new r,f={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,a){var i=f.isBatchingUpdates;return f.isBatchingUpdates=!0,i?e(t,n,r,o,a):p.perform(e,null,t,n,r,o,a)}};t.exports=f},{"./ReactUpdates":278,"./Transaction":296,"fbjs/lib/emptyFunction":42,"object-assign":161}],251:[function(e,t,n){"use strict";function r(){w||(w=!0,y.EventEmitter.injectReactEventListener(m),y.EventPluginHub.injectEventPluginOrder(s),y.EventPluginUtils.injectComponentTree(f),y.EventPluginUtils.injectTreeTraversal(h),y.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:C,EnterLeaveEventPlugin:u,ChangeEventPlugin:i,SelectEventPlugin:E,BeforeInputEventPlugin:a}),y.HostComponent.injectGenericComponentClass(p),y.HostComponent.injectTextComponentClass(v),y.DOMProperty.injectDOMPropertyConfig(o),y.DOMProperty.injectDOMPropertyConfig(c),y.DOMProperty.injectDOMPropertyConfig(_),y.EmptyComponent.injectEmptyComponentFactory(function(e){return new d(e)}),y.Updates.injectReconcileTransaction(b),y.Updates.injectBatchingStrategy(g),y.Component.injectEnvironment(l))}var o=e("./ARIADOMPropertyConfig"),a=e("./BeforeInputEventPlugin"),i=e("./ChangeEventPlugin"),s=e("./DefaultEventPluginOrder"),u=e("./EnterLeaveEventPlugin"),c=e("./HTMLDOMPropertyConfig"),l=e("./ReactComponentBrowserEnvironment"),p=e("./ReactDOMComponent"),f=e("./ReactDOMComponentTree"),d=e("./ReactDOMEmptyComponent"),h=e("./ReactDOMTreeTraversal"),v=e("./ReactDOMTextComponent"),g=e("./ReactDefaultBatchingStrategy"),m=e("./ReactEventListener"),y=e("./ReactInjection"),b=e("./ReactReconcileTransaction"),_=e("./SVGDOMPropertyConfig"),E=e("./SelectEventPlugin"),C=e("./SimpleEventPlugin"),w=!1;t.exports={inject:r}},{"./ARIADOMPropertyConfig":202,"./BeforeInputEventPlugin":204,"./ChangeEventPlugin":208,"./DefaultEventPluginOrder":215,"./EnterLeaveEventPlugin":216,"./HTMLDOMPropertyConfig":222,"./ReactComponentBrowserEnvironment":228,"./ReactDOMComponent":232,"./ReactDOMComponentTree":234,"./ReactDOMEmptyComponent":236,"./ReactDOMTextComponent":245,"./ReactDOMTreeTraversal":247,"./ReactDefaultBatchingStrategy":250,"./ReactEventListener":256,"./ReactInjection":260,"./ReactReconcileTransaction":272,"./SVGDOMPropertyConfig":280,"./SelectEventPlugin":281,"./SimpleEventPlugin":282}],252:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol["for"]&&Symbol["for"]("react.element")||60103;t.exports=r},{}],253:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},a={create:function(e){return r(e)}};a.injection=o,t.exports=a},{}],254:[function(e,t,n){(function(e){"use strict";function n(e,t,n){try{t(n)}catch(o){null===r&&(r=o)}}var r=null,o={invokeGuardedCallback:n,invokeGuardedCallbackWithCatch:n,rethrowCaughtError:function(){if(r){var e=r;throw r=null,e}}};t.exports=o}).call(this,e("_process"))},{_process:162}],255:[function(e,t,n){"use strict";function r(e){o.enqueueEvents(e),o.processEventQueue(!1)}var o=e("./EventPluginHub"),a={handleTopLevel:function(e,t,n,a){var i=o.extractEvents(e,t,n,a);r(i)}};t.exports=a},{"./EventPluginHub":217}],256:[function(e,t,n){"use strict";function r(e){for(;e._hostParent;)e=e._hostParent;var t=p.getNodeFromInstance(e),n=t.parentNode;return p.getClosestInstanceFromNode(n)}function o(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function a(e){var t=d(e.nativeEvent),n=p.getClosestInstanceFromNode(t),o=n;do e.ancestors.push(o),o=o&&r(o);while(o);for(var a=0;a<e.ancestors.length;a++)n=e.ancestors[a],v._handleTopLevel(e.topLevelType,n,e.nativeEvent,d(e.nativeEvent))}function i(e){var t=h(window);e(t)}var s=e("object-assign"),u=e("fbjs/lib/EventListener"),c=e("fbjs/lib/ExecutionEnvironment"),l=e("./PooledClass"),p=e("./ReactDOMComponentTree"),f=e("./ReactUpdates"),d=e("./getEventTarget"),h=e("fbjs/lib/getUnboundedScrollPosition");s(o.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),l.addPoolingTo(o,l.twoArgumentPooler);var v={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:c.canUseDOM?window:null,setHandleTopLevel:function(e){v._handleTopLevel=e},setEnabled:function(e){v._enabled=!!e},isEnabled:function(){return v._enabled},trapBubbledEvent:function(e,t,n){return n?u.listen(n,t,v.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?u.capture(n,t,v.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=i.bind(null,e);u.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(v._enabled){var n=o.getPooled(e,t);try{f.batchedUpdates(a,n)}finally{o.release(n)}}}};t.exports=v},{"./PooledClass":225,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./getEventTarget":310,"fbjs/lib/EventListener":35,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/getUnboundedScrollPosition":47,"object-assign":161}],257:[function(e,t,n){"use strict";var r={logTopLevelRenders:!1};t.exports=r},{}],258:[function(e,t,n){(function(n){"use strict";function r(e){return s?void 0:i("111",e.type),new s(e)}function o(e){return new u(e)}function a(e){return e instanceof u}var i=e("./reactProdInvariant"),s=(e("fbjs/lib/invariant"),null),u=null,c={injectGenericComponentClass:function(e){s=e},injectTextComponentClass:function(e){u=e}},l={createInternalComponent:r,createInstanceForText:o,isTextComponent:a,injection:c};t.exports=l}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],259:[function(e,t,n){"use strict";var r=[],o={onHostOperation:function(e){r.push(e)},clearHistory:function(){o._preventClearing||(r=[])},getHistory:function(){return r}};t.exports=o},{}],260:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=e("./EventPluginHub"),a=e("./EventPluginUtils"),i=e("./ReactComponentEnvironment"),s=e("./ReactEmptyComponent"),u=e("./ReactBrowserEventEmitter"),c=e("./ReactHostComponent"),l=e("./ReactUpdates"),p={Component:i.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:a.injection,EventEmitter:u.injection,HostComponent:c.injection,Updates:l.injection};t.exports=p},{"./DOMProperty":212,"./EventPluginHub":217,"./EventPluginUtils":219,"./ReactBrowserEventEmitter":226,"./ReactComponentEnvironment":229,"./ReactEmptyComponent":253,"./ReactHostComponent":258,"./ReactUpdates":278}],261:[function(e,t,n){"use strict";function r(e){return a(document.documentElement,e)}var o=e("./ReactDOMSelection"),a=e("fbjs/lib/containsNode"),i=e("fbjs/lib/focusNode"),s=e("fbjs/lib/getActiveElement"),u={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=s();return{focusedElem:e,selectionRange:u.hasSelectionCapabilities(e)?u.getSelection(e):null}},restoreSelection:function(e){var t=s(),n=e.focusedElem,o=e.selectionRange;t!==n&&r(n)&&(u.hasSelectionCapabilities(n)&&u.setSelection(n,o),i(n))},getSelection:function(e){var t;if("selectionStart"in e)t={start:e.selectionStart,end:e.selectionEnd};else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var n=document.selection.createRange();n.parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)})}else t=o.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,r=t.end;if(void 0===r&&(r=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(r,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var a=e.createTextRange();a.collapse(!0),a.moveStart("character",n),a.moveEnd("character",r-n),a.select()}else o.setOffsets(e,t)}};t.exports=u},{"./ReactDOMSelection":244,"fbjs/lib/containsNode":39,"fbjs/lib/focusNode":44,"fbjs/lib/getActiveElement":45}],262:[function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};t.exports=r},{}],263:[function(e,t,n){(function(e){"use strict";var n=null;t.exports={debugTool:n}}).call(this,e("_process"))},{"./ReactDebugTool":249,_process:162}],264:[function(e,t,n){(function(n){"use strict";var r,o,a=(e("fbjs/lib/warning"),{onBeginProcessingChildContext:function(){r=!0},onEndProcessingChildContext:function(){r=!1},onSetState:function(){o()}});t.exports=a}).call(this,e("_process"))},{_process:162,"fbjs/lib/warning":57}],265:[function(e,t,n){"use strict";var r=e("./adler32"),o=/\/?>/,a=/^<\!\-\-/,i={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return a.test(e)?e:e.replace(o," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(i.CHECKSUM_ATTR_NAME);n=n&&parseInt(n,10);var o=r(e);return o===n}};t.exports=i},{"./adler32":299}],266:[function(e,t,n){(function(n){"use strict";function r(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}function o(e){return e?e.nodeType===j?e.documentElement:e.firstChild:null}function a(e){return e.getAttribute&&e.getAttribute(I)||""}function i(e,t,n,r,o){var a;if(E.logTopLevelRenders){var i=e._currentElement.props.child,s=i.type;a="React mount: "+("string"==typeof s?s:s.displayName||s.name),console.time(a)}var u=O.mountComponent(e,n,null,b(e,t),o,0);a&&console.timeEnd(a),e._renderedComponent._topLevelWrapper=e,F._mountImageIntoNode(u,t,e,r,n)}function s(e,t,n,r){var o=D.ReactReconcileTransaction.getPooled(!n&&_.useCreateElement);o.perform(i,null,e,t,o,n,r),D.ReactReconcileTransaction.release(o)}function u(e,t,n){for(O.unmountComponent(e,n),t.nodeType===j&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function c(e){var t=o(e);if(t){var n=y.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function l(e){return!(!e||e.nodeType!==M&&e.nodeType!==j&&e.nodeType!==N)}function p(e){var t=o(e),n=t&&y.getInstanceFromNode(t);return n&&!n._hostParent?n:null}function f(e){var t=p(e);return t?t._hostContainerInfo._topLevelWrapper:null}var d=e("./reactProdInvariant"),h=e("./DOMLazyTree"),v=e("./DOMProperty"),g=e("react/lib/React"),m=e("./ReactBrowserEventEmitter"),y=(e("react/lib/ReactCurrentOwner"),e("./ReactDOMComponentTree")),b=e("./ReactDOMContainerInfo"),_=e("./ReactDOMFeatureFlags"),E=e("./ReactFeatureFlags"),C=e("./ReactInstanceMap"),w=(e("./ReactInstrumentation"),e("./ReactMarkupChecksum")),O=e("./ReactReconciler"),T=e("./ReactUpdateQueue"),D=e("./ReactUpdates"),S=e("fbjs/lib/emptyObject"),x=e("./instantiateReactComponent"),k=(e("fbjs/lib/invariant"),e("./setInnerHTML")),P=e("./shouldUpdateReactComponent"),I=(e("fbjs/lib/warning"),v.ID_ATTRIBUTE_NAME),R=v.ROOT_ATTRIBUTE_NAME,M=1,j=9,N=11,A={},L=1,U=function(){this.rootID=L++};U.prototype.isReactComponent={},U.prototype.render=function(){return this.props.child},U.isReactTopLevelWrapper=!0;var F={TopLevelWrapper:U,_instancesByReactRootID:A,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return F.scrollMonitor(r,function(){T.enqueueElementInternal(e,t,n),o&&T.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){l(t)?void 0:d("37"),m.ensureScrollValueMonitoring();var o=x(e,!1);D.batchedUpdates(s,o,t,n,r);var a=o._instance.rootID;return A[a]=o,o},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&C.has(e)?void 0:d("38"),F._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){T.validateCallback(r,"ReactDOM.render"),g.isValidElement(t)?void 0:d("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var i,s=g.createElement(U,{child:t});if(e){var u=C.get(e);i=u._processChildContext(u._context)}else i=S;var l=f(n);if(l){var p=l._currentElement,h=p.props.child;if(P(h,t)){var v=l._renderedComponent.getPublicInstance(),m=r&&function(){r.call(v)};return F._updateRootComponent(l,s,i,n,m),v}F.unmountComponentAtNode(n)}var y=o(n),b=y&&!!a(y),_=c(n),E=b&&!l&&!_,w=F._renderNewRootComponent(s,n,E,i)._renderedComponent.getPublicInstance();return r&&r.call(w),w},render:function(e,t,n){return F._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){l(e)?void 0:d("40");var t=f(e);if(!t){c(e),1===e.nodeType&&e.hasAttribute(R);return!1}return delete A[t._instance.rootID],D.batchedUpdates(u,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,a,i){if(l(t)?void 0:d("41"),a){var s=o(t);if(w.canReuseMarkup(e,s))return void y.precacheNode(n,s);var u=s.getAttribute(w.CHECKSUM_ATTR_NAME);s.removeAttribute(w.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(w.CHECKSUM_ATTR_NAME,u);var p=e,f=r(p,c),v=" (client) "+p.substring(f-20,f+20)+"\n (server) "+c.substring(f-20,f+20);t.nodeType===j?d("42",v):void 0}if(t.nodeType===j?d("43"):void 0,i.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);h.insertTreeBefore(t,e,null)}else k(t,e),y.precacheNode(n,t.firstChild)}};t.exports=F}).call(this,e("_process"))},{"./DOMLazyTree":210,"./DOMProperty":212,"./ReactBrowserEventEmitter":226,"./ReactDOMComponentTree":234,"./ReactDOMContainerInfo":235,"./ReactDOMFeatureFlags":237,"./ReactFeatureFlags":257,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactMarkupChecksum":265,"./ReactReconciler":273,"./ReactUpdateQueue":277,"./ReactUpdates":278,"./instantiateReactComponent":317,"./reactProdInvariant":321,"./setInnerHTML":323,"./shouldUpdateReactComponent":325,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/React":330,"react/lib/ReactCurrentOwner":334}],267:[function(e,t,n){(function(n){"use strict";function r(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}function o(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:f.getHostNode(e),toIndex:n,afterNode:t}}function a(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}function i(e){return{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function s(e){return{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}}function u(e,t){return t&&(e=e||[],e.push(t)),e}function c(e,t){p.processChildrenUpdates(e,t)}var l=e("./reactProdInvariant"),p=e("./ReactComponentEnvironment"),f=(e("./ReactInstanceMap"),e("./ReactInstrumentation"),e("react/lib/ReactCurrentOwner"),e("./ReactReconciler")),d=e("./ReactChildReconciler"),h=(e("fbjs/lib/emptyFunction"),e("./flattenChildren")),v=(e("fbjs/lib/invariant"),{Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return d.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,a){var i,s=0;return i=h(t,s),d.updateChildren(e,i,n,r,o,this,this._hostContainerInfo,a,s),i},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],a=0;for(var i in r)if(r.hasOwnProperty(i)){var s=r[i],u=0,c=f.mountComponent(s,t,this,this._hostContainerInfo,n,u);s._mountIndex=a++,o.push(c)}return o},updateTextContent:function(e){var t=this._renderedChildren;d.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&l("118");var r=[s(e)];c(this,r)},updateMarkup:function(e){var t=this._renderedChildren;d.unmountChildren(t,!1);for(var n in t)t.hasOwnProperty(n)&&l("118");var r=[i(e)];c(this,r)},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},a=[],i=this._reconcilerUpdateChildren(r,e,a,o,t,n);if(i||r){var s,l=null,p=0,d=0,h=0,v=null;for(s in i)if(i.hasOwnProperty(s)){var g=r&&r[s],m=i[s];g===m?(l=u(l,this.moveChild(g,v,p,d)),d=Math.max(g._mountIndex,d),g._mountIndex=p):(g&&(d=Math.max(g._mountIndex,d)),l=u(l,this._mountChildAtIndex(m,a[h],v,p,t,n)),h++),p++,v=f.getHostNode(m)}for(s in o)o.hasOwnProperty(s)&&(l=u(l,this._unmountChild(r[s],o[s])));l&&c(this,l),this._renderedChildren=i}},unmountChildren:function(e){var t=this._renderedChildren;d.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return o(e,t,n)},createChild:function(e,t,n){return r(n,t,e._mountIndex)},removeChild:function(e,t){return a(e,t)},_mountChildAtIndex:function(e,t,n,r,o,a){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}});t.exports=v;
|
9 |
-
}).call(this,e("_process"))},{"./ReactChildReconciler":227,"./ReactComponentEnvironment":229,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactReconciler":273,"./flattenChildren":305,"./reactProdInvariant":321,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50,"react/lib/ReactCurrentOwner":334}],268:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=e("react/lib/React"),a=(e("fbjs/lib/invariant"),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||e===!1?a.EMPTY:o.isValidElement(e)?"function"==typeof e.type?a.COMPOSITE:a.HOST:void r("26",e)}});t.exports=a}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"react/lib/React":330}],269:[function(e,t,n){(function(n){"use strict";function r(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var o=e("./reactProdInvariant"),a=(e("fbjs/lib/invariant"),{addComponentAsRefTo:function(e,t,n){r(n)?void 0:o("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){r(n)?void 0:o("120");var a=n.getPublicInstance();a&&a.refs[t]===e.getPublicInstance()&&n.detachRef(t)}});t.exports=a}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],270:[function(e,t,n){(function(e){"use strict";var n={};t.exports=n}).call(this,e("_process"))},{_process:162}],271:[function(e,t,n){"use strict";var r="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";t.exports=r},{}],272:[function(e,t,n){(function(n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=a.getPooled(null),this.useCreateElement=e}var o=e("object-assign"),a=e("./CallbackQueue"),i=e("./PooledClass"),s=e("./ReactBrowserEventEmitter"),u=e("./ReactInputSelection"),c=(e("./ReactInstrumentation"),e("./Transaction")),l=e("./ReactUpdateQueue"),p={initialize:u.getSelectionInformation,close:u.restoreSelection},f={initialize:function(){var e=s.isEnabled();return s.setEnabled(!1),e},close:function(e){s.setEnabled(e)}},d={initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}},h=[p,f,d],v={getTransactionWrappers:function(){return h},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return l},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){a.release(this.reactMountReady),this.reactMountReady=null}};o(r.prototype,c,v),i.addPoolingTo(r),t.exports=r}).call(this,e("_process"))},{"./CallbackQueue":207,"./PooledClass":225,"./ReactBrowserEventEmitter":226,"./ReactInputSelection":261,"./ReactInstrumentation":263,"./ReactUpdateQueue":277,"./Transaction":296,_process:162,"object-assign":161}],273:[function(e,t,n){(function(n){"use strict";function r(){o.attachRefs(this,this._currentElement)}var o=e("./ReactRef"),a=(e("./ReactInstrumentation"),e("fbjs/lib/warning"),{mountComponent:function(e,t,n,o,a,i){var s=e.mountComponent(t,n,o,a,i);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(r,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){o.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,a){var i=e._currentElement;if(t!==i||a!==e._context){var s=o.shouldUpdateRefs(i,t);s&&o.detachRefs(e,i),e.receiveComponent(t,n,a),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(r,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}});t.exports=a}).call(this,e("_process"))},{"./ReactInstrumentation":263,"./ReactRef":274,_process:162,"fbjs/lib/warning":57}],274:[function(e,t,n){"use strict";function r(e,t,n){"function"==typeof e?e(t.getPublicInstance()):a.addComponentAsRefTo(t,e,n)}function o(e,t,n){"function"==typeof e?e(null):a.removeComponentAsRefFrom(t,e,n)}var a=e("./ReactOwner"),i={};i.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&r(n,e,t._owner)}},i.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,a=null;return null!==t&&"object"==typeof t&&(o=t.ref,a=t._owner),n!==o||"string"==typeof o&&a!==r},i.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&o(n,e,t._owner)}},t.exports=i},{"./ReactOwner":269}],275:[function(e,t,n){(function(n){"use strict";function r(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new s(this)}var o=e("object-assign"),a=e("./PooledClass"),i=e("./Transaction"),s=(e("./ReactInstrumentation"),e("./ReactServerUpdateQueue")),u=[],c={enqueue:function(){}},l={getTransactionWrappers:function(){return u},getReactMountReady:function(){return c},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};o(r.prototype,i,l),a.addPoolingTo(r),t.exports=r}).call(this,e("_process"))},{"./PooledClass":225,"./ReactInstrumentation":263,"./ReactServerUpdateQueue":276,"./Transaction":296,_process:162,"object-assign":161}],276:[function(e,t,n){(function(n){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function o(e,t){}var a=e("./ReactUpdateQueue"),i=(e("fbjs/lib/warning"),function(){function e(t){r(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&a.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()?a.enqueueForceUpdate(e):o(e,"forceUpdate")},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()?a.enqueueReplaceState(e,t):o(e,"replaceState")},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()?a.enqueueSetState(e,t):o(e,"setState")},e}());t.exports=i}).call(this,e("_process"))},{"./ReactUpdateQueue":277,_process:162,"fbjs/lib/warning":57}],277:[function(e,t,n){(function(n){"use strict";function r(e){u.enqueueUpdate(e)}function o(e){var t=typeof e;if("object"!==t)return t;var n=e.constructor&&e.constructor.name||t,r=Object.keys(e);return r.length>0&&r.length<20?n+" (keys: "+r.join(", ")+")":n}function a(e,t){var n=s.get(e);if(!n){return null}return n}var i=e("./reactProdInvariant"),s=(e("react/lib/ReactCurrentOwner"),e("./ReactInstanceMap")),u=(e("./ReactInstrumentation"),e("./ReactUpdates")),c=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),{isMounted:function(e){var t=s.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){c.validateCallback(t,n);var o=a(e);return o?(o._pendingCallbacks?o._pendingCallbacks.push(t):o._pendingCallbacks=[t],void r(o)):null},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],r(e)},enqueueForceUpdate:function(e){var t=a(e,"forceUpdate");t&&(t._pendingForceUpdate=!0,r(t))},enqueueReplaceState:function(e,t,n){var o=a(e,"replaceState");o&&(o._pendingStateQueue=[t],o._pendingReplaceState=!0,void 0!==n&&null!==n&&(c.validateCallback(n,"replaceState"),o._pendingCallbacks?o._pendingCallbacks.push(n):o._pendingCallbacks=[n]),r(o))},enqueueSetState:function(e,t){var n=a(e,"setState");if(n){var o=n._pendingStateQueue||(n._pendingStateQueue=[]);o.push(t),r(n)}},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,r(e)},validateCallback:function(e,t){e&&"function"!=typeof e?i("122",t,o(e)):void 0}});t.exports=c}).call(this,e("_process"))},{"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],278:[function(e,t,n){(function(n){"use strict";function r(){x.ReactReconcileTransaction&&C?void 0:l("123")}function o(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=f.getPooled(),this.reconcileTransaction=x.ReactReconcileTransaction.getPooled(!0)}function a(e,t,n,o,a,i){return r(),C.batchedUpdates(e,t,n,o,a,i)}function i(e,t){return e._mountOrder-t._mountOrder}function s(e){var t=e.dirtyComponentsLength;t!==y.length?l("124",t,y.length):void 0,y.sort(i),b++;for(var n=0;n<t;n++){var r=y[n],o=r._pendingCallbacks;r._pendingCallbacks=null;var a;if(h.logTopLevelRenders){var s=r;r._currentElement.type.isReactTopLevelWrapper&&(s=r._renderedComponent),a="React update: "+s.getName(),console.time(a)}if(v.performUpdateIfNecessary(r,e.reconcileTransaction,b),a&&console.timeEnd(a),o)for(var u=0;u<o.length;u++)e.callbackQueue.enqueue(o[u],r.getPublicInstance())}}function u(e){return r(),C.isBatchingUpdates?(y.push(e),void(null==e._updateBatchNumber&&(e._updateBatchNumber=b+1))):void C.batchedUpdates(u,e)}function c(e,t){m(C.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),_.enqueue(e,t),E=!0}var l=e("./reactProdInvariant"),p=e("object-assign"),f=e("./CallbackQueue"),d=e("./PooledClass"),h=e("./ReactFeatureFlags"),v=e("./ReactReconciler"),g=e("./Transaction"),m=e("fbjs/lib/invariant"),y=[],b=0,_=f.getPooled(),E=!1,C=null,w={initialize:function(){this.dirtyComponentsLength=y.length},close:function(){this.dirtyComponentsLength!==y.length?(y.splice(0,this.dirtyComponentsLength),D()):y.length=0}},O={initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}},T=[w,O];p(o.prototype,g,{getTransactionWrappers:function(){return T},destructor:function(){this.dirtyComponentsLength=null,f.release(this.callbackQueue),this.callbackQueue=null,x.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return g.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),d.addPoolingTo(o);var D=function(){for(;y.length||E;){if(y.length){var e=o.getPooled();e.perform(s,null,e),o.release(e)}if(E){E=!1;var t=_;_=f.getPooled(),t.notifyAll(),f.release(t)}}},S={injectReconcileTransaction:function(e){e?void 0:l("126"),x.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e?void 0:l("127"),"function"!=typeof e.batchedUpdates?l("128"):void 0,"boolean"!=typeof e.isBatchingUpdates?l("129"):void 0,C=e}},x={ReactReconcileTransaction:null,batchedUpdates:a,enqueueUpdate:u,flushBatchedUpdates:D,injection:S,asap:c};t.exports=x}).call(this,e("_process"))},{"./CallbackQueue":207,"./PooledClass":225,"./ReactFeatureFlags":257,"./ReactReconciler":273,"./Transaction":296,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"object-assign":161}],279:[function(e,t,n){"use strict";t.exports="15.6.2"},{}],280:[function(e,t,n){"use strict";var r={xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace"},o={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering","in":0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},a={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r.xlink,xlinkArcrole:r.xlink,xlinkHref:r.xlink,xlinkRole:r.xlink,xlinkShow:r.xlink,xlinkTitle:r.xlink,xlinkType:r.xlink,xmlBase:r.xml,xmlLang:r.xml,xmlSpace:r.xml},DOMAttributeNames:{}};Object.keys(o).forEach(function(e){a.Properties[e]=0,o[e]&&(a.DOMAttributeNames[e]=o[e])}),t.exports=a},{}],281:[function(e,t,n){"use strict";function r(e){if("selectionStart"in e&&u.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){var n=document.selection.createRange();return{parentElement:n.parentElement(),text:n.text,top:n.boundingTop,left:n.boundingLeft}}}function o(e,t){if(y||null==v||v!==l())return null;var n=r(v);if(!m||!f(m,n)){m=n;var o=c.getPooled(h.select,g,e,t);return o.type="select",o.target=v,a.accumulateTwoPhaseDispatches(o),o}return null}var a=e("./EventPropagators"),i=e("fbjs/lib/ExecutionEnvironment"),s=e("./ReactDOMComponentTree"),u=e("./ReactInputSelection"),c=e("./SyntheticEvent"),l=e("fbjs/lib/getActiveElement"),p=e("./isTextInputElement"),f=e("fbjs/lib/shallowEqual"),d=i.canUseDOM&&"documentMode"in document&&document.documentMode<=11,h={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},v=null,g=null,m=null,y=!1,b=!1,_={eventTypes:h,extractEvents:function(e,t,n,r){if(!b)return null;var a=t?s.getNodeFromInstance(t):window;switch(e){case"topFocus":(p(a)||"true"===a.contentEditable)&&(v=a,g=t,m=null);break;case"topBlur":v=null,g=null,m=null;break;case"topMouseDown":y=!0;break;case"topContextMenu":case"topMouseUp":return y=!1,o(n,r);case"topSelectionChange":if(d)break;case"topKeyDown":case"topKeyUp":return o(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(b=!0)}};t.exports=_},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./ReactInputSelection":261,"./SyntheticEvent":287,"./isTextInputElement":319,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/getActiveElement":45,"fbjs/lib/shallowEqual":56}],282:[function(e,t,n){(function(n){"use strict";function r(e){return"."+e._rootNodeID}function o(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var a=e("./reactProdInvariant"),i=e("fbjs/lib/EventListener"),s=e("./EventPropagators"),u=e("./ReactDOMComponentTree"),c=e("./SyntheticAnimationEvent"),l=e("./SyntheticClipboardEvent"),p=e("./SyntheticEvent"),f=e("./SyntheticFocusEvent"),d=e("./SyntheticKeyboardEvent"),h=e("./SyntheticMouseEvent"),v=e("./SyntheticDragEvent"),g=e("./SyntheticTouchEvent"),m=e("./SyntheticTransitionEvent"),y=e("./SyntheticUIEvent"),b=e("./SyntheticWheelEvent"),_=e("fbjs/lib/emptyFunction"),E=e("./getEventCharCode"),C=(e("fbjs/lib/invariant"),{}),w={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,r="top"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};C[e]=o,w[r]=o});var O={},T={eventTypes:C,extractEvents:function(e,t,n,r){var o=w[e];if(!o)return null;var i;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":i=p;break;case"topKeyPress":if(0===E(n))return null;case"topKeyDown":case"topKeyUp":i=d;break;case"topBlur":case"topFocus":i=f;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":i=h;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":i=v;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":i=g;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":i=c;break;case"topTransitionEnd":i=m;break;case"topScroll":i=y;break;case"topWheel":i=b;break;case"topCopy":case"topCut":case"topPaste":i=l}i?void 0:a("86",e);var u=i.getPooled(o,t,n,r);return s.accumulateTwoPhaseDispatches(u),u},didPutListener:function(e,t,n){if("onClick"===t&&!o(e._tag)){var a=r(e),s=u.getNodeFromInstance(e);O[a]||(O[a]=i.listen(s,"click",_))}},willDeleteListener:function(e,t){if("onClick"===t&&!o(e._tag)){var n=r(e);O[n].remove(),delete O[n]}}};t.exports=T}).call(this,e("_process"))},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./SyntheticAnimationEvent":283,"./SyntheticClipboardEvent":284,"./SyntheticDragEvent":286,"./SyntheticEvent":287,"./SyntheticFocusEvent":288,"./SyntheticKeyboardEvent":290,"./SyntheticMouseEvent":291,"./SyntheticTouchEvent":292,"./SyntheticTransitionEvent":293,"./SyntheticUIEvent":294,"./SyntheticWheelEvent":295,"./getEventCharCode":307,"./reactProdInvariant":321,_process:162,"fbjs/lib/EventListener":35,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50}],283:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a={animationName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticEvent":287}],284:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};o.augmentClass(r,a),t.exports=r},{"./SyntheticEvent":287}],285:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a={data:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticEvent":287}],286:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticMouseEvent"),a={dataTransfer:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticMouseEvent":291}],287:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o=this.constructor.Interface;for(var a in o)if(o.hasOwnProperty(a)){var s=o[a];s?this[a]=s(n):"target"===a?this.target=r:this[a]=n[a]}var u=null!=n.defaultPrevented?n.defaultPrevented:n.returnValue===!1;return u?this.isDefaultPrevented=i.thatReturnsTrue:this.isDefaultPrevented=i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}var o=e("object-assign"),a=e("./PooledClass"),i=e("fbjs/lib/emptyFunction"),s=(e("fbjs/lib/warning"),"function"==typeof Proxy,["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),u={type:null,target:null,currentTarget:i.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};o(r.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e=this.constructor.Interface;for(var t in e)this[t]=null;for(var n=0;n<s.length;n++)this[s[n]]=null}}),r.Interface=u,r.augmentClass=function(e,t){var n=this,r=function(){};r.prototype=n.prototype;var i=new r;o(i,e.prototype),e.prototype=i,e.prototype.constructor=e,e.Interface=o({},n.Interface,t),e.augmentClass=n.augmentClass,a.addPoolingTo(e,a.fourArgumentPooler)},a.addPoolingTo(r,a.fourArgumentPooler),t.exports=r}).call(this,e("_process"))},{"./PooledClass":225,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/warning":57,"object-assign":161}],288:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticUIEvent"),a={relatedTarget:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticUIEvent":294}],289:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a={data:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticEvent":287}],290:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticUIEvent"),a=e("./getEventCharCode"),i=e("./getEventKey"),s=e("./getEventModifierState"),u={key:i,location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:s,charCode:function(e){return"keypress"===e.type?a(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?a(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};o.augmentClass(r,u),t.exports=r},{"./SyntheticUIEvent":294,"./getEventCharCode":307,"./getEventKey":308,"./getEventModifierState":309}],291:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticUIEvent"),a=e("./ViewportMetrics"),i=e("./getEventModifierState"),s={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:i,button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+a.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+a.currentScrollTop}};o.augmentClass(r,s),t.exports=r},{"./SyntheticUIEvent":294,"./ViewportMetrics":297,"./getEventModifierState":309}],292:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticUIEvent"),a=e("./getEventModifierState"),i={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:a};o.augmentClass(r,i),t.exports=r},{"./SyntheticUIEvent":294,"./getEventModifierState":309}],293:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a={propertyName:null,elapsedTime:null,pseudoElement:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticEvent":287}],294:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticEvent"),a=e("./getEventTarget"),i={view:function(e){if(e.view)return e.view;var t=a(e);if(t.window===t)return t;var n=t.ownerDocument;return n?n.defaultView||n.parentWindow:window},detail:function(e){return e.detail||0}};o.augmentClass(r,i),t.exports=r},{"./SyntheticEvent":287,"./getEventTarget":310}],295:[function(e,t,n){"use strict";function r(e,t,n,r){return o.call(this,e,t,n,r)}var o=e("./SyntheticMouseEvent"),a={deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null};o.augmentClass(r,a),t.exports=r},{"./SyntheticMouseEvent":291}],296:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=(e("fbjs/lib/invariant"),{}),a={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,o,a,i,s,u){this.isInTransaction()?r("27"):void 0;var c,l;try{this._isInTransaction=!0,c=!0,this.initializeAll(0),l=e.call(t,n,o,a,i,s,u),c=!1}finally{try{if(c)try{this.closeAll(0)}catch(p){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return l},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(a){}}}},closeAll:function(e){this.isInTransaction()?void 0:r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var a,i=t[n],s=this.wrapperInitData[n];try{a=!0,s!==o&&i.close&&i.close.call(this,s),a=!1}finally{if(a)try{this.closeAll(n+1)}catch(u){}}}this.wrapperInitData.length=0}};t.exports=a}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],297:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],298:[function(e,t,n){(function(n){"use strict";function r(e,t){return null==t?o("30"):void 0,null==e?t:Array.isArray(e)?Array.isArray(t)?(e.push.apply(e,t),e):(e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}var o=e("./reactProdInvariant");e("fbjs/lib/invariant");t.exports=r}).call(this,e("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],299:[function(e,t,n){"use strict";function r(e){for(var t=1,n=0,r=0,a=e.length,i=a&-4;r<i;){for(var s=Math.min(r+4096,i);r<s;r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=o,n%=o}for(;r<a;r++)n+=t+=e.charCodeAt(r);return t%=o,n%=o,t|n<<16}var o=65521;t.exports=r},{}],300:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r,u,c){for(var l in e)if(e.hasOwnProperty(l)){var p;try{"function"!=typeof e[l]?o("84",r||"React class",a[n],l):void 0,p=e[l](t,l,r,n,null,i)}catch(f){p=f}if(p instanceof Error&&!(p.message in s)){s[p.message]=!0}}}var o=e("./reactProdInvariant"),a=e("./ReactPropTypeLocationNames"),i=e("./ReactPropTypesSecret");e("fbjs/lib/invariant"),e("fbjs/lib/warning");"undefined"!=typeof n&&n.env,1;var s={};t.exports=r}).call(this,e("_process"))},{"./ReactPropTypeLocationNames":270,"./ReactPropTypesSecret":271,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],301:[function(e,t,n){"use strict";var r=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e};t.exports=r},{}],302:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){var o=null==t||"boolean"==typeof t||""===t;if(o)return"";var i=isNaN(t);if(r||i||0===t||a.hasOwnProperty(e)&&a[e])return""+t;if("string"==typeof t){t=t.trim()}return t+"px"}var o=e("./CSSProperty"),a=(e("fbjs/lib/warning"),o.isUnitlessNumber);t.exports=r}).call(this,e("_process"))},{"./CSSProperty":205,_process:162,"fbjs/lib/warning":57}],303:[function(e,t,n){"use strict";function r(e){var t=""+e,n=a.exec(t);if(!n)return t;var r,o="",i=0,s=0;for(i=n.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:r=""";break;case 38:r="&";break;case 39:r="'";break;case 60:r="<";break;case 62:r=">";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=r}return s!==i?o+t.substring(s,i):o}function o(e){
|
10 |
-
return"boolean"==typeof e||"number"==typeof e?""+e:r(e)}var a=/["'&<>]/;t.exports=o},{}],304:[function(e,t,n){(function(n){"use strict";function r(e){if(null==e)return null;if(1===e.nodeType)return e;var t=i.get(e);return t?(t=s(t),t?a.getNodeFromInstance(t):null):void("function"==typeof e.render?o("44"):o("45",Object.keys(e)))}var o=e("./reactProdInvariant"),a=(e("react/lib/ReactCurrentOwner"),e("./ReactDOMComponentTree")),i=e("./ReactInstanceMap"),s=e("./getHostComponentFromComposite");e("fbjs/lib/invariant"),e("fbjs/lib/warning");t.exports=r}).call(this,e("_process"))},{"./ReactDOMComponentTree":234,"./ReactInstanceMap":262,"./getHostComponentFromComposite":311,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],305:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r){if(e&&"object"==typeof e){var o=e,a=void 0===o[n];a&&null!=t&&(o[n]=t)}}function o(e,t){if(null==e)return e;var n={};return a(e,r,n),n}var a=(e("./KeyEscapeUtils"),e("./traverseAllChildren"));e("fbjs/lib/warning");"undefined"!=typeof n&&n.env,1,t.exports=o}).call(this,e("_process"))},{"./KeyEscapeUtils":223,"./traverseAllChildren":326,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],306:[function(e,t,n){"use strict";function r(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}t.exports=r},{}],307:[function(e,t,n){"use strict";function r(e){var t,n=e.keyCode;return"charCode"in e?(t=e.charCode,0===t&&13===n&&(t=13)):t=n,t>=32||13===t?t:0}t.exports=r},{}],308:[function(e,t,n){"use strict";function r(e){if(e.key){var t=a[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=o(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}var o=e("./getEventCharCode"),a={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},i={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=r},{"./getEventCharCode":307}],309:[function(e,t,n){"use strict";function r(e){var t=this,n=t.nativeEvent;if(n.getModifierState)return n.getModifierState(e);var r=a[e];return!!r&&!!n[r]}function o(e){return r}var a={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};t.exports=o},{}],310:[function(e,t,n){"use strict";function r(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}t.exports=r},{}],311:[function(e,t,n){"use strict";function r(e){for(var t;(t=e._renderedNodeType)===o.COMPOSITE;)e=e._renderedComponent;return t===o.HOST?e._renderedComponent:t===o.EMPTY?null:void 0}var o=e("./ReactNodeTypes");t.exports=r},{"./ReactNodeTypes":268}],312:[function(e,t,n){"use strict";function r(e){var t=e&&(o&&e[o]||e[a]);if("function"==typeof t)return t}var o="function"==typeof Symbol&&Symbol.iterator,a="@@iterator";t.exports=r},{}],313:[function(e,t,n){"use strict";function r(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function o(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}function a(e,t){for(var n=r(e),a=0,i=0;n;){if(3===n.nodeType){if(i=a+n.textContent.length,a<=t&&i>=t)return{node:n,offset:t-a};a=i}n=r(o(n))}}t.exports=a},{}],314:[function(e,t,n){"use strict";function r(){return!a&&o.canUseDOM&&(a="textContent"in document.documentElement?"textContent":"innerText"),a}var o=e("fbjs/lib/ExecutionEnvironment"),a=null;t.exports=r},{"fbjs/lib/ExecutionEnvironment":36}],315:[function(e,t,n){"use strict";function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}function o(e){if(s[e])return s[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in u)return s[e]=t[n];return""}var a=e("fbjs/lib/ExecutionEnvironment"),i={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},s={},u={};a.canUseDOM&&(u=document.createElement("div").style,"AnimationEvent"in window||(delete i.animationend.animation,delete i.animationiteration.animation,delete i.animationstart.animation),"TransitionEvent"in window||delete i.transitionend.transition),t.exports=o},{"fbjs/lib/ExecutionEnvironment":36}],316:[function(e,t,n){"use strict";function r(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function o(e){return e._wrapperState.valueTracker}function a(e,t){e._wrapperState.valueTracker=t}function i(e){e._wrapperState.valueTracker=null}function s(e){var t;return e&&(t=r(e)?""+e.checked:e.value),t}var u=e("./ReactDOMComponentTree"),c={_getTrackerFromNode:function(e){return o(u.getInstanceFromNode(e))},track:function(e){if(!o(e)){var t=u.getNodeFromInstance(e),n=r(t)?"checked":"value",s=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),c=""+t[n];t.hasOwnProperty(n)||"function"!=typeof s.get||"function"!=typeof s.set||(Object.defineProperty(t,n,{enumerable:s.enumerable,configurable:!0,get:function(){return s.get.call(this)},set:function(e){c=""+e,s.set.call(this,e)}}),a(e,{getValue:function(){return c},setValue:function(e){c=""+e},stopTracking:function(){i(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=o(e);if(!t)return c.track(e),!0;var n=t.getValue(),r=s(u.getNodeFromInstance(e));return r!==n&&(t.setValue(r),!0)},stopTracking:function(e){var t=o(e);t&&t.stopTracking()}};t.exports=c},{"./ReactDOMComponentTree":234}],317:[function(e,t,n){(function(n){"use strict";function r(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}function o(e){return"function"==typeof e&&"undefined"!=typeof e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}function a(e,t){var n;if(null===e||e===!1)n=c.create(a);else if("object"==typeof e){var s=e,u=s.type;if("function"!=typeof u&&"string"!=typeof u){var f="";f+=r(s._owner),i("130",null==u?u:typeof u,f)}"string"==typeof s.type?n=l.createInternalComponent(s):o(s.type)?(n=new s.type(s),n.getHostNode||(n.getHostNode=n.getNativeNode)):n=new p(s)}else"string"==typeof e||"number"==typeof e?n=l.createInstanceForText(e):i("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}var i=e("./reactProdInvariant"),s=e("object-assign"),u=e("./ReactCompositeComponent"),c=e("./ReactEmptyComponent"),l=e("./ReactHostComponent"),p=(e("react/lib/getNextDebugID"),e("fbjs/lib/invariant"),e("fbjs/lib/warning"),function(e){this.construct(e)});s(p.prototype,u,{_instantiateReactComponent:a}),t.exports=a}).call(this,e("_process"))},{"./ReactCompositeComponent":230,"./ReactEmptyComponent":253,"./ReactHostComponent":258,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161,"react/lib/getNextDebugID":348}],318:[function(e,t,n){"use strict";function r(e,t){if(!a.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var i=document.createElement("div");i.setAttribute(n,"return;"),r="function"==typeof i[n]}return!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var o,a=e("fbjs/lib/ExecutionEnvironment");a.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0),t.exports=r},{"fbjs/lib/ExecutionEnvironment":36}],319:[function(e,t,n){"use strict";function r(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!o[e.type]:"textarea"===t}var o={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=r},{}],320:[function(e,t,n){"use strict";function r(e){return'"'+o(e)+'"'}var o=e("./escapeTextContentForBrowser");t.exports=r},{"./escapeTextContentForBrowser":303}],321:[function(e,t,n){"use strict";function r(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.";var o=new Error(n);throw o.name="Invariant Violation",o.framesToPop=1,o}t.exports=r},{}],322:[function(e,t,n){"use strict";var r=e("./ReactMount");t.exports=r.renderSubtreeIntoContainer},{"./ReactMount":266}],323:[function(e,t,n){"use strict";var r,o=e("fbjs/lib/ExecutionEnvironment"),a=e("./DOMNamespaces"),i=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=e("./createMicrosoftUnsafeLocalFunction"),c=u(function(e,t){if(e.namespaceURI!==a.svg||"innerHTML"in e)e.innerHTML=t;else{r=r||document.createElement("div"),r.innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});if(o.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(c=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),i.test(t)||"<"===t[0]&&s.test(t)){e.innerHTML=String.fromCharCode(65279)+t;var n=e.firstChild;1===n.data.length?e.removeChild(n):n.deleteData(0,1)}else e.innerHTML=t}),l=null}t.exports=c},{"./DOMNamespaces":211,"./createMicrosoftUnsafeLocalFunction":301,"fbjs/lib/ExecutionEnvironment":36}],324:[function(e,t,n){"use strict";var r=e("fbjs/lib/ExecutionEnvironment"),o=e("./escapeTextContentForBrowser"),a=e("./setInnerHTML"),i=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(i=function(e,t){return 3===e.nodeType?void(e.nodeValue=t):void a(e,o(t))})),t.exports=i},{"./escapeTextContentForBrowser":303,"./setInnerHTML":323,"fbjs/lib/ExecutionEnvironment":36}],325:[function(e,t,n){"use strict";function r(e,t){var n=null===e||e===!1,r=null===t||t===!1;if(n||r)return n===r;var o=typeof e,a=typeof t;return"string"===o||"number"===o?"string"===a||"number"===a:"object"===a&&e.type===t.type&&e.key===t.key}t.exports=r},{}],326:[function(e,t,n){(function(n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,a){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(a,e,""===t?l+r(e,0):t),1;var d,h,v=0,g=""===t?l:t+p;if(Array.isArray(e))for(var m=0;m<e.length;m++)d=e[m],h=g+r(d,m),v+=o(d,h,n,a);else{var y=u(e);if(y){var b,_=y.call(e);if(y!==e.entries)for(var E=0;!(b=_.next()).done;)d=b.value,h=g+r(d,E++),v+=o(d,h,n,a);else for(;!(b=_.next()).done;){var C=b.value;C&&(d=C[1],h=g+c.escape(C[0])+p+r(d,0),v+=o(d,h,n,a))}}else if("object"===f){var w="",O=String(e);i("31","[object Object]"===O?"object with keys {"+Object.keys(e).join(", ")+"}":O,w)}}return v}function a(e,t,n){return null==e?0:o(e,"",t,n)}var i=e("./reactProdInvariant"),s=(e("react/lib/ReactCurrentOwner"),e("./ReactElementSymbol")),u=e("./getIteratorFn"),c=(e("fbjs/lib/invariant"),e("./KeyEscapeUtils")),l=(e("fbjs/lib/warning"),"."),p=":";t.exports=a}).call(this,e("_process"))},{"./KeyEscapeUtils":223,"./ReactElementSymbol":252,"./getIteratorFn":312,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],327:[function(e,t,n){(function(n){"use strict";var r=(e("object-assign"),e("fbjs/lib/emptyFunction")),o=(e("fbjs/lib/warning"),r);t.exports=o}).call(this,e("_process"))},{_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/warning":57,"object-assign":161}],328:[function(e,t,n){arguments[4][223][0].apply(n,arguments)},{dup:223}],329:[function(e,t,n){(function(n){"use strict";var r=e("./reactProdInvariant"),o=(e("fbjs/lib/invariant"),function(e){var t=this;if(t.instancePool.length){var n=t.instancePool.pop();return t.call(n,e),n}return new t(e)}),a=function(e,t){var n=this;if(n.instancePool.length){var r=n.instancePool.pop();return n.call(r,e,t),r}return new n(e,t)},i=function(e,t,n){var r=this;if(r.instancePool.length){var o=r.instancePool.pop();return r.call(o,e,t,n),o}return new r(e,t,n)},s=function(e,t,n,r){var o=this;if(o.instancePool.length){var a=o.instancePool.pop();return o.call(a,e,t,n,r),a}return new o(e,t,n,r)},u=function(e){var t=this;e instanceof t?void 0:r("25"),e.destructor(),t.instancePool.length<t.poolSize&&t.instancePool.push(e)},c=10,l=o,p=function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||l,n.poolSize||(n.poolSize=c),n.release=u,n},f={addPoolingTo:p,oneArgumentPooler:o,twoArgumentPooler:a,threeArgumentPooler:i,fourArgumentPooler:s};t.exports=f}).call(this,e("_process"))},{"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50}],330:[function(e,t,n){(function(n){"use strict";var r=e("object-assign"),o=e("./ReactBaseClasses"),a=e("./ReactChildren"),i=e("./ReactDOMFactories"),s=e("./ReactElement"),u=e("./ReactPropTypes"),c=e("./ReactVersion"),l=e("./createClass"),p=e("./onlyChild"),f=s.createElement,d=s.createFactory,h=s.cloneElement,v=r,g=function(e){return e},m={Children:{map:a.map,forEach:a.forEach,count:a.count,toArray:a.toArray,only:p},Component:o.Component,PureComponent:o.PureComponent,createElement:f,cloneElement:h,isValidElement:s.isValidElement,PropTypes:u,createClass:l,createFactory:d,createMixin:g,DOM:i,version:c,__spread:v};t.exports=m}).call(this,e("_process"))},{"./ReactBaseClasses":331,"./ReactChildren":332,"./ReactDOMFactories":335,"./ReactElement":336,"./ReactElementValidator":338,"./ReactPropTypes":341,"./ReactVersion":343,"./canDefineProperty":344,"./createClass":346,"./lowPriorityWarning":349,"./onlyChild":350,_process:162,"object-assign":161}],331:[function(e,t,n){(function(n){"use strict";function r(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function o(e,t,n){this.props=e,this.context=t,this.refs=c,this.updater=n||u}function a(){}var i=e("./reactProdInvariant"),s=e("object-assign"),u=e("./ReactNoopUpdateQueue"),c=(e("./canDefineProperty"),e("fbjs/lib/emptyObject"));e("fbjs/lib/invariant"),e("./lowPriorityWarning");r.prototype.isReactComponent={},r.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e?i("85"):void 0,this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},r.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")};a.prototype=r.prototype,o.prototype=new a,o.prototype.constructor=o,s(o.prototype,r.prototype),o.prototype.isPureReactComponent=!0,t.exports={Component:r,PureComponent:o}}).call(this,e("_process"))},{"./ReactNoopUpdateQueue":339,"./canDefineProperty":344,"./lowPriorityWarning":349,"./reactProdInvariant":351,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"object-assign":161}],332:[function(e,t,n){"use strict";function r(e){return(""+e).replace(_,"$&/")}function o(e,t){this.func=e,this.context=t,this.count=0}function a(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function i(e,t,n){if(null==e)return e;var r=o.getPooled(t,n);m(e,a,r),o.release(r)}function s(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function u(e,t,n){var o=e.result,a=e.keyPrefix,i=e.func,s=e.context,u=i.call(s,t,e.count++);Array.isArray(u)?c(u,o,n,g.thatReturnsArgument):null!=u&&(v.isValidElement(u)&&(u=v.cloneAndReplaceKey(u,a+(!u.key||t&&t.key===u.key?"":r(u.key)+"/")+n)),o.push(u))}function c(e,t,n,o,a){var i="";null!=n&&(i=r(n)+"/");var c=s.getPooled(t,i,o,a);m(e,u,c),s.release(c)}function l(e,t,n){if(null==e)return e;var r=[];return c(e,r,null,t,n),r}function p(e,t,n){return null}function f(e,t){return m(e,p,null)}function d(e){var t=[];return c(e,t,null,g.thatReturnsArgument),t}var h=e("./PooledClass"),v=e("./ReactElement"),g=e("fbjs/lib/emptyFunction"),m=e("./traverseAllChildren"),y=h.twoArgumentPooler,b=h.fourArgumentPooler,_=/\/+/g;o.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},h.addPoolingTo(o,y),s.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},h.addPoolingTo(s,b);var E={forEach:i,map:l,mapIntoWithKeyPrefixInternal:c,count:f,toArray:d};t.exports=E},{"./PooledClass":329,"./ReactElement":336,"./traverseAllChildren":352,"fbjs/lib/emptyFunction":42}],333:[function(e,t,n){(function(n){"use strict";function r(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var o=t.call(e);return r.test(o)}catch(a){return!1}}function o(e){var t=c(e);if(t){var n=t.childIDs;l(e),n.forEach(o)}}function a(e,t,n){return"\n in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function i(e){return null==e?"#empty":"string"==typeof e||"number"==typeof e?"#text":"string"==typeof e.type?e.type:e.type.displayName||e.type.name||"Unknown"}function s(e){var t,n=T.getDisplayName(e),r=T.getElement(e),o=T.getOwnerID(e);return o&&(t=T.getDisplayName(o)),a(n,r&&r._source,t)}var u,c,l,p,f,d,h,v=e("./reactProdInvariant"),g=e("./ReactCurrentOwner"),m=(e("fbjs/lib/invariant"),e("fbjs/lib/warning"),"function"==typeof Array.from&&"function"==typeof Map&&r(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&r(Map.prototype.keys)&&"function"==typeof Set&&r(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&r(Set.prototype.keys));if(m){var y=new Map,b=new Set;u=function(e,t){y.set(e,t)},c=function(e){return y.get(e)},l=function(e){y["delete"](e)},p=function(){return Array.from(y.keys())},f=function(e){b.add(e)},d=function(e){b["delete"](e)},h=function(){return Array.from(b.keys())}}else{var _={},E={},C=function(e){return"."+e},w=function(e){return parseInt(e.substr(1),10)};u=function(e,t){var n=C(e);_[n]=t},c=function(e){var t=C(e);return _[t]},l=function(e){var t=C(e);delete _[t]},p=function(){return Object.keys(_).map(w)},f=function(e){var t=C(e);E[t]=!0},d=function(e){var t=C(e);delete E[t]},h=function(){return Object.keys(E).map(w)}}var O=[],T={onSetChildren:function(e,t){var n=c(e);n?void 0:v("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var o=t[r],a=c(o);a?void 0:v("140"),null==a.childIDs&&"object"==typeof a.element&&null!=a.element?v("141"):void 0,a.isMounted?void 0:v("71"),null==a.parentID&&(a.parentID=e),a.parentID!==e?v("142",o,a.parentID,e):void 0}},onBeforeMountComponent:function(e,t,n){var r={element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0};u(e,r)},onBeforeUpdateComponent:function(e,t){var n=c(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=c(e);t?void 0:v("144"),t.isMounted=!0;var n=0===t.parentID;n&&f(e)},onUpdateComponent:function(e){var t=c(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=c(e);if(t){t.isMounted=!1;var n=0===t.parentID;n&&d(e)}O.push(e)},purgeUnmountedComponents:function(){if(!T._preventPurging){for(var e=0;e<O.length;e++){var t=O[e];o(t)}O.length=0}},isMounted:function(e){var t=c(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=i(e),r=e._owner;t+=a(n,e._source,r&&r.getName())}var o=g.current,s=o&&o._debugID;return t+=T.getStackAddendumByID(s)},getStackAddendumByID:function(e){for(var t="";e;)t+=s(e),e=T.getParentID(e);return t},getChildIDs:function(e){var t=c(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=T.getElement(e);return t?i(t):null},getElement:function(e){var t=c(e);return t?t.element:null},getOwnerID:function(e){var t=T.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=c(e);return t?t.parentID:null},getSource:function(e){var t=c(e),n=t?t.element:null,r=null!=n?n._source:null;return r},getText:function(e){var t=T.getElement(e);return"string"==typeof t?t:"number"==typeof t?""+t:null},getUpdateCount:function(e){var t=c(e);return t?t.updateCount:0},getRootIDs:h,getRegisteredIDs:p,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=g.current,o=r&&r._debugID;try{for(e&&n.push({name:o?T.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var a=T.getElement(o),i=T.getParentID(o),s=T.getOwnerID(o),u=s?T.getDisplayName(s):null,c=a&&a._source;n.push({name:u,fileName:c?c.fileName:null,lineNumber:c?c.lineNumber:null}),o=i}}catch(l){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};t.exports=T}).call(this,e("_process"))},{"./ReactCurrentOwner":334,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],334:[function(e,t,n){"use strict";var r={current:null};t.exports=r},{}],335:[function(e,t,n){(function(n){"use strict";var r=e("./ReactElement"),o=r.createFactory,a={a:o("a"),abbr:o("abbr"),address:o("address"),area:o("area"),article:o("article"),aside:o("aside"),audio:o("audio"),b:o("b"),base:o("base"),bdi:o("bdi"),bdo:o("bdo"),big:o("big"),blockquote:o("blockquote"),body:o("body"),br:o("br"),button:o("button"),canvas:o("canvas"),caption:o("caption"),cite:o("cite"),code:o("code"),col:o("col"),colgroup:o("colgroup"),data:o("data"),datalist:o("datalist"),dd:o("dd"),del:o("del"),details:o("details"),dfn:o("dfn"),dialog:o("dialog"),div:o("div"),dl:o("dl"),dt:o("dt"),em:o("em"),embed:o("embed"),fieldset:o("fieldset"),figcaption:o("figcaption"),figure:o("figure"),footer:o("footer"),form:o("form"),h1:o("h1"),h2:o("h2"),h3:o("h3"),h4:o("h4"),h5:o("h5"),h6:o("h6"),head:o("head"),header:o("header"),hgroup:o("hgroup"),hr:o("hr"),html:o("html"),i:o("i"),iframe:o("iframe"),img:o("img"),input:o("input"),ins:o("ins"),kbd:o("kbd"),keygen:o("keygen"),label:o("label"),legend:o("legend"),li:o("li"),link:o("link"),main:o("main"),map:o("map"),mark:o("mark"),menu:o("menu"),menuitem:o("menuitem"),meta:o("meta"),meter:o("meter"),nav:o("nav"),noscript:o("noscript"),object:o("object"),ol:o("ol"),optgroup:o("optgroup"),option:o("option"),output:o("output"),p:o("p"),param:o("param"),picture:o("picture"),pre:o("pre"),progress:o("progress"),q:o("q"),rp:o("rp"),rt:o("rt"),ruby:o("ruby"),s:o("s"),samp:o("samp"),script:o("script"),section:o("section"),select:o("select"),small:o("small"),source:o("source"),span:o("span"),strong:o("strong"),style:o("style"),sub:o("sub"),summary:o("summary"),sup:o("sup"),table:o("table"),tbody:o("tbody"),td:o("td"),textarea:o("textarea"),tfoot:o("tfoot"),th:o("th"),thead:o("thead"),time:o("time"),title:o("title"),tr:o("tr"),track:o("track"),u:o("u"),ul:o("ul"),"var":o("var"),video:o("video"),wbr:o("wbr"),circle:o("circle"),clipPath:o("clipPath"),defs:o("defs"),ellipse:o("ellipse"),g:o("g"),image:o("image"),line:o("line"),linearGradient:o("linearGradient"),mask:o("mask"),path:o("path"),pattern:o("pattern"),polygon:o("polygon"),polyline:o("polyline"),radialGradient:o("radialGradient"),rect:o("rect"),stop:o("stop"),svg:o("svg"),text:o("text"),tspan:o("tspan")};t.exports=a}).call(this,e("_process"))},{"./ReactElement":336,"./ReactElementValidator":338,_process:162}],336:[function(e,t,n){(function(n){"use strict";function r(e){return void 0!==e.ref}function o(e){return void 0!==e.key}var a=e("object-assign"),i=e("./ReactCurrentOwner"),s=(e("fbjs/lib/warning"),e("./canDefineProperty"),Object.prototype.hasOwnProperty),u=e("./ReactElementSymbol"),c={key:!0,ref:!0,__self:!0,__source:!0},l=function(e,t,n,r,o,a,i){var s={$$typeof:u,type:e,key:t,ref:n,props:i,_owner:a};return s};l.createElement=function(e,t,n){var a,u={},p=null,f=null,d=null,h=null;if(null!=t){r(t)&&(f=t.ref),o(t)&&(p=""+t.key),d=void 0===t.__self?null:t.__self,h=void 0===t.__source?null:t.__source;for(a in t)s.call(t,a)&&!c.hasOwnProperty(a)&&(u[a]=t[a])}var v=arguments.length-2;if(1===v)u.children=n;else if(v>1){for(var g=Array(v),m=0;m<v;m++)g[m]=arguments[m+2];u.children=g}if(e&&e.defaultProps){var y=e.defaultProps;for(a in y)void 0===u[a]&&(u[a]=y[a])}return l(e,p,f,d,h,i.current,u)},l.createFactory=function(e){var t=l.createElement.bind(null,e);return t.type=e,t},l.cloneAndReplaceKey=function(e,t){var n=l(e.type,t,e.ref,e._self,e._source,e._owner,e.props);return n},l.cloneElement=function(e,t,n){var u,p=a({},e.props),f=e.key,d=e.ref,h=e._self,v=e._source,g=e._owner;if(null!=t){r(t)&&(d=t.ref,g=i.current),o(t)&&(f=""+t.key);var m;e.type&&e.type.defaultProps&&(m=e.type.defaultProps);for(u in t)s.call(t,u)&&!c.hasOwnProperty(u)&&(void 0===t[u]&&void 0!==m?p[u]=m[u]:p[u]=t[u])}var y=arguments.length-2;if(1===y)p.children=n;else if(y>1){for(var b=Array(y),_=0;_<y;_++)b[_]=arguments[_+2];p.children=b}return l(e.type,f,d,h,v,g,p)},l.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===u},t.exports=l}).call(this,e("_process"))},{"./ReactCurrentOwner":334,"./ReactElementSymbol":337,"./canDefineProperty":344,_process:162,"fbjs/lib/warning":57,"object-assign":161}],337:[function(e,t,n){arguments[4][252][0].apply(n,arguments)},{dup:252}],338:[function(e,t,n){(function(n){"use strict";function r(){if(c.current){var e=c.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}function o(e){if(null!==e&&void 0!==e&&void 0!==e.__source){var t=e.__source,n=t.fileName.replace(/^.*[\\\/]/,""),r=t.lineNumber;return" Check your code at "+n+":"+r+"."}return""}function a(e){var t=r();if(!t){var n="string"==typeof e?e:e.displayName||e.name;n&&(t=" Check the top-level render call using <"+n+">.")}return t}function i(e,t){if(e._store&&!e._store.validated&&null==e.key){e._store.validated=!0;var n=h.uniqueKey||(h.uniqueKey={}),r=a(t);if(!n[r]){n[r]=!0;var o="";e&&e._owner&&e._owner!==c.current&&(o=" It was passed a child from "+e._owner.getName()+".")}}}function s(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];p.isValidElement(r)&&i(r,t)}else if(p.isValidElement(e))e._store&&(e._store.validated=!0);else if(e){var o=d(e);if(o&&o!==e.entries)for(var a,s=o.call(e);!(a=s.next()).done;)p.isValidElement(a.value)&&i(a.value,t)}}function u(e){var t=e.type;if("function"==typeof t){var n=t.displayName||t.name;t.propTypes&&f(t.propTypes,e.props,"prop",n,e,null),"function"==typeof t.getDefaultProps}}var c=e("./ReactCurrentOwner"),l=e("./ReactComponentTreeHook"),p=e("./ReactElement"),f=e("./checkReactTypeSpec"),d=(e("./canDefineProperty"),e("./getIteratorFn")),h=(e("fbjs/lib/warning"),e("./lowPriorityWarning"),{}),v={createElement:function(e,t,n){var a="string"==typeof e||"function"==typeof e;if(!a&&"function"!=typeof e&&"string"!=typeof e){var i="";(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(i+=" You likely forgot to export your component from the file it's defined in.");var c=o(t);i+=c?c:r(),i+=l.getCurrentStackAddendum();var f=null!==t&&void 0!==t&&void 0!==t.__source?t.__source:null;l.pushNonStandardWarningStack(!0,f),l.popNonStandardWarningStack()}var d=p.createElement.apply(this,arguments);if(null==d)return d;if(a)for(var h=2;h<arguments.length;h++)s(arguments[h],e);return u(d),d},createFactory:function(e){var t=v.createElement.bind(null,e);return t.type=e,t},cloneElement:function(e,t,n){for(var r=p.cloneElement.apply(this,arguments),o=2;o<arguments.length;o++)s(arguments[o],r.type);return u(r),r}};t.exports=v}).call(this,e("_process"))},{"./ReactComponentTreeHook":333,"./ReactCurrentOwner":334,"./ReactElement":336,"./canDefineProperty":344,"./checkReactTypeSpec":345,"./getIteratorFn":347,"./lowPriorityWarning":349,_process:162,"fbjs/lib/warning":57}],339:[function(e,t,n){(function(n){"use strict";function r(e,t){}var o=(e("fbjs/lib/warning"),{isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){r(e,"forceUpdate")},enqueueReplaceState:function(e,t){r(e,"replaceState")},enqueueSetState:function(e,t){r(e,"setState")}});t.exports=o}).call(this,e("_process"))},{_process:162,"fbjs/lib/warning":57}],340:[function(e,t,n){(function(e){"use strict";var n={};t.exports=n}).call(this,e("_process"))},{_process:162}],341:[function(e,t,n){"use strict";var r=e("./ReactElement"),o=r.isValidElement,a=e("prop-types/factory");t.exports=a(o)},{"./ReactElement":336,"prop-types/factory":164}],342:[function(e,t,n){arguments[4][271][0].apply(n,arguments)},{dup:271}],343:[function(e,t,n){arguments[4][279][0].apply(n,arguments)},{dup:279}],344:[function(e,t,n){(function(e){"use strict";var n=!1;t.exports=n}).call(this,e("_process"))},{_process:162}],345:[function(e,t,n){(function(n){"use strict";function r(e,t,n,r,u,c){for(var l in e)if(e.hasOwnProperty(l)){var p;try{"function"!=typeof e[l]?o("84",r||"React class",a[n],l):void 0,p=e[l](t,l,r,n,null,i)}catch(f){p=f}if(p instanceof Error&&!(p.message in s)){s[p.message]=!0}}}var o=e("./reactProdInvariant"),a=e("./ReactPropTypeLocationNames"),i=e("./ReactPropTypesSecret");e("fbjs/lib/invariant"),e("fbjs/lib/warning");"undefined"!=typeof n&&n.env,1;var s={};t.exports=r}).call(this,e("_process"))},{"./ReactComponentTreeHook":333,"./ReactPropTypeLocationNames":340,"./ReactPropTypesSecret":342,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],346:[function(e,t,n){"use strict";var r=e("./ReactBaseClasses"),o=r.Component,a=e("./ReactElement"),i=a.isValidElement,s=e("./ReactNoopUpdateQueue"),u=e("create-react-class/factory");t.exports=u(o,i,s)},{"./ReactBaseClasses":331,"./ReactElement":336,"./ReactNoopUpdateQueue":339,"create-react-class/factory":12}],347:[function(e,t,n){arguments[4][312][0].apply(n,arguments)},{dup:312}],348:[function(e,t,n){"use strict";function r(){return o++}var o=1;t.exports=r},{}],349:[function(e,t,n){(function(e){"use strict";var n=function(){};t.exports=n}).call(this,e("_process"))},{_process:162}],350:[function(e,t,n){(function(n){"use strict";function r(e){return a.isValidElement(e)?void 0:o("143"),e}var o=e("./reactProdInvariant"),a=e("./ReactElement");e("fbjs/lib/invariant");t.exports=r}).call(this,e("_process"))},{"./ReactElement":336,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50}],351:[function(e,t,n){arguments[4][321][0].apply(n,arguments)},{dup:321}],352:[function(e,t,n){(function(n){"use strict";function r(e,t){return e&&"object"==typeof e&&null!=e.key?c.escape(e.key):t.toString(36)}function o(e,t,n,a){var f=typeof e;if("undefined"!==f&&"boolean"!==f||(e=null),null===e||"string"===f||"number"===f||"object"===f&&e.$$typeof===s)return n(a,e,""===t?l+r(e,0):t),1;var d,h,v=0,g=""===t?l:t+p;if(Array.isArray(e))for(var m=0;m<e.length;m++)d=e[m],h=g+r(d,m),v+=o(d,h,n,a);else{var y=u(e);if(y){var b,_=y.call(e);if(y!==e.entries)for(var E=0;!(b=_.next()).done;)d=b.value,h=g+r(d,E++),v+=o(d,h,n,a);else for(;!(b=_.next()).done;){var C=b.value;C&&(d=C[1],h=g+c.escape(C[0])+p+r(d,0),v+=o(d,h,n,a))}}else if("object"===f){var w="",O=String(e);i("31","[object Object]"===O?"object with keys {"+Object.keys(e).join(", ")+"}":O,w)}}return v}function a(e,t,n){return null==e?0:o(e,"",t,n)}var i=e("./reactProdInvariant"),s=(e("./ReactCurrentOwner"),e("./ReactElementSymbol")),u=e("./getIteratorFn"),c=(e("fbjs/lib/invariant"),e("./KeyEscapeUtils")),l=(e("fbjs/lib/warning"),"."),p=":";t.exports=a}).call(this,e("_process"))},{"./KeyEscapeUtils":328,"./ReactCurrentOwner":334,"./ReactElementSymbol":337,"./getIteratorFn":347,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],353:[function(e,t,n){
|
11 |
-
"use strict";t.exports=e("./lib/React")},{"./lib/React":330}],354:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{"default":e}}function o(e,t,n){function r(){m===g&&(m=g.slice())}function a(){return v}function s(e){if("function"!=typeof e)throw new Error("Expected listener to be a function.");var t=!0;return r(),m.push(e),function(){if(t){t=!1,r();var n=m.indexOf(e);m.splice(n,1)}}}function l(e){if(!(0,i["default"])(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if("undefined"==typeof e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(y)throw new Error("Reducers may not dispatch actions.");try{y=!0,v=h(v,e)}finally{y=!1}for(var t=g=m,n=0;n<t.length;n++){var r=t[n];r()}return e}function p(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");h=e,l({type:c.INIT})}function f(){var e,t=s;return e={subscribe:function(e){function n(){e.next&&e.next(a())}if("object"!=typeof e)throw new TypeError("Expected the observer to be an object.");n();var r=t(n);return{unsubscribe:r}}},e[u["default"]]=function(){return this},e}var d;if("function"==typeof t&&"undefined"==typeof n&&(n=t,t=void 0),"undefined"!=typeof n){if("function"!=typeof n)throw new Error("Expected the enhancer to be a function.");return n(o)(e,t)}if("function"!=typeof e)throw new Error("Expected the reducer to be a function.");var h=e,v=t,g=[],m=g,y=!1;return l({type:c.INIT}),d={dispatch:l,subscribe:s,getState:a,replaceReducer:p},d[u["default"]]=f,d}n.__esModule=!0,n.ActionTypes=void 0,n["default"]=o;var a=e("lodash/isPlainObject"),i=r(a),s=e("symbol-observable"),u=r(s),c=n.ActionTypes={INIT:"@@redux/INIT"}},{"lodash/isPlainObject":152,"symbol-observable":355}],355:[function(e,t,n){(function(r){"use strict";function o(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(n,"__esModule",{value:!0});var a,i=e("./ponyfill.js"),s=o(i);a="undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof r?r:"undefined"!=typeof t?t:Function("return this")();var u=(0,s["default"])(a);n["default"]=u}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./ponyfill.js":356}],356:[function(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}Object.defineProperty(n,"__esModule",{value:!0}),n["default"]=r},{}]},{},[9]);
|
1 |
+
!function r(o,a,i){function s(t,e){if(!a[t]){if(!o[t]){var n="function"==typeof require&&require;if(!e&&n)return n(t,!0);if(u)return u(t,!0);throw(n=new Error("Cannot find module '"+t+"'")).code="MODULE_NOT_FOUND",n}n=a[t]={exports:{}},o[t][0].call(n.exports,function(e){return s(o[t][1][e]||e)},n,n.exports,r,o,a,i)}return a[t].exports}for(var u="function"==typeof require&&require,e=0;e<i.length;e++)s(i[e]);return s}({1:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==f(e)&&"function"!=typeof e)return{default:e};var t=p();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react")),i=r(e("./components/Navbar")),s=r(e("./components/SelectEditor")),u=r(e("./components/VisualEditor")),c=r(e("./components/AdvancedEditor")),l=r(e("./components/ImportExportEditor"));function r(e){return e&&e.__esModule?e:{default:e}}function p(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return p=function(){return e},e}function f(e){return(f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=o(n);return e=r?(e=o(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==f(e)&&"function"!=typeof e?m(t):e}}function m(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}e=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(o,a.Component);var e,t,n,r=g(o);function o(){var e;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),(e=r.call(this)).state={config:null},e.renderTab=e.renderTab.bind(m(e)),e.renderSubmitButton=e.renderSubmitButton.bind(m(e)),e}return e=o,(t=[{key:"componentDidMount",value:function(){this.setState({config:window.jpibfi_settings})}},{key:"isCurrentTabIn",value:function(e){var t=this;return e.some(function(e){return t.state.config.currentTab===e})}},{key:"isCurrentTabEqualTo",value:function(e){return this.isCurrentTabIn([e])}},{key:"render",value:function(){if(!this.state.config)return null;var e=this.state.config,t={tabs:e.tabs,page:e.page,currentTab:e.currentTab,links:e.links};return a.default.createElement("div",{id:"foo"},a.default.createElement(i.default,t),a.default.createElement("form",{method:"POST",encType:"multipart/form-data",id:"jpibfi-form",action:e.save.post_url},a.default.createElement("input",{name:e.save.action,value:e.save.nonce,type:"hidden"}),a.default.createElement("input",{name:e.save.tab,value:e.currentTab,type:"hidden"}),this.renderTab(s.default,"select"),this.renderTab(u.default,"visual"),this.renderTab(c.default,"advanced"),this.renderTab(l.default,"import"),this.renderSubmitButton()))}},{key:"renderTab",value:function(e,t){if(!this.isCurrentTabEqualTo(t))return null;var n=this.state.config,t=n.settings,n=n.i18n;return a.default.createElement(e,{settings:t,i18n:n.editor})}},{key:"renderSubmitButton",value:function(){return this.isCurrentTabIn(["select","visual","advanced"])?a.default.createElement("input",{type:"submit",className:"button button-primary",value:this.state.config.save.submit}):null}}])&&d(e.prototype,t),n&&d(e,n),o}();n.default=e},{"./components/AdvancedEditor":2,"./components/ImportExportEditor":3,"./components/Navbar":4,"./components/SelectEditor":5,"./components/VisualEditor":7,react:353}],2:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==u(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react")),r=e("./helpers");function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function c(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){l(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function p(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function d(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=a(n);return e=r?(e=a(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==u(e)&&"function"!=typeof e?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function h(e){var t=e.name,n=e.priority,e=e.template,n=[{tag:"%name%",editor:i.default.createElement(r.CheckboxEditor,{key:"name",args:t})},{tag:"%priority%",editor:i.default.createElement(r.LabeledNumberEditor,{key:"priority",args:n,step:"1"})}];return i.default.createElement(r.Templated,{items:n,template:e})}e=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}(a,i.Component);var e,t,n,o=d(a);function a(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(r=o.call(this,e)).changeValue=function(e,t){var n=r.props.settings[e],t=c(c({},r.state.settings),{},l({},e,c(c({},n),{},{value:t})));r.setState({settings:t})},r.renderProFeatureError=function(){return i.default.createElement("p",null,i.default.createElement("b",{dangerouslySetInnerHTML:{__html:r.props.i18n.pro_feature_error}}))},r.state={settings:c({},e.settings)},r}return e=a,(t=[{key:"render",value:function(){var e=this.props,t=e.settings,n=e.i18n;return i.default.createElement("div",null,i.default.createElement("h2",null,e.i18n.title),i.default.createElement("table",{className:"form-table"},i.default.createElement("tbody",null,this.renderSupportSrcsetSetting(),i.default.createElement("tr",null,i.default.createElement("th",null,n.filters_label),i.default.createElement("td",null,i.default.createElement(h,{name:t.filter_the_content_on,priority:t.filter_the_content_priority,template:n.filter_template}),i.default.createElement(h,{name:t.filter_the_excerpt_on,priority:t.filter_the_excerpt_priority,template:n.filter_template}),i.default.createElement(h,{name:t.filter_post_thumbnail_html_on,priority:t.filter_post_thumbnail_html_priority,template:n.filter_template}),i.default.createElement(r.Description,{text:n.filters_description}))),this.renderScrollSelectionSetting(),i.default.createElement(r.TableRow,{Editor:r.TextareaEditor,rows:5,setting:t.custom_css}))))}},{key:"renderSupportSrcsetSetting",value:function(){var t=this,e=this.state.settings.support_srcset,n=null;return!0===e.value&&(n=this.renderProFeatureError()),i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",{htmlFor:e.key},e.label)),i.default.createElement("td",null,i.default.createElement(r.CheckboxEditor,{args:e,onChange:function(e){return t.changeValue("support_srcset",e.target.checked)}}),i.default.createElement(r.Description,{text:e.desc}),n))}},{key:"renderScrollSelectionSetting",value:function(){this.props.settings;return null}}])&&p(e.prototype,t),n&&p(e,n),a}();n.default=e},{"./helpers":8,react:353}],3:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==s(e)&&"function"!=typeof e)return{default:e};var t=i();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react"));e("./helpers");function i(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return i=function(){return e},e}function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function u(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function c(e,t){return(c=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function l(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=o(n);return e=r?(e=o(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==s(e)&&"function"!=typeof e?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}e=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&c(e,t)}(o,a.Component);var e,t,n,r=l(o);function o(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),r.apply(this,arguments)}return e=o,(t=[{key:"onUpload",value:function(){document.getElementById("jpibfi-form").submit()}},{key:"render",value:function(){var e=this.props,e=(e.settings,e.i18n);return a.default.createElement("div",null,a.default.createElement("h2",null,e.title),a.default.createElement("table",{className:"form-table"},a.default.createElement("tbody",null,a.default.createElement("tr",null,a.default.createElement("th",null,a.default.createElement("label",null,e.export_title)),a.default.createElement("td",null,a.default.createElement("a",{href:e.export_url,className:"button button-default"},e.export_button_text))),a.default.createElement("tr",null,a.default.createElement("th",null,a.default.createElement("label",null,e.import_title)),a.default.createElement("td",null,a.default.createElement("input",{type:"file",name:"import",onChange:this.onUpload,accept:".json"}))))))}}])&&u(e.prototype,t),n&&u(e,n),o}();n.default=e},{"./helpers":8,react:353}],4:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(t){return o.default.createElement("h2",{className:"nav-tab-wrapper"},t.tabs.map(function(e){return o.default.createElement("a",{key:e.slug,href:"?page=".concat(t.page,"&tab=").concat(e.slug),className:"nav-tab ".concat(t.currentTab===e.slug&&"nav-tab-active")},e.name)}),t.links.map(function(e){return o.default.createElement("a",{key:e.url,target:"_blank",className:"nav-tab",href:e.url},e.label)}))};var r,o=(r=e("react"))&&r.__esModule?r:{default:r}},{react:353}],5:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var a=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==u(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react")),i=e("./helpers");function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function u(e){return(u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function c(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function l(e,t){return(l=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function p(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=o(n);return e=r?(e=o(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==u(e)&&"function"!=typeof e?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}}function o(e){return(o=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function f(e){var t=e.height,n=e.width,e=e.template,n=[{tag:"%height%",editor:a.default.createElement(i.NumberEditor,{key:"height",args:t,step:"1",min:"0"})},{tag:"%width%",editor:a.default.createElement(i.NumberEditor,{key:"width",args:n,step:"1",min:"0"})}];return a.default.createElement(i.Templated,{items:n,template:e})}e=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&l(e,t)}(o,a.Component);var e,t,n,r=p(o);function o(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),r.apply(this,arguments)}return e=o,(t=[{key:"render",value:function(){var e=this.props,t=e.settings,e=e.i18n;return a.default.createElement("div",null,a.default.createElement("h2",null,e.title),a.default.createElement("table",{className:"form-table"},a.default.createElement("tbody",null,a.default.createElement(i.TableRow,{Editor:i.TextareaEditor,setting:t.image_selector}),a.default.createElement(i.TableRow,{Editor:i.TextEditor,setting:t.disabled_classes}),a.default.createElement(i.TableRow,{Editor:i.TextEditor,setting:t.enabled_classes}),a.default.createElement("tr",null,a.default.createElement("th",null,e.image_resolution_label),a.default.createElement("td",null,a.default.createElement(f,{height:t.min_image_height_small,width:t.min_image_width_small,template:e.min_resolution_template_small}),a.default.createElement(f,{height:t.min_image_height,width:t.min_image_width,template:e.min_resolution_template}),a.default.createElement(i.Description,{text:e.image_resolution_desc}),a.default.createElement(i.Description,{text:e.image_resolution_desc_2}))),a.default.createElement("tr",null,a.default.createElement("th",null,e.show_on_field_label),a.default.createElement("td",null,a.default.createElement("p",null,a.default.createElement("label",{htmlFor:"show_on"},t.show_on.label,":"),a.default.createElement("br",null),a.default.createElement(i.TextareaEditor,{args:t.show_on})),a.default.createElement("p",null,a.default.createElement("label",{htmlFor:"disable_on"},t.disable_on.label,":"),a.default.createElement("br",null),a.default.createElement(i.TextareaEditor,{args:t.disable_on})),a.default.createElement(i.Description,{text:e.show_on_field_desc}))))))}}])&&c(e.prototype,t),n&&c(e,n),o}();n.default=e},{"./helpers":8,react:353}],6:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=n.SortableItem=void 0;var r,o,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=u();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react")),a=e("react-dnd"),s=(r=e("react-dnd-html5-backend"))&&r.__esModule?r:{default:r};function u(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return u=function(){return e},e}function c(e){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function l(e){return function(e){if(Array.isArray(e))return p(e)}(e)||function(e){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e))return Array.from(e)}(e)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return p(e,t)}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function f(){return(f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function d(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function h(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function g(e,t,n){return t&&h(e.prototype,t),n&&h(e,n),e}function m(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&v(e,t)}function v(e,t){return(v=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function y(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=_(n);return e=r?(e=_(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==c(e)&&"function"!=typeof e?b(t):e}}function b(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function _(e){return(_=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var E="ListItem",C=(0,a.DropTarget)(E,{canDrop:function(){return!1},hover:function(e,t){var n=e.item,r=e.findItem,e=e.moveItem,t=t.getItem().key,n=n.key;t!==n&&e(t,r(n).index)}},function(e){return{connectDropTarget:e.dropTarget()}})(o=(0,a.DragSource)(E,{beginDrag:function(e){var t=e.item.key;return{key:t,originalIndex:(0,e.findItem)(t).index}},endDrag:function(e,t){var n=t.getItem(),r=n.key,n=n.originalIndex;t.didDrop()||e.moveCard(r,n)}},function(e,t){return{connectDragSource:e.dragSource(),isDragging:t.isDragging()}})(o=function(){m(t,i.Component);var e=y(t);function t(){return d(this,t),e.apply(this,arguments)}return g(t,[{key:"render",value:function(){var e=this.props,t=e.item,n=e.isDragging,r=e.connectDragSource,o=e.connectDropTarget,a=e.changeSelected,n=n?0:1;return r(o(i.default.createElement("li",{style:{opacity:n}},i.default.createElement("input",{type:"checkbox",id:t.key,defaultChecked:t.selected,onChange:function(){return a(t.key)}}),i.default.createElement("label",{htmlFor:t.key},t.label))))}}]),t}())||o)||o;n.SortableItem=C;E=(0,a.DragDropContext)(s.default)(E=(0,a.DropTarget)(E,{drop:function(){}},function(e){return{connectDropTarget:e.dropTarget()}})(E=function(){m(o,i.Component);var r=y(o);function o(e){var t;d(this,o),(t=r.call(this,e)).changeSelected=t.changeSelected.bind(b(t)),t.moveItem=t.moveItem.bind(b(t)),t.findItem=t.findItem.bind(b(t));var n=e.args,e=n.value.slice().concat(Object.keys(n.options).filter(function(e){return-1===n.value.indexOf(e)}));return t.state={items:e.map(function(e){return{key:e,label:n.options[e],selected:-1!==n.value.indexOf(e)}})},t}return g(o,[{key:"changeSelected",value:function(t){this.setState({items:this.state.items.map(function(e){return e.key==t?f({},e,{selected:!e.selected}):e})})}},{key:"moveItem",value:function(e,t){var e=this.findItem(e),n=e.item,e=(e.index,this.state.items.filter(function(e){return e.key!=n.key})),e=[].concat(l(e.slice(0,t)),[n],l(e.slice(t)));this.setState({items:e})}},{key:"findItem",value:function(t){var e=this.state.items,n=e.filter(function(e){return e.key===t})[0];return{item:n,index:e.indexOf(n)}}},{key:"render",value:function(){var n=this,e=this.props,t=e.connectDropTarget,r=e.args,o=this.state.items,e=o.reduce(function(e,t){return t.selected?e.concat([t.key]):e},[]);return t(i.default.createElement("div",null,i.default.createElement("input",{type:"hidden",name:r.key,value:e}),i.default.createElement("ul",{className:"frizzly-sortable"},o.map(function(e,t){return i.default.createElement(C,{key:e.key,item:e,moveItem:n.moveItem,findItem:n.findItem,changeSelected:n.changeSelected})}))))}}]),o}())||E)||E;n.default=E},{react:353,"react-dnd":192,"react-dnd-html5-backend":177}],7:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r,i=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==l(e)&&"function"!=typeof e)return{default:e};var t=c();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react")),s=e("./helpers"),u=(r=e("./SortableEditor"))&&r.__esModule?r:{default:r};function c(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return c=function(){return e},e}function l(e){return(l="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function o(t,e){var n,r=Object.keys(t);return Object.getOwnPropertySymbols&&(n=Object.getOwnPropertySymbols(t),e&&(n=n.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,n)),r}function p(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach(function(e){f(t,e,n[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))})}return t}function f(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function d(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function h(e,t){return(h=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function g(n){var r=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}();return function(){var e,t=a(n);return e=r?(e=a(this).constructor,Reflect.construct(t,arguments,e)):t.apply(this,arguments),t=this,!(e=e)||"object"!==l(e)&&"function"!=typeof e?function(e){if(void 0!==e)return e;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(t):e}}function a(e){return(a=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}var m=function(){!function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&h(e,t)}(a,i.Component);var e,t,n,o=g(a);function a(e){var r;return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a),(r=o.call(this,e)).buttonPositionChanged=function(e){r.setState({ui:{marginAvailability:{top:"top-left"===e||"top-right"===e,bottom:"bottom-left"===e||"bottom-right"===e,left:"top-left"===e||"bottom-left"===e,right:"top-right"===e||"bottom-right"===e}}}),r.changeValue("buttonPosition",e)},r.changeValue=function(e,t){var n=r.props.settings[e],t=p(p({},r.state.settings),{},f({},e,p(p({},n),{},{value:t})));r.setState({settings:t})},r.upload=function(){r.fileFrame||(r.fileFrame=wp.media.frames.file_frame=wp.media({title:r.props.i18n.custom_button_frame_title,button:{text:r.props.i18n.custom_button_frame_button_text},multiple:!1}).on("select",function(){var e=r.fileFrame.state().get("selection").first().toJSON();r.changeValue("custom_image_url",e.url),r.changeValue("custom_image_width",e.width),r.changeValue("custom_image_height",e.height)})),r.fileFrame.open()},r.renderCustomIconSettings=function(){var e=r.state.settings,t=r.props.i18n;return i.default.createElement("div",null,i.default.createElement("p",null,i.default.createElement("button",{type:"button",className:"button button-default",onClick:r.upload},t.custom_button_upload)),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"custom_image_url"},e.custom_image_url.label),i.default.createElement(s.TextEditor,{value:e.custom_image_url.value,args:e.custom_image_url,onChange:function(e){return r.changeValue("custom_image_url",e.target.value)}})),i.default.createElement("div",{style:{display:"inline-block",width:"49%"}},i.default.createElement("label",{htmlFor:"custom_image_height"},e.custom_image_height.label),i.default.createElement(s.NumberEditor,{args:e.custom_image_height,value:e.custom_image_height.value,onChange:function(e){return r.changeValue("custom_image_height",e.target.value)}})),i.default.createElement("div",{style:{display:"inline-block",width:"49%"}},i.default.createElement("label",{htmlFor:"custom_image_width"},e.custom_image_width.label),i.default.createElement(s.NumberEditor,{value:e.custom_image_width.value,args:e.custom_image_width,onChange:function(e){return r.changeValue("custom_image_width",e.target.value)}})),i.default.createElement("br",null),i.default.createElement(s.Description,{dangerouslySetInnerHTML:{__html:t.custom_button_desc}}))},r.state={settings:p({},e.settings),ui:{marginAvailability:{top:!0,bottom:!0,left:!0,right:!0}}},r.fileFrame=null,r}return e=a,(t=[{key:"componentDidMount",value:function(){this.buttonPositionChanged(this.props.settings.button_position.value)}},{key:"render",value:function(){var t=this,e=this.props.i18n,n=this.state,r=n.ui.marginAvailability,o=n.settings;return i.default.createElement("div",null,i.default.createElement("h2",null,e.title),i.default.createElement("table",{className:"form-table"},i.default.createElement("tbody",null,i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",{htmlFor:"show_button"},o.show_button.label)),i.default.createElement("td",null,i.default.createElement(s.SelectEditor,{args:o.show_button,onChange:function(e){return t.changeValue("show_button",e.target.value)}}),i.default.createElement(s.Description,{text:o.show_button.desc}),this.renderShowButtonError())),i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",null,o.description_option.label)),i.default.createElement("td",null,i.default.createElement(u.default,{args:o.description_option}),i.default.createElement(s.Description,{text:o.description_option.desc}))),i.default.createElement(s.TableRow,{Editor:s.NumberEditor,setting:o.transparency_value,min:"0",max:"1",step:"0.01"}),i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",null,o.pin_image.label)),i.default.createElement("td",null,i.default.createElement("table",{className:"jpibfi-inner-table"},i.default.createElement("tbody",null,i.default.createElement("tr",null,i.default.createElement("th",null,e.mode),"old_default"!==o.pin_image.value&&i.default.createElement("th",null,e.settings),i.default.createElement("th",null,e.preview)),i.default.createElement("tr",null,i.default.createElement("td",null,Object.keys(o.pin_image.options).map(function(e){return i.default.createElement("p",{key:e},i.default.createElement("label",null,i.default.createElement("input",{type:"radio",name:o.pin_image.key,value:e,checked:e===o.pin_image.value,onChange:function(e){return t.changeValue("pin_image",e.target.value)}}),o.pin_image.options[e]))})),i.default.createElement("td",null,"default"===o.pin_image.value&&this.renderDefaultIconSettings(),"custom"===o.pin_image.value&&this.renderCustomIconSettings()),this.renderIconPreview()))))),i.default.createElement(s.TableRow,{Editor:s.CheckboxEditor,setting:o.pin_linked_url}),this.renderScalePinImageSetting(),i.default.createElement(s.TableRow,{Editor:s.SelectEditor,setting:o.button_position,onChange:function(e){return t.buttonPositionChanged(e.target.value)}}),i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",null,e.margins_label)),i.default.createElement("td",null,i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"button_margin_top"},o.button_margin_top.label),i.default.createElement(s.LabeledNumberEditor,{disabled:!r.top,args:o.button_margin_top})),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"button_margin_bottom"},o.button_margin_bottom.label),i.default.createElement(s.LabeledNumberEditor,{disabled:!r.bottom,args:o.button_margin_bottom})),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"button_margin_left"},o.button_margin_left.label),i.default.createElement(s.LabeledNumberEditor,{disabled:!r.left,args:o.button_margin_left})),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"button_margin_right"},o.button_margin_right.label),i.default.createElement(s.LabeledNumberEditor,{disabled:!r.right,args:o.button_margin_right})),i.default.createElement(s.Description,{text:e.margins_desc}))))),i.default.createElement("p",{dangerouslySetInnerHTML:{__html:e.attribution}}))}},{key:"renderDefaultIconSettings",value:function(){var t=this,e=this.state.settings,n=null;return"circle"!==e.pin_image_icon.value&&(n=this.renderProFeatureError()),i.default.createElement("div",null,i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"pin_image_icon"},e.pin_image_icon.label),i.default.createElement(s.SelectEditor,{args:e.pin_image_icon,onChange:function(e){return t.changeValue("pin_image_icon",e.target.value)}}),n),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"pin_image_size"},e.pin_image_size.label),i.default.createElement(s.SelectEditor,{args:e.pin_image_size,onChange:function(e){return t.changeValue("pin_image_size",e.target.value)}})),i.default.createElement("p",null,i.default.createElement("label",{htmlFor:"pin_image_button"},e.pin_image_button.label),i.default.createElement(s.SelectEditor,{args:e.pin_image_button,onChange:function(e){return t.changeValue("pin_image_button",e.target.value)}})))}},{key:"renderIconPreview",value:function(){var e=this.props.i18n,t=this.state.settings,n=t.pin_image.value,r=t.pin_image_size.value,o=this.state.settings.custom_image_url.value;return i.default.createElement("td",null,"old_default"===n&&i.default.createElement("div",null,i.default.createElement("a",{className:"pinit-button old_default"},i.default.createElement("span",null))),"default"===n&&i.default.createElement("div",null,i.default.createElement("a",{className:"pinit-button default jpibfi-size-".concat(r," jpibfi-button-").concat(t.pin_image_button.value)},i.default.createElement("span",{className:"jpibfi-icon-".concat(t.pin_image_icon.value)}))),"custom"===n&&o&&i.default.createElement("div",null,i.default.createElement("div",{style:{width:"".concat(t.custom_image_width.value,"px"),height:"".concat(t.custom_image_height.value,"px"),backgroundImage:"url('".concat(o,"')")}})),"custom"===n&&!o&&i.default.createElement("div",{dangerouslySetInnerHTML:{__html:e.custom_button_no_image_to_preview}}))}},{key:"renderProFeatureError",value:function(){return i.default.createElement("p",null,i.default.createElement("b",{dangerouslySetInnerHTML:{__html:this.props.i18n.pro_feature_error}}))}},{key:"renderShowButtonError",value:function(){return"hover"!==this.state.settings.show_button.value?this.renderProFeatureError():null}},{key:"renderScalePinImageSetting",value:function(){var t=this,e=this.state.settings.scale_pin_image,n=null;return!0===e.value&&(n=this.renderProFeatureError()),i.default.createElement("tr",null,i.default.createElement("th",null,i.default.createElement("label",{htmlFor:e.key},e.label)),i.default.createElement("td",null,i.default.createElement(s.CheckboxEditor,{args:e,onChange:function(e){return t.changeValue("scale_pin_image",e.target.checked)}}),i.default.createElement(s.Description,{text:e.desc}),n))}}])&&d(e.prototype,t),n&&d(e,n),a}();n.default=m},{"./SortableEditor":6,"./helpers":8,react:353}],8:[function(e,t,n){"use strict";function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}Object.defineProperty(n,"__esModule",{value:!0}),n.Description=u,n.TableRow=function(e){var t=e.Editor,n=e.setting,e=a(e,["Editor","setting"]);return o.default.createElement("tr",null,o.default.createElement("th",null,o.default.createElement("label",{htmlFor:n.key},n.label)),o.default.createElement("td",null,o.default.createElement(t,r({args:n},e)),o.default.createElement(u,{text:n.desc})))},n.Templated=function(e){var t=e.template,r=e.items,t=t.split(" ").reduce(function(e,t){if(r.every(function(e){return e.tag!==t}))return e.concat(["".concat(t," ")]);var n=r.filter(function(e){return e.tag===t})[0];return e.concat([n.editor," "])},[]).reduce(function(e,t){return 0===e.length?[t]:"string"==typeof t&&"string"==typeof e[e.length-1]?e.slice(0,e.length-1).concat([e[e.length-1]+t]):e.concat(t)},[]);return o.default.createElement("p",[],t)},n.TextEditor=function(e){var t=e.args,n=e.className,n=void 0===n?"regular-text":n,e=a(e,["args","className"]);e.hasOwnProperty("value")||(e.defaultValue=t.value);return o.default.createElement("input",r({type:"text",className:n},e,{placeholder:t.placeholder||"",name:t.key,id:t.key}))},n.TextareaEditor=function(e){var t=e.args,e=a(e,["args"]);return o.default.createElement("textarea",r({rows:"3",cols:"50",className:"large-text code",defaultValue:t.value},e,{id:t.key,name:t.key}))},n.NumberEditor=c,n.LabeledNumberEditor=function(e){var t=e.args,e=a(e,["args"]);return o.default.createElement("label",{htmlFor:t.key},t.text,o.default.createElement(c,r({args:t},e)),t.unit)},n.SelectEditor=function(e){var t=e.args,e=a(e,["args"]);return o.default.createElement("select",r({name:t.key,id:t.key},e,{defaultValue:t.value}),Object.keys(t.options).map(function(e){return o.default.createElement("option",{key:e,value:e},t.options[e])}))},n.CheckboxEditor=function(e){var t=e.args,e=a(e,["args"]);return o.default.createElement("span",null,o.default.createElement("input",r({type:"checkbox",name:t.key,id:t.key,defaultChecked:t.value},e)),o.default.createElement("label",{htmlFor:t.key},t.text),t.tooltip&&o.default.createElement("span",{tooltips:!0,"tooltip-template":t.tooltip,className:"dashicons dashicons-editor-help"}),t.addBr&&o.default.createElement("br",null))};var o=function(e){if(e&&e.__esModule)return e;if(null===e||"object"!==i(e)&&"function"!=typeof e)return{default:e};var t=s();if(t&&t.has(e))return t.get(e);var n,r={},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(n in e){var a;Object.prototype.hasOwnProperty.call(e,n)&&((a=o?Object.getOwnPropertyDescriptor(e,n):null)&&(a.get||a.set)?Object.defineProperty(r,n,a):r[n]=e[n])}r.default=e,t&&t.set(e,r);return r}(e("react"));function s(){if("function"!=typeof WeakMap)return null;var e=new WeakMap;return s=function(){return e},e}function r(){return(r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}function a(e,t){if(null==e)return{};var n,r=function(e,t){if(null==e)return{};var n,r,o={},a=Object.keys(e);for(r=0;r<a.length;r++)n=a[r],0<=t.indexOf(n)||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols)for(var o=Object.getOwnPropertySymbols(e),a=0;a<o.length;a++)n=o[a],0<=t.indexOf(n)||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n]);return r}function u(e){e=e.text;return o.default.createElement("p",{className:"description",dangerouslySetInnerHTML:{__html:e}})}function c(e){var t=e.args,e=a(e,["args"]);return e.hasOwnProperty("value")||(e.defaultValue=t.value),o.default.createElement("input",r({type:"number",className:"small-text"},e,{id:t.key,name:t.key}))}},{react:353}],9:[function(e,t,n){"use strict";var r=i(e("react")),o=e("react-dom"),a=i(e("./app/app"));function i(e){return e&&e.__esModule?e:{default:e}}jQuery(document).ready(function(){(0,o.render)(r.default.createElement(a.default,null),document.getElementById("jpibfi-container"))})},{"./app/app":1,react:353,"react-dom":201}],10:[function(e,t,n){"use strict";var r=e("./raw"),o=[],a=[],i=r.makeRequestCallFromTimer(function(){if(a.length)throw a.shift()});function s(e){var t=o.length?o.pop():new u;t.task=e,r(t)}function u(){this.task=null}t.exports=s,u.prototype.call=function(){try{this.task.call()}catch(e){s.onerror?s.onerror(e):(a.push(e),i())}finally{this.task=null,o[o.length]=this}}},{"./raw":11}],11:[function(e,p,t){(function(e){"use strict";function t(e){r.length||(n(),0),r[r.length]=e}p.exports=t;var n,r=[],o=0;function a(){for(;o<r.length;){var e=o;if(o+=1,r[e].call(),1024<o){for(var t=0,n=r.length-o;t<n;t++)r[t]=r[t+o];r.length-=o,o=0}}r.length=0,o=0,0}var i,s,u,e=void 0!==e?e:self,c=e.MutationObserver||e.WebKitMutationObserver;function l(r){return function(){var e=setTimeout(n,0),t=setInterval(n,50);function n(){clearTimeout(e),clearInterval(t),r()}}}n="function"==typeof c?(s=1,i=new c(i=a),u=document.createTextNode(""),i.observe(u,{characterData:!0}),function(){s=-s,u.data=s}):l(a),t.requestFlush=n,t.makeRequestCallFromTimer=l}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],12:[function(t,n,e){(function(e){"use strict";var r=t("object-assign"),m=t("fbjs/lib/emptyObject"),v=t("fbjs/lib/invariant");n.exports=function(e,l,o){var n=[],p={mixins:"DEFINE_MANY",statics:"DEFINE_MANY",propTypes:"DEFINE_MANY",contextTypes:"DEFINE_MANY",childContextTypes:"DEFINE_MANY",getDefaultProps:"DEFINE_MANY_MERGED",getInitialState:"DEFINE_MANY_MERGED",getChildContext:"DEFINE_MANY_MERGED",render:"DEFINE_ONCE",componentWillMount:"DEFINE_MANY",componentDidMount:"DEFINE_MANY",componentWillReceiveProps:"DEFINE_MANY",shouldComponentUpdate:"DEFINE_ONCE",componentWillUpdate:"DEFINE_MANY",componentDidUpdate:"DEFINE_MANY",componentWillUnmount:"DEFINE_MANY",UNSAFE_componentWillMount:"DEFINE_MANY",UNSAFE_componentWillReceiveProps:"DEFINE_MANY",UNSAFE_componentWillUpdate:"DEFINE_MANY",updateComponent:"OVERRIDE_BASE"},a={getDerivedStateFromProps:"DEFINE_MANY_MERGED"},f={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)i(e,t[n])},childContextTypes:function(e,t){e.childContextTypes=r({},e.childContextTypes,t)},contextTypes:function(e,t){e.contextTypes=r({},e.contextTypes,t)},getDefaultProps:function(e,t){e.getDefaultProps?e.getDefaultProps=d(e.getDefaultProps,t):e.getDefaultProps=t},propTypes:function(e,t){e.propTypes=r({},e.propTypes,t)},statics:function(e,t){!function(e,t){if(!t)return;for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in f;if(v(!o,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',n),n in e){o=a.hasOwnProperty(n)?a[n]:null;return v("DEFINE_MANY_MERGED"===o,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=d(e[n],r)}e[n]=r}}}(e,t)},autobind:function(){}};function i(e,t){if(t){v("function"!=typeof t,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),v(!l(t),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var n,r,o,a,i,s,u=e.prototype,c=u.__reactAutoBindPairs;for(n in t.hasOwnProperty("mixins")&&f.mixins(e,t.mixins),t){t.hasOwnProperty(n)&&"mixins"!==n&&(r=t[n],o=u.hasOwnProperty(n),a=o,i=n,s=void 0,s=p.hasOwnProperty(i)?p[i]:null,g.hasOwnProperty(i)&&v("OVERRIDE_BASE"===s,"ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.",i),a&&v("DEFINE_MANY"===s||"DEFINE_MANY_MERGED"===s,"ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",i),f.hasOwnProperty(n)?f[n](e,r):(i=p.hasOwnProperty(n),"function"==typeof r&&!i&&!o&&!1!==t.autobind?(c.push(n,r),u[n]=r):o?(o=p[n],v(i&&("DEFINE_MANY_MERGED"===o||"DEFINE_MANY"===o),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",o,n),"DEFINE_MANY_MERGED"===o?u[n]=d(u[n],r):"DEFINE_MANY"===o&&(u[n]=function(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}(u[n],r))):u[n]=r))}}else;}function s(e,t){for(var n in v(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(v(void 0===e[n],"mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.",n),e[n]=t[n]);return e}function d(r,o){return function(){var e=r.apply(this,arguments),t=o.apply(this,arguments);if(null==e)return t;if(null==t)return e;var n={};return s(n,e),s(n,t),n}}function u(){}var c={componentDidMount:function(){this.__isMounted=!0}},h={componentWillUnmount:function(){this.__isMounted=!1}},g={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}};return r(u.prototype,e.prototype,g),function(e){var t,r=function(e,t,n){this.__reactAutoBindPairs.length&&function(e){for(var t=e.__reactAutoBindPairs,n=0;n<t.length;n+=2){var r=t[n],o=t[n+1];e[r]=(r=e,r=o.bind(r))}}(this),this.props=e,this.context=t,this.refs=m,this.updater=n||o,this.state=null;n=this.getInitialState?this.getInitialState():null;v("object"==typeof n&&!Array.isArray(n),"%s.getInitialState(): must return an object or null",r.displayName||"ReactCompositeComponent"),this.state=n};for(t in r.prototype=new u,(r.prototype.constructor=r).prototype.__reactAutoBindPairs=[],n.forEach(i.bind(null,r)),i(r,c),i(r,e),i(r,h),r.getDefaultProps&&(r.defaultProps=r.getDefaultProps()),v(r.prototype.render,"createClass(...): Class specification must implement a `render` method."),p)r.prototype[t]||(r.prototype[t]=null);return r}}}).call(this,t("_process"))},{_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161}],13:[function(e,t,n){"use strict";n.__esModule=!0;var r,o=e("./isDisposable"),a=(r=o)&&r.__esModule?r:{default:r},e=(i.prototype.add=function(e){this.isDisposed?e.dispose():this.disposables.push(e)},i.prototype.remove=function(e){if(this.isDisposed)return!1;var t=this.disposables.indexOf(e);return-1!==t&&(this.disposables.splice(t,1),e.dispose(),!0)},i.prototype.dispose=function(){if(!this.isDisposed){for(var e=this.disposables.length,t=new Array(e),n=0;n<e;n++)t[n]=this.disposables[n];this.isDisposed=!0,this.disposables=[];for(n=this.length=0;n<e;n++)t[n].dispose()}},i);function i(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),Array.isArray(t[0])&&1===t.length&&(t=t[0]);for(var r=0;r<t.length;r++)if(!a.default(t[r]))throw new Error("Expected a disposable");this.disposables=t,this.isDisposed=!1}n.default=e,t.exports=n.default},{"./isDisposable":17}],14:[function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.__esModule=!0;var o=function(){},a=(function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}(i,null,[{key:"empty",value:{dispose:o},enumerable:!0}]),i.prototype.dispose=function(){this.isDisposed||(this.action.call(null),this.isDisposed=!0)},i);function i(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),this.isDisposed=!1,this.action=e||o}n.default=a,t.exports=n.default},{}],15:[function(e,t,n){"use strict";n.__esModule=!0;var r,o=e("./isDisposable"),a=(r=o)&&r.__esModule?r:{default:r},e=(i.prototype.getDisposable=function(){return this.current},i.prototype.setDisposable=function(e){var t=arguments.length<=0||void 0===e?null:e;if(null!=t&&!a.default(t))throw new Error("Expected either an empty value or a valid disposable");var n=this.isDisposed,e=void 0;n||(e=this.current,this.current=t),e&&e.dispose(),n&&t&&t.dispose()},i.prototype.dispose=function(){var e;this.isDisposed||(this.isDisposed=!0,e=this.current,this.current=null,e&&e.dispose())},i);function i(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),this.isDisposed=!1,this.current=null}n.default=e,t.exports=n.default},{"./isDisposable":17}],16:[function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}n.__esModule=!0;var o=r(e("./isDisposable"));n.isDisposable=o.default;o=r(e("./Disposable"));n.Disposable=o.default;o=r(e("./CompositeDisposable"));n.CompositeDisposable=o.default;e=r(e("./SerialDisposable"));n.SerialDisposable=e.default},{"./CompositeDisposable":13,"./Disposable":14,"./SerialDisposable":15,"./isDisposable":17}],17:[function(e,t,n){"use strict";n.__esModule=!0,n.default=function(e){return Boolean(e&&"function"==typeof e.dispose)},t.exports=n.default},{}],18:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=c(e("redux/lib/createStore")),i=c(e("./reducers")),s=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(e("./actions/dragDrop")),u=c(e("./DragDropMonitor"));function c(e){return e&&e.__esModule?e:{default:e}}r(l,[{key:"handleRefCountChange",value:function(){var e=0<this.store.getState().refCount;e&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!e&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1)}},{key:"getContext",value:function(){return this.context}},{key:"getMonitor",value:function(){return this.monitor}},{key:"getBackend",value:function(){return this.backend}},{key:"getRegistry",value:function(){return this.registry}},{key:"getActions",value:function(){var a=this,i=this.store.dispatch;return Object.keys(s).filter(function(e){return"function"==typeof s[e]}).reduce(function(e,t){var o,n=s[t];return e[t]=(o=n,function(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];var r=o.apply(a,t);void 0!==r&&i(r)}),e},{})}}]),r=l;function l(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);var n=(0,a.default)(i.default);this.context=t,this.store=n,this.monitor=new u.default(n),this.registry=this.monitor.registry,this.backend=e(this),n.subscribe(this.handleRefCountChange.bind(this))}n.default=r},{"./DragDropMonitor":19,"./actions/dragDrop":23,"./reducers":30,"redux/lib/createStore":354}],19:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var i=p(e("invariant")),s=p(e("lodash/isArray")),a=p(e("./utils/matchesType")),u=p(e("./HandlerRegistry")),c=e("./reducers/dragOffset"),l=e("./reducers/dirtyHandlerIds");function p(e){return e&&e.__esModule?e:{default:e}}r(f,[{key:"subscribeToStateChange",value:function(n,e){var r=this,o=(1<arguments.length&&void 0!==e?e:{}).handlerIds;(0,i.default)("function"==typeof n,"listener must be a function."),(0,i.default)(void 0===o||(0,s.default)(o),"handlerIds, when specified, must be an array of strings.");var a=this.store.getState().stateId;return this.store.subscribe(function(){var e=r.store.getState(),t=e.stateId;try{t===a||t===a+1&&!(0,l.areDirty)(e.dirtyHandlerIds,o)||n()}finally{a=t}})}},{key:"subscribeToOffsetChange",value:function(t){var n=this;(0,i.default)("function"==typeof t,"listener must be a function.");var r=this.store.getState().dragOffset;return this.store.subscribe(function(){var e=n.store.getState().dragOffset;e!==r&&(r=e,t())})}},{key:"canDragSource",value:function(e){var t=this.registry.getSource(e);return(0,i.default)(t,"Expected to find a valid source."),!this.isDragging()&&t.canDrag(this,e)}},{key:"canDropOnTarget",value:function(e){var t=this.registry.getTarget(e);if((0,i.default)(t,"Expected to find a valid target."),!this.isDragging()||this.didDrop())return!1;var n=this.registry.getTargetType(e),r=this.getItemType();return(0,a.default)(n,r)&&t.canDrop(this,e)}},{key:"isDragging",value:function(){return Boolean(this.getItemType())}},{key:"isDraggingSource",value:function(e){var t=this.registry.getSource(e,!0);return(0,i.default)(t,"Expected to find a valid source."),!(!this.isDragging()||!this.isSourcePublic())&&(this.registry.getSourceType(e)===this.getItemType()&&t.isDragging(this,e))}},{key:"isOverTarget",value:function(e,t){var n=(1<arguments.length&&void 0!==t?t:{shallow:!1}).shallow;if(!this.isDragging())return!1;var r=this.registry.getTargetType(e),t=this.getItemType();if(!(0,a.default)(r,t))return!1;t=this.getTargetIds();if(!t.length)return!1;e=t.indexOf(e);return n?e===t.length-1:-1<e}},{key:"getItemType",value:function(){return this.store.getState().dragOperation.itemType}},{key:"getItem",value:function(){return this.store.getState().dragOperation.item}},{key:"getSourceId",value:function(){return this.store.getState().dragOperation.sourceId}},{key:"getTargetIds",value:function(){return this.store.getState().dragOperation.targetIds}},{key:"getDropResult",value:function(){return this.store.getState().dragOperation.dropResult}},{key:"didDrop",value:function(){return this.store.getState().dragOperation.didDrop}},{key:"isSourcePublic",value:function(){return this.store.getState().dragOperation.isSourcePublic}},{key:"getInitialClientOffset",value:function(){return this.store.getState().dragOffset.initialClientOffset}},{key:"getInitialSourceClientOffset",value:function(){return this.store.getState().dragOffset.initialSourceClientOffset}},{key:"getClientOffset",value:function(){return this.store.getState().dragOffset.clientOffset}},{key:"getSourceClientOffset",value:function(){return(0,c.getSourceClientOffset)(this.store.getState().dragOffset)}},{key:"getDifferenceFromInitialOffset",value:function(){return(0,c.getDifferenceFromInitialOffset)(this.store.getState().dragOffset)}}]),r=f;function f(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,f),this.store=e,this.registry=new u.default(e)}n.default=r},{"./HandlerRegistry":22,"./reducers/dirtyHandlerIds":27,"./reducers/dragOffset":28,"./utils/matchesType":34,invariant:59,"lodash/isArray":144}],20:[function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(n,"__esModule",{value:!0});var o=(function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}(a,[{key:"canDrag",value:function(){return!0}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}]),a);function a(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a)}n.default=o},{}],21:[function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(n,"__esModule",{value:!0});var o=(function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}(a,[{key:"canDrop",value:function(){return!0}},{key:"hover",value:function(){}},{key:"drop",value:function(){}}]),a);function a(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a)}n.default=o},{}],22:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=p(e("invariant")),s=p(e("lodash/isArray")),u=p(e("asap")),c=e("./actions/registry"),l=p(e("./utils/getNextUniqueId"));function p(e){return e&&e.__esModule?e:{default:e}}var f="SOURCE",d="TARGET";function h(e,t){t&&(0,s.default)(e)?e.forEach(function(e){return h(e,!1)}):(0,i.default)("string"==typeof e||"symbol"===(void 0===e?"undefined":a(e)),t?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}function g(e){switch(e[0]){case"S":return f;case"T":return d;default:(0,i.default)(!1,"Cannot parse handler ID: "+e)}}r(m,[{key:"addSource",value:function(e,t){var n;h(e),n=t,(0,i.default)("function"==typeof n.canDrag,"Expected canDrag to be a function."),(0,i.default)("function"==typeof n.beginDrag,"Expected beginDrag to be a function."),(0,i.default)("function"==typeof n.endDrag,"Expected endDrag to be a function.");t=this.addHandler(f,e,t);return this.store.dispatch((0,c.addSource)(t)),t}},{key:"addTarget",value:function(e,t){var n;h(e,!0),n=t,(0,i.default)("function"==typeof n.canDrop,"Expected canDrop to be a function."),(0,i.default)("function"==typeof n.hover,"Expected hover to be a function."),(0,i.default)("function"==typeof n.drop,"Expected beginDrag to be a function.");t=this.addHandler(d,e,t);return this.store.dispatch((0,c.addTarget)(t)),t}},{key:"addHandler",value:function(e,t,n){e=function(e){var t=(0,l.default)().toString();switch(e){case f:return"S"+t;case d:return"T"+t;default:(0,i.default)(!1,"Unknown role: "+e)}}(e);return this.types[e]=t,this.handlers[e]=n,e}},{key:"containsHandler",value:function(t){var n=this;return Object.keys(this.handlers).some(function(e){return n.handlers[e]===t})}},{key:"getSource",value:function(e,t){return(0,i.default)(this.isSourceId(e),"Expected a valid source ID."),t&&e===this.pinnedSourceId?this.pinnedSource:this.handlers[e]}},{key:"getTarget",value:function(e){return(0,i.default)(this.isTargetId(e),"Expected a valid target ID."),this.handlers[e]}},{key:"getSourceType",value:function(e){return(0,i.default)(this.isSourceId(e),"Expected a valid source ID."),this.types[e]}},{key:"getTargetType",value:function(e){return(0,i.default)(this.isTargetId(e),"Expected a valid target ID."),this.types[e]}},{key:"isSourceId",value:function(e){return g(e)===f}},{key:"isTargetId",value:function(e){return g(e)===d}},{key:"removeSource",value:function(e){var t=this;(0,i.default)(this.getSource(e),"Expected an existing source."),this.store.dispatch((0,c.removeSource)(e)),(0,u.default)(function(){delete t.handlers[e],delete t.types[e]})}},{key:"removeTarget",value:function(e){var t=this;(0,i.default)(this.getTarget(e),"Expected an existing target."),this.store.dispatch((0,c.removeTarget)(e)),(0,u.default)(function(){delete t.handlers[e],delete t.types[e]})}},{key:"pinSource",value:function(e){var t=this.getSource(e);(0,i.default)(t,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=t}},{key:"unpinSource",value:function(){(0,i.default)(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}}]),r=m;function m(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,m),this.store=e,this.types={},this.handlers={},this.pinnedSourceId=null,this.pinnedSource=null}n.default=r},{"./actions/registry":24,"./utils/getNextUniqueId":33,asap:10,invariant:59,"lodash/isArray":144}],23:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.END_DRAG=n.DROP=n.HOVER=n.PUBLISH_DRAG_SOURCE=n.BEGIN_DRAG=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};n.beginDrag=function(e){var t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{publishSource:!0,clientOffset:null},n=t.publishSource,r=t.clientOffset,o=t.getSourceClientOffset;(0,f.default)((0,d.default)(e),"Expected sourceIds to be an array.");var a=this.getMonitor(),i=this.getRegistry();(0,f.default)(!a.isDragging(),"Cannot call beginDrag while dragging.");for(var s=0;s<e.length;s++)(0,f.default)(i.getSource(e[s]),"Expected sourceIds to be registered.");for(var u=null,c=e.length-1;0<=c;c--)if(a.canDragSource(e[c])){u=e[c];break}if(null===u)return;var l=null;r&&((0,f.default)("function"==typeof o,"When clientOffset is provided, getSourceClientOffset must be a function."),l=o(u));t=i.getSource(u).beginDrag(a,u);(0,f.default)((0,p.default)(t),"Item must be an object."),i.pinSource(u);o=i.getSourceType(u);return{type:g,itemType:o,item:t,sourceId:u,clientOffset:r,sourceClientOffset:l,isSourcePublic:n}},n.publishDragSource=function(){return this.getMonitor().isDragging()?{type:o}:void 0},n.hover=function(e){var t=(1<arguments.length&&void 0!==arguments[1]?arguments[1]:{}).clientOffset,t=void 0===t?null:t;(0,f.default)((0,d.default)(e),"Expected targetIds to be an array.");var n=e.slice(0),r=this.getMonitor(),o=this.getRegistry();(0,f.default)(r.isDragging(),"Cannot call hover while not dragging."),(0,f.default)(!r.didDrop(),"Cannot call hover after drop.");for(var a=0;a<n.length;a++){var i=n[a];(0,f.default)(n.lastIndexOf(i)===a,"Expected targetIds to be unique in the passed array.");i=o.getTarget(i);(0,f.default)(i,"Expected targetIds to be registered.")}for(var s=r.getItemType(),u=n.length-1;0<=u;u--){var c=n[u],c=o.getTargetType(c);(0,h.default)(c,s)||n.splice(u,1)}for(var l=0;l<n.length;l++){var p=n[l];o.getTarget(p).hover(r,p)}return{type:m,targetIds:n,clientOffset:t}},n.drop=function(){var n=this,r=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},o=this.getMonitor(),a=this.getRegistry();(0,f.default)(o.isDragging(),"Cannot call drop while not dragging."),(0,f.default)(!o.didDrop(),"Cannot call drop twice during one drag operation.");var e=o.getTargetIds().filter(o.canDropOnTarget,o);e.reverse(),e.forEach(function(e,t){e=a.getTarget(e).drop(o,e);(0,f.default)(void 0===e||(0,p.default)(e),"Drop result must either be an object or undefined."),void 0===e&&(e=0===t?{}:o.getDropResult()),n.store.dispatch({type:s,dropResult:i({},r,e)})})},n.endDrag=function(){var e=this.getMonitor(),t=this.getRegistry();(0,f.default)(e.isDragging(),"Cannot call endDrag while not dragging.");var n=e.getSourceId();return t.getSource(n,true).endDrag(e,n),t.unpinSource(),{type:a}};var f=r(e("invariant")),d=r(e("lodash/isArray")),p=r(e("lodash/isObject")),h=r(e("../utils/matchesType"));function r(e){return e&&e.__esModule?e:{default:e}}var g=n.BEGIN_DRAG="dnd-core/BEGIN_DRAG",o=n.PUBLISH_DRAG_SOURCE="dnd-core/PUBLISH_DRAG_SOURCE",m=n.HOVER="dnd-core/HOVER",s=n.DROP="dnd-core/DROP",a=n.END_DRAG="dnd-core/END_DRAG"},{"../utils/matchesType":34,invariant:59,"lodash/isArray":144,"lodash/isObject":150}],24:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.addSource=function(e){return{type:r,sourceId:e}},n.addTarget=function(e){return{type:o,targetId:e}},n.removeSource=function(e){return{type:a,sourceId:e}},n.removeTarget=function(e){return{type:i,targetId:e}};var r=n.ADD_SOURCE="dnd-core/ADD_SOURCE",o=n.ADD_TARGET="dnd-core/ADD_TARGET",a=n.REMOVE_SOURCE="dnd-core/REMOVE_SOURCE",i=n.REMOVE_TARGET="dnd-core/REMOVE_TARGET"},{}],25:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.default=function(e){return new u(e)};var a,i=e("lodash/noop"),s=(a=i)&&a.__esModule?a:{default:a};var u=(r(c,[{key:"setup",value:function(){this.didCallSetup=!0}},{key:"teardown",value:function(){this.didCallTeardown=!0}},{key:"connectDragSource",value:function(){return s.default}},{key:"connectDragPreview",value:function(){return s.default}},{key:"connectDropTarget",value:function(){return s.default}},{key:"simulateBeginDrag",value:function(e,t){this.actions.beginDrag(e,t)}},{key:"simulatePublishDragSource",value:function(){this.actions.publishDragSource()}},{key:"simulateHover",value:function(e,t){this.actions.hover(e,t)}},{key:"simulateDrop",value:function(){this.actions.drop()}},{key:"simulateEndDrag",value:function(){this.actions.endDrag()}}]),c);function c(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,c),this.actions=e.getActions()}},{"lodash/noop":156}],26:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./DragDropManager");Object.defineProperty(n,"DragDropManager",{enumerable:!0,get:function(){return s(r).default}});var o=e("./DragSource");Object.defineProperty(n,"DragSource",{enumerable:!0,get:function(){return s(o).default}});var a=e("./DropTarget");Object.defineProperty(n,"DropTarget",{enumerable:!0,get:function(){return s(a).default}});var i=e("./backends/createTestBackend");function s(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"createTestBackend",{enumerable:!0,get:function(){return s(i).default}})},{"./DragDropManager":18,"./DragSource":20,"./DropTarget":21,"./backends/createTestBackend":25}],27:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var e=arguments[1],t=arguments[2];switch(e.type){case u.HOVER:break;case c.ADD_SOURCE:case c.ADD_TARGET:case c.REMOVE_TARGET:case c.REMOVE_SOURCE:return l;case u.BEGIN_DRAG:case u.PUBLISH_DRAG_SOURCE:case u.END_DRAG:case u.DROP:default:return p}var n=e.targetIds,r=t.targetIds,o=(0,s.default)(n,r),a=!1;if(0===o.length){for(var i=0;i<n.length;i++)if(n[i]!==r[i]){a=!0;break}}else a=!0;if(!a)return l;e=r[r.length-1],t=n[n.length-1];e!==t&&(e&&o.push(e),t&&o.push(t));return o},n.areDirty=function(e,t){return e!==l&&(e===p||void 0===t||0<(0,r.default)(t,e).length)};var s=o(e("lodash/xor")),r=o(e("lodash/intersection")),u=e("../actions/dragDrop"),c=e("../actions/registry");function o(e){return e&&e.__esModule?e:{default:e}}var l=[],p=[]},{"../actions/dragDrop":23,"../actions/registry":24,"lodash/intersection":142,"lodash/xor":160}],28:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};n.default=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:a,t=arguments[1];switch(t.type){case o.BEGIN_DRAG:return{initialSourceClientOffset:t.sourceClientOffset,initialClientOffset:t.clientOffset,clientOffset:t.clientOffset};case o.HOVER:return function(e,t){return e===t||e&&t&&e.x===t.x&&e.y===t.y}(e.clientOffset,t.clientOffset)?e:r({},e,{clientOffset:t.clientOffset});case o.END_DRAG:case o.DROP:return a;default:return e}},n.getSourceClientOffset=function(e){var t=e.clientOffset,n=e.initialClientOffset,e=e.initialSourceClientOffset;return t&&n&&e?{x:t.x+e.x-n.x,y:t.y+e.y-n.y}:null},n.getDifferenceFromInitialOffset=function(e){var t=e.clientOffset,e=e.initialClientOffset;return t&&e?{x:t.x-e.x,y:t.y-e.y}:null};var o=e("../actions/dragDrop"),a={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null}},{"../actions/dragDrop":23}],29:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e};n.default=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:c,t=arguments[1];switch(t.type){case s.BEGIN_DRAG:return r({},e,{itemType:t.itemType,item:t.item,sourceId:t.sourceId,isSourcePublic:t.isSourcePublic,dropResult:null,didDrop:!1});case s.PUBLISH_DRAG_SOURCE:return r({},e,{isSourcePublic:!0});case s.HOVER:return r({},e,{targetIds:t.targetIds});case u.REMOVE_TARGET:return-1===e.targetIds.indexOf(t.targetId)?e:r({},e,{targetIds:(0,i.default)(e.targetIds,t.targetId)});case s.DROP:return r({},e,{dropResult:t.dropResult,didDrop:!0,targetIds:[]});case s.END_DRAG:return r({},e,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return e}};var o,a=e("lodash/without"),i=(o=a)&&o.__esModule?o:{default:o},s=e("../actions/dragDrop"),u=e("../actions/registry");var c={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null}},{"../actions/dragDrop":23,"../actions/registry":24,"lodash/without":159}],30:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:{},t=arguments[1];return{dirtyHandlerIds:(0,i.default)(e.dirtyHandlerIds,t,e.dragOperation),dragOffset:(0,r.default)(e.dragOffset,t),refCount:(0,a.default)(e.refCount,t),dragOperation:(0,o.default)(e.dragOperation,t),stateId:(0,s.default)(e.stateId)}};var r=u(e("./dragOffset")),o=u(e("./dragOperation")),a=u(e("./refCount")),i=u(e("./dirtyHandlerIds")),s=u(e("./stateId"));function u(e){return e&&e.__esModule?e:{default:e}}},{"./dirtyHandlerIds":27,"./dragOffset":28,"./dragOperation":29,"./refCount":31,"./stateId":32}],31:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:0;switch(arguments[1].type){case r.ADD_SOURCE:case r.ADD_TARGET:return e+1;case r.REMOVE_SOURCE:case r.REMOVE_TARGET:return e-1;default:return e}};var r=e("../actions/registry")},{"../actions/registry":24}],32:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){return(0<arguments.length&&void 0!==arguments[0]?arguments[0]:0)+1}},{}],33:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){return r++};var r=0},{}],34:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t){return(0,a.default)(e)?e.some(function(e){return e===t}):e===t};var r,o=e("lodash/isArray"),a=(r=o)&&r.__esModule?r:{default:r}},{"lodash/isArray":144}],35:[function(n,o,e){(function(e){"use strict";var r=n("./emptyFunction"),t={listen:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!1),{remove:function(){e.removeEventListener(t,n,!1)}}):e.attachEvent?(e.attachEvent("on"+t,n),{remove:function(){e.detachEvent("on"+t,n)}}):void 0},capture:function(e,t,n){return e.addEventListener?(e.addEventListener(t,n,!0),{remove:function(){e.removeEventListener(t,n,!0)}}):{remove:r}},registerDefault:function(){}};o.exports=t}).call(this,n("_process"))},{"./emptyFunction":42,_process:162}],36:[function(e,t,n){"use strict";var r=!("undefined"==typeof window||!window.document||!window.document.createElement),r={canUseDOM:r,canUseWorkers:"undefined"!=typeof Worker,canUseEventListeners:r&&!(!window.addEventListener&&!window.attachEvent),canUseViewport:r&&!!window.screen,isInWorker:!r};t.exports=r},{}],37:[function(e,t,n){"use strict";var r=/-(.)/g;t.exports=function(e){return e.replace(r,function(e,t){return t.toUpperCase()})}},{}],38:[function(e,t,n){"use strict";var r=e("./camelize"),o=/^-ms-/;t.exports=function(e){return r(e.replace(o,"ms-"))}},{"./camelize":37}],39:[function(e,t,n){"use strict";var r=e("./isTextNode");t.exports=function e(t,n){return!(!t||!n)&&(t===n||!r(t)&&(r(n)?e(t,n.parentNode):"contains"in t?t.contains(n):!!t.compareDocumentPosition&&!!(16&t.compareDocumentPosition(n))))}},{"./isTextNode":52}],40:[function(t,n,e){(function(e){"use strict";var o=t("./invariant");n.exports=function(e){return!(t=e)||"object"!=typeof t&&"function"!=typeof t||!("length"in t)||"setInterval"in t||"number"==typeof t.nodeType||!(Array.isArray(t)||"callee"in t||"item"in t)?[e]:Array.isArray(e)?e.slice():function(e){var t=e.length;if((Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e)&&o(!1),"number"!=typeof t&&o(!1),0===t||t-1 in e||o(!1),"function"==typeof e.callee&&o(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),r=0;r<t;r++)n[r]=e[r];return n}(e);var t}}).call(this,t("_process"))},{"./invariant":50,_process:162}],41:[function(n,r,e){(function(e){"use strict";var t=n("./ExecutionEnvironment"),a=n("./createArrayFromMixed"),i=n("./getMarkupWrap"),s=n("./invariant"),u=t.canUseDOM?document.createElement("div"):null,c=/^\s*<(\w+)/;r.exports=function(e,t){var n=u;u||s(!1);var r=(r=(r=e).match(c))&&r[1].toLowerCase();if(r=r&&i(r)){n.innerHTML=r[1]+e+r[2];for(var o=r[0];o--;)n=n.lastChild}else n.innerHTML=e;for((e=n.getElementsByTagName("script")).length&&(t||s(!1),a(e).forEach(t)),t=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return t}}).call(this,n("_process"))},{"./ExecutionEnvironment":36,"./createArrayFromMixed":40,"./getMarkupWrap":46,"./invariant":50,_process:162}],42:[function(e,t,n){"use strict";function r(e){return function(){return e}}function o(){}o.thatReturns=r,o.thatReturnsFalse=r(!1),o.thatReturnsTrue=r(!0),o.thatReturnsNull=r(null),o.thatReturnsThis=function(){return this},o.thatReturnsArgument=function(e){return e},t.exports=o},{}],43:[function(e,n,t){(function(e){"use strict";var t={};n.exports=t}).call(this,e("_process"))},{_process:162}],44:[function(e,t,n){"use strict";t.exports=function(e){try{e.focus()}catch(e){}}},{}],45:[function(e,t,n){"use strict";t.exports=function(t){if(void 0===(t=t||("undefined"!=typeof document?document:void 0)))return null;try{return t.activeElement||t.body}catch(e){return t.body}}},{}],46:[function(c,l,e){(function(e){"use strict";var t=c("./ExecutionEnvironment"),n=c("./invariant"),r=t.canUseDOM?document.createElement("div"):null,o={},a=[1,'<select multiple="true">',"</select>"],i=[1,"<table>","</table>"],t=[3,"<table><tbody><tr>","</tr></tbody></table>"],s=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],u={"*":[1,"?<div>","</div>"],area:[1,"<map>","</map>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],legend:[1,"<fieldset>","</fieldset>"],param:[1,"<object>","</object>"],tr:[2,"<table><tbody>","</tbody></table>"],optgroup:a,option:a,caption:i,colgroup:i,tbody:i,tfoot:i,thead:i,td:t,th:t};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){u[e]=s,o[e]=!0}),l.exports=function(e){return r||n(!1),u.hasOwnProperty(e)||(e="*"),o.hasOwnProperty(e)||(r.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",o[e]=!r.firstChild),o[e]?u[e]:null}}).call(this,c("_process"))},{"./ExecutionEnvironment":36,"./invariant":50,_process:162}],47:[function(e,t,n){"use strict";t.exports=function(e){return e.Window&&e instanceof e.Window?{x:e.pageXOffset||e.document.documentElement.scrollLeft,y:e.pageYOffset||e.document.documentElement.scrollTop}:{x:e.scrollLeft,y:e.scrollTop}}},{}],48:[function(e,t,n){"use strict";var r=/([A-Z])/g;t.exports=function(e){return e.replace(r,"-$1").toLowerCase()}},{}],49:[function(e,t,n){"use strict";var r=e("./hyphenate"),o=/^ms-/;t.exports=function(e){return r(e).replace(o,"-ms-")}},{"./hyphenate":48}],50:[function(e,t,n){(function(e){"use strict";var p=function(){};t.exports=function(e,t,n,r,o,a,i,s){var u,c,l;if(p(t),!e)throw void 0===t?l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."):(u=[n,r,o,a,i,s],c=0,(l=new Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"),l.framesToPop=1,l}}).call(this,e("_process"))},{_process:162}],51:[function(e,t,n){"use strict";t.exports=function(e){var t=(e?e.ownerDocument||e:document).defaultView||window;return!(!e||!("function"==typeof t.Node?e instanceof t.Node:"object"==typeof e&&"number"==typeof e.nodeType&&"string"==typeof e.nodeName))}},{}],52:[function(e,t,n){"use strict";var r=e("./isNode");t.exports=function(e){return r(e)&&3==e.nodeType}},{"./isNode":51}],53:[function(e,t,n){"use strict";t.exports=function(t){var n={};return function(e){return n.hasOwnProperty(e)||(n[e]=t.call(this,e)),n[e]}}},{}],54:[function(e,t,n){"use strict";var r;e("./ExecutionEnvironment").canUseDOM&&(r=window.performance||window.msPerformance||window.webkitPerformance),t.exports=r||{}},{"./ExecutionEnvironment":36}],55:[function(e,t,n){"use strict";var r=e("./performance"),e=r.now?function(){return r.now()}:function(){return Date.now()};t.exports=e},{"./performance":54}],56:[function(e,t,n){"use strict";var a=Object.prototype.hasOwnProperty;function i(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}t.exports=function(e,t){if(i(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=0;o<n.length;o++)if(!a.call(t,n[o])||!i(e[n[o]],t[n[o]]))return!1;return!0}},{}],57:[function(n,r,e){(function(e){"use strict";var t=n("./emptyFunction");r.exports=t}).call(this,n("_process"))},{"./emptyFunction":42,_process:162}],58:[function(e,t,n){"use strict";var c={childContextTypes:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},l={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},p=Object.defineProperty,f=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,h=Object.getOwnPropertyDescriptor,g=Object.getPrototypeOf,m=g&&g(Object);t.exports=function e(t,n,r){if("string"==typeof n)return t;var o;!m||(o=g(n))&&o!==m&&e(t,o,r);var a=f(n);d&&(a=a.concat(d(n)));for(var i=0;i<a.length;++i){var s=a[i];if(!(c[s]||l[s]||r&&r[s])){var u=h(n,s);try{p(t,s,u)}catch(e){}}}return t}},{}],59:[function(e,t,n){(function(e){"use strict";t.exports=function(e,t,n,r,o,a,i,s){var u,c,l;if(!e)throw void 0===t?l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings."):(u=[n,r,o,a,i,s],c=0,(l=new Error(t.replace(/%s/g,function(){return u[c++]}))).name="Invariant Violation"),l.framesToPop=1,l}}).call(this,e("_process"))},{_process:162}],60:[function(e,t,n){var r=e("./_hashClear"),o=e("./_hashDelete"),a=e("./_hashGet"),i=e("./_hashHas"),e=e("./_hashSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=i,s.prototype.set=e,t.exports=s},{"./_hashClear":103,"./_hashDelete":104,"./_hashGet":105,"./_hashHas":106,"./_hashSet":107}],61:[function(e,t,n){var r=e("./_listCacheClear"),o=e("./_listCacheDelete"),a=e("./_listCacheGet"),i=e("./_listCacheHas"),e=e("./_listCacheSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=i,s.prototype.set=e,t.exports=s},{"./_listCacheClear":114,"./_listCacheDelete":115,"./_listCacheGet":116,"./_listCacheHas":117,"./_listCacheSet":118}],62:[function(e,t,n){e=e("./_getNative")(e("./_root"),"Map");t.exports=e},{"./_getNative":99,"./_root":130}],63:[function(e,t,n){var r=e("./_mapCacheClear"),o=e("./_mapCacheDelete"),a=e("./_mapCacheGet"),i=e("./_mapCacheHas"),e=e("./_mapCacheSet");function s(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}s.prototype.clear=r,s.prototype.delete=o,s.prototype.get=a,s.prototype.has=i,s.prototype.set=e,t.exports=s},{"./_mapCacheClear":119,"./_mapCacheDelete":120,"./_mapCacheGet":121,"./_mapCacheHas":122,"./_mapCacheSet":123}],64:[function(e,t,n){e=e("./_getNative")(e("./_root"),"Set");t.exports=e},{"./_getNative":99,"./_root":130}],65:[function(e,t,n){var r=e("./_MapCache"),o=e("./_setCacheAdd"),e=e("./_setCacheHas");function a(e){var t=-1,n=null==e?0:e.length;for(this.__data__=new r;++t<n;)this.add(e[t])}a.prototype.add=a.prototype.push=o,a.prototype.has=e,t.exports=a},{"./_MapCache":63,"./_setCacheAdd":131,"./_setCacheHas":132}],66:[function(e,t,n){e=e("./_root").Symbol;t.exports=e},{"./_root":130}],67:[function(e,t,n){t.exports=function(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}},{}],68:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=0,a=[];++n<r;){var i=e[n];t(i,n,e)&&(a[o++]=i)}return a}},{}],69:[function(e,t,n){var r=e("./_baseIndexOf");t.exports=function(e,t){return!!(null==e?0:e.length)&&-1<r(e,t,0)}},{"./_baseIndexOf":79}],70:[function(e,t,n){t.exports=function(e,t,n){for(var r=-1,o=null==e?0:e.length;++r<o;)if(n(t,e[r]))return!0;return!1}},{}],71:[function(e,t,n){var l=e("./_baseTimes"),p=e("./isArguments"),f=e("./isArray"),d=e("./isBuffer"),h=e("./_isIndex"),g=e("./isTypedArray"),m=Object.prototype.hasOwnProperty;t.exports=function(e,t){var n,r=f(e),o=!r&&p(e),a=!r&&!o&&d(e),i=!r&&!o&&!a&&g(e),s=r||o||a||i,u=s?l(e.length,String):[],c=u.length;for(n in e)!t&&!m.call(e,n)||s&&("length"==n||a&&("offset"==n||"parent"==n)||i&&("buffer"==n||"byteLength"==n||"byteOffset"==n)||h(n,c))||u.push(n);return u}},{"./_baseTimes":88,"./_isIndex":109,"./isArguments":143,"./isArray":144,"./isBuffer":147,"./isTypedArray":153}],72:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=null==e?0:e.length,o=Array(r);++n<r;)o[n]=t(e[n],n,e);return o}},{}],73:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=t.length,o=e.length;++n<r;)e[o+n]=t[n];return e}},{}],74:[function(e,t,n){var r=e("./eq");t.exports=function(e,t){for(var n=e.length;n--;)if(r(e[n][0],t))return n;return-1}},{"./eq":140}],75:[function(e,t,n){var d=e("./_SetCache"),h=e("./_arrayIncludes"),g=e("./_arrayIncludesWith"),m=e("./_arrayMap"),v=e("./_baseUnary"),y=e("./_cacheHas");t.exports=function(e,t,n,r){var o=-1,a=h,i=!0,s=e.length,u=[],c=t.length;if(!s)return u;n&&(t=m(t,v(n))),r?(a=g,i=!1):200<=t.length&&(a=y,i=!1,t=new d(t));e:for(;++o<s;){var l=e[o],p=null==n?l:n(l),l=r||0!==l?l:0;if(i&&p==p){for(var f=c;f--;)if(t[f]===p)continue e;u.push(l)}else a(t,p,r)||u.push(l)}return u}},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_arrayMap":72,"./_baseUnary":89,"./_cacheHas":92}],76:[function(e,t,n){t.exports=function(e,t,n,r){for(var o=e.length,a=n+(r?1:-1);r?a--:++a<o;)if(t(e[a],a,e))return a;return-1}},{}],77:[function(e,t,n){var c=e("./_arrayPush"),l=e("./_isFlattenable");t.exports=function e(t,n,r,o,a){var i=-1,s=t.length;for(r=r||l,a=a||[];++i<s;){var u=t[i];0<n&&r(u)?1<n?e(u,n-1,r,o,a):c(a,u):o||(a[a.length]=u)}return a}},{"./_arrayPush":73,"./_isFlattenable":108}],78:[function(e,t,n){var r=e("./_Symbol"),o=e("./_getRawTag"),a=e("./_objectToString"),i=r?r.toStringTag:void 0;t.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":(i&&i in Object(e)?o:a)(e)}},{"./_Symbol":66,"./_getRawTag":101,"./_objectToString":127}],79:[function(e,t,n){var r=e("./_baseFindIndex"),o=e("./_baseIsNaN"),a=e("./_strictIndexOf");t.exports=function(e,t,n){return t==t?a(e,t,n):r(e,o,n)}},{"./_baseFindIndex":76,"./_baseIsNaN":82,"./_strictIndexOf":136}],80:[function(e,t,n){var m=e("./_SetCache"),v=e("./_arrayIncludes"),y=e("./_arrayIncludesWith"),b=e("./_arrayMap"),_=e("./_baseUnary"),E=e("./_cacheHas"),C=Math.min;t.exports=function(e,t,n){for(var r=n?y:v,o=e[0].length,a=e.length,i=a,s=Array(a),u=1/0,c=[];i--;){var l=e[i];i&&t&&(l=b(l,_(t))),u=C(l.length,u),s[i]=!n&&(t||120<=o&&120<=l.length)?new m(i&&l):void 0}l=e[0];var p=-1,f=s[0];e:for(;++p<o&&c.length<u;){var d=l[p],h=t?t(d):d,d=n||0!==d?d:0;if(!(f?E(f,h):r(c,h,n))){for(i=a;--i;){var g=s[i];if(!(g?E(g,h):r(e[i],h,n)))continue e}f&&f.push(h),c.push(d)}}return c}},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_arrayMap":72,"./_baseUnary":89,"./_cacheHas":92}],81:[function(e,t,n){var r=e("./_baseGetTag"),o=e("./isObjectLike");t.exports=function(e){return o(e)&&"[object Arguments]"==r(e)}},{"./_baseGetTag":78,"./isObjectLike":151}],82:[function(e,t,n){t.exports=function(e){return e!=e}},{}],83:[function(e,t,n){var r=e("./isFunction"),o=e("./_isMasked"),a=e("./isObject"),i=e("./_toSource"),s=/^\[object .+?Constructor\]$/,u=Function.prototype,e=Object.prototype,u=u.toString,e=e.hasOwnProperty,c=RegExp("^"+u.call(e).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(e){return!(!a(e)||o(e))&&(r(e)?c:s).test(i(e))}},{"./_isMasked":112,"./_toSource":137,"./isFunction":148,"./isObject":150}],84:[function(e,t,n){var r=e("./_baseGetTag"),o=e("./isLength"),a=e("./isObjectLike"),i={};i["[object Float32Array]"]=i["[object Float64Array]"]=i["[object Int8Array]"]=i["[object Int16Array]"]=i["[object Int32Array]"]=i["[object Uint8Array]"]=i["[object Uint8ClampedArray]"]=i["[object Uint16Array]"]=i["[object Uint32Array]"]=!0,i["[object Arguments]"]=i["[object Array]"]=i["[object ArrayBuffer]"]=i["[object Boolean]"]=i["[object DataView]"]=i["[object Date]"]=i["[object Error]"]=i["[object Function]"]=i["[object Map]"]=i["[object Number]"]=i["[object Object]"]=i["[object RegExp]"]=i["[object Set]"]=i["[object String]"]=i["[object WeakMap]"]=!1,t.exports=function(e){return a(e)&&o(e.length)&&!!i[r(e)]}},{"./_baseGetTag":78,"./isLength":149,"./isObjectLike":151}],85:[function(e,t,n){var o=e("./isObject"),a=e("./_isPrototype"),i=e("./_nativeKeysIn"),s=Object.prototype.hasOwnProperty;t.exports=function(e){if(!o(e))return i(e);var t,n=a(e),r=[];for(t in e)("constructor"!=t||!n&&s.call(e,t))&&r.push(t);return r}},{"./_isPrototype":113,"./_nativeKeysIn":125,"./isObject":150}],86:[function(e,t,n){var r=e("./identity"),o=e("./_overRest"),a=e("./_setToString");t.exports=function(e,t){return a(o(e,t,r),e+"")}},{"./_overRest":129,"./_setToString":134,"./identity":141}],87:[function(e,t,n){var r=e("./constant"),o=e("./_defineProperty"),e=e("./identity"),e=o?function(e,t){return o(e,"toString",{configurable:!0,enumerable:!1,value:r(t),writable:!0})}:e;t.exports=e},{"./_defineProperty":96,"./constant":138,"./identity":141}],88:[function(e,t,n){t.exports=function(e,t){for(var n=-1,r=Array(e);++n<e;)r[n]=t(n);return r}},{}],89:[function(e,t,n){t.exports=function(t){return function(e){return t(e)}}},{}],90:[function(e,t,n){var d=e("./_SetCache"),h=e("./_arrayIncludes"),g=e("./_arrayIncludesWith"),m=e("./_cacheHas"),v=e("./_createSet"),y=e("./_setToArray");t.exports=function(e,t,n){var r=-1,o=h,a=e.length,i=!0,s=[],u=s;if(n)i=!1,o=g;else if(200<=a){var c=t?null:v(e);if(c)return y(c);i=!1,o=m,u=new d}else u=t?[]:s;e:for(;++r<a;){var l=e[r],p=t?t(l):l,l=n||0!==l?l:0;if(i&&p==p){for(var f=u.length;f--;)if(u[f]===p)continue e;t&&u.push(p),s.push(l)}else o(u,p,n)||(u!==s&&u.push(p),s.push(l))}return s}},{"./_SetCache":65,"./_arrayIncludes":69,"./_arrayIncludesWith":70,"./_cacheHas":92,"./_createSet":95,"./_setToArray":133}],91:[function(e,t,n){var u=e("./_baseDifference"),c=e("./_baseFlatten"),l=e("./_baseUniq");t.exports=function(e,t,n){var r=e.length;if(r<2)return r?l(e[0]):[];for(var o=-1,a=Array(r);++o<r;)for(var i=e[o],s=-1;++s<r;)s!=o&&(a[o]=u(a[o]||i,e[s],t,n));return l(c(a,1),t,n)}},{"./_baseDifference":75,"./_baseFlatten":77,"./_baseUniq":90}],92:[function(e,t,n){t.exports=function(e,t){return e.has(t)}},{}],93:[function(e,t,n){var r=e("./isArrayLikeObject");t.exports=function(e){return r(e)?e:[]}},{"./isArrayLikeObject":146}],94:[function(e,t,n){e=e("./_root")["__core-js_shared__"];t.exports=e},{"./_root":130}],95:[function(e,t,n){var r=e("./_Set"),o=e("./noop"),e=e("./_setToArray"),o=r&&1/e(new r([,-0]))[1]==1/0?function(e){return new r(e)}:o;t.exports=o},{"./_Set":64,"./_setToArray":133,"./noop":156}],96:[function(e,t,n){var r=e("./_getNative"),e=function(){try{var e=r(Object,"defineProperty");return e({},"",{}),e}catch(e){}}();t.exports=e},{"./_getNative":99}],97:[function(e,t,n){(function(e){e="object"==typeof e&&e&&e.Object===Object&&e;t.exports=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],98:[function(e,t,n){var r=e("./_isKeyable");t.exports=function(e,t){return e=e.__data__,r(t)?e["string"==typeof t?"string":"hash"]:e.map}},{"./_isKeyable":111}],99:[function(e,t,n){var r=e("./_baseIsNative"),o=e("./_getValue");t.exports=function(e,t){return t=o(e,t),r(t)?t:void 0}},{"./_baseIsNative":83,"./_getValue":102}],100:[function(e,t,n){e=e("./_overArg")(Object.getPrototypeOf,Object);t.exports=e},{"./_overArg":128}],101:[function(e,t,n){var r=e("./_Symbol"),e=Object.prototype,a=e.hasOwnProperty,i=e.toString,s=r?r.toStringTag:void 0;t.exports=function(e){var t=a.call(e,s),n=e[s];try{var r=!(e[s]=void 0)}catch(e){}var o=i.call(e);return r&&(t?e[s]=n:delete e[s]),o}},{"./_Symbol":66}],102:[function(e,t,n){t.exports=function(e,t){return null==e?void 0:e[t]}},{}],103:[function(e,t,n){var r=e("./_nativeCreate");t.exports=function(){this.__data__=r?r(null):{},this.size=0}},{"./_nativeCreate":124}],104:[function(e,t,n){t.exports=function(e){return e=this.has(e)&&delete this.__data__[e],this.size-=e?1:0,e}},{}],105:[function(e,t,n){var r=e("./_nativeCreate"),o=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;if(r){var n=t[e];return"__lodash_hash_undefined__"===n?void 0:n}return o.call(t,e)?t[e]:void 0}},{"./_nativeCreate":124}],106:[function(e,t,n){var r=e("./_nativeCreate"),o=Object.prototype.hasOwnProperty;t.exports=function(e){var t=this.__data__;return r?void 0!==t[e]:o.call(t,e)}},{"./_nativeCreate":124}],107:[function(e,t,n){var r=e("./_nativeCreate");t.exports=function(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=r&&void 0===t?"__lodash_hash_undefined__":t,this}},{"./_nativeCreate":124}],108:[function(e,t,n){var r=e("./_Symbol"),o=e("./isArguments"),a=e("./isArray"),i=r?r.isConcatSpreadable:void 0;t.exports=function(e){return a(e)||o(e)||!!(i&&e&&e[i])}},{"./_Symbol":66,"./isArguments":143,"./isArray":144}],109:[function(e,t,n){var r=/^(?:0|[1-9]\d*)$/;t.exports=function(e,t){var n=typeof e;return!!(t=null==t?9007199254740991:t)&&("number"==n||"symbol"!=n&&r.test(e))&&-1<e&&e%1==0&&e<t}},{}],110:[function(e,t,n){var o=e("./eq"),a=e("./isArrayLike"),i=e("./_isIndex"),s=e("./isObject");t.exports=function(e,t,n){if(!s(n))return!1;var r=typeof t;return!!("number"==r?a(n)&&i(t,n.length):"string"==r&&t in n)&&o(n[t],e)}},{"./_isIndex":109,"./eq":140,"./isArrayLike":145,"./isObject":150}],111:[function(e,t,n){t.exports=function(e){var t=typeof e;return"string"==t||"number"==t||"symbol"==t||"boolean"==t?"__proto__"!==e:null===e}},{}],112:[function(e,t,n){var e=e("./_coreJsData"),r=(e=/[^.]+$/.exec(e&&e.keys&&e.keys.IE_PROTO||""))?"Symbol(src)_1."+e:"";t.exports=function(e){return!!r&&r in e}},{"./_coreJsData":94}],113:[function(e,t,n){var r=Object.prototype;t.exports=function(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||r)}},{}],114:[function(e,t,n){t.exports=function(){this.__data__=[],this.size=0}},{}],115:[function(e,t,n){var r=e("./_assocIndexOf"),o=Array.prototype.splice;t.exports=function(e){var t=this.__data__;return!((e=r(t,e))<0)&&(e==t.length-1?t.pop():o.call(t,e,1),--this.size,!0)}},{"./_assocIndexOf":74}],116:[function(e,t,n){var r=e("./_assocIndexOf");t.exports=function(e){var t=this.__data__;return(e=r(t,e))<0?void 0:t[e][1]}},{"./_assocIndexOf":74}],117:[function(e,t,n){var r=e("./_assocIndexOf");t.exports=function(e){return-1<r(this.__data__,e)}},{"./_assocIndexOf":74}],118:[function(e,t,n){var o=e("./_assocIndexOf");t.exports=function(e,t){var n=this.__data__,r=o(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}},{"./_assocIndexOf":74}],119:[function(e,t,n){var r=e("./_Hash"),o=e("./_ListCache"),a=e("./_Map");t.exports=function(){this.size=0,this.__data__={hash:new r,map:new(a||o),string:new r}}},{"./_Hash":60,"./_ListCache":61,"./_Map":62}],120:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){return e=r(this,e).delete(e),this.size-=e?1:0,e}},{"./_getMapData":98}],121:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){return r(this,e).get(e)}},{"./_getMapData":98}],122:[function(e,t,n){var r=e("./_getMapData");t.exports=function(e){return r(this,e).has(e)}},{"./_getMapData":98}],123:[function(e,t,n){var o=e("./_getMapData");t.exports=function(e,t){var n=o(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}},{"./_getMapData":98}],124:[function(e,t,n){e=e("./_getNative")(Object,"create");t.exports=e},{"./_getNative":99}],125:[function(e,t,n){t.exports=function(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}},{}],126:[function(e,t,n){var e=e("./_freeGlobal"),n="object"==typeof n&&n&&!n.nodeType&&n,r=n&&"object"==typeof t&&t&&!t.nodeType&&t,o=r&&r.exports===n&&e.process,e=function(){try{var e=r&&r.require&&r.require("util").types;return e?e:o&&o.binding&&o.binding("util")}catch(e){}}();t.exports=e},{"./_freeGlobal":97}],127:[function(e,t,n){var r=Object.prototype.toString;t.exports=function(e){return r.call(e)}},{}],128:[function(e,t,n){t.exports=function(t,n){return function(e){return t(n(e))}}},{}],129:[function(e,t,n){var u=e("./_apply"),c=Math.max;t.exports=function(a,i,s){return i=c(void 0===i?a.length-1:i,0),function(){for(var e=arguments,t=-1,n=c(e.length-i,0),r=Array(n);++t<n;)r[t]=e[i+t];t=-1;for(var o=Array(i+1);++t<i;)o[t]=e[t];return o[i]=s(r),u(a,this,o)}}},{"./_apply":67}],130:[function(e,t,n){var r=e("./_freeGlobal"),e="object"==typeof self&&self&&self.Object===Object&&self,e=r||e||Function("return this")();t.exports=e},{"./_freeGlobal":97}],131:[function(e,t,n){t.exports=function(e){return this.__data__.set(e,"__lodash_hash_undefined__"),this}},{}],132:[function(e,t,n){t.exports=function(e){return this.__data__.has(e)}},{}],133:[function(e,t,n){t.exports=function(e){var t=-1,n=Array(e.size);return e.forEach(function(e){n[++t]=e}),n}},{}],134:[function(e,t,n){var r=e("./_baseSetToString"),r=e("./_shortOut")(r);t.exports=r},{"./_baseSetToString":87,"./_shortOut":135}],135:[function(e,t,n){var a=Date.now;t.exports=function(n){var r=0,o=0;return function(){var e=a(),t=16-(e-o);if(o=e,0<t){if(800<=++r)return arguments[0]}else r=0;return n.apply(void 0,arguments)}}},{}],136:[function(e,t,n){t.exports=function(e,t,n){for(var r=n-1,o=e.length;++r<o;)if(e[r]===t)return r;return-1}},{}],137:[function(e,t,n){var r=Function.prototype.toString;t.exports=function(e){if(null!=e){try{return r.call(e)}catch(e){}try{return e+""}catch(e){}}return""}},{}],138:[function(e,t,n){t.exports=function(e){return function(){return e}}},{}],139:[function(e,t,n){var r=e("./_baseRest"),p=e("./eq"),f=e("./_isIterateeCall"),d=e("./keysIn"),h=Object.prototype,g=h.hasOwnProperty,r=r(function(e,t){e=Object(e);var n=-1,r=t.length,o=2<r?t[2]:void 0;for(o&&f(t[0],t[1],o)&&(r=1);++n<r;)for(var a=t[n],i=d(a),s=-1,u=i.length;++s<u;){var c=i[s],l=e[c];(void 0===l||p(l,h[c])&&!g.call(e,c))&&(e[c]=a[c])}return e});t.exports=r},{"./_baseRest":86,"./_isIterateeCall":110,"./eq":140,"./keysIn":154}],140:[function(e,t,n){t.exports=function(e,t){return e===t||e!=e&&t!=t}},{}],141:[function(e,t,n){t.exports=function(e){return e}},{}],142:[function(e,t,n){var r=e("./_arrayMap"),o=e("./_baseIntersection"),a=e("./_baseRest"),i=e("./_castArrayLikeObject"),a=a(function(e){var t=r(e,i);return t.length&&t[0]===e[0]?o(t):[]});t.exports=a},{"./_arrayMap":72,"./_baseIntersection":80,"./_baseRest":86,"./_castArrayLikeObject":93}],143:[function(e,t,n){var r=e("./_baseIsArguments"),o=e("./isObjectLike"),e=Object.prototype,a=e.hasOwnProperty,i=e.propertyIsEnumerable,r=r(function(){return arguments}())?r:function(e){return o(e)&&a.call(e,"callee")&&!i.call(e,"callee")};t.exports=r},{"./_baseIsArguments":81,"./isObjectLike":151}],144:[function(e,t,n){var r=Array.isArray;t.exports=r},{}],145:[function(e,t,n){var r=e("./isFunction"),o=e("./isLength");t.exports=function(e){return null!=e&&o(e.length)&&!r(e)}},{"./isFunction":148,"./isLength":149}],146:[function(e,t,n){var r=e("./isArrayLike"),o=e("./isObjectLike");t.exports=function(e){return o(e)&&r(e)}},{"./isArrayLike":145,"./isObjectLike":151}],147:[function(e,t,n){var r=e("./_root"),o=e("./stubFalse"),e="object"==typeof n&&n&&!n.nodeType&&n,n=e&&"object"==typeof t&&t&&!t.nodeType&&t,r=n&&n.exports===e?r.Buffer:void 0,o=(r?r.isBuffer:void 0)||o;t.exports=o},{"./_root":130,"./stubFalse":157}],148:[function(e,t,n){var r=e("./_baseGetTag"),o=e("./isObject");t.exports=function(e){return!!o(e)&&("[object Function]"==(e=r(e))||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e)}},{"./_baseGetTag":78,"./isObject":150}],149:[function(e,t,n){t.exports=function(e){return"number"==typeof e&&-1<e&&e%1==0&&e<=9007199254740991}},{}],150:[function(e,t,n){t.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},{}],151:[function(e,t,n){t.exports=function(e){return null!=e&&"object"==typeof e}},{}],152:[function(e,t,n){var r=e("./_baseGetTag"),o=e("./_getPrototype"),a=e("./isObjectLike"),i=Function.prototype,e=Object.prototype,s=i.toString,u=e.hasOwnProperty,c=s.call(Object);t.exports=function(e){return!(!a(e)||"[object Object]"!=r(e))&&(null===(e=o(e))||"function"==typeof(e=u.call(e,"constructor")&&e.constructor)&&e instanceof e&&s.call(e)==c)}},{"./_baseGetTag":78,"./_getPrototype":100,"./isObjectLike":151}],153:[function(e,t,n){var r=e("./_baseIsTypedArray"),o=e("./_baseUnary"),e=e("./_nodeUtil"),e=e&&e.isTypedArray,r=e?o(e):r;t.exports=r},{"./_baseIsTypedArray":84,"./_baseUnary":89,"./_nodeUtil":126}],154:[function(e,t,n){var r=e("./_arrayLikeKeys"),o=e("./_baseKeysIn"),a=e("./isArrayLike");t.exports=function(e){return a(e)?r(e,!0):o(e)}},{"./_arrayLikeKeys":71,"./_baseKeysIn":85,"./isArrayLike":145}],155:[function(e,t,n){var i=e("./_MapCache"),s="Expected a function";function u(r,o){if("function"!=typeof r||null!=o&&"function"!=typeof o)throw new TypeError(s);var a=function(){var e=arguments,t=o?o.apply(this,e):e[0],n=a.cache;if(n.has(t))return n.get(t);e=r.apply(this,e);return a.cache=n.set(t,e)||n,e};return a.cache=new(u.Cache||i),a}u.Cache=i,t.exports=u},{"./_MapCache":63}],156:[function(e,t,n){t.exports=function(){}},{}],157:[function(e,t,n){t.exports=function(){return!1}},{}],158:[function(e,t,n){var r=e("./_baseFlatten"),o=e("./_baseRest"),a=e("./_baseUniq"),i=e("./isArrayLikeObject"),o=o(function(e){return a(r(e,1,i,!0))});t.exports=o},{"./_baseFlatten":77,"./_baseRest":86,"./_baseUniq":90,"./isArrayLikeObject":146}],159:[function(e,t,n){var r=e("./_baseDifference"),o=e("./_baseRest"),a=e("./isArrayLikeObject"),o=o(function(e,t){return a(e)?r(e,t):[]});t.exports=o},{"./_baseDifference":75,"./_baseRest":86,"./isArrayLikeObject":146}],160:[function(e,t,n){var r=e("./_arrayFilter"),o=e("./_baseRest"),a=e("./_baseXor"),i=e("./isArrayLikeObject"),o=o(function(e){return a(r(e,i))});t.exports=o},{"./_arrayFilter":68,"./_baseRest":86,"./_baseXor":91,"./isArrayLikeObject":146}],161:[function(e,t,n){"use strict";var u=Object.getOwnPropertySymbols,c=Object.prototype.hasOwnProperty,l=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"!==Object.keys(Object.assign({},r)).join("")?void 0:1}catch(e){return}}()?Object.assign:function(e,t){for(var n,r,o=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),a=1;a<arguments.length;a++){for(var i in n=Object(arguments[a]))c.call(n,i)&&(o[i]=n[i]);if(u){r=u(n);for(var s=0;s<r.length;s++)l.call(n,r[s])&&(o[r[s]]=n[r[s]])}}return o}},{}],162:[function(e,t,n){var r,o,t=t.exports={};function a(){throw new Error("setTimeout has not been defined")}function i(){throw new Error("clearTimeout has not been defined")}function s(t){if(r===setTimeout)return setTimeout(t,0);if((r===a||!r)&&setTimeout)return r=setTimeout,setTimeout(t,0);try{return r(t,0)}catch(e){try{return r.call(null,t,0)}catch(e){return r.call(this,t,0)}}}!function(){try{r="function"==typeof setTimeout?setTimeout:a}catch(e){r=a}try{o="function"==typeof clearTimeout?clearTimeout:i}catch(e){o=i}}();var u,c=[],l=!1,p=-1;function f(){l&&u&&(l=!1,u.length?c=u.concat(c):p=-1,c.length&&d())}function d(){if(!l){var e=s(f);l=!0;for(var t=c.length;t;){for(u=c,c=[];++p<t;)u&&u[p].run();p=-1,t=c.length}u=null,l=!1,function(t){if(o===clearTimeout)return clearTimeout(t);if((o===i||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(t);try{o(t)}catch(e){try{return o.call(null,t)}catch(e){return o.call(this,t)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function g(){}t.nextTick=function(e){var t=new Array(arguments.length-1);if(1<arguments.length)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];c.push(new h(e,t)),1!==c.length||l||s(d)},h.prototype.run=function(){this.fun.apply(null,this.array)},t.title="browser",t.browser=!0,t.env={},t.argv=[],t.version="",t.versions={},t.on=g,t.addListener=g,t.once=g,t.off=g,t.removeListener=g,t.removeAllListeners=g,t.emit=g,t.prependListener=g,t.prependOnceListener=g,t.listeners=function(e){return[]},t.binding=function(e){throw new Error("process.binding is not supported")},t.cwd=function(){return"/"},t.chdir=function(e){throw new Error("process.chdir is not supported")},t.umask=function(){return 0}},{}],163:[function(e,t,n){(function(e){"use strict";t.exports=function(e,t,n,r,o){}}).call(this,e("_process"))},{"./lib/ReactPropTypesSecret":168,_process:162}],164:[function(e,t,n){"use strict";var r=e("./factoryWithTypeCheckers");t.exports=function(e){return r(e,!1)}},{"./factoryWithTypeCheckers":166}],165:[function(e,t,n){"use strict";var i=e("./lib/ReactPropTypesSecret");function r(){}t.exports=function(){function e(e,t,n,r,o,a){if(a!==i){a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}var n={array:e.isRequired=e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=r,n.PropTypes=n}},{"./lib/ReactPropTypesSecret":168}],166:[function(t,n,e){(function(e){"use strict";var h=t("object-assign"),g=t("./lib/ReactPropTypesSecret"),r=t("./checkPropTypes"),o=function(){};function m(){return null}n.exports=function(a,u){var i="function"==typeof Symbol&&Symbol.iterator,s="@@iterator";var c="<<anonymous>>",e={array:t("array"),bool:t("boolean"),func:t("function"),number:t("number"),object:t("object"),string:t("string"),symbol:t("symbol"),any:n(m),arrayOf:function(u){return n(function(e,t,n,r,o){if("function"!=typeof u)return new l("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside arrayOf.");var a=e[t];if(!Array.isArray(a))return new l("Invalid "+r+" `"+o+"` of type `"+f(a)+"` supplied to `"+n+"`, expected an array.");for(var i=0;i<a.length;i++){var s=u(a,i,n,r,o+"["+i+"]",g);if(s instanceof Error)return s}return null})},element:n(function(e,t,n,r,o){return t=e[t],a(t)?null:new l("Invalid "+r+" `"+o+"` of type `"+f(t)+"` supplied to `"+n+"`, expected a single ReactElement.")}),instanceOf:function(i){return n(function(e,t,n,r,o){if(e[t]instanceof i)return null;var a=i.name||c;return new l("Invalid "+r+" `"+o+"` of type `"+((t=e[t]).constructor&&t.constructor.name?t.constructor.name:c)+"` supplied to `"+n+"`, expected instance of `"+a+"`.")})},node:n(function(e,t,n,r,o){return p(e[t])?null:new l("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.")}),objectOf:function(u){return n(function(e,t,n,r,o){if("function"!=typeof u)return new l("Property `"+o+"` of component `"+n+"` has invalid PropType notation inside objectOf.");var a,i=e[t];if("object"!==(t=f(i)))return new l("Invalid "+r+" `"+o+"` of type `"+t+"` supplied to `"+n+"`, expected an object.");for(a in i)if(i.hasOwnProperty(a)){var s=u(i,a,n,r,o+"."+a,g);if(s instanceof Error)return s}return null})},oneOf:function(s){return Array.isArray(s)?n(function(e,t,n,r,o){for(var a=e[t],i=0;i<s.length;i++)if(function(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}(a,s[i]))return null;t=JSON.stringify(s);return new l("Invalid "+r+" `"+o+"` of value `"+a+"` supplied to `"+n+"`, expected one of "+t+".")}):m},oneOfType:function(i){if(!Array.isArray(i))return m;for(var e=0;e<i.length;e++){var t=i[e];if("function"!=typeof t)return o("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+function(e){e=d(e);switch(e){case"array":case"object":return"an "+e;case"boolean":case"date":case"regexp":return"a "+e;default:return e}}(t)+" at index "+e+"."),m}return n(function(e,t,n,r,o){for(var a=0;a<i.length;a++){if(null==(0,i[a])(e,t,n,r,o,g))return null}return new l("Invalid "+r+" `"+o+"` supplied to `"+n+"`.")})},shape:function(u){return n(function(e,t,n,r,o){var a,i=e[t];if("object"!==(t=f(i)))return new l("Invalid "+r+" `"+o+"` of type `"+t+"` supplied to `"+n+"`, expected `object`.");for(a in u){var s=u[a];if(s){s=s(i,a,n,r,o+"."+a,g);if(s)return s}}return null})},exact:function(c){return n(function(e,t,n,r,o){var a,i=e[t],s=f(i);if("object"!==s)return new l("Invalid "+r+" `"+o+"` of type `"+s+"` supplied to `"+n+"`, expected `object`.");for(a in h({},e[t],c)){var u=c[a];if(!u)return new l("Invalid "+r+" `"+o+"` key `"+a+"` supplied to `"+n+"`.\nBad object: "+JSON.stringify(e[t],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(c),null," "));u=u(i,a,n,r,o+"."+a,g);if(u)return u}return null})}};function l(e){this.message=e,this.stack=""}function n(s){function e(e,t,n,r,o,a,i){if((r=r||c,a=a||n,i!==g)&&u){i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}return null==t[n]?e?null===t[n]?new l("The "+o+" `"+a+"` is marked as required in `"+r+"`, but its value is `null`."):new l("The "+o+" `"+a+"` is marked as required in `"+r+"`, but its value is `undefined`."):null:s(t,n,r,o,a)}var t=e.bind(null,!1);return t.isRequired=e.bind(null,!0),t}function t(i){return n(function(e,t,n,r,o,a){return f(t=e[t])===i?null:new l("Invalid "+r+" `"+o+"` of type `"+d(t)+"` supplied to `"+n+"`, expected `"+i+"`.")})}function p(e){switch(typeof e){case"number":case"string":case"undefined":return!0;case"boolean":return!e;case"object":if(Array.isArray(e))return e.every(p);if(null===e||a(e))return!0;var t=function(e){if("function"==typeof(e=e&&(i&&e[i]||e[s])))return e}(e);if(!t)return!1;var n,r=t.call(e);if(t!==e.entries){for(;!(n=r.next()).done;)if(!p(n.value))return!1}else for(;!(n=r.next()).done;){var o=n.value;if(o&&!p(o[1]))return!1}return!0;default:return!1}}function f(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":(e=e,"symbol"===t||("Symbol"===e["@@toStringTag"]||"function"==typeof Symbol&&e instanceof Symbol)?"symbol":t)}function d(e){if(null==e)return""+e;var t=f(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}return l.prototype=Error.prototype,e.checkPropTypes=r,e.PropTypes=e}}).call(this,t("_process"))},{"./checkPropTypes":163,"./lib/ReactPropTypesSecret":168,_process:162,"object-assign":161}],167:[function(t,n,e){(function(e){n.exports=t("./factoryWithThrowingShims")()}).call(this,t("_process"))},{"./factoryWithThrowingShims":165,"./factoryWithTypeCheckers":166,_process:162}],168:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}],169:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.isSafari=n.isFirefox=void 0;var r,o=e("lodash/memoize"),e=(r=o)&&r.__esModule?r:{default:r};n.isFirefox=(0,e.default)(function(){return/firefox/i.test(navigator.userAgent)}),n.isSafari=(0,e.default)(function(){return Boolean(window.safari)})},{"lodash/memoize":155}],170:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=s(e("lodash/union")),i=s(e("lodash/without"));function s(e){return e&&e.__esModule?e:{default:e}}r(u,[{key:"enter",value:function(t){var e=this.entered.length;return this.entered=(0,a.default)(this.entered.filter(function(e){return document.documentElement.contains(e)&&(!e.contains||e.contains(t))}),[t]),0===e&&0<this.entered.length}},{key:"leave",value:function(e){var t=this.entered.length;return this.entered=(0,i.default)(this.entered.filter(function(e){return document.documentElement.contains(e)}),e),0<t&&0===this.entered.length}},{key:"reset",value:function(){this.entered=[]}}]),r=u;function u(){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,u),this.entered=[]}n.default=r},{"lodash/union":158,"lodash/without":159}],171:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a=f(e("lodash/defaults")),i=f(e("./shallowEqual")),s=f(e("./EnterLeaveCounter")),u=e("./BrowserDetector"),c=e("./OffsetUtils"),l=e("./NativeDragSources"),p=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(e("./NativeTypes"));function f(e){return e&&e.__esModule?e:{default:e}}r(d,[{key:"setup",value:function(){if(void 0!==this.window){if(this.window.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");this.window.__isReactDndBackendSetUp=!0,this.addEventListeners(this.window)}}},{key:"teardown",value:function(){void 0!==this.window&&(this.window.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.window),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId&&this.window.cancelAnimationFrame(this.asyncEndDragFrameId))}},{key:"addEventListeners",value:function(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}},{key:"removeEventListeners",value:function(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}},{key:"connectDragPreview",value:function(e,t,n){var r=this;return this.sourcePreviewNodeOptions[e]=n,this.sourcePreviewNodes[e]=t,function(){delete r.sourcePreviewNodes[e],delete r.sourcePreviewNodeOptions[e]}}},{key:"connectDragSource",value:function(t,e,n){var r=this;this.sourceNodes[t]=e,this.sourceNodeOptions[t]=n;function o(e){return r.handleDragStart(e,t)}function a(e){return r.handleSelectStart(e,t)}return e.setAttribute("draggable",!0),e.addEventListener("dragstart",o),e.addEventListener("selectstart",a),function(){delete r.sourceNodes[t],delete r.sourceNodeOptions[t],e.removeEventListener("dragstart",o),e.removeEventListener("selectstart",a),e.setAttribute("draggable",!1)}}},{key:"connectDropTarget",value:function(t,e){function n(e){return a.handleDragEnter(e,t)}function r(e){return a.handleDragOver(e,t)}function o(e){return a.handleDrop(e,t)}var a=this;return e.addEventListener("dragenter",n),e.addEventListener("dragover",r),e.addEventListener("drop",o),function(){e.removeEventListener("dragenter",n),e.removeEventListener("dragover",r),e.removeEventListener("drop",o)}}},{key:"getCurrentSourceNodeOptions",value:function(){var e=this.monitor.getSourceId(),e=this.sourceNodeOptions[e];return(0,a.default)(e||{},{dropEffect:this.altKeyPressed?"copy":"move"})}},{key:"getCurrentDropEffect",value:function(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}},{key:"getCurrentSourcePreviewNodeOptions",value:function(){var e=this.monitor.getSourceId(),e=this.sourcePreviewNodeOptions[e];return(0,a.default)(e||{},{anchorX:.5,anchorY:.5,captureDraggingState:!1})}},{key:"getSourceClientOffset",value:function(e){return(0,c.getNodeClientOffset)(this.sourceNodes[e])}},{key:"isDraggingNativeItem",value:function(){var t=this.monitor.getItemType();return Object.keys(p).some(function(e){return p[e]===t})}},{key:"beginDragNativeItem",value:function(e){this.clearCurrentDragSourceNode();var t=(0,l.createNativeDragSource)(e);this.currentNativeSource=new t,this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}},{key:"asyncEndDragNativeItem",value:function(){this.asyncEndDragFrameId=this.window.requestAnimationFrame(this.endDragNativeItem)}},{key:"endDragNativeItem",value:function(){this.isDraggingNativeItem()&&(this.actions.endDrag(),this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)}},{key:"isNodeInDocument",value:function(e){return!(!document.body.contains(e)&&!this.window)&&this.window.document.body.contains(e)}},{key:"endDragIfSourceWasRemovedFromDOM",value:function(){var e=this.currentDragSourceNode;this.isNodeInDocument(e)||this.clearCurrentDragSourceNode()&&this.actions.endDrag()}},{key:"setCurrentDragSourceNode",value:function(e){var t=this;this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e,this.currentDragSourceNodeOffset=(0,c.getNodeClientOffset)(e),this.currentDragSourceNodeOffsetChanged=!1;this.mouseMoveTimeoutTimer=setTimeout(function(){return t.mouseMoveTimeoutId=null,t.window.addEventListener("mousemove",t.endDragIfSourceWasRemovedFromDOM,!0)},1e3)}},{key:"clearCurrentDragSourceNode",value:function(){return!!this.currentDragSourceNode&&(this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,this.window.clearTimeout(this.mouseMoveTimeoutTimer),this.window.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0),!(this.mouseMoveTimeoutTimer=null))}},{key:"checkIfCurrentDragSourceRectChanged",value:function(){var e=this.currentDragSourceNode;return!!e&&(!!this.currentDragSourceNodeOffsetChanged||(this.currentDragSourceNodeOffsetChanged=!(0,i.default)((0,c.getNodeClientOffset)(e),this.currentDragSourceNodeOffset),this.currentDragSourceNodeOffsetChanged))}},{key:"handleTopDragStartCapture",value:function(){this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]}},{key:"handleDragStart",value:function(e,t){this.dragStartSourceIds.unshift(t)}},{key:"handleTopDragStart",value:function(e){var t=this,n=this.dragStartSourceIds,r=(this.dragStartSourceIds=null,c.getEventClientOffset)(e);this.monitor.isDragging()&&this.actions.endDrag(),this.actions.beginDrag(n,{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:r});var o,a,i,s=e.dataTransfer,u=(0,l.matchNativeItemType)(s);if(this.monitor.isDragging()){"function"==typeof s.setDragImage&&(i=this.monitor.getSourceId(),o=this.sourceNodes[i],a=this.sourcePreviewNodes[i]||o,i={anchorX:(n=this.getCurrentSourcePreviewNodeOptions()).anchorX,anchorY:n.anchorY},n={offsetX:n.offsetX,offsetY:n.offsetY},n=(0,c.getDragPreviewOffset)(o,a,r,i,n),s.setDragImage(a,n.x,n.y));try{s.setData("application/json",{})}catch(e){}this.setCurrentDragSourceNode(e.target),this.getCurrentSourcePreviewNodeOptions().captureDraggingState?this.actions.publishDragSource():setTimeout(function(){return t.actions.publishDragSource()})}else if(u)this.beginDragNativeItem(u);else{if(!(s.types||e.target.hasAttribute&&e.target.hasAttribute("draggable")))return;e.preventDefault()}}},{key:"handleTopDragEndCapture",value:function(){this.clearCurrentDragSourceNode()&&this.actions.endDrag()}},{key:"handleTopDragEnterCapture",value:function(e){this.dragEnterTargetIds=[],this.enterLeaveCounter.enter(e.target)&&!this.monitor.isDragging()&&(e=e.dataTransfer,(e=(0,l.matchNativeItemType)(e))&&this.beginDragNativeItem(e))}},{key:"handleDragEnter",value:function(e,t){this.dragEnterTargetIds.unshift(t)}},{key:"handleTopDragEnter",value:function(e){var t=this,n=this.dragEnterTargetIds;this.dragEnterTargetIds=[],this.monitor.isDragging()&&(this.altKeyPressed=e.altKey,(0,u.isFirefox)()||this.actions.hover(n,{clientOffset:(0,c.getEventClientOffset)(e)}),n.some(function(e){return t.monitor.canDropOnTarget(e)})&&(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect()))}},{key:"handleTopDragOverCapture",value:function(){this.dragOverTargetIds=[]}},{key:"handleDragOver",value:function(e,t){this.dragOverTargetIds.unshift(t)}},{key:"handleTopDragOver",value:function(e){var t=this,n=this.dragOverTargetIds;if(this.dragOverTargetIds=[],!this.monitor.isDragging())return e.preventDefault(),void(e.dataTransfer.dropEffect="none");this.altKeyPressed=e.altKey,this.actions.hover(n,{clientOffset:(0,c.getEventClientOffset)(e)}),n.some(function(e){return t.monitor.canDropOnTarget(e)})?(e.preventDefault(),e.dataTransfer.dropEffect=this.getCurrentDropEffect()):this.isDraggingNativeItem()?(e.preventDefault(),e.dataTransfer.dropEffect="none"):this.checkIfCurrentDragSourceRectChanged()&&(e.preventDefault(),e.dataTransfer.dropEffect="move")}},{key:"handleTopDragLeaveCapture",value:function(e){this.isDraggingNativeItem()&&e.preventDefault(),this.enterLeaveCounter.leave(e.target)&&this.isDraggingNativeItem()&&this.endDragNativeItem()}},{key:"handleTopDropCapture",value:function(e){this.dropTargetIds=[],e.preventDefault(),this.isDraggingNativeItem()&&this.currentNativeSource.mutateItemByReadingDataTransfer(e.dataTransfer),this.enterLeaveCounter.reset()}},{key:"handleDrop",value:function(e,t){this.dropTargetIds.unshift(t)}},{key:"handleTopDrop",value:function(e){var t=this.dropTargetIds;this.dropTargetIds=[],this.actions.hover(t,{clientOffset:(0,c.getEventClientOffset)(e)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.endDragIfSourceWasRemovedFromDOM()}},{key:"handleSelectStart",value:function(e){var t=e.target;"function"==typeof t.dragDrop&&("INPUT"===t.tagName||"SELECT"===t.tagName||"TEXTAREA"===t.tagName||t.isContentEditable||(e.preventDefault(),t.dragDrop()))}},{key:"window",get:function(){return this.context&&this.context.window?this.context.window:"undefined"!=typeof window?window:void 0}}]),r=d;function d(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,d),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.context=e.getContext(),this.sourcePreviewNodes={},this.sourcePreviewNodeOptions={},this.sourceNodes={},this.sourceNodeOptions={},this.enterLeaveCounter=new s.default,this.dragStartSourceIds=[],this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.currentDragSourceNodeOffset=null,this.currentDragSourceNodeOffsetChanged=!1,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.getSourceClientOffset=this.getSourceClientOffset.bind(this),this.handleTopDragStart=this.handleTopDragStart.bind(this),this.handleTopDragStartCapture=this.handleTopDragStartCapture.bind(this),this.handleTopDragEndCapture=this.handleTopDragEndCapture.bind(this),this.handleTopDragEnter=this.handleTopDragEnter.bind(this),this.handleTopDragEnterCapture=this.handleTopDragEnterCapture.bind(this),this.handleTopDragLeaveCapture=this.handleTopDragLeaveCapture.bind(this),this.handleTopDragOver=this.handleTopDragOver.bind(this),this.handleTopDragOverCapture=this.handleTopDragOverCapture.bind(this),this.handleTopDrop=this.handleTopDrop.bind(this),this.handleTopDropCapture=this.handleTopDropCapture.bind(this),this.handleSelectStart=this.handleSelectStart.bind(this),this.endDragIfSourceWasRemovedFromDOM=this.endDragIfSourceWasRemovedFromDOM.bind(this),this.endDragNativeItem=this.endDragNativeItem.bind(this),this.asyncEndDragNativeItem=this.asyncEndDragNativeItem.bind(this),this.isNodeInDocument=this.isNodeInDocument.bind(this)}n.default=r},{"./BrowserDetector":169,"./EnterLeaveCounter":170,"./NativeDragSources":173,"./NativeTypes":174,"./OffsetUtils":175,"./shallowEqual":178,"lodash/defaults":139}],172:[function(e,t,n){"use strict";function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}Object.defineProperty(n,"__esModule",{value:!0});var o=(function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e}(w,[{key:"interpolate",value:function(e){var t=this.xs,n=this.ys,r=this.c1s,o=this.c2s,a=this.c3s,i=t.length-1;if(e===t[i])return n[i];for(var s,u=0,c=a.length-1;u<=c;){var l=t[s=Math.floor(.5*(u+c))];if(l<e)u=s+1;else{if(!(e<l))return n[s];c=s-1}}var p=e-t[i=Math.max(0,c)],f=p*p;return n[i]+r[i]*p+o[i]*f+a[i]*p*f}}]),w);function w(n,e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,w);for(var t=n.length,r=[],o=0;o<t;o++)r.push(o);r.sort(function(e,t){return n[e]<n[t]?-1:1});for(var a,i=[],s=[],u=[],c=void 0,l=0;l<t-1;l++)c=n[l+1]-n[l],a=e[l+1]-e[l],s.push(c),i.push(a),u.push(a/c);for(var p=[u[0]],f=0;f<s.length-1;f++){var d,h,g=u[f],m=u[f+1];g*m<=0?p.push(0):(h=(c=s[f])+(d=s[f+1]),p.push(3*h/((h+d)/g+(h+c)/m)))}p.push(u[u.length-1]);for(var v,y=[],b=[],_=0;_<p.length-1;_++){v=u[_];var E=p[_],C=1/s[_],O=E+p[_+1]-v-v;y.push((v-E-O)*C),b.push(O*C*C)}this.xs=n,this.ys=e,this.c1s=p,this.c2s=y,this.c3s=b}n.default=o},{}],173:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var a=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.createNativeDragSource=function(e){var e=s[e],r=e.exposeProperty,t=e.matchesTypes,o=e.getData;return function(){function n(){var e,t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.item=(e={},(t={})[r]=t[r]||{},t[r].get=function(){return console.warn("Browser doesn't allow reading \""+r+'" until the drop event.'),null},function(e,t){for(var n in t){var r=t[n];r.configurable=r.enumerable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,n,r)}}(e,t),e)}return a(n,[{key:"mutateItemByReadingDataTransfer",value:function(e){delete this.item[r],this.item[r]=o(e,t)}},{key:"canDrag",value:function(){return!0}},{key:"beginDrag",value:function(){return this.item}},{key:"isDragging",value:function(e,t){return t===e.getSourceId()}},{key:"endDrag",value:function(){}}]),n}()},n.matchNativeItemType=function(e){var t=Array.prototype.slice.call(e.types||[]);return Object.keys(s).filter(function(e){return s[e].matchesTypes.some(function(e){return-1<t.indexOf(e)})})[0]||null};n=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(e("./NativeTypes"));function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(n,e,t){e=e.reduce(function(e,t){return e||n.getData(t)},null);return null!=e?e:t}var s=(o(e={},n.FILE,{exposeProperty:"files",matchesTypes:["Files"],getData:function(e){return Array.prototype.slice.call(e.files)}}),o(e,n.URL,{exposeProperty:"urls",matchesTypes:["Url","text/uri-list"],getData:function(e,t){return i(e,t,"").split("\n")}}),o(e,n.TEXT,{exposeProperty:"text",matchesTypes:["Text","text/plain"],getData:function(e,t){return i(e,t,"")}}),e)},{"./NativeTypes":174}],174:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});n.FILE="__NATIVE_FILE__",n.URL="__NATIVE_URL__",n.TEXT="__NATIVE_TEXT__"},{}],175:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getNodeClientOffset=m,n.getEventClientOffset=function(e){return{x:e.clientX,y:e.clientY}},n.getDragPreviewOffset=function(e,t,n,r,o){var a=function(e){return"IMG"===e.nodeName&&((0,h.isFirefox)()||!document.documentElement.contains(e))}(t),i=m(a?e:t),s={x:n.x-i.x,y:n.y-i.y},u=e.offsetWidth,c=e.offsetHeight,l=r.anchorX,p=r.anchorY,r=function(e,t,n,r){n=e?t.width:n,r=e?t.height:r;(0,h.isSafari)()&&e&&(r/=window.devicePixelRatio,n/=window.devicePixelRatio);return{dragPreviewWidth:n,dragPreviewHeight:r}}(a,t,u,c),f=r.dragPreviewWidth,d=r.dragPreviewHeight,t=o.offsetX,r=o.offsetY,o=0===r||r;return{x:0===t||t?t:new g.default([0,.5,1],[s.x,s.x/u*f,s.x+f-u]).interpolate(l),y:o?r:function(){var e=new g.default([0,.5,1],[s.y,s.y/c*d,s.y+d-c]).interpolate(p);return(0,h.isSafari)()&&a&&(e+=(window.devicePixelRatio-1)*d),e}()}};var r,h=e("./BrowserDetector"),o=e("./MonotonicInterpolant"),g=(r=o)&&r.__esModule?r:{default:r};var a=1;function m(e){var t=e.nodeType===a?e:e.parentElement;if(!t)return null;e=t.getBoundingClientRect(),t=e.top;return{x:e.left,y:t}}},{"./BrowserDetector":169,"./MonotonicInterpolant":172}],176:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(){r||((r=new Image).src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==");return r};var r=void 0},{}],177:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.getEmptyImage=n.NativeTypes=void 0,n.default=function(e){return new r.default(e)};var r=a(e("./HTML5Backend")),o=a(e("./getEmptyImage")),e=function(e){{if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t.default=e,t}}(e("./NativeTypes"));function a(e){return e&&e.__esModule?e:{default:e}}n.NativeTypes=e,n.getEmptyImage=o.default},{"./HTML5Backend":171,"./NativeTypes":174,"./getEmptyImage":176}],178:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t){if(e===t)return!0;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,a=0;a<n.length;a+=1){if(!o.call(t,n[a])||e[n[a]]!==t[n[a]])return!1;var i=e[n[a]],s=t[n[a]];if(i!==s)return!1}return!0}},{}],179:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.unpackBackendForEs5Users=n.createChildContext=n.CHILD_CONTEXT_TYPES=void 0;var i=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},s=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var o="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n.default=function(e){d.default.apply(void 0,["DragDropContext","backend"].concat(Array.prototype.slice.call(arguments)));var e=v(e),a=m(e);return function(e){var t,n=e.displayName||e.name||"Component",r=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(o,u.Component),s(o,[{key:"getDecoratedComponentInstance",value:function(){return(0,p.default)(this.child,"In order to access an instance of the decorated component it can not be a stateless component."),this.child}},{key:"getManager",value:function(){return a.dragDropManager}},{key:"getChildContext",value:function(){return a}},{key:"render",value:function(){var t=this;return c.default.createElement(e,i({},this.props,{ref:function(e){t.child=e}}))}}]),r=t=o,t.DecoratedComponent=e,t.displayName="DragDropContext("+n+")",t.childContextTypes=g,r);function o(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,o),function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(o.__proto__||Object.getPrototypeOf(o)).apply(this,arguments))}return(0,f.default)(r,e)}};var u=e("react"),c=h(u),a=h(e("prop-types")),l=e("dnd-core"),p=h(e("invariant")),f=h(e("hoist-non-react-statics")),d=h(e("./utils/checkDecoratorArguments"));function h(e){return e&&e.__esModule?e:{default:e}}var g=n.CHILD_CONTEXT_TYPES={dragDropManager:a.default.object.isRequired},m=n.createChildContext=function(e,t){return{dragDropManager:new l.DragDropManager(e,t)}},v=n.unpackBackendForEs5Users=function(e){return"object"===(void 0===e?"undefined":o(e))&&"function"==typeof e.default&&(e=e.default),(0,p.default)("function"==typeof e,"Expected the backend to be a function or an ES6 module exporting a default function. Read more: http://react-dnd.github.io/react-dnd/docs-drag-drop-context.html"),e}},{"./utils/checkDecoratorArguments":195,"dnd-core":26,"hoist-non-react-statics":58,invariant:59,"prop-types":167,react:353}],180:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=void 0;var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}var a,i=e("react"),s=e("prop-types"),u=(a=s)&&a.__esModule?a:{default:a},c=e("./DragDropContext");(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)})(l,i.Component),r(l,[{key:"componentWillReceiveProps",value:function(e){if(e.backend!==this.props.backend||e.window!==this.props.window)throw new Error("DragDropContextProvider backend and window props must not change.")}},{key:"getChildContext",value:function(){return this.childContext}},{key:"render",value:function(){return i.Children.only(this.props.children)}}]),r=e=l,e.propTypes={backend:u.default.oneOfType([u.default.func,u.default.object]).isRequired,children:u.default.element.isRequired,window:u.default.object},e.defaultProps={window:void 0},e.childContextTypes=c.CHILD_CONTEXT_TYPES,e.displayName="DragDropContextProvider",e.contextTypes={window:u.default.object};function l(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l);var n=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(l.__proto__||Object.getPrototypeOf(l)).call(this,e,t));return n.backend=(0,c.unpackBackendForEs5Users)(e.backend),n.childContext=(0,c.createChildContext)(n.backend,{window:e&&e.window?e.window:t&&t.window?t.window:"undefined"!=typeof window?window:void 0}),n}n.default=r},{"./DragDropContext":179,"prop-types":167,react:353}],181:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var u=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},l=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.default=function(i){var s=1<arguments.length&&void 0!==arguments[1]?arguments[1]:{};return a.default.apply(void 0,["DragLayer","collect[, options]"].concat(Array.prototype.slice.call(arguments))),(0,g.default)("function"==typeof i,'Expected "collect" provided as the first argument to DragLayer to be a function that collects props to inject into the component. ',"Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html",i),(0,g.default)((0,o.default)(s),'Expected "options" provided as the second argument to DragLayer to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-layer.html',s),function(e){var t,n=s.arePropsEqual,r=void 0===n?v.default:n,o=e.displayName||e.name||"Component",n=(function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(a,p.Component),l(a,[{key:"getDecoratedComponentInstance",value:function(){return(0,g.default)(this.child,"In order to access an instance of the decorated component it can not be a stateless component."),this.child}},{key:"shouldComponentUpdate",value:function(e,t){return!r(e,this.props)||!(0,m.default)(t,this.state)}}]),l(a,[{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0;var e=this.manager.getMonitor();this.unsubscribeFromOffsetChange=e.subscribeToOffsetChange(this.handleChange),this.unsubscribeFromStateChange=e.subscribeToStateChange(this.handleChange),this.handleChange()}},{key:"componentWillUnmount",value:function(){this.isCurrentlyMounted=!1,this.unsubscribeFromOffsetChange(),this.unsubscribeFromStateChange()}},{key:"handleChange",value:function(){var e;this.isCurrentlyMounted&&(e=this.getCurrentState(),(0,m.default)(e,this.state)||this.setState(e))}},{key:"getCurrentState",value:function(){var e=this.manager.getMonitor();return i(e,this.props)}},{key:"render",value:function(){var t=this;return f.default.createElement(e,u({},this.props,this.state,{ref:function(e){t.child=e}}))}}]),n=t=a,t.DecoratedComponent=e,t.displayName="DragLayer("+o+")",t.contextTypes={dragDropManager:d.default.object.isRequired},n);function a(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,a);e=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(a.__proto__||Object.getPrototypeOf(a)).call(this,e));return e.handleChange=e.handleChange.bind(e),e.manager=t.dragDropManager,(0,g.default)("object"===c(e.manager),"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",o,o),e.state=e.getCurrentState(),e}return(0,h.default)(n,e)}};var p=e("react"),f=i(p),d=i(e("prop-types")),h=i(e("hoist-non-react-statics")),o=i(e("lodash/isPlainObject")),g=i(e("invariant")),m=i(e("./utils/shallowEqual")),v=i(e("./utils/shallowEqualScalar")),a=i(e("./utils/checkDecoratorArguments"));function i(e){return e&&e.__esModule?e:{default:e}}},{"./utils/checkDecoratorArguments":195,"./utils/shallowEqual":198,"./utils/shallowEqualScalar":199,"hoist-non-react-statics":58,invariant:59,"lodash/isPlainObject":152,"prop-types":167,react:353}],182:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};u.default.apply(void 0,["DragSource","type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));var o=e;"function"!=typeof e&&((0,i.default)((0,h.default)(e),'Expected "type" provided as the first argument to DragSource to be a string, or a function that returns a string given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',e),o=function(){return e});(0,i.default)((0,s.default)(t),'Expected "spec" provided as the second argument to DragSource to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',t);var a=(0,p.default)(t);return(0,i.default)("function"==typeof n,'Expected "collect" provided as the third argument to DragSource to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',n),(0,i.default)((0,s.default)(r),'Expected "options" provided as the fourth argument to DragSource to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',n),function(e){return(0,c.default)({connectBackend:function(e,t){return e.connectDragSource(t)},containerDisplayName:"DragSource",createHandler:a,registerHandler:l.default,createMonitor:f.default,createConnector:d.default,DecoratedComponent:e,getType:o,collect:n,options:r})}};var i=r(e("invariant")),s=r(e("lodash/isPlainObject")),u=r(e("./utils/checkDecoratorArguments")),c=r(e("./decorateHandler")),l=r(e("./registerSource")),p=r(e("./createSourceFactory")),f=r(e("./createSourceMonitor")),d=r(e("./createSourceConnector")),h=r(e("./utils/isValidType"));function r(e){return e&&e.__esModule?e:{default:e}}},{"./createSourceConnector":185,"./createSourceFactory":186,"./createSourceMonitor":187,"./decorateHandler":191,"./registerSource":193,"./utils/checkDecoratorArguments":195,"./utils/isValidType":197,invariant:59,"lodash/isPlainObject":152}],183:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t,n){var r=3<arguments.length&&void 0!==arguments[3]?arguments[3]:{};u.default.apply(void 0,["DropTarget","type, spec, collect[, options]"].concat(Array.prototype.slice.call(arguments)));var o=e;"function"!=typeof e&&((0,i.default)((0,h.default)(e,!0),'Expected "type" provided as the first argument to DropTarget to be a string, an array of strings, or a function that returns either given the current props. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',e),o=function(){return e});(0,i.default)((0,s.default)(t),'Expected "spec" provided as the second argument to DropTarget to be a plain object. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',t);var a=(0,p.default)(t);return(0,i.default)("function"==typeof n,'Expected "collect" provided as the third argument to DropTarget to be a function that returns a plain object of props to inject. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',n),(0,i.default)((0,s.default)(r),'Expected "options" provided as the fourth argument to DropTarget to be a plain object when specified. Instead, received %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',n),function(e){return(0,c.default)({connectBackend:function(e,t){return e.connectDropTarget(t)},containerDisplayName:"DropTarget",createHandler:a,registerHandler:l.default,createMonitor:f.default,createConnector:d.default,DecoratedComponent:e,getType:o,collect:n,options:r})}};var i=r(e("invariant")),s=r(e("lodash/isPlainObject")),u=r(e("./utils/checkDecoratorArguments")),c=r(e("./decorateHandler")),l=r(e("./registerTarget")),p=r(e("./createTargetFactory")),f=r(e("./createTargetMonitor")),d=r(e("./createTargetConnector")),h=r(e("./utils/isValidType"));function r(e){return e&&e.__esModule?e:{default:e}}},{"./createTargetConnector":188,"./createTargetFactory":189,"./createTargetMonitor":190,"./decorateHandler":191,"./registerTarget":194,"./utils/checkDecoratorArguments":195,"./utils/isValidType":197,invariant:59,"lodash/isPlainObject":152}],184:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t){return t===e||null!==t&&null!==e&&(0,a.default)(t,e)};var r,o=e("./utils/shallowEqual"),a=(r=o)&&r.__esModule?r:{default:r}},{"./utils/shallowEqual":198}],185:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var t=void 0,n=void 0,r=void 0,o=void 0,a=void 0,i=void 0,s=void 0;function u(){o&&(o(),o=null),t&&n&&(o=e.connectDragSource(t,n,r))}function c(){s&&(s(),s=null),t&&a&&(s=e.connectDragPreview(t,a,i))}return{receiveHandlerId:function(e){e!==t&&(t=e,u(),c())},hooks:(0,l.default)({dragSource:function(e,t){e===n&&(0,p.default)(t,r)||(n=e,r=t,u())},dragPreview:function(e,t){e===a&&(0,p.default)(t,i)||(a=e,i=t,c())}})}};var l=r(e("./wrapConnectorHooks")),p=r(e("./areOptionsEqual"));function r(e){return e&&e.__esModule?e:{default:e}}},{"./areOptionsEqual":184,"./wrapConnectorHooks":200}],186:[function(n,e,u){(function(e){"use strict";Object.defineProperty(u,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}u.default=function(n){Object.keys(n).forEach(function(e){(0,a.default)(-1<i.indexOf(e),'Expected the drag source specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html',i.join(", "),e),(0,a.default)("function"==typeof n[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html",e,e,n[e])}),s.forEach(function(e){(0,a.default)("function"==typeof n[e],"Expected %s in the drag source specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source.html",e,e,n[e])});var t=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.monitor=e,this.props=null,this.component=null}return r(t,[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveComponent",value:function(e){this.component=e}},{key:"canDrag",value:function(){return!n.canDrag||n.canDrag(this.props,this.monitor)}},{key:"isDragging",value:function(e,t){return n.isDragging?n.isDragging(this.props,this.monitor):t===e.getSourceId()}},{key:"beginDrag",value:function(){var e=n.beginDrag(this.props,this.monitor,this.component);return e}},{key:"endDrag",value:function(){n.endDrag&&n.endDrag(this.props,this.monitor,this.component)}}]),t}();return function(e){return new t(e)}};var a=t(n("invariant"));t(n("lodash/isPlainObject"));function t(e){return e&&e.__esModule?e:{default:e}}var i=["canDrag","beginDrag","isDragging","endDrag"],s=["beginDrag"]}).call(this,n("_process"))},{_process:162,invariant:59,"lodash/isPlainObject":152}],187:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.default=function(e){return new l(e)};var a,i=e("invariant"),s=(a=i)&&a.__esModule?a:{default:a};var u=!1,c=!1,l=(r(p,[{key:"receiveHandlerId",value:function(e){this.sourceId=e}},{key:"canDrag",value:function(){(0,s.default)(!u,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");try{return u=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{u=!1}}},{key:"isDragging",value:function(){(0,s.default)(!c,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drag-source-monitor.html");try{return c=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{c=!1}}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),p);function p(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,p),this.internalMonitor=e.getMonitor()}},{invariant:59}],188:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var t=void 0,n=void 0,r=void 0,o=void 0;function a(){o&&(o(),o=null),t&&n&&(o=e.connectDropTarget(t,n,r))}return{receiveHandlerId:function(e){e!==t&&(t=e,a())},hooks:(0,i.default)({dropTarget:function(e,t){e===n&&(0,s.default)(t,r)||(n=e,r=t,a())}})}};var i=r(e("./wrapConnectorHooks")),s=r(e("./areOptionsEqual"));function r(e){return e&&e.__esModule?e:{default:e}}},{"./areOptionsEqual":184,"./wrapConnectorHooks":200}],189:[function(n,e,s){(function(e){"use strict";Object.defineProperty(s,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}s.default=function(n){Object.keys(n).forEach(function(e){(0,a.default)(-1<i.indexOf(e),'Expected the drop target specification to only have some of the following keys: %s. Instead received a specification with an unexpected "%s" key. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html',i.join(", "),e),(0,a.default)("function"==typeof n[e],"Expected %s in the drop target specification to be a function. Instead received a specification with %s: %s. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target.html",e,e,n[e])});var t=function(){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.monitor=e,this.props=null,this.component=null}return r(t,[{key:"receiveProps",value:function(e){this.props=e}},{key:"receiveMonitor",value:function(e){this.monitor=e}},{key:"receiveComponent",value:function(e){this.component=e}},{key:"canDrop",value:function(){return!n.canDrop||n.canDrop(this.props,this.monitor)}},{key:"hover",value:function(){n.hover&&n.hover(this.props,this.monitor,this.component)}},{key:"drop",value:function(){if(n.drop){var e=n.drop(this.props,this.monitor,this.component);return e}}}]),t}();return function(e){return new t(e)}};var a=t(n("invariant"));t(n("lodash/isPlainObject"));function t(e){return e&&e.__esModule?e:{default:e}}var i=["canDrop","hover","drop"]}).call(this,n("_process"))},{_process:162,invariant:59,"lodash/isPlainObject":152}],190:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=function(e,t,n){return t&&o(e.prototype,t),n&&o(e,n),e};function o(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}n.default=function(e){return new c(e)};var a,i=e("invariant"),s=(a=i)&&a.__esModule?a:{default:a};var u=!1,c=(r(l,[{key:"receiveHandlerId",value:function(e){this.targetId=e}},{key:"canDrop",value:function(){(0,s.default)(!u,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs-drop-target-monitor.html");try{return u=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{u=!1}}},{key:"isOver",value:function(e){return this.internalMonitor.isOverTarget(this.targetId,e)}},{key:"getItemType",value:function(){return this.internalMonitor.getItemType()}},{key:"getItem",value:function(){return this.internalMonitor.getItem()}},{key:"getDropResult",value:function(){return this.internalMonitor.getDropResult()}},{key:"didDrop",value:function(){return this.internalMonitor.didDrop()}},{key:"getInitialClientOffset",value:function(){return this.internalMonitor.getInitialClientOffset()}},{key:"getInitialSourceClientOffset",value:function(){return this.internalMonitor.getInitialSourceClientOffset()}},{key:"getSourceClientOffset",value:function(){return this.internalMonitor.getSourceClientOffset()}},{key:"getClientOffset",value:function(){return this.internalMonitor.getClientOffset()}},{key:"getDifferenceFromInitialOffset",value:function(){return this.internalMonitor.getDifferenceFromInitialOffset()}}]),l);function l(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,l),this.internalMonitor=e.getMonitor()}},{invariant:59}],191:[function(n,e,o){(function(e){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var f=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n,r=arguments[t];for(n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},d="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},h=function(e,t,n){return t&&r(e.prototype,t),n&&r(e,n),e};function r(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}o.default=function(e){var t=e.DecoratedComponent,r=e.createHandler,o=e.createMonitor,a=e.createConnector,i=e.registerHandler,n=e.containerDisplayName,s=e.getType,u=e.collect,c=e.options.arePropsEqual,l=void 0===c?C.default:c,p=t.displayName||t.name||"Component",c=(c=e=function(){function n(e,t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n);t=function(e,t){if(e)return!t||"object"!=typeof t&&"function"!=typeof t?e:t;throw new ReferenceError("this hasn't been initialised - super() hasn't been called")}(this,(n.__proto__||Object.getPrototypeOf(n)).call(this,e,t));return t.handleChange=t.handleChange.bind(t),t.handleChildRef=t.handleChildRef.bind(t),(0,b.default)("object"===d(t.context.dragDropManager),"Could not find the drag and drop manager in the context of %s. Make sure to wrap the top-level component of your app with DragDropContext. Read more: http://react-dnd.github.io/react-dnd/docs-troubleshooting.html#could-not-find-the-drag-and-drop-manager-in-the-context",p,p),t.manager=t.context.dragDropManager,t.handlerMonitor=o(t.manager),t.handlerConnector=a(t.manager.getBackend()),t.handler=r(t.handlerMonitor),t.disposable=new y.SerialDisposable,t.receiveProps(e),t.state=t.getCurrentState(),t.dispose(),t}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(n,g.Component),h(n,[{key:"getHandlerId",value:function(){return this.handlerId}},{key:"getDecoratedComponentInstance",value:function(){return this.decoratedComponentInstance}},{key:"shouldComponentUpdate",value:function(e,t){return!l(e,this.props)||!(0,E.default)(t,this.state)}}]),h(n,[{key:"componentDidMount",value:function(){this.isCurrentlyMounted=!0,this.disposable=new y.SerialDisposable,this.currentType=null,this.receiveProps(this.props),this.handleChange()}},{key:"componentWillReceiveProps",value:function(e){l(e,this.props)||(this.receiveProps(e),this.handleChange())}},{key:"componentWillUnmount",value:function(){this.dispose(),this.isCurrentlyMounted=!1}},{key:"receiveProps",value:function(e){this.handler.receiveProps(e),this.receiveType(s(e))}},{key:"receiveType",value:function(e){var t;e!==this.currentType&&(this.currentType=e,e=(t=i(e,this.handler,this.manager)).handlerId,t=t.unregister,this.handlerId=e,this.handlerMonitor.receiveHandlerId(e),this.handlerConnector.receiveHandlerId(e),e=this.manager.getMonitor().subscribeToStateChange(this.handleChange,{handlerIds:[e]}),this.disposable.setDisposable(new y.CompositeDisposable(new y.Disposable(e),new y.Disposable(t))))}},{key:"handleChange",value:function(){var e;this.isCurrentlyMounted&&(e=this.getCurrentState(),(0,E.default)(e,this.state)||this.setState(e))}},{key:"dispose",value:function(){this.disposable.dispose(),this.handlerConnector.receiveHandlerId(null)}},{key:"handleChildRef",value:function(e){this.decoratedComponentInstance=e,this.handler.receiveComponent(e)}},{key:"getCurrentState",value:function(){var e=u(this.handlerConnector.hooks,this.handlerMonitor);return e}},{key:"render",value:function(){return m.default.createElement(t,f({},this.props,this.state,{ref:O(t)?this.handleChildRef:null}))}}]),n}(),e.DecoratedComponent=t,e.displayName=n+"("+p+")",e.contextTypes={dragDropManager:v.default.object.isRequired},c);return(0,_.default)(c,t)};var g=n("react"),m=t(g),v=t(n("prop-types")),y=n("disposables"),b=(t(n("lodash/isPlainObject")),t(n("invariant"))),_=t(n("hoist-non-react-statics")),E=t(n("./utils/shallowEqual")),C=t(n("./utils/shallowEqualScalar"));function t(e){return e&&e.__esModule?e:{default:e}}var O=function(e){return Boolean(e&&e.prototype&&"function"==typeof e.prototype.render)}}).call(this,n("_process"))},{"./utils/shallowEqual":198,"./utils/shallowEqualScalar":199,_process:162,disposables:16,"hoist-non-react-statics":58,invariant:59,"lodash/isPlainObject":152,"prop-types":167,react:353}],192:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r=e("./DragDropContext");Object.defineProperty(n,"DragDropContext",{enumerable:!0,get:function(){return u(r).default}});var o=e("./DragDropContextProvider");Object.defineProperty(n,"DragDropContextProvider",{enumerable:!0,get:function(){return u(o).default}});var a=e("./DragLayer");Object.defineProperty(n,"DragLayer",{enumerable:!0,get:function(){return u(a).default}});var i=e("./DragSource");Object.defineProperty(n,"DragSource",{enumerable:!0,get:function(){return u(i).default}});var s=e("./DropTarget");function u(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(n,"DropTarget",{enumerable:!0,get:function(){return u(s).default}})},{"./DragDropContext":179,"./DragDropContextProvider":180,"./DragLayer":181,"./DragSource":182,"./DropTarget":183}],193:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t,n){var r=n.getRegistry(),o=r.addSource(e,t);return{handlerId:o,unregister:function(){r.removeSource(o)}}}},{}],194:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t,n){var r=n.getRegistry(),o=r.addTarget(e,t);return{handlerId:o,unregister:function(){r.removeTarget(o)}}}},{}],195:[function(e,t,n){(function(e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t){{}}}).call(this,e("_process"))},{_process:162}],196:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e,t){var n=e.ref;return(0,a.default)("string"!=typeof n,"Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://facebook.github.io/react/docs/more-about-refs.html#the-ref-callback-attribute"),n?(0,i.cloneElement)(e,{ref:function(e){t(e),n&&n(e)}}):(0,i.cloneElement)(e,{ref:t})};var r,o=e("invariant"),a=(r=o)&&r.__esModule?r:{default:r},i=e("react")},{invariant:59,react:353}],197:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n.default=function t(e,n){return"string"==typeof e||"symbol"===(void 0===e?"undefined":r(e))||n&&(0,i.default)(e)&&e.every(function(e){return t(e,!1)})};var o,a=e("lodash/isArray"),i=(o=a)&&o.__esModule?o:{default:o}},{"lodash/isArray":144}],198:[function(e,t,n){arguments[4][178][0].apply(n,arguments)},{dup:178}],199:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var u="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};n.default=function(e,t){if(e===t)return!0;if("object"!==(void 0===e?"undefined":u(e))||null===e||"object"!==(void 0===t?"undefined":u(t))||null===t)return!1;var n=Object.keys(e),r=Object.keys(t);if(n.length!==r.length)return!1;for(var o=Object.prototype.hasOwnProperty,a=0;a<n.length;a+=1){if(!o.call(t,n[a]))return!1;var i=e[n[a]],s=t[n[a]];if(i!==s||"object"===(void 0===i?"undefined":u(i))||"object"===(void 0===s?"undefined":u(s)))return!1}return!0}},{}],200:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(r){var a={};return Object.keys(r).forEach(function(e){var o,t=r[e],n=(o=t,function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:null;if((0,i.isValidElement)(e)){var n=e;!function(e){if("string"==typeof e.type)return;e=e.type.displayName||e.type.name||"the component";throw new Error("Only native element nodes can now be passed to React DnD connectors.You can either wrap "+e+" into a <div>, or turn it into a drag source or a drop target itself.")}(n);var r=t?function(e){return o(e,t)}:o;return(0,s.default)(n,r)}o(e,t)});a[e]=function(){return n}}),a};var r,i=e("react"),o=e("./utils/cloneWithRef"),s=(r=o)&&r.__esModule?r:{default:r}},{"./utils/cloneWithRef":196,react:353}],201:[function(e,t,n){"use strict";t.exports=e("./lib/ReactDOM")},{"./lib/ReactDOM":231}],202:[function(e,t,n){"use strict";t.exports={Properties:{"aria-current":0,"aria-details":0,"aria-disabled":0,"aria-hidden":0,"aria-invalid":0,"aria-keyshortcuts":0,"aria-label":0,"aria-roledescription":0,"aria-autocomplete":0,"aria-checked":0,"aria-expanded":0,"aria-haspopup":0,"aria-level":0,"aria-modal":0,"aria-multiline":0,"aria-multiselectable":0,"aria-orientation":0,"aria-placeholder":0,"aria-pressed":0,"aria-readonly":0,"aria-required":0,"aria-selected":0,"aria-sort":0,"aria-valuemax":0,"aria-valuemin":0,"aria-valuenow":0,"aria-valuetext":0,"aria-atomic":0,"aria-busy":0,"aria-live":0,"aria-relevant":0,"aria-dropeffect":0,"aria-grabbed":0,"aria-activedescendant":0,"aria-colcount":0,"aria-colindex":0,"aria-colspan":0,"aria-controls":0,"aria-describedby":0,"aria-errormessage":0,"aria-flowto":0,"aria-labelledby":0,"aria-owns":0,"aria-posinset":0,"aria-rowcount":0,"aria-rowindex":0,"aria-rowspan":0,"aria-setsize":0},DOMAttributeNames:{},DOMPropertyNames:{}}},{}],203:[function(e,t,n){"use strict";var r=e("./ReactDOMComponentTree"),o=e("fbjs/lib/focusNode"),e={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};t.exports=e},{"./ReactDOMComponentTree":234,"fbjs/lib/focusNode":44}],204:[function(e,t,n){"use strict";var s=e("./EventPropagators"),r=e("fbjs/lib/ExecutionEnvironment"),u=e("./FallbackCompositionState"),c=e("./SyntheticCompositionEvent"),o=e("./SyntheticInputEvent"),a=[9,13,27,32],l=229,p=r.canUseDOM&&"CompositionEvent"in window,e=null;r.canUseDOM&&"documentMode"in document&&(e=document.documentMode);var i,f=r.canUseDOM&&"TextEvent"in window&&!e&&!("object"==typeof(i=window.opera)&&"function"==typeof i.version&&parseInt(i.version(),10)<=12),d=r.canUseDOM&&(!p||e&&8<e&&e<=11);var h=32,g=String.fromCharCode(h),m={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:["topBlur","topCompositionEnd","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:["topBlur","topCompositionStart","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:["topBlur","topCompositionUpdate","topKeyDown","topKeyPress","topKeyUp","topMouseDown"]}},v=!1;function y(e,t){switch(e){case"topKeyUp":return-1!==a.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==l;case"topKeyPress":case"topMouseDown":case"topBlur":return 1;default:return}}function b(e){e=e.detail;return"object"==typeof e&&"data"in e?e.data:null}var _=null;function E(e,t,n,r){var o,a,i;if(p?o=function(e){switch(e){case"topCompositionStart":return m.compositionStart;case"topCompositionEnd":return m.compositionEnd;case"topCompositionUpdate":return m.compositionUpdate}}(e):_?y(e,n)&&(o=m.compositionEnd):(i=n,"topKeyDown"===e&&i.keyCode===l&&(o=m.compositionStart)),!o)return null;d&&(_||o!==m.compositionStart?o===m.compositionEnd&&_&&(a=_.getData()):_=u.getPooled(r));r=c.getPooled(o,t,n,r);return a?r.data=a:null!==(n=b(n))&&(r.data=n),s.accumulateTwoPhaseDispatches(r),r}function C(e,t,n,r){e=(f?function(e,t){switch(e){case"topCompositionEnd":return b(t);case"topKeyPress":return t.which!==h?null:(v=!0,g);case"topTextInput":t=t.data;return t===g&&v?null:t;default:return null}}:function(e,t){if(_){if("topCompositionEnd"===e||!p&&y(e,t)){var n=_.getData();return u.release(_),_=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&(!((e=t).ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey)?String.fromCharCode(t.which):null;case"topCompositionEnd":return d?null:t.data;default:return null}})(e,n);if(!e)return null;r=o.getPooled(m.beforeInput,t,n,r);return r.data=e,s.accumulateTwoPhaseDispatches(r),r}e={eventTypes:m,extractEvents:function(e,t,n,r){return[E(e,t,n,r),C(e,t,n,r)]}};t.exports=e},{"./EventPropagators":220,"./FallbackCompositionState":221,"./SyntheticCompositionEvent":285,"./SyntheticInputEvent":289,"fbjs/lib/ExecutionEnvironment":36}],205:[function(e,t,n){"use strict";var r={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0};var o=["Webkit","ms","Moz","O"];Object.keys(r).forEach(function(t){o.forEach(function(e){r[e+(e=t).charAt(0).toUpperCase()+e.substring(1)]=r[t]})});var a={isUnitlessNumber:r,shorthandPropertyExpansions:{background:{backgroundAttachment:!0,backgroundColor:!0,backgroundImage:!0,backgroundPositionX:!0,backgroundPositionY:!0,backgroundRepeat:!0},backgroundPosition:{backgroundPositionX:!0,backgroundPositionY:!0},border:{borderWidth:!0,borderStyle:!0,borderColor:!0},borderBottom:{borderBottomWidth:!0,borderBottomStyle:!0,borderBottomColor:!0},borderLeft:{borderLeftWidth:!0,borderLeftStyle:!0,borderLeftColor:!0},borderRight:{borderRightWidth:!0,borderRightStyle:!0,borderRightColor:!0},borderTop:{borderTopWidth:!0,borderTopStyle:!0,borderTopColor:!0},font:{fontStyle:!0,fontVariant:!0,fontWeight:!0,fontSize:!0,lineHeight:!0,fontFamily:!0},outline:{outlineWidth:!0,outlineStyle:!0,outlineColor:!0}}};t.exports=a},{}],206:[function(a,s,e){(function(e){"use strict";var u=a("./CSSProperty"),t=a("fbjs/lib/ExecutionEnvironment"),c=(a("./ReactInstrumentation"),a("fbjs/lib/camelizeStyleName"),a("./dangerousStyleValue")),n=a("fbjs/lib/hyphenateStyleName"),r=a("fbjs/lib/memoizeStringOnly"),i=(a("fbjs/lib/warning"),r(function(e){return n(e)})),l=!1,p="cssFloat";if(t.canUseDOM){var o=document.createElement("div").style;try{o.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(p="styleFloat")}t={createMarkupForStyles:function(e,t){var n,r,o,a="";for(n in e){e.hasOwnProperty(n)&&(r=0===n.indexOf("--"),null!=(o=e[n])&&(a+=i(n)+":",a+=c(n,o,t,r)+";"))}return a||null},setValueForStyles:function(e,t,n){var r,o=e.style;for(r in t)if(t.hasOwnProperty(r)){var a=0===r.indexOf("--");0;var i=c(r,t[r],n,a);if("float"!==r&&"cssFloat"!==r||(r=p),a)o.setProperty(r,i);else if(i)o[r]=i;else{i=l&&u.shorthandPropertyExpansions[r];if(i)for(var s in i)o[s]="";else o[r]=""}}}};s.exports=t}).call(this,a("_process"))},{"./CSSProperty":205,"./ReactInstrumentation":263,"./dangerousStyleValue":302,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/camelizeStyleName":38,"fbjs/lib/hyphenateStyleName":49,"fbjs/lib/memoizeStringOnly":53,"fbjs/lib/warning":57}],207:[function(a,i,e){(function(e){"use strict";var o=a("./reactProdInvariant");var t=a("./PooledClass"),n=(a("fbjs/lib/invariant"),r.prototype.enqueue=function(e,t){this._callbacks=this._callbacks||[],this._callbacks.push(e),this._contexts=this._contexts||[],this._contexts.push(t)},r.prototype.notifyAll=function(){var e=this._callbacks,t=this._contexts,n=this._arg;if(e&&t){e.length!==t.length&&o("24"),this._callbacks=null,this._contexts=null;for(var r=0;r<e.length;r++)e[r].call(t[r],n);e.length=0,t.length=0}},r.prototype.checkpoint=function(){return this._callbacks?this._callbacks.length:0},r.prototype.rollback=function(e){this._callbacks&&this._contexts&&(this._callbacks.length=e,this._contexts.length=e)},r.prototype.reset=function(){this._callbacks=null,this._contexts=null},r.prototype.destructor=function(){this.reset()},r);function r(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,r),this._callbacks=null,this._contexts=null,this._arg=e}i.exports=t.addPoolingTo(n)}).call(this,a("_process"))},{"./PooledClass":225,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],208:[function(e,t,n){"use strict";var r=e("./EventPluginHub"),o=e("./EventPropagators"),a=e("fbjs/lib/ExecutionEnvironment"),c=e("./ReactDOMComponentTree"),i=e("./ReactUpdates"),s=e("./SyntheticEvent"),u=e("./inputValueTracking"),l=e("./getEventTarget"),p=e("./isEventSupported"),f=e("./isTextInputElement"),d={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}};function h(e,t,n){n=s.getPooled(d.change,e,t,n);return n.type="change",o.accumulateTwoPhaseDispatches(n),n}var g=null,m=null;var v=!1;function y(e){e=h(m,e,l(e));i.batchedUpdates(b,e)}function b(e){r.enqueueEvents(e),r.processEventQueue(!1)}function _(){g&&(g.detachEvent("onchange",y),m=g=null)}function E(e,t){var n=u.updateValueIfChanged(e),t=!0===t.simulated&&R._allowSimulatedPassThrough;if(n||t)return e}function C(e,t){if("topChange"===e)return t}function O(e,t,n){"topFocus"===e?(_(),m=n,(g=t).attachEvent("onchange",y)):"topBlur"===e&&_()}a.canUseDOM&&(v=p("change")&&(!document.documentMode||8<document.documentMode));var w=!1;function D(){g&&(g.detachEvent("onpropertychange",T),m=g=null)}function T(e){"value"===e.propertyName&&E(m,e)&&y(e)}function S(e,t,n){"topFocus"===e?(D(),m=n,(g=t).attachEvent("onpropertychange",T)):"topBlur"===e&&D()}function P(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return E(m,n)}function x(e,t,n){if("topClick"===e)return E(t,n)}function k(e,t,n){if("topInput"===e||"topChange"===e)return E(t,n)}a.canUseDOM&&(w=p("input")&&(!document.documentMode||9<document.documentMode));var R={eventTypes:d,_allowSimulatedPassThrough:!0,_isInputEventSupported:w,extractEvents:function(e,t,n,r){var o,a,i,s=t?c.getNodeFromInstance(t):window;if("select"===(i=(a=s).nodeName&&a.nodeName.toLowerCase())||"input"===i&&"file"===a.type?v?u=C:o=O:f(s)?w?u=k:(u=P,o=S):!(a=(i=s).nodeName)||"input"!==a.toLowerCase()||"checkbox"!==i.type&&"radio"!==i.type||(u=x),u){var u=u(e,t,n);if(u)return h(u,n,r)}o&&o(e,s,t),"topBlur"===e&&(s=s,null==(t=t)||(t=t._wrapperState||s._wrapperState)&&t.controlled&&"number"===s.type&&(t=""+s.value,s.getAttribute("value")!==t&&s.setAttribute("value",t)))}};t.exports=R},{"./EventPluginHub":217,"./EventPropagators":220,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./SyntheticEvent":287,"./getEventTarget":310,"./inputValueTracking":316,"./isEventSupported":318,"./isTextInputElement":319,"fbjs/lib/ExecutionEnvironment":36}],209:[function(r,o,e){(function(e){"use strict";var s=r("./DOMLazyTree"),t=r("./Danger"),n=(r("./ReactDOMComponentTree"),r("./ReactInstrumentation"),r("./createMicrosoftUnsafeLocalFunction")),u=r("./setInnerHTML"),c=r("./setTextContent");function l(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}var i=n(function(e,t,n){e.insertBefore(t,n)});function p(e,t,n){Array.isArray(t)?function(e,t,n,r){var o=t;for(;;){var a=o.nextSibling;if(i(e,o,r),o===n)break;o=a}}(e,t[0],t[1],n):i(e,t,n)}function f(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}t=t.dangerouslyReplaceNodeWithMarkup;t={dangerouslyReplaceNodeWithMarkup:t,replaceDelimitedText:function(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&i(r,document.createTextNode(n),o):n?(c(o,n),f(r,o,t)):f(r,e,t)},processUpdates:function(e,t){for(var n,r,o,a=0;a<t.length;a++){var i=t[a];switch(i.type){case"INSERT_MARKUP":n=e,r=i.content,o=l(e,i.afterNode),s.insertTreeBefore(n,r,o);break;case"MOVE_EXISTING":p(e,i.fromNode,l(e,i.afterNode));break;case"SET_MARKUP":u(e,i.content);break;case"TEXT_CONTENT":c(e,i.content);break;case"REMOVE_NODE":r=e,o=i.fromNode,i=void 0,Array.isArray(o)&&(i=o[1],f(r,o=o[0],i),r.removeChild(i)),r.removeChild(o)}}}};o.exports=t}).call(this,r("_process"))},{"./DOMLazyTree":210,"./Danger":214,"./ReactDOMComponentTree":234,"./ReactInstrumentation":263,"./createMicrosoftUnsafeLocalFunction":301,"./setInnerHTML":323,"./setTextContent":324,_process:162}],210:[function(e,t,n){"use strict";var r=e("./DOMNamespaces"),o=e("./setInnerHTML"),a=e("./createMicrosoftUnsafeLocalFunction"),i=e("./setTextContent"),s="undefined"!=typeof document&&"number"==typeof document.documentMode||"undefined"!=typeof navigator&&"string"==typeof navigator.userAgent&&/\bEdge\/\d/.test(navigator.userAgent);function u(e){if(s){var t=e.node,n=e.children;if(n.length)for(var r=0;r<n.length;r++)c(t,n[r],null);else null!=e.html?o(t,e.html):null!=e.text&&i(t,e.text)}}var c=a(function(e,t,n){11===t.node.nodeType||1===t.node.nodeType&&"object"===t.node.nodeName.toLowerCase()&&(null==t.node.namespaceURI||t.node.namespaceURI===r.html)?(u(t),e.insertBefore(t.node,n)):(e.insertBefore(t.node,n),u(t))});function l(){return this.node.nodeName}function p(e){return{node:e,children:[],html:null,text:null,toString:l}}p.insertTreeBefore=c,p.replaceChildWithTree=function(e,t){e.parentNode.replaceChild(t.node,e),u(t)},p.queueChild=function(e,t){s?e.children.push(t):e.node.appendChild(t.node)},p.queueHTML=function(e,t){s?e.html=t:o(e.node,t)},p.queueText=function(e,t){s?e.text=t:i(e.node,t)},t.exports=p},{"./DOMNamespaces":211,"./createMicrosoftUnsafeLocalFunction":301,"./setInnerHTML":323,"./setTextContent":324}],211:[function(e,t,n){"use strict";t.exports={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}},{}],212:[function(n,r,e){(function(e){"use strict";var l=n("./reactProdInvariant");n("fbjs/lib/invariant");function p(e,t){return(e&t)===t}var f={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,injectDOMPropertyConfig:function(e){var t,n=f,r=e.Properties||{},o=e.DOMAttributeNamespaces||{},a=e.DOMAttributeNames||{},i=e.DOMPropertyNames||{},s=e.DOMMutationMethods||{};for(t in e.isCustomAttribute&&d._isCustomAttributeFunctions.push(e.isCustomAttribute),r){d.properties.hasOwnProperty(t)&&l("48",t);var u=t.toLowerCase(),c=r[t],u={attributeName:u,attributeNamespace:null,propertyName:t,mutationMethod:null,mustUseProperty:p(c,n.MUST_USE_PROPERTY),hasBooleanValue:p(c,n.HAS_BOOLEAN_VALUE),hasNumericValue:p(c,n.HAS_NUMERIC_VALUE),hasPositiveNumericValue:p(c,n.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:p(c,n.HAS_OVERLOADED_BOOLEAN_VALUE)};u.hasBooleanValue+u.hasNumericValue+u.hasOverloadedBooleanValue<=1||l("50",t),a.hasOwnProperty(t)&&(c=a[t],u.attributeName=c),o.hasOwnProperty(t)&&(u.attributeNamespace=o[t]),i.hasOwnProperty(t)&&(u.propertyName=i[t]),s.hasOwnProperty(t)&&(u.mutationMethod=s[t]),d.properties[t]=u}}},t=":A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",d={ID_ATTRIBUTE_NAME:"data-reactid",ROOT_ATTRIBUTE_NAME:"data-reactroot",ATTRIBUTE_NAME_START_CHAR:t,ATTRIBUTE_NAME_CHAR:t+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<d._isCustomAttributeFunctions.length;t++){if((0,d._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:f};r.exports=d}).call(this,n("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],213:[function(c,l,e){(function(e){"use strict";var i=c("./DOMProperty"),o=(c("./ReactDOMComponentTree"),c("./ReactInstrumentation"),c("./quoteAttributeValueForBrowser")),t=(c("fbjs/lib/warning"),new RegExp("^["+i.ATTRIBUTE_NAME_START_CHAR+"]["+i.ATTRIBUTE_NAME_CHAR+"]*$")),n={},r={};function a(e){return r.hasOwnProperty(e)||!n.hasOwnProperty(e)&&(t.test(e)?r[e]=!0:void(n[e]=!0))}function s(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var u={createMarkupForID:function(e){return i.ID_ATTRIBUTE_NAME+"="+o(e)},setAttributeForID:function(e,t){e.setAttribute(i.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return i.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(i.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=i.properties.hasOwnProperty(e)?i.properties[e]:null;if(n){if(s(n,t))return"";var r=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?r+'=""':r+"="+o(t)}return i.isCustomAttribute(e)?null==t?"":e+"="+o(t):null},createMarkupForCustomAttribute:function(e,t){return a(e)&&null!=t?e+"="+o(t):""},setValueForProperty:function(e,t,n){var r=i.properties.hasOwnProperty(t)?i.properties[t]:null;if(r){var o,a=r.mutationMethod;if(a)a(e,n);else{if(s(r,n))return void this.deleteValueForProperty(e,t);r.mustUseProperty?e[r.propertyName]=n:(o=r.attributeName,(a=r.attributeNamespace)?e.setAttributeNS(a,o,""+n):r.hasBooleanValue||r.hasOverloadedBooleanValue&&!0===n?e.setAttribute(o,""):e.setAttribute(o,""+n))}}else if(i.isCustomAttribute(t))return void u.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){a(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n,r=i.properties.hasOwnProperty(t)?i.properties[t]:null;r?(n=r.mutationMethod)?n(e,void 0):r.mustUseProperty?(n=r.propertyName,r.hasBooleanValue?e[n]=!1:e[n]=""):e.removeAttribute(r.attributeName):i.isCustomAttribute(t)&&e.removeAttribute(t)}};l.exports=u}).call(this,c("_process"))},{"./DOMProperty":212,"./ReactDOMComponentTree":234,"./ReactInstrumentation":263,"./quoteAttributeValueForBrowser":320,_process:162,"fbjs/lib/warning":57}],214:[function(n,u,e){(function(e){"use strict";var r=n("./reactProdInvariant"),o=n("./DOMLazyTree"),a=n("fbjs/lib/ExecutionEnvironment"),i=n("fbjs/lib/createNodesFromMarkup"),s=n("fbjs/lib/emptyFunction"),t=(n("fbjs/lib/invariant"),{dangerouslyReplaceNodeWithMarkup:function(e,t){var n;a.canUseDOM||r("56"),t||r("57"),"HTML"===e.nodeName&&r("58"),"string"==typeof t?(n=i(t,s)[0],e.parentNode.replaceChild(n,e)):o.replaceChildWithTree(e,t)}});u.exports=t}).call(this,n("_process"))},{"./DOMLazyTree":210,"./reactProdInvariant":321,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/createNodesFromMarkup":41,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50}],215:[function(e,t,n){"use strict";t.exports=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"]},{}],216:[function(e,t,n){"use strict";var s=e("./EventPropagators"),u=e("./ReactDOMComponentTree"),c=e("./SyntheticMouseEvent"),l={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},e={eventTypes:l,extractEvents:function(e,t,n,r){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var o;if(i=r.window===r?r:(i=r.ownerDocument)?i.defaultView||i.parentWindow:window,e="topMouseOut"===e?(o=t,(a=n.relatedTarget||n.toElement)?u.getClosestInstanceFromNode(a):null):(o=null,t),o===e)return null;var a=null==o?i:u.getNodeFromInstance(o),t=null==e?i:u.getNodeFromInstance(e),i=c.getPooled(l.mouseLeave,o,n,r);i.type="mouseleave",i.target=a,i.relatedTarget=t;r=c.getPooled(l.mouseEnter,e,n,r);return r.type="mouseenter",r.target=t,r.relatedTarget=a,s.accumulateEnterLeaveDispatches(i,r,o,e),[i,r]}};t.exports=e},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./SyntheticMouseEvent":291}],217:[function(h,g,e){(function(e){"use strict";function t(e,t){e&&(i.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))}function n(e){return t(e,!0)}function r(e){return t(e,!1)}function o(e){return"."+e._rootNodeID}var a=h("./reactProdInvariant"),u=h("./EventPluginRegistry"),i=h("./EventPluginUtils"),s=h("./ReactErrorUtils"),c=h("./accumulateInto"),l=h("./forEachAccumulated"),p=(h("fbjs/lib/invariant"),{}),f=null;var d={injection:{injectEventPluginOrder:u.injectEventPluginOrder,injectEventPluginsByName:u.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n&&a("94",t,typeof n);var r=o(e);(p[t]||(p[t]={}))[r]=n;r=u.registrationNameModules[t];r&&r.didPutListener&&r.didPutListener(e,t,n)},getListener:function(e,t){var n=p[t];if(function(e,t,n){switch(e){case"onClick":case"onClickCapture":case"onDoubleClick":case"onDoubleClickCapture":case"onMouseDown":case"onMouseDownCapture":case"onMouseMove":case"onMouseMoveCapture":case"onMouseUp":case"onMouseUpCapture":return n.disabled&&("button"===(t=t)||"input"===t||"select"===t||"textarea"===t);default:return}}(t,e._currentElement.type,e._currentElement.props))return null;e=o(e);return n&&n[e]},deleteListener:function(e,t){var n=u.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);t=p[t];t&&delete t[o(e)]},deleteAllListeners:function(e){var t,n,r=o(e);for(t in p){p.hasOwnProperty(t)&&p[t][r]&&((n=u.registrationNameModules[t])&&n.willDeleteListener&&n.willDeleteListener(e,t),delete p[t][r])}},extractEvents:function(e,t,n,r){for(var o,a=u.plugins,i=0;i<a.length;i++){var s=a[i];!s||(s=s.extractEvents(e,t,n,r))&&(o=c(o,s))}return o},enqueueEvents:function(e){e&&(f=c(f,e))},processEventQueue:function(e){var t=f;f=null,l(t,e?n:r),f&&a("95"),s.rethrowCaughtError()},__purge:function(){p={}},__getListenerBank:function(){return p}};g.exports=d}).call(this,h("_process"))},{"./EventPluginRegistry":218,"./EventPluginUtils":219,"./ReactErrorUtils":254,"./accumulateInto":298,"./forEachAccumulated":306,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],218:[function(t,n,e){(function(e){"use strict";var a=t("./reactProdInvariant"),i=(t("fbjs/lib/invariant"),null),s={};function o(){if(i)for(var e in s){var t=s[e],n=i.indexOf(e);if(-1<n||a("96",e),!c.plugins[n]){t.extractEvents||a("97",e);var r,o=(c.plugins[n]=t).eventTypes;for(r in o)!function(e,t,n){c.eventNameDispatchConfigs.hasOwnProperty(n)&&a("99",n);var r=(c.eventNameDispatchConfigs[n]=e).phasedRegistrationNames;{if(r){for(var o in r){r.hasOwnProperty(o)&&u(r[o],t,n)}return!0}if(e.registrationName)return u(e.registrationName,t,n),!0}return!1}(o[r],t,r)&&a("98",r,e)}}}function u(e,t,n){c.registrationNameModules[e]&&a("100",e),c.registrationNameModules[e]=t,c.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var c={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){i&&a("101"),i=Array.prototype.slice.call(e),o()},injectEventPluginsByName:function(e){var t,n,r=!1;for(t in e){e.hasOwnProperty(t)&&(n=e[t],s.hasOwnProperty(t)&&s[t]===n||(s[t]&&a("102",t),s[t]=n,r=!0))}r&&o()},getPluginModuleForEvent:function(e){e=e.dispatchConfig;if(e.registrationName)return c.registrationNameModules[e.registrationName]||null;if(void 0!==e.phasedRegistrationNames){var t,n=e.phasedRegistrationNames;for(t in n)if(n.hasOwnProperty(t)){var r=c.registrationNameModules[n[t]];if(r)return r}}return null},_resetEventPlugins:function(){for(var e in i=null,s)s.hasOwnProperty(e)&&delete s[e];c.plugins.length=0;var t,n=c.eventNameDispatchConfigs;for(t in n)n.hasOwnProperty(t)&&delete n[t];var r,o=c.registrationNameModules;for(r in o)o.hasOwnProperty(r)&&delete o[r]}};n.exports=c}).call(this,t("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],219:[function(n,o,e){(function(e){"use strict";var t,a,r=n("./reactProdInvariant"),i=n("./ReactErrorUtils");n("fbjs/lib/invariant"),n("fbjs/lib/warning");function s(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=u.getNodeFromInstance(r),t?i.invokeGuardedCallbackWithCatch(o,n,e):i.invokeGuardedCallback(o,n,e),e.currentTarget=null}var u={isEndish:function(e){return"topMouseUp"===e||"topTouchEnd"===e||"topTouchCancel"===e},isMoveish:function(e){return"topMouseMove"===e||"topTouchMove"===e},isStartish:function(e){return"topMouseDown"===e||"topTouchStart"===e},executeDirectDispatch:function(e){var t=e._dispatchListeners,n=e._dispatchInstances;return Array.isArray(t)&&r("103"),e.currentTarget=t?u.getNodeFromInstance(n):null,t=t?t(e):null,e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,t},executeDispatchesInOrder:function(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(0,Array.isArray(n))for(var o=0;o<n.length&&!e.isPropagationStopped();o++)s(e,t,n[o],r[o]);else n&&s(e,t,n,r);e._dispatchListeners=null,e._dispatchInstances=null},executeDispatchesInOrderStopAtTrue:function(e){var t=function(e){var t=e._dispatchListeners,n=e._dispatchInstances;if(0,Array.isArray(t)){for(var r=0;r<t.length&&!e.isPropagationStopped();r++)if(t[r](e,n[r]))return n[r]}else if(t&&t(e,n))return n;return null}(e);return e._dispatchInstances=null,e._dispatchListeners=null,t},hasDispatches:function(e){return!!e._dispatchListeners},getInstanceFromNode:function(e){return t.getInstanceFromNode(e)},getNodeFromInstance:function(e){return t.getNodeFromInstance(e)},isAncestor:function(e,t){return a.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return a.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return a.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return a.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,o){return a.traverseEnterLeave(e,t,n,r,o)},injection:{injectComponentTree:function(e){t=e},injectTreeTraversal:function(e){a=e}}};o.exports=u}).call(this,n("_process"))},{"./ReactErrorUtils":254,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],220:[function(p,f,e){(function(e){"use strict";var t=p("./EventPluginHub"),o=p("./EventPluginUtils"),a=p("./accumulateInto"),n=p("./forEachAccumulated"),i=(p("fbjs/lib/warning"),t.getListener);function r(e,t,n){var r,t=(r=e,t=t,t=n.dispatchConfig.phasedRegistrationNames[t],i(r,t));t&&(n._dispatchListeners=a(n._dispatchListeners,t),n._dispatchInstances=a(n._dispatchInstances,e))}function s(e){e&&e.dispatchConfig.phasedRegistrationNames&&o.traverseTwoPhase(e._targetInst,r,e)}function u(e){var t;e&&e.dispatchConfig.phasedRegistrationNames&&(t=(t=e._targetInst)?o.getParentInstance(t):null,o.traverseTwoPhase(t,r,e))}function c(e,t,n){var r;n&&n.dispatchConfig.registrationName&&(r=n.dispatchConfig.registrationName,(r=i(e,r))&&(n._dispatchListeners=a(n._dispatchListeners,r),n._dispatchInstances=a(n._dispatchInstances,e)))}function l(e){e&&e.dispatchConfig.registrationName&&c(e._targetInst,0,e)}t={accumulateTwoPhaseDispatches:function(e){n(e,s)},accumulateTwoPhaseDispatchesSkipTarget:function(e){n(e,u)},accumulateDirectDispatches:function(e){n(e,l)},accumulateEnterLeaveDispatches:function(e,t,n,r){o.traverseEnterLeave(n,r,c,e,t)}};f.exports=t}).call(this,p("_process"))},{"./EventPluginHub":217,"./EventPluginUtils":219,"./accumulateInto":298,"./forEachAccumulated":306,_process:162,"fbjs/lib/warning":57}],221:[function(e,t,n){"use strict";var r=e("object-assign"),o=e("./PooledClass"),a=e("./getTextContentAccessor");function i(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}r(i.prototype,{destructor:function(){this._root=null,this._startText=null,this._fallbackText=null},getText:function(){return"value"in this._root?this._root.value:this._root[a()]},getData:function(){if(this._fallbackText)return this._fallbackText;for(var e=this._startText,t=e.length,n=this.getText(),r=n.length,o=0;o<t&&e[o]===n[o];o++);for(var a=t-o,i=1;i<=a&&e[t-i]===n[r-i];i++);var s=1<i?1-i:void 0;return this._fallbackText=n.slice(o,s),this._fallbackText}}),o.addPoolingTo(i),t.exports=i},{"./PooledClass":225,"./getTextContentAccessor":314,"object-assign":161}],222:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=r.injection.MUST_USE_PROPERTY,a=r.injection.HAS_BOOLEAN_VALUE,i=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,e=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,a={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:a,allowTransparency:0,alt:0,as:0,async:a,autoComplete:0,autoPlay:a,capture:a,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|a,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:a,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:a,defer:a,dir:0,disabled:a,download:e,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:a,formTarget:0,frameBorder:0,headers:0,height:0,hidden:a,high:0,href:0,hrefLang:0,htmlFor:0,httpEquiv:0,icon:0,id:0,inputMode:0,integrity:0,is:0,keyParams:0,keyType:0,kind:0,label:0,lang:0,list:0,loop:a,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|a,muted:o|a,name:0,nonce:0,noValidate:a,open:a,optimum:0,pattern:0,placeholder:0,playsInline:a,poster:0,preload:0,profile:0,radioGroup:0,readOnly:a,referrerPolicy:0,rel:0,required:a,reversed:a,role:0,rows:s,rowSpan:i,sandbox:0,scope:0,scoped:a,scrolling:0,seamless:a,selected:o|a,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:i,step:0,style:0,summary:0,tabIndex:0,target:0,title:0,type:0,useMap:0,value:0,width:0,wmode:0,wrap:0,about:0,datatype:0,inlist:0,prefix:0,property:0,resource:0,typeof:0,vocab:0,autoCapitalize:0,autoCorrect:0,autoSave:0,color:0,itemProp:0,itemScope:a,itemType:0,itemID:0,itemRef:0,results:0,security:0,unselectable:0},DOMAttributeNames:{acceptCharset:"accept-charset",className:"class",htmlFor:"for",httpEquiv:"http-equiv"},DOMPropertyNames:{},DOMMutationMethods:{value:function(e,t){if(null==t)return e.removeAttribute("value");("number"!==e.type||!1===e.hasAttribute("value")||e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e)&&e.setAttribute("value",""+t)}}};t.exports=a},{"./DOMProperty":212}],223:[function(e,t,n){"use strict";var r={escape:function(e){var t={"=":"=0",":":"=2"};return"$"+(""+e).replace(/[=:]/g,function(e){return t[e]})},unescape:function(e){var t={"=0":"=","=2":":"};return(""+("."===e[0]&&"$"===e[1]?e.substring(2):e.substring(1))).replace(/(=0|=2)/g,function(e){return t[e]})}};t.exports=r},{}],224:[function(l,p,e){(function(e){"use strict";var t=l("./reactProdInvariant"),a=l("./ReactPropTypesSecret"),n=l("prop-types/factory")(l("react/lib/React").isValidElement),r=(l("fbjs/lib/invariant"),l("fbjs/lib/warning"),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0});function o(e){null!=e.checkedLink&&null!=e.valueLink&&t("87")}function i(e){o(e),null==e.value&&null==e.onChange||t("88")}function s(e){o(e),null==e.checked&&null==e.onChange||t("89")}var u={value:function(e,t,n){return!e[t]||r[e.type]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `value` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultValue`. Otherwise, set either `onChange` or `readOnly`.")},checked:function(e,t,n){return!e[t]||e.onChange||e.readOnly||e.disabled?null:new Error("You provided a `checked` prop to a form field without an `onChange` handler. This will render a read-only field. If the field should be mutable use `defaultChecked`. Otherwise, set either `onChange` or `readOnly`.")},onChange:n.func},c={};n={checkPropTypes:function(e,t,n){for(var r in u){var o;u.hasOwnProperty(r)&&(o=u[r](t,r,e,"prop",null,a)),o instanceof Error&&!(o.message in c)&&(c[o.message]=!0,function(e){if(e){e=e.getName();if(e)return}}(n))}},getValue:function(e){return e.valueLink?(i(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(s(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(i(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(s(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};p.exports=n}).call(this,l("_process"))},{"./ReactPropTypesSecret":271,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"prop-types/factory":164,"react/lib/React":330}],225:[function(a,i,e){(function(e){"use strict";function n(e){e instanceof this||t("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)}var t=a("./reactProdInvariant"),r=(a("fbjs/lib/invariant"),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),o=r,r={addPoolingTo:function(e,t){return e.instancePool=[],e.getPooled=t||o,e.poolSize||(e.poolSize=10),e.release=n,e},oneArgumentPooler:r,twoArgumentPooler:function(e,t){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,e,t),n}return new this(e,t)},threeArgumentPooler:function(e,t,n){if(this.instancePool.length){var r=this.instancePool.pop();return this.call(r,e,t,n),r}return new this(e,t,n)},fourArgumentPooler:function(e,t,n,r){if(this.instancePool.length){var o=this.instancePool.pop();return this.call(o,e,t,n,r),o}return new this(e,t,n,r)}};i.exports=r}).call(this,a("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],226:[function(e,t,n){"use strict";var r,o=e("object-assign"),s=e("./EventPluginRegistry"),a=e("./ReactEventEmitterMixin"),i=e("./ViewportMetrics"),u=e("./getVendorPrefixedEventName"),c=e("./isEventSupported"),l={},p=!1,f=0,d={topAbort:"abort",topAnimationEnd:u("animationend")||"animationend",topAnimationIteration:u("animationiteration")||"animationiteration",topAnimationStart:u("animationstart")||"animationstart",topBlur:"blur",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:u("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},h="_reactListenersID"+String(Math.random()).slice(2);var g=o({},a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(g.handleTopLevel),g.ReactEventListener=e}},setEnabled:function(e){g.ReactEventListener&&g.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!g.ReactEventListener||!g.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=(t=n,Object.prototype.hasOwnProperty.call(t,h)||(t[h]=f++,l[t[h]]={}),l[t[h]]),o=s.registrationNameDependencies[e],a=0;a<o.length;a++){var i=o[a];r.hasOwnProperty(i)&&r[i]||("topWheel"===i?c("wheel")?g.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):c("mousewheel")?g.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):g.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===i?c("scroll",!0)?g.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):g.ReactEventListener.trapBubbledEvent("topScroll","scroll",g.ReactEventListener.WINDOW_HANDLE):"topFocus"===i||"topBlur"===i?(c("focus",!0)?(g.ReactEventListener.trapCapturedEvent("topFocus","focus",n),g.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):c("focusin")&&(g.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),g.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),r.topBlur=!0,r.topFocus=!0):d.hasOwnProperty(i)&&g.ReactEventListener.trapBubbledEvent(i,d[i],n),r[i]=!0)}},trapBubbledEvent:function(e,t,n){return g.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return g.ReactEventListener.trapCapturedEvent(e,t,n)},supportsEventPageXY:function(){if(!document.createEvent)return!1;var e=document.createEvent("MouseEvent");return null!=e&&"pageX"in e},ensureScrollValueMonitoring:function(){var e;void 0===r&&(r=g.supportsEventPageXY()),r||p||(e=i.refreshScrollValues,g.ReactEventListener.monitorScrollValue(e),p=!0)}});t.exports=g},{"./EventPluginRegistry":218,"./ReactEventEmitterMixin":255,"./ViewportMetrics":297,"./getVendorPrefixedEventName":315,"./isEventSupported":318,"object-assign":161}],227:[function(t,n,e){(function(e){"use strict";var d=t("./ReactReconciler"),h=t("./instantiateReactComponent"),g=(t("./KeyEscapeUtils"),t("./shouldUpdateReactComponent")),a=t("./traverseAllChildren");t("fbjs/lib/warning");function i(e,t,n,r){var o=void 0===e[n];null!=t&&o&&(e[n]=h(t,!0))}void 0!==e&&e.env;e={instantiateChildren:function(e,t,n,r){if(null==e)return null;var o={};return a(e,i,o),o},updateChildren:function(e,t,n,r,o,a,i,s,u){if(t||e){var c,l,p,f;for(c in t){t.hasOwnProperty(c)&&(p=(l=e&&e[c])&&l._currentElement,f=t[c],null!=l&&g(p,f)?(d.receiveComponent(l,f,o,s),t[c]=l):(l&&(r[c]=d.getHostNode(l),d.unmountComponent(l,!1)),f=h(f,!0),t[c]=f,f=d.mountComponent(f,o,a,i,s,u),n.push(f)))}for(c in e)!e.hasOwnProperty(c)||t&&t.hasOwnProperty(c)||(l=e[c],r[c]=d.getHostNode(l),d.unmountComponent(l,!1))}},unmountChildren:function(e,t){for(var n in e){var r;e.hasOwnProperty(n)&&(r=e[n],d.unmountComponent(r,t))}}};n.exports=e}).call(this,t("_process"))},{"./KeyEscapeUtils":223,"./ReactReconciler":273,"./instantiateReactComponent":317,"./shouldUpdateReactComponent":325,"./traverseAllChildren":326,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],228:[function(e,t,n){"use strict";var r=e("./DOMChildrenOperations"),r={processChildrenUpdates:e("./ReactDOMIDOperations").dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};t.exports=r},{"./DOMChildrenOperations":209,"./ReactDOMIDOperations":238}],229:[function(o,a,e){(function(e){"use strict";var t=o("./reactProdInvariant"),n=(o("fbjs/lib/invariant"),!1),r={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){n&&t("104"),r.replaceNodeWithMarkup=e.replaceNodeWithMarkup,r.processChildrenUpdates=e.processChildrenUpdates,n=!0}}};a.exports=r}).call(this,o("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],230:[function(a,i,e){(function(e){"use strict";var p=a("./reactProdInvariant"),u=a("object-assign"),f=a("react/lib/React"),r=a("./ReactComponentEnvironment"),t=a("react/lib/ReactCurrentOwner"),o=a("./ReactErrorUtils"),d=a("./ReactInstanceMap"),s=(a("./ReactInstrumentation"),a("./ReactNodeTypes")),c=a("./ReactReconciler"),h=a("fbjs/lib/emptyObject"),l=(a("fbjs/lib/invariant"),a("fbjs/lib/shallowEqual")),g=a("./shouldUpdateReactComponent"),m=(a("fbjs/lib/warning"),0),v=1,y=2;function b(e){}function _(){0}b.prototype.render=function(){var e=d.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return _(),t};var E=1,n={construct:function(e){this._currentElement=e,this._rootNodeID=0,this._compositeType=null,this._instance=null,this._hostParent=null,this._hostContainerInfo=null,this._updateBatchNumber=null,this._pendingElement=null,this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._renderedNodeType=null,this._renderedComponent=null,this._context=null,this._mountOrder=0,this._topLevelWrapper=null,this._pendingCallbacks=null,this._calledComponentWillUnmount=!1},mountComponent:function(e,t,n,r){this._context=r,this._mountOrder=E++,this._hostParent=t,this._hostContainerInfo=n;var o,a=this._currentElement.props,i=this._processContext(r),s=this._currentElement.type,u=e.getUpdateQueue(),c=!(!(l=s).prototype||!l.prototype.isReactComponent),l=this._constructComponent(c,a,i,u);c||null!=l&&null!=l.render?(c=s).prototype&&c.prototype.isPureReactComponent?this._compositeType=v:this._compositeType=m:(_(),null===(o=l)||!1===l||f.isValidElement(l)||p("105",s.displayName||s.name||"Component"),l=new b,this._compositeType=y),l.props=a,l.context=i,l.refs=h,l.updater=u,this._instance=l,d.set(l,this);u=l.state;return void 0===u&&(l.state=u=null),"object"==typeof u&&!Array.isArray(u)||p("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,r=l.unstable_handleError?this.performInitialMountWithErrorHandling(o,t,n,e,r):this.performInitialMount(o,t,n,e,r),l.componentDidMount&&e.getReactMountReady().enqueue(l.componentDidMount,l),r},_constructComponent:function(e,t,n,r){return this._constructComponentWithoutOwner(e,t,n,r)},_constructComponentWithoutOwner:function(e,t,n,r){var o=this._currentElement.type;return e?new o(t,n,r):o(t,n,r)},performInitialMountWithErrorHandling:function(t,n,r,o,a){var i,s=o.checkpoint();try{i=this.performInitialMount(t,n,r,o,a)}catch(e){o.rollback(s),this._instance.unstable_handleError(e),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),s=o.checkpoint(),this._renderedComponent.unmountComponent(!0),o.rollback(s),i=this.performInitialMount(t,n,r,o,a)}return i},performInitialMount:function(e,t,n,r,o){var a=this._instance,i=0;a.componentWillMount&&(a.componentWillMount(),this._pendingStateQueue&&(a.state=this._processPendingState(a.props,a.context))),void 0===e&&(e=this._renderValidatedComponent());a=s.getType(e);this._renderedNodeType=a;a=this._instantiateReactComponent(e,a!==s.EMPTY);return this._renderedComponent=a,c.mountComponent(a,r,t,n,this._processChildContext(o),i)},getHostNode:function(){return c.getHostNode(this._renderedComponent)},unmountComponent:function(e){var t,n;this._renderedComponent&&((t=this._instance).componentWillUnmount&&!t._calledComponentWillUnmount&&(t._calledComponentWillUnmount=!0,e?(n=this.getName()+".componentWillUnmount()",o.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))):t.componentWillUnmount()),this._renderedComponent&&(c.unmountComponent(this._renderedComponent,e),this._renderedNodeType=null,this._renderedComponent=null,this._instance=null),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,this._pendingCallbacks=null,this._pendingElement=null,this._context=null,this._rootNodeID=0,this._topLevelWrapper=null,d.remove(t))},_maskContext:function(e){var t=this._currentElement.type.contextTypes;if(!t)return h;var n,r={};for(n in t)r[n]=e[n];return r},_processContext:function(e){e=this._maskContext(e);return e},_processChildContext:function(e){var t,n=this._currentElement.type,r=this._instance;if(r.getChildContext&&(t=r.getChildContext()),t){for(var o in"object"!=typeof n.childContextTypes&&p("107",this.getName()||"ReactCompositeComponent"),t)o in n.childContextTypes||p("108",this.getName()||"ReactCompositeComponent",o);return u({},e,t)}return e},_checkContextTypes:function(e,t,n){0},receiveComponent:function(e,t,n){var r=this._currentElement,o=this._context;this._pendingElement=null,this.updateComponent(t,r,e,o,n)},performUpdateIfNecessary:function(e){null!=this._pendingElement?c.receiveComponent(this,this._pendingElement,e,this._context):null!==this._pendingStateQueue||this._pendingForceUpdate?this.updateComponent(e,this._currentElement,this._currentElement,this._context,this._context):this._updateBatchNumber=null},updateComponent:function(e,t,n,r,o){var a=this._instance;null==a&&p("136",this.getName()||"ReactCompositeComponent");var i,s=!1;this._context===o?i=a.context:(i=this._processContext(o),s=!0);var u=t.props,c=n.props;t!==n&&(s=!0),s&&a.componentWillReceiveProps&&a.componentWillReceiveProps(c,i);t=this._processPendingState(c,i),s=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?s=a.shouldComponentUpdate(c,t,i):this._compositeType===v&&(s=!l(u,c)||!l(a.state,t))),this._updateBatchNumber=null,s?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,t,i,e,o)):(this._currentElement=n,this._context=o,a.props=c,a.state=t,a.context=i)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,o=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(o&&1===r.length)return r[0];for(var a=u({},o?r[0]:n.state),i=o?1:0;i<r.length;i++){var s=r[i];u(a,"function"==typeof s?s.call(n,a,e,t):s)}return a},_performComponentUpdate:function(e,t,n,r,o,a){var i,s,u,c=this._instance,l=Boolean(c.componentDidUpdate);l&&(i=c.props,s=c.state,u=c.context),c.componentWillUpdate&&c.componentWillUpdate(t,n,r),this._currentElement=e,this._context=a,c.props=t,c.state=n,c.context=r,this._updateRenderedComponent(o,a),l&&o.getReactMountReady().enqueue(c.componentDidUpdate.bind(c,i,s,u),c)},_updateRenderedComponent:function(e,t){var n,r=this._renderedComponent,o=r._currentElement,a=this._renderValidatedComponent(),i=0;g(o,a)?c.receiveComponent(r,a,e,this._processChildContext(t)):(n=c.getHostNode(r),c.unmountComponent(r,!1),o=s.getType(a),this._renderedNodeType=o,o=this._instantiateReactComponent(a,o!==s.EMPTY),this._renderedComponent=o,i=c.mountComponent(o,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),i),this._replaceNodeWithMarkup(n,i,r))},_replaceNodeWithMarkup:function(e,t,n){r.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){var e=this._instance,e=e.render();return e},_renderValidatedComponent:function(){var e;if(this._compositeType!==y){t.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{t.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||f.isValidElement(e)||p("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&p("110");t=t.getPublicInstance();(n.refs===h?n.refs={}:n.refs)[e]=t},detachRef:function(e){delete this.getPublicInstance().refs[e]},getName:function(){var e=this._currentElement.type,t=this._instance&&this._instance.constructor;return e.displayName||t&&t.displayName||e.name||t&&t.name||null},getPublicInstance:function(){var e=this._instance;return this._compositeType===y?null:e},_instantiateReactComponent:null};i.exports=n}).call(this,a("_process"))},{"./ReactComponentEnvironment":229,"./ReactErrorUtils":254,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactNodeTypes":268,"./ReactReconciler":273,"./checkReactTypeSpec":300,"./reactProdInvariant":321,"./shouldUpdateReactComponent":325,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/shallowEqual":56,"fbjs/lib/warning":57,"object-assign":161,"react/lib/React":330,"react/lib/ReactCurrentOwner":334}],231:[function(l,p,e){(function(e){"use strict";var t=l("./ReactDOMComponentTree"),n=l("./ReactDefaultInjection"),r=l("./ReactMount"),o=l("./ReactReconciler"),a=l("./ReactUpdates"),i=l("./ReactVersion"),s=l("./findDOMNode"),u=l("./getHostComponentFromComposite"),c=l("./renderSubtreeIntoContainer");l("fbjs/lib/warning");n.inject();c={findDOMNode:s,render:r.render,unmountComponentAtNode:r.unmountComponentAtNode,version:i,unstable_batchedUpdates:a.batchedUpdates,unstable_renderSubtreeIntoContainer:c};"undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject&&__REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ComponentTree:{getClosestInstanceFromNode:t.getClosestInstanceFromNode,getNodeFromInstance:function(e){return e._renderedComponent&&(e=u(e)),e?t.getNodeFromInstance(e):null}},Mount:r,Reconciler:o}),p.exports=c}).call(this,l("_process"))},{"./ReactDOMComponentTree":234,"./ReactDOMInvalidARIAHook":240,"./ReactDOMNullInputValuePropHook":241,"./ReactDOMUnknownPropertyHook":248,"./ReactDefaultInjection":251,"./ReactInstrumentation":263,"./ReactMount":266,"./ReactReconciler":273,"./ReactUpdates":278,"./ReactVersion":279,"./findDOMNode":304,"./getHostComponentFromComposite":311,"./renderSubtreeIntoContainer":322,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/warning":57}],232:[function($,J,e){(function(e){"use strict";var r=$("./reactProdInvariant"),l=$("object-assign"),c=$("./AutoFocusUtils"),p=$("./CSSPropertyOperations"),f=$("./DOMLazyTree"),d=$("./DOMNamespaces"),h=$("./DOMProperty"),g=$("./DOMPropertyOperations"),o=$("./EventPluginHub"),t=$("./EventPluginRegistry"),a=$("./ReactBrowserEventEmitter"),n=$("./ReactDOMComponentFlags"),m=$("./ReactDOMComponentTree"),v=$("./ReactDOMInput"),y=$("./ReactDOMOption"),b=$("./ReactDOMSelect"),_=$("./ReactDOMTextarea"),i=($("./ReactInstrumentation"),$("./ReactMultiChild")),s=$("./ReactServerRenderingTransaction"),u=($("fbjs/lib/emptyFunction"),$("./escapeTextContentForBrowser")),E=($("fbjs/lib/invariant"),$("./isEventSupported"),$("fbjs/lib/shallowEqual"),$("./inputValueTracking")),C=($("./validateDOMNesting"),$("fbjs/lib/warning"),n),O=o.deleteListener,w=m.getNodeFromInstance,D=a.listenTo,T=t.registrationNameModules,S={string:!0,number:!0},P="style",x={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},k=11;function R(e){if(e){e=e._currentElement._owner||null;if(e){e=e.getName();if(e)return" This DOM node was rendered by `"+e+"`."}}return""}function I(e,t){t&&(q[e._tag]&&(null==t.children&&null==t.dangerouslySetInnerHTML||r("137",e._tag,e._currentElement._owner?" Check the render method of "+e._currentElement._owner.getName()+".":"")),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&r("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||r("61")),null!=t.style&&"object"!=typeof t.style&&r("62",R(e)))}function M(e,t,n,r){var o;r instanceof s||(o=(o=e._hostContainerInfo)._node&&o._node.nodeType===k?o._node:o._ownerDocument,D(t,o),r.getReactMountReady().enqueue(j,{inst:e,registrationName:t,listener:n}))}function j(){o.putListener(this.inst,this.registrationName,this.listener)}function N(){v.postMountWrapper(this)}function A(){_.postMountWrapper(this)}function L(){y.postMountWrapper(this)}var U={topAbort:"abort",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topLoadedData:"loadeddata",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topSeeked:"seeked",topSeeking:"seeking",topStalled:"stalled",topSuspend:"suspend",topTimeUpdate:"timeupdate",topVolumeChange:"volumechange",topWaiting:"waiting"};function F(){E.track(this)}function H(){var e=this;e._rootNodeID||r("63");var t=w(e);switch(t||r("64"),e._tag){case"iframe":case"object":e._wrapperState.listeners=[a.trapBubbledEvent("topLoad","load",t)];break;case"video":case"audio":for(var n in e._wrapperState.listeners=[],U)U.hasOwnProperty(n)&&e._wrapperState.listeners.push(a.trapBubbledEvent(n,U[n],t));break;case"source":e._wrapperState.listeners=[a.trapBubbledEvent("topError","error",t)];break;case"img":e._wrapperState.listeners=[a.trapBubbledEvent("topError","error",t),a.trapBubbledEvent("topLoad","load",t)];break;case"form":e._wrapperState.listeners=[a.trapBubbledEvent("topReset","reset",t),a.trapBubbledEvent("topSubmit","submit",t)];break;case"input":case"select":case"textarea":e._wrapperState.listeners=[a.trapBubbledEvent("topInvalid","invalid",t)]}}function B(){b.postUpdateWrapper(this)}var V={area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0},W={listing:!0,pre:!0,textarea:!0},q=l({menuitem:!0},V),K=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,z={},G={}.hasOwnProperty;function Y(e,t){return 0<=e.indexOf("-")||null!=t.is}var X=1;function Q(e){var t,n=e.type;t=n,G.call(z,t)||(K.test(t)||r("65",t),z[t]=!0),this._currentElement=e,this._tag=n.toLowerCase(),this._namespaceURI=null,this._renderedChildren=null,this._previousStyle=null,this._previousStyleCopy=null,this._hostNode=null,this._hostParent=null,this._rootNodeID=0,this._domID=0,this._hostContainerInfo=null,this._wrapperState=null,this._topLevelWrapper=null,this._flags=0}Q.displayName="ReactDOMComponent",Q.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=X++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o,a,i,s,u=this._currentElement.props;switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":this._wrapperState={listeners:null},e.getReactMountReady().enqueue(H,this);break;case"input":v.mountWrapper(this,u,t),u=v.getHostProps(this,u),e.getReactMountReady().enqueue(F,this),e.getReactMountReady().enqueue(H,this);break;case"option":y.mountWrapper(this,u,t),u=y.getHostProps(this,u);break;case"select":b.mountWrapper(this,u,t),u=b.getHostProps(this,u),e.getReactMountReady().enqueue(H,this);break;case"textarea":_.mountWrapper(this,u,t),u=_.getHostProps(this,u),e.getReactMountReady().enqueue(F,this),e.getReactMountReady().enqueue(H,this)}switch(I(this,u),null!=t?(o=t._namespaceURI,a=t._tag):n._tag&&(o=n._namespaceURI,a=n._tag),(null==o||o===d.svg&&"foreignobject"===a)&&(o=d.html),o===d.html&&("svg"===this._tag?o=d.svg:"math"===this._tag&&(o=d.mathml)),this._namespaceURI=o,s=e.useCreateElement?(i=n._ownerDocument,i=o===d.html?"script"===this._tag?(a=i.createElement("div"),n=this._currentElement.type,a.innerHTML="<"+n+"></"+n+">",a.removeChild(a.firstChild)):u.is?i.createElement(this._currentElement.type,u.is):i.createElement(this._currentElement.type):i.createElementNS(o,this._currentElement.type),m.precacheNode(this,i),this._flags|=C.hasCachedChildNodes,this._hostParent||g.setAttributeForRoot(i),this._updateDOMProperties(null,u,e),i=f(i),this._createInitialChildren(e,u,r,i),i):(i=this._createOpenTagMarkupAndPutListeners(e,u),!(s=this._createContentMarkup(e,u,r))&&V[this._tag]?i+"/>":i+">"+s+"</"+this._currentElement.type+">"),this._tag){case"input":e.getReactMountReady().enqueue(N,this),u.autoFocus&&e.getReactMountReady().enqueue(c.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(A,this),u.autoFocus&&e.getReactMountReady().enqueue(c.focusDOMComponent,this);break;case"select":case"button":u.autoFocus&&e.getReactMountReady().enqueue(c.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(L,this)}return s},_createOpenTagMarkupAndPutListeners:function(e,t){var n,r,o,a="<"+this._currentElement.type;for(n in t){t.hasOwnProperty(n)&&(null!=(r=t[n])&&(T.hasOwnProperty(n)?r&&M(this,n,r,e):(n===P&&(r=r&&(this._previousStyleCopy=l({},t.style)),r=p.createMarkupForStyles(r,this)),(o=null)!=this._tag&&Y(this._tag,t)?x.hasOwnProperty(n)||(o=g.createMarkupForCustomAttribute(n,r)):o=g.createMarkupForProperty(n,r),o&&(a+=" "+o))))}return e.renderToStaticMarkup?a:(this._hostParent||(a+=" "+g.createMarkupForRoot()),a+=" "+g.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;return null!=o?null!=o.__html&&(r=o.__html):(t=null!=(o=S[typeof t.children]?t.children:null)?null:t.children,null!=o?r=u(o):null!=t&&(r=this.mountChildren(t,e,n).join(""))),W[this._tag]&&"\n"===r.charAt(0)?"\n"+r:r},_createInitialChildren:function(e,t,n,r){var o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&f.queueHTML(r,o.__html);else{o=S[typeof t.children]?t.children:null,t=null!=o?null:t.children;if(null!=o)""!==o&&f.queueText(r,o);else if(null!=t)for(var a=this.mountChildren(t,e,n),i=0;i<a.length;i++)f.queueChild(r,a[i])}},receiveComponent:function(e,t,n){var r=this._currentElement;this._currentElement=e,this.updateComponent(t,r,e,n)},updateComponent:function(e,t,n,r){var o=t.props,t=this._currentElement.props;switch(this._tag){case"input":o=v.getHostProps(this,o),t=v.getHostProps(this,t);break;case"option":o=y.getHostProps(this,o),t=y.getHostProps(this,t);break;case"select":o=b.getHostProps(this,o),t=b.getHostProps(this,t);break;case"textarea":o=_.getHostProps(this,o),t=_.getHostProps(this,t)}switch(I(this,t),this._updateDOMProperties(o,t,e),this._updateDOMChildren(o,t,e,r),this._tag){case"input":v.updateWrapper(this),E.updateValueIfChanged(this);break;case"textarea":_.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(B,this)}},_updateDOMProperties:function(e,t,n){var r,o,a;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if(r===P){var i=this._previousStyleCopy;for(o in i)i.hasOwnProperty(o)&&((a=a||{})[o]="");this._previousStyleCopy=null}else T.hasOwnProperty(r)?e[r]&&O(this,r):Y(this._tag,e)?x.hasOwnProperty(r)||g.deleteValueForAttribute(w(this),r):(h.properties[r]||h.isCustomAttribute(r))&&g.deleteValueForProperty(w(this),r);for(r in t){var s,u=t[r],c=r===P?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&u!==c&&(null!=u||null!=c))if(r===P)if(u?u=this._previousStyleCopy=l({},u):this._previousStyleCopy=null,c){for(o in c)!c.hasOwnProperty(o)||u&&u.hasOwnProperty(o)||((a=a||{})[o]="");for(o in u)u.hasOwnProperty(o)&&c[o]!==u[o]&&((a=a||{})[o]=u[o])}else a=u;else T.hasOwnProperty(r)?u?M(this,r,u,n):c&&O(this,r):Y(this._tag,t)?x.hasOwnProperty(r)||g.setValueForAttribute(w(this),r,u):(h.properties[r]||h.isCustomAttribute(r))&&(s=w(this),null!=u?g.setValueForProperty(s,r,u):g.deleteValueForProperty(s,r))}a&&p.setValueForStyles(w(this),a,this)},_updateDOMChildren:function(e,t,n,r){var o=S[typeof e.children]?e.children:null,a=S[typeof t.children]?t.children:null,i=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,c=null!=a?null:t.children,e=null!=o||null!=i,t=null!=a||null!=s;null!=u&&null==c?this.updateChildren(null,n,r):e&&!t&&this.updateTextContent(""),null!=a?o!==a&&this.updateTextContent(""+a):null!=s?i!==s&&this.updateMarkup(""+s):null!=c&&this.updateChildren(c,n,r)},getHostNode:function(){return w(this)},unmountComponent:function(e){switch(this._tag){case"audio":case"form":case"iframe":case"img":case"link":case"object":case"source":case"video":var t=this._wrapperState.listeners;if(t)for(var n=0;n<t.length;n++)t[n].remove();break;case"input":case"textarea":E.stopTracking(this);break;case"html":case"head":case"body":r("66",this._tag)}this.unmountChildren(e),m.uncacheNode(this),o.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return w(this)}},l(Q.prototype,Q.Mixin,i.Mixin),J.exports=Q}).call(this,$("_process"))},{"./AutoFocusUtils":203,"./CSSPropertyOperations":206,"./DOMLazyTree":210,"./DOMNamespaces":211,"./DOMProperty":212,"./DOMPropertyOperations":213,"./EventPluginHub":217,"./EventPluginRegistry":218,"./ReactBrowserEventEmitter":226,"./ReactDOMComponentFlags":233,"./ReactDOMComponentTree":234,"./ReactDOMInput":239,"./ReactDOMOption":242,"./ReactDOMSelect":243,"./ReactDOMTextarea":246,"./ReactInstrumentation":263,"./ReactMultiChild":267,"./ReactServerRenderingTransaction":275,"./escapeTextContentForBrowser":303,"./inputValueTracking":316,"./isEventSupported":318,"./reactProdInvariant":321,"./validateDOMNesting":327,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50,"fbjs/lib/shallowEqual":56,"fbjs/lib/warning":57,"object-assign":161}],233:[function(e,t,n){"use strict";t.exports={hasCachedChildNodes:1}},{}],234:[function(i,s,e){(function(e){"use strict";var c=i("./reactProdInvariant"),t=i("./DOMProperty"),n=i("./ReactDOMComponentFlags"),l=(i("fbjs/lib/invariant"),t.ID_ATTRIBUTE_NAME),p=n,o="__reactInternalInstance$"+Math.random().toString(36).slice(2);function f(e){for(var t;t=e._renderedComponent;)e=t;return e}function d(e,t){e=f(e);(e._hostNode=t)[o]=e}function a(e,t){if(!(e._flags&p.hasCachedChildNodes)){var n,r,o=e._renderedChildren,a=t.firstChild;e:for(var i in o)if(o.hasOwnProperty(i)){var s=o[i],u=f(s)._domID;if(0!==u){for(;null!==a;a=a.nextSibling)if(r=u,1===(n=a).nodeType&&n.getAttribute(l)===String(r)||8===n.nodeType&&n.nodeValue===" react-text: "+r+" "||8===n.nodeType&&n.nodeValue===" react-empty: "+r+" "){d(s,a);continue e}c("32",u)}}e._flags|=p.hasCachedChildNodes}}function r(e){if(e[o])return e[o];for(var t,n,r=[];!e[o];){if(r.push(e),!e.parentNode)return null;e=e.parentNode}for(;e&&(n=e[o]);e=r.pop())t=n,r.length&&a(n,e);return t}n={getClosestInstanceFromNode:r,getInstanceFromNode:function(e){var t=r(e);return null!=t&&t._hostNode===e?t:null},getNodeFromInstance:function(e){if(void 0===e._hostNode&&c("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||c("34"),e=e._hostParent;for(;t.length;e=t.pop())a(e,e._hostNode);return e._hostNode},precacheChildNodes:a,precacheNode:d,uncacheNode:function(e){var t=e._hostNode;t&&(delete t[o],e._hostNode=null)}};s.exports=n}).call(this,i("_process"))},{"./DOMProperty":212,"./ReactDOMComponentFlags":233,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],235:[function(t,n,e){(function(e){"use strict";t("./validateDOMNesting");n.exports=function(e,t){return t={_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?9===t.nodeType?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null}}}).call(this,t("_process"))},{"./validateDOMNesting":327,_process:162}],236:[function(e,t,n){"use strict";var r=e("object-assign"),a=e("./DOMLazyTree"),i=e("./ReactDOMComponentTree"),e=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(e.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++;this._domID=o,this._hostParent=t,this._hostContainerInfo=n;t=" react-empty: "+this._domID+" ";if(e.useCreateElement){n=n._ownerDocument.createComment(t);return i.precacheNode(this,n),a(n)}return e.renderToStaticMarkup?"":"\x3c!--"+t+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),t.exports=e},{"./DOMLazyTree":210,"./ReactDOMComponentTree":234,"object-assign":161}],237:[function(e,t,n){"use strict";t.exports={useCreateElement:!0,useFiber:!1}},{}],238:[function(e,t,n){"use strict";var r=e("./DOMChildrenOperations"),o=e("./ReactDOMComponentTree"),e={dangerouslyProcessChildrenUpdates:function(e,t){e=o.getNodeFromInstance(e);r.processUpdates(e,t)}};t.exports=e},{"./DOMChildrenOperations":209,"./ReactDOMComponentTree":234}],239:[function(n,i,e){(function(e){"use strict";var u=n("./reactProdInvariant"),o=n("object-assign"),a=n("./DOMPropertyOperations"),c=n("./LinkedValueUtils"),l=n("./ReactDOMComponentTree"),p=n("./ReactUpdates");n("fbjs/lib/invariant"),n("fbjs/lib/warning");function f(){this._rootNodeID&&t.updateWrapper(this)}function r(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}var t={getHostProps:function(e,t){var n=c.getValue(t),r=c.getChecked(t);return o({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=r?r:e._wrapperState.initialChecked,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,listeners:null,onChange:function(e){var t=this._currentElement.props,n=c.executeOnChange(t,e);p.asap(f,this);e=t.name;if("radio"===t.type&&null!=e){for(var r=l.getNodeFromInstance(this),o=r;o.parentNode;)o=o.parentNode;for(var a=o.querySelectorAll("input[name="+JSON.stringify(""+e)+'][type="radio"]'),i=0;i<a.length;i++){var s=a[i];s!==r&&s.form===r.form&&((s=l.getInstanceFromNode(s))||u("90"),p.asap(f,s))}}return n}.bind(e),controlled:r(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&a.setValueForProperty(l.getNodeFromInstance(e),"checked",n||!1);var r=l.getNodeFromInstance(e),n=c.getValue(t);null!=n?0===n&&""===r.value?r.value="0":"number"===t.type?(n!=(e=parseFloat(r.value,10)||0)||n==e&&r.value!=n)&&(r.value=""+n):r.value!==""+n&&(r.value=""+n):(null==t.value&&null!=t.defaultValue&&r.defaultValue!==""+t.defaultValue&&(r.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(r.defaultChecked=!!t.defaultChecked))},postMountWrapper:function(e){var t=e._currentElement.props,e=l.getNodeFromInstance(e);switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}t=e.name;""!==t&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}};i.exports=t}).call(this,n("_process"))},{"./DOMPropertyOperations":213,"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161}],240:[function(r,o,e){(function(e){"use strict";var t=r("./DOMProperty");r("react/lib/ReactComponentTreeHook"),r("fbjs/lib/warning"),new RegExp("^(aria)-["+t.ATTRIBUTE_NAME_CHAR+"]*$");var n={onBeforeMountComponent:function(e,t){0},onBeforeUpdateComponent:function(e,t){0}};o.exports=n}).call(this,r("_process"))},{"./DOMProperty":212,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],241:[function(o,a,e){(function(e){"use strict";o("react/lib/ReactComponentTreeHook"),o("fbjs/lib/warning");var n=!1;function r(e,t){null!=t&&("input"!==t.type&&"textarea"!==t.type&&"select"!==t.type||null==t.props||null!==t.props.value||n||(n=!0))}var t={onBeforeMountComponent:function(e,t){r(0,t)},onBeforeUpdateComponent:function(e,t){r(0,t)}};a.exports=t}).call(this,o("_process"))},{_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],242:[function(a,i,e){(function(e){"use strict";var r=a("object-assign"),n=a("react/lib/React"),o=a("./ReactDOMComponentTree"),s=a("./ReactDOMSelect");a("fbjs/lib/warning");function u(e){var t="";return n.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:0)}),t}var t={mountWrapper:function(e,t,n){var r=null;null!=n&&("optgroup"===(n=n)._tag&&(n=n._hostParent),null!=n&&"select"===n._tag&&(r=s.getSelectValueContext(n)));var o=null;if(null!=r){var a=null!=t.value?t.value+"":u(t.children),o=!1;if(Array.isArray(r)){for(var i=0;i<r.length;i++)if(""+r[i]===a){o=!0;break}}else o=""+r===a}e._wrapperState={selected:o}},postMountWrapper:function(e){var t=e._currentElement.props;null!=t.value&&o.getNodeFromInstance(e).setAttribute("value",t.value)},getHostProps:function(e,t){var n=r({selected:void 0,children:void 0},t);null!=e._wrapperState.selected&&(n.selected=e._wrapperState.selected);t=u(t.children);return t&&(n.children=t),n}};i.exports=t}).call(this,a("_process"))},{"./ReactDOMComponentTree":234,"./ReactDOMSelect":243,_process:162,"fbjs/lib/warning":57,"object-assign":161,"react/lib/React":330}],243:[function(c,l,e){(function(e){"use strict";var n=c("object-assign"),o=c("./LinkedValueUtils"),s=c("./ReactDOMComponentTree"),r=c("./ReactUpdates"),a=(c("fbjs/lib/warning"),!1);function i(){var e,t;this._rootNodeID&&this._wrapperState.pendingUpdate&&(this._wrapperState.pendingUpdate=!1,e=this._currentElement.props,null!=(t=o.getValue(e))&&u(this,Boolean(e.multiple),t))}function u(e,t,n){var r,o,a=s.getNodeFromInstance(e).options;if(t){for(r={},o=0;o<n.length;o++)r[""+n[o]]=!0;for(o=0;o<a.length;o++){var i=r.hasOwnProperty(a[o].value);a[o].selected!==i&&(a[o].selected=i)}}else{for(r=""+n,o=0;o<a.length;o++)if(a[o].value===r)return void(a[o].selected=!0);a.length&&(a[0].selected=!0)}}var t={getHostProps:function(e,t){return n({},t,{onChange:e._wrapperState.onChange,value:void 0})},mountWrapper:function(e,t){var n=o.getValue(t);e._wrapperState={pendingUpdate:!1,initialValue:null!=n?n:t.defaultValue,listeners:null,onChange:function(e){var t=this._currentElement.props,e=o.executeOnChange(t,e);this._rootNodeID&&(this._wrapperState.pendingUpdate=!0);return r.asap(i,this),e}.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||a||(a=!0)},getSelectValueContext:function(e){return e._wrapperState.initialValue},postUpdateWrapper:function(e){var t=e._currentElement.props;e._wrapperState.initialValue=void 0;var n=e._wrapperState.wasMultiple;e._wrapperState.wasMultiple=Boolean(t.multiple);var r=o.getValue(t);null!=r?(e._wrapperState.pendingUpdate=!1,u(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?u(e,Boolean(t.multiple),t.defaultValue):u(e,Boolean(t.multiple),t.multiple?[]:""))}};l.exports=t}).call(this,c("_process"))},{"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,_process:162,"fbjs/lib/warning":57,"object-assign":161}],244:[function(e,t,n){"use strict";var r=e("fbjs/lib/ExecutionEnvironment"),i=e("./getNodeForCharacterOffset"),s=e("./getTextContentAccessor");function u(e,t,n,r){return e===n&&t===r}r=r.canUseDOM&&"selection"in document&&!("getSelection"in window),r={getOffsets:r?function(e){var t=document.selection.createRange(),n=t.text.length,r=t.duplicate();return r.moveToElementText(e),r.setEndPoint("EndToStart",t),{start:r=r.text.length,end:r+n}}:function(e){var t=window.getSelection&&window.getSelection();if(!t||0===t.rangeCount)return null;var n=t.anchorNode,r=t.anchorOffset,o=t.focusNode,a=t.focusOffset,i=t.getRangeAt(0);try{i.startContainer.nodeType,i.endContainer.nodeType}catch(e){return null}var s=u(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset)?0:i.toString().length;return(t=i.cloneRange()).selectNodeContents(e),t.setEnd(i.startContainer,i.startOffset),t=(e=u(t.startContainer,t.startOffset,t.endContainer,t.endOffset)?0:t.toString().length)+s,(s=document.createRange()).setStart(n,r),s.setEnd(o,a),{start:(s=s.collapsed)?t:e,end:s?e:t}},setOffsets:r?function(e,t){var n,r=document.selection.createRange().duplicate(),t=void 0===t.end?n=t.start:t.start>t.end?(n=t.end,t.start):(n=t.start,t.end);r.moveToElementText(e),r.moveStart("character",n),r.setEndPoint("EndToStart",r),r.moveEnd("character",t-n),r.select()}:function(e,t){var n,r,o,a;window.getSelection&&(n=window.getSelection(),o=e[s()].length,r=Math.min(t.start,o),t=void 0===t.end?r:Math.min(t.end,o),!n.extend&&t<r&&(a=t,t=r,r=a),o=i(e,r),a=i(e,t),o&&a&&((e=document.createRange()).setStart(o.node,o.offset),n.removeAllRanges(),t<r?(n.addRange(e),n.extend(a.node,a.offset)):(e.setEnd(a.node,a.offset),n.addRange(e))))}};t.exports=r},{"./getNodeForCharacterOffset":313,"./getTextContentAccessor":314,"fbjs/lib/ExecutionEnvironment":36}],245:[function(a,i,e){(function(e){"use strict";function t(e){this._currentElement=e,this._stringText=""+e,this._hostNode=null,this._hostParent=null,this._domID=0,this._mountIndex=0,this._closingComment=null,this._commentNodes=null}var n=a("./reactProdInvariant"),r=a("object-assign"),o=a("./DOMChildrenOperations"),u=a("./DOMLazyTree"),c=a("./ReactDOMComponentTree"),l=a("./escapeTextContentForBrowser");a("fbjs/lib/invariant"),a("./validateDOMNesting");r(t.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,a=" react-text: "+o+" ",i=" /react-text ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var o=n._ownerDocument,t=o.createComment(a),n=o.createComment(i),s=u(o.createDocumentFragment());return u.queueChild(s,u(t)),this._stringText&&u.queueChild(s,u(o.createTextNode(this._stringText))),u.queueChild(s,u(n)),c.precacheNode(this,t),this._closingComment=n,s}s=l(this._stringText);return e.renderToStaticMarkup?s:"\x3c!--"+a+"--\x3e"+s+"\x3c!--"+i+"--\x3e"},receiveComponent:function(e,t){var n;e===this._currentElement||(n=""+(this._currentElement=e))!==this._stringText&&(this._stringText=n,e=this.getHostNode(),o.replaceDelimitedText(e[0],e[1],n))},getHostNode:function(){var e=this._commentNodes;if(e)return e;if(!this._closingComment)for(var t=c.getNodeFromInstance(this).nextSibling;;){if(null==t&&n("67",this._domID),8===t.nodeType&&" /react-text "===t.nodeValue){this._closingComment=t;break}t=t.nextSibling}return e=[this._hostNode,this._closingComment],this._commentNodes=e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,c.uncacheNode(this)}}),i.exports=t}).call(this,a("_process"))},{"./DOMChildrenOperations":209,"./DOMLazyTree":210,"./ReactDOMComponentTree":234,"./escapeTextContentForBrowser":303,"./reactProdInvariant":321,"./validateDOMNesting":327,_process:162,"fbjs/lib/invariant":50,"object-assign":161}],246:[function(u,c,e){(function(e){"use strict";var o=u("./reactProdInvariant"),n=u("object-assign"),a=u("./LinkedValueUtils"),r=u("./ReactDOMComponentTree"),i=u("./ReactUpdates");u("fbjs/lib/invariant"),u("fbjs/lib/warning");function s(){this._rootNodeID&&t.updateWrapper(this)}var t={getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&o("91"),n({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=a.getValue(t),r=n;null==n&&(n=t.defaultValue,null!=(t=t.children)&&(null!=n&&o("92"),Array.isArray(t)&&(t.length<=1||o("93"),t=t[0]),n=""+t),null==n&&(n=""),r=n),e._wrapperState={initialValue:""+r,listeners:null,onChange:function(e){var t=this._currentElement.props,e=a.executeOnChange(t,e);return i.asap(s,this),e}.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=r.getNodeFromInstance(e),e=a.getValue(t);null!=e&&((e=""+e)!==n.value&&(n.value=e),null==t.defaultValue&&(n.defaultValue=e)),null!=t.defaultValue&&(n.defaultValue=t.defaultValue)},postMountWrapper:function(e){var t=r.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}};c.exports=t}).call(this,u("_process"))},{"./LinkedValueUtils":224,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161}],247:[function(t,n,e){(function(e){"use strict";var s=t("./reactProdInvariant");t("fbjs/lib/invariant");function c(e,t){"_hostNode"in e||s("33"),"_hostNode"in t||s("33");for(var n=0,r=e;r;r=r._hostParent)n++;for(var o=0,a=t;a;a=a._hostParent)o++;for(;0<n-o;)e=e._hostParent,n--;for(;0<o-n;)t=t._hostParent,o--;for(var i=n;i--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}n.exports={isAncestor:function(e,t){"_hostNode"in e||s("35"),"_hostNode"in t||s("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1},getLowestCommonAncestor:c,getParentInstance:function(e){return"_hostNode"in e||s("36"),e._hostParent},traverseTwoPhase:function(e,t,n){for(var r,o=[];e;)o.push(e),e=e._hostParent;for(r=o.length;0<r--;)t(o[r],"captured",n);for(r=0;r<o.length;r++)t(o[r],"bubbled",n)},traverseEnterLeave:function(e,t,n,r,o){for(var a=e&&t?c(e,t):null,i=[];e&&e!==a;)i.push(e),e=e._hostParent;for(var s,u=[];t&&t!==a;)u.push(t),t=t._hostParent;for(s=0;s<i.length;s++)n(i[s],"bubbled",r);for(s=u.length;0<s--;)n(u[s],"captured",o)}}}).call(this,t("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],248:[function(r,a,e){(function(e){"use strict";var o;r("./DOMProperty"),r("./EventPluginRegistry"),r("react/lib/ReactComponentTreeHook"),r("fbjs/lib/warning");function n(e,t){null!=t&&"string"==typeof t.type&&(0<=t.type.indexOf("-")||t.props.is||function(e,t){var n,r=[];for(n in t.props){o(t.type,n,e)||r.push(n)}r.map(function(e){return"`"+e+"`"}).join(", ");1===r.length||r.length}(e,t))}var t={onBeforeMountComponent:function(e,t){n(e,t)},onBeforeUpdateComponent:function(e,t){n(e,t)}};a.exports=t}).call(this,r("_process"))},{"./DOMProperty":212,"./EventPluginRegistry":218,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],249:[function(x,k,e){(function(e){"use strict";var t=x("./ReactInvalidSetStateWarningHook"),o=x("./ReactHostOperationHistoryHook"),a=x("react/lib/ReactComponentTreeHook"),n=x("fbjs/lib/ExecutionEnvironment"),i=x("fbjs/lib/performanceNow"),c=(x("fbjs/lib/warning"),[]),l={};function s(e,t,n,r,o,a){for(var i=0;i<c.length;i++){var s=c[i],u=s[e];u&&function(t,e,n,r,o,a,i,s){try{e.call(n,r,o,a,i,s)}catch(e){l[t]=!0}}(e,u,s,t,n,r,o,a)}}var u=!1,p=[],f=[],d=0,h=[],g=0,m=null,v=0,y=0,b=null,_=!1;function E(){a.purgeUnmountedComponents(),o.clearHistory()}function C(){var e,t=g,n=h,r=o.getHistory();if(0===d)return g=0,h=[],void E();(n.length||r.length)&&(e=a.getRegisteredIDs(),p.push({duration:i()-t,measurements:n||[],operations:r||[],treeSnapshot:e.reduce(function(e,t){var n=a.getOwnerID(t),r=a.getParentID(t);return e[t]={displayName:a.getDisplayName(t),text:a.getText(t),updateCount:a.getUpdateCount(t),childIDs:a.getChildIDs(t),ownerID:n||r&&a.getOwnerID(r)||0,parentID:r},e},{})})),E(),g=i(),h=[]}function r(e){}var O=0,w="undefined"!=typeof performance&&"function"==typeof performance.mark&&"function"==typeof performance.clearMarks&&"function"==typeof performance.measure&&"function"==typeof performance.clearMeasures;function D(e){if(u&&w){e=a.getElement(e);if(null!=e&&"object"==typeof e)if(!("string"==typeof e.type))return 1}}function T(e,t){D(e)&&(t=e+"::"+t,O=i(),performance.mark(t))}function S(e,t){var n,r;D(e)&&(n=e+"::"+t,e=a.getDisplayName(e)||"Unknown",.1<i()-O&&(r=e+" ["+t+"]",performance.measure(r,n)),performance.clearMarks(n),r&&performance.clearMeasures(r))}var P={addHook:function(e){c.push(e)},removeHook:function(e){for(var t=0;t<c.length;t++)c[t]===e&&(c.splice(t,1),t--)},isProfiling:function(){return u},beginProfiling:function(){u||(u=!0,p.length=0,C(),P.addHook(o))},endProfiling:function(){u&&(u=!1,C(),P.removeHook(o))},getFlushHistory:function(){return p},onBeginFlush:function(){var e;d++,C(),e={startTime:v,nestedFlushStartTime:i(),debugID:m,timerType:b},f.push(e),y=v=0,b=m=null,s("onBeginFlush")},onEndFlush:function(){var e,t,n,r;C(),d--,e=(r=f.pop()).startTime,t=r.nestedFlushStartTime,n=r.debugID,r=r.timerType,t=i()-t,v=e,y+=t,m=n,b=r,s("onEndFlush")},onBeginLifeCycleTimer:function(e,t){s("onBeginLifeCycleTimer",e,t),T(e,t),e=e,t=t,0!==d&&(b&&!_&&(_=!0),v=i(),y=0,m=e,b=t)},onEndLifeCycleTimer:function(e,t){var n,r;n=e,r=t,0!==d&&(b===r||_||(_=!0),u&&h.push({timerType:r,instanceID:n,duration:i()-v-y}),y=v=0,b=m=null),S(e,t),s("onEndLifeCycleTimer",e,t)},onBeginProcessingChildContext:function(){s("onBeginProcessingChildContext")},onEndProcessingChildContext:function(){s("onEndProcessingChildContext")},onHostOperation:function(e){e.instanceID,s("onHostOperation",e)},onSetState:function(){s("onSetState")},onSetChildren:function(e,t){t.forEach(r),s("onSetChildren",e,t)},onBeforeMountComponent:function(e,t,n){s("onBeforeMountComponent",e,t,n),T(e,"mount")},onMountComponent:function(e){S(e,"mount"),s("onMountComponent",e)},onBeforeUpdateComponent:function(e,t){s("onBeforeUpdateComponent",e,t),T(e,"update")},onUpdateComponent:function(e){S(e,"update"),s("onUpdateComponent",e)},onBeforeUnmountComponent:function(e){s("onBeforeUnmountComponent",e),T(e,"unmount")},onUnmountComponent:function(e){S(e,"unmount"),s("onUnmountComponent",e)},onTestEvent:function(){s("onTestEvent")}};P.addDevtool=P.addHook,P.removeDevtool=P.removeHook,P.addHook(t),P.addHook(a);n=n.canUseDOM&&window.location.href||"";/[?&]react_perf\b/.test(n)&&P.beginProfiling(),k.exports=P}).call(this,x("_process"))},{"./ReactHostOperationHistoryHook":259,"./ReactInvalidSetStateWarningHook":264,_process:162,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/performanceNow":55,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],250:[function(e,t,n){"use strict";var r=e("object-assign"),o=e("./ReactUpdates"),a=e("./Transaction"),i=e("fbjs/lib/emptyFunction"),e={initialize:i,close:function(){l.isBatchingUpdates=!1}},s=[{initialize:i,close:o.flushBatchedUpdates.bind(o)},e];function u(){this.reinitializeTransaction()}r(u.prototype,a,{getTransactionWrappers:function(){return s}});var c=new u,l={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,a){var i=l.isBatchingUpdates;return l.isBatchingUpdates=!0,i?e(t,n,r,o,a):c.perform(e,null,t,n,r,o,a)}};t.exports=l},{"./ReactUpdates":278,"./Transaction":296,"fbjs/lib/emptyFunction":42,"object-assign":161}],251:[function(e,t,n){"use strict";var r=e("./ARIADOMPropertyConfig"),o=e("./BeforeInputEventPlugin"),a=e("./ChangeEventPlugin"),i=e("./DefaultEventPluginOrder"),s=e("./EnterLeaveEventPlugin"),u=e("./HTMLDOMPropertyConfig"),c=e("./ReactComponentBrowserEnvironment"),l=e("./ReactDOMComponent"),p=e("./ReactDOMComponentTree"),f=e("./ReactDOMEmptyComponent"),d=e("./ReactDOMTreeTraversal"),h=e("./ReactDOMTextComponent"),g=e("./ReactDefaultBatchingStrategy"),m=e("./ReactEventListener"),v=e("./ReactInjection"),y=e("./ReactReconcileTransaction"),b=e("./SVGDOMPropertyConfig"),_=e("./SelectEventPlugin"),E=e("./SimpleEventPlugin"),C=!1;t.exports={inject:function(){C||(C=!0,v.EventEmitter.injectReactEventListener(m),v.EventPluginHub.injectEventPluginOrder(i),v.EventPluginUtils.injectComponentTree(p),v.EventPluginUtils.injectTreeTraversal(d),v.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:s,ChangeEventPlugin:a,SelectEventPlugin:_,BeforeInputEventPlugin:o}),v.HostComponent.injectGenericComponentClass(l),v.HostComponent.injectTextComponentClass(h),v.DOMProperty.injectDOMPropertyConfig(r),v.DOMProperty.injectDOMPropertyConfig(u),v.DOMProperty.injectDOMPropertyConfig(b),v.EmptyComponent.injectEmptyComponentFactory(function(e){return new f(e)}),v.Updates.injectReconcileTransaction(y),v.Updates.injectBatchingStrategy(g),v.Component.injectEnvironment(c))}}},{"./ARIADOMPropertyConfig":202,"./BeforeInputEventPlugin":204,"./ChangeEventPlugin":208,"./DefaultEventPluginOrder":215,"./EnterLeaveEventPlugin":216,"./HTMLDOMPropertyConfig":222,"./ReactComponentBrowserEnvironment":228,"./ReactDOMComponent":232,"./ReactDOMComponentTree":234,"./ReactDOMEmptyComponent":236,"./ReactDOMTextComponent":245,"./ReactDOMTreeTraversal":247,"./ReactDefaultBatchingStrategy":250,"./ReactEventListener":256,"./ReactInjection":260,"./ReactReconcileTransaction":272,"./SVGDOMPropertyConfig":280,"./SelectEventPlugin":281,"./SimpleEventPlugin":282}],252:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;t.exports=r},{}],253:[function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},a={create:function(e){return r(e)}};a.injection=o,t.exports=a},{}],254:[function(e,o,t){(function(e){"use strict";var r=null;function t(e,t,n){try{t(n)}catch(e){null===r&&(r=e)}}var n={invokeGuardedCallback:t,invokeGuardedCallbackWithCatch:t,rethrowCaughtError:function(){if(r){var e=r;throw r=null,e}}};o.exports=n}).call(this,e("_process"))},{_process:162}],255:[function(e,t,n){"use strict";var o=e("./EventPluginHub");e={handleTopLevel:function(e,t,n,r){r=o.extractEvents(e,t,n,r);r=r,o.enqueueEvents(r),o.processEventQueue(!1)}};t.exports=e},{"./EventPluginHub":217}],256:[function(e,t,n){"use strict";var r=e("object-assign"),o=e("fbjs/lib/EventListener"),a=e("fbjs/lib/ExecutionEnvironment"),i=e("./PooledClass"),s=e("./ReactDOMComponentTree"),u=e("./ReactUpdates"),c=e("./getEventTarget"),l=e("fbjs/lib/getUnboundedScrollPosition");function p(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function f(e){for(var t=c(e.nativeEvent),n=s.getClosestInstanceFromNode(t),r=n;e.ancestors.push(r),r=r&&function(e){for(;e._hostParent;)e=e._hostParent;var t=s.getNodeFromInstance(e).parentNode;return s.getClosestInstanceFromNode(t)}(r););for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],d._handleTopLevel(e.topLevelType,n,e.nativeEvent,c(e.nativeEvent))}r(p.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),i.addPoolingTo(p,i.twoArgumentPooler);var d={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:a.canUseDOM?window:null,setHandleTopLevel:function(e){d._handleTopLevel=e},setEnabled:function(e){d._enabled=!!e},isEnabled:function(){return d._enabled},trapBubbledEvent:function(e,t,n){return n?o.listen(n,t,d.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?o.capture(n,t,d.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){e=function(e){e(l(window))}.bind(null,e);o.listen(window,"scroll",e)},dispatchEvent:function(e,t){if(d._enabled){var n=p.getPooled(e,t);try{u.batchedUpdates(f,n)}finally{p.release(n)}}}};t.exports=d},{"./PooledClass":225,"./ReactDOMComponentTree":234,"./ReactUpdates":278,"./getEventTarget":310,"fbjs/lib/EventListener":35,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/getUnboundedScrollPosition":47,"object-assign":161}],257:[function(e,t,n){"use strict";t.exports={logTopLevelRenders:!1}},{}],258:[function(a,i,e){(function(e){"use strict";var t=a("./reactProdInvariant"),n=(a("fbjs/lib/invariant"),null),r=null;var o={createInternalComponent:function(e){return n||t("111",e.type),new n(e)},createInstanceForText:function(e){return new r(e)},isTextComponent:function(e){return e instanceof r},injection:{injectGenericComponentClass:function(e){n=e},injectTextComponentClass:function(e){r=e}}};i.exports=o}).call(this,a("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],259:[function(e,t,n){"use strict";var r=[],o={onHostOperation:function(e){r.push(e)},clearHistory:function(){o._preventClearing||(r=[])},getHistory:function(){return r}};t.exports=o},{}],260:[function(e,t,n){"use strict";var r=e("./DOMProperty"),o=e("./EventPluginHub"),a=e("./EventPluginUtils"),i=e("./ReactComponentEnvironment"),s=e("./ReactEmptyComponent"),u=e("./ReactBrowserEventEmitter"),c=e("./ReactHostComponent"),e=e("./ReactUpdates"),e={Component:i.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:a.injection,EventEmitter:u.injection,HostComponent:c.injection,Updates:e.injection};t.exports=e},{"./DOMProperty":212,"./EventPluginHub":217,"./EventPluginUtils":219,"./ReactBrowserEventEmitter":226,"./ReactComponentEnvironment":229,"./ReactEmptyComponent":253,"./ReactHostComponent":258,"./ReactUpdates":278}],261:[function(e,t,n){"use strict";var a=e("./ReactDOMSelection"),r=e("fbjs/lib/containsNode"),o=e("fbjs/lib/focusNode"),i=e("fbjs/lib/getActiveElement");var s={hasSelectionCapabilities:function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)},getSelectionInformation:function(){var e=i();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t=i(),n=e.focusedElem,e=e.selectionRange;t!==n&&(t=n,r(document.documentElement,t))&&(s.hasSelectionCapabilities(n)&&s.setSelection(n,e),o(n))},getSelection:function(e){var t,n;return"selectionStart"in e?t={start:e.selectionStart,end:e.selectionEnd}:document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()?(n=document.selection.createRange()).parentElement()===e&&(t={start:-n.moveStart("character",-e.value.length),end:-n.moveEnd("character",-e.value.length)}):t=a.getOffsets(e),t||{start:0,end:0}},setSelection:function(e,t){var n,r=t.start,o=t.end;void 0===o&&(o=r),"selectionStart"in e?(e.selectionStart=r,e.selectionEnd=Math.min(o,e.value.length)):document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()?((n=e.createTextRange()).collapse(!0),n.moveStart("character",r),n.moveEnd("character",o-r),n.select()):a.setOffsets(e,t)}};t.exports=s},{"./ReactDOMSelection":244,"fbjs/lib/containsNode":39,"fbjs/lib/focusNode":44,"fbjs/lib/getActiveElement":45}],262:[function(e,t,n){"use strict";var r={remove:function(e){e._reactInternalInstance=void 0},get:function(e){return e._reactInternalInstance},has:function(e){return void 0!==e._reactInternalInstance},set:function(e,t){e._reactInternalInstance=t}};t.exports=r},{}],263:[function(e,n,t){(function(e){"use strict";var t=null;n.exports={debugTool:t}}).call(this,e("_process"))},{"./ReactDebugTool":249,_process:162}],264:[function(r,o,e){(function(e){"use strict";r("fbjs/lib/warning");var t,n={onBeginProcessingChildContext:function(){0},onEndProcessingChildContext:function(){0},onSetState:function(){t()}};o.exports=n}).call(this,r("_process"))},{_process:162,"fbjs/lib/warning":57}],265:[function(e,t,n){"use strict";var r=e("./adler32"),o=/\/?>/,a=/^<\!\-\-/,i={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return a.test(e)?e:e.replace(o," "+i.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){t=(t=t.getAttribute(i.CHECKSUM_ATTR_NAME))&&parseInt(t,10);return r(e)===t}};t.exports=i},{"./adler32":299}],266:[function(A,L,e){(function(e){"use strict";var c=A("./reactProdInvariant"),s=A("./DOMLazyTree"),t=A("./DOMProperty"),l=A("react/lib/React"),o=A("./ReactBrowserEventEmitter"),u=(A("react/lib/ReactCurrentOwner"),A("./ReactDOMComponentTree")),i=A("./ReactDOMContainerInfo"),a=A("./ReactDOMFeatureFlags"),p=A("./ReactFeatureFlags"),f=A("./ReactInstanceMap"),d=(A("./ReactInstrumentation"),A("./ReactMarkupChecksum")),h=A("./ReactReconciler"),g=A("./ReactUpdateQueue"),m=A("./ReactUpdates"),v=A("fbjs/lib/emptyObject"),y=A("./instantiateReactComponent"),b=(A("fbjs/lib/invariant"),A("./setInnerHTML")),_=A("./shouldUpdateReactComponent"),n=(A("fbjs/lib/warning"),t.ID_ATTRIBUTE_NAME),r=t.ROOT_ATTRIBUTE_NAME,E=1,C=9,O=11,w={};function D(e){return e?e.nodeType===C?e.documentElement:e.firstChild:null}function T(e){return e.getAttribute&&e.getAttribute(n)}function S(e,t,n,r,o){var a;p.logTopLevelRenders&&(a="React mount: "+("string"==typeof(a=e._currentElement.props.child.type)?a:a.displayName||a.name),console.time(a));o=h.mountComponent(e,n,null,i(e,t),o,0);a&&console.timeEnd(a),e._renderedComponent._topLevelWrapper=e,N._mountImageIntoNode(o,t,e,r,n)}function P(e,t,n,r){var o=m.ReactReconcileTransaction.getPooled(!n&&a.useCreateElement);o.perform(S,null,e,t,o,n,r),m.ReactReconcileTransaction.release(o)}function x(e,t,n){for(0,h.unmountComponent(e,n),t.nodeType===C&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function k(e){e=D(e);if(e){e=u.getInstanceFromNode(e);return!(!e||!e._hostParent)}}function R(e){return!(!e||e.nodeType!==E&&e.nodeType!==C&&e.nodeType!==O)}function I(e){e=(e=(e=D(e=e))&&u.getInstanceFromNode(e))&&!e._hostParent?e:null;return e?e._hostContainerInfo._topLevelWrapper:null}function M(){this.rootID=j++}var j=1;M.prototype.isReactComponent={},M.prototype.render=function(){return this.props.child},M.isReactTopLevelWrapper=!0;var N={TopLevelWrapper:M,_instancesByReactRootID:w,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return N.scrollMonitor(r,function(){g.enqueueElementInternal(e,t,n),o&&g.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,r){R(t)||c("37"),o.ensureScrollValueMonitoring();e=y(e,!1);m.batchedUpdates(P,e,t,n,r);r=e._instance.rootID;return w[r]=e},renderSubtreeIntoContainer:function(e,t,n,r){return null!=e&&f.has(e)||c("38"),N._renderSubtreeIntoContainer(e,t,n,r)},_renderSubtreeIntoContainer:function(e,t,n,r){g.validateCallback(r,"ReactDOM.render"),l.isValidElement(t)||c("39","string"==typeof t?" Instead of passing a string like 'div', pass React.createElement('div') or <div />.":"function"==typeof t?" Instead of passing a class like Foo, pass React.createElement(Foo) or <Foo />.":null!=t&&void 0!==t.props?" This may be caused by unintentionally loading two independent copies of React.":"");var o=l.createElement(M,{child:t});u=e?(a=f.get(e))._processChildContext(a._context):v;e=I(n);if(e){var a=e._currentElement.props.child;if(_(a,t)){var i=e._renderedComponent.getPublicInstance(),s=r&&function(){r.call(i)};return N._updateRootComponent(e,o,u,n,s),i}N.unmountComponentAtNode(n)}var t=D(n),s=t&&!!T(t),t=k(n),t=s&&!e&&!t,u=N._renderNewRootComponent(o,n,t,u)._renderedComponent.getPublicInstance();return r&&r.call(u),u},render:function(e,t,n){return N._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){R(e)||c("40");var t=I(e);if(t)return delete w[t._instance.rootID],m.batchedUpdates(x,t,e,!1),!0;k(e),1===e.nodeType&&e.hasAttribute(r);return!1},_mountImageIntoNode:function(e,t,n,r,o){if(R(t)||c("41"),r){var a=D(t);if(d.canReuseMarkup(e,a))return void u.precacheNode(n,a);var i=a.getAttribute(d.CHECKSUM_ATTR_NAME);a.removeAttribute(d.CHECKSUM_ATTR_NAME);r=a.outerHTML;a.setAttribute(d.CHECKSUM_ATTR_NAME,i);a=e,i=function(e,t){for(var n=Math.min(e.length,t.length),r=0;r<n;r++)if(e.charAt(r)!==t.charAt(r))return r;return e.length===t.length?-1:n}(a,r),i=" (client) "+a.substring(i-20,i+20)+"\n (server) "+r.substring(i-20,i+20);t.nodeType===C&&c("42",i)}if(t.nodeType===C&&c("43"),o.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);s.insertTreeBefore(t,e,null)}else b(t,e),u.precacheNode(n,t.firstChild)}};L.exports=N}).call(this,A("_process"))},{"./DOMLazyTree":210,"./DOMProperty":212,"./ReactBrowserEventEmitter":226,"./ReactDOMComponentTree":234,"./ReactDOMContainerInfo":235,"./ReactDOMFeatureFlags":237,"./ReactFeatureFlags":257,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactMarkupChecksum":265,"./ReactReconciler":273,"./ReactUpdateQueue":277,"./ReactUpdates":278,"./instantiateReactComponent":317,"./reactProdInvariant":321,"./setInnerHTML":323,"./shouldUpdateReactComponent":325,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/React":330,"react/lib/ReactCurrentOwner":334}],267:[function(o,a,e){(function(e){"use strict";var r=o("./reactProdInvariant"),n=o("./ReactComponentEnvironment"),g=(o("./ReactInstanceMap"),o("./ReactInstrumentation"),o("react/lib/ReactCurrentOwner"),o("./ReactReconciler")),s=o("./ReactChildReconciler"),t=o("fbjs/lib/emptyFunction"),u=o("./flattenChildren");o("fbjs/lib/invariant");function m(e,t){return t&&(e=e||[]).push(t),e}function v(e,t){n.processChildrenUpdates(e,t)}t={Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return s.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,a){var i=0,t=u(t,i);return s.updateChildren(e,t,n,r,o,this,this._hostContainerInfo,a,i),t},mountChildren:function(e,t,n){var r,o,a,i=this._reconcilerInstantiateChildren(e,t,n),s=[],u=0;for(r in this._renderedChildren=i){i.hasOwnProperty(r)&&(o=i[r],a=0,a=g.mountComponent(o,t,this,this._hostContainerInfo,n,a),o._mountIndex=u++,s.push(a))}return s},updateTextContent:function(e){var t,n=this._renderedChildren;for(t in s.unmountChildren(n,!1),n)n.hasOwnProperty(t)&&r("118");v(this,[{type:"TEXT_CONTENT",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}])},updateMarkup:function(e){var t,n=this._renderedChildren;for(t in s.unmountChildren(n,!1),n)n.hasOwnProperty(t)&&r("118");v(this,[{type:"SET_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:null,afterNode:null}])},updateChildren:function(e,t,n){this._updateChildren(e,t,n)},_updateChildren:function(e,t,n){var r=this._renderedChildren,o={},a=[],i=this._reconcilerUpdateChildren(r,e,a,o,t,n);if(i||r){var s,u,c,l=null,p=0,f=0,d=0,h=null;for(s in i){i.hasOwnProperty(s)&&((u=r&&r[s])===(c=i[s])?(l=m(l,this.moveChild(u,h,p,f)),f=Math.max(u._mountIndex,f),u._mountIndex=p):(u&&(f=Math.max(u._mountIndex,f)),l=m(l,this._mountChildAtIndex(c,a[d],h,p,t,n)),d++),p++,h=g.getHostNode(c))}for(s in o)o.hasOwnProperty(s)&&(l=m(l,this._unmountChild(r[s],o[s])));l&&v(this,l),this._renderedChildren=i}},unmountChildren:function(e){var t=this._renderedChildren;s.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return t=t,n=n,{type:"MOVE_EXISTING",content:null,fromIndex:(e=e)._mountIndex,fromNode:g.getHostNode(e),toIndex:n,afterNode:t}},createChild:function(e,t,n){return n=n,t=t,e=e._mountIndex,{type:"INSERT_MARKUP",content:n,fromIndex:null,fromNode:null,toIndex:e,afterNode:t}},removeChild:function(e,t){return t=t,{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}},_mountChildAtIndex:function(e,t,n,r,o,a){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){t=this.removeChild(e,t);return e._mountIndex=null,t}}};a.exports=t}).call(this,o("_process"))},{"./ReactChildReconciler":227,"./ReactComponentEnvironment":229,"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactReconciler":273,"./flattenChildren":305,"./reactProdInvariant":321,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50,"react/lib/ReactCurrentOwner":334}],268:[function(o,a,e){(function(e){"use strict";var t=o("./reactProdInvariant"),n=o("react/lib/React"),r=(o("fbjs/lib/invariant"),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?r.EMPTY:n.isValidElement(e)?"function"==typeof e.type?r.COMPOSITE:r.HOST:void t("26",e)}});a.exports=r}).call(this,o("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"react/lib/React":330}],269:[function(n,r,e){(function(e){"use strict";var o=n("./reactProdInvariant");n("fbjs/lib/invariant");function a(e){return e&&"function"==typeof e.attachRef&&"function"==typeof e.detachRef}var t={addComponentAsRefTo:function(e,t,n){a(n)||o("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){a(n)||o("120");var r=n.getPublicInstance();r&&r.refs[t]===e.getPublicInstance()&&n.detachRef(t)}};r.exports=t}).call(this,n("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],270:[function(e,n,t){(function(e){"use strict";var t={};n.exports=t}).call(this,e("_process"))},{_process:162}],271:[function(e,t,n){"use strict";t.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},{}],272:[function(l,p,e){(function(e){"use strict";var t=l("object-assign"),n=l("./CallbackQueue"),r=l("./PooledClass"),o=l("./ReactBrowserEventEmitter"),a=l("./ReactInputSelection"),i=(l("./ReactInstrumentation"),l("./Transaction")),s=l("./ReactUpdateQueue"),u=[{initialize:a.getSelectionInformation,close:a.restoreSelection},{initialize:function(){var e=o.isEnabled();return o.setEnabled(!1),e},close:function(e){o.setEnabled(e)}},{initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}}];function c(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=n.getPooled(null),this.useCreateElement=e}t(c.prototype,i,{getTransactionWrappers:function(){return u},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return s},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){n.release(this.reactMountReady),this.reactMountReady=null}}),r.addPoolingTo(c),p.exports=c}).call(this,l("_process"))},{"./CallbackQueue":207,"./PooledClass":225,"./ReactBrowserEventEmitter":226,"./ReactInputSelection":261,"./ReactInstrumentation":263,"./ReactUpdateQueue":277,"./Transaction":296,_process:162,"object-assign":161}],273:[function(n,r,e){(function(e){"use strict";var i=n("./ReactRef");n("./ReactInstrumentation"),n("fbjs/lib/warning");function s(){i.attachRefs(this,this._currentElement)}var t={mountComponent:function(e,t,n,r,o,a){a=e.mountComponent(t,n,r,o,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(s,e),a},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){i.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,r){var o,a=e._currentElement;t===a&&r===e._context||((o=i.shouldUpdateRefs(a,t))&&i.detachRefs(e,a),e.receiveComponent(t,n,r),o&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(s,e))},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}};r.exports=t}).call(this,n("_process"))},{"./ReactInstrumentation":263,"./ReactRef":274,_process:162,"fbjs/lib/warning":57}],274:[function(e,t,n){"use strict";var r=e("./ReactOwner"),e={};e.attachRefs=function(e,t){var n;null===t||"object"!=typeof t||null!=(n=t.ref)&&(n=n,e=e,t=t._owner,"function"==typeof n?n(e.getPublicInstance()):r.addComponentAsRefTo(e,n,t))},e.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,e=null;return null!==t&&"object"==typeof t&&(o=t.ref,e=t._owner),n!==o||"string"==typeof o&&e!==r},e.detachRefs=function(e,t){var n;null===t||"object"!=typeof t||null!=(n=t.ref)&&(n=n,e=e,t=t._owner,"function"==typeof n?n(null):r.removeComponentAsRefFrom(e,n,t))},t.exports=e},{"./ReactOwner":269}],275:[function(u,c,e){(function(e){"use strict";var t=u("object-assign"),n=u("./PooledClass"),r=u("./Transaction"),o=(u("./ReactInstrumentation"),u("./ReactServerUpdateQueue")),a=[];var i={enqueue:function(){}};function s(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new o(this)}t(s.prototype,r,{getTransactionWrappers:function(){return a},getReactMountReady:function(){return i},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}}),n.addPoolingTo(s),c.exports=s}).call(this,u("_process"))},{"./PooledClass":225,"./ReactInstrumentation":263,"./ReactServerUpdateQueue":276,"./Transaction":296,_process:162,"object-assign":161}],276:[function(o,a,e){(function(e){"use strict";var r=o("./ReactUpdateQueue");o("fbjs/lib/warning");var t=(n.prototype.isMounted=function(){return!1},n.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&r.enqueueCallback(e,t,n)},n.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&r.enqueueForceUpdate(e)},n.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&r.enqueueReplaceState(e,t)},n.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&r.enqueueSetState(e,t)},n);function n(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.transaction=e}a.exports=t}).call(this,o("_process"))},{"./ReactUpdateQueue":277,_process:162,"fbjs/lib/warning":57}],277:[function(u,c,e){(function(e){"use strict";var n=u("./reactProdInvariant"),t=(u("react/lib/ReactCurrentOwner"),u("./ReactInstanceMap")),r=(u("./ReactInstrumentation"),u("./ReactUpdates"));u("fbjs/lib/invariant"),u("fbjs/lib/warning");function o(e){r.enqueueUpdate(e)}function a(e){var t=typeof e;if("object"!=t)return t;t=e.constructor&&e.constructor.name||t,e=Object.keys(e);return 0<e.length&&e.length<20?t+" (keys: "+e.join(", ")+")":t}function i(e){e=t.get(e);return e||null}var s={isMounted:function(e){e=t.get(e);return!!e&&!!e._renderedComponent},enqueueCallback:function(e,t,n){s.validateCallback(t,n);e=i(e);if(!e)return null;e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],o(e)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],o(e)},enqueueForceUpdate:function(e){e=i(e);e&&(e._pendingForceUpdate=!0,o(e))},enqueueReplaceState:function(e,t,n){e=i(e);e&&(e._pendingStateQueue=[t],e._pendingReplaceState=!0,null!=n&&(s.validateCallback(n,"replaceState"),e._pendingCallbacks?e._pendingCallbacks.push(n):e._pendingCallbacks=[n]),o(e))},enqueueSetState:function(e,t){e=i(e);e&&((e._pendingStateQueue||(e._pendingStateQueue=[])).push(t),o(e))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,o(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&n("122",t,a(e))}};c.exports=s}).call(this,u("_process"))},{"./ReactInstanceMap":262,"./ReactInstrumentation":263,"./ReactUpdates":278,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],278:[function(E,C,e){(function(e){"use strict";var s=E("./reactProdInvariant"),t=E("object-assign"),n=E("./CallbackQueue"),r=E("./PooledClass"),u=E("./ReactFeatureFlags"),c=E("./ReactReconciler"),o=E("./Transaction"),a=E("fbjs/lib/invariant"),l=[],p=0,i=n.getPooled(),f=!1,d=null;function h(){_.ReactReconcileTransaction&&d||s("123")}var g=[{initialize:function(){this.dirtyComponentsLength=l.length},close:function(){this.dirtyComponentsLength!==l.length?(l.splice(0,this.dirtyComponentsLength),b()):l.length=0}},{initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}}];function m(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=n.getPooled(),this.reconcileTransaction=_.ReactReconcileTransaction.getPooled(!0)}function v(e,t){return e._mountOrder-t._mountOrder}function y(e){var t=e.dirtyComponentsLength;t!==l.length&&s("124",t,l.length),l.sort(v),p++;for(var n=0;n<t;n++){var r,o=l[n],a=o._pendingCallbacks;if(o._pendingCallbacks=null,u.logTopLevelRenders&&((r=o)._currentElement.type.isReactTopLevelWrapper&&(r=o._renderedComponent),r="React update: "+r.getName(),console.time(r)),c.performUpdateIfNecessary(o,e.reconcileTransaction,p),r&&console.timeEnd(r),a)for(var i=0;i<a.length;i++)e.callbackQueue.enqueue(a[i],o.getPublicInstance())}}t(m.prototype,o,{getTransactionWrappers:function(){return g},destructor:function(){this.dirtyComponentsLength=null,n.release(this.callbackQueue),this.callbackQueue=null,_.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return o.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),r.addPoolingTo(m);var b=function(){for(;l.length||f;){var e;l.length&&((e=m.getPooled()).perform(y,null,e),m.release(e)),f&&(f=!1,e=i,i=n.getPooled(),e.notifyAll(),n.release(e))}};var _={ReactReconcileTransaction:null,batchedUpdates:function(e,t,n,r,o,a){return h(),d.batchedUpdates(e,t,n,r,o,a)},enqueueUpdate:function e(t){h(),d.isBatchingUpdates?(l.push(t),null==t._updateBatchNumber&&(t._updateBatchNumber=p+1)):d.batchedUpdates(e,t)},flushBatchedUpdates:b,injection:{injectReconcileTransaction:function(e){e||s("126"),_.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||s("127"),"function"!=typeof e.batchedUpdates&&s("128"),"boolean"!=typeof e.isBatchingUpdates&&s("129"),d=e}},asap:function(e,t){a(d.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),i.enqueue(e,t),f=!0}};C.exports=_}).call(this,E("_process"))},{"./CallbackQueue":207,"./PooledClass":225,"./ReactFeatureFlags":257,"./ReactReconciler":273,"./Transaction":296,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"object-assign":161}],279:[function(e,t,n){"use strict";t.exports="15.6.2"},{}],280:[function(e,t,n){"use strict";var r="http://www.w3.org/1999/xlink",o="http://www.w3.org/XML/1998/namespace",a={accentHeight:"accent-height",accumulate:0,additive:0,alignmentBaseline:"alignment-baseline",allowReorder:"allowReorder",alphabetic:0,amplitude:0,arabicForm:"arabic-form",ascent:0,attributeName:"attributeName",attributeType:"attributeType",autoReverse:"autoReverse",azimuth:0,baseFrequency:"baseFrequency",baseProfile:"baseProfile",baselineShift:"baseline-shift",bbox:0,begin:0,bias:0,by:0,calcMode:"calcMode",capHeight:"cap-height",clip:0,clipPath:"clip-path",clipRule:"clip-rule",clipPathUnits:"clipPathUnits",colorInterpolation:"color-interpolation",colorInterpolationFilters:"color-interpolation-filters",colorProfile:"color-profile",colorRendering:"color-rendering",contentScriptType:"contentScriptType",contentStyleType:"contentStyleType",cursor:0,cx:0,cy:0,d:0,decelerate:0,descent:0,diffuseConstant:"diffuseConstant",direction:0,display:0,divisor:0,dominantBaseline:"dominant-baseline",dur:0,dx:0,dy:0,edgeMode:"edgeMode",elevation:0,enableBackground:"enable-background",end:0,exponent:0,externalResourcesRequired:"externalResourcesRequired",fill:0,fillOpacity:"fill-opacity",fillRule:"fill-rule",filter:0,filterRes:"filterRes",filterUnits:"filterUnits",floodColor:"flood-color",floodOpacity:"flood-opacity",focusable:0,fontFamily:"font-family",fontSize:"font-size",fontSizeAdjust:"font-size-adjust",fontStretch:"font-stretch",fontStyle:"font-style",fontVariant:"font-variant",fontWeight:"font-weight",format:0,from:0,fx:0,fy:0,g1:0,g2:0,glyphName:"glyph-name",glyphOrientationHorizontal:"glyph-orientation-horizontal",glyphOrientationVertical:"glyph-orientation-vertical",glyphRef:"glyphRef",gradientTransform:"gradientTransform",gradientUnits:"gradientUnits",hanging:0,horizAdvX:"horiz-adv-x",horizOriginX:"horiz-origin-x",ideographic:0,imageRendering:"image-rendering",in:0,in2:0,intercept:0,k:0,k1:0,k2:0,k3:0,k4:0,kernelMatrix:"kernelMatrix",kernelUnitLength:"kernelUnitLength",kerning:0,keyPoints:"keyPoints",keySplines:"keySplines",keyTimes:"keyTimes",lengthAdjust:"lengthAdjust",letterSpacing:"letter-spacing",lightingColor:"lighting-color",limitingConeAngle:"limitingConeAngle",local:0,markerEnd:"marker-end",markerMid:"marker-mid",markerStart:"marker-start",markerHeight:"markerHeight",markerUnits:"markerUnits",markerWidth:"markerWidth",mask:0,maskContentUnits:"maskContentUnits",maskUnits:"maskUnits",mathematical:0,mode:0,numOctaves:"numOctaves",offset:0,opacity:0,operator:0,order:0,orient:0,orientation:0,origin:0,overflow:0,overlinePosition:"overline-position",overlineThickness:"overline-thickness",paintOrder:"paint-order",panose1:"panose-1",pathLength:"pathLength",patternContentUnits:"patternContentUnits",patternTransform:"patternTransform",patternUnits:"patternUnits",pointerEvents:"pointer-events",points:0,pointsAtX:"pointsAtX",pointsAtY:"pointsAtY",pointsAtZ:"pointsAtZ",preserveAlpha:"preserveAlpha",preserveAspectRatio:"preserveAspectRatio",primitiveUnits:"primitiveUnits",r:0,radius:0,refX:"refX",refY:"refY",renderingIntent:"rendering-intent",repeatCount:"repeatCount",repeatDur:"repeatDur",requiredExtensions:"requiredExtensions",requiredFeatures:"requiredFeatures",restart:0,result:0,rotate:0,rx:0,ry:0,scale:0,seed:0,shapeRendering:"shape-rendering",slope:0,spacing:0,specularConstant:"specularConstant",specularExponent:"specularExponent",speed:0,spreadMethod:"spreadMethod",startOffset:"startOffset",stdDeviation:"stdDeviation",stemh:0,stemv:0,stitchTiles:"stitchTiles",stopColor:"stop-color",stopOpacity:"stop-opacity",strikethroughPosition:"strikethrough-position",strikethroughThickness:"strikethrough-thickness",string:0,stroke:0,strokeDasharray:"stroke-dasharray",strokeDashoffset:"stroke-dashoffset",strokeLinecap:"stroke-linecap",strokeLinejoin:"stroke-linejoin",strokeMiterlimit:"stroke-miterlimit",strokeOpacity:"stroke-opacity",strokeWidth:"stroke-width",surfaceScale:"surfaceScale",systemLanguage:"systemLanguage",tableValues:"tableValues",targetX:"targetX",targetY:"targetY",textAnchor:"text-anchor",textDecoration:"text-decoration",textRendering:"text-rendering",textLength:"textLength",to:0,transform:0,u1:0,u2:0,underlinePosition:"underline-position",underlineThickness:"underline-thickness",unicode:0,unicodeBidi:"unicode-bidi",unicodeRange:"unicode-range",unitsPerEm:"units-per-em",vAlphabetic:"v-alphabetic",vHanging:"v-hanging",vIdeographic:"v-ideographic",vMathematical:"v-mathematical",values:0,vectorEffect:"vector-effect",version:0,vertAdvY:"vert-adv-y",vertOriginX:"vert-origin-x",vertOriginY:"vert-origin-y",viewBox:"viewBox",viewTarget:"viewTarget",visibility:0,widths:0,wordSpacing:"word-spacing",writingMode:"writing-mode",x:0,xHeight:"x-height",x1:0,x2:0,xChannelSelector:"xChannelSelector",xlinkActuate:"xlink:actuate",xlinkArcrole:"xlink:arcrole",xlinkHref:"xlink:href",xlinkRole:"xlink:role",xlinkShow:"xlink:show",xlinkTitle:"xlink:title",xlinkType:"xlink:type",xmlBase:"xml:base",xmlns:0,xmlnsXlink:"xmlns:xlink",xmlLang:"xml:lang",xmlSpace:"xml:space",y:0,y1:0,y2:0,yChannelSelector:"yChannelSelector",z:0,zoomAndPan:"zoomAndPan"},i={Properties:{},DOMAttributeNamespaces:{xlinkActuate:r,xlinkArcrole:r,xlinkHref:r,xlinkRole:r,xlinkShow:r,xlinkTitle:r,xlinkType:r,xmlBase:o,xmlLang:o,xmlSpace:o},DOMAttributeNames:{}};Object.keys(a).forEach(function(e){i.Properties[e]=0,a[e]&&(i.DOMAttributeNames[e]=a[e])}),t.exports=i},{}],281:[function(e,t,n){"use strict";var r=e("./EventPropagators"),o=e("fbjs/lib/ExecutionEnvironment"),a=e("./ReactDOMComponentTree"),i=e("./ReactInputSelection"),s=e("./SyntheticEvent"),u=e("fbjs/lib/getActiveElement"),c=e("./isTextInputElement"),l=e("fbjs/lib/shallowEqual"),p=o.canUseDOM&&"documentMode"in document&&document.documentMode<=11,f={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},d=null,h=null,g=null,m=!1,v=!1;function y(e,t){if(m||null==d||d!==u())return null;var n=function(e){if("selectionStart"in e&&i.hasSelectionCapabilities(e))return{start:e.selectionStart,end:e.selectionEnd};if(window.getSelection){var t=window.getSelection();return{anchorNode:t.anchorNode,anchorOffset:t.anchorOffset,focusNode:t.focusNode,focusOffset:t.focusOffset}}if(document.selection){t=document.selection.createRange();return{parentElement:t.parentElement(),text:t.text,top:t.boundingTop,left:t.boundingLeft}}}(d);if(g&&l(g,n))return null;g=n;t=s.getPooled(f.select,h,e,t);return t.type="select",t.target=d,r.accumulateTwoPhaseDispatches(t),t}o={eventTypes:f,extractEvents:function(e,t,n,r){if(!v)return null;var o=t?a.getNodeFromInstance(t):window;switch(e){case"topFocus":!c(o)&&"true"!==o.contentEditable||(d=o,h=t,g=null);break;case"topBlur":g=h=d=null;break;case"topMouseDown":m=!0;break;case"topContextMenu":case"topMouseUp":return m=!1,y(n,r);case"topSelectionChange":if(p)break;case"topKeyDown":case"topKeyUp":return y(n,r)}return null},didPutListener:function(e,t,n){"onSelect"===t&&(v=!0)}};t.exports=o},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./ReactInputSelection":261,"./SyntheticEvent":287,"./isTextInputElement":319,"fbjs/lib/ExecutionEnvironment":36,"fbjs/lib/getActiveElement":45,"fbjs/lib/shallowEqual":56}],282:[function(n,D,e){(function(e){"use strict";var i=n("./reactProdInvariant"),r=n("fbjs/lib/EventListener"),s=n("./EventPropagators"),o=n("./ReactDOMComponentTree"),u=n("./SyntheticAnimationEvent"),c=n("./SyntheticClipboardEvent"),l=n("./SyntheticEvent"),p=n("./SyntheticFocusEvent"),f=n("./SyntheticKeyboardEvent"),d=n("./SyntheticMouseEvent"),h=n("./SyntheticDragEvent"),g=n("./SyntheticTouchEvent"),m=n("./SyntheticTransitionEvent"),v=n("./SyntheticUIEvent"),y=n("./SyntheticWheelEvent"),a=n("fbjs/lib/emptyFunction"),b=n("./getEventCharCode"),_=(n("fbjs/lib/invariant"),{}),E={};["abort","animationEnd","animationIteration","animationStart","blur","canPlay","canPlayThrough","click","contextMenu","copy","cut","doubleClick","drag","dragEnd","dragEnter","dragExit","dragLeave","dragOver","dragStart","drop","durationChange","emptied","encrypted","ended","error","focus","input","invalid","keyDown","keyPress","keyUp","load","loadedData","loadedMetadata","loadStart","mouseDown","mouseMove","mouseOut","mouseOver","mouseUp","paste","pause","play","playing","progress","rateChange","reset","scroll","seeked","seeking","stalled","submit","suspend","timeUpdate","touchCancel","touchEnd","touchMove","touchStart","transitionEnd","volumeChange","waiting","wheel"].forEach(function(e){var t=e[0].toUpperCase()+e.slice(1),n="on"+t,t="top"+t,n={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[t]};_[e]=n,E[t]=n});var C={};function O(e){return"."+e._rootNodeID}function w(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var t={eventTypes:_,extractEvents:function(e,t,n,r){var o,a=E[e];if(!a)return null;switch(e){case"topAbort":case"topCanPlay":case"topCanPlayThrough":case"topDurationChange":case"topEmptied":case"topEncrypted":case"topEnded":case"topError":case"topInput":case"topInvalid":case"topLoad":case"topLoadedData":case"topLoadedMetadata":case"topLoadStart":case"topPause":case"topPlay":case"topPlaying":case"topProgress":case"topRateChange":case"topReset":case"topSeeked":case"topSeeking":case"topStalled":case"topSubmit":case"topSuspend":case"topTimeUpdate":case"topVolumeChange":case"topWaiting":o=l;break;case"topKeyPress":if(0===b(n))return null;case"topKeyDown":case"topKeyUp":o=f;break;case"topBlur":case"topFocus":o=p;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":o=d;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":o=h;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":o=g;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":o=u;break;case"topTransitionEnd":o=m;break;case"topScroll":o=v;break;case"topWheel":o=y;break;case"topCopy":case"topCut":case"topPaste":o=c}o||i("86",e);r=o.getPooled(a,t,n,r);return s.accumulateTwoPhaseDispatches(r),r},didPutListener:function(e,t,n){"onClick"!==t||w(e._tag)||(t=O(e),e=o.getNodeFromInstance(e),C[t]||(C[t]=r.listen(e,"click",a)))},willDeleteListener:function(e,t){"onClick"!==t||w(e._tag)||(e=O(e),C[e].remove(),delete C[e])}};D.exports=t}).call(this,n("_process"))},{"./EventPropagators":220,"./ReactDOMComponentTree":234,"./SyntheticAnimationEvent":283,"./SyntheticClipboardEvent":284,"./SyntheticDragEvent":286,"./SyntheticEvent":287,"./SyntheticFocusEvent":288,"./SyntheticKeyboardEvent":290,"./SyntheticMouseEvent":291,"./SyntheticTouchEvent":292,"./SyntheticTransitionEvent":293,"./SyntheticUIEvent":294,"./SyntheticWheelEvent":295,"./getEventCharCode":307,"./reactProdInvariant":321,_process:162,"fbjs/lib/EventListener":35,"fbjs/lib/emptyFunction":42,"fbjs/lib/invariant":50}],283:[function(e,t,n){"use strict";var o=e("./SyntheticEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{animationName:null,elapsedTime:null,pseudoElement:null}),t.exports=r},{"./SyntheticEvent":287}],284:[function(e,t,n){"use strict";var o=e("./SyntheticEvent"),e={clipboardData:function(e){return("clipboardData"in e?e:window).clipboardData}};function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,e),t.exports=r},{"./SyntheticEvent":287}],285:[function(e,t,n){"use strict";var o=e("./SyntheticEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{data:null}),t.exports=r},{"./SyntheticEvent":287}],286:[function(e,t,n){"use strict";var o=e("./SyntheticMouseEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{dataTransfer:null}),t.exports=r},{"./SyntheticMouseEvent":291}],287:[function(i,u,e){(function(e){"use strict";var r=i("object-assign"),o=i("./PooledClass"),s=i("fbjs/lib/emptyFunction"),a=(i("fbjs/lib/warning"),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),t={type:null,target:null,currentTarget:s.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(e){return e.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};function n(e,t,n,r){this.dispatchConfig=e,this._targetInst=t,this.nativeEvent=n;var o,a,i=this.constructor.Interface;for(o in i){i.hasOwnProperty(o)&&((a=i[o])?this[o]=a(n):"target"===o?this.target=r:this[o]=n[o])}t=null!=n.defaultPrevented?n.defaultPrevented:!1===n.returnValue;return this.isDefaultPrevented=t?s.thatReturnsTrue:s.thatReturnsFalse,this.isPropagationStopped=s.thatReturnsFalse,this}r(n.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=s.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=s.thatReturnsTrue)},persist:function(){this.isPersistent=s.thatReturnsTrue},isPersistent:s.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(var n=0;n<a.length;n++)this[a[n]]=null}}),n.Interface=t,n.augmentClass=function(e,t){var n=function(){};n.prototype=this.prototype;n=new n;r(n,e.prototype),e.prototype=n,(e.prototype.constructor=e).Interface=r({},this.Interface,t),e.augmentClass=this.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(n,o.fourArgumentPooler),u.exports=n}).call(this,i("_process"))},{"./PooledClass":225,_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/warning":57,"object-assign":161}],288:[function(e,t,n){"use strict";var o=e("./SyntheticUIEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{relatedTarget:null}),t.exports=r},{"./SyntheticUIEvent":294}],289:[function(e,t,n){"use strict";var o=e("./SyntheticEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{data:null}),t.exports=r},{"./SyntheticEvent":287}],290:[function(e,t,n){"use strict";var o=e("./SyntheticUIEvent"),r=e("./getEventCharCode"),e={key:e("./getEventKey"),location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:e("./getEventModifierState"),charCode:function(e){return"keypress"===e.type?r(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?r(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};function a(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(a,e),t.exports=a},{"./SyntheticUIEvent":294,"./getEventCharCode":307,"./getEventKey":308,"./getEventModifierState":309}],291:[function(e,t,n){"use strict";var o=e("./SyntheticUIEvent"),r=e("./ViewportMetrics"),e={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:e("./getEventModifierState"),button:function(e){var t=e.button;return"which"in e?t:2===t?2:4===t?1:0},buttons:null,relatedTarget:function(e){return e.relatedTarget||(e.fromElement===e.srcElement?e.toElement:e.fromElement)},pageX:function(e){return"pageX"in e?e.pageX:e.clientX+r.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+r.currentScrollTop}};function a(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(a,e),t.exports=a},{"./SyntheticUIEvent":294,"./ViewportMetrics":297,"./getEventModifierState":309}],292:[function(e,t,n){"use strict";var o=e("./SyntheticUIEvent"),e={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:e("./getEventModifierState")};function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,e),t.exports=r},{"./SyntheticUIEvent":294,"./getEventModifierState":309}],293:[function(e,t,n){"use strict";var o=e("./SyntheticEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{propertyName:null,elapsedTime:null,pseudoElement:null}),t.exports=r},{"./SyntheticEvent":287}],294:[function(e,t,n){"use strict";var o=e("./SyntheticEvent"),r=e("./getEventTarget"),e={view:function(e){if(e.view)return e.view;e=r(e);if(e.window===e)return e;e=e.ownerDocument;return e?e.defaultView||e.parentWindow:window},detail:function(e){return e.detail||0}};function a(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(a,e),t.exports=a},{"./SyntheticEvent":287,"./getEventTarget":310}],295:[function(e,t,n){"use strict";var o=e("./SyntheticMouseEvent");function r(e,t,n,r){return o.call(this,e,t,n,r)}o.augmentClass(r,{deltaX:function(e){return"deltaX"in e?e.deltaX:"wheelDeltaX"in e?-e.wheelDeltaX:0},deltaY:function(e){return"deltaY"in e?e.deltaY:"wheelDeltaY"in e?-e.wheelDeltaY:"wheelDelta"in e?-e.wheelDelta:0},deltaZ:null,deltaMode:null}),t.exports=r},{"./SyntheticMouseEvent":291}],296:[function(n,r,e){(function(e){"use strict";var l=n("./reactProdInvariant"),i=(n("fbjs/lib/invariant"),{}),t={reinitializeTransaction:function(){this.transactionWrappers=this.getTransactionWrappers(),this.wrapperInitData?this.wrapperInitData.length=0:this.wrapperInitData=[],this._isInTransaction=!1},_isInTransaction:!1,getTransactionWrappers:null,isInTransaction:function(){return!!this._isInTransaction},perform:function(e,t,n,r,o,a,i,s){var u,c;this.isInTransaction()&&l("27");try{u=this._isInTransaction=!0,this.initializeAll(0),c=e.call(t,n,r,o,a,i,s),u=!1}finally{try{if(u)try{this.closeAll(0)}catch(e){}else this.closeAll(0)}finally{this._isInTransaction=!1}}return c},initializeAll:function(e){for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r=t[n];try{this.wrapperInitData[n]=i,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===i)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||l("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var r,o=t[n],a=this.wrapperInitData[n];try{r=!0,a!==i&&o.close&&o.close.call(this,a),r=!1}finally{if(r)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};r.exports=t}).call(this,n("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],297:[function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};t.exports=r},{}],298:[function(t,r,e){(function(e){"use strict";var n=t("./reactProdInvariant");t("fbjs/lib/invariant");r.exports=function(e,t){return null==t&&n("30"),null==e?t:Array.isArray(e)?(Array.isArray(t)?e.push.apply(e,t):e.push(t),e):Array.isArray(t)?[e].concat(t):[e,t]}}).call(this,t("_process"))},{"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50}],299:[function(e,t,n){"use strict";t.exports=function(e){for(var t=1,n=0,r=0,o=e.length,a=-4&o;r<a;){for(var i=Math.min(r+4096,a);r<i;r+=4)n+=(t+=e.charCodeAt(r))+(t+=e.charCodeAt(r+1))+(t+=e.charCodeAt(r+2))+(t+=e.charCodeAt(r+3));t%=65521,n%=65521}for(;r<o;r++)n+=t+=e.charCodeAt(r);return(t%=65521)|(n%=65521)<<16}},{}],300:[function(t,n,e){(function(e){"use strict";var u=t("./reactProdInvariant"),c=t("./ReactPropTypeLocationNames"),l=t("./ReactPropTypesSecret");t("fbjs/lib/invariant"),t("fbjs/lib/warning");void 0!==e&&e.env;var p={};n.exports=function(e,t,n,r,o,a){for(var i in e)if(e.hasOwnProperty(i)){var s;try{"function"!=typeof e[i]&&u("84",r||"React class",c[n],i),s=e[i](t,i,r,n,null,l)}catch(e){s=e}s instanceof Error&&!(s.message in p)&&(p[s.message]=!0,0)}}}).call(this,t("_process"))},{"./ReactPropTypeLocationNames":270,"./ReactPropTypesSecret":271,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],301:[function(e,t,n){"use strict";t.exports=function(o){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(e,t,n,r){MSApp.execUnsafeLocalFunction(function(){return o(e,t,n,r)})}:o}},{}],302:[function(n,r,e){(function(e){"use strict";var t=n("./CSSProperty"),a=(n("fbjs/lib/warning"),t.isUnitlessNumber);r.exports=function(e,t,n,r){if(null==t||"boolean"==typeof t||""===t)return"";var o=isNaN(t);return r||o||0===t||a.hasOwnProperty(e)&&a[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}}).call(this,n("_process"))},{"./CSSProperty":205,_process:162,"fbjs/lib/warning":57}],303:[function(e,t,n){"use strict";var i=/["'&<>]/;t.exports=function(e){return"boolean"==typeof e||"number"==typeof e?""+e:function(e){var t,n=""+e;if(!(e=i.exec(n)))return n;for(var r="",o=0,a=0,o=e.index;o<n.length;o++){switch(n.charCodeAt(o)){case 34:t=""";break;case 38:t="&";break;case 39:t="'";break;case 60:t="<";break;case 62:t=">";break;default:continue}a!==o&&(r+=n.substring(a,o)),a=o+1,r+=t}return a!==o?r+n.substring(a,o):r}(e)}},{}],304:[function(t,i,e){(function(e){"use strict";var n=t("./reactProdInvariant"),r=(t("react/lib/ReactCurrentOwner"),t("./ReactDOMComponentTree")),o=t("./ReactInstanceMap"),a=t("./getHostComponentFromComposite");t("fbjs/lib/invariant"),t("fbjs/lib/warning");i.exports=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=o.get(e);if(t)return(t=a(t))?r.getNodeFromInstance(t):null;"function"==typeof e.render?n("44"):n("45",Object.keys(e))}}).call(this,t("_process"))},{"./ReactDOMComponentTree":234,"./ReactInstanceMap":262,"./getHostComponentFromComposite":311,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],305:[function(t,n,e){(function(e){"use strict";t("./KeyEscapeUtils");var r=t("./traverseAllChildren");t("fbjs/lib/warning");function o(e,t,n,r){!e||"object"!=typeof e||void 0===e[n]&&null!=t&&(e[n]=t)}void 0!==e&&e.env,n.exports=function(e,t){if(null==e)return e;var n={};return r(e,o,n),n}}).call(this,t("_process"))},{"./KeyEscapeUtils":223,"./traverseAllChildren":326,_process:162,"fbjs/lib/warning":57,"react/lib/ReactComponentTreeHook":333}],306:[function(e,t,n){"use strict";t.exports=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}},{}],307:[function(e,t,n){"use strict";t.exports=function(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,32<=t||13===t?t:0}},{}],308:[function(e,t,n){"use strict";var r=e("./getEventCharCode"),o={Esc:"Escape",Spacebar:" ",Left:"ArrowLeft",Up:"ArrowUp",Right:"ArrowRight",Down:"ArrowDown",Del:"Delete",Win:"OS",Menu:"ContextMenu",Apps:"ContextMenu",Scroll:"ScrollLock",MozPrintableKey:"Unidentified"},a={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",224:"Meta"};t.exports=function(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}return"keypress"!==e.type?"keydown"===e.type||"keyup"===e.type?a[e.keyCode]||"Unidentified":"":13===(e=r(e))?"Enter":String.fromCharCode(e)}},{"./getEventCharCode":307}],309:[function(e,t,n){"use strict";var r={Alt:"altKey",Control:"ctrlKey",Meta:"metaKey",Shift:"shiftKey"};function o(e){var t=this.nativeEvent;if(t.getModifierState)return t.getModifierState(e);e=r[e];return!!e&&!!t[e]}t.exports=function(e){return o}},{}],310:[function(e,t,n){"use strict";t.exports=function(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}},{}],311:[function(e,t,n){"use strict";var r=e("./ReactNodeTypes");t.exports=function(e){for(var t;(t=e._renderedNodeType)===r.COMPOSITE;)e=e._renderedComponent;return t===r.HOST?e._renderedComponent:t===r.EMPTY?null:void 0}},{"./ReactNodeTypes":268}],312:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator;t.exports=function(e){if("function"==typeof(e=e&&(r&&e[r]||e["@@iterator"])))return e}},{}],313:[function(e,t,n){"use strict";function a(e){for(;e&&e.firstChild;)e=e.firstChild;return e}t.exports=function(e,t){for(var n,r=a(e),o=0;r;){if(3===r.nodeType){if(n=o+r.textContent.length,o<=t&&t<=n)return{node:r,offset:t-o};o=n}r=a(function(e){for(;e;){if(e.nextSibling)return e.nextSibling;e=e.parentNode}}(r))}}},{}],314:[function(e,t,n){"use strict";var r=e("fbjs/lib/ExecutionEnvironment"),o=null;t.exports=function(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}},{"fbjs/lib/ExecutionEnvironment":36}],315:[function(e,t,n){"use strict";e=e("fbjs/lib/ExecutionEnvironment");function r(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var o={animationend:r("Animation","AnimationEnd"),animationiteration:r("Animation","AnimationIteration"),animationstart:r("Animation","AnimationStart"),transitionend:r("Transition","TransitionEnd")},a={},i={};e.canUseDOM&&(i=document.createElement("div").style,"AnimationEvent"in window||(delete o.animationend.animation,delete o.animationiteration.animation,delete o.animationstart.animation),"TransitionEvent"in window||delete o.transitionend.transition),t.exports=function(e){if(a[e])return a[e];if(!o[e])return e;var t,n=o[e];for(t in n)if(n.hasOwnProperty(t)&&t in i)return a[e]=n[t];return""}},{"fbjs/lib/ExecutionEnvironment":36}],316:[function(e,t,n){"use strict";var i=e("./ReactDOMComponentTree");function s(e){var t=e.type,e=e.nodeName;return e&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function u(e){return e._wrapperState.valueTracker}var o={_getTrackerFromNode:function(e){return u(i.getInstanceFromNode(e))},track:function(e){var t,n,r,o,a;u(e)||(t=i.getNodeFromInstance(e),n=s(t)?"checked":"value",r=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),o=""+t[n],t.hasOwnProperty(n)||"function"!=typeof r.get||"function"!=typeof r.set||(Object.defineProperty(t,n,{enumerable:r.enumerable,configurable:!0,get:function(){return r.get.call(this)},set:function(e){o=""+e,r.set.call(this,e)}}),a={getValue:function(){return o},setValue:function(e){o=""+e},stopTracking:function(){e._wrapperState.valueTracker=null,delete t[n]}},e._wrapperState.valueTracker=a))},updateValueIfChanged:function(e){if(!e)return!1;var t=u(e);if(!t)return o.track(e),!0;var n,r=t.getValue(),n=((e=i.getNodeFromInstance(e))&&(n=s(e)?""+e.checked:e.value),n);return n!==r&&(t.setValue(n),!0)},stopTracking:function(e){e=u(e);e&&e.stopTracking()}};t.exports=o},{"./ReactDOMComponentTree":234}],317:[function(r,o,e){(function(e){"use strict";var i=r("./reactProdInvariant"),t=r("object-assign"),n=r("./ReactCompositeComponent"),s=r("./ReactEmptyComponent"),u=r("./ReactHostComponent"),c=(r("react/lib/getNextDebugID"),r("fbjs/lib/invariant"),r("fbjs/lib/warning"),function(e){this.construct(e)});function l(e,t){var n,r,o,a;return null===e||!1===e?n=s.create(l):"object"==typeof e?("function"!=typeof(o=(r=e).type)&&"string"!=typeof o&&(a="",a+=function(e){if(e){e=e.getName();if(e)return" Check the render method of `"+e+"`."}return""}(r._owner),i("130",null==o?o:typeof o,a)),"string"==typeof r.type?n=u.createInternalComponent(r):"function"==typeof(a=r.type)&&void 0!==a.prototype&&"function"==typeof a.prototype.mountComponent&&"function"==typeof a.prototype.receiveComponent?(n=new r.type(r)).getHostNode||(n.getHostNode=n.getNativeNode):n=new c(r)):"string"==typeof e||"number"==typeof e?n=u.createInstanceForText(e):i("131",typeof e),n._mountIndex=0,n._mountImage=null,n}t(c.prototype,n,{_instantiateReactComponent:l}),o.exports=l}).call(this,r("_process"))},{"./ReactCompositeComponent":230,"./ReactEmptyComponent":253,"./ReactHostComponent":258,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"object-assign":161,"react/lib/getNextDebugID":348}],318:[function(e,t,n){"use strict";var o,a=e("fbjs/lib/ExecutionEnvironment");a.canUseDOM&&(o=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),t.exports=function(e,t){if(!a.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;return r||((t=document.createElement("div")).setAttribute(n,"return;"),r="function"==typeof t[n]),!r&&o&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}},{"fbjs/lib/ExecutionEnvironment":36}],319:[function(e,t,n){"use strict";var r={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};t.exports=function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}},{}],320:[function(e,t,n){"use strict";var r=e("./escapeTextContentForBrowser");t.exports=function(e){return'"'+r(e)+'"'}},{"./escapeTextContentForBrowser":303}],321:[function(e,t,n){"use strict";t.exports=function(e){for(var t=arguments.length-1,n="Minified React error #"+e+"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant="+e,r=0;r<t;r++)n+="&args[]="+encodeURIComponent(arguments[r+1]);throw n+=" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.",(e=new Error(n)).name="Invariant Violation",e.framesToPop=1,e}},{}],322:[function(e,t,n){"use strict";e=e("./ReactMount");t.exports=e.renderSubtreeIntoContainer},{"./ReactMount":266}],323:[function(e,t,n){"use strict";var r,o=e("fbjs/lib/ExecutionEnvironment"),a=e("./DOMNamespaces"),i=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,e=e("./createMicrosoftUnsafeLocalFunction")(function(e,t){if(e.namespaceURI!==a.svg||"innerHTML"in e)e.innerHTML=t;else{(r=r||document.createElement("div")).innerHTML="<svg>"+t+"</svg>";for(var n=r.firstChild;n.firstChild;)e.appendChild(n.firstChild)}});o.canUseDOM&&((o=document.createElement("div")).innerHTML=" ",""===o.innerHTML&&(e=function(e,t){var n;e.parentNode&&e.parentNode.replaceChild(e,e),i.test(t)||"<"===t[0]&&s.test(t)?(e.innerHTML=String.fromCharCode(65279)+t,1===(n=e.firstChild).data.length?e.removeChild(n):n.deleteData(0,1)):e.innerHTML=t}),o=null),t.exports=e},{"./DOMNamespaces":211,"./createMicrosoftUnsafeLocalFunction":301,"fbjs/lib/ExecutionEnvironment":36}],324:[function(e,t,n){"use strict";var r=e("fbjs/lib/ExecutionEnvironment"),o=e("./escapeTextContentForBrowser"),a=e("./setInnerHTML"),e=function(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t};r.canUseDOM&&("textContent"in document.documentElement||(e=function(e,t){3!==e.nodeType?a(e,o(t)):e.nodeValue=t})),t.exports=e},{"./escapeTextContentForBrowser":303,"./setInnerHTML":323,"fbjs/lib/ExecutionEnvironment":36}],325:[function(e,t,n){"use strict";t.exports=function(e,t){var n=null===e||!1===e,r=null===t||!1===t;return n||r?n==r:(r=typeof t,"string"==(n=typeof e)||"number"==n?"string"==r||"number"==r:"object"==r&&e.type===t.type&&e.key===t.key)}},{}],326:[function(t,n,e){(function(e){"use strict";var h=t("./reactProdInvariant"),g=(t("react/lib/ReactCurrentOwner"),t("./ReactElementSymbol")),m=t("./getIteratorFn"),v=(t("fbjs/lib/invariant"),t("./KeyEscapeUtils")),y=(t("fbjs/lib/warning"),"."),b=":";function _(e,t){return e&&"object"==typeof e&&null!=e.key?v.escape(e.key):t.toString(36)}n.exports=function(e,t,n){return null==e?0:function e(t,n,r,o){var a,i=typeof t;if("undefined"!=i&&"boolean"!=i||(t=null),null===t||"string"==i||"number"==i||"object"==i&&t.$$typeof===g)return r(o,t,""===n?y+_(t,0):n),1;var s=0,u=""===n?y:n+b;if(Array.isArray(t))for(var c=0;c<t.length;c++)s+=e(a=t[c],u+_(a,c),r,o);else if(n=m(t)){var l,p=n.call(t);if(n!==t.entries)for(var f=0;!(l=p.next()).done;)s+=e(a=l.value,u+_(a,f++),r,o);else for(;!(l=p.next()).done;){var d=l.value;d&&(s+=e(a=d[1],u+v.escape(d[0])+b+_(a,0),r,o))}}else"object"==i&&(n="",i=String(t),h("31","[object Object]"===i?"object with keys {"+Object.keys(t).join(", ")+"}":i,n));return s}(e,"",t,n)}}).call(this,t("_process"))},{"./KeyEscapeUtils":223,"./ReactElementSymbol":252,"./getIteratorFn":312,"./reactProdInvariant":321,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57,"react/lib/ReactCurrentOwner":334}],327:[function(n,r,e){(function(e){"use strict";n("object-assign");var t=n("fbjs/lib/emptyFunction"),t=(n("fbjs/lib/warning"),t);r.exports=t}).call(this,n("_process"))},{_process:162,"fbjs/lib/emptyFunction":42,"fbjs/lib/warning":57,"object-assign":161}],328:[function(e,t,n){arguments[4][223][0].apply(n,arguments)},{dup:223}],329:[function(a,i,e){(function(e){"use strict";function n(e){e instanceof this||t("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)}var t=a("./reactProdInvariant"),r=(a("fbjs/lib/invariant"),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),o=r,r={addPoolingTo:function(e,t){return e.instancePool=[],e.getPooled=t||o,e.poolSize||(e.poolSize=10),e.release=n,e},oneArgumentPooler:r,twoArgumentPooler:function(e,t){if(this.instancePool.length){var n=this.instancePool.pop();return this.call(n,e,t),n}return new this(e,t)},threeArgumentPooler:function(e,t,n){if(this.instancePool.length){var r=this.instancePool.pop();return this.call(r,e,t,n),r}return new this(e,t,n)},fourArgumentPooler:function(e,t,n,r){if(this.instancePool.length){var o=this.instancePool.pop();return this.call(o,e,t,n,r),o}return new this(e,t,n,r)}};i.exports=r}).call(this,a("_process"))},{"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50}],330:[function(h,g,e){(function(e){"use strict";var t=h("object-assign"),n=h("./ReactBaseClasses"),r=h("./ReactChildren"),o=h("./ReactDOMFactories"),a=h("./ReactElement"),i=h("./ReactPropTypes"),s=h("./ReactVersion"),u=h("./createClass"),c=h("./onlyChild"),l=a.createElement,p=a.createFactory,f=a.cloneElement,d=function(e){return e},t={Children:{map:r.map,forEach:r.forEach,count:r.count,toArray:r.toArray,only:c},Component:n.Component,PureComponent:n.PureComponent,createElement:l,cloneElement:f,isValidElement:a.isValidElement,PropTypes:i,createClass:u,createFactory:p,createMixin:d,DOM:o,version:s,__spread:t};g.exports=t}).call(this,h("_process"))},{"./ReactBaseClasses":331,"./ReactChildren":332,"./ReactDOMFactories":335,"./ReactElement":336,"./ReactElementValidator":338,"./ReactPropTypes":341,"./ReactVersion":343,"./canDefineProperty":344,"./createClass":346,"./lowPriorityWarning":349,"./onlyChild":350,_process:162,"object-assign":161}],331:[function(u,c,e){(function(e){"use strict";var n=u("./reactProdInvariant"),t=u("object-assign"),r=u("./ReactNoopUpdateQueue"),o=(u("./canDefineProperty"),u("fbjs/lib/emptyObject"));u("fbjs/lib/invariant"),u("./lowPriorityWarning");function a(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||r}function i(e,t,n){this.props=e,this.context=t,this.refs=o,this.updater=n||r}function s(){}a.prototype.isReactComponent={},a.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&n("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},a.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")},s.prototype=a.prototype,t(((i.prototype=new s).constructor=i).prototype,a.prototype),i.prototype.isPureReactComponent=!0,c.exports={Component:a,PureComponent:i}}).call(this,u("_process"))},{"./ReactNoopUpdateQueue":339,"./canDefineProperty":344,"./lowPriorityWarning":349,"./reactProdInvariant":351,_process:162,"fbjs/lib/emptyObject":43,"fbjs/lib/invariant":50,"object-assign":161}],332:[function(e,t,n){"use strict";var r=e("./PooledClass"),s=e("./ReactElement"),u=e("fbjs/lib/emptyFunction"),i=e("./traverseAllChildren"),o=r.twoArgumentPooler,e=r.fourArgumentPooler,a=/\/+/g;function c(e){return(""+e).replace(a,"$&/")}function l(e,t){this.func=e,this.context=t,this.count=0}function p(e,t,n){var r=e.func,o=e.context;r.call(o,t,e.count++)}function f(e,t,n,r){this.result=e,this.keyPrefix=t,this.func=n,this.context=r,this.count=0}function d(e,t,n){var r=e.result,o=e.keyPrefix,a=e.func,i=e.context,e=a.call(i,t,e.count++);Array.isArray(e)?h(e,r,n,u.thatReturnsArgument):null!=e&&(s.isValidElement(e)&&(e=s.cloneAndReplaceKey(e,o+(!e.key||t&&t.key===e.key?"":c(e.key)+"/")+n)),r.push(e))}function h(e,t,n,r,o){var a="";null!=n&&(a=c(n)+"/");o=f.getPooled(t,a,r,o);i(e,d,o),f.release(o)}function g(e,t,n){return null}l.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},r.addPoolingTo(l,o),f.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},r.addPoolingTo(f,e);e={forEach:function(e,t,n){if(null==e)return e;n=l.getPooled(t,n),i(e,p,n),l.release(n)},map:function(e,t,n){if(null==e)return e;var r=[];return h(e,r,null,t,n),r},mapIntoWithKeyPrefixInternal:h,count:function(e,t){return i(e,g,null)},toArray:function(e){var t=[];return h(e,t,null,u.thatReturnsArgument),t}};t.exports=e},{"./PooledClass":329,"./ReactElement":336,"./traverseAllChildren":352,"fbjs/lib/emptyFunction":42}],333:[function(E,C,e){(function(e){"use strict";var n,t,r,i,o,a,s,u,c,l,p,f,d=E("./reactProdInvariant"),h=E("./ReactCurrentOwner");E("fbjs/lib/invariant"),E("fbjs/lib/warning");function g(e){var t=Function.prototype.toString,n=Object.prototype.hasOwnProperty,r=RegExp("^"+t.call(n).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");try{var o=t.call(e);return r.test(o)}catch(e){return!1}}c="function"==typeof Array.from&&"function"==typeof Map&&g(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&g(Map.prototype.keys)&&"function"==typeof Set&&g(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&g(Set.prototype.keys)?(n=new Map,t=new Set,r=function(e,t){n.set(e,t)},i=function(e){return n.get(e)},o=function(e){n.delete(e)},a=function(){return Array.from(n.keys())},s=function(e){t.add(e)},u=function(e){t.delete(e)},function(){return Array.from(t.keys())}):(l={},p={},f=function(e){return parseInt(e.substr(1),10)},r=function(e,t){l["."+e]=t},i=function(e){return l["."+e]},o=function(e){delete l["."+e]},a=function(){return Object.keys(l).map(f)},s=function(e){p["."+e]=!0},u=function(e){delete p["."+e]},function(){return Object.keys(p).map(f)});var m=[];function v(e){var t=i(e);t&&(t=t.childIDs,o(e),t.forEach(v))}function y(e,t,n){return"\n in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function b(e){return null==e?"#empty":"string"==typeof e||"number"==typeof e?"#text":"string"==typeof e.type?e.type:e.type.displayName||e.type.name||"Unknown"}var _={onSetChildren:function(e,t){var n=i(e);n||d("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var o=t[r],a=i(o);a||d("140"),null==a.childIDs&&"object"==typeof a.element&&null!=a.element&&d("141"),a.isMounted||d("71"),null==a.parentID&&(a.parentID=e),a.parentID!==e&&d("142",o,a.parentID,e)}},onBeforeMountComponent:function(e,t,n){r(e,{element:t,parentID:n,text:null,childIDs:[],isMounted:!1,updateCount:0})},onBeforeUpdateComponent:function(e,t){e=i(e);e&&e.isMounted&&(e.element=t)},onMountComponent:function(e){var t=i(e);t||d("144"),t.isMounted=!0,0===t.parentID&&s(e)},onUpdateComponent:function(e){e=i(e);e&&e.isMounted&&e.updateCount++},onUnmountComponent:function(e){var t=i(e);t&&(t.isMounted=!1,0===t.parentID&&u(e)),m.push(e)},purgeUnmountedComponents:function(){if(!_._preventPurging){for(var e=0;e<m.length;e++){v(m[e])}m.length=0}},isMounted:function(e){e=i(e);return!!e&&e.isMounted},getCurrentStackAddendum:function(e){var t,n="";e&&(t=b(e),r=e._owner,n+=y(t,e._source,r&&r.getName()));var r=h.current,r=r&&r._debugID;return n+=_.getStackAddendumByID(r)},getStackAddendumByID:function(e){for(var t,n,r,o,a="";e;)a+=(t=e,o=r=n=void 0,r=_.getDisplayName(t),o=_.getElement(t),(t=_.getOwnerID(t))&&(n=_.getDisplayName(t)),y(r,o&&o._source,n)),e=_.getParentID(e);return a},getChildIDs:function(e){e=i(e);return e?e.childIDs:[]},getDisplayName:function(e){e=_.getElement(e);return e?b(e):null},getElement:function(e){e=i(e);return e?e.element:null},getOwnerID:function(e){e=_.getElement(e);return e&&e._owner?e._owner._debugID:null},getParentID:function(e){e=i(e);return e?e.parentID:null},getSource:function(e){e=i(e),e=e?e.element:null;return null!=e?e._source:null},getText:function(e){e=_.getElement(e);return"string"==typeof e?e:"number"==typeof e?""+e:null},getUpdateCount:function(e){e=i(e);return e?e.updateCount:0},getRootIDs:c,getRegisteredIDs:a,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=h.current,o=r&&r._debugID;try{for(e&&n.push({name:o?_.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var a=_.getElement(o),i=_.getParentID(o),s=_.getOwnerID(o),s=s?_.getDisplayName(s):null,a=a&&a._source;n.push({name:s,fileName:a?a.fileName:null,lineNumber:a?a.lineNumber:null}),o=i}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};C.exports=_}).call(this,E("_process"))},{"./ReactCurrentOwner":334,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],334:[function(e,t,n){"use strict";t.exports={current:null}},{}],335:[function(n,r,e){(function(e){"use strict";var t=n("./ReactElement").createFactory,t={a:t("a"),abbr:t("abbr"),address:t("address"),area:t("area"),article:t("article"),aside:t("aside"),audio:t("audio"),b:t("b"),base:t("base"),bdi:t("bdi"),bdo:t("bdo"),big:t("big"),blockquote:t("blockquote"),body:t("body"),br:t("br"),button:t("button"),canvas:t("canvas"),caption:t("caption"),cite:t("cite"),code:t("code"),col:t("col"),colgroup:t("colgroup"),data:t("data"),datalist:t("datalist"),dd:t("dd"),del:t("del"),details:t("details"),dfn:t("dfn"),dialog:t("dialog"),div:t("div"),dl:t("dl"),dt:t("dt"),em:t("em"),embed:t("embed"),fieldset:t("fieldset"),figcaption:t("figcaption"),figure:t("figure"),footer:t("footer"),form:t("form"),h1:t("h1"),h2:t("h2"),h3:t("h3"),h4:t("h4"),h5:t("h5"),h6:t("h6"),head:t("head"),header:t("header"),hgroup:t("hgroup"),hr:t("hr"),html:t("html"),i:t("i"),iframe:t("iframe"),img:t("img"),input:t("input"),ins:t("ins"),kbd:t("kbd"),keygen:t("keygen"),label:t("label"),legend:t("legend"),li:t("li"),link:t("link"),main:t("main"),map:t("map"),mark:t("mark"),menu:t("menu"),menuitem:t("menuitem"),meta:t("meta"),meter:t("meter"),nav:t("nav"),noscript:t("noscript"),object:t("object"),ol:t("ol"),optgroup:t("optgroup"),option:t("option"),output:t("output"),p:t("p"),param:t("param"),picture:t("picture"),pre:t("pre"),progress:t("progress"),q:t("q"),rp:t("rp"),rt:t("rt"),ruby:t("ruby"),s:t("s"),samp:t("samp"),script:t("script"),section:t("section"),select:t("select"),small:t("small"),source:t("source"),span:t("span"),strong:t("strong"),style:t("style"),sub:t("sub"),summary:t("summary"),sup:t("sup"),table:t("table"),tbody:t("tbody"),td:t("td"),textarea:t("textarea"),tfoot:t("tfoot"),th:t("th"),thead:t("thead"),time:t("time"),title:t("title"),tr:t("tr"),track:t("track"),u:t("u"),ul:t("ul"),var:t("var"),video:t("video"),wbr:t("wbr"),circle:t("circle"),clipPath:t("clipPath"),defs:t("defs"),ellipse:t("ellipse"),g:t("g"),image:t("image"),line:t("line"),linearGradient:t("linearGradient"),mask:t("mask"),path:t("path"),pattern:t("pattern"),polygon:t("polygon"),polyline:t("polyline"),radialGradient:t("radialGradient"),rect:t("rect"),stop:t("stop"),svg:t("svg"),text:t("text"),tspan:t("tspan")};r.exports=t}).call(this,n("_process"))},{"./ReactElement":336,"./ReactElementValidator":338,_process:162}],336:[function(t,n,e){(function(e){"use strict";var f=t("object-assign"),d=t("./ReactCurrentOwner"),h=(t("fbjs/lib/warning"),t("./canDefineProperty"),Object.prototype.hasOwnProperty),s=t("./ReactElementSymbol"),g={key:!0,ref:!0,__self:!0,__source:!0};function m(e){return void 0!==e.ref}function v(e){return void 0!==e.key}function y(e,t,n,r,o,a,i){return a={$$typeof:s,type:e,key:t,ref:n,props:i,_owner:a}}y.createElement=function(e,t,n){var r,o={},a=null,i=null;if(null!=t)for(r in m(t)&&(i=t.ref),v(t)&&(a=""+t.key),void 0===t.__self||t.__self,void 0===t.__source||t.__source,t)h.call(t,r)&&!g.hasOwnProperty(r)&&(o[r]=t[r]);var s=arguments.length-2;if(1==s)o.children=n;else if(1<s){for(var u=Array(s),c=0;c<s;c++)u[c]=arguments[c+2];0,o.children=u}if(e&&e.defaultProps){var l=e.defaultProps;for(r in l)void 0===o[r]&&(o[r]=l[r])}return y(e,a,i,0,0,d.current,o)},y.createFactory=function(e){var t=y.createElement.bind(null,e);return t.type=e,t},y.cloneAndReplaceKey=function(e,t){return y(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},y.cloneElement=function(e,t,n){var r,o,a=f({},e.props),i=e.key,s=e.ref,u=(e._self,e._source,e._owner);if(null!=t)for(r in m(t)&&(s=t.ref,u=d.current),v(t)&&(i=""+t.key),e.type&&e.type.defaultProps&&(o=e.type.defaultProps),t)h.call(t,r)&&!g.hasOwnProperty(r)&&(void 0===t[r]&&void 0!==o?a[r]=o[r]:a[r]=t[r]);var c=arguments.length-2;if(1==c)a.children=n;else if(1<c){for(var l=Array(c),p=0;p<c;p++)l[p]=arguments[p+2];a.children=l}return y(e.type,i,s,0,0,u,a)},y.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===s},n.exports=y}).call(this,t("_process"))},{"./ReactCurrentOwner":334,"./ReactElementSymbol":337,"./canDefineProperty":344,_process:162,"fbjs/lib/warning":57,"object-assign":161}],337:[function(e,t,n){arguments[4][252][0].apply(n,arguments)},{dup:252}],338:[function(t,i,e){(function(e){"use strict";var o=t("./ReactCurrentOwner"),s=t("./ReactComponentTreeHook"),u=t("./ReactElement"),r=t("./checkReactTypeSpec"),c=(t("./canDefineProperty"),t("./getIteratorFn"));t("fbjs/lib/warning"),t("./lowPriorityWarning");function l(){if(o.current){var e=o.current.getName();if(e)return" Check the render method of `"+e+"`."}return""}var a={};function p(e,t){var n,r;e._store&&!e._store.validated&&null==e.key&&(e._store.validated=!0,n=a.uniqueKey||(a.uniqueKey={}),r=t,(t=l())||(r="string"==typeof r?r:r.displayName||r.name)&&(t=" Check the top-level render call using <"+r+">."),n[t=t]||(n[t]=!0,e&&e._owner&&e._owner!==o.current&&e._owner.getName()))}function f(e,t){if("object"==typeof e)if(Array.isArray(e))for(var n=0;n<e.length;n++){var r=e[n];u.isValidElement(r)&&p(r,t)}else if(u.isValidElement(e))e._store&&(e._store.validated=!0);else if(e){var o=c(e);if(o&&o!==e.entries)for(var a,i=o.call(e);!(a=i.next()).done;)u.isValidElement(a.value)&&p(a.value,t)}}function d(e){var t,n=e.type;"function"==typeof n&&(t=n.displayName||n.name,n.propTypes&&r(n.propTypes,e.props,"prop",t,e,null),n.getDefaultProps)}var n={createElement:function(e,t,n){var r,o="string"==typeof e||"function"==typeof e;o||"function"!=typeof e&&"string"!=typeof e&&(a="",(void 0===e||"object"==typeof e&&null!==e&&0===Object.keys(e).length)&&(a+=" You likely forgot to export your component from the file it's defined in."),a+=(null==(r=t)||void 0===r.__source?"":" Check your code at "+(r=r.__source).fileName.replace(/^.*[\\\/]/,"")+":"+r.lineNumber+".")||l(),a+=s.getCurrentStackAddendum(),a=null!=t&&void 0!==t.__source?t.__source:null,s.pushNonStandardWarningStack(!0,a),s.popNonStandardWarningStack());var a=u.createElement.apply(this,arguments);if(null==a)return a;if(o)for(var i=2;i<arguments.length;i++)f(arguments[i],e);return d(a),a},createFactory:function(e){var t=n.createElement.bind(null,e);return t.type=e,t},cloneElement:function(e,t,n){for(var r=u.cloneElement.apply(this,arguments),o=2;o<arguments.length;o++)f(arguments[o],r.type);return d(r),r}};i.exports=n}).call(this,t("_process"))},{"./ReactComponentTreeHook":333,"./ReactCurrentOwner":334,"./ReactElement":336,"./canDefineProperty":344,"./checkReactTypeSpec":345,"./getIteratorFn":347,"./lowPriorityWarning":349,_process:162,"fbjs/lib/warning":57}],339:[function(n,r,e){(function(e){"use strict";n("fbjs/lib/warning");var t={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}};r.exports=t}).call(this,n("_process"))},{_process:162,"fbjs/lib/warning":57}],340:[function(e,n,t){(function(e){"use strict";var t={};n.exports=t}).call(this,e("_process"))},{_process:162}],341:[function(e,t,n){"use strict";var r=e("./ReactElement").isValidElement,e=e("prop-types/factory");t.exports=e(r)},{"./ReactElement":336,"prop-types/factory":164}],342:[function(e,t,n){arguments[4][271][0].apply(n,arguments)},{dup:271}],343:[function(e,t,n){arguments[4][279][0].apply(n,arguments)},{dup:279}],344:[function(e,n,t){(function(e){"use strict";var t=!1;n.exports=t}).call(this,e("_process"))},{_process:162}],345:[function(t,n,e){(function(e){"use strict";var u=t("./reactProdInvariant"),c=t("./ReactPropTypeLocationNames"),l=t("./ReactPropTypesSecret");t("fbjs/lib/invariant"),t("fbjs/lib/warning");void 0!==e&&e.env;var p={};n.exports=function(e,t,n,r,o,a){for(var i in e)if(e.hasOwnProperty(i)){var s;try{"function"!=typeof e[i]&&u("84",r||"React class",c[n],i),s=e[i](t,i,r,n,null,l)}catch(e){s=e}s instanceof Error&&!(s.message in p)&&(p[s.message]=!0,0)}}}).call(this,t("_process"))},{"./ReactComponentTreeHook":333,"./ReactPropTypeLocationNames":340,"./ReactPropTypesSecret":342,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],346:[function(e,t,n){"use strict";var r=e("./ReactBaseClasses").Component,o=e("./ReactElement").isValidElement,a=e("./ReactNoopUpdateQueue"),e=e("create-react-class/factory");t.exports=e(r,o,a)},{"./ReactBaseClasses":331,"./ReactElement":336,"./ReactNoopUpdateQueue":339,"create-react-class/factory":12}],347:[function(e,t,n){arguments[4][312][0].apply(n,arguments)},{dup:312}],348:[function(e,t,n){"use strict";var r=1;t.exports=function(){return r++}},{}],349:[function(e,n,t){(function(e){"use strict";var t=function(){};n.exports=t}).call(this,e("_process"))},{_process:162}],350:[function(r,o,e){(function(e){"use strict";var t=r("./reactProdInvariant"),n=r("./ReactElement");r("fbjs/lib/invariant");o.exports=function(e){return n.isValidElement(e)||t("143"),e}}).call(this,r("_process"))},{"./ReactElement":336,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50}],351:[function(e,t,n){arguments[4][321][0].apply(n,arguments)},{dup:321}],352:[function(t,n,e){(function(e){"use strict";var h=t("./reactProdInvariant"),g=(t("./ReactCurrentOwner"),t("./ReactElementSymbol")),m=t("./getIteratorFn"),v=(t("fbjs/lib/invariant"),t("./KeyEscapeUtils")),y=(t("fbjs/lib/warning"),"."),b=":";function _(e,t){return e&&"object"==typeof e&&null!=e.key?v.escape(e.key):t.toString(36)}n.exports=function(e,t,n){return null==e?0:function e(t,n,r,o){var a,i=typeof t;if("undefined"!=i&&"boolean"!=i||(t=null),null===t||"string"==i||"number"==i||"object"==i&&t.$$typeof===g)return r(o,t,""===n?y+_(t,0):n),1;var s=0,u=""===n?y:n+b;if(Array.isArray(t))for(var c=0;c<t.length;c++)s+=e(a=t[c],u+_(a,c),r,o);else if(n=m(t)){var l,p=n.call(t);if(n!==t.entries)for(var f=0;!(l=p.next()).done;)s+=e(a=l.value,u+_(a,f++),r,o);else for(;!(l=p.next()).done;){var d=l.value;d&&(s+=e(a=d[1],u+v.escape(d[0])+b+_(a,0),r,o))}}else"object"==i&&(n="",i=String(t),h("31","[object Object]"===i?"object with keys {"+Object.keys(t).join(", ")+"}":i,n));return s}(e,"",t,n)}}).call(this,t("_process"))},{"./KeyEscapeUtils":328,"./ReactCurrentOwner":334,"./ReactElementSymbol":337,"./getIteratorFn":347,"./reactProdInvariant":351,_process:162,"fbjs/lib/invariant":50,"fbjs/lib/warning":57}],353:[function(e,t,n){"use strict";t.exports=e("./lib/React")},{"./lib/React":330}],354:[function(e,t,n){"use strict";n.__esModule=!0,n.ActionTypes=void 0,n.default=function e(t,n,r){"function"==typeof n&&void 0===r&&(r=n,n=void 0);if(void 0!==r){if("function"!=typeof r)throw new Error("Expected the enhancer to be a function.");return r(e)(t,n)}if("function"!=typeof t)throw new Error("Expected the reducer to be a function.");var o=t;var a=n;var i=[];var s=i;var u=!1;function c(){s===i&&(s=i.slice())}function l(){return a}function p(t){if("function"!=typeof t)throw new Error("Expected listener to be a function.");var n=!0;return c(),s.push(t),function(){var e;n&&(n=!1,c(),e=s.indexOf(t),s.splice(e,1))}}function f(e){if(!(0,g.default)(e))throw new Error("Actions must be plain objects. Use custom middleware for async actions.");if(void 0===e.type)throw new Error('Actions may not have an undefined "type" property. Have you misspelled a constant?');if(u)throw new Error("Reducers may not dispatch actions.");try{u=!0,a=o(a,e)}finally{u=!1}for(var t=i=s,n=0;n<t.length;n++){var r=t[n];r()}return e}function d(e){if("function"!=typeof e)throw new Error("Expected the nextReducer to be a function.");o=e,f({type:v.INIT})}function h(){var e,r=p;return(e={subscribe:function(e){if("object"!=typeof e)throw new TypeError("Expected the observer to be an object.");function t(){e.next&&e.next(a)}t();var n=r(t);return{unsubscribe:n}}})[m.default]=function(){return this},e}f({type:v.INIT});return n={dispatch:f,subscribe:p,getState:l,replaceReducer:d},n[m.default]=h,n};var g=r(e("lodash/isPlainObject")),m=r(e("symbol-observable"));function r(e){return e&&e.__esModule?e:{default:e}}var v=n.ActionTypes={INIT:"@@redux/INIT"}},{"lodash/isPlainObject":152,"symbol-observable":355}],355:[function(o,a,i){(function(e){"use strict";Object.defineProperty(i,"__esModule",{value:!0});var t,n=o("./ponyfill.js"),r=(t=n)&&t.__esModule?t:{default:t};e="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:void 0!==a?a:Function("return this")();e=(0,r.default)(e);i.default=e}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./ponyfill.js":356}],356:[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default=function(e){var t,e=e.Symbol;"function"==typeof e?e.observable?t=e.observable:(t=e("observable"),e.observable=t):t="@@observable";return t}},{}]},{},[9]);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
js/jpibfi.client.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
!function(){function t(e,i,n){function r(s,a){if(!i[s]){if(!e[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var l=i[s]={exports:{}};e[s][0].call(l.exports,function(t){var i=e[s][1][t];return r(i||t)},l,l.exports,t,e,i,n)}return i[s].exports}for(var o="function"==typeof require&&require,s=0;s<n.length;s++)r(n[s]);return r}return t}()({1:[function(t,e,i){"use strict";var n=function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++){e=arguments[i];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},n.apply(this,arguments)};i.__esModule=!0;var r=t("./css-helper"),o=55/64,s=51/73,a=41/64,u=36/54,c=.7,l=.7,p=function(t,e){var i=t*u;switch(e){case"pushpin":return i*l;case"thumb-tack":return i*c;default:return i}},f=function(t,e){switch(e){case"circle":return{"margin-top":-.5*t+"px","margin-left":-.5*t*o+"px"};case"plain":return{"margin-top":-.46875*t+"px","margin-left":-.5*t*s+"px"};case"thumb-tack":return{"margin-top":-29.5/64*t+"px","margin-left":-.5*t*a+"px"};case"pushpin":case"pinterest2":return{"margin-top":-.5*t+"px","margin-left":-.5*t+"px"}}},h=function(t,e,i){var o=p(t.height,e),s={height:t.height+"px !important",width:t.width+"px !important"},a=n({},s,{"font-size":o+"px"}),u=f(o,e);r.addMediaQueryRule("a.pinit-button",i,s),r.addMediaQueryRule("a.pinit-button span",i,a),r.addMediaQueryRule("a.pinit-button span:before",i,u)};i.createCssRulesForDefaultButton=function(t,e){h(t,e,0)};var d=function(t,e){var i={height:t.height+"px !important",width:t.width+"px !important"},o=n({},i,{"background-size":t.width+"px "+t.height+"px !important"});r.addMediaQueryRule("a.pinit-button",e,i),r.addMediaQueryRule("a.pinit-button span",e,o)};i.createCssRulesForCustomButton=function(t){d(t,0)}},{"./css-helper":2}],2:[function(t,e,i){"use strict";i.__esModule=!0;var n,r;!function(t){t[t.xsm=0]="xsm",t[t.sm=576]="sm",t[t.md=768]="md",t[t.lg=992]="lg",t[t.xlg=1200]="xlg"}(r=i.Breakpoints||(i.Breakpoints={})),i.BreakpointsList=Object.keys(r).filter(function(t){return"number"==typeof r[t]}).map(function(t){return Number(r[t])}),i.getCurrentBreakpoint=function(){for(var t=window.innerWidth,e=i.BreakpointsList.length-1;e>=0;e--)if(t>=i.BreakpointsList[e])return i.BreakpointsList[e];return r.xsm};var o=(n={},n[r.xsm]={width:50,height:50},n[r.sm]={width:60,height:60},n[r.md]={width:80,height:80},n[r.lg]={width:110,height:110},n[r.xlg]={width:1e3,height:1e3},n),s=function(t,e){var i="string"==typeof e?e:Object.keys(e).map(function(t){return t+":"+("content"===t?"'"+e[t]+"'":e[t])}).join(";");return t+" {"+i+"}"},a=function(t,e){return"@media (min-width: "+t+"px){ "+e+" }"},u=function(t){var e=document.createElement("style"),i=document.head.appendChild(e).sheet;i.insertRule(t,i.cssRules.length)};i.addCssRule=function(t,e){u(s(t,e))},i.addMediaQueryRule=function(t,e,i){var n=s(t,i),r=e>0?a(e,n):n;u(r)};var c=function(t,e){var i=Math.min(1,e.width/t.width),n=Math.min(1,e.height/t.height);return Math.min(i,n)};i.calculateSizeForBreakpoint=function(t,e){var i=o[e],n=c(t,i);return{height:t.height*n,width:t.width*n}}},{}],3:[function(t,e,i){"use strict";i.__esModule=!0;var n=function(){function t(t){var e=(void 0===t?{}:t).siteTitle,i=void 0===e?"":e;this.desc_funcs={img_title:function(t){return t.attr("title")||t.attr("data-jpibfi-title")},img_alt:function(t){return t.attr("alt")||t.attr("data-jpibfi-alt")},post_title:function(t){return t.attr("data-jpibfi-post-title")},post_excerpt:function(t){return t.attr("data-jpibfi-post-excerpt")},img_description:function(t){return t.attr("data-jpibfi-description")},img_caption:function(t){return t.attr("data-jpibfi-caption")},site_title:function(){return i},data_pin_description:function(t){return t.attr("data-pin-description")}}}return t.prototype.getDescription=function(t,e){for(var i="",n=0;n<e.length&&!i;n++)i=this.desc_funcs[e[n]](t);return i||""},t}();i["default"]=n},{}],4:[function(t,e,i){"use strict";i.__esModule=!0;var n;!function(t){t[t.Width=0]="Width",t[t.PixelDensity=1]="PixelDensity"}(n||(n={}));var r=/(.+)\s+(\d{1,4})w\s*/i,o=/(.*)\s+(\d{1,3}(\.\d{0,2})?)x\s*/i,s={Url:1,WidthDescriptor:2},a=function(t){if(0!==t.length)return t.some(function(t){return null!==r.exec(t)})?n.Width:t.some(function(t){return null!==o.exec(t)})?n.PixelDensity:void 0},u=function(t,e){if(e!==n.PixelDensity){var i=t.map(function(t){return r.exec(t)}).filter(function(t){return!!t}).map(function(t){return{url:t[s.Url].trim(),width:Number(t[s.WidthDescriptor])}});if(0!==i.length)return i.reduce(function(t,e){return t.width>e.width?t:e},i[0])}};i.getWidestImageUrlFromSrcset=function(t){var e=t.prop?t.prop("srcset"):t.attr("srcset");if(e&&0!==e.length)try{var i=e.split(","),n=a(i),r=u(i,n);return void 0!==r?r.url:void 0}catch(o){return void(console&&console.error&&console.error(o))}}},{}],5:[function(t,e,i){"use strict";i.__esModule=!0;var n=function(){function t(t){var e=this;this.flags={},this.pluginName=t;var i="undefined"!=typeof console&&"undefined"!=typeof console.log,n="undefined"!=typeof JSON&&"function"==typeof JSON.stringify;i?(this.logString=function(t){e.log(t)},this.logObject=n?function(t){e.log(JSON.stringify(t,null,4))}:function(t){return e.simplelogObject(t)}):(this.logString=function(){},this.logObject=function(){});var r=this.getQueryParams(document.location.search);Object.keys(r).forEach(function(i){var n=i.replace(t+"_","");e.setFlag(n,r[i])})}return t.prototype.getFlag=function(t){return void 0!==this.flags[t]&&this.flags[t]},t.prototype.getQueryParams=function(t){t=t.split("+").join(" ");for(var e,i={},n=/[?&]?([^=]+)=([^&]*)/g;e=n.exec(t);)i[decodeURIComponent(e[1])]=decodeURIComponent(e[2]);return i},t.prototype.log=function(t){this.getFlag("print")&&console.log(this.pluginName+" debug: "+t)},t.prototype.setFlag=function(t,e){void 0===e&&(e=!0),this.flags[t]=e},t.prototype.simplelogObject=function(t){if(this.getFlag("print")){var e=Object.keys(t).filter(function(e){return t.hasOwnPrototype(e)}).map(function(e){return e+": "+t[e]+"\n"}).join();this.log(e)}},t}();i["default"]=n},{}],6:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./link-generator"),r=function(){function t(t,e){this.$=t,this.settings=e,this.linkGenerator=new n["default"](e),this.$element=this.$("<a />",{target:"_blank","class":"pinit-button "+e.pin_image});var i="default"===e.pin_image?"jpibfi-icon-"+e.pin_image_icon:"";this.$element.html('<span class="'+i+'"></span>'),"default"===e.pin_image&&this.$element.addClass("jpibfi-button-"+e.pin_image_button)}return t.prototype.createButton=function(t){var e=this.linkGenerator.generate(t);if(e)return this.$element.clone(!1).attr("href",e).click(function(t){t.preventDefault(),t.stopPropagation(),"#"!==t.currentTarget.href.slice(-1)&&window.open(t.currentTarget.href,"mw"+t.timeStamp,"left=20,top=20,width=600,height=500,toolbar=1,resizable=0")})},t.prototype.getSize=function(){var t={height:this.settings.pinImageHeight,width:this.settings.pinImageWidth};return t},t}();i["default"]=r},{"./link-generator":9}],7:[function(t,e,i){"use strict";i.__esModule=!0;var n=function(){function t(t){var e=this;this.settings=t,this.disabledClasses=this.createClassList(t.disabled_classes),this.enabledClasses=this.createClassList(t.enabled_classes),this.updateSizeConstraints(),window.addEventListener("resize",function(){return e.updateSizeConstraints()},!1)}return t.prototype.createClassList=function(t){return void 0===t&&(t=""),t.split(";").filter(function(t){return!!t})},t.prototype.imageEligible=function(t){return this.imageSizeIsOk(t)&&(0===this.enabledClasses.length||this.enabledClasses.some(function(e){return t.hasClass(e)||t.parents("."+e).length>0}))&&!this.disabledClasses.some(function(e){return t.hasClass(e)||t.parents("."+e).length>0})},t.prototype.imageSizeIsOk=function(t){var e=t[0].clientWidth,i=t[0].clientHeight;return e>=this.minWidth&&i>=this.minHeight},t.prototype.updateSizeConstraints=function(){this.minWidth=window.outerWidth<768?this.settings.min_image_width_small:this.settings.min_image_width,this.minHeight=window.outerWidth<768?this.settings.min_image_height_small:this.settings.min_image_height},t}();i["default"]=n},{}],8:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./show-on-hover-strategy"),r=function(){function t(t,e,i){this.settings=e,this.$=t,this.logger=i}return t.prototype.init=function(){this.showStrategy=this.getStrategy(),this.showStrategy.start()},t.prototype.getStrategy=function(){var t=null;return new(t=n["default"])(this.$,this.settings,this.logger)},t}();i["default"]=r},{"./show-on-hover-strategy":11}],9:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("../common/description-helper");t("../common/srcset-helper");i.getExtension=function(t){void 0===t&&(t="");var e=t.replace(/^https?\:\/\/[^\/?#]+(?:[\/?#]|$)/i,""),i=e.split(".");if(1===i.length)return"";var n=i[i.length-1],r=n.replace(/\?.*/i,"").toLowerCase();return r};var r=function(t){return["","html","php"].indexOf(t)!==-1},o=function(t){var e=window.location&&window.location.hostname||"",i=e.replace("www.","");return t.indexOf(i)>=0},s=function(){function t(t){this.descriptionHelper=new n["default"]({siteTitle:t.siteTitle}),this.description_option=t.description_option,this.supportSrcset=t.support_srcset,this.pinLinkedUrl=t.pin_linked_url}return t.prototype.getDescription=function(t){return this.descriptionHelper.getDescription(t,this.description_option)},t.prototype.getImage=function(t,e){var n=t.attr("data-pin-media")||t.attr("data-jpibfi-src")||t.prop("src");if(n){if(!e)return n;var r=i.getExtension(n);return e.extension===r?e.href:n}},t.prototype.getUrl=function(t,e){return t.attr("data-pin-url")?t.attr("data-pin-url"):this.pinLinkedUrl&&e&&o(e.href)&&r(e.extension)?e.href:t.attr("data-jpibfi-post-url")||window.location.href},t.prototype.generate=function(t){var e=t.closest("a[href]"),n=void 0;1===e.length&&(n={extension:i.getExtension(e.prop("href")),href:e.prop("href")});var r=this.getImage(t,n);if(void 0!==r){var o=encodeURIComponent(r),s=encodeURIComponent(this.getDescription(t)),a=encodeURIComponent(this.getUrl(t,n));return"https://pinterest.com/pin/create/bookmarklet/?is_video=false&url="+a+"&media="+o+"&description="+s}},t}();i["default"]=s},{"../common/description-helper":3,"../common/srcset-helper":4}],10:[function(t,e,i){"use strict";i.__esModule=!0;var n=function(t,e,i,n){return t.top+n.top},r=function(t,e,i,n){return t.left+n.left},o=function(t,e,i,n){return e.top-i.height-n.bottom},s=function(t,e,i,n){return e.left-n.right-i.width},a=function(t,e,i){return t.top+((e.top-t.top)/2-i.height/2)},u=function(t,e,i){return t.left+((e.left-t.left)/2-i.width/2)},c=function(){function t(t,e){this.topF=t,this.leftF=e}return t.prototype.calculate=function(t,e,i,n){return{top:this.topF(t,e,i,n),left:this.leftF(t,e,i,n)}},t}(),l=function(t){switch(t){case"top-left":return new c(n,r);case"top-right":return new c(n,s);case"bottom-left":return new c(o,r);case"bottom-right":return new c(o,s);default:return new c(a,u)}},p=function(){function t(t,e){this.margins=e,this.positionCalculator=l(t)}return t.prototype.calculatePosition=function(t,e,i){return this.positionCalculator.calculate(t,e,i,this.margins)},t}();i["default"]=p},{}],11:[function(t,e,i){"use strict";var n=function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}}();i.__esModule=!0;var r=t("./show-strategy"),o=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return n(e,t),e.prototype.init=function(){this.addContainers()},e.prototype.start=function(){var t=this;this.init();var e="data-jpibfi-timeout",i=0,n=function(e){return t.$("a.pinit-button["+t.indexerAttr+'="'+e+'"]')},r=this;r.$(document).delegate(this.settings.image_selector,"mouseenter",function(){var t=r.$(this);if(r.imageFilter.imageEligible(t)){var o=t.attr(r.indexerAttr);o||(o=i++,t.attr(r.indexerAttr,o));var s=n(o);if(0===s.length){var a=r.buttonGenerator.createButton(t);if(!a)return;t.addClass("pinit-hover");var u=r.buttonGenerator.getSize(),c=t.offset(),l={top:c.top+t[0].clientHeight,left:c.left+t[0].clientWidth},p=r.positioner.calculatePosition(c,l,u);t.after(a),a.attr(r.indexerAttr,o).css("visibility","hidden").show().offset(p).css("visibility","visible").hover(function(){return clearTimeout(a.attr(e))},function(){return a.attr(e,setTimeout(function(){t.removeClass("pinit-hover"),a.remove()},100))})}else clearTimeout(s.attr(e))}}),r.$(document).delegate(this.settings.image_selector,"mouseleave",function(){if(!r.logger.getFlag("prevent_hide")){var t=r.$(this),i=t.attr(r.indexerAttr);if(i){var o=n(i);o.attr(e,setTimeout(function(){t.removeClass("pinit-hover"),o.remove()},100))}}})},e}(r["default"]);i["default"]=o},{"./show-strategy":12}],12:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./image-filter"),r=t("./button-generator"),o=t("./positioner"),s=t("../common/css-generator"),a=function(){function t(t,e,i){this.$=t,this.settings=e,this.logger=i,this.imageFilter=new n["default"](e),this.buttonGenerator=new r["default"](t,e);var a={left:e.button_margin_left,top:e.button_margin_top,right:e.button_margin_right,bottom:e.button_margin_bottom};this.positioner=new o["default"](e.button_position,a),this.indexerAttr="data-jpibfi-indexer";var u=this.settings,c=u.pin_image,l=u.pin_image_icon,p=u.pinImageHeight,f=u.pinImageWidth,h=(u.scale_pin_image,{width:f,height:p});switch(c){case"custom":case"old_default":var d=s.createCssRulesForCustomButton;d(h);break;case"default":var d=s.createCssRulesForDefaultButton;d(h,l)}}return t.prototype.addContainers=function(){var t=this.$(".jpibfi"),e=t.closest("div, article");e=e.length?e:t.parent(),e.addClass("jpibfi_container")},t}();i["default"]=a},{"../common/css-generator":1,"./button-generator":6,"./image-filter":7,"./positioner":10}],13:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./settings"),r=t("./debugger"),o=t("./hover");!function(t){var e=function(){var e=window.jpibfi_options,i=new n["default"](t.extend({pageUrl:document.URL,pageTitle:document.title,pageDescription:t('meta[name="description"]').attr("content")||""},e.hover)),s=new r["default"]("jpibfi");window.jpibfi_debugger=s;var a=new o["default"](t,i,s);a.init()};t(document).ready(e)}(window.jQuery)},{"./debugger":5,"./hover":8,"./settings":14}],14:[function(t,e,i){"use strict";i.__esModule=!0;var n=function(){function t(t){var e=this;Object.keys(t).forEach(function(i){e[i]=t[i]}),this.isTouchDevice="ontouchstart"in window||{}.hasOwnProperty.call(navigator,"maxTouchPoints")}return t}();i["default"]=n},{}]},{},[13]);
|
1 |
+
!function n(r,o,s){function a(e,t){if(!o[e]){if(!r[e]){var i="function"==typeof require&&require;if(!t&&i)return i(e,!0);if(u)return u(e,!0);throw(i=new Error("Cannot find module '"+e+"'")).code="MODULE_NOT_FOUND",i}i=o[e]={exports:{}},r[e][0].call(i.exports,function(t){return a(r[e][1][t]||t)},i,i.exports,n,r,o,s)}return o[e].exports}for(var u="function"==typeof require&&require,t=0;t<s.length;t++)a(s[t]);return a}({1:[function(t,e,i){"use strict";var o=function(){return(o=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t}).apply(this,arguments)};i.__esModule=!0,i.createMediaQueriesForCustomButton=i.createMediaQueriesForDefaultButton=i.createCssRulesForCustomButton=i.createCssRulesForDefaultButton=void 0;var s=t("./css-helper");i.createCssRulesForDefaultButton=function(t,e){var i,n,r;n=e,r=0,e=function(t,e){t*=36/54;switch(e){case"pushpin":case"thumb-tack":return.7*t;default:return t}}((i=t).height,n),t={height:i.height+"px !important",width:i.width+"px !important"},i=o(o({},t),{"font-size":e+"px"}),n=function(t,e){switch(e){case"circle":return{"margin-top":-.5*t+"px","margin-left":-.5*t*(55/64)+"px"};case"plain":return{"margin-top":-.46875*t+"px","margin-left":-.5*t*(51/73)+"px"};case"thumb-tack":return{"margin-top":-29.5/64*t+"px","margin-left":-.5*t*(41/64)+"px"};case"pushpin":case"pinterest2":return{"margin-top":-.5*t+"px","margin-left":-.5*t+"px"}}}(e,n),s.addMediaQueryRule("a.pinit-button",r,t),s.addMediaQueryRule("a.pinit-button span",r,i),s.addMediaQueryRule("a.pinit-button span:before",r,n)};i.createCssRulesForCustomButton=function(t){var e,i;i=0,t={height:(e=t).height+"px !important",width:e.width+"px !important"},e=o(o({},t),{"background-size":e.width+"px "+e.height+"px !important"}),s.addMediaQueryRule("a.pinit-button",i,t),s.addMediaQueryRule("a.pinit-button span",i,e)}},{"./css-helper":2}],2:[function(t,e,i){"use strict";var n,r;i.__esModule=!0,i.calculateSizeForBreakpoint=i.addMediaQueryRule=i.addCssRule=i.getCurrentBreakpoint=i.BreakpointsList=i.Breakpoints=void 0,(r=n=i.Breakpoints||(i.Breakpoints={}))[r.xsm=0]="xsm",r[r.sm=576]="sm",r[r.md=768]="md",r[r.lg=992]="lg",r[r.xlg=1200]="xlg",i.BreakpointsList=Object.keys(n).filter(function(t){return"number"==typeof n[t]}).map(function(t){return Number(n[t])}),i.getCurrentBreakpoint=function(){for(var t=window.innerWidth,e=i.BreakpointsList.length-1;0<=e;e--)if(t>=i.BreakpointsList[e])return i.BreakpointsList[e];return n.xsm};function o(t,e){return t+" {"+("string"==typeof e?e:Object.keys(e).map(function(t){return t+":"+("content"===t?"'"+e[t]+"'":e[t])}).join(";"))+"}"}function s(t){var e=document.createElement("style");(e=document.head.appendChild(e).sheet).insertRule(t,e.cssRules.length)}var a=((r={})[n.xsm]={width:50,height:50},r[n.sm]={width:60,height:60},r[n.md]={width:80,height:80},r[n.lg]={width:110,height:110},r[n.xlg]={width:1e3,height:1e3},r);i.addCssRule=function(t,e){s(o(t,e))},i.addMediaQueryRule=function(t,e,i){i=o(t,i),i=0<e?"@media (min-width: "+e+"px){ "+i+" }":i;s(i)};i.calculateSizeForBreakpoint=function(t,e){var i,n=a[e],i=(i=t,e=n,n=Math.min(1,e.width/i.width),i=Math.min(1,e.height/i.height),Math.min(n,i));return{height:t.height*i,width:t.width*i}}},{}],3:[function(t,e,i){"use strict";i.__esModule=!0;var n=(r.prototype.getDescription=function(t,e){for(var i="",n=0;n<e.length&&!i;n++)i=this.desc_funcs[e[n]](t);return i||""},r);function r(t){var t=(void 0===t?{}:t).siteTitle,e=void 0===t?"":t;this.desc_funcs={img_title:function(t){return t.attr("title")||t.attr("data-jpibfi-title")},img_alt:function(t){return t.attr("alt")||t.attr("data-jpibfi-alt")},post_title:function(t){return t.attr("data-jpibfi-post-title")},post_excerpt:function(t){return t.attr("data-jpibfi-post-excerpt")},img_description:function(t){return t.attr("data-jpibfi-description")},img_caption:function(t){return t.attr("data-jpibfi-caption")},site_title:function(){return e},data_pin_description:function(t){return t.attr("data-pin-description")}}}i.default=n},{}],4:[function(t,e,i){"use strict";var n,r;i.__esModule=!0,i.getWidestImageUrlFromSrcset=void 0,(r=n=n||{})[r.Width=0]="Width",r[r.PixelDensity=1]="PixelDensity";var o=/(.+)\s+(\d{1,4})w\s*/i,s=/(.*)\s+(\d{1,3}(\.\d{0,2})?)x\s*/i,a=1,u=2;i.getWidestImageUrlFromSrcset=function(t){var e=t.prop?t.prop("srcset"):t.attr("srcset");if(e&&0!==e.length)try{var i=e.split(","),i=function(t,e){if(e!==n.PixelDensity){t=t.map(function(t){return o.exec(t)}).filter(function(t){return!!t}).map(function(t){return{url:t[a].trim(),width:Number(t[u])}});if(0!==t.length)return t.reduce(function(t,e){return t.width>e.width?t:e},t[0])}}(i,function(t){if(0!==t.length)return t.some(function(t){return null!==o.exec(t)})?n.Width:t.some(function(t){return null!==s.exec(t)})?n.PixelDensity:void 0}(i));return void 0!==i?i.url:void 0}catch(t){return void(console&&console.error&&console.error(t))}}},{}],5:[function(t,e,i){"use strict";i.__esModule=!0;var n=(r.prototype.getFlag=function(t){return void 0!==this.flags[t]&&this.flags[t]},r.prototype.getQueryParams=function(t){t=t.split("+").join(" ");for(var e,i={},n=/[?&]?([^=]+)=([^&]*)/g;e=n.exec(t);)i[decodeURIComponent(e[1])]=decodeURIComponent(e[2]);return i},r.prototype.log=function(t){this.getFlag("print")&&console.log(this.pluginName+" debug: "+t)},r.prototype.setFlag=function(t,e){void 0===e&&(e=!0),this.flags[t]=e},r.prototype.simplelogObject=function(e){var t;this.getFlag("print")&&(t=Object.keys(e).filter(function(t){return e.hasOwnPrototype(t)}).map(function(t){return t+": "+e[t]+"\n"}).join(),this.log(t))},r);function r(i){var n=this;this.flags={},this.pluginName=i;var t="undefined"!=typeof console&&void 0!==console.log,e="undefined"!=typeof JSON&&"function"==typeof JSON.stringify;t?(this.logString=function(t){n.log(t)},this.logObject=e?function(t){n.log(JSON.stringify(t,null,4))}:function(t){return n.simplelogObject(t)}):(this.logString=function(){},this.logObject=function(){});var r=this.getQueryParams(document.location.search);Object.keys(r).forEach(function(t){var e=t.replace(i+"_","");n.setFlag(e,r[t])})}i.default=n},{}],6:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./link-generator"),t=(r.prototype.createButton=function(t){t=this.linkGenerator.generate(t);if(t)return this.$element.clone(!1).attr("href",t).click(function(t){t.preventDefault(),t.stopPropagation(),"#"!==t.currentTarget.href.slice(-1)&&window.open(t.currentTarget.href,"mw"+t.timeStamp,"left=20,top=20,width=600,height=500,toolbar=1,resizable=0")})},r.prototype.getSize=function(){return{height:this.settings.pinImageHeight,width:this.settings.pinImageWidth}},r);function r(t,e){this.$=t,this.settings=e,this.linkGenerator=new n.default(e),this.$element=this.$("<a />",{target:"_blank",class:"pinit-button "+e.pin_image});t="default"===e.pin_image?"jpibfi-icon-"+e.pin_image_icon:"";this.$element.html('<span class="'+t+'"></span>'),"default"===e.pin_image&&this.$element.addClass("jpibfi-button-"+e.pin_image_button)}i.default=t},{"./link-generator":9}],7:[function(t,e,i){"use strict";i.__esModule=!0;var n=(r.prototype.createClassList=function(t){return void 0===t&&(t=""),t.split(";").filter(function(t){return!!t})},r.prototype.imageEligible=function(e){return this.imageSizeIsOk(e)&&(0===this.enabledClasses.length||this.enabledClasses.some(function(t){return e.hasClass(t)||0<e.parents("."+t).length}))&&!this.disabledClasses.some(function(t){return e.hasClass(t)||0<e.parents("."+t).length})},r.prototype.imageSizeIsOk=function(t){var e=t[0].clientWidth,t=t[0].clientHeight;return e>=this.minWidth&&t>=this.minHeight},r.prototype.updateSizeConstraints=function(){this.minWidth=window.outerWidth<768?this.settings.min_image_width_small:this.settings.min_image_width,this.minHeight=window.outerWidth<768?this.settings.min_image_height_small:this.settings.min_image_height},r);function r(t){var e=this;this.settings=t,this.disabledClasses=this.createClassList(t.disabled_classes),this.enabledClasses=this.createClassList(t.enabled_classes),this.updateSizeConstraints(),window.addEventListener("resize",function(){return e.updateSizeConstraints()},!1)}i.default=n},{}],8:[function(t,e,i){"use strict";i.__esModule=!0;var n=t("./show-on-hover-strategy"),t=(r.prototype.init=function(){this.showStrategy=this.getStrategy(),this.showStrategy.start()},r.prototype.getStrategy=function(){return new n.default(this.$,this.settings,this.logger)},r);function r(t,e,i){this.settings=e,this.$=t,this.logger=i}i.default=t},{"./show-on-hover-strategy":11}],9:[function(t,e,r){"use strict";r.__esModule=!0,r.getExtension=void 0;var i=t("../common/description-helper");t("../common/srcset-helper");r.getExtension=function(t){void 0===t&&(t="");t=t.replace(/^https?\:\/\/[^\/?#]+(?:[\/?#]|$)/i,"").split(".");return 1===t.length?"":t[t.length-1].replace(/\?.*/i,"").toLowerCase()};n.prototype.getDescription=function(t){return this.descriptionHelper.getDescription(t,this.description_option)},n.prototype.getImage=function(t,e){var i=t.attr("data-pin-media")||t.attr("data-jpibfi-src")||t.prop("src");if(i){if(!e)return i;t=r.getExtension(i);return e.extension===t?e.href:i}},n.prototype.getUrl=function(t,e){return t.attr("data-pin-url")?t.attr("data-pin-url"):this.pinLinkedUrl&&e&&(i=e.href,n=(window.location&&window.location.hostname||"").replace("www.",""),0<=i.indexOf(n))&&(n=e.extension,-1!==["","html","php"].indexOf(n))?e.href:t.attr("data-jpibfi-post-url")||window.location.href;var i,n},n.prototype.generate=function(t){var e=t.closest("a[href]"),i=void 0;1===e.length&&(i={extension:r.getExtension(e.prop("href")),href:e.prop("href")});var n=this.getImage(t,i);if(void 0!==n){e=encodeURIComponent(n),n=encodeURIComponent(this.getDescription(t));return"https://pinterest.com/pin/create/bookmarklet/?is_video=false&url="+encodeURIComponent(this.getUrl(t,i))+"&media="+e+"&description="+n}},t=n;function n(t){this.descriptionHelper=new i.default({siteTitle:t.siteTitle}),this.description_option=t.description_option,this.supportSrcset=t.support_srcset,this.pinLinkedUrl=t.pin_linked_url}r.default=t},{"../common/description-helper":3,"../common/srcset-helper":4}],10:[function(t,e,i){"use strict";i.__esModule=!0;function n(t,e,i,n){return t.top+n.top}function r(t,e,i,n){return t.left+n.left}function o(t,e,i,n){return e.top-i.height-n.bottom}function s(t,e,i,n){return e.left-n.right-i.width}function a(t,e,i){return t.top+((e.top-t.top)/2-i.height/2)}function u(t,e,i){return t.left+((e.left-t.left)/2-i.width/2)}var c=(l.prototype.calculate=function(t,e,i,n){return{top:this.topF(t,e,i,n),left:this.leftF(t,e,i,n)}},l);function l(t,e){this.topF=t,this.leftF=e}var p=(h.prototype.calculatePosition=function(t,e,i){return this.positionCalculator.calculate(t,e,i,this.margins)},h);function h(t,e){this.margins=e,this.positionCalculator=function(t){switch(t){case"top-left":return new c(n,r);case"top-right":return new c(n,s);case"bottom-left":return new c(o,r);case"bottom-right":return new c(o,s);default:return new c(a,u)}}(t)}i.default=p},{}],11:[function(t,e,i){"use strict";var n,r=(n=function(t,e){return(n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(t,e)},function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)});i.__esModule=!0;var o,t=t("./show-strategy"),r=(o=t.default,r(s,o),s.prototype.init=function(){this.addContainers()},s.prototype.start=function(){var e=this;this.init();function a(t){return e.$("a.pinit-button["+e.indexerAttr+'="'+t+'"]')}var u="data-jpibfi-timeout",c=0,l=this;l.$(document).delegate(this.settings.image_selector,"mouseenter",function(){var t=l.$(this);if(l.imageFilter.imageEligible(t)){var e=t.attr(l.indexerAttr);e||(e=c++,t.attr(l.indexerAttr,e));var i=a(e);if(0===i.length){var n=l.buttonGenerator.createButton(t);if(!n)return;t.addClass("pinit-hover");var r=l.buttonGenerator.getSize(),o=t.offset(),s={top:o.top+t[0].clientHeight,left:o.left+t[0].clientWidth},r=l.positioner.calculatePosition(o,s,r);t.after(n),n.attr(l.indexerAttr,e).css("visibility","hidden").show().offset(r).css("visibility","visible").hover(function(){return clearTimeout(n.attr(u))},function(){return n.attr(u,setTimeout(function(){t.removeClass("pinit-hover"),n.remove()},100))})}else clearTimeout(i.attr(u))}}),l.$(document).delegate(this.settings.image_selector,"mouseleave",function(){var t,e,i;l.logger.getFlag("prevent_hide")||(e=(t=l.$(this)).attr(l.indexerAttr))&&(i=a(e)).attr(u,setTimeout(function(){t.removeClass("pinit-hover"),i.remove()},100))})},s);function s(){return null!==o&&o.apply(this,arguments)||this}i.default=r},{"./show-strategy":12}],12:[function(t,e,i){"use strict";i.__esModule=!0;var o=t("./image-filter"),s=t("./button-generator"),a=t("./positioner"),u=t("../common/css-generator"),t=(n.prototype.addContainers=function(){var t=this.$(".jpibfi"),e=t.closest("div, article");(e=e.length?e:t.parent()).addClass("jpibfi_container")},n);function n(t,e,i){this.$=t,this.settings=e,this.logger=i,this.imageFilter=new o.default(e),this.buttonGenerator=new s.default(t,e);var n={left:e.button_margin_left,top:e.button_margin_top,right:e.button_margin_right,bottom:e.button_margin_bottom};this.positioner=new a.default(e.button_position,n),this.indexerAttr="data-jpibfi-indexer";var r=this.settings,i=r.pin_image,t=r.pin_image_icon,e=r.pinImageHeight,n=r.pinImageWidth,e=(r.scale_pin_image,{width:n,height:e});switch(i){case"custom":case"old_default":(0,u.createCssRulesForCustomButton)(e);break;case"default":(0,u.createCssRulesForDefaultButton)(e,t)}}i.default=t},{"../common/css-generator":1,"./button-generator":6,"./image-filter":7,"./positioner":10}],13:[function(t,e,i){"use strict";i.__esModule=!0;var n,r=t("./settings"),o=t("./debugger"),s=t("./hover");(n=window.jQuery)(document).ready(function(){var t=window.jpibfi_options,e=new r.default(n.extend({pageUrl:document.URL,pageTitle:document.title,pageDescription:n('meta[name="description"]').attr("content")||""},t.hover)),t=new o.default("jpibfi");window.jpibfi_debugger=t,new s.default(n,e,t).init()})},{"./debugger":5,"./hover":8,"./settings":14}],14:[function(t,e,i){"use strict";i.__esModule=!0;function n(e){var i=this;Object.keys(e).forEach(function(t){i[t]=e[t]}),this.isTouchDevice="ontouchstart"in window||{}.hasOwnProperty.call(navigator,"maxTouchPoints")}i.default=n},{}]},{},[13]);
|
languages/index.php
CHANGED
@@ -1,2 +1,2 @@
|
|
1 |
-
<?php
|
2 |
/* Let The Force Be With You */
|
1 |
+
<?php
|
2 |
/* Let The Force Be With You */
|
languages/jquery-pin-it-button-for-images-es_ES.pot
CHANGED
@@ -1,499 +1,499 @@
|
|
1 |
-
# Copyright (C) 2013 jQuery Pin It Button For Images
|
2 |
-
# This file is distributed under the same license as the jQuery Pin It Button For Images package.
|
3 |
-
msgid ""
|
4 |
-
msgstr ""
|
5 |
-
"Project-Id-Version: jQuery Pin It Button For Images 1.14\n"
|
6 |
-
"Report-Msgid-Bugs-To: http://wordpress.org/tag/jquery-pin-it-button-for-"
|
7 |
-
"images\n"
|
8 |
-
"POT-Creation-Date: 2013-10-29 07:52:19+00:00\n"
|
9 |
-
"MIME-Version: 1.0\n"
|
10 |
-
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
-
"Content-Transfer-Encoding: 8bit\n"
|
12 |
-
"PO-Revision-Date: 2013-12-03 15:02+0100\n"
|
13 |
-
"Last-Translator: jelena kovacevic <jecajeca260@gmail.com>\n"
|
14 |
-
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
-
"X-Generator: Poedit 1.5.5\n"
|
16 |
-
|
17 |
-
#: jquery-pin-it-button-for-images.php:230
|
18 |
-
#: jquery-pin-it-button-for-images.php:240
|
19 |
-
#: jquery-pin-it-button-for-images.php:455
|
20 |
-
msgid "Settings"
|
21 |
-
msgstr "Ajustes"
|
22 |
-
|
23 |
-
#: jquery-pin-it-button-for-images.php:259
|
24 |
-
msgid ""
|
25 |
-
"Disable \"Pin it\" button for this post (works only on single pages/posts)"
|
26 |
-
msgstr ""
|
27 |
-
"Desactivar el botón \"Fíjelo\" para este post (funciona sólo en páginas/"
|
28 |
-
"mensajes individuales)"
|
29 |
-
|
30 |
-
#: jquery-pin-it-button-for-images.php:468
|
31 |
-
msgid "jQuery Pin It Button For Images Options"
|
32 |
-
msgstr "Botón Fíjelo de jQuery para Opciones de Imágenes"
|
33 |
-
|
34 |
-
#: jquery-pin-it-button-for-images.php:477
|
35 |
-
msgid "Selection Settings"
|
36 |
-
msgstr "Ajustes de Selección"
|
37 |
-
|
38 |
-
#: jquery-pin-it-button-for-images.php:478
|
39 |
-
msgid "Visual Settings"
|
40 |
-
msgstr "Ajustes Visuales"
|
41 |
-
|
42 |
-
#: jquery-pin-it-button-for-images.php:479
|
43 |
-
#: jquery-pin-it-button-for-images.php:1193
|
44 |
-
msgid "Advanced Settings"
|
45 |
-
msgstr "Ajustes Avanzados"
|
46 |
-
|
47 |
-
#: jquery-pin-it-button-for-images.php:484
|
48 |
-
msgid ""
|
49 |
-
"If you would like to support development of the plugin, please %sdonate%s."
|
50 |
-
msgstr "Si usted desea apoyar el desarrollo del plugin, por favor %sdone%s."
|
51 |
-
|
52 |
-
#: jquery-pin-it-button-for-images.php:485
|
53 |
-
msgid ""
|
54 |
-
"If you experience issues with the plugin, check out the %ssupport forum%s."
|
55 |
-
msgstr ""
|
56 |
-
"Si experimenta problemas con el plugin, eche un vistazo al %sforo de soporte"
|
57 |
-
"%s."
|
58 |
-
|
59 |
-
#: jquery-pin-it-button-for-images.php:486
|
60 |
-
msgid "To help promote the plugin, %sleave a review%s."
|
61 |
-
msgstr "Para ayudar a promover el plugin, %sdeje un comentario%s."
|
62 |
-
|
63 |
-
#: jquery-pin-it-button-for-images.php:487
|
64 |
-
msgid ""
|
65 |
-
"If you have any suggestions for improvements, %suse the feedback form%s."
|
66 |
-
msgstr ""
|
67 |
-
"Si usted tiene alguna sugerencia de mejora, %sutilice el formulario de "
|
68 |
-
"comentarios%s."
|
69 |
-
|
70 |
-
#: jquery-pin-it-button-for-images.php:552
|
71 |
-
msgid "Selection"
|
72 |
-
msgstr "Selección"
|
73 |
-
|
74 |
-
#: jquery-pin-it-button-for-images.php:560
|
75 |
-
msgid "Image selector"
|
76 |
-
msgstr "Selector de imagen"
|
77 |
-
|
78 |
-
#: jquery-pin-it-button-for-images.php:565
|
79 |
-
msgid ""
|
80 |
-
"jQuery selector for all the images that should have the \"Pin it\" button. "
|
81 |
-
"Set the value to %s if you want the \"Pin it\" button to appear only on "
|
82 |
-
"images in content or %s to appear on all images on site (including sidebar, "
|
83 |
-
"header and footer). If you know a thing or two about jQuery, you might use "
|
84 |
-
"your own selector. %sClick here%s to read about jQuery selectors."
|
85 |
-
msgstr ""
|
86 |
-
"El selector jQuery para todas las imágenes que deben tener el botón \"Fíjelo"
|
87 |
-
"\". Establecer el valor a %s si usted quiere que el botón \"Fíjelo\" "
|
88 |
-
"aparezca solamente en las imágenes en el contenido o %s que aparezca en "
|
89 |
-
"todas las imágenes en el sitio (incluyendo sidebar, header y footer). Si "
|
90 |
-
"usted conoce una cosa o dos acerca de jQuery, usted puede usar su propio "
|
91 |
-
"selector. %sHaga clic aquí%s para leer acerca de los selectores de jQuery."
|
92 |
-
|
93 |
-
#: jquery-pin-it-button-for-images.php:576
|
94 |
-
#: jquery-pin-it-button-for-images.php:760
|
95 |
-
msgid "Disabled classes"
|
96 |
-
msgstr "Deshabilitar clases"
|
97 |
-
|
98 |
-
#: jquery-pin-it-button-for-images.php:581
|
99 |
-
msgid ""
|
100 |
-
"Pictures with these CSS classes won't show the \"Pin it\" button. Please "
|
101 |
-
"separate multiple classes with semicolons. Spaces are not accepted."
|
102 |
-
msgstr ""
|
103 |
-
"Las imágenes con estas clases CSS no mostrarán el botón \"Fíjelo\". Por "
|
104 |
-
"favor separe clases múltiples con puntos y comas. Los espacios no están "
|
105 |
-
"permitidos."
|
106 |
-
|
107 |
-
#: jquery-pin-it-button-for-images.php:587
|
108 |
-
#: jquery-pin-it-button-for-images.php:762
|
109 |
-
msgid "Enabled classes"
|
110 |
-
msgstr "Clases habilitadas"
|
111 |
-
|
112 |
-
#: jquery-pin-it-button-for-images.php:592
|
113 |
-
msgid ""
|
114 |
-
"Only pictures with these CSS classes will show the \"Pin it\" button. Please "
|
115 |
-
"separate multiple classes with semicolons. If this field is empty, images "
|
116 |
-
"with any (besides disabled ones) classes will show the Pin It button."
|
117 |
-
msgstr ""
|
118 |
-
"Solamente las imágenes con estas clases CSS se mostrarán en el botón \"Fíjelo"
|
119 |
-
"\". Por favor separe clases múltiples con puntos y comas. Si este campo está "
|
120 |
-
"vacío, las imágenes con cualquier clase (excepto las deshabilitadas) "
|
121 |
-
"mostrarán el botón Fíjelo."
|
122 |
-
|
123 |
-
#: jquery-pin-it-button-for-images.php:598
|
124 |
-
msgid "On which pages the \"Pin it\" button should be shown"
|
125 |
-
msgstr "En cuáles páginas el botón \"Fíjelo\" debería mostrarse"
|
126 |
-
|
127 |
-
#: jquery-pin-it-button-for-images.php:603
|
128 |
-
msgid "Check on which pages you want the Pinterest button to show up."
|
129 |
-
msgstr ""
|
130 |
-
"Chequee en cuáles páginas usted desea que el botón \"Fíjelo\" se muestre."
|
131 |
-
|
132 |
-
#: jquery-pin-it-button-for-images.php:609
|
133 |
-
msgid "Minimum resolution that should trigger the \"Pin it\" button to show up"
|
134 |
-
msgstr ""
|
135 |
-
"La resolución mínima que debería provocar que el botón \"Fíjelo\" se muestre"
|
136 |
-
|
137 |
-
#: jquery-pin-it-button-for-images.php:614
|
138 |
-
msgid ""
|
139 |
-
"If you'd like the \"Pin it\" button to not show up on small images (e.g. "
|
140 |
-
"social media icons), just set the appropriate values above. The default "
|
141 |
-
"values cause the \"Pin it\" button to show on every eligible image."
|
142 |
-
msgstr ""
|
143 |
-
"Si usted desea que el botón \"Fíjelo\" no se muestre en imágenes pequeñas (e."
|
144 |
-
"j. iconos de social media), solamente asigne los valores apropiados "
|
145 |
-
"anteriores. Los valores por defecto causan al botón \"Fíjelo\" que se "
|
146 |
-
"muestre en cualquier imagen elegible."
|
147 |
-
|
148 |
-
#: jquery-pin-it-button-for-images.php:628
|
149 |
-
msgid "Which images can be pinned"
|
150 |
-
msgstr "Cuáles imágenes pueden ser fijadas"
|
151 |
-
|
152 |
-
#: jquery-pin-it-button-for-images.php:649
|
153 |
-
#: jquery-pin-it-button-for-images.php:678
|
154 |
-
msgid "No classes added."
|
155 |
-
msgstr "No se añadieron clases."
|
156 |
-
|
157 |
-
#: jquery-pin-it-button-for-images.php:658
|
158 |
-
#: jquery-pin-it-button-for-images.php:687
|
159 |
-
msgid "Class name"
|
160 |
-
msgstr "Nombre de la clase"
|
161 |
-
|
162 |
-
#: jquery-pin-it-button-for-images.php:660
|
163 |
-
#: jquery-pin-it-button-for-images.php:689
|
164 |
-
msgid "Add to list"
|
165 |
-
msgstr "Adicionar a la lista"
|
166 |
-
|
167 |
-
#: jquery-pin-it-button-for-images.php:710
|
168 |
-
msgid "Home page"
|
169 |
-
msgstr "Página de Inicio"
|
170 |
-
|
171 |
-
#: jquery-pin-it-button-for-images.php:712
|
172 |
-
msgid "Pages"
|
173 |
-
msgstr "Páginas"
|
174 |
-
|
175 |
-
#: jquery-pin-it-button-for-images.php:714
|
176 |
-
msgid "Single posts"
|
177 |
-
msgstr "Post simples"
|
178 |
-
|
179 |
-
#: jquery-pin-it-button-for-images.php:716
|
180 |
-
msgid "Category and archive pages"
|
181 |
-
msgstr "Páginas de categorías y archivos"
|
182 |
-
|
183 |
-
#: jquery-pin-it-button-for-images.php:718
|
184 |
-
msgid "Blog pages"
|
185 |
-
msgstr "Páginas de blog"
|
186 |
-
|
187 |
-
#: jquery-pin-it-button-for-images.php:732
|
188 |
-
#: jquery-pin-it-button-for-images.php:1041
|
189 |
-
msgid "Height"
|
190 |
-
msgstr "Largo"
|
191 |
-
|
192 |
-
#: jquery-pin-it-button-for-images.php:739
|
193 |
-
#: jquery-pin-it-button-for-images.php:1048
|
194 |
-
msgid "Width"
|
195 |
-
msgstr "Ancho"
|
196 |
-
|
197 |
-
#: jquery-pin-it-button-for-images.php:767
|
198 |
-
msgid ""
|
199 |
-
"the given value doesn't meet the requirements. Please correct it and try "
|
200 |
-
"again."
|
201 |
-
msgstr ""
|
202 |
-
"los valores dados no cumplen los requerimientos. Por favor arréglelos y "
|
203 |
-
"pruebe nuevamente."
|
204 |
-
|
205 |
-
#: jquery-pin-it-button-for-images.php:777
|
206 |
-
msgid "Minimum image height"
|
207 |
-
msgstr "Largo mínimo de imagen"
|
208 |
-
|
209 |
-
#: jquery-pin-it-button-for-images.php:779
|
210 |
-
msgid "Minimum image width"
|
211 |
-
msgstr "Ancho mínimo de imagen"
|
212 |
-
|
213 |
-
#: jquery-pin-it-button-for-images.php:784
|
214 |
-
#: jquery-pin-it-button-for-images.php:1146
|
215 |
-
msgid "value must be a number greater or equal to %d."
|
216 |
-
msgstr "el valor debe ser un número mayor o igual a %d."
|
217 |
-
|
218 |
-
#: jquery-pin-it-button-for-images.php:850
|
219 |
-
msgid "Visual"
|
220 |
-
msgstr "Visual"
|
221 |
-
|
222 |
-
#: jquery-pin-it-button-for-images.php:858
|
223 |
-
msgid "Mode"
|
224 |
-
msgstr "Modo"
|
225 |
-
|
226 |
-
#: jquery-pin-it-button-for-images.php:863
|
227 |
-
msgid ""
|
228 |
-
"Static mode adds a layer on the top of the image that restricts image "
|
229 |
-
"download, but works on websites that protect images download. Dynamic mode "
|
230 |
-
"doesn't add that layer and allows image download. If you're experiencing "
|
231 |
-
"issues with static mode, try using dynamic mode."
|
232 |
-
msgstr ""
|
233 |
-
"El modo estático adiciona una capa en la cima de la imagen que restringe el "
|
234 |
-
"download de la imagen, pero funciona en sitios web que protegen el download "
|
235 |
-
"de las imágenes. El modo dinámico no adiciona esa capa y permite el download "
|
236 |
-
"de imágenes. Si usted está experimentando problemas con el modo estático, "
|
237 |
-
"trate de usar el dinámico."
|
238 |
-
|
239 |
-
#: jquery-pin-it-button-for-images.php:869
|
240 |
-
msgid "Description source"
|
241 |
-
msgstr "Origen de la descripción"
|
242 |
-
|
243 |
-
#: jquery-pin-it-button-for-images.php:874
|
244 |
-
msgid ""
|
245 |
-
"From where the Pinterest message should be taken. Please note that \"Image "
|
246 |
-
"description\" works properly only for images that were added to your Media "
|
247 |
-
"Library."
|
248 |
-
msgstr ""
|
249 |
-
"De dónde el mensaje Fíjelo debería ser tomado. Por favor note que "
|
250 |
-
"\"Descripción de Imagen\" funciona correctamente solamente para imágenes que "
|
251 |
-
"fueron adicionadas a su Librería de Media. "
|
252 |
-
|
253 |
-
#: jquery-pin-it-button-for-images.php:880
|
254 |
-
msgid "Linked page"
|
255 |
-
msgstr "Página enlazada"
|
256 |
-
|
257 |
-
#: jquery-pin-it-button-for-images.php:885
|
258 |
-
msgid ""
|
259 |
-
"When checked, the link on Pinterest will always point to the individual page "
|
260 |
-
"with the image and title of this individual page will be used if you've "
|
261 |
-
"selected Title as the description source, even when the image was pinned on "
|
262 |
-
"an archive page, category page or homepage. If false, the link will point to "
|
263 |
-
"the URL the user is currently on."
|
264 |
-
msgstr ""
|
265 |
-
"Cuando está chequeada, el enlace a Fíjelo aparecerá apuntando a la página "
|
266 |
-
"individual con la imagen y el título de esta página individual será usado si "
|
267 |
-
"usted ha seleccionado Título como el origen de descripción, aún cuando la "
|
268 |
-
"imagen fue fijada en una página archivada, una página de categoría o una "
|
269 |
-
"página de inicio. Si está en falso, el enlace apuntará a la URL en la que el "
|
270 |
-
"usuario está."
|
271 |
-
|
272 |
-
#: jquery-pin-it-button-for-images.php:891
|
273 |
-
msgid "Transparency value"
|
274 |
-
msgstr "Valor de transparencia"
|
275 |
-
|
276 |
-
#: jquery-pin-it-button-for-images.php:896
|
277 |
-
msgid "This setting sets the transparency of the image."
|
278 |
-
msgstr "Este ajuste asigna la transparencia de la imagen."
|
279 |
-
|
280 |
-
#: jquery-pin-it-button-for-images.php:902
|
281 |
-
msgid "Custom \"Pin It\" button"
|
282 |
-
msgstr "Botón \"Fíjelo\" personalizado."
|
283 |
-
|
284 |
-
#: jquery-pin-it-button-for-images.php:907
|
285 |
-
msgid ""
|
286 |
-
"Check the <b>Use custom image</b> checkbox, specify image's URL, height and "
|
287 |
-
"width to use your own Pinterest button design. You can just upload an image "
|
288 |
-
"using Wordpress media library if you wish."
|
289 |
-
msgstr ""
|
290 |
-
"Seleccione el checkbox <b>Usar imagen personalizada</b>, especifique la URL "
|
291 |
-
"de la imagen, el largo y el ancho para usar su propio diseño de botón "
|
292 |
-
"\"Fíjelo\". Usted puede subir la imagen usando la librería de media de "
|
293 |
-
"Wordpress si usted lo desea."
|
294 |
-
|
295 |
-
#: jquery-pin-it-button-for-images.php:913
|
296 |
-
msgid "\"Pin it\" button position"
|
297 |
-
msgstr "Posición del botón \"Fíjelo\"."
|
298 |
-
|
299 |
-
#: jquery-pin-it-button-for-images.php:918
|
300 |
-
msgid "Where the \"Pin it\" button should appear on the image."
|
301 |
-
msgstr "Cuándo el botón \"Fíjelo\" debería aparecer en la imagen."
|
302 |
-
|
303 |
-
#: jquery-pin-it-button-for-images.php:924
|
304 |
-
msgid "\"Pin it\" button margins"
|
305 |
-
msgstr "Márgenes del botón \"Fíjelo\""
|
306 |
-
|
307 |
-
#: jquery-pin-it-button-for-images.php:929
|
308 |
-
msgid ""
|
309 |
-
"Margins are used to adjust the position of the \"Pin it\" button, but not "
|
310 |
-
"all margins are used on all button positions. Here is an example. If you're "
|
311 |
-
"using the \"%s\" position, the button's position will be affected only by "
|
312 |
-
"top and left margins. Bottom and right margins affect \"%s\" position, etc. "
|
313 |
-
"The \"%s\" position does not use any margins at all."
|
314 |
-
msgstr ""
|
315 |
-
"Los márgenes son usados para ajustar la posición del botón \"Fíjelo\", pero "
|
316 |
-
"no todos los márgenes son usados para todas las posiciones de botones. Aquí "
|
317 |
-
"va un ejemplo. Si usted está usando la posición \"%s\", la posición del "
|
318 |
-
"botón será afectada solamente por los márgenes top y left. Los márgenes "
|
319 |
-
"bottom y right afectan la posición \"%s\", etc. La posición no utiliza "
|
320 |
-
"ningún margen. "
|
321 |
-
|
322 |
-
#: jquery-pin-it-button-for-images.php:930
|
323 |
-
#: jquery-pin-it-button-for-images.php:1071
|
324 |
-
msgid "Top left"
|
325 |
-
msgstr "Arriba a la izquierda"
|
326 |
-
|
327 |
-
#: jquery-pin-it-button-for-images.php:931
|
328 |
-
#: jquery-pin-it-button-for-images.php:1074
|
329 |
-
msgid "Bottom right"
|
330 |
-
msgstr "Abajo a la derecha"
|
331 |
-
|
332 |
-
#: jquery-pin-it-button-for-images.php:932
|
333 |
-
#: jquery-pin-it-button-for-images.php:1075
|
334 |
-
msgid "Middle"
|
335 |
-
msgstr "Centro"
|
336 |
-
|
337 |
-
#: jquery-pin-it-button-for-images.php:939
|
338 |
-
msgid "Retina friendly"
|
339 |
-
msgstr "Amigable a la retina"
|
340 |
-
|
341 |
-
#: jquery-pin-it-button-for-images.php:944
|
342 |
-
msgid ""
|
343 |
-
"Please note that checking this option will result in rendering the \"Pin it"
|
344 |
-
"\" button half of its normal size (if you use a 80x60 image, the button will "
|
345 |
-
"be 40x30). When uploading a custom \"Pin it\" button (the default one is too "
|
346 |
-
"small), please make sure both width and height are even numbers (i.e. "
|
347 |
-
"divisible by two) when using this option."
|
348 |
-
msgstr ""
|
349 |
-
"Por favor note que seleccionando esta opción resultará en renderizar el "
|
350 |
-
"botón \"Fíjelo\" a la mitad de su tamaño normal (si usted utiliza una imagen "
|
351 |
-
"de 80x60, el botón será de 40x30). Cuando se sube un botón \"Fíjelo\" "
|
352 |
-
"personalizado (el de por defecto es muy pequeño), por favor asegúrese que "
|
353 |
-
"ambos el ancho y el largo son números pares (e.j divisible por dos) cuando "
|
354 |
-
"se usa esta opción."
|
355 |
-
|
356 |
-
#: jquery-pin-it-button-for-images.php:959
|
357 |
-
msgid "How it should look like"
|
358 |
-
msgstr "Cómo debería lucir"
|
359 |
-
|
360 |
-
#: jquery-pin-it-button-for-images.php:969
|
361 |
-
msgid "Static"
|
362 |
-
msgstr "Estático"
|
363 |
-
|
364 |
-
#: jquery-pin-it-button-for-images.php:970
|
365 |
-
msgid "Dynamic"
|
366 |
-
msgstr "Dinámico"
|
367 |
-
|
368 |
-
#: jquery-pin-it-button-for-images.php:985
|
369 |
-
msgid "Page title"
|
370 |
-
msgstr "Título de la página"
|
371 |
-
|
372 |
-
#: jquery-pin-it-button-for-images.php:986
|
373 |
-
msgid "Page description"
|
374 |
-
msgstr "Descripción de la página"
|
375 |
-
|
376 |
-
#: jquery-pin-it-button-for-images.php:987
|
377 |
-
msgid "Picture title or (if title not available) alt attribute"
|
378 |
-
msgstr ""
|
379 |
-
"Título de la imagen o (si el título no está disponible) del atributo alt"
|
380 |
-
|
381 |
-
#: jquery-pin-it-button-for-images.php:988
|
382 |
-
msgid "Site title (Settings->General)"
|
383 |
-
msgstr "Título del sitio (Ajustes->General)"
|
384 |
-
|
385 |
-
#: jquery-pin-it-button-for-images.php:989
|
386 |
-
msgid "Image description"
|
387 |
-
msgstr "Descripción de la imagen"
|
388 |
-
|
389 |
-
#: jquery-pin-it-button-for-images.php:1002
|
390 |
-
msgid "Always link to individual post page"
|
391 |
-
msgstr "Siempre enlazar a la página del post individual"
|
392 |
-
|
393 |
-
#: jquery-pin-it-button-for-images.php:1012
|
394 |
-
msgid "Choose transparency (between %.02f and %.02f)"
|
395 |
-
msgstr "Escoger transparencia (entre %.02f and %.02f)"
|
396 |
-
|
397 |
-
#: jquery-pin-it-button-for-images.php:1030
|
398 |
-
msgid "Use custom image"
|
399 |
-
msgstr "Usar imagen personalizada"
|
400 |
-
|
401 |
-
#: jquery-pin-it-button-for-images.php:1033
|
402 |
-
msgid "Upload an image using media library"
|
403 |
-
msgstr "Subir una imagen usando librería de media"
|
404 |
-
|
405 |
-
#: jquery-pin-it-button-for-images.php:1036
|
406 |
-
msgid "URL address of the image"
|
407 |
-
msgstr "Dirección URL de la imagen"
|
408 |
-
|
409 |
-
#: jquery-pin-it-button-for-images.php:1055
|
410 |
-
msgid "Custom Pin It button preview"
|
411 |
-
msgstr "Vista previa del botón Fíjelo personalizado"
|
412 |
-
|
413 |
-
#: jquery-pin-it-button-for-images.php:1059
|
414 |
-
msgid "Refresh preview"
|
415 |
-
msgstr "Vista previa de refrescado"
|
416 |
-
|
417 |
-
#: jquery-pin-it-button-for-images.php:1072
|
418 |
-
msgid "Top right"
|
419 |
-
msgstr "Arriba a la derecha"
|
420 |
-
|
421 |
-
#: jquery-pin-it-button-for-images.php:1073
|
422 |
-
msgid "Bottom left"
|
423 |
-
msgstr "Abajo a la izquierda"
|
424 |
-
|
425 |
-
#: jquery-pin-it-button-for-images.php:1095
|
426 |
-
msgid "Top"
|
427 |
-
msgstr "Arriba"
|
428 |
-
|
429 |
-
#: jquery-pin-it-button-for-images.php:1097
|
430 |
-
msgid "Bottom"
|
431 |
-
msgstr "Abajo"
|
432 |
-
|
433 |
-
#: jquery-pin-it-button-for-images.php:1099
|
434 |
-
msgid "Left"
|
435 |
-
msgstr "Izquierda"
|
436 |
-
|
437 |
-
#: jquery-pin-it-button-for-images.php:1101
|
438 |
-
msgid "Right"
|
439 |
-
msgstr "Derecha"
|
440 |
-
|
441 |
-
#: jquery-pin-it-button-for-images.php:1114
|
442 |
-
msgid "Optimize for high pixel density displays"
|
443 |
-
msgstr "Optimizar para mostrados de densidad de pixeles altos"
|
444 |
-
|
445 |
-
#: jquery-pin-it-button-for-images.php:1130
|
446 |
-
msgid "Transparency value must be a number between %.02d and %.02f."
|
447 |
-
msgstr "El valor de transparencia debe ser un número entre %.02d y %.02f."
|
448 |
-
|
449 |
-
#: jquery-pin-it-button-for-images.php:1138
|
450 |
-
msgid "Custom image height"
|
451 |
-
msgstr "Largo personalizado de la imagen "
|
452 |
-
|
453 |
-
#: jquery-pin-it-button-for-images.php:1140
|
454 |
-
msgid "Custom image width"
|
455 |
-
msgstr "Ancho personalizado de la imagen "
|
456 |
-
|
457 |
-
#: jquery-pin-it-button-for-images.php:1201
|
458 |
-
msgid "Debug"
|
459 |
-
msgstr "Debuguear"
|
460 |
-
|
461 |
-
#: jquery-pin-it-button-for-images.php:1206
|
462 |
-
msgid ""
|
463 |
-
"Use debug mode only if you are experiencing some issues with the plugin and "
|
464 |
-
"you are reporting them to the developer of the plugin"
|
465 |
-
msgstr ""
|
466 |
-
"Usar modo debug solamente si usted está experimentando algunos problemas con "
|
467 |
-
"el plugin y esta reportándolos al desarrollador del plugin"
|
468 |
-
|
469 |
-
#: jquery-pin-it-button-for-images.php:1219
|
470 |
-
msgid "Advanced settings"
|
471 |
-
msgstr "Ajustes avanzados"
|
472 |
-
|
473 |
-
#: jquery-pin-it-button-for-images.php:1231
|
474 |
-
msgid "Enable debug mode"
|
475 |
-
msgstr "Habilitar modo debug"
|
476 |
-
|
477 |
-
#. Plugin Name of the plugin/theme
|
478 |
-
msgid "jQuery Pin It Button For Images"
|
479 |
-
msgstr "Botón \"Fíjelo\" de jQuery Para Imágenes"
|
480 |
-
|
481 |
-
#. Plugin URI of the plugin/theme
|
482 |
-
msgid "http://mrsztuczkens.me/jpibfi/"
|
483 |
-
msgstr "http://mrsztuczkens.me/jpibfi/"
|
484 |
-
|
485 |
-
#. Description of the plugin/theme
|
486 |
-
msgid ""
|
487 |
-
"Highlights images on hover and adds a \"Pin It\" button over them for easy "
|
488 |
-
"pinning."
|
489 |
-
msgstr ""
|
490 |
-
"Resalta imágenes en hover y adiciona un botón \"Fíjelo\" sobre ellas para el "
|
491 |
-
"fijado fácil."
|
492 |
-
|
493 |
-
#. Author of the plugin/theme
|
494 |
-
msgid "Marcin Skrzypiec"
|
495 |
-
msgstr "Marcin Skrzypiec"
|
496 |
-
|
497 |
-
#. Author URI of the plugin/theme
|
498 |
-
msgid "http://mrsztuczkens.me/"
|
499 |
-
msgstr "http://mrsztuczkens.me/"
|
1 |
+
# Copyright (C) 2013 jQuery Pin It Button For Images
|
2 |
+
# This file is distributed under the same license as the jQuery Pin It Button For Images package.
|
3 |
+
msgid ""
|
4 |
+
msgstr ""
|
5 |
+
"Project-Id-Version: jQuery Pin It Button For Images 1.14\n"
|
6 |
+
"Report-Msgid-Bugs-To: http://wordpress.org/tag/jquery-pin-it-button-for-"
|
7 |
+
"images\n"
|
8 |
+
"POT-Creation-Date: 2013-10-29 07:52:19+00:00\n"
|
9 |
+
"MIME-Version: 1.0\n"
|
10 |
+
"Content-Type: text/plain; charset=UTF-8\n"
|
11 |
+
"Content-Transfer-Encoding: 8bit\n"
|
12 |
+
"PO-Revision-Date: 2013-12-03 15:02+0100\n"
|
13 |
+
"Last-Translator: jelena kovacevic <jecajeca260@gmail.com>\n"
|
14 |
+
"Language-Team: LANGUAGE <LL@li.org>\n"
|
15 |
+
"X-Generator: Poedit 1.5.5\n"
|
16 |
+
|
17 |
+
#: jquery-pin-it-button-for-images.php:230
|
18 |
+
#: jquery-pin-it-button-for-images.php:240
|
19 |
+
#: jquery-pin-it-button-for-images.php:455
|
20 |
+
msgid "Settings"
|
21 |
+
msgstr "Ajustes"
|
22 |
+
|
23 |
+
#: jquery-pin-it-button-for-images.php:259
|
24 |
+
msgid ""
|
25 |
+
"Disable \"Pin it\" button for this post (works only on single pages/posts)"
|
26 |
+
msgstr ""
|
27 |
+
"Desactivar el botón \"Fíjelo\" para este post (funciona sólo en páginas/"
|
28 |
+
"mensajes individuales)"
|
29 |
+
|
30 |
+
#: jquery-pin-it-button-for-images.php:468
|
31 |
+
msgid "jQuery Pin It Button For Images Options"
|
32 |
+
msgstr "Botón Fíjelo de jQuery para Opciones de Imágenes"
|
33 |
+
|
34 |
+
#: jquery-pin-it-button-for-images.php:477
|
35 |
+
msgid "Selection Settings"
|
36 |
+
msgstr "Ajustes de Selección"
|
37 |
+
|
38 |
+
#: jquery-pin-it-button-for-images.php:478
|
39 |
+
msgid "Visual Settings"
|
40 |
+
msgstr "Ajustes Visuales"
|
41 |
+
|
42 |
+
#: jquery-pin-it-button-for-images.php:479
|
43 |
+
#: jquery-pin-it-button-for-images.php:1193
|
44 |
+
msgid "Advanced Settings"
|
45 |
+
msgstr "Ajustes Avanzados"
|
46 |
+
|
47 |
+
#: jquery-pin-it-button-for-images.php:484
|
48 |
+
msgid ""
|
49 |
+
"If you would like to support development of the plugin, please %sdonate%s."
|
50 |
+
msgstr "Si usted desea apoyar el desarrollo del plugin, por favor %sdone%s."
|
51 |
+
|
52 |
+
#: jquery-pin-it-button-for-images.php:485
|
53 |
+
msgid ""
|
54 |
+
"If you experience issues with the plugin, check out the %ssupport forum%s."
|
55 |
+
msgstr ""
|
56 |
+
"Si experimenta problemas con el plugin, eche un vistazo al %sforo de soporte"
|
57 |
+
"%s."
|
58 |
+
|
59 |
+
#: jquery-pin-it-button-for-images.php:486
|
60 |
+
msgid "To help promote the plugin, %sleave a review%s."
|
61 |
+
msgstr "Para ayudar a promover el plugin, %sdeje un comentario%s."
|
62 |
+
|
63 |
+
#: jquery-pin-it-button-for-images.php:487
|
64 |
+
msgid ""
|
65 |
+
"If you have any suggestions for improvements, %suse the feedback form%s."
|
66 |
+
msgstr ""
|
67 |
+
"Si usted tiene alguna sugerencia de mejora, %sutilice el formulario de "
|
68 |
+
"comentarios%s."
|
69 |
+
|
70 |
+
#: jquery-pin-it-button-for-images.php:552
|
71 |
+
msgid "Selection"
|
72 |
+
msgstr "Selección"
|
73 |
+
|
74 |
+
#: jquery-pin-it-button-for-images.php:560
|
75 |
+
msgid "Image selector"
|
76 |
+
msgstr "Selector de imagen"
|
77 |
+
|
78 |
+
#: jquery-pin-it-button-for-images.php:565
|
79 |
+
msgid ""
|
80 |
+
"jQuery selector for all the images that should have the \"Pin it\" button. "
|
81 |
+
"Set the value to %s if you want the \"Pin it\" button to appear only on "
|
82 |
+
"images in content or %s to appear on all images on site (including sidebar, "
|
83 |
+
"header and footer). If you know a thing or two about jQuery, you might use "
|
84 |
+
"your own selector. %sClick here%s to read about jQuery selectors."
|
85 |
+
msgstr ""
|
86 |
+
"El selector jQuery para todas las imágenes que deben tener el botón \"Fíjelo"
|
87 |
+
"\". Establecer el valor a %s si usted quiere que el botón \"Fíjelo\" "
|
88 |
+
"aparezca solamente en las imágenes en el contenido o %s que aparezca en "
|
89 |
+
"todas las imágenes en el sitio (incluyendo sidebar, header y footer). Si "
|
90 |
+
"usted conoce una cosa o dos acerca de jQuery, usted puede usar su propio "
|
91 |
+
"selector. %sHaga clic aquí%s para leer acerca de los selectores de jQuery."
|
92 |
+
|
93 |
+
#: jquery-pin-it-button-for-images.php:576
|
94 |
+
#: jquery-pin-it-button-for-images.php:760
|
95 |
+
msgid "Disabled classes"
|
96 |
+
msgstr "Deshabilitar clases"
|
97 |
+
|
98 |
+
#: jquery-pin-it-button-for-images.php:581
|
99 |
+
msgid ""
|
100 |
+
"Pictures with these CSS classes won't show the \"Pin it\" button. Please "
|
101 |
+
"separate multiple classes with semicolons. Spaces are not accepted."
|
102 |
+
msgstr ""
|
103 |
+
"Las imágenes con estas clases CSS no mostrarán el botón \"Fíjelo\". Por "
|
104 |
+
"favor separe clases múltiples con puntos y comas. Los espacios no están "
|
105 |
+
"permitidos."
|
106 |
+
|
107 |
+
#: jquery-pin-it-button-for-images.php:587
|
108 |
+
#: jquery-pin-it-button-for-images.php:762
|
109 |
+
msgid "Enabled classes"
|
110 |
+
msgstr "Clases habilitadas"
|
111 |
+
|
112 |
+
#: jquery-pin-it-button-for-images.php:592
|
113 |
+
msgid ""
|
114 |
+
"Only pictures with these CSS classes will show the \"Pin it\" button. Please "
|
115 |
+
"separate multiple classes with semicolons. If this field is empty, images "
|
116 |
+
"with any (besides disabled ones) classes will show the Pin It button."
|
117 |
+
msgstr ""
|
118 |
+
"Solamente las imágenes con estas clases CSS se mostrarán en el botón \"Fíjelo"
|
119 |
+
"\". Por favor separe clases múltiples con puntos y comas. Si este campo está "
|
120 |
+
"vacío, las imágenes con cualquier clase (excepto las deshabilitadas) "
|
121 |
+
"mostrarán el botón Fíjelo."
|
122 |
+
|
123 |
+
#: jquery-pin-it-button-for-images.php:598
|
124 |
+
msgid "On which pages the \"Pin it\" button should be shown"
|
125 |
+
msgstr "En cuáles páginas el botón \"Fíjelo\" debería mostrarse"
|
126 |
+
|
127 |
+
#: jquery-pin-it-button-for-images.php:603
|
128 |
+
msgid "Check on which pages you want the Pinterest button to show up."
|
129 |
+
msgstr ""
|
130 |
+
"Chequee en cuáles páginas usted desea que el botón \"Fíjelo\" se muestre."
|
131 |
+
|
132 |
+
#: jquery-pin-it-button-for-images.php:609
|
133 |
+
msgid "Minimum resolution that should trigger the \"Pin it\" button to show up"
|
134 |
+
msgstr ""
|
135 |
+
"La resolución mínima que debería provocar que el botón \"Fíjelo\" se muestre"
|
136 |
+
|
137 |
+
#: jquery-pin-it-button-for-images.php:614
|
138 |
+
msgid ""
|
139 |
+
"If you'd like the \"Pin it\" button to not show up on small images (e.g. "
|
140 |
+
"social media icons), just set the appropriate values above. The default "
|
141 |
+
"values cause the \"Pin it\" button to show on every eligible image."
|
142 |
+
msgstr ""
|
143 |
+
"Si usted desea que el botón \"Fíjelo\" no se muestre en imágenes pequeñas (e."
|
144 |
+
"j. iconos de social media), solamente asigne los valores apropiados "
|
145 |
+
"anteriores. Los valores por defecto causan al botón \"Fíjelo\" que se "
|
146 |
+
"muestre en cualquier imagen elegible."
|
147 |
+
|
148 |
+
#: jquery-pin-it-button-for-images.php:628
|
149 |
+
msgid "Which images can be pinned"
|
150 |
+
msgstr "Cuáles imágenes pueden ser fijadas"
|
151 |
+
|
152 |
+
#: jquery-pin-it-button-for-images.php:649
|
153 |
+
#: jquery-pin-it-button-for-images.php:678
|
154 |
+
msgid "No classes added."
|
155 |
+
msgstr "No se añadieron clases."
|
156 |
+
|
157 |
+
#: jquery-pin-it-button-for-images.php:658
|
158 |
+
#: jquery-pin-it-button-for-images.php:687
|
159 |
+
msgid "Class name"
|
160 |
+
msgstr "Nombre de la clase"
|
161 |
+
|
162 |
+
#: jquery-pin-it-button-for-images.php:660
|
163 |
+
#: jquery-pin-it-button-for-images.php:689
|
164 |
+
msgid "Add to list"
|
165 |
+
msgstr "Adicionar a la lista"
|
166 |
+
|
167 |
+
#: jquery-pin-it-button-for-images.php:710
|
168 |
+
msgid "Home page"
|
169 |
+
msgstr "Página de Inicio"
|
170 |
+
|
171 |
+
#: jquery-pin-it-button-for-images.php:712
|
172 |
+
msgid "Pages"
|
173 |
+
msgstr "Páginas"
|
174 |
+
|
175 |
+
#: jquery-pin-it-button-for-images.php:714
|
176 |
+
msgid "Single posts"
|
177 |
+
msgstr "Post simples"
|
178 |
+
|
179 |
+
#: jquery-pin-it-button-for-images.php:716
|
180 |
+
msgid "Category and archive pages"
|
181 |
+
msgstr "Páginas de categorías y archivos"
|
182 |
+
|
183 |
+
#: jquery-pin-it-button-for-images.php:718
|
184 |
+
msgid "Blog pages"
|
185 |
+
msgstr "Páginas de blog"
|
186 |
+
|
187 |
+
#: jquery-pin-it-button-for-images.php:732
|
188 |
+
#: jquery-pin-it-button-for-images.php:1041
|
189 |
+
msgid "Height"
|
190 |
+
msgstr "Largo"
|
191 |
+
|
192 |
+
#: jquery-pin-it-button-for-images.php:739
|
193 |
+
#: jquery-pin-it-button-for-images.php:1048
|
194 |
+
msgid "Width"
|
195 |
+
msgstr "Ancho"
|
196 |
+
|
197 |
+
#: jquery-pin-it-button-for-images.php:767
|
198 |
+
msgid ""
|
199 |
+
"the given value doesn't meet the requirements. Please correct it and try "
|
200 |
+
"again."
|
201 |
+
msgstr ""
|
202 |
+
"los valores dados no cumplen los requerimientos. Por favor arréglelos y "
|
203 |
+
"pruebe nuevamente."
|
204 |
+
|
205 |
+
#: jquery-pin-it-button-for-images.php:777
|
206 |
+
msgid "Minimum image height"
|
207 |
+
msgstr "Largo mínimo de imagen"
|
208 |
+
|
209 |
+
#: jquery-pin-it-button-for-images.php:779
|
210 |
+
msgid "Minimum image width"
|
211 |
+
msgstr "Ancho mínimo de imagen"
|
212 |
+
|
213 |
+
#: jquery-pin-it-button-for-images.php:784
|
214 |
+
#: jquery-pin-it-button-for-images.php:1146
|
215 |
+
msgid "value must be a number greater or equal to %d."
|
216 |
+
msgstr "el valor debe ser un número mayor o igual a %d."
|
217 |
+
|
218 |
+
#: jquery-pin-it-button-for-images.php:850
|
219 |
+
msgid "Visual"
|
220 |
+
msgstr "Visual"
|
221 |
+
|
222 |
+
#: jquery-pin-it-button-for-images.php:858
|
223 |
+
msgid "Mode"
|
224 |
+
msgstr "Modo"
|
225 |
+
|
226 |
+
#: jquery-pin-it-button-for-images.php:863
|
227 |
+
msgid ""
|
228 |
+
"Static mode adds a layer on the top of the image that restricts image "
|
229 |
+
"download, but works on websites that protect images download. Dynamic mode "
|
230 |
+
"doesn't add that layer and allows image download. If you're experiencing "
|
231 |
+
"issues with static mode, try using dynamic mode."
|
232 |
+
msgstr ""
|
233 |
+
"El modo estático adiciona una capa en la cima de la imagen que restringe el "
|
234 |
+
"download de la imagen, pero funciona en sitios web que protegen el download "
|
235 |
+
"de las imágenes. El modo dinámico no adiciona esa capa y permite el download "
|
236 |
+
"de imágenes. Si usted está experimentando problemas con el modo estático, "
|
237 |
+
"trate de usar el dinámico."
|
238 |
+
|
239 |
+
#: jquery-pin-it-button-for-images.php:869
|
240 |
+
msgid "Description source"
|
241 |
+
msgstr "Origen de la descripción"
|
242 |
+
|
243 |
+
#: jquery-pin-it-button-for-images.php:874
|
244 |
+
msgid ""
|
245 |
+
"From where the Pinterest message should be taken. Please note that \"Image "
|
246 |
+
"description\" works properly only for images that were added to your Media "
|
247 |
+
"Library."
|
248 |
+
msgstr ""
|
249 |
+
"De dónde el mensaje Fíjelo debería ser tomado. Por favor note que "
|
250 |
+
"\"Descripción de Imagen\" funciona correctamente solamente para imágenes que "
|
251 |
+
"fueron adicionadas a su Librería de Media. "
|
252 |
+
|
253 |
+
#: jquery-pin-it-button-for-images.php:880
|
254 |
+
msgid "Linked page"
|
255 |
+
msgstr "Página enlazada"
|
256 |
+
|
257 |
+
#: jquery-pin-it-button-for-images.php:885
|
258 |
+
msgid ""
|
259 |
+
"When checked, the link on Pinterest will always point to the individual page "
|
260 |
+
"with the image and title of this individual page will be used if you've "
|
261 |
+
"selected Title as the description source, even when the image was pinned on "
|
262 |
+
"an archive page, category page or homepage. If false, the link will point to "
|
263 |
+
"the URL the user is currently on."
|
264 |
+
msgstr ""
|
265 |
+
"Cuando está chequeada, el enlace a Fíjelo aparecerá apuntando a la página "
|
266 |
+
"individual con la imagen y el título de esta página individual será usado si "
|
267 |
+
"usted ha seleccionado Título como el origen de descripción, aún cuando la "
|
268 |
+
"imagen fue fijada en una página archivada, una página de categoría o una "
|
269 |
+
"página de inicio. Si está en falso, el enlace apuntará a la URL en la que el "
|
270 |
+
"usuario está."
|
271 |
+
|
272 |
+
#: jquery-pin-it-button-for-images.php:891
|
273 |
+
msgid "Transparency value"
|
274 |
+
msgstr "Valor de transparencia"
|
275 |
+
|
276 |
+
#: jquery-pin-it-button-for-images.php:896
|
277 |
+
msgid "This setting sets the transparency of the image."
|
278 |
+
msgstr "Este ajuste asigna la transparencia de la imagen."
|
279 |
+
|
280 |
+
#: jquery-pin-it-button-for-images.php:902
|
281 |
+
msgid "Custom \"Pin It\" button"
|
282 |
+
msgstr "Botón \"Fíjelo\" personalizado."
|
283 |
+
|
284 |
+
#: jquery-pin-it-button-for-images.php:907
|
285 |
+
msgid ""
|
286 |
+
"Check the <b>Use custom image</b> checkbox, specify image's URL, height and "
|
287 |
+
"width to use your own Pinterest button design. You can just upload an image "
|
288 |
+
"using Wordpress media library if you wish."
|
289 |
+
msgstr ""
|
290 |
+
"Seleccione el checkbox <b>Usar imagen personalizada</b>, especifique la URL "
|
291 |
+
"de la imagen, el largo y el ancho para usar su propio diseño de botón "
|
292 |
+
"\"Fíjelo\". Usted puede subir la imagen usando la librería de media de "
|
293 |
+
"Wordpress si usted lo desea."
|
294 |
+
|
295 |
+
#: jquery-pin-it-button-for-images.php:913
|
296 |
+
msgid "\"Pin it\" button position"
|
297 |
+
msgstr "Posición del botón \"Fíjelo\"."
|
298 |
+
|
299 |
+
#: jquery-pin-it-button-for-images.php:918
|
300 |
+
msgid "Where the \"Pin it\" button should appear on the image."
|
301 |
+
msgstr "Cuándo el botón \"Fíjelo\" debería aparecer en la imagen."
|
302 |
+
|
303 |
+
#: jquery-pin-it-button-for-images.php:924
|
304 |
+
msgid "\"Pin it\" button margins"
|
305 |
+
msgstr "Márgenes del botón \"Fíjelo\""
|
306 |
+
|
307 |
+
#: jquery-pin-it-button-for-images.php:929
|
308 |
+
msgid ""
|
309 |
+
"Margins are used to adjust the position of the \"Pin it\" button, but not "
|
310 |
+
"all margins are used on all button positions. Here is an example. If you're "
|
311 |
+
"using the \"%s\" position, the button's position will be affected only by "
|
312 |
+
"top and left margins. Bottom and right margins affect \"%s\" position, etc. "
|
313 |
+
"The \"%s\" position does not use any margins at all."
|
314 |
+
msgstr ""
|
315 |
+
"Los márgenes son usados para ajustar la posición del botón \"Fíjelo\", pero "
|
316 |
+
"no todos los márgenes son usados para todas las posiciones de botones. Aquí "
|
317 |
+
"va un ejemplo. Si usted está usando la posición \"%s\", la posición del "
|
318 |
+
"botón será afectada solamente por los márgenes top y left. Los márgenes "
|
319 |
+
"bottom y right afectan la posición \"%s\", etc. La posición no utiliza "
|
320 |
+
"ningún margen. "
|
321 |
+
|
322 |
+
#: jquery-pin-it-button-for-images.php:930
|
323 |
+
#: jquery-pin-it-button-for-images.php:1071
|
324 |
+
msgid "Top left"
|
325 |
+
msgstr "Arriba a la izquierda"
|
326 |
+
|
327 |
+
#: jquery-pin-it-button-for-images.php:931
|
328 |
+
#: jquery-pin-it-button-for-images.php:1074
|
329 |
+
msgid "Bottom right"
|
330 |
+
msgstr "Abajo a la derecha"
|
331 |
+
|
332 |
+
#: jquery-pin-it-button-for-images.php:932
|
333 |
+
#: jquery-pin-it-button-for-images.php:1075
|
334 |
+
msgid "Middle"
|
335 |
+
msgstr "Centro"
|
336 |
+
|
337 |
+
#: jquery-pin-it-button-for-images.php:939
|
338 |
+
msgid "Retina friendly"
|
339 |
+
msgstr "Amigable a la retina"
|
340 |
+
|
341 |
+
#: jquery-pin-it-button-for-images.php:944
|
342 |
+
msgid ""
|
343 |
+
"Please note that checking this option will result in rendering the \"Pin it"
|
344 |
+
"\" button half of its normal size (if you use a 80x60 image, the button will "
|
345 |
+
"be 40x30). When uploading a custom \"Pin it\" button (the default one is too "
|
346 |
+
"small), please make sure both width and height are even numbers (i.e. "
|
347 |
+
"divisible by two) when using this option."
|
348 |
+
msgstr ""
|
349 |
+
"Por favor note que seleccionando esta opción resultará en renderizar el "
|
350 |
+
"botón \"Fíjelo\" a la mitad de su tamaño normal (si usted utiliza una imagen "
|
351 |
+
"de 80x60, el botón será de 40x30). Cuando se sube un botón \"Fíjelo\" "
|
352 |
+
"personalizado (el de por defecto es muy pequeño), por favor asegúrese que "
|
353 |
+
"ambos el ancho y el largo son números pares (e.j divisible por dos) cuando "
|
354 |
+
"se usa esta opción."
|
355 |
+
|
356 |
+
#: jquery-pin-it-button-for-images.php:959
|
357 |
+
msgid "How it should look like"
|
358 |
+
msgstr "Cómo debería lucir"
|
359 |
+
|
360 |
+
#: jquery-pin-it-button-for-images.php:969
|
361 |
+
msgid "Static"
|
362 |
+
msgstr "Estático"
|
363 |
+
|
364 |
+
#: jquery-pin-it-button-for-images.php:970
|
365 |
+
msgid "Dynamic"
|
366 |
+
msgstr "Dinámico"
|
367 |
+
|
368 |
+
#: jquery-pin-it-button-for-images.php:985
|
369 |
+
msgid "Page title"
|
370 |
+
msgstr "Título de la página"
|
371 |
+
|
372 |
+
#: jquery-pin-it-button-for-images.php:986
|
373 |
+
msgid "Page description"
|
374 |
+
msgstr "Descripción de la página"
|
375 |
+
|
376 |
+
#: jquery-pin-it-button-for-images.php:987
|
377 |
+
msgid "Picture title or (if title not available) alt attribute"
|
378 |
+
msgstr ""
|
379 |
+
"Título de la imagen o (si el título no está disponible) del atributo alt"
|
380 |
+
|
381 |
+
#: jquery-pin-it-button-for-images.php:988
|
382 |
+
msgid "Site title (Settings->General)"
|
383 |
+
msgstr "Título del sitio (Ajustes->General)"
|
384 |
+
|
385 |
+
#: jquery-pin-it-button-for-images.php:989
|
386 |
+
msgid "Image description"
|
387 |
+
msgstr "Descripción de la imagen"
|
388 |
+
|
389 |
+
#: jquery-pin-it-button-for-images.php:1002
|
390 |
+
msgid "Always link to individual post page"
|
391 |
+
msgstr "Siempre enlazar a la página del post individual"
|
392 |
+
|
393 |
+
#: jquery-pin-it-button-for-images.php:1012
|
394 |
+
msgid "Choose transparency (between %.02f and %.02f)"
|
395 |
+
msgstr "Escoger transparencia (entre %.02f and %.02f)"
|
396 |
+
|
397 |
+
#: jquery-pin-it-button-for-images.php:1030
|
398 |
+
msgid "Use custom image"
|
399 |
+
msgstr "Usar imagen personalizada"
|
400 |
+
|
401 |
+
#: jquery-pin-it-button-for-images.php:1033
|
402 |
+
msgid "Upload an image using media library"
|
403 |
+
msgstr "Subir una imagen usando librería de media"
|
404 |
+
|
405 |
+
#: jquery-pin-it-button-for-images.php:1036
|
406 |
+
msgid "URL address of the image"
|
407 |
+
msgstr "Dirección URL de la imagen"
|
408 |
+
|
409 |
+
#: jquery-pin-it-button-for-images.php:1055
|
410 |
+
msgid "Custom Pin It button preview"
|
411 |
+
msgstr "Vista previa del botón Fíjelo personalizado"
|
412 |
+
|
413 |
+
#: jquery-pin-it-button-for-images.php:1059
|
414 |
+
msgid "Refresh preview"
|
415 |
+
msgstr "Vista previa de refrescado"
|
416 |
+
|
417 |
+
#: jquery-pin-it-button-for-images.php:1072
|
418 |
+
msgid "Top right"
|
419 |
+
msgstr "Arriba a la derecha"
|
420 |
+
|
421 |
+
#: jquery-pin-it-button-for-images.php:1073
|
422 |
+
msgid "Bottom left"
|
423 |
+
msgstr "Abajo a la izquierda"
|
424 |
+
|
425 |
+
#: jquery-pin-it-button-for-images.php:1095
|
426 |
+
msgid "Top"
|
427 |
+
msgstr "Arriba"
|
428 |
+
|
429 |
+
#: jquery-pin-it-button-for-images.php:1097
|
430 |
+
msgid "Bottom"
|
431 |
+
msgstr "Abajo"
|
432 |
+
|
433 |
+
#: jquery-pin-it-button-for-images.php:1099
|
434 |
+
msgid "Left"
|
435 |
+
msgstr "Izquierda"
|
436 |
+
|
437 |
+
#: jquery-pin-it-button-for-images.php:1101
|
438 |
+
msgid "Right"
|
439 |
+
msgstr "Derecha"
|
440 |
+
|
441 |
+
#: jquery-pin-it-button-for-images.php:1114
|
442 |
+
msgid "Optimize for high pixel density displays"
|
443 |
+
msgstr "Optimizar para mostrados de densidad de pixeles altos"
|
444 |
+
|
445 |
+
#: jquery-pin-it-button-for-images.php:1130
|
446 |
+
msgid "Transparency value must be a number between %.02d and %.02f."
|
447 |
+
msgstr "El valor de transparencia debe ser un número entre %.02d y %.02f."
|
448 |
+
|
449 |
+
#: jquery-pin-it-button-for-images.php:1138
|
450 |
+
msgid "Custom image height"
|
451 |
+
msgstr "Largo personalizado de la imagen "
|
452 |
+
|
453 |
+
#: jquery-pin-it-button-for-images.php:1140
|
454 |
+
msgid "Custom image width"
|
455 |
+
msgstr "Ancho personalizado de la imagen "
|
456 |
+
|
457 |
+
#: jquery-pin-it-button-for-images.php:1201
|
458 |
+
msgid "Debug"
|
459 |
+
msgstr "Debuguear"
|
460 |
+
|
461 |
+
#: jquery-pin-it-button-for-images.php:1206
|
462 |
+
msgid ""
|
463 |
+
"Use debug mode only if you are experiencing some issues with the plugin and "
|
464 |
+
"you are reporting them to the developer of the plugin"
|
465 |
+
msgstr ""
|
466 |
+
"Usar modo debug solamente si usted está experimentando algunos problemas con "
|
467 |
+
"el plugin y esta reportándolos al desarrollador del plugin"
|
468 |
+
|
469 |
+
#: jquery-pin-it-button-for-images.php:1219
|
470 |
+
msgid "Advanced settings"
|
471 |
+
msgstr "Ajustes avanzados"
|
472 |
+
|
473 |
+
#: jquery-pin-it-button-for-images.php:1231
|
474 |
+
msgid "Enable debug mode"
|
475 |
+
msgstr "Habilitar modo debug"
|
476 |
+
|
477 |
+
#. Plugin Name of the plugin/theme
|
478 |
+
msgid "jQuery Pin It Button For Images"
|
479 |
+
msgstr "Botón \"Fíjelo\" de jQuery Para Imágenes"
|
480 |
+
|
481 |
+
#. Plugin URI of the plugin/theme
|
482 |
+
msgid "http://mrsztuczkens.me/jpibfi/"
|
483 |
+
msgstr "http://mrsztuczkens.me/jpibfi/"
|
484 |
+
|
485 |
+
#. Description of the plugin/theme
|
486 |
+
msgid ""
|
487 |
+
"Highlights images on hover and adds a \"Pin It\" button over them for easy "
|
488 |
+
"pinning."
|
489 |
+
msgstr ""
|
490 |
+
"Resalta imágenes en hover y adiciona un botón \"Fíjelo\" sobre ellas para el "
|
491 |
+
"fijado fácil."
|
492 |
+
|
493 |
+
#. Author of the plugin/theme
|
494 |
+
msgid "Marcin Skrzypiec"
|
495 |
+
msgstr "Marcin Skrzypiec"
|
496 |
+
|
497 |
+
#. Author URI of the plugin/theme
|
498 |
+
msgid "http://mrsztuczkens.me/"
|
499 |
+
msgstr "http://mrsztuczkens.me/"
|
languages/jquery-pin-it-button-for-images.pot
CHANGED
@@ -1,4 +1,4 @@
|
|
1 |
-
# Copyright (C)
|
2 |
# This file is distributed under the same license as the jquery-pin-it-button-for-images package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
@@ -6,7 +6,7 @@ msgstr ""
|
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
-
"PO-Revision-Date:
|
10 |
"Language-Team: Marcin Skrzypiec\n"
|
11 |
"X-Poedit-Basepath: ..\n"
|
12 |
"X-Poedit-SourceCharset: UTF-8\n"
|
@@ -15,611 +15,603 @@ msgstr ""
|
|
15 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
|
18 |
-
#: includes/admin/includes/
|
19 |
-
msgid "You have invalid or expired license key for jQuery Pin It Button for Images Pro. Please go to the <a href=\"%s\">License tab</a> to correct this issue or <a href=\"%s\">click here</a> if you renewed the license."
|
20 |
-
msgstr ""
|
21 |
-
|
22 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:49, includes/admin/JPIBFI_Welcome_Screen.php:51
|
23 |
msgid "Welcome to jQuery Pin It Button for Images"
|
24 |
msgstr ""
|
25 |
|
26 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
27 |
msgid "Welcome to %s %s"
|
28 |
msgstr ""
|
29 |
|
30 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
31 |
msgid "Thank you for updating to the latest version! %s helps your readers share your images using Pinterest."
|
32 |
msgstr ""
|
33 |
|
34 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
35 |
msgid "Settings"
|
36 |
msgstr ""
|
37 |
|
38 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
39 |
msgid "The most important part of the plugin is the settings panel."
|
40 |
msgstr ""
|
41 |
|
42 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
43 |
msgid "Finding the settings panel"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
47 |
msgid "You can find the plugin's settings panel in the <b>Settings</b> submenu under the name <b>%s</b>. There you can find all the settings the plugin allows you to adjust. All settings are divided into several tabs so you can find what you're looking for easily."
|
48 |
msgstr ""
|
49 |
|
50 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
51 |
msgid "Settings link"
|
52 |
msgstr ""
|
53 |
|
54 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
55 |
msgid "Everything at hand"
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
59 |
msgid "You can find all the links mentioned below in the settings panel."
|
60 |
msgstr ""
|
61 |
|
62 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
63 |
msgid "Settings tabs"
|
64 |
msgstr ""
|
65 |
|
66 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
67 |
msgid "Selection settings"
|
68 |
msgstr ""
|
69 |
|
70 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
71 |
msgid "In this tab you choose which images should feature the \"Pin it\" button. You can choose images with specific classes or set up a minimum image resolution to prevent the button from showing up on small images. You can also choose on which pages the \"Pin it\" button should show up."
|
72 |
msgstr ""
|
73 |
|
74 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
75 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Selection settings</a>"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
79 |
msgid "Visual settings"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
83 |
msgid "This tab helps you configure how the \"Pin it\" button looks like and where it appears. If you want to use your own \"Pin it\" icon or make the button show up in the upper right corner of the image, this is the tab you are looking for."
|
84 |
msgstr ""
|
85 |
|
86 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
87 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Visual settings</a>"
|
88 |
msgstr ""
|
89 |
|
90 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
91 |
msgid "Advanced settings"
|
92 |
msgstr ""
|
93 |
|
94 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
95 |
msgid "In most cases you won't have to visit this tab ever. It features a few advanced settings used in most cases to resolve conflicts with other plugins."
|
96 |
msgstr ""
|
97 |
|
98 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
99 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Advanced settings</a>"
|
100 |
msgstr ""
|
101 |
|
102 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
103 |
msgid "Import/Export"
|
104 |
msgstr ""
|
105 |
|
106 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
107 |
msgid "If you would like to quickly copy the plugin's settings to another instance of WordPress, that's the place for you. You can download a file with your current settings and import it to another instance easily."
|
108 |
msgstr ""
|
109 |
|
110 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
111 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Import/Export</a>"
|
112 |
msgstr ""
|
113 |
|
114 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
115 |
msgid "Finding help"
|
116 |
msgstr ""
|
117 |
|
118 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
119 |
msgid "If you're stuck and can't get the plugin to work the way you want it to, get help!"
|
120 |
msgstr ""
|
121 |
|
122 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
123 |
msgid "Documentation"
|
124 |
msgstr ""
|
125 |
|
126 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
127 |
msgid "If you are having difficulties with some aspects of the plugin, the first place to look for help is <a href=\"%s\" target=\"_blank\">the documentation</a> of the plugin. Chances are you will find what you are looking for there."
|
128 |
msgstr ""
|
129 |
|
130 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
131 |
msgid "Support"
|
132 |
msgstr ""
|
133 |
|
134 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
135 |
msgid "Users of the free version of the plugin can find support <a href=\"%s\" target=\"_blank\">in the support forum</a>. When posting to the support forum, make sure you include the URL of your website."
|
136 |
msgstr ""
|
137 |
|
138 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
139 |
msgid "Next steps"
|
140 |
msgstr ""
|
141 |
|
142 |
-
#: includes/admin/JPIBFI_Welcome_Screen.php:
|
143 |
msgid "In most cases, the plugin is ready to go without any configuration. If there is anything you would like to change, go to the <a href=\"%s\">Settings panel</a>."
|
144 |
msgstr ""
|
145 |
|
146 |
-
#: includes/admin/jpibfi-admin.php:
|
147 |
msgid "Save Changes"
|
148 |
msgstr ""
|
149 |
|
150 |
-
#: includes/admin/jpibfi-admin.php:
|
151 |
msgid "Saving changes ..."
|
152 |
msgstr ""
|
153 |
|
154 |
-
#: includes/admin/jpibfi-admin.php:
|
155 |
msgid "jQuery Pin It Button For Images Options"
|
156 |
msgstr ""
|
157 |
|
158 |
-
#: includes/admin/jpibfi-admin.php:
|
159 |
msgid "If you cannot see the settings page, <a href=\"%s\" target=\"_blank\">click here</a>"
|
160 |
msgstr ""
|
161 |
|
162 |
-
#: includes/admin/jpibfi-
|
163 |
-
msgid "<strong>jQuery Pin It Button for Images Pro</strong> is available. <a class=\"button button-primary\" href=\"%1$s\" target=\"_blank\">Check it out →</a>"
|
164 |
-
msgstr ""
|
165 |
-
|
166 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:25
|
167 |
msgid "Filters"
|
168 |
msgstr ""
|
169 |
|
170 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
171 |
msgid "You can enabled or disable if the plugin should use a certain filter and change the priority setting. Read more about filters <a href=\"%s\" target=\"_blank\">here</a>. By default all 3 filters are active with the priority of 10."
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
175 |
msgid "%name% with priority of %priority%"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
179 |
msgid "Advanced"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
183 |
msgid "the_content priority"
|
184 |
msgstr ""
|
185 |
|
186 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
187 |
msgid "the_excerpt priority"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
191 |
msgid "post_thumbnail_html priority"
|
192 |
msgstr ""
|
193 |
|
194 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
195 |
msgid "Scroll selector"
|
196 |
msgstr ""
|
197 |
|
198 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
199 |
msgid "Additional scroll selector for \"Always\" and \"Always on touch devices\" Show Button settings."
|
200 |
msgstr ""
|
201 |
|
202 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
203 |
msgid "Custom CSS"
|
204 |
msgstr ""
|
205 |
|
206 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
207 |
msgid "Additional CSS that prevents the \"Pin it\" button from rendering incorrectly on some themes."
|
208 |
msgstr ""
|
209 |
|
210 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
211 |
msgid "Support Srcset Attribute"
|
212 |
msgstr ""
|
213 |
|
214 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
215 |
msgid "Active"
|
216 |
msgstr ""
|
217 |
|
218 |
-
#: includes/admin/settings/jpibfi-advanced-settings.php:
|
219 |
msgid "When checked, the plugin will try to find the best quality image to pin using the srcset attribute generated by WordPress. Useful when you want people to pin bigger version of the image than you embed on the page."
|
220 |
msgstr ""
|
221 |
|
222 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
223 |
msgid "The file did not upload properly. Please try again."
|
224 |
msgstr ""
|
225 |
|
226 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
227 |
msgid "The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem."
|
228 |
msgstr ""
|
229 |
|
230 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
231 |
msgid "The path is not a file, please try again."
|
232 |
msgstr ""
|
233 |
|
234 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
235 |
msgid "Export"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
239 |
msgid "Download Export File"
|
240 |
msgstr ""
|
241 |
|
242 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
243 |
msgid "Import"
|
244 |
msgstr ""
|
245 |
|
246 |
-
#: includes/admin/settings/jpibfi-import-export-settings.php:
|
247 |
msgid "Import Settings"
|
248 |
msgstr ""
|
249 |
|
250 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
251 |
msgid "jQuery Pin It Button for Images Settings"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
255 |
msgid "Minimum image resolution"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
259 |
msgid "Use this settings to hide the \"Pin it\" button on small images (e.g. social media icons)."
|
260 |
msgstr ""
|
261 |
|
262 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
263 |
msgid "* - screen that is less than 768 pixels wide"
|
264 |
msgstr ""
|
265 |
|
266 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
267 |
msgid "For small screens* the \"Pin it\" button will show up if the image is at least %height% pixels high and %width% pixels wide."
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
271 |
msgid "Otherwise, the \"Pin it\" button will show up if the image is at least %height% pixels high and %width% pixels wide."
|
272 |
msgstr ""
|
273 |
|
274 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
275 |
msgid "On which pages the \"Pin it\" button should be shown"
|
276 |
msgstr ""
|
277 |
|
278 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
279 |
msgid "Selection"
|
280 |
msgstr ""
|
281 |
|
282 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
283 |
msgid "Image selector"
|
284 |
msgstr ""
|
285 |
|
286 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
287 |
msgid "jQuery selector for all the images that should have the \"Pin it\" button. Set the value to %s if you want the \"Pin it\" button to appear only on images in content or %s to appear on all images on site (including sidebar, header and footer). If you know a thing or two about jQuery, you might use your own selector. %sClick here%s to read about jQuery selectors."
|
288 |
msgstr ""
|
289 |
|
290 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
291 |
msgid "Disabled classes"
|
292 |
msgstr ""
|
293 |
|
294 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
295 |
msgid "Images with these CSS classes won't show the \"Pin it\" button. Please separate multiple classes with semicolons. Spaces are not accepted."
|
296 |
msgstr ""
|
297 |
|
298 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
299 |
msgid "Enabled classes"
|
300 |
msgstr ""
|
301 |
|
302 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
303 |
msgid "Only images with these CSS classes will show the \"Pin it\" button. Please separate multiple classes with semicolons. If this field is empty, images with any (besides disabled ones) classes will show the Pin It button."
|
304 |
msgstr ""
|
305 |
|
306 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
307 |
msgid "Height"
|
308 |
msgstr ""
|
309 |
|
310 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
311 |
msgid "Minimum image height"
|
312 |
msgstr ""
|
313 |
|
314 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
315 |
msgid "Width"
|
316 |
msgstr ""
|
317 |
|
318 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
319 |
msgid "Minimum image width"
|
320 |
msgstr ""
|
321 |
|
322 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
323 |
msgid "Minimum image height for mobile"
|
324 |
msgstr ""
|
325 |
|
326 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
327 |
msgid "Minimum image width for mobile"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
331 |
msgid "Show on"
|
332 |
msgstr ""
|
333 |
|
334 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
335 |
msgid "Disable on"
|
336 |
msgstr ""
|
337 |
|
338 |
-
#: includes/admin/settings/jpibfi-selection-settings.php:
|
339 |
msgid "Disable plugin on this post"
|
340 |
msgstr ""
|
341 |
|
342 |
-
#: includes/admin/settings/jpibfi-settings-base.php:
|
343 |
-
msgid "This feature is available in
|
344 |
msgstr ""
|
345 |
|
346 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
347 |
msgid "\"Pin it\" button margins"
|
348 |
msgstr ""
|
349 |
|
350 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
351 |
msgid "Margins are used to adjust the position of the \"Pin it\" button, but not all margins are used on all button positions. Here is an example. If you're using the \"%s\" position, the button's position will be affected only by top and left margins. Bottom and right margins affect \"%s\" position, etc. The \"%s\" position does not use any margins at all."
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
355 |
msgid "Top left"
|
356 |
msgstr ""
|
357 |
|
358 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
359 |
msgid "Bottom right"
|
360 |
msgstr ""
|
361 |
|
362 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
363 |
msgid "Middle"
|
364 |
msgstr ""
|
365 |
|
366 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
367 |
msgid "Preview"
|
368 |
msgstr ""
|
369 |
|
370 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
371 |
msgid "Mode"
|
372 |
msgstr ""
|
373 |
|
374 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
375 |
msgid "Click the button to choose an image from your WordPress media library. Height and width should fill automatically."
|
376 |
msgstr ""
|
377 |
|
378 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
379 |
msgid "No image to preview"
|
380 |
msgstr ""
|
381 |
|
382 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
383 |
msgid "Upload an image using media library"
|
384 |
msgstr ""
|
385 |
|
386 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
387 |
msgid "Select your custom \"Pin It\" button"
|
388 |
msgstr ""
|
389 |
|
390 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
391 |
msgid "Use as \"Pin It\" button"
|
392 |
msgstr ""
|
393 |
|
394 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
395 |
msgid "Available icons come from the following icon packs: %s and %s."
|
396 |
msgstr ""
|
397 |
|
398 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
399 |
msgid "Visual"
|
400 |
msgstr ""
|
401 |
|
402 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
403 |
msgid "Show button"
|
404 |
msgstr ""
|
405 |
|
406 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
407 |
msgid "On hover"
|
408 |
msgstr ""
|
409 |
|
410 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
411 |
msgid "Always on touch devices"
|
412 |
msgstr ""
|
413 |
|
414 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
415 |
msgid "Always"
|
416 |
msgstr ""
|
417 |
|
418 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
419 |
msgid "When the \"Pin it\" button should be visible."
|
420 |
msgstr ""
|
421 |
|
422 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
423 |
msgid "Bottom"
|
424 |
msgstr ""
|
425 |
|
426 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
427 |
msgid "Button bottom margin"
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
431 |
msgid "Top"
|
432 |
msgstr ""
|
433 |
|
434 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
435 |
msgid "Button top margin"
|
436 |
msgstr ""
|
437 |
|
438 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
439 |
msgid "Left"
|
440 |
msgstr ""
|
441 |
|
442 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
443 |
msgid "Button left margin"
|
444 |
msgstr ""
|
445 |
|
446 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
447 |
msgid "Right"
|
448 |
msgstr ""
|
449 |
|
450 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
451 |
msgid "Button right margin"
|
452 |
msgstr ""
|
453 |
|
454 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
455 |
msgid "\"Pin it\" button position"
|
456 |
msgstr ""
|
457 |
|
458 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
459 |
msgid "Top right"
|
460 |
msgstr ""
|
461 |
|
462 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
463 |
msgid "Bottom left"
|
464 |
msgstr ""
|
465 |
|
466 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
467 |
msgid "Where the \"Pin it\" button should appear on the image."
|
468 |
msgstr ""
|
469 |
|
470 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
471 |
msgid "Description source"
|
472 |
msgstr ""
|
473 |
|
474 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
475 |
msgid "Post title"
|
476 |
msgstr ""
|
477 |
|
478 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
479 |
msgid "Post description (excerpt)"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
483 |
msgid "Image title attribute"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
487 |
msgid "Site title (Settings->General)"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
491 |
msgid "Image description"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
495 |
msgid "Image caption"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
499 |
msgid "Image alt attribute"
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
503 |
msgid "data-pin-description (Pinterest's custom attribute)"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
507 |
msgid "From where the Pinterest message should be taken. Check which sources should be considered and prioritize them by dragging and dropping. The description will come from the top source that has data. Please note that \"Image description\" and \"Image caption\" work properly only for images that were added to your Media Library."
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
511 |
msgid "Transparency"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
515 |
msgid "Choose transparency (between %.02f and %.02f)"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
519 |
msgid "Pin image"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
523 |
msgid "Old default"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
527 |
msgid "Default"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
531 |
msgid "Custom"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
535 |
msgid "Button"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
539 |
msgid "Square"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
543 |
msgid "Rounded square"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
547 |
msgid "Round"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
551 |
msgid "Rectangle"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
555 |
msgid "Rounded rectangle"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
559 |
msgid "Icon"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
563 |
msgid "Circle"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
567 |
msgid "Plain"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
571 |
msgid "Thumbtack"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
575 |
msgid "Thumbtack #2"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
579 |
msgid "Classic"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
583 |
msgid "Size"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
587 |
msgid "Small"
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
591 |
msgid "Normal"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
595 |
msgid "Large"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
599 |
msgid "URL address of the image"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
603 |
msgid "Custom image height"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
607 |
msgid "Custom image width"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
611 |
msgid "Scale Pin Image"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
615 |
msgid "When checked, the \"Pin it\" button will scale down in size for smaller screens, ensuring best user experience. Left unchecked, the \"Pin it\" button will show up in full size no matter the screen size."
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
619 |
msgid "Pin linked URL"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: includes/admin/settings/jpibfi-visual-settings.php:
|
623 |
msgid "When checked, if the image links to another URL in your domain, that URL goes to Pinterest instead of the current one."
|
624 |
msgstr ""
|
625 |
|
1 |
+
# Copyright (C) 2020 jquery-pin-it-button-for-images
|
2 |
# This file is distributed under the same license as the jquery-pin-it-button-for-images package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
6 |
"MIME-Version: 1.0\n"
|
7 |
"Content-Type: text/plain; charset=UTF-8\n"
|
8 |
"Content-Transfer-Encoding: 8bit\n"
|
9 |
+
"PO-Revision-Date: 2020-MO-DA HO:MI+ZONE\n"
|
10 |
"Language-Team: Marcin Skrzypiec\n"
|
11 |
"X-Poedit-Basepath: ..\n"
|
12 |
"X-Poedit-SourceCharset: UTF-8\n"
|
15 |
"X-Poedit-SearchPathExcluded-0: *.js\n"
|
16 |
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
17 |
|
18 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:25, includes/admin/JPIBFI_Welcome_Screen.php:26
|
|
|
|
|
|
|
|
|
19 |
msgid "Welcome to jQuery Pin It Button for Images"
|
20 |
msgstr ""
|
21 |
|
22 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:39
|
23 |
msgid "Welcome to %s %s"
|
24 |
msgstr ""
|
25 |
|
26 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:41
|
27 |
msgid "Thank you for updating to the latest version! %s helps your readers share your images using Pinterest."
|
28 |
msgstr ""
|
29 |
|
30 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:46, includes/admin/jpibfi-admin.php:37, includes/admin/settings/jpibfi-visual-settings.php:20
|
31 |
msgid "Settings"
|
32 |
msgstr ""
|
33 |
|
34 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:47
|
35 |
msgid "The most important part of the plugin is the settings panel."
|
36 |
msgstr ""
|
37 |
|
38 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:52
|
39 |
msgid "Finding the settings panel"
|
40 |
msgstr ""
|
41 |
|
42 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:53
|
43 |
msgid "You can find the plugin's settings panel in the <b>Settings</b> submenu under the name <b>%s</b>. There you can find all the settings the plugin allows you to adjust. All settings are divided into several tabs so you can find what you're looking for easily."
|
44 |
msgstr ""
|
45 |
|
46 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:60
|
47 |
msgid "Settings link"
|
48 |
msgstr ""
|
49 |
|
50 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:64
|
51 |
msgid "Everything at hand"
|
52 |
msgstr ""
|
53 |
|
54 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:65
|
55 |
msgid "You can find all the links mentioned below in the settings panel."
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:68
|
59 |
msgid "Settings tabs"
|
60 |
msgstr ""
|
61 |
|
62 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:73, includes/admin/settings/jpibfi-selection-settings.php:26
|
63 |
msgid "Selection settings"
|
64 |
msgstr ""
|
65 |
|
66 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:74
|
67 |
msgid "In this tab you choose which images should feature the \"Pin it\" button. You can choose images with specific classes or set up a minimum image resolution to prevent the button from showing up on small images. You can also choose on which pages the \"Pin it\" button should show up."
|
68 |
msgstr ""
|
69 |
|
70 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:75
|
71 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Selection settings</a>"
|
72 |
msgstr ""
|
73 |
|
74 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:78
|
75 |
msgid "Visual settings"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:79
|
79 |
msgid "This tab helps you configure how the \"Pin it\" button looks like and where it appears. If you want to use your own \"Pin it\" icon or make the button show up in the upper right corner of the image, this is the tab you are looking for."
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:80
|
83 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Visual settings</a>"
|
84 |
msgstr ""
|
85 |
|
86 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:85, includes/admin/settings/jpibfi-advanced-settings.php:12
|
87 |
msgid "Advanced settings"
|
88 |
msgstr ""
|
89 |
|
90 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:86
|
91 |
msgid "In most cases you won't have to visit this tab ever. It features a few advanced settings used in most cases to resolve conflicts with other plugins."
|
92 |
msgstr ""
|
93 |
|
94 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:87
|
95 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Advanced settings</a>"
|
96 |
msgstr ""
|
97 |
|
98 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:90, includes/admin/settings/jpibfi-import-export-settings.php:88
|
99 |
msgid "Import/Export"
|
100 |
msgstr ""
|
101 |
|
102 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:91
|
103 |
msgid "If you would like to quickly copy the plugin's settings to another instance of WordPress, that's the place for you. You can download a file with your current settings and import it to another instance easily."
|
104 |
msgstr ""
|
105 |
|
106 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:92
|
107 |
msgid "<a href=\"%s\" class=\"button button-primary\">Go to Import/Export</a>"
|
108 |
msgstr ""
|
109 |
|
110 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:99
|
111 |
msgid "Finding help"
|
112 |
msgstr ""
|
113 |
|
114 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:100
|
115 |
msgid "If you're stuck and can't get the plugin to work the way you want it to, get help!"
|
116 |
msgstr ""
|
117 |
|
118 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:105, includes/admin/jpibfi-admin.php:103
|
119 |
msgid "Documentation"
|
120 |
msgstr ""
|
121 |
|
122 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:106
|
123 |
msgid "If you are having difficulties with some aspects of the plugin, the first place to look for help is <a href=\"%s\" target=\"_blank\">the documentation</a> of the plugin. Chances are you will find what you are looking for there."
|
124 |
msgstr ""
|
125 |
|
126 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:109, includes/admin/jpibfi-admin.php:107
|
127 |
msgid "Support"
|
128 |
msgstr ""
|
129 |
|
130 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:111
|
131 |
msgid "Users of the free version of the plugin can find support <a href=\"%s\" target=\"_blank\">in the support forum</a>. When posting to the support forum, make sure you include the URL of your website."
|
132 |
msgstr ""
|
133 |
|
134 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:117
|
135 |
msgid "Next steps"
|
136 |
msgstr ""
|
137 |
|
138 |
+
#: includes/admin/JPIBFI_Welcome_Screen.php:119
|
139 |
msgid "In most cases, the plugin is ready to go without any configuration. If there is anything you would like to change, go to the <a href=\"%s\">Settings panel</a>."
|
140 |
msgstr ""
|
141 |
|
142 |
+
#: includes/admin/jpibfi-admin.php:124, includes/admin/settings/jpibfi-settings-base.php:30
|
143 |
msgid "Save Changes"
|
144 |
msgstr ""
|
145 |
|
146 |
+
#: includes/admin/jpibfi-admin.php:130
|
147 |
msgid "Saving changes ..."
|
148 |
msgstr ""
|
149 |
|
150 |
+
#: includes/admin/jpibfi-admin.php:160
|
151 |
msgid "jQuery Pin It Button For Images Options"
|
152 |
msgstr ""
|
153 |
|
154 |
+
#: includes/admin/jpibfi-admin.php:163
|
155 |
msgid "If you cannot see the settings page, <a href=\"%s\" target=\"_blank\">click here</a>"
|
156 |
msgstr ""
|
157 |
|
158 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:13
|
|
|
|
|
|
|
|
|
159 |
msgid "Filters"
|
160 |
msgstr ""
|
161 |
|
162 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:16
|
163 |
msgid "You can enabled or disable if the plugin should use a certain filter and change the priority setting. Read more about filters <a href=\"%s\" target=\"_blank\">here</a>. By default all 3 filters are active with the priority of 10."
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:19
|
167 |
msgid "%name% with priority of %priority%"
|
168 |
msgstr ""
|
169 |
|
170 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:27
|
171 |
msgid "Advanced"
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:45
|
175 |
msgid "the_content priority"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:57
|
179 |
msgid "the_excerpt priority"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:69
|
183 |
msgid "post_thumbnail_html priority"
|
184 |
msgstr ""
|
185 |
|
186 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:75
|
187 |
msgid "Scroll selector"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:76
|
191 |
msgid "Additional scroll selector for \"Always\" and \"Always on touch devices\" Show Button settings."
|
192 |
msgstr ""
|
193 |
|
194 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:82
|
195 |
msgid "Custom CSS"
|
196 |
msgstr ""
|
197 |
|
198 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:83
|
199 |
msgid "Additional CSS that prevents the \"Pin it\" button from rendering incorrectly on some themes."
|
200 |
msgstr ""
|
201 |
|
202 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:88
|
203 |
msgid "Support Srcset Attribute"
|
204 |
msgstr ""
|
205 |
|
206 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:89, includes/admin/settings/jpibfi-visual-settings.php:200, includes/admin/settings/jpibfi-visual-settings.php:208
|
207 |
msgid "Active"
|
208 |
msgstr ""
|
209 |
|
210 |
+
#: includes/admin/settings/jpibfi-advanced-settings.php:90
|
211 |
msgid "When checked, the plugin will try to find the best quality image to pin using the srcset attribute generated by WordPress. Useful when you want people to pin bigger version of the image than you embed on the page."
|
212 |
msgstr ""
|
213 |
|
214 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:32
|
215 |
msgid "The file did not upload properly. Please try again."
|
216 |
msgstr ""
|
217 |
|
218 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:40
|
219 |
msgid "The export file could not be found at <code>%s</code>. It is likely that this was caused by a permissions problem."
|
220 |
msgstr ""
|
221 |
|
222 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:47
|
223 |
msgid "The path is not a file, please try again."
|
224 |
msgstr ""
|
225 |
|
226 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:74
|
227 |
msgid "Export"
|
228 |
msgstr ""
|
229 |
|
230 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:76
|
231 |
msgid "Download Export File"
|
232 |
msgstr ""
|
233 |
|
234 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:78
|
235 |
msgid "Import"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: includes/admin/settings/jpibfi-import-export-settings.php:79
|
239 |
msgid "Import Settings"
|
240 |
msgstr ""
|
241 |
|
242 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:14
|
243 |
msgid "jQuery Pin It Button for Images Settings"
|
244 |
msgstr ""
|
245 |
|
246 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:27
|
247 |
msgid "Minimum image resolution"
|
248 |
msgstr ""
|
249 |
|
250 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:28
|
251 |
msgid "Use this settings to hide the \"Pin it\" button on small images (e.g. social media icons)."
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:29
|
255 |
msgid "* - screen that is less than 768 pixels wide"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:30
|
259 |
msgid "For small screens* the \"Pin it\" button will show up if the image is at least %height% pixels high and %width% pixels wide."
|
260 |
msgstr ""
|
261 |
|
262 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:31
|
263 |
msgid "Otherwise, the \"Pin it\" button will show up if the image is at least %height% pixels high and %width% pixels wide."
|
264 |
msgstr ""
|
265 |
|
266 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:33
|
267 |
msgid "On which pages the \"Pin it\" button should be shown"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:53
|
271 |
msgid "Selection"
|
272 |
msgstr ""
|
273 |
|
274 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:64
|
275 |
msgid "Image selector"
|
276 |
msgstr ""
|
277 |
|
278 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:65
|
279 |
msgid "jQuery selector for all the images that should have the \"Pin it\" button. Set the value to %s if you want the \"Pin it\" button to appear only on images in content or %s to appear on all images on site (including sidebar, header and footer). If you know a thing or two about jQuery, you might use your own selector. %sClick here%s to read about jQuery selectors."
|
280 |
msgstr ""
|
281 |
|
282 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:77
|
283 |
msgid "Disabled classes"
|
284 |
msgstr ""
|
285 |
|
286 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:78
|
287 |
msgid "Images with these CSS classes won't show the \"Pin it\" button. Please separate multiple classes with semicolons. Spaces are not accepted."
|
288 |
msgstr ""
|
289 |
|
290 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:84
|
291 |
msgid "Enabled classes"
|
292 |
msgstr ""
|
293 |
|
294 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:85
|
295 |
msgid "Only images with these CSS classes will show the \"Pin it\" button. Please separate multiple classes with semicolons. If this field is empty, images with any (besides disabled ones) classes will show the Pin It button."
|
296 |
msgstr ""
|
297 |
|
298 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:96, includes/admin/settings/jpibfi-selection-settings.php:107, includes/admin/settings/jpibfi-visual-settings.php:188
|
299 |
msgid "Height"
|
300 |
msgstr ""
|
301 |
|
302 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:97
|
303 |
msgid "Minimum image height"
|
304 |
msgstr ""
|
305 |
|
306 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:101, includes/admin/settings/jpibfi-selection-settings.php:112, includes/admin/settings/jpibfi-visual-settings.php:193
|
307 |
msgid "Width"
|
308 |
msgstr ""
|
309 |
|
310 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:102
|
311 |
msgid "Minimum image width"
|
312 |
msgstr ""
|
313 |
|
314 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:108
|
315 |
msgid "Minimum image height for mobile"
|
316 |
msgstr ""
|
317 |
|
318 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:113
|
319 |
msgid "Minimum image width for mobile"
|
320 |
msgstr ""
|
321 |
|
322 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:118
|
323 |
msgid "Show on"
|
324 |
msgstr ""
|
325 |
|
326 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:124
|
327 |
msgid "Disable on"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: includes/admin/settings/jpibfi-selection-settings.php:147
|
331 |
msgid "Disable plugin on this post"
|
332 |
msgstr ""
|
333 |
|
334 |
+
#: includes/admin/settings/jpibfi-settings-base.php:31
|
335 |
+
msgid "This feature is not available in the free version."
|
336 |
msgstr ""
|
337 |
|
338 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:12
|
339 |
msgid "\"Pin it\" button margins"
|
340 |
msgstr ""
|
341 |
|
342 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:13
|
343 |
msgid "Margins are used to adjust the position of the \"Pin it\" button, but not all margins are used on all button positions. Here is an example. If you're using the \"%s\" position, the button's position will be affected only by top and left margins. Bottom and right margins affect \"%s\" position, etc. The \"%s\" position does not use any margins at all."
|
344 |
msgstr ""
|
345 |
|
346 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:14, includes/admin/settings/jpibfi-visual-settings.php:94
|
347 |
msgid "Top left"
|
348 |
msgstr ""
|
349 |
|
350 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:15, includes/admin/settings/jpibfi-visual-settings.php:97
|
351 |
msgid "Bottom right"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:16, includes/admin/settings/jpibfi-visual-settings.php:98
|
355 |
msgid "Middle"
|
356 |
msgstr ""
|
357 |
|
358 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:18
|
359 |
msgid "Preview"
|
360 |
msgstr ""
|
361 |
|
362 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:19
|
363 |
msgid "Mode"
|
364 |
msgstr ""
|
365 |
|
366 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:21
|
367 |
msgid "Click the button to choose an image from your WordPress media library. Height and width should fill automatically."
|
368 |
msgstr ""
|
369 |
|
370 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:22
|
371 |
msgid "No image to preview"
|
372 |
msgstr ""
|
373 |
|
374 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:23
|
375 |
msgid "Upload an image using media library"
|
376 |
msgstr ""
|
377 |
|
378 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:24
|
379 |
msgid "Select your custom \"Pin It\" button"
|
380 |
msgstr ""
|
381 |
|
382 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:25
|
383 |
msgid "Use as \"Pin It\" button"
|
384 |
msgstr ""
|
385 |
|
386 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:27
|
387 |
msgid "Available icons come from the following icon packs: %s and %s."
|
388 |
msgstr ""
|
389 |
|
390 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:38
|
391 |
msgid "Visual"
|
392 |
msgstr ""
|
393 |
|
394 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:49
|
395 |
msgid "Show button"
|
396 |
msgstr ""
|
397 |
|
398 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:51
|
399 |
msgid "On hover"
|
400 |
msgstr ""
|
401 |
|
402 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:52
|
403 |
msgid "Always on touch devices"
|
404 |
msgstr ""
|
405 |
|
406 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:53
|
407 |
msgid "Always"
|
408 |
msgstr ""
|
409 |
|
410 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:55
|
411 |
msgid "When the \"Pin it\" button should be visible."
|
412 |
msgstr ""
|
413 |
|
414 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:68
|
415 |
msgid "Bottom"
|
416 |
msgstr ""
|
417 |
|
418 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:69
|
419 |
msgid "Button bottom margin"
|
420 |
msgstr ""
|
421 |
|
422 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:74
|
423 |
msgid "Top"
|
424 |
msgstr ""
|
425 |
|
426 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:75
|
427 |
msgid "Button top margin"
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:80
|
431 |
msgid "Left"
|
432 |
msgstr ""
|
433 |
|
434 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:81
|
435 |
msgid "Button left margin"
|
436 |
msgstr ""
|
437 |
|
438 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:86
|
439 |
msgid "Right"
|
440 |
msgstr ""
|
441 |
|
442 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:87
|
443 |
msgid "Button right margin"
|
444 |
msgstr ""
|
445 |
|
446 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:92
|
447 |
msgid "\"Pin it\" button position"
|
448 |
msgstr ""
|
449 |
|
450 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:95
|
451 |
msgid "Top right"
|
452 |
msgstr ""
|
453 |
|
454 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:96
|
455 |
msgid "Bottom left"
|
456 |
msgstr ""
|
457 |
|
458 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:100
|
459 |
msgid "Where the \"Pin it\" button should appear on the image."
|
460 |
msgstr ""
|
461 |
|
462 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:106
|
463 |
msgid "Description source"
|
464 |
msgstr ""
|
465 |
|
466 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:108
|
467 |
msgid "Post title"
|
468 |
msgstr ""
|
469 |
|
470 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:109
|
471 |
msgid "Post description (excerpt)"
|
472 |
msgstr ""
|
473 |
|
474 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:110
|
475 |
msgid "Image title attribute"
|
476 |
msgstr ""
|
477 |
|
478 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:111
|
479 |
msgid "Site title (Settings->General)"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:112
|
483 |
msgid "Image description"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:113
|
487 |
msgid "Image caption"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:114
|
491 |
msgid "Image alt attribute"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:115
|
495 |
msgid "data-pin-description (Pinterest's custom attribute)"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:117
|
499 |
msgid "From where the Pinterest message should be taken. Check which sources should be considered and prioritize them by dragging and dropping. The description will come from the top source that has data. Please note that \"Image description\" and \"Image caption\" work properly only for images that were added to your Media Library."
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:123
|
503 |
msgid "Transparency"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:124
|
507 |
msgid "Choose transparency (between %.02f and %.02f)"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:133
|
511 |
msgid "Pin image"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:135
|
515 |
msgid "Old default"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:136
|
519 |
msgid "Default"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:137
|
523 |
msgid "Custom"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:144
|
527 |
msgid "Button"
|
528 |
msgstr ""
|
529 |
|
530 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:146
|
531 |
msgid "Square"
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:147
|
535 |
msgid "Rounded square"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:148
|
539 |
msgid "Round"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:149
|
543 |
msgid "Rectangle"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:150
|
547 |
msgid "Rounded rectangle"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:157
|
551 |
msgid "Icon"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:159
|
555 |
msgid "Circle"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:160
|
559 |
msgid "Plain"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:161
|
563 |
msgid "Thumbtack"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:162
|
567 |
msgid "Thumbtack #2"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:163
|
571 |
msgid "Classic"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:170
|
575 |
msgid "Size"
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:172
|
579 |
msgid "Small"
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:173
|
583 |
msgid "Normal"
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:174
|
587 |
msgid "Large"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:181
|
591 |
msgid "URL address of the image"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:189
|
595 |
msgid "Custom image height"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:194
|
599 |
msgid "Custom image width"
|
600 |
msgstr ""
|
601 |
|
602 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:199
|
603 |
msgid "Scale Pin Image"
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:201
|
607 |
msgid "When checked, the \"Pin it\" button will scale down in size for smaller screens, ensuring best user experience. Left unchecked, the \"Pin it\" button will show up in full size no matter the screen size."
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:207
|
611 |
msgid "Pin linked URL"
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: includes/admin/settings/jpibfi-visual-settings.php:209
|
615 |
msgid "When checked, if the image links to another URL in your domain, that URL goes to Pinterest instead of the current one."
|
616 |
msgstr ""
|
617 |
|
readme.txt
CHANGED
@@ -1,603 +1,607 @@
|
|
1 |
-
=== jQuery Pin It Button for Images ===
|
2 |
-
Contributors: mrsztuczkens, redearthdesign, brocheafoin, robertark
|
3 |
-
Tags: pinterest, pin it, button, image, images, pinit, social media, hover, click, photo, photos
|
4 |
-
Requires at least: 3.3.0
|
5 |
-
Tested up to: 5.
|
6 |
-
Stable tag: 3.0.
|
7 |
-
License: GPLv2 or later
|
8 |
-
|
9 |
-
Highlights images on hover and adds a Pinterest "Pin It" button over them for easy pinning.
|
10 |
-
|
11 |
-
== Description ==
|
12 |
-
If you're looking for an easy way to pin images in your blog posts and pages, this plugin will help you with that. It highlights images and adds a "Pin it" button over them once the user hovers his mouse over an image. Once the user clicks the "Pin it" button, the plugin shows a pop-up window with the image and a description. Everything is ready for pinning, although the user can alter the description.
|
13 |
-
|
14 |
-
The plugin allows you to:
|
15 |
-
|
16 |
-
* choose from where the pin description should be taken
|
17 |
-
* choose which pictures shouldn't show the "Pin it" button (using classes)
|
18 |
-
* choose which pictures should show the "Pin it" button (all images, post images, images with certain class(es))
|
19 |
-
* choose if you want to show the "Pin it" button on home page, single posts, single pages or category pages
|
20 |
-
* disable showing the button on certain posts and pages
|
21 |
-
* choose transparency level depending on your needs
|
22 |
-
* use your own Pinterest button design
|
23 |
-
|
24 |
-
Once you activate the plugin, it's ready to go with the default settings - button appears on all images within the body of your posts/pages that aren't marked with "nopin" or "wp-smiley" classes.
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
= How do I
|
49 |
-
|
50 |
-
|
51 |
-
=
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
*
|
74 |
-
*
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
*
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
*
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
*
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
*
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
*
|
95 |
-
*
|
96 |
-
*
|
97 |
-
*
|
98 |
-
* [Pro] Added support for
|
99 |
-
* [Pro] Added support for
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
*
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
*
|
108 |
-
*
|
109 |
-
|
110 |
-
|
111 |
-
|
112 |
-
*
|
113 |
-
|
114 |
-
|
115 |
-
|
116 |
-
*
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
*
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
*
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
*
|
129 |
-
*
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
*
|
134 |
-
*
|
135 |
-
|
136 |
-
|
137 |
-
|
138 |
-
*
|
139 |
-
|
140 |
-
|
141 |
-
|
142 |
-
*
|
143 |
-
|
144 |
-
|
145 |
-
|
146 |
-
*
|
147 |
-
* Fixed issue with
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
*
|
152 |
-
|
153 |
-
|
154 |
-
|
155 |
-
*
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
*
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
-
*
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
-
*
|
168 |
-
*
|
169 |
-
|
170 |
-
|
171 |
-
|
172 |
-
*
|
173 |
-
|
174 |
-
|
175 |
-
|
176 |
-
*
|
177 |
-
* Settings panel
|
178 |
-
|
179 |
-
|
180 |
-
|
181 |
-
*
|
182 |
-
* Added
|
183 |
-
|
184 |
-
|
185 |
-
|
186 |
-
*
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
*
|
191 |
-
*
|
192 |
-
|
193 |
-
|
194 |
-
|
195 |
-
*
|
196 |
-
*
|
197 |
-
|
198 |
-
|
199 |
-
|
200 |
-
*
|
201 |
-
* Fixed
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
*
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
*
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
*
|
214 |
-
*
|
215 |
-
*
|
216 |
-
|
217 |
-
|
218 |
-
|
219 |
-
*
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
*
|
224 |
-
|
225 |
-
|
226 |
-
|
227 |
-
*
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
-
*
|
232 |
-
* Feature:
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
*
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
*
|
241 |
-
|
242 |
-
|
243 |
-
|
244 |
-
*
|
245 |
-
|
246 |
-
|
247 |
-
|
248 |
-
*
|
249 |
-
|
250 |
-
|
251 |
-
|
252 |
-
*
|
253 |
-
*
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
-
*
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
*
|
262 |
-
|
263 |
-
|
264 |
-
|
265 |
-
*
|
266 |
-
|
267 |
-
|
268 |
-
|
269 |
-
*
|
270 |
-
|
271 |
-
|
272 |
-
|
273 |
-
*
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
*
|
278 |
-
*
|
279 |
-
|
280 |
-
|
281 |
-
|
282 |
-
*
|
283 |
-
|
284 |
-
|
285 |
-
|
286 |
-
*
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
*
|
291 |
-
*
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
*
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
*
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
*
|
304 |
-
*
|
305 |
-
|
306 |
-
|
307 |
-
|
308 |
-
*
|
309 |
-
*
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
*
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
*
|
318 |
-
|
319 |
-
|
320 |
-
|
321 |
-
*
|
322 |
-
*
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
*
|
327 |
-
*
|
328 |
-
*
|
329 |
-
*
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
*
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
*
|
338 |
-
*
|
339 |
-
|
340 |
-
|
341 |
-
|
342 |
-
*
|
343 |
-
*
|
344 |
-
* New feature:
|
345 |
-
*
|
346 |
-
|
347 |
-
|
348 |
-
|
349 |
-
*
|
350 |
-
*
|
351 |
-
*
|
352 |
-
*
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
*
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
*
|
361 |
-
* Bug fixed:
|
362 |
-
* Bug fixed:
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
*
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
*
|
371 |
-
*
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
*
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
*
|
380 |
-
* Feature: Ability to
|
381 |
-
*
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
*
|
386 |
-
* Feature:
|
387 |
-
* Feature: Ability to
|
388 |
-
* Feature:
|
389 |
-
* Feature:
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
|
398 |
-
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
-
|
408 |
-
|
409 |
-
|
410 |
-
|
411 |
-
|
412 |
-
|
413 |
-
|
414 |
-
|
415 |
-
|
416 |
-
|
417 |
-
|
418 |
-
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
|
434 |
-
|
435 |
-
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
|
452 |
-
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
|
461 |
-
|
462 |
-
|
463 |
-
|
464 |
-
|
465 |
-
|
466 |
-
|
467 |
-
|
468 |
-
|
469 |
-
|
470 |
-
|
471 |
-
|
472 |
-
|
473 |
-
|
474 |
-
|
475 |
-
|
476 |
-
*
|
477 |
-
|
478 |
-
= 2.0
|
479 |
-
*
|
480 |
-
*
|
481 |
-
|
482 |
-
= 2.0.
|
483 |
-
*
|
484 |
-
|
485 |
-
|
486 |
-
|
487 |
-
|
488 |
-
|
489 |
-
|
490 |
-
|
491 |
-
|
492 |
-
|
493 |
-
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
500 |
-
|
501 |
-
|
502 |
-
|
503 |
-
|
504 |
-
|
505 |
-
|
506 |
-
|
507 |
-
|
508 |
-
|
509 |
-
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
515 |
-
|
516 |
-
|
517 |
-
|
518 |
-
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
|
524 |
-
|
525 |
-
|
526 |
-
|
527 |
-
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
533 |
-
|
534 |
-
|
535 |
-
|
536 |
-
|
537 |
-
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
-
|
542 |
-
|
543 |
-
|
544 |
-
|
545 |
-
|
546 |
-
|
547 |
-
|
548 |
-
|
549 |
-
|
550 |
-
|
551 |
-
|
552 |
-
|
553 |
-
|
554 |
-
|
555 |
-
|
556 |
-
|
557 |
-
|
558 |
-
|
559 |
-
|
560 |
-
|
561 |
-
|
562 |
-
|
563 |
-
|
564 |
-
|
565 |
-
|
566 |
-
|
567 |
-
|
568 |
-
|
569 |
-
|
570 |
-
|
571 |
-
|
572 |
-
|
573 |
-
|
574 |
-
|
575 |
-
|
576 |
-
|
577 |
-
|
578 |
-
|
579 |
-
|
580 |
-
|
581 |
-
|
582 |
-
|
583 |
-
|
584 |
-
|
585 |
-
|
586 |
-
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
|
601 |
-
|
602 |
-
|
|
|
|
|
|
|
|
|
603 |
First version of the plugin.
|
1 |
+
=== jQuery Pin It Button for Images ===
|
2 |
+
Contributors: mrsztuczkens, redearthdesign, brocheafoin, robertark
|
3 |
+
Tags: pinterest, pin it, button, image, images, pinit, social media, hover, click, photo, photos
|
4 |
+
Requires at least: 3.3.0
|
5 |
+
Tested up to: 5.5.1
|
6 |
+
Stable tag: 3.0.6
|
7 |
+
License: GPLv2 or later
|
8 |
+
|
9 |
+
Highlights images on hover and adds a Pinterest "Pin It" button over them for easy pinning.
|
10 |
+
|
11 |
+
== Description ==
|
12 |
+
If you're looking for an easy way to pin images in your blog posts and pages, this plugin will help you with that. It highlights images and adds a "Pin it" button over them once the user hovers his mouse over an image. Once the user clicks the "Pin it" button, the plugin shows a pop-up window with the image and a description. Everything is ready for pinning, although the user can alter the description.
|
13 |
+
|
14 |
+
The plugin allows you to:
|
15 |
+
|
16 |
+
* choose from where the pin description should be taken
|
17 |
+
* choose which pictures shouldn't show the "Pin it" button (using classes)
|
18 |
+
* choose which pictures should show the "Pin it" button (all images, post images, images with certain class(es))
|
19 |
+
* choose if you want to show the "Pin it" button on home page, single posts, single pages or category pages
|
20 |
+
* disable showing the button on certain posts and pages
|
21 |
+
* choose transparency level depending on your needs
|
22 |
+
* use your own Pinterest button design
|
23 |
+
|
24 |
+
Once you activate the plugin, it's ready to go with the default settings - button appears on all images within the body of your posts/pages that aren't marked with "nopin" or "wp-smiley" classes.
|
25 |
+
|
26 |
+
**Translators**
|
27 |
+
- Spanish (es_ES) - Andrew Kurtis [WebHostingHub](http://www.webhostinghub.com/)
|
28 |
+
|
29 |
+
If you want to learn more about the plugin, visit its website: https://highfiveplugins.com/jpibfi/jquery-pin-it-button-for-images-documentation/
|
30 |
+
|
31 |
+
(This plugin is not related to or endorsed by Pinterest or its affiliates)
|
32 |
+
|
33 |
+
== Installation ==
|
34 |
+
|
35 |
+
1. Upload the folder to the `/wp-content/plugins/` directory
|
36 |
+
1. Activate the plugin through the 'Plugins' menu in WordPress
|
37 |
+
1. Configuration interface can be found under `Settings - jQuery Pin It Button For Images`. There's also a link to the plugin settings in the "Installed plugins" menu.
|
38 |
+
|
39 |
+
== Frequently Asked Questions ==
|
40 |
+
|
41 |
+
= Where can I change the plugins settings? =
|
42 |
+
|
43 |
+
Configuration interface can be found under `Settings - jQuery Pin It Button For Images`. There's also a link to the plugin settings in the "Installed plugins" menu.
|
44 |
+
|
45 |
+
= How do I add the button only to specific images? =
|
46 |
+
On the plugin settings page, there is a "Enabled classes" setting. Please enter there a class (or classes) that should show the "Pin it" button. Please note that images that don't contain any of the classes added in this setting won't show the "Pin it" button.
|
47 |
+
|
48 |
+
= How do I disable the button on specific images? =
|
49 |
+
Use the "Disabled classes" setting on the settings page - add there specific classes or use the "nopin" class.
|
50 |
+
|
51 |
+
= Can I use my own "Pin it" button design? =
|
52 |
+
Yes. On the settings page, there's a section named "Custom Pit It button". You need to check the Use custom image checkbox and provide a URL address of the image, image's width and height.
|
53 |
+
|
54 |
+
To upload you own image, you can use **Media Library** on your Wordpress installation or an image hosting service like **Photobucket**. Make sure you provide the proper address, width and height of the image. Otherwise, the button won't be displayed properly or won't be displayed at all.
|
55 |
+
|
56 |
+
= Where do I report bugs, improvements and suggestions? =
|
57 |
+
Please report them in the plugin's support forum on Wordpress.org.
|
58 |
+
|
59 |
+
== Screenshots ==
|
60 |
+
|
61 |
+
1. Base image in a blog post
|
62 |
+
2. Highlighted image and "Pin it" button on hover
|
63 |
+
3. Settings panel
|
64 |
+
4. Pinterest pop-up window
|
65 |
+
|
66 |
+
== Changelog ==
|
67 |
+
|
68 |
+
= 3.0.6 =
|
69 |
+
* Released 2020-09-30
|
70 |
+
* Removed nags for review and pro version
|
71 |
+
|
72 |
+
= 3.0.5 =
|
73 |
+
* Released 2019-09-15
|
74 |
+
* Improvements to how enabled and disabled classes work
|
75 |
+
* Fixed button sizing for Gutenberg galleries
|
76 |
+
|
77 |
+
= 3.0.4 =
|
78 |
+
* Released 2019-02-25
|
79 |
+
* Removed advertisement link
|
80 |
+
|
81 |
+
= 3.0.3 =
|
82 |
+
* Released 2018-11-25
|
83 |
+
* Fixed an issue with srcset attribute
|
84 |
+
|
85 |
+
= 3.0.2 =
|
86 |
+
* Released 2018-10-28
|
87 |
+
* Added support for data-pin-media and data-pin-url attributes.
|
88 |
+
|
89 |
+
= 3.0.1 =
|
90 |
+
* Released 2018-10-07
|
91 |
+
* Added the option to turn off pinning linked URLs.
|
92 |
+
|
93 |
+
= 3.0.0 =
|
94 |
+
* Released 2018-09-30
|
95 |
+
* Removed "Pin linked images" setting. It now automatically picks up linked images as the full-sized version of the image.
|
96 |
+
* If the image links to another URL, that URL goes to Pinterest instead of the current one.
|
97 |
+
* Reworked "Pin it" button sizing and cut the amount of CSS significantly
|
98 |
+
* [Pro] Added support for repinning images
|
99 |
+
* [Pro] Added support for scaling down the size of "Pin it" button for smaller screens
|
100 |
+
* [Pro] Added support for srcset attribute.
|
101 |
+
|
102 |
+
= 2.4.3 =
|
103 |
+
* Released 2018-05-13
|
104 |
+
* Added additional CSS clauses to prevent rendering errors on some themes
|
105 |
+
|
106 |
+
= 2.4.2 =
|
107 |
+
* Released 2018-03-16
|
108 |
+
* Added support for data-pin-description attribute
|
109 |
+
* Fixed pro version nag interval
|
110 |
+
|
111 |
+
= 2.4.0 =
|
112 |
+
* Released 2018-02-26
|
113 |
+
* Added support for custom showing and disabling the plugin on custom post types
|
114 |
+
|
115 |
+
= 2.3.4 =
|
116 |
+
* Released 2017-12-13
|
117 |
+
* Minor bug fix related to getting image source
|
118 |
+
|
119 |
+
= 2.3.3 =
|
120 |
+
* Released 2017-07-18
|
121 |
+
* Another Visual Tab Bug Fix
|
122 |
+
|
123 |
+
= 2.3.2 =
|
124 |
+
* Released 2017-07-12
|
125 |
+
* Visual Tab Bug Fix
|
126 |
+
|
127 |
+
= 2.3.1 =
|
128 |
+
* Released 2017-07-09
|
129 |
+
* Settings panel code rework
|
130 |
+
* Fixed issue with disabling review nag
|
131 |
+
|
132 |
+
= 2.3.0 =
|
133 |
+
* Released 2017-06-03
|
134 |
+
* Moved client script to footer
|
135 |
+
* Added warning if settings page does not work
|
136 |
+
|
137 |
+
= 2.2.10 =
|
138 |
+
* Released 2017-04-21
|
139 |
+
* Minor JavaScript improvements
|
140 |
+
|
141 |
+
= 2.2.9 =
|
142 |
+
* Released 2017-03-27
|
143 |
+
* Fixed one major JS bug
|
144 |
+
|
145 |
+
= 2.2.8 =
|
146 |
+
* Released 2017-03-26
|
147 |
+
* Fixed issue with JS error on client
|
148 |
+
* Fixed issue with using multiple enabled classes
|
149 |
+
|
150 |
+
= 2.2.7 =
|
151 |
+
* Released 2017-03-06
|
152 |
+
* Turned off minification of JS admin file to fix Cloudflare issues
|
153 |
+
|
154 |
+
= 2.2.6 =
|
155 |
+
* Released 2017-02-16
|
156 |
+
* Fixed conflict with other plugins that use angular
|
157 |
+
|
158 |
+
= 2.2.5 =
|
159 |
+
* Released 2017-01-31
|
160 |
+
* Fixed issue with updating the settings
|
161 |
+
|
162 |
+
= 2.2.4 =
|
163 |
+
* Released 2017-01-30
|
164 |
+
* Fix to support old versions of PHP
|
165 |
+
|
166 |
+
= 2.2.3 =
|
167 |
+
* Released 2017-01-29
|
168 |
+
* Minor cleanup
|
169 |
+
* Enhanced type checking to reduce errors caused by type mismatch even further
|
170 |
+
|
171 |
+
= 2.2.1 =
|
172 |
+
* Released 2017-01-22
|
173 |
+
* Fixed issue with saving custom images
|
174 |
+
|
175 |
+
= 2.2.0 =
|
176 |
+
* Released 2017-01-21
|
177 |
+
* Settings panel switched to saving via form submit instead of an Ajax request to avoid conflicts with security plugins
|
178 |
+
* Settings panel cleanup
|
179 |
+
|
180 |
+
= 2.1.3 =
|
181 |
+
* Released 2017-01-12
|
182 |
+
* Added ability to disable the plugin on certain filters and changing filters priority
|
183 |
+
* Added strong type checking in settings to reduce errors caused by type mismatch
|
184 |
+
|
185 |
+
= 2.1.2 =
|
186 |
+
* Released 2016-12-07
|
187 |
+
* Minor bug fixes
|
188 |
+
|
189 |
+
= 2.1.1 =
|
190 |
+
* Released 2016-11-11
|
191 |
+
* Fixed issue with double icons
|
192 |
+
* Disabled on and Enabled on settings now are not space-sensitive
|
193 |
+
|
194 |
+
= 2.1.0 =
|
195 |
+
* Released 2016-11-06
|
196 |
+
* Meta box to disable plugin on certain posts/pages added
|
197 |
+
* Added new icons
|
198 |
+
|
199 |
+
= 2.0.3 =
|
200 |
+
* Released 2016-10-08
|
201 |
+
* Fixed bug with removing image attributes
|
202 |
+
* Fixed issue with getting image description by URL
|
203 |
+
|
204 |
+
= 2.0.2 =
|
205 |
+
* Release 2016-10-05
|
206 |
+
* Another set of fixes for version 2.0.0
|
207 |
+
|
208 |
+
= 2.0.1 =
|
209 |
+
* Release 2016-10-04
|
210 |
+
* Fixes for version 2.0.0
|
211 |
+
|
212 |
+
= 2.00 =
|
213 |
+
* Release 2016-10-02
|
214 |
+
* Complete code rewrite
|
215 |
+
* Added support for featured image
|
216 |
+
* Plugin settings clean up
|
217 |
+
|
218 |
+
= 1.60 =
|
219 |
+
* Release 2016-07-04
|
220 |
+
* Added lightbox feature
|
221 |
+
|
222 |
+
= 1.52 =
|
223 |
+
* Release 2016-05-05
|
224 |
+
* Added import/export settings feature
|
225 |
+
|
226 |
+
= 1.51 =
|
227 |
+
* Release 2016-03-15
|
228 |
+
* Few minor fixes
|
229 |
+
|
230 |
+
= 1.50 =
|
231 |
+
* Release 2016-03-13
|
232 |
+
* Feature: Support for infinite scroll-like plugins
|
233 |
+
* Feature: Moved Pin Full Images from a separate plugin into jQuery Pin It Button For Images
|
234 |
+
|
235 |
+
= 1.42 =
|
236 |
+
* Release 2016-03-08
|
237 |
+
* Lots of backend enhancements
|
238 |
+
|
239 |
+
= 1.41 =
|
240 |
+
* Release 2016-02-12
|
241 |
+
* Syntax error for older versions of PHP fixed
|
242 |
+
|
243 |
+
= 1.40 =
|
244 |
+
* Release 2016-02-11
|
245 |
+
* Backend and frontend JavaScript rewritten
|
246 |
+
|
247 |
+
= 1.38 =
|
248 |
+
* Release 2014-09-16
|
249 |
+
* Fixed issue with positioning the button when Retina display active
|
250 |
+
|
251 |
+
= 1.37 =
|
252 |
+
* Release 2014-08-05
|
253 |
+
* Additional option in the description source setting
|
254 |
+
* Issue with saving checkboxes fixed
|
255 |
+
|
256 |
+
= 1.35 =
|
257 |
+
* Release 2014-06-20
|
258 |
+
* Static mode is now disabled
|
259 |
+
|
260 |
+
= 1.34 =
|
261 |
+
* Release 2014-06-16
|
262 |
+
* Added support for plugins lazy loading images
|
263 |
+
|
264 |
+
= 1.33 =
|
265 |
+
* Release 2014-05-18
|
266 |
+
* Minor changes
|
267 |
+
|
268 |
+
= 1.32 =
|
269 |
+
* Release 2014-05-04
|
270 |
+
* Minor fix
|
271 |
+
|
272 |
+
= 1.31 =
|
273 |
+
* Release 2014-03-13
|
274 |
+
* Important fix
|
275 |
+
|
276 |
+
= 1.30 =
|
277 |
+
* Release 2014-03-13
|
278 |
+
* PHP code redesign - plugin is much more extension friendly
|
279 |
+
* Deleted some of the compatibility-with-older-versions code
|
280 |
+
|
281 |
+
= 1.21 =
|
282 |
+
* Released 2014-02-22
|
283 |
+
* Fixed one issue from the previous release
|
284 |
+
|
285 |
+
= 1.20 =
|
286 |
+
* Released 2014-02-16
|
287 |
+
* Major JavaScript code redesign
|
288 |
+
|
289 |
+
= 1.17 =
|
290 |
+
* Released 2013-12-10
|
291 |
+
* Minor bug fix
|
292 |
+
* Added Spanish translation
|
293 |
+
|
294 |
+
= 1.16 =
|
295 |
+
* Released 2013-11-21
|
296 |
+
* Minor bug fix
|
297 |
+
|
298 |
+
= 1.15 =
|
299 |
+
* Released 2013-11-06
|
300 |
+
* Added 'Image description' option to 'Description source' option
|
301 |
+
|
302 |
+
= 1.14 =
|
303 |
+
* Released 2013-10-17
|
304 |
+
* Minor bug with linking images to posts fixed
|
305 |
+
* Plugin now supports Retina displays
|
306 |
+
|
307 |
+
= 1.13 =
|
308 |
+
* Released 2013-10-11
|
309 |
+
* Few minor code changes
|
310 |
+
* Plugin is translation-ready
|
311 |
+
|
312 |
+
= 1.12 =
|
313 |
+
* Released 2013-10-01
|
314 |
+
* One minor bug fixed
|
315 |
+
|
316 |
+
= 1.11 =
|
317 |
+
* Released 2013-08-25
|
318 |
+
* Two minor bugs fixed
|
319 |
+
|
320 |
+
= 1.10 =
|
321 |
+
* Released 2013-08-21
|
322 |
+
* Added dynamic mode that allows users to download the image and fixes many issues with the transparency layer
|
323 |
+
* Removed the ability to add custom css to the Pin It button, but added the ability to change margins
|
324 |
+
|
325 |
+
= 1.00 =
|
326 |
+
* Released 2013-08-09
|
327 |
+
* Major source code redesign
|
328 |
+
* Small changes in how the plugin works on client side
|
329 |
+
* WordPress-style settings panel
|
330 |
+
* Fixed a little glitch from previous version
|
331 |
+
|
332 |
+
= 0.0.99 =
|
333 |
+
* Released 2013-07-18
|
334 |
+
* Major changes in source code (mostly JavaScript), but little changes in features (few minor bugs/issues should be fixed)
|
335 |
+
|
336 |
+
= 0.9.95 =
|
337 |
+
* Released 2013-04-28
|
338 |
+
* Bug fixed: issue with pinning images with hashtags in their title/alt
|
339 |
+
* New feature: possibility to change the position of the "Pin it" button
|
340 |
+
|
341 |
+
= 0.9.9 =
|
342 |
+
* Released 2013-04-04
|
343 |
+
* Bug fixed: showing "Pin it" button on categories and archives even though they are unchecked in the settings
|
344 |
+
* New feature: possibility to set minimum image size that triggers the "Pin it" button to show up
|
345 |
+
* New feature: option to always link the image to its post/page url, instead of linking to the url the user is currently visiting
|
346 |
+
* Improvement: you now can set "Site title" as the default description of the pin
|
347 |
+
|
348 |
+
= 0.9.5 =
|
349 |
+
* Released 2013-03-04
|
350 |
+
* Fixed some issues with image sizing and responsive themes
|
351 |
+
* Code refactoring
|
352 |
+
* Added preview in the settings panel
|
353 |
+
* New feature: adding images using media library
|
354 |
+
|
355 |
+
= 0.9.2 =
|
356 |
+
* Released 2013-02-12
|
357 |
+
* It now works with jQuery versions older than 1.7
|
358 |
+
|
359 |
+
= 0.9.1 =
|
360 |
+
* Released 2013-02-12
|
361 |
+
* Bug fixed: resizing images when their dimensions are larger than the container they're in
|
362 |
+
* Bug fixed: plugin not working when jQuery added multiple times
|
363 |
+
* Bug fixed: wrong image url when images are lazy-loaded
|
364 |
+
|
365 |
+
= 0.9 =
|
366 |
+
* Released 2013-01-28
|
367 |
+
* Feature: Ability to use custom Pinterest button design
|
368 |
+
|
369 |
+
= 0.8 =
|
370 |
+
* Released 2013-01-12
|
371 |
+
* Feature: Ability to choose transparency level depending on one's needs
|
372 |
+
* Added support for default Wordpress align classes, so the plugin doesn't mess up the positioning of the images on screen (in typical cases)
|
373 |
+
|
374 |
+
= 0.7.1 =
|
375 |
+
* Released 2012-12-20
|
376 |
+
* Bug related to deleting and quick-editing posts fixed
|
377 |
+
|
378 |
+
= 0.7 =
|
379 |
+
* Released 2012-12-18
|
380 |
+
* Feature: Ability to show or hide the "Pin it" button on home page, single page, single post and categories (with archives)
|
381 |
+
* Feature: Ability to disable the "Pin it" button on certain post or page, works only on single post/page view
|
382 |
+
* Added security checks using Nonces
|
383 |
+
|
384 |
+
= 0.5 =
|
385 |
+
* Released 2012-12-9
|
386 |
+
* Feature: Pinterest window opens as a pop-up
|
387 |
+
* Feature: Ability to exclude certain classes from showing the "Pin it" button
|
388 |
+
* Feature: Ability to include only certain classes that will show the "Pin it" button
|
389 |
+
* Feature: Image is highlighted once hovered
|
390 |
+
* Feature: IE7 image highlight fix: using a transparent png instead of background-color
|
391 |
+
|
392 |
+
== Upgrade Notice ==
|
393 |
+
|
394 |
+
= 3.0.6 =
|
395 |
+
* Removed nags for review and pro version
|
396 |
+
|
397 |
+
= 3.0.5 =
|
398 |
+
* Improvements to how enabled and disabled classes work and fFixed button sizing for Gutenberg galleries
|
399 |
+
|
400 |
+
= 3.0.4 =
|
401 |
+
* Remove advertisement link
|
402 |
+
|
403 |
+
= 3.0.3 =
|
404 |
+
* Fixed an issue with srcset attribute
|
405 |
+
|
406 |
+
= 3.0.2 =
|
407 |
+
* Added support for data-pin-media and data-pin-url attributes.
|
408 |
+
|
409 |
+
= 3.0.1 =
|
410 |
+
* Added the option to turn off pinning linked URLs.
|
411 |
+
|
412 |
+
= 3.0.0 =
|
413 |
+
Major code rework. Faster loading after cutting most of unneeded CSS. Images that link to an URL now create Pins with that URL too.
|
414 |
+
|
415 |
+
= 2.4.3 =
|
416 |
+
* Added additional CSS clauses to prevent rendering errors on some themes
|
417 |
+
|
418 |
+
= 2.4.2 =
|
419 |
+
* Support for data-pin-description and one more minor fix
|
420 |
+
|
421 |
+
= 2.4.0 =
|
422 |
+
* Added support for custom showing and disabling the plugin on custom post types
|
423 |
+
|
424 |
+
= 2.3.4 =
|
425 |
+
* Minor bug fix related to getting image source
|
426 |
+
|
427 |
+
= 2.3.3 =
|
428 |
+
* Another Visual Tab Bug Fix
|
429 |
+
|
430 |
+
= 2.3.2 =
|
431 |
+
* Visual Tab Bug Fix
|
432 |
+
|
433 |
+
= 2.3.1 =
|
434 |
+
* Minor code improvements, fixed bug with disabling review nag
|
435 |
+
|
436 |
+
= 2.3.0 =
|
437 |
+
* Moved client script to footer, added warning for settings page error
|
438 |
+
|
439 |
+
= 2.2.10 =
|
440 |
+
* Minor JavaScript improvements
|
441 |
+
|
442 |
+
= 2.2.9 =
|
443 |
+
* Fixed one major JS bug
|
444 |
+
|
445 |
+
= 2.2.8 =
|
446 |
+
* Two minor bug fixes
|
447 |
+
|
448 |
+
= 2.2.7 =
|
449 |
+
* Turned off minification of JS admin file to fix Cloudflare issues
|
450 |
+
|
451 |
+
= 2.2.6 =
|
452 |
+
* Fixed conflict with other plugins that use angular
|
453 |
+
|
454 |
+
= 2.2.5 =
|
455 |
+
* Fixed issue with updating the settings
|
456 |
+
|
457 |
+
= 2.2.4 =
|
458 |
+
* Fix to support old versions of PHP
|
459 |
+
|
460 |
+
= 2.2.3 =
|
461 |
+
* Code cleanup * enhancements to using settings
|
462 |
+
|
463 |
+
= 2.2.1 =
|
464 |
+
* Fixed issue with saving custom images
|
465 |
+
|
466 |
+
= 2.2.0 =
|
467 |
+
* Changed how settings are saved to avoid conflicts with security plugins
|
468 |
+
|
469 |
+
= 2.1.3 =
|
470 |
+
* Added ability to manipulate filters the plugin uses and added additional validation to settings.
|
471 |
+
|
472 |
+
= 2.1.2 =
|
473 |
+
* Minor bug fixes
|
474 |
+
|
475 |
+
= 2.1.1 =
|
476 |
+
* Minor bug fixes
|
477 |
+
|
478 |
+
= 2.1.0 =
|
479 |
+
* Meta box to disable plugin on certain posts/pages added
|
480 |
+
* New icons available
|
481 |
+
|
482 |
+
= 2.0.3 =
|
483 |
+
* Fixed bug with removing image attributes
|
484 |
+
* Fixed issue with getting image description by URL
|
485 |
+
|
486 |
+
= 2.0.2 =
|
487 |
+
* Another set of fixes for version 2.0.0
|
488 |
+
|
489 |
+
= 2.0.1 =
|
490 |
+
* Fixes for version 2.0.0
|
491 |
+
|
492 |
+
= 2.00 =
|
493 |
+
* Complete rewrite plus some changes in settings.
|
494 |
+
|
495 |
+
= 1.60 =
|
496 |
+
* Added lightbox feature
|
497 |
+
|
498 |
+
= 1.52 =
|
499 |
+
* Added import/export settings feature
|
500 |
+
|
501 |
+
= 1.51 =
|
502 |
+
* Few minor fixes
|
503 |
+
|
504 |
+
= 1.50 =
|
505 |
+
Added support for infinite scroll-like plugins and merged Pin Full Images into the plugin.
|
506 |
+
|
507 |
+
= 1.42 =
|
508 |
+
Minor code improvements.
|
509 |
+
|
510 |
+
= 1.41 =
|
511 |
+
Syntax error for older versions of PHP fixed.
|
512 |
+
|
513 |
+
= 1.40 =
|
514 |
+
Minor code improvements.
|
515 |
+
|
516 |
+
= 1.38 =
|
517 |
+
Fixed issue with positioning the button when Retina display active.
|
518 |
+
|
519 |
+
= 1.37 =
|
520 |
+
Additional setting in the description source setting. Small bug fix.
|
521 |
+
|
522 |
+
= 1.35 =
|
523 |
+
Static mode is now disabled.
|
524 |
+
|
525 |
+
= 1.34 =
|
526 |
+
Minor update.
|
527 |
+
|
528 |
+
= 1.33 =
|
529 |
+
Minor addition.
|
530 |
+
|
531 |
+
= 1.32 =
|
532 |
+
Minor fix.
|
533 |
+
|
534 |
+
= 1.31 =
|
535 |
+
Important fix.
|
536 |
+
|
537 |
+
= 1.30 =
|
538 |
+
PHP code redesign.
|
539 |
+
|
540 |
+
= 1.21 =
|
541 |
+
Fixed one issue from the previous release.
|
542 |
+
|
543 |
+
= 1.20 =
|
544 |
+
Just code redesign.
|
545 |
+
|
546 |
+
= 1.17 =
|
547 |
+
Minor bug fix and Spanish translation added.
|
548 |
+
|
549 |
+
= 1.16 =
|
550 |
+
Minor bug fix.
|
551 |
+
|
552 |
+
= 1.15 =
|
553 |
+
Adds 'Image description' option to 'Description source' option.
|
554 |
+
|
555 |
+
= 1.14 =
|
556 |
+
Minor bug fix plus support for Retina displays added.
|
557 |
+
|
558 |
+
= 1.13 =
|
559 |
+
Minor code changes, plus plugin is now translation-ready.
|
560 |
+
|
561 |
+
= 1.12 =
|
562 |
+
One minor bug fix.
|
563 |
+
|
564 |
+
= 1.11 =
|
565 |
+
Two minor bug fixes, that's all.
|
566 |
+
|
567 |
+
= 1.10 =
|
568 |
+
This update is recommended for people who had issues with version 1.00 but version 0.99 worked flawlessly. It adds a new mode that allows users to download images and fixes those issues related to version 1.00.
|
569 |
+
|
570 |
+
= 1.00 =
|
571 |
+
Major source code redesign, new settings panel and fix to a little glitch from previous version of the plugin.
|
572 |
+
|
573 |
+
= 0.9.99 =
|
574 |
+
Major source code changes with almost no changes in terms of features. This version can be considered a "test" one. After fixing bugs (if there are any - please report) version 1.0.0 will be published.
|
575 |
+
|
576 |
+
= 0.9.95 =
|
577 |
+
Minor bug fixed and one new feature (setting the position of the "Pin it" button) added.
|
578 |
+
|
579 |
+
= 0.9.9 =
|
580 |
+
A minor bug fixed and two new features (minimum image size among them) added.
|
581 |
+
|
582 |
+
= 0.9.5 =
|
583 |
+
Few minor bug fixes and tweaks
|
584 |
+
|
585 |
+
= 0.9.3 =
|
586 |
+
Fixed bugs with image sizing and responsive themes
|
587 |
+
|
588 |
+
= 0.9.2 =
|
589 |
+
Small update - plugin now works with jQuery versions older than 1.7.
|
590 |
+
|
591 |
+
= 0.9.1 =
|
592 |
+
Few bugs reported by users got fixed.
|
593 |
+
|
594 |
+
= 0.9 =
|
595 |
+
New feature: using custom Pinterest button design
|
596 |
+
|
597 |
+
= 0.8 =
|
598 |
+
Additional feature and added support for basic image positioning.
|
599 |
+
|
600 |
+
= 0.7.1 =
|
601 |
+
Critical bug fix, please update.
|
602 |
+
|
603 |
+
= 0.7 =
|
604 |
+
Additional features and some security enhancements.
|
605 |
+
|
606 |
+
= 0.5 =
|
607 |
First version of the plugin.
|
uninstall.php
CHANGED
@@ -1,14 +1,14 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
|
4 |
-
//if uninstall not called from WordPress exit
|
5 |
-
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
|
6 |
-
exit();
|
7 |
-
|
8 |
-
//delete all added options
|
9 |
-
delete_option( 'jpibfi_selection_options' );
|
10 |
-
delete_option( 'jpibfi_visual_options' );
|
11 |
-
delete_option( 'jpibfi_version' );
|
12 |
-
delete_option( 'jpibfi_options_version' );
|
13 |
-
delete_option( 'jpibfi_pro_ad' );
|
14 |
delete_option( 'jpibfi_license' );
|
1 |
+
<?php
|
2 |
+
|
3 |
+
|
4 |
+
//if uninstall not called from WordPress exit
|
5 |
+
if ( !defined( 'WP_UNINSTALL_PLUGIN' ) )
|
6 |
+
exit();
|
7 |
+
|
8 |
+
//delete all added options
|
9 |
+
delete_option( 'jpibfi_selection_options' );
|
10 |
+
delete_option( 'jpibfi_visual_options' );
|
11 |
+
delete_option( 'jpibfi_version' );
|
12 |
+
delete_option( 'jpibfi_options_version' );
|
13 |
+
delete_option( 'jpibfi_pro_ad' );
|
14 |
delete_option( 'jpibfi_license' );
|