Version Description
- April 13, 2020 =
- FIX - Fixed issue with Instant Images causing Yoast SEO metabox to not show correctly in the classic WordPress editor. Not really sure why, but the Instant Images JS dependencies seemed to interfere with Yoast.
- FIX - Added user privileges checks to the new Media Modal functionality.
Download this release
Release Info
Developer | dcooney |
Plugin | Instant Images – One Click Unsplash Uploads |
Version | 4.3.1 |
Comparing to | |
See all releases |
Code changes from version 4.2.0 to 4.3.1
- README.txt +17 -2
- admin/admin.php +55 -112
- admin/includes/settings.php +9 -7
- admin/includes/unsplash-settings.php +6 -3
- admin/views/unsplash.php +2 -9
- api/download.php +183 -0
- api/resize.php +0 -149
- api/upload.php +0 -160
- dist/css/instant-images.css +144 -85
- dist/css/instant-images.min.css +1 -1
- dist/img/ajax-loader-lg.gif +0 -0
- dist/img/ajax-loader.gif +0 -0
- dist/img/logo-48x48.png +0 -0
- dist/js/instant-images-block.js +2667 -289
- dist/js/instant-images-block.min.js +34 -11
- dist/js/instant-images-media.js +13680 -0
README.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: dcooney, connekthq
|
|
3 |
Donate link: https://connekthq.com/donate/
|
4 |
Tags: stock photo, unsplash, prototyping, photos, upload, media library, image upload, free photos
|
5 |
Requires at least: 4.0
|
6 |
-
Tested up to: 5.
|
7 |
-
Stable tag: 4.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -29,6 +29,7 @@ The perfect tool for users who want to save time and frustration by uploading im
|
|
29 |
* **Time Saver** - Quickly upload amazing stock photos without leaving the comfort of your WordPress admin.
|
30 |
* **Theme/Plugin Developers** - A great tool for developers who want to prototype and develop using real world imagery.
|
31 |
* **Gutenberg** - Instant Images directly integrates with Gutenberg as a plugin sidebar.
|
|
|
32 |
* **Edit Image Metadata** - Easily edit image filename, alt text and caption prior to uploading to your media library.
|
33 |
* **Easy to Use** - It couldn't get much more simple, just click an image and it's automatically uploaded to your media library for use on your site.
|
34 |
|
@@ -129,6 +130,20 @@ How to install Instant Images.
|
|
129 |
|
130 |
== Changelog ==
|
131 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
132 |
= 4.2.0 - December 14, 2019 =
|
133 |
* NEW - Added image orientation search filter
|
134 |
* FIX - Fixed issue with instant images being rendered in Gutenberg editor for users without permissions.
|
3 |
Donate link: https://connekthq.com/donate/
|
4 |
Tags: stock photo, unsplash, prototyping, photos, upload, media library, image upload, free photos
|
5 |
Requires at least: 4.0
|
6 |
+
Tested up to: 5.4.0
|
7 |
+
Stable tag: 4.3.1
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
29 |
* **Time Saver** - Quickly upload amazing stock photos without leaving the comfort of your WordPress admin.
|
30 |
* **Theme/Plugin Developers** - A great tool for developers who want to prototype and develop using real world imagery.
|
31 |
* **Gutenberg** - Instant Images directly integrates with Gutenberg as a plugin sidebar.
|
32 |
+
* **Media Modal** - Instant Images is available as a tab in the WordPress media Modal.
|
33 |
* **Edit Image Metadata** - Easily edit image filename, alt text and caption prior to uploading to your media library.
|
34 |
* **Easy to Use** - It couldn't get much more simple, just click an image and it's automatically uploaded to your media library for use on your site.
|
35 |
|
130 |
|
131 |
== Changelog ==
|
132 |
|
133 |
+
= 4.3.1 - April 13, 2020 =
|
134 |
+
* FIX - Fixed issue with Instant Images causing Yoast SEO metabox to not show correctly in the classic WordPress editor. Not really sure why, but the Instant Images JS dependencies seemed to interfere with Yoast.
|
135 |
+
* FIX - Added user privileges checks to the new Media Modal functionality.
|
136 |
+
|
137 |
+
|
138 |
+
= 4.3.0 - April 9, 2020 =
|
139 |
+
* NEW - Adding `Instant Images` tab to the WordPress Media Modal.
|
140 |
+
* NEW - When images are uploaded directly to a post the current Post ID is attached to the upload as the parent post.
|
141 |
+
* NEW - Adding default alt text directly from Unsplash API.
|
142 |
+
* UPDATE - Updated image uploader API to _hopefully_ improve stability of the upload and resize process. The new process uses core WordPress functions for the upload.
|
143 |
+
* UPDATE - Switching tab navigation from `<a/> to `<button/>` for better accessibility.
|
144 |
+
* FIX - Added a fix for JS error regarding `PluginSidebar` registration on non-gutenberg editor pages.
|
145 |
+
|
146 |
+
|
147 |
= 4.2.0 - December 14, 2019 =
|
148 |
* NEW - Added image orientation search filter
|
149 |
* FIX - Fixed issue with instant images being rendered in Gutenberg editor for users without permissions.
|
admin/admin.php
CHANGED
@@ -4,18 +4,18 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
4 |
|
5 |
/**
|
6 |
* instant_img_admin_menu
|
7 |
-
* Create
|
8 |
*
|
9 |
* @since 2.0
|
10 |
*/
|
11 |
|
12 |
function instant_img_admin_menu() {
|
13 |
-
$usplash_settings_page = add_submenu_page(
|
14 |
-
'upload.php',
|
15 |
-
INSTANT_IMG_TITLE,
|
16 |
-
INSTANT_IMG_TITLE,
|
17 |
-
apply_filters('instant_images_user_role', 'upload_files'),
|
18 |
-
INSTANT_IMG_NAME,
|
19 |
'instant_img_settings_page'
|
20 |
);
|
21 |
add_action( 'load-' . $usplash_settings_page, 'instant_img_load_scripts' ); //Add our admin scripts
|
@@ -24,6 +24,43 @@ add_action( 'admin_menu', 'instant_img_admin_menu' );
|
|
24 |
|
25 |
|
26 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27 |
|
28 |
/**
|
29 |
* instant_img_load_scripts
|
@@ -38,7 +75,6 @@ function instant_img_load_scripts(){
|
|
38 |
|
39 |
|
40 |
|
41 |
-
|
42 |
/**
|
43 |
* instant_img_enqueue_scripts
|
44 |
* Admin Enqueue Scripts
|
@@ -52,7 +88,6 @@ function instant_img_enqueue_scripts(){
|
|
52 |
|
53 |
|
54 |
|
55 |
-
|
56 |
/**
|
57 |
* instant_img_scripts
|
58 |
* Localize vars and scripts
|
@@ -61,116 +96,25 @@ function instant_img_enqueue_scripts(){
|
|
61 |
*/
|
62 |
function instant_img_scripts(){
|
63 |
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; // Use minified libraries if SCRIPT_DEBUG is turned off
|
64 |
-
|
65 |
-
wp_enqueue_style('admin-instant-images', INSTANT_IMG_URL. 'dist/css/instant-images'. $suffix .'.css', '',
|
66 |
wp_enqueue_script('jquery');
|
67 |
wp_enqueue_script('jquery-form', true);
|
68 |
-
wp_enqueue_script('masonry', true);
|
69 |
-
|
70 |
-
wp_enqueue_script('instant-images-react', INSTANT_IMG_URL. 'dist/js/instant-images'. $suffix .'.js', '', INSTANT_IMG_VERSION, true);
|
71 |
-
wp_enqueue_script('instant-images', INSTANT_IMG_ADMIN_URL. 'assets/js/admin.js', 'jquery', INSTANT_IMG_VERSION, true);
|
72 |
-
|
73 |
-
InstantImages::instant_img_localize();
|
74 |
-
|
75 |
-
}
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
/**
|
80 |
-
* instant_img_show_tabs
|
81 |
-
* Show tab to upload image on post edit screens
|
82 |
-
*
|
83 |
-
* @return $show_tab boolean
|
84 |
-
* @since 3.2.1
|
85 |
-
*/
|
86 |
-
function instant_img_show_tabs() {
|
87 |
-
$options = get_option( 'instant_img_settings' );
|
88 |
-
$show_tab = true;
|
89 |
-
if(isset($options['instant_img_btn_display'])){
|
90 |
-
if($options['instant_img_btn_display'] == 1){
|
91 |
-
$show_tab = false; // Hide the tab
|
92 |
-
}
|
93 |
-
}
|
94 |
-
|
95 |
-
return $show_tab;
|
96 |
-
}
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
/**
|
102 |
-
* instant_img_media_upload_tabs_handler
|
103 |
-
* Add tab to media upload window
|
104 |
-
*
|
105 |
-
* @since 3.2.1
|
106 |
-
*/
|
107 |
-
function instant_img_media_upload_tabs_handler($tabs) {
|
108 |
-
$options = get_option( 'instant_img_settings' );
|
109 |
-
$show_tab = instant_img_show_tabs();
|
110 |
-
|
111 |
-
if($show_tab){
|
112 |
-
$newtab = array ( 'instant_img_tab' => __('Instant Images', 'instant-images') );
|
113 |
-
$tabs = array_merge( $tabs, $newtab );
|
114 |
-
return $tabs;
|
115 |
-
}
|
116 |
-
}
|
117 |
-
add_filter('media_upload_tabs', 'instant_img_media_upload_tabs_handler');
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
-
/**
|
122 |
-
* instant_img_media_buttons_context_handler
|
123 |
-
* Add pop up content to edit, new and post pages
|
124 |
-
*
|
125 |
-
* @since 3.2.1
|
126 |
-
*/
|
127 |
-
function instant_img_media_buttons_context_handler() {
|
128 |
-
$show_tab = instant_img_show_tabs();
|
129 |
-
if($show_tab){
|
130 |
-
return '<a href="'.add_query_arg('tab', 'instant_img_tab', esc_url(get_upload_iframe_src())).'" class="thickbox button" title="'.esc_attr__('Instant Images', 'instant-images').'"> '. __('Instant Images', 'instant-images') .' </a>';
|
131 |
-
}
|
132 |
-
}
|
133 |
-
add_filter('media_buttons_context', 'instant_img_media_buttons_context_handler');
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
-
/**
|
138 |
-
* media_upload_instant_images_handler
|
139 |
-
* Add instant images to the iframe
|
140 |
-
*
|
141 |
-
* @since 3.2.1
|
142 |
-
*/
|
143 |
-
function media_upload_instant_images_handler() {
|
144 |
-
wp_iframe('media_instant_img_tab');
|
145 |
-
}
|
146 |
-
add_action('media_upload_instant_img_tab', 'media_upload_instant_images_handler');
|
147 |
|
|
|
|
|
148 |
|
|
|
149 |
|
150 |
-
/**
|
151 |
-
* media_instant_img_popup_content
|
152 |
-
* Add pop up content to edit, new and post pages
|
153 |
-
*
|
154 |
-
* @since 2.0
|
155 |
-
*/
|
156 |
-
function media_instant_img_tab() {
|
157 |
-
//media_upload_header();
|
158 |
-
instant_img_scripts();
|
159 |
-
$show_settings = false;
|
160 |
-
?>
|
161 |
-
<div class="instant-img-container editor" data-media-popup="true">
|
162 |
-
<?php include( INSTANT_IMG_PATH . 'admin/views/unsplash.php'); ?>
|
163 |
-
</div>
|
164 |
-
<?php
|
165 |
}
|
166 |
|
167 |
|
168 |
|
169 |
/*
|
170 |
-
*
|
171 |
-
*
|
172 |
*
|
173 |
-
*
|
174 |
*/
|
175 |
|
176 |
function instant_img_settings_page(){
|
@@ -183,10 +127,10 @@ function instant_img_settings_page(){
|
|
183 |
|
184 |
|
185 |
/*
|
186 |
-
*
|
187 |
-
*
|
188 |
*
|
189 |
-
*
|
190 |
*/
|
191 |
|
192 |
function instant_img_filter_admin_footer_text( $text ) {
|
@@ -198,4 +142,3 @@ function instant_img_filter_admin_footer_text( $text ) {
|
|
198 |
}
|
199 |
add_filter( 'admin_footer_text', 'instant_img_filter_admin_footer_text'); // Admin menu text
|
200 |
|
201 |
-
|
4 |
|
5 |
/**
|
6 |
* instant_img_admin_menu
|
7 |
+
* Create admin menu item under 'Media'
|
8 |
*
|
9 |
* @since 2.0
|
10 |
*/
|
11 |
|
12 |
function instant_img_admin_menu() {
|
13 |
+
$usplash_settings_page = add_submenu_page(
|
14 |
+
'upload.php',
|
15 |
+
INSTANT_IMG_TITLE,
|
16 |
+
INSTANT_IMG_TITLE,
|
17 |
+
apply_filters('instant_images_user_role', 'upload_files'),
|
18 |
+
INSTANT_IMG_NAME,
|
19 |
'instant_img_settings_page'
|
20 |
);
|
21 |
add_action( 'load-' . $usplash_settings_page, 'instant_img_load_scripts' ); //Add our admin scripts
|
24 |
|
25 |
|
26 |
|
27 |
+
/**
|
28 |
+
* instant_img_post_enqueue_scripts
|
29 |
+
* Classic Editor Only - Add Instant Images scripts to post edit screens
|
30 |
+
*
|
31 |
+
* @since 4.3
|
32 |
+
*/
|
33 |
+
function instant_img_post_enqueue_scripts($hook) {
|
34 |
+
|
35 |
+
// Confirm User Privileges
|
36 |
+
if (!current_user_can( apply_filters('instant_images_user_role', 'upload_files') )){
|
37 |
+
return false;
|
38 |
+
}
|
39 |
+
|
40 |
+
// Exit if not post or edit screen
|
41 |
+
if ( $hook !== 'post-new.php' && $hook !== 'post.php' ) {
|
42 |
+
return false;
|
43 |
+
}
|
44 |
+
|
45 |
+
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min';
|
46 |
+
|
47 |
+
// CSS
|
48 |
+
wp_enqueue_style( 'admin-instant-images', INSTANT_IMG_URL. 'dist/css/instant-images'. $suffix .'.css', '', INSTANT_IMAGES_VERSION );
|
49 |
+
|
50 |
+
// JS
|
51 |
+
wp_enqueue_script(
|
52 |
+
'instant-images-media-router',
|
53 |
+
INSTANT_IMG_URL. 'dist/js/instant-images-media'. $suffix .'.js',
|
54 |
+
array( 'jquery'),
|
55 |
+
INSTANT_IMAGES_VERSION,
|
56 |
+
true
|
57 |
+
);
|
58 |
+
InstantImages::instant_img_localize( 'instant-images-media-router' );
|
59 |
+
|
60 |
+
}
|
61 |
+
add_action( 'admin_enqueue_scripts', 'instant_img_post_enqueue_scripts' );
|
62 |
+
|
63 |
+
|
64 |
|
65 |
/**
|
66 |
* instant_img_load_scripts
|
75 |
|
76 |
|
77 |
|
|
|
78 |
/**
|
79 |
* instant_img_enqueue_scripts
|
80 |
* Admin Enqueue Scripts
|
88 |
|
89 |
|
90 |
|
|
|
91 |
/**
|
92 |
* instant_img_scripts
|
93 |
* Localize vars and scripts
|
96 |
*/
|
97 |
function instant_img_scripts(){
|
98 |
$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; // Use minified libraries if SCRIPT_DEBUG is turned off
|
99 |
+
|
100 |
+
wp_enqueue_style('admin-instant-images', INSTANT_IMG_URL. 'dist/css/instant-images'. $suffix .'.css', '', INSTANT_IMAGES_VERSION);
|
101 |
wp_enqueue_script('jquery');
|
102 |
wp_enqueue_script('jquery-form', true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
103 |
|
104 |
+
wp_enqueue_script('instant-images-react', INSTANT_IMG_URL. 'dist/js/instant-images'. $suffix .'.js', '', INSTANT_IMAGES_VERSION, true);
|
105 |
+
wp_enqueue_script('instant-images', INSTANT_IMG_ADMIN_URL. 'assets/js/admin.js', 'jquery', INSTANT_IMAGES_VERSION, true);
|
106 |
|
107 |
+
InstantImages::instant_img_localize();
|
108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
|
111 |
|
112 |
|
113 |
/*
|
114 |
+
* instant_img_settings_page
|
115 |
+
* Settings page
|
116 |
*
|
117 |
+
* @since 2.0
|
118 |
*/
|
119 |
|
120 |
function instant_img_settings_page(){
|
127 |
|
128 |
|
129 |
/*
|
130 |
+
* instant_img_filter_admin_footer_text
|
131 |
+
* Filter the WP Admin footer text
|
132 |
*
|
133 |
+
* @since 2.0
|
134 |
*/
|
135 |
|
136 |
function instant_img_filter_admin_footer_text( $text ) {
|
142 |
}
|
143 |
add_filter( 'admin_footer_text', 'instant_img_filter_admin_footer_text'); // Admin menu text
|
144 |
|
|
admin/includes/settings.php
CHANGED
@@ -42,13 +42,15 @@ function instant_img_admin_init(){
|
|
42 |
);
|
43 |
|
44 |
// Button Display
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
|
|
|
|
52 |
}
|
53 |
|
54 |
|
42 |
);
|
43 |
|
44 |
// Button Display
|
45 |
+
/*
|
46 |
+
add_settings_field(
|
47 |
+
'instant_img_btn_display',
|
48 |
+
__('Button', 'instant-images' ),
|
49 |
+
'instant_images_button_display_callback',
|
50 |
+
'instant-images',
|
51 |
+
'unsplash_general_settings'
|
52 |
+
);
|
53 |
+
*/
|
54 |
}
|
55 |
|
56 |
|
admin/includes/unsplash-settings.php
CHANGED
@@ -23,10 +23,10 @@
|
|
23 |
<h2 class="w-border"><?php _e('What\'s New', 'instant-images'); ?></h2>
|
24 |
<p><?php _e('The latest Instant Images updates', 'instant-images'); ?>.</p>
|
25 |
<div class="cta-wrap">
|
26 |
-
<h4><span>4.
|
27 |
<ul class="whats-new">
|
28 |
-
<li>
|
29 |
-
<li>
|
30 |
<li>Added `instant_images_user_role` filter to allow for control over user capability.</li>
|
31 |
<li>Updated to meet revised <a href="https://medium.com/unsplash/unsplash-api-guidelines-28e0216e6daa" target="_blank">Unsplash API guidelines</a>.</li>
|
32 |
<li>Adding support for searching individual photos by Unsplash ID - searching <pre>id:{photo_id}</pre> will return a single result.<br/>e.g. <pre>id:YiUi00uqKk8</pre></li>
|
@@ -42,6 +42,9 @@
|
|
42 |
array(
|
43 |
'slug' => 'easy-query'
|
44 |
),
|
|
|
|
|
|
|
45 |
array(
|
46 |
'slug' => 'velocity',
|
47 |
)
|
23 |
<h2 class="w-border"><?php _e('What\'s New', 'instant-images'); ?></h2>
|
24 |
<p><?php _e('The latest Instant Images updates', 'instant-images'); ?>.</p>
|
25 |
<div class="cta-wrap">
|
26 |
+
<h4><span>4.3</span></h4>
|
27 |
<ul class="whats-new">
|
28 |
+
<li>Instant Images tab added to the WordPress Media Modal.</li>
|
29 |
+
<li>Gutenberg Support - Instant Images directly integrates with Gutenberg as a plugin sidebar.</li>
|
30 |
<li>Added `instant_images_user_role` filter to allow for control over user capability.</li>
|
31 |
<li>Updated to meet revised <a href="https://medium.com/unsplash/unsplash-api-guidelines-28e0216e6daa" target="_blank">Unsplash API guidelines</a>.</li>
|
32 |
<li>Adding support for searching individual photos by Unsplash ID - searching <pre>id:{photo_id}</pre> will return a single result.<br/>e.g. <pre>id:YiUi00uqKk8</pre></li>
|
42 |
array(
|
43 |
'slug' => 'easy-query'
|
44 |
),
|
45 |
+
array(
|
46 |
+
'slug' => 'block-manager',
|
47 |
+
),
|
48 |
array(
|
49 |
'slug' => 'velocity',
|
50 |
)
|
admin/views/unsplash.php
CHANGED
@@ -12,11 +12,6 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
12 |
echo sprintf($tagline, '<a href="https://unsplash.com/" target="_blank">unsplash.com</a>');
|
13 |
?>
|
14 |
</h1>
|
15 |
-
<?php
|
16 |
-
$url = "//{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}";
|
17 |
-
$escaped_url = htmlspecialchars( $url, ENT_QUOTES, 'UTF-8' );
|
18 |
-
?>
|
19 |
-
<!-- <a href="https://unsplash.com/oauth/authorize?client_id=<?php echo INSTANT_IMG_DEFAULT_APP_ID; ?>&redirect_uri=https://connekthq.com/?unsplash&response_type=code&scope=public">Login</a> -->
|
20 |
<button type="button" class="button button-secondary button-large">
|
21 |
<i class="fa fa-cog" aria-hidden="true"></i> <?php _e('Settings', 'instant-images'); ?>
|
22 |
</button>
|
@@ -28,8 +23,6 @@ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly
|
|
28 |
include( INSTANT_IMG_PATH . 'admin/includes/unsplash-settings.php');
|
29 |
}
|
30 |
?>
|
31 |
-
<section class="instant-images-wrapper">
|
32 |
-
|
33 |
-
<div id="app"></div>
|
34 |
-
</div>
|
35 |
</section>
|
12 |
echo sprintf($tagline, '<a href="https://unsplash.com/" target="_blank">unsplash.com</a>');
|
13 |
?>
|
14 |
</h1>
|
|
|
|
|
|
|
|
|
|
|
15 |
<button type="button" class="button button-secondary button-large">
|
16 |
<i class="fa fa-cog" aria-hidden="true"></i> <?php _e('Settings', 'instant-images'); ?>
|
17 |
</button>
|
23 |
include( INSTANT_IMG_PATH . 'admin/includes/unsplash-settings.php');
|
24 |
}
|
25 |
?>
|
26 |
+
<section class="instant-images-wrapper">
|
27 |
+
<div id="app"></div>
|
|
|
|
|
28 |
</section>
|
api/download.php
ADDED
@@ -0,0 +1,183 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
/*
|
4 |
+
* rest_api_init
|
5 |
+
* Custom /resize route
|
6 |
+
*
|
7 |
+
* @since 3.0
|
8 |
+
*/
|
9 |
+
|
10 |
+
add_action( 'rest_api_init', function () {
|
11 |
+
$my_namespace = 'instant-images';
|
12 |
+
$my_endpoint = '/download';
|
13 |
+
register_rest_route( $my_namespace, $my_endpoint,
|
14 |
+
array(
|
15 |
+
'methods' => 'PUT',
|
16 |
+
'callback' => 'instant_images_download',
|
17 |
+
)
|
18 |
+
);
|
19 |
+
});
|
20 |
+
|
21 |
+
|
22 |
+
|
23 |
+
/*
|
24 |
+
* resize_image
|
25 |
+
* Resize Image and run thru media uploader
|
26 |
+
*
|
27 |
+
* @param $request $_POST
|
28 |
+
* @return $response json
|
29 |
+
* @since 3.0
|
30 |
+
*/
|
31 |
+
|
32 |
+
function instant_images_download( WP_REST_Request $request ) {
|
33 |
+
|
34 |
+
if (is_user_logged_in() && current_user_can( apply_filters('instant_images_user_role', 'upload_files') )){
|
35 |
+
|
36 |
+
error_reporting(E_ALL|E_STRICT);
|
37 |
+
|
38 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
39 |
+
require_once( ABSPATH . 'wp-admin/includes/image.php' );
|
40 |
+
|
41 |
+
// Get JSON Data
|
42 |
+
$data = json_decode($request->get_body(), true); // Get contents of request body
|
43 |
+
|
44 |
+
if($data){
|
45 |
+
|
46 |
+
$id = $data['id']; // ID
|
47 |
+
$image_url = $data['image_url']; // Image URL
|
48 |
+
$filename = sanitize_text_field($data['filename']); // $filename
|
49 |
+
$title = sanitize_text_field($data['title']); // Title
|
50 |
+
$alt = sanitize_text_field($data['alt']); // Alt text
|
51 |
+
$caption = sanitize_text_field($data['caption']); // Caption text
|
52 |
+
$custom_filename = sanitize_title($data['custom_filename']); // Custom filename
|
53 |
+
$parent_id = ($data['parent_id']) ? sanitize_title($data['parent_id']) : 0; // Parent Post
|
54 |
+
|
55 |
+
// Actual filename
|
56 |
+
$name = (!empty($custom_filename)) ? $custom_filename .'.jpg' : $filename;
|
57 |
+
|
58 |
+
|
59 |
+
// Check if remote file exists
|
60 |
+
if( !instant_images_remote_file_exists( $image_url ) ){
|
61 |
+
// Error
|
62 |
+
$response = array(
|
63 |
+
'success' => false,
|
64 |
+
'msg' => __('Image does not exist or there was an error accessing the remote file.', 'instant-images'),
|
65 |
+
'id' => $id,
|
66 |
+
'attachment' => '',
|
67 |
+
'admin_url' => admin_url(),
|
68 |
+
);
|
69 |
+
wp_send_json($response);
|
70 |
+
}
|
71 |
+
|
72 |
+
|
73 |
+
// Send request to `wp_remote_get`
|
74 |
+
$response = wp_remote_get( $image_url );
|
75 |
+
if ( is_wp_error( $response ) ) {
|
76 |
+
return new WP_Error( 100, __( 'Image download failed, please try again. Errors:', 'instant-images' ) . PHP_EOL . $response->get_error_message() );
|
77 |
+
}
|
78 |
+
|
79 |
+
// Get Headers
|
80 |
+
$type = wp_remote_retrieve_header( $response, 'content-type' );
|
81 |
+
if (!$type) {
|
82 |
+
return new WP_Error( 100, __( 'Image type could not be determined', 'instant-images' ) );
|
83 |
+
}
|
84 |
+
|
85 |
+
// Upload remote file
|
86 |
+
$mirror = wp_upload_bits( $name, '', wp_remote_retrieve_body( $response ) );
|
87 |
+
|
88 |
+
|
89 |
+
// Build Attachment Data Array
|
90 |
+
$attachment = array(
|
91 |
+
'post_title' => $title,
|
92 |
+
'post_excerpt' => $caption,
|
93 |
+
'post_content' => '',
|
94 |
+
'post_status' => 'inherit',
|
95 |
+
'post_mime_type' => $type
|
96 |
+
);
|
97 |
+
|
98 |
+
|
99 |
+
// Insert as attachment
|
100 |
+
$image_id = wp_insert_attachment($attachment, $mirror['file'], $parent_id);
|
101 |
+
|
102 |
+
|
103 |
+
// Add Alt Text as Post Meta
|
104 |
+
update_post_meta( $image_id, '_wp_attachment_image_alt', $alt );
|
105 |
+
|
106 |
+
|
107 |
+
// Generate Metadata
|
108 |
+
$attach_data = wp_generate_attachment_metadata( $image_id, $mirror['file'] );
|
109 |
+
wp_update_attachment_metadata( $image_id, $attach_data );
|
110 |
+
|
111 |
+
|
112 |
+
// Resize original image to max size (set in Instant Images settings)
|
113 |
+
instant_images_resize_download($name);
|
114 |
+
|
115 |
+
// Success
|
116 |
+
$response = array(
|
117 |
+
'success' => true,
|
118 |
+
'msg' => __('Image successfully uploaded to the media library!', 'instant-images'),
|
119 |
+
'id' => $id,
|
120 |
+
'attachment' => array(
|
121 |
+
'id' => $image_id,
|
122 |
+
'url' => wp_get_attachment_url( $image_id ),
|
123 |
+
'alt' => $alt,
|
124 |
+
'caption' => $caption
|
125 |
+
),
|
126 |
+
'admin_url' => admin_url(),
|
127 |
+
);
|
128 |
+
|
129 |
+
wp_send_json($response);
|
130 |
+
|
131 |
+
} else {
|
132 |
+
|
133 |
+
$response = array(
|
134 |
+
'success' => false,
|
135 |
+
'msg' => __('There was an error getting image details from the request, please try again.', 'instant-images'),
|
136 |
+
'id' => '',
|
137 |
+
'attachment' => '',
|
138 |
+
'url' => ''
|
139 |
+
);
|
140 |
+
wp_send_json($response);
|
141 |
+
|
142 |
+
}
|
143 |
+
}
|
144 |
+
}
|
145 |
+
|
146 |
+
|
147 |
+
/**
|
148 |
+
* Check if a remote image file exists.
|
149 |
+
*
|
150 |
+
* @param string $url The url to the remote image.
|
151 |
+
* @return bool Whether the remote image exists.
|
152 |
+
*/
|
153 |
+
function instant_images_remote_file_exists( $url ) {
|
154 |
+
$response = wp_remote_head( $url );
|
155 |
+
return 200 === wp_remote_retrieve_response_code( $response );
|
156 |
+
}
|
157 |
+
|
158 |
+
|
159 |
+
|
160 |
+
/**
|
161 |
+
* instant_images_resize_download
|
162 |
+
* Resize original image to max size (set in Instant Images settings)
|
163 |
+
*
|
164 |
+
*/
|
165 |
+
|
166 |
+
function instant_images_resize_download($filename){
|
167 |
+
|
168 |
+
// WP Options
|
169 |
+
$options = get_option( 'instant_img_settings' );
|
170 |
+
$download_w = isset($options['unsplash_download_w']) ? $options['unsplash_download_w'] : 1600; // width
|
171 |
+
$download_h = isset($options['unsplash_download_h']) ? $options['unsplash_download_h'] : 1200; // height
|
172 |
+
|
173 |
+
require_once( ABSPATH . 'wp-admin/includes/file.php' );
|
174 |
+
require_once( ABSPATH . 'wp-admin/includes/image.php' );
|
175 |
+
|
176 |
+
$uploads_dir = wp_upload_dir();
|
177 |
+
$original_image = wp_get_image_editor( $uploads_dir['path']. '/'. $filename );
|
178 |
+
if ( !is_wp_error( $original_image ) ) {
|
179 |
+
$original_image->resize( $download_w, $download_h, false );
|
180 |
+
$original_image->save( $uploads_dir['path']. '/'. $filename );
|
181 |
+
}
|
182 |
+
|
183 |
+
}
|
api/resize.php
DELETED
@@ -1,149 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* rest_api_init
|
5 |
-
* Custom /resize route
|
6 |
-
*
|
7 |
-
* @since 3.0
|
8 |
-
*/
|
9 |
-
|
10 |
-
add_action( 'rest_api_init', function () {
|
11 |
-
$my_namespace = 'instant-images';
|
12 |
-
$my_endpoint = '/resize';
|
13 |
-
register_rest_route( $my_namespace, $my_endpoint,
|
14 |
-
array(
|
15 |
-
'methods' => 'POST',
|
16 |
-
'callback' => 'instant_images_resize_image',
|
17 |
-
)
|
18 |
-
);
|
19 |
-
});
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
/*
|
24 |
-
* resize_image
|
25 |
-
* Resize Image and run thru media uploader
|
26 |
-
*
|
27 |
-
* @param $request $_POST
|
28 |
-
* @return $response json
|
29 |
-
* @since 3.0
|
30 |
-
*/
|
31 |
-
|
32 |
-
function instant_images_resize_image( WP_REST_Request $request ) {
|
33 |
-
|
34 |
-
if (is_user_logged_in() && current_user_can( apply_filters('instant_images_user_role', 'upload_files') )){
|
35 |
-
|
36 |
-
error_reporting(E_ALL|E_STRICT);
|
37 |
-
|
38 |
-
require_once( ABSPATH . 'wp-admin/includes/file.php' ); // download_url()
|
39 |
-
require_once( ABSPATH . 'wp-admin/includes/image.php' ); // wp_read_image_metadata()
|
40 |
-
|
41 |
-
// WP Options
|
42 |
-
$options = get_option( 'instant_img_settings' );
|
43 |
-
$download_w = isset($options['unsplash_download_w']) ? $options['unsplash_download_w'] : 1600; // width
|
44 |
-
$download_h = isset($options['unsplash_download_h']) ? $options['unsplash_download_h'] : 1200; // height
|
45 |
-
|
46 |
-
// Get JSON Data
|
47 |
-
$body = json_decode($request->get_body(), true); // Get contents of request body
|
48 |
-
$data = json_decode($body['data']); // Get contents of data
|
49 |
-
|
50 |
-
if($body && $data){
|
51 |
-
|
52 |
-
$path = sanitize_text_field($data->path); // Path on server
|
53 |
-
$name = sanitize_text_field($data->filename); // name
|
54 |
-
$filename = $path . $name; // full filename
|
55 |
-
$filetype = wp_check_filetype( basename( $filename ), null );
|
56 |
-
$title = sanitize_text_field($data->title); // Title
|
57 |
-
$alt = sanitize_text_field($data->alt); // Alt text
|
58 |
-
$caption = sanitize_text_field($data->caption); // Caption text
|
59 |
-
$custom_filename = sanitize_title($data->custom_filename); // Custom filename
|
60 |
-
|
61 |
-
$name = (!empty($custom_filename)) ? $custom_filename .'.jpg' : $name;
|
62 |
-
|
63 |
-
// Resize image to max size (set in Settings)
|
64 |
-
$image = wp_get_image_editor( $filename );
|
65 |
-
if ( ! is_wp_error( $image ) ) {
|
66 |
-
$image->resize( $download_w, $download_h, false );
|
67 |
-
$image->save( $filename );
|
68 |
-
}
|
69 |
-
|
70 |
-
// Get upload directory
|
71 |
-
$wp_upload_dir = wp_upload_dir(); // ['path'] ['basedir']
|
72 |
-
|
73 |
-
// Copy file from uploads/instant-images to a media library directory.
|
74 |
-
$new_filename = $wp_upload_dir['path'] .'/'. $name;
|
75 |
-
$copy_file = @copy($filename , $new_filename);
|
76 |
-
|
77 |
-
if(!$copy_file){
|
78 |
-
|
79 |
-
// Error
|
80 |
-
$response = array(
|
81 |
-
'success' => false,
|
82 |
-
'msg' => __('Unable to copy image to the media library. Please check your server permissions.', 'instant-images')
|
83 |
-
);
|
84 |
-
|
85 |
-
} else {
|
86 |
-
|
87 |
-
// Build attachment array
|
88 |
-
$attachment = array(
|
89 |
-
'guid'=> $wp_upload_dir['url'] . basename( $new_filename ),
|
90 |
-
'post_mime_type' => $filetype['type'],
|
91 |
-
'post_title' => $title,
|
92 |
-
'post_excerpt' => $caption,
|
93 |
-
'post_content' => '',
|
94 |
-
'post_status' => 'inherit'
|
95 |
-
);
|
96 |
-
|
97 |
-
$image_id = wp_insert_attachment($attachment, $new_filename, 0); // Insert as attachment
|
98 |
-
|
99 |
-
update_post_meta( $image_id, '_wp_attachment_image_alt', $alt ); // Add alt text
|
100 |
-
|
101 |
-
$attach_data = wp_generate_attachment_metadata( $image_id, $new_filename ); // Generate metadata
|
102 |
-
wp_update_attachment_metadata( $image_id, $attach_data ); // Add metadata
|
103 |
-
|
104 |
-
|
105 |
-
// Response
|
106 |
-
if(file_exists($new_filename)){ // If image was uploaded temporary image
|
107 |
-
|
108 |
-
// Success
|
109 |
-
$response = array(
|
110 |
-
'success' => true,
|
111 |
-
'msg' => __('Image successfully uploaded to your media library!', 'instant-images'),
|
112 |
-
'id' => $image_id,
|
113 |
-
'url' => wp_get_attachment_url( $image_id ),
|
114 |
-
'admin_url' => admin_url(),
|
115 |
-
);
|
116 |
-
|
117 |
-
}else{
|
118 |
-
|
119 |
-
// Error
|
120 |
-
$response = array(
|
121 |
-
'success' => false,
|
122 |
-
'msg' => __('There was an error sending the image to your media library. Please check your server permissions and confirm the upload_max_filesize setting (php.ini) is large enough for the downloaded image (8mb minimum is recommended).', 'instant-images'),
|
123 |
-
'id' => '',
|
124 |
-
'url' => ''
|
125 |
-
);
|
126 |
-
}
|
127 |
-
}
|
128 |
-
|
129 |
-
// Delete temporary image
|
130 |
-
if(file_exists($filename)){
|
131 |
-
unlink($filename);
|
132 |
-
}
|
133 |
-
|
134 |
-
wp_send_json($response); // Send response as JSON
|
135 |
-
|
136 |
-
} else {
|
137 |
-
|
138 |
-
$response = array(
|
139 |
-
'success' => false,
|
140 |
-
'msg' => __('There was an error resizing the image, please try again.', 'instant-images'),
|
141 |
-
'id' => '',
|
142 |
-
'url' => ''
|
143 |
-
);
|
144 |
-
wp_send_json($response); // Send response as JSON
|
145 |
-
|
146 |
-
}
|
147 |
-
|
148 |
-
}
|
149 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
api/upload.php
DELETED
@@ -1,160 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
|
3 |
-
/*
|
4 |
-
* rest_api_init
|
5 |
-
* Custom /upload route
|
6 |
-
*
|
7 |
-
* @since 3.0
|
8 |
-
*/
|
9 |
-
|
10 |
-
add_action( 'rest_api_init', function () {
|
11 |
-
$my_namespace = 'instant-images';
|
12 |
-
$my_endpoint = '/upload';
|
13 |
-
register_rest_route( $my_namespace, $my_endpoint,
|
14 |
-
array(
|
15 |
-
'methods' => 'POST',
|
16 |
-
'callback' => 'instant_images_upload_image',
|
17 |
-
)
|
18 |
-
);
|
19 |
-
});
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
/*
|
24 |
-
* upload_image
|
25 |
-
* Upload Image to /uploads directory
|
26 |
-
*
|
27 |
-
* @param $request $_POST
|
28 |
-
* @return $response json
|
29 |
-
* @since 3.0
|
30 |
-
* @updated 3.3
|
31 |
-
*/
|
32 |
-
|
33 |
-
function instant_images_upload_image( WP_REST_Request $request ) {
|
34 |
-
|
35 |
-
if (is_user_logged_in() && current_user_can( apply_filters('instant_images_user_role', 'upload_files') )){
|
36 |
-
|
37 |
-
error_reporting(E_ALL|E_STRICT);
|
38 |
-
|
39 |
-
// Create /instant-images directory inside /uploads to temporarily store images
|
40 |
-
if(!is_dir(INSTANT_IMG_UPLOAD_PATH)){
|
41 |
-
wp_mkdir_p(INSTANT_IMG_UPLOAD_PATH);
|
42 |
-
}
|
43 |
-
|
44 |
-
// Is directory writeable, if not exit with an error
|
45 |
-
if (!is_writable(INSTANT_IMG_UPLOAD_PATH.'/')) {
|
46 |
-
$response = json_encode(
|
47 |
-
array(
|
48 |
-
'error' => true,
|
49 |
-
'msg' => __('Unable to save image, check your server permissions of `uploads/instant-instants`', 'instant-images')
|
50 |
-
)
|
51 |
-
);
|
52 |
-
wp_send_json($response);
|
53 |
-
}
|
54 |
-
|
55 |
-
$body = json_decode($request->get_body(), true); // Get contents of request
|
56 |
-
$data = json_decode($body['data']); // Info about image
|
57 |
-
$path = INSTANT_IMG_UPLOAD_PATH.'/'; // Temp Image Path
|
58 |
-
|
59 |
-
|
60 |
-
// Get data params from the $body
|
61 |
-
if($data){
|
62 |
-
$id = sanitize_key($data->id); // Image ID
|
63 |
-
$img = sanitize_text_field($data->image); // Image URL
|
64 |
-
}
|
65 |
-
|
66 |
-
|
67 |
-
// If ID and IMG not set, exit
|
68 |
-
if(!isset($id) || !isset($img)){
|
69 |
-
$response = array(
|
70 |
-
'error' => true,
|
71 |
-
'msg' => __('An issue occurred retrieving image info via the REST API.', 'instant-images'),
|
72 |
-
'path' => $path,
|
73 |
-
'filename' => $filename
|
74 |
-
);
|
75 |
-
wp_send_json($response);
|
76 |
-
}
|
77 |
-
|
78 |
-
|
79 |
-
// Create temp. image variables
|
80 |
-
$filename = $id.'.jpg';
|
81 |
-
$img_path = $path .''.$filename;
|
82 |
-
|
83 |
-
|
84 |
-
// Test allow_url_fopen
|
85 |
-
// Confirm the server has allow_url_fopen set to `on`
|
86 |
-
/*
|
87 |
-
if( !ini_get('allow_url_fopen') ) {
|
88 |
-
$response = array(
|
89 |
-
'error' => true,
|
90 |
-
'msg' => __('Instant Images requires `allow_url_fopen` to be on for downloading images from the remote server to yours. Please check your server php.ini file and confirm it is set to on and not off.', 'instant-images'),
|
91 |
-
'path' => $path,
|
92 |
-
'filename' => $filename
|
93 |
-
);
|
94 |
-
wp_send_json($response);
|
95 |
-
}
|
96 |
-
*/
|
97 |
-
|
98 |
-
|
99 |
-
// PHP Copy()
|
100 |
-
if(function_exists('copy')){
|
101 |
-
|
102 |
-
// Save file to server using copy() function
|
103 |
-
$saved_file = @copy($img.'jpg', $img_path);
|
104 |
-
|
105 |
-
// Was the temporary image saved?
|
106 |
-
if ($saved_file) {
|
107 |
-
|
108 |
-
if(file_exists($path.''.$filename)){
|
109 |
-
|
110 |
-
// SUCCESS - Image saved
|
111 |
-
$response = array(
|
112 |
-
'error' => false,
|
113 |
-
'msg' => __('Image successfully uploaded to server.', 'instant-images'),
|
114 |
-
'path' => $path,
|
115 |
-
'filename' => $filename
|
116 |
-
);
|
117 |
-
|
118 |
-
}else{
|
119 |
-
|
120 |
-
// ERROR - File does NOT exist
|
121 |
-
$response = array(
|
122 |
-
'error' => true,
|
123 |
-
'msg' => __('Uploaded image not found, please ensure you have proper permissions set on the uploads directory.', 'instant-images'),
|
124 |
-
'path' => '',
|
125 |
-
'filename' => ''
|
126 |
-
);
|
127 |
-
|
128 |
-
}
|
129 |
-
|
130 |
-
} else {
|
131 |
-
|
132 |
-
// ERROR - Error on save
|
133 |
-
$response = array(
|
134 |
-
'error' => true,
|
135 |
-
'msg' => __('Unable to download image to server, please check the server permissions of the instant-images folder in your WP uploads directory.', 'instant-images'),
|
136 |
-
'path' => '',
|
137 |
-
'filename' => ''
|
138 |
-
);
|
139 |
-
|
140 |
-
}
|
141 |
-
|
142 |
-
}
|
143 |
-
|
144 |
-
// copy() not enabled
|
145 |
-
else{
|
146 |
-
|
147 |
-
$response = array(
|
148 |
-
'error' => true,
|
149 |
-
'msg' => __('The core PHP copy() function is not available on your server. Please contact your server administrator to upgrade your PHP version.', 'instant-images'),
|
150 |
-
'path' => $path,
|
151 |
-
'filename' => $filename
|
152 |
-
);
|
153 |
-
|
154 |
-
}
|
155 |
-
|
156 |
-
wp_send_json($response);
|
157 |
-
|
158 |
-
}
|
159 |
-
|
160 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
dist/css/instant-images.css
CHANGED
@@ -471,31 +471,40 @@ input:-webkit-autofill {
|
|
471 |
position: relative;
|
472 |
}
|
473 |
|
474 |
-
.instant-img-container .control-nav li
|
475 |
padding: 0 24px 0 2px;
|
476 |
height: 48px;
|
477 |
line-height: 48px;
|
478 |
display: block;
|
479 |
color: #999;
|
480 |
text-decoration: none;
|
|
|
|
|
|
|
481 |
background-position: 96% center;
|
482 |
background-repeat: no-repeat;
|
|
|
|
|
483 |
}
|
484 |
|
485 |
-
.instant-img-container .control-nav li
|
486 |
-
color: #111;
|
487 |
-
cursor: default;
|
488 |
-
font-weight: 600;
|
489 |
-
}
|
490 |
-
|
491 |
-
.instant-img-container .control-nav li a:hover, .instant-img-container .control-nav li a:focus {
|
492 |
color: #111;
|
493 |
outline: none;
|
494 |
-webkit-box-shadow: none;
|
495 |
box-shadow: none;
|
496 |
}
|
497 |
|
498 |
-
.instant-img-container .control-nav li
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
499 |
background-image: url(../img/ajax-loader.gif);
|
500 |
}
|
501 |
|
@@ -504,7 +513,7 @@ input:-webkit-autofill {
|
|
504 |
font-size: 16px;
|
505 |
margin: 0;
|
506 |
}
|
507 |
-
.instant-img-container .control-nav li
|
508 |
padding-left: 3px;
|
509 |
}
|
510 |
}
|
@@ -543,7 +552,7 @@ input:-webkit-autofill {
|
|
543 |
width: auto;
|
544 |
height: 34px;
|
545 |
line-height: 34px;
|
546 |
-
padding: 0
|
547 |
background: #ffffbf;
|
548 |
border: 1px solid #ebebae;
|
549 |
-webkit-border-radius: 3px;
|
@@ -568,11 +577,13 @@ input:-webkit-autofill {
|
|
568 |
line-height: 34px;
|
569 |
}
|
570 |
|
571 |
-
.instant-img-container .control-nav li.search-field .searchResults
|
572 |
padding: 0 10px;
|
573 |
-
height:
|
574 |
-
line-height:
|
|
|
575 |
position: absolute;
|
|
|
576 |
right: 0;
|
577 |
top: 0;
|
578 |
}
|
@@ -627,8 +638,8 @@ input:-webkit-autofill {
|
|
627 |
background-color: #f7f7f7 !important;
|
628 |
height: 46px;
|
629 |
line-height: 46px;
|
630 |
-
-webkit-border-radius:
|
631 |
-
border-radius:
|
632 |
font-size: 16px;
|
633 |
-webkit-transition: padding 0.15s ease;
|
634 |
-o-transition: padding 0.15s ease;
|
@@ -637,6 +648,8 @@ input:-webkit-autofill {
|
|
637 |
|
638 |
.instant-img-container .control-nav li.search-field input:focus {
|
639 |
border-color: #999;
|
|
|
|
|
640 |
}
|
641 |
|
642 |
.instant-img-container .control-nav li.search-field input.searching {
|
@@ -664,6 +677,7 @@ input:-webkit-autofill {
|
|
664 |
transition: all 0.25s ease;
|
665 |
opacity: 0.5;
|
666 |
margin: 0;
|
|
|
667 |
}
|
668 |
|
669 |
.instant-img-container .control-nav li.search-field button:hover {
|
@@ -822,30 +836,32 @@ input:-webkit-autofill {
|
|
822 |
#photos .photo a.upload .status {
|
823 |
visibility: hidden;
|
824 |
opacity: 0;
|
825 |
-
-webkit-transition: all 0.
|
826 |
-
-o-transition: all 0.
|
827 |
-
transition: all 0.
|
828 |
width: 60px;
|
829 |
height: 60px;
|
830 |
line-height: 60px;
|
831 |
-
-webkit-border-radius:
|
832 |
-
border-radius:
|
833 |
position: absolute;
|
834 |
left: 50%;
|
835 |
top: 50%;
|
836 |
z-index: 5;
|
837 |
-
-webkit-transform: translate(-50%, -50%) scale(1.
|
838 |
-
-ms-transform: translate(-50%, -50%) scale(1.
|
839 |
-
transform: translate(-50%, -50%) scale(1.
|
840 |
-
-webkit-box-shadow: 0
|
841 |
-
box-shadow: 0
|
|
|
|
|
842 |
}
|
843 |
|
844 |
#photos .photo a.upload .status:before {
|
845 |
font-family: 'FontAwesome';
|
846 |
display: block;
|
847 |
color: #fff;
|
848 |
-
font-size:
|
849 |
opacity: 0.8;
|
850 |
}
|
851 |
|
@@ -854,7 +870,6 @@ input:-webkit-autofill {
|
|
854 |
}
|
855 |
|
856 |
#photos .photo a.upload.uploading .status,
|
857 |
-
#photos .photo a.upload.resizing .status,
|
858 |
#photos .photo a.upload.success .status,
|
859 |
#photos .photo a.upload.errors .status {
|
860 |
text-align: center;
|
@@ -872,26 +887,13 @@ input:-webkit-autofill {
|
|
872 |
#photos .photo a.upload.uploading .status {
|
873 |
visibility: visible;
|
874 |
opacity: 1;
|
875 |
-
background
|
|
|
|
|
876 |
}
|
877 |
|
878 |
#photos .photo a.upload.uploading .status:before {
|
879 |
-
|
880 |
-
}
|
881 |
-
|
882 |
-
#photos .photo a.upload.resizing {
|
883 |
-
cursor: default !important;
|
884 |
-
}
|
885 |
-
|
886 |
-
#photos .photo a.upload.resizing .status {
|
887 |
-
visibility: visible;
|
888 |
-
opacity: 1;
|
889 |
-
background-color: #e4c452;
|
890 |
-
}
|
891 |
-
|
892 |
-
#photos .photo a.upload.resizing .status:before {
|
893 |
-
color: #fff;
|
894 |
-
content: '\F065';
|
895 |
}
|
896 |
|
897 |
#photos .photo a.upload.success {
|
@@ -901,12 +903,7 @@ input:-webkit-autofill {
|
|
901 |
#photos .photo a.upload.success .status {
|
902 |
visibility: visible;
|
903 |
opacity: 1;
|
904 |
-
width: 70px;
|
905 |
-
height: 70px;
|
906 |
-
line-height: 70px;
|
907 |
background-color: #63d875;
|
908 |
-
-webkit-border-radius: 100%;
|
909 |
-
border-radius: 100%;
|
910 |
}
|
911 |
|
912 |
#photos .photo a.upload.success .status:before {
|
@@ -927,12 +924,7 @@ input:-webkit-autofill {
|
|
927 |
#photos .photo a.upload.errors .status {
|
928 |
visibility: visible;
|
929 |
opacity: 1;
|
930 |
-
width: 60px;
|
931 |
-
height: 60px;
|
932 |
-
line-height: 60px;
|
933 |
background-color: #df3333;
|
934 |
-
-webkit-border-radius: 100%;
|
935 |
-
border-radius: 100%;
|
936 |
}
|
937 |
|
938 |
#photos .photo a.upload.errors .status:before {
|
@@ -945,8 +937,12 @@ input:-webkit-autofill {
|
|
945 |
opacity: 0.25 !important;
|
946 |
}
|
947 |
|
|
|
|
|
|
|
|
|
948 |
#photos .photo:hover a.upload img, #photos .photo.in-progress a.upload img {
|
949 |
-
opacity: 0.
|
950 |
-webkit-transform: scale(1.075);
|
951 |
-ms-transform: scale(1.075);
|
952 |
transform: scale(1.075);
|
@@ -973,7 +969,11 @@ input:-webkit-autofill {
|
|
973 |
}
|
974 |
|
975 |
#photos .photo.in-progress .user-controls {
|
976 |
-
opacity: 0;
|
|
|
|
|
|
|
|
|
977 |
}
|
978 |
|
979 |
#photos .photo .options {
|
@@ -999,16 +999,14 @@ input:-webkit-autofill {
|
|
999 |
|
1000 |
#photos .photo .options i.heart-like {
|
1001 |
color: #d13714;
|
1002 |
-
margin-right: 1px;
|
1003 |
-webkit-transition: all 0.25s ease 0.05s;
|
1004 |
-o-transition: all 0.25s ease 0.05s;
|
1005 |
transition: all 0.25s ease 0.05s;
|
1006 |
-webkit-transform: scale(0.55);
|
1007 |
-ms-transform: scale(0.55);
|
1008 |
transform: scale(0.55);
|
1009 |
-
margin-right:
|
1010 |
position: relative;
|
1011 |
-
left: -1px;
|
1012 |
top: 0;
|
1013 |
font-size: 14px;
|
1014 |
opacity: 0.9;
|
@@ -1019,11 +1017,12 @@ input:-webkit-autofill {
|
|
1019 |
vertical-align: top;
|
1020 |
line-height: 30px;
|
1021 |
padding: 0 10px;
|
|
|
1022 |
padding-top: 1px;
|
1023 |
background: rgba(255, 255, 255, 0.5);
|
1024 |
margin: 0;
|
1025 |
-
-webkit-border-radius: 2px
|
1026 |
-
border-radius: 2px
|
1027 |
color: #23282d;
|
1028 |
-webkit-transition: all 0.3s ease;
|
1029 |
-o-transition: all 0.3s ease;
|
@@ -1039,9 +1038,7 @@ input:-webkit-autofill {
|
|
1039 |
}
|
1040 |
|
1041 |
#photos .photo .options a {
|
1042 |
-
margin-left:
|
1043 |
-
-webkit-border-radius: 0 2px 2px 0;
|
1044 |
-
border-radius: 0 2px 2px 0;
|
1045 |
}
|
1046 |
|
1047 |
#photos .photo .options a:hover, #photos .photo .options a:focus {
|
@@ -1061,9 +1058,9 @@ input:-webkit-autofill {
|
|
1061 |
bottom: 0;
|
1062 |
left: 0;
|
1063 |
width: 100%;
|
1064 |
-
background: rgba(0, 0, 0, 0.
|
1065 |
padding: 0;
|
1066 |
-
opacity: 0.
|
1067 |
-webkit-transition: all 0.3s ease;
|
1068 |
-o-transition: all 0.3s ease;
|
1069 |
transition: all 0.3s ease;
|
@@ -1082,8 +1079,8 @@ input:-webkit-autofill {
|
|
1082 |
color: #fff;
|
1083 |
background: rgba(255, 255, 255, 0.75);
|
1084 |
background: transparent;
|
1085 |
-
-webkit-border-radius:
|
1086 |
-
border-radius:
|
1087 |
height: 34px;
|
1088 |
line-height: 34px;
|
1089 |
font-size: 17px;
|
@@ -1092,20 +1089,27 @@ input:-webkit-autofill {
|
|
1092 |
margin: 1px 1px 1px 0;
|
1093 |
padding: 0;
|
1094 |
color: rgba(255, 255, 255, 0.75);
|
|
|
|
|
|
|
1095 |
}
|
1096 |
|
1097 |
#photos .photo .fade.edit-photo, #photos .photo .fade.edit-photo-admin, #photos .photo .fade.set-featured, #photos .photo .fade.insert {
|
1098 |
-
width:
|
1099 |
display: inline-block;
|
1100 |
width: 34px;
|
1101 |
text-align: center;
|
|
|
1102 |
}
|
1103 |
|
1104 |
#photos .photo .fade.edit-photo i, #photos .photo .fade.edit-photo-admin i, #photos .photo .fade.set-featured i, #photos .photo .fade.insert i {
|
1105 |
line-height: 27px;
|
1106 |
-
position:
|
1107 |
-
left:
|
1108 |
-
top:
|
|
|
|
|
|
|
1109 |
}
|
1110 |
|
1111 |
#photos .photo .fade.edit-photo:hover, #photos .photo .fade.edit-photo:focus, #photos .photo .fade.edit-photo-admin:hover, #photos .photo .fade.edit-photo-admin:focus, #photos .photo .fade.set-featured:hover, #photos .photo .fade.set-featured:focus, #photos .photo .fade.insert:hover, #photos .photo .fade.insert:focus {
|
@@ -1113,20 +1117,10 @@ input:-webkit-autofill {
|
|
1113 |
background: rgba(255, 255, 255, 0.95);
|
1114 |
}
|
1115 |
|
1116 |
-
#photos .photo .fade.set-featured i {
|
1117 |
-
top: 0;
|
1118 |
-
left: 0;
|
1119 |
-
}
|
1120 |
-
|
1121 |
#photos .photo .fade.edit-photo-admin {
|
1122 |
display: none;
|
1123 |
}
|
1124 |
|
1125 |
-
#photos .photo .fade.edit-photo i, #photos .photo .fade.edit-photo-admin i {
|
1126 |
-
left: 0;
|
1127 |
-
top: 0;
|
1128 |
-
}
|
1129 |
-
|
1130 |
#photos .photo .fade.user {
|
1131 |
background: none;
|
1132 |
text-decoration: none;
|
@@ -1175,8 +1169,8 @@ input:-webkit-autofill {
|
|
1175 |
width: 100%;
|
1176 |
background: rgba(0, 0, 0, 0.6);
|
1177 |
text-align: center;
|
1178 |
-
color:
|
1179 |
-
font-size:
|
1180 |
margin: 0;
|
1181 |
padding: 0;
|
1182 |
-webkit-transition: all 0.25s ease-in-out;
|
@@ -1186,6 +1180,11 @@ input:-webkit-autofill {
|
|
1186 |
z-index: 9999;
|
1187 |
}
|
1188 |
|
|
|
|
|
|
|
|
|
|
|
1189 |
#photos .edit-screen {
|
1190 |
position: absolute;
|
1191 |
left: 0;
|
@@ -1574,6 +1573,7 @@ input:-webkit-autofill {
|
|
1574 |
top: 0;
|
1575 |
width: 40px;
|
1576 |
height: 36px;
|
|
|
1577 |
padding: 0;
|
1578 |
margin: 0;
|
1579 |
}
|
@@ -1588,6 +1588,65 @@ input:-webkit-autofill {
|
|
1588 |
display: none;
|
1589 |
}
|
1590 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1591 |
.no-results {
|
1592 |
display: none;
|
1593 |
padding: 150px 100px;
|
471 |
position: relative;
|
472 |
}
|
473 |
|
474 |
+
.instant-img-container .control-nav li button {
|
475 |
padding: 0 24px 0 2px;
|
476 |
height: 48px;
|
477 |
line-height: 48px;
|
478 |
display: block;
|
479 |
color: #999;
|
480 |
text-decoration: none;
|
481 |
+
-webkit-box-shadow: none;
|
482 |
+
box-shadow: none;
|
483 |
+
background-color: transparent;
|
484 |
background-position: 96% center;
|
485 |
background-repeat: no-repeat;
|
486 |
+
border: none;
|
487 |
+
cursor: pointer;
|
488 |
}
|
489 |
|
490 |
+
.instant-img-container .control-nav li button:hover, .instant-img-container .control-nav li button:focus {
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
color: #111;
|
492 |
outline: none;
|
493 |
-webkit-box-shadow: none;
|
494 |
box-shadow: none;
|
495 |
}
|
496 |
|
497 |
+
.instant-img-container .control-nav li button:focus {
|
498 |
+
text-decoration: underline;
|
499 |
+
}
|
500 |
+
|
501 |
+
.instant-img-container .control-nav li button.active {
|
502 |
+
color: #333;
|
503 |
+
cursor: default;
|
504 |
+
font-weight: 600;
|
505 |
+
}
|
506 |
+
|
507 |
+
.instant-img-container .control-nav li button.loading {
|
508 |
background-image: url(../img/ajax-loader.gif);
|
509 |
}
|
510 |
|
513 |
font-size: 16px;
|
514 |
margin: 0;
|
515 |
}
|
516 |
+
.instant-img-container .control-nav li button {
|
517 |
padding-left: 3px;
|
518 |
}
|
519 |
}
|
552 |
width: auto;
|
553 |
height: 34px;
|
554 |
line-height: 34px;
|
555 |
+
padding: 0 30px 0 10px;
|
556 |
background: #ffffbf;
|
557 |
border: 1px solid #ebebae;
|
558 |
-webkit-border-radius: 3px;
|
577 |
line-height: 34px;
|
578 |
}
|
579 |
|
580 |
+
.instant-img-container .control-nav li.search-field .searchResults button {
|
581 |
padding: 0 10px;
|
582 |
+
height: 32px;
|
583 |
+
line-height: 32px;
|
584 |
+
width: 30px;
|
585 |
position: absolute;
|
586 |
+
left: auto;
|
587 |
right: 0;
|
588 |
top: 0;
|
589 |
}
|
638 |
background-color: #f7f7f7 !important;
|
639 |
height: 46px;
|
640 |
line-height: 46px;
|
641 |
+
-webkit-border-radius: 3px;
|
642 |
+
border-radius: 3px;
|
643 |
font-size: 16px;
|
644 |
-webkit-transition: padding 0.15s ease;
|
645 |
-o-transition: padding 0.15s ease;
|
648 |
|
649 |
.instant-img-container .control-nav li.search-field input:focus {
|
650 |
border-color: #999;
|
651 |
+
-webkit-box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.075);
|
652 |
+
box-shadow: 0 0 0 4px rgba(0, 0, 0, 0.075);
|
653 |
}
|
654 |
|
655 |
.instant-img-container .control-nav li.search-field input.searching {
|
677 |
transition: all 0.25s ease;
|
678 |
opacity: 0.5;
|
679 |
margin: 0;
|
680 |
+
padding: 0;
|
681 |
}
|
682 |
|
683 |
.instant-img-container .control-nav li.search-field button:hover {
|
836 |
#photos .photo a.upload .status {
|
837 |
visibility: hidden;
|
838 |
opacity: 0;
|
839 |
+
-webkit-transition: all 0.25s ease-in-out;
|
840 |
+
-o-transition: all 0.25s ease-in-out;
|
841 |
+
transition: all 0.25s ease-in-out;
|
842 |
width: 60px;
|
843 |
height: 60px;
|
844 |
line-height: 60px;
|
845 |
+
-webkit-border-radius: 4px;
|
846 |
+
border-radius: 4px;
|
847 |
position: absolute;
|
848 |
left: 50%;
|
849 |
top: 50%;
|
850 |
z-index: 5;
|
851 |
+
-webkit-transform: translate(-50%, -50%) scale(1.2);
|
852 |
+
-ms-transform: translate(-50%, -50%) scale(1.2);
|
853 |
+
transform: translate(-50%, -50%) scale(1.2);
|
854 |
+
-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
|
855 |
+
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.25);
|
856 |
+
background-position: center center;
|
857 |
+
background-repeat: no-repeat;
|
858 |
}
|
859 |
|
860 |
#photos .photo a.upload .status:before {
|
861 |
font-family: 'FontAwesome';
|
862 |
display: block;
|
863 |
color: #fff;
|
864 |
+
font-size: 24px;
|
865 |
opacity: 0.8;
|
866 |
}
|
867 |
|
870 |
}
|
871 |
|
872 |
#photos .photo a.upload.uploading .status,
|
|
|
873 |
#photos .photo a.upload.success .status,
|
874 |
#photos .photo a.upload.errors .status {
|
875 |
text-align: center;
|
887 |
#photos .photo a.upload.uploading .status {
|
888 |
visibility: visible;
|
889 |
opacity: 1;
|
890 |
+
background: rgba(255, 255, 255, 0.95) url(../img/ajax-loader-lg.gif) no-repeat center center;
|
891 |
+
-webkit-background-size: 24px 24px;
|
892 |
+
background-size: 24px 24px;
|
893 |
}
|
894 |
|
895 |
#photos .photo a.upload.uploading .status:before {
|
896 |
+
display: none;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
897 |
}
|
898 |
|
899 |
#photos .photo a.upload.success {
|
903 |
#photos .photo a.upload.success .status {
|
904 |
visibility: visible;
|
905 |
opacity: 1;
|
|
|
|
|
|
|
906 |
background-color: #63d875;
|
|
|
|
|
907 |
}
|
908 |
|
909 |
#photos .photo a.upload.success .status:before {
|
924 |
#photos .photo a.upload.errors .status {
|
925 |
visibility: visible;
|
926 |
opacity: 1;
|
|
|
|
|
|
|
927 |
background-color: #df3333;
|
|
|
|
|
928 |
}
|
929 |
|
930 |
#photos .photo a.upload.errors .status:before {
|
937 |
opacity: 0.25 !important;
|
938 |
}
|
939 |
|
940 |
+
#photos .photo.uploaded .user-controls {
|
941 |
+
opacity: 0.5;
|
942 |
+
}
|
943 |
+
|
944 |
#photos .photo:hover a.upload img, #photos .photo.in-progress a.upload img {
|
945 |
+
opacity: 0.7;
|
946 |
-webkit-transform: scale(1.075);
|
947 |
-ms-transform: scale(1.075);
|
948 |
transform: scale(1.075);
|
969 |
}
|
970 |
|
971 |
#photos .photo.in-progress .user-controls {
|
972 |
+
opacity: 0 !important;
|
973 |
+
}
|
974 |
+
|
975 |
+
#photos .photo.in-progress .options {
|
976 |
+
opacity: 0 !important;
|
977 |
}
|
978 |
|
979 |
#photos .photo .options {
|
999 |
|
1000 |
#photos .photo .options i.heart-like {
|
1001 |
color: #d13714;
|
|
|
1002 |
-webkit-transition: all 0.25s ease 0.05s;
|
1003 |
-o-transition: all 0.25s ease 0.05s;
|
1004 |
transition: all 0.25s ease 0.05s;
|
1005 |
-webkit-transform: scale(0.55);
|
1006 |
-ms-transform: scale(0.55);
|
1007 |
transform: scale(0.55);
|
1008 |
+
margin-right: 2px;
|
1009 |
position: relative;
|
|
|
1010 |
top: 0;
|
1011 |
font-size: 14px;
|
1012 |
opacity: 0.9;
|
1017 |
vertical-align: top;
|
1018 |
line-height: 30px;
|
1019 |
padding: 0 10px;
|
1020 |
+
margin: 0;
|
1021 |
padding-top: 1px;
|
1022 |
background: rgba(255, 255, 255, 0.5);
|
1023 |
margin: 0;
|
1024 |
+
-webkit-border-radius: 2px;
|
1025 |
+
border-radius: 2px;
|
1026 |
color: #23282d;
|
1027 |
-webkit-transition: all 0.3s ease;
|
1028 |
-o-transition: all 0.3s ease;
|
1038 |
}
|
1039 |
|
1040 |
#photos .photo .options a {
|
1041 |
+
margin-left: 2px;
|
|
|
|
|
1042 |
}
|
1043 |
|
1044 |
#photos .photo .options a:hover, #photos .photo .options a:focus {
|
1058 |
bottom: 0;
|
1059 |
left: 0;
|
1060 |
width: 100%;
|
1061 |
+
background: rgba(0, 0, 0, 0.4);
|
1062 |
padding: 0;
|
1063 |
+
opacity: 0.35;
|
1064 |
-webkit-transition: all 0.3s ease;
|
1065 |
-o-transition: all 0.3s ease;
|
1066 |
transition: all 0.3s ease;
|
1079 |
color: #fff;
|
1080 |
background: rgba(255, 255, 255, 0.75);
|
1081 |
background: transparent;
|
1082 |
+
-webkit-border-radius: 2px;
|
1083 |
+
border-radius: 2px;
|
1084 |
height: 34px;
|
1085 |
line-height: 34px;
|
1086 |
font-size: 17px;
|
1089 |
margin: 1px 1px 1px 0;
|
1090 |
padding: 0;
|
1091 |
color: rgba(255, 255, 255, 0.75);
|
1092 |
+
border: none !important;
|
1093 |
+
outline: none;
|
1094 |
+
cursor: pointer;
|
1095 |
}
|
1096 |
|
1097 |
#photos .photo .fade.edit-photo, #photos .photo .fade.edit-photo-admin, #photos .photo .fade.set-featured, #photos .photo .fade.insert {
|
1098 |
+
width: 34px;
|
1099 |
display: inline-block;
|
1100 |
width: 34px;
|
1101 |
text-align: center;
|
1102 |
+
position: relative;
|
1103 |
}
|
1104 |
|
1105 |
#photos .photo .fade.edit-photo i, #photos .photo .fade.edit-photo-admin i, #photos .photo .fade.set-featured i, #photos .photo .fade.insert i {
|
1106 |
line-height: 27px;
|
1107 |
+
position: absolute;
|
1108 |
+
left: 50%;
|
1109 |
+
top: 50%;
|
1110 |
+
-webkit-transform: translate(-50%, -50%);
|
1111 |
+
-ms-transform: translate(-50%, -50%);
|
1112 |
+
transform: translate(-50%, -50%);
|
1113 |
}
|
1114 |
|
1115 |
#photos .photo .fade.edit-photo:hover, #photos .photo .fade.edit-photo:focus, #photos .photo .fade.edit-photo-admin:hover, #photos .photo .fade.edit-photo-admin:focus, #photos .photo .fade.set-featured:hover, #photos .photo .fade.set-featured:focus, #photos .photo .fade.insert:hover, #photos .photo .fade.insert:focus {
|
1117 |
background: rgba(255, 255, 255, 0.95);
|
1118 |
}
|
1119 |
|
|
|
|
|
|
|
|
|
|
|
1120 |
#photos .photo .fade.edit-photo-admin {
|
1121 |
display: none;
|
1122 |
}
|
1123 |
|
|
|
|
|
|
|
|
|
|
|
1124 |
#photos .photo .fade.user {
|
1125 |
background: none;
|
1126 |
text-decoration: none;
|
1169 |
width: 100%;
|
1170 |
background: rgba(0, 0, 0, 0.6);
|
1171 |
text-align: center;
|
1172 |
+
color: rgba(255, 255, 255, 0.9);
|
1173 |
+
font-size: 12px;
|
1174 |
margin: 0;
|
1175 |
padding: 0;
|
1176 |
-webkit-transition: all 0.25s ease-in-out;
|
1180 |
z-index: 9999;
|
1181 |
}
|
1182 |
|
1183 |
+
#photos .photo .notice-msg.has-error {
|
1184 |
+
top: -40px;
|
1185 |
+
opacity: 0;
|
1186 |
+
}
|
1187 |
+
|
1188 |
#photos .edit-screen {
|
1189 |
position: absolute;
|
1190 |
left: 0;
|
1573 |
top: 0;
|
1574 |
width: 40px;
|
1575 |
height: 36px;
|
1576 |
+
line-height: 36px;
|
1577 |
padding: 0;
|
1578 |
margin: 0;
|
1579 |
}
|
1588 |
display: none;
|
1589 |
}
|
1590 |
|
1591 |
+
.media-frame-content .instant-img-container .load-more-wrap {
|
1592 |
+
display: block;
|
1593 |
+
}
|
1594 |
+
|
1595 |
+
#tooltip {
|
1596 |
+
display: inline-block;
|
1597 |
+
padding: 8px 10px;
|
1598 |
+
background: #fff;
|
1599 |
+
position: fixed;
|
1600 |
+
left: auto;
|
1601 |
+
top: auto;
|
1602 |
+
z-index: 999;
|
1603 |
+
display: block;
|
1604 |
+
opacity: 0;
|
1605 |
+
visibility: hidden;
|
1606 |
+
margin-top: -37px;
|
1607 |
+
font-size: 12px;
|
1608 |
+
color: #999;
|
1609 |
+
text-align: center;
|
1610 |
+
line-height: 1;
|
1611 |
+
-webkit-border-radius: 2px;
|
1612 |
+
border-radius: 2px;
|
1613 |
+
-webkit-box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
|
1614 |
+
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.1);
|
1615 |
+
-webkit-transition: all 0.15s ease;
|
1616 |
+
-o-transition: all 0.15s ease;
|
1617 |
+
transition: all 0.15s ease;
|
1618 |
+
}
|
1619 |
+
|
1620 |
+
#tooltip:after {
|
1621 |
+
top: 100%;
|
1622 |
+
right: 17px;
|
1623 |
+
border: solid transparent;
|
1624 |
+
content: " ";
|
1625 |
+
height: 0;
|
1626 |
+
width: 0;
|
1627 |
+
position: absolute;
|
1628 |
+
pointer-events: none;
|
1629 |
+
border-color: rgba(255, 255, 255, 0);
|
1630 |
+
border-top-color: #ffffff;
|
1631 |
+
border-width: 5px;
|
1632 |
+
margin-left: -5px;
|
1633 |
+
}
|
1634 |
+
|
1635 |
+
#tooltip.over {
|
1636 |
+
opacity: 0.9;
|
1637 |
+
visibility: visible;
|
1638 |
+
}
|
1639 |
+
|
1640 |
+
#tooltip.above {
|
1641 |
+
margin-top: 37px;
|
1642 |
+
}
|
1643 |
+
|
1644 |
+
#tooltip.above:after {
|
1645 |
+
top: -5px;
|
1646 |
+
border-top: none;
|
1647 |
+
border-bottom-color: #ffffff;
|
1648 |
+
}
|
1649 |
+
|
1650 |
.no-results {
|
1651 |
display: none;
|
1652 |
padding: 150px 100px;
|
dist/css/instant-images.min.css
CHANGED
@@ -1 +1 @@
|
|
1 |
-
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);html{overflow-y:scroll}body.media_page_instant-images{background:#fff}body.media_page_instant-images #wpcontent{padding-left:0;padding-bottom:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpcontent{padding-bottom:0}}body.media_page_instant-images #wpbody-content{padding-bottom:0}body.media_page_instant-images #wpfooter{padding-top:0;padding-bottom:0;line-height:40px;background:#f7f7f7;border-top:1px solid #efefef;position:fixed;bottom:0;z-index:1100}body.media_page_instant-images #wpfooter p{line-height:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpfooter{display:none}}.instant-img-container{font-size:14px;color:#666;position:relative}.instant-img-container .offscreen{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.instant-img-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.instant-img-container a{color:#5d72c3;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}.instant-img-container a:hover{color:#5568ae;text-decoration:none}.instant-img-container img{max-width:100%}.instant-img-container p{color:#666;width:100%;display:block;clear:both;text-transform:none;padding:0;margin:0 0 15px;font-size:14px}.instant-img-container.loading .loading-block{display:block}.instant-img-container .error-messaging{display:none}.instant-img-container .error-messaging.active{padding:17px 17px 17px 57px;-webkit-border-radius:3px;border-radius:3px;background:#df3333;color:#fff;font-size:13px;margin-bottom:25px;display:block;position:relative}.instant-img-container .error-messaging.active:before{font-family:FontAwesome;content:"\F06A";display:block;left:17px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);position:absolute;font-size:30px;opacity:.75}.instant-img-container .header-wrap{background:#f7f7f7 url(../img/logo-48x48.png) no-repeat 25px 20px;padding:20px 25px 20px 83px;min-height:88px;overflow:hidden;border-bottom:1px solid #efefef;position:relative}@media screen and (max-width:800px){.instant-img-container .header-wrap{background-position:center 20px;padding:80px 25px 20px;text-align:center}}.instant-img-container .header-wrap h1{padding:0;margin:4px 0 0;font-weight:700;font-size:26px;max-width:70%}@media screen and (max-width:800px){.instant-img-container .header-wrap h1{max-width:100%;width:100%;text-align:center}}.instant-img-container .header-wrap h1 span{display:block;padding:8px 0 0;color:#888;font-size:15px;font-weight:400}.instant-img-container .header-wrap button{position:absolute;right:25px;bottom:26px}@media screen and (max-width:800px){.instant-img-container .header-wrap button{position:static;margin-top:20px;display:inline-block}}.instant-img-container .header-wrap button i{margin-right:2px}.instant-img-container .instant-images-wrapper{padding:0 25px;display:block;overflow:hidden;min-height:400px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .instant-images-wrapper.loaded{background:none}.instant-img-container .permissions-warning{padding:0 25px}.instant-img-container .permissions-warning .inner{border-bottom:1px solid #efefef;padding:32px 0}.instant-img-container .permissions-warning input{max-width:500px}.instant-img-container .permissions-warning h3{font-size:22px;margin:0 0 15px}.instant-img-container .permissions-warning h3 i{margin:0 2px 0 0;position:relative}.instant-img-container .permissions-warning p:first-of-type{font-size:18px;margin:0 0 2px}.instant-img-container .loading-block{display:none;padding:50px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .load-more-wrap{margin:1% 0 0;padding:25px 0;text-align:center;display:none;border-top:1px solid #efefef}.instant-img-container .load-more-wrap button{display:inline-block;margin:0;padding:12px 15px;font-size:15px;font-weight:600;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;height:auto;line-height:1;cursor:pointer;background-image:none;background-repeat:no-repeat!important;background-position:15px!important}.instant-img-container .load-more-wrap button.disabled{opacity:.3;cursor:default}.instant-img-container .cnkt-main{width:100%;float:none;background:none!important;position:relative}.instant-img-container h2,.instant-img-container h3,.instant-img-container h4{margin-top:0}.instant-img-container .save-settings p.submit{float:left;margin:0 2px 0 0;width:auto}.instant-img-container .save-settings .loading{width:46px;height:28px;display:none;float:left;background:#fff url(../img/ajax-loader.gif) no-repeat 50%}#TB_ajaxContent{clear:both;line-height:1.4em;overflow:auto;text-align:left;width:100%!important;-webkit-box-sizing:border-box;box-sizing:border-box;padding:15px!important}.cnkt-sidebar .form-table{margin:0;border:none}.cnkt-sidebar .form-table label,.cnkt-sidebar .form-table p,.cnkt-sidebar .form-table td{font-size:13px}.cnkt-sidebar .form-table label{display:block;clear:both;float:none}.cnkt-sidebar .form-table label span{opacity:.8;font-size:13px;font-style:italic}.cnkt-sidebar .form-table th{display:none}.instant-img-container .form-table td{border-top:0;padding:5px 0 20px;float:left;width:100%;margin:0}.instant-img-container .form-table tr:first-of-type td{padding:10px 0}.cnkt-main .form-msg,.cnkt-sidebar .form-table .form-msg{display:block;line-height:18px;padding:12px 12px 12px 15px;margin:15px 0 0;color:#666;background-color:#fff9ea;border-left:5px solid #dfd8c2;-webkit-border-radius:2px;border-radius:2px}.cnkt-main .form-msg span,.cnkt-sidebar .form-table .form-msg span{display:block;padding:6px 0 3px}.instant-img-container h1,.instant-img-container h3,.instant-img-container h4{color:#222;margin-top:0}.instant-img-container h4+p{margin-top:-6px}.instant-img-container p.small{font-size:12px;margin-top:-10px;opacity:.7}.instant-img-container ul{padding:0;margin:0;list-style:none}.instant-img-container input,.instant-img-container label,.instant-img-container select,.instant-img-container textarea{-webkit-box-shadow:none;box-shadow:none}.instant-img-container label{padding:5px 0}#unsplash-form-options h2,#unsplash-form-options p.desc{display:none}.instant-img-container input[type=number],.instant-img-container input[type=text],.instant-img-container textarea{padding:10px;line-height:1;border:1px solid #ccc;background:#f7f7f7;width:100%;-webkit-border-radius:2px;border-radius:2px;height:auto}.instant-img-container input[type=text]:focus,.instant-img-container textarea:focus{border-color:#999;-webkit-box-shadow:0 0 3px #ccc;box-shadow:0 0 3px #ccc;background:#efefef}.spacer{display:block;height:40px;overflow:hidden;clear:both;width:100%}.spacer.sm{height:20px}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset}.instant-img-container .control-nav{display:block;margin:0;padding:25px 0;list-style:none}.instant-img-container .control-nav:after{content:"";display:table;clear:both}.instant-img-container .control-nav li{padding:0;margin:0 3px 0 0;float:left;background:none;font-size:18px;position:relative}.instant-img-container .control-nav li a{padding:0 24px 0 2px;height:48px;line-height:48px;display:block;color:#999;text-decoration:none;background-position:96%;background-repeat:no-repeat}.instant-img-container .control-nav li a.active{color:#111;cursor:default;font-weight:600}.instant-img-container .control-nav li a:focus,.instant-img-container .control-nav li a:hover{color:#111;outline:none;-webkit-box-shadow:none;box-shadow:none}.instant-img-container .control-nav li a.loading{background-image:url(../img/ajax-loader.gif)}@media screen and (max-width:800px){.instant-img-container .control-nav li{font-size:16px;margin:0}.instant-img-container .control-nav li a{padding-left:3px}}@media screen and (max-width:600px){.instant-img-container .control-nav li{width:33.333%;text-align:center;margin:0;padding-bottom:15px}}.instant-img-container .control-nav li.search-field{float:right;width:49%;margin:0;max-width:500px}@media screen and (max-width:600px){.instant-img-container .control-nav li.search-field{width:100%;display:block;position:static;padding-bottom:15px;text-align:left;max-width:100%}}.instant-img-container .control-nav li.search-field .searchResults{position:absolute;right:100.5%;top:7px;width:auto;height:34px;line-height:34px;padding:0 27px 0 10px;background:#ffffbf;border:1px solid #ebebae;-webkit-border-radius:3px;border-radius:3px;z-index:99;font-size:13px;font-weight:600;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;color:#444;text-shadow:0 1px 1px hsla(0,0%,100%,.3);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 3px rgba(0,0,0,.05)}.instant-img-container .control-nav li.search-field .searchResults span{cursor:help}.instant-img-container .control-nav li.search-field .searchResults a,.instant-img-container .control-nav li.search-field .searchResults span{line-height:34px}.instant-img-container .control-nav li.search-field .searchResults a{padding:0 10px;height:34px;line-height:33px;position:absolute;right:0;top:0}.instant-img-container .control-nav li.search-field .searchResults:after,.instant-img-container .control-nav li.search-field .searchResults:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;z-index:100}.instant-img-container .control-nav li.search-field .searchResults:after{border-color:hsla(62,46%,78%,0);border-left-color:#ffffbf;border-width:6px;margin-top:-6px}.instant-img-container .control-nav li.search-field .searchResults:before{border-color:transparent;border-left-color:#ebebae;border-width:7px;margin-top:-7px}.instant-img-container .control-nav li.search-field .searchResults.hide{opacity:0;visibility:hidden}.instant-img-container .control-nav li.search-field form{padding:0 1px 0 0;margin:0;position:relative;height:48px;display:block}.instant-img-container .control-nav li.search-field form:hover button{opacity:1}.instant-img-container .control-nav li.search-field input{width:100%;padding:0 10px 0 42px;border:1px solid #e1e1e1;background-color:#f7f7f7!important;height:46px;line-height:46px;-webkit-border-radius:5px;border-radius:5px;font-size:16px;-webkit-transition:padding .15s ease;-o-transition:padding .15s ease;transition:padding .15s ease}.instant-img-container .control-nav li.search-field input:focus{border-color:#999}.instant-img-container .control-nav li.search-field input.searching{padding-left:62px;background-image:url(../img/ajax-loader.gif);background-position:37px;background-repeat:no-repeat}.instant-img-container .control-nav li.search-field button{position:absolute;left:-2px;top:-1px;width:48px;height:48px;z-index:1;border:none!important;background:transparent!important;cursor:pointer;color:#666;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;opacity:.5;margin:0}.instant-img-container .control-nav li.search-field button:focus,.instant-img-container .control-nav li.search-field button:hover{outline:none;color:#5d72c3}.instant-img-container .control-nav li.search-field input[type=search]::-webkit-input-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}.instant-img-container .control-nav li.search-field input[type=search]:-moz-placeholder,.instant-img-container .control-nav li.search-field input[type=search]::-moz-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}.instant-img-container .control-nav li.search-field input[type=search]:-ms-input-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}#photos{width:100%;width:-webkit-calc(100% + 10px);width:calc(100% + 10px);margin:0 0 0 -5px;padding:0;position:relative}#photos .photo{width:20%;margin:0;padding:0 5px 10px;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}#photos .photo--wrap{position:relative}#photos .photo.in-view{opacity:1}#photos .photo.in-progress .fade{opacity:0!important;visibility:hidden!important}#photos .photo .img-wrap{display:block;overflow:hidden;position:relative}@media screen and (min-width:2000px){#photos .photo{width:20%}}@media screen and (max-width:1570px){#photos .photo{width:25%}}@media screen and (max-width:1270px){#photos .photo{width:33.333333%}}@media screen and (max-width:800px){#photos .photo{width:50%}}@media screen and (max-width:600px){#photos .photo{width:100%;margin:0 0 2%}}#photos .photo:focus a.upload img{opacity:.6}#photos .photo:focus .fade{opacity:1;visibility:visible}#photos .photo:focus .fade.user{opacity:.7}#photos .photo:focus-within .user-controls{opacity:1}#photos .photo a.upload{display:block;position:relative;background-color:#222;background-position:50%;background-repeat:no-repeat;background-image:url(../img/ajax-loader.gif);overflow:hidden}#photos .photo a.upload.loaded{background-image:none}#photos .photo a.upload:active,#photos .photo a.upload:focus{outline:none;border:none}#photos .photo a.upload img{-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;width:100%;height:auto!important;padding:0;vertical-align:top}#photos .photo a.upload .status{visibility:hidden;opacity:0;-webkit-transition:all .2575s ease-in-out;-o-transition:all .2575s ease-in-out;transition:all .2575s ease-in-out;width:60px;height:60px;line-height:60px;-webkit-border-radius:100%;border-radius:100%;position:absolute;left:50%;top:50%;z-index:5;-webkit-transform:translate(-50%,-50%) scale(1.5);-ms-transform:translate(-50%,-50%) scale(1.5);transform:translate(-50%,-50%) scale(1.5);-webkit-box-shadow:0 0 4px rgba(0,0,0,.15);box-shadow:0 0 4px rgba(0,0,0,.15)}#photos .photo a.upload .status:before{font-family:FontAwesome;display:block;color:#fff;font-size:22px;opacity:.8}#photos .photo a.upload .status a{color:#fff}#photos .photo a.upload.errors .status,#photos .photo a.upload.resizing .status,#photos .photo a.upload.success .status,#photos .photo a.upload.uploading .status{text-align:center;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}#photos .photo a.upload.uploading{cursor:default!important}#photos .photo a.upload.uploading .status{visibility:visible;opacity:1;background-color:#5d72c3}#photos .photo a.upload.uploading .status:before{content:"\F019"}#photos .photo a.upload.resizing{cursor:default!important}#photos .photo a.upload.resizing .status{visibility:visible;opacity:1;background-color:#e4c452}#photos .photo a.upload.resizing .status:before{color:#fff;content:"\F065"}#photos .photo a.upload.success{cursor:default!important}#photos .photo a.upload.success .status{visibility:visible;opacity:1;width:70px;height:70px;line-height:70px;background-color:#63d875;-webkit-border-radius:100%;border-radius:100%}#photos .photo a.upload.success .status:before{content:"\F00C";color:#fff}#photos .photo a.upload.success img{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}#photos .photo a.upload.errors{cursor:help!important}#photos .photo a.upload.errors .status{visibility:visible;opacity:1;width:60px;height:60px;line-height:60px;background-color:#df3333;-webkit-border-radius:100%;border-radius:100%}#photos .photo a.upload.errors .status:before{content:"\F12A";color:#fff;opacity:.8}#photos .photo.uploaded a.upload img{opacity:.25!important}#photos .photo.in-progress a.upload img,#photos .photo:hover a.upload img{opacity:.6;-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}#photos .photo.in-progress .options,#photos .photo:hover .options{opacity:1;visibility:visible}#photos .photo.in-progress .options i.heart-like,#photos .photo:hover .options i.heart-like{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .photo.in-progress .user-controls,#photos .photo:hover .user-controls{opacity:1}#photos .photo.in-progress .notice-msg{top:0;opacity:1}#photos .photo.in-progress .user-controls{opacity:0}#photos .photo .options{position:absolute;top:5px;right:5px;z-index:6;display:inline-block;width:auto;cursor:default!important;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;opacity:0;visibility:hidden;font-size:13px}#photos .photo .options i{font-size:14px}#photos .photo .options i.heart-like{color:#d13714;-webkit-transition:all .25s ease .05s;-o-transition:all .25s ease .05s;transition:all .25s ease .05s;-webkit-transform:scale(.55);-ms-transform:scale(.55);transform:scale(.55);margin-right:1px;position:relative;left:-1px;top:0;font-size:14px;opacity:.9}#photos .photo .options a,#photos .photo .options span{display:inline-block;vertical-align:top;line-height:30px;padding:0 10px;padding-top:1px;background:hsla(0,0%,100%,.5);margin:0;-webkit-border-radius:2px 0 0 2px;border-radius:2px 0 0 2px;color:#23282d;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .options span{cursor:default}#photos .photo .options span:focus,#photos .photo .options span:hover{background-color:#fff}#photos .photo .options a{margin-left:1px;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0}#photos .photo .options a:focus,#photos .photo .options a:hover{background-color:#fff}#photos .photo .options a i{position:relative;top:1px;left:1px}#photos .photo .user-controls{position:absolute;z-index:6;bottom:0;left:0;width:100%;background:rgba(0,0,0,.45);padding:0;opacity:.4;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .photo-options{float:right;text-align:right;max-width:50%}#photos .photo .fade{-webkit-transition:all .35s ease;-o-transition:all .35s ease;transition:all .35s ease;color:#fff;background:hsla(0,0%,100%,.75);background:transparent;-webkit-border-radius:1px;border-radius:1px;height:34px;line-height:34px;font-size:17px;z-index:6;float:left;margin:1px 1px 1px 0;padding:0;color:hsla(0,0%,100%,.75)}#photos .photo .fade.edit-photo,#photos .photo .fade.edit-photo-admin,#photos .photo .fade.insert,#photos .photo .fade.set-featured{width:auto;display:inline-block;width:34px;text-align:center}#photos .photo .fade.edit-photo-admin i,#photos .photo .fade.edit-photo i,#photos .photo .fade.insert i,#photos .photo .fade.set-featured i{line-height:27px;position:relative;left:1px;top:1px}#photos .photo .fade.edit-photo-admin:focus,#photos .photo .fade.edit-photo-admin:hover,#photos .photo .fade.edit-photo:focus,#photos .photo .fade.edit-photo:hover,#photos .photo .fade.insert:focus,#photos .photo .fade.insert:hover,#photos .photo .fade.set-featured:focus,#photos .photo .fade.set-featured:hover{color:#222;background:hsla(0,0%,100%,.95)}#photos .photo .fade.set-featured i{top:0;left:0}#photos .photo .fade.edit-photo-admin{display:none}#photos .photo .fade.edit-photo-admin i,#photos .photo .fade.edit-photo i{left:0;top:0}#photos .photo .fade.user{background:none;font-size:13px;max-width:48%;cursor:pointer;text-decoration:none;border:none;line-height:35px;height:36px;margin:0}#photos .photo .fade.user:focus,#photos .photo .fade.user:hover{text-decoration:underline}#photos .photo .fade.user .user-wrap{position:relative;padding-left:35px;display:block;width:100%;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#photos .photo .fade.user img{width:20px;max-width:20px;-webkit-border-radius:100%;border-radius:100%;position:absolute;left:8px;top:8px}#photos .photo .notice-msg{position:absolute;z-index:999;top:-40px;left:0;height:40px;line-height:40px;width:100%;background:rgba(0,0,0,.6);text-align:center;color:#e0e4f5;font-size:13px;margin:0;padding:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:0;z-index:9999}#photos .edit-screen{position:absolute;left:0;top:0;width:100%;height:100%;z-index:999;background:hsla(0,0%,100%,.9);opacity:0;visibility:hidden;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;padding:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1e1e1;-webkit-transform:scale(1.025);-ms-transform:scale(1.025);transform:scale(1.025)}#photos .edit-screen.editing{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .edit-screen--controls,#photos .edit-screen--title{display:block;background:#f7f7f7;border:1px solid #e1e1e1;padding:15px;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}#photos .edit-screen--controls .button-primary,#photos .edit-screen--title .button-primary{float:right}#photos .edit-screen--controls{-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}#photos .edit-screen--title{border-bottom:none}#photos .edit-screen--title p{font-size:12px;line-height:1.25;margin:0;color:#999}#photos .edit-screen--title p.heading{color:#222;margin:0 0 5px;font-weight:600;text-transform:uppercase}#photos .edit-screen label{margin:0;padding:15px;display:block;background:#fff;border:1px solid #e1e1e1;border-bottom:none;-webkit-border-radius:2px;border-radius:2px;position:relative}#photos .edit-screen span{display:block;font-size:11px;text-transform:uppercase;font-weight:600;margin:0 0 5px;color:#222;line-height:1}#photos .edit-screen textarea{resize:none}#photos .edit-screen input{font-size:12px;padding:0 5px;margin:0;height:30px;line-height:30px}#photos .edit-screen em{position:absolute;bottom:15px;right:15px;height:30px;line-height:30px;background:#777;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;color:#e1e1e1;font-style:normal;font-size:11px;padding:0 10px}.instant-images-settings{display:none;background-color:#efefef;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar{padding:20px 25px;overflow:hidden}.instant-images-settings .cnkt-sidebar .cta{float:left;width:50%}@media screen and (max-width:800px){.instant-images-settings .cnkt-sidebar .cta{float:none!important;width:100%!important}}.instant-images-settings .cnkt-sidebar .cta.ii-settings{width:31.333%}.instant-images-settings .cnkt-sidebar .cta.ii-plugins{width:68.666%;width:-webkit-calc(68.666% - 25px);width:calc(68.666% - 25px);float:right}.instant-images-settings .cnkt-sidebar .cta h2{border:none;padding:17px 20px 3px;font-size:16px}.instant-images-settings .cnkt-sidebar .cta h2.w-border{border-top:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta h2+p{padding:0 20px 15px;margin:0!important;border-bottom:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta h2,.instant-images-settings .cnkt-sidebar .cta h2+p{background:#f7f7f7;margin:0}.instant-images-settings .cnkt-sidebar .cta ul.whats-new{list-style:disc;padding:0 0 10px 20px}.instant-images-settings .cnkt-sidebar .cta ul.whats-new li{margin:10px 0 0}.instant-images-settings .cnkt-sidebar .cta ul.whats-new li pre{display:inline-block;margin:0;padding:3px;background:#f7f7f7;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 0 1px #efefef;box-shadow:0 0 0 1px #efefef}.instant-images-settings .cnkt-sidebar .cta{background:#fff;padding:0 0 20px;margin:0 0 20px;overflow:hidden;position:relative;border:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta.padding-bottom{padding-bottom:66px}.instant-images-settings .cnkt-sidebar .cnkt-sidebar h3,.instant-images-settings .cnkt-sidebar .cnkt-sidebar h4{margin-top:0}.instant-images-settings .cnkt-sidebar .cta-wrap{display:block;padding:10px 20px}.instant-images-settings .cnkt-sidebar .cta-wrap h4{padding:10px 0 7px;margin:0}.instant-images-settings .cnkt-sidebar .cta-wrap h4 span{display:inline-block;line-height:1;padding:8px 10px;-webkit-border-radius:2px;border-radius:2px;background:#ffc;color:#666}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:48%;margin:2% 1% 0}@media screen and (max-width:1170px){.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:100%;margin:2% 0 0}}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2{border:none;padding:0;font-size:16px}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{padding:0;margin:0!important;border-bottom:none}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2,.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{background:none;margin:0}.instant-images-settings table{margin-top:5px}.instant-img-container[data-media-popup=true]{background:#fff}.instant-img-container[data-media-popup=true] .header-wrap{display:none}.instant-img-container[data-media-popup=true] .instant-images-wrapper{padding:0 16px}.instant-images-sidebar-icon,.instant-images-sidebar-icon svg{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.instant-images-sidebar-icon svg{height:20px;width:20px}.instant-images-sidebar-icon svg,.instant-images-sidebar-icon svg *{stroke:#5d72c3!important;fill:#5d72c3!important}.components-panel .instant-img-container .load-more-wrap{display:block}.components-panel .no-results{padding:40px}.components-panel .no-results h3{font-size:18px}.components-panel .no-results p{font-size:13px}.components-panel #photos{width:100%;margin:0;padding:5px}.components-panel #photos .photo{width:100%;display:block;opacity:1!important;margin:0 0 5px;padding:0}.components-panel .control-nav{padding:0 16px 8px;border-bottom:1px solid #e2e4e7}.components-panel .control-nav li{font-size:13px}.components-panel .control-nav li a{padding:16px 24px 16px 0;height:auto;line-height:1.2}.components-panel .control-nav li.search-field{float:none;width:100%;padding:0;clear:both}.components-panel .control-nav li.search-field form{height:auto;width:-webkit-calc(100% + 16px);width:calc(100% + 16px);margin-left:-8px}.components-panel .control-nav li.search-field:before{content:"";display:table;clear:both}.components-panel .control-nav li.search-field input{line-height:36px;height:36px;padding-right:8px;padding-left:30px;-webkit-border-radius:0;border-radius:0;border-color:#e2e4e7;font-size:13px;-webkit-border-radius:3px!important;border-radius:3px!important}.components-panel .control-nav li.search-field input.searching{padding-left:30px;background-position:95%}.components-panel .control-nav li.search-field button{position:absolute;right:auto;top:0;width:40px;height:36px;padding:0;margin:0}.components-panel .control-nav li.search-field .searchResults{right:1px;left:auto;top:1px}.components-panel .control-nav li.search-field .searchResults:after,.components-panel .control-nav li.search-field .searchResults:before,.no-results{display:none}.no-results{padding:150px 100px;text-align:center}.no-results.show{display:block}.no-results h3{font-size:24px;line-height:29px;margin:0 0 10px}.no-results p{font-size:16px;margin:0}@media screen and (max-width:800px){.no-results{padding:50px}}.orientation-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;padding:7px 0;margin:0 0 10px;border-top:1px solid #efefef;border-bottom:1px solid #efefef;position:relative;top:-7px}.orientation-list span{opacity:.5;margin:0 10px 0 0;font-size:13px}.orientation-list ul{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.orientation-list ul li{margin:0 1px 0 0;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;padding:4px 6px;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;border:1px solid transparent;color:#999;font-size:13px}.orientation-list ul li:hover{color:#111}.orientation-list ul li:focus{border-color:#5d72c3;color:#111;outline:none}.orientation-list ul li.active{background-color:#5d72c3;border-color:#5d72c3;color:#fff;outline:none}.components-panel .orientation-list{position:static;text-align:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:none;background:#f7f7f7;margin-bottom:10px}.components-panel .orientation-list span{display:none}.components-panel .orientation-list ul{padding:0;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}
|
1 |
+
@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);html{overflow-y:scroll}body.media_page_instant-images{background:#fff}body.media_page_instant-images #wpcontent{padding-left:0;padding-bottom:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpcontent{padding-bottom:0}}body.media_page_instant-images #wpbody-content{padding-bottom:0}body.media_page_instant-images #wpfooter{padding-top:0;padding-bottom:0;line-height:40px;background:#f7f7f7;border-top:1px solid #efefef;position:fixed;bottom:0;z-index:1100}body.media_page_instant-images #wpfooter p{line-height:40px}@media screen and (max-width:800px){body.media_page_instant-images #wpfooter{display:none}}.instant-img-container{font-size:14px;color:#666;position:relative}.instant-img-container .offscreen{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.instant-img-container *{-webkit-box-sizing:border-box;box-sizing:border-box}.instant-img-container a{color:#5d72c3;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease}.instant-img-container a:hover{color:#5568ae;text-decoration:none}.instant-img-container img{max-width:100%}.instant-img-container p{color:#666;width:100%;display:block;clear:both;text-transform:none;padding:0;margin:0 0 15px;font-size:14px}.instant-img-container.loading .loading-block{display:block}.instant-img-container .error-messaging{display:none}.instant-img-container .error-messaging.active{padding:17px 17px 17px 57px;-webkit-border-radius:3px;border-radius:3px;background:#df3333;color:#fff;font-size:13px;margin-bottom:25px;display:block;position:relative}.instant-img-container .error-messaging.active:before{font-family:FontAwesome;content:"\F06A";display:block;left:17px;top:50%;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);position:absolute;font-size:30px;opacity:.75}.instant-img-container .header-wrap{background:#f7f7f7 url(../img/logo-48x48.png) no-repeat 25px 20px;padding:20px 25px 20px 83px;min-height:88px;overflow:hidden;border-bottom:1px solid #efefef;position:relative}@media screen and (max-width:800px){.instant-img-container .header-wrap{background-position:center 20px;padding:80px 25px 20px;text-align:center}}.instant-img-container .header-wrap h1{padding:0;margin:4px 0 0;font-weight:700;font-size:26px;max-width:70%}@media screen and (max-width:800px){.instant-img-container .header-wrap h1{max-width:100%;width:100%;text-align:center}}.instant-img-container .header-wrap h1 span{display:block;padding:8px 0 0;color:#888;font-size:15px;font-weight:400}.instant-img-container .header-wrap button{position:absolute;right:25px;bottom:26px}@media screen and (max-width:800px){.instant-img-container .header-wrap button{position:static;margin-top:20px;display:inline-block}}.instant-img-container .header-wrap button i{margin-right:2px}.instant-img-container .instant-images-wrapper{padding:0 25px;display:block;overflow:hidden;min-height:400px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .instant-images-wrapper.loaded{background:none}.instant-img-container .permissions-warning{padding:0 25px}.instant-img-container .permissions-warning .inner{border-bottom:1px solid #efefef;padding:32px 0}.instant-img-container .permissions-warning input{max-width:500px}.instant-img-container .permissions-warning h3{font-size:22px;margin:0 0 15px}.instant-img-container .permissions-warning h3 i{margin:0 2px 0 0;position:relative}.instant-img-container .permissions-warning p:first-of-type{font-size:18px;margin:0 0 2px}.instant-img-container .loading-block{display:none;padding:50px;background:url(../img/ajax-loader-lg.gif) no-repeat 50%}.instant-img-container .load-more-wrap{margin:1% 0 0;padding:25px 0;text-align:center;display:none;border-top:1px solid #efefef}.instant-img-container .load-more-wrap button{display:inline-block;margin:0;padding:12px 15px;font-size:15px;font-weight:600;-webkit-transition:all .1s ease;-o-transition:all .1s ease;transition:all .1s ease;height:auto;line-height:1;cursor:pointer;background-image:none;background-repeat:no-repeat!important;background-position:15px!important}.instant-img-container .load-more-wrap button.disabled{opacity:.3;cursor:default}.instant-img-container .cnkt-main{width:100%;float:none;background:none!important;position:relative}.instant-img-container h2,.instant-img-container h3,.instant-img-container h4{margin-top:0}.instant-img-container .save-settings p.submit{float:left;margin:0 2px 0 0;width:auto}.instant-img-container .save-settings .loading{width:46px;height:28px;display:none;float:left;background:#fff url(../img/ajax-loader.gif) no-repeat 50%}#TB_ajaxContent{clear:both;line-height:1.4em;overflow:auto;text-align:left;width:100%!important;-webkit-box-sizing:border-box;box-sizing:border-box;padding:15px!important}.cnkt-sidebar .form-table{margin:0;border:none}.cnkt-sidebar .form-table label,.cnkt-sidebar .form-table p,.cnkt-sidebar .form-table td{font-size:13px}.cnkt-sidebar .form-table label{display:block;clear:both;float:none}.cnkt-sidebar .form-table label span{opacity:.8;font-size:13px;font-style:italic}.cnkt-sidebar .form-table th{display:none}.instant-img-container .form-table td{border-top:0;padding:5px 0 20px;float:left;width:100%;margin:0}.instant-img-container .form-table tr:first-of-type td{padding:10px 0}.cnkt-main .form-msg,.cnkt-sidebar .form-table .form-msg{display:block;line-height:18px;padding:12px 12px 12px 15px;margin:15px 0 0;color:#666;background-color:#fff9ea;border-left:5px solid #dfd8c2;-webkit-border-radius:2px;border-radius:2px}.cnkt-main .form-msg span,.cnkt-sidebar .form-table .form-msg span{display:block;padding:6px 0 3px}.instant-img-container h1,.instant-img-container h3,.instant-img-container h4{color:#222;margin-top:0}.instant-img-container h4+p{margin-top:-6px}.instant-img-container p.small{font-size:12px;margin-top:-10px;opacity:.7}.instant-img-container ul{padding:0;margin:0;list-style:none}.instant-img-container input,.instant-img-container label,.instant-img-container select,.instant-img-container textarea{-webkit-box-shadow:none;box-shadow:none}.instant-img-container label{padding:5px 0}#unsplash-form-options h2,#unsplash-form-options p.desc{display:none}.instant-img-container input[type=number],.instant-img-container input[type=text],.instant-img-container textarea{padding:10px;line-height:1;border:1px solid #ccc;background:#f7f7f7;width:100%;-webkit-border-radius:2px;border-radius:2px;height:auto}.instant-img-container input[type=text]:focus,.instant-img-container textarea:focus{border-color:#999;-webkit-box-shadow:0 0 3px #ccc;box-shadow:0 0 3px #ccc;background:#efefef}.spacer{display:block;height:40px;overflow:hidden;clear:both;width:100%}.spacer.sm{height:20px}input:-webkit-autofill{-webkit-box-shadow:0 0 0 1000px #fff inset}.instant-img-container .control-nav{display:block;margin:0;padding:25px 0;list-style:none}.instant-img-container .control-nav:after{content:"";display:table;clear:both}.instant-img-container .control-nav li{padding:0;margin:0 3px 0 0;float:left;background:none;font-size:18px;position:relative}.instant-img-container .control-nav li button{padding:0 24px 0 2px;height:48px;line-height:48px;display:block;color:#999;text-decoration:none;-webkit-box-shadow:none;box-shadow:none;background-color:transparent;background-position:96%;background-repeat:no-repeat;border:none;cursor:pointer}.instant-img-container .control-nav li button:focus,.instant-img-container .control-nav li button:hover{color:#111;outline:none;-webkit-box-shadow:none;box-shadow:none}.instant-img-container .control-nav li button:focus{text-decoration:underline}.instant-img-container .control-nav li button.active{color:#333;cursor:default;font-weight:600}.instant-img-container .control-nav li button.loading{background-image:url(../img/ajax-loader.gif)}@media screen and (max-width:800px){.instant-img-container .control-nav li{font-size:16px;margin:0}.instant-img-container .control-nav li button{padding-left:3px}}@media screen and (max-width:600px){.instant-img-container .control-nav li{width:33.333%;text-align:center;margin:0;padding-bottom:15px}}.instant-img-container .control-nav li.search-field{float:right;width:49%;margin:0;max-width:500px}@media screen and (max-width:600px){.instant-img-container .control-nav li.search-field{width:100%;display:block;position:static;padding-bottom:15px;text-align:left;max-width:100%}}.instant-img-container .control-nav li.search-field .searchResults{position:absolute;right:100.5%;top:7px;width:auto;height:34px;line-height:34px;padding:0 30px 0 10px;background:#ffffbf;border:1px solid #ebebae;-webkit-border-radius:3px;border-radius:3px;z-index:99;font-size:13px;font-weight:600;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;color:#444;text-shadow:0 1px 1px hsla(0,0%,100%,.3);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.05);box-shadow:0 2px 3px rgba(0,0,0,.05)}.instant-img-container .control-nav li.search-field .searchResults span{cursor:help}.instant-img-container .control-nav li.search-field .searchResults a,.instant-img-container .control-nav li.search-field .searchResults span{line-height:34px}.instant-img-container .control-nav li.search-field .searchResults button{padding:0 10px;height:32px;line-height:32px;width:30px;position:absolute;left:auto;right:0;top:0}.instant-img-container .control-nav li.search-field .searchResults:after,.instant-img-container .control-nav li.search-field .searchResults:before{left:100%;top:50%;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;z-index:100}.instant-img-container .control-nav li.search-field .searchResults:after{border-color:hsla(62,46%,78%,0);border-left-color:#ffffbf;border-width:6px;margin-top:-6px}.instant-img-container .control-nav li.search-field .searchResults:before{border-color:transparent;border-left-color:#ebebae;border-width:7px;margin-top:-7px}.instant-img-container .control-nav li.search-field .searchResults.hide{opacity:0;visibility:hidden}.instant-img-container .control-nav li.search-field form{padding:0 1px 0 0;margin:0;position:relative;height:48px;display:block}.instant-img-container .control-nav li.search-field form:hover button{opacity:1}.instant-img-container .control-nav li.search-field input{width:100%;padding:0 10px 0 42px;border:1px solid #e1e1e1;background-color:#f7f7f7!important;height:46px;line-height:46px;-webkit-border-radius:3px;border-radius:3px;font-size:16px;-webkit-transition:padding .15s ease;-o-transition:padding .15s ease;transition:padding .15s ease}.instant-img-container .control-nav li.search-field input:focus{border-color:#999;-webkit-box-shadow:0 0 0 4px rgba(0,0,0,.075);box-shadow:0 0 0 4px rgba(0,0,0,.075)}.instant-img-container .control-nav li.search-field input.searching{padding-left:62px;background-image:url(../img/ajax-loader.gif);background-position:37px;background-repeat:no-repeat}.instant-img-container .control-nav li.search-field button{position:absolute;left:-2px;top:-1px;width:48px;height:48px;z-index:1;border:none!important;background:transparent!important;cursor:pointer;color:#666;-webkit-box-shadow:none!important;box-shadow:none!important;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;opacity:.5;margin:0;padding:0}.instant-img-container .control-nav li.search-field button:focus,.instant-img-container .control-nav li.search-field button:hover{outline:none;color:#5d72c3}.instant-img-container .control-nav li.search-field input[type=search]::-webkit-input-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}.instant-img-container .control-nav li.search-field input[type=search]:-moz-placeholder,.instant-img-container .control-nav li.search-field input[type=search]::-moz-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}.instant-img-container .control-nav li.search-field input[type=search]:-ms-input-placeholder{color:#ccc;font-weight:300;font-style:normal;font-size:14px}#photos{width:100%;width:-webkit-calc(100% + 10px);width:calc(100% + 10px);margin:0 0 0 -5px;padding:0;position:relative}#photos .photo{width:20%;margin:0;padding:0 5px 10px;opacity:0;-webkit-transition:opacity .3s ease;-o-transition:opacity .3s ease;transition:opacity .3s ease}#photos .photo--wrap{position:relative}#photos .photo.in-view{opacity:1}#photos .photo.in-progress .fade{opacity:0!important;visibility:hidden!important}#photos .photo .img-wrap{display:block;overflow:hidden;position:relative}@media screen and (min-width:2000px){#photos .photo{width:20%}}@media screen and (max-width:1570px){#photos .photo{width:25%}}@media screen and (max-width:1270px){#photos .photo{width:33.333333%}}@media screen and (max-width:800px){#photos .photo{width:50%}}@media screen and (max-width:600px){#photos .photo{width:100%;margin:0 0 2%}}#photos .photo:focus a.upload img{opacity:.6}#photos .photo:focus .fade{opacity:1;visibility:visible}#photos .photo:focus .fade.user{opacity:.7}#photos .photo:focus-within .user-controls{opacity:1}#photos .photo a.upload{display:block;position:relative;background-color:#222;background-position:50%;background-repeat:no-repeat;background-image:url(../img/ajax-loader.gif);overflow:hidden}#photos .photo a.upload.loaded{background-image:none}#photos .photo a.upload:active,#photos .photo a.upload:focus{outline:none;border:none}#photos .photo a.upload img{-webkit-transition:all .5s ease;-o-transition:all .5s ease;transition:all .5s ease;width:100%;height:auto!important;padding:0;vertical-align:top}#photos .photo a.upload .status{visibility:hidden;opacity:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;width:60px;height:60px;line-height:60px;-webkit-border-radius:4px;border-radius:4px;position:absolute;left:50%;top:50%;z-index:5;-webkit-transform:translate(-50%,-50%) scale(1.2);-ms-transform:translate(-50%,-50%) scale(1.2);transform:translate(-50%,-50%) scale(1.2);-webkit-box-shadow:0 2px 3px rgba(0,0,0,.25);box-shadow:0 2px 3px rgba(0,0,0,.25);background-position:50%;background-repeat:no-repeat}#photos .photo a.upload .status:before{font-family:FontAwesome;display:block;color:#fff;font-size:24px;opacity:.8}#photos .photo a.upload .status a{color:#fff}#photos .photo a.upload.errors .status,#photos .photo a.upload.success .status,#photos .photo a.upload.uploading .status{text-align:center;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(1);-ms-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}#photos .photo a.upload.uploading{cursor:default!important}#photos .photo a.upload.uploading .status{visibility:visible;opacity:1;background:hsla(0,0%,100%,.95) url(../img/ajax-loader-lg.gif) no-repeat 50%;-webkit-background-size:24px 24px;background-size:24px 24px}#photos .photo a.upload.uploading .status:before{display:none}#photos .photo a.upload.success{cursor:default!important}#photos .photo a.upload.success .status{visibility:visible;opacity:1;background-color:#63d875}#photos .photo a.upload.success .status:before{content:"\F00C";color:#fff}#photos .photo a.upload.success img{-webkit-transform:scale(1)!important;-ms-transform:scale(1)!important;transform:scale(1)!important}#photos .photo a.upload.errors{cursor:help!important}#photos .photo a.upload.errors .status{visibility:visible;opacity:1;background-color:#df3333}#photos .photo a.upload.errors .status:before{content:"\F12A";color:#fff;opacity:.8}#photos .photo.uploaded a.upload img{opacity:.25!important}#photos .photo.uploaded .user-controls{opacity:.5}#photos .photo.in-progress a.upload img,#photos .photo:hover a.upload img{opacity:.7;-webkit-transform:scale(1.075);-ms-transform:scale(1.075);transform:scale(1.075)}#photos .photo.in-progress .options,#photos .photo:hover .options{opacity:1;visibility:visible}#photos .photo.in-progress .options i.heart-like,#photos .photo:hover .options i.heart-like{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .photo.in-progress .user-controls,#photos .photo:hover .user-controls{opacity:1}#photos .photo.in-progress .notice-msg{top:0;opacity:1}#photos .photo.in-progress .options,#photos .photo.in-progress .user-controls{opacity:0!important}#photos .photo .options{position:absolute;top:5px;right:5px;z-index:6;display:inline-block;width:auto;cursor:default!important;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease;opacity:0;visibility:hidden;font-size:13px}#photos .photo .options i{font-size:14px}#photos .photo .options i.heart-like{color:#d13714;-webkit-transition:all .25s ease .05s;-o-transition:all .25s ease .05s;transition:all .25s ease .05s;-webkit-transform:scale(.55);-ms-transform:scale(.55);transform:scale(.55);margin-right:2px;position:relative;top:0;font-size:14px;opacity:.9}#photos .photo .options a,#photos .photo .options span{display:inline-block;vertical-align:top;line-height:30px;padding:0 10px;padding-top:1px;background:hsla(0,0%,100%,.5);margin:0;-webkit-border-radius:2px;border-radius:2px;color:#23282d;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .options span{cursor:default}#photos .photo .options span:focus,#photos .photo .options span:hover{background-color:#fff}#photos .photo .options a{margin-left:2px}#photos .photo .options a:focus,#photos .photo .options a:hover{background-color:#fff}#photos .photo .options a i{position:relative;top:1px;left:1px}#photos .photo .user-controls{position:absolute;z-index:6;bottom:0;left:0;width:100%;background:rgba(0,0,0,.4);padding:0;opacity:.35;-webkit-transition:all .3s ease;-o-transition:all .3s ease;transition:all .3s ease}#photos .photo .photo-options{float:right;text-align:right;max-width:50%}#photos .photo .fade{-webkit-transition:all .35s ease;-o-transition:all .35s ease;transition:all .35s ease;color:#fff;background:hsla(0,0%,100%,.75);background:transparent;-webkit-border-radius:2px;border-radius:2px;height:34px;line-height:34px;font-size:17px;z-index:6;float:left;margin:1px 1px 1px 0;padding:0;color:hsla(0,0%,100%,.75);border:none!important;outline:none;cursor:pointer}#photos .photo .fade.edit-photo,#photos .photo .fade.edit-photo-admin,#photos .photo .fade.insert,#photos .photo .fade.set-featured{display:inline-block;width:34px;text-align:center;position:relative}#photos .photo .fade.edit-photo-admin i,#photos .photo .fade.edit-photo i,#photos .photo .fade.insert i,#photos .photo .fade.set-featured i{line-height:27px;position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}#photos .photo .fade.edit-photo-admin:focus,#photos .photo .fade.edit-photo-admin:hover,#photos .photo .fade.edit-photo:focus,#photos .photo .fade.edit-photo:hover,#photos .photo .fade.insert:focus,#photos .photo .fade.insert:hover,#photos .photo .fade.set-featured:focus,#photos .photo .fade.set-featured:hover{color:#222;background:hsla(0,0%,100%,.95)}#photos .photo .fade.edit-photo-admin{display:none}#photos .photo .fade.user{background:none;font-size:13px;max-width:48%;cursor:pointer;text-decoration:none;border:none;line-height:35px;height:36px;margin:0}#photos .photo .fade.user:focus,#photos .photo .fade.user:hover{text-decoration:underline}#photos .photo .fade.user .user-wrap{position:relative;padding-left:35px;display:block;width:100%;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}#photos .photo .fade.user img{width:20px;max-width:20px;-webkit-border-radius:100%;border-radius:100%;position:absolute;left:8px;top:8px}#photos .photo .notice-msg{position:absolute;z-index:999;top:-40px;left:0;height:40px;line-height:40px;width:100%;background:rgba(0,0,0,.6);text-align:center;color:hsla(0,0%,100%,.9);font-size:12px;margin:0;padding:0;-webkit-transition:all .25s ease-in-out;-o-transition:all .25s ease-in-out;transition:all .25s ease-in-out;opacity:0;z-index:9999}#photos .photo .notice-msg.has-error{top:-40px;opacity:0}#photos .edit-screen{position:absolute;left:0;top:0;width:100%;height:100%;z-index:999;background:hsla(0,0%,100%,.9);opacity:0;visibility:hidden;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;padding:8px;overflow-y:auto;-webkit-overflow-scrolling:touch;border:1px solid #e1e1e1;-webkit-transform:scale(1.025);-ms-transform:scale(1.025);transform:scale(1.025)}#photos .edit-screen.editing{visibility:visible;opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}#photos .edit-screen--controls,#photos .edit-screen--title{display:block;background:#f7f7f7;border:1px solid #e1e1e1;padding:15px;-webkit-border-radius:2px 2px 0 0;border-radius:2px 2px 0 0}#photos .edit-screen--controls .button-primary,#photos .edit-screen--title .button-primary{float:right}#photos .edit-screen--controls{-webkit-border-radius:0 0 2px 2px;border-radius:0 0 2px 2px}#photos .edit-screen--title{border-bottom:none}#photos .edit-screen--title p{font-size:12px;line-height:1.25;margin:0;color:#999}#photos .edit-screen--title p.heading{color:#222;margin:0 0 5px;font-weight:600;text-transform:uppercase}#photos .edit-screen label{margin:0;padding:15px;display:block;background:#fff;border:1px solid #e1e1e1;border-bottom:none;-webkit-border-radius:2px;border-radius:2px;position:relative}#photos .edit-screen span{display:block;font-size:11px;text-transform:uppercase;font-weight:600;margin:0 0 5px;color:#222;line-height:1}#photos .edit-screen textarea{resize:none}#photos .edit-screen input{font-size:12px;padding:0 5px;margin:0;height:30px;line-height:30px}#photos .edit-screen em{position:absolute;bottom:15px;right:15px;height:30px;line-height:30px;background:#777;-webkit-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;color:#e1e1e1;font-style:normal;font-size:11px;padding:0 10px}.instant-images-settings{display:none;background-color:#efefef;border-top:1px solid #e7e7e7;border-bottom:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar{padding:20px 25px;overflow:hidden}.instant-images-settings .cnkt-sidebar .cta{float:left;width:50%}@media screen and (max-width:800px){.instant-images-settings .cnkt-sidebar .cta{float:none!important;width:100%!important}}.instant-images-settings .cnkt-sidebar .cta.ii-settings{width:31.333%}.instant-images-settings .cnkt-sidebar .cta.ii-plugins{width:68.666%;width:-webkit-calc(68.666% - 25px);width:calc(68.666% - 25px);float:right}.instant-images-settings .cnkt-sidebar .cta h2{border:none;padding:17px 20px 3px;font-size:16px}.instant-images-settings .cnkt-sidebar .cta h2.w-border{border-top:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta h2+p{padding:0 20px 15px;margin:0!important;border-bottom:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta h2,.instant-images-settings .cnkt-sidebar .cta h2+p{background:#f7f7f7;margin:0}.instant-images-settings .cnkt-sidebar .cta ul.whats-new{list-style:disc;padding:0 0 10px 20px}.instant-images-settings .cnkt-sidebar .cta ul.whats-new li{margin:10px 0 0}.instant-images-settings .cnkt-sidebar .cta ul.whats-new li pre{display:inline-block;margin:0;padding:3px;background:#f7f7f7;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 0 0 1px #efefef;box-shadow:0 0 0 1px #efefef}.instant-images-settings .cnkt-sidebar .cta{background:#fff;padding:0 0 20px;margin:0 0 20px;overflow:hidden;position:relative;border:1px solid #e7e7e7}.instant-images-settings .cnkt-sidebar .cta.padding-bottom{padding-bottom:66px}.instant-images-settings .cnkt-sidebar .cnkt-sidebar h3,.instant-images-settings .cnkt-sidebar .cnkt-sidebar h4{margin-top:0}.instant-images-settings .cnkt-sidebar .cta-wrap{display:block;padding:10px 20px}.instant-images-settings .cnkt-sidebar .cta-wrap h4{padding:10px 0 7px;margin:0}.instant-images-settings .cnkt-sidebar .cta-wrap h4 span{display:inline-block;line-height:1;padding:8px 10px;-webkit-border-radius:2px;border-radius:2px;background:#ffc;color:#666}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:48%;margin:2% 1% 0}@media screen and (max-width:1170px){.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin{width:100%;margin:2% 0 0}}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2{border:none;padding:0;font-size:16px}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{padding:0;margin:0!important;border-bottom:none}.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2,.instant-images-settings .cnkt-sidebar .cnkt-plugin-installer .plugin h2+p{background:none;margin:0}.instant-images-settings table{margin-top:5px}.instant-img-container[data-media-popup=true]{background:#fff}.instant-img-container[data-media-popup=true] .header-wrap{display:none}.instant-img-container[data-media-popup=true] .instant-images-wrapper{padding:0 16px}.instant-images-sidebar-icon,.instant-images-sidebar-icon svg{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.instant-images-sidebar-icon svg{height:20px;width:20px}.instant-images-sidebar-icon svg,.instant-images-sidebar-icon svg *{stroke:#5d72c3!important;fill:#5d72c3!important}.components-panel .instant-img-container .load-more-wrap{display:block}.components-panel .no-results{padding:40px}.components-panel .no-results h3{font-size:18px}.components-panel .no-results p{font-size:13px}.components-panel #photos{width:100%;margin:0;padding:5px}.components-panel #photos .photo{width:100%;display:block;opacity:1!important;margin:0 0 5px;padding:0}.components-panel .control-nav{padding:0 16px 8px;border-bottom:1px solid #e2e4e7}.components-panel .control-nav li{font-size:13px}.components-panel .control-nav li a{padding:16px 24px 16px 0;height:auto;line-height:1.2}.components-panel .control-nav li.search-field{float:none;width:100%;padding:0;clear:both}.components-panel .control-nav li.search-field form{height:auto;width:-webkit-calc(100% + 16px);width:calc(100% + 16px);margin-left:-8px}.components-panel .control-nav li.search-field:before{content:"";display:table;clear:both}.components-panel .control-nav li.search-field input{line-height:36px;height:36px;padding-right:8px;padding-left:30px;-webkit-border-radius:0;border-radius:0;border-color:#e2e4e7;font-size:13px;-webkit-border-radius:3px!important;border-radius:3px!important}.components-panel .control-nav li.search-field input.searching{padding-left:30px;background-position:95%}.components-panel .control-nav li.search-field button{position:absolute;right:auto;top:0;width:40px;height:36px;line-height:36px;padding:0;margin:0}.components-panel .control-nav li.search-field .searchResults{right:1px;left:auto;top:1px}.components-panel .control-nav li.search-field .searchResults:after,.components-panel .control-nav li.search-field .searchResults:before{display:none}.media-frame-content .instant-img-container .load-more-wrap{display:block}#tooltip{display:inline-block;padding:8px 10px;background:#fff;position:fixed;left:auto;top:auto;z-index:999;display:block;opacity:0;visibility:hidden;margin-top:-37px;font-size:12px;color:#999;text-align:center;line-height:1;-webkit-border-radius:2px;border-radius:2px;-webkit-box-shadow:0 2px 3px rgba(0,0,0,.1);box-shadow:0 2px 3px rgba(0,0,0,.1);-webkit-transition:all .15s ease;-o-transition:all .15s ease;transition:all .15s ease}#tooltip:after{top:100%;right:17px;border:solid transparent;content:" ";height:0;width:0;position:absolute;pointer-events:none;border-color:hsla(0,0%,100%,0);border-top-color:#fff;border-width:5px;margin-left:-5px}#tooltip.over{opacity:.9;visibility:visible}#tooltip.above{margin-top:37px}#tooltip.above:after{top:-5px;border-top:none;border-bottom-color:#fff}.no-results{display:none;padding:150px 100px;text-align:center}.no-results.show{display:block}.no-results h3{font-size:24px;line-height:29px;margin:0 0 10px}.no-results p{font-size:16px;margin:0}@media screen and (max-width:800px){.no-results{padding:50px}}.orientation-list{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;width:100%;padding:7px 0;margin:0 0 10px;border-top:1px solid #efefef;border-bottom:1px solid #efefef;position:relative;top:-7px}.orientation-list span{opacity:.5;margin:0 10px 0 0;font-size:13px}.orientation-list ul{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.orientation-list ul li{margin:0 1px 0 0;-webkit-border-radius:3px;border-radius:3px;cursor:pointer;padding:4px 6px;-webkit-transition:all .25s ease;-o-transition:all .25s ease;transition:all .25s ease;border:1px solid transparent;color:#999;font-size:13px}.orientation-list ul li:hover{color:#111}.orientation-list ul li:focus{border-color:#5d72c3;color:#111;outline:none}.orientation-list ul li.active{background-color:#5d72c3;border-color:#5d72c3;color:#fff;outline:none}.components-panel .orientation-list{position:static;text-align:center;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;border-top:none;background:#f7f7f7;margin-bottom:10px}.components-panel .orientation-list span{display:none}.components-panel .orientation-list ul{padding:0;width:100%;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}
|
dist/img/ajax-loader-lg.gif
CHANGED
File without changes
|
dist/img/ajax-loader.gif
CHANGED
File without changes
|
dist/img/logo-48x48.png
CHANGED
File without changes
|
dist/js/instant-images-block.js
CHANGED
@@ -2694,6 +2694,68 @@ function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
|
|
2694 |
module.exports = factory;
|
2695 |
|
2696 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2697 |
/***/ }),
|
2698 |
|
2699 |
/***/ "./node_modules/ev-emitter/ev-emitter.js":
|
@@ -4092,6 +4154,463 @@ if (true) {
|
|
4092 |
|
4093 |
module.exports = warning;
|
4094 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4095 |
/***/ }),
|
4096 |
|
4097 |
/***/ "./node_modules/imagesloaded/imagesloaded.js":
|
@@ -4471,129 +4990,1853 @@ return ImagesLoaded;
|
|
4471 |
/*! no static exports found */
|
4472 |
/***/ (function(module, exports) {
|
4473 |
|
4474 |
-
/*!
|
4475 |
-
* Determine if an object is a Buffer
|
4476 |
-
*
|
4477 |
-
* @author Feross Aboukhadijeh <https://feross.org>
|
4478 |
-
* @license MIT
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4479 |
*/
|
|
|
|
|
|
|
|
|
|
|
4480 |
|
4481 |
-
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
4482 |
-
// Object.prototype.constructor. Remove this eventually
|
4483 |
-
module.exports = function (obj) {
|
4484 |
-
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
4485 |
-
}
|
4486 |
|
4487 |
-
|
4488 |
-
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
4489 |
-
}
|
4490 |
|
4491 |
-
|
4492 |
-
|
4493 |
-
|
4494 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4495 |
|
|
|
4496 |
|
4497 |
-
|
4498 |
|
4499 |
-
|
4500 |
-
|
4501 |
-
!*** ./node_modules/object-assign/index.js ***!
|
4502 |
-
\*********************************************/
|
4503 |
-
/*! no static exports found */
|
4504 |
-
/***/ (function(module, exports, __webpack_require__) {
|
4505 |
|
4506 |
-
|
4507 |
-
/*
|
4508 |
-
object-assign
|
4509 |
-
(c) Sindre Sorhus
|
4510 |
-
@license MIT
|
4511 |
-
*/
|
4512 |
|
|
|
4513 |
|
4514 |
-
|
4515 |
-
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
4516 |
-
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
4517 |
-
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
4518 |
|
4519 |
-
|
4520 |
-
|
4521 |
-
|
4522 |
-
|
4523 |
|
4524 |
-
|
4525 |
-
}
|
4526 |
|
4527 |
-
function
|
4528 |
-
|
4529 |
-
|
4530 |
-
|
4531 |
-
}
|
4532 |
|
4533 |
-
|
|
|
4534 |
|
4535 |
-
|
4536 |
-
|
4537 |
-
test1[5] = 'de';
|
4538 |
-
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
4539 |
-
return false;
|
4540 |
-
}
|
4541 |
|
4542 |
-
|
4543 |
-
var test2 = {};
|
4544 |
-
for (var i = 0; i < 10; i++) {
|
4545 |
-
test2['_' + String.fromCharCode(i)] = i;
|
4546 |
-
}
|
4547 |
-
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
4548 |
-
return test2[n];
|
4549 |
-
});
|
4550 |
-
if (order2.join('') !== '0123456789') {
|
4551 |
-
return false;
|
4552 |
-
}
|
4553 |
|
4554 |
-
|
4555 |
-
|
4556 |
-
|
4557 |
-
|
4558 |
-
|
4559 |
-
if (Object.keys(Object.assign({}, test3)).join('') !==
|
4560 |
-
'abcdefghijklmnopqrst') {
|
4561 |
-
return false;
|
4562 |
-
}
|
4563 |
|
4564 |
-
|
4565 |
-
|
4566 |
-
|
4567 |
-
|
4568 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4569 |
}
|
4570 |
|
4571 |
-
|
4572 |
-
var from;
|
4573 |
-
var to = toObject(target);
|
4574 |
-
var symbols;
|
4575 |
-
|
4576 |
-
for (var s = 1; s < arguments.length; s++) {
|
4577 |
-
from = Object(arguments[s]);
|
4578 |
|
4579 |
-
|
4580 |
-
|
4581 |
-
to[key] = from[key];
|
4582 |
-
}
|
4583 |
-
}
|
4584 |
|
4585 |
-
|
4586 |
-
symbols = getOwnPropertySymbols(from);
|
4587 |
-
for (var i = 0; i < symbols.length; i++) {
|
4588 |
-
if (propIsEnumerable.call(from, symbols[i])) {
|
4589 |
-
to[symbols[i]] = from[symbols[i]];
|
4590 |
-
}
|
4591 |
-
}
|
4592 |
-
}
|
4593 |
-
}
|
4594 |
|
4595 |
-
|
4596 |
-
};
|
4597 |
|
4598 |
|
4599 |
/***/ }),
|
@@ -25637,35 +27880,42 @@ var Photo = function (_React$Component) {
|
|
25637 |
function Photo(props) {
|
25638 |
_classCallCheck(this, Photo);
|
25639 |
|
|
|
|
|
25640 |
var _this = _possibleConstructorReturn(this, (Photo.__proto__ || Object.getPrototypeOf(Photo)).call(this, props));
|
25641 |
|
25642 |
_this.id = _this.props.result.id;
|
25643 |
_this.thumb = _this.props.result.urls.thumb;
|
25644 |
_this.img = _this.props.result.urls.small;
|
25645 |
-
|
|
|
25646 |
_this.author = _this.props.result.user.name;
|
25647 |
_this.img_title = instant_img_localize.photo_by + ' ' + _this.author;
|
25648 |
_this.filename = _this.props.result.id;
|
25649 |
_this.title = _this.img_title;
|
25650 |
-
_this.alt =
|
25651 |
_this.caption = '';
|
25652 |
_this.user = _this.props.result.user.username;
|
25653 |
_this.user_photo = _this.props.result.user.profile_image.small;
|
25654 |
_this.link = _this.props.result.links.html;
|
25655 |
_this.likes = _this.props.result.likes;
|
25656 |
_this.view_all = instant_img_localize.view_all;
|
25657 |
-
_this.like_text = instant_img_localize.likes;
|
25658 |
_this.inProgress = false;
|
25659 |
_this.container = document.querySelector('.instant-img-container');
|
|
|
|
|
25660 |
|
|
|
25661 |
_this.setAsFeaturedImage = false;
|
25662 |
_this.insertIntoPost = false;
|
25663 |
-
|
25664 |
-
// Gutenberg Editor
|
25665 |
_this.is_block_editor = _this.props.blockEditor;
|
25666 |
_this.SetFeaturedImage = _this.props.SetFeaturedImage;
|
25667 |
_this.InsertImage = _this.props.InsertImage;
|
25668 |
|
|
|
|
|
|
|
25669 |
// Photo state
|
25670 |
_this.state = {
|
25671 |
filename: _this.filename,
|
@@ -25678,20 +27928,20 @@ var Photo = function (_React$Component) {
|
|
25678 |
}
|
25679 |
|
25680 |
/*
|
25681 |
-
*
|
25682 |
-
* Function to trigger image
|
25683 |
*
|
25684 |
-
* @
|
25685 |
-
* @since 3.0
|
25686 |
*/
|
25687 |
|
25688 |
|
25689 |
_createClass(Photo, [{
|
25690 |
-
key: '
|
25691 |
-
value: function
|
25692 |
-
e.preventDefault();
|
25693 |
|
|
|
25694 |
var self = this;
|
|
|
25695 |
var target = e.currentTarget; // get current <a/>
|
25696 |
var photo = target.parentElement.parentElement.parentElement; // Get parent .photo el
|
25697 |
var notice = photo.querySelector('.notice-msg'); // Locate .notice-msg div
|
@@ -25701,153 +27951,98 @@ var Photo = function (_React$Component) {
|
|
25701 |
target = photo.querySelector('a.upload');
|
25702 |
}
|
25703 |
|
25704 |
-
if (target.classList.contains('success') || this.inProgress)
|
|
|
|
|
|
|
25705 |
|
25706 |
target.classList.add('uploading');
|
25707 |
photo.classList.add('in-progress');
|
25708 |
-
notice.innerHTML = instant_img_localize.saving;
|
25709 |
-
this.inProgress = true;
|
25710 |
|
25711 |
-
//
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25712 |
var data = {
|
25713 |
id: target.getAttribute('data-id'),
|
25714 |
-
|
25715 |
-
|
25716 |
-
|
25717 |
-
|
25718 |
-
|
25719 |
-
|
25720 |
-
|
25721 |
-
|
|
|
|
|
25722 |
headers: {
|
25723 |
'X-WP-Nonce': instant_img_localize.nonce,
|
25724 |
'Content-Type': 'application/json'
|
25725 |
-
},
|
25726 |
-
data: {
|
25727 |
-
'data': JSON.stringify(data)
|
25728 |
-
}
|
25729 |
-
}).then(function (res) {
|
25730 |
-
|
25731 |
-
var response = res.data;
|
25732 |
-
|
25733 |
-
if (response && res.status == 200) {
|
25734 |
-
|
25735 |
-
// Successful response from server
|
25736 |
-
var hasError = response.error;
|
25737 |
-
var path = response.path;
|
25738 |
-
var filename = response.filename;
|
25739 |
-
|
25740 |
-
if (hasError) {
|
25741 |
-
// Upload Error
|
25742 |
-
self.uploadError(target, photo, response.msg);
|
25743 |
-
} else {
|
25744 |
-
// Upload Success
|
25745 |
-
self.resizeImage(path, filename, target, photo, notice);
|
25746 |
-
self.triggerUnsplashDownload(data.id);
|
25747 |
-
}
|
25748 |
-
} else {
|
25749 |
-
|
25750 |
-
// Error
|
25751 |
-
self.uploadError(target, photo, instant_img_localize.error_upload);
|
25752 |
}
|
25753 |
-
}
|
25754 |
-
console.log(error);
|
25755 |
-
});
|
25756 |
-
}
|
25757 |
-
|
25758 |
-
/*
|
25759 |
-
* resizeImage
|
25760 |
-
* Function to trigger image resize
|
25761 |
-
*
|
25762 |
-
* @param path string full server path to image
|
25763 |
-
* @param filename string clicked item
|
25764 |
-
* @param target element clicked item
|
25765 |
-
* @param photo element Nearest parent .photo
|
25766 |
-
* @param notice string Text to be display
|
25767 |
-
* @since 3.0
|
25768 |
-
*/
|
25769 |
|
25770 |
-
|
25771 |
-
key: 'resizeImage',
|
25772 |
-
value: function resizeImage(path, filename, target, photo, notice) {
|
25773 |
-
|
25774 |
-
var self = this;
|
25775 |
-
|
25776 |
-
target.classList.remove('uploading');
|
25777 |
-
target.classList.add('resizing');
|
25778 |
-
notice.innerHTML = instant_img_localize.resizing;
|
25779 |
-
|
25780 |
-
// Create Data Array
|
25781 |
-
var data = { // store data in JSON to pass to XMLHttpRequest
|
25782 |
-
'path': path,
|
25783 |
-
'filename': filename,
|
25784 |
-
'custom_filename': target.getAttribute('data-filename'),
|
25785 |
-
'title': target.getAttribute('data-title'),
|
25786 |
-
'alt': target.getAttribute('data-alt'),
|
25787 |
-
'caption': target.getAttribute('data-caption')
|
25788 |
-
|
25789 |
-
// REST API URL
|
25790 |
-
};var url = instant_img_localize.root + 'instant-images/resize/';
|
25791 |
-
var msg = '';
|
25792 |
-
|
25793 |
-
(0, _axios2.default)({
|
25794 |
-
method: 'POST',
|
25795 |
-
url: url,
|
25796 |
-
headers: {
|
25797 |
-
'X-WP-Nonce': instant_img_localize.nonce,
|
25798 |
-
'Content-Type': 'application/json'
|
25799 |
-
},
|
25800 |
-
data: {
|
25801 |
-
'data': JSON.stringify(data)
|
25802 |
-
}
|
25803 |
-
}).then(function (res) {
|
25804 |
|
25805 |
var response = res.data;
|
25806 |
|
25807 |
-
if (response
|
25808 |
|
25809 |
// Successful response from server
|
25810 |
var success = response.success;
|
25811 |
-
var
|
25812 |
-
var
|
25813 |
var admin_url = response.admin_url;
|
25814 |
-
msg = response.msg;
|
25815 |
|
25816 |
if (success) {
|
25817 |
|
25818 |
// Edit URL
|
25819 |
-
var edit_url = admin_url + 'post.php?post=' +
|
25820 |
|
25821 |
// Success/Upload Complete
|
25822 |
-
self.uploadComplete(target, photo, msg, edit_url);
|
|
|
|
|
|
|
25823 |
|
25824 |
-
// Set
|
25825 |
-
if (self.
|
25826 |
-
self.SetFeaturedImage(
|
25827 |
self.setAsFeaturedImage = false;
|
|
|
25828 |
}
|
25829 |
|
25830 |
-
//
|
25831 |
-
if (self.
|
25832 |
-
if (
|
25833 |
-
self.InsertImage(
|
|
|
25834 |
}
|
25835 |
self.insertIntoPost = false;
|
25836 |
}
|
25837 |
|
25838 |
// If is media popup, redirect user to media-upload settings
|
25839 |
if (self.container.dataset.mediaPopup === 'true' && !self.is_block_editor) {
|
25840 |
-
window.location = 'media-upload.php?type=image&tab=library&attachment_id=' +
|
25841 |
}
|
25842 |
} else {
|
25843 |
-
|
25844 |
// Error
|
25845 |
-
self.uploadError(target, photo, msg);
|
25846 |
}
|
25847 |
} else {
|
25848 |
-
|
25849 |
// Error
|
25850 |
-
self.uploadError(target, photo, instant_img_localize.error_upload);
|
25851 |
}
|
25852 |
}).catch(function (error) {
|
25853 |
console.log(error);
|
@@ -25893,6 +28088,7 @@ var Photo = function (_React$Component) {
|
|
25893 |
return false;
|
25894 |
}
|
25895 |
|
|
|
25896 |
var parent = target.parentNode.parentNode.parentNode;
|
25897 |
var photo = parent.querySelector('a.upload');
|
25898 |
if (photo) {
|
@@ -25916,6 +28112,7 @@ var Photo = function (_React$Component) {
|
|
25916 |
return false;
|
25917 |
}
|
25918 |
|
|
|
25919 |
var parent = target.parentNode.parentNode.parentNode;
|
25920 |
var photo = parent.querySelector('a.upload');
|
25921 |
if (photo) {
|
@@ -25932,40 +28129,42 @@ var Photo = function (_React$Component) {
|
|
25932 |
* @param photo element Nearest parent .photo
|
25933 |
* @param msg string Success Msg
|
25934 |
* @param url string The attachment edit link
|
|
|
25935 |
* @since 3.0
|
25936 |
*/
|
25937 |
|
25938 |
}, {
|
25939 |
key: 'uploadComplete',
|
25940 |
-
value: function uploadComplete(target, photo, msg, url) {
|
25941 |
|
25942 |
this.setImageTitle(target, msg);
|
25943 |
|
25944 |
photo.classList.remove('in-progress');
|
25945 |
photo.classList.add('uploaded');
|
25946 |
|
25947 |
-
//window.location = url;
|
25948 |
-
|
25949 |
photo.querySelector('.edit-photo').style.display = 'none'; // Hide edit-photo button
|
25950 |
-
|
25951 |
photo.querySelector('.edit-photo-admin').style.display = 'inline-block'; // Show edit-photo-admin button
|
25952 |
photo.querySelector('.edit-photo-admin').href = url; // Add admin edit link
|
25953 |
photo.querySelector('.edit-photo-admin').target = '_balnk'; // Add new window
|
25954 |
|
|
|
|
|
|
|
|
|
|
|
|
|
25955 |
if (this.is_block_editor) {
|
25956 |
photo.querySelector('.insert').style.display = 'none'; // Hide insert button
|
25957 |
photo.querySelector('.set-featured').style.display = 'none'; // Hide set-featured button
|
25958 |
}
|
25959 |
|
25960 |
-
|
25961 |
-
|
25962 |
-
target.classList.add('success');
|
25963 |
-
|
25964 |
-
this.inProgress = false;
|
25965 |
|
|
|
|
|
25966 |
// Refresh Media Library contents on edit pages
|
25967 |
if (this.container.classList.contains('editor')) {
|
25968 |
-
//console.log(wp.media.frame.setState());
|
25969 |
if (typeof wp.media != 'undefined') {
|
25970 |
if (wp.media.frame.content.get() !== null) {
|
25971 |
wp.media.frame.content.get().collection.props.set({ ignore: +new Date() });
|
@@ -25977,24 +28176,64 @@ var Photo = function (_React$Component) {
|
|
25977 |
}
|
25978 |
}
|
25979 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
25980 |
/*
|
25981 |
* uploadError
|
25982 |
* Function runs when error occurs on upload or resize
|
25983 |
*
|
25984 |
* @param target element Current clicked item
|
25985 |
* @param photo element Nearest parent .photo
|
|
|
25986 |
* @param msg string Error Msg
|
25987 |
* @since 3.0
|
25988 |
*/
|
25989 |
|
25990 |
}, {
|
25991 |
key: 'uploadError',
|
25992 |
-
value: function uploadError(target, photo, msg) {
|
25993 |
target.classList.remove('uploading');
|
25994 |
target.classList.remove('resizing');
|
25995 |
target.classList.add('errors');
|
25996 |
this.setImageTitle(target, msg);
|
25997 |
this.inProgress = false;
|
|
|
25998 |
console.warn(msg);
|
25999 |
}
|
26000 |
|
@@ -26025,6 +28264,7 @@ var Photo = function (_React$Component) {
|
|
26025 |
value: function showEditScreen(e) {
|
26026 |
e.preventDefault();
|
26027 |
var el = e.currentTarget;
|
|
|
26028 |
var photo = el.closest('.photo');
|
26029 |
var filename = photo.querySelector('input[name="filename"]');
|
26030 |
var editScreen = photo.querySelector('.edit-screen');
|
@@ -26153,11 +28393,33 @@ var Photo = function (_React$Component) {
|
|
26153 |
target.focus();
|
26154 |
}
|
26155 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26156 |
}, {
|
26157 |
key: 'render',
|
26158 |
value: function render() {
|
26159 |
var _this2 = this;
|
26160 |
|
|
|
|
|
26161 |
return _react2.default.createElement(
|
26162 |
'article',
|
26163 |
{ className: 'photo' },
|
@@ -26180,7 +28442,7 @@ var Photo = function (_React$Component) {
|
|
26180 |
'data-caption': this.state.caption,
|
26181 |
title: instant_img_localize.upload,
|
26182 |
onClick: function onClick(e) {
|
26183 |
-
return _this2.
|
26184 |
} },
|
26185 |
_react2.default.createElement('img', { src: this.img, alt: '' }),
|
26186 |
_react2.default.createElement('div', { className: 'status' })
|
@@ -26202,14 +28464,19 @@ var Photo = function (_React$Component) {
|
|
26202 |
_react2.default.createElement(
|
26203 |
'div',
|
26204 |
{ className: 'photo-options' },
|
26205 |
-
this.
|
26206 |
-
'
|
26207 |
-
{ className: 'set-featured fade',
|
26208 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
26209 |
onClick: function onClick(e) {
|
26210 |
return _this2.setFeaturedImageClick(e);
|
26211 |
-
}
|
26212 |
-
title: instant_img_localize.set_as_featured
|
26213 |
},
|
26214 |
_react2.default.createElement('i', { className: 'fa fa-picture-o', 'aria-hidden': 'true' }),
|
26215 |
_react2.default.createElement(
|
@@ -26218,14 +28485,19 @@ var Photo = function (_React$Component) {
|
|
26218 |
instant_img_localize.set_as_featured
|
26219 |
)
|
26220 |
),
|
26221 |
-
this.
|
26222 |
-
'
|
26223 |
-
{ className: 'insert fade',
|
26224 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
26225 |
onClick: function onClick(e) {
|
26226 |
return _this2.insertImageIntoPost(e);
|
26227 |
-
}
|
26228 |
-
title: instant_img_localize.insert_into_post
|
26229 |
},
|
26230 |
_react2.default.createElement('i', { className: 'fa fa-plus', 'aria-hidden': 'true' }),
|
26231 |
_react2.default.createElement(
|
@@ -26236,10 +28508,15 @@ var Photo = function (_React$Component) {
|
|
26236 |
),
|
26237 |
_react2.default.createElement(
|
26238 |
'a',
|
26239 |
-
{
|
26240 |
className: 'edit-photo-admin fade',
|
26241 |
-
|
26242 |
-
|
|
|
|
|
|
|
|
|
|
|
26243 |
},
|
26244 |
_react2.default.createElement('i', { className: 'fa fa-pencil', 'aria-hidden': 'true' }),
|
26245 |
_react2.default.createElement(
|
@@ -26249,11 +28526,16 @@ var Photo = function (_React$Component) {
|
|
26249 |
)
|
26250 |
),
|
26251 |
_react2.default.createElement(
|
26252 |
-
'
|
26253 |
-
{
|
26254 |
className: 'edit-photo fade',
|
26255 |
-
|
26256 |
-
|
|
|
|
|
|
|
|
|
|
|
26257 |
onClick: function onClick(e) {
|
26258 |
return _this2.showEditScreen(e);
|
26259 |
}
|
@@ -26269,10 +28551,18 @@ var Photo = function (_React$Component) {
|
|
26269 |
),
|
26270 |
_react2.default.createElement(
|
26271 |
'div',
|
26272 |
-
{ className: 'options'
|
26273 |
_react2.default.createElement(
|
26274 |
'span',
|
26275 |
-
{
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26276 |
_react2.default.createElement('i', { className: 'fa fa-heart heart-like', 'aria-hidden': 'true' }),
|
26277 |
' ',
|
26278 |
this.likes
|
@@ -26280,8 +28570,15 @@ var Photo = function (_React$Component) {
|
|
26280 |
_react2.default.createElement(
|
26281 |
'a',
|
26282 |
{
|
|
|
26283 |
href: this.link,
|
26284 |
-
title: instant_img_localize.view_on_unsplash,
|
|
|
|
|
|
|
|
|
|
|
|
|
26285 |
target: '_blank' },
|
26286 |
_react2.default.createElement('i', { className: 'fa fa-external-link', 'aria-hidden': 'true' }),
|
26287 |
_react2.default.createElement(
|
@@ -26337,7 +28634,7 @@ var Photo = function (_React$Component) {
|
|
26337 |
instant_img_localize.edit_title,
|
26338 |
':'
|
26339 |
),
|
26340 |
-
_react2.default.createElement('input', { type: 'text', name: 'title', 'data-original': this.title, placeholder: this.title, value: this.state.title, onChange: function onChange(e) {
|
26341 |
return _this2.handleEditChange(e);
|
26342 |
} })
|
26343 |
),
|
@@ -26350,7 +28647,7 @@ var Photo = function (_React$Component) {
|
|
26350 |
instant_img_localize.edit_alt,
|
26351 |
':'
|
26352 |
),
|
26353 |
-
_react2.default.createElement('input', { type: 'text', name: 'alt', 'data-original':
|
26354 |
return _this2.handleEditChange(e);
|
26355 |
} })
|
26356 |
),
|
@@ -26365,7 +28662,7 @@ var Photo = function (_React$Component) {
|
|
26365 |
),
|
26366 |
_react2.default.createElement('textarea', { rows: '3', name: 'caption', 'data-original': '', onChange: function onChange(e) {
|
26367 |
return _this2.handleEditChange(e);
|
26368 |
-
}, value: this.state.caption })
|
26369 |
),
|
26370 |
_react2.default.createElement(
|
26371 |
'div',
|
@@ -26427,9 +28724,9 @@ var _server = __webpack_require__(/*! react-dom/server */ "./node_modules/react-
|
|
26427 |
|
26428 |
var _server2 = _interopRequireDefault(_server);
|
26429 |
|
26430 |
-
var
|
26431 |
|
26432 |
-
var
|
26433 |
|
26434 |
var _Photo = __webpack_require__(/*! ./Photo */ "./src/js/components/Photo.js");
|
26435 |
|
@@ -26453,6 +28750,8 @@ function _possibleConstructorReturn(self, call) { if (!self) { throw new Referen
|
|
26453 |
|
26454 |
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
26455 |
|
|
|
|
|
26456 |
var PhotoList = function (_React$Component) {
|
26457 |
_inherits(PhotoList, _React$Component);
|
26458 |
|
@@ -26478,22 +28777,24 @@ var PhotoList = function (_React$Component) {
|
|
26478 |
|
26479 |
_this.errorMsg = '';
|
26480 |
_this.msnry = '';
|
|
|
26481 |
|
26482 |
_this.editor = _this.props.editor ? _this.props.editor : 'classic';
|
26483 |
_this.is_block_editor = _this.props.editor === 'gutenberg' ? true : false;
|
|
|
26484 |
_this.SetFeaturedImage = _this.props.SetFeaturedImage ? _this.props.SetFeaturedImage.bind(_this) : '';
|
26485 |
_this.InsertImage = _this.props.InsertImage ? _this.props.InsertImage.bind(_this) : '';
|
26486 |
|
26487 |
if (_this.is_block_editor) {
|
26488 |
-
// Gutenberg
|
26489 |
_this.container = document.querySelector('body');
|
26490 |
_this.container.classList.add('loading');
|
26491 |
_this.wrapper = document.querySelector('body');
|
26492 |
} else {
|
26493 |
-
//
|
26494 |
-
_this.container =
|
|
|
26495 |
_this.container.classList.add('loading');
|
26496 |
-
_this.wrapper = document.querySelector('.instant-images-wrapper');
|
26497 |
}
|
26498 |
|
26499 |
return _this;
|
@@ -26513,7 +28814,7 @@ var PhotoList = function (_React$Component) {
|
|
26513 |
|
26514 |
var self = this;
|
26515 |
|
26516 |
-
var target =
|
26517 |
|
26518 |
var testURL = instant_img_localize.root + 'instant-images/test/'; // REST Route
|
26519 |
var restAPITest = new XMLHttpRequest();
|
@@ -26563,7 +28864,7 @@ var PhotoList = function (_React$Component) {
|
|
26563 |
value: function search(e) {
|
26564 |
|
26565 |
e.preventDefault();
|
26566 |
-
var input =
|
26567 |
var term = input.value;
|
26568 |
|
26569 |
if (term.length > 2) {
|
@@ -26576,6 +28877,14 @@ var PhotoList = function (_React$Component) {
|
|
26576 |
input.focus();
|
26577 |
}
|
26578 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26579 |
}, {
|
26580 |
key: 'setOrientation',
|
26581 |
value: function setOrientation(orientation, e) {
|
@@ -26627,7 +28936,7 @@ var PhotoList = function (_React$Component) {
|
|
26627 |
}, {
|
26628 |
key: 'clearOrientation',
|
26629 |
value: function clearOrientation() {
|
26630 |
-
var items =
|
26631 |
[].concat(_toConsumableArray(items)).forEach(function (el) {
|
26632 |
return el.classList.remove('active');
|
26633 |
}); // remove active classes
|
@@ -26668,7 +28977,7 @@ var PhotoList = function (_React$Component) {
|
|
26668 |
url = _API2.default.photo_api + '/' + term + _API2.default.app_id;
|
26669 |
}
|
26670 |
|
26671 |
-
var input =
|
26672 |
|
26673 |
fetch(url).then(function (data) {
|
26674 |
return data.json();
|
@@ -26728,7 +29037,7 @@ var PhotoList = function (_React$Component) {
|
|
26728 |
}, {
|
26729 |
key: 'clearSearch',
|
26730 |
value: function clearSearch() {
|
26731 |
-
var input =
|
26732 |
input.value = '';
|
26733 |
this.total_results = 0;
|
26734 |
this.is_search = false;
|
@@ -26843,12 +29152,12 @@ var PhotoList = function (_React$Component) {
|
|
26843 |
return false;
|
26844 |
}
|
26845 |
var self = this;
|
26846 |
-
var photoListWrapper =
|
26847 |
imagesLoaded(photoListWrapper, function () {
|
26848 |
-
self.msnry = new
|
26849 |
itemSelector: '.photo'
|
26850 |
});
|
26851 |
-
[].concat(_toConsumableArray(
|
26852 |
return el.classList.add('in-view');
|
26853 |
});
|
26854 |
});
|
@@ -26866,7 +29175,7 @@ var PhotoList = function (_React$Component) {
|
|
26866 |
value: function onScroll() {
|
26867 |
var wHeight = window.innerHeight;
|
26868 |
var scrollTop = window.pageYOffset;
|
26869 |
-
var scrollH = document.body.scrollHeight -
|
26870 |
if (wHeight + scrollTop >= scrollH && !this.isLoading && !this.isDone) {
|
26871 |
this.getPhotos();
|
26872 |
}
|
@@ -26898,13 +29207,13 @@ var PhotoList = function (_React$Component) {
|
|
26898 |
value: function setActiveState() {
|
26899 |
var self = this;
|
26900 |
// Remove .active class
|
26901 |
-
[].concat(_toConsumableArray(
|
26902 |
return el.classList.remove('active');
|
26903 |
});
|
26904 |
|
26905 |
// Set active item, if not search
|
26906 |
if (!this.is_search) {
|
26907 |
-
var active =
|
26908 |
active.classList.add('active');
|
26909 |
}
|
26910 |
setTimeout(function () {
|
@@ -26913,6 +29222,65 @@ var PhotoList = function (_React$Component) {
|
|
26913 |
}, 1000);
|
26914 |
}
|
26915 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26916 |
// Component Updated
|
26917 |
|
26918 |
}, {
|
@@ -26935,8 +29303,8 @@ var PhotoList = function (_React$Component) {
|
|
26935 |
this.container.classList.remove('loading');
|
26936 |
this.wrapper.classList.add('loaded');
|
26937 |
|
26938 |
-
if (this.is_block_editor) {
|
26939 |
-
// Gutenberg
|
26940 |
this.page = 0;
|
26941 |
this.getPhotos();
|
26942 |
} else {
|
@@ -26964,8 +29332,8 @@ var PhotoList = function (_React$Component) {
|
|
26964 |
'li',
|
26965 |
null,
|
26966 |
_react2.default.createElement(
|
26967 |
-
'
|
26968 |
-
{
|
26969 |
return _this3.togglePhotoList('latest', e);
|
26970 |
} },
|
26971 |
instant_img_localize.latest
|
@@ -26975,8 +29343,8 @@ var PhotoList = function (_React$Component) {
|
|
26975 |
'li',
|
26976 |
{ id: 'nav-target' },
|
26977 |
_react2.default.createElement(
|
26978 |
-
'
|
26979 |
-
{
|
26980 |
return _this3.togglePhotoList('popular', e);
|
26981 |
} },
|
26982 |
instant_img_localize.popular
|
@@ -26986,8 +29354,8 @@ var PhotoList = function (_React$Component) {
|
|
26986 |
'li',
|
26987 |
null,
|
26988 |
_react2.default.createElement(
|
26989 |
-
'
|
26990 |
-
{
|
26991 |
return _this3.togglePhotoList('oldest', e);
|
26992 |
} },
|
26993 |
instant_img_localize.oldest
|
@@ -27007,7 +29375,7 @@ var PhotoList = function (_React$Component) {
|
|
27007 |
{ type: 'submit', id: 'photo-search-submit' },
|
27008 |
_react2.default.createElement('i', { className: 'fa fa-search' })
|
27009 |
),
|
27010 |
-
_react2.default.createElement(_ResultsToolTip2.default, { isSearch: this.is_search, total: this.total_results, title: this.total_results + ' ' + instant_img_localize.search_results + ' ' + this.search_term })
|
27011 |
)
|
27012 |
)
|
27013 |
),
|
@@ -27057,9 +29425,9 @@ var PhotoList = function (_React$Component) {
|
|
27057 |
),
|
27058 |
_react2.default.createElement(
|
27059 |
'div',
|
27060 |
-
{ id: 'photos' },
|
27061 |
this.state.results.map(function (result, iterator) {
|
27062 |
-
return _react2.default.createElement(_Photo2.default, { result: result, key: result.id + iterator, blockEditor: _this3.is_block_editor, SetFeaturedImage: _this3.SetFeaturedImage, InsertImage: _this3.InsertImage });
|
27063 |
})
|
27064 |
),
|
27065 |
_react2.default.createElement(
|
@@ -27089,6 +29457,11 @@ var PhotoList = function (_React$Component) {
|
|
27089 |
} },
|
27090 |
instant_img_localize.load_more
|
27091 |
)
|
|
|
|
|
|
|
|
|
|
|
27092 |
)
|
27093 |
);
|
27094 |
}
|
@@ -27141,8 +29514,8 @@ var ResultsToolTip = function (_React$Component) {
|
|
27141 |
_createClass(ResultsToolTip, [{
|
27142 |
key: 'resetSearch',
|
27143 |
value: function resetSearch() {
|
27144 |
-
var nav =
|
27145 |
-
var navItem = nav.querySelector('li
|
27146 |
navItem.click();
|
27147 |
}
|
27148 |
}, {
|
@@ -27159,11 +29532,16 @@ var ResultsToolTip = function (_React$Component) {
|
|
27159 |
this.props.total
|
27160 |
),
|
27161 |
_react2.default.createElement(
|
27162 |
-
'
|
27163 |
-
{
|
27164 |
return _this2.resetSearch();
|
27165 |
} },
|
27166 |
-
'x'
|
|
|
|
|
|
|
|
|
|
|
27167 |
)
|
27168 |
);
|
27169 |
}
|
2694 |
module.exports = factory;
|
2695 |
|
2696 |
|
2697 |
+
/***/ }),
|
2698 |
+
|
2699 |
+
/***/ "./node_modules/desandro-matches-selector/matches-selector.js":
|
2700 |
+
/*!********************************************************************!*\
|
2701 |
+
!*** ./node_modules/desandro-matches-selector/matches-selector.js ***!
|
2702 |
+
\********************************************************************/
|
2703 |
+
/*! no static exports found */
|
2704 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2705 |
+
|
2706 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
2707 |
+
* matchesSelector v2.0.2
|
2708 |
+
* matchesSelector( element, '.selector' )
|
2709 |
+
* MIT license
|
2710 |
+
*/
|
2711 |
+
|
2712 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
2713 |
+
|
2714 |
+
( function( window, factory ) {
|
2715 |
+
/*global define: false, module: false */
|
2716 |
+
'use strict';
|
2717 |
+
// universal module definition
|
2718 |
+
if ( true ) {
|
2719 |
+
// AMD
|
2720 |
+
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
2721 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
2722 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
2723 |
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
2724 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
2725 |
+
} else {}
|
2726 |
+
|
2727 |
+
}( window, function factory() {
|
2728 |
+
'use strict';
|
2729 |
+
|
2730 |
+
var matchesMethod = ( function() {
|
2731 |
+
var ElemProto = window.Element.prototype;
|
2732 |
+
// check for the standard method name first
|
2733 |
+
if ( ElemProto.matches ) {
|
2734 |
+
return 'matches';
|
2735 |
+
}
|
2736 |
+
// check un-prefixed
|
2737 |
+
if ( ElemProto.matchesSelector ) {
|
2738 |
+
return 'matchesSelector';
|
2739 |
+
}
|
2740 |
+
// check vendor prefixes
|
2741 |
+
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
|
2742 |
+
|
2743 |
+
for ( var i=0; i < prefixes.length; i++ ) {
|
2744 |
+
var prefix = prefixes[i];
|
2745 |
+
var method = prefix + 'MatchesSelector';
|
2746 |
+
if ( ElemProto[ method ] ) {
|
2747 |
+
return method;
|
2748 |
+
}
|
2749 |
+
}
|
2750 |
+
})();
|
2751 |
+
|
2752 |
+
return function matchesSelector( elem, selector ) {
|
2753 |
+
return elem[ matchesMethod ]( selector );
|
2754 |
+
};
|
2755 |
+
|
2756 |
+
}));
|
2757 |
+
|
2758 |
+
|
2759 |
/***/ }),
|
2760 |
|
2761 |
/***/ "./node_modules/ev-emitter/ev-emitter.js":
|
4154 |
|
4155 |
module.exports = warning;
|
4156 |
|
4157 |
+
/***/ }),
|
4158 |
+
|
4159 |
+
/***/ "./node_modules/fizzy-ui-utils/utils.js":
|
4160 |
+
/*!**********************************************!*\
|
4161 |
+
!*** ./node_modules/fizzy-ui-utils/utils.js ***!
|
4162 |
+
\**********************************************/
|
4163 |
+
/*! no static exports found */
|
4164 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4165 |
+
|
4166 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
4167 |
+
* Fizzy UI utils v2.0.7
|
4168 |
+
* MIT license
|
4169 |
+
*/
|
4170 |
+
|
4171 |
+
/*jshint browser: true, undef: true, unused: true, strict: true */
|
4172 |
+
|
4173 |
+
( function( window, factory ) {
|
4174 |
+
// universal module definition
|
4175 |
+
/*jshint strict: false */ /*globals define, module, require */
|
4176 |
+
|
4177 |
+
if ( true ) {
|
4178 |
+
// AMD
|
4179 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
4180 |
+
__webpack_require__(/*! desandro-matches-selector/matches-selector */ "./node_modules/desandro-matches-selector/matches-selector.js")
|
4181 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function( matchesSelector ) {
|
4182 |
+
return factory( window, matchesSelector );
|
4183 |
+
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
4184 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
4185 |
+
} else {}
|
4186 |
+
|
4187 |
+
}( window, function factory( window, matchesSelector ) {
|
4188 |
+
|
4189 |
+
'use strict';
|
4190 |
+
|
4191 |
+
var utils = {};
|
4192 |
+
|
4193 |
+
// ----- extend ----- //
|
4194 |
+
|
4195 |
+
// extends objects
|
4196 |
+
utils.extend = function( a, b ) {
|
4197 |
+
for ( var prop in b ) {
|
4198 |
+
a[ prop ] = b[ prop ];
|
4199 |
+
}
|
4200 |
+
return a;
|
4201 |
+
};
|
4202 |
+
|
4203 |
+
// ----- modulo ----- //
|
4204 |
+
|
4205 |
+
utils.modulo = function( num, div ) {
|
4206 |
+
return ( ( num % div ) + div ) % div;
|
4207 |
+
};
|
4208 |
+
|
4209 |
+
// ----- makeArray ----- //
|
4210 |
+
|
4211 |
+
var arraySlice = Array.prototype.slice;
|
4212 |
+
|
4213 |
+
// turn element or nodeList into an array
|
4214 |
+
utils.makeArray = function( obj ) {
|
4215 |
+
if ( Array.isArray( obj ) ) {
|
4216 |
+
// use object if already an array
|
4217 |
+
return obj;
|
4218 |
+
}
|
4219 |
+
// return empty array if undefined or null. #6
|
4220 |
+
if ( obj === null || obj === undefined ) {
|
4221 |
+
return [];
|
4222 |
+
}
|
4223 |
+
|
4224 |
+
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
|
4225 |
+
if ( isArrayLike ) {
|
4226 |
+
// convert nodeList to array
|
4227 |
+
return arraySlice.call( obj );
|
4228 |
+
}
|
4229 |
+
|
4230 |
+
// array of single index
|
4231 |
+
return [ obj ];
|
4232 |
+
};
|
4233 |
+
|
4234 |
+
// ----- removeFrom ----- //
|
4235 |
+
|
4236 |
+
utils.removeFrom = function( ary, obj ) {
|
4237 |
+
var index = ary.indexOf( obj );
|
4238 |
+
if ( index != -1 ) {
|
4239 |
+
ary.splice( index, 1 );
|
4240 |
+
}
|
4241 |
+
};
|
4242 |
+
|
4243 |
+
// ----- getParent ----- //
|
4244 |
+
|
4245 |
+
utils.getParent = function( elem, selector ) {
|
4246 |
+
while ( elem.parentNode && elem != document.body ) {
|
4247 |
+
elem = elem.parentNode;
|
4248 |
+
if ( matchesSelector( elem, selector ) ) {
|
4249 |
+
return elem;
|
4250 |
+
}
|
4251 |
+
}
|
4252 |
+
};
|
4253 |
+
|
4254 |
+
// ----- getQueryElement ----- //
|
4255 |
+
|
4256 |
+
// use element as selector string
|
4257 |
+
utils.getQueryElement = function( elem ) {
|
4258 |
+
if ( typeof elem == 'string' ) {
|
4259 |
+
return document.querySelector( elem );
|
4260 |
+
}
|
4261 |
+
return elem;
|
4262 |
+
};
|
4263 |
+
|
4264 |
+
// ----- handleEvent ----- //
|
4265 |
+
|
4266 |
+
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
4267 |
+
utils.handleEvent = function( event ) {
|
4268 |
+
var method = 'on' + event.type;
|
4269 |
+
if ( this[ method ] ) {
|
4270 |
+
this[ method ]( event );
|
4271 |
+
}
|
4272 |
+
};
|
4273 |
+
|
4274 |
+
// ----- filterFindElements ----- //
|
4275 |
+
|
4276 |
+
utils.filterFindElements = function( elems, selector ) {
|
4277 |
+
// make array of elems
|
4278 |
+
elems = utils.makeArray( elems );
|
4279 |
+
var ffElems = [];
|
4280 |
+
|
4281 |
+
elems.forEach( function( elem ) {
|
4282 |
+
// check that elem is an actual element
|
4283 |
+
if ( !( elem instanceof HTMLElement ) ) {
|
4284 |
+
return;
|
4285 |
+
}
|
4286 |
+
// add elem if no selector
|
4287 |
+
if ( !selector ) {
|
4288 |
+
ffElems.push( elem );
|
4289 |
+
return;
|
4290 |
+
}
|
4291 |
+
// filter & find items if we have a selector
|
4292 |
+
// filter
|
4293 |
+
if ( matchesSelector( elem, selector ) ) {
|
4294 |
+
ffElems.push( elem );
|
4295 |
+
}
|
4296 |
+
// find children
|
4297 |
+
var childElems = elem.querySelectorAll( selector );
|
4298 |
+
// concat childElems to filterFound array
|
4299 |
+
for ( var i=0; i < childElems.length; i++ ) {
|
4300 |
+
ffElems.push( childElems[i] );
|
4301 |
+
}
|
4302 |
+
});
|
4303 |
+
|
4304 |
+
return ffElems;
|
4305 |
+
};
|
4306 |
+
|
4307 |
+
// ----- debounceMethod ----- //
|
4308 |
+
|
4309 |
+
utils.debounceMethod = function( _class, methodName, threshold ) {
|
4310 |
+
threshold = threshold || 100;
|
4311 |
+
// original method
|
4312 |
+
var method = _class.prototype[ methodName ];
|
4313 |
+
var timeoutName = methodName + 'Timeout';
|
4314 |
+
|
4315 |
+
_class.prototype[ methodName ] = function() {
|
4316 |
+
var timeout = this[ timeoutName ];
|
4317 |
+
clearTimeout( timeout );
|
4318 |
+
|
4319 |
+
var args = arguments;
|
4320 |
+
var _this = this;
|
4321 |
+
this[ timeoutName ] = setTimeout( function() {
|
4322 |
+
method.apply( _this, args );
|
4323 |
+
delete _this[ timeoutName ];
|
4324 |
+
}, threshold );
|
4325 |
+
};
|
4326 |
+
};
|
4327 |
+
|
4328 |
+
// ----- docReady ----- //
|
4329 |
+
|
4330 |
+
utils.docReady = function( callback ) {
|
4331 |
+
var readyState = document.readyState;
|
4332 |
+
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
4333 |
+
// do async to allow for other scripts to run. metafizzy/flickity#441
|
4334 |
+
setTimeout( callback );
|
4335 |
+
} else {
|
4336 |
+
document.addEventListener( 'DOMContentLoaded', callback );
|
4337 |
+
}
|
4338 |
+
};
|
4339 |
+
|
4340 |
+
// ----- htmlInit ----- //
|
4341 |
+
|
4342 |
+
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
4343 |
+
utils.toDashed = function( str ) {
|
4344 |
+
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
4345 |
+
return $1 + '-' + $2;
|
4346 |
+
}).toLowerCase();
|
4347 |
+
};
|
4348 |
+
|
4349 |
+
var console = window.console;
|
4350 |
+
/**
|
4351 |
+
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
4352 |
+
* htmlInit( Widget, 'widgetName' )
|
4353 |
+
* options are parsed from data-namespace-options
|
4354 |
+
*/
|
4355 |
+
utils.htmlInit = function( WidgetClass, namespace ) {
|
4356 |
+
utils.docReady( function() {
|
4357 |
+
var dashedNamespace = utils.toDashed( namespace );
|
4358 |
+
var dataAttr = 'data-' + dashedNamespace;
|
4359 |
+
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
4360 |
+
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
4361 |
+
var elems = utils.makeArray( dataAttrElems )
|
4362 |
+
.concat( utils.makeArray( jsDashElems ) );
|
4363 |
+
var dataOptionsAttr = dataAttr + '-options';
|
4364 |
+
var jQuery = window.jQuery;
|
4365 |
+
|
4366 |
+
elems.forEach( function( elem ) {
|
4367 |
+
var attr = elem.getAttribute( dataAttr ) ||
|
4368 |
+
elem.getAttribute( dataOptionsAttr );
|
4369 |
+
var options;
|
4370 |
+
try {
|
4371 |
+
options = attr && JSON.parse( attr );
|
4372 |
+
} catch ( error ) {
|
4373 |
+
// log error, do not initialize
|
4374 |
+
if ( console ) {
|
4375 |
+
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
4376 |
+
': ' + error );
|
4377 |
+
}
|
4378 |
+
return;
|
4379 |
+
}
|
4380 |
+
// initialize
|
4381 |
+
var instance = new WidgetClass( elem, options );
|
4382 |
+
// make available via $().data('namespace')
|
4383 |
+
if ( jQuery ) {
|
4384 |
+
jQuery.data( elem, namespace, instance );
|
4385 |
+
}
|
4386 |
+
});
|
4387 |
+
|
4388 |
+
});
|
4389 |
+
};
|
4390 |
+
|
4391 |
+
// ----- ----- //
|
4392 |
+
|
4393 |
+
return utils;
|
4394 |
+
|
4395 |
+
}));
|
4396 |
+
|
4397 |
+
|
4398 |
+
/***/ }),
|
4399 |
+
|
4400 |
+
/***/ "./node_modules/get-size/get-size.js":
|
4401 |
+
/*!*******************************************!*\
|
4402 |
+
!*** ./node_modules/get-size/get-size.js ***!
|
4403 |
+
\*******************************************/
|
4404 |
+
/*! no static exports found */
|
4405 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4406 |
+
|
4407 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
4408 |
+
* getSize v2.0.3
|
4409 |
+
* measure size of elements
|
4410 |
+
* MIT license
|
4411 |
+
*/
|
4412 |
+
|
4413 |
+
/* jshint browser: true, strict: true, undef: true, unused: true */
|
4414 |
+
/* globals console: false */
|
4415 |
+
|
4416 |
+
( function( window, factory ) {
|
4417 |
+
/* jshint strict: false */ /* globals define, module */
|
4418 |
+
if ( true ) {
|
4419 |
+
// AMD
|
4420 |
+
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
4421 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
4422 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
4423 |
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
4424 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
4425 |
+
} else {}
|
4426 |
+
|
4427 |
+
})( window, function factory() {
|
4428 |
+
'use strict';
|
4429 |
+
|
4430 |
+
// -------------------------- helpers -------------------------- //
|
4431 |
+
|
4432 |
+
// get a number from a string, not a percentage
|
4433 |
+
function getStyleSize( value ) {
|
4434 |
+
var num = parseFloat( value );
|
4435 |
+
// not a percent like '100%', and a number
|
4436 |
+
var isValid = value.indexOf('%') == -1 && !isNaN( num );
|
4437 |
+
return isValid && num;
|
4438 |
+
}
|
4439 |
+
|
4440 |
+
function noop() {}
|
4441 |
+
|
4442 |
+
var logError = typeof console == 'undefined' ? noop :
|
4443 |
+
function( message ) {
|
4444 |
+
console.error( message );
|
4445 |
+
};
|
4446 |
+
|
4447 |
+
// -------------------------- measurements -------------------------- //
|
4448 |
+
|
4449 |
+
var measurements = [
|
4450 |
+
'paddingLeft',
|
4451 |
+
'paddingRight',
|
4452 |
+
'paddingTop',
|
4453 |
+
'paddingBottom',
|
4454 |
+
'marginLeft',
|
4455 |
+
'marginRight',
|
4456 |
+
'marginTop',
|
4457 |
+
'marginBottom',
|
4458 |
+
'borderLeftWidth',
|
4459 |
+
'borderRightWidth',
|
4460 |
+
'borderTopWidth',
|
4461 |
+
'borderBottomWidth'
|
4462 |
+
];
|
4463 |
+
|
4464 |
+
var measurementsLength = measurements.length;
|
4465 |
+
|
4466 |
+
function getZeroSize() {
|
4467 |
+
var size = {
|
4468 |
+
width: 0,
|
4469 |
+
height: 0,
|
4470 |
+
innerWidth: 0,
|
4471 |
+
innerHeight: 0,
|
4472 |
+
outerWidth: 0,
|
4473 |
+
outerHeight: 0
|
4474 |
+
};
|
4475 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
4476 |
+
var measurement = measurements[i];
|
4477 |
+
size[ measurement ] = 0;
|
4478 |
+
}
|
4479 |
+
return size;
|
4480 |
+
}
|
4481 |
+
|
4482 |
+
// -------------------------- getStyle -------------------------- //
|
4483 |
+
|
4484 |
+
/**
|
4485 |
+
* getStyle, get style of element, check for Firefox bug
|
4486 |
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
4487 |
+
*/
|
4488 |
+
function getStyle( elem ) {
|
4489 |
+
var style = getComputedStyle( elem );
|
4490 |
+
if ( !style ) {
|
4491 |
+
logError( 'Style returned ' + style +
|
4492 |
+
'. Are you running this code in a hidden iframe on Firefox? ' +
|
4493 |
+
'See https://bit.ly/getsizebug1' );
|
4494 |
+
}
|
4495 |
+
return style;
|
4496 |
+
}
|
4497 |
+
|
4498 |
+
// -------------------------- setup -------------------------- //
|
4499 |
+
|
4500 |
+
var isSetup = false;
|
4501 |
+
|
4502 |
+
var isBoxSizeOuter;
|
4503 |
+
|
4504 |
+
/**
|
4505 |
+
* setup
|
4506 |
+
* check isBoxSizerOuter
|
4507 |
+
* do on first getSize() rather than on page load for Firefox bug
|
4508 |
+
*/
|
4509 |
+
function setup() {
|
4510 |
+
// setup once
|
4511 |
+
if ( isSetup ) {
|
4512 |
+
return;
|
4513 |
+
}
|
4514 |
+
isSetup = true;
|
4515 |
+
|
4516 |
+
// -------------------------- box sizing -------------------------- //
|
4517 |
+
|
4518 |
+
/**
|
4519 |
+
* Chrome & Safari measure the outer-width on style.width on border-box elems
|
4520 |
+
* IE11 & Firefox<29 measures the inner-width
|
4521 |
+
*/
|
4522 |
+
var div = document.createElement('div');
|
4523 |
+
div.style.width = '200px';
|
4524 |
+
div.style.padding = '1px 2px 3px 4px';
|
4525 |
+
div.style.borderStyle = 'solid';
|
4526 |
+
div.style.borderWidth = '1px 2px 3px 4px';
|
4527 |
+
div.style.boxSizing = 'border-box';
|
4528 |
+
|
4529 |
+
var body = document.body || document.documentElement;
|
4530 |
+
body.appendChild( div );
|
4531 |
+
var style = getStyle( div );
|
4532 |
+
// round value for browser zoom. desandro/masonry#928
|
4533 |
+
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
|
4534 |
+
getSize.isBoxSizeOuter = isBoxSizeOuter;
|
4535 |
+
|
4536 |
+
body.removeChild( div );
|
4537 |
+
}
|
4538 |
+
|
4539 |
+
// -------------------------- getSize -------------------------- //
|
4540 |
+
|
4541 |
+
function getSize( elem ) {
|
4542 |
+
setup();
|
4543 |
+
|
4544 |
+
// use querySeletor if elem is string
|
4545 |
+
if ( typeof elem == 'string' ) {
|
4546 |
+
elem = document.querySelector( elem );
|
4547 |
+
}
|
4548 |
+
|
4549 |
+
// do not proceed on non-objects
|
4550 |
+
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
|
4551 |
+
return;
|
4552 |
+
}
|
4553 |
+
|
4554 |
+
var style = getStyle( elem );
|
4555 |
+
|
4556 |
+
// if hidden, everything is 0
|
4557 |
+
if ( style.display == 'none' ) {
|
4558 |
+
return getZeroSize();
|
4559 |
+
}
|
4560 |
+
|
4561 |
+
var size = {};
|
4562 |
+
size.width = elem.offsetWidth;
|
4563 |
+
size.height = elem.offsetHeight;
|
4564 |
+
|
4565 |
+
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
|
4566 |
+
|
4567 |
+
// get all measurements
|
4568 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
4569 |
+
var measurement = measurements[i];
|
4570 |
+
var value = style[ measurement ];
|
4571 |
+
var num = parseFloat( value );
|
4572 |
+
// any 'auto', 'medium' value will be 0
|
4573 |
+
size[ measurement ] = !isNaN( num ) ? num : 0;
|
4574 |
+
}
|
4575 |
+
|
4576 |
+
var paddingWidth = size.paddingLeft + size.paddingRight;
|
4577 |
+
var paddingHeight = size.paddingTop + size.paddingBottom;
|
4578 |
+
var marginWidth = size.marginLeft + size.marginRight;
|
4579 |
+
var marginHeight = size.marginTop + size.marginBottom;
|
4580 |
+
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
|
4581 |
+
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
|
4582 |
+
|
4583 |
+
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
|
4584 |
+
|
4585 |
+
// overwrite width and height if we can get it from style
|
4586 |
+
var styleWidth = getStyleSize( style.width );
|
4587 |
+
if ( styleWidth !== false ) {
|
4588 |
+
size.width = styleWidth +
|
4589 |
+
// add padding and border unless it's already including it
|
4590 |
+
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
|
4591 |
+
}
|
4592 |
+
|
4593 |
+
var styleHeight = getStyleSize( style.height );
|
4594 |
+
if ( styleHeight !== false ) {
|
4595 |
+
size.height = styleHeight +
|
4596 |
+
// add padding and border unless it's already including it
|
4597 |
+
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
|
4598 |
+
}
|
4599 |
+
|
4600 |
+
size.innerWidth = size.width - ( paddingWidth + borderWidth );
|
4601 |
+
size.innerHeight = size.height - ( paddingHeight + borderHeight );
|
4602 |
+
|
4603 |
+
size.outerWidth = size.width + marginWidth;
|
4604 |
+
size.outerHeight = size.height + marginHeight;
|
4605 |
+
|
4606 |
+
return size;
|
4607 |
+
}
|
4608 |
+
|
4609 |
+
return getSize;
|
4610 |
+
|
4611 |
+
});
|
4612 |
+
|
4613 |
+
|
4614 |
/***/ }),
|
4615 |
|
4616 |
/***/ "./node_modules/imagesloaded/imagesloaded.js":
|
4990 |
/*! no static exports found */
|
4991 |
/***/ (function(module, exports) {
|
4992 |
|
4993 |
+
/*!
|
4994 |
+
* Determine if an object is a Buffer
|
4995 |
+
*
|
4996 |
+
* @author Feross Aboukhadijeh <https://feross.org>
|
4997 |
+
* @license MIT
|
4998 |
+
*/
|
4999 |
+
|
5000 |
+
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
5001 |
+
// Object.prototype.constructor. Remove this eventually
|
5002 |
+
module.exports = function (obj) {
|
5003 |
+
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
5004 |
+
}
|
5005 |
+
|
5006 |
+
function isBuffer (obj) {
|
5007 |
+
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
5008 |
+
}
|
5009 |
+
|
5010 |
+
// For Node v0.10 support. Remove this eventually.
|
5011 |
+
function isSlowBuffer (obj) {
|
5012 |
+
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
5013 |
+
}
|
5014 |
+
|
5015 |
+
|
5016 |
+
/***/ }),
|
5017 |
+
|
5018 |
+
/***/ "./node_modules/masonry-layout/masonry.js":
|
5019 |
+
/*!************************************************!*\
|
5020 |
+
!*** ./node_modules/masonry-layout/masonry.js ***!
|
5021 |
+
\************************************************/
|
5022 |
+
/*! no static exports found */
|
5023 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5024 |
+
|
5025 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
5026 |
+
* Masonry v4.2.2
|
5027 |
+
* Cascading grid layout library
|
5028 |
+
* https://masonry.desandro.com
|
5029 |
+
* MIT License
|
5030 |
+
* by David DeSandro
|
5031 |
+
*/
|
5032 |
+
|
5033 |
+
( function( window, factory ) {
|
5034 |
+
// universal module definition
|
5035 |
+
/* jshint strict: false */ /*globals define, module, require */
|
5036 |
+
if ( true ) {
|
5037 |
+
// AMD
|
5038 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
5039 |
+
__webpack_require__(/*! outlayer/outlayer */ "./node_modules/outlayer/outlayer.js"),
|
5040 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js")
|
5041 |
+
], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
5042 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
5043 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
5044 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5045 |
+
} else {}
|
5046 |
+
|
5047 |
+
}( window, function factory( Outlayer, getSize ) {
|
5048 |
+
|
5049 |
+
'use strict';
|
5050 |
+
|
5051 |
+
// -------------------------- masonryDefinition -------------------------- //
|
5052 |
+
|
5053 |
+
// create an Outlayer layout class
|
5054 |
+
var Masonry = Outlayer.create('masonry');
|
5055 |
+
// isFitWidth -> fitWidth
|
5056 |
+
Masonry.compatOptions.fitWidth = 'isFitWidth';
|
5057 |
+
|
5058 |
+
var proto = Masonry.prototype;
|
5059 |
+
|
5060 |
+
proto._resetLayout = function() {
|
5061 |
+
this.getSize();
|
5062 |
+
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
5063 |
+
this._getMeasurement( 'gutter', 'outerWidth' );
|
5064 |
+
this.measureColumns();
|
5065 |
+
|
5066 |
+
// reset column Y
|
5067 |
+
this.colYs = [];
|
5068 |
+
for ( var i=0; i < this.cols; i++ ) {
|
5069 |
+
this.colYs.push( 0 );
|
5070 |
+
}
|
5071 |
+
|
5072 |
+
this.maxY = 0;
|
5073 |
+
this.horizontalColIndex = 0;
|
5074 |
+
};
|
5075 |
+
|
5076 |
+
proto.measureColumns = function() {
|
5077 |
+
this.getContainerWidth();
|
5078 |
+
// if columnWidth is 0, default to outerWidth of first item
|
5079 |
+
if ( !this.columnWidth ) {
|
5080 |
+
var firstItem = this.items[0];
|
5081 |
+
var firstItemElem = firstItem && firstItem.element;
|
5082 |
+
// columnWidth fall back to item of first element
|
5083 |
+
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
|
5084 |
+
// if first elem has no width, default to size of container
|
5085 |
+
this.containerWidth;
|
5086 |
+
}
|
5087 |
+
|
5088 |
+
var columnWidth = this.columnWidth += this.gutter;
|
5089 |
+
|
5090 |
+
// calculate columns
|
5091 |
+
var containerWidth = this.containerWidth + this.gutter;
|
5092 |
+
var cols = containerWidth / columnWidth;
|
5093 |
+
// fix rounding errors, typically with gutters
|
5094 |
+
var excess = columnWidth - containerWidth % columnWidth;
|
5095 |
+
// if overshoot is less than a pixel, round up, otherwise floor it
|
5096 |
+
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
|
5097 |
+
cols = Math[ mathMethod ]( cols );
|
5098 |
+
this.cols = Math.max( cols, 1 );
|
5099 |
+
};
|
5100 |
+
|
5101 |
+
proto.getContainerWidth = function() {
|
5102 |
+
// container is parent if fit width
|
5103 |
+
var isFitWidth = this._getOption('fitWidth');
|
5104 |
+
var container = isFitWidth ? this.element.parentNode : this.element;
|
5105 |
+
// check that this.size and size are there
|
5106 |
+
// IE8 triggers resize on body size change, so they might not be
|
5107 |
+
var size = getSize( container );
|
5108 |
+
this.containerWidth = size && size.innerWidth;
|
5109 |
+
};
|
5110 |
+
|
5111 |
+
proto._getItemLayoutPosition = function( item ) {
|
5112 |
+
item.getSize();
|
5113 |
+
// how many columns does this brick span
|
5114 |
+
var remainder = item.size.outerWidth % this.columnWidth;
|
5115 |
+
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
|
5116 |
+
// round if off by 1 pixel, otherwise use ceil
|
5117 |
+
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
5118 |
+
colSpan = Math.min( colSpan, this.cols );
|
5119 |
+
// use horizontal or top column position
|
5120 |
+
var colPosMethod = this.options.horizontalOrder ?
|
5121 |
+
'_getHorizontalColPosition' : '_getTopColPosition';
|
5122 |
+
var colPosition = this[ colPosMethod ]( colSpan, item );
|
5123 |
+
// position the brick
|
5124 |
+
var position = {
|
5125 |
+
x: this.columnWidth * colPosition.col,
|
5126 |
+
y: colPosition.y
|
5127 |
+
};
|
5128 |
+
// apply setHeight to necessary columns
|
5129 |
+
var setHeight = colPosition.y + item.size.outerHeight;
|
5130 |
+
var setMax = colSpan + colPosition.col;
|
5131 |
+
for ( var i = colPosition.col; i < setMax; i++ ) {
|
5132 |
+
this.colYs[i] = setHeight;
|
5133 |
+
}
|
5134 |
+
|
5135 |
+
return position;
|
5136 |
+
};
|
5137 |
+
|
5138 |
+
proto._getTopColPosition = function( colSpan ) {
|
5139 |
+
var colGroup = this._getTopColGroup( colSpan );
|
5140 |
+
// get the minimum Y value from the columns
|
5141 |
+
var minimumY = Math.min.apply( Math, colGroup );
|
5142 |
+
|
5143 |
+
return {
|
5144 |
+
col: colGroup.indexOf( minimumY ),
|
5145 |
+
y: minimumY,
|
5146 |
+
};
|
5147 |
+
};
|
5148 |
+
|
5149 |
+
/**
|
5150 |
+
* @param {Number} colSpan - number of columns the element spans
|
5151 |
+
* @returns {Array} colGroup
|
5152 |
+
*/
|
5153 |
+
proto._getTopColGroup = function( colSpan ) {
|
5154 |
+
if ( colSpan < 2 ) {
|
5155 |
+
// if brick spans only one column, use all the column Ys
|
5156 |
+
return this.colYs;
|
5157 |
+
}
|
5158 |
+
|
5159 |
+
var colGroup = [];
|
5160 |
+
// how many different places could this brick fit horizontally
|
5161 |
+
var groupCount = this.cols + 1 - colSpan;
|
5162 |
+
// for each group potential horizontal position
|
5163 |
+
for ( var i = 0; i < groupCount; i++ ) {
|
5164 |
+
colGroup[i] = this._getColGroupY( i, colSpan );
|
5165 |
+
}
|
5166 |
+
return colGroup;
|
5167 |
+
};
|
5168 |
+
|
5169 |
+
proto._getColGroupY = function( col, colSpan ) {
|
5170 |
+
if ( colSpan < 2 ) {
|
5171 |
+
return this.colYs[ col ];
|
5172 |
+
}
|
5173 |
+
// make an array of colY values for that one group
|
5174 |
+
var groupColYs = this.colYs.slice( col, col + colSpan );
|
5175 |
+
// and get the max value of the array
|
5176 |
+
return Math.max.apply( Math, groupColYs );
|
5177 |
+
};
|
5178 |
+
|
5179 |
+
// get column position based on horizontal index. #873
|
5180 |
+
proto._getHorizontalColPosition = function( colSpan, item ) {
|
5181 |
+
var col = this.horizontalColIndex % this.cols;
|
5182 |
+
var isOver = colSpan > 1 && col + colSpan > this.cols;
|
5183 |
+
// shift to next row if item can't fit on current row
|
5184 |
+
col = isOver ? 0 : col;
|
5185 |
+
// don't let zero-size items take up space
|
5186 |
+
var hasSize = item.size.outerWidth && item.size.outerHeight;
|
5187 |
+
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
|
5188 |
+
|
5189 |
+
return {
|
5190 |
+
col: col,
|
5191 |
+
y: this._getColGroupY( col, colSpan ),
|
5192 |
+
};
|
5193 |
+
};
|
5194 |
+
|
5195 |
+
proto._manageStamp = function( stamp ) {
|
5196 |
+
var stampSize = getSize( stamp );
|
5197 |
+
var offset = this._getElementOffset( stamp );
|
5198 |
+
// get the columns that this stamp affects
|
5199 |
+
var isOriginLeft = this._getOption('originLeft');
|
5200 |
+
var firstX = isOriginLeft ? offset.left : offset.right;
|
5201 |
+
var lastX = firstX + stampSize.outerWidth;
|
5202 |
+
var firstCol = Math.floor( firstX / this.columnWidth );
|
5203 |
+
firstCol = Math.max( 0, firstCol );
|
5204 |
+
var lastCol = Math.floor( lastX / this.columnWidth );
|
5205 |
+
// lastCol should not go over if multiple of columnWidth #425
|
5206 |
+
lastCol -= lastX % this.columnWidth ? 0 : 1;
|
5207 |
+
lastCol = Math.min( this.cols - 1, lastCol );
|
5208 |
+
// set colYs to bottom of the stamp
|
5209 |
+
|
5210 |
+
var isOriginTop = this._getOption('originTop');
|
5211 |
+
var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
|
5212 |
+
stampSize.outerHeight;
|
5213 |
+
for ( var i = firstCol; i <= lastCol; i++ ) {
|
5214 |
+
this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
|
5215 |
+
}
|
5216 |
+
};
|
5217 |
+
|
5218 |
+
proto._getContainerSize = function() {
|
5219 |
+
this.maxY = Math.max.apply( Math, this.colYs );
|
5220 |
+
var size = {
|
5221 |
+
height: this.maxY
|
5222 |
+
};
|
5223 |
+
|
5224 |
+
if ( this._getOption('fitWidth') ) {
|
5225 |
+
size.width = this._getContainerFitWidth();
|
5226 |
+
}
|
5227 |
+
|
5228 |
+
return size;
|
5229 |
+
};
|
5230 |
+
|
5231 |
+
proto._getContainerFitWidth = function() {
|
5232 |
+
var unusedCols = 0;
|
5233 |
+
// count unused columns
|
5234 |
+
var i = this.cols;
|
5235 |
+
while ( --i ) {
|
5236 |
+
if ( this.colYs[i] !== 0 ) {
|
5237 |
+
break;
|
5238 |
+
}
|
5239 |
+
unusedCols++;
|
5240 |
+
}
|
5241 |
+
// fit container to columns that have been used
|
5242 |
+
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
|
5243 |
+
};
|
5244 |
+
|
5245 |
+
proto.needsResizeLayout = function() {
|
5246 |
+
var previousWidth = this.containerWidth;
|
5247 |
+
this.getContainerWidth();
|
5248 |
+
return previousWidth != this.containerWidth;
|
5249 |
+
};
|
5250 |
+
|
5251 |
+
return Masonry;
|
5252 |
+
|
5253 |
+
}));
|
5254 |
+
|
5255 |
+
|
5256 |
+
/***/ }),
|
5257 |
+
|
5258 |
+
/***/ "./node_modules/object-assign/index.js":
|
5259 |
+
/*!*********************************************!*\
|
5260 |
+
!*** ./node_modules/object-assign/index.js ***!
|
5261 |
+
\*********************************************/
|
5262 |
+
/*! no static exports found */
|
5263 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5264 |
+
|
5265 |
+
"use strict";
|
5266 |
+
/*
|
5267 |
+
object-assign
|
5268 |
+
(c) Sindre Sorhus
|
5269 |
+
@license MIT
|
5270 |
+
*/
|
5271 |
+
|
5272 |
+
|
5273 |
+
/* eslint-disable no-unused-vars */
|
5274 |
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
5275 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
5276 |
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
5277 |
+
|
5278 |
+
function toObject(val) {
|
5279 |
+
if (val === null || val === undefined) {
|
5280 |
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
5281 |
+
}
|
5282 |
+
|
5283 |
+
return Object(val);
|
5284 |
+
}
|
5285 |
+
|
5286 |
+
function shouldUseNative() {
|
5287 |
+
try {
|
5288 |
+
if (!Object.assign) {
|
5289 |
+
return false;
|
5290 |
+
}
|
5291 |
+
|
5292 |
+
// Detect buggy property enumeration order in older V8 versions.
|
5293 |
+
|
5294 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
5295 |
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
5296 |
+
test1[5] = 'de';
|
5297 |
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
5298 |
+
return false;
|
5299 |
+
}
|
5300 |
+
|
5301 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
5302 |
+
var test2 = {};
|
5303 |
+
for (var i = 0; i < 10; i++) {
|
5304 |
+
test2['_' + String.fromCharCode(i)] = i;
|
5305 |
+
}
|
5306 |
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
5307 |
+
return test2[n];
|
5308 |
+
});
|
5309 |
+
if (order2.join('') !== '0123456789') {
|
5310 |
+
return false;
|
5311 |
+
}
|
5312 |
+
|
5313 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
5314 |
+
var test3 = {};
|
5315 |
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
5316 |
+
test3[letter] = letter;
|
5317 |
+
});
|
5318 |
+
if (Object.keys(Object.assign({}, test3)).join('') !==
|
5319 |
+
'abcdefghijklmnopqrst') {
|
5320 |
+
return false;
|
5321 |
+
}
|
5322 |
+
|
5323 |
+
return true;
|
5324 |
+
} catch (err) {
|
5325 |
+
// We don't expect any of the above to throw, but better to be safe.
|
5326 |
+
return false;
|
5327 |
+
}
|
5328 |
+
}
|
5329 |
+
|
5330 |
+
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
5331 |
+
var from;
|
5332 |
+
var to = toObject(target);
|
5333 |
+
var symbols;
|
5334 |
+
|
5335 |
+
for (var s = 1; s < arguments.length; s++) {
|
5336 |
+
from = Object(arguments[s]);
|
5337 |
+
|
5338 |
+
for (var key in from) {
|
5339 |
+
if (hasOwnProperty.call(from, key)) {
|
5340 |
+
to[key] = from[key];
|
5341 |
+
}
|
5342 |
+
}
|
5343 |
+
|
5344 |
+
if (getOwnPropertySymbols) {
|
5345 |
+
symbols = getOwnPropertySymbols(from);
|
5346 |
+
for (var i = 0; i < symbols.length; i++) {
|
5347 |
+
if (propIsEnumerable.call(from, symbols[i])) {
|
5348 |
+
to[symbols[i]] = from[symbols[i]];
|
5349 |
+
}
|
5350 |
+
}
|
5351 |
+
}
|
5352 |
+
}
|
5353 |
+
|
5354 |
+
return to;
|
5355 |
+
};
|
5356 |
+
|
5357 |
+
|
5358 |
+
/***/ }),
|
5359 |
+
|
5360 |
+
/***/ "./node_modules/outlayer/item.js":
|
5361 |
+
/*!***************************************!*\
|
5362 |
+
!*** ./node_modules/outlayer/item.js ***!
|
5363 |
+
\***************************************/
|
5364 |
+
/*! no static exports found */
|
5365 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5366 |
+
|
5367 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
5368 |
+
* Outlayer Item
|
5369 |
+
*/
|
5370 |
+
|
5371 |
+
( function( window, factory ) {
|
5372 |
+
// universal module definition
|
5373 |
+
/* jshint strict: false */ /* globals define, module, require */
|
5374 |
+
if ( true ) {
|
5375 |
+
// AMD - RequireJS
|
5376 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
5377 |
+
__webpack_require__(/*! ev-emitter/ev-emitter */ "./node_modules/ev-emitter/ev-emitter.js"),
|
5378 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js")
|
5379 |
+
], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
5380 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
5381 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
5382 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5383 |
+
} else {}
|
5384 |
+
|
5385 |
+
}( window, function factory( EvEmitter, getSize ) {
|
5386 |
+
'use strict';
|
5387 |
+
|
5388 |
+
// ----- helpers ----- //
|
5389 |
+
|
5390 |
+
function isEmptyObj( obj ) {
|
5391 |
+
for ( var prop in obj ) {
|
5392 |
+
return false;
|
5393 |
+
}
|
5394 |
+
prop = null;
|
5395 |
+
return true;
|
5396 |
+
}
|
5397 |
+
|
5398 |
+
// -------------------------- CSS3 support -------------------------- //
|
5399 |
+
|
5400 |
+
|
5401 |
+
var docElemStyle = document.documentElement.style;
|
5402 |
+
|
5403 |
+
var transitionProperty = typeof docElemStyle.transition == 'string' ?
|
5404 |
+
'transition' : 'WebkitTransition';
|
5405 |
+
var transformProperty = typeof docElemStyle.transform == 'string' ?
|
5406 |
+
'transform' : 'WebkitTransform';
|
5407 |
+
|
5408 |
+
var transitionEndEvent = {
|
5409 |
+
WebkitTransition: 'webkitTransitionEnd',
|
5410 |
+
transition: 'transitionend'
|
5411 |
+
}[ transitionProperty ];
|
5412 |
+
|
5413 |
+
// cache all vendor properties that could have vendor prefix
|
5414 |
+
var vendorProperties = {
|
5415 |
+
transform: transformProperty,
|
5416 |
+
transition: transitionProperty,
|
5417 |
+
transitionDuration: transitionProperty + 'Duration',
|
5418 |
+
transitionProperty: transitionProperty + 'Property',
|
5419 |
+
transitionDelay: transitionProperty + 'Delay'
|
5420 |
+
};
|
5421 |
+
|
5422 |
+
// -------------------------- Item -------------------------- //
|
5423 |
+
|
5424 |
+
function Item( element, layout ) {
|
5425 |
+
if ( !element ) {
|
5426 |
+
return;
|
5427 |
+
}
|
5428 |
+
|
5429 |
+
this.element = element;
|
5430 |
+
// parent layout class, i.e. Masonry, Isotope, or Packery
|
5431 |
+
this.layout = layout;
|
5432 |
+
this.position = {
|
5433 |
+
x: 0,
|
5434 |
+
y: 0
|
5435 |
+
};
|
5436 |
+
|
5437 |
+
this._create();
|
5438 |
+
}
|
5439 |
+
|
5440 |
+
// inherit EvEmitter
|
5441 |
+
var proto = Item.prototype = Object.create( EvEmitter.prototype );
|
5442 |
+
proto.constructor = Item;
|
5443 |
+
|
5444 |
+
proto._create = function() {
|
5445 |
+
// transition objects
|
5446 |
+
this._transn = {
|
5447 |
+
ingProperties: {},
|
5448 |
+
clean: {},
|
5449 |
+
onEnd: {}
|
5450 |
+
};
|
5451 |
+
|
5452 |
+
this.css({
|
5453 |
+
position: 'absolute'
|
5454 |
+
});
|
5455 |
+
};
|
5456 |
+
|
5457 |
+
// trigger specified handler for event type
|
5458 |
+
proto.handleEvent = function( event ) {
|
5459 |
+
var method = 'on' + event.type;
|
5460 |
+
if ( this[ method ] ) {
|
5461 |
+
this[ method ]( event );
|
5462 |
+
}
|
5463 |
+
};
|
5464 |
+
|
5465 |
+
proto.getSize = function() {
|
5466 |
+
this.size = getSize( this.element );
|
5467 |
+
};
|
5468 |
+
|
5469 |
+
/**
|
5470 |
+
* apply CSS styles to element
|
5471 |
+
* @param {Object} style
|
5472 |
+
*/
|
5473 |
+
proto.css = function( style ) {
|
5474 |
+
var elemStyle = this.element.style;
|
5475 |
+
|
5476 |
+
for ( var prop in style ) {
|
5477 |
+
// use vendor property if available
|
5478 |
+
var supportedProp = vendorProperties[ prop ] || prop;
|
5479 |
+
elemStyle[ supportedProp ] = style[ prop ];
|
5480 |
+
}
|
5481 |
+
};
|
5482 |
+
|
5483 |
+
// measure position, and sets it
|
5484 |
+
proto.getPosition = function() {
|
5485 |
+
var style = getComputedStyle( this.element );
|
5486 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
5487 |
+
var isOriginTop = this.layout._getOption('originTop');
|
5488 |
+
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
5489 |
+
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
5490 |
+
var x = parseFloat( xValue );
|
5491 |
+
var y = parseFloat( yValue );
|
5492 |
+
// convert percent to pixels
|
5493 |
+
var layoutSize = this.layout.size;
|
5494 |
+
if ( xValue.indexOf('%') != -1 ) {
|
5495 |
+
x = ( x / 100 ) * layoutSize.width;
|
5496 |
+
}
|
5497 |
+
if ( yValue.indexOf('%') != -1 ) {
|
5498 |
+
y = ( y / 100 ) * layoutSize.height;
|
5499 |
+
}
|
5500 |
+
// clean up 'auto' or other non-integer values
|
5501 |
+
x = isNaN( x ) ? 0 : x;
|
5502 |
+
y = isNaN( y ) ? 0 : y;
|
5503 |
+
// remove padding from measurement
|
5504 |
+
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
5505 |
+
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
5506 |
+
|
5507 |
+
this.position.x = x;
|
5508 |
+
this.position.y = y;
|
5509 |
+
};
|
5510 |
+
|
5511 |
+
// set settled position, apply padding
|
5512 |
+
proto.layoutPosition = function() {
|
5513 |
+
var layoutSize = this.layout.size;
|
5514 |
+
var style = {};
|
5515 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
5516 |
+
var isOriginTop = this.layout._getOption('originTop');
|
5517 |
+
|
5518 |
+
// x
|
5519 |
+
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
|
5520 |
+
var xProperty = isOriginLeft ? 'left' : 'right';
|
5521 |
+
var xResetProperty = isOriginLeft ? 'right' : 'left';
|
5522 |
+
|
5523 |
+
var x = this.position.x + layoutSize[ xPadding ];
|
5524 |
+
// set in percentage or pixels
|
5525 |
+
style[ xProperty ] = this.getXValue( x );
|
5526 |
+
// reset other property
|
5527 |
+
style[ xResetProperty ] = '';
|
5528 |
+
|
5529 |
+
// y
|
5530 |
+
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
|
5531 |
+
var yProperty = isOriginTop ? 'top' : 'bottom';
|
5532 |
+
var yResetProperty = isOriginTop ? 'bottom' : 'top';
|
5533 |
+
|
5534 |
+
var y = this.position.y + layoutSize[ yPadding ];
|
5535 |
+
// set in percentage or pixels
|
5536 |
+
style[ yProperty ] = this.getYValue( y );
|
5537 |
+
// reset other property
|
5538 |
+
style[ yResetProperty ] = '';
|
5539 |
+
|
5540 |
+
this.css( style );
|
5541 |
+
this.emitEvent( 'layout', [ this ] );
|
5542 |
+
};
|
5543 |
+
|
5544 |
+
proto.getXValue = function( x ) {
|
5545 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
5546 |
+
return this.layout.options.percentPosition && !isHorizontal ?
|
5547 |
+
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
5548 |
+
};
|
5549 |
+
|
5550 |
+
proto.getYValue = function( y ) {
|
5551 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
5552 |
+
return this.layout.options.percentPosition && isHorizontal ?
|
5553 |
+
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
5554 |
+
};
|
5555 |
+
|
5556 |
+
proto._transitionTo = function( x, y ) {
|
5557 |
+
this.getPosition();
|
5558 |
+
// get current x & y from top/left
|
5559 |
+
var curX = this.position.x;
|
5560 |
+
var curY = this.position.y;
|
5561 |
+
|
5562 |
+
var didNotMove = x == this.position.x && y == this.position.y;
|
5563 |
+
|
5564 |
+
// save end position
|
5565 |
+
this.setPosition( x, y );
|
5566 |
+
|
5567 |
+
// if did not move and not transitioning, just go to layout
|
5568 |
+
if ( didNotMove && !this.isTransitioning ) {
|
5569 |
+
this.layoutPosition();
|
5570 |
+
return;
|
5571 |
+
}
|
5572 |
+
|
5573 |
+
var transX = x - curX;
|
5574 |
+
var transY = y - curY;
|
5575 |
+
var transitionStyle = {};
|
5576 |
+
transitionStyle.transform = this.getTranslate( transX, transY );
|
5577 |
+
|
5578 |
+
this.transition({
|
5579 |
+
to: transitionStyle,
|
5580 |
+
onTransitionEnd: {
|
5581 |
+
transform: this.layoutPosition
|
5582 |
+
},
|
5583 |
+
isCleaning: true
|
5584 |
+
});
|
5585 |
+
};
|
5586 |
+
|
5587 |
+
proto.getTranslate = function( x, y ) {
|
5588 |
+
// flip cooridinates if origin on right or bottom
|
5589 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
5590 |
+
var isOriginTop = this.layout._getOption('originTop');
|
5591 |
+
x = isOriginLeft ? x : -x;
|
5592 |
+
y = isOriginTop ? y : -y;
|
5593 |
+
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
|
5594 |
+
};
|
5595 |
+
|
5596 |
+
// non transition + transform support
|
5597 |
+
proto.goTo = function( x, y ) {
|
5598 |
+
this.setPosition( x, y );
|
5599 |
+
this.layoutPosition();
|
5600 |
+
};
|
5601 |
+
|
5602 |
+
proto.moveTo = proto._transitionTo;
|
5603 |
+
|
5604 |
+
proto.setPosition = function( x, y ) {
|
5605 |
+
this.position.x = parseFloat( x );
|
5606 |
+
this.position.y = parseFloat( y );
|
5607 |
+
};
|
5608 |
+
|
5609 |
+
// ----- transition ----- //
|
5610 |
+
|
5611 |
+
/**
|
5612 |
+
* @param {Object} style - CSS
|
5613 |
+
* @param {Function} onTransitionEnd
|
5614 |
+
*/
|
5615 |
+
|
5616 |
+
// non transition, just trigger callback
|
5617 |
+
proto._nonTransition = function( args ) {
|
5618 |
+
this.css( args.to );
|
5619 |
+
if ( args.isCleaning ) {
|
5620 |
+
this._removeStyles( args.to );
|
5621 |
+
}
|
5622 |
+
for ( var prop in args.onTransitionEnd ) {
|
5623 |
+
args.onTransitionEnd[ prop ].call( this );
|
5624 |
+
}
|
5625 |
+
};
|
5626 |
+
|
5627 |
+
/**
|
5628 |
+
* proper transition
|
5629 |
+
* @param {Object} args - arguments
|
5630 |
+
* @param {Object} to - style to transition to
|
5631 |
+
* @param {Object} from - style to start transition from
|
5632 |
+
* @param {Boolean} isCleaning - removes transition styles after transition
|
5633 |
+
* @param {Function} onTransitionEnd - callback
|
5634 |
+
*/
|
5635 |
+
proto.transition = function( args ) {
|
5636 |
+
// redirect to nonTransition if no transition duration
|
5637 |
+
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
|
5638 |
+
this._nonTransition( args );
|
5639 |
+
return;
|
5640 |
+
}
|
5641 |
+
|
5642 |
+
var _transition = this._transn;
|
5643 |
+
// keep track of onTransitionEnd callback by css property
|
5644 |
+
for ( var prop in args.onTransitionEnd ) {
|
5645 |
+
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
|
5646 |
+
}
|
5647 |
+
// keep track of properties that are transitioning
|
5648 |
+
for ( prop in args.to ) {
|
5649 |
+
_transition.ingProperties[ prop ] = true;
|
5650 |
+
// keep track of properties to clean up when transition is done
|
5651 |
+
if ( args.isCleaning ) {
|
5652 |
+
_transition.clean[ prop ] = true;
|
5653 |
+
}
|
5654 |
+
}
|
5655 |
+
|
5656 |
+
// set from styles
|
5657 |
+
if ( args.from ) {
|
5658 |
+
this.css( args.from );
|
5659 |
+
// force redraw. http://blog.alexmaccaw.com/css-transitions
|
5660 |
+
var h = this.element.offsetHeight;
|
5661 |
+
// hack for JSHint to hush about unused var
|
5662 |
+
h = null;
|
5663 |
+
}
|
5664 |
+
// enable transition
|
5665 |
+
this.enableTransition( args.to );
|
5666 |
+
// set styles that are transitioning
|
5667 |
+
this.css( args.to );
|
5668 |
+
|
5669 |
+
this.isTransitioning = true;
|
5670 |
+
|
5671 |
+
};
|
5672 |
+
|
5673 |
+
// dash before all cap letters, including first for
|
5674 |
+
// WebkitTransform => -webkit-transform
|
5675 |
+
function toDashedAll( str ) {
|
5676 |
+
return str.replace( /([A-Z])/g, function( $1 ) {
|
5677 |
+
return '-' + $1.toLowerCase();
|
5678 |
+
});
|
5679 |
+
}
|
5680 |
+
|
5681 |
+
var transitionProps = 'opacity,' + toDashedAll( transformProperty );
|
5682 |
+
|
5683 |
+
proto.enableTransition = function(/* style */) {
|
5684 |
+
// HACK changing transitionProperty during a transition
|
5685 |
+
// will cause transition to jump
|
5686 |
+
if ( this.isTransitioning ) {
|
5687 |
+
return;
|
5688 |
+
}
|
5689 |
+
|
5690 |
+
// make `transition: foo, bar, baz` from style object
|
5691 |
+
// HACK un-comment this when enableTransition can work
|
5692 |
+
// while a transition is happening
|
5693 |
+
// var transitionValues = [];
|
5694 |
+
// for ( var prop in style ) {
|
5695 |
+
// // dash-ify camelCased properties like WebkitTransition
|
5696 |
+
// prop = vendorProperties[ prop ] || prop;
|
5697 |
+
// transitionValues.push( toDashedAll( prop ) );
|
5698 |
+
// }
|
5699 |
+
// munge number to millisecond, to match stagger
|
5700 |
+
var duration = this.layout.options.transitionDuration;
|
5701 |
+
duration = typeof duration == 'number' ? duration + 'ms' : duration;
|
5702 |
+
// enable transition styles
|
5703 |
+
this.css({
|
5704 |
+
transitionProperty: transitionProps,
|
5705 |
+
transitionDuration: duration,
|
5706 |
+
transitionDelay: this.staggerDelay || 0
|
5707 |
+
});
|
5708 |
+
// listen for transition end event
|
5709 |
+
this.element.addEventListener( transitionEndEvent, this, false );
|
5710 |
+
};
|
5711 |
+
|
5712 |
+
// ----- events ----- //
|
5713 |
+
|
5714 |
+
proto.onwebkitTransitionEnd = function( event ) {
|
5715 |
+
this.ontransitionend( event );
|
5716 |
+
};
|
5717 |
+
|
5718 |
+
proto.onotransitionend = function( event ) {
|
5719 |
+
this.ontransitionend( event );
|
5720 |
+
};
|
5721 |
+
|
5722 |
+
// properties that I munge to make my life easier
|
5723 |
+
var dashedVendorProperties = {
|
5724 |
+
'-webkit-transform': 'transform'
|
5725 |
+
};
|
5726 |
+
|
5727 |
+
proto.ontransitionend = function( event ) {
|
5728 |
+
// disregard bubbled events from children
|
5729 |
+
if ( event.target !== this.element ) {
|
5730 |
+
return;
|
5731 |
+
}
|
5732 |
+
var _transition = this._transn;
|
5733 |
+
// get property name of transitioned property, convert to prefix-free
|
5734 |
+
var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
|
5735 |
+
|
5736 |
+
// remove property that has completed transitioning
|
5737 |
+
delete _transition.ingProperties[ propertyName ];
|
5738 |
+
// check if any properties are still transitioning
|
5739 |
+
if ( isEmptyObj( _transition.ingProperties ) ) {
|
5740 |
+
// all properties have completed transitioning
|
5741 |
+
this.disableTransition();
|
5742 |
+
}
|
5743 |
+
// clean style
|
5744 |
+
if ( propertyName in _transition.clean ) {
|
5745 |
+
// clean up style
|
5746 |
+
this.element.style[ event.propertyName ] = '';
|
5747 |
+
delete _transition.clean[ propertyName ];
|
5748 |
+
}
|
5749 |
+
// trigger onTransitionEnd callback
|
5750 |
+
if ( propertyName in _transition.onEnd ) {
|
5751 |
+
var onTransitionEnd = _transition.onEnd[ propertyName ];
|
5752 |
+
onTransitionEnd.call( this );
|
5753 |
+
delete _transition.onEnd[ propertyName ];
|
5754 |
+
}
|
5755 |
+
|
5756 |
+
this.emitEvent( 'transitionEnd', [ this ] );
|
5757 |
+
};
|
5758 |
+
|
5759 |
+
proto.disableTransition = function() {
|
5760 |
+
this.removeTransitionStyles();
|
5761 |
+
this.element.removeEventListener( transitionEndEvent, this, false );
|
5762 |
+
this.isTransitioning = false;
|
5763 |
+
};
|
5764 |
+
|
5765 |
+
/**
|
5766 |
+
* removes style property from element
|
5767 |
+
* @param {Object} style
|
5768 |
+
**/
|
5769 |
+
proto._removeStyles = function( style ) {
|
5770 |
+
// clean up transition styles
|
5771 |
+
var cleanStyle = {};
|
5772 |
+
for ( var prop in style ) {
|
5773 |
+
cleanStyle[ prop ] = '';
|
5774 |
+
}
|
5775 |
+
this.css( cleanStyle );
|
5776 |
+
};
|
5777 |
+
|
5778 |
+
var cleanTransitionStyle = {
|
5779 |
+
transitionProperty: '',
|
5780 |
+
transitionDuration: '',
|
5781 |
+
transitionDelay: ''
|
5782 |
+
};
|
5783 |
+
|
5784 |
+
proto.removeTransitionStyles = function() {
|
5785 |
+
// remove transition
|
5786 |
+
this.css( cleanTransitionStyle );
|
5787 |
+
};
|
5788 |
+
|
5789 |
+
// ----- stagger ----- //
|
5790 |
+
|
5791 |
+
proto.stagger = function( delay ) {
|
5792 |
+
delay = isNaN( delay ) ? 0 : delay;
|
5793 |
+
this.staggerDelay = delay + 'ms';
|
5794 |
+
};
|
5795 |
+
|
5796 |
+
// ----- show/hide/remove ----- //
|
5797 |
+
|
5798 |
+
// remove element from DOM
|
5799 |
+
proto.removeElem = function() {
|
5800 |
+
this.element.parentNode.removeChild( this.element );
|
5801 |
+
// remove display: none
|
5802 |
+
this.css({ display: '' });
|
5803 |
+
this.emitEvent( 'remove', [ this ] );
|
5804 |
+
};
|
5805 |
+
|
5806 |
+
proto.remove = function() {
|
5807 |
+
// just remove element if no transition support or no transition
|
5808 |
+
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
|
5809 |
+
this.removeElem();
|
5810 |
+
return;
|
5811 |
+
}
|
5812 |
+
|
5813 |
+
// start transition
|
5814 |
+
this.once( 'transitionEnd', function() {
|
5815 |
+
this.removeElem();
|
5816 |
+
});
|
5817 |
+
this.hide();
|
5818 |
+
};
|
5819 |
+
|
5820 |
+
proto.reveal = function() {
|
5821 |
+
delete this.isHidden;
|
5822 |
+
// remove display: none
|
5823 |
+
this.css({ display: '' });
|
5824 |
+
|
5825 |
+
var options = this.layout.options;
|
5826 |
+
|
5827 |
+
var onTransitionEnd = {};
|
5828 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
|
5829 |
+
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
|
5830 |
+
|
5831 |
+
this.transition({
|
5832 |
+
from: options.hiddenStyle,
|
5833 |
+
to: options.visibleStyle,
|
5834 |
+
isCleaning: true,
|
5835 |
+
onTransitionEnd: onTransitionEnd
|
5836 |
+
});
|
5837 |
+
};
|
5838 |
+
|
5839 |
+
proto.onRevealTransitionEnd = function() {
|
5840 |
+
// check if still visible
|
5841 |
+
// during transition, item may have been hidden
|
5842 |
+
if ( !this.isHidden ) {
|
5843 |
+
this.emitEvent('reveal');
|
5844 |
+
}
|
5845 |
+
};
|
5846 |
+
|
5847 |
+
/**
|
5848 |
+
* get style property use for hide/reveal transition end
|
5849 |
+
* @param {String} styleProperty - hiddenStyle/visibleStyle
|
5850 |
+
* @returns {String}
|
5851 |
+
*/
|
5852 |
+
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
|
5853 |
+
var optionStyle = this.layout.options[ styleProperty ];
|
5854 |
+
// use opacity
|
5855 |
+
if ( optionStyle.opacity ) {
|
5856 |
+
return 'opacity';
|
5857 |
+
}
|
5858 |
+
// get first property
|
5859 |
+
for ( var prop in optionStyle ) {
|
5860 |
+
return prop;
|
5861 |
+
}
|
5862 |
+
};
|
5863 |
+
|
5864 |
+
proto.hide = function() {
|
5865 |
+
// set flag
|
5866 |
+
this.isHidden = true;
|
5867 |
+
// remove display: none
|
5868 |
+
this.css({ display: '' });
|
5869 |
+
|
5870 |
+
var options = this.layout.options;
|
5871 |
+
|
5872 |
+
var onTransitionEnd = {};
|
5873 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
|
5874 |
+
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
|
5875 |
+
|
5876 |
+
this.transition({
|
5877 |
+
from: options.visibleStyle,
|
5878 |
+
to: options.hiddenStyle,
|
5879 |
+
// keep hidden stuff hidden
|
5880 |
+
isCleaning: true,
|
5881 |
+
onTransitionEnd: onTransitionEnd
|
5882 |
+
});
|
5883 |
+
};
|
5884 |
+
|
5885 |
+
proto.onHideTransitionEnd = function() {
|
5886 |
+
// check if still hidden
|
5887 |
+
// during transition, item may have been un-hidden
|
5888 |
+
if ( this.isHidden ) {
|
5889 |
+
this.css({ display: 'none' });
|
5890 |
+
this.emitEvent('hide');
|
5891 |
+
}
|
5892 |
+
};
|
5893 |
+
|
5894 |
+
proto.destroy = function() {
|
5895 |
+
this.css({
|
5896 |
+
position: '',
|
5897 |
+
left: '',
|
5898 |
+
right: '',
|
5899 |
+
top: '',
|
5900 |
+
bottom: '',
|
5901 |
+
transition: '',
|
5902 |
+
transform: ''
|
5903 |
+
});
|
5904 |
+
};
|
5905 |
+
|
5906 |
+
return Item;
|
5907 |
+
|
5908 |
+
}));
|
5909 |
+
|
5910 |
+
|
5911 |
+
/***/ }),
|
5912 |
+
|
5913 |
+
/***/ "./node_modules/outlayer/outlayer.js":
|
5914 |
+
/*!*******************************************!*\
|
5915 |
+
!*** ./node_modules/outlayer/outlayer.js ***!
|
5916 |
+
\*******************************************/
|
5917 |
+
/*! no static exports found */
|
5918 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5919 |
+
|
5920 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
5921 |
+
* Outlayer v2.1.1
|
5922 |
+
* the brains and guts of a layout library
|
5923 |
+
* MIT license
|
5924 |
+
*/
|
5925 |
+
|
5926 |
+
( function( window, factory ) {
|
5927 |
+
'use strict';
|
5928 |
+
// universal module definition
|
5929 |
+
/* jshint strict: false */ /* globals define, module, require */
|
5930 |
+
if ( true ) {
|
5931 |
+
// AMD - RequireJS
|
5932 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
5933 |
+
__webpack_require__(/*! ev-emitter/ev-emitter */ "./node_modules/ev-emitter/ev-emitter.js"),
|
5934 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js"),
|
5935 |
+
__webpack_require__(/*! fizzy-ui-utils/utils */ "./node_modules/fizzy-ui-utils/utils.js"),
|
5936 |
+
__webpack_require__(/*! ./item */ "./node_modules/outlayer/item.js")
|
5937 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function( EvEmitter, getSize, utils, Item ) {
|
5938 |
+
return factory( window, EvEmitter, getSize, utils, Item);
|
5939 |
+
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
5940 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5941 |
+
} else {}
|
5942 |
+
|
5943 |
+
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {
|
5944 |
+
'use strict';
|
5945 |
+
|
5946 |
+
// ----- vars ----- //
|
5947 |
+
|
5948 |
+
var console = window.console;
|
5949 |
+
var jQuery = window.jQuery;
|
5950 |
+
var noop = function() {};
|
5951 |
+
|
5952 |
+
// -------------------------- Outlayer -------------------------- //
|
5953 |
+
|
5954 |
+
// globally unique identifiers
|
5955 |
+
var GUID = 0;
|
5956 |
+
// internal store of all Outlayer intances
|
5957 |
+
var instances = {};
|
5958 |
+
|
5959 |
+
|
5960 |
+
/**
|
5961 |
+
* @param {Element, String} element
|
5962 |
+
* @param {Object} options
|
5963 |
+
* @constructor
|
5964 |
+
*/
|
5965 |
+
function Outlayer( element, options ) {
|
5966 |
+
var queryElement = utils.getQueryElement( element );
|
5967 |
+
if ( !queryElement ) {
|
5968 |
+
if ( console ) {
|
5969 |
+
console.error( 'Bad element for ' + this.constructor.namespace +
|
5970 |
+
': ' + ( queryElement || element ) );
|
5971 |
+
}
|
5972 |
+
return;
|
5973 |
+
}
|
5974 |
+
this.element = queryElement;
|
5975 |
+
// add jQuery
|
5976 |
+
if ( jQuery ) {
|
5977 |
+
this.$element = jQuery( this.element );
|
5978 |
+
}
|
5979 |
+
|
5980 |
+
// options
|
5981 |
+
this.options = utils.extend( {}, this.constructor.defaults );
|
5982 |
+
this.option( options );
|
5983 |
+
|
5984 |
+
// add id for Outlayer.getFromElement
|
5985 |
+
var id = ++GUID;
|
5986 |
+
this.element.outlayerGUID = id; // expando
|
5987 |
+
instances[ id ] = this; // associate via id
|
5988 |
+
|
5989 |
+
// kick it off
|
5990 |
+
this._create();
|
5991 |
+
|
5992 |
+
var isInitLayout = this._getOption('initLayout');
|
5993 |
+
if ( isInitLayout ) {
|
5994 |
+
this.layout();
|
5995 |
+
}
|
5996 |
+
}
|
5997 |
+
|
5998 |
+
// settings are for internal use only
|
5999 |
+
Outlayer.namespace = 'outlayer';
|
6000 |
+
Outlayer.Item = Item;
|
6001 |
+
|
6002 |
+
// default options
|
6003 |
+
Outlayer.defaults = {
|
6004 |
+
containerStyle: {
|
6005 |
+
position: 'relative'
|
6006 |
+
},
|
6007 |
+
initLayout: true,
|
6008 |
+
originLeft: true,
|
6009 |
+
originTop: true,
|
6010 |
+
resize: true,
|
6011 |
+
resizeContainer: true,
|
6012 |
+
// item options
|
6013 |
+
transitionDuration: '0.4s',
|
6014 |
+
hiddenStyle: {
|
6015 |
+
opacity: 0,
|
6016 |
+
transform: 'scale(0.001)'
|
6017 |
+
},
|
6018 |
+
visibleStyle: {
|
6019 |
+
opacity: 1,
|
6020 |
+
transform: 'scale(1)'
|
6021 |
+
}
|
6022 |
+
};
|
6023 |
+
|
6024 |
+
var proto = Outlayer.prototype;
|
6025 |
+
// inherit EvEmitter
|
6026 |
+
utils.extend( proto, EvEmitter.prototype );
|
6027 |
+
|
6028 |
+
/**
|
6029 |
+
* set options
|
6030 |
+
* @param {Object} opts
|
6031 |
+
*/
|
6032 |
+
proto.option = function( opts ) {
|
6033 |
+
utils.extend( this.options, opts );
|
6034 |
+
};
|
6035 |
+
|
6036 |
+
/**
|
6037 |
+
* get backwards compatible option value, check old name
|
6038 |
+
*/
|
6039 |
+
proto._getOption = function( option ) {
|
6040 |
+
var oldOption = this.constructor.compatOptions[ option ];
|
6041 |
+
return oldOption && this.options[ oldOption ] !== undefined ?
|
6042 |
+
this.options[ oldOption ] : this.options[ option ];
|
6043 |
+
};
|
6044 |
+
|
6045 |
+
Outlayer.compatOptions = {
|
6046 |
+
// currentName: oldName
|
6047 |
+
initLayout: 'isInitLayout',
|
6048 |
+
horizontal: 'isHorizontal',
|
6049 |
+
layoutInstant: 'isLayoutInstant',
|
6050 |
+
originLeft: 'isOriginLeft',
|
6051 |
+
originTop: 'isOriginTop',
|
6052 |
+
resize: 'isResizeBound',
|
6053 |
+
resizeContainer: 'isResizingContainer'
|
6054 |
+
};
|
6055 |
+
|
6056 |
+
proto._create = function() {
|
6057 |
+
// get items from children
|
6058 |
+
this.reloadItems();
|
6059 |
+
// elements that affect layout, but are not laid out
|
6060 |
+
this.stamps = [];
|
6061 |
+
this.stamp( this.options.stamp );
|
6062 |
+
// set container style
|
6063 |
+
utils.extend( this.element.style, this.options.containerStyle );
|
6064 |
+
|
6065 |
+
// bind resize method
|
6066 |
+
var canBindResize = this._getOption('resize');
|
6067 |
+
if ( canBindResize ) {
|
6068 |
+
this.bindResize();
|
6069 |
+
}
|
6070 |
+
};
|
6071 |
+
|
6072 |
+
// goes through all children again and gets bricks in proper order
|
6073 |
+
proto.reloadItems = function() {
|
6074 |
+
// collection of item elements
|
6075 |
+
this.items = this._itemize( this.element.children );
|
6076 |
+
};
|
6077 |
+
|
6078 |
+
|
6079 |
+
/**
|
6080 |
+
* turn elements into Outlayer.Items to be used in layout
|
6081 |
+
* @param {Array or NodeList or HTMLElement} elems
|
6082 |
+
* @returns {Array} items - collection of new Outlayer Items
|
6083 |
+
*/
|
6084 |
+
proto._itemize = function( elems ) {
|
6085 |
+
|
6086 |
+
var itemElems = this._filterFindItemElements( elems );
|
6087 |
+
var Item = this.constructor.Item;
|
6088 |
+
|
6089 |
+
// create new Outlayer Items for collection
|
6090 |
+
var items = [];
|
6091 |
+
for ( var i=0; i < itemElems.length; i++ ) {
|
6092 |
+
var elem = itemElems[i];
|
6093 |
+
var item = new Item( elem, this );
|
6094 |
+
items.push( item );
|
6095 |
+
}
|
6096 |
+
|
6097 |
+
return items;
|
6098 |
+
};
|
6099 |
+
|
6100 |
+
/**
|
6101 |
+
* get item elements to be used in layout
|
6102 |
+
* @param {Array or NodeList or HTMLElement} elems
|
6103 |
+
* @returns {Array} items - item elements
|
6104 |
+
*/
|
6105 |
+
proto._filterFindItemElements = function( elems ) {
|
6106 |
+
return utils.filterFindElements( elems, this.options.itemSelector );
|
6107 |
+
};
|
6108 |
+
|
6109 |
+
/**
|
6110 |
+
* getter method for getting item elements
|
6111 |
+
* @returns {Array} elems - collection of item elements
|
6112 |
+
*/
|
6113 |
+
proto.getItemElements = function() {
|
6114 |
+
return this.items.map( function( item ) {
|
6115 |
+
return item.element;
|
6116 |
+
});
|
6117 |
+
};
|
6118 |
+
|
6119 |
+
// ----- init & layout ----- //
|
6120 |
+
|
6121 |
+
/**
|
6122 |
+
* lays out all items
|
6123 |
+
*/
|
6124 |
+
proto.layout = function() {
|
6125 |
+
this._resetLayout();
|
6126 |
+
this._manageStamps();
|
6127 |
+
|
6128 |
+
// don't animate first layout
|
6129 |
+
var layoutInstant = this._getOption('layoutInstant');
|
6130 |
+
var isInstant = layoutInstant !== undefined ?
|
6131 |
+
layoutInstant : !this._isLayoutInited;
|
6132 |
+
this.layoutItems( this.items, isInstant );
|
6133 |
+
|
6134 |
+
// flag for initalized
|
6135 |
+
this._isLayoutInited = true;
|
6136 |
+
};
|
6137 |
+
|
6138 |
+
// _init is alias for layout
|
6139 |
+
proto._init = proto.layout;
|
6140 |
+
|
6141 |
+
/**
|
6142 |
+
* logic before any new layout
|
6143 |
+
*/
|
6144 |
+
proto._resetLayout = function() {
|
6145 |
+
this.getSize();
|
6146 |
+
};
|
6147 |
+
|
6148 |
+
|
6149 |
+
proto.getSize = function() {
|
6150 |
+
this.size = getSize( this.element );
|
6151 |
+
};
|
6152 |
+
|
6153 |
+
/**
|
6154 |
+
* get measurement from option, for columnWidth, rowHeight, gutter
|
6155 |
+
* if option is String -> get element from selector string, & get size of element
|
6156 |
+
* if option is Element -> get size of element
|
6157 |
+
* else use option as a number
|
6158 |
+
*
|
6159 |
+
* @param {String} measurement
|
6160 |
+
* @param {String} size - width or height
|
6161 |
+
* @private
|
6162 |
+
*/
|
6163 |
+
proto._getMeasurement = function( measurement, size ) {
|
6164 |
+
var option = this.options[ measurement ];
|
6165 |
+
var elem;
|
6166 |
+
if ( !option ) {
|
6167 |
+
// default to 0
|
6168 |
+
this[ measurement ] = 0;
|
6169 |
+
} else {
|
6170 |
+
// use option as an element
|
6171 |
+
if ( typeof option == 'string' ) {
|
6172 |
+
elem = this.element.querySelector( option );
|
6173 |
+
} else if ( option instanceof HTMLElement ) {
|
6174 |
+
elem = option;
|
6175 |
+
}
|
6176 |
+
// use size of element, if element
|
6177 |
+
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
|
6178 |
+
}
|
6179 |
+
};
|
6180 |
+
|
6181 |
+
/**
|
6182 |
+
* layout a collection of item elements
|
6183 |
+
* @api public
|
6184 |
+
*/
|
6185 |
+
proto.layoutItems = function( items, isInstant ) {
|
6186 |
+
items = this._getItemsForLayout( items );
|
6187 |
+
|
6188 |
+
this._layoutItems( items, isInstant );
|
6189 |
+
|
6190 |
+
this._postLayout();
|
6191 |
+
};
|
6192 |
+
|
6193 |
+
/**
|
6194 |
+
* get the items to be laid out
|
6195 |
+
* you may want to skip over some items
|
6196 |
+
* @param {Array} items
|
6197 |
+
* @returns {Array} items
|
6198 |
+
*/
|
6199 |
+
proto._getItemsForLayout = function( items ) {
|
6200 |
+
return items.filter( function( item ) {
|
6201 |
+
return !item.isIgnored;
|
6202 |
+
});
|
6203 |
+
};
|
6204 |
+
|
6205 |
+
/**
|
6206 |
+
* layout items
|
6207 |
+
* @param {Array} items
|
6208 |
+
* @param {Boolean} isInstant
|
6209 |
+
*/
|
6210 |
+
proto._layoutItems = function( items, isInstant ) {
|
6211 |
+
this._emitCompleteOnItems( 'layout', items );
|
6212 |
+
|
6213 |
+
if ( !items || !items.length ) {
|
6214 |
+
// no items, emit event with empty array
|
6215 |
+
return;
|
6216 |
+
}
|
6217 |
+
|
6218 |
+
var queue = [];
|
6219 |
+
|
6220 |
+
items.forEach( function( item ) {
|
6221 |
+
// get x/y object from method
|
6222 |
+
var position = this._getItemLayoutPosition( item );
|
6223 |
+
// enqueue
|
6224 |
+
position.item = item;
|
6225 |
+
position.isInstant = isInstant || item.isLayoutInstant;
|
6226 |
+
queue.push( position );
|
6227 |
+
}, this );
|
6228 |
+
|
6229 |
+
this._processLayoutQueue( queue );
|
6230 |
+
};
|
6231 |
+
|
6232 |
+
/**
|
6233 |
+
* get item layout position
|
6234 |
+
* @param {Outlayer.Item} item
|
6235 |
+
* @returns {Object} x and y position
|
6236 |
+
*/
|
6237 |
+
proto._getItemLayoutPosition = function( /* item */ ) {
|
6238 |
+
return {
|
6239 |
+
x: 0,
|
6240 |
+
y: 0
|
6241 |
+
};
|
6242 |
+
};
|
6243 |
+
|
6244 |
+
/**
|
6245 |
+
* iterate over array and position each item
|
6246 |
+
* Reason being - separating this logic prevents 'layout invalidation'
|
6247 |
+
* thx @paul_irish
|
6248 |
+
* @param {Array} queue
|
6249 |
+
*/
|
6250 |
+
proto._processLayoutQueue = function( queue ) {
|
6251 |
+
this.updateStagger();
|
6252 |
+
queue.forEach( function( obj, i ) {
|
6253 |
+
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
|
6254 |
+
}, this );
|
6255 |
+
};
|
6256 |
+
|
6257 |
+
// set stagger from option in milliseconds number
|
6258 |
+
proto.updateStagger = function() {
|
6259 |
+
var stagger = this.options.stagger;
|
6260 |
+
if ( stagger === null || stagger === undefined ) {
|
6261 |
+
this.stagger = 0;
|
6262 |
+
return;
|
6263 |
+
}
|
6264 |
+
this.stagger = getMilliseconds( stagger );
|
6265 |
+
return this.stagger;
|
6266 |
+
};
|
6267 |
+
|
6268 |
+
/**
|
6269 |
+
* Sets position of item in DOM
|
6270 |
+
* @param {Outlayer.Item} item
|
6271 |
+
* @param {Number} x - horizontal position
|
6272 |
+
* @param {Number} y - vertical position
|
6273 |
+
* @param {Boolean} isInstant - disables transitions
|
6274 |
+
*/
|
6275 |
+
proto._positionItem = function( item, x, y, isInstant, i ) {
|
6276 |
+
if ( isInstant ) {
|
6277 |
+
// if not transition, just set CSS
|
6278 |
+
item.goTo( x, y );
|
6279 |
+
} else {
|
6280 |
+
item.stagger( i * this.stagger );
|
6281 |
+
item.moveTo( x, y );
|
6282 |
+
}
|
6283 |
+
};
|
6284 |
+
|
6285 |
+
/**
|
6286 |
+
* Any logic you want to do after each layout,
|
6287 |
+
* i.e. size the container
|
6288 |
+
*/
|
6289 |
+
proto._postLayout = function() {
|
6290 |
+
this.resizeContainer();
|
6291 |
+
};
|
6292 |
+
|
6293 |
+
proto.resizeContainer = function() {
|
6294 |
+
var isResizingContainer = this._getOption('resizeContainer');
|
6295 |
+
if ( !isResizingContainer ) {
|
6296 |
+
return;
|
6297 |
+
}
|
6298 |
+
var size = this._getContainerSize();
|
6299 |
+
if ( size ) {
|
6300 |
+
this._setContainerMeasure( size.width, true );
|
6301 |
+
this._setContainerMeasure( size.height, false );
|
6302 |
+
}
|
6303 |
+
};
|
6304 |
+
|
6305 |
+
/**
|
6306 |
+
* Sets width or height of container if returned
|
6307 |
+
* @returns {Object} size
|
6308 |
+
* @param {Number} width
|
6309 |
+
* @param {Number} height
|
6310 |
+
*/
|
6311 |
+
proto._getContainerSize = noop;
|
6312 |
+
|
6313 |
+
/**
|
6314 |
+
* @param {Number} measure - size of width or height
|
6315 |
+
* @param {Boolean} isWidth
|
6316 |
+
*/
|
6317 |
+
proto._setContainerMeasure = function( measure, isWidth ) {
|
6318 |
+
if ( measure === undefined ) {
|
6319 |
+
return;
|
6320 |
+
}
|
6321 |
+
|
6322 |
+
var elemSize = this.size;
|
6323 |
+
// add padding and border width if border box
|
6324 |
+
if ( elemSize.isBorderBox ) {
|
6325 |
+
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
|
6326 |
+
elemSize.borderLeftWidth + elemSize.borderRightWidth :
|
6327 |
+
elemSize.paddingBottom + elemSize.paddingTop +
|
6328 |
+
elemSize.borderTopWidth + elemSize.borderBottomWidth;
|
6329 |
+
}
|
6330 |
+
|
6331 |
+
measure = Math.max( measure, 0 );
|
6332 |
+
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
|
6333 |
+
};
|
6334 |
+
|
6335 |
+
/**
|
6336 |
+
* emit eventComplete on a collection of items events
|
6337 |
+
* @param {String} eventName
|
6338 |
+
* @param {Array} items - Outlayer.Items
|
6339 |
+
*/
|
6340 |
+
proto._emitCompleteOnItems = function( eventName, items ) {
|
6341 |
+
var _this = this;
|
6342 |
+
function onComplete() {
|
6343 |
+
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
6344 |
+
}
|
6345 |
+
|
6346 |
+
var count = items.length;
|
6347 |
+
if ( !items || !count ) {
|
6348 |
+
onComplete();
|
6349 |
+
return;
|
6350 |
+
}
|
6351 |
+
|
6352 |
+
var doneCount = 0;
|
6353 |
+
function tick() {
|
6354 |
+
doneCount++;
|
6355 |
+
if ( doneCount == count ) {
|
6356 |
+
onComplete();
|
6357 |
+
}
|
6358 |
+
}
|
6359 |
+
|
6360 |
+
// bind callback
|
6361 |
+
items.forEach( function( item ) {
|
6362 |
+
item.once( eventName, tick );
|
6363 |
+
});
|
6364 |
+
};
|
6365 |
+
|
6366 |
+
/**
|
6367 |
+
* emits events via EvEmitter and jQuery events
|
6368 |
+
* @param {String} type - name of event
|
6369 |
+
* @param {Event} event - original event
|
6370 |
+
* @param {Array} args - extra arguments
|
6371 |
+
*/
|
6372 |
+
proto.dispatchEvent = function( type, event, args ) {
|
6373 |
+
// add original event to arguments
|
6374 |
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
6375 |
+
this.emitEvent( type, emitArgs );
|
6376 |
+
|
6377 |
+
if ( jQuery ) {
|
6378 |
+
// set this.$element
|
6379 |
+
this.$element = this.$element || jQuery( this.element );
|
6380 |
+
if ( event ) {
|
6381 |
+
// create jQuery event
|
6382 |
+
var $event = jQuery.Event( event );
|
6383 |
+
$event.type = type;
|
6384 |
+
this.$element.trigger( $event, args );
|
6385 |
+
} else {
|
6386 |
+
// just trigger with type if no event available
|
6387 |
+
this.$element.trigger( type, args );
|
6388 |
+
}
|
6389 |
+
}
|
6390 |
+
};
|
6391 |
+
|
6392 |
+
// -------------------------- ignore & stamps -------------------------- //
|
6393 |
+
|
6394 |
+
|
6395 |
+
/**
|
6396 |
+
* keep item in collection, but do not lay it out
|
6397 |
+
* ignored items do not get skipped in layout
|
6398 |
+
* @param {Element} elem
|
6399 |
+
*/
|
6400 |
+
proto.ignore = function( elem ) {
|
6401 |
+
var item = this.getItem( elem );
|
6402 |
+
if ( item ) {
|
6403 |
+
item.isIgnored = true;
|
6404 |
+
}
|
6405 |
+
};
|
6406 |
+
|
6407 |
+
/**
|
6408 |
+
* return item to layout collection
|
6409 |
+
* @param {Element} elem
|
6410 |
+
*/
|
6411 |
+
proto.unignore = function( elem ) {
|
6412 |
+
var item = this.getItem( elem );
|
6413 |
+
if ( item ) {
|
6414 |
+
delete item.isIgnored;
|
6415 |
+
}
|
6416 |
+
};
|
6417 |
+
|
6418 |
+
/**
|
6419 |
+
* adds elements to stamps
|
6420 |
+
* @param {NodeList, Array, Element, or String} elems
|
6421 |
+
*/
|
6422 |
+
proto.stamp = function( elems ) {
|
6423 |
+
elems = this._find( elems );
|
6424 |
+
if ( !elems ) {
|
6425 |
+
return;
|
6426 |
+
}
|
6427 |
+
|
6428 |
+
this.stamps = this.stamps.concat( elems );
|
6429 |
+
// ignore
|
6430 |
+
elems.forEach( this.ignore, this );
|
6431 |
+
};
|
6432 |
+
|
6433 |
+
/**
|
6434 |
+
* removes elements to stamps
|
6435 |
+
* @param {NodeList, Array, or Element} elems
|
6436 |
+
*/
|
6437 |
+
proto.unstamp = function( elems ) {
|
6438 |
+
elems = this._find( elems );
|
6439 |
+
if ( !elems ){
|
6440 |
+
return;
|
6441 |
+
}
|
6442 |
+
|
6443 |
+
elems.forEach( function( elem ) {
|
6444 |
+
// filter out removed stamp elements
|
6445 |
+
utils.removeFrom( this.stamps, elem );
|
6446 |
+
this.unignore( elem );
|
6447 |
+
}, this );
|
6448 |
+
};
|
6449 |
+
|
6450 |
+
/**
|
6451 |
+
* finds child elements
|
6452 |
+
* @param {NodeList, Array, Element, or String} elems
|
6453 |
+
* @returns {Array} elems
|
6454 |
+
*/
|
6455 |
+
proto._find = function( elems ) {
|
6456 |
+
if ( !elems ) {
|
6457 |
+
return;
|
6458 |
+
}
|
6459 |
+
// if string, use argument as selector string
|
6460 |
+
if ( typeof elems == 'string' ) {
|
6461 |
+
elems = this.element.querySelectorAll( elems );
|
6462 |
+
}
|
6463 |
+
elems = utils.makeArray( elems );
|
6464 |
+
return elems;
|
6465 |
+
};
|
6466 |
+
|
6467 |
+
proto._manageStamps = function() {
|
6468 |
+
if ( !this.stamps || !this.stamps.length ) {
|
6469 |
+
return;
|
6470 |
+
}
|
6471 |
+
|
6472 |
+
this._getBoundingRect();
|
6473 |
+
|
6474 |
+
this.stamps.forEach( this._manageStamp, this );
|
6475 |
+
};
|
6476 |
+
|
6477 |
+
// update boundingLeft / Top
|
6478 |
+
proto._getBoundingRect = function() {
|
6479 |
+
// get bounding rect for container element
|
6480 |
+
var boundingRect = this.element.getBoundingClientRect();
|
6481 |
+
var size = this.size;
|
6482 |
+
this._boundingRect = {
|
6483 |
+
left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
|
6484 |
+
top: boundingRect.top + size.paddingTop + size.borderTopWidth,
|
6485 |
+
right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
|
6486 |
+
bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
|
6487 |
+
};
|
6488 |
+
};
|
6489 |
+
|
6490 |
+
/**
|
6491 |
+
* @param {Element} stamp
|
6492 |
+
**/
|
6493 |
+
proto._manageStamp = noop;
|
6494 |
+
|
6495 |
+
/**
|
6496 |
+
* get x/y position of element relative to container element
|
6497 |
+
* @param {Element} elem
|
6498 |
+
* @returns {Object} offset - has left, top, right, bottom
|
6499 |
+
*/
|
6500 |
+
proto._getElementOffset = function( elem ) {
|
6501 |
+
var boundingRect = elem.getBoundingClientRect();
|
6502 |
+
var thisRect = this._boundingRect;
|
6503 |
+
var size = getSize( elem );
|
6504 |
+
var offset = {
|
6505 |
+
left: boundingRect.left - thisRect.left - size.marginLeft,
|
6506 |
+
top: boundingRect.top - thisRect.top - size.marginTop,
|
6507 |
+
right: thisRect.right - boundingRect.right - size.marginRight,
|
6508 |
+
bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
|
6509 |
+
};
|
6510 |
+
return offset;
|
6511 |
+
};
|
6512 |
+
|
6513 |
+
// -------------------------- resize -------------------------- //
|
6514 |
+
|
6515 |
+
// enable event handlers for listeners
|
6516 |
+
// i.e. resize -> onresize
|
6517 |
+
proto.handleEvent = utils.handleEvent;
|
6518 |
+
|
6519 |
+
/**
|
6520 |
+
* Bind layout to window resizing
|
6521 |
+
*/
|
6522 |
+
proto.bindResize = function() {
|
6523 |
+
window.addEventListener( 'resize', this );
|
6524 |
+
this.isResizeBound = true;
|
6525 |
+
};
|
6526 |
+
|
6527 |
+
/**
|
6528 |
+
* Unbind layout to window resizing
|
6529 |
+
*/
|
6530 |
+
proto.unbindResize = function() {
|
6531 |
+
window.removeEventListener( 'resize', this );
|
6532 |
+
this.isResizeBound = false;
|
6533 |
+
};
|
6534 |
+
|
6535 |
+
proto.onresize = function() {
|
6536 |
+
this.resize();
|
6537 |
+
};
|
6538 |
+
|
6539 |
+
utils.debounceMethod( Outlayer, 'onresize', 100 );
|
6540 |
+
|
6541 |
+
proto.resize = function() {
|
6542 |
+
// don't trigger if size did not change
|
6543 |
+
// or if resize was unbound. See #9
|
6544 |
+
if ( !this.isResizeBound || !this.needsResizeLayout() ) {
|
6545 |
+
return;
|
6546 |
+
}
|
6547 |
+
|
6548 |
+
this.layout();
|
6549 |
+
};
|
6550 |
+
|
6551 |
+
/**
|
6552 |
+
* check if layout is needed post layout
|
6553 |
+
* @returns Boolean
|
6554 |
+
*/
|
6555 |
+
proto.needsResizeLayout = function() {
|
6556 |
+
var size = getSize( this.element );
|
6557 |
+
// check that this.size and size are there
|
6558 |
+
// IE8 triggers resize on body size change, so they might not be
|
6559 |
+
var hasSizes = this.size && size;
|
6560 |
+
return hasSizes && size.innerWidth !== this.size.innerWidth;
|
6561 |
+
};
|
6562 |
+
|
6563 |
+
// -------------------------- methods -------------------------- //
|
6564 |
+
|
6565 |
+
/**
|
6566 |
+
* add items to Outlayer instance
|
6567 |
+
* @param {Array or NodeList or Element} elems
|
6568 |
+
* @returns {Array} items - Outlayer.Items
|
6569 |
+
**/
|
6570 |
+
proto.addItems = function( elems ) {
|
6571 |
+
var items = this._itemize( elems );
|
6572 |
+
// add items to collection
|
6573 |
+
if ( items.length ) {
|
6574 |
+
this.items = this.items.concat( items );
|
6575 |
+
}
|
6576 |
+
return items;
|
6577 |
+
};
|
6578 |
+
|
6579 |
+
/**
|
6580 |
+
* Layout newly-appended item elements
|
6581 |
+
* @param {Array or NodeList or Element} elems
|
6582 |
+
*/
|
6583 |
+
proto.appended = function( elems ) {
|
6584 |
+
var items = this.addItems( elems );
|
6585 |
+
if ( !items.length ) {
|
6586 |
+
return;
|
6587 |
+
}
|
6588 |
+
// layout and reveal just the new items
|
6589 |
+
this.layoutItems( items, true );
|
6590 |
+
this.reveal( items );
|
6591 |
+
};
|
6592 |
+
|
6593 |
+
/**
|
6594 |
+
* Layout prepended elements
|
6595 |
+
* @param {Array or NodeList or Element} elems
|
6596 |
+
*/
|
6597 |
+
proto.prepended = function( elems ) {
|
6598 |
+
var items = this._itemize( elems );
|
6599 |
+
if ( !items.length ) {
|
6600 |
+
return;
|
6601 |
+
}
|
6602 |
+
// add items to beginning of collection
|
6603 |
+
var previousItems = this.items.slice(0);
|
6604 |
+
this.items = items.concat( previousItems );
|
6605 |
+
// start new layout
|
6606 |
+
this._resetLayout();
|
6607 |
+
this._manageStamps();
|
6608 |
+
// layout new stuff without transition
|
6609 |
+
this.layoutItems( items, true );
|
6610 |
+
this.reveal( items );
|
6611 |
+
// layout previous items
|
6612 |
+
this.layoutItems( previousItems );
|
6613 |
+
};
|
6614 |
+
|
6615 |
+
/**
|
6616 |
+
* reveal a collection of items
|
6617 |
+
* @param {Array of Outlayer.Items} items
|
6618 |
+
*/
|
6619 |
+
proto.reveal = function( items ) {
|
6620 |
+
this._emitCompleteOnItems( 'reveal', items );
|
6621 |
+
if ( !items || !items.length ) {
|
6622 |
+
return;
|
6623 |
+
}
|
6624 |
+
var stagger = this.updateStagger();
|
6625 |
+
items.forEach( function( item, i ) {
|
6626 |
+
item.stagger( i * stagger );
|
6627 |
+
item.reveal();
|
6628 |
+
});
|
6629 |
+
};
|
6630 |
+
|
6631 |
+
/**
|
6632 |
+
* hide a collection of items
|
6633 |
+
* @param {Array of Outlayer.Items} items
|
6634 |
+
*/
|
6635 |
+
proto.hide = function( items ) {
|
6636 |
+
this._emitCompleteOnItems( 'hide', items );
|
6637 |
+
if ( !items || !items.length ) {
|
6638 |
+
return;
|
6639 |
+
}
|
6640 |
+
var stagger = this.updateStagger();
|
6641 |
+
items.forEach( function( item, i ) {
|
6642 |
+
item.stagger( i * stagger );
|
6643 |
+
item.hide();
|
6644 |
+
});
|
6645 |
+
};
|
6646 |
+
|
6647 |
+
/**
|
6648 |
+
* reveal item elements
|
6649 |
+
* @param {Array}, {Element}, {NodeList} items
|
6650 |
+
*/
|
6651 |
+
proto.revealItemElements = function( elems ) {
|
6652 |
+
var items = this.getItems( elems );
|
6653 |
+
this.reveal( items );
|
6654 |
+
};
|
6655 |
+
|
6656 |
+
/**
|
6657 |
+
* hide item elements
|
6658 |
+
* @param {Array}, {Element}, {NodeList} items
|
6659 |
+
*/
|
6660 |
+
proto.hideItemElements = function( elems ) {
|
6661 |
+
var items = this.getItems( elems );
|
6662 |
+
this.hide( items );
|
6663 |
+
};
|
6664 |
+
|
6665 |
+
/**
|
6666 |
+
* get Outlayer.Item, given an Element
|
6667 |
+
* @param {Element} elem
|
6668 |
+
* @param {Function} callback
|
6669 |
+
* @returns {Outlayer.Item} item
|
6670 |
+
*/
|
6671 |
+
proto.getItem = function( elem ) {
|
6672 |
+
// loop through items to get the one that matches
|
6673 |
+
for ( var i=0; i < this.items.length; i++ ) {
|
6674 |
+
var item = this.items[i];
|
6675 |
+
if ( item.element == elem ) {
|
6676 |
+
// return item
|
6677 |
+
return item;
|
6678 |
+
}
|
6679 |
+
}
|
6680 |
+
};
|
6681 |
+
|
6682 |
+
/**
|
6683 |
+
* get collection of Outlayer.Items, given Elements
|
6684 |
+
* @param {Array} elems
|
6685 |
+
* @returns {Array} items - Outlayer.Items
|
6686 |
+
*/
|
6687 |
+
proto.getItems = function( elems ) {
|
6688 |
+
elems = utils.makeArray( elems );
|
6689 |
+
var items = [];
|
6690 |
+
elems.forEach( function( elem ) {
|
6691 |
+
var item = this.getItem( elem );
|
6692 |
+
if ( item ) {
|
6693 |
+
items.push( item );
|
6694 |
+
}
|
6695 |
+
}, this );
|
6696 |
+
|
6697 |
+
return items;
|
6698 |
+
};
|
6699 |
+
|
6700 |
+
/**
|
6701 |
+
* remove element(s) from instance and DOM
|
6702 |
+
* @param {Array or NodeList or Element} elems
|
6703 |
+
*/
|
6704 |
+
proto.remove = function( elems ) {
|
6705 |
+
var removeItems = this.getItems( elems );
|
6706 |
+
|
6707 |
+
this._emitCompleteOnItems( 'remove', removeItems );
|
6708 |
+
|
6709 |
+
// bail if no items to remove
|
6710 |
+
if ( !removeItems || !removeItems.length ) {
|
6711 |
+
return;
|
6712 |
+
}
|
6713 |
+
|
6714 |
+
removeItems.forEach( function( item ) {
|
6715 |
+
item.remove();
|
6716 |
+
// remove item from collection
|
6717 |
+
utils.removeFrom( this.items, item );
|
6718 |
+
}, this );
|
6719 |
+
};
|
6720 |
+
|
6721 |
+
// ----- destroy ----- //
|
6722 |
+
|
6723 |
+
// remove and disable Outlayer instance
|
6724 |
+
proto.destroy = function() {
|
6725 |
+
// clean up dynamic styles
|
6726 |
+
var style = this.element.style;
|
6727 |
+
style.height = '';
|
6728 |
+
style.position = '';
|
6729 |
+
style.width = '';
|
6730 |
+
// destroy items
|
6731 |
+
this.items.forEach( function( item ) {
|
6732 |
+
item.destroy();
|
6733 |
+
});
|
6734 |
+
|
6735 |
+
this.unbindResize();
|
6736 |
+
|
6737 |
+
var id = this.element.outlayerGUID;
|
6738 |
+
delete instances[ id ]; // remove reference to instance by id
|
6739 |
+
delete this.element.outlayerGUID;
|
6740 |
+
// remove data for jQuery
|
6741 |
+
if ( jQuery ) {
|
6742 |
+
jQuery.removeData( this.element, this.constructor.namespace );
|
6743 |
+
}
|
6744 |
+
|
6745 |
+
};
|
6746 |
+
|
6747 |
+
// -------------------------- data -------------------------- //
|
6748 |
+
|
6749 |
+
/**
|
6750 |
+
* get Outlayer instance from element
|
6751 |
+
* @param {Element} elem
|
6752 |
+
* @returns {Outlayer}
|
6753 |
*/
|
6754 |
+
Outlayer.data = function( elem ) {
|
6755 |
+
elem = utils.getQueryElement( elem );
|
6756 |
+
var id = elem && elem.outlayerGUID;
|
6757 |
+
return id && instances[ id ];
|
6758 |
+
};
|
6759 |
|
|
|
|
|
|
|
|
|
|
|
6760 |
|
6761 |
+
// -------------------------- create Outlayer class -------------------------- //
|
|
|
|
|
6762 |
|
6763 |
+
/**
|
6764 |
+
* create a layout class
|
6765 |
+
* @param {String} namespace
|
6766 |
+
*/
|
6767 |
+
Outlayer.create = function( namespace, options ) {
|
6768 |
+
// sub-class Outlayer
|
6769 |
+
var Layout = subclass( Outlayer );
|
6770 |
+
// apply new options and compatOptions
|
6771 |
+
Layout.defaults = utils.extend( {}, Outlayer.defaults );
|
6772 |
+
utils.extend( Layout.defaults, options );
|
6773 |
+
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
|
6774 |
|
6775 |
+
Layout.namespace = namespace;
|
6776 |
|
6777 |
+
Layout.data = Outlayer.data;
|
6778 |
|
6779 |
+
// sub-class Item
|
6780 |
+
Layout.Item = subclass( Item );
|
|
|
|
|
|
|
|
|
6781 |
|
6782 |
+
// -------------------------- declarative -------------------------- //
|
|
|
|
|
|
|
|
|
|
|
6783 |
|
6784 |
+
utils.htmlInit( Layout, namespace );
|
6785 |
|
6786 |
+
// -------------------------- jQuery bridge -------------------------- //
|
|
|
|
|
|
|
6787 |
|
6788 |
+
// make into jQuery plugin
|
6789 |
+
if ( jQuery && jQuery.bridget ) {
|
6790 |
+
jQuery.bridget( namespace, Layout );
|
6791 |
+
}
|
6792 |
|
6793 |
+
return Layout;
|
6794 |
+
};
|
6795 |
|
6796 |
+
function subclass( Parent ) {
|
6797 |
+
function SubClass() {
|
6798 |
+
Parent.apply( this, arguments );
|
6799 |
+
}
|
|
|
6800 |
|
6801 |
+
SubClass.prototype = Object.create( Parent.prototype );
|
6802 |
+
SubClass.prototype.constructor = SubClass;
|
6803 |
|
6804 |
+
return SubClass;
|
6805 |
+
}
|
|
|
|
|
|
|
|
|
6806 |
|
6807 |
+
// ----- helpers ----- //
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6808 |
|
6809 |
+
// how many milliseconds are in each unit
|
6810 |
+
var msUnits = {
|
6811 |
+
ms: 1,
|
6812 |
+
s: 1000
|
6813 |
+
};
|
|
|
|
|
|
|
|
|
6814 |
|
6815 |
+
// munge time-like parameter into millisecond number
|
6816 |
+
// '0.4s' -> 40
|
6817 |
+
function getMilliseconds( time ) {
|
6818 |
+
if ( typeof time == 'number' ) {
|
6819 |
+
return time;
|
6820 |
+
}
|
6821 |
+
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
|
6822 |
+
var num = matches && matches[1];
|
6823 |
+
var unit = matches && matches[2];
|
6824 |
+
if ( !num.length ) {
|
6825 |
+
return 0;
|
6826 |
+
}
|
6827 |
+
num = parseFloat( num );
|
6828 |
+
var mult = msUnits[ unit ] || 1;
|
6829 |
+
return num * mult;
|
6830 |
}
|
6831 |
|
6832 |
+
// ----- fin ----- //
|
|
|
|
|
|
|
|
|
|
|
|
|
6833 |
|
6834 |
+
// back in global
|
6835 |
+
Outlayer.Item = Item;
|
|
|
|
|
|
|
6836 |
|
6837 |
+
return Outlayer;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
6838 |
|
6839 |
+
}));
|
|
|
6840 |
|
6841 |
|
6842 |
/***/ }),
|
27880 |
function Photo(props) {
|
27881 |
_classCallCheck(this, Photo);
|
27882 |
|
27883 |
+
//console.log(this.props.result);
|
27884 |
+
|
27885 |
var _this = _possibleConstructorReturn(this, (Photo.__proto__ || Object.getPrototypeOf(Photo)).call(this, props));
|
27886 |
|
27887 |
_this.id = _this.props.result.id;
|
27888 |
_this.thumb = _this.props.result.urls.thumb;
|
27889 |
_this.img = _this.props.result.urls.small;
|
27890 |
+
//this.full_size = this.props.result.urls.raw;
|
27891 |
+
_this.full_size = _this.props.result.urls.full;
|
27892 |
_this.author = _this.props.result.user.name;
|
27893 |
_this.img_title = instant_img_localize.photo_by + ' ' + _this.author;
|
27894 |
_this.filename = _this.props.result.id;
|
27895 |
_this.title = _this.img_title;
|
27896 |
+
_this.alt = _this.props.result.alt_description;
|
27897 |
_this.caption = '';
|
27898 |
_this.user = _this.props.result.user.username;
|
27899 |
_this.user_photo = _this.props.result.user.profile_image.small;
|
27900 |
_this.link = _this.props.result.links.html;
|
27901 |
_this.likes = _this.props.result.likes;
|
27902 |
_this.view_all = instant_img_localize.view_all;
|
|
|
27903 |
_this.inProgress = false;
|
27904 |
_this.container = document.querySelector('.instant-img-container');
|
27905 |
+
_this.showTooltip = _this.props.showTooltip;
|
27906 |
+
_this.hideTooltip = _this.props.hideTooltip;
|
27907 |
|
27908 |
+
// Gutenberg Sidebar
|
27909 |
_this.setAsFeaturedImage = false;
|
27910 |
_this.insertIntoPost = false;
|
27911 |
+
_this.is_media_router = _this.props.mediaRouter;
|
|
|
27912 |
_this.is_block_editor = _this.props.blockEditor;
|
27913 |
_this.SetFeaturedImage = _this.props.SetFeaturedImage;
|
27914 |
_this.InsertImage = _this.props.InsertImage;
|
27915 |
|
27916 |
+
// Display controls in Gutenberg Sidebar Only
|
27917 |
+
_this.displayGutenbergControl = _this.is_block_editor ? true : false;
|
27918 |
+
|
27919 |
// Photo state
|
27920 |
_this.state = {
|
27921 |
filename: _this.filename,
|
27928 |
}
|
27929 |
|
27930 |
/*
|
27931 |
+
* download
|
27932 |
+
* Function to trigger the image download
|
27933 |
*
|
27934 |
+
* @since 4.3
|
|
|
27935 |
*/
|
27936 |
|
27937 |
|
27938 |
_createClass(Photo, [{
|
27939 |
+
key: 'download',
|
27940 |
+
value: function download(e) {
|
|
|
27941 |
|
27942 |
+
e.preventDefault();
|
27943 |
var self = this;
|
27944 |
+
|
27945 |
var target = e.currentTarget; // get current <a/>
|
27946 |
var photo = target.parentElement.parentElement.parentElement; // Get parent .photo el
|
27947 |
var notice = photo.querySelector('.notice-msg'); // Locate .notice-msg div
|
27951 |
target = photo.querySelector('a.upload');
|
27952 |
}
|
27953 |
|
27954 |
+
if (target.classList.contains('success') || this.inProgress) {
|
27955 |
+
return false; // Exit if already uploaded or in progress.
|
27956 |
+
}
|
27957 |
+
this.inProgress = true;
|
27958 |
|
27959 |
target.classList.add('uploading');
|
27960 |
photo.classList.add('in-progress');
|
|
|
|
|
27961 |
|
27962 |
+
// Status messaging
|
27963 |
+
notice.innerHTML = instant_img_localize.saving;
|
27964 |
+
setTimeout(function () {
|
27965 |
+
// Change notice after 3 seconds
|
27966 |
+
notice.innerHTML = instant_img_localize.resizing;
|
27967 |
+
setTimeout(function () {
|
27968 |
+
// Change notice again after 5 seconds (Still resizing...)
|
27969 |
+
notice.innerHTML = instant_img_localize.resizing_still;
|
27970 |
+
}, 5000);
|
27971 |
+
}, 3000);
|
27972 |
+
|
27973 |
+
// API URL
|
27974 |
+
var api = instant_img_localize.root + 'instant-images/download/';
|
27975 |
+
|
27976 |
+
// Data Params
|
27977 |
var data = {
|
27978 |
id: target.getAttribute('data-id'),
|
27979 |
+
image_url: target.getAttribute('data-url'),
|
27980 |
+
filename: target.getAttribute('data-id') + '.jpg',
|
27981 |
+
custom_filename: target.getAttribute('data-filename'),
|
27982 |
+
title: target.getAttribute('data-title'),
|
27983 |
+
alt: target.getAttribute('data-alt'),
|
27984 |
+
caption: target.getAttribute('data-caption'),
|
27985 |
+
parent_id: instant_img_localize.parent_id
|
27986 |
+
|
27987 |
+
// Config Params
|
27988 |
+
};var config = {
|
27989 |
headers: {
|
27990 |
'X-WP-Nonce': instant_img_localize.nonce,
|
27991 |
'Content-Type': 'application/json'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27992 |
}
|
27993 |
+
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27994 |
|
27995 |
+
_axios2.default.put(api, JSON.stringify(data), config).then(function (res) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
27996 |
|
27997 |
var response = res.data;
|
27998 |
|
27999 |
+
if (response) {
|
28000 |
|
28001 |
// Successful response from server
|
28002 |
var success = response.success;
|
28003 |
+
var id = response.id;
|
28004 |
+
var attachment = response.attachment;
|
28005 |
var admin_url = response.admin_url;
|
28006 |
+
var msg = response.msg;
|
28007 |
|
28008 |
if (success) {
|
28009 |
|
28010 |
// Edit URL
|
28011 |
+
var edit_url = admin_url + 'post.php?post=' + attachment.id + '&action=edit';
|
28012 |
|
28013 |
// Success/Upload Complete
|
28014 |
+
self.uploadComplete(target, photo, msg, edit_url, attachment.id);
|
28015 |
+
|
28016 |
+
// Trigger Download Counter at Unsplash
|
28017 |
+
self.triggerUnsplashDownload(id);
|
28018 |
|
28019 |
+
// Set Featured Image [Gutenberg Sidebar]
|
28020 |
+
if (self.displayGutenbergControl && self.setAsFeaturedImage) {
|
28021 |
+
self.SetFeaturedImage(attachment.id);
|
28022 |
self.setAsFeaturedImage = false;
|
28023 |
+
self.closeMediaModal();
|
28024 |
}
|
28025 |
|
28026 |
+
// Insert Image [Gutenberg Sidebar]
|
28027 |
+
if (self.displayGutenbergControl && self.insertIntoPost) {
|
28028 |
+
if (attachment.url) {
|
28029 |
+
self.InsertImage(attachment.url, attachment.caption, attachment.alt);
|
28030 |
+
self.closeMediaModal();
|
28031 |
}
|
28032 |
self.insertIntoPost = false;
|
28033 |
}
|
28034 |
|
28035 |
// If is media popup, redirect user to media-upload settings
|
28036 |
if (self.container.dataset.mediaPopup === 'true' && !self.is_block_editor) {
|
28037 |
+
window.location = 'media-upload.php?type=image&tab=library&attachment_id=' + attachment.id;
|
28038 |
}
|
28039 |
} else {
|
|
|
28040 |
// Error
|
28041 |
+
self.uploadError(target, photo, notice, msg);
|
28042 |
}
|
28043 |
} else {
|
|
|
28044 |
// Error
|
28045 |
+
self.uploadError(target, photo, notice, instant_img_localize.error_upload);
|
28046 |
}
|
28047 |
}).catch(function (error) {
|
28048 |
console.log(error);
|
28088 |
return false;
|
28089 |
}
|
28090 |
|
28091 |
+
this.hideTooltip(e);
|
28092 |
var parent = target.parentNode.parentNode.parentNode;
|
28093 |
var photo = parent.querySelector('a.upload');
|
28094 |
if (photo) {
|
28112 |
return false;
|
28113 |
}
|
28114 |
|
28115 |
+
this.hideTooltip(e);
|
28116 |
var parent = target.parentNode.parentNode.parentNode;
|
28117 |
var photo = parent.querySelector('a.upload');
|
28118 |
if (photo) {
|
28129 |
* @param photo element Nearest parent .photo
|
28130 |
* @param msg string Success Msg
|
28131 |
* @param url string The attachment edit link
|
28132 |
+
* @param id string The attachment id
|
28133 |
* @since 3.0
|
28134 |
*/
|
28135 |
|
28136 |
}, {
|
28137 |
key: 'uploadComplete',
|
28138 |
+
value: function uploadComplete(target, photo, msg, url, id) {
|
28139 |
|
28140 |
this.setImageTitle(target, msg);
|
28141 |
|
28142 |
photo.classList.remove('in-progress');
|
28143 |
photo.classList.add('uploaded');
|
28144 |
|
|
|
|
|
28145 |
photo.querySelector('.edit-photo').style.display = 'none'; // Hide edit-photo button
|
|
|
28146 |
photo.querySelector('.edit-photo-admin').style.display = 'inline-block'; // Show edit-photo-admin button
|
28147 |
photo.querySelector('.edit-photo-admin').href = url; // Add admin edit link
|
28148 |
photo.querySelector('.edit-photo-admin').target = '_balnk'; // Add new window
|
28149 |
|
28150 |
+
target.classList.remove('uploading');
|
28151 |
+
target.classList.remove('resizing');
|
28152 |
+
target.classList.add('success');
|
28153 |
+
this.inProgress = false;
|
28154 |
+
|
28155 |
+
// Gutenberg Sidebar
|
28156 |
if (this.is_block_editor) {
|
28157 |
photo.querySelector('.insert').style.display = 'none'; // Hide insert button
|
28158 |
photo.querySelector('.set-featured').style.display = 'none'; // Hide set-featured button
|
28159 |
}
|
28160 |
|
28161 |
+
// Media Router
|
28162 |
+
this.mediaRouter(id);
|
|
|
|
|
|
|
28163 |
|
28164 |
+
// Deprecated in 4.3
|
28165 |
+
// Was previously used in the Media Popup Context.
|
28166 |
// Refresh Media Library contents on edit pages
|
28167 |
if (this.container.classList.contains('editor')) {
|
|
|
28168 |
if (typeof wp.media != 'undefined') {
|
28169 |
if (wp.media.frame.content.get() !== null) {
|
28170 |
wp.media.frame.content.get().collection.props.set({ ignore: +new Date() });
|
28176 |
}
|
28177 |
}
|
28178 |
|
28179 |
+
/**
|
28180 |
+
* mediaRouter
|
28181 |
+
* Refresh Media Modal and select item after it's been uploaded
|
28182 |
+
*
|
28183 |
+
* @since 4.3
|
28184 |
+
*/
|
28185 |
+
|
28186 |
+
}, {
|
28187 |
+
key: 'mediaRouter',
|
28188 |
+
value: function mediaRouter(id) {
|
28189 |
+
|
28190 |
+
if (this.is_media_router && wp.media && wp.media.frame && wp.media.frame.el) {
|
28191 |
+
|
28192 |
+
var mediaModal = wp.media.frame.el;
|
28193 |
+
var mediaTab = mediaModal.querySelector('#menu-item-browse');
|
28194 |
+
if (mediaTab) {
|
28195 |
+
// Open the 'Media Library' tab
|
28196 |
+
mediaTab.click();
|
28197 |
+
}
|
28198 |
+
|
28199 |
+
// Delay to allow for tab switching
|
28200 |
+
setTimeout(function () {
|
28201 |
+
if (wp.media.frame.content.get() !== null) {
|
28202 |
+
//this forces a refresh of the content
|
28203 |
+
wp.media.frame.content.get().collection._requery(true);
|
28204 |
+
|
28205 |
+
//optional: reset selection
|
28206 |
+
//wp.media.frame.content.get().options.selection.reset();
|
28207 |
+
}
|
28208 |
+
|
28209 |
+
// Select the attached that was just uploaded.
|
28210 |
+
var selection = wp.media.frame.state().get('selection');
|
28211 |
+
var selected = parseInt(id);
|
28212 |
+
selection.reset(selected ? [wp.media.attachment(selected)] : []);
|
28213 |
+
}, 150);
|
28214 |
+
}
|
28215 |
+
}
|
28216 |
+
|
28217 |
/*
|
28218 |
* uploadError
|
28219 |
* Function runs when error occurs on upload or resize
|
28220 |
*
|
28221 |
* @param target element Current clicked item
|
28222 |
* @param photo element Nearest parent .photo
|
28223 |
+
* @param notice element The message area
|
28224 |
* @param msg string Error Msg
|
28225 |
* @since 3.0
|
28226 |
*/
|
28227 |
|
28228 |
}, {
|
28229 |
key: 'uploadError',
|
28230 |
+
value: function uploadError(target, photo, notice, msg) {
|
28231 |
target.classList.remove('uploading');
|
28232 |
target.classList.remove('resizing');
|
28233 |
target.classList.add('errors');
|
28234 |
this.setImageTitle(target, msg);
|
28235 |
this.inProgress = false;
|
28236 |
+
notice.classList.add('has-error');
|
28237 |
console.warn(msg);
|
28238 |
}
|
28239 |
|
28264 |
value: function showEditScreen(e) {
|
28265 |
e.preventDefault();
|
28266 |
var el = e.currentTarget;
|
28267 |
+
this.hideTooltip(e);
|
28268 |
var photo = el.closest('.photo');
|
28269 |
var filename = photo.querySelector('input[name="filename"]');
|
28270 |
var editScreen = photo.querySelector('.edit-screen');
|
28393 |
target.focus();
|
28394 |
}
|
28395 |
}
|
28396 |
+
|
28397 |
+
/*
|
28398 |
+
* closeMediaModal
|
28399 |
+
* Close the media modal after an action
|
28400 |
+
*
|
28401 |
+
* @since 4.3
|
28402 |
+
*/
|
28403 |
+
|
28404 |
+
}, {
|
28405 |
+
key: 'closeMediaModal',
|
28406 |
+
value: function closeMediaModal() {
|
28407 |
+
var mediaModal = document.querySelector('.media-modal');
|
28408 |
+
if (mediaModal) {
|
28409 |
+
var closeBtn = mediaModal.querySelector('button.media-modal-close');
|
28410 |
+
if (!closeBtn) {
|
28411 |
+
return false;
|
28412 |
+
}
|
28413 |
+
closeBtn.click();
|
28414 |
+
}
|
28415 |
+
}
|
28416 |
}, {
|
28417 |
key: 'render',
|
28418 |
value: function render() {
|
28419 |
var _this2 = this;
|
28420 |
|
28421 |
+
var likeTxt = parseInt(this.likes) > 1 ? instant_img_localize.likes_plural : instant_img_localize.likes;
|
28422 |
+
|
28423 |
return _react2.default.createElement(
|
28424 |
'article',
|
28425 |
{ className: 'photo' },
|
28442 |
'data-caption': this.state.caption,
|
28443 |
title: instant_img_localize.upload,
|
28444 |
onClick: function onClick(e) {
|
28445 |
+
return _this2.download(e);
|
28446 |
} },
|
28447 |
_react2.default.createElement('img', { src: this.img, alt: '' }),
|
28448 |
_react2.default.createElement('div', { className: 'status' })
|
28464 |
_react2.default.createElement(
|
28465 |
'div',
|
28466 |
{ className: 'photo-options' },
|
28467 |
+
this.displayGutenbergControl && _react2.default.createElement(
|
28468 |
+
'button',
|
28469 |
+
{ type: 'button', className: 'set-featured fade',
|
28470 |
+
'data-title': instant_img_localize.set_as_featured,
|
28471 |
+
onMouseEnter: function onMouseEnter(e) {
|
28472 |
+
return _this2.showTooltip(e);
|
28473 |
+
},
|
28474 |
+
onMouseLeave: function onMouseLeave(e) {
|
28475 |
+
return _this2.hideTooltip(e);
|
28476 |
+
},
|
28477 |
onClick: function onClick(e) {
|
28478 |
return _this2.setFeaturedImageClick(e);
|
28479 |
+
}
|
|
|
28480 |
},
|
28481 |
_react2.default.createElement('i', { className: 'fa fa-picture-o', 'aria-hidden': 'true' }),
|
28482 |
_react2.default.createElement(
|
28485 |
instant_img_localize.set_as_featured
|
28486 |
)
|
28487 |
),
|
28488 |
+
this.displayGutenbergControl && _react2.default.createElement(
|
28489 |
+
'button',
|
28490 |
+
{ type: 'button', className: 'insert fade',
|
28491 |
+
'data-title': instant_img_localize.insert_into_post,
|
28492 |
+
onMouseEnter: function onMouseEnter(e) {
|
28493 |
+
return _this2.showTooltip(e);
|
28494 |
+
},
|
28495 |
+
onMouseLeave: function onMouseLeave(e) {
|
28496 |
+
return _this2.hideTooltip(e);
|
28497 |
+
},
|
28498 |
onClick: function onClick(e) {
|
28499 |
return _this2.insertImageIntoPost(e);
|
28500 |
+
}
|
|
|
28501 |
},
|
28502 |
_react2.default.createElement('i', { className: 'fa fa-plus', 'aria-hidden': 'true' }),
|
28503 |
_react2.default.createElement(
|
28508 |
),
|
28509 |
_react2.default.createElement(
|
28510 |
'a',
|
28511 |
+
{ href: '#',
|
28512 |
className: 'edit-photo-admin fade',
|
28513 |
+
'data-title': instant_img_localize.edit_upload,
|
28514 |
+
onMouseEnter: function onMouseEnter(e) {
|
28515 |
+
return _this2.showTooltip(e);
|
28516 |
+
},
|
28517 |
+
onMouseLeave: function onMouseLeave(e) {
|
28518 |
+
return _this2.hideTooltip(e);
|
28519 |
+
}
|
28520 |
},
|
28521 |
_react2.default.createElement('i', { className: 'fa fa-pencil', 'aria-hidden': 'true' }),
|
28522 |
_react2.default.createElement(
|
28526 |
)
|
28527 |
),
|
28528 |
_react2.default.createElement(
|
28529 |
+
'button',
|
28530 |
+
{ type: 'button',
|
28531 |
className: 'edit-photo fade',
|
28532 |
+
'data-title': instant_img_localize.edit_details,
|
28533 |
+
onMouseEnter: function onMouseEnter(e) {
|
28534 |
+
return _this2.showTooltip(e);
|
28535 |
+
},
|
28536 |
+
onMouseLeave: function onMouseLeave(e) {
|
28537 |
+
return _this2.hideTooltip(e);
|
28538 |
+
},
|
28539 |
onClick: function onClick(e) {
|
28540 |
return _this2.showEditScreen(e);
|
28541 |
}
|
28551 |
),
|
28552 |
_react2.default.createElement(
|
28553 |
'div',
|
28554 |
+
{ className: 'options' },
|
28555 |
_react2.default.createElement(
|
28556 |
'span',
|
28557 |
+
{
|
28558 |
+
className: 'likes tooltip--above',
|
28559 |
+
'data-title': this.likes + ' ' + likeTxt,
|
28560 |
+
onMouseEnter: function onMouseEnter(e) {
|
28561 |
+
return _this2.showTooltip(e);
|
28562 |
+
},
|
28563 |
+
onMouseLeave: function onMouseLeave(e) {
|
28564 |
+
return _this2.hideTooltip(e);
|
28565 |
+
} },
|
28566 |
_react2.default.createElement('i', { className: 'fa fa-heart heart-like', 'aria-hidden': 'true' }),
|
28567 |
' ',
|
28568 |
this.likes
|
28570 |
_react2.default.createElement(
|
28571 |
'a',
|
28572 |
{
|
28573 |
+
className: 'tooltip--above',
|
28574 |
href: this.link,
|
28575 |
+
'data-title': instant_img_localize.view_on_unsplash,
|
28576 |
+
onMouseEnter: function onMouseEnter(e) {
|
28577 |
+
return _this2.showTooltip(e);
|
28578 |
+
},
|
28579 |
+
onMouseLeave: function onMouseLeave(e) {
|
28580 |
+
return _this2.hideTooltip(e);
|
28581 |
+
},
|
28582 |
target: '_blank' },
|
28583 |
_react2.default.createElement('i', { className: 'fa fa-external-link', 'aria-hidden': 'true' }),
|
28584 |
_react2.default.createElement(
|
28634 |
instant_img_localize.edit_title,
|
28635 |
':'
|
28636 |
),
|
28637 |
+
_react2.default.createElement('input', { type: 'text', name: 'title', 'data-original': this.title, placeholder: this.title, value: this.state.title || '', onChange: function onChange(e) {
|
28638 |
return _this2.handleEditChange(e);
|
28639 |
} })
|
28640 |
),
|
28647 |
instant_img_localize.edit_alt,
|
28648 |
':'
|
28649 |
),
|
28650 |
+
_react2.default.createElement('input', { type: 'text', name: 'alt', 'data-original': this.alt, value: this.state.alt || '', onChange: function onChange(e) {
|
28651 |
return _this2.handleEditChange(e);
|
28652 |
} })
|
28653 |
),
|
28662 |
),
|
28663 |
_react2.default.createElement('textarea', { rows: '3', name: 'caption', 'data-original': '', onChange: function onChange(e) {
|
28664 |
return _this2.handleEditChange(e);
|
28665 |
+
}, value: this.state.caption || '' })
|
28666 |
),
|
28667 |
_react2.default.createElement(
|
28668 |
'div',
|
28724 |
|
28725 |
var _server2 = _interopRequireDefault(_server);
|
28726 |
|
28727 |
+
var _masonryLayout = __webpack_require__(/*! masonry-layout */ "./node_modules/masonry-layout/masonry.js");
|
28728 |
|
28729 |
+
var _masonryLayout2 = _interopRequireDefault(_masonryLayout);
|
28730 |
|
28731 |
var _Photo = __webpack_require__(/*! ./Photo */ "./src/js/components/Photo.js");
|
28732 |
|
28750 |
|
28751 |
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
|
28752 |
|
28753 |
+
var imagesLoaded = __webpack_require__(/*! imagesloaded */ "./node_modules/imagesloaded/imagesloaded.js");
|
28754 |
+
|
28755 |
var PhotoList = function (_React$Component) {
|
28756 |
_inherits(PhotoList, _React$Component);
|
28757 |
|
28777 |
|
28778 |
_this.errorMsg = '';
|
28779 |
_this.msnry = '';
|
28780 |
+
_this.tooltipInterval = '';
|
28781 |
|
28782 |
_this.editor = _this.props.editor ? _this.props.editor : 'classic';
|
28783 |
_this.is_block_editor = _this.props.editor === 'gutenberg' ? true : false;
|
28784 |
+
_this.is_media_router = _this.props.editor === 'media-router' ? true : false;
|
28785 |
_this.SetFeaturedImage = _this.props.SetFeaturedImage ? _this.props.SetFeaturedImage.bind(_this) : '';
|
28786 |
_this.InsertImage = _this.props.InsertImage ? _this.props.InsertImage.bind(_this) : '';
|
28787 |
|
28788 |
if (_this.is_block_editor) {
|
28789 |
+
// Gutenberg Sidebar Only
|
28790 |
_this.container = document.querySelector('body');
|
28791 |
_this.container.classList.add('loading');
|
28792 |
_this.wrapper = document.querySelector('body');
|
28793 |
} else {
|
28794 |
+
// Post Edit Screens and Plugin Screen
|
28795 |
+
_this.container = _this.props.container.closest('.instant-img-container');
|
28796 |
+
_this.wrapper = _this.props.container.closest('.instant-images-wrapper');
|
28797 |
_this.container.classList.add('loading');
|
|
|
28798 |
}
|
28799 |
|
28800 |
return _this;
|
28814 |
|
28815 |
var self = this;
|
28816 |
|
28817 |
+
var target = this.container.querySelector('.error-messaging'); // Target element
|
28818 |
|
28819 |
var testURL = instant_img_localize.root + 'instant-images/test/'; // REST Route
|
28820 |
var restAPITest = new XMLHttpRequest();
|
28864 |
value: function search(e) {
|
28865 |
|
28866 |
e.preventDefault();
|
28867 |
+
var input = this.container.querySelector('#photo-search');
|
28868 |
var term = input.value;
|
28869 |
|
28870 |
if (term.length > 2) {
|
28877 |
input.focus();
|
28878 |
}
|
28879 |
}
|
28880 |
+
|
28881 |
+
/**
|
28882 |
+
* setOrientation
|
28883 |
+
* Orientation filter. Availlable during a search only.
|
28884 |
+
*
|
28885 |
+
* @since 4.2
|
28886 |
+
*/
|
28887 |
+
|
28888 |
}, {
|
28889 |
key: 'setOrientation',
|
28890 |
value: function setOrientation(orientation, e) {
|
28936 |
}, {
|
28937 |
key: 'clearOrientation',
|
28938 |
value: function clearOrientation() {
|
28939 |
+
var items = this.container.querySelectorAll('.orientation-list li');
|
28940 |
[].concat(_toConsumableArray(items)).forEach(function (el) {
|
28941 |
return el.classList.remove('active');
|
28942 |
}); // remove active classes
|
28977 |
url = _API2.default.photo_api + '/' + term + _API2.default.app_id;
|
28978 |
}
|
28979 |
|
28980 |
+
var input = this.container.querySelector('#photo-search');
|
28981 |
|
28982 |
fetch(url).then(function (data) {
|
28983 |
return data.json();
|
29037 |
}, {
|
29038 |
key: 'clearSearch',
|
29039 |
value: function clearSearch() {
|
29040 |
+
var input = this.container.querySelector('#photo-search');
|
29041 |
input.value = '';
|
29042 |
this.total_results = 0;
|
29043 |
this.is_search = false;
|
29152 |
return false;
|
29153 |
}
|
29154 |
var self = this;
|
29155 |
+
var photoListWrapper = self.container.querySelector('.photo-target');
|
29156 |
imagesLoaded(photoListWrapper, function () {
|
29157 |
+
self.msnry = new _masonryLayout2.default(photoListWrapper, {
|
29158 |
itemSelector: '.photo'
|
29159 |
});
|
29160 |
+
[].concat(_toConsumableArray(self.container.querySelectorAll('.photo-target .photo'))).forEach(function (el) {
|
29161 |
return el.classList.add('in-view');
|
29162 |
});
|
29163 |
});
|
29175 |
value: function onScroll() {
|
29176 |
var wHeight = window.innerHeight;
|
29177 |
var scrollTop = window.pageYOffset;
|
29178 |
+
var scrollH = document.body.scrollHeight - 400;
|
29179 |
if (wHeight + scrollTop >= scrollH && !this.isLoading && !this.isDone) {
|
29180 |
this.getPhotos();
|
29181 |
}
|
29207 |
value: function setActiveState() {
|
29208 |
var self = this;
|
29209 |
// Remove .active class
|
29210 |
+
[].concat(_toConsumableArray(this.container.querySelectorAll('.control-nav button'))).forEach(function (el) {
|
29211 |
return el.classList.remove('active');
|
29212 |
});
|
29213 |
|
29214 |
// Set active item, if not search
|
29215 |
if (!this.is_search) {
|
29216 |
+
var active = this.container.querySelector('.control-nav li button.' + this.orderby);
|
29217 |
active.classList.add('active');
|
29218 |
}
|
29219 |
setTimeout(function () {
|
29222 |
}, 1000);
|
29223 |
}
|
29224 |
|
29225 |
+
/**
|
29226 |
+
* showTooltip
|
29227 |
+
* Show the tooltip
|
29228 |
+
*
|
29229 |
+
* @since 4.3.0
|
29230 |
+
*/
|
29231 |
+
|
29232 |
+
}, {
|
29233 |
+
key: 'showTooltip',
|
29234 |
+
value: function showTooltip(e) {
|
29235 |
+
var self = this;
|
29236 |
+
var target = e.currentTarget;
|
29237 |
+
var rect = target.getBoundingClientRect();
|
29238 |
+
var left = Math.round(rect.left);
|
29239 |
+
var top = Math.round(rect.top);
|
29240 |
+
var tooltip = this.container.querySelector('#tooltip');
|
29241 |
+
tooltip.classList.remove('over');
|
29242 |
+
|
29243 |
+
if (target.classList.contains('tooltip--above')) {
|
29244 |
+
tooltip.classList.add('above');
|
29245 |
+
} else {
|
29246 |
+
tooltip.classList.remove('above');
|
29247 |
+
}
|
29248 |
+
|
29249 |
+
// Get Content
|
29250 |
+
var title = target.dataset.title;
|
29251 |
+
|
29252 |
+
// Delay reveal
|
29253 |
+
this.tooltipInterval = setInterval(function () {
|
29254 |
+
|
29255 |
+
clearInterval(self.tooltipInterval);
|
29256 |
+
tooltip.innerHTML = title;
|
29257 |
+
|
29258 |
+
// Position Tooltip
|
29259 |
+
left = left - tooltip.offsetWidth + target.offsetWidth + 5;
|
29260 |
+
tooltip.style.left = left + 'px';
|
29261 |
+
tooltip.style.top = top + 'px';
|
29262 |
+
|
29263 |
+
setTimeout(function () {
|
29264 |
+
tooltip.classList.add('over');
|
29265 |
+
}, 150);
|
29266 |
+
}, 500);
|
29267 |
+
}
|
29268 |
+
|
29269 |
+
/**
|
29270 |
+
* hideTooltip
|
29271 |
+
* Hide the tooltip
|
29272 |
+
*
|
29273 |
+
* @since 4.3.0
|
29274 |
+
*/
|
29275 |
+
|
29276 |
+
}, {
|
29277 |
+
key: 'hideTooltip',
|
29278 |
+
value: function hideTooltip(e) {
|
29279 |
+
clearInterval(this.tooltipInterval);
|
29280 |
+
var tooltip = this.container.querySelector('#tooltip');
|
29281 |
+
tooltip.classList.remove('over');
|
29282 |
+
}
|
29283 |
+
|
29284 |
// Component Updated
|
29285 |
|
29286 |
}, {
|
29303 |
this.container.classList.remove('loading');
|
29304 |
this.wrapper.classList.add('loaded');
|
29305 |
|
29306 |
+
if (this.is_block_editor || this.is_media_router) {
|
29307 |
+
// Gutenberg || Media Popup
|
29308 |
this.page = 0;
|
29309 |
this.getPhotos();
|
29310 |
} else {
|
29332 |
'li',
|
29333 |
null,
|
29334 |
_react2.default.createElement(
|
29335 |
+
'button',
|
29336 |
+
{ type: 'button', className: 'latest', onClick: function onClick(e) {
|
29337 |
return _this3.togglePhotoList('latest', e);
|
29338 |
} },
|
29339 |
instant_img_localize.latest
|
29343 |
'li',
|
29344 |
{ id: 'nav-target' },
|
29345 |
_react2.default.createElement(
|
29346 |
+
'button',
|
29347 |
+
{ type: 'button', className: 'popular', onClick: function onClick(e) {
|
29348 |
return _this3.togglePhotoList('popular', e);
|
29349 |
} },
|
29350 |
instant_img_localize.popular
|
29354 |
'li',
|
29355 |
null,
|
29356 |
_react2.default.createElement(
|
29357 |
+
'button',
|
29358 |
+
{ type: 'button', className: 'oldest', onClick: function onClick(e) {
|
29359 |
return _this3.togglePhotoList('oldest', e);
|
29360 |
} },
|
29361 |
instant_img_localize.oldest
|
29375 |
{ type: 'submit', id: 'photo-search-submit' },
|
29376 |
_react2.default.createElement('i', { className: 'fa fa-search' })
|
29377 |
),
|
29378 |
+
_react2.default.createElement(_ResultsToolTip2.default, { container: this.container, isSearch: this.is_search, total: this.total_results, title: this.total_results + ' ' + instant_img_localize.search_results + ' ' + this.search_term })
|
29379 |
)
|
29380 |
)
|
29381 |
),
|
29425 |
),
|
29426 |
_react2.default.createElement(
|
29427 |
'div',
|
29428 |
+
{ id: 'photos', className: 'photo-target' },
|
29429 |
this.state.results.map(function (result, iterator) {
|
29430 |
+
return _react2.default.createElement(_Photo2.default, { result: result, key: result.id + iterator, editor: _this3.editor, mediaRouter: _this3.is_media_router, blockEditor: _this3.is_block_editor, SetFeaturedImage: _this3.SetFeaturedImage, InsertImage: _this3.InsertImage, showTooltip: _this3.showTooltip, hideTooltip: _this3.hideTooltip });
|
29431 |
})
|
29432 |
),
|
29433 |
_react2.default.createElement(
|
29457 |
} },
|
29458 |
instant_img_localize.load_more
|
29459 |
)
|
29460 |
+
),
|
29461 |
+
_react2.default.createElement(
|
29462 |
+
'div',
|
29463 |
+
{ id: 'tooltip' },
|
29464 |
+
'Meow'
|
29465 |
)
|
29466 |
);
|
29467 |
}
|
29514 |
_createClass(ResultsToolTip, [{
|
29515 |
key: 'resetSearch',
|
29516 |
value: function resetSearch() {
|
29517 |
+
var nav = this.props.container.querySelector('.control-nav');
|
29518 |
+
var navItem = nav.querySelector('li button.latest');
|
29519 |
navItem.click();
|
29520 |
}
|
29521 |
}, {
|
29532 |
this.props.total
|
29533 |
),
|
29534 |
_react2.default.createElement(
|
29535 |
+
'button',
|
29536 |
+
{ type: 'button', title: instant_img_localize.clear_search, onClick: function onClick(e) {
|
29537 |
return _this2.resetSearch();
|
29538 |
} },
|
29539 |
+
'x',
|
29540 |
+
_react2.default.createElement(
|
29541 |
+
'span',
|
29542 |
+
{ className: 'offscreen' },
|
29543 |
+
instant_img_localize.clear_search
|
29544 |
+
)
|
29545 |
)
|
29546 |
);
|
29547 |
}
|
dist/js/instant-images-block.min.js
CHANGED
@@ -1,9 +1,9 @@
|
|
1 |
-
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=
|
2 |
/*
|
3 |
object-assign
|
4 |
(c) Sindre Sorhus
|
5 |
@license MIT
|
6 |
-
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){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;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))o.call(n,l)&&(s[l]=n[l]);if(r){a=r(n);for(var c=0;c<a.length;c++)i.call(n,a[c])&&(s[a[c]]=n[a[c]])}}return s}},function(e,t,n){"use strict";var r=n(1),o=n(16),i=n(56),a=(n(0),o.ID_ATTRIBUTE_NAME),s=i,u="__reactInternalInstance$"+Math.random().toString(36).slice(2);function l(e,t){return 1===e.nodeType&&e.getAttribute(a)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function c(e){for(var t;t=e._renderedComponent;)e=t;return e}function p(e,t){var n=c(e);n._hostNode=t,t[u]=n}function d(e,t){if(!(e._flags&s.hasCachedChildNodes)){var n=e._renderedChildren,o=t.firstChild;e:for(var i in n)if(n.hasOwnProperty(i)){var a=n[i],u=c(a)._domID;if(0!==u){for(;null!==o;o=o.nextSibling)if(l(o,u)){p(a,o);continue e}r("32",u)}}e._flags|=s.hasCachedChildNodes}}function f(e){if(e[u])return e[u];for(var t,n,r=[];!e[u];){if(r.push(e),!e.parentNode)return null;e=e.parentNode}for(;e&&(n=e[u]);e=r.pop())t=n,r.length&&d(n,e);return t}var h={getClosestInstanceFromNode:f,getInstanceFromNode:function(e){var t=f(e);return null!=t&&t._hostNode===e?t:null},getNodeFromInstance:function(e){if(void 0===e._hostNode&&r("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||r("34"),e=e._hostParent;for(;t.length;e=t.pop())d(e,e._hostNode);return e._hostNode},precacheChildNodes:d,precacheNode:p,uncacheNode:function(e){var t=e._hostNode;t&&(delete t[u],e._hostNode=null)}};e.exports=h},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};e.exports=o},function(e,t,n){"use strict";e.exports={debugTool:null}},function(e,t,n){"use strict";var r=n(86),o=n(187),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function s(e){return null!==e&&"object"==typeof e}function u(e){return"[object Function]"===i.call(e)}function l(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:a,isArrayBuffer:function(e){return"[object ArrayBuffer]"===i.call(e)},isBuffer:o,isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isUndefined:function(e){return void 0===e},isDate:function(e){return"[object Date]"===i.call(e)},isFile:function(e){return"[object File]"===i.call(e)},isBlob:function(e){return"[object Blob]"===i.call(e)},isFunction:u,isStream:function(e){return s(e)&&u(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:l,merge:function e(){var t={};function n(n,r){"object"==typeof t[r]&&"object"==typeof n?t[r]=e(t[r],n):t[r]=n}for(var r=0,o=arguments.length;r<o;r++)l(arguments[r],n);return t},extend:function(e,t,n){return l(t,function(t,o){e[o]=n&&"function"==typeof t?r(t,n):t}),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},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},e.exports=o},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(61),a=n(13),s=n(62),u=n(14),l=n(24),c=n(0),p=[],d=0,f=i.getPooled(),h=!1,m=null;function v(){E.ReactReconcileTransaction&&m||r("123")}var g=[{initialize:function(){this.dirtyComponentsLength=p.length},close:function(){this.dirtyComponentsLength!==p.length?(p.splice(0,this.dirtyComponentsLength),C()):p.length=0}},{initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}}];function y(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=i.getPooled(),this.reconcileTransaction=E.ReactReconcileTransaction.getPooled(!0)}function _(e,t){return e._mountOrder-t._mountOrder}function b(e){var t=e.dirtyComponentsLength;t!==p.length&&r("124",t,p.length),p.sort(_),d++;for(var n=0;n<t;n++){var o,i=p[n],a=i._pendingCallbacks;if(i._pendingCallbacks=null,s.logTopLevelRenders){var l=i;i._currentElement.type.isReactTopLevelWrapper&&(l=i._renderedComponent),o="React update: "+l.getName(),console.time(o)}if(u.performUpdateIfNecessary(i,e.reconcileTransaction,d),o&&console.timeEnd(o),a)for(var c=0;c<a.length;c++)e.callbackQueue.enqueue(a[c],i.getPublicInstance())}}o(y.prototype,l,{getTransactionWrappers:function(){return g},destructor:function(){this.dirtyComponentsLength=null,i.release(this.callbackQueue),this.callbackQueue=null,E.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return l.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),a.addPoolingTo(y);var C=function(){for(;p.length||h;){if(p.length){var e=y.getPooled();e.perform(b,null,e),y.release(e)}if(h){h=!1;var t=f;f=i.getPooled(),t.notifyAll(),i.release(t)}}};var E={ReactReconcileTransaction:null,batchedUpdates:function(e,t,n,r,o,i){return v(),m.batchedUpdates(e,t,n,r,o,i)},enqueueUpdate:function e(t){v(),m.isBatchingUpdates?(p.push(t),null==t._updateBatchNumber&&(t._updateBatchNumber=d+1)):m.batchedUpdates(e,t)},flushBatchedUpdates:C,injection:{injectReconcileTransaction:function(e){e||r("126"),E.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||r("127"),"function"!=typeof e.batchedUpdates&&r("128"),"boolean"!=typeof e.isBatchingUpdates&&r("129"),m=e}},asap:function(e,t){c(m.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),f.enqueue(e,t),h=!0}};e.exports=E},function(e,t,n){"use strict";e.exports={current:null}},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(8),a=(n(2),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),s={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};function u(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)){0;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:!1===n.returnValue;return this.isDefaultPrevented=u?i.thatReturnsTrue:i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}r(u.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<a.length;n++)this[a[n]]=null}}),u.Interface=s,u.augmentClass=function(e,t){var n=function(){};n.prototype=this.prototype;var i=new n;r(i,e.prototype),e.prototype=i,e.prototype.constructor=e,e.Interface=r({},this.Interface,t),e.augmentClass=this.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(u,o.fourArgumentPooler),e.exports=u},function(e,t,n){"use strict";var r=n(3),o=n(51),i=n(93),a=n(98),s=n(15),u=n(99),l=n(103),c=n(104),p=n(106),d=s.createElement,f=s.createFactory,h=s.cloneElement,m=r,v={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:p},Component:o.Component,PureComponent:o.PureComponent,createElement:d,cloneElement:h,isValidElement:s.isValidElement,PropTypes:u,createClass:c,createFactory:f,createMixin:function(e){return e},DOM:a,version:l,__spread:m};e.exports=v},function(e,t,n){"use strict";var r=n(1),o=(n(0),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,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)}};e.exports=s},function(e,t,n){"use strict";var r=n(114);n(6),n(2);function o(){r.attachRefs(this,this._currentElement)}var i={mountComponent:function(e,t,n,r,i,a){var s=e.mountComponent(t,n,r,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(o,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){r.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){0;var s=r.shouldUpdateRefs(a,t);s&&r.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(o,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}};e.exports=i},function(e,t,n){"use strict";var r=n(3),o=n(10),i=(n(2),n(53),Object.prototype.hasOwnProperty),a=n(54),s={key:!0,ref:!0,__self:!0,__source:!0};function u(e){return void 0!==e.ref}function l(e){return void 0!==e.key}var c=function(e,t,n,r,o,i,s){return{$$typeof:a,type:e,key:t,ref:n,props:s,_owner:i}};c.createElement=function(e,t,n){var r,a={},p=null,d=null;if(null!=t)for(r in u(t)&&(d=t.ref),l(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source,t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);var f=arguments.length-2;if(1===f)a.children=n;else if(f>1){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];0,a.children=h}if(e&&e.defaultProps){var v=e.defaultProps;for(r in v)void 0===a[r]&&(a[r]=v[r])}return c(e,p,d,0,0,o.current,a)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){return c(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},c.cloneElement=function(e,t,n){var a,p,d=r({},e.props),f=e.key,h=e.ref,m=(e._self,e._source,e._owner);if(null!=t)for(a in u(t)&&(h=t.ref,m=o.current),l(t)&&(f=""+t.key),e.type&&e.type.defaultProps&&(p=e.type.defaultProps),t)i.call(t,a)&&!s.hasOwnProperty(a)&&(void 0===t[a]&&void 0!==p?d[a]=p[a]:d[a]=t[a]);var v=arguments.length-2;if(1===v)d.children=n;else if(v>1){for(var g=Array(v),y=0;y<v;y++)g[y]=arguments[y+2];d.children=g}return c(e.type,f,h,0,0,m,d)},c.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},e.exports=c},function(e,t,n){"use strict";var r=n(1);n(0);function o(e,t){return(e&t)===t}var i={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=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};for(var p in e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute),n){s.properties.hasOwnProperty(p)&&r("48",p);var d=p.toLowerCase(),f=n[p],h={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:o(f,t.MUST_USE_PROPERTY),hasBooleanValue:o(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:o(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:o(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:o(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1||r("50",p),u.hasOwnProperty(p)){var m=u[p];h.attributeName=m}a.hasOwnProperty(p)&&(h.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),s.properties[p]=h}}},a=":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:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:i};e.exports=s},function(e,t,n){"use strict";var r=n(38),o=n(26),i=n(39),a=n(66),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++)l(t,n[r],null);else null!=e.html?o(t,e.html):null!=e.text&&a(t,e.text)}}var l=i(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 c(){return this.node.nodeName}function p(e){return{node:e,children:[],html:null,text:null,toString:c}}p.insertTreeBefore=l,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:a(e.node,t)},e.exports=p},function(e,t,n){"use strict";e.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]);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}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(21),o=n(32),i=n(58),a=n(59),s=(n(2),r.getListener);function u(e,t,n){var r=function(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return s(e,r)}(e,n,t);r&&(n._dispatchListeners=i(n._dispatchListeners,r),n._dispatchInstances=i(n._dispatchInstances,e))}function l(e){e&&e.dispatchConfig.phasedRegistrationNames&&o.traverseTwoPhase(e._targetInst,u,e)}function c(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?o.getParentInstance(t):null;o.traverseTwoPhase(n,u,e)}}function p(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=s(e,r);o&&(n._dispatchListeners=i(n._dispatchListeners,o),n._dispatchInstances=i(n._dispatchInstances,e))}}function d(e){e&&e.dispatchConfig.registrationName&&p(e._targetInst,0,e)}var f={accumulateTwoPhaseDispatches:function(e){a(e,l)},accumulateTwoPhaseDispatchesSkipTarget:function(e){a(e,c)},accumulateDirectDispatches:function(e){a(e,d)},accumulateEnterLeaveDispatches:function(e,t,n,r){o.traverseEnterLeave(n,r,p,e,t)}};e.exports=f},function(e,t,n){"use strict";var r=n(1),o=n(31),i=n(32),a=n(33),s=n(58),u=n(59),l=(n(0),{}),c=null,p=function(e,t){e&&(i.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},d=function(e){return p(e,!0)},f=function(e){return p(e,!1)},h=function(e){return"."+e._rootNodeID};var m={injection:{injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n&&r("94",t,typeof n);var i=h(e);(l[t]||(l[t]={}))[i]=n;var a=o.registrationNameModules[t];a&&a.didPutListener&&a.didPutListener(e,t,n)},getListener:function(e,t){var n=l[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||(r=t,"button"!==r&&"input"!==r&&"select"!==r&&"textarea"!==r));default:return!1}var r}(t,e._currentElement.type,e._currentElement.props))return null;var r=h(e);return n&&n[r]},deleteListener:function(e,t){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=l[t];r&&delete r[h(e)]},deleteAllListeners:function(e){var t=h(e);for(var n in l)if(l.hasOwnProperty(n)&&l[n][t]){var r=o.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete l[n][t]}},extractEvents:function(e,t,n,r){for(var i,a=o.plugins,u=0;u<a.length;u++){var l=a[u];if(l){var c=l.extractEvents(e,t,n,r);c&&(i=s(i,c))}}return i},enqueueEvents:function(e){e&&(c=s(c,e))},processEventQueue:function(e){var t=c;c=null,u(t,e?d:f),c&&r("95"),a.rethrowCaughtError()},__purge:function(){l={}},__getListenerBank:function(){return l}};e.exports=m},function(e,t,n){"use strict";var r=n(11),o=n(34),i={view:function(e){if(e.view)return e.view;var t=o(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}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},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}};e.exports=r},function(e,t,n){"use strict";var r=n(1),o=(n(0),{}),i={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,i,a,s,u){var l,c;this.isInTransaction()&&r("27");try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)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]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t,n){"use strict";var r=n(22),o=n(65),i={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:n(36),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+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r,o=n(5),i=n(38),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(39)(function(e,t){if(e.namespaceURI!==i.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)}});if(o.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.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}e.exports=u},function(e,t,n){"use strict";var r=/["'&<>]/;e.exports=function(e){return"boolean"==typeof e||"number"==typeof e?""+e:function(e){var t,n=""+e,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t=""";break;case 38:t="&";break;case 39:t="'";break;case 60:t="<";break;case 62:t=">";break;default:continue}s!==a&&(i+=n.substring(s,a)),s=a+1,i+=t}return s!==a?i+n.substring(s,a):i}(e)}},function(e,t,n){"use strict";var r,o=n(3),i=n(31),a=n(135),s=n(65),u=n(136),l=n(35),c={},p=!1,d=0,f={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 m=o({},a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=function(e){return Object.prototype.hasOwnProperty.call(e,h)||(e[h]=d++,c[e[h]]={}),c[e[h]]}(n),o=i.registrationNameDependencies[e],a=0;a<o.length;a++){var s=o[a];r.hasOwnProperty(s)&&r[s]||("topWheel"===s?l("wheel")?m.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):l("mousewheel")?m.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):m.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===s?l("scroll",!0)?m.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):m.ReactEventListener.trapBubbledEvent("topScroll","scroll",m.ReactEventListener.WINDOW_HANDLE):"topFocus"===s||"topBlur"===s?(l("focus",!0)?(m.ReactEventListener.trapCapturedEvent("topFocus","focus",n),m.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):l("focusin")&&(m.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),m.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),r.topBlur=!0,r.topFocus=!0):f.hasOwnProperty(s)&&m.ReactEventListener.trapBubbledEvent(s,f[s],n),r[s]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.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===r&&(r=m.supportsEventPageXY()),!r&&!p){var e=s.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),p=!0}}});e.exports=m},function(e,t,n){"use strict";e.exports=n(12)},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,l=[],c=!1,p=-1;function d(){c&&u&&(c=!1,u.length?l=u.concat(l):p=-1,l.length&&f())}function f(){if(!c){var e=s(d);c=!0;for(var t=l.length;t;){for(u=l,l=[];++p<t;)u&&u[p].run();p=-1,t=l.length}u=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}o.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];l.push(new h(e,t)),1!==l.length||c||s(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(1),o=(n(0),null),i={};function a(){if(o)for(var e in i){var t=i[e],n=o.indexOf(e);if(n>-1||r("96",e),!l.plugins[n]){t.extractEvents||r("97",e),l.plugins[n]=t;var a=t.eventTypes;for(var u in a)s(a[u],t,u)||r("98",u,e)}}}function s(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&r("99",n),l.eventNameDispatchConfigs[n]=e;var o=e.phasedRegistrationNames;if(o){for(var i in o){if(o.hasOwnProperty(i))u(o[i],t,n)}return!0}return!!e.registrationName&&(u(e.registrationName,t,n),!0)}function u(e,t,n){l.registrationNameModules[e]&&r("100",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){o&&r("101"),o=Array.prototype.slice.call(e),a()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];i.hasOwnProperty(n)&&i[n]===o||(i[n]&&r("102",n),i[n]=o,t=!0)}t&&a()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){for(var e in o=null,i)i.hasOwnProperty(e)&&delete i[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var a in r)r.hasOwnProperty(a)&&delete r[a]}};e.exports=l},function(e,t,n){"use strict";var r,o,i=n(1),a=n(33);n(0),n(2);function s(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=u.getNodeFromInstance(r),t?a.invokeGuardedCallbackWithCatch(o,n,e):a.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;Array.isArray(t)&&i("103"),e.currentTarget=t?u.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r},executeDispatchesInOrder:function(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(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(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 r.getInstanceFromNode(e)},getNodeFromInstance:function(e){return r.getNodeFromInstance(e)},isAncestor:function(e,t){return o.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return o.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return o.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return o.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,i){return o.traverseEnterLeave(e,t,n,r,i)},injection:{injectComponentTree:function(e){r=e},injectTreeTraversal:function(e){o=e}}};e.exports=u},function(e,t,n){"use strict";var r=null;function o(e,t,n){try{t(n)}catch(e){null===r&&(r=e)}}var i={invokeGuardedCallback:o,invokeGuardedCallbackWithCatch:o,rethrowCaughtError:function(){if(r){var e=r;throw r=null,e}}};e.exports=i},function(e,t,n){"use strict";e.exports=function(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}},function(e,t,n){"use strict";var r,o=n(5);o.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""))
|
7 |
/**
|
8 |
* Checks if an event is supported in the current execution environment.
|
9 |
*
|
@@ -17,25 +17,48 @@ object-assign
|
|
17 |
* @return {boolean} True if the event is supported.
|
18 |
* @internal
|
19 |
* @license Modernizr 3.0.0pre (Custom Build) | MIT
|
20 |
-
*/,e.exports=function(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var a=document.createElement("div");a.setAttribute(n,"return;"),i="function"==typeof a[n]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}},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);var n=r[e];return!!n&&!!t[n]}e.exports=function(e){return o}},function(e,t,n){"use strict";var r=n(17),o=n(120),i=(n(4),n(6),n(39)),a=n(26),s=n(66);function u(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}var l=i(function(e,t,n){e.insertBefore(t,n)});function c(e,t,n){r.insertTreeBefore(e,t,n)}function p(e,t,n){Array.isArray(t)?function(e,t,n,r){var o=t;for(;;){var i=o.nextSibling;if(l(e,o,r),o===n)break;o=i}}(e,t[0],t[1],n):l(e,t,n)}function d(e,t){if(Array.isArray(t)){var n=t[1];f(e,t=t[0],n),e.removeChild(n)}e.removeChild(t)}function f(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}var h={dangerouslyReplaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup,replaceDelimitedText:function(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&l(r,document.createTextNode(n),o):n?(s(o,n),f(r,o,t)):f(r,e,t)},processUpdates:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];switch(r.type){case"INSERT_MARKUP":c(e,r.content,u(e,r.afterNode));break;case"MOVE_EXISTING":p(e,r.fromNode,u(e,r.afterNode));break;case"SET_MARKUP":a(e,r.content);break;case"TEXT_CONTENT":s(e,r.content);break;case"REMOVE_NODE":d(e,r.fromNode)}}}};e.exports=h},function(e,t,n){"use strict";e.exports={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}},function(e,t,n){"use strict";e.exports=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}},function(e,t,n){"use strict";var r=n(1),o=n(138),i=n(55)(n(12).isValidElement),a=(n(0),n(2),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0});function s(e){null!=e.checkedLink&&null!=e.valueLink&&r("87")}function u(e){s(e),(null!=e.value||null!=e.onChange)&&r("88")}function l(e){s(e),(null!=e.checked||null!=e.onChange)&&r("89")}var c={value:function(e,t,n){return!e[t]||a[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:i.func},p={};function d(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var f={checkPropTypes:function(e,t,n){for(var r in c){if(c.hasOwnProperty(r))var i=c[r](t,r,e,"prop",null,o);if(i instanceof Error&&!(i.message in p)){p[i.message]=!0;d(n)}}},getValue:function(e){return e.valueLink?(u(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(l(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(u(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(l(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=f},function(e,t,n){"use strict";var r=n(1),o=(n(0),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o&&r("104"),i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(143),a=n(72),s=n(73),u=(n(144),n(0),n(2),function(e){this.construct(e)});function l(e,t){var n;if(null===e||!1===e)n=a.create(l);else if("object"==typeof e){var o=e,i=o.type;if("function"!=typeof i&&"string"!=typeof i){var c="";0,c+=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}(o._owner),r("130",null==i?i:typeof i,c)}"string"==typeof o.type?n=s.createInternalComponent(o):!function(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}(o.type)?n=new u(o):(n=new o.type(o)).getHostNode||(n.getHostNode=n.getNativeNode)}else"string"==typeof e||"number"==typeof e?n=s.createInstanceForText(e):r("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}o(u.prototype,i,{_instantiateReactComponent:l}),e.exports=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function o(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,t){if(o(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!r.call(t,n[a])||!o(e[n[a]],t[n[a]]))return!1;return!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}},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]})}};e.exports=r},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(23)),i=(n(6),n(9));n(0),n(2);function a(e){i.enqueueUpdate(e)}function s(e,t){var n=o.get(e);return n||null}var u={isMounted:function(e){var t=o.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){u.validateCallback(t,n);var r=s(e);if(!r)return null;r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],a(r)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],a(e)},enqueueForceUpdate:function(e){var t=s(e);t&&(t._pendingForceUpdate=!0,a(t))},enqueueReplaceState:function(e,t,n){var r=s(e);r&&(r._pendingStateQueue=[t],r._pendingReplaceState=!0,null!=n&&(u.validateCallback(n,"replaceState"),r._pendingCallbacks?r._pendingCallbacks.push(n):r._pendingCallbacks=[n]),a(r))},enqueueSetState:function(e,t){var n=s(e);n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),a(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,a(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&r("122",t,function(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}(e))}};e.exports=u},function(e,t,n){"use strict";n(3);var r=n(8),o=(n(2),r);e.exports=o},function(e,t,n){"use strict";e.exports=function(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}},function(e,t,n){"use strict";(function(t){var r=n(7),o=n(189),i={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,u={adapter:("undefined"!=typeof XMLHttpRequest?s=n(87):void 0!==t&&(s=n(87)),s),transformRequest:[function(e,t){return o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],function(e){u.headers[e]={}}),r.forEach(["post","put","patch"],function(e){u.headers[e]=r.merge(i)}),e.exports=u}).call(this,n(30))},function(e,t,n){"use strict";e.exports={photo_api:"https://api.unsplash.com/photos",search_api:"https://api.unsplash.com/search/photos",app_id:"/?client_id="+instant_img_localize.unsplash_app_id,posts_per_page:"&per_page=20"}},function(e,t,n){"use strict";var r=n(18),o=n(3),i=n(52),a=(n(53),n(19));n(0),n(92);function s(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function u(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function l(){}s.prototype.isReactComponent={},s.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&r("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},s.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")},l.prototype=s.prototype,u.prototype=new l,u.prototype.constructor=u,o(u.prototype,s.prototype),u.prototype.isPureReactComponent=!0,e.exports={Component:s,PureComponent:u}},function(e,t,n){"use strict";n(2);var r={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}};e.exports=r},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r=n(100);e.exports=function(e){return r(e,!1)}},function(e,t,n){"use strict";e.exports={hasCachedChildNodes:1}},function(e,t,n){"use strict";var r=n(108),o=n(109),i=n(113),a=n(116),s=n(117),u=n(118),l=n(119),c=n(125),p=n(4),d=n(149),f=n(150),h=n(151),m=n(77),v=n(152),g=n(154),y=n(155),_=n(161),b=n(162),C=n(163),E=!1;e.exports={inject:function(){E||(E=!0,g.EventEmitter.injectReactEventListener(v),g.EventPluginHub.injectEventPluginOrder(a),g.EventPluginUtils.injectComponentTree(p),g.EventPluginUtils.injectTreeTraversal(f),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:C,EnterLeaveEventPlugin:s,ChangeEventPlugin:i,SelectEventPlugin:b,BeforeInputEventPlugin:o}),g.HostComponent.injectGenericComponentClass(c),g.HostComponent.injectTextComponentClass(h),g.DOMProperty.injectDOMPropertyConfig(r),g.DOMProperty.injectDOMPropertyConfig(u),g.DOMProperty.injectDOMPropertyConfig(_),g.EmptyComponent.injectEmptyComponentFactory(function(e){return new d(e)}),g.Updates.injectReconcileTransaction(y),g.Updates.injectBatchingStrategy(m),g.Component.injectEnvironment(l))}}},function(e,t,n){"use strict";var r=n(1);n(0);e.exports=function(e,t){return null==t&&r("30"),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]}},function(e,t,n){"use strict";e.exports=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}},function(e,t,n){"use strict";var r=n(5),o=null;e.exports=function(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}},function(e,t,n){"use strict";var r=n(1);var o=n(13),i=(n(0),function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(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&&r("24"),this._callbacks=null,this._contexts=null;for(var o=0;o<e.length;o++)e[o].call(t[o],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}());e.exports=o.addPoolingTo(i)},function(e,t,n){"use strict";e.exports={logTopLevelRenders:!1}},function(e,t,n){"use strict";var r=n(4);function o(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function i(e){return e._wrapperState.valueTracker}var a={_getTrackerFromNode:function(e){return i(r.getInstanceFromNode(e))},track:function(e){if(!i(e)){var t=r.getNodeFromInstance(e),n=o(t)?"checked":"value",a=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),s=""+t[n];t.hasOwnProperty(n)||"function"!=typeof a.get||"function"!=typeof a.set||(Object.defineProperty(t,n,{enumerable:a.enumerable,configurable:!0,get:function(){return a.get.call(this)},set:function(e){s=""+e,a.set.call(this,e)}}),function(e,t){e._wrapperState.valueTracker=t}(e,{getValue:function(){return s},setValue:function(e){s=""+e},stopTracking:function(){!function(e){e._wrapperState.valueTracker=null}(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=i(e);if(!t)return a.track(e),!0;var n,s,u=t.getValue(),l=((n=r.getNodeFromInstance(e))&&(s=o(n)?""+n.checked:n.value),s);return l!==u&&(t.setValue(l),!0)},stopTracking:function(e){var t=i(e);t&&t.stopTracking()}};e.exports=a},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};e.exports=function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}},function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};e.exports=r},function(e,t,n){"use strict";var r=n(5),o=n(27),i=n(26),a=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||(a=function(e,t){3!==e.nodeType?i(e,o(t)):e.nodeValue=t})),e.exports=a},function(e,t,n){"use strict";e.exports=function(e){try{e.focus()}catch(e){}}},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(e){o.forEach(function(t){r[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=r[e]})});var i={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}}};e.exports=i},function(e,t,n){"use strict";var r=n(16),o=(n(4),n(6),n(134)),i=(n(2),new RegExp("^["+r.ATTRIBUTE_NAME_START_CHAR+"]["+r.ATTRIBUTE_NAME_CHAR+"]*$")),a={},s={};function u(e){return!!s.hasOwnProperty(e)||!a.hasOwnProperty(e)&&(i.test(e)?(s[e]=!0,!0):(a[e]=!0,!1))}function l(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var c={createMarkupForID:function(e){return r.ID_ATTRIBUTE_NAME+"="+o(e)},setAttributeForID:function(e,t){e.setAttribute(r.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return r.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(r.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=r.properties.hasOwnProperty(e)?r.properties[e]:null;if(n){if(l(n,t))return"";var i=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?i+'=""':i+"="+o(t)}return r.isCustomAttribute(e)?null==t?"":e+"="+o(t):null},createMarkupForCustomAttribute:function(e,t){return u(e)&&null!=t?e+"="+o(t):""},setValueForProperty:function(e,t,n){var o=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(o){var i=o.mutationMethod;if(i)i(e,n);else{if(l(o,n))return void this.deleteValueForProperty(e,t);if(o.mustUseProperty)e[o.propertyName]=n;else{var a=o.attributeName,s=o.attributeNamespace;s?e.setAttributeNS(s,a,""+n):o.hasBooleanValue||o.hasOverloadedBooleanValue&&!0===n?e.setAttribute(a,""):e.setAttribute(a,""+n)}}}else if(r.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){u(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(n){var o=n.mutationMethod;if(o)o(e,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?e[i]=!1:e[i]=""}else e.removeAttribute(n.attributeName)}else r.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t,n){"use strict";var r=n(3),o=n(40),i=n(4),a=n(9),s=(n(2),!1);function u(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=o.getValue(e);null!=t&&l(this,Boolean(e.multiple),t)}}function l(e,t,n){var r,o,a=i.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 s=r.hasOwnProperty(a[o].value);a[o].selected!==s&&(a[o].selected=s)}}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 c={getHostProps:function(e,t){return r({},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:p.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||s||(s=!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,l(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?l(e,Boolean(t.multiple),t.defaultValue):l(e,Boolean(t.multiple),t.multiple?[]:""))}};function p(e){var t=this._currentElement.props,n=o.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),a.asap(u,this),n}e.exports=c},function(e,t,n){"use strict";var r=n(1),o=n(12),i=(n(0),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});e.exports=i},function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,e.exports=i},function(e,t,n){"use strict";var r=n(1),o=(n(0),null),i=null;var a={createInternalComponent:function(e){return o||r("111",e.type),new o(e)},createInstanceForText:function(e){return new i(e)},isTextComponent:function(e){return e instanceof i},injection:{injectGenericComponentClass:function(e){o=e},injectTextComponentClass:function(e){i=e}}};e.exports=a},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(145)),i=n(146),a=(n(0),n(45)),s=(n(2),"."),u=":";function l(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,c,p){var d,f=typeof t;if("undefined"!==f&&"boolean"!==f||(t=null),null===t||"string"===f||"number"===f||"object"===f&&t.$$typeof===o)return c(p,t,""===n?s+l(t,0):n),1;var h=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)h+=e(d=t[v],m+l(d,v),c,p);else{var g=i(t);if(g){var y,_=g.call(t);if(g!==t.entries)for(var b=0;!(y=_.next()).done;)h+=e(d=y.value,m+l(d,b++),c,p);else for(;!(y=_.next()).done;){var C=y.value;C&&(h+=e(d=C[1],m+a.escape(C[0])+u+l(d,0),c,p))}}else if("object"===f){var E=String(t);r("31","[object Object]"===E?"object with keys {"+Object.keys(t).join(", ")+"}":E,"")}}return h}(e,"",t,n)}},function(e,t,n){"use strict";var r,o,i,a,s,u,l,c=n(18),p=n(10);n(0),n(2);function d(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}}if("function"==typeof Array.from&&"function"==typeof Map&&d(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&d(Map.prototype.keys)&&"function"==typeof Set&&d(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&d(Set.prototype.keys)){var f=new Map,h=new Set;r=function(e,t){f.set(e,t)},o=function(e){return f.get(e)},i=function(e){f.delete(e)},a=function(){return Array.from(f.keys())},s=function(e){h.add(e)},u=function(e){h.delete(e)},l=function(){return Array.from(h.keys())}}else{var m={},v={},g=function(e){return"."+e},y=function(e){return parseInt(e.substr(1),10)};r=function(e,t){var n=g(e);m[n]=t},o=function(e){var t=g(e);return m[t]},i=function(e){var t=g(e);delete m[t]},a=function(){return Object.keys(m).map(y)},s=function(e){var t=g(e);v[t]=!0},u=function(e){var t=g(e);delete v[t]},l=function(){return Object.keys(v).map(y)}}var _=[];function b(e){var t=o(e);if(t){var n=t.childIDs;i(e),n.forEach(b)}}function C(e,t,n){return"\n in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function E(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 w(e){var t,n=x.getDisplayName(e),r=x.getElement(e),o=x.getOwnerID(e);return o&&(t=x.getDisplayName(o)),C(n,r&&r._source,t)}var x={onSetChildren:function(e,t){var n=o(e);n||c("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var i=t[r],a=o(i);a||c("140"),null==a.childIDs&&"object"==typeof a.element&&null!=a.element&&c("141"),a.isMounted||c("71"),null==a.parentID&&(a.parentID=e),a.parentID!==e&&c("142",i,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){var n=o(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=o(e);t||c("144"),t.isMounted=!0,0===t.parentID&&s(e)},onUpdateComponent:function(e){var t=o(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=o(e);t&&(t.isMounted=!1,0===t.parentID&&u(e));_.push(e)},purgeUnmountedComponents:function(){if(!x._preventPurging){for(var e=0;e<_.length;e++){b(_[e])}_.length=0}},isMounted:function(e){var t=o(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=E(e),r=e._owner;t+=C(n,e._source,r&&r.getName())}var o=p.current,i=o&&o._debugID;return t+=x.getStackAddendumByID(i)},getStackAddendumByID:function(e){for(var t="";e;)t+=w(e),e=x.getParentID(e);return t},getChildIDs:function(e){var t=o(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=x.getElement(e);return t?E(t):null},getElement:function(e){var t=o(e);return t?t.element:null},getOwnerID:function(e){var t=x.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=o(e);return t?t.parentID:null},getSource:function(e){var t=o(e),n=t?t.element:null;return null!=n?n._source:null},getText:function(e){var t=x.getElement(e);return"string"==typeof t?t:"number"==typeof t?""+t:null},getUpdateCount:function(e){var t=o(e);return t?t.updateCount:0},getRootIDs:l,getRegisteredIDs:a,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=p.current,o=r&&r._debugID;try{for(e&&n.push({name:o?x.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var i=x.getElement(o),a=x.getParentID(o),s=x.getOwnerID(o),u=s?x.getDisplayName(s):null,l=i&&i._source;n.push({name:u,fileName:l?l.fileName:null,lineNumber:l?l.lineNumber:null}),o=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=x},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(24),a=(n(6),n(148)),s=[];var u={enqueue:function(){}};function l(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new a(this)}var c={getTransactionWrappers:function(){return s},getReactMountReady:function(){return u},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};r(l.prototype,i,c),o.addPoolingTo(l),e.exports=l},function(e,t,n){"use strict";var r=n(3),o=n(9),i=n(24),a=n(8),s={initialize:a,close:function(){p.isBatchingUpdates=!1}},u=[{initialize:a,close:o.flushBatchedUpdates.bind(o)},s];function l(){this.reinitializeTransaction()}r(l.prototype,i,{getTransactionWrappers:function(){return u}});var c=new l,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=p.isBatchingUpdates;return p.isBatchingUpdates=!0,a?e(t,n,r,o,i):c.perform(e,null,t,n,r,o,i)}};e.exports=p},function(e,t,n){"use strict";var r=n(8),o={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(){}};e.exports=o},function(e,t,n){"use strict";var r=n(156),o=n(158),i=n(67),a=n(80);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=a();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t,n=a(),r=e.focusedElem,u=e.selectionRange;n!==r&&(t=r,o(document.documentElement,t))&&(s.hasSelectionCapabilities(r)&&s.setSelection(r,u),i(r))},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=r.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if(void 0===o&&(o=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",o-n),i.select()}else r.setOffsets(e,t)}};e.exports=s},function(e,t,n){"use strict";e.exports=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){"use strict";var r=n(1),o=n(17),i=n(16),a=n(12),s=n(28),u=(n(10),n(4)),l=n(82),c=n(173),p=n(62),d=n(23),f=(n(6),n(83)),h=n(14),m=n(46),v=n(9),g=n(19),y=n(42),_=(n(0),n(26)),b=n(44),C=(n(2),i.ID_ATTRIBUTE_NAME),E=i.ROOT_ATTRIBUTE_NAME,w=1,x=9,k=11,S={};function T(e){return e?e.nodeType===x?e.documentElement:e.firstChild:null}function P(e,t,n,r,o){var i;if(p.logTopLevelRenders){var a=e._currentElement.props.child.type;i="React mount: "+("string"==typeof a?a:a.displayName||a.name),console.time(i)}var s=h.mountComponent(e,n,null,l(e,t),o,0);i&&console.timeEnd(i),e._renderedComponent._topLevelWrapper=e,L._mountImageIntoNode(s,t,e,r,n)}function N(e,t,n,r){var o=v.ReactReconcileTransaction.getPooled(!n&&c.useCreateElement);o.perform(P,null,e,t,o,n,r),v.ReactReconcileTransaction.release(o)}function I(e,t,n){for(0,h.unmountComponent(e,n),t.nodeType===x&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function M(e){var t=T(e);if(t){var n=u.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function O(e){return!(!e||e.nodeType!==w&&e.nodeType!==x&&e.nodeType!==k)}function A(e){var t=function(e){var t=T(e),n=t&&u.getInstanceFromNode(t);return n&&!n._hostParent?n:null}(e);return t?t._hostContainerInfo._topLevelWrapper:null}var R=1,D=function(){this.rootID=R++};D.prototype.isReactComponent={},D.prototype.render=function(){return this.props.child},D.isReactTopLevelWrapper=!0;var L={TopLevelWrapper:D,_instancesByReactRootID:S,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return L.scrollMonitor(r,function(){m.enqueueElementInternal(e,t,n),o&&m.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,o){O(t)||r("37"),s.ensureScrollValueMonitoring();var i=y(e,!1);v.batchedUpdates(N,i,t,n,o);var a=i._instance.rootID;return S[a]=i,i},renderSubtreeIntoContainer:function(e,t,n,o){return null!=e&&d.has(e)||r("38"),L._renderSubtreeIntoContainer(e,t,n,o)},_renderSubtreeIntoContainer:function(e,t,n,o){m.validateCallback(o,"ReactDOM.render"),a.isValidElement(t)||r("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=a.createElement(D,{child:t});if(e){var u=d.get(e);i=u._processChildContext(u._context)}else i=g;var l=A(n);if(l){var c=l._currentElement.props.child;if(b(c,t)){var p=l._renderedComponent.getPublicInstance(),f=o&&function(){o.call(p)};return L._updateRootComponent(l,s,i,n,f),p}L.unmountComponentAtNode(n)}var h,v=T(n),y=v&&!(!(h=v).getAttribute||!h.getAttribute(C)),_=M(n),E=y&&!l&&!_,w=L._renderNewRootComponent(s,n,E,i)._renderedComponent.getPublicInstance();return o&&o.call(w),w},render:function(e,t,n){return L._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){O(e)||r("40");var t=A(e);if(!t){M(e),1===e.nodeType&&e.hasAttribute(E);return!1}return delete S[t._instance.rootID],v.batchedUpdates(I,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(O(t)||r("41"),i){var s=T(t);if(f.canReuseMarkup(e,s))return void u.precacheNode(n,s);var l=s.getAttribute(f.CHECKSUM_ATTR_NAME);s.removeAttribute(f.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(f.CHECKSUM_ATTR_NAME,l);var p=e,d=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}(p,c),h=" (client) "+p.substring(d-20,d+20)+"\n (server) "+c.substring(d-20,d+20);t.nodeType===x&&r("42",h)}if(t.nodeType===x&&r("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);o.insertTreeBefore(t,e,null)}else _(t,e),u.precacheNode(n,t.firstChild)}};e.exports=L},function(e,t,n){"use strict";n(47);var r=9;e.exports=function(e,t){return{_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===r?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null}}},function(e,t,n){"use strict";var r=n(174),o=/\/?>/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};e.exports=a},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(71);e.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}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";var r=n(7),o=n(190),i=n(192),a=n(193),s=n(194),u=n(88),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(195);e.exports=function(e){return new Promise(function(t,c){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var f=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in f||s(e.url)||(f=new window.XDomainRequest,h="onload",m=!0,f.onprogress=function(){},f.ontimeout=function(){}),e.auth){var v=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(v+":"+g)}if(f.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),f.timeout=e.timeout,f[h]=function(){if(f&&(4===f.readyState||m)&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in f?a(f.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?f.response:f.responseText,status:1223===f.status?204:f.status,statusText:1223===f.status?"No Content":f.statusText,headers:n,config:e,request:f};o(t,c,r),f=null}},f.onerror=function(){c(u("Network Error",e,null,f)),f=null},f.ontimeout=function(){c(u("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",f)),f=null},r.isStandardBrowserEnv()){var y=n(196),_=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;_&&(d[e.xsrfHeaderName]=_)}if("setRequestHeader"in f&&r.forEach(d,function(e,t){void 0===p&&"content-type"===t.toLowerCase()?delete d[t]:f.setRequestHeader(t,e)}),e.withCredentials&&(f.withCredentials=!0),e.responseType)try{f.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&f.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){f&&(f.abort(),c(e),f=null)}),void 0===p&&(p=null),f.send(p)})}},function(e,t,n){"use strict";var r=n(191);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";e.exports=n(107)},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){"use strict";var r=n(94),o=n(15),i=n(8),a=n(95),s=r.twoArgumentPooler,u=r.fourArgumentPooler,l=/\/+/g;function c(e){return(""+e).replace(l,"$&/")}function p(e,t){this.func=e,this.context=t,this.count=0}function d(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 h(e,t,n){var r=e.result,a=e.keyPrefix,s=e.func,u=e.context,l=s.call(u,t,e.count++);Array.isArray(l)?m(l,r,n,i.thatReturnsArgument):null!=l&&(o.isValidElement(l)&&(l=o.cloneAndReplaceKey(l,a+(!l.key||t&&t.key===l.key?"":c(l.key)+"/")+n)),r.push(l))}function m(e,t,n,r,o){var i="";null!=n&&(i=c(n)+"/");var s=f.getPooled(t,i,r,o);a(e,h,s),f.release(s)}function v(e,t,n){return null}p.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},r.addPoolingTo(p,s),f.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},r.addPoolingTo(f,u);var g={forEach:function(e,t,n){if(null==e)return e;var r=p.getPooled(t,n);a(e,d,r),p.release(r)},map:function(e,t,n){if(null==e)return e;var r=[];return m(e,r,null,t,n),r},mapIntoWithKeyPrefixInternal:m,count:function(e,t){return a(e,v,null)},toArray:function(e){var t=[];return m(e,t,null,i.thatReturnsArgument),t}};e.exports=g},function(e,t,n){"use strict";var r=n(18),o=(n(0),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,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)}};e.exports=s},function(e,t,n){"use strict";var r=n(18),o=(n(10),n(54)),i=n(96),a=(n(0),n(97)),s=(n(2),"."),u=":";function l(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,c,p){var d,f=typeof t;if("undefined"!==f&&"boolean"!==f||(t=null),null===t||"string"===f||"number"===f||"object"===f&&t.$$typeof===o)return c(p,t,""===n?s+l(t,0):n),1;var h=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)h+=e(d=t[v],m+l(d,v),c,p);else{var g=i(t);if(g){var y,_=g.call(t);if(g!==t.entries)for(var b=0;!(y=_.next()).done;)h+=e(d=y.value,m+l(d,b++),c,p);else for(;!(y=_.next()).done;){var C=y.value;C&&(h+=e(d=C[1],m+a.escape(C[0])+u+l(d,0),c,p))}}else if("object"===f){var E=String(t);r("31","[object Object]"===E?"object with keys {"+Object.keys(t).join(", ")+"}":E,"")}}return h}(e,"",t,n)}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},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]})}};e.exports=r},function(e,t,n){"use strict";var r=n(15).createFactory,o={a:r("a"),abbr:r("abbr"),address:r("address"),area:r("area"),article:r("article"),aside:r("aside"),audio:r("audio"),b:r("b"),base:r("base"),bdi:r("bdi"),bdo:r("bdo"),big:r("big"),blockquote:r("blockquote"),body:r("body"),br:r("br"),button:r("button"),canvas:r("canvas"),caption:r("caption"),cite:r("cite"),code:r("code"),col:r("col"),colgroup:r("colgroup"),data:r("data"),datalist:r("datalist"),dd:r("dd"),del:r("del"),details:r("details"),dfn:r("dfn"),dialog:r("dialog"),div:r("div"),dl:r("dl"),dt:r("dt"),em:r("em"),embed:r("embed"),fieldset:r("fieldset"),figcaption:r("figcaption"),figure:r("figure"),footer:r("footer"),form:r("form"),h1:r("h1"),h2:r("h2"),h3:r("h3"),h4:r("h4"),h5:r("h5"),h6:r("h6"),head:r("head"),header:r("header"),hgroup:r("hgroup"),hr:r("hr"),html:r("html"),i:r("i"),iframe:r("iframe"),img:r("img"),input:r("input"),ins:r("ins"),kbd:r("kbd"),keygen:r("keygen"),label:r("label"),legend:r("legend"),li:r("li"),link:r("link"),main:r("main"),map:r("map"),mark:r("mark"),menu:r("menu"),menuitem:r("menuitem"),meta:r("meta"),meter:r("meter"),nav:r("nav"),noscript:r("noscript"),object:r("object"),ol:r("ol"),optgroup:r("optgroup"),option:r("option"),output:r("output"),p:r("p"),param:r("param"),picture:r("picture"),pre:r("pre"),progress:r("progress"),q:r("q"),rp:r("rp"),rt:r("rt"),ruby:r("ruby"),s:r("s"),samp:r("samp"),script:r("script"),section:r("section"),select:r("select"),small:r("small"),source:r("source"),span:r("span"),strong:r("strong"),style:r("style"),sub:r("sub"),summary:r("summary"),sup:r("sup"),table:r("table"),tbody:r("tbody"),td:r("td"),textarea:r("textarea"),tfoot:r("tfoot"),th:r("th"),thead:r("thead"),time:r("time"),title:r("title"),tr:r("tr"),track:r("track"),u:r("u"),ul:r("ul"),var:r("var"),video:r("video"),wbr:r("wbr"),circle:r("circle"),clipPath:r("clipPath"),defs:r("defs"),ellipse:r("ellipse"),g:r("g"),image:r("image"),line:r("line"),linearGradient:r("linearGradient"),mask:r("mask"),path:r("path"),pattern:r("pattern"),polygon:r("polygon"),polyline:r("polyline"),radialGradient:r("radialGradient"),rect:r("rect"),stop:r("stop"),svg:r("svg"),text:r("text"),tspan:r("tspan")};e.exports=o},function(e,t,n){"use strict";var r=n(15).isValidElement,o=n(55);e.exports=o(r)},function(e,t,n){"use strict";var r=n(8),o=n(0),i=n(2),a=n(3),s=n(101),u=n(102);e.exports=function(e,t){var n="function"==typeof Symbol&&Symbol.iterator,l="@@iterator";var c="<<anonymous>>",p={array:m("array"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:h(r.thatReturnsNull),arrayOf:function(e){return h(function(t,n,r,o,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a)){var u=g(a);return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an array.")}for(var l=0;l<a.length;l++){var c=e(a,l,r,o,i+"["+l+"]",s);if(c instanceof Error)return c}return null})},element:function(){return h(function(t,n,r,o,i){var a=t[n];if(!e(a)){var s=g(a);return new f("Invalid "+o+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected a single ReactElement.")}return null})}(),instanceOf:function(e){return h(function(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||c,s=function(e){if(!e.constructor||!e.constructor.name)return c;return e.constructor.name}(t[n]);return new f("Invalid "+o+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null})},node:function(){return h(function(e,t,n,r,o){if(!v(e[t]))return new f("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.");return null})}(),objectOf:function(e){return h(function(t,n,r,o,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],u=g(a);if("object"!==u)return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an object.");for(var l in a)if(a.hasOwnProperty(l)){var c=e(a,l,r,o,i+"."+l,s);if(c instanceof Error)return c}return null})},oneOf:function(e){if(!Array.isArray(e))return r.thatReturnsNull;return h(function(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(d(a,e[s]))return null;var u=JSON.stringify(e);return new f("Invalid "+o+" `"+i+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+u+".")})},oneOfType:function(e){if(!Array.isArray(e))return r.thatReturnsNull;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return i(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",_(n),t),r.thatReturnsNull}return h(function(t,n,r,o,i){for(var a=0;a<e.length;a++){var u=e[a];if(null==u(t,n,r,o,i,s))return null}return new f("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")})},shape:function(e){return h(function(t,n,r,o,i){var a=t[n],u=g(a);if("object"!==u)return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var l in e){var c=e[l];if(c){var p=c(a,l,r,o,i+"."+l,s);if(p)return p}}return null})},exact:function(e){return h(function(t,n,r,o,i){var u=t[n],l=g(u);if("object"!==l)return new f("Invalid "+o+" `"+i+"` of type `"+l+"` supplied to `"+r+"`, expected `object`.");var c=a({},t[n],e);for(var p in c){var d=e[p];if(!d)return new f("Invalid "+o+" `"+i+"` key `"+p+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var h=d(u,p,r,o,i+"."+p,s);if(h)return h}return null})}};function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e){this.message=e,this.stack=""}function h(e){function n(n,r,i,a,u,l,p){(a=a||c,l=l||i,p!==s)&&(t&&o(!1,"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"));return null==r[i]?n?null===r[i]?new f("The "+u+" `"+l+"` is marked as required in `"+a+"`, but its value is `null`."):new f("The "+u+" `"+l+"` is marked as required in `"+a+"`, but its value is `undefined`."):null:e(r,i,a,u,l)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function m(e){return h(function(t,n,r,o,i,a){var s=t[n];return g(s)!==e?new f("Invalid "+o+" `"+i+"` of type `"+y(s)+"` supplied to `"+r+"`, expected `"+e+"`."):null})}function v(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(v);if(null===t||e(t))return!0;var r=function(e){var t=e&&(n&&e[n]||e[l]);if("function"==typeof t)return t}(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!v(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!v(a[1]))return!1}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function y(e){if(null==e)return""+e;var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function _(e){var t=y(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return f.prototype=Error.prototype,p.checkPropTypes=u,p.PropTypes=p,p}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){}},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(51).Component,o=n(15).isValidElement,i=n(52),a=n(105);e.exports=a(r,o,i)},function(e,t,n){"use strict";var r=n(3),o=n(19),i=n(0),a="mixins";e.exports=function(e,t,n){var s=[],u={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",updateComponent:"OVERRIDE_BASE"},l={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)p(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=f(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)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in l;i(!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;i(!a,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}(e,t)},autobind:function(){}};function c(e,t){var n=u.hasOwnProperty(t)?u[t]:null;y.hasOwnProperty(t)&&i("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&&i("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 p(e,n){if(n){i("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),i(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(a)&&l.mixins(e,n.mixins),n)if(n.hasOwnProperty(s)&&s!==a){var p=n[s],d=r.hasOwnProperty(s);if(c(d,s),l.hasOwnProperty(s))l[s](e,p);else{var m=u.hasOwnProperty(s);if("function"!=typeof p||m||d||!1===n.autobind)if(d){var v=u[s];i(m&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,s),"DEFINE_MANY_MERGED"===v?r[s]=f(r[s],p):"DEFINE_MANY"===v&&(r[s]=h(r[s],p))}else r[s]=p;else o.push(s,p),r[s]=p}}}}function d(e,t){for(var n in i(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(i(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 d(o,n),d(o,r),o}}function h(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function m(e,t){return t.bind(e)}var v={componentDidMount:function(){this.__isMounted=!0}},g={componentWillUnmount:function(){this.__isMounted=!1}},y={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},_=function(){};return r(_.prototype,e.prototype,y),function(e){var t=function(e,r,a){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]=m(e,o)}}(this),this.props=e,this.context=r,this.refs=o,this.updater=a||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;i("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=s};for(var r in t.prototype=new _,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],s.forEach(p.bind(null,t)),p(t,v),p(t,e),p(t,g),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),i(t.prototype.render,"createClass(...): Class specification must implement a `render` method."),u)t.prototype[r]||(t.prototype[r]=null);return t}}},function(e,t,n){"use strict";var r=n(18),o=n(15);n(0);e.exports=function(e){return o.isValidElement(e)||r("143"),e}},function(e,t,n){"use strict";var r=n(4),o=n(57),i=n(81),a=n(14),s=n(9),u=n(84),l=n(175),c=n(85),p=n(176);n(2);o.inject();var d={findDOMNode:l,render:i.render,unmountComponentAtNode:i.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=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a}),e.exports=d},function(e,t,n){"use strict";e.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:{}}},function(e,t,n){"use strict";var r=n(20),o=n(5),i=n(110),a=n(111),s=n(112),u=[9,13,27,32],l=229,c=o.canUseDOM&&"CompositionEvent"in window,p=null;o.canUseDOM&&"documentMode"in document&&(p=document.documentMode);var d,f=o.canUseDOM&&"TextEvent"in window&&!p&&!("object"==typeof(d=window.opera)&&"function"==typeof d.version&&parseInt(d.version(),10)<=12),h=o.canUseDOM&&(!c||p&&p>8&&p<=11);var m=32,v=String.fromCharCode(m),g={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"]}},y=!1;function _(e,t){switch(e){case"topKeyUp":return-1!==u.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==l;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function b(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}var C=null;function E(e,t,n,o){var s,u;if(c?s=function(e){switch(e){case"topCompositionStart":return g.compositionStart;case"topCompositionEnd":return g.compositionEnd;case"topCompositionUpdate":return g.compositionUpdate}}(e):C?_(e,n)&&(s=g.compositionEnd):function(e,t){return"topKeyDown"===e&&t.keyCode===l}(e,n)&&(s=g.compositionStart),!s)return null;h&&(C||s!==g.compositionStart?s===g.compositionEnd&&C&&(u=C.getData()):C=i.getPooled(o));var p=a.getPooled(s,t,n,o);if(u)p.data=u;else{var d=b(n);null!==d&&(p.data=d)}return r.accumulateTwoPhaseDispatches(p),p}function w(e,t,n,o){var a;if(!(a=f?function(e,t){switch(e){case"topCompositionEnd":return b(t);case"topKeyPress":return t.which!==m?null:(y=!0,v);case"topTextInput":var n=t.data;return n===v&&y?null:n;default:return null}}(e,n):function(e,t){if(C){if("topCompositionEnd"===e||!c&&_(e,t)){var n=C.getData();return i.release(C),C=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!function(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return h?null:t.data;default:return null}}(e,n)))return null;var u=s.getPooled(g.beforeInput,t,n,o);return u.data=a,r.accumulateTwoPhaseDispatches(u),u}var x={eventTypes:g,extractEvents:function(e,t,n,r){return[E(e,t,n,r),w(e,t,n,r)]}};e.exports=x},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(60);function a(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}r(a.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(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),o.addPoolingTo(a),e.exports=a},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(21),o=n(20),i=n(5),a=n(4),s=n(9),u=n(11),l=n(63),c=n(34),p=n(35),d=n(64),f={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}};function h(e,t,n){var r=u.getPooled(f.change,e,t,n);return r.type="change",o.accumulateTwoPhaseDispatches(r),r}var m=null,v=null;var g=!1;function y(e){var t=h(v,e,c(e));s.batchedUpdates(_,t)}function _(e){r.enqueueEvents(e),r.processEventQueue(!1)}function b(){m&&(m.detachEvent("onchange",y),m=null,v=null)}function C(e,t){var n=l.updateValueIfChanged(e),r=!0===t.simulated&&M._allowSimulatedPassThrough;if(n||r)return e}function E(e,t){if("topChange"===e)return t}function w(e,t,n){"topFocus"===e?(b(),function(e,t){v=t,(m=e).attachEvent("onchange",y)}(t,n)):"topBlur"===e&&b()}i.canUseDOM&&(g=p("change")&&(!document.documentMode||document.documentMode>8));var x=!1;function k(){m&&(m.detachEvent("onpropertychange",S),m=null,v=null)}function S(e){"value"===e.propertyName&&C(v,e)&&y(e)}function T(e,t,n){"topFocus"===e?(k(),function(e,t){v=t,(m=e).attachEvent("onpropertychange",S)}(t,n)):"topBlur"===e&&k()}function P(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return C(v,n)}function N(e,t,n){if("topClick"===e)return C(t,n)}function I(e,t,n){if("topInput"===e||"topChange"===e)return C(t,n)}i.canUseDOM&&(x=p("input")&&(!document.documentMode||document.documentMode>9));var M={eventTypes:f,_allowSimulatedPassThrough:!0,_isInputEventSupported:x,extractEvents:function(e,t,n,r){var o,i,s,u,l=t?a.getNodeFromInstance(t):window;if("select"===(u=(s=l).nodeName&&s.nodeName.toLowerCase())||"input"===u&&"file"===s.type?g?o=E:i=w:d(l)?x?o=I:(o=P,i=T):function(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}(l)&&(o=N),o){var c=o(e,t,n);if(c)return h(c,n,r)}i&&i(e,l,t),"topBlur"===e&&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)}}}(t,l)}};e.exports=M},function(e,t,n){"use strict";var r=n(115),o={};o.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(t.getPublicInstance()):r.addComponentAsRefTo(t,e,n)}(n,e,t._owner)}},o.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},o.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(null):r.removeComponentAsRefFrom(t,e,n)}(n,e,t._owner)}},e.exports=o},function(e,t,n){"use strict";var r=n(1);n(0);function o(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var i={addComponentAsRefTo:function(e,t,n){o(n)||r("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){o(n)||r("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}};e.exports=i},function(e,t,n){"use strict";e.exports=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"]},function(e,t,n){"use strict";var r=n(20),o=n(4),i=n(25),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u,l,c;if(s.window===s)u=s;else{var p=s.ownerDocument;u=p?p.defaultView||p.parentWindow:window}if("topMouseOut"===e){l=t;var d=n.relatedTarget||n.toElement;c=d?o.getClosestInstanceFromNode(d):null}else l=null,c=t;if(l===c)return null;var f=null==l?u:o.getNodeFromInstance(l),h=null==c?u:o.getNodeFromInstance(c),m=i.getPooled(a.mouseLeave,l,n,s);m.type="mouseleave",m.target=f,m.relatedTarget=h;var v=i.getPooled(a.mouseEnter,c,n,s);return v.type="mouseenter",v.target=h,v.relatedTarget=f,r.accumulateEnterLeaveDispatches(m,v,l,c),[m,v]}};e.exports=s},function(e,t,n){"use strict";var r=n(16),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,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:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,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:i,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.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=l},function(e,t,n){"use strict";var r=n(37),o={processChildrenUpdates:n(124).dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){"use strict";var r=n(1),o=n(17),i=n(5),a=n(121),s=n(8),u=(n(0),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM||r("56"),t||r("57"),"HTML"===e.nodeName&&r("58"),"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){"use strict";var r=n(5),o=n(122),i=n(123),a=n(0),s=r.canUseDOM?document.createElement("div"):null,u=/^\s*<(\w+)/;e.exports=function(e,t){var n=s;s||a(!1);var r=function(e){var t=e.match(u);return t&&t[1].toLowerCase()}(e),l=r&&i(r);if(l){n.innerHTML=l[1]+e+l[2];for(var c=l[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t||a(!1),o(p).forEach(t));for(var d=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return d}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){return function(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)}(e)?Array.isArray(e)?e.slice():function(e){var t=e.length;if((Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e)&&r(!1),"number"!=typeof t&&r(!1),0===t||t-1 in e||r(!1),"function"==typeof e.callee&&r(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),o=0;o<t;o++)n[o]=e[o];return n}(e):[e]}},function(e,t,n){"use strict";var r=n(5),o=n(0),i=r.canUseDOM?document.createElement("div"):null,a={},s=[1,'<select multiple="true">',"</select>"],u=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],c=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],p={"*":[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:s,option:s,caption:u,colgroup:u,tbody:u,tfoot:u,thead:u,td:l,th:l};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){p[e]=c,a[e]=!0}),e.exports=function(e){return i||o(!1),p.hasOwnProperty(e)||(e="*"),a.hasOwnProperty(e)||(i.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",a[e]=!i.firstChild),a[e]?p[e]:null}},function(e,t,n){"use strict";var r=n(37),o=n(4),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(126),a=n(127),s=n(17),u=n(38),l=n(16),c=n(69),p=n(21),d=n(31),f=n(28),h=n(56),m=n(4),v=n(137),g=n(139),y=n(70),_=n(140),b=(n(6),n(141)),C=n(76),E=(n(8),n(27)),w=(n(0),n(35),n(43),n(63)),x=(n(47),n(2),h),k=p.deleteListener,S=m.getNodeFromInstance,T=f.listenTo,P=d.registrationNameModules,N={string:!0,number:!0},I="__html",M={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},O=11;function A(e,t){t&&(z[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&&I in t.dangerouslySetInnerHTML||r("61")),null!=t.style&&"object"!=typeof t.style&&r("62",function(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""}(e)))}function R(e,t,n,r){if(!(r instanceof C)){0;var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===O?o._node:o._ownerDocument;T(t,i),r.getReactMountReady().enqueue(D,{inst:e,registrationName:t,listener:n})}}function D(){p.putListener(this.inst,this.registrationName,this.listener)}function L(){v.postMountWrapper(this)}function U(){_.postMountWrapper(this)}function j(){g.postMountWrapper(this)}var F={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 B(){w.track(this)}function q(){this._rootNodeID||r("63");var e=S(this);switch(e||r("64"),this._tag){case"iframe":case"object":this._wrapperState.listeners=[f.trapBubbledEvent("topLoad","load",e)];break;case"video":case"audio":for(var t in this._wrapperState.listeners=[],F)F.hasOwnProperty(t)&&this._wrapperState.listeners.push(f.trapBubbledEvent(t,F[t],e));break;case"source":this._wrapperState.listeners=[f.trapBubbledEvent("topError","error",e)];break;case"img":this._wrapperState.listeners=[f.trapBubbledEvent("topError","error",e),f.trapBubbledEvent("topLoad","load",e)];break;case"form":this._wrapperState.listeners=[f.trapBubbledEvent("topReset","reset",e),f.trapBubbledEvent("topSubmit","submit",e)];break;case"input":case"select":case"textarea":this._wrapperState.listeners=[f.trapBubbledEvent("topInvalid","invalid",e)]}}function V(){y.postUpdateWrapper(this)}var W={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},H={listing:!0,pre:!0,textarea:!0},z=o({menuitem:!0},W),K=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,Y={},X={}.hasOwnProperty;function G(e,t){return e.indexOf("-")>=0||null!=t.is}var Q=1;function $(e){var t=e.type;!function(e){X.call(Y,e)||(K.test(e)||r("65",e),Y[e]=!0)}(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}$.displayName="ReactDOMComponent",$.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Q++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o,a,l,p=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(q,this);break;case"input":v.mountWrapper(this,p,t),p=v.getHostProps(this,p),e.getReactMountReady().enqueue(B,this),e.getReactMountReady().enqueue(q,this);break;case"option":g.mountWrapper(this,p,t),p=g.getHostProps(this,p);break;case"select":y.mountWrapper(this,p,t),p=y.getHostProps(this,p),e.getReactMountReady().enqueue(q,this);break;case"textarea":_.mountWrapper(this,p,t),p=_.getHostProps(this,p),e.getReactMountReady().enqueue(B,this),e.getReactMountReady().enqueue(q,this)}if(A(this,p),null!=t?(o=t._namespaceURI,a=t._tag):n._tag&&(o=n._namespaceURI,a=n._tag),(null==o||o===u.svg&&"foreignobject"===a)&&(o=u.html),o===u.html&&("svg"===this._tag?o=u.svg:"math"===this._tag&&(o=u.mathml)),this._namespaceURI=o,e.useCreateElement){var d,f=n._ownerDocument;if(o===u.html)if("script"===this._tag){var h=f.createElement("div"),b=this._currentElement.type;h.innerHTML="<"+b+"></"+b+">",d=h.removeChild(h.firstChild)}else d=p.is?f.createElement(this._currentElement.type,p.is):f.createElement(this._currentElement.type);else d=f.createElementNS(o,this._currentElement.type);m.precacheNode(this,d),this._flags|=x.hasCachedChildNodes,this._hostParent||c.setAttributeForRoot(d),this._updateDOMProperties(null,p,e);var C=s(d);this._createInitialChildren(e,p,r,C),l=C}else{var E=this._createOpenTagMarkupAndPutListeners(e,p),w=this._createContentMarkup(e,p,r);l=!w&&W[this._tag]?E+"/>":E+">"+w+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(L,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(U,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"select":case"button":p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(j,this)}return l},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(P.hasOwnProperty(r))i&&R(this,r,i,e);else{"style"===r&&(i&&(i=this._previousStyleCopy=o({},t.style)),i=a.createMarkupForStyles(i,this));var s=null;null!=this._tag&&G(this._tag,t)?M.hasOwnProperty(r)||(s=c.createMarkupForCustomAttribute(r,i)):s=c.createMarkupForProperty(r,i),s&&(n+=" "+s)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+c.createMarkupForRoot()),n+=" "+c.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=N[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=E(i);else if(null!=a){r=this.mountChildren(a,e,n).join("")}}return H[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&&s.queueHTML(r,o.__html);else{var i=N[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&s.queueText(r,i);else if(null!=a)for(var u=this.mountChildren(a,e,n),l=0;l<u.length;l++)s.queueChild(r,u[l])}},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,i=this._currentElement.props;switch(this._tag){case"input":o=v.getHostProps(this,o),i=v.getHostProps(this,i);break;case"option":o=g.getHostProps(this,o),i=g.getHostProps(this,i);break;case"select":o=y.getHostProps(this,o),i=y.getHostProps(this,i);break;case"textarea":o=_.getHostProps(this,o),i=_.getHostProps(this,i)}switch(A(this,i),this._updateDOMProperties(o,i,e),this._updateDOMChildren(o,i,e,r),this._tag){case"input":v.updateWrapper(this),w.updateValueIfChanged(this);break;case"textarea":_.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(V,this)}},_updateDOMProperties:function(e,t,n){var r,i,s;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if("style"===r){var u=this._previousStyleCopy;for(i in u)u.hasOwnProperty(i)&&((s=s||{})[i]="");this._previousStyleCopy=null}else P.hasOwnProperty(r)?e[r]&&k(this,r):G(this._tag,e)?M.hasOwnProperty(r)||c.deleteValueForAttribute(S(this),r):(l.properties[r]||l.isCustomAttribute(r))&&c.deleteValueForProperty(S(this),r);for(r in t){var p=t[r],d="style"===r?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&p!==d&&(null!=p||null!=d))if("style"===r)if(p?p=this._previousStyleCopy=o({},p):this._previousStyleCopy=null,d){for(i in d)!d.hasOwnProperty(i)||p&&p.hasOwnProperty(i)||((s=s||{})[i]="");for(i in p)p.hasOwnProperty(i)&&d[i]!==p[i]&&((s=s||{})[i]=p[i])}else s=p;else if(P.hasOwnProperty(r))p?R(this,r,p,n):d&&k(this,r);else if(G(this._tag,t))M.hasOwnProperty(r)||c.setValueForAttribute(S(this),r,p);else if(l.properties[r]||l.isCustomAttribute(r)){var f=S(this);null!=p?c.setValueForProperty(f,r,p):c.deleteValueForProperty(f,r)}}s&&a.setValueForStyles(S(this),s,this)},_updateDOMChildren:function(e,t,n,r){var o=N[typeof e.children]?e.children:null,i=N[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,p=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=s?a!==s&&this.updateMarkup(""+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return S(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":w.stopTracking(this);break;case"html":case"head":case"body":r("66",this._tag)}this.unmountChildren(e),m.uncacheNode(this),p.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return S(this)}},o($.prototype,$.Mixin,b.Mixin),e.exports=$},function(e,t,n){"use strict";var r=n(4),o=n(67),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){"use strict";var r=n(68),o=n(5),i=(n(6),n(128),n(130)),a=n(131),s=n(133),u=(n(2),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),a=e[r];0,null!=a&&(n+=u(r)+":",n+=i(r,a,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--");0;var u=i(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=c),s)o.setProperty(a,u);else if(u)o[a]=u;else{var p=l&&r.shorthandPropertyExpansions[a];if(p)for(var d in p)o[d]="";else o[a]=""}}}};e.exports=d},function(e,t,n){"use strict";var r=n(129),o=/^-ms-/;e.exports=function(e){return r(e.replace(o,"ms-"))}},function(e,t,n){"use strict";var r=/-(.)/g;e.exports=function(e){return e.replace(r,function(e,t){return t.toUpperCase()})}},function(e,t,n){"use strict";var r=n(68),o=(n(2),r.isUnitlessNumber);e.exports=function(e,t,n,r){if(null==t||"boolean"==typeof t||""===t)return"";var i=isNaN(t);return r||i||0===t||o.hasOwnProperty(e)&&o[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}},function(e,t,n){"use strict";var r=n(132),o=/^ms-/;e.exports=function(e){return r(e).replace(o,"-ms-")}},function(e,t,n){"use strict";var r=/([A-Z])/g;e.exports=function(e){return e.replace(r,"-$1").toLowerCase()}},function(e,t,n){"use strict";e.exports=function(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e){return'"'+r(e)+'"'}},function(e,t,n){"use strict";var r=n(21);var o={handleTopLevel:function(e,t,n,o){!function(e){r.enqueueEvents(e),r.processEventQueue(!1)}(r.extractEvents(e,t,n,o))}};e.exports=o},function(e,t,n){"use strict";var r=n(5);function o(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 i={animationend:o("Animation","AnimationEnd"),animationiteration:o("Animation","AnimationIteration"),animationstart:o("Animation","AnimationStart"),transitionend:o("Transition","TransitionEnd")},a={},s={};r.canUseDOM&&(s=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),e.exports=function(e){if(a[e])return a[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in s)return a[e]=t[n];return""}},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(69),a=n(40),s=n(4),u=n(9);n(0),n(2);function l(){this._rootNodeID&&p.updateWrapper(this)}function c(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}var p={getHostProps:function(e,t){var n=a.getValue(t),r=a.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:d.bind(e),controlled:c(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&i.setValueForProperty(s.getNodeFromInstance(e),"checked",n||!1);var r=s.getNodeFromInstance(e),o=a.getValue(t);if(null!=o)if(0===o&&""===r.value)r.value="0";else if("number"===t.type){var u=parseFloat(r.value,10)||0;(o!=u||o==u&&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=s.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)}};function d(e){var t=this._currentElement.props,n=a.executeOnChange(t,e);u.asap(l,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=s.getNodeFromInstance(this),c=i;c.parentNode;)c=c.parentNode;for(var p=c.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;d<p.length;d++){var f=p[d];if(f!==i&&f.form===i.form){var h=s.getInstanceFromNode(f);h||r("90"),u.asap(l,h)}}}return n}e.exports=p},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(3),o=n(12),i=n(4),a=n(70),s=(n(2),!1);function u(e){var t="";return o.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:s||(s=!0))}),t}var l={mountWrapper:function(e,t,n){var r=null;if(null!=n){var o=n;"optgroup"===o._tag&&(o=o._hostParent),null!=o&&"select"===o._tag&&(r=a.getSelectValueContext(o))}var i,s=null;if(null!=r)if(i=null!=t.value?t.value+"":u(t.children),s=!1,Array.isArray(r)){for(var l=0;l<r.length;l++)if(""+r[l]===i){s=!0;break}}else s=""+r===i;e._wrapperState={selected:s}},postMountWrapper:function(e){var t=e._currentElement.props;null!=t.value&&i.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);var o=u(t.children);return o&&(n.children=o),n}};e.exports=l},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(40),a=n(4),s=n(9);n(0),n(2);function u(){this._rootNodeID&&l.updateWrapper(this)}var l={getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&r("91"),o({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=i.getValue(t),o=n;if(null==n){var a=t.defaultValue,s=t.children;null!=s&&(null!=a&&r("92"),Array.isArray(s)&&(s.length<=1||r("93"),s=s[0]),a=""+s),null==a&&(a=""),o=a}e._wrapperState={initialValue:""+o,listeners:null,onChange:c.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=a.getNodeFromInstance(e),r=i.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=a.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}};function c(e){var t=this._currentElement.props,n=i.executeOnChange(t,e);return s.asap(u,this),n}e.exports=l},function(e,t,n){"use strict";var r=n(1),o=n(41),i=(n(23),n(6),n(10),n(14)),a=n(142),s=(n(8),n(147));n(0);function u(e,t){return t&&(e=e||[]).push(t),e}function l(e,t){o.processChildrenUpdates(e,t)}var c={Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return a.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var u;return u=s(t,0),a.updateChildren(e,u,n,r,o,this,this._hostContainerInfo,i,0),u},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],a=0;for(var s in r)if(r.hasOwnProperty(s)){var u=r[s];0;var l=i.mountComponent(u,t,this,this._hostContainerInfo,n,0);u._mountIndex=a++,o.push(l)}return o},updateTextContent:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");l(this,[(t=e,{type:"TEXT_CONTENT",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null})])},updateMarkup:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");l(this,[(t=e,{type:"SET_MARKUP",content:t,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=[],s=this._reconcilerUpdateChildren(r,e,a,o,t,n);if(s||r){var c,p=null,d=0,f=0,h=0,m=null;for(c in s)if(s.hasOwnProperty(c)){var v=r&&r[c],g=s[c];v===g?(p=u(p,this.moveChild(v,m,d,f)),f=Math.max(v._mountIndex,f),v._mountIndex=d):(v&&(f=Math.max(v._mountIndex,f)),p=u(p,this._mountChildAtIndex(g,a[h],m,d,t,n)),h++),d++,m=i.getHostNode(g)}for(c in o)o.hasOwnProperty(c)&&(p=u(p,this._unmountChild(r[c],o[c])));p&&l(this,p),this._renderedChildren=s}},unmountChildren:function(e){var t=this._renderedChildren;a.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return function(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:i.getHostNode(e),toIndex:n,afterNode:t}}(e,t,n)},createChild:function(e,t,n){return function(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}(n,t,e._mountIndex)},removeChild:function(e,t){return function(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}};e.exports=c},function(e,t,n){"use strict";(function(t){var r=n(14),o=n(42),i=(n(45),n(44)),a=n(74);n(2);function s(e,t,n,r){var i=void 0===e[n];null!=t&&i&&(e[n]=o(t,!0))}void 0!==t&&Object({NODE_ENV:"production"});var u={instantiateChildren:function(e,t,n,r){if(null==e)return null;var o={};return a(e,s,o),o},updateChildren:function(e,t,n,a,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){var h=(f=e&&e[d])&&f._currentElement,m=t[d];if(null!=f&&i(h,m))r.receiveComponent(f,m,s,c),t[d]=f;else{f&&(a[d]=r.getHostNode(f),r.unmountComponent(f,!1));var v=o(m,!0);t[d]=v;var g=r.mountComponent(v,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],a[d]=r.getHostNode(f),r.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];r.unmountComponent(o,t)}}};e.exports=u}).call(this,n(30))},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(12),a=n(41),s=n(10),u=n(33),l=n(23),c=(n(6),n(71)),p=n(14),d=n(19),f=(n(0),n(43)),h=n(44),m=(n(2),0),v=1,g=2;function y(e){}function _(e,t){0}y.prototype.render=function(){var e=l.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return _(e,t),t};var b=1,C={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,o){this._context=o,this._mountOrder=b++,this._hostParent=t,this._hostContainerInfo=n;var a,s=this._currentElement.props,u=this._processContext(o),c=this._currentElement.type,p=e.getUpdateQueue(),f=function(e){return!(!e.prototype||!e.prototype.isReactComponent)}(c),h=this._constructComponent(f,s,u,p);f||null!=h&&null!=h.render?!function(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}(c)?this._compositeType=m:this._compositeType=v:(a=h,_(),null===h||!1===h||i.isValidElement(h)||r("105",c.displayName||c.name||"Component"),h=new y(c),this._compositeType=g),h.props=s,h.context=u,h.refs=d,h.updater=p,this._instance=h,l.set(h,this);var C,E=h.state;return void 0===E&&(h.state=E=null),("object"!=typeof E||Array.isArray(E))&&r("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,C=h.unstable_handleError?this.performInitialMountWithErrorHandling(a,t,n,e,o):this.performInitialMount(a,t,n,e,o),h.componentDidMount&&e.getReactMountReady().enqueue(h.componentDidMount,h),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 i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var a=c.getType(e);this._renderedNodeType=a;var s=this._instantiateReactComponent(e,a!==c.EMPTY);return this._renderedComponent=s,p.mountComponent(s,r,t,n,this._processChildContext(o),0)},getHostNode:function(){return p.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()";u.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(p.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,l.remove(t)}},_maskContext:function(e){var t=this._currentElement.type.contextTypes;if(!t)return d;var n={};for(var r in t)n[r]=e[r];return n},_processContext:function(e){return this._maskContext(e)},_processChildContext:function(e){var t,n=this._currentElement.type,i=this._instance;if(i.getChildContext&&(t=i.getChildContext()),t){for(var a in"object"!=typeof n.childContextTypes&&r("107",this.getName()||"ReactCompositeComponent"),t)a in n.childContextTypes||r("108",this.getName()||"ReactCompositeComponent",a);return o({},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?p.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,o,i){var a=this._instance;null==a&&r("136",this.getName()||"ReactCompositeComponent");var s,u=!1;this._context===i?s=a.context:(s=this._processContext(i),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&a.componentWillReceiveProps&&a.componentWillReceiveProps(c,s);var p=this._processPendingState(c,s),d=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?d=a.shouldComponentUpdate(c,p,s):this._compositeType===v&&(d=!f(l,c)||!f(a.state,p))),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,s,e,i)):(this._currentElement=n,this._context=i,a.props=c,a.state=p,a.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var a=o({},i?r[0]:n.state),s=i?1:0;s<r.length;s++){var u=r[s];o(a,"function"==typeof u?u.call(n,a,e,t):u)}return a},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent();if(h(r,o))p.receiveComponent(n,o,e,this._processChildContext(t));else{var i=p.getHostNode(n);p.unmountComponent(n,!1);var a=c.getType(o);this._renderedNodeType=a;var s=this._instantiateReactComponent(o,a!==c.EMPTY);this._renderedComponent=s;var u=p.mountComponent(s,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),0);this._replaceNodeWithMarkup(i,u,n)}},_replaceNodeWithMarkup:function(e,t,n){a.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){return this._instance.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==g){s.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{s.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||i.isValidElement(e)||r("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&r("110");var o=t.getPublicInstance();(n.refs===d?n.refs={}:n.refs)[e]=o},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===g?null:e},_instantiateReactComponent:null};e.exports=C},function(e,t,n){"use strict";var r=1;e.exports=function(){return r++}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},function(e,t,n){"use strict";(function(t){n(45);var r=n(74);n(2);function o(e,t,n,r){if(e&&"object"==typeof e){var o=e;0,void 0===o[n]&&null!=t&&(o[n]=t)}}void 0!==t&&Object({NODE_ENV:"production"}),e.exports=function(e,t){if(null==e)return e;var n={};return r(e,o,n),n}}).call(this,n(30))},function(e,t,n){"use strict";var r=n(46);n(2);var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&r.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&r.enqueueForceUpdate(e)},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&r.enqueueReplaceState(e,t)},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&r.enqueueSetState(e,t)},e}();e.exports=o},function(e,t,n){"use strict";var r=n(3),o=n(17),i=n(4),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument.createComment(s);return i.precacheNode(this,u),o(u)}return e.renderToStaticMarkup?"":"\x3c!--"+s+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";var r=n(1);n(0);function o(e,t){"_hostNode"in e||r("33"),"_hostNode"in t||r("33");for(var n=0,o=e;o;o=o._hostParent)n++;for(var i=0,a=t;a;a=a._hostParent)i++;for(;n-i>0;)e=e._hostParent,n--;for(;i-n>0;)t=t._hostParent,i--;for(var s=n;s--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}e.exports={isAncestor:function(e,t){"_hostNode"in e||r("35"),"_hostNode"in t||r("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1},getLowestCommonAncestor:o,getParentInstance:function(e){return"_hostNode"in e||r("36"),e._hostParent},traverseTwoPhase:function(e,t,n){for(var r,o=[];e;)o.push(e),e=e._hostParent;for(r=o.length;r-- >0;)t(o[r],"captured",n);for(r=0;r<o.length;r++)t(o[r],"bubbled",n)},traverseEnterLeave:function(e,t,n,r,i){for(var a=e&&t?o(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u,l=[];t&&t!==a;)l.push(t),t=t._hostParent;for(u=0;u<s.length;u++)n(s[u],"bubbled",r);for(u=l.length;u-- >0;)n(l[u],"captured",i)}}},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(37),a=n(17),s=n(4),u=n(27),l=(n(0),n(47),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(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(i),p=l.createComment(" /react-text "),d=a(l.createDocumentFragment());return a.queueChild(d,a(c)),this._stringText&&a.queueChild(d,a(l.createTextNode(this._stringText))),a.queueChild(d,a(p)),s.precacheNode(this,c),this._closingComment=p,d}var f=u(this._stringText);return e.renderToStaticMarkup?f:"\x3c!--"+i+"--\x3e"+f+"\x3c!-- /react-text --\x3e"},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();i.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).nextSibling;;){if(null==t&&r("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,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){"use strict";var r=n(3),o=n(78),i=n(5),a=n(13),s=n(4),u=n(9),l=n(34),c=n(153);function p(e){for(;e._hostParent;)e=e._hostParent;var t=s.getNodeFromInstance(e).parentNode;return s.getClosestInstanceFromNode(t)}function d(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function f(e){var t=l(e.nativeEvent),n=s.getClosestInstanceFromNode(t),r=n;do{e.ancestors.push(r),r=r&&p(r)}while(r);for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],h._handleTopLevel(e.topLevelType,n,e.nativeEvent,l(e.nativeEvent))}r(d.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),a.addPoolingTo(d,a.twoArgumentPooler);var h={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:i.canUseDOM?window:null,setHandleTopLevel:function(e){h._handleTopLevel=e},setEnabled:function(e){h._enabled=!!e},isEnabled:function(){return h._enabled},trapBubbledEvent:function(e,t,n){return n?o.listen(n,t,h.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?o.capture(n,t,h.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=function(e){e(c(window))}.bind(null,e);o.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(h._enabled){var n=d.getPooled(e,t);try{u.batchedUpdates(f,n)}finally{d.release(n)}}}};e.exports=h},function(e,t,n){"use strict";e.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}}},function(e,t,n){"use strict";var r=n(16),o=n(21),i=n(32),a=n(41),s=n(72),u=n(28),l=n(73),c=n(9),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=p},function(e,t,n){"use strict";var r=n(3),o=n(61),i=n(13),a=n(28),s=n(79),u=(n(6),n(24)),l=n(46),c=[{initialize:s.getSelectionInformation,close:s.restoreSelection},{initialize:function(){var e=a.isEnabled();return a.setEnabled(!1),e},close:function(e){a.setEnabled(e)}},{initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}}];function p(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=e}var d={getTransactionWrappers:function(){return c},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return l},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};r(p.prototype,u,d),i.addPoolingTo(p),e.exports=p},function(e,t,n){"use strict";var r=n(5),o=n(157),i=n(60);function a(e,t,n,r){return e===n&&t===r}var s=r.canUseDOM&&"selection"in document&&!("getSelection"in window),u={getOffsets:s?function(e){var t=document.selection.createRange(),n=t.text.length,r=t.duplicate();r.moveToElementText(e),r.setEndPoint("EndToStart",t);var o=r.text.length;return{start:o,end:o+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,i=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=a(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset)?0:s.toString().length,l=s.cloneRange();l.selectNodeContents(e),l.setEnd(s.startContainer,s.startOffset);var c=a(l.startContainer,l.startOffset,l.endContainer,l.endOffset)?0:l.toString().length,p=c+u,d=document.createRange();d.setStart(n,r),d.setEnd(o,i);var f=d.collapsed;return{start:f?p:c,end:f?c:p}},setOffsets:s?function(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?r=n=t.start: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(e,t){if(window.getSelection){var n=window.getSelection(),r=e[i()].length,a=Math.min(t.start,r),s=void 0===t.end?a:Math.min(t.end,r);if(!n.extend&&a>s){var u=s;s=a,a=u}var l=o(e,a),c=o(e,s);if(l&&c){var p=document.createRange();p.setStart(l.node,l.offset),n.removeAllRanges(),a>s?(n.addRange(p),n.extend(c.node,c.offset)):(p.setEnd(c.node,c.offset),n.addRange(p))}}}};e.exports=u},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}}e.exports=function(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}},function(e,t,n){"use strict";var r=n(159);e.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))))}},function(e,t,n){"use strict";var r=n(160);e.exports=function(e){return r(e)&&3==e.nodeType}},function(e,t,n){"use strict";e.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))}},function(e,t,n){"use strict";var r="http://www.w3.org/1999/xlink",o="http://www.w3.org/XML/1998/namespace",i={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,xlinkArcrole:r,xlinkHref:r,xlinkRole:r,xlinkShow:r,xlinkTitle:r,xlinkType:r,xmlBase:o,xmlLang:o,xmlSpace:o},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){a.Properties[e]=0,i[e]&&(a.DOMAttributeNames[e]=i[e])}),e.exports=a},function(e,t,n){"use strict";var r=n(20),o=n(5),i=n(4),a=n(79),s=n(11),u=n(80),l=n(64),c=n(43),p=o.canUseDOM&&"documentMode"in document&&document.documentMode<=11,d={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},f=null,h=null,m=null,v=!1,g=!1;function y(e,t){if(v||null==f||f!==u())return null;var n=function(e){if("selectionStart"in e&&a.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}}}(f);if(!m||!c(m,n)){m=n;var o=s.getPooled(d.select,h,e,t);return o.type="select",o.target=f,r.accumulateTwoPhaseDispatches(o),o}return null}var _={eventTypes:d,extractEvents:function(e,t,n,r){if(!g)return null;var o=t?i.getNodeFromInstance(t):window;switch(e){case"topFocus":(l(o)||"true"===o.contentEditable)&&(f=o,h=t,m=null);break;case"topBlur":f=null,h=null,m=null;break;case"topMouseDown":v=!0;break;case"topContextMenu":case"topMouseUp":return v=!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&&(g=!0)}};e.exports=_},function(e,t,n){"use strict";var r=n(1),o=n(78),i=n(20),a=n(4),s=n(164),u=n(165),l=n(11),c=n(166),p=n(167),d=n(25),f=n(169),h=n(170),m=n(171),v=n(22),g=n(172),y=n(8),_=n(48),b=(n(0),{}),C={};["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]};b[e]=o,C[r]=o});var E={};function w(e){return"."+e._rootNodeID}function x(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var k={eventTypes:b,extractEvents:function(e,t,n,o){var a,y=C[e];if(!y)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":a=l;break;case"topKeyPress":if(0===_(n))return null;case"topKeyDown":case"topKeyUp":a=p;break;case"topBlur":case"topFocus":a=c;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=d;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=f;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=h;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=s;break;case"topTransitionEnd":a=m;break;case"topScroll":a=v;break;case"topWheel":a=g;break;case"topCopy":case"topCut":case"topPaste":a=u}a||r("86",e);var b=a.getPooled(y,t,n,o);return i.accumulateTwoPhaseDispatches(b),b},didPutListener:function(e,t,n){if("onClick"===t&&!x(e._tag)){var r=w(e),i=a.getNodeFromInstance(e);E[r]||(E[r]=o.listen(i,"click",y))}},willDeleteListener:function(e,t){if("onClick"===t&&!x(e._tag)){var n=w(e);E[n].remove(),delete E[n]}}};e.exports=k},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{animationName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(11),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(22);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{relatedTarget:null}),e.exports=o},function(e,t,n){"use strict";var r=n(22),o=n(48),i={key:n(168),location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:n(36),charCode:function(e){return"keypress"===e.type?o(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?o(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r=n(48),o={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"};e.exports=function(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=r(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}},function(e,t,n){"use strict";var r=n(25);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{dataTransfer:null}),e.exports=o},function(e,t,n){"use strict";var r=n(22),o={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:n(36)};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{propertyName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(25);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{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}),e.exports=o},function(e,t,n){"use strict";e.exports={useCreateElement:!0,useFiber:!1}},function(e,t,n){"use strict";var r=65521;e.exports=function(e){for(var t=1,n=0,o=0,i=e.length,a=-4&i;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return(t%=r)|(n%=r)<<16}},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(4)),i=n(23),a=n(85);n(0),n(2);e.exports=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=i.get(e);if(t)return(t=a(t))?o.getNodeFromInstance(t):null;"function"==typeof e.render?r("44"):r("45",Object.keys(e))}},function(e,t,n){"use strict";var r=n(81);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=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}}(),o=u(n(29)),i=(u(n(91)),u(n(178)),u(n(182)),u(n(184))),a=u(n(204)),s=u(n(50));function u(e){return e&&e.__esModule?e:{default:e}}function l(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)}var c=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);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,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.results=n.props.results?n.props.results:[],n.state={results:n.results},n.service=n.props.service,n.orderby=n.props.orderby,n.page=n.props.page,n.is_search=!1,n.search_term="",n.total_results=0,n.orientation="",n.isLoading=!1,n.isDone=!1,n.errorMsg="",n.msnry="",n.editor=n.props.editor?n.props.editor:"classic",n.is_block_editor="gutenberg"===n.props.editor,n.SetFeaturedImage=n.props.SetFeaturedImage?n.props.SetFeaturedImage.bind(n):"",n.InsertImage=n.props.InsertImage?n.props.InsertImage.bind(n):"",n.is_block_editor?(n.container=document.querySelector("body"),n.container.classList.add("loading"),n.wrapper=document.querySelector("body")):(n.container=document.querySelector(".instant-img-container"),n.container.classList.add("loading"),n.wrapper=document.querySelector(".instant-images-wrapper")),n}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)}(t,o.default.Component),r(t,[{key:"test",value:function(){var e=this,t=document.querySelector(".error-messaging"),n=instant_img_localize.root+"instant-images/test/",r=new XMLHttpRequest;r.open("GET",n,!0),r.setRequestHeader("X-WP-Nonce",instant_img_localize.nonce),r.setRequestHeader("Content-Type","application/json"),r.send(),r.onload=function(){r.status>=200&&r.status<400?JSON.parse(r.response).success||e.renderTestError(t):e.renderTestError(t)},r.onerror=function(t){console.log(t),e.renderTestError(errorTarget)}}},{key:"renderTestError",value:function(e){e.classList.add("active"),e.innerHTML=instant_img_localize.error_restapi}},{key:"search",value:function(e){e.preventDefault();var t=document.querySelector("#photo-search"),n=t.value;n.length>2?(t.classList.add("searching"),this.container.classList.add("loading"),this.search_term=n,this.is_search=!0,this.doSearch(this.search_term)):t.focus()}},{key:"setOrientation",value:function(e,t){if(t&&t.target){var n=t.target;if(n.classList.contains("active"))n.classList.remove("active"),this.orientation="";else{var r=n.parentNode.querySelectorAll("li");[].concat(l(r)).forEach(function(e){return e.classList.remove("active")}),n.classList.add("active"),this.orientation=e}""!==this.search_term&&this.doSearch(this.search_term)}}},{key:"hasOrientation",value:function(){return""!==this.orientation}},{key:"clearOrientation",value:function(){var e=document.querySelectorAll(".orientation-list li");[].concat(l(e)).forEach(function(e){return e.classList.remove("active")}),this.orientation=""}},{key:"doSearch",value:function(e){var t=this,n="term";this.page=1;var r=""+s.default.search_api+s.default.app_id+s.default.posts_per_page+"&page="+this.page+"&query="+this.search_term;this.hasOrientation()&&(r=r+"&orientation="+this.orientation),"id:"===e.substring(0,3)&&(n="id",e=e.replace("id:",""),r=s.default.photo_api+"/"+e+s.default.app_id);var o=document.querySelector("#photo-search");fetch(r).then(function(e){return e.json()}).then(function(e){if("term"===n&&(t.total_results=e.total,t.checkTotalResults(e.results.length),t.results=e.results,t.setState({results:t.results})),"id"===n&&e){var r=[];e.errors?(t.total_results=0,t.checkTotalResults("0")):(r.push(e),t.total_results=1,t.checkTotalResults("1")),t.results=r,t.setState({results:t.results})}o.classList.remove("searching")}).catch(function(e){console.log(e),t.isLoading=!1})}},{key:"clearSearch",value:function(){document.querySelector("#photo-search").value="",this.total_results=0,this.is_search=!1,this.search_term="",this.clearOrientation()}},{key:"getPhotos",value:function(){var e=this;this.page=parseInt(this.page)+1,this.container.classList.add("loading"),this.isLoading=!0;var t=""+s.default.photo_api+s.default.app_id+s.default.posts_per_page+"&page="+this.page+"&order_by="+this.orderby;this.is_search&&(t=""+s.default.search_api+s.default.app_id+s.default.posts_per_page+"&page="+this.page+"&query="+this.search_term,this.hasOrientation()&&(t=t+"&orientation="+this.orientation)),fetch(t).then(function(e){return e.json()}).then(function(t){e.is_search&&(t=t.results),t.map(function(t){e.results.push(t)}),e.checkTotalResults(t.length),e.setState({results:e.results})}).catch(function(t){console.log(t),e.isLoading=!1})}},{key:"togglePhotoList",value:function(e,t){var n=t.target;if(n.classList.contains("active"))return!1;n.classList.add("loading"),this.isLoading=!0;var r=this;this.page=1,this.orderby=e,this.results=[],this.clearSearch();var o=""+s.default.photo_api+s.default.app_id+s.default.posts_per_page+"&page="+this.page+"&order_by="+this.orderby;fetch(o).then(function(e){return e.json()}).then(function(e){r.checkTotalResults(e.length),r.results=e,r.setState({results:e}),n.classList.remove("loading")}).catch(function(e){console.log(e),r.isLoading=!1})}},{key:"renderLayout",value:function(){if(this.is_block_editor)return!1;var e=this,t=document.querySelector("#photos");imagesLoaded(t,function(){e.msnry=new Masonry(t,{itemSelector:".photo"}),[].concat(l(document.querySelectorAll("#photos .photo"))).forEach(function(e){return e.classList.add("in-view")})})}},{key:"onScroll",value:function(){window.innerHeight+window.pageYOffset>=document.body.scrollHeight-200&&!this.isLoading&&!this.isDone&&this.getPhotos()}},{key:"checkTotalResults",value:function(e){this.isDone=0==e}},{key:"setActiveState",value:function(){var e=this;([].concat(l(document.querySelectorAll(".control-nav a"))).forEach(function(e){return e.classList.remove("active")}),this.is_search)||document.querySelector(".control-nav li a."+this.orderby).classList.add("active");setTimeout(function(){e.isLoading=!1,e.container.classList.remove("loading")},1e3)}},{key:"componentDidUpdate",value:function(){this.renderLayout(),this.setActiveState()}},{key:"componentDidMount",value:function(){var e=this;this.renderLayout(),this.setActiveState(),this.test(),this.container.classList.remove("loading"),this.wrapper.classList.add("loaded"),this.is_block_editor?(this.page=0,this.getPhotos()):window.addEventListener("scroll",function(){return e.onScroll()})}},{key:"render",value:function(){var e=this,t=this.is_search?{display:"flex"}:{display:"none"};return o.default.createElement("div",{id:"photo-listing",className:this.service},o.default.createElement("ul",{className:"control-nav"},o.default.createElement("li",null,o.default.createElement("a",{className:"latest",href:"javascript:void(0);",onClick:function(t){return e.togglePhotoList("latest",t)}},instant_img_localize.latest)),o.default.createElement("li",{id:"nav-target"},o.default.createElement("a",{className:"popular",href:"javascript:void(0);",onClick:function(t){return e.togglePhotoList("popular",t)}},instant_img_localize.popular)),o.default.createElement("li",null,o.default.createElement("a",{className:"oldest",href:"javascript:void(0);",onClick:function(t){return e.togglePhotoList("oldest",t)}},instant_img_localize.oldest)),o.default.createElement("li",{className:"search-field",id:"search-bar"},o.default.createElement("form",{onSubmit:function(t){return e.search(t)},autoComplete:"off"},o.default.createElement("input",{type:"search",id:"photo-search",placeholder:instant_img_localize.search}),o.default.createElement("button",{type:"submit",id:"photo-search-submit"},o.default.createElement("i",{className:"fa fa-search"})),o.default.createElement(a.default,{isSearch:this.is_search,total:this.total_results,title:this.total_results+" "+instant_img_localize.search_results+" "+this.search_term})))),o.default.createElement("div",{className:"error-messaging"}),o.default.createElement("div",{className:"orientation-list",style:t},o.default.createElement("span",null,o.default.createElement("i",{className:"fa fa-filter","aria-hidden":"true"})," ",instant_img_localize.orientation,":"),o.default.createElement("ul",null,o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("landscape",t)},onKeyPress:function(t){return e.setOrientation("landscape",t)}},instant_img_localize.landscape),o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("portrait",t)},onKeyPress:function(t){return e.setOrientation("portrait",t)}},instant_img_localize.portrait),o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("squarish",t)},onKeyPress:function(t){return e.setOrientation("squarish",t)}},instant_img_localize.squarish))),o.default.createElement("div",{id:"photos"},this.state.results.map(function(t,n){return o.default.createElement(i.default,{result:t,key:t.id+n,blockEditor:e.is_block_editor,SetFeaturedImage:e.SetFeaturedImage,InsertImage:e.InsertImage})})),o.default.createElement("div",{className:0==this.total_results&&!0===this.is_search?"no-results show":"no-results",title:this.props.title},o.default.createElement("h3",null,instant_img_localize.no_results," "),o.default.createElement("p",null,instant_img_localize.no_results_desc," ")),o.default.createElement("div",{className:"loading-block"}),o.default.createElement("div",{className:"load-more-wrap"},o.default.createElement("button",{type:"button",className:"button",onClick:function(){return e.getPhotos()}},instant_img_localize.load_more)))}}]),t}();t.default=c},function(e,t,n){"use strict";e.exports=n(179)},function(e,t,n){"use strict";var r=n(57),o=n(180),i=n(84);r.inject();var a={renderToString:o.renderToString,renderToStaticMarkup:o.renderToStaticMarkup,version:i};e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(12),i=n(82),a=n(77),s=(n(6),n(83)),u=n(14),l=n(181),c=n(76),p=n(9),d=n(19),f=n(42),h=(n(0),0);function m(e,t){var n;try{return p.injection.injectBatchingStrategy(l),n=c.getPooled(t),h++,n.perform(function(){var r=f(e,!0),o=u.mountComponent(r,n,null,i(),d,0);return t||(o=s.addChecksumToMarkup(o)),o},null)}finally{h--,c.release(n),h||p.injection.injectBatchingStrategy(a)}}e.exports={renderToString:function(e){return o.isValidElement(e)||r("46"),m(e,!1)},renderToStaticMarkup:function(e){return o.isValidElement(e)||r("47"),m(e,!0)}}},function(e,t,n){"use strict";e.exports={isBatchingUpdates:!1,batchedUpdates:function(e){}}},function(e,t,n){var r,o;
|
21 |
/*!
|
22 |
-
*
|
23 |
-
*
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
* MIT License
|
|
|
|
|
|
|
|
|
|
|
|
|
25 |
*/
|
26 |
/*!
|
27 |
-
*
|
28 |
-
*
|
29 |
-
* MIT
|
30 |
*/
|
31 |
-
!function(i,a){"use strict";r=[n(183)],void 0===(o=function(e){return function(e,t){var n=e.jQuery,r=e.console;function o(e,t){for(var n in t)e[n]=t[n];return e}function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=function(e){var t=[];if(Array.isArray(e))t=e;else if("number"==typeof e.length)for(var n=0;n<e.length;n++)t.push(e[n]);else t.push(e);return t}(e),this.options=o({},this.options),"function"==typeof t?r=t:o(this.options,t),r&&this.on("always",r),this.getImages(),n&&(this.jqDeferred=new n.Deferred),setTimeout(function(){this.check()}.bind(this))}i.prototype=Object.create(t.prototype),i.prototype.options={},i.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},i.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),!0===this.options.background&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&a[t]){for(var n=e.querySelectorAll("img"),r=0;r<n.length;r++){var o=n[r];this.addImage(o)}if("string"==typeof this.options.background){var i=e.querySelectorAll(this.options.background);for(r=0;r<i.length;r++){var s=i[r];this.addElementBackgroundImages(s)}}}};var a={1:!0,9:!0,11:!0};function s(e){this.img=e}function u(e,t){this.url=e,this.element=t,this.img=new Image}return i.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var n=/url\((['"])?(.*?)\1\)/gi,r=n.exec(t.backgroundImage);null!==r;){var o=r&&r[2];o&&this.addBackground(o,e),r=n.exec(t.backgroundImage)}},i.prototype.addImage=function(e){var t=new s(e);this.images.push(t)},i.prototype.addBackground=function(e,t){var n=new u(e,t);this.images.push(n)},i.prototype.check=function(){var e=this;function t(t,n,r){setTimeout(function(){e.progress(t,n,r)})}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach(function(e){e.once("progress",t),e.check()}):this.complete()},i.prototype.progress=function(e,t,n){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&r&&r.log("progress: "+n,e,t)},i.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},s.prototype=Object.create(t.prototype),s.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},s.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},s.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},s.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},s.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},s.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},u.prototype=Object.create(s.prototype),u.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},u.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},u.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},i.makeJQueryPlugin=function(t){(t=t||e.jQuery)&&((n=t).fn.imagesLoaded=function(e,t){return new i(this,e,t).jqDeferred.promise(n(this))})},i.makeJQueryPlugin(),i}(i,e)}.apply(t,r))||(e.exports=o)}("undefined"!=typeof window?window:this)},function(e,t,n){var r,o;"undefined"!=typeof window&&window,void 0===(o="function"==typeof(r=function(){"use strict";function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var n=this._events=this._events||{},r=n[e]=n[e]||[];return-1==r.indexOf(t)&&r.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var n=this._onceEvents=this._onceEvents||{};return(n[e]=n[e]||{})[t]=!0,this}},t.off=function(e,t){var n=this._events&&this._events[e];if(n&&n.length){var r=n.indexOf(t);return-1!=r&&n.splice(r,1),this}},t.emitEvent=function(e,t){var n=this._events&&this._events[e];if(n&&n.length){n=n.slice(0),t=t||[];for(var r=this._onceEvents&&this._onceEvents[e],o=0;o<n.length;o++){var i=n[o];r&&r[i]&&(this.off(e,i),delete r[i]),i.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=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}}(),o=s(n(29)),i=s(n(50)),a=s(n(185));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);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,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.id=n.props.result.id,n.thumb=n.props.result.urls.thumb,n.img=n.props.result.urls.small,n.full_size=n.props.result.urls.raw,n.author=n.props.result.user.name,n.img_title=instant_img_localize.photo_by+" "+n.author,n.filename=n.props.result.id,n.title=n.img_title,n.alt="",n.caption="",n.user=n.props.result.user.username,n.user_photo=n.props.result.user.profile_image.small,n.link=n.props.result.links.html,n.likes=n.props.result.likes,n.view_all=instant_img_localize.view_all,n.like_text=instant_img_localize.likes,n.inProgress=!1,n.container=document.querySelector(".instant-img-container"),n.setAsFeaturedImage=!1,n.insertIntoPost=!1,n.is_block_editor=n.props.blockEditor,n.SetFeaturedImage=n.props.SetFeaturedImage,n.InsertImage=n.props.InsertImage,n.state={filename:n.filename,title:n.title,alt:n.alt,caption:n.caption},n}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)}(t,o.default.Component),r(t,[{key:"uploadPhoto",value:function(e){e.preventDefault();var t=this,n=e.currentTarget,r=n.parentElement.parentElement.parentElement,o=r.querySelector(".notice-msg");if(n.classList.contains("upload")||(n=r.querySelector("a.upload")),n.classList.contains("success")||this.inProgress)return!1;n.classList.add("uploading"),r.classList.add("in-progress"),o.innerHTML=instant_img_localize.saving,this.inProgress=!0;var i={id:n.getAttribute("data-id"),image:n.getAttribute("data-url")},s=instant_img_localize.root+"instant-images/upload/";(0,a.default)({method:"POST",url:s,headers:{"X-WP-Nonce":instant_img_localize.nonce,"Content-Type":"application/json"},data:{data:JSON.stringify(i)}}).then(function(e){var a=e.data;if(a&&200==e.status){var s=a.error,u=a.path,l=a.filename;s?t.uploadError(n,r,a.msg):(t.resizeImage(u,l,n,r,o),t.triggerUnsplashDownload(i.id))}else t.uploadError(n,r,instant_img_localize.error_upload)}).catch(function(e){console.log(e)})}},{key:"resizeImage",value:function(e,t,n,r,o){var i=this;n.classList.remove("uploading"),n.classList.add("resizing"),o.innerHTML=instant_img_localize.resizing;var s={path:e,filename:t,custom_filename:n.getAttribute("data-filename"),title:n.getAttribute("data-title"),alt:n.getAttribute("data-alt"),caption:n.getAttribute("data-caption")},u=instant_img_localize.root+"instant-images/resize/",l="";(0,a.default)({method:"POST",url:u,headers:{"X-WP-Nonce":instant_img_localize.nonce,"Content-Type":"application/json"},data:{data:JSON.stringify(s)}}).then(function(e){var t=e.data;if(t&&200==e.status){var o=t.success,a=t.id,u=t.url,c=t.admin_url;if(l=t.msg,o){var p=c+"post.php?post="+a+"&action=edit";i.uploadComplete(n,r,l,p),i.is_block_editor&&i.setAsFeaturedImage&&(i.SetFeaturedImage(a),i.setAsFeaturedImage=!1),i.is_block_editor&&i.insertIntoPost&&(u&&i.InsertImage(u,s.caption,s.alt),i.insertIntoPost=!1),"true"!==i.container.dataset.mediaPopup||i.is_block_editor||(window.location="media-upload.php?type=image&tab=library&attachment_id="+a)}else i.uploadError(n,r,l)}else i.uploadError(n,r,instant_img_localize.error_upload)}).catch(function(e){console.log(e)})}},{key:"triggerUnsplashDownload",value:function(e){var t=i.default.photo_api+"/"+e+"/download/"+i.default.app_id;fetch(t).then(function(e){return e.json()}).then(function(e){}).catch(function(e){console.log(e)})}},{key:"setFeaturedImageClick",value:function(e){var t=e.currentTarget;if(!t)return!1;var n=t.parentNode.parentNode.parentNode.querySelector("a.upload");n&&(this.setAsFeaturedImage=!0,n.click())}},{key:"insertImageIntoPost",value:function(e){var t=e.currentTarget;if(!t)return!1;var n=t.parentNode.parentNode.parentNode.querySelector("a.upload");n&&(this.insertIntoPost=!0,n.click())}},{key:"uploadComplete",value:function(e,t,n,r){this.setImageTitle(e,n),t.classList.remove("in-progress"),t.classList.add("uploaded"),t.querySelector(".edit-photo").style.display="none",t.querySelector(".edit-photo-admin").style.display="inline-block",t.querySelector(".edit-photo-admin").href=r,t.querySelector(".edit-photo-admin").target="_balnk",this.is_block_editor&&(t.querySelector(".insert").style.display="none",t.querySelector(".set-featured").style.display="none"),e.classList.remove("uploading"),e.classList.remove("resizing"),e.classList.add("success"),this.inProgress=!1,this.container.classList.contains("editor")&&void 0!==wp.media&&(null!==wp.media.frame.content.get()?(wp.media.frame.content.get().collection.props.set({ignore:+new Date}),wp.media.frame.content.get().options.selection.reset()):wp.media.frame.library.props.set({ignore:+new Date}))}},{key:"uploadError",value:function(e,t,n){e.classList.remove("uploading"),e.classList.remove("resizing"),e.classList.add("errors"),this.setImageTitle(e,n),this.inProgress=!1,console.warn(n)}},{key:"setImageTitle",value:function(e,t){e.setAttribute("title",t)}},{key:"showEditScreen",value:function(e){e.preventDefault();var t=e.currentTarget.closest(".photo"),n=(t.querySelector('input[name="filename"]'),t.querySelector(".edit-screen"));n.classList.add("editing"),setTimeout(function(){n.focus()},150)}},{key:"handleEditChange",value:function(e){var t=e.target.name;"filename"===t&&this.setState({filename:e.target.value}),"title"===t&&this.setState({title:e.target.value}),"alt"===t&&this.setState({alt:e.target.value}),"caption"===t&&this.setState({caption:e.target.value})}},{key:"saveEditChange",value:function(e){var t=e.currentTarget.closest(".photo"),n=t.querySelector('input[name="filename"]');this.filename=n.value;var r=t.querySelector('input[name="title"]');this.title=r.value;var o=t.querySelector('input[name="alt"]');this.alt=o.value;var i=t.querySelector('textarea[name="caption"]');this.caption=i.value,t.querySelector(".edit-screen").classList.remove("editing"),t.querySelector("a.upload").click()}},{key:"cancelEditChange",value:function(e){var t=e.currentTarget.closest(".photo");if(t){var n=t.querySelector("a.upload"),r=t.querySelector('input[name="filename"]');r.value=r.dataset.original,this.setState({filename:r.value});var o=t.querySelector('input[name="title"]');o.value=o.dataset.original,this.setState({title:o.value});var i=t.querySelector('input[name="alt"]');i.value=i.dataset.original,this.setState({alt:i.value});var a=t.querySelector('textarea[name="caption"]');a.value=a.dataset.original,this.setState({caption:a.value}),t.querySelector(".edit-screen").classList.remove("editing"),n.focus()}}},{key:"render",value:function(){var e=this;return o.default.createElement("article",{className:"photo"},o.default.createElement("div",{className:"photo--wrap"},o.default.createElement("div",{className:"img-wrap"},o.default.createElement("a",{className:"upload loaded",href:this.full_size,"data-id":this.id,"data-url":this.full_size,"data-filename":this.state.filename,"data-title":this.state.title,"data-alt":this.state.alt,"data-caption":this.state.caption,title:instant_img_localize.upload,onClick:function(t){return e.uploadPhoto(t)}},o.default.createElement("img",{src:this.img,alt:""}),o.default.createElement("div",{className:"status"})),o.default.createElement("div",{className:"notice-msg"}),o.default.createElement("div",{className:"user-controls"},o.default.createElement("a",{className:"user fade",href:"https://unsplash.com/@"+this.user+"?utm_source=wordpress-instant-images&utm_medium=referral",target:"_blank",title:this.view_all+" @"+this.user},o.default.createElement("div",{className:"user-wrap"},this.user_photo.length>0&&o.default.createElement("img",{src:this.user_photo}),this.user)),o.default.createElement("div",{className:"photo-options"},this.is_block_editor&&o.default.createElement("a",{className:"set-featured fade",href:"#",onClick:function(t){return e.setFeaturedImageClick(t)},title:instant_img_localize.set_as_featured},o.default.createElement("i",{className:"fa fa-picture-o","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.set_as_featured)),this.is_block_editor&&o.default.createElement("a",{className:"insert fade",href:"#",onClick:function(t){return e.insertImageIntoPost(t)},title:instant_img_localize.insert_into_post},o.default.createElement("i",{className:"fa fa-plus","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.insert_into_post)),o.default.createElement("a",{className:"edit-photo-admin fade",href:"#",title:instant_img_localize.edit_upload},o.default.createElement("i",{className:"fa fa-pencil","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.edit_upload)),o.default.createElement("a",{className:"edit-photo fade",href:"#",title:instant_img_localize.edit_details,onClick:function(t){return e.showEditScreen(t)}},o.default.createElement("i",{className:"fa fa-cog","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.edit_details)))),o.default.createElement("div",{className:"options",title:this.likes+" "+this.like_text},o.default.createElement("span",{className:"likes"},o.default.createElement("i",{className:"fa fa-heart heart-like","aria-hidden":"true"})," ",this.likes),o.default.createElement("a",{href:this.link,title:instant_img_localize.view_on_unsplash,target:"_blank"},o.default.createElement("i",{className:"fa fa-external-link","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.view_on_unsplash)))),o.default.createElement("div",{className:"edit-screen",tabIndex:"0"},o.default.createElement("div",{className:"edit-screen--title"},o.default.createElement("p",{className:"heading"},instant_img_localize.edit_details),o.default.createElement("p",null,instant_img_localize.edit_details_intro,".")),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_filename,":"),o.default.createElement("input",{type:"text",name:"filename","data-original":this.filename,placeholder:this.filename,value:this.state.filename,onChange:function(t){return e.handleEditChange(t)}}),o.default.createElement("em",null,".jpg")),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_title,":"),o.default.createElement("input",{type:"text",name:"title","data-original":this.title,placeholder:this.title,value:this.state.title,onChange:function(t){return e.handleEditChange(t)}})),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_alt,":"),o.default.createElement("input",{type:"text",name:"alt","data-original":"",value:this.state.alt,onChange:function(t){return e.handleEditChange(t)}})),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_caption,":"),o.default.createElement("textarea",{rows:"3",name:"caption","data-original":"",onChange:function(t){return e.handleEditChange(t)},value:this.state.caption})),o.default.createElement("div",{className:"edit-screen--controls"},o.default.createElement("button",{type:"button",className:"button",onClick:function(t){return e.cancelEditChange(t)}},instant_img_localize.cancel)," ",o.default.createElement("button",{type:"button",className:"button button-primary",onClick:function(t){return e.saveEditChange(t)}},instant_img_localize.upload_now)))))}}]),t}();t.default=u},function(e,t,n){e.exports=n(186)},function(e,t,n){"use strict";var r=n(7),o=n(86),i=n(188),a=n(49);function s(e){var t=new i(e),n=o(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var u=s(a);u.Axios=i,u.create=function(e){return s(r.merge(a,e))},u.Cancel=n(90),u.CancelToken=n(202),u.isCancel=n(89),u.all=function(e){return Promise.all(e)},u.spread=n(203),e.exports=u,e.exports.default=u},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}
|
32 |
/*!
|
33 |
* Determine if an object is a Buffer
|
34 |
*
|
35 |
* @author Feross Aboukhadijeh <https://feross.org>
|
36 |
* @license MIT
|
37 |
*/
|
38 |
-
e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){"use strict";var r=n(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
/*!
|
40 |
Copyright (c) 2017 Jed Watson.
|
41 |
Licensed under the MIT License (MIT), see
|
@@ -46,4 +69,4 @@ e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeo
|
|
46 |
Licensed under the MIT License (MIT), see
|
47 |
http://jedwatson.github.io/classnames
|
48 |
*/
|
49 |
-
!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===i)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()}
|
1 |
+
!function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=221)}([function(e,t,n){"use strict";var r=function(e){};e.exports=function(e,t,n,o,i,a,s,u){if(r(t),!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,i,a,s,u],p=0;(l=new Error(t.replace(/%s/g,function(){return c[p++]}))).name="Invariant Violation"}throw l.framesToPop=1,l}}},function(e,t,n){"use strict";e.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]);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}},function(e,t,n){"use strict";var r=n(8);e.exports=r},function(e,t,n){"use strict";
|
2 |
/*
|
3 |
object-assign
|
4 |
(c) Sindre Sorhus
|
5 |
@license MIT
|
6 |
+
*/var r=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,i=Object.prototype.propertyIsEnumerable;e.exports=function(){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;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,a,s=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),u=1;u<arguments.length;u++){for(var l in n=Object(arguments[u]))o.call(n,l)&&(s[l]=n[l]);if(r){a=r(n);for(var c=0;c<a.length;c++)i.call(n,a[c])&&(s[a[c]]=n[a[c]])}}return s}},function(e,t,n){"use strict";var r=n(1),o=n(16),i=n(58),a=(n(0),o.ID_ATTRIBUTE_NAME),s=i,u="__reactInternalInstance$"+Math.random().toString(36).slice(2);function l(e,t){return 1===e.nodeType&&e.getAttribute(a)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function c(e){for(var t;t=e._renderedComponent;)e=t;return e}function p(e,t){var n=c(e);n._hostNode=t,t[u]=n}function d(e,t){if(!(e._flags&s.hasCachedChildNodes)){var n=e._renderedChildren,o=t.firstChild;e:for(var i in n)if(n.hasOwnProperty(i)){var a=n[i],u=c(a)._domID;if(0!==u){for(;null!==o;o=o.nextSibling)if(l(o,u)){p(a,o);continue e}r("32",u)}}e._flags|=s.hasCachedChildNodes}}function f(e){if(e[u])return e[u];for(var t,n,r=[];!e[u];){if(r.push(e),!e.parentNode)return null;e=e.parentNode}for(;e&&(n=e[u]);e=r.pop())t=n,r.length&&d(n,e);return t}var h={getClosestInstanceFromNode:f,getInstanceFromNode:function(e){var t=f(e);return null!=t&&t._hostNode===e?t:null},getNodeFromInstance:function(e){if(void 0===e._hostNode&&r("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||r("34"),e=e._hostParent;for(;t.length;e=t.pop())d(e,e._hostNode);return e._hostNode},precacheChildNodes:d,precacheNode:p,uncacheNode:function(e){var t=e._hostNode;t&&(delete t[u],e._hostNode=null)}};e.exports=h},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};e.exports=o},function(e,t,n){"use strict";e.exports={debugTool:null}},function(e,t,n){"use strict";var r=n(88),o=n(192),i=Object.prototype.toString;function a(e){return"[object Array]"===i.call(e)}function s(e){return null!==e&&"object"==typeof e}function u(e){return"[object Function]"===i.call(e)}function l(e,t){if(null!=e)if("object"!=typeof e&&(e=[e]),a(e))for(var n=0,r=e.length;n<r;n++)t.call(null,e[n],n,e);else for(var o in e)Object.prototype.hasOwnProperty.call(e,o)&&t.call(null,e[o],o,e)}e.exports={isArray:a,isArrayBuffer:function(e){return"[object ArrayBuffer]"===i.call(e)},isBuffer:o,isFormData:function(e){return"undefined"!=typeof FormData&&e instanceof FormData},isArrayBufferView:function(e){return"undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&e.buffer instanceof ArrayBuffer},isString:function(e){return"string"==typeof e},isNumber:function(e){return"number"==typeof e},isObject:s,isUndefined:function(e){return void 0===e},isDate:function(e){return"[object Date]"===i.call(e)},isFile:function(e){return"[object File]"===i.call(e)},isBlob:function(e){return"[object Blob]"===i.call(e)},isFunction:u,isStream:function(e){return s(e)&&u(e.pipe)},isURLSearchParams:function(e){return"undefined"!=typeof URLSearchParams&&e instanceof URLSearchParams},isStandardBrowserEnv:function(){return("undefined"==typeof navigator||"ReactNative"!==navigator.product)&&"undefined"!=typeof window&&"undefined"!=typeof document},forEach:l,merge:function e(){var t={};function n(n,r){"object"==typeof t[r]&&"object"==typeof n?t[r]=e(t[r],n):t[r]=n}for(var r=0,o=arguments.length;r<o;r++)l(arguments[r],n);return t},extend:function(e,t,n){return l(t,function(t,o){e[o]=n&&"function"==typeof t?r(t,n):t}),e},trim:function(e){return e.replace(/^\s*/,"").replace(/\s*$/,"")}}},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},e.exports=o},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(63),a=n(13),s=n(64),u=n(14),l=n(24),c=n(0),p=[],d=0,f=i.getPooled(),h=!1,m=null;function v(){C.ReactReconcileTransaction&&m||r("123")}var g=[{initialize:function(){this.dirtyComponentsLength=p.length},close:function(){this.dirtyComponentsLength!==p.length?(p.splice(0,this.dirtyComponentsLength),E()):p.length=0}},{initialize:function(){this.callbackQueue.reset()},close:function(){this.callbackQueue.notifyAll()}}];function y(){this.reinitializeTransaction(),this.dirtyComponentsLength=null,this.callbackQueue=i.getPooled(),this.reconcileTransaction=C.ReactReconcileTransaction.getPooled(!0)}function _(e,t){return e._mountOrder-t._mountOrder}function b(e){var t=e.dirtyComponentsLength;t!==p.length&&r("124",t,p.length),p.sort(_),d++;for(var n=0;n<t;n++){var o,i=p[n],a=i._pendingCallbacks;if(i._pendingCallbacks=null,s.logTopLevelRenders){var l=i;i._currentElement.type.isReactTopLevelWrapper&&(l=i._renderedComponent),o="React update: "+l.getName(),console.time(o)}if(u.performUpdateIfNecessary(i,e.reconcileTransaction,d),o&&console.timeEnd(o),a)for(var c=0;c<a.length;c++)e.callbackQueue.enqueue(a[c],i.getPublicInstance())}}o(y.prototype,l,{getTransactionWrappers:function(){return g},destructor:function(){this.dirtyComponentsLength=null,i.release(this.callbackQueue),this.callbackQueue=null,C.ReactReconcileTransaction.release(this.reconcileTransaction),this.reconcileTransaction=null},perform:function(e,t,n){return l.perform.call(this,this.reconcileTransaction.perform,this.reconcileTransaction,e,t,n)}}),a.addPoolingTo(y);var E=function(){for(;p.length||h;){if(p.length){var e=y.getPooled();e.perform(b,null,e),y.release(e)}if(h){h=!1;var t=f;f=i.getPooled(),t.notifyAll(),i.release(t)}}};var C={ReactReconcileTransaction:null,batchedUpdates:function(e,t,n,r,o,i){return v(),m.batchedUpdates(e,t,n,r,o,i)},enqueueUpdate:function e(t){v(),m.isBatchingUpdates?(p.push(t),null==t._updateBatchNumber&&(t._updateBatchNumber=d+1)):m.batchedUpdates(e,t)},flushBatchedUpdates:E,injection:{injectReconcileTransaction:function(e){e||r("126"),C.ReactReconcileTransaction=e},injectBatchingStrategy:function(e){e||r("127"),"function"!=typeof e.batchedUpdates&&r("128"),"boolean"!=typeof e.isBatchingUpdates&&r("129"),m=e}},asap:function(e,t){c(m.isBatchingUpdates,"ReactUpdates.asap: Can't enqueue an asap callback in a context whereupdates are not being batched."),f.enqueue(e,t),h=!0}};e.exports=C},function(e,t,n){"use strict";e.exports={current:null}},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(8),a=(n(2),["dispatchConfig","_targetInst","nativeEvent","isDefaultPrevented","isPropagationStopped","_dispatchListeners","_dispatchInstances"]),s={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};function u(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)){0;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:!1===n.returnValue;return this.isDefaultPrevented=u?i.thatReturnsTrue:i.thatReturnsFalse,this.isPropagationStopped=i.thatReturnsFalse,this}r(u.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<a.length;n++)this[a[n]]=null}}),u.Interface=s,u.augmentClass=function(e,t){var n=function(){};n.prototype=this.prototype;var i=new n;r(i,e.prototype),e.prototype=i,e.prototype.constructor=e,e.Interface=r({},this.Interface,t),e.augmentClass=this.augmentClass,o.addPoolingTo(e,o.fourArgumentPooler)},o.addPoolingTo(u,o.fourArgumentPooler),e.exports=u},function(e,t,n){"use strict";var r=n(3),o=n(53),i=n(95),a=n(100),s=n(15),u=n(101),l=n(105),c=n(106),p=n(108),d=s.createElement,f=s.createFactory,h=s.cloneElement,m=r,v={Children:{map:i.map,forEach:i.forEach,count:i.count,toArray:i.toArray,only:p},Component:o.Component,PureComponent:o.PureComponent,createElement:d,cloneElement:h,isValidElement:s.isValidElement,PropTypes:u,createClass:c,createFactory:f,createMixin:function(e){return e},DOM:a,version:l,__spread:m};e.exports=v},function(e,t,n){"use strict";var r=n(1),o=(n(0),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,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)}};e.exports=s},function(e,t,n){"use strict";var r=n(116);n(6),n(2);function o(){r.attachRefs(this,this._currentElement)}var i={mountComponent:function(e,t,n,r,i,a){var s=e.mountComponent(t,n,r,i,a);return e._currentElement&&null!=e._currentElement.ref&&t.getReactMountReady().enqueue(o,e),s},getHostNode:function(e){return e.getHostNode()},unmountComponent:function(e,t){r.detachRefs(e,e._currentElement),e.unmountComponent(t)},receiveComponent:function(e,t,n,i){var a=e._currentElement;if(t!==a||i!==e._context){0;var s=r.shouldUpdateRefs(a,t);s&&r.detachRefs(e,a),e.receiveComponent(t,n,i),s&&e._currentElement&&null!=e._currentElement.ref&&n.getReactMountReady().enqueue(o,e)}},performUpdateIfNecessary:function(e,t,n){e._updateBatchNumber===n&&e.performUpdateIfNecessary(t)}};e.exports=i},function(e,t,n){"use strict";var r=n(3),o=n(10),i=(n(2),n(55),Object.prototype.hasOwnProperty),a=n(56),s={key:!0,ref:!0,__self:!0,__source:!0};function u(e){return void 0!==e.ref}function l(e){return void 0!==e.key}var c=function(e,t,n,r,o,i,s){return{$$typeof:a,type:e,key:t,ref:n,props:s,_owner:i}};c.createElement=function(e,t,n){var r,a={},p=null,d=null;if(null!=t)for(r in u(t)&&(d=t.ref),l(t)&&(p=""+t.key),void 0===t.__self?null:t.__self,void 0===t.__source?null:t.__source,t)i.call(t,r)&&!s.hasOwnProperty(r)&&(a[r]=t[r]);var f=arguments.length-2;if(1===f)a.children=n;else if(f>1){for(var h=Array(f),m=0;m<f;m++)h[m]=arguments[m+2];0,a.children=h}if(e&&e.defaultProps){var v=e.defaultProps;for(r in v)void 0===a[r]&&(a[r]=v[r])}return c(e,p,d,0,0,o.current,a)},c.createFactory=function(e){var t=c.createElement.bind(null,e);return t.type=e,t},c.cloneAndReplaceKey=function(e,t){return c(e.type,t,e.ref,e._self,e._source,e._owner,e.props)},c.cloneElement=function(e,t,n){var a,p,d=r({},e.props),f=e.key,h=e.ref,m=(e._self,e._source,e._owner);if(null!=t)for(a in u(t)&&(h=t.ref,m=o.current),l(t)&&(f=""+t.key),e.type&&e.type.defaultProps&&(p=e.type.defaultProps),t)i.call(t,a)&&!s.hasOwnProperty(a)&&(void 0===t[a]&&void 0!==p?d[a]=p[a]:d[a]=t[a]);var v=arguments.length-2;if(1===v)d.children=n;else if(v>1){for(var g=Array(v),y=0;y<v;y++)g[y]=arguments[y+2];d.children=g}return c(e.type,f,h,0,0,m,d)},c.isValidElement=function(e){return"object"==typeof e&&null!==e&&e.$$typeof===a},e.exports=c},function(e,t,n){"use strict";var r=n(1);n(0);function o(e,t){return(e&t)===t}var i={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=i,n=e.Properties||{},a=e.DOMAttributeNamespaces||{},u=e.DOMAttributeNames||{},l=e.DOMPropertyNames||{},c=e.DOMMutationMethods||{};for(var p in e.isCustomAttribute&&s._isCustomAttributeFunctions.push(e.isCustomAttribute),n){s.properties.hasOwnProperty(p)&&r("48",p);var d=p.toLowerCase(),f=n[p],h={attributeName:d,attributeNamespace:null,propertyName:p,mutationMethod:null,mustUseProperty:o(f,t.MUST_USE_PROPERTY),hasBooleanValue:o(f,t.HAS_BOOLEAN_VALUE),hasNumericValue:o(f,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:o(f,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:o(f,t.HAS_OVERLOADED_BOOLEAN_VALUE)};if(h.hasBooleanValue+h.hasNumericValue+h.hasOverloadedBooleanValue<=1||r("50",p),u.hasOwnProperty(p)){var m=u[p];h.attributeName=m}a.hasOwnProperty(p)&&(h.attributeNamespace=a[p]),l.hasOwnProperty(p)&&(h.propertyName=l[p]),c.hasOwnProperty(p)&&(h.mutationMethod=c[p]),s.properties[p]=h}}},a=":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:a,ATTRIBUTE_NAME_CHAR:a+"\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040",properties:{},getPossibleStandardName:null,_isCustomAttributeFunctions:[],isCustomAttribute:function(e){for(var t=0;t<s._isCustomAttributeFunctions.length;t++){if((0,s._isCustomAttributeFunctions[t])(e))return!0}return!1},injection:i};e.exports=s},function(e,t,n){"use strict";var r=n(38),o=n(26),i=n(39),a=n(68),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++)l(t,n[r],null);else null!=e.html?o(t,e.html):null!=e.text&&a(t,e.text)}}var l=i(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 c(){return this.node.nodeName}function p(e){return{node:e,children:[],html:null,text:null,toString:c}}p.insertTreeBefore=l,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:a(e.node,t)},e.exports=p},function(e,t,n){"use strict";e.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]);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}},function(e,t,n){"use strict";e.exports={}},function(e,t,n){"use strict";var r=n(21),o=n(32),i=n(60),a=n(61),s=(n(2),r.getListener);function u(e,t,n){var r=function(e,t,n){var r=t.dispatchConfig.phasedRegistrationNames[n];return s(e,r)}(e,n,t);r&&(n._dispatchListeners=i(n._dispatchListeners,r),n._dispatchInstances=i(n._dispatchInstances,e))}function l(e){e&&e.dispatchConfig.phasedRegistrationNames&&o.traverseTwoPhase(e._targetInst,u,e)}function c(e){if(e&&e.dispatchConfig.phasedRegistrationNames){var t=e._targetInst,n=t?o.getParentInstance(t):null;o.traverseTwoPhase(n,u,e)}}function p(e,t,n){if(n&&n.dispatchConfig.registrationName){var r=n.dispatchConfig.registrationName,o=s(e,r);o&&(n._dispatchListeners=i(n._dispatchListeners,o),n._dispatchInstances=i(n._dispatchInstances,e))}}function d(e){e&&e.dispatchConfig.registrationName&&p(e._targetInst,0,e)}var f={accumulateTwoPhaseDispatches:function(e){a(e,l)},accumulateTwoPhaseDispatchesSkipTarget:function(e){a(e,c)},accumulateDirectDispatches:function(e){a(e,d)},accumulateEnterLeaveDispatches:function(e,t,n,r){o.traverseEnterLeave(n,r,p,e,t)}};e.exports=f},function(e,t,n){"use strict";var r=n(1),o=n(31),i=n(32),a=n(33),s=n(60),u=n(61),l=(n(0),{}),c=null,p=function(e,t){e&&(i.executeDispatchesInOrder(e,t),e.isPersistent()||e.constructor.release(e))},d=function(e){return p(e,!0)},f=function(e){return p(e,!1)},h=function(e){return"."+e._rootNodeID};var m={injection:{injectEventPluginOrder:o.injectEventPluginOrder,injectEventPluginsByName:o.injectEventPluginsByName},putListener:function(e,t,n){"function"!=typeof n&&r("94",t,typeof n);var i=h(e);(l[t]||(l[t]={}))[i]=n;var a=o.registrationNameModules[t];a&&a.didPutListener&&a.didPutListener(e,t,n)},getListener:function(e,t){var n=l[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||(r=t,"button"!==r&&"input"!==r&&"select"!==r&&"textarea"!==r));default:return!1}var r}(t,e._currentElement.type,e._currentElement.props))return null;var r=h(e);return n&&n[r]},deleteListener:function(e,t){var n=o.registrationNameModules[t];n&&n.willDeleteListener&&n.willDeleteListener(e,t);var r=l[t];r&&delete r[h(e)]},deleteAllListeners:function(e){var t=h(e);for(var n in l)if(l.hasOwnProperty(n)&&l[n][t]){var r=o.registrationNameModules[n];r&&r.willDeleteListener&&r.willDeleteListener(e,n),delete l[n][t]}},extractEvents:function(e,t,n,r){for(var i,a=o.plugins,u=0;u<a.length;u++){var l=a[u];if(l){var c=l.extractEvents(e,t,n,r);c&&(i=s(i,c))}}return i},enqueueEvents:function(e){e&&(c=s(c,e))},processEventQueue:function(e){var t=c;c=null,u(t,e?d:f),c&&r("95"),a.rethrowCaughtError()},__purge:function(){l={}},__getListenerBank:function(){return l}};e.exports=m},function(e,t,n){"use strict";var r=n(11),o=n(34),i={view:function(e){if(e.view)return e.view;var t=o(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}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},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}};e.exports=r},function(e,t,n){"use strict";var r=n(1),o=(n(0),{}),i={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,i,a,s,u){var l,c;this.isInTransaction()&&r("27");try{this._isInTransaction=!0,l=!0,this.initializeAll(0),c=e.call(t,n,o,i,a,s,u),l=!1}finally{try{if(l)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]=o,this.wrapperInitData[n]=r.initialize?r.initialize.call(this):null}finally{if(this.wrapperInitData[n]===o)try{this.initializeAll(n+1)}catch(e){}}}},closeAll:function(e){this.isInTransaction()||r("28");for(var t=this.transactionWrappers,n=e;n<t.length;n++){var i,a=t[n],s=this.wrapperInitData[n];try{i=!0,s!==o&&a.close&&a.close.call(this,s),i=!1}finally{if(i)try{this.closeAll(n+1)}catch(e){}}}this.wrapperInitData.length=0}};e.exports=i},function(e,t,n){"use strict";var r=n(22),o=n(67),i={screenX:null,screenY:null,clientX:null,clientY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:n(36),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+o.currentScrollLeft},pageY:function(e){return"pageY"in e?e.pageY:e.clientY+o.currentScrollTop}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r,o=n(5),i=n(38),a=/^[ \r\n\t\f]/,s=/<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/,u=n(39)(function(e,t){if(e.namespaceURI!==i.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)}});if(o.canUseDOM){var l=document.createElement("div");l.innerHTML=" ",""===l.innerHTML&&(u=function(e,t){if(e.parentNode&&e.parentNode.replaceChild(e,e),a.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}e.exports=u},function(e,t,n){"use strict";var r=/["'&<>]/;e.exports=function(e){return"boolean"==typeof e||"number"==typeof e?""+e:function(e){var t,n=""+e,o=r.exec(n);if(!o)return n;var i="",a=0,s=0;for(a=o.index;a<n.length;a++){switch(n.charCodeAt(a)){case 34:t=""";break;case 38:t="&";break;case 39:t="'";break;case 60:t="<";break;case 62:t=">";break;default:continue}s!==a&&(i+=n.substring(s,a)),s=a+1,i+=t}return s!==a?i+n.substring(s,a):i}(e)}},function(e,t,n){"use strict";var r,o=n(3),i=n(31),a=n(137),s=n(67),u=n(138),l=n(35),c={},p=!1,d=0,f={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 m=o({},a,{ReactEventListener:null,injection:{injectReactEventListener:function(e){e.setHandleTopLevel(m.handleTopLevel),m.ReactEventListener=e}},setEnabled:function(e){m.ReactEventListener&&m.ReactEventListener.setEnabled(e)},isEnabled:function(){return!(!m.ReactEventListener||!m.ReactEventListener.isEnabled())},listenTo:function(e,t){for(var n=t,r=function(e){return Object.prototype.hasOwnProperty.call(e,h)||(e[h]=d++,c[e[h]]={}),c[e[h]]}(n),o=i.registrationNameDependencies[e],a=0;a<o.length;a++){var s=o[a];r.hasOwnProperty(s)&&r[s]||("topWheel"===s?l("wheel")?m.ReactEventListener.trapBubbledEvent("topWheel","wheel",n):l("mousewheel")?m.ReactEventListener.trapBubbledEvent("topWheel","mousewheel",n):m.ReactEventListener.trapBubbledEvent("topWheel","DOMMouseScroll",n):"topScroll"===s?l("scroll",!0)?m.ReactEventListener.trapCapturedEvent("topScroll","scroll",n):m.ReactEventListener.trapBubbledEvent("topScroll","scroll",m.ReactEventListener.WINDOW_HANDLE):"topFocus"===s||"topBlur"===s?(l("focus",!0)?(m.ReactEventListener.trapCapturedEvent("topFocus","focus",n),m.ReactEventListener.trapCapturedEvent("topBlur","blur",n)):l("focusin")&&(m.ReactEventListener.trapBubbledEvent("topFocus","focusin",n),m.ReactEventListener.trapBubbledEvent("topBlur","focusout",n)),r.topBlur=!0,r.topFocus=!0):f.hasOwnProperty(s)&&m.ReactEventListener.trapBubbledEvent(s,f[s],n),r[s]=!0)}},trapBubbledEvent:function(e,t,n){return m.ReactEventListener.trapBubbledEvent(e,t,n)},trapCapturedEvent:function(e,t,n){return m.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===r&&(r=m.supportsEventPageXY()),!r&&!p){var e=s.refreshScrollValues;m.ReactEventListener.monitorScrollValue(e),p=!0}}});e.exports=m},function(e,t,n){"use strict";e.exports=n(12)},function(e,t){var n,r,o=e.exports={};function i(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function s(e){if(n===setTimeout)return setTimeout(e,0);if((n===i||!n)&&setTimeout)return n=setTimeout,setTimeout(e,0);try{return n(e,0)}catch(t){try{return n.call(null,e,0)}catch(t){return n.call(this,e,0)}}}!function(){try{n="function"==typeof setTimeout?setTimeout:i}catch(e){n=i}try{r="function"==typeof clearTimeout?clearTimeout:a}catch(e){r=a}}();var u,l=[],c=!1,p=-1;function d(){c&&u&&(c=!1,u.length?l=u.concat(l):p=-1,l.length&&f())}function f(){if(!c){var e=s(d);c=!0;for(var t=l.length;t;){for(u=l,l=[];++p<t;)u&&u[p].run();p=-1,t=l.length}u=null,c=!1,function(e){if(r===clearTimeout)return clearTimeout(e);if((r===a||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(e);try{r(e)}catch(t){try{return r.call(null,e)}catch(t){return r.call(this,e)}}}(e)}}function h(e,t){this.fun=e,this.array=t}function m(){}o.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];l.push(new h(e,t)),1!==l.length||c||s(f)},h.prototype.run=function(){this.fun.apply(null,this.array)},o.title="browser",o.browser=!0,o.env={},o.argv=[],o.version="",o.versions={},o.on=m,o.addListener=m,o.once=m,o.off=m,o.removeListener=m,o.removeAllListeners=m,o.emit=m,o.prependListener=m,o.prependOnceListener=m,o.listeners=function(e){return[]},o.binding=function(e){throw new Error("process.binding is not supported")},o.cwd=function(){return"/"},o.chdir=function(e){throw new Error("process.chdir is not supported")},o.umask=function(){return 0}},function(e,t,n){"use strict";var r=n(1),o=(n(0),null),i={};function a(){if(o)for(var e in i){var t=i[e],n=o.indexOf(e);if(n>-1||r("96",e),!l.plugins[n]){t.extractEvents||r("97",e),l.plugins[n]=t;var a=t.eventTypes;for(var u in a)s(a[u],t,u)||r("98",u,e)}}}function s(e,t,n){l.eventNameDispatchConfigs.hasOwnProperty(n)&&r("99",n),l.eventNameDispatchConfigs[n]=e;var o=e.phasedRegistrationNames;if(o){for(var i in o){if(o.hasOwnProperty(i))u(o[i],t,n)}return!0}return!!e.registrationName&&(u(e.registrationName,t,n),!0)}function u(e,t,n){l.registrationNameModules[e]&&r("100",e),l.registrationNameModules[e]=t,l.registrationNameDependencies[e]=t.eventTypes[n].dependencies}var l={plugins:[],eventNameDispatchConfigs:{},registrationNameModules:{},registrationNameDependencies:{},possibleRegistrationNames:null,injectEventPluginOrder:function(e){o&&r("101"),o=Array.prototype.slice.call(e),a()},injectEventPluginsByName:function(e){var t=!1;for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];i.hasOwnProperty(n)&&i[n]===o||(i[n]&&r("102",n),i[n]=o,t=!0)}t&&a()},getPluginModuleForEvent:function(e){var t=e.dispatchConfig;if(t.registrationName)return l.registrationNameModules[t.registrationName]||null;if(void 0!==t.phasedRegistrationNames){var n=t.phasedRegistrationNames;for(var r in n)if(n.hasOwnProperty(r)){var o=l.registrationNameModules[n[r]];if(o)return o}}return null},_resetEventPlugins:function(){for(var e in o=null,i)i.hasOwnProperty(e)&&delete i[e];l.plugins.length=0;var t=l.eventNameDispatchConfigs;for(var n in t)t.hasOwnProperty(n)&&delete t[n];var r=l.registrationNameModules;for(var a in r)r.hasOwnProperty(a)&&delete r[a]}};e.exports=l},function(e,t,n){"use strict";var r,o,i=n(1),a=n(33);n(0),n(2);function s(e,t,n,r){var o=e.type||"unknown-event";e.currentTarget=u.getNodeFromInstance(r),t?a.invokeGuardedCallbackWithCatch(o,n,e):a.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;Array.isArray(t)&&i("103"),e.currentTarget=t?u.getNodeFromInstance(n):null;var r=t?t(e):null;return e.currentTarget=null,e._dispatchListeners=null,e._dispatchInstances=null,r},executeDispatchesInOrder:function(e,t){var n=e._dispatchListeners,r=e._dispatchInstances;if(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(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 r.getInstanceFromNode(e)},getNodeFromInstance:function(e){return r.getNodeFromInstance(e)},isAncestor:function(e,t){return o.isAncestor(e,t)},getLowestCommonAncestor:function(e,t){return o.getLowestCommonAncestor(e,t)},getParentInstance:function(e){return o.getParentInstance(e)},traverseTwoPhase:function(e,t,n){return o.traverseTwoPhase(e,t,n)},traverseEnterLeave:function(e,t,n,r,i){return o.traverseEnterLeave(e,t,n,r,i)},injection:{injectComponentTree:function(e){r=e},injectTreeTraversal:function(e){o=e}}};e.exports=u},function(e,t,n){"use strict";var r=null;function o(e,t,n){try{t(n)}catch(e){null===r&&(r=e)}}var i={invokeGuardedCallback:o,invokeGuardedCallbackWithCatch:o,rethrowCaughtError:function(){if(r){var e=r;throw r=null,e}}};e.exports=i},function(e,t,n){"use strict";e.exports=function(e){var t=e.target||e.srcElement||window;return t.correspondingUseElement&&(t=t.correspondingUseElement),3===t.nodeType?t.parentNode:t}},function(e,t,n){"use strict";var r,o=n(5);o.canUseDOM&&(r=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("",""))
|
7 |
/**
|
8 |
* Checks if an event is supported in the current execution environment.
|
9 |
*
|
17 |
* @return {boolean} True if the event is supported.
|
18 |
* @internal
|
19 |
* @license Modernizr 3.0.0pre (Custom Build) | MIT
|
20 |
+
*/,e.exports=function(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var a=document.createElement("div");a.setAttribute(n,"return;"),i="function"==typeof a[n]}return!i&&r&&"wheel"===e&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}},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);var n=r[e];return!!n&&!!t[n]}e.exports=function(e){return o}},function(e,t,n){"use strict";var r=n(17),o=n(122),i=(n(4),n(6),n(39)),a=n(26),s=n(68);function u(e,t){return Array.isArray(t)&&(t=t[1]),t?t.nextSibling:e.firstChild}var l=i(function(e,t,n){e.insertBefore(t,n)});function c(e,t,n){r.insertTreeBefore(e,t,n)}function p(e,t,n){Array.isArray(t)?function(e,t,n,r){var o=t;for(;;){var i=o.nextSibling;if(l(e,o,r),o===n)break;o=i}}(e,t[0],t[1],n):l(e,t,n)}function d(e,t){if(Array.isArray(t)){var n=t[1];f(e,t=t[0],n),e.removeChild(n)}e.removeChild(t)}function f(e,t,n){for(;;){var r=t.nextSibling;if(r===n)break;e.removeChild(r)}}var h={dangerouslyReplaceNodeWithMarkup:o.dangerouslyReplaceNodeWithMarkup,replaceDelimitedText:function(e,t,n){var r=e.parentNode,o=e.nextSibling;o===t?n&&l(r,document.createTextNode(n),o):n?(s(o,n),f(r,o,t)):f(r,e,t)},processUpdates:function(e,t){for(var n=0;n<t.length;n++){var r=t[n];switch(r.type){case"INSERT_MARKUP":c(e,r.content,u(e,r.afterNode));break;case"MOVE_EXISTING":p(e,r.fromNode,u(e,r.afterNode));break;case"SET_MARKUP":a(e,r.content);break;case"TEXT_CONTENT":s(e,r.content);break;case"REMOVE_NODE":d(e,r.fromNode)}}}};e.exports=h},function(e,t,n){"use strict";e.exports={html:"http://www.w3.org/1999/xhtml",mathml:"http://www.w3.org/1998/Math/MathML",svg:"http://www.w3.org/2000/svg"}},function(e,t,n){"use strict";e.exports=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,r,o){MSApp.execUnsafeLocalFunction(function(){return e(t,n,r,o)})}:e}},function(e,t,n){"use strict";var r=n(1),o=n(140),i=n(57)(n(12).isValidElement),a=(n(0),n(2),{button:!0,checkbox:!0,image:!0,hidden:!0,radio:!0,reset:!0,submit:!0});function s(e){null!=e.checkedLink&&null!=e.valueLink&&r("87")}function u(e){s(e),(null!=e.value||null!=e.onChange)&&r("88")}function l(e){s(e),(null!=e.checked||null!=e.onChange)&&r("89")}var c={value:function(e,t,n){return!e[t]||a[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:i.func},p={};function d(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}var f={checkPropTypes:function(e,t,n){for(var r in c){if(c.hasOwnProperty(r))var i=c[r](t,r,e,"prop",null,o);if(i instanceof Error&&!(i.message in p)){p[i.message]=!0;d(n)}}},getValue:function(e){return e.valueLink?(u(e),e.valueLink.value):e.value},getChecked:function(e){return e.checkedLink?(l(e),e.checkedLink.value):e.checked},executeOnChange:function(e,t){return e.valueLink?(u(e),e.valueLink.requestChange(t.target.value)):e.checkedLink?(l(e),e.checkedLink.requestChange(t.target.checked)):e.onChange?e.onChange.call(void 0,t):void 0}};e.exports=f},function(e,t,n){"use strict";var r=n(1),o=(n(0),!1),i={replaceNodeWithMarkup:null,processChildrenUpdates:null,injection:{injectEnvironment:function(e){o&&r("104"),i.replaceNodeWithMarkup=e.replaceNodeWithMarkup,i.processChildrenUpdates=e.processChildrenUpdates,o=!0}}};e.exports=i},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(145),a=n(74),s=n(75),u=(n(146),n(0),n(2),function(e){this.construct(e)});function l(e,t){var n;if(null===e||!1===e)n=a.create(l);else if("object"==typeof e){var o=e,i=o.type;if("function"!=typeof i&&"string"!=typeof i){var c="";0,c+=function(e){if(e){var t=e.getName();if(t)return" Check the render method of `"+t+"`."}return""}(o._owner),r("130",null==i?i:typeof i,c)}"string"==typeof o.type?n=s.createInternalComponent(o):!function(e){return"function"==typeof e&&void 0!==e.prototype&&"function"==typeof e.prototype.mountComponent&&"function"==typeof e.prototype.receiveComponent}(o.type)?n=new u(o):(n=new o.type(o)).getHostNode||(n.getHostNode=n.getNativeNode)}else"string"==typeof e||"number"==typeof e?n=s.createInstanceForText(e):r("131",typeof e);return n._mountIndex=0,n._mountImage=null,n}o(u.prototype,i,{_instantiateReactComponent:l}),e.exports=l},function(e,t,n){"use strict";var r=Object.prototype.hasOwnProperty;function o(e,t){return e===t?0!==e||0!==t||1/e==1/t:e!=e&&t!=t}e.exports=function(e,t){if(o(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var n=Object.keys(e),i=Object.keys(t);if(n.length!==i.length)return!1;for(var a=0;a<n.length;a++)if(!r.call(t,n[a])||!o(e[n[a]],t[n[a]]))return!1;return!0}},function(e,t,n){"use strict";e.exports=function(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var o=typeof e,i=typeof t;return"string"===o||"number"===o?"string"===i||"number"===i:"object"===i&&e.type===t.type&&e.key===t.key}},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]})}};e.exports=r},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(23)),i=(n(6),n(9));n(0),n(2);function a(e){i.enqueueUpdate(e)}function s(e,t){var n=o.get(e);return n||null}var u={isMounted:function(e){var t=o.get(e);return!!t&&!!t._renderedComponent},enqueueCallback:function(e,t,n){u.validateCallback(t,n);var r=s(e);if(!r)return null;r._pendingCallbacks?r._pendingCallbacks.push(t):r._pendingCallbacks=[t],a(r)},enqueueCallbackInternal:function(e,t){e._pendingCallbacks?e._pendingCallbacks.push(t):e._pendingCallbacks=[t],a(e)},enqueueForceUpdate:function(e){var t=s(e);t&&(t._pendingForceUpdate=!0,a(t))},enqueueReplaceState:function(e,t,n){var r=s(e);r&&(r._pendingStateQueue=[t],r._pendingReplaceState=!0,null!=n&&(u.validateCallback(n,"replaceState"),r._pendingCallbacks?r._pendingCallbacks.push(n):r._pendingCallbacks=[n]),a(r))},enqueueSetState:function(e,t){var n=s(e);n&&((n._pendingStateQueue||(n._pendingStateQueue=[])).push(t),a(n))},enqueueElementInternal:function(e,t,n){e._pendingElement=t,e._context=n,a(e)},validateCallback:function(e,t){e&&"function"!=typeof e&&r("122",t,function(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}(e))}};e.exports=u},function(e,t,n){"use strict";n(3);var r=n(8),o=(n(2),r);e.exports=o},function(e,t,n){"use strict";e.exports=function(e){var t,n=e.keyCode;return"charCode"in e?0===(t=e.charCode)&&13===n&&(t=13):t=n,t>=32||13===t?t:0}},function(e,t,n){var r,o;"undefined"!=typeof window&&window,void 0===(o="function"==typeof(r=function(){"use strict";function e(){}var t=e.prototype;return t.on=function(e,t){if(e&&t){var n=this._events=this._events||{},r=n[e]=n[e]||[];return-1==r.indexOf(t)&&r.push(t),this}},t.once=function(e,t){if(e&&t){this.on(e,t);var n=this._onceEvents=this._onceEvents||{};return(n[e]=n[e]||{})[t]=!0,this}},t.off=function(e,t){var n=this._events&&this._events[e];if(n&&n.length){var r=n.indexOf(t);return-1!=r&&n.splice(r,1),this}},t.emitEvent=function(e,t){var n=this._events&&this._events[e];if(n&&n.length){n=n.slice(0),t=t||[];for(var r=this._onceEvents&&this._onceEvents[e],o=0;o<n.length;o++){var i=n[o];r&&r[i]&&(this.off(e,i),delete r[i]),i.apply(this,t)}return this}},t.allOff=function(){delete this._events,delete this._onceEvents},e})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){var r,o;
|
21 |
/*!
|
22 |
+
* getSize v2.0.3
|
23 |
+
* measure size of elements
|
24 |
+
* MIT license
|
25 |
+
*/window,void 0===(o="function"==typeof(r=function(){"use strict";function e(e){var t=parseFloat(e),n=-1==e.indexOf("%")&&!isNaN(t);return n&&t}var t="undefined"==typeof console?function(){}:function(e){console.error(e)},n=["paddingLeft","paddingRight","paddingTop","paddingBottom","marginLeft","marginRight","marginTop","marginBottom","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth"],r=n.length;function o(e){var n=getComputedStyle(e);return n||t("Style returned "+n+". Are you running this code in a hidden iframe on Firefox? See https://bit.ly/getsizebug1"),n}var i,a=!1;function s(t){if(function(){if(!a){a=!0;var t=document.createElement("div");t.style.width="200px",t.style.padding="1px 2px 3px 4px",t.style.borderStyle="solid",t.style.borderWidth="1px 2px 3px 4px",t.style.boxSizing="border-box";var n=document.body||document.documentElement;n.appendChild(t);var r=o(t);i=200==Math.round(e(r.width)),s.isBoxSizeOuter=i,n.removeChild(t)}}(),"string"==typeof t&&(t=document.querySelector(t)),t&&"object"==typeof t&&t.nodeType){var u=o(t);if("none"==u.display)return function(){for(var e={width:0,height:0,innerWidth:0,innerHeight:0,outerWidth:0,outerHeight:0},t=0;t<r;t++){var o=n[t];e[o]=0}return e}();var l={};l.width=t.offsetWidth,l.height=t.offsetHeight;for(var c=l.isBorderBox="border-box"==u.boxSizing,p=0;p<r;p++){var d=n[p],f=u[d],h=parseFloat(f);l[d]=isNaN(h)?0:h}var m=l.paddingLeft+l.paddingRight,v=l.paddingTop+l.paddingBottom,g=l.marginLeft+l.marginRight,y=l.marginTop+l.marginBottom,_=l.borderLeftWidth+l.borderRightWidth,b=l.borderTopWidth+l.borderBottomWidth,E=c&&i,C=e(u.width);!1!==C&&(l.width=C+(E?0:m+_));var w=e(u.height);return!1!==w&&(l.height=w+(E?0:v+b)),l.innerWidth=l.width-(m+_),l.innerHeight=l.height-(v+b),l.outerWidth=l.width+g,l.outerHeight=l.height+y,l}}return s})?r.call(t,n,t,e):r)||(e.exports=o)},function(e,t,n){"use strict";(function(t){var r=n(7),o=n(194),i={"Content-Type":"application/x-www-form-urlencoded"};function a(e,t){!r.isUndefined(e)&&r.isUndefined(e["Content-Type"])&&(e["Content-Type"]=t)}var s,u={adapter:("undefined"!=typeof XMLHttpRequest?s=n(89):void 0!==t&&(s=n(89)),s),transformRequest:[function(e,t){return o(t,"Content-Type"),r.isFormData(e)||r.isArrayBuffer(e)||r.isBuffer(e)||r.isStream(e)||r.isFile(e)||r.isBlob(e)?e:r.isArrayBufferView(e)?e.buffer:r.isURLSearchParams(e)?(a(t,"application/x-www-form-urlencoded;charset=utf-8"),e.toString()):r.isObject(e)?(a(t,"application/json;charset=utf-8"),JSON.stringify(e)):e}],transformResponse:[function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(e){}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(e){return e>=200&&e<300}};u.headers={common:{Accept:"application/json, text/plain, */*"}},r.forEach(["delete","get","head"],function(e){u.headers[e]={}}),r.forEach(["post","put","patch"],function(e){u.headers[e]=r.merge(i)}),e.exports=u}).call(this,n(30))},function(e,t,n){"use strict";e.exports={photo_api:"https://api.unsplash.com/photos",search_api:"https://api.unsplash.com/search/photos",app_id:"/?client_id="+instant_img_localize.unsplash_app_id,posts_per_page:"&per_page=20"}},function(e,t,n){"use strict";var r=n(18),o=n(3),i=n(54),a=(n(55),n(19));n(0),n(94);function s(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function u(e,t,n){this.props=e,this.context=t,this.refs=a,this.updater=n||i}function l(){}s.prototype.isReactComponent={},s.prototype.setState=function(e,t){"object"!=typeof e&&"function"!=typeof e&&null!=e&&r("85"),this.updater.enqueueSetState(this,e),t&&this.updater.enqueueCallback(this,t,"setState")},s.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this),e&&this.updater.enqueueCallback(this,e,"forceUpdate")},l.prototype=s.prototype,u.prototype=new l,u.prototype.constructor=u,o(u.prototype,s.prototype),u.prototype.isPureReactComponent=!0,e.exports={Component:s,PureComponent:u}},function(e,t,n){"use strict";n(2);var r={isMounted:function(e){return!1},enqueueCallback:function(e,t){},enqueueForceUpdate:function(e){},enqueueReplaceState:function(e,t){},enqueueSetState:function(e,t){}};e.exports=r},function(e,t,n){"use strict";e.exports=!1},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r=n(102);e.exports=function(e){return r(e,!1)}},function(e,t,n){"use strict";e.exports={hasCachedChildNodes:1}},function(e,t,n){"use strict";var r=n(110),o=n(111),i=n(115),a=n(118),s=n(119),u=n(120),l=n(121),c=n(127),p=n(4),d=n(151),f=n(152),h=n(153),m=n(79),v=n(154),g=n(156),y=n(157),_=n(163),b=n(164),E=n(165),C=!1;e.exports={inject:function(){C||(C=!0,g.EventEmitter.injectReactEventListener(v),g.EventPluginHub.injectEventPluginOrder(a),g.EventPluginUtils.injectComponentTree(p),g.EventPluginUtils.injectTreeTraversal(f),g.EventPluginHub.injectEventPluginsByName({SimpleEventPlugin:E,EnterLeaveEventPlugin:s,ChangeEventPlugin:i,SelectEventPlugin:b,BeforeInputEventPlugin:o}),g.HostComponent.injectGenericComponentClass(c),g.HostComponent.injectTextComponentClass(h),g.DOMProperty.injectDOMPropertyConfig(r),g.DOMProperty.injectDOMPropertyConfig(u),g.DOMProperty.injectDOMPropertyConfig(_),g.EmptyComponent.injectEmptyComponentFactory(function(e){return new d(e)}),g.Updates.injectReconcileTransaction(y),g.Updates.injectBatchingStrategy(m),g.Component.injectEnvironment(l))}}},function(e,t,n){"use strict";var r=n(1);n(0);e.exports=function(e,t){return null==t&&r("30"),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]}},function(e,t,n){"use strict";e.exports=function(e,t,n){Array.isArray(e)?e.forEach(t,n):e&&t.call(n,e)}},function(e,t,n){"use strict";var r=n(5),o=null;e.exports=function(){return!o&&r.canUseDOM&&(o="textContent"in document.documentElement?"textContent":"innerText"),o}},function(e,t,n){"use strict";var r=n(1);var o=n(13),i=(n(0),function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(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&&r("24"),this._callbacks=null,this._contexts=null;for(var o=0;o<e.length;o++)e[o].call(t[o],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}());e.exports=o.addPoolingTo(i)},function(e,t,n){"use strict";e.exports={logTopLevelRenders:!1}},function(e,t,n){"use strict";var r=n(4);function o(e){var t=e.type,n=e.nodeName;return n&&"input"===n.toLowerCase()&&("checkbox"===t||"radio"===t)}function i(e){return e._wrapperState.valueTracker}var a={_getTrackerFromNode:function(e){return i(r.getInstanceFromNode(e))},track:function(e){if(!i(e)){var t=r.getNodeFromInstance(e),n=o(t)?"checked":"value",a=Object.getOwnPropertyDescriptor(t.constructor.prototype,n),s=""+t[n];t.hasOwnProperty(n)||"function"!=typeof a.get||"function"!=typeof a.set||(Object.defineProperty(t,n,{enumerable:a.enumerable,configurable:!0,get:function(){return a.get.call(this)},set:function(e){s=""+e,a.set.call(this,e)}}),function(e,t){e._wrapperState.valueTracker=t}(e,{getValue:function(){return s},setValue:function(e){s=""+e},stopTracking:function(){!function(e){e._wrapperState.valueTracker=null}(e),delete t[n]}}))}},updateValueIfChanged:function(e){if(!e)return!1;var t=i(e);if(!t)return a.track(e),!0;var n,s,u=t.getValue(),l=((n=r.getNodeFromInstance(e))&&(s=o(n)?""+n.checked:n.value),s);return l!==u&&(t.setValue(l),!0)},stopTracking:function(e){var t=i(e);t&&t.stopTracking()}};e.exports=a},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};e.exports=function(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!r[e.type]:"textarea"===t}},function(e,t,n){"use strict";var r={currentScrollLeft:0,currentScrollTop:0,refreshScrollValues:function(e){r.currentScrollLeft=e.x,r.currentScrollTop=e.y}};e.exports=r},function(e,t,n){"use strict";var r=n(5),o=n(27),i=n(26),a=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||(a=function(e,t){3!==e.nodeType?i(e,o(t)):e.nodeValue=t})),e.exports=a},function(e,t,n){"use strict";e.exports=function(e){try{e.focus()}catch(e){}}},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(e){o.forEach(function(t){r[function(e,t){return e+t.charAt(0).toUpperCase()+t.substring(1)}(t,e)]=r[e]})});var i={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}}};e.exports=i},function(e,t,n){"use strict";var r=n(16),o=(n(4),n(6),n(136)),i=(n(2),new RegExp("^["+r.ATTRIBUTE_NAME_START_CHAR+"]["+r.ATTRIBUTE_NAME_CHAR+"]*$")),a={},s={};function u(e){return!!s.hasOwnProperty(e)||!a.hasOwnProperty(e)&&(i.test(e)?(s[e]=!0,!0):(a[e]=!0,!1))}function l(e,t){return null==t||e.hasBooleanValue&&!t||e.hasNumericValue&&isNaN(t)||e.hasPositiveNumericValue&&t<1||e.hasOverloadedBooleanValue&&!1===t}var c={createMarkupForID:function(e){return r.ID_ATTRIBUTE_NAME+"="+o(e)},setAttributeForID:function(e,t){e.setAttribute(r.ID_ATTRIBUTE_NAME,t)},createMarkupForRoot:function(){return r.ROOT_ATTRIBUTE_NAME+'=""'},setAttributeForRoot:function(e){e.setAttribute(r.ROOT_ATTRIBUTE_NAME,"")},createMarkupForProperty:function(e,t){var n=r.properties.hasOwnProperty(e)?r.properties[e]:null;if(n){if(l(n,t))return"";var i=n.attributeName;return n.hasBooleanValue||n.hasOverloadedBooleanValue&&!0===t?i+'=""':i+"="+o(t)}return r.isCustomAttribute(e)?null==t?"":e+"="+o(t):null},createMarkupForCustomAttribute:function(e,t){return u(e)&&null!=t?e+"="+o(t):""},setValueForProperty:function(e,t,n){var o=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(o){var i=o.mutationMethod;if(i)i(e,n);else{if(l(o,n))return void this.deleteValueForProperty(e,t);if(o.mustUseProperty)e[o.propertyName]=n;else{var a=o.attributeName,s=o.attributeNamespace;s?e.setAttributeNS(s,a,""+n):o.hasBooleanValue||o.hasOverloadedBooleanValue&&!0===n?e.setAttribute(a,""):e.setAttribute(a,""+n)}}}else if(r.isCustomAttribute(t))return void c.setValueForAttribute(e,t,n)},setValueForAttribute:function(e,t,n){u(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))},deleteValueForAttribute:function(e,t){e.removeAttribute(t)},deleteValueForProperty:function(e,t){var n=r.properties.hasOwnProperty(t)?r.properties[t]:null;if(n){var o=n.mutationMethod;if(o)o(e,void 0);else if(n.mustUseProperty){var i=n.propertyName;n.hasBooleanValue?e[i]=!1:e[i]=""}else e.removeAttribute(n.attributeName)}else r.isCustomAttribute(t)&&e.removeAttribute(t)}};e.exports=c},function(e,t,n){"use strict";var r=n(3),o=n(40),i=n(4),a=n(9),s=(n(2),!1);function u(){if(this._rootNodeID&&this._wrapperState.pendingUpdate){this._wrapperState.pendingUpdate=!1;var e=this._currentElement.props,t=o.getValue(e);null!=t&&l(this,Boolean(e.multiple),t)}}function l(e,t,n){var r,o,a=i.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 s=r.hasOwnProperty(a[o].value);a[o].selected!==s&&(a[o].selected=s)}}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 c={getHostProps:function(e,t){return r({},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:p.bind(e),wasMultiple:Boolean(t.multiple)},void 0===t.value||void 0===t.defaultValue||s||(s=!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,l(e,Boolean(t.multiple),r)):n!==Boolean(t.multiple)&&(null!=t.defaultValue?l(e,Boolean(t.multiple),t.defaultValue):l(e,Boolean(t.multiple),t.multiple?[]:""))}};function p(e){var t=this._currentElement.props,n=o.executeOnChange(t,e);return this._rootNodeID&&(this._wrapperState.pendingUpdate=!0),a.asap(u,this),n}e.exports=c},function(e,t,n){"use strict";var r=n(1),o=n(12),i=(n(0),{HOST:0,COMPOSITE:1,EMPTY:2,getType:function(e){return null===e||!1===e?i.EMPTY:o.isValidElement(e)?"function"==typeof e.type?i.COMPOSITE:i.HOST:void r("26",e)}});e.exports=i},function(e,t,n){"use strict";var r,o={injectEmptyComponentFactory:function(e){r=e}},i={create:function(e){return r(e)}};i.injection=o,e.exports=i},function(e,t,n){"use strict";var r=n(1),o=(n(0),null),i=null;var a={createInternalComponent:function(e){return o||r("111",e.type),new o(e)},createInstanceForText:function(e){return new i(e)},isTextComponent:function(e){return e instanceof i},injection:{injectGenericComponentClass:function(e){o=e},injectTextComponentClass:function(e){i=e}}};e.exports=a},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(147)),i=n(148),a=(n(0),n(45)),s=(n(2),"."),u=":";function l(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,c,p){var d,f=typeof t;if("undefined"!==f&&"boolean"!==f||(t=null),null===t||"string"===f||"number"===f||"object"===f&&t.$$typeof===o)return c(p,t,""===n?s+l(t,0):n),1;var h=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)h+=e(d=t[v],m+l(d,v),c,p);else{var g=i(t);if(g){var y,_=g.call(t);if(g!==t.entries)for(var b=0;!(y=_.next()).done;)h+=e(d=y.value,m+l(d,b++),c,p);else for(;!(y=_.next()).done;){var E=y.value;E&&(h+=e(d=E[1],m+a.escape(E[0])+u+l(d,0),c,p))}}else if("object"===f){var C=String(t);r("31","[object Object]"===C?"object with keys {"+Object.keys(t).join(", ")+"}":C,"")}}return h}(e,"",t,n)}},function(e,t,n){"use strict";var r,o,i,a,s,u,l,c=n(18),p=n(10);n(0),n(2);function d(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}}if("function"==typeof Array.from&&"function"==typeof Map&&d(Map)&&null!=Map.prototype&&"function"==typeof Map.prototype.keys&&d(Map.prototype.keys)&&"function"==typeof Set&&d(Set)&&null!=Set.prototype&&"function"==typeof Set.prototype.keys&&d(Set.prototype.keys)){var f=new Map,h=new Set;r=function(e,t){f.set(e,t)},o=function(e){return f.get(e)},i=function(e){f.delete(e)},a=function(){return Array.from(f.keys())},s=function(e){h.add(e)},u=function(e){h.delete(e)},l=function(){return Array.from(h.keys())}}else{var m={},v={},g=function(e){return"."+e},y=function(e){return parseInt(e.substr(1),10)};r=function(e,t){var n=g(e);m[n]=t},o=function(e){var t=g(e);return m[t]},i=function(e){var t=g(e);delete m[t]},a=function(){return Object.keys(m).map(y)},s=function(e){var t=g(e);v[t]=!0},u=function(e){var t=g(e);delete v[t]},l=function(){return Object.keys(v).map(y)}}var _=[];function b(e){var t=o(e);if(t){var n=t.childIDs;i(e),n.forEach(b)}}function E(e,t,n){return"\n in "+(e||"Unknown")+(t?" (at "+t.fileName.replace(/^.*[\\\/]/,"")+":"+t.lineNumber+")":n?" (created by "+n+")":"")}function C(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 w(e){var t,n=x.getDisplayName(e),r=x.getElement(e),o=x.getOwnerID(e);return o&&(t=x.getDisplayName(o)),E(n,r&&r._source,t)}var x={onSetChildren:function(e,t){var n=o(e);n||c("144"),n.childIDs=t;for(var r=0;r<t.length;r++){var i=t[r],a=o(i);a||c("140"),null==a.childIDs&&"object"==typeof a.element&&null!=a.element&&c("141"),a.isMounted||c("71"),null==a.parentID&&(a.parentID=e),a.parentID!==e&&c("142",i,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){var n=o(e);n&&n.isMounted&&(n.element=t)},onMountComponent:function(e){var t=o(e);t||c("144"),t.isMounted=!0,0===t.parentID&&s(e)},onUpdateComponent:function(e){var t=o(e);t&&t.isMounted&&t.updateCount++},onUnmountComponent:function(e){var t=o(e);t&&(t.isMounted=!1,0===t.parentID&&u(e));_.push(e)},purgeUnmountedComponents:function(){if(!x._preventPurging){for(var e=0;e<_.length;e++){b(_[e])}_.length=0}},isMounted:function(e){var t=o(e);return!!t&&t.isMounted},getCurrentStackAddendum:function(e){var t="";if(e){var n=C(e),r=e._owner;t+=E(n,e._source,r&&r.getName())}var o=p.current,i=o&&o._debugID;return t+=x.getStackAddendumByID(i)},getStackAddendumByID:function(e){for(var t="";e;)t+=w(e),e=x.getParentID(e);return t},getChildIDs:function(e){var t=o(e);return t?t.childIDs:[]},getDisplayName:function(e){var t=x.getElement(e);return t?C(t):null},getElement:function(e){var t=o(e);return t?t.element:null},getOwnerID:function(e){var t=x.getElement(e);return t&&t._owner?t._owner._debugID:null},getParentID:function(e){var t=o(e);return t?t.parentID:null},getSource:function(e){var t=o(e),n=t?t.element:null;return null!=n?n._source:null},getText:function(e){var t=x.getElement(e);return"string"==typeof t?t:"number"==typeof t?""+t:null},getUpdateCount:function(e){var t=o(e);return t?t.updateCount:0},getRootIDs:l,getRegisteredIDs:a,pushNonStandardWarningStack:function(e,t){if("function"==typeof console.reactStack){var n=[],r=p.current,o=r&&r._debugID;try{for(e&&n.push({name:o?x.getDisplayName(o):null,fileName:t?t.fileName:null,lineNumber:t?t.lineNumber:null});o;){var i=x.getElement(o),a=x.getParentID(o),s=x.getOwnerID(o),u=s?x.getDisplayName(s):null,l=i&&i._source;n.push({name:u,fileName:l?l.fileName:null,lineNumber:l?l.lineNumber:null}),o=a}}catch(e){}console.reactStack(n)}},popNonStandardWarningStack:function(){"function"==typeof console.reactStackEnd&&console.reactStackEnd()}};e.exports=x},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(24),a=(n(6),n(150)),s=[];var u={enqueue:function(){}};function l(e){this.reinitializeTransaction(),this.renderToStaticMarkup=e,this.useCreateElement=!1,this.updateQueue=new a(this)}var c={getTransactionWrappers:function(){return s},getReactMountReady:function(){return u},getUpdateQueue:function(){return this.updateQueue},destructor:function(){},checkpoint:function(){},rollback:function(){}};r(l.prototype,i,c),o.addPoolingTo(l),e.exports=l},function(e,t,n){"use strict";var r=n(3),o=n(9),i=n(24),a=n(8),s={initialize:a,close:function(){p.isBatchingUpdates=!1}},u=[{initialize:a,close:o.flushBatchedUpdates.bind(o)},s];function l(){this.reinitializeTransaction()}r(l.prototype,i,{getTransactionWrappers:function(){return u}});var c=new l,p={isBatchingUpdates:!1,batchedUpdates:function(e,t,n,r,o,i){var a=p.isBatchingUpdates;return p.isBatchingUpdates=!0,a?e(t,n,r,o,i):c.perform(e,null,t,n,r,o,i)}};e.exports=p},function(e,t,n){"use strict";var r=n(8),o={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(){}};e.exports=o},function(e,t,n){"use strict";var r=n(158),o=n(160),i=n(69),a=n(82);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=a();return{focusedElem:e,selectionRange:s.hasSelectionCapabilities(e)?s.getSelection(e):null}},restoreSelection:function(e){var t,n=a(),r=e.focusedElem,u=e.selectionRange;n!==r&&(t=r,o(document.documentElement,t))&&(s.hasSelectionCapabilities(r)&&s.setSelection(r,u),i(r))},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=r.getOffsets(e);return t||{start:0,end:0}},setSelection:function(e,t){var n=t.start,o=t.end;if(void 0===o&&(o=n),"selectionStart"in e)e.selectionStart=n,e.selectionEnd=Math.min(o,e.value.length);else if(document.selection&&e.nodeName&&"input"===e.nodeName.toLowerCase()){var i=e.createTextRange();i.collapse(!0),i.moveStart("character",n),i.moveEnd("character",o-n),i.select()}else r.setOffsets(e,t)}};e.exports=s},function(e,t,n){"use strict";e.exports=function(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}},function(e,t,n){"use strict";var r=n(1),o=n(17),i=n(16),a=n(12),s=n(28),u=(n(10),n(4)),l=n(84),c=n(175),p=n(64),d=n(23),f=(n(6),n(85)),h=n(14),m=n(46),v=n(9),g=n(19),y=n(42),_=(n(0),n(26)),b=n(44),E=(n(2),i.ID_ATTRIBUTE_NAME),C=i.ROOT_ATTRIBUTE_NAME,w=1,x=9,T=11,k={};function S(e){return e?e.nodeType===x?e.documentElement:e.firstChild:null}function I(e,t,n,r,o){var i;if(p.logTopLevelRenders){var a=e._currentElement.props.child.type;i="React mount: "+("string"==typeof a?a:a.displayName||a.name),console.time(i)}var s=h.mountComponent(e,n,null,l(e,t),o,0);i&&console.timeEnd(i),e._renderedComponent._topLevelWrapper=e,D._mountImageIntoNode(s,t,e,r,n)}function P(e,t,n,r){var o=v.ReactReconcileTransaction.getPooled(!n&&c.useCreateElement);o.perform(I,null,e,t,o,n,r),v.ReactReconcileTransaction.release(o)}function N(e,t,n){for(0,h.unmountComponent(e,n),t.nodeType===x&&(t=t.documentElement);t.lastChild;)t.removeChild(t.lastChild)}function M(e){var t=S(e);if(t){var n=u.getInstanceFromNode(t);return!(!n||!n._hostParent)}}function O(e){return!(!e||e.nodeType!==w&&e.nodeType!==x&&e.nodeType!==T)}function R(e){var t=function(e){var t=S(e),n=t&&u.getInstanceFromNode(t);return n&&!n._hostParent?n:null}(e);return t?t._hostContainerInfo._topLevelWrapper:null}var A=1,L=function(){this.rootID=A++};L.prototype.isReactComponent={},L.prototype.render=function(){return this.props.child},L.isReactTopLevelWrapper=!0;var D={TopLevelWrapper:L,_instancesByReactRootID:k,scrollMonitor:function(e,t){t()},_updateRootComponent:function(e,t,n,r,o){return D.scrollMonitor(r,function(){m.enqueueElementInternal(e,t,n),o&&m.enqueueCallbackInternal(e,o)}),e},_renderNewRootComponent:function(e,t,n,o){O(t)||r("37"),s.ensureScrollValueMonitoring();var i=y(e,!1);v.batchedUpdates(P,i,t,n,o);var a=i._instance.rootID;return k[a]=i,i},renderSubtreeIntoContainer:function(e,t,n,o){return null!=e&&d.has(e)||r("38"),D._renderSubtreeIntoContainer(e,t,n,o)},_renderSubtreeIntoContainer:function(e,t,n,o){m.validateCallback(o,"ReactDOM.render"),a.isValidElement(t)||r("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=a.createElement(L,{child:t});if(e){var u=d.get(e);i=u._processChildContext(u._context)}else i=g;var l=R(n);if(l){var c=l._currentElement.props.child;if(b(c,t)){var p=l._renderedComponent.getPublicInstance(),f=o&&function(){o.call(p)};return D._updateRootComponent(l,s,i,n,f),p}D.unmountComponentAtNode(n)}var h,v=S(n),y=v&&!(!(h=v).getAttribute||!h.getAttribute(E)),_=M(n),C=y&&!l&&!_,w=D._renderNewRootComponent(s,n,C,i)._renderedComponent.getPublicInstance();return o&&o.call(w),w},render:function(e,t,n){return D._renderSubtreeIntoContainer(null,e,t,n)},unmountComponentAtNode:function(e){O(e)||r("40");var t=R(e);if(!t){M(e),1===e.nodeType&&e.hasAttribute(C);return!1}return delete k[t._instance.rootID],v.batchedUpdates(N,t,e,!1),!0},_mountImageIntoNode:function(e,t,n,i,a){if(O(t)||r("41"),i){var s=S(t);if(f.canReuseMarkup(e,s))return void u.precacheNode(n,s);var l=s.getAttribute(f.CHECKSUM_ATTR_NAME);s.removeAttribute(f.CHECKSUM_ATTR_NAME);var c=s.outerHTML;s.setAttribute(f.CHECKSUM_ATTR_NAME,l);var p=e,d=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}(p,c),h=" (client) "+p.substring(d-20,d+20)+"\n (server) "+c.substring(d-20,d+20);t.nodeType===x&&r("42",h)}if(t.nodeType===x&&r("43"),a.useCreateElement){for(;t.lastChild;)t.removeChild(t.lastChild);o.insertTreeBefore(t,e,null)}else _(t,e),u.precacheNode(n,t.firstChild)}};e.exports=D},function(e,t,n){"use strict";n(47);var r=9;e.exports=function(e,t){return{_topLevelWrapper:e,_idCounter:1,_ownerDocument:t?t.nodeType===r?t:t.ownerDocument:null,_node:t,_tag:t?t.nodeName.toLowerCase():null,_namespaceURI:t?t.namespaceURI:null}}},function(e,t,n){"use strict";var r=n(176),o=/\/?>/,i=/^<\!\-\-/,a={CHECKSUM_ATTR_NAME:"data-react-checksum",addChecksumToMarkup:function(e){var t=r(e);return i.test(e)?e:e.replace(o," "+a.CHECKSUM_ATTR_NAME+'="'+t+'"$&')},canReuseMarkup:function(e,t){var n=t.getAttribute(a.CHECKSUM_ATTR_NAME);return n=n&&parseInt(n,10),r(e)===n}};e.exports=a},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(73);e.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}},function(e,t,n){"use strict";e.exports=function(e,t){return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];return e.apply(t,n)}}},function(e,t,n){"use strict";var r=n(7),o=n(195),i=n(197),a=n(198),s=n(199),u=n(90),l="undefined"!=typeof window&&window.btoa&&window.btoa.bind(window)||n(200);e.exports=function(e){return new Promise(function(t,c){var p=e.data,d=e.headers;r.isFormData(p)&&delete d["Content-Type"];var f=new XMLHttpRequest,h="onreadystatechange",m=!1;if("undefined"==typeof window||!window.XDomainRequest||"withCredentials"in f||s(e.url)||(f=new window.XDomainRequest,h="onload",m=!0,f.onprogress=function(){},f.ontimeout=function(){}),e.auth){var v=e.auth.username||"",g=e.auth.password||"";d.Authorization="Basic "+l(v+":"+g)}if(f.open(e.method.toUpperCase(),i(e.url,e.params,e.paramsSerializer),!0),f.timeout=e.timeout,f[h]=function(){if(f&&(4===f.readyState||m)&&(0!==f.status||f.responseURL&&0===f.responseURL.indexOf("file:"))){var n="getAllResponseHeaders"in f?a(f.getAllResponseHeaders()):null,r={data:e.responseType&&"text"!==e.responseType?f.response:f.responseText,status:1223===f.status?204:f.status,statusText:1223===f.status?"No Content":f.statusText,headers:n,config:e,request:f};o(t,c,r),f=null}},f.onerror=function(){c(u("Network Error",e,null,f)),f=null},f.ontimeout=function(){c(u("timeout of "+e.timeout+"ms exceeded",e,"ECONNABORTED",f)),f=null},r.isStandardBrowserEnv()){var y=n(201),_=(e.withCredentials||s(e.url))&&e.xsrfCookieName?y.read(e.xsrfCookieName):void 0;_&&(d[e.xsrfHeaderName]=_)}if("setRequestHeader"in f&&r.forEach(d,function(e,t){void 0===p&&"content-type"===t.toLowerCase()?delete d[t]:f.setRequestHeader(t,e)}),e.withCredentials&&(f.withCredentials=!0),e.responseType)try{f.responseType=e.responseType}catch(t){if("json"!==e.responseType)throw t}"function"==typeof e.onDownloadProgress&&f.addEventListener("progress",e.onDownloadProgress),"function"==typeof e.onUploadProgress&&f.upload&&f.upload.addEventListener("progress",e.onUploadProgress),e.cancelToken&&e.cancelToken.promise.then(function(e){f&&(f.abort(),c(e),f=null)}),void 0===p&&(p=null),f.send(p)})}},function(e,t,n){"use strict";var r=n(196);e.exports=function(e,t,n,o,i){var a=new Error(e);return r(a,t,n,o,i)}},function(e,t,n){"use strict";e.exports=function(e){return!(!e||!e.__CANCEL__)}},function(e,t,n){"use strict";function r(e){this.message=e}r.prototype.toString=function(){return"Cancel"+(this.message?": "+this.message:"")},r.prototype.__CANCEL__=!0,e.exports=r},function(e,t,n){"use strict";e.exports=n(109)},function(e,t,n){"use strict";e.exports=function(){}},function(e,t,n){"use strict";var r=n(96),o=n(15),i=n(8),a=n(97),s=r.twoArgumentPooler,u=r.fourArgumentPooler,l=/\/+/g;function c(e){return(""+e).replace(l,"$&/")}function p(e,t){this.func=e,this.context=t,this.count=0}function d(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 h(e,t,n){var r=e.result,a=e.keyPrefix,s=e.func,u=e.context,l=s.call(u,t,e.count++);Array.isArray(l)?m(l,r,n,i.thatReturnsArgument):null!=l&&(o.isValidElement(l)&&(l=o.cloneAndReplaceKey(l,a+(!l.key||t&&t.key===l.key?"":c(l.key)+"/")+n)),r.push(l))}function m(e,t,n,r,o){var i="";null!=n&&(i=c(n)+"/");var s=f.getPooled(t,i,r,o);a(e,h,s),f.release(s)}function v(e,t,n){return null}p.prototype.destructor=function(){this.func=null,this.context=null,this.count=0},r.addPoolingTo(p,s),f.prototype.destructor=function(){this.result=null,this.keyPrefix=null,this.func=null,this.context=null,this.count=0},r.addPoolingTo(f,u);var g={forEach:function(e,t,n){if(null==e)return e;var r=p.getPooled(t,n);a(e,d,r),p.release(r)},map:function(e,t,n){if(null==e)return e;var r=[];return m(e,r,null,t,n),r},mapIntoWithKeyPrefixInternal:m,count:function(e,t){return a(e,v,null)},toArray:function(e){var t=[];return m(e,t,null,i.thatReturnsArgument),t}};e.exports=g},function(e,t,n){"use strict";var r=n(18),o=(n(0),function(e){if(this.instancePool.length){var t=this.instancePool.pop();return this.call(t,e),t}return new this(e)}),i=function(e){e instanceof this||r("25"),e.destructor(),this.instancePool.length<this.poolSize&&this.instancePool.push(e)},a=o,s={addPoolingTo:function(e,t){var n=e;return n.instancePool=[],n.getPooled=t||a,n.poolSize||(n.poolSize=10),n.release=i,n},oneArgumentPooler:o,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)}};e.exports=s},function(e,t,n){"use strict";var r=n(18),o=(n(10),n(56)),i=n(98),a=(n(0),n(99)),s=(n(2),"."),u=":";function l(e,t){return e&&"object"==typeof e&&null!=e.key?a.escape(e.key):t.toString(36)}e.exports=function(e,t,n){return null==e?0:function e(t,n,c,p){var d,f=typeof t;if("undefined"!==f&&"boolean"!==f||(t=null),null===t||"string"===f||"number"===f||"object"===f&&t.$$typeof===o)return c(p,t,""===n?s+l(t,0):n),1;var h=0,m=""===n?s:n+u;if(Array.isArray(t))for(var v=0;v<t.length;v++)h+=e(d=t[v],m+l(d,v),c,p);else{var g=i(t);if(g){var y,_=g.call(t);if(g!==t.entries)for(var b=0;!(y=_.next()).done;)h+=e(d=y.value,m+l(d,b++),c,p);else for(;!(y=_.next()).done;){var E=y.value;E&&(h+=e(d=E[1],m+a.escape(E[0])+u+l(d,0),c,p))}}else if("object"===f){var C=String(t);r("31","[object Object]"===C?"object with keys {"+Object.keys(t).join(", ")+"}":C,"")}}return h}(e,"",t,n)}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},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]})}};e.exports=r},function(e,t,n){"use strict";var r=n(15).createFactory,o={a:r("a"),abbr:r("abbr"),address:r("address"),area:r("area"),article:r("article"),aside:r("aside"),audio:r("audio"),b:r("b"),base:r("base"),bdi:r("bdi"),bdo:r("bdo"),big:r("big"),blockquote:r("blockquote"),body:r("body"),br:r("br"),button:r("button"),canvas:r("canvas"),caption:r("caption"),cite:r("cite"),code:r("code"),col:r("col"),colgroup:r("colgroup"),data:r("data"),datalist:r("datalist"),dd:r("dd"),del:r("del"),details:r("details"),dfn:r("dfn"),dialog:r("dialog"),div:r("div"),dl:r("dl"),dt:r("dt"),em:r("em"),embed:r("embed"),fieldset:r("fieldset"),figcaption:r("figcaption"),figure:r("figure"),footer:r("footer"),form:r("form"),h1:r("h1"),h2:r("h2"),h3:r("h3"),h4:r("h4"),h5:r("h5"),h6:r("h6"),head:r("head"),header:r("header"),hgroup:r("hgroup"),hr:r("hr"),html:r("html"),i:r("i"),iframe:r("iframe"),img:r("img"),input:r("input"),ins:r("ins"),kbd:r("kbd"),keygen:r("keygen"),label:r("label"),legend:r("legend"),li:r("li"),link:r("link"),main:r("main"),map:r("map"),mark:r("mark"),menu:r("menu"),menuitem:r("menuitem"),meta:r("meta"),meter:r("meter"),nav:r("nav"),noscript:r("noscript"),object:r("object"),ol:r("ol"),optgroup:r("optgroup"),option:r("option"),output:r("output"),p:r("p"),param:r("param"),picture:r("picture"),pre:r("pre"),progress:r("progress"),q:r("q"),rp:r("rp"),rt:r("rt"),ruby:r("ruby"),s:r("s"),samp:r("samp"),script:r("script"),section:r("section"),select:r("select"),small:r("small"),source:r("source"),span:r("span"),strong:r("strong"),style:r("style"),sub:r("sub"),summary:r("summary"),sup:r("sup"),table:r("table"),tbody:r("tbody"),td:r("td"),textarea:r("textarea"),tfoot:r("tfoot"),th:r("th"),thead:r("thead"),time:r("time"),title:r("title"),tr:r("tr"),track:r("track"),u:r("u"),ul:r("ul"),var:r("var"),video:r("video"),wbr:r("wbr"),circle:r("circle"),clipPath:r("clipPath"),defs:r("defs"),ellipse:r("ellipse"),g:r("g"),image:r("image"),line:r("line"),linearGradient:r("linearGradient"),mask:r("mask"),path:r("path"),pattern:r("pattern"),polygon:r("polygon"),polyline:r("polyline"),radialGradient:r("radialGradient"),rect:r("rect"),stop:r("stop"),svg:r("svg"),text:r("text"),tspan:r("tspan")};e.exports=o},function(e,t,n){"use strict";var r=n(15).isValidElement,o=n(57);e.exports=o(r)},function(e,t,n){"use strict";var r=n(8),o=n(0),i=n(2),a=n(3),s=n(103),u=n(104);e.exports=function(e,t){var n="function"==typeof Symbol&&Symbol.iterator,l="@@iterator";var c="<<anonymous>>",p={array:m("array"),bool:m("boolean"),func:m("function"),number:m("number"),object:m("object"),string:m("string"),symbol:m("symbol"),any:h(r.thatReturnsNull),arrayOf:function(e){return h(function(t,n,r,o,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside arrayOf.");var a=t[n];if(!Array.isArray(a)){var u=g(a);return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an array.")}for(var l=0;l<a.length;l++){var c=e(a,l,r,o,i+"["+l+"]",s);if(c instanceof Error)return c}return null})},element:function(){return h(function(t,n,r,o,i){var a=t[n];if(!e(a)){var s=g(a);return new f("Invalid "+o+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected a single ReactElement.")}return null})}(),instanceOf:function(e){return h(function(t,n,r,o,i){if(!(t[n]instanceof e)){var a=e.name||c,s=function(e){if(!e.constructor||!e.constructor.name)return c;return e.constructor.name}(t[n]);return new f("Invalid "+o+" `"+i+"` of type `"+s+"` supplied to `"+r+"`, expected instance of `"+a+"`.")}return null})},node:function(){return h(function(e,t,n,r,o){if(!v(e[t]))return new f("Invalid "+r+" `"+o+"` supplied to `"+n+"`, expected a ReactNode.");return null})}(),objectOf:function(e){return h(function(t,n,r,o,i){if("function"!=typeof e)return new f("Property `"+i+"` of component `"+r+"` has invalid PropType notation inside objectOf.");var a=t[n],u=g(a);if("object"!==u)return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected an object.");for(var l in a)if(a.hasOwnProperty(l)){var c=e(a,l,r,o,i+"."+l,s);if(c instanceof Error)return c}return null})},oneOf:function(e){if(!Array.isArray(e))return r.thatReturnsNull;return h(function(t,n,r,o,i){for(var a=t[n],s=0;s<e.length;s++)if(d(a,e[s]))return null;var u=JSON.stringify(e);return new f("Invalid "+o+" `"+i+"` of value `"+a+"` supplied to `"+r+"`, expected one of "+u+".")})},oneOfType:function(e){if(!Array.isArray(e))return r.thatReturnsNull;for(var t=0;t<e.length;t++){var n=e[t];if("function"!=typeof n)return i(!1,"Invalid argument supplied to oneOfType. Expected an array of check functions, but received %s at index %s.",_(n),t),r.thatReturnsNull}return h(function(t,n,r,o,i){for(var a=0;a<e.length;a++){var u=e[a];if(null==u(t,n,r,o,i,s))return null}return new f("Invalid "+o+" `"+i+"` supplied to `"+r+"`.")})},shape:function(e){return h(function(t,n,r,o,i){var a=t[n],u=g(a);if("object"!==u)return new f("Invalid "+o+" `"+i+"` of type `"+u+"` supplied to `"+r+"`, expected `object`.");for(var l in e){var c=e[l];if(c){var p=c(a,l,r,o,i+"."+l,s);if(p)return p}}return null})},exact:function(e){return h(function(t,n,r,o,i){var u=t[n],l=g(u);if("object"!==l)return new f("Invalid "+o+" `"+i+"` of type `"+l+"` supplied to `"+r+"`, expected `object`.");var c=a({},t[n],e);for(var p in c){var d=e[p];if(!d)return new f("Invalid "+o+" `"+i+"` key `"+p+"` supplied to `"+r+"`.\nBad object: "+JSON.stringify(t[n],null," ")+"\nValid keys: "+JSON.stringify(Object.keys(e),null," "));var h=d(u,p,r,o,i+"."+p,s);if(h)return h}return null})}};function d(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}function f(e){this.message=e,this.stack=""}function h(e){function n(n,r,i,a,u,l,p){(a=a||c,l=l||i,p!==s)&&(t&&o(!1,"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"));return null==r[i]?n?null===r[i]?new f("The "+u+" `"+l+"` is marked as required in `"+a+"`, but its value is `null`."):new f("The "+u+" `"+l+"` is marked as required in `"+a+"`, but its value is `undefined`."):null:e(r,i,a,u,l)}var r=n.bind(null,!1);return r.isRequired=n.bind(null,!0),r}function m(e){return h(function(t,n,r,o,i,a){var s=t[n];return g(s)!==e?new f("Invalid "+o+" `"+i+"` of type `"+y(s)+"` supplied to `"+r+"`, expected `"+e+"`."):null})}function v(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(v);if(null===t||e(t))return!0;var r=function(e){var t=e&&(n&&e[n]||e[l]);if("function"==typeof t)return t}(t);if(!r)return!1;var o,i=r.call(t);if(r!==t.entries){for(;!(o=i.next()).done;)if(!v(o.value))return!1}else for(;!(o=i.next()).done;){var a=o.value;if(a&&!v(a[1]))return!1}return!0;default:return!1}}function g(e){var t=typeof e;return Array.isArray(e)?"array":e instanceof RegExp?"object":function(e,t){return"symbol"===e||"Symbol"===t["@@toStringTag"]||"function"==typeof Symbol&&t instanceof Symbol}(t,e)?"symbol":t}function y(e){if(null==e)return""+e;var t=g(e);if("object"===t){if(e instanceof Date)return"date";if(e instanceof RegExp)return"regexp"}return t}function _(e){var t=y(e);switch(t){case"array":case"object":return"an "+t;case"boolean":case"date":case"regexp":return"a "+t;default:return t}}return f.prototype=Error.prototype,p.checkPropTypes=u,p.PropTypes=p,p}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){}},function(e,t,n){"use strict";e.exports="15.6.2"},function(e,t,n){"use strict";var r=n(53).Component,o=n(15).isValidElement,i=n(54),a=n(107);e.exports=a(r,o,i)},function(e,t,n){"use strict";var r=n(3),o=n(19),i=n(0),a="mixins";e.exports=function(e,t,n){var s=[],u={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",updateComponent:"OVERRIDE_BASE"},l={displayName:function(e,t){e.displayName=t},mixins:function(e,t){if(t)for(var n=0;n<t.length;n++)p(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=f(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)for(var n in t){var r=t[n];if(t.hasOwnProperty(n)){var o=n in l;i(!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;i(!a,"ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.",n),e[n]=r}}}(e,t)},autobind:function(){}};function c(e,t){var n=u.hasOwnProperty(t)?u[t]:null;y.hasOwnProperty(t)&&i("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&&i("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 p(e,n){if(n){i("function"!=typeof n,"ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object."),i(!t(n),"ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");var r=e.prototype,o=r.__reactAutoBindPairs;for(var s in n.hasOwnProperty(a)&&l.mixins(e,n.mixins),n)if(n.hasOwnProperty(s)&&s!==a){var p=n[s],d=r.hasOwnProperty(s);if(c(d,s),l.hasOwnProperty(s))l[s](e,p);else{var m=u.hasOwnProperty(s);if("function"!=typeof p||m||d||!1===n.autobind)if(d){var v=u[s];i(m&&("DEFINE_MANY_MERGED"===v||"DEFINE_MANY"===v),"ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.",v,s),"DEFINE_MANY_MERGED"===v?r[s]=f(r[s],p):"DEFINE_MANY"===v&&(r[s]=h(r[s],p))}else r[s]=p;else o.push(s,p),r[s]=p}}}}function d(e,t){for(var n in i(e&&t&&"object"==typeof e&&"object"==typeof t,"mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects."),t)t.hasOwnProperty(n)&&(i(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 d(o,n),d(o,r),o}}function h(e,t){return function(){e.apply(this,arguments),t.apply(this,arguments)}}function m(e,t){return t.bind(e)}var v={componentDidMount:function(){this.__isMounted=!0}},g={componentWillUnmount:function(){this.__isMounted=!1}},y={replaceState:function(e,t){this.updater.enqueueReplaceState(this,e,t)},isMounted:function(){return!!this.__isMounted}},_=function(){};return r(_.prototype,e.prototype,y),function(e){var t=function(e,r,a){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]=m(e,o)}}(this),this.props=e,this.context=r,this.refs=o,this.updater=a||n,this.state=null;var s=this.getInitialState?this.getInitialState():null;i("object"==typeof s&&!Array.isArray(s),"%s.getInitialState(): must return an object or null",t.displayName||"ReactCompositeComponent"),this.state=s};for(var r in t.prototype=new _,t.prototype.constructor=t,t.prototype.__reactAutoBindPairs=[],s.forEach(p.bind(null,t)),p(t,v),p(t,e),p(t,g),t.getDefaultProps&&(t.defaultProps=t.getDefaultProps()),i(t.prototype.render,"createClass(...): Class specification must implement a `render` method."),u)t.prototype[r]||(t.prototype[r]=null);return t}}},function(e,t,n){"use strict";var r=n(18),o=n(15);n(0);e.exports=function(e){return o.isValidElement(e)||r("143"),e}},function(e,t,n){"use strict";var r=n(4),o=n(59),i=n(83),a=n(14),s=n(9),u=n(86),l=n(177),c=n(87),p=n(178);n(2);o.inject();var d={findDOMNode:l,render:i.render,unmountComponentAtNode:i.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=c(e)),e?r.getNodeFromInstance(e):null}},Mount:i,Reconciler:a}),e.exports=d},function(e,t,n){"use strict";e.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:{}}},function(e,t,n){"use strict";var r=n(20),o=n(5),i=n(112),a=n(113),s=n(114),u=[9,13,27,32],l=229,c=o.canUseDOM&&"CompositionEvent"in window,p=null;o.canUseDOM&&"documentMode"in document&&(p=document.documentMode);var d,f=o.canUseDOM&&"TextEvent"in window&&!p&&!("object"==typeof(d=window.opera)&&"function"==typeof d.version&&parseInt(d.version(),10)<=12),h=o.canUseDOM&&(!c||p&&p>8&&p<=11);var m=32,v=String.fromCharCode(m),g={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"]}},y=!1;function _(e,t){switch(e){case"topKeyUp":return-1!==u.indexOf(t.keyCode);case"topKeyDown":return t.keyCode!==l;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function b(e){var t=e.detail;return"object"==typeof t&&"data"in t?t.data:null}var E=null;function C(e,t,n,o){var s,u;if(c?s=function(e){switch(e){case"topCompositionStart":return g.compositionStart;case"topCompositionEnd":return g.compositionEnd;case"topCompositionUpdate":return g.compositionUpdate}}(e):E?_(e,n)&&(s=g.compositionEnd):function(e,t){return"topKeyDown"===e&&t.keyCode===l}(e,n)&&(s=g.compositionStart),!s)return null;h&&(E||s!==g.compositionStart?s===g.compositionEnd&&E&&(u=E.getData()):E=i.getPooled(o));var p=a.getPooled(s,t,n,o);if(u)p.data=u;else{var d=b(n);null!==d&&(p.data=d)}return r.accumulateTwoPhaseDispatches(p),p}function w(e,t,n,o){var a;if(!(a=f?function(e,t){switch(e){case"topCompositionEnd":return b(t);case"topKeyPress":return t.which!==m?null:(y=!0,v);case"topTextInput":var n=t.data;return n===v&&y?null:n;default:return null}}(e,n):function(e,t){if(E){if("topCompositionEnd"===e||!c&&_(e,t)){var n=E.getData();return i.release(E),E=null,n}return null}switch(e){case"topPaste":return null;case"topKeyPress":return t.which&&!function(e){return(e.ctrlKey||e.altKey||e.metaKey)&&!(e.ctrlKey&&e.altKey)}(t)?String.fromCharCode(t.which):null;case"topCompositionEnd":return h?null:t.data;default:return null}}(e,n)))return null;var u=s.getPooled(g.beforeInput,t,n,o);return u.data=a,r.accumulateTwoPhaseDispatches(u),u}var x={eventTypes:g,extractEvents:function(e,t,n,r){return[C(e,t,n,r),w(e,t,n,r)]}};e.exports=x},function(e,t,n){"use strict";var r=n(3),o=n(13),i=n(62);function a(e){this._root=e,this._startText=this.getText(),this._fallbackText=null}r(a.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(),i=o.length;for(e=0;e<r&&n[e]===o[e];e++);var a=r-e;for(t=1;t<=a&&n[r-t]===o[i-t];t++);var s=t>1?1-t:void 0;return this._fallbackText=o.slice(e,s),this._fallbackText}}),o.addPoolingTo(a),e.exports=a},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{data:null}),e.exports=o},function(e,t,n){"use strict";var r=n(21),o=n(20),i=n(5),a=n(4),s=n(9),u=n(11),l=n(65),c=n(34),p=n(35),d=n(66),f={change:{phasedRegistrationNames:{bubbled:"onChange",captured:"onChangeCapture"},dependencies:["topBlur","topChange","topClick","topFocus","topInput","topKeyDown","topKeyUp","topSelectionChange"]}};function h(e,t,n){var r=u.getPooled(f.change,e,t,n);return r.type="change",o.accumulateTwoPhaseDispatches(r),r}var m=null,v=null;var g=!1;function y(e){var t=h(v,e,c(e));s.batchedUpdates(_,t)}function _(e){r.enqueueEvents(e),r.processEventQueue(!1)}function b(){m&&(m.detachEvent("onchange",y),m=null,v=null)}function E(e,t){var n=l.updateValueIfChanged(e),r=!0===t.simulated&&M._allowSimulatedPassThrough;if(n||r)return e}function C(e,t){if("topChange"===e)return t}function w(e,t,n){"topFocus"===e?(b(),function(e,t){v=t,(m=e).attachEvent("onchange",y)}(t,n)):"topBlur"===e&&b()}i.canUseDOM&&(g=p("change")&&(!document.documentMode||document.documentMode>8));var x=!1;function T(){m&&(m.detachEvent("onpropertychange",k),m=null,v=null)}function k(e){"value"===e.propertyName&&E(v,e)&&y(e)}function S(e,t,n){"topFocus"===e?(T(),function(e,t){v=t,(m=e).attachEvent("onpropertychange",k)}(t,n)):"topBlur"===e&&T()}function I(e,t,n){if("topSelectionChange"===e||"topKeyUp"===e||"topKeyDown"===e)return E(v,n)}function P(e,t,n){if("topClick"===e)return E(t,n)}function N(e,t,n){if("topInput"===e||"topChange"===e)return E(t,n)}i.canUseDOM&&(x=p("input")&&(!document.documentMode||document.documentMode>9));var M={eventTypes:f,_allowSimulatedPassThrough:!0,_isInputEventSupported:x,extractEvents:function(e,t,n,r){var o,i,s,u,l=t?a.getNodeFromInstance(t):window;if("select"===(u=(s=l).nodeName&&s.nodeName.toLowerCase())||"input"===u&&"file"===s.type?g?o=C:i=w:d(l)?x?o=N:(o=I,i=S):function(e){var t=e.nodeName;return t&&"input"===t.toLowerCase()&&("checkbox"===e.type||"radio"===e.type)}(l)&&(o=P),o){var c=o(e,t,n);if(c)return h(c,n,r)}i&&i(e,l,t),"topBlur"===e&&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)}}}(t,l)}};e.exports=M},function(e,t,n){"use strict";var r=n(117),o={};o.attachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(t.getPublicInstance()):r.addComponentAsRefTo(t,e,n)}(n,e,t._owner)}},o.shouldUpdateRefs=function(e,t){var n=null,r=null;null!==e&&"object"==typeof e&&(n=e.ref,r=e._owner);var o=null,i=null;return null!==t&&"object"==typeof t&&(o=t.ref,i=t._owner),n!==o||"string"==typeof o&&i!==r},o.detachRefs=function(e,t){if(null!==t&&"object"==typeof t){var n=t.ref;null!=n&&function(e,t,n){"function"==typeof e?e(null):r.removeComponentAsRefFrom(t,e,n)}(n,e,t._owner)}},e.exports=o},function(e,t,n){"use strict";var r=n(1);n(0);function o(e){return!(!e||"function"!=typeof e.attachRef||"function"!=typeof e.detachRef)}var i={addComponentAsRefTo:function(e,t,n){o(n)||r("119"),n.attachRef(t,e)},removeComponentAsRefFrom:function(e,t,n){o(n)||r("120");var i=n.getPublicInstance();i&&i.refs[t]===e.getPublicInstance()&&n.detachRef(t)}};e.exports=i},function(e,t,n){"use strict";e.exports=["ResponderEventPlugin","SimpleEventPlugin","TapEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin"]},function(e,t,n){"use strict";var r=n(20),o=n(4),i=n(25),a={mouseEnter:{registrationName:"onMouseEnter",dependencies:["topMouseOut","topMouseOver"]},mouseLeave:{registrationName:"onMouseLeave",dependencies:["topMouseOut","topMouseOver"]}},s={eventTypes:a,extractEvents:function(e,t,n,s){if("topMouseOver"===e&&(n.relatedTarget||n.fromElement))return null;if("topMouseOut"!==e&&"topMouseOver"!==e)return null;var u,l,c;if(s.window===s)u=s;else{var p=s.ownerDocument;u=p?p.defaultView||p.parentWindow:window}if("topMouseOut"===e){l=t;var d=n.relatedTarget||n.toElement;c=d?o.getClosestInstanceFromNode(d):null}else l=null,c=t;if(l===c)return null;var f=null==l?u:o.getNodeFromInstance(l),h=null==c?u:o.getNodeFromInstance(c),m=i.getPooled(a.mouseLeave,l,n,s);m.type="mouseleave",m.target=f,m.relatedTarget=h;var v=i.getPooled(a.mouseEnter,c,n,s);return v.type="mouseenter",v.target=h,v.relatedTarget=f,r.accumulateEnterLeaveDispatches(m,v,l,c),[m,v]}};e.exports=s},function(e,t,n){"use strict";var r=n(16),o=r.injection.MUST_USE_PROPERTY,i=r.injection.HAS_BOOLEAN_VALUE,a=r.injection.HAS_NUMERIC_VALUE,s=r.injection.HAS_POSITIVE_NUMERIC_VALUE,u=r.injection.HAS_OVERLOADED_BOOLEAN_VALUE,l={isCustomAttribute:RegExp.prototype.test.bind(new RegExp("^(data|aria)-["+r.ATTRIBUTE_NAME_CHAR+"]*$")),Properties:{accept:0,acceptCharset:0,accessKey:0,action:0,allowFullScreen:i,allowTransparency:0,alt:0,as:0,async:i,autoComplete:0,autoPlay:i,capture:i,cellPadding:0,cellSpacing:0,charSet:0,challenge:0,checked:o|i,cite:0,classID:0,className:0,cols:s,colSpan:0,content:0,contentEditable:0,contextMenu:0,controls:i,controlsList:0,coords:0,crossOrigin:0,data:0,dateTime:0,default:i,defer:i,dir:0,disabled:i,download:u,draggable:0,encType:0,form:0,formAction:0,formEncType:0,formMethod:0,formNoValidate:i,formTarget:0,frameBorder:0,headers:0,height:0,hidden:i,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:i,low:0,manifest:0,marginHeight:0,marginWidth:0,max:0,maxLength:0,media:0,mediaGroup:0,method:0,min:0,minLength:0,multiple:o|i,muted:o|i,name:0,nonce:0,noValidate:i,open:i,optimum:0,pattern:0,placeholder:0,playsInline:i,poster:0,preload:0,profile:0,radioGroup:0,readOnly:i,referrerPolicy:0,rel:0,required:i,reversed:i,role:0,rows:s,rowSpan:a,sandbox:0,scope:0,scoped:i,scrolling:0,seamless:i,selected:o|i,shape:0,size:s,sizes:0,span:s,spellCheck:0,src:0,srcDoc:0,srcLang:0,srcSet:0,start:a,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:i,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.setAttribute("value",""+t):e.validity&&!e.validity.badInput&&e.ownerDocument.activeElement!==e&&e.setAttribute("value",""+t)}}};e.exports=l},function(e,t,n){"use strict";var r=n(37),o={processChildrenUpdates:n(126).dangerouslyProcessChildrenUpdates,replaceNodeWithMarkup:r.dangerouslyReplaceNodeWithMarkup};e.exports=o},function(e,t,n){"use strict";var r=n(1),o=n(17),i=n(5),a=n(123),s=n(8),u=(n(0),{dangerouslyReplaceNodeWithMarkup:function(e,t){if(i.canUseDOM||r("56"),t||r("57"),"HTML"===e.nodeName&&r("58"),"string"==typeof t){var n=a(t,s)[0];e.parentNode.replaceChild(n,e)}else o.replaceChildWithTree(e,t)}});e.exports=u},function(e,t,n){"use strict";var r=n(5),o=n(124),i=n(125),a=n(0),s=r.canUseDOM?document.createElement("div"):null,u=/^\s*<(\w+)/;e.exports=function(e,t){var n=s;s||a(!1);var r=function(e){var t=e.match(u);return t&&t[1].toLowerCase()}(e),l=r&&i(r);if(l){n.innerHTML=l[1]+e+l[2];for(var c=l[0];c--;)n=n.lastChild}else n.innerHTML=e;var p=n.getElementsByTagName("script");p.length&&(t||a(!1),o(p).forEach(t));for(var d=Array.from(n.childNodes);n.lastChild;)n.removeChild(n.lastChild);return d}},function(e,t,n){"use strict";var r=n(0);e.exports=function(e){return function(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)}(e)?Array.isArray(e)?e.slice():function(e){var t=e.length;if((Array.isArray(e)||"object"!=typeof e&&"function"!=typeof e)&&r(!1),"number"!=typeof t&&r(!1),0===t||t-1 in e||r(!1),"function"==typeof e.callee&&r(!1),e.hasOwnProperty)try{return Array.prototype.slice.call(e)}catch(e){}for(var n=Array(t),o=0;o<t;o++)n[o]=e[o];return n}(e):[e]}},function(e,t,n){"use strict";var r=n(5),o=n(0),i=r.canUseDOM?document.createElement("div"):null,a={},s=[1,'<select multiple="true">',"</select>"],u=[1,"<table>","</table>"],l=[3,"<table><tbody><tr>","</tr></tbody></table>"],c=[1,'<svg xmlns="http://www.w3.org/2000/svg">',"</svg>"],p={"*":[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:s,option:s,caption:u,colgroup:u,tbody:u,tfoot:u,thead:u,td:l,th:l};["circle","clipPath","defs","ellipse","g","image","line","linearGradient","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","text","tspan"].forEach(function(e){p[e]=c,a[e]=!0}),e.exports=function(e){return i||o(!1),p.hasOwnProperty(e)||(e="*"),a.hasOwnProperty(e)||(i.innerHTML="*"===e?"<link />":"<"+e+"></"+e+">",a[e]=!i.firstChild),a[e]?p[e]:null}},function(e,t,n){"use strict";var r=n(37),o=n(4),i={dangerouslyProcessChildrenUpdates:function(e,t){var n=o.getNodeFromInstance(e);r.processUpdates(n,t)}};e.exports=i},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(128),a=n(129),s=n(17),u=n(38),l=n(16),c=n(71),p=n(21),d=n(31),f=n(28),h=n(58),m=n(4),v=n(139),g=n(141),y=n(72),_=n(142),b=(n(6),n(143)),E=n(78),C=(n(8),n(27)),w=(n(0),n(35),n(43),n(65)),x=(n(47),n(2),h),T=p.deleteListener,k=m.getNodeFromInstance,S=f.listenTo,I=d.registrationNameModules,P={string:!0,number:!0},N="__html",M={children:null,dangerouslySetInnerHTML:null,suppressContentEditableWarning:null},O=11;function R(e,t){t&&(H[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&&N in t.dangerouslySetInnerHTML||r("61")),null!=t.style&&"object"!=typeof t.style&&r("62",function(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""}(e)))}function A(e,t,n,r){if(!(r instanceof E)){0;var o=e._hostContainerInfo,i=o._node&&o._node.nodeType===O?o._node:o._ownerDocument;S(t,i),r.getReactMountReady().enqueue(L,{inst:e,registrationName:t,listener:n})}}function L(){p.putListener(this.inst,this.registrationName,this.listener)}function D(){v.postMountWrapper(this)}function U(){_.postMountWrapper(this)}function j(){g.postMountWrapper(this)}var F={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 B(){w.track(this)}function W(){this._rootNodeID||r("63");var e=k(this);switch(e||r("64"),this._tag){case"iframe":case"object":this._wrapperState.listeners=[f.trapBubbledEvent("topLoad","load",e)];break;case"video":case"audio":for(var t in this._wrapperState.listeners=[],F)F.hasOwnProperty(t)&&this._wrapperState.listeners.push(f.trapBubbledEvent(t,F[t],e));break;case"source":this._wrapperState.listeners=[f.trapBubbledEvent("topError","error",e)];break;case"img":this._wrapperState.listeners=[f.trapBubbledEvent("topError","error",e),f.trapBubbledEvent("topLoad","load",e)];break;case"form":this._wrapperState.listeners=[f.trapBubbledEvent("topReset","reset",e),f.trapBubbledEvent("topSubmit","submit",e)];break;case"input":case"select":case"textarea":this._wrapperState.listeners=[f.trapBubbledEvent("topInvalid","invalid",e)]}}function z(){y.postUpdateWrapper(this)}var q={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},V={listing:!0,pre:!0,textarea:!0},H=o({menuitem:!0},q),Y=/^[a-zA-Z][a-zA-Z:_\.\-\d]*$/,K={},G={}.hasOwnProperty;function X(e,t){return e.indexOf("-")>=0||null!=t.is}var Q=1;function $(e){var t=e.type;!function(e){G.call(K,e)||(Y.test(e)||r("65",e),K[e]=!0)}(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}$.displayName="ReactDOMComponent",$.Mixin={mountComponent:function(e,t,n,r){this._rootNodeID=Q++,this._domID=n._idCounter++,this._hostParent=t,this._hostContainerInfo=n;var o,a,l,p=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(W,this);break;case"input":v.mountWrapper(this,p,t),p=v.getHostProps(this,p),e.getReactMountReady().enqueue(B,this),e.getReactMountReady().enqueue(W,this);break;case"option":g.mountWrapper(this,p,t),p=g.getHostProps(this,p);break;case"select":y.mountWrapper(this,p,t),p=y.getHostProps(this,p),e.getReactMountReady().enqueue(W,this);break;case"textarea":_.mountWrapper(this,p,t),p=_.getHostProps(this,p),e.getReactMountReady().enqueue(B,this),e.getReactMountReady().enqueue(W,this)}if(R(this,p),null!=t?(o=t._namespaceURI,a=t._tag):n._tag&&(o=n._namespaceURI,a=n._tag),(null==o||o===u.svg&&"foreignobject"===a)&&(o=u.html),o===u.html&&("svg"===this._tag?o=u.svg:"math"===this._tag&&(o=u.mathml)),this._namespaceURI=o,e.useCreateElement){var d,f=n._ownerDocument;if(o===u.html)if("script"===this._tag){var h=f.createElement("div"),b=this._currentElement.type;h.innerHTML="<"+b+"></"+b+">",d=h.removeChild(h.firstChild)}else d=p.is?f.createElement(this._currentElement.type,p.is):f.createElement(this._currentElement.type);else d=f.createElementNS(o,this._currentElement.type);m.precacheNode(this,d),this._flags|=x.hasCachedChildNodes,this._hostParent||c.setAttributeForRoot(d),this._updateDOMProperties(null,p,e);var E=s(d);this._createInitialChildren(e,p,r,E),l=E}else{var C=this._createOpenTagMarkupAndPutListeners(e,p),w=this._createContentMarkup(e,p,r);l=!w&&q[this._tag]?C+"/>":C+">"+w+"</"+this._currentElement.type+">"}switch(this._tag){case"input":e.getReactMountReady().enqueue(D,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"textarea":e.getReactMountReady().enqueue(U,this),p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"select":case"button":p.autoFocus&&e.getReactMountReady().enqueue(i.focusDOMComponent,this);break;case"option":e.getReactMountReady().enqueue(j,this)}return l},_createOpenTagMarkupAndPutListeners:function(e,t){var n="<"+this._currentElement.type;for(var r in t)if(t.hasOwnProperty(r)){var i=t[r];if(null!=i)if(I.hasOwnProperty(r))i&&A(this,r,i,e);else{"style"===r&&(i&&(i=this._previousStyleCopy=o({},t.style)),i=a.createMarkupForStyles(i,this));var s=null;null!=this._tag&&X(this._tag,t)?M.hasOwnProperty(r)||(s=c.createMarkupForCustomAttribute(r,i)):s=c.createMarkupForProperty(r,i),s&&(n+=" "+s)}}return e.renderToStaticMarkup?n:(this._hostParent||(n+=" "+c.createMarkupForRoot()),n+=" "+c.createMarkupForID(this._domID))},_createContentMarkup:function(e,t,n){var r="",o=t.dangerouslySetInnerHTML;if(null!=o)null!=o.__html&&(r=o.__html);else{var i=P[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)r=C(i);else if(null!=a){r=this.mountChildren(a,e,n).join("")}}return V[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&&s.queueHTML(r,o.__html);else{var i=P[typeof t.children]?t.children:null,a=null!=i?null:t.children;if(null!=i)""!==i&&s.queueText(r,i);else if(null!=a)for(var u=this.mountChildren(a,e,n),l=0;l<u.length;l++)s.queueChild(r,u[l])}},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,i=this._currentElement.props;switch(this._tag){case"input":o=v.getHostProps(this,o),i=v.getHostProps(this,i);break;case"option":o=g.getHostProps(this,o),i=g.getHostProps(this,i);break;case"select":o=y.getHostProps(this,o),i=y.getHostProps(this,i);break;case"textarea":o=_.getHostProps(this,o),i=_.getHostProps(this,i)}switch(R(this,i),this._updateDOMProperties(o,i,e),this._updateDOMChildren(o,i,e,r),this._tag){case"input":v.updateWrapper(this),w.updateValueIfChanged(this);break;case"textarea":_.updateWrapper(this);break;case"select":e.getReactMountReady().enqueue(z,this)}},_updateDOMProperties:function(e,t,n){var r,i,s;for(r in e)if(!t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&null!=e[r])if("style"===r){var u=this._previousStyleCopy;for(i in u)u.hasOwnProperty(i)&&((s=s||{})[i]="");this._previousStyleCopy=null}else I.hasOwnProperty(r)?e[r]&&T(this,r):X(this._tag,e)?M.hasOwnProperty(r)||c.deleteValueForAttribute(k(this),r):(l.properties[r]||l.isCustomAttribute(r))&&c.deleteValueForProperty(k(this),r);for(r in t){var p=t[r],d="style"===r?this._previousStyleCopy:null!=e?e[r]:void 0;if(t.hasOwnProperty(r)&&p!==d&&(null!=p||null!=d))if("style"===r)if(p?p=this._previousStyleCopy=o({},p):this._previousStyleCopy=null,d){for(i in d)!d.hasOwnProperty(i)||p&&p.hasOwnProperty(i)||((s=s||{})[i]="");for(i in p)p.hasOwnProperty(i)&&d[i]!==p[i]&&((s=s||{})[i]=p[i])}else s=p;else if(I.hasOwnProperty(r))p?A(this,r,p,n):d&&T(this,r);else if(X(this._tag,t))M.hasOwnProperty(r)||c.setValueForAttribute(k(this),r,p);else if(l.properties[r]||l.isCustomAttribute(r)){var f=k(this);null!=p?c.setValueForProperty(f,r,p):c.deleteValueForProperty(f,r)}}s&&a.setValueForStyles(k(this),s,this)},_updateDOMChildren:function(e,t,n,r){var o=P[typeof e.children]?e.children:null,i=P[typeof t.children]?t.children:null,a=e.dangerouslySetInnerHTML&&e.dangerouslySetInnerHTML.__html,s=t.dangerouslySetInnerHTML&&t.dangerouslySetInnerHTML.__html,u=null!=o?null:e.children,l=null!=i?null:t.children,c=null!=o||null!=a,p=null!=i||null!=s;null!=u&&null==l?this.updateChildren(null,n,r):c&&!p&&this.updateTextContent(""),null!=i?o!==i&&this.updateTextContent(""+i):null!=s?a!==s&&this.updateMarkup(""+s):null!=l&&this.updateChildren(l,n,r)},getHostNode:function(){return k(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":w.stopTracking(this);break;case"html":case"head":case"body":r("66",this._tag)}this.unmountChildren(e),m.uncacheNode(this),p.deleteAllListeners(this),this._rootNodeID=0,this._domID=0,this._wrapperState=null},getPublicInstance:function(){return k(this)}},o($.prototype,$.Mixin,b.Mixin),e.exports=$},function(e,t,n){"use strict";var r=n(4),o=n(69),i={focusDOMComponent:function(){o(r.getNodeFromInstance(this))}};e.exports=i},function(e,t,n){"use strict";var r=n(70),o=n(5),i=(n(6),n(130),n(132)),a=n(133),s=n(135),u=(n(2),s(function(e){return a(e)})),l=!1,c="cssFloat";if(o.canUseDOM){var p=document.createElement("div").style;try{p.font=""}catch(e){l=!0}void 0===document.documentElement.style.cssFloat&&(c="styleFloat")}var d={createMarkupForStyles:function(e,t){var n="";for(var r in e)if(e.hasOwnProperty(r)){var o=0===r.indexOf("--"),a=e[r];0,null!=a&&(n+=u(r)+":",n+=i(r,a,t,o)+";")}return n||null},setValueForStyles:function(e,t,n){var o=e.style;for(var a in t)if(t.hasOwnProperty(a)){var s=0===a.indexOf("--");0;var u=i(a,t[a],n,s);if("float"!==a&&"cssFloat"!==a||(a=c),s)o.setProperty(a,u);else if(u)o[a]=u;else{var p=l&&r.shorthandPropertyExpansions[a];if(p)for(var d in p)o[d]="";else o[a]=""}}}};e.exports=d},function(e,t,n){"use strict";var r=n(131),o=/^-ms-/;e.exports=function(e){return r(e.replace(o,"ms-"))}},function(e,t,n){"use strict";var r=/-(.)/g;e.exports=function(e){return e.replace(r,function(e,t){return t.toUpperCase()})}},function(e,t,n){"use strict";var r=n(70),o=(n(2),r.isUnitlessNumber);e.exports=function(e,t,n,r){if(null==t||"boolean"==typeof t||""===t)return"";var i=isNaN(t);return r||i||0===t||o.hasOwnProperty(e)&&o[e]?""+t:("string"==typeof t&&(t=t.trim()),t+"px")}},function(e,t,n){"use strict";var r=n(134),o=/^ms-/;e.exports=function(e){return r(e).replace(o,"-ms-")}},function(e,t,n){"use strict";var r=/([A-Z])/g;e.exports=function(e){return e.replace(r,"-$1").toLowerCase()}},function(e,t,n){"use strict";e.exports=function(e){var t={};return function(n){return t.hasOwnProperty(n)||(t[n]=e.call(this,n)),t[n]}}},function(e,t,n){"use strict";var r=n(27);e.exports=function(e){return'"'+r(e)+'"'}},function(e,t,n){"use strict";var r=n(21);var o={handleTopLevel:function(e,t,n,o){!function(e){r.enqueueEvents(e),r.processEventQueue(!1)}(r.extractEvents(e,t,n,o))}};e.exports=o},function(e,t,n){"use strict";var r=n(5);function o(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 i={animationend:o("Animation","AnimationEnd"),animationiteration:o("Animation","AnimationIteration"),animationstart:o("Animation","AnimationStart"),transitionend:o("Transition","TransitionEnd")},a={},s={};r.canUseDOM&&(s=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),e.exports=function(e){if(a[e])return a[e];if(!i[e])return e;var t=i[e];for(var n in t)if(t.hasOwnProperty(n)&&n in s)return a[e]=t[n];return""}},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(71),a=n(40),s=n(4),u=n(9);n(0),n(2);function l(){this._rootNodeID&&p.updateWrapper(this)}function c(e){return"checkbox"===e.type||"radio"===e.type?null!=e.checked:null!=e.value}var p={getHostProps:function(e,t){var n=a.getValue(t),r=a.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:d.bind(e),controlled:c(t)}},updateWrapper:function(e){var t=e._currentElement.props,n=t.checked;null!=n&&i.setValueForProperty(s.getNodeFromInstance(e),"checked",n||!1);var r=s.getNodeFromInstance(e),o=a.getValue(t);if(null!=o)if(0===o&&""===r.value)r.value="0";else if("number"===t.type){var u=parseFloat(r.value,10)||0;(o!=u||o==u&&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=s.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)}};function d(e){var t=this._currentElement.props,n=a.executeOnChange(t,e);u.asap(l,this);var o=t.name;if("radio"===t.type&&null!=o){for(var i=s.getNodeFromInstance(this),c=i;c.parentNode;)c=c.parentNode;for(var p=c.querySelectorAll("input[name="+JSON.stringify(""+o)+'][type="radio"]'),d=0;d<p.length;d++){var f=p[d];if(f!==i&&f.form===i.form){var h=s.getInstanceFromNode(f);h||r("90"),u.asap(l,h)}}}return n}e.exports=p},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){"use strict";var r=n(3),o=n(12),i=n(4),a=n(72),s=(n(2),!1);function u(e){var t="";return o.Children.forEach(e,function(e){null!=e&&("string"==typeof e||"number"==typeof e?t+=e:s||(s=!0))}),t}var l={mountWrapper:function(e,t,n){var r=null;if(null!=n){var o=n;"optgroup"===o._tag&&(o=o._hostParent),null!=o&&"select"===o._tag&&(r=a.getSelectValueContext(o))}var i,s=null;if(null!=r)if(i=null!=t.value?t.value+"":u(t.children),s=!1,Array.isArray(r)){for(var l=0;l<r.length;l++)if(""+r[l]===i){s=!0;break}}else s=""+r===i;e._wrapperState={selected:s}},postMountWrapper:function(e){var t=e._currentElement.props;null!=t.value&&i.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);var o=u(t.children);return o&&(n.children=o),n}};e.exports=l},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(40),a=n(4),s=n(9);n(0),n(2);function u(){this._rootNodeID&&l.updateWrapper(this)}var l={getHostProps:function(e,t){return null!=t.dangerouslySetInnerHTML&&r("91"),o({},t,{value:void 0,defaultValue:void 0,children:""+e._wrapperState.initialValue,onChange:e._wrapperState.onChange})},mountWrapper:function(e,t){var n=i.getValue(t),o=n;if(null==n){var a=t.defaultValue,s=t.children;null!=s&&(null!=a&&r("92"),Array.isArray(s)&&(s.length<=1||r("93"),s=s[0]),a=""+s),null==a&&(a=""),o=a}e._wrapperState={initialValue:""+o,listeners:null,onChange:c.bind(e)}},updateWrapper:function(e){var t=e._currentElement.props,n=a.getNodeFromInstance(e),r=i.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=a.getNodeFromInstance(e),n=t.textContent;n===e._wrapperState.initialValue&&(t.value=n)}};function c(e){var t=this._currentElement.props,n=i.executeOnChange(t,e);return s.asap(u,this),n}e.exports=l},function(e,t,n){"use strict";var r=n(1),o=n(41),i=(n(23),n(6),n(10),n(14)),a=n(144),s=(n(8),n(149));n(0);function u(e,t){return t&&(e=e||[]).push(t),e}function l(e,t){o.processChildrenUpdates(e,t)}var c={Mixin:{_reconcilerInstantiateChildren:function(e,t,n){return a.instantiateChildren(e,t,n)},_reconcilerUpdateChildren:function(e,t,n,r,o,i){var u;return u=s(t,0),a.updateChildren(e,u,n,r,o,this,this._hostContainerInfo,i,0),u},mountChildren:function(e,t,n){var r=this._reconcilerInstantiateChildren(e,t,n);this._renderedChildren=r;var o=[],a=0;for(var s in r)if(r.hasOwnProperty(s)){var u=r[s];0;var l=i.mountComponent(u,t,this,this._hostContainerInfo,n,0);u._mountIndex=a++,o.push(l)}return o},updateTextContent:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");l(this,[(t=e,{type:"TEXT_CONTENT",content:t,fromIndex:null,fromNode:null,toIndex:null,afterNode:null})])},updateMarkup:function(e){var t,n=this._renderedChildren;for(var o in a.unmountChildren(n,!1),n)n.hasOwnProperty(o)&&r("118");l(this,[(t=e,{type:"SET_MARKUP",content:t,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=[],s=this._reconcilerUpdateChildren(r,e,a,o,t,n);if(s||r){var c,p=null,d=0,f=0,h=0,m=null;for(c in s)if(s.hasOwnProperty(c)){var v=r&&r[c],g=s[c];v===g?(p=u(p,this.moveChild(v,m,d,f)),f=Math.max(v._mountIndex,f),v._mountIndex=d):(v&&(f=Math.max(v._mountIndex,f)),p=u(p,this._mountChildAtIndex(g,a[h],m,d,t,n)),h++),d++,m=i.getHostNode(g)}for(c in o)o.hasOwnProperty(c)&&(p=u(p,this._unmountChild(r[c],o[c])));p&&l(this,p),this._renderedChildren=s}},unmountChildren:function(e){var t=this._renderedChildren;a.unmountChildren(t,e),this._renderedChildren=null},moveChild:function(e,t,n,r){if(e._mountIndex<r)return function(e,t,n){return{type:"MOVE_EXISTING",content:null,fromIndex:e._mountIndex,fromNode:i.getHostNode(e),toIndex:n,afterNode:t}}(e,t,n)},createChild:function(e,t,n){return function(e,t,n){return{type:"INSERT_MARKUP",content:e,fromIndex:null,fromNode:null,toIndex:n,afterNode:t}}(n,t,e._mountIndex)},removeChild:function(e,t){return function(e,t){return{type:"REMOVE_NODE",content:null,fromIndex:e._mountIndex,fromNode:t,toIndex:null,afterNode:null}}(e,t)},_mountChildAtIndex:function(e,t,n,r,o,i){return e._mountIndex=r,this.createChild(e,n,t)},_unmountChild:function(e,t){var n=this.removeChild(e,t);return e._mountIndex=null,n}}};e.exports=c},function(e,t,n){"use strict";(function(t){var r=n(14),o=n(42),i=(n(45),n(44)),a=n(76);n(2);function s(e,t,n,r){var i=void 0===e[n];null!=t&&i&&(e[n]=o(t,!0))}void 0!==t&&Object({NODE_ENV:"production"});var u={instantiateChildren:function(e,t,n,r){if(null==e)return null;var o={};return a(e,s,o),o},updateChildren:function(e,t,n,a,s,u,l,c,p){if(t||e){var d,f;for(d in t)if(t.hasOwnProperty(d)){var h=(f=e&&e[d])&&f._currentElement,m=t[d];if(null!=f&&i(h,m))r.receiveComponent(f,m,s,c),t[d]=f;else{f&&(a[d]=r.getHostNode(f),r.unmountComponent(f,!1));var v=o(m,!0);t[d]=v;var g=r.mountComponent(v,s,u,l,c,p);n.push(g)}}for(d in e)!e.hasOwnProperty(d)||t&&t.hasOwnProperty(d)||(f=e[d],a[d]=r.getHostNode(f),r.unmountComponent(f,!1))}},unmountChildren:function(e,t){for(var n in e)if(e.hasOwnProperty(n)){var o=e[n];r.unmountComponent(o,t)}}};e.exports=u}).call(this,n(30))},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(12),a=n(41),s=n(10),u=n(33),l=n(23),c=(n(6),n(73)),p=n(14),d=n(19),f=(n(0),n(43)),h=n(44),m=(n(2),0),v=1,g=2;function y(e){}function _(e,t){0}y.prototype.render=function(){var e=l.get(this)._currentElement.type,t=e(this.props,this.context,this.updater);return _(e,t),t};var b=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,o){this._context=o,this._mountOrder=b++,this._hostParent=t,this._hostContainerInfo=n;var a,s=this._currentElement.props,u=this._processContext(o),c=this._currentElement.type,p=e.getUpdateQueue(),f=function(e){return!(!e.prototype||!e.prototype.isReactComponent)}(c),h=this._constructComponent(f,s,u,p);f||null!=h&&null!=h.render?!function(e){return!(!e.prototype||!e.prototype.isPureReactComponent)}(c)?this._compositeType=m:this._compositeType=v:(a=h,_(),null===h||!1===h||i.isValidElement(h)||r("105",c.displayName||c.name||"Component"),h=new y(c),this._compositeType=g),h.props=s,h.context=u,h.refs=d,h.updater=p,this._instance=h,l.set(h,this);var E,C=h.state;return void 0===C&&(h.state=C=null),("object"!=typeof C||Array.isArray(C))&&r("106",this.getName()||"ReactCompositeComponent"),this._pendingStateQueue=null,this._pendingReplaceState=!1,this._pendingForceUpdate=!1,E=h.unstable_handleError?this.performInitialMountWithErrorHandling(a,t,n,e,o):this.performInitialMount(a,t,n,e,o),h.componentDidMount&&e.getReactMountReady().enqueue(h.componentDidMount,h),E},_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 i,a=r.checkpoint();try{i=this.performInitialMount(e,t,n,r,o)}catch(s){r.rollback(a),this._instance.unstable_handleError(s),this._pendingStateQueue&&(this._instance.state=this._processPendingState(this._instance.props,this._instance.context)),a=r.checkpoint(),this._renderedComponent.unmountComponent(!0),r.rollback(a),i=this.performInitialMount(e,t,n,r,o)}return i},performInitialMount:function(e,t,n,r,o){var i=this._instance;i.componentWillMount&&(i.componentWillMount(),this._pendingStateQueue&&(i.state=this._processPendingState(i.props,i.context))),void 0===e&&(e=this._renderValidatedComponent());var a=c.getType(e);this._renderedNodeType=a;var s=this._instantiateReactComponent(e,a!==c.EMPTY);return this._renderedComponent=s,p.mountComponent(s,r,t,n,this._processChildContext(o),0)},getHostNode:function(){return p.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()";u.invokeGuardedCallback(n,t.componentWillUnmount.bind(t))}else t.componentWillUnmount();this._renderedComponent&&(p.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,l.remove(t)}},_maskContext:function(e){var t=this._currentElement.type.contextTypes;if(!t)return d;var n={};for(var r in t)n[r]=e[r];return n},_processContext:function(e){return this._maskContext(e)},_processChildContext:function(e){var t,n=this._currentElement.type,i=this._instance;if(i.getChildContext&&(t=i.getChildContext()),t){for(var a in"object"!=typeof n.childContextTypes&&r("107",this.getName()||"ReactCompositeComponent"),t)a in n.childContextTypes||r("108",this.getName()||"ReactCompositeComponent",a);return o({},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?p.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,o,i){var a=this._instance;null==a&&r("136",this.getName()||"ReactCompositeComponent");var s,u=!1;this._context===i?s=a.context:(s=this._processContext(i),u=!0);var l=t.props,c=n.props;t!==n&&(u=!0),u&&a.componentWillReceiveProps&&a.componentWillReceiveProps(c,s);var p=this._processPendingState(c,s),d=!0;this._pendingForceUpdate||(a.shouldComponentUpdate?d=a.shouldComponentUpdate(c,p,s):this._compositeType===v&&(d=!f(l,c)||!f(a.state,p))),this._updateBatchNumber=null,d?(this._pendingForceUpdate=!1,this._performComponentUpdate(n,c,p,s,e,i)):(this._currentElement=n,this._context=i,a.props=c,a.state=p,a.context=s)},_processPendingState:function(e,t){var n=this._instance,r=this._pendingStateQueue,i=this._pendingReplaceState;if(this._pendingReplaceState=!1,this._pendingStateQueue=null,!r)return n.state;if(i&&1===r.length)return r[0];for(var a=o({},i?r[0]:n.state),s=i?1:0;s<r.length;s++){var u=r[s];o(a,"function"==typeof u?u.call(n,a,e,t):u)}return a},_performComponentUpdate:function(e,t,n,r,o,i){var a,s,u,l=this._instance,c=Boolean(l.componentDidUpdate);c&&(a=l.props,s=l.state,u=l.context),l.componentWillUpdate&&l.componentWillUpdate(t,n,r),this._currentElement=e,this._context=i,l.props=t,l.state=n,l.context=r,this._updateRenderedComponent(o,i),c&&o.getReactMountReady().enqueue(l.componentDidUpdate.bind(l,a,s,u),l)},_updateRenderedComponent:function(e,t){var n=this._renderedComponent,r=n._currentElement,o=this._renderValidatedComponent();if(h(r,o))p.receiveComponent(n,o,e,this._processChildContext(t));else{var i=p.getHostNode(n);p.unmountComponent(n,!1);var a=c.getType(o);this._renderedNodeType=a;var s=this._instantiateReactComponent(o,a!==c.EMPTY);this._renderedComponent=s;var u=p.mountComponent(s,e,this._hostParent,this._hostContainerInfo,this._processChildContext(t),0);this._replaceNodeWithMarkup(i,u,n)}},_replaceNodeWithMarkup:function(e,t,n){a.replaceNodeWithMarkup(e,t,n)},_renderValidatedComponentWithoutOwnerOrContext:function(){return this._instance.render()},_renderValidatedComponent:function(){var e;if(this._compositeType!==g){s.current=this;try{e=this._renderValidatedComponentWithoutOwnerOrContext()}finally{s.current=null}}else e=this._renderValidatedComponentWithoutOwnerOrContext();return null===e||!1===e||i.isValidElement(e)||r("109",this.getName()||"ReactCompositeComponent"),e},attachRef:function(e,t){var n=this.getPublicInstance();null==n&&r("110");var o=t.getPublicInstance();(n.refs===d?n.refs={}:n.refs)[e]=o},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===g?null:e},_instantiateReactComponent:null};e.exports=E},function(e,t,n){"use strict";var r=1;e.exports=function(){return r++}},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103;e.exports=r},function(e,t,n){"use strict";var r="function"==typeof Symbol&&Symbol.iterator,o="@@iterator";e.exports=function(e){var t=e&&(r&&e[r]||e[o]);if("function"==typeof t)return t}},function(e,t,n){"use strict";(function(t){n(45);var r=n(76);n(2);function o(e,t,n,r){if(e&&"object"==typeof e){var o=e;0,void 0===o[n]&&null!=t&&(o[n]=t)}}void 0!==t&&Object({NODE_ENV:"production"}),e.exports=function(e,t){if(null==e)return e;var n={};return r(e,o,n),n}}).call(this,n(30))},function(e,t,n){"use strict";var r=n(46);n(2);var o=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.transaction=t}return e.prototype.isMounted=function(e){return!1},e.prototype.enqueueCallback=function(e,t,n){this.transaction.isInTransaction()&&r.enqueueCallback(e,t,n)},e.prototype.enqueueForceUpdate=function(e){this.transaction.isInTransaction()&&r.enqueueForceUpdate(e)},e.prototype.enqueueReplaceState=function(e,t){this.transaction.isInTransaction()&&r.enqueueReplaceState(e,t)},e.prototype.enqueueSetState=function(e,t){this.transaction.isInTransaction()&&r.enqueueSetState(e,t)},e}();e.exports=o},function(e,t,n){"use strict";var r=n(3),o=n(17),i=n(4),a=function(e){this._currentElement=null,this._hostNode=null,this._hostParent=null,this._hostContainerInfo=null,this._domID=0};r(a.prototype,{mountComponent:function(e,t,n,r){var a=n._idCounter++;this._domID=a,this._hostParent=t,this._hostContainerInfo=n;var s=" react-empty: "+this._domID+" ";if(e.useCreateElement){var u=n._ownerDocument.createComment(s);return i.precacheNode(this,u),o(u)}return e.renderToStaticMarkup?"":"\x3c!--"+s+"--\x3e"},receiveComponent:function(){},getHostNode:function(){return i.getNodeFromInstance(this)},unmountComponent:function(){i.uncacheNode(this)}}),e.exports=a},function(e,t,n){"use strict";var r=n(1);n(0);function o(e,t){"_hostNode"in e||r("33"),"_hostNode"in t||r("33");for(var n=0,o=e;o;o=o._hostParent)n++;for(var i=0,a=t;a;a=a._hostParent)i++;for(;n-i>0;)e=e._hostParent,n--;for(;i-n>0;)t=t._hostParent,i--;for(var s=n;s--;){if(e===t)return e;e=e._hostParent,t=t._hostParent}return null}e.exports={isAncestor:function(e,t){"_hostNode"in e||r("35"),"_hostNode"in t||r("35");for(;t;){if(t===e)return!0;t=t._hostParent}return!1},getLowestCommonAncestor:o,getParentInstance:function(e){return"_hostNode"in e||r("36"),e._hostParent},traverseTwoPhase:function(e,t,n){for(var r,o=[];e;)o.push(e),e=e._hostParent;for(r=o.length;r-- >0;)t(o[r],"captured",n);for(r=0;r<o.length;r++)t(o[r],"bubbled",n)},traverseEnterLeave:function(e,t,n,r,i){for(var a=e&&t?o(e,t):null,s=[];e&&e!==a;)s.push(e),e=e._hostParent;for(var u,l=[];t&&t!==a;)l.push(t),t=t._hostParent;for(u=0;u<s.length;u++)n(s[u],"bubbled",r);for(u=l.length;u-- >0;)n(l[u],"captured",i)}}},function(e,t,n){"use strict";var r=n(1),o=n(3),i=n(37),a=n(17),s=n(4),u=n(27),l=(n(0),n(47),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(l.prototype,{mountComponent:function(e,t,n,r){var o=n._idCounter++,i=" react-text: "+o+" ";if(this._domID=o,this._hostParent=t,e.useCreateElement){var l=n._ownerDocument,c=l.createComment(i),p=l.createComment(" /react-text "),d=a(l.createDocumentFragment());return a.queueChild(d,a(c)),this._stringText&&a.queueChild(d,a(l.createTextNode(this._stringText))),a.queueChild(d,a(p)),s.precacheNode(this,c),this._closingComment=p,d}var f=u(this._stringText);return e.renderToStaticMarkup?f:"\x3c!--"+i+"--\x3e"+f+"\x3c!-- /react-text --\x3e"},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();i.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).nextSibling;;){if(null==t&&r("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,e},unmountComponent:function(){this._closingComment=null,this._commentNodes=null,s.uncacheNode(this)}}),e.exports=l},function(e,t,n){"use strict";var r=n(3),o=n(80),i=n(5),a=n(13),s=n(4),u=n(9),l=n(34),c=n(155);function p(e){for(;e._hostParent;)e=e._hostParent;var t=s.getNodeFromInstance(e).parentNode;return s.getClosestInstanceFromNode(t)}function d(e,t){this.topLevelType=e,this.nativeEvent=t,this.ancestors=[]}function f(e){var t=l(e.nativeEvent),n=s.getClosestInstanceFromNode(t),r=n;do{e.ancestors.push(r),r=r&&p(r)}while(r);for(var o=0;o<e.ancestors.length;o++)n=e.ancestors[o],h._handleTopLevel(e.topLevelType,n,e.nativeEvent,l(e.nativeEvent))}r(d.prototype,{destructor:function(){this.topLevelType=null,this.nativeEvent=null,this.ancestors.length=0}}),a.addPoolingTo(d,a.twoArgumentPooler);var h={_enabled:!0,_handleTopLevel:null,WINDOW_HANDLE:i.canUseDOM?window:null,setHandleTopLevel:function(e){h._handleTopLevel=e},setEnabled:function(e){h._enabled=!!e},isEnabled:function(){return h._enabled},trapBubbledEvent:function(e,t,n){return n?o.listen(n,t,h.dispatchEvent.bind(null,e)):null},trapCapturedEvent:function(e,t,n){return n?o.capture(n,t,h.dispatchEvent.bind(null,e)):null},monitorScrollValue:function(e){var t=function(e){e(c(window))}.bind(null,e);o.listen(window,"scroll",t)},dispatchEvent:function(e,t){if(h._enabled){var n=d.getPooled(e,t);try{u.batchedUpdates(f,n)}finally{d.release(n)}}}};e.exports=h},function(e,t,n){"use strict";e.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}}},function(e,t,n){"use strict";var r=n(16),o=n(21),i=n(32),a=n(41),s=n(74),u=n(28),l=n(75),c=n(9),p={Component:a.injection,DOMProperty:r.injection,EmptyComponent:s.injection,EventPluginHub:o.injection,EventPluginUtils:i.injection,EventEmitter:u.injection,HostComponent:l.injection,Updates:c.injection};e.exports=p},function(e,t,n){"use strict";var r=n(3),o=n(63),i=n(13),a=n(28),s=n(81),u=(n(6),n(24)),l=n(46),c=[{initialize:s.getSelectionInformation,close:s.restoreSelection},{initialize:function(){var e=a.isEnabled();return a.setEnabled(!1),e},close:function(e){a.setEnabled(e)}},{initialize:function(){this.reactMountReady.reset()},close:function(){this.reactMountReady.notifyAll()}}];function p(e){this.reinitializeTransaction(),this.renderToStaticMarkup=!1,this.reactMountReady=o.getPooled(null),this.useCreateElement=e}var d={getTransactionWrappers:function(){return c},getReactMountReady:function(){return this.reactMountReady},getUpdateQueue:function(){return l},checkpoint:function(){return this.reactMountReady.checkpoint()},rollback:function(e){this.reactMountReady.rollback(e)},destructor:function(){o.release(this.reactMountReady),this.reactMountReady=null}};r(p.prototype,u,d),i.addPoolingTo(p),e.exports=p},function(e,t,n){"use strict";var r=n(5),o=n(159),i=n(62);function a(e,t,n,r){return e===n&&t===r}var s=r.canUseDOM&&"selection"in document&&!("getSelection"in window),u={getOffsets:s?function(e){var t=document.selection.createRange(),n=t.text.length,r=t.duplicate();r.moveToElementText(e),r.setEndPoint("EndToStart",t);var o=r.text.length;return{start:o,end:o+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,i=t.focusOffset,s=t.getRangeAt(0);try{s.startContainer.nodeType,s.endContainer.nodeType}catch(e){return null}var u=a(t.anchorNode,t.anchorOffset,t.focusNode,t.focusOffset)?0:s.toString().length,l=s.cloneRange();l.selectNodeContents(e),l.setEnd(s.startContainer,s.startOffset);var c=a(l.startContainer,l.startOffset,l.endContainer,l.endOffset)?0:l.toString().length,p=c+u,d=document.createRange();d.setStart(n,r),d.setEnd(o,i);var f=d.collapsed;return{start:f?p:c,end:f?c:p}},setOffsets:s?function(e,t){var n,r,o=document.selection.createRange().duplicate();void 0===t.end?r=n=t.start: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(e,t){if(window.getSelection){var n=window.getSelection(),r=e[i()].length,a=Math.min(t.start,r),s=void 0===t.end?a:Math.min(t.end,r);if(!n.extend&&a>s){var u=s;s=a,a=u}var l=o(e,a),c=o(e,s);if(l&&c){var p=document.createRange();p.setStart(l.node,l.offset),n.removeAllRanges(),a>s?(n.addRange(p),n.extend(c.node,c.offset)):(p.setEnd(c.node,c.offset),n.addRange(p))}}}};e.exports=u},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}}e.exports=function(e,t){for(var n=r(e),i=0,a=0;n;){if(3===n.nodeType){if(a=i+n.textContent.length,i<=t&&a>=t)return{node:n,offset:t-i};i=a}n=r(o(n))}}},function(e,t,n){"use strict";var r=n(161);e.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))))}},function(e,t,n){"use strict";var r=n(162);e.exports=function(e){return r(e)&&3==e.nodeType}},function(e,t,n){"use strict";e.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))}},function(e,t,n){"use strict";var r="http://www.w3.org/1999/xlink",o="http://www.w3.org/XML/1998/namespace",i={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,xlinkArcrole:r,xlinkHref:r,xlinkRole:r,xlinkShow:r,xlinkTitle:r,xlinkType:r,xmlBase:o,xmlLang:o,xmlSpace:o},DOMAttributeNames:{}};Object.keys(i).forEach(function(e){a.Properties[e]=0,i[e]&&(a.DOMAttributeNames[e]=i[e])}),e.exports=a},function(e,t,n){"use strict";var r=n(20),o=n(5),i=n(4),a=n(81),s=n(11),u=n(82),l=n(66),c=n(43),p=o.canUseDOM&&"documentMode"in document&&document.documentMode<=11,d={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:["topBlur","topContextMenu","topFocus","topKeyDown","topKeyUp","topMouseDown","topMouseUp","topSelectionChange"]}},f=null,h=null,m=null,v=!1,g=!1;function y(e,t){if(v||null==f||f!==u())return null;var n=function(e){if("selectionStart"in e&&a.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}}}(f);if(!m||!c(m,n)){m=n;var o=s.getPooled(d.select,h,e,t);return o.type="select",o.target=f,r.accumulateTwoPhaseDispatches(o),o}return null}var _={eventTypes:d,extractEvents:function(e,t,n,r){if(!g)return null;var o=t?i.getNodeFromInstance(t):window;switch(e){case"topFocus":(l(o)||"true"===o.contentEditable)&&(f=o,h=t,m=null);break;case"topBlur":f=null,h=null,m=null;break;case"topMouseDown":v=!0;break;case"topContextMenu":case"topMouseUp":return v=!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&&(g=!0)}};e.exports=_},function(e,t,n){"use strict";var r=n(1),o=n(80),i=n(20),a=n(4),s=n(166),u=n(167),l=n(11),c=n(168),p=n(169),d=n(25),f=n(171),h=n(172),m=n(173),v=n(22),g=n(174),y=n(8),_=n(48),b=(n(0),{}),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,r="top"+t,o={phasedRegistrationNames:{bubbled:n,captured:n+"Capture"},dependencies:[r]};b[e]=o,E[r]=o});var C={};function w(e){return"."+e._rootNodeID}function x(e){return"button"===e||"input"===e||"select"===e||"textarea"===e}var T={eventTypes:b,extractEvents:function(e,t,n,o){var a,y=E[e];if(!y)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":a=l;break;case"topKeyPress":if(0===_(n))return null;case"topKeyDown":case"topKeyUp":a=p;break;case"topBlur":case"topFocus":a=c;break;case"topClick":if(2===n.button)return null;case"topDoubleClick":case"topMouseDown":case"topMouseMove":case"topMouseUp":case"topMouseOut":case"topMouseOver":case"topContextMenu":a=d;break;case"topDrag":case"topDragEnd":case"topDragEnter":case"topDragExit":case"topDragLeave":case"topDragOver":case"topDragStart":case"topDrop":a=f;break;case"topTouchCancel":case"topTouchEnd":case"topTouchMove":case"topTouchStart":a=h;break;case"topAnimationEnd":case"topAnimationIteration":case"topAnimationStart":a=s;break;case"topTransitionEnd":a=m;break;case"topScroll":a=v;break;case"topWheel":a=g;break;case"topCopy":case"topCut":case"topPaste":a=u}a||r("86",e);var b=a.getPooled(y,t,n,o);return i.accumulateTwoPhaseDispatches(b),b},didPutListener:function(e,t,n){if("onClick"===t&&!x(e._tag)){var r=w(e),i=a.getNodeFromInstance(e);C[r]||(C[r]=o.listen(i,"click",y))}},willDeleteListener:function(e,t){if("onClick"===t&&!x(e._tag)){var n=w(e);C[n].remove(),delete C[n]}}};e.exports=T},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{animationName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(11),o={clipboardData:function(e){return"clipboardData"in e?e.clipboardData:window.clipboardData}};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(22);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{relatedTarget:null}),e.exports=o},function(e,t,n){"use strict";var r=n(22),o=n(48),i={key:n(170),location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:n(36),charCode:function(e){return"keypress"===e.type?o(e):0},keyCode:function(e){return"keydown"===e.type||"keyup"===e.type?e.keyCode:0},which:function(e){return"keypress"===e.type?o(e):"keydown"===e.type||"keyup"===e.type?e.keyCode:0}};function a(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(a,i),e.exports=a},function(e,t,n){"use strict";var r=n(48),o={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"};e.exports=function(e){if(e.key){var t=o[e.key]||e.key;if("Unidentified"!==t)return t}if("keypress"===e.type){var n=r(e);return 13===n?"Enter":String.fromCharCode(n)}return"keydown"===e.type||"keyup"===e.type?i[e.keyCode]||"Unidentified":""}},function(e,t,n){"use strict";var r=n(25);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{dataTransfer:null}),e.exports=o},function(e,t,n){"use strict";var r=n(22),o={touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:n(36)};function i(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(i,o),e.exports=i},function(e,t,n){"use strict";var r=n(11);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{propertyName:null,elapsedTime:null,pseudoElement:null}),e.exports=o},function(e,t,n){"use strict";var r=n(25);function o(e,t,n,o){return r.call(this,e,t,n,o)}r.augmentClass(o,{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}),e.exports=o},function(e,t,n){"use strict";e.exports={useCreateElement:!0,useFiber:!1}},function(e,t,n){"use strict";var r=65521;e.exports=function(e){for(var t=1,n=0,o=0,i=e.length,a=-4&i;o<a;){for(var s=Math.min(o+4096,a);o<s;o+=4)n+=(t+=e.charCodeAt(o))+(t+=e.charCodeAt(o+1))+(t+=e.charCodeAt(o+2))+(t+=e.charCodeAt(o+3));t%=r,n%=r}for(;o<i;o++)n+=t+=e.charCodeAt(o);return(t%=r)|(n%=r)<<16}},function(e,t,n){"use strict";var r=n(1),o=(n(10),n(4)),i=n(23),a=n(87);n(0),n(2);e.exports=function(e){if(null==e)return null;if(1===e.nodeType)return e;var t=i.get(e);if(t)return(t=a(t))?o.getNodeFromInstance(t):null;"function"==typeof e.render?r("44"):r("45",Object.keys(e))}},function(e,t,n){"use strict";var r=n(83);e.exports=r.renderSubtreeIntoContainer},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=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}}(),o=l(n(29)),i=(l(n(93)),l(n(180)),l(n(184))),a=l(n(189)),s=l(n(209)),u=l(n(52));function l(e){return e&&e.__esModule?e:{default:e}}function c(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)}var p=n(210),d=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);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,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.results=n.props.results?n.props.results:[],n.state={results:n.results},n.service=n.props.service,n.orderby=n.props.orderby,n.page=n.props.page,n.is_search=!1,n.search_term="",n.total_results=0,n.orientation="",n.isLoading=!1,n.isDone=!1,n.errorMsg="",n.msnry="",n.tooltipInterval="",n.editor=n.props.editor?n.props.editor:"classic",n.is_block_editor="gutenberg"===n.props.editor,n.is_media_router="media-router"===n.props.editor,n.SetFeaturedImage=n.props.SetFeaturedImage?n.props.SetFeaturedImage.bind(n):"",n.InsertImage=n.props.InsertImage?n.props.InsertImage.bind(n):"",n.is_block_editor?(n.container=document.querySelector("body"),n.container.classList.add("loading"),n.wrapper=document.querySelector("body")):(n.container=n.props.container.closest(".instant-img-container"),n.wrapper=n.props.container.closest(".instant-images-wrapper"),n.container.classList.add("loading")),n}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)}(t,o.default.Component),r(t,[{key:"test",value:function(){var e=this,t=this.container.querySelector(".error-messaging"),n=instant_img_localize.root+"instant-images/test/",r=new XMLHttpRequest;r.open("GET",n,!0),r.setRequestHeader("X-WP-Nonce",instant_img_localize.nonce),r.setRequestHeader("Content-Type","application/json"),r.send(),r.onload=function(){r.status>=200&&r.status<400?JSON.parse(r.response).success||e.renderTestError(t):e.renderTestError(t)},r.onerror=function(t){console.log(t),e.renderTestError(errorTarget)}}},{key:"renderTestError",value:function(e){e.classList.add("active"),e.innerHTML=instant_img_localize.error_restapi}},{key:"search",value:function(e){e.preventDefault();var t=this.container.querySelector("#photo-search"),n=t.value;n.length>2?(t.classList.add("searching"),this.container.classList.add("loading"),this.search_term=n,this.is_search=!0,this.doSearch(this.search_term)):t.focus()}},{key:"setOrientation",value:function(e,t){if(t&&t.target){var n=t.target;if(n.classList.contains("active"))n.classList.remove("active"),this.orientation="";else{var r=n.parentNode.querySelectorAll("li");[].concat(c(r)).forEach(function(e){return e.classList.remove("active")}),n.classList.add("active"),this.orientation=e}""!==this.search_term&&this.doSearch(this.search_term)}}},{key:"hasOrientation",value:function(){return""!==this.orientation}},{key:"clearOrientation",value:function(){var e=this.container.querySelectorAll(".orientation-list li");[].concat(c(e)).forEach(function(e){return e.classList.remove("active")}),this.orientation=""}},{key:"doSearch",value:function(e){var t=this,n="term";this.page=1;var r=""+u.default.search_api+u.default.app_id+u.default.posts_per_page+"&page="+this.page+"&query="+this.search_term;this.hasOrientation()&&(r=r+"&orientation="+this.orientation),"id:"===e.substring(0,3)&&(n="id",e=e.replace("id:",""),r=u.default.photo_api+"/"+e+u.default.app_id);var o=this.container.querySelector("#photo-search");fetch(r).then(function(e){return e.json()}).then(function(e){if("term"===n&&(t.total_results=e.total,t.checkTotalResults(e.results.length),t.results=e.results,t.setState({results:t.results})),"id"===n&&e){var r=[];e.errors?(t.total_results=0,t.checkTotalResults("0")):(r.push(e),t.total_results=1,t.checkTotalResults("1")),t.results=r,t.setState({results:t.results})}o.classList.remove("searching")}).catch(function(e){console.log(e),t.isLoading=!1})}},{key:"clearSearch",value:function(){this.container.querySelector("#photo-search").value="",this.total_results=0,this.is_search=!1,this.search_term="",this.clearOrientation()}},{key:"getPhotos",value:function(){var e=this;this.page=parseInt(this.page)+1,this.container.classList.add("loading"),this.isLoading=!0;var t=""+u.default.photo_api+u.default.app_id+u.default.posts_per_page+"&page="+this.page+"&order_by="+this.orderby;this.is_search&&(t=""+u.default.search_api+u.default.app_id+u.default.posts_per_page+"&page="+this.page+"&query="+this.search_term,this.hasOrientation()&&(t=t+"&orientation="+this.orientation)),fetch(t).then(function(e){return e.json()}).then(function(t){e.is_search&&(t=t.results),t.map(function(t){e.results.push(t)}),e.checkTotalResults(t.length),e.setState({results:e.results})}).catch(function(t){console.log(t),e.isLoading=!1})}},{key:"togglePhotoList",value:function(e,t){var n=t.target;if(n.classList.contains("active"))return!1;n.classList.add("loading"),this.isLoading=!0;var r=this;this.page=1,this.orderby=e,this.results=[],this.clearSearch();var o=""+u.default.photo_api+u.default.app_id+u.default.posts_per_page+"&page="+this.page+"&order_by="+this.orderby;fetch(o).then(function(e){return e.json()}).then(function(e){r.checkTotalResults(e.length),r.results=e,r.setState({results:e}),n.classList.remove("loading")}).catch(function(e){console.log(e),r.isLoading=!1})}},{key:"renderLayout",value:function(){if(this.is_block_editor)return!1;var e=this,t=e.container.querySelector(".photo-target");p(t,function(){e.msnry=new i.default(t,{itemSelector:".photo"}),[].concat(c(e.container.querySelectorAll(".photo-target .photo"))).forEach(function(e){return e.classList.add("in-view")})})}},{key:"onScroll",value:function(){window.innerHeight+window.pageYOffset>=document.body.scrollHeight-400&&!this.isLoading&&!this.isDone&&this.getPhotos()}},{key:"checkTotalResults",value:function(e){this.isDone=0==e}},{key:"setActiveState",value:function(){var e=this;([].concat(c(this.container.querySelectorAll(".control-nav button"))).forEach(function(e){return e.classList.remove("active")}),this.is_search)||this.container.querySelector(".control-nav li button."+this.orderby).classList.add("active");setTimeout(function(){e.isLoading=!1,e.container.classList.remove("loading")},1e3)}},{key:"showTooltip",value:function(e){var t=this,n=e.currentTarget,r=n.getBoundingClientRect(),o=Math.round(r.left),i=Math.round(r.top),a=this.container.querySelector("#tooltip");a.classList.remove("over"),n.classList.contains("tooltip--above")?a.classList.add("above"):a.classList.remove("above");var s=n.dataset.title;this.tooltipInterval=setInterval(function(){clearInterval(t.tooltipInterval),a.innerHTML=s,o=o-a.offsetWidth+n.offsetWidth+5,a.style.left=o+"px",a.style.top=i+"px",setTimeout(function(){a.classList.add("over")},150)},500)}},{key:"hideTooltip",value:function(e){clearInterval(this.tooltipInterval),this.container.querySelector("#tooltip").classList.remove("over")}},{key:"componentDidUpdate",value:function(){this.renderLayout(),this.setActiveState()}},{key:"componentDidMount",value:function(){var e=this;this.renderLayout(),this.setActiveState(),this.test(),this.container.classList.remove("loading"),this.wrapper.classList.add("loaded"),this.is_block_editor||this.is_media_router?(this.page=0,this.getPhotos()):window.addEventListener("scroll",function(){return e.onScroll()})}},{key:"render",value:function(){var e=this,t=this.is_search?{display:"flex"}:{display:"none"};return o.default.createElement("div",{id:"photo-listing",className:this.service},o.default.createElement("ul",{className:"control-nav"},o.default.createElement("li",null,o.default.createElement("button",{type:"button",className:"latest",onClick:function(t){return e.togglePhotoList("latest",t)}},instant_img_localize.latest)),o.default.createElement("li",{id:"nav-target"},o.default.createElement("button",{type:"button",className:"popular",onClick:function(t){return e.togglePhotoList("popular",t)}},instant_img_localize.popular)),o.default.createElement("li",null,o.default.createElement("button",{type:"button",className:"oldest",onClick:function(t){return e.togglePhotoList("oldest",t)}},instant_img_localize.oldest)),o.default.createElement("li",{className:"search-field",id:"search-bar"},o.default.createElement("form",{onSubmit:function(t){return e.search(t)},autoComplete:"off"},o.default.createElement("input",{type:"search",id:"photo-search",placeholder:instant_img_localize.search}),o.default.createElement("button",{type:"submit",id:"photo-search-submit"},o.default.createElement("i",{className:"fa fa-search"})),o.default.createElement(s.default,{container:this.container,isSearch:this.is_search,total:this.total_results,title:this.total_results+" "+instant_img_localize.search_results+" "+this.search_term})))),o.default.createElement("div",{className:"error-messaging"}),o.default.createElement("div",{className:"orientation-list",style:t},o.default.createElement("span",null,o.default.createElement("i",{className:"fa fa-filter","aria-hidden":"true"})," ",instant_img_localize.orientation,":"),o.default.createElement("ul",null,o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("landscape",t)},onKeyPress:function(t){return e.setOrientation("landscape",t)}},instant_img_localize.landscape),o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("portrait",t)},onKeyPress:function(t){return e.setOrientation("portrait",t)}},instant_img_localize.portrait),o.default.createElement("li",{tabIndex:"0",onClick:function(t){return e.setOrientation("squarish",t)},onKeyPress:function(t){return e.setOrientation("squarish",t)}},instant_img_localize.squarish))),o.default.createElement("div",{id:"photos",className:"photo-target"},this.state.results.map(function(t,n){return o.default.createElement(a.default,{result:t,key:t.id+n,editor:e.editor,mediaRouter:e.is_media_router,blockEditor:e.is_block_editor,SetFeaturedImage:e.SetFeaturedImage,InsertImage:e.InsertImage,showTooltip:e.showTooltip,hideTooltip:e.hideTooltip})})),o.default.createElement("div",{className:0==this.total_results&&!0===this.is_search?"no-results show":"no-results",title:this.props.title},o.default.createElement("h3",null,instant_img_localize.no_results," "),o.default.createElement("p",null,instant_img_localize.no_results_desc," ")),o.default.createElement("div",{className:"loading-block"}),o.default.createElement("div",{className:"load-more-wrap"},o.default.createElement("button",{type:"button",className:"button",onClick:function(){return e.getPhotos()}},instant_img_localize.load_more)),o.default.createElement("div",{id:"tooltip"},"Meow"))}}]),t}();t.default=d},function(e,t,n){"use strict";e.exports=n(181)},function(e,t,n){"use strict";var r=n(59),o=n(182),i=n(86);r.inject();var a={renderToString:o.renderToString,renderToStaticMarkup:o.renderToStaticMarkup,version:i};e.exports=a},function(e,t,n){"use strict";var r=n(1),o=n(12),i=n(84),a=n(79),s=(n(6),n(85)),u=n(14),l=n(183),c=n(78),p=n(9),d=n(19),f=n(42),h=(n(0),0);function m(e,t){var n;try{return p.injection.injectBatchingStrategy(l),n=c.getPooled(t),h++,n.perform(function(){var r=f(e,!0),o=u.mountComponent(r,n,null,i(),d,0);return t||(o=s.addChecksumToMarkup(o)),o},null)}finally{h--,c.release(n),h||p.injection.injectBatchingStrategy(a)}}e.exports={renderToString:function(e){return o.isValidElement(e)||r("46"),m(e,!1)},renderToStaticMarkup:function(e){return o.isValidElement(e)||r("47"),m(e,!0)}}},function(e,t,n){"use strict";e.exports={isBatchingUpdates:!1,batchedUpdates:function(e){}}},function(e,t,n){var r,o,i;
|
26 |
+
/*!
|
27 |
+
* Masonry v4.2.2
|
28 |
+
* Cascading grid layout library
|
29 |
+
* https://masonry.desandro.com
|
30 |
* MIT License
|
31 |
+
* by David DeSandro
|
32 |
+
*/window,o=[n(185),n(50)],void 0===(i="function"==typeof(r=function(e,t){"use strict";var n=e.create("masonry");n.compatOptions.fitWidth="isFitWidth";var r=n.prototype;return r._resetLayout=function(){this.getSize(),this._getMeasurement("columnWidth","outerWidth"),this._getMeasurement("gutter","outerWidth"),this.measureColumns(),this.colYs=[];for(var e=0;e<this.cols;e++)this.colYs.push(0);this.maxY=0,this.horizontalColIndex=0},r.measureColumns=function(){if(this.getContainerWidth(),!this.columnWidth){var e=this.items[0],n=e&&e.element;this.columnWidth=n&&t(n).outerWidth||this.containerWidth}var r=this.columnWidth+=this.gutter,o=this.containerWidth+this.gutter,i=o/r,a=r-o%r;i=Math[a&&a<1?"round":"floor"](i),this.cols=Math.max(i,1)},r.getContainerWidth=function(){var e=this._getOption("fitWidth")?this.element.parentNode:this.element,n=t(e);this.containerWidth=n&&n.innerWidth},r._getItemLayoutPosition=function(e){e.getSize();var t=e.size.outerWidth%this.columnWidth,n=Math[t&&t<1?"round":"ceil"](e.size.outerWidth/this.columnWidth);n=Math.min(n,this.cols);for(var r=this[this.options.horizontalOrder?"_getHorizontalColPosition":"_getTopColPosition"](n,e),o={x:this.columnWidth*r.col,y:r.y},i=r.y+e.size.outerHeight,a=n+r.col,s=r.col;s<a;s++)this.colYs[s]=i;return o},r._getTopColPosition=function(e){var t=this._getTopColGroup(e),n=Math.min.apply(Math,t);return{col:t.indexOf(n),y:n}},r._getTopColGroup=function(e){if(e<2)return this.colYs;for(var t=[],n=this.cols+1-e,r=0;r<n;r++)t[r]=this._getColGroupY(r,e);return t},r._getColGroupY=function(e,t){if(t<2)return this.colYs[e];var n=this.colYs.slice(e,e+t);return Math.max.apply(Math,n)},r._getHorizontalColPosition=function(e,t){var n=this.horizontalColIndex%this.cols;n=e>1&&n+e>this.cols?0:n;var r=t.size.outerWidth&&t.size.outerHeight;return this.horizontalColIndex=r?n+e:this.horizontalColIndex,{col:n,y:this._getColGroupY(n,e)}},r._manageStamp=function(e){var n=t(e),r=this._getElementOffset(e),o=this._getOption("originLeft")?r.left:r.right,i=o+n.outerWidth,a=Math.floor(o/this.columnWidth);a=Math.max(0,a);var s=Math.floor(i/this.columnWidth);s-=i%this.columnWidth?0:1,s=Math.min(this.cols-1,s);for(var u=(this._getOption("originTop")?r.top:r.bottom)+n.outerHeight,l=a;l<=s;l++)this.colYs[l]=Math.max(u,this.colYs[l])},r._getContainerSize=function(){this.maxY=Math.max.apply(Math,this.colYs);var e={height:this.maxY};return this._getOption("fitWidth")&&(e.width=this._getContainerFitWidth()),e},r._getContainerFitWidth=function(){for(var e=0,t=this.cols;--t&&0===this.colYs[t];)e++;return(this.cols-e)*this.columnWidth-this.gutter},r.needsResizeLayout=function(){var e=this.containerWidth;return this.getContainerWidth(),e!=this.containerWidth},n})?r.apply(t,o):r)||(e.exports=i)},function(e,t,n){var r,o;
|
33 |
+
/*!
|
34 |
+
* Outlayer v2.1.1
|
35 |
+
* the brains and guts of a layout library
|
36 |
+
* MIT license
|
37 |
*/
|
38 |
/*!
|
39 |
+
* Outlayer v2.1.1
|
40 |
+
* the brains and guts of a layout library
|
41 |
+
* MIT license
|
42 |
*/
|
43 |
+
!function(i,a){"use strict";r=[n(49),n(50),n(186),n(188)],void 0===(o=function(e,t,n,r){return function(e,t,n,r,o){var i=e.console,a=e.jQuery,s=function(){},u=0,l={};function c(e,t){var n=r.getQueryElement(e);if(n){this.element=n,a&&(this.$element=a(this.element)),this.options=r.extend({},this.constructor.defaults),this.option(t);var o=++u;this.element.outlayerGUID=o,l[o]=this,this._create();var s=this._getOption("initLayout");s&&this.layout()}else i&&i.error("Bad element for "+this.constructor.namespace+": "+(n||e))}c.namespace="outlayer",c.Item=o,c.defaults={containerStyle:{position:"relative"},initLayout:!0,originLeft:!0,originTop:!0,resize:!0,resizeContainer:!0,transitionDuration:"0.4s",hiddenStyle:{opacity:0,transform:"scale(0.001)"},visibleStyle:{opacity:1,transform:"scale(1)"}};var p=c.prototype;function d(e){function t(){e.apply(this,arguments)}return t.prototype=Object.create(e.prototype),t.prototype.constructor=t,t}r.extend(p,t.prototype),p.option=function(e){r.extend(this.options,e)},p._getOption=function(e){var t=this.constructor.compatOptions[e];return t&&void 0!==this.options[t]?this.options[t]:this.options[e]},c.compatOptions={initLayout:"isInitLayout",horizontal:"isHorizontal",layoutInstant:"isLayoutInstant",originLeft:"isOriginLeft",originTop:"isOriginTop",resize:"isResizeBound",resizeContainer:"isResizingContainer"},p._create=function(){this.reloadItems(),this.stamps=[],this.stamp(this.options.stamp),r.extend(this.element.style,this.options.containerStyle);var e=this._getOption("resize");e&&this.bindResize()},p.reloadItems=function(){this.items=this._itemize(this.element.children)},p._itemize=function(e){for(var t=this._filterFindItemElements(e),n=this.constructor.Item,r=[],o=0;o<t.length;o++){var i=t[o],a=new n(i,this);r.push(a)}return r},p._filterFindItemElements=function(e){return r.filterFindElements(e,this.options.itemSelector)},p.getItemElements=function(){return this.items.map(function(e){return e.element})},p.layout=function(){this._resetLayout(),this._manageStamps();var e=this._getOption("layoutInstant"),t=void 0!==e?e:!this._isLayoutInited;this.layoutItems(this.items,t),this._isLayoutInited=!0},p._init=p.layout,p._resetLayout=function(){this.getSize()},p.getSize=function(){this.size=n(this.element)},p._getMeasurement=function(e,t){var r,o=this.options[e];o?("string"==typeof o?r=this.element.querySelector(o):o instanceof HTMLElement&&(r=o),this[e]=r?n(r)[t]:o):this[e]=0},p.layoutItems=function(e,t){e=this._getItemsForLayout(e),this._layoutItems(e,t),this._postLayout()},p._getItemsForLayout=function(e){return e.filter(function(e){return!e.isIgnored})},p._layoutItems=function(e,t){if(this._emitCompleteOnItems("layout",e),e&&e.length){var n=[];e.forEach(function(e){var r=this._getItemLayoutPosition(e);r.item=e,r.isInstant=t||e.isLayoutInstant,n.push(r)},this),this._processLayoutQueue(n)}},p._getItemLayoutPosition=function(){return{x:0,y:0}},p._processLayoutQueue=function(e){this.updateStagger(),e.forEach(function(e,t){this._positionItem(e.item,e.x,e.y,e.isInstant,t)},this)},p.updateStagger=function(){var e=this.options.stagger;if(null!=e)return this.stagger=function(e){if("number"==typeof e)return e;var t=e.match(/(^\d*\.?\d*)(\w*)/),n=t&&t[1],r=t&&t[2];if(!n.length)return 0;n=parseFloat(n);var o=f[r]||1;return n*o}(e),this.stagger;this.stagger=0},p._positionItem=function(e,t,n,r,o){r?e.goTo(t,n):(e.stagger(o*this.stagger),e.moveTo(t,n))},p._postLayout=function(){this.resizeContainer()},p.resizeContainer=function(){var e=this._getOption("resizeContainer");if(e){var t=this._getContainerSize();t&&(this._setContainerMeasure(t.width,!0),this._setContainerMeasure(t.height,!1))}},p._getContainerSize=s,p._setContainerMeasure=function(e,t){if(void 0!==e){var n=this.size;n.isBorderBox&&(e+=t?n.paddingLeft+n.paddingRight+n.borderLeftWidth+n.borderRightWidth:n.paddingBottom+n.paddingTop+n.borderTopWidth+n.borderBottomWidth),e=Math.max(e,0),this.element.style[t?"width":"height"]=e+"px"}},p._emitCompleteOnItems=function(e,t){var n=this;function r(){n.dispatchEvent(e+"Complete",null,[t])}var o=t.length;if(t&&o){var i=0;t.forEach(function(t){t.once(e,a)})}else r();function a(){++i==o&&r()}},p.dispatchEvent=function(e,t,n){var r=t?[t].concat(n):n;if(this.emitEvent(e,r),a)if(this.$element=this.$element||a(this.element),t){var o=a.Event(t);o.type=e,this.$element.trigger(o,n)}else this.$element.trigger(e,n)},p.ignore=function(e){var t=this.getItem(e);t&&(t.isIgnored=!0)},p.unignore=function(e){var t=this.getItem(e);t&&delete t.isIgnored},p.stamp=function(e){(e=this._find(e))&&(this.stamps=this.stamps.concat(e),e.forEach(this.ignore,this))},p.unstamp=function(e){(e=this._find(e))&&e.forEach(function(e){r.removeFrom(this.stamps,e),this.unignore(e)},this)},p._find=function(e){if(e)return"string"==typeof e&&(e=this.element.querySelectorAll(e)),e=r.makeArray(e)},p._manageStamps=function(){this.stamps&&this.stamps.length&&(this._getBoundingRect(),this.stamps.forEach(this._manageStamp,this))},p._getBoundingRect=function(){var e=this.element.getBoundingClientRect(),t=this.size;this._boundingRect={left:e.left+t.paddingLeft+t.borderLeftWidth,top:e.top+t.paddingTop+t.borderTopWidth,right:e.right-(t.paddingRight+t.borderRightWidth),bottom:e.bottom-(t.paddingBottom+t.borderBottomWidth)}},p._manageStamp=s,p._getElementOffset=function(e){var t=e.getBoundingClientRect(),r=this._boundingRect,o=n(e),i={left:t.left-r.left-o.marginLeft,top:t.top-r.top-o.marginTop,right:r.right-t.right-o.marginRight,bottom:r.bottom-t.bottom-o.marginBottom};return i},p.handleEvent=r.handleEvent,p.bindResize=function(){e.addEventListener("resize",this),this.isResizeBound=!0},p.unbindResize=function(){e.removeEventListener("resize",this),this.isResizeBound=!1},p.onresize=function(){this.resize()},r.debounceMethod(c,"onresize",100),p.resize=function(){this.isResizeBound&&this.needsResizeLayout()&&this.layout()},p.needsResizeLayout=function(){var e=n(this.element),t=this.size&&e;return t&&e.innerWidth!==this.size.innerWidth},p.addItems=function(e){var t=this._itemize(e);return t.length&&(this.items=this.items.concat(t)),t},p.appended=function(e){var t=this.addItems(e);t.length&&(this.layoutItems(t,!0),this.reveal(t))},p.prepended=function(e){var t=this._itemize(e);if(t.length){var n=this.items.slice(0);this.items=t.concat(n),this._resetLayout(),this._manageStamps(),this.layoutItems(t,!0),this.reveal(t),this.layoutItems(n)}},p.reveal=function(e){if(this._emitCompleteOnItems("reveal",e),e&&e.length){var t=this.updateStagger();e.forEach(function(e,n){e.stagger(n*t),e.reveal()})}},p.hide=function(e){if(this._emitCompleteOnItems("hide",e),e&&e.length){var t=this.updateStagger();e.forEach(function(e,n){e.stagger(n*t),e.hide()})}},p.revealItemElements=function(e){var t=this.getItems(e);this.reveal(t)},p.hideItemElements=function(e){var t=this.getItems(e);this.hide(t)},p.getItem=function(e){for(var t=0;t<this.items.length;t++){var n=this.items[t];if(n.element==e)return n}},p.getItems=function(e){e=r.makeArray(e);var t=[];return e.forEach(function(e){var n=this.getItem(e);n&&t.push(n)},this),t},p.remove=function(e){var t=this.getItems(e);this._emitCompleteOnItems("remove",t),t&&t.length&&t.forEach(function(e){e.remove(),r.removeFrom(this.items,e)},this)},p.destroy=function(){var e=this.element.style;e.height="",e.position="",e.width="",this.items.forEach(function(e){e.destroy()}),this.unbindResize();var t=this.element.outlayerGUID;delete l[t],delete this.element.outlayerGUID,a&&a.removeData(this.element,this.constructor.namespace)},c.data=function(e){var t=(e=r.getQueryElement(e))&&e.outlayerGUID;return t&&l[t]},c.create=function(e,t){var n=d(c);return n.defaults=r.extend({},c.defaults),r.extend(n.defaults,t),n.compatOptions=r.extend({},c.compatOptions),n.namespace=e,n.data=c.data,n.Item=d(o),r.htmlInit(n,e),a&&a.bridget&&a.bridget(e,n),n};var f={ms:1,s:1e3};return c.Item=o,c}(i,e,t,n,r)}.apply(t,r))||(e.exports=o)}(window)},function(e,t,n){var r,o;!function(i,a){r=[n(187)],void 0===(o=function(e){return function(e,t){"use strict";var n={extend:function(e,t){for(var n in t)e[n]=t[n];return e},modulo:function(e,t){return(e%t+t)%t}},r=Array.prototype.slice;n.makeArray=function(e){if(Array.isArray(e))return e;if(null==e)return[];var t="object"==typeof e&&"number"==typeof e.length;return t?r.call(e):[e]},n.removeFrom=function(e,t){var n=e.indexOf(t);-1!=n&&e.splice(n,1)},n.getParent=function(e,n){for(;e.parentNode&&e!=document.body;)if(e=e.parentNode,t(e,n))return e},n.getQueryElement=function(e){return"string"==typeof e?document.querySelector(e):e},n.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},n.filterFindElements=function(e,r){e=n.makeArray(e);var o=[];return e.forEach(function(e){if(e instanceof HTMLElement)if(r){t(e,r)&&o.push(e);for(var n=e.querySelectorAll(r),i=0;i<n.length;i++)o.push(n[i])}else o.push(e)}),o},n.debounceMethod=function(e,t,n){n=n||100;var r=e.prototype[t],o=t+"Timeout";e.prototype[t]=function(){var e=this[o];clearTimeout(e);var t=arguments,i=this;this[o]=setTimeout(function(){r.apply(i,t),delete i[o]},n)}},n.docReady=function(e){var t=document.readyState;"complete"==t||"interactive"==t?setTimeout(e):document.addEventListener("DOMContentLoaded",e)},n.toDashed=function(e){return e.replace(/(.)([A-Z])/g,function(e,t,n){return t+"-"+n}).toLowerCase()};var o=e.console;return n.htmlInit=function(t,r){n.docReady(function(){var i=n.toDashed(r),a="data-"+i,s=document.querySelectorAll("["+a+"]"),u=document.querySelectorAll(".js-"+i),l=n.makeArray(s).concat(n.makeArray(u)),c=a+"-options",p=e.jQuery;l.forEach(function(e){var n,i=e.getAttribute(a)||e.getAttribute(c);try{n=i&&JSON.parse(i)}catch(t){return void(o&&o.error("Error parsing "+a+" on "+e.className+": "+t))}var s=new t(e,n);p&&p.data(e,r,s)})})},n}(i,e)}.apply(t,r))||(e.exports=o)}(window)},function(e,t,n){var r,o;!function(i,a){"use strict";void 0===(o="function"==typeof(r=a)?r.call(t,n,t,e):r)||(e.exports=o)}(window,function(){"use strict";var e=function(){var e=window.Element.prototype;if(e.matches)return"matches";if(e.matchesSelector)return"matchesSelector";for(var t=["webkit","moz","ms","o"],n=0;n<t.length;n++){var r=t[n]+"MatchesSelector";if(e[r])return r}}();return function(t,n){return t[e](n)}})},function(e,t,n){var r,o,i;window,o=[n(49),n(50)],void 0===(i="function"==typeof(r=function(e,t){"use strict";var n=document.documentElement.style,r="string"==typeof n.transition?"transition":"WebkitTransition",o="string"==typeof n.transform?"transform":"WebkitTransform",i={WebkitTransition:"webkitTransitionEnd",transition:"transitionend"}[r],a={transform:o,transition:r,transitionDuration:r+"Duration",transitionProperty:r+"Property",transitionDelay:r+"Delay"};function s(e,t){e&&(this.element=e,this.layout=t,this.position={x:0,y:0},this._create())}var u=s.prototype=Object.create(e.prototype);u.constructor=s,u._create=function(){this._transn={ingProperties:{},clean:{},onEnd:{}},this.css({position:"absolute"})},u.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},u.getSize=function(){this.size=t(this.element)},u.css=function(e){var t=this.element.style;for(var n in e){var r=a[n]||n;t[r]=e[n]}},u.getPosition=function(){var e=getComputedStyle(this.element),t=this.layout._getOption("originLeft"),n=this.layout._getOption("originTop"),r=e[t?"left":"right"],o=e[n?"top":"bottom"],i=parseFloat(r),a=parseFloat(o),s=this.layout.size;-1!=r.indexOf("%")&&(i=i/100*s.width),-1!=o.indexOf("%")&&(a=a/100*s.height),i=isNaN(i)?0:i,a=isNaN(a)?0:a,i-=t?s.paddingLeft:s.paddingRight,a-=n?s.paddingTop:s.paddingBottom,this.position.x=i,this.position.y=a},u.layoutPosition=function(){var e=this.layout.size,t={},n=this.layout._getOption("originLeft"),r=this.layout._getOption("originTop"),o=n?"paddingLeft":"paddingRight",i=n?"left":"right",a=n?"right":"left",s=this.position.x+e[o];t[i]=this.getXValue(s),t[a]="";var u=r?"paddingTop":"paddingBottom",l=r?"top":"bottom",c=r?"bottom":"top",p=this.position.y+e[u];t[l]=this.getYValue(p),t[c]="",this.css(t),this.emitEvent("layout",[this])},u.getXValue=function(e){var t=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&!t?e/this.layout.size.width*100+"%":e+"px"},u.getYValue=function(e){var t=this.layout._getOption("horizontal");return this.layout.options.percentPosition&&t?e/this.layout.size.height*100+"%":e+"px"},u._transitionTo=function(e,t){this.getPosition();var n=this.position.x,r=this.position.y,o=e==this.position.x&&t==this.position.y;if(this.setPosition(e,t),!o||this.isTransitioning){var i=e-n,a=t-r,s={};s.transform=this.getTranslate(i,a),this.transition({to:s,onTransitionEnd:{transform:this.layoutPosition},isCleaning:!0})}else this.layoutPosition()},u.getTranslate=function(e,t){var n=this.layout._getOption("originLeft"),r=this.layout._getOption("originTop");return"translate3d("+(e=n?e:-e)+"px, "+(t=r?t:-t)+"px, 0)"},u.goTo=function(e,t){this.setPosition(e,t),this.layoutPosition()},u.moveTo=u._transitionTo,u.setPosition=function(e,t){this.position.x=parseFloat(e),this.position.y=parseFloat(t)},u._nonTransition=function(e){for(var t in this.css(e.to),e.isCleaning&&this._removeStyles(e.to),e.onTransitionEnd)e.onTransitionEnd[t].call(this)},u.transition=function(e){if(parseFloat(this.layout.options.transitionDuration)){var t=this._transn;for(var n in e.onTransitionEnd)t.onEnd[n]=e.onTransitionEnd[n];for(n in e.to)t.ingProperties[n]=!0,e.isCleaning&&(t.clean[n]=!0);e.from&&(this.css(e.from),this.element.offsetHeight),this.enableTransition(e.to),this.css(e.to),this.isTransitioning=!0}else this._nonTransition(e)};var l="opacity,"+o.replace(/([A-Z])/g,function(e){return"-"+e.toLowerCase()});u.enableTransition=function(){if(!this.isTransitioning){var e=this.layout.options.transitionDuration;e="number"==typeof e?e+"ms":e,this.css({transitionProperty:l,transitionDuration:e,transitionDelay:this.staggerDelay||0}),this.element.addEventListener(i,this,!1)}},u.onwebkitTransitionEnd=function(e){this.ontransitionend(e)},u.onotransitionend=function(e){this.ontransitionend(e)};var c={"-webkit-transform":"transform"};u.ontransitionend=function(e){if(e.target===this.element){var t=this._transn,n=c[e.propertyName]||e.propertyName;if(delete t.ingProperties[n],function(e){for(var t in e)return!1;return!0}(t.ingProperties)&&this.disableTransition(),n in t.clean&&(this.element.style[e.propertyName]="",delete t.clean[n]),n in t.onEnd){var r=t.onEnd[n];r.call(this),delete t.onEnd[n]}this.emitEvent("transitionEnd",[this])}},u.disableTransition=function(){this.removeTransitionStyles(),this.element.removeEventListener(i,this,!1),this.isTransitioning=!1},u._removeStyles=function(e){var t={};for(var n in e)t[n]="";this.css(t)};var p={transitionProperty:"",transitionDuration:"",transitionDelay:""};return u.removeTransitionStyles=function(){this.css(p)},u.stagger=function(e){e=isNaN(e)?0:e,this.staggerDelay=e+"ms"},u.removeElem=function(){this.element.parentNode.removeChild(this.element),this.css({display:""}),this.emitEvent("remove",[this])},u.remove=function(){r&&parseFloat(this.layout.options.transitionDuration)?(this.once("transitionEnd",function(){this.removeElem()}),this.hide()):this.removeElem()},u.reveal=function(){delete this.isHidden,this.css({display:""});var e=this.layout.options,t={};t[this.getHideRevealTransitionEndProperty("visibleStyle")]=this.onRevealTransitionEnd,this.transition({from:e.hiddenStyle,to:e.visibleStyle,isCleaning:!0,onTransitionEnd:t})},u.onRevealTransitionEnd=function(){this.isHidden||this.emitEvent("reveal")},u.getHideRevealTransitionEndProperty=function(e){var t=this.layout.options[e];if(t.opacity)return"opacity";for(var n in t)return n},u.hide=function(){this.isHidden=!0,this.css({display:""});var e=this.layout.options,t={};t[this.getHideRevealTransitionEndProperty("hiddenStyle")]=this.onHideTransitionEnd,this.transition({from:e.visibleStyle,to:e.hiddenStyle,isCleaning:!0,onTransitionEnd:t})},u.onHideTransitionEnd=function(){this.isHidden&&(this.css({display:"none"}),this.emitEvent("hide"))},u.destroy=function(){this.css({position:"",left:"",right:"",top:"",bottom:"",transition:"",transform:""})},s})?r.apply(t,o):r)||(e.exports=i)},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=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}}(),o=s(n(29)),i=s(n(52)),a=s(n(190));function s(e){return e&&e.__esModule?e:{default:e}}var u=function(e){function t(e){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t);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,(t.__proto__||Object.getPrototypeOf(t)).call(this,e));return n.id=n.props.result.id,n.thumb=n.props.result.urls.thumb,n.img=n.props.result.urls.small,n.full_size=n.props.result.urls.full,n.author=n.props.result.user.name,n.img_title=instant_img_localize.photo_by+" "+n.author,n.filename=n.props.result.id,n.title=n.img_title,n.alt=n.props.result.alt_description,n.caption="",n.user=n.props.result.user.username,n.user_photo=n.props.result.user.profile_image.small,n.link=n.props.result.links.html,n.likes=n.props.result.likes,n.view_all=instant_img_localize.view_all,n.inProgress=!1,n.container=document.querySelector(".instant-img-container"),n.showTooltip=n.props.showTooltip,n.hideTooltip=n.props.hideTooltip,n.setAsFeaturedImage=!1,n.insertIntoPost=!1,n.is_media_router=n.props.mediaRouter,n.is_block_editor=n.props.blockEditor,n.SetFeaturedImage=n.props.SetFeaturedImage,n.InsertImage=n.props.InsertImage,n.displayGutenbergControl=!!n.is_block_editor,n.state={filename:n.filename,title:n.title,alt:n.alt,caption:n.caption},n}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)}(t,o.default.Component),r(t,[{key:"download",value:function(e){e.preventDefault();var t=this,n=e.currentTarget,r=n.parentElement.parentElement.parentElement,o=r.querySelector(".notice-msg");if(n.classList.contains("upload")||(n=r.querySelector("a.upload")),n.classList.contains("success")||this.inProgress)return!1;this.inProgress=!0,n.classList.add("uploading"),r.classList.add("in-progress"),o.innerHTML=instant_img_localize.saving,setTimeout(function(){o.innerHTML=instant_img_localize.resizing,setTimeout(function(){o.innerHTML=instant_img_localize.resizing_still},5e3)},3e3);var i=instant_img_localize.root+"instant-images/download/",s={id:n.getAttribute("data-id"),image_url:n.getAttribute("data-url"),filename:n.getAttribute("data-id")+".jpg",custom_filename:n.getAttribute("data-filename"),title:n.getAttribute("data-title"),alt:n.getAttribute("data-alt"),caption:n.getAttribute("data-caption"),parent_id:instant_img_localize.parent_id},u={headers:{"X-WP-Nonce":instant_img_localize.nonce,"Content-Type":"application/json"}};a.default.put(i,JSON.stringify(s),u).then(function(e){var i=e.data;if(i){var a=i.success,s=i.id,u=i.attachment,l=i.admin_url,c=i.msg;if(a){var p=l+"post.php?post="+u.id+"&action=edit";t.uploadComplete(n,r,c,p,u.id),t.triggerUnsplashDownload(s),t.displayGutenbergControl&&t.setAsFeaturedImage&&(t.SetFeaturedImage(u.id),t.setAsFeaturedImage=!1,t.closeMediaModal()),t.displayGutenbergControl&&t.insertIntoPost&&(u.url&&(t.InsertImage(u.url,u.caption,u.alt),t.closeMediaModal()),t.insertIntoPost=!1),"true"!==t.container.dataset.mediaPopup||t.is_block_editor||(window.location="media-upload.php?type=image&tab=library&attachment_id="+u.id)}else t.uploadError(n,r,o,c)}else t.uploadError(n,r,o,instant_img_localize.error_upload)}).catch(function(e){console.log(e)})}},{key:"triggerUnsplashDownload",value:function(e){var t=i.default.photo_api+"/"+e+"/download/"+i.default.app_id;fetch(t).then(function(e){return e.json()}).then(function(e){}).catch(function(e){console.log(e)})}},{key:"setFeaturedImageClick",value:function(e){var t=e.currentTarget;if(!t)return!1;this.hideTooltip(e);var n=t.parentNode.parentNode.parentNode.querySelector("a.upload");n&&(this.setAsFeaturedImage=!0,n.click())}},{key:"insertImageIntoPost",value:function(e){var t=e.currentTarget;if(!t)return!1;this.hideTooltip(e);var n=t.parentNode.parentNode.parentNode.querySelector("a.upload");n&&(this.insertIntoPost=!0,n.click())}},{key:"uploadComplete",value:function(e,t,n,r,o){this.setImageTitle(e,n),t.classList.remove("in-progress"),t.classList.add("uploaded"),t.querySelector(".edit-photo").style.display="none",t.querySelector(".edit-photo-admin").style.display="inline-block",t.querySelector(".edit-photo-admin").href=r,t.querySelector(".edit-photo-admin").target="_balnk",e.classList.remove("uploading"),e.classList.remove("resizing"),e.classList.add("success"),this.inProgress=!1,this.is_block_editor&&(t.querySelector(".insert").style.display="none",t.querySelector(".set-featured").style.display="none"),this.mediaRouter(o),this.container.classList.contains("editor")&&void 0!==wp.media&&(null!==wp.media.frame.content.get()?(wp.media.frame.content.get().collection.props.set({ignore:+new Date}),wp.media.frame.content.get().options.selection.reset()):wp.media.frame.library.props.set({ignore:+new Date}))}},{key:"mediaRouter",value:function(e){if(this.is_media_router&&wp.media&&wp.media.frame&&wp.media.frame.el){var t=wp.media.frame.el.querySelector("#menu-item-browse");t&&t.click(),setTimeout(function(){null!==wp.media.frame.content.get()&&wp.media.frame.content.get().collection._requery(!0);var t=wp.media.frame.state().get("selection"),n=parseInt(e);t.reset(n?[wp.media.attachment(n)]:[])},150)}}},{key:"uploadError",value:function(e,t,n,r){e.classList.remove("uploading"),e.classList.remove("resizing"),e.classList.add("errors"),this.setImageTitle(e,r),this.inProgress=!1,n.classList.add("has-error"),console.warn(r)}},{key:"setImageTitle",value:function(e,t){e.setAttribute("title",t)}},{key:"showEditScreen",value:function(e){e.preventDefault();var t=e.currentTarget;this.hideTooltip(e);var n=t.closest(".photo"),r=(n.querySelector('input[name="filename"]'),n.querySelector(".edit-screen"));r.classList.add("editing"),setTimeout(function(){r.focus()},150)}},{key:"handleEditChange",value:function(e){var t=e.target.name;"filename"===t&&this.setState({filename:e.target.value}),"title"===t&&this.setState({title:e.target.value}),"alt"===t&&this.setState({alt:e.target.value}),"caption"===t&&this.setState({caption:e.target.value})}},{key:"saveEditChange",value:function(e){var t=e.currentTarget.closest(".photo"),n=t.querySelector('input[name="filename"]');this.filename=n.value;var r=t.querySelector('input[name="title"]');this.title=r.value;var o=t.querySelector('input[name="alt"]');this.alt=o.value;var i=t.querySelector('textarea[name="caption"]');this.caption=i.value,t.querySelector(".edit-screen").classList.remove("editing"),t.querySelector("a.upload").click()}},{key:"cancelEditChange",value:function(e){var t=e.currentTarget.closest(".photo");if(t){var n=t.querySelector("a.upload"),r=t.querySelector('input[name="filename"]');r.value=r.dataset.original,this.setState({filename:r.value});var o=t.querySelector('input[name="title"]');o.value=o.dataset.original,this.setState({title:o.value});var i=t.querySelector('input[name="alt"]');i.value=i.dataset.original,this.setState({alt:i.value});var a=t.querySelector('textarea[name="caption"]');a.value=a.dataset.original,this.setState({caption:a.value}),t.querySelector(".edit-screen").classList.remove("editing"),n.focus()}}},{key:"closeMediaModal",value:function(){var e=document.querySelector(".media-modal");if(e){var t=e.querySelector("button.media-modal-close");if(!t)return!1;t.click()}}},{key:"render",value:function(){var e=this,t=parseInt(this.likes)>1?instant_img_localize.likes_plural:instant_img_localize.likes;return o.default.createElement("article",{className:"photo"},o.default.createElement("div",{className:"photo--wrap"},o.default.createElement("div",{className:"img-wrap"},o.default.createElement("a",{className:"upload loaded",href:this.full_size,"data-id":this.id,"data-url":this.full_size,"data-filename":this.state.filename,"data-title":this.state.title,"data-alt":this.state.alt,"data-caption":this.state.caption,title:instant_img_localize.upload,onClick:function(t){return e.download(t)}},o.default.createElement("img",{src:this.img,alt:""}),o.default.createElement("div",{className:"status"})),o.default.createElement("div",{className:"notice-msg"}),o.default.createElement("div",{className:"user-controls"},o.default.createElement("a",{className:"user fade",href:"https://unsplash.com/@"+this.user+"?utm_source=wordpress-instant-images&utm_medium=referral",target:"_blank",title:this.view_all+" @"+this.user},o.default.createElement("div",{className:"user-wrap"},this.user_photo.length>0&&o.default.createElement("img",{src:this.user_photo}),this.user)),o.default.createElement("div",{className:"photo-options"},this.displayGutenbergControl&&o.default.createElement("button",{type:"button",className:"set-featured fade","data-title":instant_img_localize.set_as_featured,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)},onClick:function(t){return e.setFeaturedImageClick(t)}},o.default.createElement("i",{className:"fa fa-picture-o","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.set_as_featured)),this.displayGutenbergControl&&o.default.createElement("button",{type:"button",className:"insert fade","data-title":instant_img_localize.insert_into_post,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)},onClick:function(t){return e.insertImageIntoPost(t)}},o.default.createElement("i",{className:"fa fa-plus","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.insert_into_post)),o.default.createElement("a",{href:"#",className:"edit-photo-admin fade","data-title":instant_img_localize.edit_upload,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)}},o.default.createElement("i",{className:"fa fa-pencil","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.edit_upload)),o.default.createElement("button",{type:"button",className:"edit-photo fade","data-title":instant_img_localize.edit_details,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)},onClick:function(t){return e.showEditScreen(t)}},o.default.createElement("i",{className:"fa fa-cog","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.edit_details)))),o.default.createElement("div",{className:"options"},o.default.createElement("span",{className:"likes tooltip--above","data-title":this.likes+" "+t,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)}},o.default.createElement("i",{className:"fa fa-heart heart-like","aria-hidden":"true"})," ",this.likes),o.default.createElement("a",{className:"tooltip--above",href:this.link,"data-title":instant_img_localize.view_on_unsplash,onMouseEnter:function(t){return e.showTooltip(t)},onMouseLeave:function(t){return e.hideTooltip(t)},target:"_blank"},o.default.createElement("i",{className:"fa fa-external-link","aria-hidden":"true"}),o.default.createElement("span",{className:"offscreen"},instant_img_localize.view_on_unsplash)))),o.default.createElement("div",{className:"edit-screen",tabIndex:"0"},o.default.createElement("div",{className:"edit-screen--title"},o.default.createElement("p",{className:"heading"},instant_img_localize.edit_details),o.default.createElement("p",null,instant_img_localize.edit_details_intro,".")),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_filename,":"),o.default.createElement("input",{type:"text",name:"filename","data-original":this.filename,placeholder:this.filename,value:this.state.filename,onChange:function(t){return e.handleEditChange(t)}}),o.default.createElement("em",null,".jpg")),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_title,":"),o.default.createElement("input",{type:"text",name:"title","data-original":this.title,placeholder:this.title,value:this.state.title||"",onChange:function(t){return e.handleEditChange(t)}})),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_alt,":"),o.default.createElement("input",{type:"text",name:"alt","data-original":this.alt,value:this.state.alt||"",onChange:function(t){return e.handleEditChange(t)}})),o.default.createElement("label",null,o.default.createElement("span",null,instant_img_localize.edit_caption,":"),o.default.createElement("textarea",{rows:"3",name:"caption","data-original":"",onChange:function(t){return e.handleEditChange(t)},value:this.state.caption||""})),o.default.createElement("div",{className:"edit-screen--controls"},o.default.createElement("button",{type:"button",className:"button",onClick:function(t){return e.cancelEditChange(t)}},instant_img_localize.cancel)," ",o.default.createElement("button",{type:"button",className:"button button-primary",onClick:function(t){return e.saveEditChange(t)}},instant_img_localize.upload_now)))))}}]),t}();t.default=u},function(e,t,n){e.exports=n(191)},function(e,t,n){"use strict";var r=n(7),o=n(88),i=n(193),a=n(51);function s(e){var t=new i(e),n=o(i.prototype.request,t);return r.extend(n,i.prototype,t),r.extend(n,t),n}var u=s(a);u.Axios=i,u.create=function(e){return s(r.merge(a,e))},u.Cancel=n(92),u.CancelToken=n(207),u.isCancel=n(91),u.all=function(e){return Promise.all(e)},u.spread=n(208),e.exports=u,e.exports.default=u},function(e,t){function n(e){return!!e.constructor&&"function"==typeof e.constructor.isBuffer&&e.constructor.isBuffer(e)}
|
44 |
/*!
|
45 |
* Determine if an object is a Buffer
|
46 |
*
|
47 |
* @author Feross Aboukhadijeh <https://feross.org>
|
48 |
* @license MIT
|
49 |
*/
|
50 |
+
e.exports=function(e){return null!=e&&(n(e)||function(e){return"function"==typeof e.readFloatLE&&"function"==typeof e.slice&&n(e.slice(0,0))}(e)||!!e._isBuffer)}},function(e,t,n){"use strict";var r=n(51),o=n(7),i=n(202),a=n(203);function s(e){this.defaults=e,this.interceptors={request:new i,response:new i}}s.prototype.request=function(e){"string"==typeof e&&(e=o.merge({url:arguments[0]},arguments[1])),(e=o.merge(r,{method:"get"},this.defaults,e)).method=e.method.toLowerCase();var t=[a,void 0],n=Promise.resolve(e);for(this.interceptors.request.forEach(function(e){t.unshift(e.fulfilled,e.rejected)}),this.interceptors.response.forEach(function(e){t.push(e.fulfilled,e.rejected)});t.length;)n=n.then(t.shift(),t.shift());return n},o.forEach(["delete","get","head","options"],function(e){s.prototype[e]=function(t,n){return this.request(o.merge(n||{},{method:e,url:t}))}}),o.forEach(["post","put","patch"],function(e){s.prototype[e]=function(t,n,r){return this.request(o.merge(r||{},{method:e,url:t,data:n}))}}),e.exports=s},function(e,t,n){"use strict";var r=n(7);e.exports=function(e,t){r.forEach(e,function(n,r){r!==t&&r.toUpperCase()===t.toUpperCase()&&(e[t]=n,delete e[r])})}},function(e,t,n){"use strict";var r=n(90);e.exports=function(e,t,n){var o=n.config.validateStatus;n.status&&o&&!o(n.status)?t(r("Request failed with status code "+n.status,n.config,null,n.request,n)):e(n)}},function(e,t,n){"use strict";e.exports=function(e,t,n,r,o){return e.config=t,n&&(e.code=n),e.request=r,e.response=o,e}},function(e,t,n){"use strict";var r=n(7);function o(e){return encodeURIComponent(e).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}e.exports=function(e,t,n){if(!t)return e;var i;if(n)i=n(t);else if(r.isURLSearchParams(t))i=t.toString();else{var a=[];r.forEach(t,function(e,t){null!=e&&(r.isArray(e)?t+="[]":e=[e],r.forEach(e,function(e){r.isDate(e)?e=e.toISOString():r.isObject(e)&&(e=JSON.stringify(e)),a.push(o(t)+"="+o(e))}))}),i=a.join("&")}return i&&(e+=(-1===e.indexOf("?")?"?":"&")+i),e}},function(e,t,n){"use strict";var r=n(7),o=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];e.exports=function(e){var t,n,i,a={};return e?(r.forEach(e.split("\n"),function(e){if(i=e.indexOf(":"),t=r.trim(e.substr(0,i)).toLowerCase(),n=r.trim(e.substr(i+1)),t){if(a[t]&&o.indexOf(t)>=0)return;a[t]="set-cookie"===t?(a[t]?a[t]:[]).concat([n]):a[t]?a[t]+", "+n:n}}),a):a}},function(e,t,n){"use strict";var r=n(7);e.exports=r.isStandardBrowserEnv()?function(){var e,t=/(msie|trident)/i.test(navigator.userAgent),n=document.createElement("a");function o(e){var r=e;return t&&(n.setAttribute("href",r),r=n.href),n.setAttribute("href",r),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:"/"===n.pathname.charAt(0)?n.pathname:"/"+n.pathname}}return e=o(window.location.href),function(t){var n=r.isString(t)?o(t):t;return n.protocol===e.protocol&&n.host===e.host}}():function(){return!0}},function(e,t,n){"use strict";var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function o(){this.message="String contains an invalid character"}o.prototype=new Error,o.prototype.code=5,o.prototype.name="InvalidCharacterError",e.exports=function(e){for(var t,n,i=String(e),a="",s=0,u=r;i.charAt(0|s)||(u="=",s%1);a+=u.charAt(63&t>>8-s%1*8)){if((n=i.charCodeAt(s+=.75))>255)throw new o;t=t<<8|n}return a}},function(e,t,n){"use strict";var r=n(7);e.exports=r.isStandardBrowserEnv()?{write:function(e,t,n,o,i,a){var s=[];s.push(e+"="+encodeURIComponent(t)),r.isNumber(n)&&s.push("expires="+new Date(n).toGMTString()),r.isString(o)&&s.push("path="+o),r.isString(i)&&s.push("domain="+i),!0===a&&s.push("secure"),document.cookie=s.join("; ")},read:function(e){var t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove:function(e){this.write(e,"",Date.now()-864e5)}}:{write:function(){},read:function(){return null},remove:function(){}}},function(e,t,n){"use strict";var r=n(7);function o(){this.handlers=[]}o.prototype.use=function(e,t){return this.handlers.push({fulfilled:e,rejected:t}),this.handlers.length-1},o.prototype.eject=function(e){this.handlers[e]&&(this.handlers[e]=null)},o.prototype.forEach=function(e){r.forEach(this.handlers,function(t){null!==t&&e(t)})},e.exports=o},function(e,t,n){"use strict";var r=n(7),o=n(204),i=n(91),a=n(51),s=n(205),u=n(206);function l(e){e.cancelToken&&e.cancelToken.throwIfRequested()}e.exports=function(e){return l(e),e.baseURL&&!s(e.url)&&(e.url=u(e.baseURL,e.url)),e.headers=e.headers||{},e.data=o(e.data,e.headers,e.transformRequest),e.headers=r.merge(e.headers.common||{},e.headers[e.method]||{},e.headers||{}),r.forEach(["delete","get","head","post","put","patch","common"],function(t){delete e.headers[t]}),(e.adapter||a.adapter)(e).then(function(t){return l(e),t.data=o(t.data,t.headers,e.transformResponse),t},function(t){return i(t)||(l(e),t&&t.response&&(t.response.data=o(t.response.data,t.response.headers,e.transformResponse))),Promise.reject(t)})}},function(e,t,n){"use strict";var r=n(7);e.exports=function(e,t,n){return r.forEach(n,function(n){e=n(e,t)}),e}},function(e,t,n){"use strict";e.exports=function(e){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(e)}},function(e,t,n){"use strict";e.exports=function(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}},function(e,t,n){"use strict";var r=n(92);function o(e){if("function"!=typeof e)throw new TypeError("executor must be a function.");var t;this.promise=new Promise(function(e){t=e});var n=this;e(function(e){n.reason||(n.reason=new r(e),t(n.reason))})}o.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},o.source=function(){var e;return{token:new o(function(t){e=t}),cancel:e}},e.exports=o},function(e,t,n){"use strict";e.exports=function(e){return function(t){return e.apply(null,t)}}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,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}}(),i=n(29),a=(r=i)&&r.__esModule?r:{default:r};var s=function(e){function t(e){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),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,(t.__proto__||Object.getPrototypeOf(t)).call(this,e))}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)}(t,a.default.Component),o(t,[{key:"resetSearch",value:function(){this.props.container.querySelector(".control-nav").querySelector("li button.latest").click()}},{key:"render",value:function(){var e=this;return a.default.createElement("div",{className:this.props.isSearch?"searchResults":"searchResults hide"},a.default.createElement("span",{title:this.props.title},this.props.total),a.default.createElement("button",{type:"button",title:instant_img_localize.clear_search,onClick:function(t){return e.resetSearch()}},"x",a.default.createElement("span",{className:"offscreen"},instant_img_localize.clear_search)))}}]),t}();t.default=s},function(e,t,n){var r,o;
|
51 |
+
/*!
|
52 |
+
* imagesLoaded v4.1.3
|
53 |
+
* JavaScript is all like "You images are done yet or what?"
|
54 |
+
* MIT License
|
55 |
+
*/
|
56 |
+
/*!
|
57 |
+
* imagesLoaded v4.1.3
|
58 |
+
* JavaScript is all like "You images are done yet or what?"
|
59 |
+
* MIT License
|
60 |
+
*/
|
61 |
+
!function(i,a){"use strict";r=[n(49)],void 0===(o=function(e){return function(e,t){var n=e.jQuery,r=e.console;function o(e,t){for(var n in t)e[n]=t[n];return e}function i(e,t,r){if(!(this instanceof i))return new i(e,t,r);"string"==typeof e&&(e=document.querySelectorAll(e)),this.elements=function(e){var t=[];if(Array.isArray(e))t=e;else if("number"==typeof e.length)for(var n=0;n<e.length;n++)t.push(e[n]);else t.push(e);return t}(e),this.options=o({},this.options),"function"==typeof t?r=t:o(this.options,t),r&&this.on("always",r),this.getImages(),n&&(this.jqDeferred=new n.Deferred),setTimeout(function(){this.check()}.bind(this))}i.prototype=Object.create(t.prototype),i.prototype.options={},i.prototype.getImages=function(){this.images=[],this.elements.forEach(this.addElementImages,this)},i.prototype.addElementImages=function(e){"IMG"==e.nodeName&&this.addImage(e),!0===this.options.background&&this.addElementBackgroundImages(e);var t=e.nodeType;if(t&&a[t]){for(var n=e.querySelectorAll("img"),r=0;r<n.length;r++){var o=n[r];this.addImage(o)}if("string"==typeof this.options.background){var i=e.querySelectorAll(this.options.background);for(r=0;r<i.length;r++){var s=i[r];this.addElementBackgroundImages(s)}}}};var a={1:!0,9:!0,11:!0};function s(e){this.img=e}function u(e,t){this.url=e,this.element=t,this.img=new Image}return i.prototype.addElementBackgroundImages=function(e){var t=getComputedStyle(e);if(t)for(var n=/url\((['"])?(.*?)\1\)/gi,r=n.exec(t.backgroundImage);null!==r;){var o=r&&r[2];o&&this.addBackground(o,e),r=n.exec(t.backgroundImage)}},i.prototype.addImage=function(e){var t=new s(e);this.images.push(t)},i.prototype.addBackground=function(e,t){var n=new u(e,t);this.images.push(n)},i.prototype.check=function(){var e=this;function t(t,n,r){setTimeout(function(){e.progress(t,n,r)})}this.progressedCount=0,this.hasAnyBroken=!1,this.images.length?this.images.forEach(function(e){e.once("progress",t),e.check()}):this.complete()},i.prototype.progress=function(e,t,n){this.progressedCount++,this.hasAnyBroken=this.hasAnyBroken||!e.isLoaded,this.emitEvent("progress",[this,e,t]),this.jqDeferred&&this.jqDeferred.notify&&this.jqDeferred.notify(this,e),this.progressedCount==this.images.length&&this.complete(),this.options.debug&&r&&r.log("progress: "+n,e,t)},i.prototype.complete=function(){var e=this.hasAnyBroken?"fail":"done";if(this.isComplete=!0,this.emitEvent(e,[this]),this.emitEvent("always",[this]),this.jqDeferred){var t=this.hasAnyBroken?"reject":"resolve";this.jqDeferred[t](this)}},s.prototype=Object.create(t.prototype),s.prototype.check=function(){this.getIsImageComplete()?this.confirm(0!==this.img.naturalWidth,"naturalWidth"):(this.proxyImage=new Image,this.proxyImage.addEventListener("load",this),this.proxyImage.addEventListener("error",this),this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.proxyImage.src=this.img.src)},s.prototype.getIsImageComplete=function(){return this.img.complete&&void 0!==this.img.naturalWidth},s.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.img,t])},s.prototype.handleEvent=function(e){var t="on"+e.type;this[t]&&this[t](e)},s.prototype.onload=function(){this.confirm(!0,"onload"),this.unbindEvents()},s.prototype.onerror=function(){this.confirm(!1,"onerror"),this.unbindEvents()},s.prototype.unbindEvents=function(){this.proxyImage.removeEventListener("load",this),this.proxyImage.removeEventListener("error",this),this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},u.prototype=Object.create(s.prototype),u.prototype.check=function(){this.img.addEventListener("load",this),this.img.addEventListener("error",this),this.img.src=this.url,this.getIsImageComplete()&&(this.confirm(0!==this.img.naturalWidth,"naturalWidth"),this.unbindEvents())},u.prototype.unbindEvents=function(){this.img.removeEventListener("load",this),this.img.removeEventListener("error",this)},u.prototype.confirm=function(e,t){this.isLoaded=e,this.emitEvent("progress",[this,this.element,t])},i.makeJQueryPlugin=function(t){(t=t||e.jQuery)&&((n=t).fn.imagesLoaded=function(e,t){return new i(this,e,t).jqDeferred.promise(n(this))})},i.makeJQueryPlugin(),i}(i,e)}.apply(t,r))||(e.exports=o)}("undefined"!=typeof window?window:this)},,,,,,,function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r,o=n(218),i=(r=o)&&r.__esModule?r:{default:r};t.default=function(e){var t=e.color,n=void 0===t?"unsplash":t;return React.createElement("span",{className:(0,i.default)("instant-images-sidebar-icon","color-"+n)},React.createElement("svg",{viewBox:"0 0 31 58",width:"13px",height:"24px"},React.createElement("title",null,"Instant Images Logo"),React.createElement("polygon",{points:"20 0 20 23 31 23 11 58 11 34 0 34 20 0",fill:"#4a7bc5"})))}},function(e,t,n){var r;
|
62 |
/*!
|
63 |
Copyright (c) 2017 Jed Watson.
|
64 |
Licensed under the MIT License (MIT), see
|
69 |
Licensed under the MIT License (MIT), see
|
70 |
http://jedwatson.github.io/classnames
|
71 |
*/
|
72 |
+
!function(){"use strict";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r)&&r.length){var a=o.apply(null,r);a&&e.push(a)}else if("object"===i)for(var s in r)n.call(r,s)&&r[s]&&e.push(s)}}return e.join(" ")}e.exports?(o.default=o,e.exports=o):void 0===(r=function(){return o}.apply(t,[]))||(e.exports=r)}()},,,function(e,t,n){"use strict";i(n(217));var r=i(n(222)),o=i(n(225));function i(e){return e&&e.__esModule?e:{default:e}}var a=wp.element.Fragment,s=wp.editPost;s.PluginSidebar,s.PluginSidebarMoreMenuItem;(0,wp.plugins.registerPlugin)("instant-images",{render:function(){return React.createElement(a,null,React.createElement(o.default,null),React.createElement(r.default,null))}})},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});s(n(218));var r=s(n(217)),o=s(n(223)),i=s(n(224)),a=s(n(179));function s(e){return e&&e.__esModule?e:{default:e}}wp.element.Component;var u=wp.editPost,l=u.PluginSidebar;u.PluginSidebarMoreMenuItem;t.default=function(){return React.createElement(l,{icon:React.createElement(r.default,{borderless:!0,color:"unsplash"}),name:"instant-images-sidebar",title:"Instant Images"},React.createElement("div",{className:"instant-img-container"},React.createElement(a.default,{editor:"gutenberg",page:"1",orderby:"latest",service:"unsplash",SetFeaturedImage:o.default,InsertImage:i.default})))}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=wp.data.dispatch;t.default=function(e){if(null===e)return!1;r("core/editor").editPost({featured_media:e})}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=wp.blocks.createBlock;t.default=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";if(""===e)return!1;var o=r("core/image",{url:e,caption:t,alt:n});wp.data.dispatch("core/editor").insertBlocks(o)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});o(n(218));var r=o(n(217));function o(e){return e&&e.__esModule?e:{default:e}}wp.element.Component;var i=wp.editPost,a=(i.PluginSidebar,i.PluginSidebarMoreMenuItem);t.default=function(){return React.createElement(a,{icon:React.createElement(r.default,{color:"unsplash"}),target:"instant-images-sidebar"},"Instant Images")}}]);
|
dist/js/instant-images-media.js
ADDED
@@ -0,0 +1,31222 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/******/ (function(modules) { // webpackBootstrap
|
2 |
+
/******/ // The module cache
|
3 |
+
/******/ var installedModules = {};
|
4 |
+
/******/
|
5 |
+
/******/ // The require function
|
6 |
+
/******/ function __webpack_require__(moduleId) {
|
7 |
+
/******/
|
8 |
+
/******/ // Check if module is in cache
|
9 |
+
/******/ if(installedModules[moduleId]) {
|
10 |
+
/******/ return installedModules[moduleId].exports;
|
11 |
+
/******/ }
|
12 |
+
/******/ // Create a new module (and put it into the cache)
|
13 |
+
/******/ var module = installedModules[moduleId] = {
|
14 |
+
/******/ i: moduleId,
|
15 |
+
/******/ l: false,
|
16 |
+
/******/ exports: {}
|
17 |
+
/******/ };
|
18 |
+
/******/
|
19 |
+
/******/ // Execute the module function
|
20 |
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
21 |
+
/******/
|
22 |
+
/******/ // Flag the module as loaded
|
23 |
+
/******/ module.l = true;
|
24 |
+
/******/
|
25 |
+
/******/ // Return the exports of the module
|
26 |
+
/******/ return module.exports;
|
27 |
+
/******/ }
|
28 |
+
/******/
|
29 |
+
/******/
|
30 |
+
/******/ // expose the modules object (__webpack_modules__)
|
31 |
+
/******/ __webpack_require__.m = modules;
|
32 |
+
/******/
|
33 |
+
/******/ // expose the module cache
|
34 |
+
/******/ __webpack_require__.c = installedModules;
|
35 |
+
/******/
|
36 |
+
/******/ // define getter function for harmony exports
|
37 |
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
38 |
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
39 |
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
40 |
+
/******/ }
|
41 |
+
/******/ };
|
42 |
+
/******/
|
43 |
+
/******/ // define __esModule on exports
|
44 |
+
/******/ __webpack_require__.r = function(exports) {
|
45 |
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
46 |
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
47 |
+
/******/ }
|
48 |
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
49 |
+
/******/ };
|
50 |
+
/******/
|
51 |
+
/******/ // create a fake namespace object
|
52 |
+
/******/ // mode & 1: value is a module id, require it
|
53 |
+
/******/ // mode & 2: merge all properties of value into the ns
|
54 |
+
/******/ // mode & 4: return value when already ns object
|
55 |
+
/******/ // mode & 8|1: behave like require
|
56 |
+
/******/ __webpack_require__.t = function(value, mode) {
|
57 |
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
58 |
+
/******/ if(mode & 8) return value;
|
59 |
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
60 |
+
/******/ var ns = Object.create(null);
|
61 |
+
/******/ __webpack_require__.r(ns);
|
62 |
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
63 |
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
64 |
+
/******/ return ns;
|
65 |
+
/******/ };
|
66 |
+
/******/
|
67 |
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
68 |
+
/******/ __webpack_require__.n = function(module) {
|
69 |
+
/******/ var getter = module && module.__esModule ?
|
70 |
+
/******/ function getDefault() { return module['default']; } :
|
71 |
+
/******/ function getModuleExports() { return module; };
|
72 |
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
73 |
+
/******/ return getter;
|
74 |
+
/******/ };
|
75 |
+
/******/
|
76 |
+
/******/ // Object.prototype.hasOwnProperty.call
|
77 |
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
78 |
+
/******/
|
79 |
+
/******/ // __webpack_public_path__
|
80 |
+
/******/ __webpack_require__.p = "";
|
81 |
+
/******/
|
82 |
+
/******/
|
83 |
+
/******/ // Load entry module and return exports
|
84 |
+
/******/ return __webpack_require__(__webpack_require__.s = "./src/js/media-router.js");
|
85 |
+
/******/ })
|
86 |
+
/************************************************************************/
|
87 |
+
/******/ ({
|
88 |
+
|
89 |
+
/***/ "./node_modules/axios/index.js":
|
90 |
+
/*!*************************************!*\
|
91 |
+
!*** ./node_modules/axios/index.js ***!
|
92 |
+
\*************************************/
|
93 |
+
/*! no static exports found */
|
94 |
+
/***/ (function(module, exports, __webpack_require__) {
|
95 |
+
|
96 |
+
module.exports = __webpack_require__(/*! ./lib/axios */ "./node_modules/axios/lib/axios.js");
|
97 |
+
|
98 |
+
/***/ }),
|
99 |
+
|
100 |
+
/***/ "./node_modules/axios/lib/adapters/xhr.js":
|
101 |
+
/*!************************************************!*\
|
102 |
+
!*** ./node_modules/axios/lib/adapters/xhr.js ***!
|
103 |
+
\************************************************/
|
104 |
+
/*! no static exports found */
|
105 |
+
/***/ (function(module, exports, __webpack_require__) {
|
106 |
+
|
107 |
+
"use strict";
|
108 |
+
|
109 |
+
|
110 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
111 |
+
var settle = __webpack_require__(/*! ./../core/settle */ "./node_modules/axios/lib/core/settle.js");
|
112 |
+
var buildURL = __webpack_require__(/*! ./../helpers/buildURL */ "./node_modules/axios/lib/helpers/buildURL.js");
|
113 |
+
var parseHeaders = __webpack_require__(/*! ./../helpers/parseHeaders */ "./node_modules/axios/lib/helpers/parseHeaders.js");
|
114 |
+
var isURLSameOrigin = __webpack_require__(/*! ./../helpers/isURLSameOrigin */ "./node_modules/axios/lib/helpers/isURLSameOrigin.js");
|
115 |
+
var createError = __webpack_require__(/*! ../core/createError */ "./node_modules/axios/lib/core/createError.js");
|
116 |
+
var btoa = (typeof window !== 'undefined' && window.btoa && window.btoa.bind(window)) || __webpack_require__(/*! ./../helpers/btoa */ "./node_modules/axios/lib/helpers/btoa.js");
|
117 |
+
|
118 |
+
module.exports = function xhrAdapter(config) {
|
119 |
+
return new Promise(function dispatchXhrRequest(resolve, reject) {
|
120 |
+
var requestData = config.data;
|
121 |
+
var requestHeaders = config.headers;
|
122 |
+
|
123 |
+
if (utils.isFormData(requestData)) {
|
124 |
+
delete requestHeaders['Content-Type']; // Let the browser set it
|
125 |
+
}
|
126 |
+
|
127 |
+
var request = new XMLHttpRequest();
|
128 |
+
var loadEvent = 'onreadystatechange';
|
129 |
+
var xDomain = false;
|
130 |
+
|
131 |
+
// For IE 8/9 CORS support
|
132 |
+
// Only supports POST and GET calls and doesn't returns the response headers.
|
133 |
+
// DON'T do this for testing b/c XMLHttpRequest is mocked, not XDomainRequest.
|
134 |
+
if ( true &&
|
135 |
+
typeof window !== 'undefined' &&
|
136 |
+
window.XDomainRequest && !('withCredentials' in request) &&
|
137 |
+
!isURLSameOrigin(config.url)) {
|
138 |
+
request = new window.XDomainRequest();
|
139 |
+
loadEvent = 'onload';
|
140 |
+
xDomain = true;
|
141 |
+
request.onprogress = function handleProgress() {};
|
142 |
+
request.ontimeout = function handleTimeout() {};
|
143 |
+
}
|
144 |
+
|
145 |
+
// HTTP basic authentication
|
146 |
+
if (config.auth) {
|
147 |
+
var username = config.auth.username || '';
|
148 |
+
var password = config.auth.password || '';
|
149 |
+
requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
|
150 |
+
}
|
151 |
+
|
152 |
+
request.open(config.method.toUpperCase(), buildURL(config.url, config.params, config.paramsSerializer), true);
|
153 |
+
|
154 |
+
// Set the request timeout in MS
|
155 |
+
request.timeout = config.timeout;
|
156 |
+
|
157 |
+
// Listen for ready state
|
158 |
+
request[loadEvent] = function handleLoad() {
|
159 |
+
if (!request || (request.readyState !== 4 && !xDomain)) {
|
160 |
+
return;
|
161 |
+
}
|
162 |
+
|
163 |
+
// The request errored out and we didn't get a response, this will be
|
164 |
+
// handled by onerror instead
|
165 |
+
// With one exception: request that using file: protocol, most browsers
|
166 |
+
// will return status as 0 even though it's a successful request
|
167 |
+
if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
|
168 |
+
return;
|
169 |
+
}
|
170 |
+
|
171 |
+
// Prepare the response
|
172 |
+
var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
|
173 |
+
var responseData = !config.responseType || config.responseType === 'text' ? request.responseText : request.response;
|
174 |
+
var response = {
|
175 |
+
data: responseData,
|
176 |
+
// IE sends 1223 instead of 204 (https://github.com/axios/axios/issues/201)
|
177 |
+
status: request.status === 1223 ? 204 : request.status,
|
178 |
+
statusText: request.status === 1223 ? 'No Content' : request.statusText,
|
179 |
+
headers: responseHeaders,
|
180 |
+
config: config,
|
181 |
+
request: request
|
182 |
+
};
|
183 |
+
|
184 |
+
settle(resolve, reject, response);
|
185 |
+
|
186 |
+
// Clean up request
|
187 |
+
request = null;
|
188 |
+
};
|
189 |
+
|
190 |
+
// Handle low level network errors
|
191 |
+
request.onerror = function handleError() {
|
192 |
+
// Real errors are hidden from us by the browser
|
193 |
+
// onerror should only fire if it's a network error
|
194 |
+
reject(createError('Network Error', config, null, request));
|
195 |
+
|
196 |
+
// Clean up request
|
197 |
+
request = null;
|
198 |
+
};
|
199 |
+
|
200 |
+
// Handle timeout
|
201 |
+
request.ontimeout = function handleTimeout() {
|
202 |
+
reject(createError('timeout of ' + config.timeout + 'ms exceeded', config, 'ECONNABORTED',
|
203 |
+
request));
|
204 |
+
|
205 |
+
// Clean up request
|
206 |
+
request = null;
|
207 |
+
};
|
208 |
+
|
209 |
+
// Add xsrf header
|
210 |
+
// This is only done if running in a standard browser environment.
|
211 |
+
// Specifically not if we're in a web worker, or react-native.
|
212 |
+
if (utils.isStandardBrowserEnv()) {
|
213 |
+
var cookies = __webpack_require__(/*! ./../helpers/cookies */ "./node_modules/axios/lib/helpers/cookies.js");
|
214 |
+
|
215 |
+
// Add xsrf header
|
216 |
+
var xsrfValue = (config.withCredentials || isURLSameOrigin(config.url)) && config.xsrfCookieName ?
|
217 |
+
cookies.read(config.xsrfCookieName) :
|
218 |
+
undefined;
|
219 |
+
|
220 |
+
if (xsrfValue) {
|
221 |
+
requestHeaders[config.xsrfHeaderName] = xsrfValue;
|
222 |
+
}
|
223 |
+
}
|
224 |
+
|
225 |
+
// Add headers to the request
|
226 |
+
if ('setRequestHeader' in request) {
|
227 |
+
utils.forEach(requestHeaders, function setRequestHeader(val, key) {
|
228 |
+
if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
|
229 |
+
// Remove Content-Type if data is undefined
|
230 |
+
delete requestHeaders[key];
|
231 |
+
} else {
|
232 |
+
// Otherwise add header to the request
|
233 |
+
request.setRequestHeader(key, val);
|
234 |
+
}
|
235 |
+
});
|
236 |
+
}
|
237 |
+
|
238 |
+
// Add withCredentials to request if needed
|
239 |
+
if (config.withCredentials) {
|
240 |
+
request.withCredentials = true;
|
241 |
+
}
|
242 |
+
|
243 |
+
// Add responseType to request if needed
|
244 |
+
if (config.responseType) {
|
245 |
+
try {
|
246 |
+
request.responseType = config.responseType;
|
247 |
+
} catch (e) {
|
248 |
+
// Expected DOMException thrown by browsers not compatible XMLHttpRequest Level 2.
|
249 |
+
// But, this can be suppressed for 'json' type as it can be parsed by default 'transformResponse' function.
|
250 |
+
if (config.responseType !== 'json') {
|
251 |
+
throw e;
|
252 |
+
}
|
253 |
+
}
|
254 |
+
}
|
255 |
+
|
256 |
+
// Handle progress if needed
|
257 |
+
if (typeof config.onDownloadProgress === 'function') {
|
258 |
+
request.addEventListener('progress', config.onDownloadProgress);
|
259 |
+
}
|
260 |
+
|
261 |
+
// Not all browsers support upload events
|
262 |
+
if (typeof config.onUploadProgress === 'function' && request.upload) {
|
263 |
+
request.upload.addEventListener('progress', config.onUploadProgress);
|
264 |
+
}
|
265 |
+
|
266 |
+
if (config.cancelToken) {
|
267 |
+
// Handle cancellation
|
268 |
+
config.cancelToken.promise.then(function onCanceled(cancel) {
|
269 |
+
if (!request) {
|
270 |
+
return;
|
271 |
+
}
|
272 |
+
|
273 |
+
request.abort();
|
274 |
+
reject(cancel);
|
275 |
+
// Clean up request
|
276 |
+
request = null;
|
277 |
+
});
|
278 |
+
}
|
279 |
+
|
280 |
+
if (requestData === undefined) {
|
281 |
+
requestData = null;
|
282 |
+
}
|
283 |
+
|
284 |
+
// Send the request
|
285 |
+
request.send(requestData);
|
286 |
+
});
|
287 |
+
};
|
288 |
+
|
289 |
+
|
290 |
+
/***/ }),
|
291 |
+
|
292 |
+
/***/ "./node_modules/axios/lib/axios.js":
|
293 |
+
/*!*****************************************!*\
|
294 |
+
!*** ./node_modules/axios/lib/axios.js ***!
|
295 |
+
\*****************************************/
|
296 |
+
/*! no static exports found */
|
297 |
+
/***/ (function(module, exports, __webpack_require__) {
|
298 |
+
|
299 |
+
"use strict";
|
300 |
+
|
301 |
+
|
302 |
+
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
303 |
+
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
304 |
+
var Axios = __webpack_require__(/*! ./core/Axios */ "./node_modules/axios/lib/core/Axios.js");
|
305 |
+
var defaults = __webpack_require__(/*! ./defaults */ "./node_modules/axios/lib/defaults.js");
|
306 |
+
|
307 |
+
/**
|
308 |
+
* Create an instance of Axios
|
309 |
+
*
|
310 |
+
* @param {Object} defaultConfig The default config for the instance
|
311 |
+
* @return {Axios} A new instance of Axios
|
312 |
+
*/
|
313 |
+
function createInstance(defaultConfig) {
|
314 |
+
var context = new Axios(defaultConfig);
|
315 |
+
var instance = bind(Axios.prototype.request, context);
|
316 |
+
|
317 |
+
// Copy axios.prototype to instance
|
318 |
+
utils.extend(instance, Axios.prototype, context);
|
319 |
+
|
320 |
+
// Copy context to instance
|
321 |
+
utils.extend(instance, context);
|
322 |
+
|
323 |
+
return instance;
|
324 |
+
}
|
325 |
+
|
326 |
+
// Create the default instance to be exported
|
327 |
+
var axios = createInstance(defaults);
|
328 |
+
|
329 |
+
// Expose Axios class to allow class inheritance
|
330 |
+
axios.Axios = Axios;
|
331 |
+
|
332 |
+
// Factory for creating new instances
|
333 |
+
axios.create = function create(instanceConfig) {
|
334 |
+
return createInstance(utils.merge(defaults, instanceConfig));
|
335 |
+
};
|
336 |
+
|
337 |
+
// Expose Cancel & CancelToken
|
338 |
+
axios.Cancel = __webpack_require__(/*! ./cancel/Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
339 |
+
axios.CancelToken = __webpack_require__(/*! ./cancel/CancelToken */ "./node_modules/axios/lib/cancel/CancelToken.js");
|
340 |
+
axios.isCancel = __webpack_require__(/*! ./cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
341 |
+
|
342 |
+
// Expose all/spread
|
343 |
+
axios.all = function all(promises) {
|
344 |
+
return Promise.all(promises);
|
345 |
+
};
|
346 |
+
axios.spread = __webpack_require__(/*! ./helpers/spread */ "./node_modules/axios/lib/helpers/spread.js");
|
347 |
+
|
348 |
+
module.exports = axios;
|
349 |
+
|
350 |
+
// Allow use of default import syntax in TypeScript
|
351 |
+
module.exports.default = axios;
|
352 |
+
|
353 |
+
|
354 |
+
/***/ }),
|
355 |
+
|
356 |
+
/***/ "./node_modules/axios/lib/cancel/Cancel.js":
|
357 |
+
/*!*************************************************!*\
|
358 |
+
!*** ./node_modules/axios/lib/cancel/Cancel.js ***!
|
359 |
+
\*************************************************/
|
360 |
+
/*! no static exports found */
|
361 |
+
/***/ (function(module, exports, __webpack_require__) {
|
362 |
+
|
363 |
+
"use strict";
|
364 |
+
|
365 |
+
|
366 |
+
/**
|
367 |
+
* A `Cancel` is an object that is thrown when an operation is canceled.
|
368 |
+
*
|
369 |
+
* @class
|
370 |
+
* @param {string=} message The message.
|
371 |
+
*/
|
372 |
+
function Cancel(message) {
|
373 |
+
this.message = message;
|
374 |
+
}
|
375 |
+
|
376 |
+
Cancel.prototype.toString = function toString() {
|
377 |
+
return 'Cancel' + (this.message ? ': ' + this.message : '');
|
378 |
+
};
|
379 |
+
|
380 |
+
Cancel.prototype.__CANCEL__ = true;
|
381 |
+
|
382 |
+
module.exports = Cancel;
|
383 |
+
|
384 |
+
|
385 |
+
/***/ }),
|
386 |
+
|
387 |
+
/***/ "./node_modules/axios/lib/cancel/CancelToken.js":
|
388 |
+
/*!******************************************************!*\
|
389 |
+
!*** ./node_modules/axios/lib/cancel/CancelToken.js ***!
|
390 |
+
\******************************************************/
|
391 |
+
/*! no static exports found */
|
392 |
+
/***/ (function(module, exports, __webpack_require__) {
|
393 |
+
|
394 |
+
"use strict";
|
395 |
+
|
396 |
+
|
397 |
+
var Cancel = __webpack_require__(/*! ./Cancel */ "./node_modules/axios/lib/cancel/Cancel.js");
|
398 |
+
|
399 |
+
/**
|
400 |
+
* A `CancelToken` is an object that can be used to request cancellation of an operation.
|
401 |
+
*
|
402 |
+
* @class
|
403 |
+
* @param {Function} executor The executor function.
|
404 |
+
*/
|
405 |
+
function CancelToken(executor) {
|
406 |
+
if (typeof executor !== 'function') {
|
407 |
+
throw new TypeError('executor must be a function.');
|
408 |
+
}
|
409 |
+
|
410 |
+
var resolvePromise;
|
411 |
+
this.promise = new Promise(function promiseExecutor(resolve) {
|
412 |
+
resolvePromise = resolve;
|
413 |
+
});
|
414 |
+
|
415 |
+
var token = this;
|
416 |
+
executor(function cancel(message) {
|
417 |
+
if (token.reason) {
|
418 |
+
// Cancellation has already been requested
|
419 |
+
return;
|
420 |
+
}
|
421 |
+
|
422 |
+
token.reason = new Cancel(message);
|
423 |
+
resolvePromise(token.reason);
|
424 |
+
});
|
425 |
+
}
|
426 |
+
|
427 |
+
/**
|
428 |
+
* Throws a `Cancel` if cancellation has been requested.
|
429 |
+
*/
|
430 |
+
CancelToken.prototype.throwIfRequested = function throwIfRequested() {
|
431 |
+
if (this.reason) {
|
432 |
+
throw this.reason;
|
433 |
+
}
|
434 |
+
};
|
435 |
+
|
436 |
+
/**
|
437 |
+
* Returns an object that contains a new `CancelToken` and a function that, when called,
|
438 |
+
* cancels the `CancelToken`.
|
439 |
+
*/
|
440 |
+
CancelToken.source = function source() {
|
441 |
+
var cancel;
|
442 |
+
var token = new CancelToken(function executor(c) {
|
443 |
+
cancel = c;
|
444 |
+
});
|
445 |
+
return {
|
446 |
+
token: token,
|
447 |
+
cancel: cancel
|
448 |
+
};
|
449 |
+
};
|
450 |
+
|
451 |
+
module.exports = CancelToken;
|
452 |
+
|
453 |
+
|
454 |
+
/***/ }),
|
455 |
+
|
456 |
+
/***/ "./node_modules/axios/lib/cancel/isCancel.js":
|
457 |
+
/*!***************************************************!*\
|
458 |
+
!*** ./node_modules/axios/lib/cancel/isCancel.js ***!
|
459 |
+
\***************************************************/
|
460 |
+
/*! no static exports found */
|
461 |
+
/***/ (function(module, exports, __webpack_require__) {
|
462 |
+
|
463 |
+
"use strict";
|
464 |
+
|
465 |
+
|
466 |
+
module.exports = function isCancel(value) {
|
467 |
+
return !!(value && value.__CANCEL__);
|
468 |
+
};
|
469 |
+
|
470 |
+
|
471 |
+
/***/ }),
|
472 |
+
|
473 |
+
/***/ "./node_modules/axios/lib/core/Axios.js":
|
474 |
+
/*!**********************************************!*\
|
475 |
+
!*** ./node_modules/axios/lib/core/Axios.js ***!
|
476 |
+
\**********************************************/
|
477 |
+
/*! no static exports found */
|
478 |
+
/***/ (function(module, exports, __webpack_require__) {
|
479 |
+
|
480 |
+
"use strict";
|
481 |
+
|
482 |
+
|
483 |
+
var defaults = __webpack_require__(/*! ./../defaults */ "./node_modules/axios/lib/defaults.js");
|
484 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
485 |
+
var InterceptorManager = __webpack_require__(/*! ./InterceptorManager */ "./node_modules/axios/lib/core/InterceptorManager.js");
|
486 |
+
var dispatchRequest = __webpack_require__(/*! ./dispatchRequest */ "./node_modules/axios/lib/core/dispatchRequest.js");
|
487 |
+
|
488 |
+
/**
|
489 |
+
* Create a new instance of Axios
|
490 |
+
*
|
491 |
+
* @param {Object} instanceConfig The default config for the instance
|
492 |
+
*/
|
493 |
+
function Axios(instanceConfig) {
|
494 |
+
this.defaults = instanceConfig;
|
495 |
+
this.interceptors = {
|
496 |
+
request: new InterceptorManager(),
|
497 |
+
response: new InterceptorManager()
|
498 |
+
};
|
499 |
+
}
|
500 |
+
|
501 |
+
/**
|
502 |
+
* Dispatch a request
|
503 |
+
*
|
504 |
+
* @param {Object} config The config specific for this request (merged with this.defaults)
|
505 |
+
*/
|
506 |
+
Axios.prototype.request = function request(config) {
|
507 |
+
/*eslint no-param-reassign:0*/
|
508 |
+
// Allow for axios('example/url'[, config]) a la fetch API
|
509 |
+
if (typeof config === 'string') {
|
510 |
+
config = utils.merge({
|
511 |
+
url: arguments[0]
|
512 |
+
}, arguments[1]);
|
513 |
+
}
|
514 |
+
|
515 |
+
config = utils.merge(defaults, {method: 'get'}, this.defaults, config);
|
516 |
+
config.method = config.method.toLowerCase();
|
517 |
+
|
518 |
+
// Hook up interceptors middleware
|
519 |
+
var chain = [dispatchRequest, undefined];
|
520 |
+
var promise = Promise.resolve(config);
|
521 |
+
|
522 |
+
this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
|
523 |
+
chain.unshift(interceptor.fulfilled, interceptor.rejected);
|
524 |
+
});
|
525 |
+
|
526 |
+
this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
|
527 |
+
chain.push(interceptor.fulfilled, interceptor.rejected);
|
528 |
+
});
|
529 |
+
|
530 |
+
while (chain.length) {
|
531 |
+
promise = promise.then(chain.shift(), chain.shift());
|
532 |
+
}
|
533 |
+
|
534 |
+
return promise;
|
535 |
+
};
|
536 |
+
|
537 |
+
// Provide aliases for supported request methods
|
538 |
+
utils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {
|
539 |
+
/*eslint func-names:0*/
|
540 |
+
Axios.prototype[method] = function(url, config) {
|
541 |
+
return this.request(utils.merge(config || {}, {
|
542 |
+
method: method,
|
543 |
+
url: url
|
544 |
+
}));
|
545 |
+
};
|
546 |
+
});
|
547 |
+
|
548 |
+
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
549 |
+
/*eslint func-names:0*/
|
550 |
+
Axios.prototype[method] = function(url, data, config) {
|
551 |
+
return this.request(utils.merge(config || {}, {
|
552 |
+
method: method,
|
553 |
+
url: url,
|
554 |
+
data: data
|
555 |
+
}));
|
556 |
+
};
|
557 |
+
});
|
558 |
+
|
559 |
+
module.exports = Axios;
|
560 |
+
|
561 |
+
|
562 |
+
/***/ }),
|
563 |
+
|
564 |
+
/***/ "./node_modules/axios/lib/core/InterceptorManager.js":
|
565 |
+
/*!***********************************************************!*\
|
566 |
+
!*** ./node_modules/axios/lib/core/InterceptorManager.js ***!
|
567 |
+
\***********************************************************/
|
568 |
+
/*! no static exports found */
|
569 |
+
/***/ (function(module, exports, __webpack_require__) {
|
570 |
+
|
571 |
+
"use strict";
|
572 |
+
|
573 |
+
|
574 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
575 |
+
|
576 |
+
function InterceptorManager() {
|
577 |
+
this.handlers = [];
|
578 |
+
}
|
579 |
+
|
580 |
+
/**
|
581 |
+
* Add a new interceptor to the stack
|
582 |
+
*
|
583 |
+
* @param {Function} fulfilled The function to handle `then` for a `Promise`
|
584 |
+
* @param {Function} rejected The function to handle `reject` for a `Promise`
|
585 |
+
*
|
586 |
+
* @return {Number} An ID used to remove interceptor later
|
587 |
+
*/
|
588 |
+
InterceptorManager.prototype.use = function use(fulfilled, rejected) {
|
589 |
+
this.handlers.push({
|
590 |
+
fulfilled: fulfilled,
|
591 |
+
rejected: rejected
|
592 |
+
});
|
593 |
+
return this.handlers.length - 1;
|
594 |
+
};
|
595 |
+
|
596 |
+
/**
|
597 |
+
* Remove an interceptor from the stack
|
598 |
+
*
|
599 |
+
* @param {Number} id The ID that was returned by `use`
|
600 |
+
*/
|
601 |
+
InterceptorManager.prototype.eject = function eject(id) {
|
602 |
+
if (this.handlers[id]) {
|
603 |
+
this.handlers[id] = null;
|
604 |
+
}
|
605 |
+
};
|
606 |
+
|
607 |
+
/**
|
608 |
+
* Iterate over all the registered interceptors
|
609 |
+
*
|
610 |
+
* This method is particularly useful for skipping over any
|
611 |
+
* interceptors that may have become `null` calling `eject`.
|
612 |
+
*
|
613 |
+
* @param {Function} fn The function to call for each interceptor
|
614 |
+
*/
|
615 |
+
InterceptorManager.prototype.forEach = function forEach(fn) {
|
616 |
+
utils.forEach(this.handlers, function forEachHandler(h) {
|
617 |
+
if (h !== null) {
|
618 |
+
fn(h);
|
619 |
+
}
|
620 |
+
});
|
621 |
+
};
|
622 |
+
|
623 |
+
module.exports = InterceptorManager;
|
624 |
+
|
625 |
+
|
626 |
+
/***/ }),
|
627 |
+
|
628 |
+
/***/ "./node_modules/axios/lib/core/createError.js":
|
629 |
+
/*!****************************************************!*\
|
630 |
+
!*** ./node_modules/axios/lib/core/createError.js ***!
|
631 |
+
\****************************************************/
|
632 |
+
/*! no static exports found */
|
633 |
+
/***/ (function(module, exports, __webpack_require__) {
|
634 |
+
|
635 |
+
"use strict";
|
636 |
+
|
637 |
+
|
638 |
+
var enhanceError = __webpack_require__(/*! ./enhanceError */ "./node_modules/axios/lib/core/enhanceError.js");
|
639 |
+
|
640 |
+
/**
|
641 |
+
* Create an Error with the specified message, config, error code, request and response.
|
642 |
+
*
|
643 |
+
* @param {string} message The error message.
|
644 |
+
* @param {Object} config The config.
|
645 |
+
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
646 |
+
* @param {Object} [request] The request.
|
647 |
+
* @param {Object} [response] The response.
|
648 |
+
* @returns {Error} The created error.
|
649 |
+
*/
|
650 |
+
module.exports = function createError(message, config, code, request, response) {
|
651 |
+
var error = new Error(message);
|
652 |
+
return enhanceError(error, config, code, request, response);
|
653 |
+
};
|
654 |
+
|
655 |
+
|
656 |
+
/***/ }),
|
657 |
+
|
658 |
+
/***/ "./node_modules/axios/lib/core/dispatchRequest.js":
|
659 |
+
/*!********************************************************!*\
|
660 |
+
!*** ./node_modules/axios/lib/core/dispatchRequest.js ***!
|
661 |
+
\********************************************************/
|
662 |
+
/*! no static exports found */
|
663 |
+
/***/ (function(module, exports, __webpack_require__) {
|
664 |
+
|
665 |
+
"use strict";
|
666 |
+
|
667 |
+
|
668 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
669 |
+
var transformData = __webpack_require__(/*! ./transformData */ "./node_modules/axios/lib/core/transformData.js");
|
670 |
+
var isCancel = __webpack_require__(/*! ../cancel/isCancel */ "./node_modules/axios/lib/cancel/isCancel.js");
|
671 |
+
var defaults = __webpack_require__(/*! ../defaults */ "./node_modules/axios/lib/defaults.js");
|
672 |
+
var isAbsoluteURL = __webpack_require__(/*! ./../helpers/isAbsoluteURL */ "./node_modules/axios/lib/helpers/isAbsoluteURL.js");
|
673 |
+
var combineURLs = __webpack_require__(/*! ./../helpers/combineURLs */ "./node_modules/axios/lib/helpers/combineURLs.js");
|
674 |
+
|
675 |
+
/**
|
676 |
+
* Throws a `Cancel` if cancellation has been requested.
|
677 |
+
*/
|
678 |
+
function throwIfCancellationRequested(config) {
|
679 |
+
if (config.cancelToken) {
|
680 |
+
config.cancelToken.throwIfRequested();
|
681 |
+
}
|
682 |
+
}
|
683 |
+
|
684 |
+
/**
|
685 |
+
* Dispatch a request to the server using the configured adapter.
|
686 |
+
*
|
687 |
+
* @param {object} config The config that is to be used for the request
|
688 |
+
* @returns {Promise} The Promise to be fulfilled
|
689 |
+
*/
|
690 |
+
module.exports = function dispatchRequest(config) {
|
691 |
+
throwIfCancellationRequested(config);
|
692 |
+
|
693 |
+
// Support baseURL config
|
694 |
+
if (config.baseURL && !isAbsoluteURL(config.url)) {
|
695 |
+
config.url = combineURLs(config.baseURL, config.url);
|
696 |
+
}
|
697 |
+
|
698 |
+
// Ensure headers exist
|
699 |
+
config.headers = config.headers || {};
|
700 |
+
|
701 |
+
// Transform request data
|
702 |
+
config.data = transformData(
|
703 |
+
config.data,
|
704 |
+
config.headers,
|
705 |
+
config.transformRequest
|
706 |
+
);
|
707 |
+
|
708 |
+
// Flatten headers
|
709 |
+
config.headers = utils.merge(
|
710 |
+
config.headers.common || {},
|
711 |
+
config.headers[config.method] || {},
|
712 |
+
config.headers || {}
|
713 |
+
);
|
714 |
+
|
715 |
+
utils.forEach(
|
716 |
+
['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],
|
717 |
+
function cleanHeaderConfig(method) {
|
718 |
+
delete config.headers[method];
|
719 |
+
}
|
720 |
+
);
|
721 |
+
|
722 |
+
var adapter = config.adapter || defaults.adapter;
|
723 |
+
|
724 |
+
return adapter(config).then(function onAdapterResolution(response) {
|
725 |
+
throwIfCancellationRequested(config);
|
726 |
+
|
727 |
+
// Transform response data
|
728 |
+
response.data = transformData(
|
729 |
+
response.data,
|
730 |
+
response.headers,
|
731 |
+
config.transformResponse
|
732 |
+
);
|
733 |
+
|
734 |
+
return response;
|
735 |
+
}, function onAdapterRejection(reason) {
|
736 |
+
if (!isCancel(reason)) {
|
737 |
+
throwIfCancellationRequested(config);
|
738 |
+
|
739 |
+
// Transform response data
|
740 |
+
if (reason && reason.response) {
|
741 |
+
reason.response.data = transformData(
|
742 |
+
reason.response.data,
|
743 |
+
reason.response.headers,
|
744 |
+
config.transformResponse
|
745 |
+
);
|
746 |
+
}
|
747 |
+
}
|
748 |
+
|
749 |
+
return Promise.reject(reason);
|
750 |
+
});
|
751 |
+
};
|
752 |
+
|
753 |
+
|
754 |
+
/***/ }),
|
755 |
+
|
756 |
+
/***/ "./node_modules/axios/lib/core/enhanceError.js":
|
757 |
+
/*!*****************************************************!*\
|
758 |
+
!*** ./node_modules/axios/lib/core/enhanceError.js ***!
|
759 |
+
\*****************************************************/
|
760 |
+
/*! no static exports found */
|
761 |
+
/***/ (function(module, exports, __webpack_require__) {
|
762 |
+
|
763 |
+
"use strict";
|
764 |
+
|
765 |
+
|
766 |
+
/**
|
767 |
+
* Update an Error with the specified config, error code, and response.
|
768 |
+
*
|
769 |
+
* @param {Error} error The error to update.
|
770 |
+
* @param {Object} config The config.
|
771 |
+
* @param {string} [code] The error code (for example, 'ECONNABORTED').
|
772 |
+
* @param {Object} [request] The request.
|
773 |
+
* @param {Object} [response] The response.
|
774 |
+
* @returns {Error} The error.
|
775 |
+
*/
|
776 |
+
module.exports = function enhanceError(error, config, code, request, response) {
|
777 |
+
error.config = config;
|
778 |
+
if (code) {
|
779 |
+
error.code = code;
|
780 |
+
}
|
781 |
+
error.request = request;
|
782 |
+
error.response = response;
|
783 |
+
return error;
|
784 |
+
};
|
785 |
+
|
786 |
+
|
787 |
+
/***/ }),
|
788 |
+
|
789 |
+
/***/ "./node_modules/axios/lib/core/settle.js":
|
790 |
+
/*!***********************************************!*\
|
791 |
+
!*** ./node_modules/axios/lib/core/settle.js ***!
|
792 |
+
\***********************************************/
|
793 |
+
/*! no static exports found */
|
794 |
+
/***/ (function(module, exports, __webpack_require__) {
|
795 |
+
|
796 |
+
"use strict";
|
797 |
+
|
798 |
+
|
799 |
+
var createError = __webpack_require__(/*! ./createError */ "./node_modules/axios/lib/core/createError.js");
|
800 |
+
|
801 |
+
/**
|
802 |
+
* Resolve or reject a Promise based on response status.
|
803 |
+
*
|
804 |
+
* @param {Function} resolve A function that resolves the promise.
|
805 |
+
* @param {Function} reject A function that rejects the promise.
|
806 |
+
* @param {object} response The response.
|
807 |
+
*/
|
808 |
+
module.exports = function settle(resolve, reject, response) {
|
809 |
+
var validateStatus = response.config.validateStatus;
|
810 |
+
// Note: status is not exposed by XDomainRequest
|
811 |
+
if (!response.status || !validateStatus || validateStatus(response.status)) {
|
812 |
+
resolve(response);
|
813 |
+
} else {
|
814 |
+
reject(createError(
|
815 |
+
'Request failed with status code ' + response.status,
|
816 |
+
response.config,
|
817 |
+
null,
|
818 |
+
response.request,
|
819 |
+
response
|
820 |
+
));
|
821 |
+
}
|
822 |
+
};
|
823 |
+
|
824 |
+
|
825 |
+
/***/ }),
|
826 |
+
|
827 |
+
/***/ "./node_modules/axios/lib/core/transformData.js":
|
828 |
+
/*!******************************************************!*\
|
829 |
+
!*** ./node_modules/axios/lib/core/transformData.js ***!
|
830 |
+
\******************************************************/
|
831 |
+
/*! no static exports found */
|
832 |
+
/***/ (function(module, exports, __webpack_require__) {
|
833 |
+
|
834 |
+
"use strict";
|
835 |
+
|
836 |
+
|
837 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
838 |
+
|
839 |
+
/**
|
840 |
+
* Transform the data for a request or a response
|
841 |
+
*
|
842 |
+
* @param {Object|String} data The data to be transformed
|
843 |
+
* @param {Array} headers The headers for the request or response
|
844 |
+
* @param {Array|Function} fns A single function or Array of functions
|
845 |
+
* @returns {*} The resulting transformed data
|
846 |
+
*/
|
847 |
+
module.exports = function transformData(data, headers, fns) {
|
848 |
+
/*eslint no-param-reassign:0*/
|
849 |
+
utils.forEach(fns, function transform(fn) {
|
850 |
+
data = fn(data, headers);
|
851 |
+
});
|
852 |
+
|
853 |
+
return data;
|
854 |
+
};
|
855 |
+
|
856 |
+
|
857 |
+
/***/ }),
|
858 |
+
|
859 |
+
/***/ "./node_modules/axios/lib/defaults.js":
|
860 |
+
/*!********************************************!*\
|
861 |
+
!*** ./node_modules/axios/lib/defaults.js ***!
|
862 |
+
\********************************************/
|
863 |
+
/*! no static exports found */
|
864 |
+
/***/ (function(module, exports, __webpack_require__) {
|
865 |
+
|
866 |
+
"use strict";
|
867 |
+
/* WEBPACK VAR INJECTION */(function(process) {
|
868 |
+
|
869 |
+
var utils = __webpack_require__(/*! ./utils */ "./node_modules/axios/lib/utils.js");
|
870 |
+
var normalizeHeaderName = __webpack_require__(/*! ./helpers/normalizeHeaderName */ "./node_modules/axios/lib/helpers/normalizeHeaderName.js");
|
871 |
+
|
872 |
+
var DEFAULT_CONTENT_TYPE = {
|
873 |
+
'Content-Type': 'application/x-www-form-urlencoded'
|
874 |
+
};
|
875 |
+
|
876 |
+
function setContentTypeIfUnset(headers, value) {
|
877 |
+
if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
|
878 |
+
headers['Content-Type'] = value;
|
879 |
+
}
|
880 |
+
}
|
881 |
+
|
882 |
+
function getDefaultAdapter() {
|
883 |
+
var adapter;
|
884 |
+
if (typeof XMLHttpRequest !== 'undefined') {
|
885 |
+
// For browsers use XHR adapter
|
886 |
+
adapter = __webpack_require__(/*! ./adapters/xhr */ "./node_modules/axios/lib/adapters/xhr.js");
|
887 |
+
} else if (typeof process !== 'undefined') {
|
888 |
+
// For node use HTTP adapter
|
889 |
+
adapter = __webpack_require__(/*! ./adapters/http */ "./node_modules/axios/lib/adapters/xhr.js");
|
890 |
+
}
|
891 |
+
return adapter;
|
892 |
+
}
|
893 |
+
|
894 |
+
var defaults = {
|
895 |
+
adapter: getDefaultAdapter(),
|
896 |
+
|
897 |
+
transformRequest: [function transformRequest(data, headers) {
|
898 |
+
normalizeHeaderName(headers, 'Content-Type');
|
899 |
+
if (utils.isFormData(data) ||
|
900 |
+
utils.isArrayBuffer(data) ||
|
901 |
+
utils.isBuffer(data) ||
|
902 |
+
utils.isStream(data) ||
|
903 |
+
utils.isFile(data) ||
|
904 |
+
utils.isBlob(data)
|
905 |
+
) {
|
906 |
+
return data;
|
907 |
+
}
|
908 |
+
if (utils.isArrayBufferView(data)) {
|
909 |
+
return data.buffer;
|
910 |
+
}
|
911 |
+
if (utils.isURLSearchParams(data)) {
|
912 |
+
setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
|
913 |
+
return data.toString();
|
914 |
+
}
|
915 |
+
if (utils.isObject(data)) {
|
916 |
+
setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
|
917 |
+
return JSON.stringify(data);
|
918 |
+
}
|
919 |
+
return data;
|
920 |
+
}],
|
921 |
+
|
922 |
+
transformResponse: [function transformResponse(data) {
|
923 |
+
/*eslint no-param-reassign:0*/
|
924 |
+
if (typeof data === 'string') {
|
925 |
+
try {
|
926 |
+
data = JSON.parse(data);
|
927 |
+
} catch (e) { /* Ignore */ }
|
928 |
+
}
|
929 |
+
return data;
|
930 |
+
}],
|
931 |
+
|
932 |
+
/**
|
933 |
+
* A timeout in milliseconds to abort a request. If set to 0 (default) a
|
934 |
+
* timeout is not created.
|
935 |
+
*/
|
936 |
+
timeout: 0,
|
937 |
+
|
938 |
+
xsrfCookieName: 'XSRF-TOKEN',
|
939 |
+
xsrfHeaderName: 'X-XSRF-TOKEN',
|
940 |
+
|
941 |
+
maxContentLength: -1,
|
942 |
+
|
943 |
+
validateStatus: function validateStatus(status) {
|
944 |
+
return status >= 200 && status < 300;
|
945 |
+
}
|
946 |
+
};
|
947 |
+
|
948 |
+
defaults.headers = {
|
949 |
+
common: {
|
950 |
+
'Accept': 'application/json, text/plain, */*'
|
951 |
+
}
|
952 |
+
};
|
953 |
+
|
954 |
+
utils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {
|
955 |
+
defaults.headers[method] = {};
|
956 |
+
});
|
957 |
+
|
958 |
+
utils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {
|
959 |
+
defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
|
960 |
+
});
|
961 |
+
|
962 |
+
module.exports = defaults;
|
963 |
+
|
964 |
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js")))
|
965 |
+
|
966 |
+
/***/ }),
|
967 |
+
|
968 |
+
/***/ "./node_modules/axios/lib/helpers/bind.js":
|
969 |
+
/*!************************************************!*\
|
970 |
+
!*** ./node_modules/axios/lib/helpers/bind.js ***!
|
971 |
+
\************************************************/
|
972 |
+
/*! no static exports found */
|
973 |
+
/***/ (function(module, exports, __webpack_require__) {
|
974 |
+
|
975 |
+
"use strict";
|
976 |
+
|
977 |
+
|
978 |
+
module.exports = function bind(fn, thisArg) {
|
979 |
+
return function wrap() {
|
980 |
+
var args = new Array(arguments.length);
|
981 |
+
for (var i = 0; i < args.length; i++) {
|
982 |
+
args[i] = arguments[i];
|
983 |
+
}
|
984 |
+
return fn.apply(thisArg, args);
|
985 |
+
};
|
986 |
+
};
|
987 |
+
|
988 |
+
|
989 |
+
/***/ }),
|
990 |
+
|
991 |
+
/***/ "./node_modules/axios/lib/helpers/btoa.js":
|
992 |
+
/*!************************************************!*\
|
993 |
+
!*** ./node_modules/axios/lib/helpers/btoa.js ***!
|
994 |
+
\************************************************/
|
995 |
+
/*! no static exports found */
|
996 |
+
/***/ (function(module, exports, __webpack_require__) {
|
997 |
+
|
998 |
+
"use strict";
|
999 |
+
|
1000 |
+
|
1001 |
+
// btoa polyfill for IE<10 courtesy https://github.com/davidchambers/Base64.js
|
1002 |
+
|
1003 |
+
var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
|
1004 |
+
|
1005 |
+
function E() {
|
1006 |
+
this.message = 'String contains an invalid character';
|
1007 |
+
}
|
1008 |
+
E.prototype = new Error;
|
1009 |
+
E.prototype.code = 5;
|
1010 |
+
E.prototype.name = 'InvalidCharacterError';
|
1011 |
+
|
1012 |
+
function btoa(input) {
|
1013 |
+
var str = String(input);
|
1014 |
+
var output = '';
|
1015 |
+
for (
|
1016 |
+
// initialize result and counter
|
1017 |
+
var block, charCode, idx = 0, map = chars;
|
1018 |
+
// if the next str index does not exist:
|
1019 |
+
// change the mapping table to "="
|
1020 |
+
// check if d has no fractional digits
|
1021 |
+
str.charAt(idx | 0) || (map = '=', idx % 1);
|
1022 |
+
// "8 - idx % 1 * 8" generates the sequence 2, 4, 6, 8
|
1023 |
+
output += map.charAt(63 & block >> 8 - idx % 1 * 8)
|
1024 |
+
) {
|
1025 |
+
charCode = str.charCodeAt(idx += 3 / 4);
|
1026 |
+
if (charCode > 0xFF) {
|
1027 |
+
throw new E();
|
1028 |
+
}
|
1029 |
+
block = block << 8 | charCode;
|
1030 |
+
}
|
1031 |
+
return output;
|
1032 |
+
}
|
1033 |
+
|
1034 |
+
module.exports = btoa;
|
1035 |
+
|
1036 |
+
|
1037 |
+
/***/ }),
|
1038 |
+
|
1039 |
+
/***/ "./node_modules/axios/lib/helpers/buildURL.js":
|
1040 |
+
/*!****************************************************!*\
|
1041 |
+
!*** ./node_modules/axios/lib/helpers/buildURL.js ***!
|
1042 |
+
\****************************************************/
|
1043 |
+
/*! no static exports found */
|
1044 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1045 |
+
|
1046 |
+
"use strict";
|
1047 |
+
|
1048 |
+
|
1049 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
1050 |
+
|
1051 |
+
function encode(val) {
|
1052 |
+
return encodeURIComponent(val).
|
1053 |
+
replace(/%40/gi, '@').
|
1054 |
+
replace(/%3A/gi, ':').
|
1055 |
+
replace(/%24/g, '$').
|
1056 |
+
replace(/%2C/gi, ',').
|
1057 |
+
replace(/%20/g, '+').
|
1058 |
+
replace(/%5B/gi, '[').
|
1059 |
+
replace(/%5D/gi, ']');
|
1060 |
+
}
|
1061 |
+
|
1062 |
+
/**
|
1063 |
+
* Build a URL by appending params to the end
|
1064 |
+
*
|
1065 |
+
* @param {string} url The base of the url (e.g., http://www.google.com)
|
1066 |
+
* @param {object} [params] The params to be appended
|
1067 |
+
* @returns {string} The formatted url
|
1068 |
+
*/
|
1069 |
+
module.exports = function buildURL(url, params, paramsSerializer) {
|
1070 |
+
/*eslint no-param-reassign:0*/
|
1071 |
+
if (!params) {
|
1072 |
+
return url;
|
1073 |
+
}
|
1074 |
+
|
1075 |
+
var serializedParams;
|
1076 |
+
if (paramsSerializer) {
|
1077 |
+
serializedParams = paramsSerializer(params);
|
1078 |
+
} else if (utils.isURLSearchParams(params)) {
|
1079 |
+
serializedParams = params.toString();
|
1080 |
+
} else {
|
1081 |
+
var parts = [];
|
1082 |
+
|
1083 |
+
utils.forEach(params, function serialize(val, key) {
|
1084 |
+
if (val === null || typeof val === 'undefined') {
|
1085 |
+
return;
|
1086 |
+
}
|
1087 |
+
|
1088 |
+
if (utils.isArray(val)) {
|
1089 |
+
key = key + '[]';
|
1090 |
+
} else {
|
1091 |
+
val = [val];
|
1092 |
+
}
|
1093 |
+
|
1094 |
+
utils.forEach(val, function parseValue(v) {
|
1095 |
+
if (utils.isDate(v)) {
|
1096 |
+
v = v.toISOString();
|
1097 |
+
} else if (utils.isObject(v)) {
|
1098 |
+
v = JSON.stringify(v);
|
1099 |
+
}
|
1100 |
+
parts.push(encode(key) + '=' + encode(v));
|
1101 |
+
});
|
1102 |
+
});
|
1103 |
+
|
1104 |
+
serializedParams = parts.join('&');
|
1105 |
+
}
|
1106 |
+
|
1107 |
+
if (serializedParams) {
|
1108 |
+
url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
|
1109 |
+
}
|
1110 |
+
|
1111 |
+
return url;
|
1112 |
+
};
|
1113 |
+
|
1114 |
+
|
1115 |
+
/***/ }),
|
1116 |
+
|
1117 |
+
/***/ "./node_modules/axios/lib/helpers/combineURLs.js":
|
1118 |
+
/*!*******************************************************!*\
|
1119 |
+
!*** ./node_modules/axios/lib/helpers/combineURLs.js ***!
|
1120 |
+
\*******************************************************/
|
1121 |
+
/*! no static exports found */
|
1122 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1123 |
+
|
1124 |
+
"use strict";
|
1125 |
+
|
1126 |
+
|
1127 |
+
/**
|
1128 |
+
* Creates a new URL by combining the specified URLs
|
1129 |
+
*
|
1130 |
+
* @param {string} baseURL The base URL
|
1131 |
+
* @param {string} relativeURL The relative URL
|
1132 |
+
* @returns {string} The combined URL
|
1133 |
+
*/
|
1134 |
+
module.exports = function combineURLs(baseURL, relativeURL) {
|
1135 |
+
return relativeURL
|
1136 |
+
? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '')
|
1137 |
+
: baseURL;
|
1138 |
+
};
|
1139 |
+
|
1140 |
+
|
1141 |
+
/***/ }),
|
1142 |
+
|
1143 |
+
/***/ "./node_modules/axios/lib/helpers/cookies.js":
|
1144 |
+
/*!***************************************************!*\
|
1145 |
+
!*** ./node_modules/axios/lib/helpers/cookies.js ***!
|
1146 |
+
\***************************************************/
|
1147 |
+
/*! no static exports found */
|
1148 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1149 |
+
|
1150 |
+
"use strict";
|
1151 |
+
|
1152 |
+
|
1153 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
1154 |
+
|
1155 |
+
module.exports = (
|
1156 |
+
utils.isStandardBrowserEnv() ?
|
1157 |
+
|
1158 |
+
// Standard browser envs support document.cookie
|
1159 |
+
(function standardBrowserEnv() {
|
1160 |
+
return {
|
1161 |
+
write: function write(name, value, expires, path, domain, secure) {
|
1162 |
+
var cookie = [];
|
1163 |
+
cookie.push(name + '=' + encodeURIComponent(value));
|
1164 |
+
|
1165 |
+
if (utils.isNumber(expires)) {
|
1166 |
+
cookie.push('expires=' + new Date(expires).toGMTString());
|
1167 |
+
}
|
1168 |
+
|
1169 |
+
if (utils.isString(path)) {
|
1170 |
+
cookie.push('path=' + path);
|
1171 |
+
}
|
1172 |
+
|
1173 |
+
if (utils.isString(domain)) {
|
1174 |
+
cookie.push('domain=' + domain);
|
1175 |
+
}
|
1176 |
+
|
1177 |
+
if (secure === true) {
|
1178 |
+
cookie.push('secure');
|
1179 |
+
}
|
1180 |
+
|
1181 |
+
document.cookie = cookie.join('; ');
|
1182 |
+
},
|
1183 |
+
|
1184 |
+
read: function read(name) {
|
1185 |
+
var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
|
1186 |
+
return (match ? decodeURIComponent(match[3]) : null);
|
1187 |
+
},
|
1188 |
+
|
1189 |
+
remove: function remove(name) {
|
1190 |
+
this.write(name, '', Date.now() - 86400000);
|
1191 |
+
}
|
1192 |
+
};
|
1193 |
+
})() :
|
1194 |
+
|
1195 |
+
// Non standard browser env (web workers, react-native) lack needed support.
|
1196 |
+
(function nonStandardBrowserEnv() {
|
1197 |
+
return {
|
1198 |
+
write: function write() {},
|
1199 |
+
read: function read() { return null; },
|
1200 |
+
remove: function remove() {}
|
1201 |
+
};
|
1202 |
+
})()
|
1203 |
+
);
|
1204 |
+
|
1205 |
+
|
1206 |
+
/***/ }),
|
1207 |
+
|
1208 |
+
/***/ "./node_modules/axios/lib/helpers/isAbsoluteURL.js":
|
1209 |
+
/*!*********************************************************!*\
|
1210 |
+
!*** ./node_modules/axios/lib/helpers/isAbsoluteURL.js ***!
|
1211 |
+
\*********************************************************/
|
1212 |
+
/*! no static exports found */
|
1213 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1214 |
+
|
1215 |
+
"use strict";
|
1216 |
+
|
1217 |
+
|
1218 |
+
/**
|
1219 |
+
* Determines whether the specified URL is absolute
|
1220 |
+
*
|
1221 |
+
* @param {string} url The URL to test
|
1222 |
+
* @returns {boolean} True if the specified URL is absolute, otherwise false
|
1223 |
+
*/
|
1224 |
+
module.exports = function isAbsoluteURL(url) {
|
1225 |
+
// A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
|
1226 |
+
// RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
|
1227 |
+
// by any combination of letters, digits, plus, period, or hyphen.
|
1228 |
+
return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
|
1229 |
+
};
|
1230 |
+
|
1231 |
+
|
1232 |
+
/***/ }),
|
1233 |
+
|
1234 |
+
/***/ "./node_modules/axios/lib/helpers/isURLSameOrigin.js":
|
1235 |
+
/*!***********************************************************!*\
|
1236 |
+
!*** ./node_modules/axios/lib/helpers/isURLSameOrigin.js ***!
|
1237 |
+
\***********************************************************/
|
1238 |
+
/*! no static exports found */
|
1239 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1240 |
+
|
1241 |
+
"use strict";
|
1242 |
+
|
1243 |
+
|
1244 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
1245 |
+
|
1246 |
+
module.exports = (
|
1247 |
+
utils.isStandardBrowserEnv() ?
|
1248 |
+
|
1249 |
+
// Standard browser envs have full support of the APIs needed to test
|
1250 |
+
// whether the request URL is of the same origin as current location.
|
1251 |
+
(function standardBrowserEnv() {
|
1252 |
+
var msie = /(msie|trident)/i.test(navigator.userAgent);
|
1253 |
+
var urlParsingNode = document.createElement('a');
|
1254 |
+
var originURL;
|
1255 |
+
|
1256 |
+
/**
|
1257 |
+
* Parse a URL to discover it's components
|
1258 |
+
*
|
1259 |
+
* @param {String} url The URL to be parsed
|
1260 |
+
* @returns {Object}
|
1261 |
+
*/
|
1262 |
+
function resolveURL(url) {
|
1263 |
+
var href = url;
|
1264 |
+
|
1265 |
+
if (msie) {
|
1266 |
+
// IE needs attribute set twice to normalize properties
|
1267 |
+
urlParsingNode.setAttribute('href', href);
|
1268 |
+
href = urlParsingNode.href;
|
1269 |
+
}
|
1270 |
+
|
1271 |
+
urlParsingNode.setAttribute('href', href);
|
1272 |
+
|
1273 |
+
// urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils
|
1274 |
+
return {
|
1275 |
+
href: urlParsingNode.href,
|
1276 |
+
protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
|
1277 |
+
host: urlParsingNode.host,
|
1278 |
+
search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
|
1279 |
+
hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
|
1280 |
+
hostname: urlParsingNode.hostname,
|
1281 |
+
port: urlParsingNode.port,
|
1282 |
+
pathname: (urlParsingNode.pathname.charAt(0) === '/') ?
|
1283 |
+
urlParsingNode.pathname :
|
1284 |
+
'/' + urlParsingNode.pathname
|
1285 |
+
};
|
1286 |
+
}
|
1287 |
+
|
1288 |
+
originURL = resolveURL(window.location.href);
|
1289 |
+
|
1290 |
+
/**
|
1291 |
+
* Determine if a URL shares the same origin as the current location
|
1292 |
+
*
|
1293 |
+
* @param {String} requestURL The URL to test
|
1294 |
+
* @returns {boolean} True if URL shares the same origin, otherwise false
|
1295 |
+
*/
|
1296 |
+
return function isURLSameOrigin(requestURL) {
|
1297 |
+
var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;
|
1298 |
+
return (parsed.protocol === originURL.protocol &&
|
1299 |
+
parsed.host === originURL.host);
|
1300 |
+
};
|
1301 |
+
})() :
|
1302 |
+
|
1303 |
+
// Non standard browser envs (web workers, react-native) lack needed support.
|
1304 |
+
(function nonStandardBrowserEnv() {
|
1305 |
+
return function isURLSameOrigin() {
|
1306 |
+
return true;
|
1307 |
+
};
|
1308 |
+
})()
|
1309 |
+
);
|
1310 |
+
|
1311 |
+
|
1312 |
+
/***/ }),
|
1313 |
+
|
1314 |
+
/***/ "./node_modules/axios/lib/helpers/normalizeHeaderName.js":
|
1315 |
+
/*!***************************************************************!*\
|
1316 |
+
!*** ./node_modules/axios/lib/helpers/normalizeHeaderName.js ***!
|
1317 |
+
\***************************************************************/
|
1318 |
+
/*! no static exports found */
|
1319 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1320 |
+
|
1321 |
+
"use strict";
|
1322 |
+
|
1323 |
+
|
1324 |
+
var utils = __webpack_require__(/*! ../utils */ "./node_modules/axios/lib/utils.js");
|
1325 |
+
|
1326 |
+
module.exports = function normalizeHeaderName(headers, normalizedName) {
|
1327 |
+
utils.forEach(headers, function processHeader(value, name) {
|
1328 |
+
if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
|
1329 |
+
headers[normalizedName] = value;
|
1330 |
+
delete headers[name];
|
1331 |
+
}
|
1332 |
+
});
|
1333 |
+
};
|
1334 |
+
|
1335 |
+
|
1336 |
+
/***/ }),
|
1337 |
+
|
1338 |
+
/***/ "./node_modules/axios/lib/helpers/parseHeaders.js":
|
1339 |
+
/*!********************************************************!*\
|
1340 |
+
!*** ./node_modules/axios/lib/helpers/parseHeaders.js ***!
|
1341 |
+
\********************************************************/
|
1342 |
+
/*! no static exports found */
|
1343 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1344 |
+
|
1345 |
+
"use strict";
|
1346 |
+
|
1347 |
+
|
1348 |
+
var utils = __webpack_require__(/*! ./../utils */ "./node_modules/axios/lib/utils.js");
|
1349 |
+
|
1350 |
+
// Headers whose duplicates are ignored by node
|
1351 |
+
// c.f. https://nodejs.org/api/http.html#http_message_headers
|
1352 |
+
var ignoreDuplicateOf = [
|
1353 |
+
'age', 'authorization', 'content-length', 'content-type', 'etag',
|
1354 |
+
'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',
|
1355 |
+
'last-modified', 'location', 'max-forwards', 'proxy-authorization',
|
1356 |
+
'referer', 'retry-after', 'user-agent'
|
1357 |
+
];
|
1358 |
+
|
1359 |
+
/**
|
1360 |
+
* Parse headers into an object
|
1361 |
+
*
|
1362 |
+
* ```
|
1363 |
+
* Date: Wed, 27 Aug 2014 08:58:49 GMT
|
1364 |
+
* Content-Type: application/json
|
1365 |
+
* Connection: keep-alive
|
1366 |
+
* Transfer-Encoding: chunked
|
1367 |
+
* ```
|
1368 |
+
*
|
1369 |
+
* @param {String} headers Headers needing to be parsed
|
1370 |
+
* @returns {Object} Headers parsed into an object
|
1371 |
+
*/
|
1372 |
+
module.exports = function parseHeaders(headers) {
|
1373 |
+
var parsed = {};
|
1374 |
+
var key;
|
1375 |
+
var val;
|
1376 |
+
var i;
|
1377 |
+
|
1378 |
+
if (!headers) { return parsed; }
|
1379 |
+
|
1380 |
+
utils.forEach(headers.split('\n'), function parser(line) {
|
1381 |
+
i = line.indexOf(':');
|
1382 |
+
key = utils.trim(line.substr(0, i)).toLowerCase();
|
1383 |
+
val = utils.trim(line.substr(i + 1));
|
1384 |
+
|
1385 |
+
if (key) {
|
1386 |
+
if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
|
1387 |
+
return;
|
1388 |
+
}
|
1389 |
+
if (key === 'set-cookie') {
|
1390 |
+
parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
|
1391 |
+
} else {
|
1392 |
+
parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
|
1393 |
+
}
|
1394 |
+
}
|
1395 |
+
});
|
1396 |
+
|
1397 |
+
return parsed;
|
1398 |
+
};
|
1399 |
+
|
1400 |
+
|
1401 |
+
/***/ }),
|
1402 |
+
|
1403 |
+
/***/ "./node_modules/axios/lib/helpers/spread.js":
|
1404 |
+
/*!**************************************************!*\
|
1405 |
+
!*** ./node_modules/axios/lib/helpers/spread.js ***!
|
1406 |
+
\**************************************************/
|
1407 |
+
/*! no static exports found */
|
1408 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1409 |
+
|
1410 |
+
"use strict";
|
1411 |
+
|
1412 |
+
|
1413 |
+
/**
|
1414 |
+
* Syntactic sugar for invoking a function and expanding an array for arguments.
|
1415 |
+
*
|
1416 |
+
* Common use case would be to use `Function.prototype.apply`.
|
1417 |
+
*
|
1418 |
+
* ```js
|
1419 |
+
* function f(x, y, z) {}
|
1420 |
+
* var args = [1, 2, 3];
|
1421 |
+
* f.apply(null, args);
|
1422 |
+
* ```
|
1423 |
+
*
|
1424 |
+
* With `spread` this example can be re-written.
|
1425 |
+
*
|
1426 |
+
* ```js
|
1427 |
+
* spread(function(x, y, z) {})([1, 2, 3]);
|
1428 |
+
* ```
|
1429 |
+
*
|
1430 |
+
* @param {Function} callback
|
1431 |
+
* @returns {Function}
|
1432 |
+
*/
|
1433 |
+
module.exports = function spread(callback) {
|
1434 |
+
return function wrap(arr) {
|
1435 |
+
return callback.apply(null, arr);
|
1436 |
+
};
|
1437 |
+
};
|
1438 |
+
|
1439 |
+
|
1440 |
+
/***/ }),
|
1441 |
+
|
1442 |
+
/***/ "./node_modules/axios/lib/utils.js":
|
1443 |
+
/*!*****************************************!*\
|
1444 |
+
!*** ./node_modules/axios/lib/utils.js ***!
|
1445 |
+
\*****************************************/
|
1446 |
+
/*! no static exports found */
|
1447 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1448 |
+
|
1449 |
+
"use strict";
|
1450 |
+
|
1451 |
+
|
1452 |
+
var bind = __webpack_require__(/*! ./helpers/bind */ "./node_modules/axios/lib/helpers/bind.js");
|
1453 |
+
var isBuffer = __webpack_require__(/*! is-buffer */ "./node_modules/is-buffer/index.js");
|
1454 |
+
|
1455 |
+
/*global toString:true*/
|
1456 |
+
|
1457 |
+
// utils is a library of generic helper functions non-specific to axios
|
1458 |
+
|
1459 |
+
var toString = Object.prototype.toString;
|
1460 |
+
|
1461 |
+
/**
|
1462 |
+
* Determine if a value is an Array
|
1463 |
+
*
|
1464 |
+
* @param {Object} val The value to test
|
1465 |
+
* @returns {boolean} True if value is an Array, otherwise false
|
1466 |
+
*/
|
1467 |
+
function isArray(val) {
|
1468 |
+
return toString.call(val) === '[object Array]';
|
1469 |
+
}
|
1470 |
+
|
1471 |
+
/**
|
1472 |
+
* Determine if a value is an ArrayBuffer
|
1473 |
+
*
|
1474 |
+
* @param {Object} val The value to test
|
1475 |
+
* @returns {boolean} True if value is an ArrayBuffer, otherwise false
|
1476 |
+
*/
|
1477 |
+
function isArrayBuffer(val) {
|
1478 |
+
return toString.call(val) === '[object ArrayBuffer]';
|
1479 |
+
}
|
1480 |
+
|
1481 |
+
/**
|
1482 |
+
* Determine if a value is a FormData
|
1483 |
+
*
|
1484 |
+
* @param {Object} val The value to test
|
1485 |
+
* @returns {boolean} True if value is an FormData, otherwise false
|
1486 |
+
*/
|
1487 |
+
function isFormData(val) {
|
1488 |
+
return (typeof FormData !== 'undefined') && (val instanceof FormData);
|
1489 |
+
}
|
1490 |
+
|
1491 |
+
/**
|
1492 |
+
* Determine if a value is a view on an ArrayBuffer
|
1493 |
+
*
|
1494 |
+
* @param {Object} val The value to test
|
1495 |
+
* @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false
|
1496 |
+
*/
|
1497 |
+
function isArrayBufferView(val) {
|
1498 |
+
var result;
|
1499 |
+
if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {
|
1500 |
+
result = ArrayBuffer.isView(val);
|
1501 |
+
} else {
|
1502 |
+
result = (val) && (val.buffer) && (val.buffer instanceof ArrayBuffer);
|
1503 |
+
}
|
1504 |
+
return result;
|
1505 |
+
}
|
1506 |
+
|
1507 |
+
/**
|
1508 |
+
* Determine if a value is a String
|
1509 |
+
*
|
1510 |
+
* @param {Object} val The value to test
|
1511 |
+
* @returns {boolean} True if value is a String, otherwise false
|
1512 |
+
*/
|
1513 |
+
function isString(val) {
|
1514 |
+
return typeof val === 'string';
|
1515 |
+
}
|
1516 |
+
|
1517 |
+
/**
|
1518 |
+
* Determine if a value is a Number
|
1519 |
+
*
|
1520 |
+
* @param {Object} val The value to test
|
1521 |
+
* @returns {boolean} True if value is a Number, otherwise false
|
1522 |
+
*/
|
1523 |
+
function isNumber(val) {
|
1524 |
+
return typeof val === 'number';
|
1525 |
+
}
|
1526 |
+
|
1527 |
+
/**
|
1528 |
+
* Determine if a value is undefined
|
1529 |
+
*
|
1530 |
+
* @param {Object} val The value to test
|
1531 |
+
* @returns {boolean} True if the value is undefined, otherwise false
|
1532 |
+
*/
|
1533 |
+
function isUndefined(val) {
|
1534 |
+
return typeof val === 'undefined';
|
1535 |
+
}
|
1536 |
+
|
1537 |
+
/**
|
1538 |
+
* Determine if a value is an Object
|
1539 |
+
*
|
1540 |
+
* @param {Object} val The value to test
|
1541 |
+
* @returns {boolean} True if value is an Object, otherwise false
|
1542 |
+
*/
|
1543 |
+
function isObject(val) {
|
1544 |
+
return val !== null && typeof val === 'object';
|
1545 |
+
}
|
1546 |
+
|
1547 |
+
/**
|
1548 |
+
* Determine if a value is a Date
|
1549 |
+
*
|
1550 |
+
* @param {Object} val The value to test
|
1551 |
+
* @returns {boolean} True if value is a Date, otherwise false
|
1552 |
+
*/
|
1553 |
+
function isDate(val) {
|
1554 |
+
return toString.call(val) === '[object Date]';
|
1555 |
+
}
|
1556 |
+
|
1557 |
+
/**
|
1558 |
+
* Determine if a value is a File
|
1559 |
+
*
|
1560 |
+
* @param {Object} val The value to test
|
1561 |
+
* @returns {boolean} True if value is a File, otherwise false
|
1562 |
+
*/
|
1563 |
+
function isFile(val) {
|
1564 |
+
return toString.call(val) === '[object File]';
|
1565 |
+
}
|
1566 |
+
|
1567 |
+
/**
|
1568 |
+
* Determine if a value is a Blob
|
1569 |
+
*
|
1570 |
+
* @param {Object} val The value to test
|
1571 |
+
* @returns {boolean} True if value is a Blob, otherwise false
|
1572 |
+
*/
|
1573 |
+
function isBlob(val) {
|
1574 |
+
return toString.call(val) === '[object Blob]';
|
1575 |
+
}
|
1576 |
+
|
1577 |
+
/**
|
1578 |
+
* Determine if a value is a Function
|
1579 |
+
*
|
1580 |
+
* @param {Object} val The value to test
|
1581 |
+
* @returns {boolean} True if value is a Function, otherwise false
|
1582 |
+
*/
|
1583 |
+
function isFunction(val) {
|
1584 |
+
return toString.call(val) === '[object Function]';
|
1585 |
+
}
|
1586 |
+
|
1587 |
+
/**
|
1588 |
+
* Determine if a value is a Stream
|
1589 |
+
*
|
1590 |
+
* @param {Object} val The value to test
|
1591 |
+
* @returns {boolean} True if value is a Stream, otherwise false
|
1592 |
+
*/
|
1593 |
+
function isStream(val) {
|
1594 |
+
return isObject(val) && isFunction(val.pipe);
|
1595 |
+
}
|
1596 |
+
|
1597 |
+
/**
|
1598 |
+
* Determine if a value is a URLSearchParams object
|
1599 |
+
*
|
1600 |
+
* @param {Object} val The value to test
|
1601 |
+
* @returns {boolean} True if value is a URLSearchParams object, otherwise false
|
1602 |
+
*/
|
1603 |
+
function isURLSearchParams(val) {
|
1604 |
+
return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
|
1605 |
+
}
|
1606 |
+
|
1607 |
+
/**
|
1608 |
+
* Trim excess whitespace off the beginning and end of a string
|
1609 |
+
*
|
1610 |
+
* @param {String} str The String to trim
|
1611 |
+
* @returns {String} The String freed of excess whitespace
|
1612 |
+
*/
|
1613 |
+
function trim(str) {
|
1614 |
+
return str.replace(/^\s*/, '').replace(/\s*$/, '');
|
1615 |
+
}
|
1616 |
+
|
1617 |
+
/**
|
1618 |
+
* Determine if we're running in a standard browser environment
|
1619 |
+
*
|
1620 |
+
* This allows axios to run in a web worker, and react-native.
|
1621 |
+
* Both environments support XMLHttpRequest, but not fully standard globals.
|
1622 |
+
*
|
1623 |
+
* web workers:
|
1624 |
+
* typeof window -> undefined
|
1625 |
+
* typeof document -> undefined
|
1626 |
+
*
|
1627 |
+
* react-native:
|
1628 |
+
* navigator.product -> 'ReactNative'
|
1629 |
+
*/
|
1630 |
+
function isStandardBrowserEnv() {
|
1631 |
+
if (typeof navigator !== 'undefined' && navigator.product === 'ReactNative') {
|
1632 |
+
return false;
|
1633 |
+
}
|
1634 |
+
return (
|
1635 |
+
typeof window !== 'undefined' &&
|
1636 |
+
typeof document !== 'undefined'
|
1637 |
+
);
|
1638 |
+
}
|
1639 |
+
|
1640 |
+
/**
|
1641 |
+
* Iterate over an Array or an Object invoking a function for each item.
|
1642 |
+
*
|
1643 |
+
* If `obj` is an Array callback will be called passing
|
1644 |
+
* the value, index, and complete array for each item.
|
1645 |
+
*
|
1646 |
+
* If 'obj' is an Object callback will be called passing
|
1647 |
+
* the value, key, and complete object for each property.
|
1648 |
+
*
|
1649 |
+
* @param {Object|Array} obj The object to iterate
|
1650 |
+
* @param {Function} fn The callback to invoke for each item
|
1651 |
+
*/
|
1652 |
+
function forEach(obj, fn) {
|
1653 |
+
// Don't bother if no value provided
|
1654 |
+
if (obj === null || typeof obj === 'undefined') {
|
1655 |
+
return;
|
1656 |
+
}
|
1657 |
+
|
1658 |
+
// Force an array if not already something iterable
|
1659 |
+
if (typeof obj !== 'object') {
|
1660 |
+
/*eslint no-param-reassign:0*/
|
1661 |
+
obj = [obj];
|
1662 |
+
}
|
1663 |
+
|
1664 |
+
if (isArray(obj)) {
|
1665 |
+
// Iterate over array values
|
1666 |
+
for (var i = 0, l = obj.length; i < l; i++) {
|
1667 |
+
fn.call(null, obj[i], i, obj);
|
1668 |
+
}
|
1669 |
+
} else {
|
1670 |
+
// Iterate over object keys
|
1671 |
+
for (var key in obj) {
|
1672 |
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
1673 |
+
fn.call(null, obj[key], key, obj);
|
1674 |
+
}
|
1675 |
+
}
|
1676 |
+
}
|
1677 |
+
}
|
1678 |
+
|
1679 |
+
/**
|
1680 |
+
* Accepts varargs expecting each argument to be an object, then
|
1681 |
+
* immutably merges the properties of each object and returns result.
|
1682 |
+
*
|
1683 |
+
* When multiple objects contain the same key the later object in
|
1684 |
+
* the arguments list will take precedence.
|
1685 |
+
*
|
1686 |
+
* Example:
|
1687 |
+
*
|
1688 |
+
* ```js
|
1689 |
+
* var result = merge({foo: 123}, {foo: 456});
|
1690 |
+
* console.log(result.foo); // outputs 456
|
1691 |
+
* ```
|
1692 |
+
*
|
1693 |
+
* @param {Object} obj1 Object to merge
|
1694 |
+
* @returns {Object} Result of all merge properties
|
1695 |
+
*/
|
1696 |
+
function merge(/* obj1, obj2, obj3, ... */) {
|
1697 |
+
var result = {};
|
1698 |
+
function assignValue(val, key) {
|
1699 |
+
if (typeof result[key] === 'object' && typeof val === 'object') {
|
1700 |
+
result[key] = merge(result[key], val);
|
1701 |
+
} else {
|
1702 |
+
result[key] = val;
|
1703 |
+
}
|
1704 |
+
}
|
1705 |
+
|
1706 |
+
for (var i = 0, l = arguments.length; i < l; i++) {
|
1707 |
+
forEach(arguments[i], assignValue);
|
1708 |
+
}
|
1709 |
+
return result;
|
1710 |
+
}
|
1711 |
+
|
1712 |
+
/**
|
1713 |
+
* Extends object a by mutably adding to it the properties of object b.
|
1714 |
+
*
|
1715 |
+
* @param {Object} a The object to be extended
|
1716 |
+
* @param {Object} b The object to copy properties from
|
1717 |
+
* @param {Object} thisArg The object to bind function to
|
1718 |
+
* @return {Object} The resulting value of object a
|
1719 |
+
*/
|
1720 |
+
function extend(a, b, thisArg) {
|
1721 |
+
forEach(b, function assignValue(val, key) {
|
1722 |
+
if (thisArg && typeof val === 'function') {
|
1723 |
+
a[key] = bind(val, thisArg);
|
1724 |
+
} else {
|
1725 |
+
a[key] = val;
|
1726 |
+
}
|
1727 |
+
});
|
1728 |
+
return a;
|
1729 |
+
}
|
1730 |
+
|
1731 |
+
module.exports = {
|
1732 |
+
isArray: isArray,
|
1733 |
+
isArrayBuffer: isArrayBuffer,
|
1734 |
+
isBuffer: isBuffer,
|
1735 |
+
isFormData: isFormData,
|
1736 |
+
isArrayBufferView: isArrayBufferView,
|
1737 |
+
isString: isString,
|
1738 |
+
isNumber: isNumber,
|
1739 |
+
isObject: isObject,
|
1740 |
+
isUndefined: isUndefined,
|
1741 |
+
isDate: isDate,
|
1742 |
+
isFile: isFile,
|
1743 |
+
isBlob: isBlob,
|
1744 |
+
isFunction: isFunction,
|
1745 |
+
isStream: isStream,
|
1746 |
+
isURLSearchParams: isURLSearchParams,
|
1747 |
+
isStandardBrowserEnv: isStandardBrowserEnv,
|
1748 |
+
forEach: forEach,
|
1749 |
+
merge: merge,
|
1750 |
+
extend: extend,
|
1751 |
+
trim: trim
|
1752 |
+
};
|
1753 |
+
|
1754 |
+
|
1755 |
+
/***/ }),
|
1756 |
+
|
1757 |
+
/***/ "./node_modules/create-react-class/factory.js":
|
1758 |
+
/*!****************************************************!*\
|
1759 |
+
!*** ./node_modules/create-react-class/factory.js ***!
|
1760 |
+
\****************************************************/
|
1761 |
+
/*! no static exports found */
|
1762 |
+
/***/ (function(module, exports, __webpack_require__) {
|
1763 |
+
|
1764 |
+
"use strict";
|
1765 |
+
/**
|
1766 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
1767 |
+
*
|
1768 |
+
* This source code is licensed under the MIT license found in the
|
1769 |
+
* LICENSE file in the root directory of this source tree.
|
1770 |
+
*
|
1771 |
+
*/
|
1772 |
+
|
1773 |
+
|
1774 |
+
|
1775 |
+
var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
|
1776 |
+
|
1777 |
+
var emptyObject = __webpack_require__(/*! fbjs/lib/emptyObject */ "./node_modules/fbjs/lib/emptyObject.js");
|
1778 |
+
var _invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
1779 |
+
|
1780 |
+
if (true) {
|
1781 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
1782 |
+
}
|
1783 |
+
|
1784 |
+
var MIXINS_KEY = 'mixins';
|
1785 |
+
|
1786 |
+
// Helper function to allow the creation of anonymous functions which do not
|
1787 |
+
// have .name set to the name of the variable being assigned to.
|
1788 |
+
function identity(fn) {
|
1789 |
+
return fn;
|
1790 |
+
}
|
1791 |
+
|
1792 |
+
var ReactPropTypeLocationNames;
|
1793 |
+
if (true) {
|
1794 |
+
ReactPropTypeLocationNames = {
|
1795 |
+
prop: 'prop',
|
1796 |
+
context: 'context',
|
1797 |
+
childContext: 'child context'
|
1798 |
+
};
|
1799 |
+
} else {}
|
1800 |
+
|
1801 |
+
function factory(ReactComponent, isValidElement, ReactNoopUpdateQueue) {
|
1802 |
+
/**
|
1803 |
+
* Policies that describe methods in `ReactClassInterface`.
|
1804 |
+
*/
|
1805 |
+
|
1806 |
+
var injectedMixins = [];
|
1807 |
+
|
1808 |
+
/**
|
1809 |
+
* Composite components are higher-level components that compose other composite
|
1810 |
+
* or host components.
|
1811 |
+
*
|
1812 |
+
* To create a new type of `ReactClass`, pass a specification of
|
1813 |
+
* your new class to `React.createClass`. The only requirement of your class
|
1814 |
+
* specification is that you implement a `render` method.
|
1815 |
+
*
|
1816 |
+
* var MyComponent = React.createClass({
|
1817 |
+
* render: function() {
|
1818 |
+
* return <div>Hello World</div>;
|
1819 |
+
* }
|
1820 |
+
* });
|
1821 |
+
*
|
1822 |
+
* The class specification supports a specific protocol of methods that have
|
1823 |
+
* special meaning (e.g. `render`). See `ReactClassInterface` for
|
1824 |
+
* more the comprehensive protocol. Any other properties and methods in the
|
1825 |
+
* class specification will be available on the prototype.
|
1826 |
+
*
|
1827 |
+
* @interface ReactClassInterface
|
1828 |
+
* @internal
|
1829 |
+
*/
|
1830 |
+
var ReactClassInterface = {
|
1831 |
+
/**
|
1832 |
+
* An array of Mixin objects to include when defining your component.
|
1833 |
+
*
|
1834 |
+
* @type {array}
|
1835 |
+
* @optional
|
1836 |
+
*/
|
1837 |
+
mixins: 'DEFINE_MANY',
|
1838 |
+
|
1839 |
+
/**
|
1840 |
+
* An object containing properties and methods that should be defined on
|
1841 |
+
* the component's constructor instead of its prototype (static methods).
|
1842 |
+
*
|
1843 |
+
* @type {object}
|
1844 |
+
* @optional
|
1845 |
+
*/
|
1846 |
+
statics: 'DEFINE_MANY',
|
1847 |
+
|
1848 |
+
/**
|
1849 |
+
* Definition of prop types for this component.
|
1850 |
+
*
|
1851 |
+
* @type {object}
|
1852 |
+
* @optional
|
1853 |
+
*/
|
1854 |
+
propTypes: 'DEFINE_MANY',
|
1855 |
+
|
1856 |
+
/**
|
1857 |
+
* Definition of context types for this component.
|
1858 |
+
*
|
1859 |
+
* @type {object}
|
1860 |
+
* @optional
|
1861 |
+
*/
|
1862 |
+
contextTypes: 'DEFINE_MANY',
|
1863 |
+
|
1864 |
+
/**
|
1865 |
+
* Definition of context types this component sets for its children.
|
1866 |
+
*
|
1867 |
+
* @type {object}
|
1868 |
+
* @optional
|
1869 |
+
*/
|
1870 |
+
childContextTypes: 'DEFINE_MANY',
|
1871 |
+
|
1872 |
+
// ==== Definition methods ====
|
1873 |
+
|
1874 |
+
/**
|
1875 |
+
* Invoked when the component is mounted. Values in the mapping will be set on
|
1876 |
+
* `this.props` if that prop is not specified (i.e. using an `in` check).
|
1877 |
+
*
|
1878 |
+
* This method is invoked before `getInitialState` and therefore cannot rely
|
1879 |
+
* on `this.state` or use `this.setState`.
|
1880 |
+
*
|
1881 |
+
* @return {object}
|
1882 |
+
* @optional
|
1883 |
+
*/
|
1884 |
+
getDefaultProps: 'DEFINE_MANY_MERGED',
|
1885 |
+
|
1886 |
+
/**
|
1887 |
+
* Invoked once before the component is mounted. The return value will be used
|
1888 |
+
* as the initial value of `this.state`.
|
1889 |
+
*
|
1890 |
+
* getInitialState: function() {
|
1891 |
+
* return {
|
1892 |
+
* isOn: false,
|
1893 |
+
* fooBaz: new BazFoo()
|
1894 |
+
* }
|
1895 |
+
* }
|
1896 |
+
*
|
1897 |
+
* @return {object}
|
1898 |
+
* @optional
|
1899 |
+
*/
|
1900 |
+
getInitialState: 'DEFINE_MANY_MERGED',
|
1901 |
+
|
1902 |
+
/**
|
1903 |
+
* @return {object}
|
1904 |
+
* @optional
|
1905 |
+
*/
|
1906 |
+
getChildContext: 'DEFINE_MANY_MERGED',
|
1907 |
+
|
1908 |
+
/**
|
1909 |
+
* Uses props from `this.props` and state from `this.state` to render the
|
1910 |
+
* structure of the component.
|
1911 |
+
*
|
1912 |
+
* No guarantees are made about when or how often this method is invoked, so
|
1913 |
+
* it must not have side effects.
|
1914 |
+
*
|
1915 |
+
* render: function() {
|
1916 |
+
* var name = this.props.name;
|
1917 |
+
* return <div>Hello, {name}!</div>;
|
1918 |
+
* }
|
1919 |
+
*
|
1920 |
+
* @return {ReactComponent}
|
1921 |
+
* @required
|
1922 |
+
*/
|
1923 |
+
render: 'DEFINE_ONCE',
|
1924 |
+
|
1925 |
+
// ==== Delegate methods ====
|
1926 |
+
|
1927 |
+
/**
|
1928 |
+
* Invoked when the component is initially created and about to be mounted.
|
1929 |
+
* This may have side effects, but any external subscriptions or data created
|
1930 |
+
* by this method must be cleaned up in `componentWillUnmount`.
|
1931 |
+
*
|
1932 |
+
* @optional
|
1933 |
+
*/
|
1934 |
+
componentWillMount: 'DEFINE_MANY',
|
1935 |
+
|
1936 |
+
/**
|
1937 |
+
* Invoked when the component has been mounted and has a DOM representation.
|
1938 |
+
* However, there is no guarantee that the DOM node is in the document.
|
1939 |
+
*
|
1940 |
+
* Use this as an opportunity to operate on the DOM when the component has
|
1941 |
+
* been mounted (initialized and rendered) for the first time.
|
1942 |
+
*
|
1943 |
+
* @param {DOMElement} rootNode DOM element representing the component.
|
1944 |
+
* @optional
|
1945 |
+
*/
|
1946 |
+
componentDidMount: 'DEFINE_MANY',
|
1947 |
+
|
1948 |
+
/**
|
1949 |
+
* Invoked before the component receives new props.
|
1950 |
+
*
|
1951 |
+
* Use this as an opportunity to react to a prop transition by updating the
|
1952 |
+
* state using `this.setState`. Current props are accessed via `this.props`.
|
1953 |
+
*
|
1954 |
+
* componentWillReceiveProps: function(nextProps, nextContext) {
|
1955 |
+
* this.setState({
|
1956 |
+
* likesIncreasing: nextProps.likeCount > this.props.likeCount
|
1957 |
+
* });
|
1958 |
+
* }
|
1959 |
+
*
|
1960 |
+
* NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop
|
1961 |
+
* transition may cause a state change, but the opposite is not true. If you
|
1962 |
+
* need it, you are probably looking for `componentWillUpdate`.
|
1963 |
+
*
|
1964 |
+
* @param {object} nextProps
|
1965 |
+
* @optional
|
1966 |
+
*/
|
1967 |
+
componentWillReceiveProps: 'DEFINE_MANY',
|
1968 |
+
|
1969 |
+
/**
|
1970 |
+
* Invoked while deciding if the component should be updated as a result of
|
1971 |
+
* receiving new props, state and/or context.
|
1972 |
+
*
|
1973 |
+
* Use this as an opportunity to `return false` when you're certain that the
|
1974 |
+
* transition to the new props/state/context will not require a component
|
1975 |
+
* update.
|
1976 |
+
*
|
1977 |
+
* shouldComponentUpdate: function(nextProps, nextState, nextContext) {
|
1978 |
+
* return !equal(nextProps, this.props) ||
|
1979 |
+
* !equal(nextState, this.state) ||
|
1980 |
+
* !equal(nextContext, this.context);
|
1981 |
+
* }
|
1982 |
+
*
|
1983 |
+
* @param {object} nextProps
|
1984 |
+
* @param {?object} nextState
|
1985 |
+
* @param {?object} nextContext
|
1986 |
+
* @return {boolean} True if the component should update.
|
1987 |
+
* @optional
|
1988 |
+
*/
|
1989 |
+
shouldComponentUpdate: 'DEFINE_ONCE',
|
1990 |
+
|
1991 |
+
/**
|
1992 |
+
* Invoked when the component is about to update due to a transition from
|
1993 |
+
* `this.props`, `this.state` and `this.context` to `nextProps`, `nextState`
|
1994 |
+
* and `nextContext`.
|
1995 |
+
*
|
1996 |
+
* Use this as an opportunity to perform preparation before an update occurs.
|
1997 |
+
*
|
1998 |
+
* NOTE: You **cannot** use `this.setState()` in this method.
|
1999 |
+
*
|
2000 |
+
* @param {object} nextProps
|
2001 |
+
* @param {?object} nextState
|
2002 |
+
* @param {?object} nextContext
|
2003 |
+
* @param {ReactReconcileTransaction} transaction
|
2004 |
+
* @optional
|
2005 |
+
*/
|
2006 |
+
componentWillUpdate: 'DEFINE_MANY',
|
2007 |
+
|
2008 |
+
/**
|
2009 |
+
* Invoked when the component's DOM representation has been updated.
|
2010 |
+
*
|
2011 |
+
* Use this as an opportunity to operate on the DOM when the component has
|
2012 |
+
* been updated.
|
2013 |
+
*
|
2014 |
+
* @param {object} prevProps
|
2015 |
+
* @param {?object} prevState
|
2016 |
+
* @param {?object} prevContext
|
2017 |
+
* @param {DOMElement} rootNode DOM element representing the component.
|
2018 |
+
* @optional
|
2019 |
+
*/
|
2020 |
+
componentDidUpdate: 'DEFINE_MANY',
|
2021 |
+
|
2022 |
+
/**
|
2023 |
+
* Invoked when the component is about to be removed from its parent and have
|
2024 |
+
* its DOM representation destroyed.
|
2025 |
+
*
|
2026 |
+
* Use this as an opportunity to deallocate any external resources.
|
2027 |
+
*
|
2028 |
+
* NOTE: There is no `componentDidUnmount` since your component will have been
|
2029 |
+
* destroyed by that point.
|
2030 |
+
*
|
2031 |
+
* @optional
|
2032 |
+
*/
|
2033 |
+
componentWillUnmount: 'DEFINE_MANY',
|
2034 |
+
|
2035 |
+
// ==== Advanced methods ====
|
2036 |
+
|
2037 |
+
/**
|
2038 |
+
* Updates the component's currently mounted DOM representation.
|
2039 |
+
*
|
2040 |
+
* By default, this implements React's rendering and reconciliation algorithm.
|
2041 |
+
* Sophisticated clients may wish to override this.
|
2042 |
+
*
|
2043 |
+
* @param {ReactReconcileTransaction} transaction
|
2044 |
+
* @internal
|
2045 |
+
* @overridable
|
2046 |
+
*/
|
2047 |
+
updateComponent: 'OVERRIDE_BASE'
|
2048 |
+
};
|
2049 |
+
|
2050 |
+
/**
|
2051 |
+
* Mapping from class specification keys to special processing functions.
|
2052 |
+
*
|
2053 |
+
* Although these are declared like instance properties in the specification
|
2054 |
+
* when defining classes using `React.createClass`, they are actually static
|
2055 |
+
* and are accessible on the constructor instead of the prototype. Despite
|
2056 |
+
* being static, they must be defined outside of the "statics" key under
|
2057 |
+
* which all other static methods are defined.
|
2058 |
+
*/
|
2059 |
+
var RESERVED_SPEC_KEYS = {
|
2060 |
+
displayName: function(Constructor, displayName) {
|
2061 |
+
Constructor.displayName = displayName;
|
2062 |
+
},
|
2063 |
+
mixins: function(Constructor, mixins) {
|
2064 |
+
if (mixins) {
|
2065 |
+
for (var i = 0; i < mixins.length; i++) {
|
2066 |
+
mixSpecIntoComponent(Constructor, mixins[i]);
|
2067 |
+
}
|
2068 |
+
}
|
2069 |
+
},
|
2070 |
+
childContextTypes: function(Constructor, childContextTypes) {
|
2071 |
+
if (true) {
|
2072 |
+
validateTypeDef(Constructor, childContextTypes, 'childContext');
|
2073 |
+
}
|
2074 |
+
Constructor.childContextTypes = _assign(
|
2075 |
+
{},
|
2076 |
+
Constructor.childContextTypes,
|
2077 |
+
childContextTypes
|
2078 |
+
);
|
2079 |
+
},
|
2080 |
+
contextTypes: function(Constructor, contextTypes) {
|
2081 |
+
if (true) {
|
2082 |
+
validateTypeDef(Constructor, contextTypes, 'context');
|
2083 |
+
}
|
2084 |
+
Constructor.contextTypes = _assign(
|
2085 |
+
{},
|
2086 |
+
Constructor.contextTypes,
|
2087 |
+
contextTypes
|
2088 |
+
);
|
2089 |
+
},
|
2090 |
+
/**
|
2091 |
+
* Special case getDefaultProps which should move into statics but requires
|
2092 |
+
* automatic merging.
|
2093 |
+
*/
|
2094 |
+
getDefaultProps: function(Constructor, getDefaultProps) {
|
2095 |
+
if (Constructor.getDefaultProps) {
|
2096 |
+
Constructor.getDefaultProps = createMergedResultFunction(
|
2097 |
+
Constructor.getDefaultProps,
|
2098 |
+
getDefaultProps
|
2099 |
+
);
|
2100 |
+
} else {
|
2101 |
+
Constructor.getDefaultProps = getDefaultProps;
|
2102 |
+
}
|
2103 |
+
},
|
2104 |
+
propTypes: function(Constructor, propTypes) {
|
2105 |
+
if (true) {
|
2106 |
+
validateTypeDef(Constructor, propTypes, 'prop');
|
2107 |
+
}
|
2108 |
+
Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);
|
2109 |
+
},
|
2110 |
+
statics: function(Constructor, statics) {
|
2111 |
+
mixStaticSpecIntoComponent(Constructor, statics);
|
2112 |
+
},
|
2113 |
+
autobind: function() {}
|
2114 |
+
};
|
2115 |
+
|
2116 |
+
function validateTypeDef(Constructor, typeDef, location) {
|
2117 |
+
for (var propName in typeDef) {
|
2118 |
+
if (typeDef.hasOwnProperty(propName)) {
|
2119 |
+
// use a warning instead of an _invariant so components
|
2120 |
+
// don't show up in prod but only in __DEV__
|
2121 |
+
if (true) {
|
2122 |
+
warning(
|
2123 |
+
typeof typeDef[propName] === 'function',
|
2124 |
+
'%s: %s type `%s` is invalid; it must be a function, usually from ' +
|
2125 |
+
'React.PropTypes.',
|
2126 |
+
Constructor.displayName || 'ReactClass',
|
2127 |
+
ReactPropTypeLocationNames[location],
|
2128 |
+
propName
|
2129 |
+
);
|
2130 |
+
}
|
2131 |
+
}
|
2132 |
+
}
|
2133 |
+
}
|
2134 |
+
|
2135 |
+
function validateMethodOverride(isAlreadyDefined, name) {
|
2136 |
+
var specPolicy = ReactClassInterface.hasOwnProperty(name)
|
2137 |
+
? ReactClassInterface[name]
|
2138 |
+
: null;
|
2139 |
+
|
2140 |
+
// Disallow overriding of base class methods unless explicitly allowed.
|
2141 |
+
if (ReactClassMixin.hasOwnProperty(name)) {
|
2142 |
+
_invariant(
|
2143 |
+
specPolicy === 'OVERRIDE_BASE',
|
2144 |
+
'ReactClassInterface: You are attempting to override ' +
|
2145 |
+
'`%s` from your class specification. Ensure that your method names ' +
|
2146 |
+
'do not overlap with React methods.',
|
2147 |
+
name
|
2148 |
+
);
|
2149 |
+
}
|
2150 |
+
|
2151 |
+
// Disallow defining methods more than once unless explicitly allowed.
|
2152 |
+
if (isAlreadyDefined) {
|
2153 |
+
_invariant(
|
2154 |
+
specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED',
|
2155 |
+
'ReactClassInterface: You are attempting to define ' +
|
2156 |
+
'`%s` on your component more than once. This conflict may be due ' +
|
2157 |
+
'to a mixin.',
|
2158 |
+
name
|
2159 |
+
);
|
2160 |
+
}
|
2161 |
+
}
|
2162 |
+
|
2163 |
+
/**
|
2164 |
+
* Mixin helper which handles policy validation and reserved
|
2165 |
+
* specification keys when building React classes.
|
2166 |
+
*/
|
2167 |
+
function mixSpecIntoComponent(Constructor, spec) {
|
2168 |
+
if (!spec) {
|
2169 |
+
if (true) {
|
2170 |
+
var typeofSpec = typeof spec;
|
2171 |
+
var isMixinValid = typeofSpec === 'object' && spec !== null;
|
2172 |
+
|
2173 |
+
if (true) {
|
2174 |
+
warning(
|
2175 |
+
isMixinValid,
|
2176 |
+
"%s: You're attempting to include a mixin that is either null " +
|
2177 |
+
'or not an object. Check the mixins included by the component, ' +
|
2178 |
+
'as well as any mixins they include themselves. ' +
|
2179 |
+
'Expected object but got %s.',
|
2180 |
+
Constructor.displayName || 'ReactClass',
|
2181 |
+
spec === null ? null : typeofSpec
|
2182 |
+
);
|
2183 |
+
}
|
2184 |
+
}
|
2185 |
+
|
2186 |
+
return;
|
2187 |
+
}
|
2188 |
+
|
2189 |
+
_invariant(
|
2190 |
+
typeof spec !== 'function',
|
2191 |
+
"ReactClass: You're attempting to " +
|
2192 |
+
'use a component class or function as a mixin. Instead, just use a ' +
|
2193 |
+
'regular object.'
|
2194 |
+
);
|
2195 |
+
_invariant(
|
2196 |
+
!isValidElement(spec),
|
2197 |
+
"ReactClass: You're attempting to " +
|
2198 |
+
'use a component as a mixin. Instead, just use a regular object.'
|
2199 |
+
);
|
2200 |
+
|
2201 |
+
var proto = Constructor.prototype;
|
2202 |
+
var autoBindPairs = proto.__reactAutoBindPairs;
|
2203 |
+
|
2204 |
+
// By handling mixins before any other properties, we ensure the same
|
2205 |
+
// chaining order is applied to methods with DEFINE_MANY policy, whether
|
2206 |
+
// mixins are listed before or after these methods in the spec.
|
2207 |
+
if (spec.hasOwnProperty(MIXINS_KEY)) {
|
2208 |
+
RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);
|
2209 |
+
}
|
2210 |
+
|
2211 |
+
for (var name in spec) {
|
2212 |
+
if (!spec.hasOwnProperty(name)) {
|
2213 |
+
continue;
|
2214 |
+
}
|
2215 |
+
|
2216 |
+
if (name === MIXINS_KEY) {
|
2217 |
+
// We have already handled mixins in a special case above.
|
2218 |
+
continue;
|
2219 |
+
}
|
2220 |
+
|
2221 |
+
var property = spec[name];
|
2222 |
+
var isAlreadyDefined = proto.hasOwnProperty(name);
|
2223 |
+
validateMethodOverride(isAlreadyDefined, name);
|
2224 |
+
|
2225 |
+
if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {
|
2226 |
+
RESERVED_SPEC_KEYS[name](Constructor, property);
|
2227 |
+
} else {
|
2228 |
+
// Setup methods on prototype:
|
2229 |
+
// The following member methods should not be automatically bound:
|
2230 |
+
// 1. Expected ReactClass methods (in the "interface").
|
2231 |
+
// 2. Overridden methods (that were mixed in).
|
2232 |
+
var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);
|
2233 |
+
var isFunction = typeof property === 'function';
|
2234 |
+
var shouldAutoBind =
|
2235 |
+
isFunction &&
|
2236 |
+
!isReactClassMethod &&
|
2237 |
+
!isAlreadyDefined &&
|
2238 |
+
spec.autobind !== false;
|
2239 |
+
|
2240 |
+
if (shouldAutoBind) {
|
2241 |
+
autoBindPairs.push(name, property);
|
2242 |
+
proto[name] = property;
|
2243 |
+
} else {
|
2244 |
+
if (isAlreadyDefined) {
|
2245 |
+
var specPolicy = ReactClassInterface[name];
|
2246 |
+
|
2247 |
+
// These cases should already be caught by validateMethodOverride.
|
2248 |
+
_invariant(
|
2249 |
+
isReactClassMethod &&
|
2250 |
+
(specPolicy === 'DEFINE_MANY_MERGED' ||
|
2251 |
+
specPolicy === 'DEFINE_MANY'),
|
2252 |
+
'ReactClass: Unexpected spec policy %s for key %s ' +
|
2253 |
+
'when mixing in component specs.',
|
2254 |
+
specPolicy,
|
2255 |
+
name
|
2256 |
+
);
|
2257 |
+
|
2258 |
+
// For methods which are defined more than once, call the existing
|
2259 |
+
// methods before calling the new property, merging if appropriate.
|
2260 |
+
if (specPolicy === 'DEFINE_MANY_MERGED') {
|
2261 |
+
proto[name] = createMergedResultFunction(proto[name], property);
|
2262 |
+
} else if (specPolicy === 'DEFINE_MANY') {
|
2263 |
+
proto[name] = createChainedFunction(proto[name], property);
|
2264 |
+
}
|
2265 |
+
} else {
|
2266 |
+
proto[name] = property;
|
2267 |
+
if (true) {
|
2268 |
+
// Add verbose displayName to the function, which helps when looking
|
2269 |
+
// at profiling tools.
|
2270 |
+
if (typeof property === 'function' && spec.displayName) {
|
2271 |
+
proto[name].displayName = spec.displayName + '_' + name;
|
2272 |
+
}
|
2273 |
+
}
|
2274 |
+
}
|
2275 |
+
}
|
2276 |
+
}
|
2277 |
+
}
|
2278 |
+
}
|
2279 |
+
|
2280 |
+
function mixStaticSpecIntoComponent(Constructor, statics) {
|
2281 |
+
if (!statics) {
|
2282 |
+
return;
|
2283 |
+
}
|
2284 |
+
for (var name in statics) {
|
2285 |
+
var property = statics[name];
|
2286 |
+
if (!statics.hasOwnProperty(name)) {
|
2287 |
+
continue;
|
2288 |
+
}
|
2289 |
+
|
2290 |
+
var isReserved = name in RESERVED_SPEC_KEYS;
|
2291 |
+
_invariant(
|
2292 |
+
!isReserved,
|
2293 |
+
'ReactClass: You are attempting to define a reserved ' +
|
2294 |
+
'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' +
|
2295 |
+
'as an instance property instead; it will still be accessible on the ' +
|
2296 |
+
'constructor.',
|
2297 |
+
name
|
2298 |
+
);
|
2299 |
+
|
2300 |
+
var isInherited = name in Constructor;
|
2301 |
+
_invariant(
|
2302 |
+
!isInherited,
|
2303 |
+
'ReactClass: You are attempting to define ' +
|
2304 |
+
'`%s` on your component more than once. This conflict may be ' +
|
2305 |
+
'due to a mixin.',
|
2306 |
+
name
|
2307 |
+
);
|
2308 |
+
Constructor[name] = property;
|
2309 |
+
}
|
2310 |
+
}
|
2311 |
+
|
2312 |
+
/**
|
2313 |
+
* Merge two objects, but throw if both contain the same key.
|
2314 |
+
*
|
2315 |
+
* @param {object} one The first object, which is mutated.
|
2316 |
+
* @param {object} two The second object
|
2317 |
+
* @return {object} one after it has been mutated to contain everything in two.
|
2318 |
+
*/
|
2319 |
+
function mergeIntoWithNoDuplicateKeys(one, two) {
|
2320 |
+
_invariant(
|
2321 |
+
one && two && typeof one === 'object' && typeof two === 'object',
|
2322 |
+
'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'
|
2323 |
+
);
|
2324 |
+
|
2325 |
+
for (var key in two) {
|
2326 |
+
if (two.hasOwnProperty(key)) {
|
2327 |
+
_invariant(
|
2328 |
+
one[key] === undefined,
|
2329 |
+
'mergeIntoWithNoDuplicateKeys(): ' +
|
2330 |
+
'Tried to merge two objects with the same key: `%s`. This conflict ' +
|
2331 |
+
'may be due to a mixin; in particular, this may be caused by two ' +
|
2332 |
+
'getInitialState() or getDefaultProps() methods returning objects ' +
|
2333 |
+
'with clashing keys.',
|
2334 |
+
key
|
2335 |
+
);
|
2336 |
+
one[key] = two[key];
|
2337 |
+
}
|
2338 |
+
}
|
2339 |
+
return one;
|
2340 |
+
}
|
2341 |
+
|
2342 |
+
/**
|
2343 |
+
* Creates a function that invokes two functions and merges their return values.
|
2344 |
+
*
|
2345 |
+
* @param {function} one Function to invoke first.
|
2346 |
+
* @param {function} two Function to invoke second.
|
2347 |
+
* @return {function} Function that invokes the two argument functions.
|
2348 |
+
* @private
|
2349 |
+
*/
|
2350 |
+
function createMergedResultFunction(one, two) {
|
2351 |
+
return function mergedResult() {
|
2352 |
+
var a = one.apply(this, arguments);
|
2353 |
+
var b = two.apply(this, arguments);
|
2354 |
+
if (a == null) {
|
2355 |
+
return b;
|
2356 |
+
} else if (b == null) {
|
2357 |
+
return a;
|
2358 |
+
}
|
2359 |
+
var c = {};
|
2360 |
+
mergeIntoWithNoDuplicateKeys(c, a);
|
2361 |
+
mergeIntoWithNoDuplicateKeys(c, b);
|
2362 |
+
return c;
|
2363 |
+
};
|
2364 |
+
}
|
2365 |
+
|
2366 |
+
/**
|
2367 |
+
* Creates a function that invokes two functions and ignores their return vales.
|
2368 |
+
*
|
2369 |
+
* @param {function} one Function to invoke first.
|
2370 |
+
* @param {function} two Function to invoke second.
|
2371 |
+
* @return {function} Function that invokes the two argument functions.
|
2372 |
+
* @private
|
2373 |
+
*/
|
2374 |
+
function createChainedFunction(one, two) {
|
2375 |
+
return function chainedFunction() {
|
2376 |
+
one.apply(this, arguments);
|
2377 |
+
two.apply(this, arguments);
|
2378 |
+
};
|
2379 |
+
}
|
2380 |
+
|
2381 |
+
/**
|
2382 |
+
* Binds a method to the component.
|
2383 |
+
*
|
2384 |
+
* @param {object} component Component whose method is going to be bound.
|
2385 |
+
* @param {function} method Method to be bound.
|
2386 |
+
* @return {function} The bound method.
|
2387 |
+
*/
|
2388 |
+
function bindAutoBindMethod(component, method) {
|
2389 |
+
var boundMethod = method.bind(component);
|
2390 |
+
if (true) {
|
2391 |
+
boundMethod.__reactBoundContext = component;
|
2392 |
+
boundMethod.__reactBoundMethod = method;
|
2393 |
+
boundMethod.__reactBoundArguments = null;
|
2394 |
+
var componentName = component.constructor.displayName;
|
2395 |
+
var _bind = boundMethod.bind;
|
2396 |
+
boundMethod.bind = function(newThis) {
|
2397 |
+
for (
|
2398 |
+
var _len = arguments.length,
|
2399 |
+
args = Array(_len > 1 ? _len - 1 : 0),
|
2400 |
+
_key = 1;
|
2401 |
+
_key < _len;
|
2402 |
+
_key++
|
2403 |
+
) {
|
2404 |
+
args[_key - 1] = arguments[_key];
|
2405 |
+
}
|
2406 |
+
|
2407 |
+
// User is trying to bind() an autobound method; we effectively will
|
2408 |
+
// ignore the value of "this" that the user is trying to use, so
|
2409 |
+
// let's warn.
|
2410 |
+
if (newThis !== component && newThis !== null) {
|
2411 |
+
if (true) {
|
2412 |
+
warning(
|
2413 |
+
false,
|
2414 |
+
'bind(): React component methods may only be bound to the ' +
|
2415 |
+
'component instance. See %s',
|
2416 |
+
componentName
|
2417 |
+
);
|
2418 |
+
}
|
2419 |
+
} else if (!args.length) {
|
2420 |
+
if (true) {
|
2421 |
+
warning(
|
2422 |
+
false,
|
2423 |
+
'bind(): You are binding a component method to the component. ' +
|
2424 |
+
'React does this for you automatically in a high-performance ' +
|
2425 |
+
'way, so you can safely remove this call. See %s',
|
2426 |
+
componentName
|
2427 |
+
);
|
2428 |
+
}
|
2429 |
+
return boundMethod;
|
2430 |
+
}
|
2431 |
+
var reboundMethod = _bind.apply(boundMethod, arguments);
|
2432 |
+
reboundMethod.__reactBoundContext = component;
|
2433 |
+
reboundMethod.__reactBoundMethod = method;
|
2434 |
+
reboundMethod.__reactBoundArguments = args;
|
2435 |
+
return reboundMethod;
|
2436 |
+
};
|
2437 |
+
}
|
2438 |
+
return boundMethod;
|
2439 |
+
}
|
2440 |
+
|
2441 |
+
/**
|
2442 |
+
* Binds all auto-bound methods in a component.
|
2443 |
+
*
|
2444 |
+
* @param {object} component Component whose method is going to be bound.
|
2445 |
+
*/
|
2446 |
+
function bindAutoBindMethods(component) {
|
2447 |
+
var pairs = component.__reactAutoBindPairs;
|
2448 |
+
for (var i = 0; i < pairs.length; i += 2) {
|
2449 |
+
var autoBindKey = pairs[i];
|
2450 |
+
var method = pairs[i + 1];
|
2451 |
+
component[autoBindKey] = bindAutoBindMethod(component, method);
|
2452 |
+
}
|
2453 |
+
}
|
2454 |
+
|
2455 |
+
var IsMountedPreMixin = {
|
2456 |
+
componentDidMount: function() {
|
2457 |
+
this.__isMounted = true;
|
2458 |
+
}
|
2459 |
+
};
|
2460 |
+
|
2461 |
+
var IsMountedPostMixin = {
|
2462 |
+
componentWillUnmount: function() {
|
2463 |
+
this.__isMounted = false;
|
2464 |
+
}
|
2465 |
+
};
|
2466 |
+
|
2467 |
+
/**
|
2468 |
+
* Add more to the ReactClass base class. These are all legacy features and
|
2469 |
+
* therefore not already part of the modern ReactComponent.
|
2470 |
+
*/
|
2471 |
+
var ReactClassMixin = {
|
2472 |
+
/**
|
2473 |
+
* TODO: This will be deprecated because state should always keep a consistent
|
2474 |
+
* type signature and the only use case for this, is to avoid that.
|
2475 |
+
*/
|
2476 |
+
replaceState: function(newState, callback) {
|
2477 |
+
this.updater.enqueueReplaceState(this, newState, callback);
|
2478 |
+
},
|
2479 |
+
|
2480 |
+
/**
|
2481 |
+
* Checks whether or not this composite component is mounted.
|
2482 |
+
* @return {boolean} True if mounted, false otherwise.
|
2483 |
+
* @protected
|
2484 |
+
* @final
|
2485 |
+
*/
|
2486 |
+
isMounted: function() {
|
2487 |
+
if (true) {
|
2488 |
+
warning(
|
2489 |
+
this.__didWarnIsMounted,
|
2490 |
+
'%s: isMounted is deprecated. Instead, make sure to clean up ' +
|
2491 |
+
'subscriptions and pending requests in componentWillUnmount to ' +
|
2492 |
+
'prevent memory leaks.',
|
2493 |
+
(this.constructor && this.constructor.displayName) ||
|
2494 |
+
this.name ||
|
2495 |
+
'Component'
|
2496 |
+
);
|
2497 |
+
this.__didWarnIsMounted = true;
|
2498 |
+
}
|
2499 |
+
return !!this.__isMounted;
|
2500 |
+
}
|
2501 |
+
};
|
2502 |
+
|
2503 |
+
var ReactClassComponent = function() {};
|
2504 |
+
_assign(
|
2505 |
+
ReactClassComponent.prototype,
|
2506 |
+
ReactComponent.prototype,
|
2507 |
+
ReactClassMixin
|
2508 |
+
);
|
2509 |
+
|
2510 |
+
/**
|
2511 |
+
* Creates a composite component class given a class specification.
|
2512 |
+
* See https://facebook.github.io/react/docs/top-level-api.html#react.createclass
|
2513 |
+
*
|
2514 |
+
* @param {object} spec Class specification (which must define `render`).
|
2515 |
+
* @return {function} Component constructor function.
|
2516 |
+
* @public
|
2517 |
+
*/
|
2518 |
+
function createClass(spec) {
|
2519 |
+
// To keep our warnings more understandable, we'll use a little hack here to
|
2520 |
+
// ensure that Constructor.name !== 'Constructor'. This makes sure we don't
|
2521 |
+
// unnecessarily identify a class without displayName as 'Constructor'.
|
2522 |
+
var Constructor = identity(function(props, context, updater) {
|
2523 |
+
// This constructor gets overridden by mocks. The argument is used
|
2524 |
+
// by mocks to assert on what gets mounted.
|
2525 |
+
|
2526 |
+
if (true) {
|
2527 |
+
warning(
|
2528 |
+
this instanceof Constructor,
|
2529 |
+
'Something is calling a React component directly. Use a factory or ' +
|
2530 |
+
'JSX instead. See: https://fb.me/react-legacyfactory'
|
2531 |
+
);
|
2532 |
+
}
|
2533 |
+
|
2534 |
+
// Wire up auto-binding
|
2535 |
+
if (this.__reactAutoBindPairs.length) {
|
2536 |
+
bindAutoBindMethods(this);
|
2537 |
+
}
|
2538 |
+
|
2539 |
+
this.props = props;
|
2540 |
+
this.context = context;
|
2541 |
+
this.refs = emptyObject;
|
2542 |
+
this.updater = updater || ReactNoopUpdateQueue;
|
2543 |
+
|
2544 |
+
this.state = null;
|
2545 |
+
|
2546 |
+
// ReactClasses doesn't have constructors. Instead, they use the
|
2547 |
+
// getInitialState and componentWillMount methods for initialization.
|
2548 |
+
|
2549 |
+
var initialState = this.getInitialState ? this.getInitialState() : null;
|
2550 |
+
if (true) {
|
2551 |
+
// We allow auto-mocks to proceed as if they're returning null.
|
2552 |
+
if (
|
2553 |
+
initialState === undefined &&
|
2554 |
+
this.getInitialState._isMockFunction
|
2555 |
+
) {
|
2556 |
+
// This is probably bad practice. Consider warning here and
|
2557 |
+
// deprecating this convenience.
|
2558 |
+
initialState = null;
|
2559 |
+
}
|
2560 |
+
}
|
2561 |
+
_invariant(
|
2562 |
+
typeof initialState === 'object' && !Array.isArray(initialState),
|
2563 |
+
'%s.getInitialState(): must return an object or null',
|
2564 |
+
Constructor.displayName || 'ReactCompositeComponent'
|
2565 |
+
);
|
2566 |
+
|
2567 |
+
this.state = initialState;
|
2568 |
+
});
|
2569 |
+
Constructor.prototype = new ReactClassComponent();
|
2570 |
+
Constructor.prototype.constructor = Constructor;
|
2571 |
+
Constructor.prototype.__reactAutoBindPairs = [];
|
2572 |
+
|
2573 |
+
injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor));
|
2574 |
+
|
2575 |
+
mixSpecIntoComponent(Constructor, IsMountedPreMixin);
|
2576 |
+
mixSpecIntoComponent(Constructor, spec);
|
2577 |
+
mixSpecIntoComponent(Constructor, IsMountedPostMixin);
|
2578 |
+
|
2579 |
+
// Initialize the defaultProps property after all mixins have been merged.
|
2580 |
+
if (Constructor.getDefaultProps) {
|
2581 |
+
Constructor.defaultProps = Constructor.getDefaultProps();
|
2582 |
+
}
|
2583 |
+
|
2584 |
+
if (true) {
|
2585 |
+
// This is a tag to indicate that the use of these method names is ok,
|
2586 |
+
// since it's used with createClass. If it's not, then it's likely a
|
2587 |
+
// mistake so we'll warn you to use the static property, property
|
2588 |
+
// initializer or constructor respectively.
|
2589 |
+
if (Constructor.getDefaultProps) {
|
2590 |
+
Constructor.getDefaultProps.isReactClassApproved = {};
|
2591 |
+
}
|
2592 |
+
if (Constructor.prototype.getInitialState) {
|
2593 |
+
Constructor.prototype.getInitialState.isReactClassApproved = {};
|
2594 |
+
}
|
2595 |
+
}
|
2596 |
+
|
2597 |
+
_invariant(
|
2598 |
+
Constructor.prototype.render,
|
2599 |
+
'createClass(...): Class specification must implement a `render` method.'
|
2600 |
+
);
|
2601 |
+
|
2602 |
+
if (true) {
|
2603 |
+
warning(
|
2604 |
+
!Constructor.prototype.componentShouldUpdate,
|
2605 |
+
'%s has a method called ' +
|
2606 |
+
'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' +
|
2607 |
+
'The name is phrased as a question because the function is ' +
|
2608 |
+
'expected to return a value.',
|
2609 |
+
spec.displayName || 'A component'
|
2610 |
+
);
|
2611 |
+
warning(
|
2612 |
+
!Constructor.prototype.componentWillRecieveProps,
|
2613 |
+
'%s has a method called ' +
|
2614 |
+
'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?',
|
2615 |
+
spec.displayName || 'A component'
|
2616 |
+
);
|
2617 |
+
}
|
2618 |
+
|
2619 |
+
// Reduce time spent doing lookups by setting these on the prototype.
|
2620 |
+
for (var methodName in ReactClassInterface) {
|
2621 |
+
if (!Constructor.prototype[methodName]) {
|
2622 |
+
Constructor.prototype[methodName] = null;
|
2623 |
+
}
|
2624 |
+
}
|
2625 |
+
|
2626 |
+
return Constructor;
|
2627 |
+
}
|
2628 |
+
|
2629 |
+
return createClass;
|
2630 |
+
}
|
2631 |
+
|
2632 |
+
module.exports = factory;
|
2633 |
+
|
2634 |
+
|
2635 |
+
/***/ }),
|
2636 |
+
|
2637 |
+
/***/ "./node_modules/desandro-matches-selector/matches-selector.js":
|
2638 |
+
/*!********************************************************************!*\
|
2639 |
+
!*** ./node_modules/desandro-matches-selector/matches-selector.js ***!
|
2640 |
+
\********************************************************************/
|
2641 |
+
/*! no static exports found */
|
2642 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2643 |
+
|
2644 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
2645 |
+
* matchesSelector v2.0.2
|
2646 |
+
* matchesSelector( element, '.selector' )
|
2647 |
+
* MIT license
|
2648 |
+
*/
|
2649 |
+
|
2650 |
+
/*jshint browser: true, strict: true, undef: true, unused: true */
|
2651 |
+
|
2652 |
+
( function( window, factory ) {
|
2653 |
+
/*global define: false, module: false */
|
2654 |
+
'use strict';
|
2655 |
+
// universal module definition
|
2656 |
+
if ( true ) {
|
2657 |
+
// AMD
|
2658 |
+
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
2659 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
2660 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
2661 |
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
2662 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
2663 |
+
} else {}
|
2664 |
+
|
2665 |
+
}( window, function factory() {
|
2666 |
+
'use strict';
|
2667 |
+
|
2668 |
+
var matchesMethod = ( function() {
|
2669 |
+
var ElemProto = window.Element.prototype;
|
2670 |
+
// check for the standard method name first
|
2671 |
+
if ( ElemProto.matches ) {
|
2672 |
+
return 'matches';
|
2673 |
+
}
|
2674 |
+
// check un-prefixed
|
2675 |
+
if ( ElemProto.matchesSelector ) {
|
2676 |
+
return 'matchesSelector';
|
2677 |
+
}
|
2678 |
+
// check vendor prefixes
|
2679 |
+
var prefixes = [ 'webkit', 'moz', 'ms', 'o' ];
|
2680 |
+
|
2681 |
+
for ( var i=0; i < prefixes.length; i++ ) {
|
2682 |
+
var prefix = prefixes[i];
|
2683 |
+
var method = prefix + 'MatchesSelector';
|
2684 |
+
if ( ElemProto[ method ] ) {
|
2685 |
+
return method;
|
2686 |
+
}
|
2687 |
+
}
|
2688 |
+
})();
|
2689 |
+
|
2690 |
+
return function matchesSelector( elem, selector ) {
|
2691 |
+
return elem[ matchesMethod ]( selector );
|
2692 |
+
};
|
2693 |
+
|
2694 |
+
}));
|
2695 |
+
|
2696 |
+
|
2697 |
+
/***/ }),
|
2698 |
+
|
2699 |
+
/***/ "./node_modules/es6-promise/dist/es6-promise.js":
|
2700 |
+
/*!******************************************************!*\
|
2701 |
+
!*** ./node_modules/es6-promise/dist/es6-promise.js ***!
|
2702 |
+
\******************************************************/
|
2703 |
+
/*! no static exports found */
|
2704 |
+
/***/ (function(module, exports, __webpack_require__) {
|
2705 |
+
|
2706 |
+
/* WEBPACK VAR INJECTION */(function(process, global) {var require;/*!
|
2707 |
+
* @overview es6-promise - a tiny implementation of Promises/A+.
|
2708 |
+
* @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)
|
2709 |
+
* @license Licensed under MIT license
|
2710 |
+
* See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE
|
2711 |
+
* @version 4.1.1
|
2712 |
+
*/
|
2713 |
+
|
2714 |
+
(function (global, factory) {
|
2715 |
+
true ? module.exports = factory() :
|
2716 |
+
undefined;
|
2717 |
+
}(this, (function () { 'use strict';
|
2718 |
+
|
2719 |
+
function objectOrFunction(x) {
|
2720 |
+
var type = typeof x;
|
2721 |
+
return x !== null && (type === 'object' || type === 'function');
|
2722 |
+
}
|
2723 |
+
|
2724 |
+
function isFunction(x) {
|
2725 |
+
return typeof x === 'function';
|
2726 |
+
}
|
2727 |
+
|
2728 |
+
var _isArray = undefined;
|
2729 |
+
if (Array.isArray) {
|
2730 |
+
_isArray = Array.isArray;
|
2731 |
+
} else {
|
2732 |
+
_isArray = function (x) {
|
2733 |
+
return Object.prototype.toString.call(x) === '[object Array]';
|
2734 |
+
};
|
2735 |
+
}
|
2736 |
+
|
2737 |
+
var isArray = _isArray;
|
2738 |
+
|
2739 |
+
var len = 0;
|
2740 |
+
var vertxNext = undefined;
|
2741 |
+
var customSchedulerFn = undefined;
|
2742 |
+
|
2743 |
+
var asap = function asap(callback, arg) {
|
2744 |
+
queue[len] = callback;
|
2745 |
+
queue[len + 1] = arg;
|
2746 |
+
len += 2;
|
2747 |
+
if (len === 2) {
|
2748 |
+
// If len is 2, that means that we need to schedule an async flush.
|
2749 |
+
// If additional callbacks are queued before the queue is flushed, they
|
2750 |
+
// will be processed by this flush that we are scheduling.
|
2751 |
+
if (customSchedulerFn) {
|
2752 |
+
customSchedulerFn(flush);
|
2753 |
+
} else {
|
2754 |
+
scheduleFlush();
|
2755 |
+
}
|
2756 |
+
}
|
2757 |
+
};
|
2758 |
+
|
2759 |
+
function setScheduler(scheduleFn) {
|
2760 |
+
customSchedulerFn = scheduleFn;
|
2761 |
+
}
|
2762 |
+
|
2763 |
+
function setAsap(asapFn) {
|
2764 |
+
asap = asapFn;
|
2765 |
+
}
|
2766 |
+
|
2767 |
+
var browserWindow = typeof window !== 'undefined' ? window : undefined;
|
2768 |
+
var browserGlobal = browserWindow || {};
|
2769 |
+
var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;
|
2770 |
+
var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && ({}).toString.call(process) === '[object process]';
|
2771 |
+
|
2772 |
+
// test for web worker but not in IE10
|
2773 |
+
var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';
|
2774 |
+
|
2775 |
+
// node
|
2776 |
+
function useNextTick() {
|
2777 |
+
// node version 0.10.x displays a deprecation warning when nextTick is used recursively
|
2778 |
+
// see https://github.com/cujojs/when/issues/410 for details
|
2779 |
+
return function () {
|
2780 |
+
return process.nextTick(flush);
|
2781 |
+
};
|
2782 |
+
}
|
2783 |
+
|
2784 |
+
// vertx
|
2785 |
+
function useVertxTimer() {
|
2786 |
+
if (typeof vertxNext !== 'undefined') {
|
2787 |
+
return function () {
|
2788 |
+
vertxNext(flush);
|
2789 |
+
};
|
2790 |
+
}
|
2791 |
+
|
2792 |
+
return useSetTimeout();
|
2793 |
+
}
|
2794 |
+
|
2795 |
+
function useMutationObserver() {
|
2796 |
+
var iterations = 0;
|
2797 |
+
var observer = new BrowserMutationObserver(flush);
|
2798 |
+
var node = document.createTextNode('');
|
2799 |
+
observer.observe(node, { characterData: true });
|
2800 |
+
|
2801 |
+
return function () {
|
2802 |
+
node.data = iterations = ++iterations % 2;
|
2803 |
+
};
|
2804 |
+
}
|
2805 |
+
|
2806 |
+
// web worker
|
2807 |
+
function useMessageChannel() {
|
2808 |
+
var channel = new MessageChannel();
|
2809 |
+
channel.port1.onmessage = flush;
|
2810 |
+
return function () {
|
2811 |
+
return channel.port2.postMessage(0);
|
2812 |
+
};
|
2813 |
+
}
|
2814 |
+
|
2815 |
+
function useSetTimeout() {
|
2816 |
+
// Store setTimeout reference so es6-promise will be unaffected by
|
2817 |
+
// other code modifying setTimeout (like sinon.useFakeTimers())
|
2818 |
+
var globalSetTimeout = setTimeout;
|
2819 |
+
return function () {
|
2820 |
+
return globalSetTimeout(flush, 1);
|
2821 |
+
};
|
2822 |
+
}
|
2823 |
+
|
2824 |
+
var queue = new Array(1000);
|
2825 |
+
function flush() {
|
2826 |
+
for (var i = 0; i < len; i += 2) {
|
2827 |
+
var callback = queue[i];
|
2828 |
+
var arg = queue[i + 1];
|
2829 |
+
|
2830 |
+
callback(arg);
|
2831 |
+
|
2832 |
+
queue[i] = undefined;
|
2833 |
+
queue[i + 1] = undefined;
|
2834 |
+
}
|
2835 |
+
|
2836 |
+
len = 0;
|
2837 |
+
}
|
2838 |
+
|
2839 |
+
function attemptVertx() {
|
2840 |
+
try {
|
2841 |
+
var r = require;
|
2842 |
+
var vertx = __webpack_require__(/*! vertx */ 0);
|
2843 |
+
vertxNext = vertx.runOnLoop || vertx.runOnContext;
|
2844 |
+
return useVertxTimer();
|
2845 |
+
} catch (e) {
|
2846 |
+
return useSetTimeout();
|
2847 |
+
}
|
2848 |
+
}
|
2849 |
+
|
2850 |
+
var scheduleFlush = undefined;
|
2851 |
+
// Decide what async method to use to triggering processing of queued callbacks:
|
2852 |
+
if (isNode) {
|
2853 |
+
scheduleFlush = useNextTick();
|
2854 |
+
} else if (BrowserMutationObserver) {
|
2855 |
+
scheduleFlush = useMutationObserver();
|
2856 |
+
} else if (isWorker) {
|
2857 |
+
scheduleFlush = useMessageChannel();
|
2858 |
+
} else if (browserWindow === undefined && "function" === 'function') {
|
2859 |
+
scheduleFlush = attemptVertx();
|
2860 |
+
} else {
|
2861 |
+
scheduleFlush = useSetTimeout();
|
2862 |
+
}
|
2863 |
+
|
2864 |
+
function then(onFulfillment, onRejection) {
|
2865 |
+
var _arguments = arguments;
|
2866 |
+
|
2867 |
+
var parent = this;
|
2868 |
+
|
2869 |
+
var child = new this.constructor(noop);
|
2870 |
+
|
2871 |
+
if (child[PROMISE_ID] === undefined) {
|
2872 |
+
makePromise(child);
|
2873 |
+
}
|
2874 |
+
|
2875 |
+
var _state = parent._state;
|
2876 |
+
|
2877 |
+
if (_state) {
|
2878 |
+
(function () {
|
2879 |
+
var callback = _arguments[_state - 1];
|
2880 |
+
asap(function () {
|
2881 |
+
return invokeCallback(_state, child, callback, parent._result);
|
2882 |
+
});
|
2883 |
+
})();
|
2884 |
+
} else {
|
2885 |
+
subscribe(parent, child, onFulfillment, onRejection);
|
2886 |
+
}
|
2887 |
+
|
2888 |
+
return child;
|
2889 |
+
}
|
2890 |
+
|
2891 |
+
/**
|
2892 |
+
`Promise.resolve` returns a promise that will become resolved with the
|
2893 |
+
passed `value`. It is shorthand for the following:
|
2894 |
+
|
2895 |
+
```javascript
|
2896 |
+
let promise = new Promise(function(resolve, reject){
|
2897 |
+
resolve(1);
|
2898 |
+
});
|
2899 |
+
|
2900 |
+
promise.then(function(value){
|
2901 |
+
// value === 1
|
2902 |
+
});
|
2903 |
+
```
|
2904 |
+
|
2905 |
+
Instead of writing the above, your code now simply becomes the following:
|
2906 |
+
|
2907 |
+
```javascript
|
2908 |
+
let promise = Promise.resolve(1);
|
2909 |
+
|
2910 |
+
promise.then(function(value){
|
2911 |
+
// value === 1
|
2912 |
+
});
|
2913 |
+
```
|
2914 |
+
|
2915 |
+
@method resolve
|
2916 |
+
@static
|
2917 |
+
@param {Any} value value that the returned promise will be resolved with
|
2918 |
+
Useful for tooling.
|
2919 |
+
@return {Promise} a promise that will become fulfilled with the given
|
2920 |
+
`value`
|
2921 |
+
*/
|
2922 |
+
function resolve$1(object) {
|
2923 |
+
/*jshint validthis:true */
|
2924 |
+
var Constructor = this;
|
2925 |
+
|
2926 |
+
if (object && typeof object === 'object' && object.constructor === Constructor) {
|
2927 |
+
return object;
|
2928 |
+
}
|
2929 |
+
|
2930 |
+
var promise = new Constructor(noop);
|
2931 |
+
resolve(promise, object);
|
2932 |
+
return promise;
|
2933 |
+
}
|
2934 |
+
|
2935 |
+
var PROMISE_ID = Math.random().toString(36).substring(16);
|
2936 |
+
|
2937 |
+
function noop() {}
|
2938 |
+
|
2939 |
+
var PENDING = void 0;
|
2940 |
+
var FULFILLED = 1;
|
2941 |
+
var REJECTED = 2;
|
2942 |
+
|
2943 |
+
var GET_THEN_ERROR = new ErrorObject();
|
2944 |
+
|
2945 |
+
function selfFulfillment() {
|
2946 |
+
return new TypeError("You cannot resolve a promise with itself");
|
2947 |
+
}
|
2948 |
+
|
2949 |
+
function cannotReturnOwn() {
|
2950 |
+
return new TypeError('A promises callback cannot return that same promise.');
|
2951 |
+
}
|
2952 |
+
|
2953 |
+
function getThen(promise) {
|
2954 |
+
try {
|
2955 |
+
return promise.then;
|
2956 |
+
} catch (error) {
|
2957 |
+
GET_THEN_ERROR.error = error;
|
2958 |
+
return GET_THEN_ERROR;
|
2959 |
+
}
|
2960 |
+
}
|
2961 |
+
|
2962 |
+
function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
|
2963 |
+
try {
|
2964 |
+
then$$1.call(value, fulfillmentHandler, rejectionHandler);
|
2965 |
+
} catch (e) {
|
2966 |
+
return e;
|
2967 |
+
}
|
2968 |
+
}
|
2969 |
+
|
2970 |
+
function handleForeignThenable(promise, thenable, then$$1) {
|
2971 |
+
asap(function (promise) {
|
2972 |
+
var sealed = false;
|
2973 |
+
var error = tryThen(then$$1, thenable, function (value) {
|
2974 |
+
if (sealed) {
|
2975 |
+
return;
|
2976 |
+
}
|
2977 |
+
sealed = true;
|
2978 |
+
if (thenable !== value) {
|
2979 |
+
resolve(promise, value);
|
2980 |
+
} else {
|
2981 |
+
fulfill(promise, value);
|
2982 |
+
}
|
2983 |
+
}, function (reason) {
|
2984 |
+
if (sealed) {
|
2985 |
+
return;
|
2986 |
+
}
|
2987 |
+
sealed = true;
|
2988 |
+
|
2989 |
+
reject(promise, reason);
|
2990 |
+
}, 'Settle: ' + (promise._label || ' unknown promise'));
|
2991 |
+
|
2992 |
+
if (!sealed && error) {
|
2993 |
+
sealed = true;
|
2994 |
+
reject(promise, error);
|
2995 |
+
}
|
2996 |
+
}, promise);
|
2997 |
+
}
|
2998 |
+
|
2999 |
+
function handleOwnThenable(promise, thenable) {
|
3000 |
+
if (thenable._state === FULFILLED) {
|
3001 |
+
fulfill(promise, thenable._result);
|
3002 |
+
} else if (thenable._state === REJECTED) {
|
3003 |
+
reject(promise, thenable._result);
|
3004 |
+
} else {
|
3005 |
+
subscribe(thenable, undefined, function (value) {
|
3006 |
+
return resolve(promise, value);
|
3007 |
+
}, function (reason) {
|
3008 |
+
return reject(promise, reason);
|
3009 |
+
});
|
3010 |
+
}
|
3011 |
+
}
|
3012 |
+
|
3013 |
+
function handleMaybeThenable(promise, maybeThenable, then$$1) {
|
3014 |
+
if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {
|
3015 |
+
handleOwnThenable(promise, maybeThenable);
|
3016 |
+
} else {
|
3017 |
+
if (then$$1 === GET_THEN_ERROR) {
|
3018 |
+
reject(promise, GET_THEN_ERROR.error);
|
3019 |
+
GET_THEN_ERROR.error = null;
|
3020 |
+
} else if (then$$1 === undefined) {
|
3021 |
+
fulfill(promise, maybeThenable);
|
3022 |
+
} else if (isFunction(then$$1)) {
|
3023 |
+
handleForeignThenable(promise, maybeThenable, then$$1);
|
3024 |
+
} else {
|
3025 |
+
fulfill(promise, maybeThenable);
|
3026 |
+
}
|
3027 |
+
}
|
3028 |
+
}
|
3029 |
+
|
3030 |
+
function resolve(promise, value) {
|
3031 |
+
if (promise === value) {
|
3032 |
+
reject(promise, selfFulfillment());
|
3033 |
+
} else if (objectOrFunction(value)) {
|
3034 |
+
handleMaybeThenable(promise, value, getThen(value));
|
3035 |
+
} else {
|
3036 |
+
fulfill(promise, value);
|
3037 |
+
}
|
3038 |
+
}
|
3039 |
+
|
3040 |
+
function publishRejection(promise) {
|
3041 |
+
if (promise._onerror) {
|
3042 |
+
promise._onerror(promise._result);
|
3043 |
+
}
|
3044 |
+
|
3045 |
+
publish(promise);
|
3046 |
+
}
|
3047 |
+
|
3048 |
+
function fulfill(promise, value) {
|
3049 |
+
if (promise._state !== PENDING) {
|
3050 |
+
return;
|
3051 |
+
}
|
3052 |
+
|
3053 |
+
promise._result = value;
|
3054 |
+
promise._state = FULFILLED;
|
3055 |
+
|
3056 |
+
if (promise._subscribers.length !== 0) {
|
3057 |
+
asap(publish, promise);
|
3058 |
+
}
|
3059 |
+
}
|
3060 |
+
|
3061 |
+
function reject(promise, reason) {
|
3062 |
+
if (promise._state !== PENDING) {
|
3063 |
+
return;
|
3064 |
+
}
|
3065 |
+
promise._state = REJECTED;
|
3066 |
+
promise._result = reason;
|
3067 |
+
|
3068 |
+
asap(publishRejection, promise);
|
3069 |
+
}
|
3070 |
+
|
3071 |
+
function subscribe(parent, child, onFulfillment, onRejection) {
|
3072 |
+
var _subscribers = parent._subscribers;
|
3073 |
+
var length = _subscribers.length;
|
3074 |
+
|
3075 |
+
parent._onerror = null;
|
3076 |
+
|
3077 |
+
_subscribers[length] = child;
|
3078 |
+
_subscribers[length + FULFILLED] = onFulfillment;
|
3079 |
+
_subscribers[length + REJECTED] = onRejection;
|
3080 |
+
|
3081 |
+
if (length === 0 && parent._state) {
|
3082 |
+
asap(publish, parent);
|
3083 |
+
}
|
3084 |
+
}
|
3085 |
+
|
3086 |
+
function publish(promise) {
|
3087 |
+
var subscribers = promise._subscribers;
|
3088 |
+
var settled = promise._state;
|
3089 |
+
|
3090 |
+
if (subscribers.length === 0) {
|
3091 |
+
return;
|
3092 |
+
}
|
3093 |
+
|
3094 |
+
var child = undefined,
|
3095 |
+
callback = undefined,
|
3096 |
+
detail = promise._result;
|
3097 |
+
|
3098 |
+
for (var i = 0; i < subscribers.length; i += 3) {
|
3099 |
+
child = subscribers[i];
|
3100 |
+
callback = subscribers[i + settled];
|
3101 |
+
|
3102 |
+
if (child) {
|
3103 |
+
invokeCallback(settled, child, callback, detail);
|
3104 |
+
} else {
|
3105 |
+
callback(detail);
|
3106 |
+
}
|
3107 |
+
}
|
3108 |
+
|
3109 |
+
promise._subscribers.length = 0;
|
3110 |
+
}
|
3111 |
+
|
3112 |
+
function ErrorObject() {
|
3113 |
+
this.error = null;
|
3114 |
+
}
|
3115 |
+
|
3116 |
+
var TRY_CATCH_ERROR = new ErrorObject();
|
3117 |
+
|
3118 |
+
function tryCatch(callback, detail) {
|
3119 |
+
try {
|
3120 |
+
return callback(detail);
|
3121 |
+
} catch (e) {
|
3122 |
+
TRY_CATCH_ERROR.error = e;
|
3123 |
+
return TRY_CATCH_ERROR;
|
3124 |
+
}
|
3125 |
+
}
|
3126 |
+
|
3127 |
+
function invokeCallback(settled, promise, callback, detail) {
|
3128 |
+
var hasCallback = isFunction(callback),
|
3129 |
+
value = undefined,
|
3130 |
+
error = undefined,
|
3131 |
+
succeeded = undefined,
|
3132 |
+
failed = undefined;
|
3133 |
+
|
3134 |
+
if (hasCallback) {
|
3135 |
+
value = tryCatch(callback, detail);
|
3136 |
+
|
3137 |
+
if (value === TRY_CATCH_ERROR) {
|
3138 |
+
failed = true;
|
3139 |
+
error = value.error;
|
3140 |
+
value.error = null;
|
3141 |
+
} else {
|
3142 |
+
succeeded = true;
|
3143 |
+
}
|
3144 |
+
|
3145 |
+
if (promise === value) {
|
3146 |
+
reject(promise, cannotReturnOwn());
|
3147 |
+
return;
|
3148 |
+
}
|
3149 |
+
} else {
|
3150 |
+
value = detail;
|
3151 |
+
succeeded = true;
|
3152 |
+
}
|
3153 |
+
|
3154 |
+
if (promise._state !== PENDING) {
|
3155 |
+
// noop
|
3156 |
+
} else if (hasCallback && succeeded) {
|
3157 |
+
resolve(promise, value);
|
3158 |
+
} else if (failed) {
|
3159 |
+
reject(promise, error);
|
3160 |
+
} else if (settled === FULFILLED) {
|
3161 |
+
fulfill(promise, value);
|
3162 |
+
} else if (settled === REJECTED) {
|
3163 |
+
reject(promise, value);
|
3164 |
+
}
|
3165 |
+
}
|
3166 |
+
|
3167 |
+
function initializePromise(promise, resolver) {
|
3168 |
+
try {
|
3169 |
+
resolver(function resolvePromise(value) {
|
3170 |
+
resolve(promise, value);
|
3171 |
+
}, function rejectPromise(reason) {
|
3172 |
+
reject(promise, reason);
|
3173 |
+
});
|
3174 |
+
} catch (e) {
|
3175 |
+
reject(promise, e);
|
3176 |
+
}
|
3177 |
+
}
|
3178 |
+
|
3179 |
+
var id = 0;
|
3180 |
+
function nextId() {
|
3181 |
+
return id++;
|
3182 |
+
}
|
3183 |
+
|
3184 |
+
function makePromise(promise) {
|
3185 |
+
promise[PROMISE_ID] = id++;
|
3186 |
+
promise._state = undefined;
|
3187 |
+
promise._result = undefined;
|
3188 |
+
promise._subscribers = [];
|
3189 |
+
}
|
3190 |
+
|
3191 |
+
function Enumerator$1(Constructor, input) {
|
3192 |
+
this._instanceConstructor = Constructor;
|
3193 |
+
this.promise = new Constructor(noop);
|
3194 |
+
|
3195 |
+
if (!this.promise[PROMISE_ID]) {
|
3196 |
+
makePromise(this.promise);
|
3197 |
+
}
|
3198 |
+
|
3199 |
+
if (isArray(input)) {
|
3200 |
+
this.length = input.length;
|
3201 |
+
this._remaining = input.length;
|
3202 |
+
|
3203 |
+
this._result = new Array(this.length);
|
3204 |
+
|
3205 |
+
if (this.length === 0) {
|
3206 |
+
fulfill(this.promise, this._result);
|
3207 |
+
} else {
|
3208 |
+
this.length = this.length || 0;
|
3209 |
+
this._enumerate(input);
|
3210 |
+
if (this._remaining === 0) {
|
3211 |
+
fulfill(this.promise, this._result);
|
3212 |
+
}
|
3213 |
+
}
|
3214 |
+
} else {
|
3215 |
+
reject(this.promise, validationError());
|
3216 |
+
}
|
3217 |
+
}
|
3218 |
+
|
3219 |
+
function validationError() {
|
3220 |
+
return new Error('Array Methods must be provided an Array');
|
3221 |
+
}
|
3222 |
+
|
3223 |
+
Enumerator$1.prototype._enumerate = function (input) {
|
3224 |
+
for (var i = 0; this._state === PENDING && i < input.length; i++) {
|
3225 |
+
this._eachEntry(input[i], i);
|
3226 |
+
}
|
3227 |
+
};
|
3228 |
+
|
3229 |
+
Enumerator$1.prototype._eachEntry = function (entry, i) {
|
3230 |
+
var c = this._instanceConstructor;
|
3231 |
+
var resolve$$1 = c.resolve;
|
3232 |
+
|
3233 |
+
if (resolve$$1 === resolve$1) {
|
3234 |
+
var _then = getThen(entry);
|
3235 |
+
|
3236 |
+
if (_then === then && entry._state !== PENDING) {
|
3237 |
+
this._settledAt(entry._state, i, entry._result);
|
3238 |
+
} else if (typeof _then !== 'function') {
|
3239 |
+
this._remaining--;
|
3240 |
+
this._result[i] = entry;
|
3241 |
+
} else if (c === Promise$2) {
|
3242 |
+
var promise = new c(noop);
|
3243 |
+
handleMaybeThenable(promise, entry, _then);
|
3244 |
+
this._willSettleAt(promise, i);
|
3245 |
+
} else {
|
3246 |
+
this._willSettleAt(new c(function (resolve$$1) {
|
3247 |
+
return resolve$$1(entry);
|
3248 |
+
}), i);
|
3249 |
+
}
|
3250 |
+
} else {
|
3251 |
+
this._willSettleAt(resolve$$1(entry), i);
|
3252 |
+
}
|
3253 |
+
};
|
3254 |
+
|
3255 |
+
Enumerator$1.prototype._settledAt = function (state, i, value) {
|
3256 |
+
var promise = this.promise;
|
3257 |
+
|
3258 |
+
if (promise._state === PENDING) {
|
3259 |
+
this._remaining--;
|
3260 |
+
|
3261 |
+
if (state === REJECTED) {
|
3262 |
+
reject(promise, value);
|
3263 |
+
} else {
|
3264 |
+
this._result[i] = value;
|
3265 |
+
}
|
3266 |
+
}
|
3267 |
+
|
3268 |
+
if (this._remaining === 0) {
|
3269 |
+
fulfill(promise, this._result);
|
3270 |
+
}
|
3271 |
+
};
|
3272 |
+
|
3273 |
+
Enumerator$1.prototype._willSettleAt = function (promise, i) {
|
3274 |
+
var enumerator = this;
|
3275 |
+
|
3276 |
+
subscribe(promise, undefined, function (value) {
|
3277 |
+
return enumerator._settledAt(FULFILLED, i, value);
|
3278 |
+
}, function (reason) {
|
3279 |
+
return enumerator._settledAt(REJECTED, i, reason);
|
3280 |
+
});
|
3281 |
+
};
|
3282 |
+
|
3283 |
+
/**
|
3284 |
+
`Promise.all` accepts an array of promises, and returns a new promise which
|
3285 |
+
is fulfilled with an array of fulfillment values for the passed promises, or
|
3286 |
+
rejected with the reason of the first passed promise to be rejected. It casts all
|
3287 |
+
elements of the passed iterable to promises as it runs this algorithm.
|
3288 |
+
|
3289 |
+
Example:
|
3290 |
+
|
3291 |
+
```javascript
|
3292 |
+
let promise1 = resolve(1);
|
3293 |
+
let promise2 = resolve(2);
|
3294 |
+
let promise3 = resolve(3);
|
3295 |
+
let promises = [ promise1, promise2, promise3 ];
|
3296 |
+
|
3297 |
+
Promise.all(promises).then(function(array){
|
3298 |
+
// The array here would be [ 1, 2, 3 ];
|
3299 |
+
});
|
3300 |
+
```
|
3301 |
+
|
3302 |
+
If any of the `promises` given to `all` are rejected, the first promise
|
3303 |
+
that is rejected will be given as an argument to the returned promises's
|
3304 |
+
rejection handler. For example:
|
3305 |
+
|
3306 |
+
Example:
|
3307 |
+
|
3308 |
+
```javascript
|
3309 |
+
let promise1 = resolve(1);
|
3310 |
+
let promise2 = reject(new Error("2"));
|
3311 |
+
let promise3 = reject(new Error("3"));
|
3312 |
+
let promises = [ promise1, promise2, promise3 ];
|
3313 |
+
|
3314 |
+
Promise.all(promises).then(function(array){
|
3315 |
+
// Code here never runs because there are rejected promises!
|
3316 |
+
}, function(error) {
|
3317 |
+
// error.message === "2"
|
3318 |
+
});
|
3319 |
+
```
|
3320 |
+
|
3321 |
+
@method all
|
3322 |
+
@static
|
3323 |
+
@param {Array} entries array of promises
|
3324 |
+
@param {String} label optional string for labeling the promise.
|
3325 |
+
Useful for tooling.
|
3326 |
+
@return {Promise} promise that is fulfilled when all `promises` have been
|
3327 |
+
fulfilled, or rejected if any of them become rejected.
|
3328 |
+
@static
|
3329 |
+
*/
|
3330 |
+
function all$1(entries) {
|
3331 |
+
return new Enumerator$1(this, entries).promise;
|
3332 |
+
}
|
3333 |
+
|
3334 |
+
/**
|
3335 |
+
`Promise.race` returns a new promise which is settled in the same way as the
|
3336 |
+
first passed promise to settle.
|
3337 |
+
|
3338 |
+
Example:
|
3339 |
+
|
3340 |
+
```javascript
|
3341 |
+
let promise1 = new Promise(function(resolve, reject){
|
3342 |
+
setTimeout(function(){
|
3343 |
+
resolve('promise 1');
|
3344 |
+
}, 200);
|
3345 |
+
});
|
3346 |
+
|
3347 |
+
let promise2 = new Promise(function(resolve, reject){
|
3348 |
+
setTimeout(function(){
|
3349 |
+
resolve('promise 2');
|
3350 |
+
}, 100);
|
3351 |
+
});
|
3352 |
+
|
3353 |
+
Promise.race([promise1, promise2]).then(function(result){
|
3354 |
+
// result === 'promise 2' because it was resolved before promise1
|
3355 |
+
// was resolved.
|
3356 |
+
});
|
3357 |
+
```
|
3358 |
+
|
3359 |
+
`Promise.race` is deterministic in that only the state of the first
|
3360 |
+
settled promise matters. For example, even if other promises given to the
|
3361 |
+
`promises` array argument are resolved, but the first settled promise has
|
3362 |
+
become rejected before the other promises became fulfilled, the returned
|
3363 |
+
promise will become rejected:
|
3364 |
+
|
3365 |
+
```javascript
|
3366 |
+
let promise1 = new Promise(function(resolve, reject){
|
3367 |
+
setTimeout(function(){
|
3368 |
+
resolve('promise 1');
|
3369 |
+
}, 200);
|
3370 |
+
});
|
3371 |
+
|
3372 |
+
let promise2 = new Promise(function(resolve, reject){
|
3373 |
+
setTimeout(function(){
|
3374 |
+
reject(new Error('promise 2'));
|
3375 |
+
}, 100);
|
3376 |
+
});
|
3377 |
+
|
3378 |
+
Promise.race([promise1, promise2]).then(function(result){
|
3379 |
+
// Code here never runs
|
3380 |
+
}, function(reason){
|
3381 |
+
// reason.message === 'promise 2' because promise 2 became rejected before
|
3382 |
+
// promise 1 became fulfilled
|
3383 |
+
});
|
3384 |
+
```
|
3385 |
+
|
3386 |
+
An example real-world use case is implementing timeouts:
|
3387 |
+
|
3388 |
+
```javascript
|
3389 |
+
Promise.race([ajax('foo.json'), timeout(5000)])
|
3390 |
+
```
|
3391 |
+
|
3392 |
+
@method race
|
3393 |
+
@static
|
3394 |
+
@param {Array} promises array of promises to observe
|
3395 |
+
Useful for tooling.
|
3396 |
+
@return {Promise} a promise which settles in the same way as the first passed
|
3397 |
+
promise to settle.
|
3398 |
+
*/
|
3399 |
+
function race$1(entries) {
|
3400 |
+
/*jshint validthis:true */
|
3401 |
+
var Constructor = this;
|
3402 |
+
|
3403 |
+
if (!isArray(entries)) {
|
3404 |
+
return new Constructor(function (_, reject) {
|
3405 |
+
return reject(new TypeError('You must pass an array to race.'));
|
3406 |
+
});
|
3407 |
+
} else {
|
3408 |
+
return new Constructor(function (resolve, reject) {
|
3409 |
+
var length = entries.length;
|
3410 |
+
for (var i = 0; i < length; i++) {
|
3411 |
+
Constructor.resolve(entries[i]).then(resolve, reject);
|
3412 |
+
}
|
3413 |
+
});
|
3414 |
+
}
|
3415 |
+
}
|
3416 |
+
|
3417 |
+
/**
|
3418 |
+
`Promise.reject` returns a promise rejected with the passed `reason`.
|
3419 |
+
It is shorthand for the following:
|
3420 |
+
|
3421 |
+
```javascript
|
3422 |
+
let promise = new Promise(function(resolve, reject){
|
3423 |
+
reject(new Error('WHOOPS'));
|
3424 |
+
});
|
3425 |
+
|
3426 |
+
promise.then(function(value){
|
3427 |
+
// Code here doesn't run because the promise is rejected!
|
3428 |
+
}, function(reason){
|
3429 |
+
// reason.message === 'WHOOPS'
|
3430 |
+
});
|
3431 |
+
```
|
3432 |
+
|
3433 |
+
Instead of writing the above, your code now simply becomes the following:
|
3434 |
+
|
3435 |
+
```javascript
|
3436 |
+
let promise = Promise.reject(new Error('WHOOPS'));
|
3437 |
+
|
3438 |
+
promise.then(function(value){
|
3439 |
+
// Code here doesn't run because the promise is rejected!
|
3440 |
+
}, function(reason){
|
3441 |
+
// reason.message === 'WHOOPS'
|
3442 |
+
});
|
3443 |
+
```
|
3444 |
+
|
3445 |
+
@method reject
|
3446 |
+
@static
|
3447 |
+
@param {Any} reason value that the returned promise will be rejected with.
|
3448 |
+
Useful for tooling.
|
3449 |
+
@return {Promise} a promise rejected with the given `reason`.
|
3450 |
+
*/
|
3451 |
+
function reject$1(reason) {
|
3452 |
+
/*jshint validthis:true */
|
3453 |
+
var Constructor = this;
|
3454 |
+
var promise = new Constructor(noop);
|
3455 |
+
reject(promise, reason);
|
3456 |
+
return promise;
|
3457 |
+
}
|
3458 |
+
|
3459 |
+
function needsResolver() {
|
3460 |
+
throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');
|
3461 |
+
}
|
3462 |
+
|
3463 |
+
function needsNew() {
|
3464 |
+
throw new TypeError("Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.");
|
3465 |
+
}
|
3466 |
+
|
3467 |
+
/**
|
3468 |
+
Promise objects represent the eventual result of an asynchronous operation. The
|
3469 |
+
primary way of interacting with a promise is through its `then` method, which
|
3470 |
+
registers callbacks to receive either a promise's eventual value or the reason
|
3471 |
+
why the promise cannot be fulfilled.
|
3472 |
+
|
3473 |
+
Terminology
|
3474 |
+
-----------
|
3475 |
+
|
3476 |
+
- `promise` is an object or function with a `then` method whose behavior conforms to this specification.
|
3477 |
+
- `thenable` is an object or function that defines a `then` method.
|
3478 |
+
- `value` is any legal JavaScript value (including undefined, a thenable, or a promise).
|
3479 |
+
- `exception` is a value that is thrown using the throw statement.
|
3480 |
+
- `reason` is a value that indicates why a promise was rejected.
|
3481 |
+
- `settled` the final resting state of a promise, fulfilled or rejected.
|
3482 |
+
|
3483 |
+
A promise can be in one of three states: pending, fulfilled, or rejected.
|
3484 |
+
|
3485 |
+
Promises that are fulfilled have a fulfillment value and are in the fulfilled
|
3486 |
+
state. Promises that are rejected have a rejection reason and are in the
|
3487 |
+
rejected state. A fulfillment value is never a thenable.
|
3488 |
+
|
3489 |
+
Promises can also be said to *resolve* a value. If this value is also a
|
3490 |
+
promise, then the original promise's settled state will match the value's
|
3491 |
+
settled state. So a promise that *resolves* a promise that rejects will
|
3492 |
+
itself reject, and a promise that *resolves* a promise that fulfills will
|
3493 |
+
itself fulfill.
|
3494 |
+
|
3495 |
+
|
3496 |
+
Basic Usage:
|
3497 |
+
------------
|
3498 |
+
|
3499 |
+
```js
|
3500 |
+
let promise = new Promise(function(resolve, reject) {
|
3501 |
+
// on success
|
3502 |
+
resolve(value);
|
3503 |
+
|
3504 |
+
// on failure
|
3505 |
+
reject(reason);
|
3506 |
+
});
|
3507 |
+
|
3508 |
+
promise.then(function(value) {
|
3509 |
+
// on fulfillment
|
3510 |
+
}, function(reason) {
|
3511 |
+
// on rejection
|
3512 |
+
});
|
3513 |
+
```
|
3514 |
+
|
3515 |
+
Advanced Usage:
|
3516 |
+
---------------
|
3517 |
+
|
3518 |
+
Promises shine when abstracting away asynchronous interactions such as
|
3519 |
+
`XMLHttpRequest`s.
|
3520 |
+
|
3521 |
+
```js
|
3522 |
+
function getJSON(url) {
|
3523 |
+
return new Promise(function(resolve, reject){
|
3524 |
+
let xhr = new XMLHttpRequest();
|
3525 |
+
|
3526 |
+
xhr.open('GET', url);
|
3527 |
+
xhr.onreadystatechange = handler;
|
3528 |
+
xhr.responseType = 'json';
|
3529 |
+
xhr.setRequestHeader('Accept', 'application/json');
|
3530 |
+
xhr.send();
|
3531 |
+
|
3532 |
+
function handler() {
|
3533 |
+
if (this.readyState === this.DONE) {
|
3534 |
+
if (this.status === 200) {
|
3535 |
+
resolve(this.response);
|
3536 |
+
} else {
|
3537 |
+
reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));
|
3538 |
+
}
|
3539 |
+
}
|
3540 |
+
};
|
3541 |
+
});
|
3542 |
+
}
|
3543 |
+
|
3544 |
+
getJSON('/posts.json').then(function(json) {
|
3545 |
+
// on fulfillment
|
3546 |
+
}, function(reason) {
|
3547 |
+
// on rejection
|
3548 |
+
});
|
3549 |
+
```
|
3550 |
+
|
3551 |
+
Unlike callbacks, promises are great composable primitives.
|
3552 |
+
|
3553 |
+
```js
|
3554 |
+
Promise.all([
|
3555 |
+
getJSON('/posts'),
|
3556 |
+
getJSON('/comments')
|
3557 |
+
]).then(function(values){
|
3558 |
+
values[0] // => postsJSON
|
3559 |
+
values[1] // => commentsJSON
|
3560 |
+
|
3561 |
+
return values;
|
3562 |
+
});
|
3563 |
+
```
|
3564 |
+
|
3565 |
+
@class Promise
|
3566 |
+
@param {function} resolver
|
3567 |
+
Useful for tooling.
|
3568 |
+
@constructor
|
3569 |
+
*/
|
3570 |
+
function Promise$2(resolver) {
|
3571 |
+
this[PROMISE_ID] = nextId();
|
3572 |
+
this._result = this._state = undefined;
|
3573 |
+
this._subscribers = [];
|
3574 |
+
|
3575 |
+
if (noop !== resolver) {
|
3576 |
+
typeof resolver !== 'function' && needsResolver();
|
3577 |
+
this instanceof Promise$2 ? initializePromise(this, resolver) : needsNew();
|
3578 |
+
}
|
3579 |
+
}
|
3580 |
+
|
3581 |
+
Promise$2.all = all$1;
|
3582 |
+
Promise$2.race = race$1;
|
3583 |
+
Promise$2.resolve = resolve$1;
|
3584 |
+
Promise$2.reject = reject$1;
|
3585 |
+
Promise$2._setScheduler = setScheduler;
|
3586 |
+
Promise$2._setAsap = setAsap;
|
3587 |
+
Promise$2._asap = asap;
|
3588 |
+
|
3589 |
+
Promise$2.prototype = {
|
3590 |
+
constructor: Promise$2,
|
3591 |
+
|
3592 |
+
/**
|
3593 |
+
The primary way of interacting with a promise is through its `then` method,
|
3594 |
+
which registers callbacks to receive either a promise's eventual value or the
|
3595 |
+
reason why the promise cannot be fulfilled.
|
3596 |
+
|
3597 |
+
```js
|
3598 |
+
findUser().then(function(user){
|
3599 |
+
// user is available
|
3600 |
+
}, function(reason){
|
3601 |
+
// user is unavailable, and you are given the reason why
|
3602 |
+
});
|
3603 |
+
```
|
3604 |
+
|
3605 |
+
Chaining
|
3606 |
+
--------
|
3607 |
+
|
3608 |
+
The return value of `then` is itself a promise. This second, 'downstream'
|
3609 |
+
promise is resolved with the return value of the first promise's fulfillment
|
3610 |
+
or rejection handler, or rejected if the handler throws an exception.
|
3611 |
+
|
3612 |
+
```js
|
3613 |
+
findUser().then(function (user) {
|
3614 |
+
return user.name;
|
3615 |
+
}, function (reason) {
|
3616 |
+
return 'default name';
|
3617 |
+
}).then(function (userName) {
|
3618 |
+
// If `findUser` fulfilled, `userName` will be the user's name, otherwise it
|
3619 |
+
// will be `'default name'`
|
3620 |
+
});
|
3621 |
+
|
3622 |
+
findUser().then(function (user) {
|
3623 |
+
throw new Error('Found user, but still unhappy');
|
3624 |
+
}, function (reason) {
|
3625 |
+
throw new Error('`findUser` rejected and we're unhappy');
|
3626 |
+
}).then(function (value) {
|
3627 |
+
// never reached
|
3628 |
+
}, function (reason) {
|
3629 |
+
// if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.
|
3630 |
+
// If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.
|
3631 |
+
});
|
3632 |
+
```
|
3633 |
+
If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.
|
3634 |
+
|
3635 |
+
```js
|
3636 |
+
findUser().then(function (user) {
|
3637 |
+
throw new PedagogicalException('Upstream error');
|
3638 |
+
}).then(function (value) {
|
3639 |
+
// never reached
|
3640 |
+
}).then(function (value) {
|
3641 |
+
// never reached
|
3642 |
+
}, function (reason) {
|
3643 |
+
// The `PedgagocialException` is propagated all the way down to here
|
3644 |
+
});
|
3645 |
+
```
|
3646 |
+
|
3647 |
+
Assimilation
|
3648 |
+
------------
|
3649 |
+
|
3650 |
+
Sometimes the value you want to propagate to a downstream promise can only be
|
3651 |
+
retrieved asynchronously. This can be achieved by returning a promise in the
|
3652 |
+
fulfillment or rejection handler. The downstream promise will then be pending
|
3653 |
+
until the returned promise is settled. This is called *assimilation*.
|
3654 |
+
|
3655 |
+
```js
|
3656 |
+
findUser().then(function (user) {
|
3657 |
+
return findCommentsByAuthor(user);
|
3658 |
+
}).then(function (comments) {
|
3659 |
+
// The user's comments are now available
|
3660 |
+
});
|
3661 |
+
```
|
3662 |
+
|
3663 |
+
If the assimliated promise rejects, then the downstream promise will also reject.
|
3664 |
+
|
3665 |
+
```js
|
3666 |
+
findUser().then(function (user) {
|
3667 |
+
return findCommentsByAuthor(user);
|
3668 |
+
}).then(function (comments) {
|
3669 |
+
// If `findCommentsByAuthor` fulfills, we'll have the value here
|
3670 |
+
}, function (reason) {
|
3671 |
+
// If `findCommentsByAuthor` rejects, we'll have the reason here
|
3672 |
+
});
|
3673 |
+
```
|
3674 |
+
|
3675 |
+
Simple Example
|
3676 |
+
--------------
|
3677 |
+
|
3678 |
+
Synchronous Example
|
3679 |
+
|
3680 |
+
```javascript
|
3681 |
+
let result;
|
3682 |
+
|
3683 |
+
try {
|
3684 |
+
result = findResult();
|
3685 |
+
// success
|
3686 |
+
} catch(reason) {
|
3687 |
+
// failure
|
3688 |
+
}
|
3689 |
+
```
|
3690 |
+
|
3691 |
+
Errback Example
|
3692 |
+
|
3693 |
+
```js
|
3694 |
+
findResult(function(result, err){
|
3695 |
+
if (err) {
|
3696 |
+
// failure
|
3697 |
+
} else {
|
3698 |
+
// success
|
3699 |
+
}
|
3700 |
+
});
|
3701 |
+
```
|
3702 |
+
|
3703 |
+
Promise Example;
|
3704 |
+
|
3705 |
+
```javascript
|
3706 |
+
findResult().then(function(result){
|
3707 |
+
// success
|
3708 |
+
}, function(reason){
|
3709 |
+
// failure
|
3710 |
+
});
|
3711 |
+
```
|
3712 |
+
|
3713 |
+
Advanced Example
|
3714 |
+
--------------
|
3715 |
+
|
3716 |
+
Synchronous Example
|
3717 |
+
|
3718 |
+
```javascript
|
3719 |
+
let author, books;
|
3720 |
+
|
3721 |
+
try {
|
3722 |
+
author = findAuthor();
|
3723 |
+
books = findBooksByAuthor(author);
|
3724 |
+
// success
|
3725 |
+
} catch(reason) {
|
3726 |
+
// failure
|
3727 |
+
}
|
3728 |
+
```
|
3729 |
+
|
3730 |
+
Errback Example
|
3731 |
+
|
3732 |
+
```js
|
3733 |
+
|
3734 |
+
function foundBooks(books) {
|
3735 |
+
|
3736 |
+
}
|
3737 |
+
|
3738 |
+
function failure(reason) {
|
3739 |
+
|
3740 |
+
}
|
3741 |
+
|
3742 |
+
findAuthor(function(author, err){
|
3743 |
+
if (err) {
|
3744 |
+
failure(err);
|
3745 |
+
// failure
|
3746 |
+
} else {
|
3747 |
+
try {
|
3748 |
+
findBoooksByAuthor(author, function(books, err) {
|
3749 |
+
if (err) {
|
3750 |
+
failure(err);
|
3751 |
+
} else {
|
3752 |
+
try {
|
3753 |
+
foundBooks(books);
|
3754 |
+
} catch(reason) {
|
3755 |
+
failure(reason);
|
3756 |
+
}
|
3757 |
+
}
|
3758 |
+
});
|
3759 |
+
} catch(error) {
|
3760 |
+
failure(err);
|
3761 |
+
}
|
3762 |
+
// success
|
3763 |
+
}
|
3764 |
+
});
|
3765 |
+
```
|
3766 |
+
|
3767 |
+
Promise Example;
|
3768 |
+
|
3769 |
+
```javascript
|
3770 |
+
findAuthor().
|
3771 |
+
then(findBooksByAuthor).
|
3772 |
+
then(function(books){
|
3773 |
+
// found books
|
3774 |
+
}).catch(function(reason){
|
3775 |
+
// something went wrong
|
3776 |
+
});
|
3777 |
+
```
|
3778 |
+
|
3779 |
+
@method then
|
3780 |
+
@param {Function} onFulfilled
|
3781 |
+
@param {Function} onRejected
|
3782 |
+
Useful for tooling.
|
3783 |
+
@return {Promise}
|
3784 |
+
*/
|
3785 |
+
then: then,
|
3786 |
+
|
3787 |
+
/**
|
3788 |
+
`catch` is simply sugar for `then(undefined, onRejection)` which makes it the same
|
3789 |
+
as the catch block of a try/catch statement.
|
3790 |
+
|
3791 |
+
```js
|
3792 |
+
function findAuthor(){
|
3793 |
+
throw new Error('couldn't find that author');
|
3794 |
+
}
|
3795 |
+
|
3796 |
+
// synchronous
|
3797 |
+
try {
|
3798 |
+
findAuthor();
|
3799 |
+
} catch(reason) {
|
3800 |
+
// something went wrong
|
3801 |
+
}
|
3802 |
+
|
3803 |
+
// async with promises
|
3804 |
+
findAuthor().catch(function(reason){
|
3805 |
+
// something went wrong
|
3806 |
+
});
|
3807 |
+
```
|
3808 |
+
|
3809 |
+
@method catch
|
3810 |
+
@param {Function} onRejection
|
3811 |
+
Useful for tooling.
|
3812 |
+
@return {Promise}
|
3813 |
+
*/
|
3814 |
+
'catch': function _catch(onRejection) {
|
3815 |
+
return this.then(null, onRejection);
|
3816 |
+
}
|
3817 |
+
};
|
3818 |
+
|
3819 |
+
/*global self*/
|
3820 |
+
function polyfill$1() {
|
3821 |
+
var local = undefined;
|
3822 |
+
|
3823 |
+
if (typeof global !== 'undefined') {
|
3824 |
+
local = global;
|
3825 |
+
} else if (typeof self !== 'undefined') {
|
3826 |
+
local = self;
|
3827 |
+
} else {
|
3828 |
+
try {
|
3829 |
+
local = Function('return this')();
|
3830 |
+
} catch (e) {
|
3831 |
+
throw new Error('polyfill failed because global object is unavailable in this environment');
|
3832 |
+
}
|
3833 |
+
}
|
3834 |
+
|
3835 |
+
var P = local.Promise;
|
3836 |
+
|
3837 |
+
if (P) {
|
3838 |
+
var promiseToString = null;
|
3839 |
+
try {
|
3840 |
+
promiseToString = Object.prototype.toString.call(P.resolve());
|
3841 |
+
} catch (e) {
|
3842 |
+
// silently ignored
|
3843 |
+
}
|
3844 |
+
|
3845 |
+
if (promiseToString === '[object Promise]' && !P.cast) {
|
3846 |
+
return;
|
3847 |
+
}
|
3848 |
+
}
|
3849 |
+
|
3850 |
+
local.Promise = Promise$2;
|
3851 |
+
}
|
3852 |
+
|
3853 |
+
// Strange compat..
|
3854 |
+
Promise$2.polyfill = polyfill$1;
|
3855 |
+
Promise$2.Promise = Promise$2;
|
3856 |
+
|
3857 |
+
return Promise$2;
|
3858 |
+
|
3859 |
+
})));
|
3860 |
+
|
3861 |
+
//# sourceMappingURL=es6-promise.map
|
3862 |
+
|
3863 |
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js"), __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js")))
|
3864 |
+
|
3865 |
+
/***/ }),
|
3866 |
+
|
3867 |
+
/***/ "./node_modules/ev-emitter/ev-emitter.js":
|
3868 |
+
/*!***********************************************!*\
|
3869 |
+
!*** ./node_modules/ev-emitter/ev-emitter.js ***!
|
3870 |
+
\***********************************************/
|
3871 |
+
/*! no static exports found */
|
3872 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3873 |
+
|
3874 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
3875 |
+
* EvEmitter v1.1.0
|
3876 |
+
* Lil' event emitter
|
3877 |
+
* MIT License
|
3878 |
+
*/
|
3879 |
+
|
3880 |
+
/* jshint unused: true, undef: true, strict: true */
|
3881 |
+
|
3882 |
+
( function( global, factory ) {
|
3883 |
+
// universal module definition
|
3884 |
+
/* jshint strict: false */ /* globals define, module, window */
|
3885 |
+
if ( true ) {
|
3886 |
+
// AMD - RequireJS
|
3887 |
+
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
3888 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
3889 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
3890 |
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
3891 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
3892 |
+
} else {}
|
3893 |
+
|
3894 |
+
}( typeof window != 'undefined' ? window : this, function() {
|
3895 |
+
|
3896 |
+
"use strict";
|
3897 |
+
|
3898 |
+
function EvEmitter() {}
|
3899 |
+
|
3900 |
+
var proto = EvEmitter.prototype;
|
3901 |
+
|
3902 |
+
proto.on = function( eventName, listener ) {
|
3903 |
+
if ( !eventName || !listener ) {
|
3904 |
+
return;
|
3905 |
+
}
|
3906 |
+
// set events hash
|
3907 |
+
var events = this._events = this._events || {};
|
3908 |
+
// set listeners array
|
3909 |
+
var listeners = events[ eventName ] = events[ eventName ] || [];
|
3910 |
+
// only add once
|
3911 |
+
if ( listeners.indexOf( listener ) == -1 ) {
|
3912 |
+
listeners.push( listener );
|
3913 |
+
}
|
3914 |
+
|
3915 |
+
return this;
|
3916 |
+
};
|
3917 |
+
|
3918 |
+
proto.once = function( eventName, listener ) {
|
3919 |
+
if ( !eventName || !listener ) {
|
3920 |
+
return;
|
3921 |
+
}
|
3922 |
+
// add event
|
3923 |
+
this.on( eventName, listener );
|
3924 |
+
// set once flag
|
3925 |
+
// set onceEvents hash
|
3926 |
+
var onceEvents = this._onceEvents = this._onceEvents || {};
|
3927 |
+
// set onceListeners object
|
3928 |
+
var onceListeners = onceEvents[ eventName ] = onceEvents[ eventName ] || {};
|
3929 |
+
// set flag
|
3930 |
+
onceListeners[ listener ] = true;
|
3931 |
+
|
3932 |
+
return this;
|
3933 |
+
};
|
3934 |
+
|
3935 |
+
proto.off = function( eventName, listener ) {
|
3936 |
+
var listeners = this._events && this._events[ eventName ];
|
3937 |
+
if ( !listeners || !listeners.length ) {
|
3938 |
+
return;
|
3939 |
+
}
|
3940 |
+
var index = listeners.indexOf( listener );
|
3941 |
+
if ( index != -1 ) {
|
3942 |
+
listeners.splice( index, 1 );
|
3943 |
+
}
|
3944 |
+
|
3945 |
+
return this;
|
3946 |
+
};
|
3947 |
+
|
3948 |
+
proto.emitEvent = function( eventName, args ) {
|
3949 |
+
var listeners = this._events && this._events[ eventName ];
|
3950 |
+
if ( !listeners || !listeners.length ) {
|
3951 |
+
return;
|
3952 |
+
}
|
3953 |
+
// copy over to avoid interference if .off() in listener
|
3954 |
+
listeners = listeners.slice(0);
|
3955 |
+
args = args || [];
|
3956 |
+
// once stuff
|
3957 |
+
var onceListeners = this._onceEvents && this._onceEvents[ eventName ];
|
3958 |
+
|
3959 |
+
for ( var i=0; i < listeners.length; i++ ) {
|
3960 |
+
var listener = listeners[i]
|
3961 |
+
var isOnce = onceListeners && onceListeners[ listener ];
|
3962 |
+
if ( isOnce ) {
|
3963 |
+
// remove listener
|
3964 |
+
// remove before trigger to prevent recursion
|
3965 |
+
this.off( eventName, listener );
|
3966 |
+
// unset once flag
|
3967 |
+
delete onceListeners[ listener ];
|
3968 |
+
}
|
3969 |
+
// trigger listener
|
3970 |
+
listener.apply( this, args );
|
3971 |
+
}
|
3972 |
+
|
3973 |
+
return this;
|
3974 |
+
};
|
3975 |
+
|
3976 |
+
proto.allOff = function() {
|
3977 |
+
delete this._events;
|
3978 |
+
delete this._onceEvents;
|
3979 |
+
};
|
3980 |
+
|
3981 |
+
return EvEmitter;
|
3982 |
+
|
3983 |
+
}));
|
3984 |
+
|
3985 |
+
|
3986 |
+
/***/ }),
|
3987 |
+
|
3988 |
+
/***/ "./node_modules/fbjs/lib/EventListener.js":
|
3989 |
+
/*!************************************************!*\
|
3990 |
+
!*** ./node_modules/fbjs/lib/EventListener.js ***!
|
3991 |
+
\************************************************/
|
3992 |
+
/*! no static exports found */
|
3993 |
+
/***/ (function(module, exports, __webpack_require__) {
|
3994 |
+
|
3995 |
+
"use strict";
|
3996 |
+
|
3997 |
+
|
3998 |
+
/**
|
3999 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4000 |
+
*
|
4001 |
+
* This source code is licensed under the MIT license found in the
|
4002 |
+
* LICENSE file in the root directory of this source tree.
|
4003 |
+
*
|
4004 |
+
* @typechecks
|
4005 |
+
*/
|
4006 |
+
|
4007 |
+
var emptyFunction = __webpack_require__(/*! ./emptyFunction */ "./node_modules/fbjs/lib/emptyFunction.js");
|
4008 |
+
|
4009 |
+
/**
|
4010 |
+
* Upstream version of event listener. Does not take into account specific
|
4011 |
+
* nature of platform.
|
4012 |
+
*/
|
4013 |
+
var EventListener = {
|
4014 |
+
/**
|
4015 |
+
* Listen to DOM events during the bubble phase.
|
4016 |
+
*
|
4017 |
+
* @param {DOMEventTarget} target DOM element to register listener on.
|
4018 |
+
* @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
|
4019 |
+
* @param {function} callback Callback function.
|
4020 |
+
* @return {object} Object with a `remove` method.
|
4021 |
+
*/
|
4022 |
+
listen: function listen(target, eventType, callback) {
|
4023 |
+
if (target.addEventListener) {
|
4024 |
+
target.addEventListener(eventType, callback, false);
|
4025 |
+
return {
|
4026 |
+
remove: function remove() {
|
4027 |
+
target.removeEventListener(eventType, callback, false);
|
4028 |
+
}
|
4029 |
+
};
|
4030 |
+
} else if (target.attachEvent) {
|
4031 |
+
target.attachEvent('on' + eventType, callback);
|
4032 |
+
return {
|
4033 |
+
remove: function remove() {
|
4034 |
+
target.detachEvent('on' + eventType, callback);
|
4035 |
+
}
|
4036 |
+
};
|
4037 |
+
}
|
4038 |
+
},
|
4039 |
+
|
4040 |
+
/**
|
4041 |
+
* Listen to DOM events during the capture phase.
|
4042 |
+
*
|
4043 |
+
* @param {DOMEventTarget} target DOM element to register listener on.
|
4044 |
+
* @param {string} eventType Event type, e.g. 'click' or 'mouseover'.
|
4045 |
+
* @param {function} callback Callback function.
|
4046 |
+
* @return {object} Object with a `remove` method.
|
4047 |
+
*/
|
4048 |
+
capture: function capture(target, eventType, callback) {
|
4049 |
+
if (target.addEventListener) {
|
4050 |
+
target.addEventListener(eventType, callback, true);
|
4051 |
+
return {
|
4052 |
+
remove: function remove() {
|
4053 |
+
target.removeEventListener(eventType, callback, true);
|
4054 |
+
}
|
4055 |
+
};
|
4056 |
+
} else {
|
4057 |
+
if (true) {
|
4058 |
+
console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');
|
4059 |
+
}
|
4060 |
+
return {
|
4061 |
+
remove: emptyFunction
|
4062 |
+
};
|
4063 |
+
}
|
4064 |
+
},
|
4065 |
+
|
4066 |
+
registerDefault: function registerDefault() {}
|
4067 |
+
};
|
4068 |
+
|
4069 |
+
module.exports = EventListener;
|
4070 |
+
|
4071 |
+
/***/ }),
|
4072 |
+
|
4073 |
+
/***/ "./node_modules/fbjs/lib/ExecutionEnvironment.js":
|
4074 |
+
/*!*******************************************************!*\
|
4075 |
+
!*** ./node_modules/fbjs/lib/ExecutionEnvironment.js ***!
|
4076 |
+
\*******************************************************/
|
4077 |
+
/*! no static exports found */
|
4078 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4079 |
+
|
4080 |
+
"use strict";
|
4081 |
+
/**
|
4082 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4083 |
+
*
|
4084 |
+
* This source code is licensed under the MIT license found in the
|
4085 |
+
* LICENSE file in the root directory of this source tree.
|
4086 |
+
*
|
4087 |
+
*/
|
4088 |
+
|
4089 |
+
|
4090 |
+
|
4091 |
+
var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
|
4092 |
+
|
4093 |
+
/**
|
4094 |
+
* Simple, lightweight module assisting with the detection and context of
|
4095 |
+
* Worker. Helps avoid circular dependencies and allows code to reason about
|
4096 |
+
* whether or not they are in a Worker, even if they never include the main
|
4097 |
+
* `ReactWorker` dependency.
|
4098 |
+
*/
|
4099 |
+
var ExecutionEnvironment = {
|
4100 |
+
|
4101 |
+
canUseDOM: canUseDOM,
|
4102 |
+
|
4103 |
+
canUseWorkers: typeof Worker !== 'undefined',
|
4104 |
+
|
4105 |
+
canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),
|
4106 |
+
|
4107 |
+
canUseViewport: canUseDOM && !!window.screen,
|
4108 |
+
|
4109 |
+
isInWorker: !canUseDOM // For now, this is true - might change in the future.
|
4110 |
+
|
4111 |
+
};
|
4112 |
+
|
4113 |
+
module.exports = ExecutionEnvironment;
|
4114 |
+
|
4115 |
+
/***/ }),
|
4116 |
+
|
4117 |
+
/***/ "./node_modules/fbjs/lib/camelize.js":
|
4118 |
+
/*!*******************************************!*\
|
4119 |
+
!*** ./node_modules/fbjs/lib/camelize.js ***!
|
4120 |
+
\*******************************************/
|
4121 |
+
/*! no static exports found */
|
4122 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4123 |
+
|
4124 |
+
"use strict";
|
4125 |
+
|
4126 |
+
|
4127 |
+
/**
|
4128 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4129 |
+
*
|
4130 |
+
* This source code is licensed under the MIT license found in the
|
4131 |
+
* LICENSE file in the root directory of this source tree.
|
4132 |
+
*
|
4133 |
+
* @typechecks
|
4134 |
+
*/
|
4135 |
+
|
4136 |
+
var _hyphenPattern = /-(.)/g;
|
4137 |
+
|
4138 |
+
/**
|
4139 |
+
* Camelcases a hyphenated string, for example:
|
4140 |
+
*
|
4141 |
+
* > camelize('background-color')
|
4142 |
+
* < "backgroundColor"
|
4143 |
+
*
|
4144 |
+
* @param {string} string
|
4145 |
+
* @return {string}
|
4146 |
+
*/
|
4147 |
+
function camelize(string) {
|
4148 |
+
return string.replace(_hyphenPattern, function (_, character) {
|
4149 |
+
return character.toUpperCase();
|
4150 |
+
});
|
4151 |
+
}
|
4152 |
+
|
4153 |
+
module.exports = camelize;
|
4154 |
+
|
4155 |
+
/***/ }),
|
4156 |
+
|
4157 |
+
/***/ "./node_modules/fbjs/lib/camelizeStyleName.js":
|
4158 |
+
/*!****************************************************!*\
|
4159 |
+
!*** ./node_modules/fbjs/lib/camelizeStyleName.js ***!
|
4160 |
+
\****************************************************/
|
4161 |
+
/*! no static exports found */
|
4162 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4163 |
+
|
4164 |
+
"use strict";
|
4165 |
+
/**
|
4166 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4167 |
+
*
|
4168 |
+
* This source code is licensed under the MIT license found in the
|
4169 |
+
* LICENSE file in the root directory of this source tree.
|
4170 |
+
*
|
4171 |
+
* @typechecks
|
4172 |
+
*/
|
4173 |
+
|
4174 |
+
|
4175 |
+
|
4176 |
+
var camelize = __webpack_require__(/*! ./camelize */ "./node_modules/fbjs/lib/camelize.js");
|
4177 |
+
|
4178 |
+
var msPattern = /^-ms-/;
|
4179 |
+
|
4180 |
+
/**
|
4181 |
+
* Camelcases a hyphenated CSS property name, for example:
|
4182 |
+
*
|
4183 |
+
* > camelizeStyleName('background-color')
|
4184 |
+
* < "backgroundColor"
|
4185 |
+
* > camelizeStyleName('-moz-transition')
|
4186 |
+
* < "MozTransition"
|
4187 |
+
* > camelizeStyleName('-ms-transition')
|
4188 |
+
* < "msTransition"
|
4189 |
+
*
|
4190 |
+
* As Andi Smith suggests
|
4191 |
+
* (http://www.andismith.com/blog/2012/02/modernizr-prefixed/), an `-ms` prefix
|
4192 |
+
* is converted to lowercase `ms`.
|
4193 |
+
*
|
4194 |
+
* @param {string} string
|
4195 |
+
* @return {string}
|
4196 |
+
*/
|
4197 |
+
function camelizeStyleName(string) {
|
4198 |
+
return camelize(string.replace(msPattern, 'ms-'));
|
4199 |
+
}
|
4200 |
+
|
4201 |
+
module.exports = camelizeStyleName;
|
4202 |
+
|
4203 |
+
/***/ }),
|
4204 |
+
|
4205 |
+
/***/ "./node_modules/fbjs/lib/containsNode.js":
|
4206 |
+
/*!***********************************************!*\
|
4207 |
+
!*** ./node_modules/fbjs/lib/containsNode.js ***!
|
4208 |
+
\***********************************************/
|
4209 |
+
/*! no static exports found */
|
4210 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4211 |
+
|
4212 |
+
"use strict";
|
4213 |
+
|
4214 |
+
|
4215 |
+
/**
|
4216 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4217 |
+
*
|
4218 |
+
* This source code is licensed under the MIT license found in the
|
4219 |
+
* LICENSE file in the root directory of this source tree.
|
4220 |
+
*
|
4221 |
+
*
|
4222 |
+
*/
|
4223 |
+
|
4224 |
+
var isTextNode = __webpack_require__(/*! ./isTextNode */ "./node_modules/fbjs/lib/isTextNode.js");
|
4225 |
+
|
4226 |
+
/*eslint-disable no-bitwise */
|
4227 |
+
|
4228 |
+
/**
|
4229 |
+
* Checks if a given DOM node contains or is another DOM node.
|
4230 |
+
*/
|
4231 |
+
function containsNode(outerNode, innerNode) {
|
4232 |
+
if (!outerNode || !innerNode) {
|
4233 |
+
return false;
|
4234 |
+
} else if (outerNode === innerNode) {
|
4235 |
+
return true;
|
4236 |
+
} else if (isTextNode(outerNode)) {
|
4237 |
+
return false;
|
4238 |
+
} else if (isTextNode(innerNode)) {
|
4239 |
+
return containsNode(outerNode, innerNode.parentNode);
|
4240 |
+
} else if ('contains' in outerNode) {
|
4241 |
+
return outerNode.contains(innerNode);
|
4242 |
+
} else if (outerNode.compareDocumentPosition) {
|
4243 |
+
return !!(outerNode.compareDocumentPosition(innerNode) & 16);
|
4244 |
+
} else {
|
4245 |
+
return false;
|
4246 |
+
}
|
4247 |
+
}
|
4248 |
+
|
4249 |
+
module.exports = containsNode;
|
4250 |
+
|
4251 |
+
/***/ }),
|
4252 |
+
|
4253 |
+
/***/ "./node_modules/fbjs/lib/createArrayFromMixed.js":
|
4254 |
+
/*!*******************************************************!*\
|
4255 |
+
!*** ./node_modules/fbjs/lib/createArrayFromMixed.js ***!
|
4256 |
+
\*******************************************************/
|
4257 |
+
/*! no static exports found */
|
4258 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4259 |
+
|
4260 |
+
"use strict";
|
4261 |
+
|
4262 |
+
|
4263 |
+
/**
|
4264 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4265 |
+
*
|
4266 |
+
* This source code is licensed under the MIT license found in the
|
4267 |
+
* LICENSE file in the root directory of this source tree.
|
4268 |
+
*
|
4269 |
+
* @typechecks
|
4270 |
+
*/
|
4271 |
+
|
4272 |
+
var invariant = __webpack_require__(/*! ./invariant */ "./node_modules/fbjs/lib/invariant.js");
|
4273 |
+
|
4274 |
+
/**
|
4275 |
+
* Convert array-like objects to arrays.
|
4276 |
+
*
|
4277 |
+
* This API assumes the caller knows the contents of the data type. For less
|
4278 |
+
* well defined inputs use createArrayFromMixed.
|
4279 |
+
*
|
4280 |
+
* @param {object|function|filelist} obj
|
4281 |
+
* @return {array}
|
4282 |
+
*/
|
4283 |
+
function toArray(obj) {
|
4284 |
+
var length = obj.length;
|
4285 |
+
|
4286 |
+
// Some browsers builtin objects can report typeof 'function' (e.g. NodeList
|
4287 |
+
// in old versions of Safari).
|
4288 |
+
!(!Array.isArray(obj) && (typeof obj === 'object' || typeof obj === 'function')) ? true ? invariant(false, 'toArray: Array-like object expected') : undefined : void 0;
|
4289 |
+
|
4290 |
+
!(typeof length === 'number') ? true ? invariant(false, 'toArray: Object needs a length property') : undefined : void 0;
|
4291 |
+
|
4292 |
+
!(length === 0 || length - 1 in obj) ? true ? invariant(false, 'toArray: Object should have keys for indices') : undefined : void 0;
|
4293 |
+
|
4294 |
+
!(typeof obj.callee !== 'function') ? true ? invariant(false, 'toArray: Object can\'t be `arguments`. Use rest params ' + '(function(...args) {}) or Array.from() instead.') : undefined : void 0;
|
4295 |
+
|
4296 |
+
// Old IE doesn't give collections access to hasOwnProperty. Assume inputs
|
4297 |
+
// without method will throw during the slice call and skip straight to the
|
4298 |
+
// fallback.
|
4299 |
+
if (obj.hasOwnProperty) {
|
4300 |
+
try {
|
4301 |
+
return Array.prototype.slice.call(obj);
|
4302 |
+
} catch (e) {
|
4303 |
+
// IE < 9 does not support Array#slice on collections objects
|
4304 |
+
}
|
4305 |
+
}
|
4306 |
+
|
4307 |
+
// Fall back to copying key by key. This assumes all keys have a value,
|
4308 |
+
// so will not preserve sparsely populated inputs.
|
4309 |
+
var ret = Array(length);
|
4310 |
+
for (var ii = 0; ii < length; ii++) {
|
4311 |
+
ret[ii] = obj[ii];
|
4312 |
+
}
|
4313 |
+
return ret;
|
4314 |
+
}
|
4315 |
+
|
4316 |
+
/**
|
4317 |
+
* Perform a heuristic test to determine if an object is "array-like".
|
4318 |
+
*
|
4319 |
+
* A monk asked Joshu, a Zen master, "Has a dog Buddha nature?"
|
4320 |
+
* Joshu replied: "Mu."
|
4321 |
+
*
|
4322 |
+
* This function determines if its argument has "array nature": it returns
|
4323 |
+
* true if the argument is an actual array, an `arguments' object, or an
|
4324 |
+
* HTMLCollection (e.g. node.childNodes or node.getElementsByTagName()).
|
4325 |
+
*
|
4326 |
+
* It will return false for other array-like objects like Filelist.
|
4327 |
+
*
|
4328 |
+
* @param {*} obj
|
4329 |
+
* @return {boolean}
|
4330 |
+
*/
|
4331 |
+
function hasArrayNature(obj) {
|
4332 |
+
return (
|
4333 |
+
// not null/false
|
4334 |
+
!!obj && (
|
4335 |
+
// arrays are objects, NodeLists are functions in Safari
|
4336 |
+
typeof obj == 'object' || typeof obj == 'function') &&
|
4337 |
+
// quacks like an array
|
4338 |
+
'length' in obj &&
|
4339 |
+
// not window
|
4340 |
+
!('setInterval' in obj) &&
|
4341 |
+
// no DOM node should be considered an array-like
|
4342 |
+
// a 'select' element has 'length' and 'item' properties on IE8
|
4343 |
+
typeof obj.nodeType != 'number' && (
|
4344 |
+
// a real array
|
4345 |
+
Array.isArray(obj) ||
|
4346 |
+
// arguments
|
4347 |
+
'callee' in obj ||
|
4348 |
+
// HTMLCollection/NodeList
|
4349 |
+
'item' in obj)
|
4350 |
+
);
|
4351 |
+
}
|
4352 |
+
|
4353 |
+
/**
|
4354 |
+
* Ensure that the argument is an array by wrapping it in an array if it is not.
|
4355 |
+
* Creates a copy of the argument if it is already an array.
|
4356 |
+
*
|
4357 |
+
* This is mostly useful idiomatically:
|
4358 |
+
*
|
4359 |
+
* var createArrayFromMixed = require('createArrayFromMixed');
|
4360 |
+
*
|
4361 |
+
* function takesOneOrMoreThings(things) {
|
4362 |
+
* things = createArrayFromMixed(things);
|
4363 |
+
* ...
|
4364 |
+
* }
|
4365 |
+
*
|
4366 |
+
* This allows you to treat `things' as an array, but accept scalars in the API.
|
4367 |
+
*
|
4368 |
+
* If you need to convert an array-like object, like `arguments`, into an array
|
4369 |
+
* use toArray instead.
|
4370 |
+
*
|
4371 |
+
* @param {*} obj
|
4372 |
+
* @return {array}
|
4373 |
+
*/
|
4374 |
+
function createArrayFromMixed(obj) {
|
4375 |
+
if (!hasArrayNature(obj)) {
|
4376 |
+
return [obj];
|
4377 |
+
} else if (Array.isArray(obj)) {
|
4378 |
+
return obj.slice();
|
4379 |
+
} else {
|
4380 |
+
return toArray(obj);
|
4381 |
+
}
|
4382 |
+
}
|
4383 |
+
|
4384 |
+
module.exports = createArrayFromMixed;
|
4385 |
+
|
4386 |
+
/***/ }),
|
4387 |
+
|
4388 |
+
/***/ "./node_modules/fbjs/lib/createNodesFromMarkup.js":
|
4389 |
+
/*!********************************************************!*\
|
4390 |
+
!*** ./node_modules/fbjs/lib/createNodesFromMarkup.js ***!
|
4391 |
+
\********************************************************/
|
4392 |
+
/*! no static exports found */
|
4393 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4394 |
+
|
4395 |
+
"use strict";
|
4396 |
+
|
4397 |
+
|
4398 |
+
/**
|
4399 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4400 |
+
*
|
4401 |
+
* This source code is licensed under the MIT license found in the
|
4402 |
+
* LICENSE file in the root directory of this source tree.
|
4403 |
+
*
|
4404 |
+
* @typechecks
|
4405 |
+
*/
|
4406 |
+
|
4407 |
+
/*eslint-disable fb-www/unsafe-html*/
|
4408 |
+
|
4409 |
+
var ExecutionEnvironment = __webpack_require__(/*! ./ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
4410 |
+
|
4411 |
+
var createArrayFromMixed = __webpack_require__(/*! ./createArrayFromMixed */ "./node_modules/fbjs/lib/createArrayFromMixed.js");
|
4412 |
+
var getMarkupWrap = __webpack_require__(/*! ./getMarkupWrap */ "./node_modules/fbjs/lib/getMarkupWrap.js");
|
4413 |
+
var invariant = __webpack_require__(/*! ./invariant */ "./node_modules/fbjs/lib/invariant.js");
|
4414 |
+
|
4415 |
+
/**
|
4416 |
+
* Dummy container used to render all markup.
|
4417 |
+
*/
|
4418 |
+
var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;
|
4419 |
+
|
4420 |
+
/**
|
4421 |
+
* Pattern used by `getNodeName`.
|
4422 |
+
*/
|
4423 |
+
var nodeNamePattern = /^\s*<(\w+)/;
|
4424 |
+
|
4425 |
+
/**
|
4426 |
+
* Extracts the `nodeName` of the first element in a string of markup.
|
4427 |
+
*
|
4428 |
+
* @param {string} markup String of markup.
|
4429 |
+
* @return {?string} Node name of the supplied markup.
|
4430 |
+
*/
|
4431 |
+
function getNodeName(markup) {
|
4432 |
+
var nodeNameMatch = markup.match(nodeNamePattern);
|
4433 |
+
return nodeNameMatch && nodeNameMatch[1].toLowerCase();
|
4434 |
+
}
|
4435 |
+
|
4436 |
+
/**
|
4437 |
+
* Creates an array containing the nodes rendered from the supplied markup. The
|
4438 |
+
* optionally supplied `handleScript` function will be invoked once for each
|
4439 |
+
* <script> element that is rendered. If no `handleScript` function is supplied,
|
4440 |
+
* an exception is thrown if any <script> elements are rendered.
|
4441 |
+
*
|
4442 |
+
* @param {string} markup A string of valid HTML markup.
|
4443 |
+
* @param {?function} handleScript Invoked once for each rendered <script>.
|
4444 |
+
* @return {array<DOMElement|DOMTextNode>} An array of rendered nodes.
|
4445 |
+
*/
|
4446 |
+
function createNodesFromMarkup(markup, handleScript) {
|
4447 |
+
var node = dummyNode;
|
4448 |
+
!!!dummyNode ? true ? invariant(false, 'createNodesFromMarkup dummy not initialized') : undefined : void 0;
|
4449 |
+
var nodeName = getNodeName(markup);
|
4450 |
+
|
4451 |
+
var wrap = nodeName && getMarkupWrap(nodeName);
|
4452 |
+
if (wrap) {
|
4453 |
+
node.innerHTML = wrap[1] + markup + wrap[2];
|
4454 |
+
|
4455 |
+
var wrapDepth = wrap[0];
|
4456 |
+
while (wrapDepth--) {
|
4457 |
+
node = node.lastChild;
|
4458 |
+
}
|
4459 |
+
} else {
|
4460 |
+
node.innerHTML = markup;
|
4461 |
+
}
|
4462 |
+
|
4463 |
+
var scripts = node.getElementsByTagName('script');
|
4464 |
+
if (scripts.length) {
|
4465 |
+
!handleScript ? true ? invariant(false, 'createNodesFromMarkup(...): Unexpected <script> element rendered.') : undefined : void 0;
|
4466 |
+
createArrayFromMixed(scripts).forEach(handleScript);
|
4467 |
+
}
|
4468 |
+
|
4469 |
+
var nodes = Array.from(node.childNodes);
|
4470 |
+
while (node.lastChild) {
|
4471 |
+
node.removeChild(node.lastChild);
|
4472 |
+
}
|
4473 |
+
return nodes;
|
4474 |
+
}
|
4475 |
+
|
4476 |
+
module.exports = createNodesFromMarkup;
|
4477 |
+
|
4478 |
+
/***/ }),
|
4479 |
+
|
4480 |
+
/***/ "./node_modules/fbjs/lib/emptyFunction.js":
|
4481 |
+
/*!************************************************!*\
|
4482 |
+
!*** ./node_modules/fbjs/lib/emptyFunction.js ***!
|
4483 |
+
\************************************************/
|
4484 |
+
/*! no static exports found */
|
4485 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4486 |
+
|
4487 |
+
"use strict";
|
4488 |
+
|
4489 |
+
|
4490 |
+
/**
|
4491 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4492 |
+
*
|
4493 |
+
* This source code is licensed under the MIT license found in the
|
4494 |
+
* LICENSE file in the root directory of this source tree.
|
4495 |
+
*
|
4496 |
+
*
|
4497 |
+
*/
|
4498 |
+
|
4499 |
+
function makeEmptyFunction(arg) {
|
4500 |
+
return function () {
|
4501 |
+
return arg;
|
4502 |
+
};
|
4503 |
+
}
|
4504 |
+
|
4505 |
+
/**
|
4506 |
+
* This function accepts and discards inputs; it has no side effects. This is
|
4507 |
+
* primarily useful idiomatically for overridable function endpoints which
|
4508 |
+
* always need to be callable, since JS lacks a null-call idiom ala Cocoa.
|
4509 |
+
*/
|
4510 |
+
var emptyFunction = function emptyFunction() {};
|
4511 |
+
|
4512 |
+
emptyFunction.thatReturns = makeEmptyFunction;
|
4513 |
+
emptyFunction.thatReturnsFalse = makeEmptyFunction(false);
|
4514 |
+
emptyFunction.thatReturnsTrue = makeEmptyFunction(true);
|
4515 |
+
emptyFunction.thatReturnsNull = makeEmptyFunction(null);
|
4516 |
+
emptyFunction.thatReturnsThis = function () {
|
4517 |
+
return this;
|
4518 |
+
};
|
4519 |
+
emptyFunction.thatReturnsArgument = function (arg) {
|
4520 |
+
return arg;
|
4521 |
+
};
|
4522 |
+
|
4523 |
+
module.exports = emptyFunction;
|
4524 |
+
|
4525 |
+
/***/ }),
|
4526 |
+
|
4527 |
+
/***/ "./node_modules/fbjs/lib/emptyObject.js":
|
4528 |
+
/*!**********************************************!*\
|
4529 |
+
!*** ./node_modules/fbjs/lib/emptyObject.js ***!
|
4530 |
+
\**********************************************/
|
4531 |
+
/*! no static exports found */
|
4532 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4533 |
+
|
4534 |
+
"use strict";
|
4535 |
+
/**
|
4536 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4537 |
+
*
|
4538 |
+
* This source code is licensed under the MIT license found in the
|
4539 |
+
* LICENSE file in the root directory of this source tree.
|
4540 |
+
*
|
4541 |
+
*/
|
4542 |
+
|
4543 |
+
|
4544 |
+
|
4545 |
+
var emptyObject = {};
|
4546 |
+
|
4547 |
+
if (true) {
|
4548 |
+
Object.freeze(emptyObject);
|
4549 |
+
}
|
4550 |
+
|
4551 |
+
module.exports = emptyObject;
|
4552 |
+
|
4553 |
+
/***/ }),
|
4554 |
+
|
4555 |
+
/***/ "./node_modules/fbjs/lib/focusNode.js":
|
4556 |
+
/*!********************************************!*\
|
4557 |
+
!*** ./node_modules/fbjs/lib/focusNode.js ***!
|
4558 |
+
\********************************************/
|
4559 |
+
/*! no static exports found */
|
4560 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4561 |
+
|
4562 |
+
"use strict";
|
4563 |
+
/**
|
4564 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4565 |
+
*
|
4566 |
+
* This source code is licensed under the MIT license found in the
|
4567 |
+
* LICENSE file in the root directory of this source tree.
|
4568 |
+
*
|
4569 |
+
*/
|
4570 |
+
|
4571 |
+
|
4572 |
+
|
4573 |
+
/**
|
4574 |
+
* @param {DOMElement} node input/textarea to focus
|
4575 |
+
*/
|
4576 |
+
|
4577 |
+
function focusNode(node) {
|
4578 |
+
// IE8 can throw "Can't move focus to the control because it is invisible,
|
4579 |
+
// not enabled, or of a type that does not accept the focus." for all kinds of
|
4580 |
+
// reasons that are too expensive and fragile to test.
|
4581 |
+
try {
|
4582 |
+
node.focus();
|
4583 |
+
} catch (e) {}
|
4584 |
+
}
|
4585 |
+
|
4586 |
+
module.exports = focusNode;
|
4587 |
+
|
4588 |
+
/***/ }),
|
4589 |
+
|
4590 |
+
/***/ "./node_modules/fbjs/lib/getActiveElement.js":
|
4591 |
+
/*!***************************************************!*\
|
4592 |
+
!*** ./node_modules/fbjs/lib/getActiveElement.js ***!
|
4593 |
+
\***************************************************/
|
4594 |
+
/*! no static exports found */
|
4595 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4596 |
+
|
4597 |
+
"use strict";
|
4598 |
+
|
4599 |
+
|
4600 |
+
/**
|
4601 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4602 |
+
*
|
4603 |
+
* This source code is licensed under the MIT license found in the
|
4604 |
+
* LICENSE file in the root directory of this source tree.
|
4605 |
+
*
|
4606 |
+
* @typechecks
|
4607 |
+
*/
|
4608 |
+
|
4609 |
+
/* eslint-disable fb-www/typeof-undefined */
|
4610 |
+
|
4611 |
+
/**
|
4612 |
+
* Same as document.activeElement but wraps in a try-catch block. In IE it is
|
4613 |
+
* not safe to call document.activeElement if there is nothing focused.
|
4614 |
+
*
|
4615 |
+
* The activeElement will be null only if the document or document body is not
|
4616 |
+
* yet defined.
|
4617 |
+
*
|
4618 |
+
* @param {?DOMDocument} doc Defaults to current document.
|
4619 |
+
* @return {?DOMElement}
|
4620 |
+
*/
|
4621 |
+
function getActiveElement(doc) /*?DOMElement*/{
|
4622 |
+
doc = doc || (typeof document !== 'undefined' ? document : undefined);
|
4623 |
+
if (typeof doc === 'undefined') {
|
4624 |
+
return null;
|
4625 |
+
}
|
4626 |
+
try {
|
4627 |
+
return doc.activeElement || doc.body;
|
4628 |
+
} catch (e) {
|
4629 |
+
return doc.body;
|
4630 |
+
}
|
4631 |
+
}
|
4632 |
+
|
4633 |
+
module.exports = getActiveElement;
|
4634 |
+
|
4635 |
+
/***/ }),
|
4636 |
+
|
4637 |
+
/***/ "./node_modules/fbjs/lib/getMarkupWrap.js":
|
4638 |
+
/*!************************************************!*\
|
4639 |
+
!*** ./node_modules/fbjs/lib/getMarkupWrap.js ***!
|
4640 |
+
\************************************************/
|
4641 |
+
/*! no static exports found */
|
4642 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4643 |
+
|
4644 |
+
"use strict";
|
4645 |
+
|
4646 |
+
|
4647 |
+
/**
|
4648 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4649 |
+
*
|
4650 |
+
* This source code is licensed under the MIT license found in the
|
4651 |
+
* LICENSE file in the root directory of this source tree.
|
4652 |
+
*
|
4653 |
+
*/
|
4654 |
+
|
4655 |
+
/*eslint-disable fb-www/unsafe-html */
|
4656 |
+
|
4657 |
+
var ExecutionEnvironment = __webpack_require__(/*! ./ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
4658 |
+
|
4659 |
+
var invariant = __webpack_require__(/*! ./invariant */ "./node_modules/fbjs/lib/invariant.js");
|
4660 |
+
|
4661 |
+
/**
|
4662 |
+
* Dummy container used to detect which wraps are necessary.
|
4663 |
+
*/
|
4664 |
+
var dummyNode = ExecutionEnvironment.canUseDOM ? document.createElement('div') : null;
|
4665 |
+
|
4666 |
+
/**
|
4667 |
+
* Some browsers cannot use `innerHTML` to render certain elements standalone,
|
4668 |
+
* so we wrap them, render the wrapped nodes, then extract the desired node.
|
4669 |
+
*
|
4670 |
+
* In IE8, certain elements cannot render alone, so wrap all elements ('*').
|
4671 |
+
*/
|
4672 |
+
|
4673 |
+
var shouldWrap = {};
|
4674 |
+
|
4675 |
+
var selectWrap = [1, '<select multiple="true">', '</select>'];
|
4676 |
+
var tableWrap = [1, '<table>', '</table>'];
|
4677 |
+
var trWrap = [3, '<table><tbody><tr>', '</tr></tbody></table>'];
|
4678 |
+
|
4679 |
+
var svgWrap = [1, '<svg xmlns="http://www.w3.org/2000/svg">', '</svg>'];
|
4680 |
+
|
4681 |
+
var markupWrap = {
|
4682 |
+
'*': [1, '?<div>', '</div>'],
|
4683 |
+
|
4684 |
+
'area': [1, '<map>', '</map>'],
|
4685 |
+
'col': [2, '<table><tbody></tbody><colgroup>', '</colgroup></table>'],
|
4686 |
+
'legend': [1, '<fieldset>', '</fieldset>'],
|
4687 |
+
'param': [1, '<object>', '</object>'],
|
4688 |
+
'tr': [2, '<table><tbody>', '</tbody></table>'],
|
4689 |
+
|
4690 |
+
'optgroup': selectWrap,
|
4691 |
+
'option': selectWrap,
|
4692 |
+
|
4693 |
+
'caption': tableWrap,
|
4694 |
+
'colgroup': tableWrap,
|
4695 |
+
'tbody': tableWrap,
|
4696 |
+
'tfoot': tableWrap,
|
4697 |
+
'thead': tableWrap,
|
4698 |
+
|
4699 |
+
'td': trWrap,
|
4700 |
+
'th': trWrap
|
4701 |
+
};
|
4702 |
+
|
4703 |
+
// Initialize the SVG elements since we know they'll always need to be wrapped
|
4704 |
+
// consistently. If they are created inside a <div> they will be initialized in
|
4705 |
+
// the wrong namespace (and will not display).
|
4706 |
+
var svgElements = ['circle', 'clipPath', 'defs', 'ellipse', 'g', 'image', 'line', 'linearGradient', 'mask', 'path', 'pattern', 'polygon', 'polyline', 'radialGradient', 'rect', 'stop', 'text', 'tspan'];
|
4707 |
+
svgElements.forEach(function (nodeName) {
|
4708 |
+
markupWrap[nodeName] = svgWrap;
|
4709 |
+
shouldWrap[nodeName] = true;
|
4710 |
+
});
|
4711 |
+
|
4712 |
+
/**
|
4713 |
+
* Gets the markup wrap configuration for the supplied `nodeName`.
|
4714 |
+
*
|
4715 |
+
* NOTE: This lazily detects which wraps are necessary for the current browser.
|
4716 |
+
*
|
4717 |
+
* @param {string} nodeName Lowercase `nodeName`.
|
4718 |
+
* @return {?array} Markup wrap configuration, if applicable.
|
4719 |
+
*/
|
4720 |
+
function getMarkupWrap(nodeName) {
|
4721 |
+
!!!dummyNode ? true ? invariant(false, 'Markup wrapping node not initialized') : undefined : void 0;
|
4722 |
+
if (!markupWrap.hasOwnProperty(nodeName)) {
|
4723 |
+
nodeName = '*';
|
4724 |
+
}
|
4725 |
+
if (!shouldWrap.hasOwnProperty(nodeName)) {
|
4726 |
+
if (nodeName === '*') {
|
4727 |
+
dummyNode.innerHTML = '<link />';
|
4728 |
+
} else {
|
4729 |
+
dummyNode.innerHTML = '<' + nodeName + '></' + nodeName + '>';
|
4730 |
+
}
|
4731 |
+
shouldWrap[nodeName] = !dummyNode.firstChild;
|
4732 |
+
}
|
4733 |
+
return shouldWrap[nodeName] ? markupWrap[nodeName] : null;
|
4734 |
+
}
|
4735 |
+
|
4736 |
+
module.exports = getMarkupWrap;
|
4737 |
+
|
4738 |
+
/***/ }),
|
4739 |
+
|
4740 |
+
/***/ "./node_modules/fbjs/lib/getUnboundedScrollPosition.js":
|
4741 |
+
/*!*************************************************************!*\
|
4742 |
+
!*** ./node_modules/fbjs/lib/getUnboundedScrollPosition.js ***!
|
4743 |
+
\*************************************************************/
|
4744 |
+
/*! no static exports found */
|
4745 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4746 |
+
|
4747 |
+
"use strict";
|
4748 |
+
/**
|
4749 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4750 |
+
*
|
4751 |
+
* This source code is licensed under the MIT license found in the
|
4752 |
+
* LICENSE file in the root directory of this source tree.
|
4753 |
+
*
|
4754 |
+
* @typechecks
|
4755 |
+
*/
|
4756 |
+
|
4757 |
+
|
4758 |
+
|
4759 |
+
/**
|
4760 |
+
* Gets the scroll position of the supplied element or window.
|
4761 |
+
*
|
4762 |
+
* The return values are unbounded, unlike `getScrollPosition`. This means they
|
4763 |
+
* may be negative or exceed the element boundaries (which is possible using
|
4764 |
+
* inertial scrolling).
|
4765 |
+
*
|
4766 |
+
* @param {DOMWindow|DOMElement} scrollable
|
4767 |
+
* @return {object} Map with `x` and `y` keys.
|
4768 |
+
*/
|
4769 |
+
|
4770 |
+
function getUnboundedScrollPosition(scrollable) {
|
4771 |
+
if (scrollable.Window && scrollable instanceof scrollable.Window) {
|
4772 |
+
return {
|
4773 |
+
x: scrollable.pageXOffset || scrollable.document.documentElement.scrollLeft,
|
4774 |
+
y: scrollable.pageYOffset || scrollable.document.documentElement.scrollTop
|
4775 |
+
};
|
4776 |
+
}
|
4777 |
+
return {
|
4778 |
+
x: scrollable.scrollLeft,
|
4779 |
+
y: scrollable.scrollTop
|
4780 |
+
};
|
4781 |
+
}
|
4782 |
+
|
4783 |
+
module.exports = getUnboundedScrollPosition;
|
4784 |
+
|
4785 |
+
/***/ }),
|
4786 |
+
|
4787 |
+
/***/ "./node_modules/fbjs/lib/hyphenate.js":
|
4788 |
+
/*!********************************************!*\
|
4789 |
+
!*** ./node_modules/fbjs/lib/hyphenate.js ***!
|
4790 |
+
\********************************************/
|
4791 |
+
/*! no static exports found */
|
4792 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4793 |
+
|
4794 |
+
"use strict";
|
4795 |
+
|
4796 |
+
|
4797 |
+
/**
|
4798 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4799 |
+
*
|
4800 |
+
* This source code is licensed under the MIT license found in the
|
4801 |
+
* LICENSE file in the root directory of this source tree.
|
4802 |
+
*
|
4803 |
+
* @typechecks
|
4804 |
+
*/
|
4805 |
+
|
4806 |
+
var _uppercasePattern = /([A-Z])/g;
|
4807 |
+
|
4808 |
+
/**
|
4809 |
+
* Hyphenates a camelcased string, for example:
|
4810 |
+
*
|
4811 |
+
* > hyphenate('backgroundColor')
|
4812 |
+
* < "background-color"
|
4813 |
+
*
|
4814 |
+
* For CSS style names, use `hyphenateStyleName` instead which works properly
|
4815 |
+
* with all vendor prefixes, including `ms`.
|
4816 |
+
*
|
4817 |
+
* @param {string} string
|
4818 |
+
* @return {string}
|
4819 |
+
*/
|
4820 |
+
function hyphenate(string) {
|
4821 |
+
return string.replace(_uppercasePattern, '-$1').toLowerCase();
|
4822 |
+
}
|
4823 |
+
|
4824 |
+
module.exports = hyphenate;
|
4825 |
+
|
4826 |
+
/***/ }),
|
4827 |
+
|
4828 |
+
/***/ "./node_modules/fbjs/lib/hyphenateStyleName.js":
|
4829 |
+
/*!*****************************************************!*\
|
4830 |
+
!*** ./node_modules/fbjs/lib/hyphenateStyleName.js ***!
|
4831 |
+
\*****************************************************/
|
4832 |
+
/*! no static exports found */
|
4833 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4834 |
+
|
4835 |
+
"use strict";
|
4836 |
+
/**
|
4837 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4838 |
+
*
|
4839 |
+
* This source code is licensed under the MIT license found in the
|
4840 |
+
* LICENSE file in the root directory of this source tree.
|
4841 |
+
*
|
4842 |
+
* @typechecks
|
4843 |
+
*/
|
4844 |
+
|
4845 |
+
|
4846 |
+
|
4847 |
+
var hyphenate = __webpack_require__(/*! ./hyphenate */ "./node_modules/fbjs/lib/hyphenate.js");
|
4848 |
+
|
4849 |
+
var msPattern = /^ms-/;
|
4850 |
+
|
4851 |
+
/**
|
4852 |
+
* Hyphenates a camelcased CSS property name, for example:
|
4853 |
+
*
|
4854 |
+
* > hyphenateStyleName('backgroundColor')
|
4855 |
+
* < "background-color"
|
4856 |
+
* > hyphenateStyleName('MozTransition')
|
4857 |
+
* < "-moz-transition"
|
4858 |
+
* > hyphenateStyleName('msTransition')
|
4859 |
+
* < "-ms-transition"
|
4860 |
+
*
|
4861 |
+
* As Modernizr suggests (http://modernizr.com/docs/#prefixed), an `ms` prefix
|
4862 |
+
* is converted to `-ms-`.
|
4863 |
+
*
|
4864 |
+
* @param {string} string
|
4865 |
+
* @return {string}
|
4866 |
+
*/
|
4867 |
+
function hyphenateStyleName(string) {
|
4868 |
+
return hyphenate(string).replace(msPattern, '-ms-');
|
4869 |
+
}
|
4870 |
+
|
4871 |
+
module.exports = hyphenateStyleName;
|
4872 |
+
|
4873 |
+
/***/ }),
|
4874 |
+
|
4875 |
+
/***/ "./node_modules/fbjs/lib/invariant.js":
|
4876 |
+
/*!********************************************!*\
|
4877 |
+
!*** ./node_modules/fbjs/lib/invariant.js ***!
|
4878 |
+
\********************************************/
|
4879 |
+
/*! no static exports found */
|
4880 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4881 |
+
|
4882 |
+
"use strict";
|
4883 |
+
/**
|
4884 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4885 |
+
*
|
4886 |
+
* This source code is licensed under the MIT license found in the
|
4887 |
+
* LICENSE file in the root directory of this source tree.
|
4888 |
+
*
|
4889 |
+
*/
|
4890 |
+
|
4891 |
+
|
4892 |
+
|
4893 |
+
/**
|
4894 |
+
* Use invariant() to assert state which your program assumes to be true.
|
4895 |
+
*
|
4896 |
+
* Provide sprintf-style format (only %s is supported) and arguments
|
4897 |
+
* to provide information about what broke and what you were
|
4898 |
+
* expecting.
|
4899 |
+
*
|
4900 |
+
* The invariant message will be stripped in production, but the invariant
|
4901 |
+
* will remain to ensure logic does not differ in production.
|
4902 |
+
*/
|
4903 |
+
|
4904 |
+
var validateFormat = function validateFormat(format) {};
|
4905 |
+
|
4906 |
+
if (true) {
|
4907 |
+
validateFormat = function validateFormat(format) {
|
4908 |
+
if (format === undefined) {
|
4909 |
+
throw new Error('invariant requires an error message argument');
|
4910 |
+
}
|
4911 |
+
};
|
4912 |
+
}
|
4913 |
+
|
4914 |
+
function invariant(condition, format, a, b, c, d, e, f) {
|
4915 |
+
validateFormat(format);
|
4916 |
+
|
4917 |
+
if (!condition) {
|
4918 |
+
var error;
|
4919 |
+
if (format === undefined) {
|
4920 |
+
error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');
|
4921 |
+
} else {
|
4922 |
+
var args = [a, b, c, d, e, f];
|
4923 |
+
var argIndex = 0;
|
4924 |
+
error = new Error(format.replace(/%s/g, function () {
|
4925 |
+
return args[argIndex++];
|
4926 |
+
}));
|
4927 |
+
error.name = 'Invariant Violation';
|
4928 |
+
}
|
4929 |
+
|
4930 |
+
error.framesToPop = 1; // we don't care about invariant's own frame
|
4931 |
+
throw error;
|
4932 |
+
}
|
4933 |
+
}
|
4934 |
+
|
4935 |
+
module.exports = invariant;
|
4936 |
+
|
4937 |
+
/***/ }),
|
4938 |
+
|
4939 |
+
/***/ "./node_modules/fbjs/lib/isNode.js":
|
4940 |
+
/*!*****************************************!*\
|
4941 |
+
!*** ./node_modules/fbjs/lib/isNode.js ***!
|
4942 |
+
\*****************************************/
|
4943 |
+
/*! no static exports found */
|
4944 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4945 |
+
|
4946 |
+
"use strict";
|
4947 |
+
|
4948 |
+
|
4949 |
+
/**
|
4950 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4951 |
+
*
|
4952 |
+
* This source code is licensed under the MIT license found in the
|
4953 |
+
* LICENSE file in the root directory of this source tree.
|
4954 |
+
*
|
4955 |
+
* @typechecks
|
4956 |
+
*/
|
4957 |
+
|
4958 |
+
/**
|
4959 |
+
* @param {*} object The object to check.
|
4960 |
+
* @return {boolean} Whether or not the object is a DOM node.
|
4961 |
+
*/
|
4962 |
+
function isNode(object) {
|
4963 |
+
var doc = object ? object.ownerDocument || object : document;
|
4964 |
+
var defaultView = doc.defaultView || window;
|
4965 |
+
return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));
|
4966 |
+
}
|
4967 |
+
|
4968 |
+
module.exports = isNode;
|
4969 |
+
|
4970 |
+
/***/ }),
|
4971 |
+
|
4972 |
+
/***/ "./node_modules/fbjs/lib/isTextNode.js":
|
4973 |
+
/*!*********************************************!*\
|
4974 |
+
!*** ./node_modules/fbjs/lib/isTextNode.js ***!
|
4975 |
+
\*********************************************/
|
4976 |
+
/*! no static exports found */
|
4977 |
+
/***/ (function(module, exports, __webpack_require__) {
|
4978 |
+
|
4979 |
+
"use strict";
|
4980 |
+
|
4981 |
+
|
4982 |
+
/**
|
4983 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
4984 |
+
*
|
4985 |
+
* This source code is licensed under the MIT license found in the
|
4986 |
+
* LICENSE file in the root directory of this source tree.
|
4987 |
+
*
|
4988 |
+
* @typechecks
|
4989 |
+
*/
|
4990 |
+
|
4991 |
+
var isNode = __webpack_require__(/*! ./isNode */ "./node_modules/fbjs/lib/isNode.js");
|
4992 |
+
|
4993 |
+
/**
|
4994 |
+
* @param {*} object The object to check.
|
4995 |
+
* @return {boolean} Whether or not the object is a DOM text node.
|
4996 |
+
*/
|
4997 |
+
function isTextNode(object) {
|
4998 |
+
return isNode(object) && object.nodeType == 3;
|
4999 |
+
}
|
5000 |
+
|
5001 |
+
module.exports = isTextNode;
|
5002 |
+
|
5003 |
+
/***/ }),
|
5004 |
+
|
5005 |
+
/***/ "./node_modules/fbjs/lib/memoizeStringOnly.js":
|
5006 |
+
/*!****************************************************!*\
|
5007 |
+
!*** ./node_modules/fbjs/lib/memoizeStringOnly.js ***!
|
5008 |
+
\****************************************************/
|
5009 |
+
/*! no static exports found */
|
5010 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5011 |
+
|
5012 |
+
"use strict";
|
5013 |
+
/**
|
5014 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
5015 |
+
*
|
5016 |
+
* This source code is licensed under the MIT license found in the
|
5017 |
+
* LICENSE file in the root directory of this source tree.
|
5018 |
+
*
|
5019 |
+
*
|
5020 |
+
* @typechecks static-only
|
5021 |
+
*/
|
5022 |
+
|
5023 |
+
|
5024 |
+
|
5025 |
+
/**
|
5026 |
+
* Memoizes the return value of a function that accepts one string argument.
|
5027 |
+
*/
|
5028 |
+
|
5029 |
+
function memoizeStringOnly(callback) {
|
5030 |
+
var cache = {};
|
5031 |
+
return function (string) {
|
5032 |
+
if (!cache.hasOwnProperty(string)) {
|
5033 |
+
cache[string] = callback.call(this, string);
|
5034 |
+
}
|
5035 |
+
return cache[string];
|
5036 |
+
};
|
5037 |
+
}
|
5038 |
+
|
5039 |
+
module.exports = memoizeStringOnly;
|
5040 |
+
|
5041 |
+
/***/ }),
|
5042 |
+
|
5043 |
+
/***/ "./node_modules/fbjs/lib/performance.js":
|
5044 |
+
/*!**********************************************!*\
|
5045 |
+
!*** ./node_modules/fbjs/lib/performance.js ***!
|
5046 |
+
\**********************************************/
|
5047 |
+
/*! no static exports found */
|
5048 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5049 |
+
|
5050 |
+
"use strict";
|
5051 |
+
/**
|
5052 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
5053 |
+
*
|
5054 |
+
* This source code is licensed under the MIT license found in the
|
5055 |
+
* LICENSE file in the root directory of this source tree.
|
5056 |
+
*
|
5057 |
+
* @typechecks
|
5058 |
+
*/
|
5059 |
+
|
5060 |
+
|
5061 |
+
|
5062 |
+
var ExecutionEnvironment = __webpack_require__(/*! ./ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
5063 |
+
|
5064 |
+
var performance;
|
5065 |
+
|
5066 |
+
if (ExecutionEnvironment.canUseDOM) {
|
5067 |
+
performance = window.performance || window.msPerformance || window.webkitPerformance;
|
5068 |
+
}
|
5069 |
+
|
5070 |
+
module.exports = performance || {};
|
5071 |
+
|
5072 |
+
/***/ }),
|
5073 |
+
|
5074 |
+
/***/ "./node_modules/fbjs/lib/performanceNow.js":
|
5075 |
+
/*!*************************************************!*\
|
5076 |
+
!*** ./node_modules/fbjs/lib/performanceNow.js ***!
|
5077 |
+
\*************************************************/
|
5078 |
+
/*! no static exports found */
|
5079 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5080 |
+
|
5081 |
+
"use strict";
|
5082 |
+
|
5083 |
+
|
5084 |
+
/**
|
5085 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
5086 |
+
*
|
5087 |
+
* This source code is licensed under the MIT license found in the
|
5088 |
+
* LICENSE file in the root directory of this source tree.
|
5089 |
+
*
|
5090 |
+
* @typechecks
|
5091 |
+
*/
|
5092 |
+
|
5093 |
+
var performance = __webpack_require__(/*! ./performance */ "./node_modules/fbjs/lib/performance.js");
|
5094 |
+
|
5095 |
+
var performanceNow;
|
5096 |
+
|
5097 |
+
/**
|
5098 |
+
* Detect if we can use `window.performance.now()` and gracefully fallback to
|
5099 |
+
* `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now
|
5100 |
+
* because of Facebook's testing infrastructure.
|
5101 |
+
*/
|
5102 |
+
if (performance.now) {
|
5103 |
+
performanceNow = function performanceNow() {
|
5104 |
+
return performance.now();
|
5105 |
+
};
|
5106 |
+
} else {
|
5107 |
+
performanceNow = function performanceNow() {
|
5108 |
+
return Date.now();
|
5109 |
+
};
|
5110 |
+
}
|
5111 |
+
|
5112 |
+
module.exports = performanceNow;
|
5113 |
+
|
5114 |
+
/***/ }),
|
5115 |
+
|
5116 |
+
/***/ "./node_modules/fbjs/lib/shallowEqual.js":
|
5117 |
+
/*!***********************************************!*\
|
5118 |
+
!*** ./node_modules/fbjs/lib/shallowEqual.js ***!
|
5119 |
+
\***********************************************/
|
5120 |
+
/*! no static exports found */
|
5121 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5122 |
+
|
5123 |
+
"use strict";
|
5124 |
+
/**
|
5125 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
5126 |
+
*
|
5127 |
+
* This source code is licensed under the MIT license found in the
|
5128 |
+
* LICENSE file in the root directory of this source tree.
|
5129 |
+
*
|
5130 |
+
* @typechecks
|
5131 |
+
*
|
5132 |
+
*/
|
5133 |
+
|
5134 |
+
/*eslint-disable no-self-compare */
|
5135 |
+
|
5136 |
+
|
5137 |
+
|
5138 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
5139 |
+
|
5140 |
+
/**
|
5141 |
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
5142 |
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
5143 |
+
*/
|
5144 |
+
function is(x, y) {
|
5145 |
+
// SameValue algorithm
|
5146 |
+
if (x === y) {
|
5147 |
+
// Steps 1-5, 7-10
|
5148 |
+
// Steps 6.b-6.e: +0 != -0
|
5149 |
+
// Added the nonzero y check to make Flow happy, but it is redundant
|
5150 |
+
return x !== 0 || y !== 0 || 1 / x === 1 / y;
|
5151 |
+
} else {
|
5152 |
+
// Step 6.a: NaN == NaN
|
5153 |
+
return x !== x && y !== y;
|
5154 |
+
}
|
5155 |
+
}
|
5156 |
+
|
5157 |
+
/**
|
5158 |
+
* Performs equality by iterating through keys on an object and returning false
|
5159 |
+
* when any key has values which are not strictly equal between the arguments.
|
5160 |
+
* Returns true when the values of all keys are strictly equal.
|
5161 |
+
*/
|
5162 |
+
function shallowEqual(objA, objB) {
|
5163 |
+
if (is(objA, objB)) {
|
5164 |
+
return true;
|
5165 |
+
}
|
5166 |
+
|
5167 |
+
if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {
|
5168 |
+
return false;
|
5169 |
+
}
|
5170 |
+
|
5171 |
+
var keysA = Object.keys(objA);
|
5172 |
+
var keysB = Object.keys(objB);
|
5173 |
+
|
5174 |
+
if (keysA.length !== keysB.length) {
|
5175 |
+
return false;
|
5176 |
+
}
|
5177 |
+
|
5178 |
+
// Test for A's keys different from B.
|
5179 |
+
for (var i = 0; i < keysA.length; i++) {
|
5180 |
+
if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {
|
5181 |
+
return false;
|
5182 |
+
}
|
5183 |
+
}
|
5184 |
+
|
5185 |
+
return true;
|
5186 |
+
}
|
5187 |
+
|
5188 |
+
module.exports = shallowEqual;
|
5189 |
+
|
5190 |
+
/***/ }),
|
5191 |
+
|
5192 |
+
/***/ "./node_modules/fbjs/lib/warning.js":
|
5193 |
+
/*!******************************************!*\
|
5194 |
+
!*** ./node_modules/fbjs/lib/warning.js ***!
|
5195 |
+
\******************************************/
|
5196 |
+
/*! no static exports found */
|
5197 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5198 |
+
|
5199 |
+
"use strict";
|
5200 |
+
/**
|
5201 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
5202 |
+
*
|
5203 |
+
* This source code is licensed under the MIT license found in the
|
5204 |
+
* LICENSE file in the root directory of this source tree.
|
5205 |
+
*
|
5206 |
+
*/
|
5207 |
+
|
5208 |
+
|
5209 |
+
|
5210 |
+
var emptyFunction = __webpack_require__(/*! ./emptyFunction */ "./node_modules/fbjs/lib/emptyFunction.js");
|
5211 |
+
|
5212 |
+
/**
|
5213 |
+
* Similar to invariant but only logs a warning if the condition is not met.
|
5214 |
+
* This can be used to log issues in development environments in critical
|
5215 |
+
* paths. Removing the logging code for production environments will keep the
|
5216 |
+
* same logic and follow the same code paths.
|
5217 |
+
*/
|
5218 |
+
|
5219 |
+
var warning = emptyFunction;
|
5220 |
+
|
5221 |
+
if (true) {
|
5222 |
+
var printWarning = function printWarning(format) {
|
5223 |
+
for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
5224 |
+
args[_key - 1] = arguments[_key];
|
5225 |
+
}
|
5226 |
+
|
5227 |
+
var argIndex = 0;
|
5228 |
+
var message = 'Warning: ' + format.replace(/%s/g, function () {
|
5229 |
+
return args[argIndex++];
|
5230 |
+
});
|
5231 |
+
if (typeof console !== 'undefined') {
|
5232 |
+
console.error(message);
|
5233 |
+
}
|
5234 |
+
try {
|
5235 |
+
// --- Welcome to debugging React ---
|
5236 |
+
// This error was thrown as a convenience so that you can use this stack
|
5237 |
+
// to find the callsite that caused this warning to fire.
|
5238 |
+
throw new Error(message);
|
5239 |
+
} catch (x) {}
|
5240 |
+
};
|
5241 |
+
|
5242 |
+
warning = function warning(condition, format) {
|
5243 |
+
if (format === undefined) {
|
5244 |
+
throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
|
5245 |
+
}
|
5246 |
+
|
5247 |
+
if (format.indexOf('Failed Composite propType: ') === 0) {
|
5248 |
+
return; // Ignore CompositeComponent proptype check.
|
5249 |
+
}
|
5250 |
+
|
5251 |
+
if (!condition) {
|
5252 |
+
for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {
|
5253 |
+
args[_key2 - 2] = arguments[_key2];
|
5254 |
+
}
|
5255 |
+
|
5256 |
+
printWarning.apply(undefined, [format].concat(args));
|
5257 |
+
}
|
5258 |
+
};
|
5259 |
+
}
|
5260 |
+
|
5261 |
+
module.exports = warning;
|
5262 |
+
|
5263 |
+
/***/ }),
|
5264 |
+
|
5265 |
+
/***/ "./node_modules/fizzy-ui-utils/utils.js":
|
5266 |
+
/*!**********************************************!*\
|
5267 |
+
!*** ./node_modules/fizzy-ui-utils/utils.js ***!
|
5268 |
+
\**********************************************/
|
5269 |
+
/*! no static exports found */
|
5270 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5271 |
+
|
5272 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
5273 |
+
* Fizzy UI utils v2.0.7
|
5274 |
+
* MIT license
|
5275 |
+
*/
|
5276 |
+
|
5277 |
+
/*jshint browser: true, undef: true, unused: true, strict: true */
|
5278 |
+
|
5279 |
+
( function( window, factory ) {
|
5280 |
+
// universal module definition
|
5281 |
+
/*jshint strict: false */ /*globals define, module, require */
|
5282 |
+
|
5283 |
+
if ( true ) {
|
5284 |
+
// AMD
|
5285 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
5286 |
+
__webpack_require__(/*! desandro-matches-selector/matches-selector */ "./node_modules/desandro-matches-selector/matches-selector.js")
|
5287 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function( matchesSelector ) {
|
5288 |
+
return factory( window, matchesSelector );
|
5289 |
+
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
5290 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5291 |
+
} else {}
|
5292 |
+
|
5293 |
+
}( window, function factory( window, matchesSelector ) {
|
5294 |
+
|
5295 |
+
'use strict';
|
5296 |
+
|
5297 |
+
var utils = {};
|
5298 |
+
|
5299 |
+
// ----- extend ----- //
|
5300 |
+
|
5301 |
+
// extends objects
|
5302 |
+
utils.extend = function( a, b ) {
|
5303 |
+
for ( var prop in b ) {
|
5304 |
+
a[ prop ] = b[ prop ];
|
5305 |
+
}
|
5306 |
+
return a;
|
5307 |
+
};
|
5308 |
+
|
5309 |
+
// ----- modulo ----- //
|
5310 |
+
|
5311 |
+
utils.modulo = function( num, div ) {
|
5312 |
+
return ( ( num % div ) + div ) % div;
|
5313 |
+
};
|
5314 |
+
|
5315 |
+
// ----- makeArray ----- //
|
5316 |
+
|
5317 |
+
var arraySlice = Array.prototype.slice;
|
5318 |
+
|
5319 |
+
// turn element or nodeList into an array
|
5320 |
+
utils.makeArray = function( obj ) {
|
5321 |
+
if ( Array.isArray( obj ) ) {
|
5322 |
+
// use object if already an array
|
5323 |
+
return obj;
|
5324 |
+
}
|
5325 |
+
// return empty array if undefined or null. #6
|
5326 |
+
if ( obj === null || obj === undefined ) {
|
5327 |
+
return [];
|
5328 |
+
}
|
5329 |
+
|
5330 |
+
var isArrayLike = typeof obj == 'object' && typeof obj.length == 'number';
|
5331 |
+
if ( isArrayLike ) {
|
5332 |
+
// convert nodeList to array
|
5333 |
+
return arraySlice.call( obj );
|
5334 |
+
}
|
5335 |
+
|
5336 |
+
// array of single index
|
5337 |
+
return [ obj ];
|
5338 |
+
};
|
5339 |
+
|
5340 |
+
// ----- removeFrom ----- //
|
5341 |
+
|
5342 |
+
utils.removeFrom = function( ary, obj ) {
|
5343 |
+
var index = ary.indexOf( obj );
|
5344 |
+
if ( index != -1 ) {
|
5345 |
+
ary.splice( index, 1 );
|
5346 |
+
}
|
5347 |
+
};
|
5348 |
+
|
5349 |
+
// ----- getParent ----- //
|
5350 |
+
|
5351 |
+
utils.getParent = function( elem, selector ) {
|
5352 |
+
while ( elem.parentNode && elem != document.body ) {
|
5353 |
+
elem = elem.parentNode;
|
5354 |
+
if ( matchesSelector( elem, selector ) ) {
|
5355 |
+
return elem;
|
5356 |
+
}
|
5357 |
+
}
|
5358 |
+
};
|
5359 |
+
|
5360 |
+
// ----- getQueryElement ----- //
|
5361 |
+
|
5362 |
+
// use element as selector string
|
5363 |
+
utils.getQueryElement = function( elem ) {
|
5364 |
+
if ( typeof elem == 'string' ) {
|
5365 |
+
return document.querySelector( elem );
|
5366 |
+
}
|
5367 |
+
return elem;
|
5368 |
+
};
|
5369 |
+
|
5370 |
+
// ----- handleEvent ----- //
|
5371 |
+
|
5372 |
+
// enable .ontype to trigger from .addEventListener( elem, 'type' )
|
5373 |
+
utils.handleEvent = function( event ) {
|
5374 |
+
var method = 'on' + event.type;
|
5375 |
+
if ( this[ method ] ) {
|
5376 |
+
this[ method ]( event );
|
5377 |
+
}
|
5378 |
+
};
|
5379 |
+
|
5380 |
+
// ----- filterFindElements ----- //
|
5381 |
+
|
5382 |
+
utils.filterFindElements = function( elems, selector ) {
|
5383 |
+
// make array of elems
|
5384 |
+
elems = utils.makeArray( elems );
|
5385 |
+
var ffElems = [];
|
5386 |
+
|
5387 |
+
elems.forEach( function( elem ) {
|
5388 |
+
// check that elem is an actual element
|
5389 |
+
if ( !( elem instanceof HTMLElement ) ) {
|
5390 |
+
return;
|
5391 |
+
}
|
5392 |
+
// add elem if no selector
|
5393 |
+
if ( !selector ) {
|
5394 |
+
ffElems.push( elem );
|
5395 |
+
return;
|
5396 |
+
}
|
5397 |
+
// filter & find items if we have a selector
|
5398 |
+
// filter
|
5399 |
+
if ( matchesSelector( elem, selector ) ) {
|
5400 |
+
ffElems.push( elem );
|
5401 |
+
}
|
5402 |
+
// find children
|
5403 |
+
var childElems = elem.querySelectorAll( selector );
|
5404 |
+
// concat childElems to filterFound array
|
5405 |
+
for ( var i=0; i < childElems.length; i++ ) {
|
5406 |
+
ffElems.push( childElems[i] );
|
5407 |
+
}
|
5408 |
+
});
|
5409 |
+
|
5410 |
+
return ffElems;
|
5411 |
+
};
|
5412 |
+
|
5413 |
+
// ----- debounceMethod ----- //
|
5414 |
+
|
5415 |
+
utils.debounceMethod = function( _class, methodName, threshold ) {
|
5416 |
+
threshold = threshold || 100;
|
5417 |
+
// original method
|
5418 |
+
var method = _class.prototype[ methodName ];
|
5419 |
+
var timeoutName = methodName + 'Timeout';
|
5420 |
+
|
5421 |
+
_class.prototype[ methodName ] = function() {
|
5422 |
+
var timeout = this[ timeoutName ];
|
5423 |
+
clearTimeout( timeout );
|
5424 |
+
|
5425 |
+
var args = arguments;
|
5426 |
+
var _this = this;
|
5427 |
+
this[ timeoutName ] = setTimeout( function() {
|
5428 |
+
method.apply( _this, args );
|
5429 |
+
delete _this[ timeoutName ];
|
5430 |
+
}, threshold );
|
5431 |
+
};
|
5432 |
+
};
|
5433 |
+
|
5434 |
+
// ----- docReady ----- //
|
5435 |
+
|
5436 |
+
utils.docReady = function( callback ) {
|
5437 |
+
var readyState = document.readyState;
|
5438 |
+
if ( readyState == 'complete' || readyState == 'interactive' ) {
|
5439 |
+
// do async to allow for other scripts to run. metafizzy/flickity#441
|
5440 |
+
setTimeout( callback );
|
5441 |
+
} else {
|
5442 |
+
document.addEventListener( 'DOMContentLoaded', callback );
|
5443 |
+
}
|
5444 |
+
};
|
5445 |
+
|
5446 |
+
// ----- htmlInit ----- //
|
5447 |
+
|
5448 |
+
// http://jamesroberts.name/blog/2010/02/22/string-functions-for-javascript-trim-to-camel-case-to-dashed-and-to-underscore/
|
5449 |
+
utils.toDashed = function( str ) {
|
5450 |
+
return str.replace( /(.)([A-Z])/g, function( match, $1, $2 ) {
|
5451 |
+
return $1 + '-' + $2;
|
5452 |
+
}).toLowerCase();
|
5453 |
+
};
|
5454 |
+
|
5455 |
+
var console = window.console;
|
5456 |
+
/**
|
5457 |
+
* allow user to initialize classes via [data-namespace] or .js-namespace class
|
5458 |
+
* htmlInit( Widget, 'widgetName' )
|
5459 |
+
* options are parsed from data-namespace-options
|
5460 |
+
*/
|
5461 |
+
utils.htmlInit = function( WidgetClass, namespace ) {
|
5462 |
+
utils.docReady( function() {
|
5463 |
+
var dashedNamespace = utils.toDashed( namespace );
|
5464 |
+
var dataAttr = 'data-' + dashedNamespace;
|
5465 |
+
var dataAttrElems = document.querySelectorAll( '[' + dataAttr + ']' );
|
5466 |
+
var jsDashElems = document.querySelectorAll( '.js-' + dashedNamespace );
|
5467 |
+
var elems = utils.makeArray( dataAttrElems )
|
5468 |
+
.concat( utils.makeArray( jsDashElems ) );
|
5469 |
+
var dataOptionsAttr = dataAttr + '-options';
|
5470 |
+
var jQuery = window.jQuery;
|
5471 |
+
|
5472 |
+
elems.forEach( function( elem ) {
|
5473 |
+
var attr = elem.getAttribute( dataAttr ) ||
|
5474 |
+
elem.getAttribute( dataOptionsAttr );
|
5475 |
+
var options;
|
5476 |
+
try {
|
5477 |
+
options = attr && JSON.parse( attr );
|
5478 |
+
} catch ( error ) {
|
5479 |
+
// log error, do not initialize
|
5480 |
+
if ( console ) {
|
5481 |
+
console.error( 'Error parsing ' + dataAttr + ' on ' + elem.className +
|
5482 |
+
': ' + error );
|
5483 |
+
}
|
5484 |
+
return;
|
5485 |
+
}
|
5486 |
+
// initialize
|
5487 |
+
var instance = new WidgetClass( elem, options );
|
5488 |
+
// make available via $().data('namespace')
|
5489 |
+
if ( jQuery ) {
|
5490 |
+
jQuery.data( elem, namespace, instance );
|
5491 |
+
}
|
5492 |
+
});
|
5493 |
+
|
5494 |
+
});
|
5495 |
+
};
|
5496 |
+
|
5497 |
+
// ----- ----- //
|
5498 |
+
|
5499 |
+
return utils;
|
5500 |
+
|
5501 |
+
}));
|
5502 |
+
|
5503 |
+
|
5504 |
+
/***/ }),
|
5505 |
+
|
5506 |
+
/***/ "./node_modules/get-size/get-size.js":
|
5507 |
+
/*!*******************************************!*\
|
5508 |
+
!*** ./node_modules/get-size/get-size.js ***!
|
5509 |
+
\*******************************************/
|
5510 |
+
/*! no static exports found */
|
5511 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5512 |
+
|
5513 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
5514 |
+
* getSize v2.0.3
|
5515 |
+
* measure size of elements
|
5516 |
+
* MIT license
|
5517 |
+
*/
|
5518 |
+
|
5519 |
+
/* jshint browser: true, strict: true, undef: true, unused: true */
|
5520 |
+
/* globals console: false */
|
5521 |
+
|
5522 |
+
( function( window, factory ) {
|
5523 |
+
/* jshint strict: false */ /* globals define, module */
|
5524 |
+
if ( true ) {
|
5525 |
+
// AMD
|
5526 |
+
!(__WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
5527 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
5528 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) :
|
5529 |
+
__WEBPACK_AMD_DEFINE_FACTORY__),
|
5530 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5531 |
+
} else {}
|
5532 |
+
|
5533 |
+
})( window, function factory() {
|
5534 |
+
'use strict';
|
5535 |
+
|
5536 |
+
// -------------------------- helpers -------------------------- //
|
5537 |
+
|
5538 |
+
// get a number from a string, not a percentage
|
5539 |
+
function getStyleSize( value ) {
|
5540 |
+
var num = parseFloat( value );
|
5541 |
+
// not a percent like '100%', and a number
|
5542 |
+
var isValid = value.indexOf('%') == -1 && !isNaN( num );
|
5543 |
+
return isValid && num;
|
5544 |
+
}
|
5545 |
+
|
5546 |
+
function noop() {}
|
5547 |
+
|
5548 |
+
var logError = typeof console == 'undefined' ? noop :
|
5549 |
+
function( message ) {
|
5550 |
+
console.error( message );
|
5551 |
+
};
|
5552 |
+
|
5553 |
+
// -------------------------- measurements -------------------------- //
|
5554 |
+
|
5555 |
+
var measurements = [
|
5556 |
+
'paddingLeft',
|
5557 |
+
'paddingRight',
|
5558 |
+
'paddingTop',
|
5559 |
+
'paddingBottom',
|
5560 |
+
'marginLeft',
|
5561 |
+
'marginRight',
|
5562 |
+
'marginTop',
|
5563 |
+
'marginBottom',
|
5564 |
+
'borderLeftWidth',
|
5565 |
+
'borderRightWidth',
|
5566 |
+
'borderTopWidth',
|
5567 |
+
'borderBottomWidth'
|
5568 |
+
];
|
5569 |
+
|
5570 |
+
var measurementsLength = measurements.length;
|
5571 |
+
|
5572 |
+
function getZeroSize() {
|
5573 |
+
var size = {
|
5574 |
+
width: 0,
|
5575 |
+
height: 0,
|
5576 |
+
innerWidth: 0,
|
5577 |
+
innerHeight: 0,
|
5578 |
+
outerWidth: 0,
|
5579 |
+
outerHeight: 0
|
5580 |
+
};
|
5581 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
5582 |
+
var measurement = measurements[i];
|
5583 |
+
size[ measurement ] = 0;
|
5584 |
+
}
|
5585 |
+
return size;
|
5586 |
+
}
|
5587 |
+
|
5588 |
+
// -------------------------- getStyle -------------------------- //
|
5589 |
+
|
5590 |
+
/**
|
5591 |
+
* getStyle, get style of element, check for Firefox bug
|
5592 |
+
* https://bugzilla.mozilla.org/show_bug.cgi?id=548397
|
5593 |
+
*/
|
5594 |
+
function getStyle( elem ) {
|
5595 |
+
var style = getComputedStyle( elem );
|
5596 |
+
if ( !style ) {
|
5597 |
+
logError( 'Style returned ' + style +
|
5598 |
+
'. Are you running this code in a hidden iframe on Firefox? ' +
|
5599 |
+
'See https://bit.ly/getsizebug1' );
|
5600 |
+
}
|
5601 |
+
return style;
|
5602 |
+
}
|
5603 |
+
|
5604 |
+
// -------------------------- setup -------------------------- //
|
5605 |
+
|
5606 |
+
var isSetup = false;
|
5607 |
+
|
5608 |
+
var isBoxSizeOuter;
|
5609 |
+
|
5610 |
+
/**
|
5611 |
+
* setup
|
5612 |
+
* check isBoxSizerOuter
|
5613 |
+
* do on first getSize() rather than on page load for Firefox bug
|
5614 |
+
*/
|
5615 |
+
function setup() {
|
5616 |
+
// setup once
|
5617 |
+
if ( isSetup ) {
|
5618 |
+
return;
|
5619 |
+
}
|
5620 |
+
isSetup = true;
|
5621 |
+
|
5622 |
+
// -------------------------- box sizing -------------------------- //
|
5623 |
+
|
5624 |
+
/**
|
5625 |
+
* Chrome & Safari measure the outer-width on style.width on border-box elems
|
5626 |
+
* IE11 & Firefox<29 measures the inner-width
|
5627 |
+
*/
|
5628 |
+
var div = document.createElement('div');
|
5629 |
+
div.style.width = '200px';
|
5630 |
+
div.style.padding = '1px 2px 3px 4px';
|
5631 |
+
div.style.borderStyle = 'solid';
|
5632 |
+
div.style.borderWidth = '1px 2px 3px 4px';
|
5633 |
+
div.style.boxSizing = 'border-box';
|
5634 |
+
|
5635 |
+
var body = document.body || document.documentElement;
|
5636 |
+
body.appendChild( div );
|
5637 |
+
var style = getStyle( div );
|
5638 |
+
// round value for browser zoom. desandro/masonry#928
|
5639 |
+
isBoxSizeOuter = Math.round( getStyleSize( style.width ) ) == 200;
|
5640 |
+
getSize.isBoxSizeOuter = isBoxSizeOuter;
|
5641 |
+
|
5642 |
+
body.removeChild( div );
|
5643 |
+
}
|
5644 |
+
|
5645 |
+
// -------------------------- getSize -------------------------- //
|
5646 |
+
|
5647 |
+
function getSize( elem ) {
|
5648 |
+
setup();
|
5649 |
+
|
5650 |
+
// use querySeletor if elem is string
|
5651 |
+
if ( typeof elem == 'string' ) {
|
5652 |
+
elem = document.querySelector( elem );
|
5653 |
+
}
|
5654 |
+
|
5655 |
+
// do not proceed on non-objects
|
5656 |
+
if ( !elem || typeof elem != 'object' || !elem.nodeType ) {
|
5657 |
+
return;
|
5658 |
+
}
|
5659 |
+
|
5660 |
+
var style = getStyle( elem );
|
5661 |
+
|
5662 |
+
// if hidden, everything is 0
|
5663 |
+
if ( style.display == 'none' ) {
|
5664 |
+
return getZeroSize();
|
5665 |
+
}
|
5666 |
+
|
5667 |
+
var size = {};
|
5668 |
+
size.width = elem.offsetWidth;
|
5669 |
+
size.height = elem.offsetHeight;
|
5670 |
+
|
5671 |
+
var isBorderBox = size.isBorderBox = style.boxSizing == 'border-box';
|
5672 |
+
|
5673 |
+
// get all measurements
|
5674 |
+
for ( var i=0; i < measurementsLength; i++ ) {
|
5675 |
+
var measurement = measurements[i];
|
5676 |
+
var value = style[ measurement ];
|
5677 |
+
var num = parseFloat( value );
|
5678 |
+
// any 'auto', 'medium' value will be 0
|
5679 |
+
size[ measurement ] = !isNaN( num ) ? num : 0;
|
5680 |
+
}
|
5681 |
+
|
5682 |
+
var paddingWidth = size.paddingLeft + size.paddingRight;
|
5683 |
+
var paddingHeight = size.paddingTop + size.paddingBottom;
|
5684 |
+
var marginWidth = size.marginLeft + size.marginRight;
|
5685 |
+
var marginHeight = size.marginTop + size.marginBottom;
|
5686 |
+
var borderWidth = size.borderLeftWidth + size.borderRightWidth;
|
5687 |
+
var borderHeight = size.borderTopWidth + size.borderBottomWidth;
|
5688 |
+
|
5689 |
+
var isBorderBoxSizeOuter = isBorderBox && isBoxSizeOuter;
|
5690 |
+
|
5691 |
+
// overwrite width and height if we can get it from style
|
5692 |
+
var styleWidth = getStyleSize( style.width );
|
5693 |
+
if ( styleWidth !== false ) {
|
5694 |
+
size.width = styleWidth +
|
5695 |
+
// add padding and border unless it's already including it
|
5696 |
+
( isBorderBoxSizeOuter ? 0 : paddingWidth + borderWidth );
|
5697 |
+
}
|
5698 |
+
|
5699 |
+
var styleHeight = getStyleSize( style.height );
|
5700 |
+
if ( styleHeight !== false ) {
|
5701 |
+
size.height = styleHeight +
|
5702 |
+
// add padding and border unless it's already including it
|
5703 |
+
( isBorderBoxSizeOuter ? 0 : paddingHeight + borderHeight );
|
5704 |
+
}
|
5705 |
+
|
5706 |
+
size.innerWidth = size.width - ( paddingWidth + borderWidth );
|
5707 |
+
size.innerHeight = size.height - ( paddingHeight + borderHeight );
|
5708 |
+
|
5709 |
+
size.outerWidth = size.width + marginWidth;
|
5710 |
+
size.outerHeight = size.height + marginHeight;
|
5711 |
+
|
5712 |
+
return size;
|
5713 |
+
}
|
5714 |
+
|
5715 |
+
return getSize;
|
5716 |
+
|
5717 |
+
});
|
5718 |
+
|
5719 |
+
|
5720 |
+
/***/ }),
|
5721 |
+
|
5722 |
+
/***/ "./node_modules/imagesloaded/imagesloaded.js":
|
5723 |
+
/*!***************************************************!*\
|
5724 |
+
!*** ./node_modules/imagesloaded/imagesloaded.js ***!
|
5725 |
+
\***************************************************/
|
5726 |
+
/*! no static exports found */
|
5727 |
+
/***/ (function(module, exports, __webpack_require__) {
|
5728 |
+
|
5729 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
5730 |
+
* imagesLoaded v4.1.3
|
5731 |
+
* JavaScript is all like "You images are done yet or what?"
|
5732 |
+
* MIT License
|
5733 |
+
*/
|
5734 |
+
|
5735 |
+
( function( window, factory ) { 'use strict';
|
5736 |
+
// universal module definition
|
5737 |
+
|
5738 |
+
/*global define: false, module: false, require: false */
|
5739 |
+
|
5740 |
+
if ( true ) {
|
5741 |
+
// AMD
|
5742 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
5743 |
+
__webpack_require__(/*! ev-emitter/ev-emitter */ "./node_modules/ev-emitter/ev-emitter.js")
|
5744 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function( EvEmitter ) {
|
5745 |
+
return factory( window, EvEmitter );
|
5746 |
+
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
5747 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
5748 |
+
} else {}
|
5749 |
+
|
5750 |
+
})( typeof window !== 'undefined' ? window : this,
|
5751 |
+
|
5752 |
+
// -------------------------- factory -------------------------- //
|
5753 |
+
|
5754 |
+
function factory( window, EvEmitter ) {
|
5755 |
+
|
5756 |
+
'use strict';
|
5757 |
+
|
5758 |
+
var $ = window.jQuery;
|
5759 |
+
var console = window.console;
|
5760 |
+
|
5761 |
+
// -------------------------- helpers -------------------------- //
|
5762 |
+
|
5763 |
+
// extend objects
|
5764 |
+
function extend( a, b ) {
|
5765 |
+
for ( var prop in b ) {
|
5766 |
+
a[ prop ] = b[ prop ];
|
5767 |
+
}
|
5768 |
+
return a;
|
5769 |
+
}
|
5770 |
+
|
5771 |
+
// turn element or nodeList into an array
|
5772 |
+
function makeArray( obj ) {
|
5773 |
+
var ary = [];
|
5774 |
+
if ( Array.isArray( obj ) ) {
|
5775 |
+
// use object if already an array
|
5776 |
+
ary = obj;
|
5777 |
+
} else if ( typeof obj.length == 'number' ) {
|
5778 |
+
// convert nodeList to array
|
5779 |
+
for ( var i=0; i < obj.length; i++ ) {
|
5780 |
+
ary.push( obj[i] );
|
5781 |
+
}
|
5782 |
+
} else {
|
5783 |
+
// array of single index
|
5784 |
+
ary.push( obj );
|
5785 |
+
}
|
5786 |
+
return ary;
|
5787 |
+
}
|
5788 |
+
|
5789 |
+
// -------------------------- imagesLoaded -------------------------- //
|
5790 |
+
|
5791 |
+
/**
|
5792 |
+
* @param {Array, Element, NodeList, String} elem
|
5793 |
+
* @param {Object or Function} options - if function, use as callback
|
5794 |
+
* @param {Function} onAlways - callback function
|
5795 |
+
*/
|
5796 |
+
function ImagesLoaded( elem, options, onAlways ) {
|
5797 |
+
// coerce ImagesLoaded() without new, to be new ImagesLoaded()
|
5798 |
+
if ( !( this instanceof ImagesLoaded ) ) {
|
5799 |
+
return new ImagesLoaded( elem, options, onAlways );
|
5800 |
+
}
|
5801 |
+
// use elem as selector string
|
5802 |
+
if ( typeof elem == 'string' ) {
|
5803 |
+
elem = document.querySelectorAll( elem );
|
5804 |
+
}
|
5805 |
+
|
5806 |
+
this.elements = makeArray( elem );
|
5807 |
+
this.options = extend( {}, this.options );
|
5808 |
+
|
5809 |
+
if ( typeof options == 'function' ) {
|
5810 |
+
onAlways = options;
|
5811 |
+
} else {
|
5812 |
+
extend( this.options, options );
|
5813 |
+
}
|
5814 |
+
|
5815 |
+
if ( onAlways ) {
|
5816 |
+
this.on( 'always', onAlways );
|
5817 |
+
}
|
5818 |
+
|
5819 |
+
this.getImages();
|
5820 |
+
|
5821 |
+
if ( $ ) {
|
5822 |
+
// add jQuery Deferred object
|
5823 |
+
this.jqDeferred = new $.Deferred();
|
5824 |
+
}
|
5825 |
+
|
5826 |
+
// HACK check async to allow time to bind listeners
|
5827 |
+
setTimeout( function() {
|
5828 |
+
this.check();
|
5829 |
+
}.bind( this ));
|
5830 |
+
}
|
5831 |
+
|
5832 |
+
ImagesLoaded.prototype = Object.create( EvEmitter.prototype );
|
5833 |
+
|
5834 |
+
ImagesLoaded.prototype.options = {};
|
5835 |
+
|
5836 |
+
ImagesLoaded.prototype.getImages = function() {
|
5837 |
+
this.images = [];
|
5838 |
+
|
5839 |
+
// filter & find items if we have an item selector
|
5840 |
+
this.elements.forEach( this.addElementImages, this );
|
5841 |
+
};
|
5842 |
+
|
5843 |
+
/**
|
5844 |
+
* @param {Node} element
|
5845 |
+
*/
|
5846 |
+
ImagesLoaded.prototype.addElementImages = function( elem ) {
|
5847 |
+
// filter siblings
|
5848 |
+
if ( elem.nodeName == 'IMG' ) {
|
5849 |
+
this.addImage( elem );
|
5850 |
+
}
|
5851 |
+
// get background image on element
|
5852 |
+
if ( this.options.background === true ) {
|
5853 |
+
this.addElementBackgroundImages( elem );
|
5854 |
+
}
|
5855 |
+
|
5856 |
+
// find children
|
5857 |
+
// no non-element nodes, #143
|
5858 |
+
var nodeType = elem.nodeType;
|
5859 |
+
if ( !nodeType || !elementNodeTypes[ nodeType ] ) {
|
5860 |
+
return;
|
5861 |
+
}
|
5862 |
+
var childImgs = elem.querySelectorAll('img');
|
5863 |
+
// concat childElems to filterFound array
|
5864 |
+
for ( var i=0; i < childImgs.length; i++ ) {
|
5865 |
+
var img = childImgs[i];
|
5866 |
+
this.addImage( img );
|
5867 |
+
}
|
5868 |
+
|
5869 |
+
// get child background images
|
5870 |
+
if ( typeof this.options.background == 'string' ) {
|
5871 |
+
var children = elem.querySelectorAll( this.options.background );
|
5872 |
+
for ( i=0; i < children.length; i++ ) {
|
5873 |
+
var child = children[i];
|
5874 |
+
this.addElementBackgroundImages( child );
|
5875 |
+
}
|
5876 |
+
}
|
5877 |
+
};
|
5878 |
+
|
5879 |
+
var elementNodeTypes = {
|
5880 |
+
1: true,
|
5881 |
+
9: true,
|
5882 |
+
11: true
|
5883 |
+
};
|
5884 |
+
|
5885 |
+
ImagesLoaded.prototype.addElementBackgroundImages = function( elem ) {
|
5886 |
+
var style = getComputedStyle( elem );
|
5887 |
+
if ( !style ) {
|
5888 |
+
// Firefox returns null if in a hidden iframe https://bugzil.la/548397
|
5889 |
+
return;
|
5890 |
+
}
|
5891 |
+
// get url inside url("...")
|
5892 |
+
var reURL = /url\((['"])?(.*?)\1\)/gi;
|
5893 |
+
var matches = reURL.exec( style.backgroundImage );
|
5894 |
+
while ( matches !== null ) {
|
5895 |
+
var url = matches && matches[2];
|
5896 |
+
if ( url ) {
|
5897 |
+
this.addBackground( url, elem );
|
5898 |
+
}
|
5899 |
+
matches = reURL.exec( style.backgroundImage );
|
5900 |
+
}
|
5901 |
+
};
|
5902 |
+
|
5903 |
+
/**
|
5904 |
+
* @param {Image} img
|
5905 |
+
*/
|
5906 |
+
ImagesLoaded.prototype.addImage = function( img ) {
|
5907 |
+
var loadingImage = new LoadingImage( img );
|
5908 |
+
this.images.push( loadingImage );
|
5909 |
+
};
|
5910 |
+
|
5911 |
+
ImagesLoaded.prototype.addBackground = function( url, elem ) {
|
5912 |
+
var background = new Background( url, elem );
|
5913 |
+
this.images.push( background );
|
5914 |
+
};
|
5915 |
+
|
5916 |
+
ImagesLoaded.prototype.check = function() {
|
5917 |
+
var _this = this;
|
5918 |
+
this.progressedCount = 0;
|
5919 |
+
this.hasAnyBroken = false;
|
5920 |
+
// complete if no images
|
5921 |
+
if ( !this.images.length ) {
|
5922 |
+
this.complete();
|
5923 |
+
return;
|
5924 |
+
}
|
5925 |
+
|
5926 |
+
function onProgress( image, elem, message ) {
|
5927 |
+
// HACK - Chrome triggers event before object properties have changed. #83
|
5928 |
+
setTimeout( function() {
|
5929 |
+
_this.progress( image, elem, message );
|
5930 |
+
});
|
5931 |
+
}
|
5932 |
+
|
5933 |
+
this.images.forEach( function( loadingImage ) {
|
5934 |
+
loadingImage.once( 'progress', onProgress );
|
5935 |
+
loadingImage.check();
|
5936 |
+
});
|
5937 |
+
};
|
5938 |
+
|
5939 |
+
ImagesLoaded.prototype.progress = function( image, elem, message ) {
|
5940 |
+
this.progressedCount++;
|
5941 |
+
this.hasAnyBroken = this.hasAnyBroken || !image.isLoaded;
|
5942 |
+
// progress event
|
5943 |
+
this.emitEvent( 'progress', [ this, image, elem ] );
|
5944 |
+
if ( this.jqDeferred && this.jqDeferred.notify ) {
|
5945 |
+
this.jqDeferred.notify( this, image );
|
5946 |
+
}
|
5947 |
+
// check if completed
|
5948 |
+
if ( this.progressedCount == this.images.length ) {
|
5949 |
+
this.complete();
|
5950 |
+
}
|
5951 |
+
|
5952 |
+
if ( this.options.debug && console ) {
|
5953 |
+
console.log( 'progress: ' + message, image, elem );
|
5954 |
+
}
|
5955 |
+
};
|
5956 |
+
|
5957 |
+
ImagesLoaded.prototype.complete = function() {
|
5958 |
+
var eventName = this.hasAnyBroken ? 'fail' : 'done';
|
5959 |
+
this.isComplete = true;
|
5960 |
+
this.emitEvent( eventName, [ this ] );
|
5961 |
+
this.emitEvent( 'always', [ this ] );
|
5962 |
+
if ( this.jqDeferred ) {
|
5963 |
+
var jqMethod = this.hasAnyBroken ? 'reject' : 'resolve';
|
5964 |
+
this.jqDeferred[ jqMethod ]( this );
|
5965 |
+
}
|
5966 |
+
};
|
5967 |
+
|
5968 |
+
// -------------------------- -------------------------- //
|
5969 |
+
|
5970 |
+
function LoadingImage( img ) {
|
5971 |
+
this.img = img;
|
5972 |
+
}
|
5973 |
+
|
5974 |
+
LoadingImage.prototype = Object.create( EvEmitter.prototype );
|
5975 |
+
|
5976 |
+
LoadingImage.prototype.check = function() {
|
5977 |
+
// If complete is true and browser supports natural sizes,
|
5978 |
+
// try to check for image status manually.
|
5979 |
+
var isComplete = this.getIsImageComplete();
|
5980 |
+
if ( isComplete ) {
|
5981 |
+
// report based on naturalWidth
|
5982 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
5983 |
+
return;
|
5984 |
+
}
|
5985 |
+
|
5986 |
+
// If none of the checks above matched, simulate loading on detached element.
|
5987 |
+
this.proxyImage = new Image();
|
5988 |
+
this.proxyImage.addEventListener( 'load', this );
|
5989 |
+
this.proxyImage.addEventListener( 'error', this );
|
5990 |
+
// bind to image as well for Firefox. #191
|
5991 |
+
this.img.addEventListener( 'load', this );
|
5992 |
+
this.img.addEventListener( 'error', this );
|
5993 |
+
this.proxyImage.src = this.img.src;
|
5994 |
+
};
|
5995 |
+
|
5996 |
+
LoadingImage.prototype.getIsImageComplete = function() {
|
5997 |
+
return this.img.complete && this.img.naturalWidth !== undefined;
|
5998 |
+
};
|
5999 |
+
|
6000 |
+
LoadingImage.prototype.confirm = function( isLoaded, message ) {
|
6001 |
+
this.isLoaded = isLoaded;
|
6002 |
+
this.emitEvent( 'progress', [ this, this.img, message ] );
|
6003 |
+
};
|
6004 |
+
|
6005 |
+
// ----- events ----- //
|
6006 |
+
|
6007 |
+
// trigger specified handler for event type
|
6008 |
+
LoadingImage.prototype.handleEvent = function( event ) {
|
6009 |
+
var method = 'on' + event.type;
|
6010 |
+
if ( this[ method ] ) {
|
6011 |
+
this[ method ]( event );
|
6012 |
+
}
|
6013 |
+
};
|
6014 |
+
|
6015 |
+
LoadingImage.prototype.onload = function() {
|
6016 |
+
this.confirm( true, 'onload' );
|
6017 |
+
this.unbindEvents();
|
6018 |
+
};
|
6019 |
+
|
6020 |
+
LoadingImage.prototype.onerror = function() {
|
6021 |
+
this.confirm( false, 'onerror' );
|
6022 |
+
this.unbindEvents();
|
6023 |
+
};
|
6024 |
+
|
6025 |
+
LoadingImage.prototype.unbindEvents = function() {
|
6026 |
+
this.proxyImage.removeEventListener( 'load', this );
|
6027 |
+
this.proxyImage.removeEventListener( 'error', this );
|
6028 |
+
this.img.removeEventListener( 'load', this );
|
6029 |
+
this.img.removeEventListener( 'error', this );
|
6030 |
+
};
|
6031 |
+
|
6032 |
+
// -------------------------- Background -------------------------- //
|
6033 |
+
|
6034 |
+
function Background( url, element ) {
|
6035 |
+
this.url = url;
|
6036 |
+
this.element = element;
|
6037 |
+
this.img = new Image();
|
6038 |
+
}
|
6039 |
+
|
6040 |
+
// inherit LoadingImage prototype
|
6041 |
+
Background.prototype = Object.create( LoadingImage.prototype );
|
6042 |
+
|
6043 |
+
Background.prototype.check = function() {
|
6044 |
+
this.img.addEventListener( 'load', this );
|
6045 |
+
this.img.addEventListener( 'error', this );
|
6046 |
+
this.img.src = this.url;
|
6047 |
+
// check if image is already complete
|
6048 |
+
var isComplete = this.getIsImageComplete();
|
6049 |
+
if ( isComplete ) {
|
6050 |
+
this.confirm( this.img.naturalWidth !== 0, 'naturalWidth' );
|
6051 |
+
this.unbindEvents();
|
6052 |
+
}
|
6053 |
+
};
|
6054 |
+
|
6055 |
+
Background.prototype.unbindEvents = function() {
|
6056 |
+
this.img.removeEventListener( 'load', this );
|
6057 |
+
this.img.removeEventListener( 'error', this );
|
6058 |
+
};
|
6059 |
+
|
6060 |
+
Background.prototype.confirm = function( isLoaded, message ) {
|
6061 |
+
this.isLoaded = isLoaded;
|
6062 |
+
this.emitEvent( 'progress', [ this, this.element, message ] );
|
6063 |
+
};
|
6064 |
+
|
6065 |
+
// -------------------------- jQuery -------------------------- //
|
6066 |
+
|
6067 |
+
ImagesLoaded.makeJQueryPlugin = function( jQuery ) {
|
6068 |
+
jQuery = jQuery || window.jQuery;
|
6069 |
+
if ( !jQuery ) {
|
6070 |
+
return;
|
6071 |
+
}
|
6072 |
+
// set local variable
|
6073 |
+
$ = jQuery;
|
6074 |
+
// $().imagesLoaded()
|
6075 |
+
$.fn.imagesLoaded = function( options, callback ) {
|
6076 |
+
var instance = new ImagesLoaded( this, options, callback );
|
6077 |
+
return instance.jqDeferred.promise( $(this) );
|
6078 |
+
};
|
6079 |
+
};
|
6080 |
+
// try making plugin
|
6081 |
+
ImagesLoaded.makeJQueryPlugin();
|
6082 |
+
|
6083 |
+
// -------------------------- -------------------------- //
|
6084 |
+
|
6085 |
+
return ImagesLoaded;
|
6086 |
+
|
6087 |
+
});
|
6088 |
+
|
6089 |
+
|
6090 |
+
/***/ }),
|
6091 |
+
|
6092 |
+
/***/ "./node_modules/is-buffer/index.js":
|
6093 |
+
/*!*****************************************!*\
|
6094 |
+
!*** ./node_modules/is-buffer/index.js ***!
|
6095 |
+
\*****************************************/
|
6096 |
+
/*! no static exports found */
|
6097 |
+
/***/ (function(module, exports) {
|
6098 |
+
|
6099 |
+
/*!
|
6100 |
+
* Determine if an object is a Buffer
|
6101 |
+
*
|
6102 |
+
* @author Feross Aboukhadijeh <https://feross.org>
|
6103 |
+
* @license MIT
|
6104 |
+
*/
|
6105 |
+
|
6106 |
+
// The _isBuffer check is for Safari 5-7 support, because it's missing
|
6107 |
+
// Object.prototype.constructor. Remove this eventually
|
6108 |
+
module.exports = function (obj) {
|
6109 |
+
return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)
|
6110 |
+
}
|
6111 |
+
|
6112 |
+
function isBuffer (obj) {
|
6113 |
+
return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)
|
6114 |
+
}
|
6115 |
+
|
6116 |
+
// For Node v0.10 support. Remove this eventually.
|
6117 |
+
function isSlowBuffer (obj) {
|
6118 |
+
return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))
|
6119 |
+
}
|
6120 |
+
|
6121 |
+
|
6122 |
+
/***/ }),
|
6123 |
+
|
6124 |
+
/***/ "./node_modules/isomorphic-fetch/fetch-npm-browserify.js":
|
6125 |
+
/*!***************************************************************!*\
|
6126 |
+
!*** ./node_modules/isomorphic-fetch/fetch-npm-browserify.js ***!
|
6127 |
+
\***************************************************************/
|
6128 |
+
/*! no static exports found */
|
6129 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6130 |
+
|
6131 |
+
// the whatwg-fetch polyfill installs the fetch() function
|
6132 |
+
// on the global object (window or self)
|
6133 |
+
//
|
6134 |
+
// Return that as the export for use in Webpack, Browserify etc.
|
6135 |
+
__webpack_require__(/*! whatwg-fetch */ "./node_modules/whatwg-fetch/fetch.js");
|
6136 |
+
module.exports = self.fetch.bind(self);
|
6137 |
+
|
6138 |
+
|
6139 |
+
/***/ }),
|
6140 |
+
|
6141 |
+
/***/ "./node_modules/masonry-layout/masonry.js":
|
6142 |
+
/*!************************************************!*\
|
6143 |
+
!*** ./node_modules/masonry-layout/masonry.js ***!
|
6144 |
+
\************************************************/
|
6145 |
+
/*! no static exports found */
|
6146 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6147 |
+
|
6148 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
6149 |
+
* Masonry v4.2.2
|
6150 |
+
* Cascading grid layout library
|
6151 |
+
* https://masonry.desandro.com
|
6152 |
+
* MIT License
|
6153 |
+
* by David DeSandro
|
6154 |
+
*/
|
6155 |
+
|
6156 |
+
( function( window, factory ) {
|
6157 |
+
// universal module definition
|
6158 |
+
/* jshint strict: false */ /*globals define, module, require */
|
6159 |
+
if ( true ) {
|
6160 |
+
// AMD
|
6161 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
6162 |
+
__webpack_require__(/*! outlayer/outlayer */ "./node_modules/outlayer/outlayer.js"),
|
6163 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js")
|
6164 |
+
], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
6165 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
6166 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
6167 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
6168 |
+
} else {}
|
6169 |
+
|
6170 |
+
}( window, function factory( Outlayer, getSize ) {
|
6171 |
+
|
6172 |
+
'use strict';
|
6173 |
+
|
6174 |
+
// -------------------------- masonryDefinition -------------------------- //
|
6175 |
+
|
6176 |
+
// create an Outlayer layout class
|
6177 |
+
var Masonry = Outlayer.create('masonry');
|
6178 |
+
// isFitWidth -> fitWidth
|
6179 |
+
Masonry.compatOptions.fitWidth = 'isFitWidth';
|
6180 |
+
|
6181 |
+
var proto = Masonry.prototype;
|
6182 |
+
|
6183 |
+
proto._resetLayout = function() {
|
6184 |
+
this.getSize();
|
6185 |
+
this._getMeasurement( 'columnWidth', 'outerWidth' );
|
6186 |
+
this._getMeasurement( 'gutter', 'outerWidth' );
|
6187 |
+
this.measureColumns();
|
6188 |
+
|
6189 |
+
// reset column Y
|
6190 |
+
this.colYs = [];
|
6191 |
+
for ( var i=0; i < this.cols; i++ ) {
|
6192 |
+
this.colYs.push( 0 );
|
6193 |
+
}
|
6194 |
+
|
6195 |
+
this.maxY = 0;
|
6196 |
+
this.horizontalColIndex = 0;
|
6197 |
+
};
|
6198 |
+
|
6199 |
+
proto.measureColumns = function() {
|
6200 |
+
this.getContainerWidth();
|
6201 |
+
// if columnWidth is 0, default to outerWidth of first item
|
6202 |
+
if ( !this.columnWidth ) {
|
6203 |
+
var firstItem = this.items[0];
|
6204 |
+
var firstItemElem = firstItem && firstItem.element;
|
6205 |
+
// columnWidth fall back to item of first element
|
6206 |
+
this.columnWidth = firstItemElem && getSize( firstItemElem ).outerWidth ||
|
6207 |
+
// if first elem has no width, default to size of container
|
6208 |
+
this.containerWidth;
|
6209 |
+
}
|
6210 |
+
|
6211 |
+
var columnWidth = this.columnWidth += this.gutter;
|
6212 |
+
|
6213 |
+
// calculate columns
|
6214 |
+
var containerWidth = this.containerWidth + this.gutter;
|
6215 |
+
var cols = containerWidth / columnWidth;
|
6216 |
+
// fix rounding errors, typically with gutters
|
6217 |
+
var excess = columnWidth - containerWidth % columnWidth;
|
6218 |
+
// if overshoot is less than a pixel, round up, otherwise floor it
|
6219 |
+
var mathMethod = excess && excess < 1 ? 'round' : 'floor';
|
6220 |
+
cols = Math[ mathMethod ]( cols );
|
6221 |
+
this.cols = Math.max( cols, 1 );
|
6222 |
+
};
|
6223 |
+
|
6224 |
+
proto.getContainerWidth = function() {
|
6225 |
+
// container is parent if fit width
|
6226 |
+
var isFitWidth = this._getOption('fitWidth');
|
6227 |
+
var container = isFitWidth ? this.element.parentNode : this.element;
|
6228 |
+
// check that this.size and size are there
|
6229 |
+
// IE8 triggers resize on body size change, so they might not be
|
6230 |
+
var size = getSize( container );
|
6231 |
+
this.containerWidth = size && size.innerWidth;
|
6232 |
+
};
|
6233 |
+
|
6234 |
+
proto._getItemLayoutPosition = function( item ) {
|
6235 |
+
item.getSize();
|
6236 |
+
// how many columns does this brick span
|
6237 |
+
var remainder = item.size.outerWidth % this.columnWidth;
|
6238 |
+
var mathMethod = remainder && remainder < 1 ? 'round' : 'ceil';
|
6239 |
+
// round if off by 1 pixel, otherwise use ceil
|
6240 |
+
var colSpan = Math[ mathMethod ]( item.size.outerWidth / this.columnWidth );
|
6241 |
+
colSpan = Math.min( colSpan, this.cols );
|
6242 |
+
// use horizontal or top column position
|
6243 |
+
var colPosMethod = this.options.horizontalOrder ?
|
6244 |
+
'_getHorizontalColPosition' : '_getTopColPosition';
|
6245 |
+
var colPosition = this[ colPosMethod ]( colSpan, item );
|
6246 |
+
// position the brick
|
6247 |
+
var position = {
|
6248 |
+
x: this.columnWidth * colPosition.col,
|
6249 |
+
y: colPosition.y
|
6250 |
+
};
|
6251 |
+
// apply setHeight to necessary columns
|
6252 |
+
var setHeight = colPosition.y + item.size.outerHeight;
|
6253 |
+
var setMax = colSpan + colPosition.col;
|
6254 |
+
for ( var i = colPosition.col; i < setMax; i++ ) {
|
6255 |
+
this.colYs[i] = setHeight;
|
6256 |
+
}
|
6257 |
+
|
6258 |
+
return position;
|
6259 |
+
};
|
6260 |
+
|
6261 |
+
proto._getTopColPosition = function( colSpan ) {
|
6262 |
+
var colGroup = this._getTopColGroup( colSpan );
|
6263 |
+
// get the minimum Y value from the columns
|
6264 |
+
var minimumY = Math.min.apply( Math, colGroup );
|
6265 |
+
|
6266 |
+
return {
|
6267 |
+
col: colGroup.indexOf( minimumY ),
|
6268 |
+
y: minimumY,
|
6269 |
+
};
|
6270 |
+
};
|
6271 |
+
|
6272 |
+
/**
|
6273 |
+
* @param {Number} colSpan - number of columns the element spans
|
6274 |
+
* @returns {Array} colGroup
|
6275 |
+
*/
|
6276 |
+
proto._getTopColGroup = function( colSpan ) {
|
6277 |
+
if ( colSpan < 2 ) {
|
6278 |
+
// if brick spans only one column, use all the column Ys
|
6279 |
+
return this.colYs;
|
6280 |
+
}
|
6281 |
+
|
6282 |
+
var colGroup = [];
|
6283 |
+
// how many different places could this brick fit horizontally
|
6284 |
+
var groupCount = this.cols + 1 - colSpan;
|
6285 |
+
// for each group potential horizontal position
|
6286 |
+
for ( var i = 0; i < groupCount; i++ ) {
|
6287 |
+
colGroup[i] = this._getColGroupY( i, colSpan );
|
6288 |
+
}
|
6289 |
+
return colGroup;
|
6290 |
+
};
|
6291 |
+
|
6292 |
+
proto._getColGroupY = function( col, colSpan ) {
|
6293 |
+
if ( colSpan < 2 ) {
|
6294 |
+
return this.colYs[ col ];
|
6295 |
+
}
|
6296 |
+
// make an array of colY values for that one group
|
6297 |
+
var groupColYs = this.colYs.slice( col, col + colSpan );
|
6298 |
+
// and get the max value of the array
|
6299 |
+
return Math.max.apply( Math, groupColYs );
|
6300 |
+
};
|
6301 |
+
|
6302 |
+
// get column position based on horizontal index. #873
|
6303 |
+
proto._getHorizontalColPosition = function( colSpan, item ) {
|
6304 |
+
var col = this.horizontalColIndex % this.cols;
|
6305 |
+
var isOver = colSpan > 1 && col + colSpan > this.cols;
|
6306 |
+
// shift to next row if item can't fit on current row
|
6307 |
+
col = isOver ? 0 : col;
|
6308 |
+
// don't let zero-size items take up space
|
6309 |
+
var hasSize = item.size.outerWidth && item.size.outerHeight;
|
6310 |
+
this.horizontalColIndex = hasSize ? col + colSpan : this.horizontalColIndex;
|
6311 |
+
|
6312 |
+
return {
|
6313 |
+
col: col,
|
6314 |
+
y: this._getColGroupY( col, colSpan ),
|
6315 |
+
};
|
6316 |
+
};
|
6317 |
+
|
6318 |
+
proto._manageStamp = function( stamp ) {
|
6319 |
+
var stampSize = getSize( stamp );
|
6320 |
+
var offset = this._getElementOffset( stamp );
|
6321 |
+
// get the columns that this stamp affects
|
6322 |
+
var isOriginLeft = this._getOption('originLeft');
|
6323 |
+
var firstX = isOriginLeft ? offset.left : offset.right;
|
6324 |
+
var lastX = firstX + stampSize.outerWidth;
|
6325 |
+
var firstCol = Math.floor( firstX / this.columnWidth );
|
6326 |
+
firstCol = Math.max( 0, firstCol );
|
6327 |
+
var lastCol = Math.floor( lastX / this.columnWidth );
|
6328 |
+
// lastCol should not go over if multiple of columnWidth #425
|
6329 |
+
lastCol -= lastX % this.columnWidth ? 0 : 1;
|
6330 |
+
lastCol = Math.min( this.cols - 1, lastCol );
|
6331 |
+
// set colYs to bottom of the stamp
|
6332 |
+
|
6333 |
+
var isOriginTop = this._getOption('originTop');
|
6334 |
+
var stampMaxY = ( isOriginTop ? offset.top : offset.bottom ) +
|
6335 |
+
stampSize.outerHeight;
|
6336 |
+
for ( var i = firstCol; i <= lastCol; i++ ) {
|
6337 |
+
this.colYs[i] = Math.max( stampMaxY, this.colYs[i] );
|
6338 |
+
}
|
6339 |
+
};
|
6340 |
+
|
6341 |
+
proto._getContainerSize = function() {
|
6342 |
+
this.maxY = Math.max.apply( Math, this.colYs );
|
6343 |
+
var size = {
|
6344 |
+
height: this.maxY
|
6345 |
+
};
|
6346 |
+
|
6347 |
+
if ( this._getOption('fitWidth') ) {
|
6348 |
+
size.width = this._getContainerFitWidth();
|
6349 |
+
}
|
6350 |
+
|
6351 |
+
return size;
|
6352 |
+
};
|
6353 |
+
|
6354 |
+
proto._getContainerFitWidth = function() {
|
6355 |
+
var unusedCols = 0;
|
6356 |
+
// count unused columns
|
6357 |
+
var i = this.cols;
|
6358 |
+
while ( --i ) {
|
6359 |
+
if ( this.colYs[i] !== 0 ) {
|
6360 |
+
break;
|
6361 |
+
}
|
6362 |
+
unusedCols++;
|
6363 |
+
}
|
6364 |
+
// fit container to columns that have been used
|
6365 |
+
return ( this.cols - unusedCols ) * this.columnWidth - this.gutter;
|
6366 |
+
};
|
6367 |
+
|
6368 |
+
proto.needsResizeLayout = function() {
|
6369 |
+
var previousWidth = this.containerWidth;
|
6370 |
+
this.getContainerWidth();
|
6371 |
+
return previousWidth != this.containerWidth;
|
6372 |
+
};
|
6373 |
+
|
6374 |
+
return Masonry;
|
6375 |
+
|
6376 |
+
}));
|
6377 |
+
|
6378 |
+
|
6379 |
+
/***/ }),
|
6380 |
+
|
6381 |
+
/***/ "./node_modules/object-assign/index.js":
|
6382 |
+
/*!*********************************************!*\
|
6383 |
+
!*** ./node_modules/object-assign/index.js ***!
|
6384 |
+
\*********************************************/
|
6385 |
+
/*! no static exports found */
|
6386 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6387 |
+
|
6388 |
+
"use strict";
|
6389 |
+
/*
|
6390 |
+
object-assign
|
6391 |
+
(c) Sindre Sorhus
|
6392 |
+
@license MIT
|
6393 |
+
*/
|
6394 |
+
|
6395 |
+
|
6396 |
+
/* eslint-disable no-unused-vars */
|
6397 |
+
var getOwnPropertySymbols = Object.getOwnPropertySymbols;
|
6398 |
+
var hasOwnProperty = Object.prototype.hasOwnProperty;
|
6399 |
+
var propIsEnumerable = Object.prototype.propertyIsEnumerable;
|
6400 |
+
|
6401 |
+
function toObject(val) {
|
6402 |
+
if (val === null || val === undefined) {
|
6403 |
+
throw new TypeError('Object.assign cannot be called with null or undefined');
|
6404 |
+
}
|
6405 |
+
|
6406 |
+
return Object(val);
|
6407 |
+
}
|
6408 |
+
|
6409 |
+
function shouldUseNative() {
|
6410 |
+
try {
|
6411 |
+
if (!Object.assign) {
|
6412 |
+
return false;
|
6413 |
+
}
|
6414 |
+
|
6415 |
+
// Detect buggy property enumeration order in older V8 versions.
|
6416 |
+
|
6417 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=4118
|
6418 |
+
var test1 = new String('abc'); // eslint-disable-line no-new-wrappers
|
6419 |
+
test1[5] = 'de';
|
6420 |
+
if (Object.getOwnPropertyNames(test1)[0] === '5') {
|
6421 |
+
return false;
|
6422 |
+
}
|
6423 |
+
|
6424 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
6425 |
+
var test2 = {};
|
6426 |
+
for (var i = 0; i < 10; i++) {
|
6427 |
+
test2['_' + String.fromCharCode(i)] = i;
|
6428 |
+
}
|
6429 |
+
var order2 = Object.getOwnPropertyNames(test2).map(function (n) {
|
6430 |
+
return test2[n];
|
6431 |
+
});
|
6432 |
+
if (order2.join('') !== '0123456789') {
|
6433 |
+
return false;
|
6434 |
+
}
|
6435 |
+
|
6436 |
+
// https://bugs.chromium.org/p/v8/issues/detail?id=3056
|
6437 |
+
var test3 = {};
|
6438 |
+
'abcdefghijklmnopqrst'.split('').forEach(function (letter) {
|
6439 |
+
test3[letter] = letter;
|
6440 |
+
});
|
6441 |
+
if (Object.keys(Object.assign({}, test3)).join('') !==
|
6442 |
+
'abcdefghijklmnopqrst') {
|
6443 |
+
return false;
|
6444 |
+
}
|
6445 |
+
|
6446 |
+
return true;
|
6447 |
+
} catch (err) {
|
6448 |
+
// We don't expect any of the above to throw, but better to be safe.
|
6449 |
+
return false;
|
6450 |
+
}
|
6451 |
+
}
|
6452 |
+
|
6453 |
+
module.exports = shouldUseNative() ? Object.assign : function (target, source) {
|
6454 |
+
var from;
|
6455 |
+
var to = toObject(target);
|
6456 |
+
var symbols;
|
6457 |
+
|
6458 |
+
for (var s = 1; s < arguments.length; s++) {
|
6459 |
+
from = Object(arguments[s]);
|
6460 |
+
|
6461 |
+
for (var key in from) {
|
6462 |
+
if (hasOwnProperty.call(from, key)) {
|
6463 |
+
to[key] = from[key];
|
6464 |
+
}
|
6465 |
+
}
|
6466 |
+
|
6467 |
+
if (getOwnPropertySymbols) {
|
6468 |
+
symbols = getOwnPropertySymbols(from);
|
6469 |
+
for (var i = 0; i < symbols.length; i++) {
|
6470 |
+
if (propIsEnumerable.call(from, symbols[i])) {
|
6471 |
+
to[symbols[i]] = from[symbols[i]];
|
6472 |
+
}
|
6473 |
+
}
|
6474 |
+
}
|
6475 |
+
}
|
6476 |
+
|
6477 |
+
return to;
|
6478 |
+
};
|
6479 |
+
|
6480 |
+
|
6481 |
+
/***/ }),
|
6482 |
+
|
6483 |
+
/***/ "./node_modules/outlayer/item.js":
|
6484 |
+
/*!***************************************!*\
|
6485 |
+
!*** ./node_modules/outlayer/item.js ***!
|
6486 |
+
\***************************************/
|
6487 |
+
/*! no static exports found */
|
6488 |
+
/***/ (function(module, exports, __webpack_require__) {
|
6489 |
+
|
6490 |
+
var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/**
|
6491 |
+
* Outlayer Item
|
6492 |
+
*/
|
6493 |
+
|
6494 |
+
( function( window, factory ) {
|
6495 |
+
// universal module definition
|
6496 |
+
/* jshint strict: false */ /* globals define, module, require */
|
6497 |
+
if ( true ) {
|
6498 |
+
// AMD - RequireJS
|
6499 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
6500 |
+
__webpack_require__(/*! ev-emitter/ev-emitter */ "./node_modules/ev-emitter/ev-emitter.js"),
|
6501 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js")
|
6502 |
+
], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory),
|
6503 |
+
__WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ?
|
6504 |
+
(__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__),
|
6505 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
6506 |
+
} else {}
|
6507 |
+
|
6508 |
+
}( window, function factory( EvEmitter, getSize ) {
|
6509 |
+
'use strict';
|
6510 |
+
|
6511 |
+
// ----- helpers ----- //
|
6512 |
+
|
6513 |
+
function isEmptyObj( obj ) {
|
6514 |
+
for ( var prop in obj ) {
|
6515 |
+
return false;
|
6516 |
+
}
|
6517 |
+
prop = null;
|
6518 |
+
return true;
|
6519 |
+
}
|
6520 |
+
|
6521 |
+
// -------------------------- CSS3 support -------------------------- //
|
6522 |
+
|
6523 |
+
|
6524 |
+
var docElemStyle = document.documentElement.style;
|
6525 |
+
|
6526 |
+
var transitionProperty = typeof docElemStyle.transition == 'string' ?
|
6527 |
+
'transition' : 'WebkitTransition';
|
6528 |
+
var transformProperty = typeof docElemStyle.transform == 'string' ?
|
6529 |
+
'transform' : 'WebkitTransform';
|
6530 |
+
|
6531 |
+
var transitionEndEvent = {
|
6532 |
+
WebkitTransition: 'webkitTransitionEnd',
|
6533 |
+
transition: 'transitionend'
|
6534 |
+
}[ transitionProperty ];
|
6535 |
+
|
6536 |
+
// cache all vendor properties that could have vendor prefix
|
6537 |
+
var vendorProperties = {
|
6538 |
+
transform: transformProperty,
|
6539 |
+
transition: transitionProperty,
|
6540 |
+
transitionDuration: transitionProperty + 'Duration',
|
6541 |
+
transitionProperty: transitionProperty + 'Property',
|
6542 |
+
transitionDelay: transitionProperty + 'Delay'
|
6543 |
+
};
|
6544 |
+
|
6545 |
+
// -------------------------- Item -------------------------- //
|
6546 |
+
|
6547 |
+
function Item( element, layout ) {
|
6548 |
+
if ( !element ) {
|
6549 |
+
return;
|
6550 |
+
}
|
6551 |
+
|
6552 |
+
this.element = element;
|
6553 |
+
// parent layout class, i.e. Masonry, Isotope, or Packery
|
6554 |
+
this.layout = layout;
|
6555 |
+
this.position = {
|
6556 |
+
x: 0,
|
6557 |
+
y: 0
|
6558 |
+
};
|
6559 |
+
|
6560 |
+
this._create();
|
6561 |
+
}
|
6562 |
+
|
6563 |
+
// inherit EvEmitter
|
6564 |
+
var proto = Item.prototype = Object.create( EvEmitter.prototype );
|
6565 |
+
proto.constructor = Item;
|
6566 |
+
|
6567 |
+
proto._create = function() {
|
6568 |
+
// transition objects
|
6569 |
+
this._transn = {
|
6570 |
+
ingProperties: {},
|
6571 |
+
clean: {},
|
6572 |
+
onEnd: {}
|
6573 |
+
};
|
6574 |
+
|
6575 |
+
this.css({
|
6576 |
+
position: 'absolute'
|
6577 |
+
});
|
6578 |
+
};
|
6579 |
+
|
6580 |
+
// trigger specified handler for event type
|
6581 |
+
proto.handleEvent = function( event ) {
|
6582 |
+
var method = 'on' + event.type;
|
6583 |
+
if ( this[ method ] ) {
|
6584 |
+
this[ method ]( event );
|
6585 |
+
}
|
6586 |
+
};
|
6587 |
+
|
6588 |
+
proto.getSize = function() {
|
6589 |
+
this.size = getSize( this.element );
|
6590 |
+
};
|
6591 |
+
|
6592 |
+
/**
|
6593 |
+
* apply CSS styles to element
|
6594 |
+
* @param {Object} style
|
6595 |
+
*/
|
6596 |
+
proto.css = function( style ) {
|
6597 |
+
var elemStyle = this.element.style;
|
6598 |
+
|
6599 |
+
for ( var prop in style ) {
|
6600 |
+
// use vendor property if available
|
6601 |
+
var supportedProp = vendorProperties[ prop ] || prop;
|
6602 |
+
elemStyle[ supportedProp ] = style[ prop ];
|
6603 |
+
}
|
6604 |
+
};
|
6605 |
+
|
6606 |
+
// measure position, and sets it
|
6607 |
+
proto.getPosition = function() {
|
6608 |
+
var style = getComputedStyle( this.element );
|
6609 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
6610 |
+
var isOriginTop = this.layout._getOption('originTop');
|
6611 |
+
var xValue = style[ isOriginLeft ? 'left' : 'right' ];
|
6612 |
+
var yValue = style[ isOriginTop ? 'top' : 'bottom' ];
|
6613 |
+
var x = parseFloat( xValue );
|
6614 |
+
var y = parseFloat( yValue );
|
6615 |
+
// convert percent to pixels
|
6616 |
+
var layoutSize = this.layout.size;
|
6617 |
+
if ( xValue.indexOf('%') != -1 ) {
|
6618 |
+
x = ( x / 100 ) * layoutSize.width;
|
6619 |
+
}
|
6620 |
+
if ( yValue.indexOf('%') != -1 ) {
|
6621 |
+
y = ( y / 100 ) * layoutSize.height;
|
6622 |
+
}
|
6623 |
+
// clean up 'auto' or other non-integer values
|
6624 |
+
x = isNaN( x ) ? 0 : x;
|
6625 |
+
y = isNaN( y ) ? 0 : y;
|
6626 |
+
// remove padding from measurement
|
6627 |
+
x -= isOriginLeft ? layoutSize.paddingLeft : layoutSize.paddingRight;
|
6628 |
+
y -= isOriginTop ? layoutSize.paddingTop : layoutSize.paddingBottom;
|
6629 |
+
|
6630 |
+
this.position.x = x;
|
6631 |
+
this.position.y = y;
|
6632 |
+
};
|
6633 |
+
|
6634 |
+
// set settled position, apply padding
|
6635 |
+
proto.layoutPosition = function() {
|
6636 |
+
var layoutSize = this.layout.size;
|
6637 |
+
var style = {};
|
6638 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
6639 |
+
var isOriginTop = this.layout._getOption('originTop');
|
6640 |
+
|
6641 |
+
// x
|
6642 |
+
var xPadding = isOriginLeft ? 'paddingLeft' : 'paddingRight';
|
6643 |
+
var xProperty = isOriginLeft ? 'left' : 'right';
|
6644 |
+
var xResetProperty = isOriginLeft ? 'right' : 'left';
|
6645 |
+
|
6646 |
+
var x = this.position.x + layoutSize[ xPadding ];
|
6647 |
+
// set in percentage or pixels
|
6648 |
+
style[ xProperty ] = this.getXValue( x );
|
6649 |
+
// reset other property
|
6650 |
+
style[ xResetProperty ] = '';
|
6651 |
+
|
6652 |
+
// y
|
6653 |
+
var yPadding = isOriginTop ? 'paddingTop' : 'paddingBottom';
|
6654 |
+
var yProperty = isOriginTop ? 'top' : 'bottom';
|
6655 |
+
var yResetProperty = isOriginTop ? 'bottom' : 'top';
|
6656 |
+
|
6657 |
+
var y = this.position.y + layoutSize[ yPadding ];
|
6658 |
+
// set in percentage or pixels
|
6659 |
+
style[ yProperty ] = this.getYValue( y );
|
6660 |
+
// reset other property
|
6661 |
+
style[ yResetProperty ] = '';
|
6662 |
+
|
6663 |
+
this.css( style );
|
6664 |
+
this.emitEvent( 'layout', [ this ] );
|
6665 |
+
};
|
6666 |
+
|
6667 |
+
proto.getXValue = function( x ) {
|
6668 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
6669 |
+
return this.layout.options.percentPosition && !isHorizontal ?
|
6670 |
+
( ( x / this.layout.size.width ) * 100 ) + '%' : x + 'px';
|
6671 |
+
};
|
6672 |
+
|
6673 |
+
proto.getYValue = function( y ) {
|
6674 |
+
var isHorizontal = this.layout._getOption('horizontal');
|
6675 |
+
return this.layout.options.percentPosition && isHorizontal ?
|
6676 |
+
( ( y / this.layout.size.height ) * 100 ) + '%' : y + 'px';
|
6677 |
+
};
|
6678 |
+
|
6679 |
+
proto._transitionTo = function( x, y ) {
|
6680 |
+
this.getPosition();
|
6681 |
+
// get current x & y from top/left
|
6682 |
+
var curX = this.position.x;
|
6683 |
+
var curY = this.position.y;
|
6684 |
+
|
6685 |
+
var didNotMove = x == this.position.x && y == this.position.y;
|
6686 |
+
|
6687 |
+
// save end position
|
6688 |
+
this.setPosition( x, y );
|
6689 |
+
|
6690 |
+
// if did not move and not transitioning, just go to layout
|
6691 |
+
if ( didNotMove && !this.isTransitioning ) {
|
6692 |
+
this.layoutPosition();
|
6693 |
+
return;
|
6694 |
+
}
|
6695 |
+
|
6696 |
+
var transX = x - curX;
|
6697 |
+
var transY = y - curY;
|
6698 |
+
var transitionStyle = {};
|
6699 |
+
transitionStyle.transform = this.getTranslate( transX, transY );
|
6700 |
+
|
6701 |
+
this.transition({
|
6702 |
+
to: transitionStyle,
|
6703 |
+
onTransitionEnd: {
|
6704 |
+
transform: this.layoutPosition
|
6705 |
+
},
|
6706 |
+
isCleaning: true
|
6707 |
+
});
|
6708 |
+
};
|
6709 |
+
|
6710 |
+
proto.getTranslate = function( x, y ) {
|
6711 |
+
// flip cooridinates if origin on right or bottom
|
6712 |
+
var isOriginLeft = this.layout._getOption('originLeft');
|
6713 |
+
var isOriginTop = this.layout._getOption('originTop');
|
6714 |
+
x = isOriginLeft ? x : -x;
|
6715 |
+
y = isOriginTop ? y : -y;
|
6716 |
+
return 'translate3d(' + x + 'px, ' + y + 'px, 0)';
|
6717 |
+
};
|
6718 |
+
|
6719 |
+
// non transition + transform support
|
6720 |
+
proto.goTo = function( x, y ) {
|
6721 |
+
this.setPosition( x, y );
|
6722 |
+
this.layoutPosition();
|
6723 |
+
};
|
6724 |
+
|
6725 |
+
proto.moveTo = proto._transitionTo;
|
6726 |
+
|
6727 |
+
proto.setPosition = function( x, y ) {
|
6728 |
+
this.position.x = parseFloat( x );
|
6729 |
+
this.position.y = parseFloat( y );
|
6730 |
+
};
|
6731 |
+
|
6732 |
+
// ----- transition ----- //
|
6733 |
+
|
6734 |
+
/**
|
6735 |
+
* @param {Object} style - CSS
|
6736 |
+
* @param {Function} onTransitionEnd
|
6737 |
+
*/
|
6738 |
+
|
6739 |
+
// non transition, just trigger callback
|
6740 |
+
proto._nonTransition = function( args ) {
|
6741 |
+
this.css( args.to );
|
6742 |
+
if ( args.isCleaning ) {
|
6743 |
+
this._removeStyles( args.to );
|
6744 |
+
}
|
6745 |
+
for ( var prop in args.onTransitionEnd ) {
|
6746 |
+
args.onTransitionEnd[ prop ].call( this );
|
6747 |
+
}
|
6748 |
+
};
|
6749 |
+
|
6750 |
+
/**
|
6751 |
+
* proper transition
|
6752 |
+
* @param {Object} args - arguments
|
6753 |
+
* @param {Object} to - style to transition to
|
6754 |
+
* @param {Object} from - style to start transition from
|
6755 |
+
* @param {Boolean} isCleaning - removes transition styles after transition
|
6756 |
+
* @param {Function} onTransitionEnd - callback
|
6757 |
+
*/
|
6758 |
+
proto.transition = function( args ) {
|
6759 |
+
// redirect to nonTransition if no transition duration
|
6760 |
+
if ( !parseFloat( this.layout.options.transitionDuration ) ) {
|
6761 |
+
this._nonTransition( args );
|
6762 |
+
return;
|
6763 |
+
}
|
6764 |
+
|
6765 |
+
var _transition = this._transn;
|
6766 |
+
// keep track of onTransitionEnd callback by css property
|
6767 |
+
for ( var prop in args.onTransitionEnd ) {
|
6768 |
+
_transition.onEnd[ prop ] = args.onTransitionEnd[ prop ];
|
6769 |
+
}
|
6770 |
+
// keep track of properties that are transitioning
|
6771 |
+
for ( prop in args.to ) {
|
6772 |
+
_transition.ingProperties[ prop ] = true;
|
6773 |
+
// keep track of properties to clean up when transition is done
|
6774 |
+
if ( args.isCleaning ) {
|
6775 |
+
_transition.clean[ prop ] = true;
|
6776 |
+
}
|
6777 |
+
}
|
6778 |
+
|
6779 |
+
// set from styles
|
6780 |
+
if ( args.from ) {
|
6781 |
+
this.css( args.from );
|
6782 |
+
// force redraw. http://blog.alexmaccaw.com/css-transitions
|
6783 |
+
var h = this.element.offsetHeight;
|
6784 |
+
// hack for JSHint to hush about unused var
|
6785 |
+
h = null;
|
6786 |
+
}
|
6787 |
+
// enable transition
|
6788 |
+
this.enableTransition( args.to );
|
6789 |
+
// set styles that are transitioning
|
6790 |
+
this.css( args.to );
|
6791 |
+
|
6792 |
+
this.isTransitioning = true;
|
6793 |
+
|
6794 |
+
};
|
6795 |
+
|
6796 |
+
// dash before all cap letters, including first for
|
6797 |
+
// WebkitTransform => -webkit-transform
|
6798 |
+
function toDashedAll( str ) {
|
6799 |
+
return str.replace( /([A-Z])/g, function( $1 ) {
|
6800 |
+
return '-' + $1.toLowerCase();
|
6801 |
+
});
|
6802 |
+
}
|
6803 |
+
|
6804 |
+
var transitionProps = 'opacity,' + toDashedAll( transformProperty );
|
6805 |
+
|
6806 |
+
proto.enableTransition = function(/* style */) {
|
6807 |
+
// HACK changing transitionProperty during a transition
|
6808 |
+
// will cause transition to jump
|
6809 |
+
if ( this.isTransitioning ) {
|
6810 |
+
return;
|
6811 |
+
}
|
6812 |
+
|
6813 |
+
// make `transition: foo, bar, baz` from style object
|
6814 |
+
// HACK un-comment this when enableTransition can work
|
6815 |
+
// while a transition is happening
|
6816 |
+
// var transitionValues = [];
|
6817 |
+
// for ( var prop in style ) {
|
6818 |
+
// // dash-ify camelCased properties like WebkitTransition
|
6819 |
+
// prop = vendorProperties[ prop ] || prop;
|
6820 |
+
// transitionValues.push( toDashedAll( prop ) );
|
6821 |
+
// }
|
6822 |
+
// munge number to millisecond, to match stagger
|
6823 |
+
var duration = this.layout.options.transitionDuration;
|
6824 |
+
duration = typeof duration == 'number' ? duration + 'ms' : duration;
|
6825 |
+
// enable transition styles
|
6826 |
+
this.css({
|
6827 |
+
transitionProperty: transitionProps,
|
6828 |
+
transitionDuration: duration,
|
6829 |
+
transitionDelay: this.staggerDelay || 0
|
6830 |
+
});
|
6831 |
+
// listen for transition end event
|
6832 |
+
this.element.addEventListener( transitionEndEvent, this, false );
|
6833 |
+
};
|
6834 |
+
|
6835 |
+
// ----- events ----- //
|
6836 |
+
|
6837 |
+
proto.onwebkitTransitionEnd = function( event ) {
|
6838 |
+
this.ontransitionend( event );
|
6839 |
+
};
|
6840 |
+
|
6841 |
+
proto.onotransitionend = function( event ) {
|
6842 |
+
this.ontransitionend( event );
|
6843 |
+
};
|
6844 |
+
|
6845 |
+
// properties that I munge to make my life easier
|
6846 |
+
var dashedVendorProperties = {
|
6847 |
+
'-webkit-transform': 'transform'
|
6848 |
+
};
|
6849 |
+
|
6850 |
+
proto.ontransitionend = function( event ) {
|
6851 |
+
// disregard bubbled events from children
|
6852 |
+
if ( event.target !== this.element ) {
|
6853 |
+
return;
|
6854 |
+
}
|
6855 |
+
var _transition = this._transn;
|
6856 |
+
// get property name of transitioned property, convert to prefix-free
|
6857 |
+
var propertyName = dashedVendorProperties[ event.propertyName ] || event.propertyName;
|
6858 |
+
|
6859 |
+
// remove property that has completed transitioning
|
6860 |
+
delete _transition.ingProperties[ propertyName ];
|
6861 |
+
// check if any properties are still transitioning
|
6862 |
+
if ( isEmptyObj( _transition.ingProperties ) ) {
|
6863 |
+
// all properties have completed transitioning
|
6864 |
+
this.disableTransition();
|
6865 |
+
}
|
6866 |
+
// clean style
|
6867 |
+
if ( propertyName in _transition.clean ) {
|
6868 |
+
// clean up style
|
6869 |
+
this.element.style[ event.propertyName ] = '';
|
6870 |
+
delete _transition.clean[ propertyName ];
|
6871 |
+
}
|
6872 |
+
// trigger onTransitionEnd callback
|
6873 |
+
if ( propertyName in _transition.onEnd ) {
|
6874 |
+
var onTransitionEnd = _transition.onEnd[ propertyName ];
|
6875 |
+
onTransitionEnd.call( this );
|
6876 |
+
delete _transition.onEnd[ propertyName ];
|
6877 |
+
}
|
6878 |
+
|
6879 |
+
this.emitEvent( 'transitionEnd', [ this ] );
|
6880 |
+
};
|
6881 |
+
|
6882 |
+
proto.disableTransition = function() {
|
6883 |
+
this.removeTransitionStyles();
|
6884 |
+
this.element.removeEventListener( transitionEndEvent, this, false );
|
6885 |
+
this.isTransitioning = false;
|
6886 |
+
};
|
6887 |
+
|
6888 |
+
/**
|
6889 |
+
* removes style property from element
|
6890 |
+
* @param {Object} style
|
6891 |
+
**/
|
6892 |
+
proto._removeStyles = function( style ) {
|
6893 |
+
// clean up transition styles
|
6894 |
+
var cleanStyle = {};
|
6895 |
+
for ( var prop in style ) {
|
6896 |
+
cleanStyle[ prop ] = '';
|
6897 |
+
}
|
6898 |
+
this.css( cleanStyle );
|
6899 |
+
};
|
6900 |
+
|
6901 |
+
var cleanTransitionStyle = {
|
6902 |
+
transitionProperty: '',
|
6903 |
+
transitionDuration: '',
|
6904 |
+
transitionDelay: ''
|
6905 |
+
};
|
6906 |
+
|
6907 |
+
proto.removeTransitionStyles = function() {
|
6908 |
+
// remove transition
|
6909 |
+
this.css( cleanTransitionStyle );
|
6910 |
+
};
|
6911 |
+
|
6912 |
+
// ----- stagger ----- //
|
6913 |
+
|
6914 |
+
proto.stagger = function( delay ) {
|
6915 |
+
delay = isNaN( delay ) ? 0 : delay;
|
6916 |
+
this.staggerDelay = delay + 'ms';
|
6917 |
+
};
|
6918 |
+
|
6919 |
+
// ----- show/hide/remove ----- //
|
6920 |
+
|
6921 |
+
// remove element from DOM
|
6922 |
+
proto.removeElem = function() {
|
6923 |
+
this.element.parentNode.removeChild( this.element );
|
6924 |
+
// remove display: none
|
6925 |
+
this.css({ display: '' });
|
6926 |
+
this.emitEvent( 'remove', [ this ] );
|
6927 |
+
};
|
6928 |
+
|
6929 |
+
proto.remove = function() {
|
6930 |
+
// just remove element if no transition support or no transition
|
6931 |
+
if ( !transitionProperty || !parseFloat( this.layout.options.transitionDuration ) ) {
|
6932 |
+
this.removeElem();
|
6933 |
+
return;
|
6934 |
+
}
|
6935 |
+
|
6936 |
+
// start transition
|
6937 |
+
this.once( 'transitionEnd', function() {
|
6938 |
+
this.removeElem();
|
6939 |
+
});
|
6940 |
+
this.hide();
|
6941 |
+
};
|
6942 |
+
|
6943 |
+
proto.reveal = function() {
|
6944 |
+
delete this.isHidden;
|
6945 |
+
// remove display: none
|
6946 |
+
this.css({ display: '' });
|
6947 |
+
|
6948 |
+
var options = this.layout.options;
|
6949 |
+
|
6950 |
+
var onTransitionEnd = {};
|
6951 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('visibleStyle');
|
6952 |
+
onTransitionEnd[ transitionEndProperty ] = this.onRevealTransitionEnd;
|
6953 |
+
|
6954 |
+
this.transition({
|
6955 |
+
from: options.hiddenStyle,
|
6956 |
+
to: options.visibleStyle,
|
6957 |
+
isCleaning: true,
|
6958 |
+
onTransitionEnd: onTransitionEnd
|
6959 |
+
});
|
6960 |
+
};
|
6961 |
+
|
6962 |
+
proto.onRevealTransitionEnd = function() {
|
6963 |
+
// check if still visible
|
6964 |
+
// during transition, item may have been hidden
|
6965 |
+
if ( !this.isHidden ) {
|
6966 |
+
this.emitEvent('reveal');
|
6967 |
+
}
|
6968 |
+
};
|
6969 |
+
|
6970 |
+
/**
|
6971 |
+
* get style property use for hide/reveal transition end
|
6972 |
+
* @param {String} styleProperty - hiddenStyle/visibleStyle
|
6973 |
+
* @returns {String}
|
6974 |
+
*/
|
6975 |
+
proto.getHideRevealTransitionEndProperty = function( styleProperty ) {
|
6976 |
+
var optionStyle = this.layout.options[ styleProperty ];
|
6977 |
+
// use opacity
|
6978 |
+
if ( optionStyle.opacity ) {
|
6979 |
+
return 'opacity';
|
6980 |
+
}
|
6981 |
+
// get first property
|
6982 |
+
for ( var prop in optionStyle ) {
|
6983 |
+
return prop;
|
6984 |
+
}
|
6985 |
+
};
|
6986 |
+
|
6987 |
+
proto.hide = function() {
|
6988 |
+
// set flag
|
6989 |
+
this.isHidden = true;
|
6990 |
+
// remove display: none
|
6991 |
+
this.css({ display: '' });
|
6992 |
+
|
6993 |
+
var options = this.layout.options;
|
6994 |
+
|
6995 |
+
var onTransitionEnd = {};
|
6996 |
+
var transitionEndProperty = this.getHideRevealTransitionEndProperty('hiddenStyle');
|
6997 |
+
onTransitionEnd[ transitionEndProperty ] = this.onHideTransitionEnd;
|
6998 |
+
|
6999 |
+
this.transition({
|
7000 |
+
from: options.visibleStyle,
|
7001 |
+
to: options.hiddenStyle,
|
7002 |
+
// keep hidden stuff hidden
|
7003 |
+
isCleaning: true,
|
7004 |
+
onTransitionEnd: onTransitionEnd
|
7005 |
+
});
|
7006 |
+
};
|
7007 |
+
|
7008 |
+
proto.onHideTransitionEnd = function() {
|
7009 |
+
// check if still hidden
|
7010 |
+
// during transition, item may have been un-hidden
|
7011 |
+
if ( this.isHidden ) {
|
7012 |
+
this.css({ display: 'none' });
|
7013 |
+
this.emitEvent('hide');
|
7014 |
+
}
|
7015 |
+
};
|
7016 |
+
|
7017 |
+
proto.destroy = function() {
|
7018 |
+
this.css({
|
7019 |
+
position: '',
|
7020 |
+
left: '',
|
7021 |
+
right: '',
|
7022 |
+
top: '',
|
7023 |
+
bottom: '',
|
7024 |
+
transition: '',
|
7025 |
+
transform: ''
|
7026 |
+
});
|
7027 |
+
};
|
7028 |
+
|
7029 |
+
return Item;
|
7030 |
+
|
7031 |
+
}));
|
7032 |
+
|
7033 |
+
|
7034 |
+
/***/ }),
|
7035 |
+
|
7036 |
+
/***/ "./node_modules/outlayer/outlayer.js":
|
7037 |
+
/*!*******************************************!*\
|
7038 |
+
!*** ./node_modules/outlayer/outlayer.js ***!
|
7039 |
+
\*******************************************/
|
7040 |
+
/*! no static exports found */
|
7041 |
+
/***/ (function(module, exports, __webpack_require__) {
|
7042 |
+
|
7043 |
+
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
|
7044 |
+
* Outlayer v2.1.1
|
7045 |
+
* the brains and guts of a layout library
|
7046 |
+
* MIT license
|
7047 |
+
*/
|
7048 |
+
|
7049 |
+
( function( window, factory ) {
|
7050 |
+
'use strict';
|
7051 |
+
// universal module definition
|
7052 |
+
/* jshint strict: false */ /* globals define, module, require */
|
7053 |
+
if ( true ) {
|
7054 |
+
// AMD - RequireJS
|
7055 |
+
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [
|
7056 |
+
__webpack_require__(/*! ev-emitter/ev-emitter */ "./node_modules/ev-emitter/ev-emitter.js"),
|
7057 |
+
__webpack_require__(/*! get-size/get-size */ "./node_modules/get-size/get-size.js"),
|
7058 |
+
__webpack_require__(/*! fizzy-ui-utils/utils */ "./node_modules/fizzy-ui-utils/utils.js"),
|
7059 |
+
__webpack_require__(/*! ./item */ "./node_modules/outlayer/item.js")
|
7060 |
+
], __WEBPACK_AMD_DEFINE_RESULT__ = (function( EvEmitter, getSize, utils, Item ) {
|
7061 |
+
return factory( window, EvEmitter, getSize, utils, Item);
|
7062 |
+
}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
|
7063 |
+
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
|
7064 |
+
} else {}
|
7065 |
+
|
7066 |
+
}( window, function factory( window, EvEmitter, getSize, utils, Item ) {
|
7067 |
+
'use strict';
|
7068 |
+
|
7069 |
+
// ----- vars ----- //
|
7070 |
+
|
7071 |
+
var console = window.console;
|
7072 |
+
var jQuery = window.jQuery;
|
7073 |
+
var noop = function() {};
|
7074 |
+
|
7075 |
+
// -------------------------- Outlayer -------------------------- //
|
7076 |
+
|
7077 |
+
// globally unique identifiers
|
7078 |
+
var GUID = 0;
|
7079 |
+
// internal store of all Outlayer intances
|
7080 |
+
var instances = {};
|
7081 |
+
|
7082 |
+
|
7083 |
+
/**
|
7084 |
+
* @param {Element, String} element
|
7085 |
+
* @param {Object} options
|
7086 |
+
* @constructor
|
7087 |
+
*/
|
7088 |
+
function Outlayer( element, options ) {
|
7089 |
+
var queryElement = utils.getQueryElement( element );
|
7090 |
+
if ( !queryElement ) {
|
7091 |
+
if ( console ) {
|
7092 |
+
console.error( 'Bad element for ' + this.constructor.namespace +
|
7093 |
+
': ' + ( queryElement || element ) );
|
7094 |
+
}
|
7095 |
+
return;
|
7096 |
+
}
|
7097 |
+
this.element = queryElement;
|
7098 |
+
// add jQuery
|
7099 |
+
if ( jQuery ) {
|
7100 |
+
this.$element = jQuery( this.element );
|
7101 |
+
}
|
7102 |
+
|
7103 |
+
// options
|
7104 |
+
this.options = utils.extend( {}, this.constructor.defaults );
|
7105 |
+
this.option( options );
|
7106 |
+
|
7107 |
+
// add id for Outlayer.getFromElement
|
7108 |
+
var id = ++GUID;
|
7109 |
+
this.element.outlayerGUID = id; // expando
|
7110 |
+
instances[ id ] = this; // associate via id
|
7111 |
+
|
7112 |
+
// kick it off
|
7113 |
+
this._create();
|
7114 |
+
|
7115 |
+
var isInitLayout = this._getOption('initLayout');
|
7116 |
+
if ( isInitLayout ) {
|
7117 |
+
this.layout();
|
7118 |
+
}
|
7119 |
+
}
|
7120 |
+
|
7121 |
+
// settings are for internal use only
|
7122 |
+
Outlayer.namespace = 'outlayer';
|
7123 |
+
Outlayer.Item = Item;
|
7124 |
+
|
7125 |
+
// default options
|
7126 |
+
Outlayer.defaults = {
|
7127 |
+
containerStyle: {
|
7128 |
+
position: 'relative'
|
7129 |
+
},
|
7130 |
+
initLayout: true,
|
7131 |
+
originLeft: true,
|
7132 |
+
originTop: true,
|
7133 |
+
resize: true,
|
7134 |
+
resizeContainer: true,
|
7135 |
+
// item options
|
7136 |
+
transitionDuration: '0.4s',
|
7137 |
+
hiddenStyle: {
|
7138 |
+
opacity: 0,
|
7139 |
+
transform: 'scale(0.001)'
|
7140 |
+
},
|
7141 |
+
visibleStyle: {
|
7142 |
+
opacity: 1,
|
7143 |
+
transform: 'scale(1)'
|
7144 |
+
}
|
7145 |
+
};
|
7146 |
+
|
7147 |
+
var proto = Outlayer.prototype;
|
7148 |
+
// inherit EvEmitter
|
7149 |
+
utils.extend( proto, EvEmitter.prototype );
|
7150 |
+
|
7151 |
+
/**
|
7152 |
+
* set options
|
7153 |
+
* @param {Object} opts
|
7154 |
+
*/
|
7155 |
+
proto.option = function( opts ) {
|
7156 |
+
utils.extend( this.options, opts );
|
7157 |
+
};
|
7158 |
+
|
7159 |
+
/**
|
7160 |
+
* get backwards compatible option value, check old name
|
7161 |
+
*/
|
7162 |
+
proto._getOption = function( option ) {
|
7163 |
+
var oldOption = this.constructor.compatOptions[ option ];
|
7164 |
+
return oldOption && this.options[ oldOption ] !== undefined ?
|
7165 |
+
this.options[ oldOption ] : this.options[ option ];
|
7166 |
+
};
|
7167 |
+
|
7168 |
+
Outlayer.compatOptions = {
|
7169 |
+
// currentName: oldName
|
7170 |
+
initLayout: 'isInitLayout',
|
7171 |
+
horizontal: 'isHorizontal',
|
7172 |
+
layoutInstant: 'isLayoutInstant',
|
7173 |
+
originLeft: 'isOriginLeft',
|
7174 |
+
originTop: 'isOriginTop',
|
7175 |
+
resize: 'isResizeBound',
|
7176 |
+
resizeContainer: 'isResizingContainer'
|
7177 |
+
};
|
7178 |
+
|
7179 |
+
proto._create = function() {
|
7180 |
+
// get items from children
|
7181 |
+
this.reloadItems();
|
7182 |
+
// elements that affect layout, but are not laid out
|
7183 |
+
this.stamps = [];
|
7184 |
+
this.stamp( this.options.stamp );
|
7185 |
+
// set container style
|
7186 |
+
utils.extend( this.element.style, this.options.containerStyle );
|
7187 |
+
|
7188 |
+
// bind resize method
|
7189 |
+
var canBindResize = this._getOption('resize');
|
7190 |
+
if ( canBindResize ) {
|
7191 |
+
this.bindResize();
|
7192 |
+
}
|
7193 |
+
};
|
7194 |
+
|
7195 |
+
// goes through all children again and gets bricks in proper order
|
7196 |
+
proto.reloadItems = function() {
|
7197 |
+
// collection of item elements
|
7198 |
+
this.items = this._itemize( this.element.children );
|
7199 |
+
};
|
7200 |
+
|
7201 |
+
|
7202 |
+
/**
|
7203 |
+
* turn elements into Outlayer.Items to be used in layout
|
7204 |
+
* @param {Array or NodeList or HTMLElement} elems
|
7205 |
+
* @returns {Array} items - collection of new Outlayer Items
|
7206 |
+
*/
|
7207 |
+
proto._itemize = function( elems ) {
|
7208 |
+
|
7209 |
+
var itemElems = this._filterFindItemElements( elems );
|
7210 |
+
var Item = this.constructor.Item;
|
7211 |
+
|
7212 |
+
// create new Outlayer Items for collection
|
7213 |
+
var items = [];
|
7214 |
+
for ( var i=0; i < itemElems.length; i++ ) {
|
7215 |
+
var elem = itemElems[i];
|
7216 |
+
var item = new Item( elem, this );
|
7217 |
+
items.push( item );
|
7218 |
+
}
|
7219 |
+
|
7220 |
+
return items;
|
7221 |
+
};
|
7222 |
+
|
7223 |
+
/**
|
7224 |
+
* get item elements to be used in layout
|
7225 |
+
* @param {Array or NodeList or HTMLElement} elems
|
7226 |
+
* @returns {Array} items - item elements
|
7227 |
+
*/
|
7228 |
+
proto._filterFindItemElements = function( elems ) {
|
7229 |
+
return utils.filterFindElements( elems, this.options.itemSelector );
|
7230 |
+
};
|
7231 |
+
|
7232 |
+
/**
|
7233 |
+
* getter method for getting item elements
|
7234 |
+
* @returns {Array} elems - collection of item elements
|
7235 |
+
*/
|
7236 |
+
proto.getItemElements = function() {
|
7237 |
+
return this.items.map( function( item ) {
|
7238 |
+
return item.element;
|
7239 |
+
});
|
7240 |
+
};
|
7241 |
+
|
7242 |
+
// ----- init & layout ----- //
|
7243 |
+
|
7244 |
+
/**
|
7245 |
+
* lays out all items
|
7246 |
+
*/
|
7247 |
+
proto.layout = function() {
|
7248 |
+
this._resetLayout();
|
7249 |
+
this._manageStamps();
|
7250 |
+
|
7251 |
+
// don't animate first layout
|
7252 |
+
var layoutInstant = this._getOption('layoutInstant');
|
7253 |
+
var isInstant = layoutInstant !== undefined ?
|
7254 |
+
layoutInstant : !this._isLayoutInited;
|
7255 |
+
this.layoutItems( this.items, isInstant );
|
7256 |
+
|
7257 |
+
// flag for initalized
|
7258 |
+
this._isLayoutInited = true;
|
7259 |
+
};
|
7260 |
+
|
7261 |
+
// _init is alias for layout
|
7262 |
+
proto._init = proto.layout;
|
7263 |
+
|
7264 |
+
/**
|
7265 |
+
* logic before any new layout
|
7266 |
+
*/
|
7267 |
+
proto._resetLayout = function() {
|
7268 |
+
this.getSize();
|
7269 |
+
};
|
7270 |
+
|
7271 |
+
|
7272 |
+
proto.getSize = function() {
|
7273 |
+
this.size = getSize( this.element );
|
7274 |
+
};
|
7275 |
+
|
7276 |
+
/**
|
7277 |
+
* get measurement from option, for columnWidth, rowHeight, gutter
|
7278 |
+
* if option is String -> get element from selector string, & get size of element
|
7279 |
+
* if option is Element -> get size of element
|
7280 |
+
* else use option as a number
|
7281 |
+
*
|
7282 |
+
* @param {String} measurement
|
7283 |
+
* @param {String} size - width or height
|
7284 |
+
* @private
|
7285 |
+
*/
|
7286 |
+
proto._getMeasurement = function( measurement, size ) {
|
7287 |
+
var option = this.options[ measurement ];
|
7288 |
+
var elem;
|
7289 |
+
if ( !option ) {
|
7290 |
+
// default to 0
|
7291 |
+
this[ measurement ] = 0;
|
7292 |
+
} else {
|
7293 |
+
// use option as an element
|
7294 |
+
if ( typeof option == 'string' ) {
|
7295 |
+
elem = this.element.querySelector( option );
|
7296 |
+
} else if ( option instanceof HTMLElement ) {
|
7297 |
+
elem = option;
|
7298 |
+
}
|
7299 |
+
// use size of element, if element
|
7300 |
+
this[ measurement ] = elem ? getSize( elem )[ size ] : option;
|
7301 |
+
}
|
7302 |
+
};
|
7303 |
+
|
7304 |
+
/**
|
7305 |
+
* layout a collection of item elements
|
7306 |
+
* @api public
|
7307 |
+
*/
|
7308 |
+
proto.layoutItems = function( items, isInstant ) {
|
7309 |
+
items = this._getItemsForLayout( items );
|
7310 |
+
|
7311 |
+
this._layoutItems( items, isInstant );
|
7312 |
+
|
7313 |
+
this._postLayout();
|
7314 |
+
};
|
7315 |
+
|
7316 |
+
/**
|
7317 |
+
* get the items to be laid out
|
7318 |
+
* you may want to skip over some items
|
7319 |
+
* @param {Array} items
|
7320 |
+
* @returns {Array} items
|
7321 |
+
*/
|
7322 |
+
proto._getItemsForLayout = function( items ) {
|
7323 |
+
return items.filter( function( item ) {
|
7324 |
+
return !item.isIgnored;
|
7325 |
+
});
|
7326 |
+
};
|
7327 |
+
|
7328 |
+
/**
|
7329 |
+
* layout items
|
7330 |
+
* @param {Array} items
|
7331 |
+
* @param {Boolean} isInstant
|
7332 |
+
*/
|
7333 |
+
proto._layoutItems = function( items, isInstant ) {
|
7334 |
+
this._emitCompleteOnItems( 'layout', items );
|
7335 |
+
|
7336 |
+
if ( !items || !items.length ) {
|
7337 |
+
// no items, emit event with empty array
|
7338 |
+
return;
|
7339 |
+
}
|
7340 |
+
|
7341 |
+
var queue = [];
|
7342 |
+
|
7343 |
+
items.forEach( function( item ) {
|
7344 |
+
// get x/y object from method
|
7345 |
+
var position = this._getItemLayoutPosition( item );
|
7346 |
+
// enqueue
|
7347 |
+
position.item = item;
|
7348 |
+
position.isInstant = isInstant || item.isLayoutInstant;
|
7349 |
+
queue.push( position );
|
7350 |
+
}, this );
|
7351 |
+
|
7352 |
+
this._processLayoutQueue( queue );
|
7353 |
+
};
|
7354 |
+
|
7355 |
+
/**
|
7356 |
+
* get item layout position
|
7357 |
+
* @param {Outlayer.Item} item
|
7358 |
+
* @returns {Object} x and y position
|
7359 |
+
*/
|
7360 |
+
proto._getItemLayoutPosition = function( /* item */ ) {
|
7361 |
+
return {
|
7362 |
+
x: 0,
|
7363 |
+
y: 0
|
7364 |
+
};
|
7365 |
+
};
|
7366 |
+
|
7367 |
+
/**
|
7368 |
+
* iterate over array and position each item
|
7369 |
+
* Reason being - separating this logic prevents 'layout invalidation'
|
7370 |
+
* thx @paul_irish
|
7371 |
+
* @param {Array} queue
|
7372 |
+
*/
|
7373 |
+
proto._processLayoutQueue = function( queue ) {
|
7374 |
+
this.updateStagger();
|
7375 |
+
queue.forEach( function( obj, i ) {
|
7376 |
+
this._positionItem( obj.item, obj.x, obj.y, obj.isInstant, i );
|
7377 |
+
}, this );
|
7378 |
+
};
|
7379 |
+
|
7380 |
+
// set stagger from option in milliseconds number
|
7381 |
+
proto.updateStagger = function() {
|
7382 |
+
var stagger = this.options.stagger;
|
7383 |
+
if ( stagger === null || stagger === undefined ) {
|
7384 |
+
this.stagger = 0;
|
7385 |
+
return;
|
7386 |
+
}
|
7387 |
+
this.stagger = getMilliseconds( stagger );
|
7388 |
+
return this.stagger;
|
7389 |
+
};
|
7390 |
+
|
7391 |
+
/**
|
7392 |
+
* Sets position of item in DOM
|
7393 |
+
* @param {Outlayer.Item} item
|
7394 |
+
* @param {Number} x - horizontal position
|
7395 |
+
* @param {Number} y - vertical position
|
7396 |
+
* @param {Boolean} isInstant - disables transitions
|
7397 |
+
*/
|
7398 |
+
proto._positionItem = function( item, x, y, isInstant, i ) {
|
7399 |
+
if ( isInstant ) {
|
7400 |
+
// if not transition, just set CSS
|
7401 |
+
item.goTo( x, y );
|
7402 |
+
} else {
|
7403 |
+
item.stagger( i * this.stagger );
|
7404 |
+
item.moveTo( x, y );
|
7405 |
+
}
|
7406 |
+
};
|
7407 |
+
|
7408 |
+
/**
|
7409 |
+
* Any logic you want to do after each layout,
|
7410 |
+
* i.e. size the container
|
7411 |
+
*/
|
7412 |
+
proto._postLayout = function() {
|
7413 |
+
this.resizeContainer();
|
7414 |
+
};
|
7415 |
+
|
7416 |
+
proto.resizeContainer = function() {
|
7417 |
+
var isResizingContainer = this._getOption('resizeContainer');
|
7418 |
+
if ( !isResizingContainer ) {
|
7419 |
+
return;
|
7420 |
+
}
|
7421 |
+
var size = this._getContainerSize();
|
7422 |
+
if ( size ) {
|
7423 |
+
this._setContainerMeasure( size.width, true );
|
7424 |
+
this._setContainerMeasure( size.height, false );
|
7425 |
+
}
|
7426 |
+
};
|
7427 |
+
|
7428 |
+
/**
|
7429 |
+
* Sets width or height of container if returned
|
7430 |
+
* @returns {Object} size
|
7431 |
+
* @param {Number} width
|
7432 |
+
* @param {Number} height
|
7433 |
+
*/
|
7434 |
+
proto._getContainerSize = noop;
|
7435 |
+
|
7436 |
+
/**
|
7437 |
+
* @param {Number} measure - size of width or height
|
7438 |
+
* @param {Boolean} isWidth
|
7439 |
+
*/
|
7440 |
+
proto._setContainerMeasure = function( measure, isWidth ) {
|
7441 |
+
if ( measure === undefined ) {
|
7442 |
+
return;
|
7443 |
+
}
|
7444 |
+
|
7445 |
+
var elemSize = this.size;
|
7446 |
+
// add padding and border width if border box
|
7447 |
+
if ( elemSize.isBorderBox ) {
|
7448 |
+
measure += isWidth ? elemSize.paddingLeft + elemSize.paddingRight +
|
7449 |
+
elemSize.borderLeftWidth + elemSize.borderRightWidth :
|
7450 |
+
elemSize.paddingBottom + elemSize.paddingTop +
|
7451 |
+
elemSize.borderTopWidth + elemSize.borderBottomWidth;
|
7452 |
+
}
|
7453 |
+
|
7454 |
+
measure = Math.max( measure, 0 );
|
7455 |
+
this.element.style[ isWidth ? 'width' : 'height' ] = measure + 'px';
|
7456 |
+
};
|
7457 |
+
|
7458 |
+
/**
|
7459 |
+
* emit eventComplete on a collection of items events
|
7460 |
+
* @param {String} eventName
|
7461 |
+
* @param {Array} items - Outlayer.Items
|
7462 |
+
*/
|
7463 |
+
proto._emitCompleteOnItems = function( eventName, items ) {
|
7464 |
+
var _this = this;
|
7465 |
+
function onComplete() {
|
7466 |
+
_this.dispatchEvent( eventName + 'Complete', null, [ items ] );
|
7467 |
+
}
|
7468 |
+
|
7469 |
+
var count = items.length;
|
7470 |
+
if ( !items || !count ) {
|
7471 |
+
onComplete();
|
7472 |
+
return;
|
7473 |
+
}
|
7474 |
+
|
7475 |
+
var doneCount = 0;
|
7476 |
+
function tick() {
|
7477 |
+
doneCount++;
|
7478 |
+
if ( doneCount == count ) {
|
7479 |
+
onComplete();
|
7480 |
+
}
|
7481 |
+
}
|
7482 |
+
|
7483 |
+
// bind callback
|
7484 |
+
items.forEach( function( item ) {
|
7485 |
+
item.once( eventName, tick );
|
7486 |
+
});
|
7487 |
+
};
|
7488 |
+
|
7489 |
+
/**
|
7490 |
+
* emits events via EvEmitter and jQuery events
|
7491 |
+
* @param {String} type - name of event
|
7492 |
+
* @param {Event} event - original event
|
7493 |
+
* @param {Array} args - extra arguments
|
7494 |
+
*/
|
7495 |
+
proto.dispatchEvent = function( type, event, args ) {
|
7496 |
+
// add original event to arguments
|
7497 |
+
var emitArgs = event ? [ event ].concat( args ) : args;
|
7498 |
+
this.emitEvent( type, emitArgs );
|
7499 |
+
|
7500 |
+
if ( jQuery ) {
|
7501 |
+
// set this.$element
|
7502 |
+
this.$element = this.$element || jQuery( this.element );
|
7503 |
+
if ( event ) {
|
7504 |
+
// create jQuery event
|
7505 |
+
var $event = jQuery.Event( event );
|
7506 |
+
$event.type = type;
|
7507 |
+
this.$element.trigger( $event, args );
|
7508 |
+
} else {
|
7509 |
+
// just trigger with type if no event available
|
7510 |
+
this.$element.trigger( type, args );
|
7511 |
+
}
|
7512 |
+
}
|
7513 |
+
};
|
7514 |
+
|
7515 |
+
// -------------------------- ignore & stamps -------------------------- //
|
7516 |
+
|
7517 |
+
|
7518 |
+
/**
|
7519 |
+
* keep item in collection, but do not lay it out
|
7520 |
+
* ignored items do not get skipped in layout
|
7521 |
+
* @param {Element} elem
|
7522 |
+
*/
|
7523 |
+
proto.ignore = function( elem ) {
|
7524 |
+
var item = this.getItem( elem );
|
7525 |
+
if ( item ) {
|
7526 |
+
item.isIgnored = true;
|
7527 |
+
}
|
7528 |
+
};
|
7529 |
+
|
7530 |
+
/**
|
7531 |
+
* return item to layout collection
|
7532 |
+
* @param {Element} elem
|
7533 |
+
*/
|
7534 |
+
proto.unignore = function( elem ) {
|
7535 |
+
var item = this.getItem( elem );
|
7536 |
+
if ( item ) {
|
7537 |
+
delete item.isIgnored;
|
7538 |
+
}
|
7539 |
+
};
|
7540 |
+
|
7541 |
+
/**
|
7542 |
+
* adds elements to stamps
|
7543 |
+
* @param {NodeList, Array, Element, or String} elems
|
7544 |
+
*/
|
7545 |
+
proto.stamp = function( elems ) {
|
7546 |
+
elems = this._find( elems );
|
7547 |
+
if ( !elems ) {
|
7548 |
+
return;
|
7549 |
+
}
|
7550 |
+
|
7551 |
+
this.stamps = this.stamps.concat( elems );
|
7552 |
+
// ignore
|
7553 |
+
elems.forEach( this.ignore, this );
|
7554 |
+
};
|
7555 |
+
|
7556 |
+
/**
|
7557 |
+
* removes elements to stamps
|
7558 |
+
* @param {NodeList, Array, or Element} elems
|
7559 |
+
*/
|
7560 |
+
proto.unstamp = function( elems ) {
|
7561 |
+
elems = this._find( elems );
|
7562 |
+
if ( !elems ){
|
7563 |
+
return;
|
7564 |
+
}
|
7565 |
+
|
7566 |
+
elems.forEach( function( elem ) {
|
7567 |
+
// filter out removed stamp elements
|
7568 |
+
utils.removeFrom( this.stamps, elem );
|
7569 |
+
this.unignore( elem );
|
7570 |
+
}, this );
|
7571 |
+
};
|
7572 |
+
|
7573 |
+
/**
|
7574 |
+
* finds child elements
|
7575 |
+
* @param {NodeList, Array, Element, or String} elems
|
7576 |
+
* @returns {Array} elems
|
7577 |
+
*/
|
7578 |
+
proto._find = function( elems ) {
|
7579 |
+
if ( !elems ) {
|
7580 |
+
return;
|
7581 |
+
}
|
7582 |
+
// if string, use argument as selector string
|
7583 |
+
if ( typeof elems == 'string' ) {
|
7584 |
+
elems = this.element.querySelectorAll( elems );
|
7585 |
+
}
|
7586 |
+
elems = utils.makeArray( elems );
|
7587 |
+
return elems;
|
7588 |
+
};
|
7589 |
+
|
7590 |
+
proto._manageStamps = function() {
|
7591 |
+
if ( !this.stamps || !this.stamps.length ) {
|
7592 |
+
return;
|
7593 |
+
}
|
7594 |
+
|
7595 |
+
this._getBoundingRect();
|
7596 |
+
|
7597 |
+
this.stamps.forEach( this._manageStamp, this );
|
7598 |
+
};
|
7599 |
+
|
7600 |
+
// update boundingLeft / Top
|
7601 |
+
proto._getBoundingRect = function() {
|
7602 |
+
// get bounding rect for container element
|
7603 |
+
var boundingRect = this.element.getBoundingClientRect();
|
7604 |
+
var size = this.size;
|
7605 |
+
this._boundingRect = {
|
7606 |
+
left: boundingRect.left + size.paddingLeft + size.borderLeftWidth,
|
7607 |
+
top: boundingRect.top + size.paddingTop + size.borderTopWidth,
|
7608 |
+
right: boundingRect.right - ( size.paddingRight + size.borderRightWidth ),
|
7609 |
+
bottom: boundingRect.bottom - ( size.paddingBottom + size.borderBottomWidth )
|
7610 |
+
};
|
7611 |
+
};
|
7612 |
+
|
7613 |
+
/**
|
7614 |
+
* @param {Element} stamp
|
7615 |
+
**/
|
7616 |
+
proto._manageStamp = noop;
|
7617 |
+
|
7618 |
+
/**
|
7619 |
+
* get x/y position of element relative to container element
|
7620 |
+
* @param {Element} elem
|
7621 |
+
* @returns {Object} offset - has left, top, right, bottom
|
7622 |
+
*/
|
7623 |
+
proto._getElementOffset = function( elem ) {
|
7624 |
+
var boundingRect = elem.getBoundingClientRect();
|
7625 |
+
var thisRect = this._boundingRect;
|
7626 |
+
var size = getSize( elem );
|
7627 |
+
var offset = {
|
7628 |
+
left: boundingRect.left - thisRect.left - size.marginLeft,
|
7629 |
+
top: boundingRect.top - thisRect.top - size.marginTop,
|
7630 |
+
right: thisRect.right - boundingRect.right - size.marginRight,
|
7631 |
+
bottom: thisRect.bottom - boundingRect.bottom - size.marginBottom
|
7632 |
+
};
|
7633 |
+
return offset;
|
7634 |
+
};
|
7635 |
+
|
7636 |
+
// -------------------------- resize -------------------------- //
|
7637 |
+
|
7638 |
+
// enable event handlers for listeners
|
7639 |
+
// i.e. resize -> onresize
|
7640 |
+
proto.handleEvent = utils.handleEvent;
|
7641 |
+
|
7642 |
+
/**
|
7643 |
+
* Bind layout to window resizing
|
7644 |
+
*/
|
7645 |
+
proto.bindResize = function() {
|
7646 |
+
window.addEventListener( 'resize', this );
|
7647 |
+
this.isResizeBound = true;
|
7648 |
+
};
|
7649 |
+
|
7650 |
+
/**
|
7651 |
+
* Unbind layout to window resizing
|
7652 |
+
*/
|
7653 |
+
proto.unbindResize = function() {
|
7654 |
+
window.removeEventListener( 'resize', this );
|
7655 |
+
this.isResizeBound = false;
|
7656 |
+
};
|
7657 |
+
|
7658 |
+
proto.onresize = function() {
|
7659 |
+
this.resize();
|
7660 |
+
};
|
7661 |
+
|
7662 |
+
utils.debounceMethod( Outlayer, 'onresize', 100 );
|
7663 |
+
|
7664 |
+
proto.resize = function() {
|
7665 |
+
// don't trigger if size did not change
|
7666 |
+
// or if resize was unbound. See #9
|
7667 |
+
if ( !this.isResizeBound || !this.needsResizeLayout() ) {
|
7668 |
+
return;
|
7669 |
+
}
|
7670 |
+
|
7671 |
+
this.layout();
|
7672 |
+
};
|
7673 |
+
|
7674 |
+
/**
|
7675 |
+
* check if layout is needed post layout
|
7676 |
+
* @returns Boolean
|
7677 |
+
*/
|
7678 |
+
proto.needsResizeLayout = function() {
|
7679 |
+
var size = getSize( this.element );
|
7680 |
+
// check that this.size and size are there
|
7681 |
+
// IE8 triggers resize on body size change, so they might not be
|
7682 |
+
var hasSizes = this.size && size;
|
7683 |
+
return hasSizes && size.innerWidth !== this.size.innerWidth;
|
7684 |
+
};
|
7685 |
+
|
7686 |
+
// -------------------------- methods -------------------------- //
|
7687 |
+
|
7688 |
+
/**
|
7689 |
+
* add items to Outlayer instance
|
7690 |
+
* @param {Array or NodeList or Element} elems
|
7691 |
+
* @returns {Array} items - Outlayer.Items
|
7692 |
+
**/
|
7693 |
+
proto.addItems = function( elems ) {
|
7694 |
+
var items = this._itemize( elems );
|
7695 |
+
// add items to collection
|
7696 |
+
if ( items.length ) {
|
7697 |
+
this.items = this.items.concat( items );
|
7698 |
+
}
|
7699 |
+
return items;
|
7700 |
+
};
|
7701 |
+
|
7702 |
+
/**
|
7703 |
+
* Layout newly-appended item elements
|
7704 |
+
* @param {Array or NodeList or Element} elems
|
7705 |
+
*/
|
7706 |
+
proto.appended = function( elems ) {
|
7707 |
+
var items = this.addItems( elems );
|
7708 |
+
if ( !items.length ) {
|
7709 |
+
return;
|
7710 |
+
}
|
7711 |
+
// layout and reveal just the new items
|
7712 |
+
this.layoutItems( items, true );
|
7713 |
+
this.reveal( items );
|
7714 |
+
};
|
7715 |
+
|
7716 |
+
/**
|
7717 |
+
* Layout prepended elements
|
7718 |
+
* @param {Array or NodeList or Element} elems
|
7719 |
+
*/
|
7720 |
+
proto.prepended = function( elems ) {
|
7721 |
+
var items = this._itemize( elems );
|
7722 |
+
if ( !items.length ) {
|
7723 |
+
return;
|
7724 |
+
}
|
7725 |
+
// add items to beginning of collection
|
7726 |
+
var previousItems = this.items.slice(0);
|
7727 |
+
this.items = items.concat( previousItems );
|
7728 |
+
// start new layout
|
7729 |
+
this._resetLayout();
|
7730 |
+
this._manageStamps();
|
7731 |
+
// layout new stuff without transition
|
7732 |
+
this.layoutItems( items, true );
|
7733 |
+
this.reveal( items );
|
7734 |
+
// layout previous items
|
7735 |
+
this.layoutItems( previousItems );
|
7736 |
+
};
|
7737 |
+
|
7738 |
+
/**
|
7739 |
+
* reveal a collection of items
|
7740 |
+
* @param {Array of Outlayer.Items} items
|
7741 |
+
*/
|
7742 |
+
proto.reveal = function( items ) {
|
7743 |
+
this._emitCompleteOnItems( 'reveal', items );
|
7744 |
+
if ( !items || !items.length ) {
|
7745 |
+
return;
|
7746 |
+
}
|
7747 |
+
var stagger = this.updateStagger();
|
7748 |
+
items.forEach( function( item, i ) {
|
7749 |
+
item.stagger( i * stagger );
|
7750 |
+
item.reveal();
|
7751 |
+
});
|
7752 |
+
};
|
7753 |
+
|
7754 |
+
/**
|
7755 |
+
* hide a collection of items
|
7756 |
+
* @param {Array of Outlayer.Items} items
|
7757 |
+
*/
|
7758 |
+
proto.hide = function( items ) {
|
7759 |
+
this._emitCompleteOnItems( 'hide', items );
|
7760 |
+
if ( !items || !items.length ) {
|
7761 |
+
return;
|
7762 |
+
}
|
7763 |
+
var stagger = this.updateStagger();
|
7764 |
+
items.forEach( function( item, i ) {
|
7765 |
+
item.stagger( i * stagger );
|
7766 |
+
item.hide();
|
7767 |
+
});
|
7768 |
+
};
|
7769 |
+
|
7770 |
+
/**
|
7771 |
+
* reveal item elements
|
7772 |
+
* @param {Array}, {Element}, {NodeList} items
|
7773 |
+
*/
|
7774 |
+
proto.revealItemElements = function( elems ) {
|
7775 |
+
var items = this.getItems( elems );
|
7776 |
+
this.reveal( items );
|
7777 |
+
};
|
7778 |
+
|
7779 |
+
/**
|
7780 |
+
* hide item elements
|
7781 |
+
* @param {Array}, {Element}, {NodeList} items
|
7782 |
+
*/
|
7783 |
+
proto.hideItemElements = function( elems ) {
|
7784 |
+
var items = this.getItems( elems );
|
7785 |
+
this.hide( items );
|
7786 |
+
};
|
7787 |
+
|
7788 |
+
/**
|
7789 |
+
* get Outlayer.Item, given an Element
|
7790 |
+
* @param {Element} elem
|
7791 |
+
* @param {Function} callback
|
7792 |
+
* @returns {Outlayer.Item} item
|
7793 |
+
*/
|
7794 |
+
proto.getItem = function( elem ) {
|
7795 |
+
// loop through items to get the one that matches
|
7796 |
+
for ( var i=0; i < this.items.length; i++ ) {
|
7797 |
+
var item = this.items[i];
|
7798 |
+
if ( item.element == elem ) {
|
7799 |
+
// return item
|
7800 |
+
return item;
|
7801 |
+
}
|
7802 |
+
}
|
7803 |
+
};
|
7804 |
+
|
7805 |
+
/**
|
7806 |
+
* get collection of Outlayer.Items, given Elements
|
7807 |
+
* @param {Array} elems
|
7808 |
+
* @returns {Array} items - Outlayer.Items
|
7809 |
+
*/
|
7810 |
+
proto.getItems = function( elems ) {
|
7811 |
+
elems = utils.makeArray( elems );
|
7812 |
+
var items = [];
|
7813 |
+
elems.forEach( function( elem ) {
|
7814 |
+
var item = this.getItem( elem );
|
7815 |
+
if ( item ) {
|
7816 |
+
items.push( item );
|
7817 |
+
}
|
7818 |
+
}, this );
|
7819 |
+
|
7820 |
+
return items;
|
7821 |
+
};
|
7822 |
+
|
7823 |
+
/**
|
7824 |
+
* remove element(s) from instance and DOM
|
7825 |
+
* @param {Array or NodeList or Element} elems
|
7826 |
+
*/
|
7827 |
+
proto.remove = function( elems ) {
|
7828 |
+
var removeItems = this.getItems( elems );
|
7829 |
+
|
7830 |
+
this._emitCompleteOnItems( 'remove', removeItems );
|
7831 |
+
|
7832 |
+
// bail if no items to remove
|
7833 |
+
if ( !removeItems || !removeItems.length ) {
|
7834 |
+
return;
|
7835 |
+
}
|
7836 |
+
|
7837 |
+
removeItems.forEach( function( item ) {
|
7838 |
+
item.remove();
|
7839 |
+
// remove item from collection
|
7840 |
+
utils.removeFrom( this.items, item );
|
7841 |
+
}, this );
|
7842 |
+
};
|
7843 |
+
|
7844 |
+
// ----- destroy ----- //
|
7845 |
+
|
7846 |
+
// remove and disable Outlayer instance
|
7847 |
+
proto.destroy = function() {
|
7848 |
+
// clean up dynamic styles
|
7849 |
+
var style = this.element.style;
|
7850 |
+
style.height = '';
|
7851 |
+
style.position = '';
|
7852 |
+
style.width = '';
|
7853 |
+
// destroy items
|
7854 |
+
this.items.forEach( function( item ) {
|
7855 |
+
item.destroy();
|
7856 |
+
});
|
7857 |
+
|
7858 |
+
this.unbindResize();
|
7859 |
+
|
7860 |
+
var id = this.element.outlayerGUID;
|
7861 |
+
delete instances[ id ]; // remove reference to instance by id
|
7862 |
+
delete this.element.outlayerGUID;
|
7863 |
+
// remove data for jQuery
|
7864 |
+
if ( jQuery ) {
|
7865 |
+
jQuery.removeData( this.element, this.constructor.namespace );
|
7866 |
+
}
|
7867 |
+
|
7868 |
+
};
|
7869 |
+
|
7870 |
+
// -------------------------- data -------------------------- //
|
7871 |
+
|
7872 |
+
/**
|
7873 |
+
* get Outlayer instance from element
|
7874 |
+
* @param {Element} elem
|
7875 |
+
* @returns {Outlayer}
|
7876 |
+
*/
|
7877 |
+
Outlayer.data = function( elem ) {
|
7878 |
+
elem = utils.getQueryElement( elem );
|
7879 |
+
var id = elem && elem.outlayerGUID;
|
7880 |
+
return id && instances[ id ];
|
7881 |
+
};
|
7882 |
+
|
7883 |
+
|
7884 |
+
// -------------------------- create Outlayer class -------------------------- //
|
7885 |
+
|
7886 |
+
/**
|
7887 |
+
* create a layout class
|
7888 |
+
* @param {String} namespace
|
7889 |
+
*/
|
7890 |
+
Outlayer.create = function( namespace, options ) {
|
7891 |
+
// sub-class Outlayer
|
7892 |
+
var Layout = subclass( Outlayer );
|
7893 |
+
// apply new options and compatOptions
|
7894 |
+
Layout.defaults = utils.extend( {}, Outlayer.defaults );
|
7895 |
+
utils.extend( Layout.defaults, options );
|
7896 |
+
Layout.compatOptions = utils.extend( {}, Outlayer.compatOptions );
|
7897 |
+
|
7898 |
+
Layout.namespace = namespace;
|
7899 |
+
|
7900 |
+
Layout.data = Outlayer.data;
|
7901 |
+
|
7902 |
+
// sub-class Item
|
7903 |
+
Layout.Item = subclass( Item );
|
7904 |
+
|
7905 |
+
// -------------------------- declarative -------------------------- //
|
7906 |
+
|
7907 |
+
utils.htmlInit( Layout, namespace );
|
7908 |
+
|
7909 |
+
// -------------------------- jQuery bridge -------------------------- //
|
7910 |
+
|
7911 |
+
// make into jQuery plugin
|
7912 |
+
if ( jQuery && jQuery.bridget ) {
|
7913 |
+
jQuery.bridget( namespace, Layout );
|
7914 |
+
}
|
7915 |
+
|
7916 |
+
return Layout;
|
7917 |
+
};
|
7918 |
+
|
7919 |
+
function subclass( Parent ) {
|
7920 |
+
function SubClass() {
|
7921 |
+
Parent.apply( this, arguments );
|
7922 |
+
}
|
7923 |
+
|
7924 |
+
SubClass.prototype = Object.create( Parent.prototype );
|
7925 |
+
SubClass.prototype.constructor = SubClass;
|
7926 |
+
|
7927 |
+
return SubClass;
|
7928 |
+
}
|
7929 |
+
|
7930 |
+
// ----- helpers ----- //
|
7931 |
+
|
7932 |
+
// how many milliseconds are in each unit
|
7933 |
+
var msUnits = {
|
7934 |
+
ms: 1,
|
7935 |
+
s: 1000
|
7936 |
+
};
|
7937 |
+
|
7938 |
+
// munge time-like parameter into millisecond number
|
7939 |
+
// '0.4s' -> 40
|
7940 |
+
function getMilliseconds( time ) {
|
7941 |
+
if ( typeof time == 'number' ) {
|
7942 |
+
return time;
|
7943 |
+
}
|
7944 |
+
var matches = time.match( /(^\d*\.?\d*)(\w*)/ );
|
7945 |
+
var num = matches && matches[1];
|
7946 |
+
var unit = matches && matches[2];
|
7947 |
+
if ( !num.length ) {
|
7948 |
+
return 0;
|
7949 |
+
}
|
7950 |
+
num = parseFloat( num );
|
7951 |
+
var mult = msUnits[ unit ] || 1;
|
7952 |
+
return num * mult;
|
7953 |
+
}
|
7954 |
+
|
7955 |
+
// ----- fin ----- //
|
7956 |
+
|
7957 |
+
// back in global
|
7958 |
+
Outlayer.Item = Item;
|
7959 |
+
|
7960 |
+
return Outlayer;
|
7961 |
+
|
7962 |
+
}));
|
7963 |
+
|
7964 |
+
|
7965 |
+
/***/ }),
|
7966 |
+
|
7967 |
+
/***/ "./node_modules/process/browser.js":
|
7968 |
+
/*!*****************************************!*\
|
7969 |
+
!*** ./node_modules/process/browser.js ***!
|
7970 |
+
\*****************************************/
|
7971 |
+
/*! no static exports found */
|
7972 |
+
/***/ (function(module, exports) {
|
7973 |
+
|
7974 |
+
// shim for using process in browser
|
7975 |
+
var process = module.exports = {};
|
7976 |
+
|
7977 |
+
// cached from whatever global is present so that test runners that stub it
|
7978 |
+
// don't break things. But we need to wrap it in a try catch in case it is
|
7979 |
+
// wrapped in strict mode code which doesn't define any globals. It's inside a
|
7980 |
+
// function because try/catches deoptimize in certain engines.
|
7981 |
+
|
7982 |
+
var cachedSetTimeout;
|
7983 |
+
var cachedClearTimeout;
|
7984 |
+
|
7985 |
+
function defaultSetTimout() {
|
7986 |
+
throw new Error('setTimeout has not been defined');
|
7987 |
+
}
|
7988 |
+
function defaultClearTimeout () {
|
7989 |
+
throw new Error('clearTimeout has not been defined');
|
7990 |
+
}
|
7991 |
+
(function () {
|
7992 |
+
try {
|
7993 |
+
if (typeof setTimeout === 'function') {
|
7994 |
+
cachedSetTimeout = setTimeout;
|
7995 |
+
} else {
|
7996 |
+
cachedSetTimeout = defaultSetTimout;
|
7997 |
+
}
|
7998 |
+
} catch (e) {
|
7999 |
+
cachedSetTimeout = defaultSetTimout;
|
8000 |
+
}
|
8001 |
+
try {
|
8002 |
+
if (typeof clearTimeout === 'function') {
|
8003 |
+
cachedClearTimeout = clearTimeout;
|
8004 |
+
} else {
|
8005 |
+
cachedClearTimeout = defaultClearTimeout;
|
8006 |
+
}
|
8007 |
+
} catch (e) {
|
8008 |
+
cachedClearTimeout = defaultClearTimeout;
|
8009 |
+
}
|
8010 |
+
} ())
|
8011 |
+
function runTimeout(fun) {
|
8012 |
+
if (cachedSetTimeout === setTimeout) {
|
8013 |
+
//normal enviroments in sane situations
|
8014 |
+
return setTimeout(fun, 0);
|
8015 |
+
}
|
8016 |
+
// if setTimeout wasn't available but was latter defined
|
8017 |
+
if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
|
8018 |
+
cachedSetTimeout = setTimeout;
|
8019 |
+
return setTimeout(fun, 0);
|
8020 |
+
}
|
8021 |
+
try {
|
8022 |
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
8023 |
+
return cachedSetTimeout(fun, 0);
|
8024 |
+
} catch(e){
|
8025 |
+
try {
|
8026 |
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
8027 |
+
return cachedSetTimeout.call(null, fun, 0);
|
8028 |
+
} catch(e){
|
8029 |
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error
|
8030 |
+
return cachedSetTimeout.call(this, fun, 0);
|
8031 |
+
}
|
8032 |
+
}
|
8033 |
+
|
8034 |
+
|
8035 |
+
}
|
8036 |
+
function runClearTimeout(marker) {
|
8037 |
+
if (cachedClearTimeout === clearTimeout) {
|
8038 |
+
//normal enviroments in sane situations
|
8039 |
+
return clearTimeout(marker);
|
8040 |
+
}
|
8041 |
+
// if clearTimeout wasn't available but was latter defined
|
8042 |
+
if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
|
8043 |
+
cachedClearTimeout = clearTimeout;
|
8044 |
+
return clearTimeout(marker);
|
8045 |
+
}
|
8046 |
+
try {
|
8047 |
+
// when when somebody has screwed with setTimeout but no I.E. maddness
|
8048 |
+
return cachedClearTimeout(marker);
|
8049 |
+
} catch (e){
|
8050 |
+
try {
|
8051 |
+
// When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally
|
8052 |
+
return cachedClearTimeout.call(null, marker);
|
8053 |
+
} catch (e){
|
8054 |
+
// same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.
|
8055 |
+
// Some versions of I.E. have different rules for clearTimeout vs setTimeout
|
8056 |
+
return cachedClearTimeout.call(this, marker);
|
8057 |
+
}
|
8058 |
+
}
|
8059 |
+
|
8060 |
+
|
8061 |
+
|
8062 |
+
}
|
8063 |
+
var queue = [];
|
8064 |
+
var draining = false;
|
8065 |
+
var currentQueue;
|
8066 |
+
var queueIndex = -1;
|
8067 |
+
|
8068 |
+
function cleanUpNextTick() {
|
8069 |
+
if (!draining || !currentQueue) {
|
8070 |
+
return;
|
8071 |
+
}
|
8072 |
+
draining = false;
|
8073 |
+
if (currentQueue.length) {
|
8074 |
+
queue = currentQueue.concat(queue);
|
8075 |
+
} else {
|
8076 |
+
queueIndex = -1;
|
8077 |
+
}
|
8078 |
+
if (queue.length) {
|
8079 |
+
drainQueue();
|
8080 |
+
}
|
8081 |
+
}
|
8082 |
+
|
8083 |
+
function drainQueue() {
|
8084 |
+
if (draining) {
|
8085 |
+
return;
|
8086 |
+
}
|
8087 |
+
var timeout = runTimeout(cleanUpNextTick);
|
8088 |
+
draining = true;
|
8089 |
+
|
8090 |
+
var len = queue.length;
|
8091 |
+
while(len) {
|
8092 |
+
currentQueue = queue;
|
8093 |
+
queue = [];
|
8094 |
+
while (++queueIndex < len) {
|
8095 |
+
if (currentQueue) {
|
8096 |
+
currentQueue[queueIndex].run();
|
8097 |
+
}
|
8098 |
+
}
|
8099 |
+
queueIndex = -1;
|
8100 |
+
len = queue.length;
|
8101 |
+
}
|
8102 |
+
currentQueue = null;
|
8103 |
+
draining = false;
|
8104 |
+
runClearTimeout(timeout);
|
8105 |
+
}
|
8106 |
+
|
8107 |
+
process.nextTick = function (fun) {
|
8108 |
+
var args = new Array(arguments.length - 1);
|
8109 |
+
if (arguments.length > 1) {
|
8110 |
+
for (var i = 1; i < arguments.length; i++) {
|
8111 |
+
args[i - 1] = arguments[i];
|
8112 |
+
}
|
8113 |
+
}
|
8114 |
+
queue.push(new Item(fun, args));
|
8115 |
+
if (queue.length === 1 && !draining) {
|
8116 |
+
runTimeout(drainQueue);
|
8117 |
+
}
|
8118 |
+
};
|
8119 |
+
|
8120 |
+
// v8 likes predictible objects
|
8121 |
+
function Item(fun, array) {
|
8122 |
+
this.fun = fun;
|
8123 |
+
this.array = array;
|
8124 |
+
}
|
8125 |
+
Item.prototype.run = function () {
|
8126 |
+
this.fun.apply(null, this.array);
|
8127 |
+
};
|
8128 |
+
process.title = 'browser';
|
8129 |
+
process.browser = true;
|
8130 |
+
process.env = {};
|
8131 |
+
process.argv = [];
|
8132 |
+
process.version = ''; // empty string to avoid regexp issues
|
8133 |
+
process.versions = {};
|
8134 |
+
|
8135 |
+
function noop() {}
|
8136 |
+
|
8137 |
+
process.on = noop;
|
8138 |
+
process.addListener = noop;
|
8139 |
+
process.once = noop;
|
8140 |
+
process.off = noop;
|
8141 |
+
process.removeListener = noop;
|
8142 |
+
process.removeAllListeners = noop;
|
8143 |
+
process.emit = noop;
|
8144 |
+
process.prependListener = noop;
|
8145 |
+
process.prependOnceListener = noop;
|
8146 |
+
|
8147 |
+
process.listeners = function (name) { return [] }
|
8148 |
+
|
8149 |
+
process.binding = function (name) {
|
8150 |
+
throw new Error('process.binding is not supported');
|
8151 |
+
};
|
8152 |
+
|
8153 |
+
process.cwd = function () { return '/' };
|
8154 |
+
process.chdir = function (dir) {
|
8155 |
+
throw new Error('process.chdir is not supported');
|
8156 |
+
};
|
8157 |
+
process.umask = function() { return 0; };
|
8158 |
+
|
8159 |
+
|
8160 |
+
/***/ }),
|
8161 |
+
|
8162 |
+
/***/ "./node_modules/prop-types/checkPropTypes.js":
|
8163 |
+
/*!***************************************************!*\
|
8164 |
+
!*** ./node_modules/prop-types/checkPropTypes.js ***!
|
8165 |
+
\***************************************************/
|
8166 |
+
/*! no static exports found */
|
8167 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8168 |
+
|
8169 |
+
"use strict";
|
8170 |
+
/**
|
8171 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8172 |
+
*
|
8173 |
+
* This source code is licensed under the MIT license found in the
|
8174 |
+
* LICENSE file in the root directory of this source tree.
|
8175 |
+
*/
|
8176 |
+
|
8177 |
+
|
8178 |
+
|
8179 |
+
if (true) {
|
8180 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
8181 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
8182 |
+
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
|
8183 |
+
var loggedTypeFailures = {};
|
8184 |
+
}
|
8185 |
+
|
8186 |
+
/**
|
8187 |
+
* Assert that the values match with the type specs.
|
8188 |
+
* Error messages are memorized and will only be shown once.
|
8189 |
+
*
|
8190 |
+
* @param {object} typeSpecs Map of name to a ReactPropType
|
8191 |
+
* @param {object} values Runtime values that need to be type-checked
|
8192 |
+
* @param {string} location e.g. "prop", "context", "child context"
|
8193 |
+
* @param {string} componentName Name of the component for error messages.
|
8194 |
+
* @param {?Function} getStack Returns the component stack.
|
8195 |
+
* @private
|
8196 |
+
*/
|
8197 |
+
function checkPropTypes(typeSpecs, values, location, componentName, getStack) {
|
8198 |
+
if (true) {
|
8199 |
+
for (var typeSpecName in typeSpecs) {
|
8200 |
+
if (typeSpecs.hasOwnProperty(typeSpecName)) {
|
8201 |
+
var error;
|
8202 |
+
// Prop type validation may throw. In case they do, we don't want to
|
8203 |
+
// fail the render phase where it didn't fail before. So we log it.
|
8204 |
+
// After these have been cleaned up, we'll let them throw.
|
8205 |
+
try {
|
8206 |
+
// This is intentionally an invariant that gets caught. It's the same
|
8207 |
+
// behavior as without this statement except with a better message.
|
8208 |
+
invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'the `prop-types` package, but received `%s`.', componentName || 'React class', location, typeSpecName, typeof typeSpecs[typeSpecName]);
|
8209 |
+
error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);
|
8210 |
+
} catch (ex) {
|
8211 |
+
error = ex;
|
8212 |
+
}
|
8213 |
+
warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error);
|
8214 |
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
8215 |
+
// Only monitor this failure once because there tends to be a lot of the
|
8216 |
+
// same error.
|
8217 |
+
loggedTypeFailures[error.message] = true;
|
8218 |
+
|
8219 |
+
var stack = getStack ? getStack() : '';
|
8220 |
+
|
8221 |
+
warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '');
|
8222 |
+
}
|
8223 |
+
}
|
8224 |
+
}
|
8225 |
+
}
|
8226 |
+
}
|
8227 |
+
|
8228 |
+
module.exports = checkPropTypes;
|
8229 |
+
|
8230 |
+
|
8231 |
+
/***/ }),
|
8232 |
+
|
8233 |
+
/***/ "./node_modules/prop-types/factory.js":
|
8234 |
+
/*!********************************************!*\
|
8235 |
+
!*** ./node_modules/prop-types/factory.js ***!
|
8236 |
+
\********************************************/
|
8237 |
+
/*! no static exports found */
|
8238 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8239 |
+
|
8240 |
+
"use strict";
|
8241 |
+
/**
|
8242 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8243 |
+
*
|
8244 |
+
* This source code is licensed under the MIT license found in the
|
8245 |
+
* LICENSE file in the root directory of this source tree.
|
8246 |
+
*/
|
8247 |
+
|
8248 |
+
|
8249 |
+
|
8250 |
+
// React 15.5 references this module, and assumes PropTypes are still callable in production.
|
8251 |
+
// Therefore we re-export development-only version with all the PropTypes checks here.
|
8252 |
+
// However if one is migrating to the `prop-types` npm library, they will go through the
|
8253 |
+
// `index.js` entry point, and it will branch depending on the environment.
|
8254 |
+
var factory = __webpack_require__(/*! ./factoryWithTypeCheckers */ "./node_modules/prop-types/factoryWithTypeCheckers.js");
|
8255 |
+
module.exports = function(isValidElement) {
|
8256 |
+
// It is still allowed in 15.5.
|
8257 |
+
var throwOnDirectAccess = false;
|
8258 |
+
return factory(isValidElement, throwOnDirectAccess);
|
8259 |
+
};
|
8260 |
+
|
8261 |
+
|
8262 |
+
/***/ }),
|
8263 |
+
|
8264 |
+
/***/ "./node_modules/prop-types/factoryWithTypeCheckers.js":
|
8265 |
+
/*!************************************************************!*\
|
8266 |
+
!*** ./node_modules/prop-types/factoryWithTypeCheckers.js ***!
|
8267 |
+
\************************************************************/
|
8268 |
+
/*! no static exports found */
|
8269 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8270 |
+
|
8271 |
+
"use strict";
|
8272 |
+
/**
|
8273 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8274 |
+
*
|
8275 |
+
* This source code is licensed under the MIT license found in the
|
8276 |
+
* LICENSE file in the root directory of this source tree.
|
8277 |
+
*/
|
8278 |
+
|
8279 |
+
|
8280 |
+
|
8281 |
+
var emptyFunction = __webpack_require__(/*! fbjs/lib/emptyFunction */ "./node_modules/fbjs/lib/emptyFunction.js");
|
8282 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
8283 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
8284 |
+
var assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
|
8285 |
+
|
8286 |
+
var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "./node_modules/prop-types/lib/ReactPropTypesSecret.js");
|
8287 |
+
var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "./node_modules/prop-types/checkPropTypes.js");
|
8288 |
+
|
8289 |
+
module.exports = function(isValidElement, throwOnDirectAccess) {
|
8290 |
+
/* global Symbol */
|
8291 |
+
var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator;
|
8292 |
+
var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec.
|
8293 |
+
|
8294 |
+
/**
|
8295 |
+
* Returns the iterator method function contained on the iterable object.
|
8296 |
+
*
|
8297 |
+
* Be sure to invoke the function with the iterable as context:
|
8298 |
+
*
|
8299 |
+
* var iteratorFn = getIteratorFn(myIterable);
|
8300 |
+
* if (iteratorFn) {
|
8301 |
+
* var iterator = iteratorFn.call(myIterable);
|
8302 |
+
* ...
|
8303 |
+
* }
|
8304 |
+
*
|
8305 |
+
* @param {?object} maybeIterable
|
8306 |
+
* @return {?function}
|
8307 |
+
*/
|
8308 |
+
function getIteratorFn(maybeIterable) {
|
8309 |
+
var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]);
|
8310 |
+
if (typeof iteratorFn === 'function') {
|
8311 |
+
return iteratorFn;
|
8312 |
+
}
|
8313 |
+
}
|
8314 |
+
|
8315 |
+
/**
|
8316 |
+
* Collection of methods that allow declaration and validation of props that are
|
8317 |
+
* supplied to React components. Example usage:
|
8318 |
+
*
|
8319 |
+
* var Props = require('ReactPropTypes');
|
8320 |
+
* var MyArticle = React.createClass({
|
8321 |
+
* propTypes: {
|
8322 |
+
* // An optional string prop named "description".
|
8323 |
+
* description: Props.string,
|
8324 |
+
*
|
8325 |
+
* // A required enum prop named "category".
|
8326 |
+
* category: Props.oneOf(['News','Photos']).isRequired,
|
8327 |
+
*
|
8328 |
+
* // A prop named "dialog" that requires an instance of Dialog.
|
8329 |
+
* dialog: Props.instanceOf(Dialog).isRequired
|
8330 |
+
* },
|
8331 |
+
* render: function() { ... }
|
8332 |
+
* });
|
8333 |
+
*
|
8334 |
+
* A more formal specification of how these methods are used:
|
8335 |
+
*
|
8336 |
+
* type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...)
|
8337 |
+
* decl := ReactPropTypes.{type}(.isRequired)?
|
8338 |
+
*
|
8339 |
+
* Each and every declaration produces a function with the same signature. This
|
8340 |
+
* allows the creation of custom validation functions. For example:
|
8341 |
+
*
|
8342 |
+
* var MyLink = React.createClass({
|
8343 |
+
* propTypes: {
|
8344 |
+
* // An optional string or URI prop named "href".
|
8345 |
+
* href: function(props, propName, componentName) {
|
8346 |
+
* var propValue = props[propName];
|
8347 |
+
* if (propValue != null && typeof propValue !== 'string' &&
|
8348 |
+
* !(propValue instanceof URI)) {
|
8349 |
+
* return new Error(
|
8350 |
+
* 'Expected a string or an URI for ' + propName + ' in ' +
|
8351 |
+
* componentName
|
8352 |
+
* );
|
8353 |
+
* }
|
8354 |
+
* }
|
8355 |
+
* },
|
8356 |
+
* render: function() {...}
|
8357 |
+
* });
|
8358 |
+
*
|
8359 |
+
* @internal
|
8360 |
+
*/
|
8361 |
+
|
8362 |
+
var ANONYMOUS = '<<anonymous>>';
|
8363 |
+
|
8364 |
+
// Important!
|
8365 |
+
// Keep this list in sync with production version in `./factoryWithThrowingShims.js`.
|
8366 |
+
var ReactPropTypes = {
|
8367 |
+
array: createPrimitiveTypeChecker('array'),
|
8368 |
+
bool: createPrimitiveTypeChecker('boolean'),
|
8369 |
+
func: createPrimitiveTypeChecker('function'),
|
8370 |
+
number: createPrimitiveTypeChecker('number'),
|
8371 |
+
object: createPrimitiveTypeChecker('object'),
|
8372 |
+
string: createPrimitiveTypeChecker('string'),
|
8373 |
+
symbol: createPrimitiveTypeChecker('symbol'),
|
8374 |
+
|
8375 |
+
any: createAnyTypeChecker(),
|
8376 |
+
arrayOf: createArrayOfTypeChecker,
|
8377 |
+
element: createElementTypeChecker(),
|
8378 |
+
instanceOf: createInstanceTypeChecker,
|
8379 |
+
node: createNodeChecker(),
|
8380 |
+
objectOf: createObjectOfTypeChecker,
|
8381 |
+
oneOf: createEnumTypeChecker,
|
8382 |
+
oneOfType: createUnionTypeChecker,
|
8383 |
+
shape: createShapeTypeChecker,
|
8384 |
+
exact: createStrictShapeTypeChecker,
|
8385 |
+
};
|
8386 |
+
|
8387 |
+
/**
|
8388 |
+
* inlined Object.is polyfill to avoid requiring consumers ship their own
|
8389 |
+
* https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is
|
8390 |
+
*/
|
8391 |
+
/*eslint-disable no-self-compare*/
|
8392 |
+
function is(x, y) {
|
8393 |
+
// SameValue algorithm
|
8394 |
+
if (x === y) {
|
8395 |
+
// Steps 1-5, 7-10
|
8396 |
+
// Steps 6.b-6.e: +0 != -0
|
8397 |
+
return x !== 0 || 1 / x === 1 / y;
|
8398 |
+
} else {
|
8399 |
+
// Step 6.a: NaN == NaN
|
8400 |
+
return x !== x && y !== y;
|
8401 |
+
}
|
8402 |
+
}
|
8403 |
+
/*eslint-enable no-self-compare*/
|
8404 |
+
|
8405 |
+
/**
|
8406 |
+
* We use an Error-like object for backward compatibility as people may call
|
8407 |
+
* PropTypes directly and inspect their output. However, we don't use real
|
8408 |
+
* Errors anymore. We don't inspect their stack anyway, and creating them
|
8409 |
+
* is prohibitively expensive if they are created too often, such as what
|
8410 |
+
* happens in oneOfType() for any type before the one that matched.
|
8411 |
+
*/
|
8412 |
+
function PropTypeError(message) {
|
8413 |
+
this.message = message;
|
8414 |
+
this.stack = '';
|
8415 |
+
}
|
8416 |
+
// Make `instanceof Error` still work for returned errors.
|
8417 |
+
PropTypeError.prototype = Error.prototype;
|
8418 |
+
|
8419 |
+
function createChainableTypeChecker(validate) {
|
8420 |
+
if (true) {
|
8421 |
+
var manualPropTypeCallCache = {};
|
8422 |
+
var manualPropTypeWarningCount = 0;
|
8423 |
+
}
|
8424 |
+
function checkType(isRequired, props, propName, componentName, location, propFullName, secret) {
|
8425 |
+
componentName = componentName || ANONYMOUS;
|
8426 |
+
propFullName = propFullName || propName;
|
8427 |
+
|
8428 |
+
if (secret !== ReactPropTypesSecret) {
|
8429 |
+
if (throwOnDirectAccess) {
|
8430 |
+
// New behavior only for users of `prop-types` package
|
8431 |
+
invariant(
|
8432 |
+
false,
|
8433 |
+
'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +
|
8434 |
+
'Use `PropTypes.checkPropTypes()` to call them. ' +
|
8435 |
+
'Read more at http://fb.me/use-check-prop-types'
|
8436 |
+
);
|
8437 |
+
} else if ( true && typeof console !== 'undefined') {
|
8438 |
+
// Old behavior for people using React.PropTypes
|
8439 |
+
var cacheKey = componentName + ':' + propName;
|
8440 |
+
if (
|
8441 |
+
!manualPropTypeCallCache[cacheKey] &&
|
8442 |
+
// Avoid spamming the console because they are often not actionable except for lib authors
|
8443 |
+
manualPropTypeWarningCount < 3
|
8444 |
+
) {
|
8445 |
+
warning(
|
8446 |
+
false,
|
8447 |
+
'You are manually calling a React.PropTypes validation ' +
|
8448 |
+
'function for the `%s` prop on `%s`. This is deprecated ' +
|
8449 |
+
'and will throw in the standalone `prop-types` package. ' +
|
8450 |
+
'You may be seeing this warning due to a third-party PropTypes ' +
|
8451 |
+
'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.',
|
8452 |
+
propFullName,
|
8453 |
+
componentName
|
8454 |
+
);
|
8455 |
+
manualPropTypeCallCache[cacheKey] = true;
|
8456 |
+
manualPropTypeWarningCount++;
|
8457 |
+
}
|
8458 |
+
}
|
8459 |
+
}
|
8460 |
+
if (props[propName] == null) {
|
8461 |
+
if (isRequired) {
|
8462 |
+
if (props[propName] === null) {
|
8463 |
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.'));
|
8464 |
+
}
|
8465 |
+
return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.'));
|
8466 |
+
}
|
8467 |
+
return null;
|
8468 |
+
} else {
|
8469 |
+
return validate(props, propName, componentName, location, propFullName);
|
8470 |
+
}
|
8471 |
+
}
|
8472 |
+
|
8473 |
+
var chainedCheckType = checkType.bind(null, false);
|
8474 |
+
chainedCheckType.isRequired = checkType.bind(null, true);
|
8475 |
+
|
8476 |
+
return chainedCheckType;
|
8477 |
+
}
|
8478 |
+
|
8479 |
+
function createPrimitiveTypeChecker(expectedType) {
|
8480 |
+
function validate(props, propName, componentName, location, propFullName, secret) {
|
8481 |
+
var propValue = props[propName];
|
8482 |
+
var propType = getPropType(propValue);
|
8483 |
+
if (propType !== expectedType) {
|
8484 |
+
// `propValue` being instance of, say, date/regexp, pass the 'object'
|
8485 |
+
// check, but we can offer a more precise error message here rather than
|
8486 |
+
// 'of type `object`'.
|
8487 |
+
var preciseType = getPreciseType(propValue);
|
8488 |
+
|
8489 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'));
|
8490 |
+
}
|
8491 |
+
return null;
|
8492 |
+
}
|
8493 |
+
return createChainableTypeChecker(validate);
|
8494 |
+
}
|
8495 |
+
|
8496 |
+
function createAnyTypeChecker() {
|
8497 |
+
return createChainableTypeChecker(emptyFunction.thatReturnsNull);
|
8498 |
+
}
|
8499 |
+
|
8500 |
+
function createArrayOfTypeChecker(typeChecker) {
|
8501 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8502 |
+
if (typeof typeChecker !== 'function') {
|
8503 |
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.');
|
8504 |
+
}
|
8505 |
+
var propValue = props[propName];
|
8506 |
+
if (!Array.isArray(propValue)) {
|
8507 |
+
var propType = getPropType(propValue);
|
8508 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.'));
|
8509 |
+
}
|
8510 |
+
for (var i = 0; i < propValue.length; i++) {
|
8511 |
+
var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret);
|
8512 |
+
if (error instanceof Error) {
|
8513 |
+
return error;
|
8514 |
+
}
|
8515 |
+
}
|
8516 |
+
return null;
|
8517 |
+
}
|
8518 |
+
return createChainableTypeChecker(validate);
|
8519 |
+
}
|
8520 |
+
|
8521 |
+
function createElementTypeChecker() {
|
8522 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8523 |
+
var propValue = props[propName];
|
8524 |
+
if (!isValidElement(propValue)) {
|
8525 |
+
var propType = getPropType(propValue);
|
8526 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.'));
|
8527 |
+
}
|
8528 |
+
return null;
|
8529 |
+
}
|
8530 |
+
return createChainableTypeChecker(validate);
|
8531 |
+
}
|
8532 |
+
|
8533 |
+
function createInstanceTypeChecker(expectedClass) {
|
8534 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8535 |
+
if (!(props[propName] instanceof expectedClass)) {
|
8536 |
+
var expectedClassName = expectedClass.name || ANONYMOUS;
|
8537 |
+
var actualClassName = getClassName(props[propName]);
|
8538 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.'));
|
8539 |
+
}
|
8540 |
+
return null;
|
8541 |
+
}
|
8542 |
+
return createChainableTypeChecker(validate);
|
8543 |
+
}
|
8544 |
+
|
8545 |
+
function createEnumTypeChecker(expectedValues) {
|
8546 |
+
if (!Array.isArray(expectedValues)) {
|
8547 |
+
true ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : undefined;
|
8548 |
+
return emptyFunction.thatReturnsNull;
|
8549 |
+
}
|
8550 |
+
|
8551 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8552 |
+
var propValue = props[propName];
|
8553 |
+
for (var i = 0; i < expectedValues.length; i++) {
|
8554 |
+
if (is(propValue, expectedValues[i])) {
|
8555 |
+
return null;
|
8556 |
+
}
|
8557 |
+
}
|
8558 |
+
|
8559 |
+
var valuesString = JSON.stringify(expectedValues);
|
8560 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.'));
|
8561 |
+
}
|
8562 |
+
return createChainableTypeChecker(validate);
|
8563 |
+
}
|
8564 |
+
|
8565 |
+
function createObjectOfTypeChecker(typeChecker) {
|
8566 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8567 |
+
if (typeof typeChecker !== 'function') {
|
8568 |
+
return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.');
|
8569 |
+
}
|
8570 |
+
var propValue = props[propName];
|
8571 |
+
var propType = getPropType(propValue);
|
8572 |
+
if (propType !== 'object') {
|
8573 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.'));
|
8574 |
+
}
|
8575 |
+
for (var key in propValue) {
|
8576 |
+
if (propValue.hasOwnProperty(key)) {
|
8577 |
+
var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
8578 |
+
if (error instanceof Error) {
|
8579 |
+
return error;
|
8580 |
+
}
|
8581 |
+
}
|
8582 |
+
}
|
8583 |
+
return null;
|
8584 |
+
}
|
8585 |
+
return createChainableTypeChecker(validate);
|
8586 |
+
}
|
8587 |
+
|
8588 |
+
function createUnionTypeChecker(arrayOfTypeCheckers) {
|
8589 |
+
if (!Array.isArray(arrayOfTypeCheckers)) {
|
8590 |
+
true ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : undefined;
|
8591 |
+
return emptyFunction.thatReturnsNull;
|
8592 |
+
}
|
8593 |
+
|
8594 |
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
8595 |
+
var checker = arrayOfTypeCheckers[i];
|
8596 |
+
if (typeof checker !== 'function') {
|
8597 |
+
warning(
|
8598 |
+
false,
|
8599 |
+
'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' +
|
8600 |
+
'received %s at index %s.',
|
8601 |
+
getPostfixForTypeWarning(checker),
|
8602 |
+
i
|
8603 |
+
);
|
8604 |
+
return emptyFunction.thatReturnsNull;
|
8605 |
+
}
|
8606 |
+
}
|
8607 |
+
|
8608 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8609 |
+
for (var i = 0; i < arrayOfTypeCheckers.length; i++) {
|
8610 |
+
var checker = arrayOfTypeCheckers[i];
|
8611 |
+
if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) {
|
8612 |
+
return null;
|
8613 |
+
}
|
8614 |
+
}
|
8615 |
+
|
8616 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.'));
|
8617 |
+
}
|
8618 |
+
return createChainableTypeChecker(validate);
|
8619 |
+
}
|
8620 |
+
|
8621 |
+
function createNodeChecker() {
|
8622 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8623 |
+
if (!isNode(props[propName])) {
|
8624 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.'));
|
8625 |
+
}
|
8626 |
+
return null;
|
8627 |
+
}
|
8628 |
+
return createChainableTypeChecker(validate);
|
8629 |
+
}
|
8630 |
+
|
8631 |
+
function createShapeTypeChecker(shapeTypes) {
|
8632 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8633 |
+
var propValue = props[propName];
|
8634 |
+
var propType = getPropType(propValue);
|
8635 |
+
if (propType !== 'object') {
|
8636 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
8637 |
+
}
|
8638 |
+
for (var key in shapeTypes) {
|
8639 |
+
var checker = shapeTypes[key];
|
8640 |
+
if (!checker) {
|
8641 |
+
continue;
|
8642 |
+
}
|
8643 |
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
8644 |
+
if (error) {
|
8645 |
+
return error;
|
8646 |
+
}
|
8647 |
+
}
|
8648 |
+
return null;
|
8649 |
+
}
|
8650 |
+
return createChainableTypeChecker(validate);
|
8651 |
+
}
|
8652 |
+
|
8653 |
+
function createStrictShapeTypeChecker(shapeTypes) {
|
8654 |
+
function validate(props, propName, componentName, location, propFullName) {
|
8655 |
+
var propValue = props[propName];
|
8656 |
+
var propType = getPropType(propValue);
|
8657 |
+
if (propType !== 'object') {
|
8658 |
+
return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.'));
|
8659 |
+
}
|
8660 |
+
// We need to check all keys in case some are required but missing from
|
8661 |
+
// props.
|
8662 |
+
var allKeys = assign({}, props[propName], shapeTypes);
|
8663 |
+
for (var key in allKeys) {
|
8664 |
+
var checker = shapeTypes[key];
|
8665 |
+
if (!checker) {
|
8666 |
+
return new PropTypeError(
|
8667 |
+
'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' +
|
8668 |
+
'\nBad object: ' + JSON.stringify(props[propName], null, ' ') +
|
8669 |
+
'\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ')
|
8670 |
+
);
|
8671 |
+
}
|
8672 |
+
var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret);
|
8673 |
+
if (error) {
|
8674 |
+
return error;
|
8675 |
+
}
|
8676 |
+
}
|
8677 |
+
return null;
|
8678 |
+
}
|
8679 |
+
|
8680 |
+
return createChainableTypeChecker(validate);
|
8681 |
+
}
|
8682 |
+
|
8683 |
+
function isNode(propValue) {
|
8684 |
+
switch (typeof propValue) {
|
8685 |
+
case 'number':
|
8686 |
+
case 'string':
|
8687 |
+
case 'undefined':
|
8688 |
+
return true;
|
8689 |
+
case 'boolean':
|
8690 |
+
return !propValue;
|
8691 |
+
case 'object':
|
8692 |
+
if (Array.isArray(propValue)) {
|
8693 |
+
return propValue.every(isNode);
|
8694 |
+
}
|
8695 |
+
if (propValue === null || isValidElement(propValue)) {
|
8696 |
+
return true;
|
8697 |
+
}
|
8698 |
+
|
8699 |
+
var iteratorFn = getIteratorFn(propValue);
|
8700 |
+
if (iteratorFn) {
|
8701 |
+
var iterator = iteratorFn.call(propValue);
|
8702 |
+
var step;
|
8703 |
+
if (iteratorFn !== propValue.entries) {
|
8704 |
+
while (!(step = iterator.next()).done) {
|
8705 |
+
if (!isNode(step.value)) {
|
8706 |
+
return false;
|
8707 |
+
}
|
8708 |
+
}
|
8709 |
+
} else {
|
8710 |
+
// Iterator will provide entry [k,v] tuples rather than values.
|
8711 |
+
while (!(step = iterator.next()).done) {
|
8712 |
+
var entry = step.value;
|
8713 |
+
if (entry) {
|
8714 |
+
if (!isNode(entry[1])) {
|
8715 |
+
return false;
|
8716 |
+
}
|
8717 |
+
}
|
8718 |
+
}
|
8719 |
+
}
|
8720 |
+
} else {
|
8721 |
+
return false;
|
8722 |
+
}
|
8723 |
+
|
8724 |
+
return true;
|
8725 |
+
default:
|
8726 |
+
return false;
|
8727 |
+
}
|
8728 |
+
}
|
8729 |
+
|
8730 |
+
function isSymbol(propType, propValue) {
|
8731 |
+
// Native Symbol.
|
8732 |
+
if (propType === 'symbol') {
|
8733 |
+
return true;
|
8734 |
+
}
|
8735 |
+
|
8736 |
+
// 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol'
|
8737 |
+
if (propValue['@@toStringTag'] === 'Symbol') {
|
8738 |
+
return true;
|
8739 |
+
}
|
8740 |
+
|
8741 |
+
// Fallback for non-spec compliant Symbols which are polyfilled.
|
8742 |
+
if (typeof Symbol === 'function' && propValue instanceof Symbol) {
|
8743 |
+
return true;
|
8744 |
+
}
|
8745 |
+
|
8746 |
+
return false;
|
8747 |
+
}
|
8748 |
+
|
8749 |
+
// Equivalent of `typeof` but with special handling for array and regexp.
|
8750 |
+
function getPropType(propValue) {
|
8751 |
+
var propType = typeof propValue;
|
8752 |
+
if (Array.isArray(propValue)) {
|
8753 |
+
return 'array';
|
8754 |
+
}
|
8755 |
+
if (propValue instanceof RegExp) {
|
8756 |
+
// Old webkits (at least until Android 4.0) return 'function' rather than
|
8757 |
+
// 'object' for typeof a RegExp. We'll normalize this here so that /bla/
|
8758 |
+
// passes PropTypes.object.
|
8759 |
+
return 'object';
|
8760 |
+
}
|
8761 |
+
if (isSymbol(propType, propValue)) {
|
8762 |
+
return 'symbol';
|
8763 |
+
}
|
8764 |
+
return propType;
|
8765 |
+
}
|
8766 |
+
|
8767 |
+
// This handles more types than `getPropType`. Only used for error messages.
|
8768 |
+
// See `createPrimitiveTypeChecker`.
|
8769 |
+
function getPreciseType(propValue) {
|
8770 |
+
if (typeof propValue === 'undefined' || propValue === null) {
|
8771 |
+
return '' + propValue;
|
8772 |
+
}
|
8773 |
+
var propType = getPropType(propValue);
|
8774 |
+
if (propType === 'object') {
|
8775 |
+
if (propValue instanceof Date) {
|
8776 |
+
return 'date';
|
8777 |
+
} else if (propValue instanceof RegExp) {
|
8778 |
+
return 'regexp';
|
8779 |
+
}
|
8780 |
+
}
|
8781 |
+
return propType;
|
8782 |
+
}
|
8783 |
+
|
8784 |
+
// Returns a string that is postfixed to a warning about an invalid type.
|
8785 |
+
// For example, "undefined" or "of type array"
|
8786 |
+
function getPostfixForTypeWarning(value) {
|
8787 |
+
var type = getPreciseType(value);
|
8788 |
+
switch (type) {
|
8789 |
+
case 'array':
|
8790 |
+
case 'object':
|
8791 |
+
return 'an ' + type;
|
8792 |
+
case 'boolean':
|
8793 |
+
case 'date':
|
8794 |
+
case 'regexp':
|
8795 |
+
return 'a ' + type;
|
8796 |
+
default:
|
8797 |
+
return type;
|
8798 |
+
}
|
8799 |
+
}
|
8800 |
+
|
8801 |
+
// Returns class name of the object, if any.
|
8802 |
+
function getClassName(propValue) {
|
8803 |
+
if (!propValue.constructor || !propValue.constructor.name) {
|
8804 |
+
return ANONYMOUS;
|
8805 |
+
}
|
8806 |
+
return propValue.constructor.name;
|
8807 |
+
}
|
8808 |
+
|
8809 |
+
ReactPropTypes.checkPropTypes = checkPropTypes;
|
8810 |
+
ReactPropTypes.PropTypes = ReactPropTypes;
|
8811 |
+
|
8812 |
+
return ReactPropTypes;
|
8813 |
+
};
|
8814 |
+
|
8815 |
+
|
8816 |
+
/***/ }),
|
8817 |
+
|
8818 |
+
/***/ "./node_modules/prop-types/lib/ReactPropTypesSecret.js":
|
8819 |
+
/*!*************************************************************!*\
|
8820 |
+
!*** ./node_modules/prop-types/lib/ReactPropTypesSecret.js ***!
|
8821 |
+
\*************************************************************/
|
8822 |
+
/*! no static exports found */
|
8823 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8824 |
+
|
8825 |
+
"use strict";
|
8826 |
+
/**
|
8827 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8828 |
+
*
|
8829 |
+
* This source code is licensed under the MIT license found in the
|
8830 |
+
* LICENSE file in the root directory of this source tree.
|
8831 |
+
*/
|
8832 |
+
|
8833 |
+
|
8834 |
+
|
8835 |
+
var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';
|
8836 |
+
|
8837 |
+
module.exports = ReactPropTypesSecret;
|
8838 |
+
|
8839 |
+
|
8840 |
+
/***/ }),
|
8841 |
+
|
8842 |
+
/***/ "./node_modules/react-dom/index.js":
|
8843 |
+
/*!*****************************************!*\
|
8844 |
+
!*** ./node_modules/react-dom/index.js ***!
|
8845 |
+
\*****************************************/
|
8846 |
+
/*! no static exports found */
|
8847 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8848 |
+
|
8849 |
+
"use strict";
|
8850 |
+
|
8851 |
+
|
8852 |
+
module.exports = __webpack_require__(/*! ./lib/ReactDOM */ "./node_modules/react-dom/lib/ReactDOM.js");
|
8853 |
+
|
8854 |
+
|
8855 |
+
/***/ }),
|
8856 |
+
|
8857 |
+
/***/ "./node_modules/react-dom/lib/ARIADOMPropertyConfig.js":
|
8858 |
+
/*!*************************************************************!*\
|
8859 |
+
!*** ./node_modules/react-dom/lib/ARIADOMPropertyConfig.js ***!
|
8860 |
+
\*************************************************************/
|
8861 |
+
/*! no static exports found */
|
8862 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8863 |
+
|
8864 |
+
"use strict";
|
8865 |
+
/**
|
8866 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8867 |
+
*
|
8868 |
+
* This source code is licensed under the MIT license found in the
|
8869 |
+
* LICENSE file in the root directory of this source tree.
|
8870 |
+
*
|
8871 |
+
*/
|
8872 |
+
|
8873 |
+
|
8874 |
+
|
8875 |
+
var ARIADOMPropertyConfig = {
|
8876 |
+
Properties: {
|
8877 |
+
// Global States and Properties
|
8878 |
+
'aria-current': 0, // state
|
8879 |
+
'aria-details': 0,
|
8880 |
+
'aria-disabled': 0, // state
|
8881 |
+
'aria-hidden': 0, // state
|
8882 |
+
'aria-invalid': 0, // state
|
8883 |
+
'aria-keyshortcuts': 0,
|
8884 |
+
'aria-label': 0,
|
8885 |
+
'aria-roledescription': 0,
|
8886 |
+
// Widget Attributes
|
8887 |
+
'aria-autocomplete': 0,
|
8888 |
+
'aria-checked': 0,
|
8889 |
+
'aria-expanded': 0,
|
8890 |
+
'aria-haspopup': 0,
|
8891 |
+
'aria-level': 0,
|
8892 |
+
'aria-modal': 0,
|
8893 |
+
'aria-multiline': 0,
|
8894 |
+
'aria-multiselectable': 0,
|
8895 |
+
'aria-orientation': 0,
|
8896 |
+
'aria-placeholder': 0,
|
8897 |
+
'aria-pressed': 0,
|
8898 |
+
'aria-readonly': 0,
|
8899 |
+
'aria-required': 0,
|
8900 |
+
'aria-selected': 0,
|
8901 |
+
'aria-sort': 0,
|
8902 |
+
'aria-valuemax': 0,
|
8903 |
+
'aria-valuemin': 0,
|
8904 |
+
'aria-valuenow': 0,
|
8905 |
+
'aria-valuetext': 0,
|
8906 |
+
// Live Region Attributes
|
8907 |
+
'aria-atomic': 0,
|
8908 |
+
'aria-busy': 0,
|
8909 |
+
'aria-live': 0,
|
8910 |
+
'aria-relevant': 0,
|
8911 |
+
// Drag-and-Drop Attributes
|
8912 |
+
'aria-dropeffect': 0,
|
8913 |
+
'aria-grabbed': 0,
|
8914 |
+
// Relationship Attributes
|
8915 |
+
'aria-activedescendant': 0,
|
8916 |
+
'aria-colcount': 0,
|
8917 |
+
'aria-colindex': 0,
|
8918 |
+
'aria-colspan': 0,
|
8919 |
+
'aria-controls': 0,
|
8920 |
+
'aria-describedby': 0,
|
8921 |
+
'aria-errormessage': 0,
|
8922 |
+
'aria-flowto': 0,
|
8923 |
+
'aria-labelledby': 0,
|
8924 |
+
'aria-owns': 0,
|
8925 |
+
'aria-posinset': 0,
|
8926 |
+
'aria-rowcount': 0,
|
8927 |
+
'aria-rowindex': 0,
|
8928 |
+
'aria-rowspan': 0,
|
8929 |
+
'aria-setsize': 0
|
8930 |
+
},
|
8931 |
+
DOMAttributeNames: {},
|
8932 |
+
DOMPropertyNames: {}
|
8933 |
+
};
|
8934 |
+
|
8935 |
+
module.exports = ARIADOMPropertyConfig;
|
8936 |
+
|
8937 |
+
/***/ }),
|
8938 |
+
|
8939 |
+
/***/ "./node_modules/react-dom/lib/AutoFocusUtils.js":
|
8940 |
+
/*!******************************************************!*\
|
8941 |
+
!*** ./node_modules/react-dom/lib/AutoFocusUtils.js ***!
|
8942 |
+
\******************************************************/
|
8943 |
+
/*! no static exports found */
|
8944 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8945 |
+
|
8946 |
+
"use strict";
|
8947 |
+
/**
|
8948 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8949 |
+
*
|
8950 |
+
* This source code is licensed under the MIT license found in the
|
8951 |
+
* LICENSE file in the root directory of this source tree.
|
8952 |
+
*
|
8953 |
+
*/
|
8954 |
+
|
8955 |
+
|
8956 |
+
|
8957 |
+
var ReactDOMComponentTree = __webpack_require__(/*! ./ReactDOMComponentTree */ "./node_modules/react-dom/lib/ReactDOMComponentTree.js");
|
8958 |
+
|
8959 |
+
var focusNode = __webpack_require__(/*! fbjs/lib/focusNode */ "./node_modules/fbjs/lib/focusNode.js");
|
8960 |
+
|
8961 |
+
var AutoFocusUtils = {
|
8962 |
+
focusDOMComponent: function () {
|
8963 |
+
focusNode(ReactDOMComponentTree.getNodeFromInstance(this));
|
8964 |
+
}
|
8965 |
+
};
|
8966 |
+
|
8967 |
+
module.exports = AutoFocusUtils;
|
8968 |
+
|
8969 |
+
/***/ }),
|
8970 |
+
|
8971 |
+
/***/ "./node_modules/react-dom/lib/BeforeInputEventPlugin.js":
|
8972 |
+
/*!**************************************************************!*\
|
8973 |
+
!*** ./node_modules/react-dom/lib/BeforeInputEventPlugin.js ***!
|
8974 |
+
\**************************************************************/
|
8975 |
+
/*! no static exports found */
|
8976 |
+
/***/ (function(module, exports, __webpack_require__) {
|
8977 |
+
|
8978 |
+
"use strict";
|
8979 |
+
/**
|
8980 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
8981 |
+
*
|
8982 |
+
* This source code is licensed under the MIT license found in the
|
8983 |
+
* LICENSE file in the root directory of this source tree.
|
8984 |
+
*
|
8985 |
+
*/
|
8986 |
+
|
8987 |
+
|
8988 |
+
|
8989 |
+
var EventPropagators = __webpack_require__(/*! ./EventPropagators */ "./node_modules/react-dom/lib/EventPropagators.js");
|
8990 |
+
var ExecutionEnvironment = __webpack_require__(/*! fbjs/lib/ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
8991 |
+
var FallbackCompositionState = __webpack_require__(/*! ./FallbackCompositionState */ "./node_modules/react-dom/lib/FallbackCompositionState.js");
|
8992 |
+
var SyntheticCompositionEvent = __webpack_require__(/*! ./SyntheticCompositionEvent */ "./node_modules/react-dom/lib/SyntheticCompositionEvent.js");
|
8993 |
+
var SyntheticInputEvent = __webpack_require__(/*! ./SyntheticInputEvent */ "./node_modules/react-dom/lib/SyntheticInputEvent.js");
|
8994 |
+
|
8995 |
+
var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space
|
8996 |
+
var START_KEYCODE = 229;
|
8997 |
+
|
8998 |
+
var canUseCompositionEvent = ExecutionEnvironment.canUseDOM && 'CompositionEvent' in window;
|
8999 |
+
|
9000 |
+
var documentMode = null;
|
9001 |
+
if (ExecutionEnvironment.canUseDOM && 'documentMode' in document) {
|
9002 |
+
documentMode = document.documentMode;
|
9003 |
+
}
|
9004 |
+
|
9005 |
+
// Webkit offers a very useful `textInput` event that can be used to
|
9006 |
+
// directly represent `beforeInput`. The IE `textinput` event is not as
|
9007 |
+
// useful, so we don't use it.
|
9008 |
+
var canUseTextInputEvent = ExecutionEnvironment.canUseDOM && 'TextEvent' in window && !documentMode && !isPresto();
|
9009 |
+
|
9010 |
+
// In IE9+, we have access to composition events, but the data supplied
|
9011 |
+
// by the native compositionend event may be incorrect. Japanese ideographic
|
9012 |
+
// spaces, for instance (\u3000) are not recorded correctly.
|
9013 |
+
var useFallbackCompositionData = ExecutionEnvironment.canUseDOM && (!canUseCompositionEvent || documentMode && documentMode > 8 && documentMode <= 11);
|
9014 |
+
|
9015 |
+
/**
|
9016 |
+
* Opera <= 12 includes TextEvent in window, but does not fire
|
9017 |
+
* text input events. Rely on keypress instead.
|
9018 |
+
*/
|
9019 |
+
function isPresto() {
|
9020 |
+
var opera = window.opera;
|
9021 |
+
return typeof opera === 'object' && typeof opera.version === 'function' && parseInt(opera.version(), 10) <= 12;
|
9022 |
+
}
|
9023 |
+
|
9024 |
+
var SPACEBAR_CODE = 32;
|
9025 |
+
var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE);
|
9026 |
+
|
9027 |
+
// Events and their corresponding property names.
|
9028 |
+
var eventTypes = {
|
9029 |
+
beforeInput: {
|
9030 |
+
phasedRegistrationNames: {
|
9031 |
+
bubbled: 'onBeforeInput',
|
9032 |
+
captured: 'onBeforeInputCapture'
|
9033 |
+
},
|
9034 |
+
dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste']
|
9035 |
+
},
|
9036 |
+
compositionEnd: {
|
9037 |
+
phasedRegistrationNames: {
|
9038 |
+
bubbled: 'onCompositionEnd',
|
9039 |
+
captured: 'onCompositionEndCapture'
|
9040 |
+
},
|
9041 |
+
dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
|
9042 |
+
},
|
9043 |
+
compositionStart: {
|
9044 |
+
phasedRegistrationNames: {
|
9045 |
+
bubbled: 'onCompositionStart',
|
9046 |
+
captured: 'onCompositionStartCapture'
|
9047 |
+
},
|
9048 |
+
dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
|
9049 |
+
},
|
9050 |
+
compositionUpdate: {
|
9051 |
+
phasedRegistrationNames: {
|
9052 |
+
bubbled: 'onCompositionUpdate',
|
9053 |
+
captured: 'onCompositionUpdateCapture'
|
9054 |
+
},
|
9055 |
+
dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown']
|
9056 |
+
}
|
9057 |
+
};
|
9058 |
+
|
9059 |
+
// Track whether we've ever handled a keypress on the space key.
|
9060 |
+
var hasSpaceKeypress = false;
|
9061 |
+
|
9062 |
+
/**
|
9063 |
+
* Return whether a native keypress event is assumed to be a command.
|
9064 |
+
* This is required because Firefox fires `keypress` events for key commands
|
9065 |
+
* (cut, copy, select-all, etc.) even though no character is inserted.
|
9066 |
+
*/
|
9067 |
+
function isKeypressCommand(nativeEvent) {
|
9068 |
+
return (nativeEvent.ctrlKey || nativeEvent.altKey || nativeEvent.metaKey) &&
|
9069 |
+
// ctrlKey && altKey is equivalent to AltGr, and is not a command.
|
9070 |
+
!(nativeEvent.ctrlKey && nativeEvent.altKey);
|
9071 |
+
}
|
9072 |
+
|
9073 |
+
/**
|
9074 |
+
* Translate native top level events into event types.
|
9075 |
+
*
|
9076 |
+
* @param {string} topLevelType
|
9077 |
+
* @return {object}
|
9078 |
+
*/
|
9079 |
+
function getCompositionEventType(topLevelType) {
|
9080 |
+
switch (topLevelType) {
|
9081 |
+
case 'topCompositionStart':
|
9082 |
+
return eventTypes.compositionStart;
|
9083 |
+
case 'topCompositionEnd':
|
9084 |
+
return eventTypes.compositionEnd;
|
9085 |
+
case 'topCompositionUpdate':
|
9086 |
+
return eventTypes.compositionUpdate;
|
9087 |
+
}
|
9088 |
+
}
|
9089 |
+
|
9090 |
+
/**
|
9091 |
+
* Does our fallback best-guess model think this event signifies that
|
9092 |
+
* composition has begun?
|
9093 |
+
*
|
9094 |
+
* @param {string} topLevelType
|
9095 |
+
* @param {object} nativeEvent
|
9096 |
+
* @return {boolean}
|
9097 |
+
*/
|
9098 |
+
function isFallbackCompositionStart(topLevelType, nativeEvent) {
|
9099 |
+
return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE;
|
9100 |
+
}
|
9101 |
+
|
9102 |
+
/**
|
9103 |
+
* Does our fallback mode think that this event is the end of composition?
|
9104 |
+
*
|
9105 |
+
* @param {string} topLevelType
|
9106 |
+
* @param {object} nativeEvent
|
9107 |
+
* @return {boolean}
|
9108 |
+
*/
|
9109 |
+
function isFallbackCompositionEnd(topLevelType, nativeEvent) {
|
9110 |
+
switch (topLevelType) {
|
9111 |
+
case 'topKeyUp':
|
9112 |
+
// Command keys insert or clear IME input.
|
9113 |
+
return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1;
|
9114 |
+
case 'topKeyDown':
|
9115 |
+
// Expect IME keyCode on each keydown. If we get any other
|
9116 |
+
// code we must have exited earlier.
|
9117 |
+
return nativeEvent.keyCode !== START_KEYCODE;
|
9118 |
+
case 'topKeyPress':
|
9119 |
+
case 'topMouseDown':
|
9120 |
+
case 'topBlur':
|
9121 |
+
// Events are not possible without cancelling IME.
|
9122 |
+
return true;
|
9123 |
+
default:
|
9124 |
+
return false;
|
9125 |
+
}
|
9126 |
+
}
|
9127 |
+
|
9128 |
+
/**
|
9129 |
+
* Google Input Tools provides composition data via a CustomEvent,
|
9130 |
+
* with the `data` property populated in the `detail` object. If this
|
9131 |
+
* is available on the event object, use it. If not, this is a plain
|
9132 |
+
* composition event and we have nothing special to extract.
|
9133 |
+
*
|
9134 |
+
* @param {object} nativeEvent
|
9135 |
+
* @return {?string}
|
9136 |
+
*/
|
9137 |
+
function getDataFromCustomEvent(nativeEvent) {
|
9138 |
+
var detail = nativeEvent.detail;
|
9139 |
+
if (typeof detail === 'object' && 'data' in detail) {
|
9140 |
+
return detail.data;
|
9141 |
+
}
|
9142 |
+
return null;
|
9143 |
+
}
|
9144 |
+
|
9145 |
+
// Track the current IME composition fallback object, if any.
|
9146 |
+
var currentComposition = null;
|
9147 |
+
|
9148 |
+
/**
|
9149 |
+
* @return {?object} A SyntheticCompositionEvent.
|
9150 |
+
*/
|
9151 |
+
function extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
9152 |
+
var eventType;
|
9153 |
+
var fallbackData;
|
9154 |
+
|
9155 |
+
if (canUseCompositionEvent) {
|
9156 |
+
eventType = getCompositionEventType(topLevelType);
|
9157 |
+
} else if (!currentComposition) {
|
9158 |
+
if (isFallbackCompositionStart(topLevelType, nativeEvent)) {
|
9159 |
+
eventType = eventTypes.compositionStart;
|
9160 |
+
}
|
9161 |
+
} else if (isFallbackCompositionEnd(topLevelType, nativeEvent)) {
|
9162 |
+
eventType = eventTypes.compositionEnd;
|
9163 |
+
}
|
9164 |
+
|
9165 |
+
if (!eventType) {
|
9166 |
+
return null;
|
9167 |
+
}
|
9168 |
+
|
9169 |
+
if (useFallbackCompositionData) {
|
9170 |
+
// The current composition is stored statically and must not be
|
9171 |
+
// overwritten while composition continues.
|
9172 |
+
if (!currentComposition && eventType === eventTypes.compositionStart) {
|
9173 |
+
currentComposition = FallbackCompositionState.getPooled(nativeEventTarget);
|
9174 |
+
} else if (eventType === eventTypes.compositionEnd) {
|
9175 |
+
if (currentComposition) {
|
9176 |
+
fallbackData = currentComposition.getData();
|
9177 |
+
}
|
9178 |
+
}
|
9179 |
+
}
|
9180 |
+
|
9181 |
+
var event = SyntheticCompositionEvent.getPooled(eventType, targetInst, nativeEvent, nativeEventTarget);
|
9182 |
+
|
9183 |
+
if (fallbackData) {
|
9184 |
+
// Inject data generated from fallback path into the synthetic event.
|
9185 |
+
// This matches the property of native CompositionEventInterface.
|
9186 |
+
event.data = fallbackData;
|
9187 |
+
} else {
|
9188 |
+
var customData = getDataFromCustomEvent(nativeEvent);
|
9189 |
+
if (customData !== null) {
|
9190 |
+
event.data = customData;
|
9191 |
+
}
|
9192 |
+
}
|
9193 |
+
|
9194 |
+
EventPropagators.accumulateTwoPhaseDispatches(event);
|
9195 |
+
return event;
|
9196 |
+
}
|
9197 |
+
|
9198 |
+
/**
|
9199 |
+
* @param {string} topLevelType Record from `EventConstants`.
|
9200 |
+
* @param {object} nativeEvent Native browser event.
|
9201 |
+
* @return {?string} The string corresponding to this `beforeInput` event.
|
9202 |
+
*/
|
9203 |
+
function getNativeBeforeInputChars(topLevelType, nativeEvent) {
|
9204 |
+
switch (topLevelType) {
|
9205 |
+
case 'topCompositionEnd':
|
9206 |
+
return getDataFromCustomEvent(nativeEvent);
|
9207 |
+
case 'topKeyPress':
|
9208 |
+
/**
|
9209 |
+
* If native `textInput` events are available, our goal is to make
|
9210 |
+
* use of them. However, there is a special case: the spacebar key.
|
9211 |
+
* In Webkit, preventing default on a spacebar `textInput` event
|
9212 |
+
* cancels character insertion, but it *also* causes the browser
|
9213 |
+
* to fall back to its default spacebar behavior of scrolling the
|
9214 |
+
* page.
|
9215 |
+
*
|
9216 |
+
* Tracking at:
|
9217 |
+
* https://code.google.com/p/chromium/issues/detail?id=355103
|
9218 |
+
*
|
9219 |
+
* To avoid this issue, use the keypress event as if no `textInput`
|
9220 |
+
* event is available.
|
9221 |
+
*/
|
9222 |
+
var which = nativeEvent.which;
|
9223 |
+
if (which !== SPACEBAR_CODE) {
|
9224 |
+
return null;
|
9225 |
+
}
|
9226 |
+
|
9227 |
+
hasSpaceKeypress = true;
|
9228 |
+
return SPACEBAR_CHAR;
|
9229 |
+
|
9230 |
+
case 'topTextInput':
|
9231 |
+
// Record the characters to be added to the DOM.
|
9232 |
+
var chars = nativeEvent.data;
|
9233 |
+
|
9234 |
+
// If it's a spacebar character, assume that we have already handled
|
9235 |
+
// it at the keypress level and bail immediately. Android Chrome
|
9236 |
+
// doesn't give us keycodes, so we need to blacklist it.
|
9237 |
+
if (chars === SPACEBAR_CHAR && hasSpaceKeypress) {
|
9238 |
+
return null;
|
9239 |
+
}
|
9240 |
+
|
9241 |
+
return chars;
|
9242 |
+
|
9243 |
+
default:
|
9244 |
+
// For other native event types, do nothing.
|
9245 |
+
return null;
|
9246 |
+
}
|
9247 |
+
}
|
9248 |
+
|
9249 |
+
/**
|
9250 |
+
* For browsers that do not provide the `textInput` event, extract the
|
9251 |
+
* appropriate string to use for SyntheticInputEvent.
|
9252 |
+
*
|
9253 |
+
* @param {string} topLevelType Record from `EventConstants`.
|
9254 |
+
* @param {object} nativeEvent Native browser event.
|
9255 |
+
* @return {?string} The fallback string for this `beforeInput` event.
|
9256 |
+
*/
|
9257 |
+
function getFallbackBeforeInputChars(topLevelType, nativeEvent) {
|
9258 |
+
// If we are currently composing (IME) and using a fallback to do so,
|
9259 |
+
// try to extract the composed characters from the fallback object.
|
9260 |
+
// If composition event is available, we extract a string only at
|
9261 |
+
// compositionevent, otherwise extract it at fallback events.
|
9262 |
+
if (currentComposition) {
|
9263 |
+
if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) {
|
9264 |
+
var chars = currentComposition.getData();
|
9265 |
+
FallbackCompositionState.release(currentComposition);
|
9266 |
+
currentComposition = null;
|
9267 |
+
return chars;
|
9268 |
+
}
|
9269 |
+
return null;
|
9270 |
+
}
|
9271 |
+
|
9272 |
+
switch (topLevelType) {
|
9273 |
+
case 'topPaste':
|
9274 |
+
// If a paste event occurs after a keypress, throw out the input
|
9275 |
+
// chars. Paste events should not lead to BeforeInput events.
|
9276 |
+
return null;
|
9277 |
+
case 'topKeyPress':
|
9278 |
+
/**
|
9279 |
+
* As of v27, Firefox may fire keypress events even when no character
|
9280 |
+
* will be inserted. A few possibilities:
|
9281 |
+
*
|
9282 |
+
* - `which` is `0`. Arrow keys, Esc key, etc.
|
9283 |
+
*
|
9284 |
+
* - `which` is the pressed key code, but no char is available.
|
9285 |
+
* Ex: 'AltGr + d` in Polish. There is no modified character for
|
9286 |
+
* this key combination and no character is inserted into the
|
9287 |
+
* document, but FF fires the keypress for char code `100` anyway.
|
9288 |
+
* No `input` event will occur.
|
9289 |
+
*
|
9290 |
+
* - `which` is the pressed key code, but a command combination is
|
9291 |
+
* being used. Ex: `Cmd+C`. No character is inserted, and no
|
9292 |
+
* `input` event will occur.
|
9293 |
+
*/
|
9294 |
+
if (nativeEvent.which && !isKeypressCommand(nativeEvent)) {
|
9295 |
+
return String.fromCharCode(nativeEvent.which);
|
9296 |
+
}
|
9297 |
+
return null;
|
9298 |
+
case 'topCompositionEnd':
|
9299 |
+
return useFallbackCompositionData ? null : nativeEvent.data;
|
9300 |
+
default:
|
9301 |
+
return null;
|
9302 |
+
}
|
9303 |
+
}
|
9304 |
+
|
9305 |
+
/**
|
9306 |
+
* Extract a SyntheticInputEvent for `beforeInput`, based on either native
|
9307 |
+
* `textInput` or fallback behavior.
|
9308 |
+
*
|
9309 |
+
* @return {?object} A SyntheticInputEvent.
|
9310 |
+
*/
|
9311 |
+
function extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
9312 |
+
var chars;
|
9313 |
+
|
9314 |
+
if (canUseTextInputEvent) {
|
9315 |
+
chars = getNativeBeforeInputChars(topLevelType, nativeEvent);
|
9316 |
+
} else {
|
9317 |
+
chars = getFallbackBeforeInputChars(topLevelType, nativeEvent);
|
9318 |
+
}
|
9319 |
+
|
9320 |
+
// If no characters are being inserted, no BeforeInput event should
|
9321 |
+
// be fired.
|
9322 |
+
if (!chars) {
|
9323 |
+
return null;
|
9324 |
+
}
|
9325 |
+
|
9326 |
+
var event = SyntheticInputEvent.getPooled(eventTypes.beforeInput, targetInst, nativeEvent, nativeEventTarget);
|
9327 |
+
|
9328 |
+
event.data = chars;
|
9329 |
+
EventPropagators.accumulateTwoPhaseDispatches(event);
|
9330 |
+
return event;
|
9331 |
+
}
|
9332 |
+
|
9333 |
+
/**
|
9334 |
+
* Create an `onBeforeInput` event to match
|
9335 |
+
* http://www.w3.org/TR/2013/WD-DOM-Level-3-Events-20131105/#events-inputevents.
|
9336 |
+
*
|
9337 |
+
* This event plugin is based on the native `textInput` event
|
9338 |
+
* available in Chrome, Safari, Opera, and IE. This event fires after
|
9339 |
+
* `onKeyPress` and `onCompositionEnd`, but before `onInput`.
|
9340 |
+
*
|
9341 |
+
* `beforeInput` is spec'd but not implemented in any browsers, and
|
9342 |
+
* the `input` event does not provide any useful information about what has
|
9343 |
+
* actually been added, contrary to the spec. Thus, `textInput` is the best
|
9344 |
+
* available event to identify the characters that have actually been inserted
|
9345 |
+
* into the target node.
|
9346 |
+
*
|
9347 |
+
* This plugin is also responsible for emitting `composition` events, thus
|
9348 |
+
* allowing us to share composition fallback code for both `beforeInput` and
|
9349 |
+
* `composition` event types.
|
9350 |
+
*/
|
9351 |
+
var BeforeInputEventPlugin = {
|
9352 |
+
eventTypes: eventTypes,
|
9353 |
+
|
9354 |
+
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
9355 |
+
return [extractCompositionEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget), extractBeforeInputEvent(topLevelType, targetInst, nativeEvent, nativeEventTarget)];
|
9356 |
+
}
|
9357 |
+
};
|
9358 |
+
|
9359 |
+
module.exports = BeforeInputEventPlugin;
|
9360 |
+
|
9361 |
+
/***/ }),
|
9362 |
+
|
9363 |
+
/***/ "./node_modules/react-dom/lib/CSSProperty.js":
|
9364 |
+
/*!***************************************************!*\
|
9365 |
+
!*** ./node_modules/react-dom/lib/CSSProperty.js ***!
|
9366 |
+
\***************************************************/
|
9367 |
+
/*! no static exports found */
|
9368 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9369 |
+
|
9370 |
+
"use strict";
|
9371 |
+
/**
|
9372 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
9373 |
+
*
|
9374 |
+
* This source code is licensed under the MIT license found in the
|
9375 |
+
* LICENSE file in the root directory of this source tree.
|
9376 |
+
*
|
9377 |
+
*/
|
9378 |
+
|
9379 |
+
|
9380 |
+
|
9381 |
+
/**
|
9382 |
+
* CSS properties which accept numbers but are not in units of "px".
|
9383 |
+
*/
|
9384 |
+
|
9385 |
+
var isUnitlessNumber = {
|
9386 |
+
animationIterationCount: true,
|
9387 |
+
borderImageOutset: true,
|
9388 |
+
borderImageSlice: true,
|
9389 |
+
borderImageWidth: true,
|
9390 |
+
boxFlex: true,
|
9391 |
+
boxFlexGroup: true,
|
9392 |
+
boxOrdinalGroup: true,
|
9393 |
+
columnCount: true,
|
9394 |
+
columns: true,
|
9395 |
+
flex: true,
|
9396 |
+
flexGrow: true,
|
9397 |
+
flexPositive: true,
|
9398 |
+
flexShrink: true,
|
9399 |
+
flexNegative: true,
|
9400 |
+
flexOrder: true,
|
9401 |
+
gridRow: true,
|
9402 |
+
gridRowEnd: true,
|
9403 |
+
gridRowSpan: true,
|
9404 |
+
gridRowStart: true,
|
9405 |
+
gridColumn: true,
|
9406 |
+
gridColumnEnd: true,
|
9407 |
+
gridColumnSpan: true,
|
9408 |
+
gridColumnStart: true,
|
9409 |
+
fontWeight: true,
|
9410 |
+
lineClamp: true,
|
9411 |
+
lineHeight: true,
|
9412 |
+
opacity: true,
|
9413 |
+
order: true,
|
9414 |
+
orphans: true,
|
9415 |
+
tabSize: true,
|
9416 |
+
widows: true,
|
9417 |
+
zIndex: true,
|
9418 |
+
zoom: true,
|
9419 |
+
|
9420 |
+
// SVG-related properties
|
9421 |
+
fillOpacity: true,
|
9422 |
+
floodOpacity: true,
|
9423 |
+
stopOpacity: true,
|
9424 |
+
strokeDasharray: true,
|
9425 |
+
strokeDashoffset: true,
|
9426 |
+
strokeMiterlimit: true,
|
9427 |
+
strokeOpacity: true,
|
9428 |
+
strokeWidth: true
|
9429 |
+
};
|
9430 |
+
|
9431 |
+
/**
|
9432 |
+
* @param {string} prefix vendor-specific prefix, eg: Webkit
|
9433 |
+
* @param {string} key style name, eg: transitionDuration
|
9434 |
+
* @return {string} style name prefixed with `prefix`, properly camelCased, eg:
|
9435 |
+
* WebkitTransitionDuration
|
9436 |
+
*/
|
9437 |
+
function prefixKey(prefix, key) {
|
9438 |
+
return prefix + key.charAt(0).toUpperCase() + key.substring(1);
|
9439 |
+
}
|
9440 |
+
|
9441 |
+
/**
|
9442 |
+
* Support style names that may come passed in prefixed by adding permutations
|
9443 |
+
* of vendor prefixes.
|
9444 |
+
*/
|
9445 |
+
var prefixes = ['Webkit', 'ms', 'Moz', 'O'];
|
9446 |
+
|
9447 |
+
// Using Object.keys here, or else the vanilla for-in loop makes IE8 go into an
|
9448 |
+
// infinite loop, because it iterates over the newly added props too.
|
9449 |
+
Object.keys(isUnitlessNumber).forEach(function (prop) {
|
9450 |
+
prefixes.forEach(function (prefix) {
|
9451 |
+
isUnitlessNumber[prefixKey(prefix, prop)] = isUnitlessNumber[prop];
|
9452 |
+
});
|
9453 |
+
});
|
9454 |
+
|
9455 |
+
/**
|
9456 |
+
* Most style properties can be unset by doing .style[prop] = '' but IE8
|
9457 |
+
* doesn't like doing that with shorthand properties so for the properties that
|
9458 |
+
* IE8 breaks on, which are listed here, we instead unset each of the
|
9459 |
+
* individual properties. See http://bugs.jquery.com/ticket/12385.
|
9460 |
+
* The 4-value 'clock' properties like margin, padding, border-width seem to
|
9461 |
+
* behave without any problems. Curiously, list-style works too without any
|
9462 |
+
* special prodding.
|
9463 |
+
*/
|
9464 |
+
var shorthandPropertyExpansions = {
|
9465 |
+
background: {
|
9466 |
+
backgroundAttachment: true,
|
9467 |
+
backgroundColor: true,
|
9468 |
+
backgroundImage: true,
|
9469 |
+
backgroundPositionX: true,
|
9470 |
+
backgroundPositionY: true,
|
9471 |
+
backgroundRepeat: true
|
9472 |
+
},
|
9473 |
+
backgroundPosition: {
|
9474 |
+
backgroundPositionX: true,
|
9475 |
+
backgroundPositionY: true
|
9476 |
+
},
|
9477 |
+
border: {
|
9478 |
+
borderWidth: true,
|
9479 |
+
borderStyle: true,
|
9480 |
+
borderColor: true
|
9481 |
+
},
|
9482 |
+
borderBottom: {
|
9483 |
+
borderBottomWidth: true,
|
9484 |
+
borderBottomStyle: true,
|
9485 |
+
borderBottomColor: true
|
9486 |
+
},
|
9487 |
+
borderLeft: {
|
9488 |
+
borderLeftWidth: true,
|
9489 |
+
borderLeftStyle: true,
|
9490 |
+
borderLeftColor: true
|
9491 |
+
},
|
9492 |
+
borderRight: {
|
9493 |
+
borderRightWidth: true,
|
9494 |
+
borderRightStyle: true,
|
9495 |
+
borderRightColor: true
|
9496 |
+
},
|
9497 |
+
borderTop: {
|
9498 |
+
borderTopWidth: true,
|
9499 |
+
borderTopStyle: true,
|
9500 |
+
borderTopColor: true
|
9501 |
+
},
|
9502 |
+
font: {
|
9503 |
+
fontStyle: true,
|
9504 |
+
fontVariant: true,
|
9505 |
+
fontWeight: true,
|
9506 |
+
fontSize: true,
|
9507 |
+
lineHeight: true,
|
9508 |
+
fontFamily: true
|
9509 |
+
},
|
9510 |
+
outline: {
|
9511 |
+
outlineWidth: true,
|
9512 |
+
outlineStyle: true,
|
9513 |
+
outlineColor: true
|
9514 |
+
}
|
9515 |
+
};
|
9516 |
+
|
9517 |
+
var CSSProperty = {
|
9518 |
+
isUnitlessNumber: isUnitlessNumber,
|
9519 |
+
shorthandPropertyExpansions: shorthandPropertyExpansions
|
9520 |
+
};
|
9521 |
+
|
9522 |
+
module.exports = CSSProperty;
|
9523 |
+
|
9524 |
+
/***/ }),
|
9525 |
+
|
9526 |
+
/***/ "./node_modules/react-dom/lib/CSSPropertyOperations.js":
|
9527 |
+
/*!*************************************************************!*\
|
9528 |
+
!*** ./node_modules/react-dom/lib/CSSPropertyOperations.js ***!
|
9529 |
+
\*************************************************************/
|
9530 |
+
/*! no static exports found */
|
9531 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9532 |
+
|
9533 |
+
"use strict";
|
9534 |
+
/**
|
9535 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
9536 |
+
*
|
9537 |
+
* This source code is licensed under the MIT license found in the
|
9538 |
+
* LICENSE file in the root directory of this source tree.
|
9539 |
+
*
|
9540 |
+
*/
|
9541 |
+
|
9542 |
+
|
9543 |
+
|
9544 |
+
var CSSProperty = __webpack_require__(/*! ./CSSProperty */ "./node_modules/react-dom/lib/CSSProperty.js");
|
9545 |
+
var ExecutionEnvironment = __webpack_require__(/*! fbjs/lib/ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
9546 |
+
var ReactInstrumentation = __webpack_require__(/*! ./ReactInstrumentation */ "./node_modules/react-dom/lib/ReactInstrumentation.js");
|
9547 |
+
|
9548 |
+
var camelizeStyleName = __webpack_require__(/*! fbjs/lib/camelizeStyleName */ "./node_modules/fbjs/lib/camelizeStyleName.js");
|
9549 |
+
var dangerousStyleValue = __webpack_require__(/*! ./dangerousStyleValue */ "./node_modules/react-dom/lib/dangerousStyleValue.js");
|
9550 |
+
var hyphenateStyleName = __webpack_require__(/*! fbjs/lib/hyphenateStyleName */ "./node_modules/fbjs/lib/hyphenateStyleName.js");
|
9551 |
+
var memoizeStringOnly = __webpack_require__(/*! fbjs/lib/memoizeStringOnly */ "./node_modules/fbjs/lib/memoizeStringOnly.js");
|
9552 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
9553 |
+
|
9554 |
+
var processStyleName = memoizeStringOnly(function (styleName) {
|
9555 |
+
return hyphenateStyleName(styleName);
|
9556 |
+
});
|
9557 |
+
|
9558 |
+
var hasShorthandPropertyBug = false;
|
9559 |
+
var styleFloatAccessor = 'cssFloat';
|
9560 |
+
if (ExecutionEnvironment.canUseDOM) {
|
9561 |
+
var tempStyle = document.createElement('div').style;
|
9562 |
+
try {
|
9563 |
+
// IE8 throws "Invalid argument." if resetting shorthand style properties.
|
9564 |
+
tempStyle.font = '';
|
9565 |
+
} catch (e) {
|
9566 |
+
hasShorthandPropertyBug = true;
|
9567 |
+
}
|
9568 |
+
// IE8 only supports accessing cssFloat (standard) as styleFloat
|
9569 |
+
if (document.documentElement.style.cssFloat === undefined) {
|
9570 |
+
styleFloatAccessor = 'styleFloat';
|
9571 |
+
}
|
9572 |
+
}
|
9573 |
+
|
9574 |
+
if (true) {
|
9575 |
+
// 'msTransform' is correct, but the other prefixes should be capitalized
|
9576 |
+
var badVendoredStyleNamePattern = /^(?:webkit|moz|o)[A-Z]/;
|
9577 |
+
|
9578 |
+
// style values shouldn't contain a semicolon
|
9579 |
+
var badStyleValueWithSemicolonPattern = /;\s*$/;
|
9580 |
+
|
9581 |
+
var warnedStyleNames = {};
|
9582 |
+
var warnedStyleValues = {};
|
9583 |
+
var warnedForNaNValue = false;
|
9584 |
+
|
9585 |
+
var warnHyphenatedStyleName = function (name, owner) {
|
9586 |
+
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
9587 |
+
return;
|
9588 |
+
}
|
9589 |
+
|
9590 |
+
warnedStyleNames[name] = true;
|
9591 |
+
true ? warning(false, 'Unsupported style property %s. Did you mean %s?%s', name, camelizeStyleName(name), checkRenderMessage(owner)) : undefined;
|
9592 |
+
};
|
9593 |
+
|
9594 |
+
var warnBadVendoredStyleName = function (name, owner) {
|
9595 |
+
if (warnedStyleNames.hasOwnProperty(name) && warnedStyleNames[name]) {
|
9596 |
+
return;
|
9597 |
+
}
|
9598 |
+
|
9599 |
+
warnedStyleNames[name] = true;
|
9600 |
+
true ? warning(false, 'Unsupported vendor-prefixed style property %s. Did you mean %s?%s', name, name.charAt(0).toUpperCase() + name.slice(1), checkRenderMessage(owner)) : undefined;
|
9601 |
+
};
|
9602 |
+
|
9603 |
+
var warnStyleValueWithSemicolon = function (name, value, owner) {
|
9604 |
+
if (warnedStyleValues.hasOwnProperty(value) && warnedStyleValues[value]) {
|
9605 |
+
return;
|
9606 |
+
}
|
9607 |
+
|
9608 |
+
warnedStyleValues[value] = true;
|
9609 |
+
true ? warning(false, "Style property values shouldn't contain a semicolon.%s " + 'Try "%s: %s" instead.', checkRenderMessage(owner), name, value.replace(badStyleValueWithSemicolonPattern, '')) : undefined;
|
9610 |
+
};
|
9611 |
+
|
9612 |
+
var warnStyleValueIsNaN = function (name, value, owner) {
|
9613 |
+
if (warnedForNaNValue) {
|
9614 |
+
return;
|
9615 |
+
}
|
9616 |
+
|
9617 |
+
warnedForNaNValue = true;
|
9618 |
+
true ? warning(false, '`NaN` is an invalid value for the `%s` css style property.%s', name, checkRenderMessage(owner)) : undefined;
|
9619 |
+
};
|
9620 |
+
|
9621 |
+
var checkRenderMessage = function (owner) {
|
9622 |
+
if (owner) {
|
9623 |
+
var name = owner.getName();
|
9624 |
+
if (name) {
|
9625 |
+
return ' Check the render method of `' + name + '`.';
|
9626 |
+
}
|
9627 |
+
}
|
9628 |
+
return '';
|
9629 |
+
};
|
9630 |
+
|
9631 |
+
/**
|
9632 |
+
* @param {string} name
|
9633 |
+
* @param {*} value
|
9634 |
+
* @param {ReactDOMComponent} component
|
9635 |
+
*/
|
9636 |
+
var warnValidStyle = function (name, value, component) {
|
9637 |
+
var owner;
|
9638 |
+
if (component) {
|
9639 |
+
owner = component._currentElement._owner;
|
9640 |
+
}
|
9641 |
+
if (name.indexOf('-') > -1) {
|
9642 |
+
warnHyphenatedStyleName(name, owner);
|
9643 |
+
} else if (badVendoredStyleNamePattern.test(name)) {
|
9644 |
+
warnBadVendoredStyleName(name, owner);
|
9645 |
+
} else if (badStyleValueWithSemicolonPattern.test(value)) {
|
9646 |
+
warnStyleValueWithSemicolon(name, value, owner);
|
9647 |
+
}
|
9648 |
+
|
9649 |
+
if (typeof value === 'number' && isNaN(value)) {
|
9650 |
+
warnStyleValueIsNaN(name, value, owner);
|
9651 |
+
}
|
9652 |
+
};
|
9653 |
+
}
|
9654 |
+
|
9655 |
+
/**
|
9656 |
+
* Operations for dealing with CSS properties.
|
9657 |
+
*/
|
9658 |
+
var CSSPropertyOperations = {
|
9659 |
+
/**
|
9660 |
+
* Serializes a mapping of style properties for use as inline styles:
|
9661 |
+
*
|
9662 |
+
* > createMarkupForStyles({width: '200px', height: 0})
|
9663 |
+
* "width:200px;height:0;"
|
9664 |
+
*
|
9665 |
+
* Undefined values are ignored so that declarative programming is easier.
|
9666 |
+
* The result should be HTML-escaped before insertion into the DOM.
|
9667 |
+
*
|
9668 |
+
* @param {object} styles
|
9669 |
+
* @param {ReactDOMComponent} component
|
9670 |
+
* @return {?string}
|
9671 |
+
*/
|
9672 |
+
createMarkupForStyles: function (styles, component) {
|
9673 |
+
var serialized = '';
|
9674 |
+
for (var styleName in styles) {
|
9675 |
+
if (!styles.hasOwnProperty(styleName)) {
|
9676 |
+
continue;
|
9677 |
+
}
|
9678 |
+
var isCustomProperty = styleName.indexOf('--') === 0;
|
9679 |
+
var styleValue = styles[styleName];
|
9680 |
+
if (true) {
|
9681 |
+
if (!isCustomProperty) {
|
9682 |
+
warnValidStyle(styleName, styleValue, component);
|
9683 |
+
}
|
9684 |
+
}
|
9685 |
+
if (styleValue != null) {
|
9686 |
+
serialized += processStyleName(styleName) + ':';
|
9687 |
+
serialized += dangerousStyleValue(styleName, styleValue, component, isCustomProperty) + ';';
|
9688 |
+
}
|
9689 |
+
}
|
9690 |
+
return serialized || null;
|
9691 |
+
},
|
9692 |
+
|
9693 |
+
/**
|
9694 |
+
* Sets the value for multiple styles on a node. If a value is specified as
|
9695 |
+
* '' (empty string), the corresponding style property will be unset.
|
9696 |
+
*
|
9697 |
+
* @param {DOMElement} node
|
9698 |
+
* @param {object} styles
|
9699 |
+
* @param {ReactDOMComponent} component
|
9700 |
+
*/
|
9701 |
+
setValueForStyles: function (node, styles, component) {
|
9702 |
+
if (true) {
|
9703 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
9704 |
+
instanceID: component._debugID,
|
9705 |
+
type: 'update styles',
|
9706 |
+
payload: styles
|
9707 |
+
});
|
9708 |
+
}
|
9709 |
+
|
9710 |
+
var style = node.style;
|
9711 |
+
for (var styleName in styles) {
|
9712 |
+
if (!styles.hasOwnProperty(styleName)) {
|
9713 |
+
continue;
|
9714 |
+
}
|
9715 |
+
var isCustomProperty = styleName.indexOf('--') === 0;
|
9716 |
+
if (true) {
|
9717 |
+
if (!isCustomProperty) {
|
9718 |
+
warnValidStyle(styleName, styles[styleName], component);
|
9719 |
+
}
|
9720 |
+
}
|
9721 |
+
var styleValue = dangerousStyleValue(styleName, styles[styleName], component, isCustomProperty);
|
9722 |
+
if (styleName === 'float' || styleName === 'cssFloat') {
|
9723 |
+
styleName = styleFloatAccessor;
|
9724 |
+
}
|
9725 |
+
if (isCustomProperty) {
|
9726 |
+
style.setProperty(styleName, styleValue);
|
9727 |
+
} else if (styleValue) {
|
9728 |
+
style[styleName] = styleValue;
|
9729 |
+
} else {
|
9730 |
+
var expansion = hasShorthandPropertyBug && CSSProperty.shorthandPropertyExpansions[styleName];
|
9731 |
+
if (expansion) {
|
9732 |
+
// Shorthand property that IE8 won't like unsetting, so unset each
|
9733 |
+
// component to placate it
|
9734 |
+
for (var individualStyleName in expansion) {
|
9735 |
+
style[individualStyleName] = '';
|
9736 |
+
}
|
9737 |
+
} else {
|
9738 |
+
style[styleName] = '';
|
9739 |
+
}
|
9740 |
+
}
|
9741 |
+
}
|
9742 |
+
}
|
9743 |
+
};
|
9744 |
+
|
9745 |
+
module.exports = CSSPropertyOperations;
|
9746 |
+
|
9747 |
+
/***/ }),
|
9748 |
+
|
9749 |
+
/***/ "./node_modules/react-dom/lib/CallbackQueue.js":
|
9750 |
+
/*!*****************************************************!*\
|
9751 |
+
!*** ./node_modules/react-dom/lib/CallbackQueue.js ***!
|
9752 |
+
\*****************************************************/
|
9753 |
+
/*! no static exports found */
|
9754 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9755 |
+
|
9756 |
+
"use strict";
|
9757 |
+
/**
|
9758 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
9759 |
+
*
|
9760 |
+
* This source code is licensed under the MIT license found in the
|
9761 |
+
* LICENSE file in the root directory of this source tree.
|
9762 |
+
*
|
9763 |
+
*
|
9764 |
+
*/
|
9765 |
+
|
9766 |
+
|
9767 |
+
|
9768 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
9769 |
+
|
9770 |
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
9771 |
+
|
9772 |
+
var PooledClass = __webpack_require__(/*! ./PooledClass */ "./node_modules/react-dom/lib/PooledClass.js");
|
9773 |
+
|
9774 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
9775 |
+
|
9776 |
+
/**
|
9777 |
+
* A specialized pseudo-event module to help keep track of components waiting to
|
9778 |
+
* be notified when their DOM representations are available for use.
|
9779 |
+
*
|
9780 |
+
* This implements `PooledClass`, so you should never need to instantiate this.
|
9781 |
+
* Instead, use `CallbackQueue.getPooled()`.
|
9782 |
+
*
|
9783 |
+
* @class ReactMountReady
|
9784 |
+
* @implements PooledClass
|
9785 |
+
* @internal
|
9786 |
+
*/
|
9787 |
+
|
9788 |
+
var CallbackQueue = function () {
|
9789 |
+
function CallbackQueue(arg) {
|
9790 |
+
_classCallCheck(this, CallbackQueue);
|
9791 |
+
|
9792 |
+
this._callbacks = null;
|
9793 |
+
this._contexts = null;
|
9794 |
+
this._arg = arg;
|
9795 |
+
}
|
9796 |
+
|
9797 |
+
/**
|
9798 |
+
* Enqueues a callback to be invoked when `notifyAll` is invoked.
|
9799 |
+
*
|
9800 |
+
* @param {function} callback Invoked when `notifyAll` is invoked.
|
9801 |
+
* @param {?object} context Context to call `callback` with.
|
9802 |
+
* @internal
|
9803 |
+
*/
|
9804 |
+
|
9805 |
+
|
9806 |
+
CallbackQueue.prototype.enqueue = function enqueue(callback, context) {
|
9807 |
+
this._callbacks = this._callbacks || [];
|
9808 |
+
this._callbacks.push(callback);
|
9809 |
+
this._contexts = this._contexts || [];
|
9810 |
+
this._contexts.push(context);
|
9811 |
+
};
|
9812 |
+
|
9813 |
+
/**
|
9814 |
+
* Invokes all enqueued callbacks and clears the queue. This is invoked after
|
9815 |
+
* the DOM representation of a component has been created or updated.
|
9816 |
+
*
|
9817 |
+
* @internal
|
9818 |
+
*/
|
9819 |
+
|
9820 |
+
|
9821 |
+
CallbackQueue.prototype.notifyAll = function notifyAll() {
|
9822 |
+
var callbacks = this._callbacks;
|
9823 |
+
var contexts = this._contexts;
|
9824 |
+
var arg = this._arg;
|
9825 |
+
if (callbacks && contexts) {
|
9826 |
+
!(callbacks.length === contexts.length) ? true ? invariant(false, 'Mismatched list of contexts in callback queue') : undefined : void 0;
|
9827 |
+
this._callbacks = null;
|
9828 |
+
this._contexts = null;
|
9829 |
+
for (var i = 0; i < callbacks.length; i++) {
|
9830 |
+
callbacks[i].call(contexts[i], arg);
|
9831 |
+
}
|
9832 |
+
callbacks.length = 0;
|
9833 |
+
contexts.length = 0;
|
9834 |
+
}
|
9835 |
+
};
|
9836 |
+
|
9837 |
+
CallbackQueue.prototype.checkpoint = function checkpoint() {
|
9838 |
+
return this._callbacks ? this._callbacks.length : 0;
|
9839 |
+
};
|
9840 |
+
|
9841 |
+
CallbackQueue.prototype.rollback = function rollback(len) {
|
9842 |
+
if (this._callbacks && this._contexts) {
|
9843 |
+
this._callbacks.length = len;
|
9844 |
+
this._contexts.length = len;
|
9845 |
+
}
|
9846 |
+
};
|
9847 |
+
|
9848 |
+
/**
|
9849 |
+
* Resets the internal queue.
|
9850 |
+
*
|
9851 |
+
* @internal
|
9852 |
+
*/
|
9853 |
+
|
9854 |
+
|
9855 |
+
CallbackQueue.prototype.reset = function reset() {
|
9856 |
+
this._callbacks = null;
|
9857 |
+
this._contexts = null;
|
9858 |
+
};
|
9859 |
+
|
9860 |
+
/**
|
9861 |
+
* `PooledClass` looks for this.
|
9862 |
+
*/
|
9863 |
+
|
9864 |
+
|
9865 |
+
CallbackQueue.prototype.destructor = function destructor() {
|
9866 |
+
this.reset();
|
9867 |
+
};
|
9868 |
+
|
9869 |
+
return CallbackQueue;
|
9870 |
+
}();
|
9871 |
+
|
9872 |
+
module.exports = PooledClass.addPoolingTo(CallbackQueue);
|
9873 |
+
|
9874 |
+
/***/ }),
|
9875 |
+
|
9876 |
+
/***/ "./node_modules/react-dom/lib/ChangeEventPlugin.js":
|
9877 |
+
/*!*********************************************************!*\
|
9878 |
+
!*** ./node_modules/react-dom/lib/ChangeEventPlugin.js ***!
|
9879 |
+
\*********************************************************/
|
9880 |
+
/*! no static exports found */
|
9881 |
+
/***/ (function(module, exports, __webpack_require__) {
|
9882 |
+
|
9883 |
+
"use strict";
|
9884 |
+
/**
|
9885 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
9886 |
+
*
|
9887 |
+
* This source code is licensed under the MIT license found in the
|
9888 |
+
* LICENSE file in the root directory of this source tree.
|
9889 |
+
*
|
9890 |
+
*/
|
9891 |
+
|
9892 |
+
|
9893 |
+
|
9894 |
+
var EventPluginHub = __webpack_require__(/*! ./EventPluginHub */ "./node_modules/react-dom/lib/EventPluginHub.js");
|
9895 |
+
var EventPropagators = __webpack_require__(/*! ./EventPropagators */ "./node_modules/react-dom/lib/EventPropagators.js");
|
9896 |
+
var ExecutionEnvironment = __webpack_require__(/*! fbjs/lib/ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
9897 |
+
var ReactDOMComponentTree = __webpack_require__(/*! ./ReactDOMComponentTree */ "./node_modules/react-dom/lib/ReactDOMComponentTree.js");
|
9898 |
+
var ReactUpdates = __webpack_require__(/*! ./ReactUpdates */ "./node_modules/react-dom/lib/ReactUpdates.js");
|
9899 |
+
var SyntheticEvent = __webpack_require__(/*! ./SyntheticEvent */ "./node_modules/react-dom/lib/SyntheticEvent.js");
|
9900 |
+
|
9901 |
+
var inputValueTracking = __webpack_require__(/*! ./inputValueTracking */ "./node_modules/react-dom/lib/inputValueTracking.js");
|
9902 |
+
var getEventTarget = __webpack_require__(/*! ./getEventTarget */ "./node_modules/react-dom/lib/getEventTarget.js");
|
9903 |
+
var isEventSupported = __webpack_require__(/*! ./isEventSupported */ "./node_modules/react-dom/lib/isEventSupported.js");
|
9904 |
+
var isTextInputElement = __webpack_require__(/*! ./isTextInputElement */ "./node_modules/react-dom/lib/isTextInputElement.js");
|
9905 |
+
|
9906 |
+
var eventTypes = {
|
9907 |
+
change: {
|
9908 |
+
phasedRegistrationNames: {
|
9909 |
+
bubbled: 'onChange',
|
9910 |
+
captured: 'onChangeCapture'
|
9911 |
+
},
|
9912 |
+
dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange']
|
9913 |
+
}
|
9914 |
+
};
|
9915 |
+
|
9916 |
+
function createAndAccumulateChangeEvent(inst, nativeEvent, target) {
|
9917 |
+
var event = SyntheticEvent.getPooled(eventTypes.change, inst, nativeEvent, target);
|
9918 |
+
event.type = 'change';
|
9919 |
+
EventPropagators.accumulateTwoPhaseDispatches(event);
|
9920 |
+
return event;
|
9921 |
+
}
|
9922 |
+
/**
|
9923 |
+
* For IE shims
|
9924 |
+
*/
|
9925 |
+
var activeElement = null;
|
9926 |
+
var activeElementInst = null;
|
9927 |
+
|
9928 |
+
/**
|
9929 |
+
* SECTION: handle `change` event
|
9930 |
+
*/
|
9931 |
+
function shouldUseChangeEvent(elem) {
|
9932 |
+
var nodeName = elem.nodeName && elem.nodeName.toLowerCase();
|
9933 |
+
return nodeName === 'select' || nodeName === 'input' && elem.type === 'file';
|
9934 |
+
}
|
9935 |
+
|
9936 |
+
var doesChangeEventBubble = false;
|
9937 |
+
if (ExecutionEnvironment.canUseDOM) {
|
9938 |
+
// See `handleChange` comment below
|
9939 |
+
doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8);
|
9940 |
+
}
|
9941 |
+
|
9942 |
+
function manualDispatchChangeEvent(nativeEvent) {
|
9943 |
+
var event = createAndAccumulateChangeEvent(activeElementInst, nativeEvent, getEventTarget(nativeEvent));
|
9944 |
+
|
9945 |
+
// If change and propertychange bubbled, we'd just bind to it like all the
|
9946 |
+
// other events and have it go through ReactBrowserEventEmitter. Since it
|
9947 |
+
// doesn't, we manually listen for the events and so we have to enqueue and
|
9948 |
+
// process the abstract event manually.
|
9949 |
+
//
|
9950 |
+
// Batching is necessary here in order to ensure that all event handlers run
|
9951 |
+
// before the next rerender (including event handlers attached to ancestor
|
9952 |
+
// elements instead of directly on the input). Without this, controlled
|
9953 |
+
// components don't work properly in conjunction with event bubbling because
|
9954 |
+
// the component is rerendered and the value reverted before all the event
|
9955 |
+
// handlers can run. See https://github.com/facebook/react/issues/708.
|
9956 |
+
ReactUpdates.batchedUpdates(runEventInBatch, event);
|
9957 |
+
}
|
9958 |
+
|
9959 |
+
function runEventInBatch(event) {
|
9960 |
+
EventPluginHub.enqueueEvents(event);
|
9961 |
+
EventPluginHub.processEventQueue(false);
|
9962 |
+
}
|
9963 |
+
|
9964 |
+
function startWatchingForChangeEventIE8(target, targetInst) {
|
9965 |
+
activeElement = target;
|
9966 |
+
activeElementInst = targetInst;
|
9967 |
+
activeElement.attachEvent('onchange', manualDispatchChangeEvent);
|
9968 |
+
}
|
9969 |
+
|
9970 |
+
function stopWatchingForChangeEventIE8() {
|
9971 |
+
if (!activeElement) {
|
9972 |
+
return;
|
9973 |
+
}
|
9974 |
+
activeElement.detachEvent('onchange', manualDispatchChangeEvent);
|
9975 |
+
activeElement = null;
|
9976 |
+
activeElementInst = null;
|
9977 |
+
}
|
9978 |
+
|
9979 |
+
function getInstIfValueChanged(targetInst, nativeEvent) {
|
9980 |
+
var updated = inputValueTracking.updateValueIfChanged(targetInst);
|
9981 |
+
var simulated = nativeEvent.simulated === true && ChangeEventPlugin._allowSimulatedPassThrough;
|
9982 |
+
|
9983 |
+
if (updated || simulated) {
|
9984 |
+
return targetInst;
|
9985 |
+
}
|
9986 |
+
}
|
9987 |
+
|
9988 |
+
function getTargetInstForChangeEvent(topLevelType, targetInst) {
|
9989 |
+
if (topLevelType === 'topChange') {
|
9990 |
+
return targetInst;
|
9991 |
+
}
|
9992 |
+
}
|
9993 |
+
|
9994 |
+
function handleEventsForChangeEventIE8(topLevelType, target, targetInst) {
|
9995 |
+
if (topLevelType === 'topFocus') {
|
9996 |
+
// stopWatching() should be a noop here but we call it just in case we
|
9997 |
+
// missed a blur event somehow.
|
9998 |
+
stopWatchingForChangeEventIE8();
|
9999 |
+
startWatchingForChangeEventIE8(target, targetInst);
|
10000 |
+
} else if (topLevelType === 'topBlur') {
|
10001 |
+
stopWatchingForChangeEventIE8();
|
10002 |
+
}
|
10003 |
+
}
|
10004 |
+
|
10005 |
+
/**
|
10006 |
+
* SECTION: handle `input` event
|
10007 |
+
*/
|
10008 |
+
var isInputEventSupported = false;
|
10009 |
+
if (ExecutionEnvironment.canUseDOM) {
|
10010 |
+
// IE9 claims to support the input event but fails to trigger it when
|
10011 |
+
// deleting text, so we ignore its input events.
|
10012 |
+
|
10013 |
+
isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 9);
|
10014 |
+
}
|
10015 |
+
|
10016 |
+
/**
|
10017 |
+
* (For IE <=9) Starts tracking propertychange events on the passed-in element
|
10018 |
+
* and override the value property so that we can distinguish user events from
|
10019 |
+
* value changes in JS.
|
10020 |
+
*/
|
10021 |
+
function startWatchingForValueChange(target, targetInst) {
|
10022 |
+
activeElement = target;
|
10023 |
+
activeElementInst = targetInst;
|
10024 |
+
activeElement.attachEvent('onpropertychange', handlePropertyChange);
|
10025 |
+
}
|
10026 |
+
|
10027 |
+
/**
|
10028 |
+
* (For IE <=9) Removes the event listeners from the currently-tracked element,
|
10029 |
+
* if any exists.
|
10030 |
+
*/
|
10031 |
+
function stopWatchingForValueChange() {
|
10032 |
+
if (!activeElement) {
|
10033 |
+
return;
|
10034 |
+
}
|
10035 |
+
activeElement.detachEvent('onpropertychange', handlePropertyChange);
|
10036 |
+
|
10037 |
+
activeElement = null;
|
10038 |
+
activeElementInst = null;
|
10039 |
+
}
|
10040 |
+
|
10041 |
+
/**
|
10042 |
+
* (For IE <=9) Handles a propertychange event, sending a `change` event if
|
10043 |
+
* the value of the active element has changed.
|
10044 |
+
*/
|
10045 |
+
function handlePropertyChange(nativeEvent) {
|
10046 |
+
if (nativeEvent.propertyName !== 'value') {
|
10047 |
+
return;
|
10048 |
+
}
|
10049 |
+
if (getInstIfValueChanged(activeElementInst, nativeEvent)) {
|
10050 |
+
manualDispatchChangeEvent(nativeEvent);
|
10051 |
+
}
|
10052 |
+
}
|
10053 |
+
|
10054 |
+
function handleEventsForInputEventPolyfill(topLevelType, target, targetInst) {
|
10055 |
+
if (topLevelType === 'topFocus') {
|
10056 |
+
// In IE8, we can capture almost all .value changes by adding a
|
10057 |
+
// propertychange handler and looking for events with propertyName
|
10058 |
+
// equal to 'value'
|
10059 |
+
// In IE9, propertychange fires for most input events but is buggy and
|
10060 |
+
// doesn't fire when text is deleted, but conveniently, selectionchange
|
10061 |
+
// appears to fire in all of the remaining cases so we catch those and
|
10062 |
+
// forward the event if the value has changed
|
10063 |
+
// In either case, we don't want to call the event handler if the value
|
10064 |
+
// is changed from JS so we redefine a setter for `.value` that updates
|
10065 |
+
// our activeElementValue variable, allowing us to ignore those changes
|
10066 |
+
//
|
10067 |
+
// stopWatching() should be a noop here but we call it just in case we
|
10068 |
+
// missed a blur event somehow.
|
10069 |
+
stopWatchingForValueChange();
|
10070 |
+
startWatchingForValueChange(target, targetInst);
|
10071 |
+
} else if (topLevelType === 'topBlur') {
|
10072 |
+
stopWatchingForValueChange();
|
10073 |
+
}
|
10074 |
+
}
|
10075 |
+
|
10076 |
+
// For IE8 and IE9.
|
10077 |
+
function getTargetInstForInputEventPolyfill(topLevelType, targetInst, nativeEvent) {
|
10078 |
+
if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') {
|
10079 |
+
// On the selectionchange event, the target is just document which isn't
|
10080 |
+
// helpful for us so just check activeElement instead.
|
10081 |
+
//
|
10082 |
+
// 99% of the time, keydown and keyup aren't necessary. IE8 fails to fire
|
10083 |
+
// propertychange on the first input event after setting `value` from a
|
10084 |
+
// script and fires only keydown, keypress, keyup. Catching keyup usually
|
10085 |
+
// gets it and catching keydown lets us fire an event for the first
|
10086 |
+
// keystroke if user does a key repeat (it'll be a little delayed: right
|
10087 |
+
// before the second keystroke). Other input methods (e.g., paste) seem to
|
10088 |
+
// fire selectionchange normally.
|
10089 |
+
return getInstIfValueChanged(activeElementInst, nativeEvent);
|
10090 |
+
}
|
10091 |
+
}
|
10092 |
+
|
10093 |
+
/**
|
10094 |
+
* SECTION: handle `click` event
|
10095 |
+
*/
|
10096 |
+
function shouldUseClickEvent(elem) {
|
10097 |
+
// Use the `click` event to detect changes to checkbox and radio inputs.
|
10098 |
+
// This approach works across all browsers, whereas `change` does not fire
|
10099 |
+
// until `blur` in IE8.
|
10100 |
+
var nodeName = elem.nodeName;
|
10101 |
+
return nodeName && nodeName.toLowerCase() === 'input' && (elem.type === 'checkbox' || elem.type === 'radio');
|
10102 |
+
}
|
10103 |
+
|
10104 |
+
function getTargetInstForClickEvent(topLevelType, targetInst, nativeEvent) {
|
10105 |
+
if (topLevelType === 'topClick') {
|
10106 |
+
return getInstIfValueChanged(targetInst, nativeEvent);
|
10107 |
+
}
|
10108 |
+
}
|
10109 |
+
|
10110 |
+
function getTargetInstForInputOrChangeEvent(topLevelType, targetInst, nativeEvent) {
|
10111 |
+
if (topLevelType === 'topInput' || topLevelType === 'topChange') {
|
10112 |
+
return getInstIfValueChanged(targetInst, nativeEvent);
|
10113 |
+
}
|
10114 |
+
}
|
10115 |
+
|
10116 |
+
function handleControlledInputBlur(inst, node) {
|
10117 |
+
// TODO: In IE, inst is occasionally null. Why?
|
10118 |
+
if (inst == null) {
|
10119 |
+
return;
|
10120 |
+
}
|
10121 |
+
|
10122 |
+
// Fiber and ReactDOM keep wrapper state in separate places
|
10123 |
+
var state = inst._wrapperState || node._wrapperState;
|
10124 |
+
|
10125 |
+
if (!state || !state.controlled || node.type !== 'number') {
|
10126 |
+
return;
|
10127 |
+
}
|
10128 |
+
|
10129 |
+
// If controlled, assign the value attribute to the current value on blur
|
10130 |
+
var value = '' + node.value;
|
10131 |
+
if (node.getAttribute('value') !== value) {
|
10132 |
+
node.setAttribute('value', value);
|
10133 |
+
}
|
10134 |
+
}
|
10135 |
+
|
10136 |
+
/**
|
10137 |
+
* This plugin creates an `onChange` event that normalizes change events
|
10138 |
+
* across form elements. This event fires at a time when it's possible to
|
10139 |
+
* change the element's value without seeing a flicker.
|
10140 |
+
*
|
10141 |
+
* Supported elements are:
|
10142 |
+
* - input (see `isTextInputElement`)
|
10143 |
+
* - textarea
|
10144 |
+
* - select
|
10145 |
+
*/
|
10146 |
+
var ChangeEventPlugin = {
|
10147 |
+
eventTypes: eventTypes,
|
10148 |
+
|
10149 |
+
_allowSimulatedPassThrough: true,
|
10150 |
+
_isInputEventSupported: isInputEventSupported,
|
10151 |
+
|
10152 |
+
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
10153 |
+
var targetNode = targetInst ? ReactDOMComponentTree.getNodeFromInstance(targetInst) : window;
|
10154 |
+
|
10155 |
+
var getTargetInstFunc, handleEventFunc;
|
10156 |
+
if (shouldUseChangeEvent(targetNode)) {
|
10157 |
+
if (doesChangeEventBubble) {
|
10158 |
+
getTargetInstFunc = getTargetInstForChangeEvent;
|
10159 |
+
} else {
|
10160 |
+
handleEventFunc = handleEventsForChangeEventIE8;
|
10161 |
+
}
|
10162 |
+
} else if (isTextInputElement(targetNode)) {
|
10163 |
+
if (isInputEventSupported) {
|
10164 |
+
getTargetInstFunc = getTargetInstForInputOrChangeEvent;
|
10165 |
+
} else {
|
10166 |
+
getTargetInstFunc = getTargetInstForInputEventPolyfill;
|
10167 |
+
handleEventFunc = handleEventsForInputEventPolyfill;
|
10168 |
+
}
|
10169 |
+
} else if (shouldUseClickEvent(targetNode)) {
|
10170 |
+
getTargetInstFunc = getTargetInstForClickEvent;
|
10171 |
+
}
|
10172 |
+
|
10173 |
+
if (getTargetInstFunc) {
|
10174 |
+
var inst = getTargetInstFunc(topLevelType, targetInst, nativeEvent);
|
10175 |
+
if (inst) {
|
10176 |
+
var event = createAndAccumulateChangeEvent(inst, nativeEvent, nativeEventTarget);
|
10177 |
+
return event;
|
10178 |
+
}
|
10179 |
+
}
|
10180 |
+
|
10181 |
+
if (handleEventFunc) {
|
10182 |
+
handleEventFunc(topLevelType, targetNode, targetInst);
|
10183 |
+
}
|
10184 |
+
|
10185 |
+
// When blurring, set the value attribute for number inputs
|
10186 |
+
if (topLevelType === 'topBlur') {
|
10187 |
+
handleControlledInputBlur(targetInst, targetNode);
|
10188 |
+
}
|
10189 |
+
}
|
10190 |
+
};
|
10191 |
+
|
10192 |
+
module.exports = ChangeEventPlugin;
|
10193 |
+
|
10194 |
+
/***/ }),
|
10195 |
+
|
10196 |
+
/***/ "./node_modules/react-dom/lib/DOMChildrenOperations.js":
|
10197 |
+
/*!*************************************************************!*\
|
10198 |
+
!*** ./node_modules/react-dom/lib/DOMChildrenOperations.js ***!
|
10199 |
+
\*************************************************************/
|
10200 |
+
/*! no static exports found */
|
10201 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10202 |
+
|
10203 |
+
"use strict";
|
10204 |
+
/**
|
10205 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
10206 |
+
*
|
10207 |
+
* This source code is licensed under the MIT license found in the
|
10208 |
+
* LICENSE file in the root directory of this source tree.
|
10209 |
+
*
|
10210 |
+
*/
|
10211 |
+
|
10212 |
+
|
10213 |
+
|
10214 |
+
var DOMLazyTree = __webpack_require__(/*! ./DOMLazyTree */ "./node_modules/react-dom/lib/DOMLazyTree.js");
|
10215 |
+
var Danger = __webpack_require__(/*! ./Danger */ "./node_modules/react-dom/lib/Danger.js");
|
10216 |
+
var ReactDOMComponentTree = __webpack_require__(/*! ./ReactDOMComponentTree */ "./node_modules/react-dom/lib/ReactDOMComponentTree.js");
|
10217 |
+
var ReactInstrumentation = __webpack_require__(/*! ./ReactInstrumentation */ "./node_modules/react-dom/lib/ReactInstrumentation.js");
|
10218 |
+
|
10219 |
+
var createMicrosoftUnsafeLocalFunction = __webpack_require__(/*! ./createMicrosoftUnsafeLocalFunction */ "./node_modules/react-dom/lib/createMicrosoftUnsafeLocalFunction.js");
|
10220 |
+
var setInnerHTML = __webpack_require__(/*! ./setInnerHTML */ "./node_modules/react-dom/lib/setInnerHTML.js");
|
10221 |
+
var setTextContent = __webpack_require__(/*! ./setTextContent */ "./node_modules/react-dom/lib/setTextContent.js");
|
10222 |
+
|
10223 |
+
function getNodeAfter(parentNode, node) {
|
10224 |
+
// Special case for text components, which return [open, close] comments
|
10225 |
+
// from getHostNode.
|
10226 |
+
if (Array.isArray(node)) {
|
10227 |
+
node = node[1];
|
10228 |
+
}
|
10229 |
+
return node ? node.nextSibling : parentNode.firstChild;
|
10230 |
+
}
|
10231 |
+
|
10232 |
+
/**
|
10233 |
+
* Inserts `childNode` as a child of `parentNode` at the `index`.
|
10234 |
+
*
|
10235 |
+
* @param {DOMElement} parentNode Parent node in which to insert.
|
10236 |
+
* @param {DOMElement} childNode Child node to insert.
|
10237 |
+
* @param {number} index Index at which to insert the child.
|
10238 |
+
* @internal
|
10239 |
+
*/
|
10240 |
+
var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) {
|
10241 |
+
// We rely exclusively on `insertBefore(node, null)` instead of also using
|
10242 |
+
// `appendChild(node)`. (Using `undefined` is not allowed by all browsers so
|
10243 |
+
// we are careful to use `null`.)
|
10244 |
+
parentNode.insertBefore(childNode, referenceNode);
|
10245 |
+
});
|
10246 |
+
|
10247 |
+
function insertLazyTreeChildAt(parentNode, childTree, referenceNode) {
|
10248 |
+
DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode);
|
10249 |
+
}
|
10250 |
+
|
10251 |
+
function moveChild(parentNode, childNode, referenceNode) {
|
10252 |
+
if (Array.isArray(childNode)) {
|
10253 |
+
moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode);
|
10254 |
+
} else {
|
10255 |
+
insertChildAt(parentNode, childNode, referenceNode);
|
10256 |
+
}
|
10257 |
+
}
|
10258 |
+
|
10259 |
+
function removeChild(parentNode, childNode) {
|
10260 |
+
if (Array.isArray(childNode)) {
|
10261 |
+
var closingComment = childNode[1];
|
10262 |
+
childNode = childNode[0];
|
10263 |
+
removeDelimitedText(parentNode, childNode, closingComment);
|
10264 |
+
parentNode.removeChild(closingComment);
|
10265 |
+
}
|
10266 |
+
parentNode.removeChild(childNode);
|
10267 |
+
}
|
10268 |
+
|
10269 |
+
function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) {
|
10270 |
+
var node = openingComment;
|
10271 |
+
while (true) {
|
10272 |
+
var nextNode = node.nextSibling;
|
10273 |
+
insertChildAt(parentNode, node, referenceNode);
|
10274 |
+
if (node === closingComment) {
|
10275 |
+
break;
|
10276 |
+
}
|
10277 |
+
node = nextNode;
|
10278 |
+
}
|
10279 |
+
}
|
10280 |
+
|
10281 |
+
function removeDelimitedText(parentNode, startNode, closingComment) {
|
10282 |
+
while (true) {
|
10283 |
+
var node = startNode.nextSibling;
|
10284 |
+
if (node === closingComment) {
|
10285 |
+
// The closing comment is removed by ReactMultiChild.
|
10286 |
+
break;
|
10287 |
+
} else {
|
10288 |
+
parentNode.removeChild(node);
|
10289 |
+
}
|
10290 |
+
}
|
10291 |
+
}
|
10292 |
+
|
10293 |
+
function replaceDelimitedText(openingComment, closingComment, stringText) {
|
10294 |
+
var parentNode = openingComment.parentNode;
|
10295 |
+
var nodeAfterComment = openingComment.nextSibling;
|
10296 |
+
if (nodeAfterComment === closingComment) {
|
10297 |
+
// There are no text nodes between the opening and closing comments; insert
|
10298 |
+
// a new one if stringText isn't empty.
|
10299 |
+
if (stringText) {
|
10300 |
+
insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment);
|
10301 |
+
}
|
10302 |
+
} else {
|
10303 |
+
if (stringText) {
|
10304 |
+
// Set the text content of the first node after the opening comment, and
|
10305 |
+
// remove all following nodes up until the closing comment.
|
10306 |
+
setTextContent(nodeAfterComment, stringText);
|
10307 |
+
removeDelimitedText(parentNode, nodeAfterComment, closingComment);
|
10308 |
+
} else {
|
10309 |
+
removeDelimitedText(parentNode, openingComment, closingComment);
|
10310 |
+
}
|
10311 |
+
}
|
10312 |
+
|
10313 |
+
if (true) {
|
10314 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10315 |
+
instanceID: ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID,
|
10316 |
+
type: 'replace text',
|
10317 |
+
payload: stringText
|
10318 |
+
});
|
10319 |
+
}
|
10320 |
+
}
|
10321 |
+
|
10322 |
+
var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup;
|
10323 |
+
if (true) {
|
10324 |
+
dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) {
|
10325 |
+
Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup);
|
10326 |
+
if (prevInstance._debugID !== 0) {
|
10327 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10328 |
+
instanceID: prevInstance._debugID,
|
10329 |
+
type: 'replace with',
|
10330 |
+
payload: markup.toString()
|
10331 |
+
});
|
10332 |
+
} else {
|
10333 |
+
var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node);
|
10334 |
+
if (nextInstance._debugID !== 0) {
|
10335 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10336 |
+
instanceID: nextInstance._debugID,
|
10337 |
+
type: 'mount',
|
10338 |
+
payload: markup.toString()
|
10339 |
+
});
|
10340 |
+
}
|
10341 |
+
}
|
10342 |
+
};
|
10343 |
+
}
|
10344 |
+
|
10345 |
+
/**
|
10346 |
+
* Operations for updating with DOM children.
|
10347 |
+
*/
|
10348 |
+
var DOMChildrenOperations = {
|
10349 |
+
dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup,
|
10350 |
+
|
10351 |
+
replaceDelimitedText: replaceDelimitedText,
|
10352 |
+
|
10353 |
+
/**
|
10354 |
+
* Updates a component's children by processing a series of updates. The
|
10355 |
+
* update configurations are each expected to have a `parentNode` property.
|
10356 |
+
*
|
10357 |
+
* @param {array<object>} updates List of update configurations.
|
10358 |
+
* @internal
|
10359 |
+
*/
|
10360 |
+
processUpdates: function (parentNode, updates) {
|
10361 |
+
if (true) {
|
10362 |
+
var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID;
|
10363 |
+
}
|
10364 |
+
|
10365 |
+
for (var k = 0; k < updates.length; k++) {
|
10366 |
+
var update = updates[k];
|
10367 |
+
switch (update.type) {
|
10368 |
+
case 'INSERT_MARKUP':
|
10369 |
+
insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode));
|
10370 |
+
if (true) {
|
10371 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10372 |
+
instanceID: parentNodeDebugID,
|
10373 |
+
type: 'insert child',
|
10374 |
+
payload: {
|
10375 |
+
toIndex: update.toIndex,
|
10376 |
+
content: update.content.toString()
|
10377 |
+
}
|
10378 |
+
});
|
10379 |
+
}
|
10380 |
+
break;
|
10381 |
+
case 'MOVE_EXISTING':
|
10382 |
+
moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode));
|
10383 |
+
if (true) {
|
10384 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10385 |
+
instanceID: parentNodeDebugID,
|
10386 |
+
type: 'move child',
|
10387 |
+
payload: { fromIndex: update.fromIndex, toIndex: update.toIndex }
|
10388 |
+
});
|
10389 |
+
}
|
10390 |
+
break;
|
10391 |
+
case 'SET_MARKUP':
|
10392 |
+
setInnerHTML(parentNode, update.content);
|
10393 |
+
if (true) {
|
10394 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10395 |
+
instanceID: parentNodeDebugID,
|
10396 |
+
type: 'replace children',
|
10397 |
+
payload: update.content.toString()
|
10398 |
+
});
|
10399 |
+
}
|
10400 |
+
break;
|
10401 |
+
case 'TEXT_CONTENT':
|
10402 |
+
setTextContent(parentNode, update.content);
|
10403 |
+
if (true) {
|
10404 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10405 |
+
instanceID: parentNodeDebugID,
|
10406 |
+
type: 'replace text',
|
10407 |
+
payload: update.content.toString()
|
10408 |
+
});
|
10409 |
+
}
|
10410 |
+
break;
|
10411 |
+
case 'REMOVE_NODE':
|
10412 |
+
removeChild(parentNode, update.fromNode);
|
10413 |
+
if (true) {
|
10414 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10415 |
+
instanceID: parentNodeDebugID,
|
10416 |
+
type: 'remove child',
|
10417 |
+
payload: { fromIndex: update.fromIndex }
|
10418 |
+
});
|
10419 |
+
}
|
10420 |
+
break;
|
10421 |
+
}
|
10422 |
+
}
|
10423 |
+
}
|
10424 |
+
};
|
10425 |
+
|
10426 |
+
module.exports = DOMChildrenOperations;
|
10427 |
+
|
10428 |
+
/***/ }),
|
10429 |
+
|
10430 |
+
/***/ "./node_modules/react-dom/lib/DOMLazyTree.js":
|
10431 |
+
/*!***************************************************!*\
|
10432 |
+
!*** ./node_modules/react-dom/lib/DOMLazyTree.js ***!
|
10433 |
+
\***************************************************/
|
10434 |
+
/*! no static exports found */
|
10435 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10436 |
+
|
10437 |
+
"use strict";
|
10438 |
+
/**
|
10439 |
+
* Copyright (c) 2015-present, Facebook, Inc.
|
10440 |
+
*
|
10441 |
+
* This source code is licensed under the MIT license found in the
|
10442 |
+
* LICENSE file in the root directory of this source tree.
|
10443 |
+
*
|
10444 |
+
*/
|
10445 |
+
|
10446 |
+
|
10447 |
+
|
10448 |
+
var DOMNamespaces = __webpack_require__(/*! ./DOMNamespaces */ "./node_modules/react-dom/lib/DOMNamespaces.js");
|
10449 |
+
var setInnerHTML = __webpack_require__(/*! ./setInnerHTML */ "./node_modules/react-dom/lib/setInnerHTML.js");
|
10450 |
+
|
10451 |
+
var createMicrosoftUnsafeLocalFunction = __webpack_require__(/*! ./createMicrosoftUnsafeLocalFunction */ "./node_modules/react-dom/lib/createMicrosoftUnsafeLocalFunction.js");
|
10452 |
+
var setTextContent = __webpack_require__(/*! ./setTextContent */ "./node_modules/react-dom/lib/setTextContent.js");
|
10453 |
+
|
10454 |
+
var ELEMENT_NODE_TYPE = 1;
|
10455 |
+
var DOCUMENT_FRAGMENT_NODE_TYPE = 11;
|
10456 |
+
|
10457 |
+
/**
|
10458 |
+
* In IE (8-11) and Edge, appending nodes with no children is dramatically
|
10459 |
+
* faster than appending a full subtree, so we essentially queue up the
|
10460 |
+
* .appendChild calls here and apply them so each node is added to its parent
|
10461 |
+
* before any children are added.
|
10462 |
+
*
|
10463 |
+
* In other browsers, doing so is slower or neutral compared to the other order
|
10464 |
+
* (in Firefox, twice as slow) so we only do this inversion in IE.
|
10465 |
+
*
|
10466 |
+
* See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode.
|
10467 |
+
*/
|
10468 |
+
var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent);
|
10469 |
+
|
10470 |
+
function insertTreeChildren(tree) {
|
10471 |
+
if (!enableLazy) {
|
10472 |
+
return;
|
10473 |
+
}
|
10474 |
+
var node = tree.node;
|
10475 |
+
var children = tree.children;
|
10476 |
+
if (children.length) {
|
10477 |
+
for (var i = 0; i < children.length; i++) {
|
10478 |
+
insertTreeBefore(node, children[i], null);
|
10479 |
+
}
|
10480 |
+
} else if (tree.html != null) {
|
10481 |
+
setInnerHTML(node, tree.html);
|
10482 |
+
} else if (tree.text != null) {
|
10483 |
+
setTextContent(node, tree.text);
|
10484 |
+
}
|
10485 |
+
}
|
10486 |
+
|
10487 |
+
var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) {
|
10488 |
+
// DocumentFragments aren't actually part of the DOM after insertion so
|
10489 |
+
// appending children won't update the DOM. We need to ensure the fragment
|
10490 |
+
// is properly populated first, breaking out of our lazy approach for just
|
10491 |
+
// this level. Also, some <object> plugins (like Flash Player) will read
|
10492 |
+
// <param> nodes immediately upon insertion into the DOM, so <object>
|
10493 |
+
// must also be populated prior to insertion into the DOM.
|
10494 |
+
if (tree.node.nodeType === DOCUMENT_FRAGMENT_NODE_TYPE || tree.node.nodeType === ELEMENT_NODE_TYPE && tree.node.nodeName.toLowerCase() === 'object' && (tree.node.namespaceURI == null || tree.node.namespaceURI === DOMNamespaces.html)) {
|
10495 |
+
insertTreeChildren(tree);
|
10496 |
+
parentNode.insertBefore(tree.node, referenceNode);
|
10497 |
+
} else {
|
10498 |
+
parentNode.insertBefore(tree.node, referenceNode);
|
10499 |
+
insertTreeChildren(tree);
|
10500 |
+
}
|
10501 |
+
});
|
10502 |
+
|
10503 |
+
function replaceChildWithTree(oldNode, newTree) {
|
10504 |
+
oldNode.parentNode.replaceChild(newTree.node, oldNode);
|
10505 |
+
insertTreeChildren(newTree);
|
10506 |
+
}
|
10507 |
+
|
10508 |
+
function queueChild(parentTree, childTree) {
|
10509 |
+
if (enableLazy) {
|
10510 |
+
parentTree.children.push(childTree);
|
10511 |
+
} else {
|
10512 |
+
parentTree.node.appendChild(childTree.node);
|
10513 |
+
}
|
10514 |
+
}
|
10515 |
+
|
10516 |
+
function queueHTML(tree, html) {
|
10517 |
+
if (enableLazy) {
|
10518 |
+
tree.html = html;
|
10519 |
+
} else {
|
10520 |
+
setInnerHTML(tree.node, html);
|
10521 |
+
}
|
10522 |
+
}
|
10523 |
+
|
10524 |
+
function queueText(tree, text) {
|
10525 |
+
if (enableLazy) {
|
10526 |
+
tree.text = text;
|
10527 |
+
} else {
|
10528 |
+
setTextContent(tree.node, text);
|
10529 |
+
}
|
10530 |
+
}
|
10531 |
+
|
10532 |
+
function toString() {
|
10533 |
+
return this.node.nodeName;
|
10534 |
+
}
|
10535 |
+
|
10536 |
+
function DOMLazyTree(node) {
|
10537 |
+
return {
|
10538 |
+
node: node,
|
10539 |
+
children: [],
|
10540 |
+
html: null,
|
10541 |
+
text: null,
|
10542 |
+
toString: toString
|
10543 |
+
};
|
10544 |
+
}
|
10545 |
+
|
10546 |
+
DOMLazyTree.insertTreeBefore = insertTreeBefore;
|
10547 |
+
DOMLazyTree.replaceChildWithTree = replaceChildWithTree;
|
10548 |
+
DOMLazyTree.queueChild = queueChild;
|
10549 |
+
DOMLazyTree.queueHTML = queueHTML;
|
10550 |
+
DOMLazyTree.queueText = queueText;
|
10551 |
+
|
10552 |
+
module.exports = DOMLazyTree;
|
10553 |
+
|
10554 |
+
/***/ }),
|
10555 |
+
|
10556 |
+
/***/ "./node_modules/react-dom/lib/DOMNamespaces.js":
|
10557 |
+
/*!*****************************************************!*\
|
10558 |
+
!*** ./node_modules/react-dom/lib/DOMNamespaces.js ***!
|
10559 |
+
\*****************************************************/
|
10560 |
+
/*! no static exports found */
|
10561 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10562 |
+
|
10563 |
+
"use strict";
|
10564 |
+
/**
|
10565 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
10566 |
+
*
|
10567 |
+
* This source code is licensed under the MIT license found in the
|
10568 |
+
* LICENSE file in the root directory of this source tree.
|
10569 |
+
*
|
10570 |
+
*/
|
10571 |
+
|
10572 |
+
|
10573 |
+
|
10574 |
+
var DOMNamespaces = {
|
10575 |
+
html: 'http://www.w3.org/1999/xhtml',
|
10576 |
+
mathml: 'http://www.w3.org/1998/Math/MathML',
|
10577 |
+
svg: 'http://www.w3.org/2000/svg'
|
10578 |
+
};
|
10579 |
+
|
10580 |
+
module.exports = DOMNamespaces;
|
10581 |
+
|
10582 |
+
/***/ }),
|
10583 |
+
|
10584 |
+
/***/ "./node_modules/react-dom/lib/DOMProperty.js":
|
10585 |
+
/*!***************************************************!*\
|
10586 |
+
!*** ./node_modules/react-dom/lib/DOMProperty.js ***!
|
10587 |
+
\***************************************************/
|
10588 |
+
/*! no static exports found */
|
10589 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10590 |
+
|
10591 |
+
"use strict";
|
10592 |
+
/**
|
10593 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
10594 |
+
*
|
10595 |
+
* This source code is licensed under the MIT license found in the
|
10596 |
+
* LICENSE file in the root directory of this source tree.
|
10597 |
+
*
|
10598 |
+
*/
|
10599 |
+
|
10600 |
+
|
10601 |
+
|
10602 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
10603 |
+
|
10604 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
10605 |
+
|
10606 |
+
function checkMask(value, bitmask) {
|
10607 |
+
return (value & bitmask) === bitmask;
|
10608 |
+
}
|
10609 |
+
|
10610 |
+
var DOMPropertyInjection = {
|
10611 |
+
/**
|
10612 |
+
* Mapping from normalized, camelcased property names to a configuration that
|
10613 |
+
* specifies how the associated DOM property should be accessed or rendered.
|
10614 |
+
*/
|
10615 |
+
MUST_USE_PROPERTY: 0x1,
|
10616 |
+
HAS_BOOLEAN_VALUE: 0x4,
|
10617 |
+
HAS_NUMERIC_VALUE: 0x8,
|
10618 |
+
HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8,
|
10619 |
+
HAS_OVERLOADED_BOOLEAN_VALUE: 0x20,
|
10620 |
+
|
10621 |
+
/**
|
10622 |
+
* Inject some specialized knowledge about the DOM. This takes a config object
|
10623 |
+
* with the following properties:
|
10624 |
+
*
|
10625 |
+
* isCustomAttribute: function that given an attribute name will return true
|
10626 |
+
* if it can be inserted into the DOM verbatim. Useful for data-* or aria-*
|
10627 |
+
* attributes where it's impossible to enumerate all of the possible
|
10628 |
+
* attribute names,
|
10629 |
+
*
|
10630 |
+
* Properties: object mapping DOM property name to one of the
|
10631 |
+
* DOMPropertyInjection constants or null. If your attribute isn't in here,
|
10632 |
+
* it won't get written to the DOM.
|
10633 |
+
*
|
10634 |
+
* DOMAttributeNames: object mapping React attribute name to the DOM
|
10635 |
+
* attribute name. Attribute names not specified use the **lowercase**
|
10636 |
+
* normalized name.
|
10637 |
+
*
|
10638 |
+
* DOMAttributeNamespaces: object mapping React attribute name to the DOM
|
10639 |
+
* attribute namespace URL. (Attribute names not specified use no namespace.)
|
10640 |
+
*
|
10641 |
+
* DOMPropertyNames: similar to DOMAttributeNames but for DOM properties.
|
10642 |
+
* Property names not specified use the normalized name.
|
10643 |
+
*
|
10644 |
+
* DOMMutationMethods: Properties that require special mutation methods. If
|
10645 |
+
* `value` is undefined, the mutation method should unset the property.
|
10646 |
+
*
|
10647 |
+
* @param {object} domPropertyConfig the config as described above.
|
10648 |
+
*/
|
10649 |
+
injectDOMPropertyConfig: function (domPropertyConfig) {
|
10650 |
+
var Injection = DOMPropertyInjection;
|
10651 |
+
var Properties = domPropertyConfig.Properties || {};
|
10652 |
+
var DOMAttributeNamespaces = domPropertyConfig.DOMAttributeNamespaces || {};
|
10653 |
+
var DOMAttributeNames = domPropertyConfig.DOMAttributeNames || {};
|
10654 |
+
var DOMPropertyNames = domPropertyConfig.DOMPropertyNames || {};
|
10655 |
+
var DOMMutationMethods = domPropertyConfig.DOMMutationMethods || {};
|
10656 |
+
|
10657 |
+
if (domPropertyConfig.isCustomAttribute) {
|
10658 |
+
DOMProperty._isCustomAttributeFunctions.push(domPropertyConfig.isCustomAttribute);
|
10659 |
+
}
|
10660 |
+
|
10661 |
+
for (var propName in Properties) {
|
10662 |
+
!!DOMProperty.properties.hasOwnProperty(propName) ? true ? invariant(false, 'injectDOMPropertyConfig(...): You\'re trying to inject DOM property \'%s\' which has already been injected. You may be accidentally injecting the same DOM property config twice, or you may be injecting two configs that have conflicting property names.', propName) : undefined : void 0;
|
10663 |
+
|
10664 |
+
var lowerCased = propName.toLowerCase();
|
10665 |
+
var propConfig = Properties[propName];
|
10666 |
+
|
10667 |
+
var propertyInfo = {
|
10668 |
+
attributeName: lowerCased,
|
10669 |
+
attributeNamespace: null,
|
10670 |
+
propertyName: propName,
|
10671 |
+
mutationMethod: null,
|
10672 |
+
|
10673 |
+
mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY),
|
10674 |
+
hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE),
|
10675 |
+
hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE),
|
10676 |
+
hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE),
|
10677 |
+
hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE)
|
10678 |
+
};
|
10679 |
+
!(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? true ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : undefined : void 0;
|
10680 |
+
|
10681 |
+
if (true) {
|
10682 |
+
DOMProperty.getPossibleStandardName[lowerCased] = propName;
|
10683 |
+
}
|
10684 |
+
|
10685 |
+
if (DOMAttributeNames.hasOwnProperty(propName)) {
|
10686 |
+
var attributeName = DOMAttributeNames[propName];
|
10687 |
+
propertyInfo.attributeName = attributeName;
|
10688 |
+
if (true) {
|
10689 |
+
DOMProperty.getPossibleStandardName[attributeName] = propName;
|
10690 |
+
}
|
10691 |
+
}
|
10692 |
+
|
10693 |
+
if (DOMAttributeNamespaces.hasOwnProperty(propName)) {
|
10694 |
+
propertyInfo.attributeNamespace = DOMAttributeNamespaces[propName];
|
10695 |
+
}
|
10696 |
+
|
10697 |
+
if (DOMPropertyNames.hasOwnProperty(propName)) {
|
10698 |
+
propertyInfo.propertyName = DOMPropertyNames[propName];
|
10699 |
+
}
|
10700 |
+
|
10701 |
+
if (DOMMutationMethods.hasOwnProperty(propName)) {
|
10702 |
+
propertyInfo.mutationMethod = DOMMutationMethods[propName];
|
10703 |
+
}
|
10704 |
+
|
10705 |
+
DOMProperty.properties[propName] = propertyInfo;
|
10706 |
+
}
|
10707 |
+
}
|
10708 |
+
};
|
10709 |
+
|
10710 |
+
/* eslint-disable max-len */
|
10711 |
+
var ATTRIBUTE_NAME_START_CHAR = ':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';
|
10712 |
+
/* eslint-enable max-len */
|
10713 |
+
|
10714 |
+
/**
|
10715 |
+
* DOMProperty exports lookup objects that can be used like functions:
|
10716 |
+
*
|
10717 |
+
* > DOMProperty.isValid['id']
|
10718 |
+
* true
|
10719 |
+
* > DOMProperty.isValid['foobar']
|
10720 |
+
* undefined
|
10721 |
+
*
|
10722 |
+
* Although this may be confusing, it performs better in general.
|
10723 |
+
*
|
10724 |
+
* @see http://jsperf.com/key-exists
|
10725 |
+
* @see http://jsperf.com/key-missing
|
10726 |
+
*/
|
10727 |
+
var DOMProperty = {
|
10728 |
+
ID_ATTRIBUTE_NAME: 'data-reactid',
|
10729 |
+
ROOT_ATTRIBUTE_NAME: 'data-reactroot',
|
10730 |
+
|
10731 |
+
ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR,
|
10732 |
+
ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040',
|
10733 |
+
|
10734 |
+
/**
|
10735 |
+
* Map from property "standard name" to an object with info about how to set
|
10736 |
+
* the property in the DOM. Each object contains:
|
10737 |
+
*
|
10738 |
+
* attributeName:
|
10739 |
+
* Used when rendering markup or with `*Attribute()`.
|
10740 |
+
* attributeNamespace
|
10741 |
+
* propertyName:
|
10742 |
+
* Used on DOM node instances. (This includes properties that mutate due to
|
10743 |
+
* external factors.)
|
10744 |
+
* mutationMethod:
|
10745 |
+
* If non-null, used instead of the property or `setAttribute()` after
|
10746 |
+
* initial render.
|
10747 |
+
* mustUseProperty:
|
10748 |
+
* Whether the property must be accessed and mutated as an object property.
|
10749 |
+
* hasBooleanValue:
|
10750 |
+
* Whether the property should be removed when set to a falsey value.
|
10751 |
+
* hasNumericValue:
|
10752 |
+
* Whether the property must be numeric or parse as a numeric and should be
|
10753 |
+
* removed when set to a falsey value.
|
10754 |
+
* hasPositiveNumericValue:
|
10755 |
+
* Whether the property must be positive numeric or parse as a positive
|
10756 |
+
* numeric and should be removed when set to a falsey value.
|
10757 |
+
* hasOverloadedBooleanValue:
|
10758 |
+
* Whether the property can be used as a flag as well as with a value.
|
10759 |
+
* Removed when strictly equal to false; present without a value when
|
10760 |
+
* strictly equal to true; present with a value otherwise.
|
10761 |
+
*/
|
10762 |
+
properties: {},
|
10763 |
+
|
10764 |
+
/**
|
10765 |
+
* Mapping from lowercase property names to the properly cased version, used
|
10766 |
+
* to warn in the case of missing properties. Available only in __DEV__.
|
10767 |
+
*
|
10768 |
+
* autofocus is predefined, because adding it to the property whitelist
|
10769 |
+
* causes unintended side effects.
|
10770 |
+
*
|
10771 |
+
* @type {Object}
|
10772 |
+
*/
|
10773 |
+
getPossibleStandardName: true ? { autofocus: 'autoFocus' } : undefined,
|
10774 |
+
|
10775 |
+
/**
|
10776 |
+
* All of the isCustomAttribute() functions that have been injected.
|
10777 |
+
*/
|
10778 |
+
_isCustomAttributeFunctions: [],
|
10779 |
+
|
10780 |
+
/**
|
10781 |
+
* Checks whether a property name is a custom attribute.
|
10782 |
+
* @method
|
10783 |
+
*/
|
10784 |
+
isCustomAttribute: function (attributeName) {
|
10785 |
+
for (var i = 0; i < DOMProperty._isCustomAttributeFunctions.length; i++) {
|
10786 |
+
var isCustomAttributeFn = DOMProperty._isCustomAttributeFunctions[i];
|
10787 |
+
if (isCustomAttributeFn(attributeName)) {
|
10788 |
+
return true;
|
10789 |
+
}
|
10790 |
+
}
|
10791 |
+
return false;
|
10792 |
+
},
|
10793 |
+
|
10794 |
+
injection: DOMPropertyInjection
|
10795 |
+
};
|
10796 |
+
|
10797 |
+
module.exports = DOMProperty;
|
10798 |
+
|
10799 |
+
/***/ }),
|
10800 |
+
|
10801 |
+
/***/ "./node_modules/react-dom/lib/DOMPropertyOperations.js":
|
10802 |
+
/*!*************************************************************!*\
|
10803 |
+
!*** ./node_modules/react-dom/lib/DOMPropertyOperations.js ***!
|
10804 |
+
\*************************************************************/
|
10805 |
+
/*! no static exports found */
|
10806 |
+
/***/ (function(module, exports, __webpack_require__) {
|
10807 |
+
|
10808 |
+
"use strict";
|
10809 |
+
/**
|
10810 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
10811 |
+
*
|
10812 |
+
* This source code is licensed under the MIT license found in the
|
10813 |
+
* LICENSE file in the root directory of this source tree.
|
10814 |
+
*
|
10815 |
+
*/
|
10816 |
+
|
10817 |
+
|
10818 |
+
|
10819 |
+
var DOMProperty = __webpack_require__(/*! ./DOMProperty */ "./node_modules/react-dom/lib/DOMProperty.js");
|
10820 |
+
var ReactDOMComponentTree = __webpack_require__(/*! ./ReactDOMComponentTree */ "./node_modules/react-dom/lib/ReactDOMComponentTree.js");
|
10821 |
+
var ReactInstrumentation = __webpack_require__(/*! ./ReactInstrumentation */ "./node_modules/react-dom/lib/ReactInstrumentation.js");
|
10822 |
+
|
10823 |
+
var quoteAttributeValueForBrowser = __webpack_require__(/*! ./quoteAttributeValueForBrowser */ "./node_modules/react-dom/lib/quoteAttributeValueForBrowser.js");
|
10824 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
10825 |
+
|
10826 |
+
var VALID_ATTRIBUTE_NAME_REGEX = new RegExp('^[' + DOMProperty.ATTRIBUTE_NAME_START_CHAR + '][' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$');
|
10827 |
+
var illegalAttributeNameCache = {};
|
10828 |
+
var validatedAttributeNameCache = {};
|
10829 |
+
|
10830 |
+
function isAttributeNameSafe(attributeName) {
|
10831 |
+
if (validatedAttributeNameCache.hasOwnProperty(attributeName)) {
|
10832 |
+
return true;
|
10833 |
+
}
|
10834 |
+
if (illegalAttributeNameCache.hasOwnProperty(attributeName)) {
|
10835 |
+
return false;
|
10836 |
+
}
|
10837 |
+
if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName)) {
|
10838 |
+
validatedAttributeNameCache[attributeName] = true;
|
10839 |
+
return true;
|
10840 |
+
}
|
10841 |
+
illegalAttributeNameCache[attributeName] = true;
|
10842 |
+
true ? warning(false, 'Invalid attribute name: `%s`', attributeName) : undefined;
|
10843 |
+
return false;
|
10844 |
+
}
|
10845 |
+
|
10846 |
+
function shouldIgnoreValue(propertyInfo, value) {
|
10847 |
+
return value == null || propertyInfo.hasBooleanValue && !value || propertyInfo.hasNumericValue && isNaN(value) || propertyInfo.hasPositiveNumericValue && value < 1 || propertyInfo.hasOverloadedBooleanValue && value === false;
|
10848 |
+
}
|
10849 |
+
|
10850 |
+
/**
|
10851 |
+
* Operations for dealing with DOM properties.
|
10852 |
+
*/
|
10853 |
+
var DOMPropertyOperations = {
|
10854 |
+
/**
|
10855 |
+
* Creates markup for the ID property.
|
10856 |
+
*
|
10857 |
+
* @param {string} id Unescaped ID.
|
10858 |
+
* @return {string} Markup string.
|
10859 |
+
*/
|
10860 |
+
createMarkupForID: function (id) {
|
10861 |
+
return DOMProperty.ID_ATTRIBUTE_NAME + '=' + quoteAttributeValueForBrowser(id);
|
10862 |
+
},
|
10863 |
+
|
10864 |
+
setAttributeForID: function (node, id) {
|
10865 |
+
node.setAttribute(DOMProperty.ID_ATTRIBUTE_NAME, id);
|
10866 |
+
},
|
10867 |
+
|
10868 |
+
createMarkupForRoot: function () {
|
10869 |
+
return DOMProperty.ROOT_ATTRIBUTE_NAME + '=""';
|
10870 |
+
},
|
10871 |
+
|
10872 |
+
setAttributeForRoot: function (node) {
|
10873 |
+
node.setAttribute(DOMProperty.ROOT_ATTRIBUTE_NAME, '');
|
10874 |
+
},
|
10875 |
+
|
10876 |
+
/**
|
10877 |
+
* Creates markup for a property.
|
10878 |
+
*
|
10879 |
+
* @param {string} name
|
10880 |
+
* @param {*} value
|
10881 |
+
* @return {?string} Markup string, or null if the property was invalid.
|
10882 |
+
*/
|
10883 |
+
createMarkupForProperty: function (name, value) {
|
10884 |
+
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
10885 |
+
if (propertyInfo) {
|
10886 |
+
if (shouldIgnoreValue(propertyInfo, value)) {
|
10887 |
+
return '';
|
10888 |
+
}
|
10889 |
+
var attributeName = propertyInfo.attributeName;
|
10890 |
+
if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {
|
10891 |
+
return attributeName + '=""';
|
10892 |
+
}
|
10893 |
+
return attributeName + '=' + quoteAttributeValueForBrowser(value);
|
10894 |
+
} else if (DOMProperty.isCustomAttribute(name)) {
|
10895 |
+
if (value == null) {
|
10896 |
+
return '';
|
10897 |
+
}
|
10898 |
+
return name + '=' + quoteAttributeValueForBrowser(value);
|
10899 |
+
}
|
10900 |
+
return null;
|
10901 |
+
},
|
10902 |
+
|
10903 |
+
/**
|
10904 |
+
* Creates markup for a custom property.
|
10905 |
+
*
|
10906 |
+
* @param {string} name
|
10907 |
+
* @param {*} value
|
10908 |
+
* @return {string} Markup string, or empty string if the property was invalid.
|
10909 |
+
*/
|
10910 |
+
createMarkupForCustomAttribute: function (name, value) {
|
10911 |
+
if (!isAttributeNameSafe(name) || value == null) {
|
10912 |
+
return '';
|
10913 |
+
}
|
10914 |
+
return name + '=' + quoteAttributeValueForBrowser(value);
|
10915 |
+
},
|
10916 |
+
|
10917 |
+
/**
|
10918 |
+
* Sets the value for a property on a node.
|
10919 |
+
*
|
10920 |
+
* @param {DOMElement} node
|
10921 |
+
* @param {string} name
|
10922 |
+
* @param {*} value
|
10923 |
+
*/
|
10924 |
+
setValueForProperty: function (node, name, value) {
|
10925 |
+
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
10926 |
+
if (propertyInfo) {
|
10927 |
+
var mutationMethod = propertyInfo.mutationMethod;
|
10928 |
+
if (mutationMethod) {
|
10929 |
+
mutationMethod(node, value);
|
10930 |
+
} else if (shouldIgnoreValue(propertyInfo, value)) {
|
10931 |
+
this.deleteValueForProperty(node, name);
|
10932 |
+
return;
|
10933 |
+
} else if (propertyInfo.mustUseProperty) {
|
10934 |
+
// Contrary to `setAttribute`, object properties are properly
|
10935 |
+
// `toString`ed by IE8/9.
|
10936 |
+
node[propertyInfo.propertyName] = value;
|
10937 |
+
} else {
|
10938 |
+
var attributeName = propertyInfo.attributeName;
|
10939 |
+
var namespace = propertyInfo.attributeNamespace;
|
10940 |
+
// `setAttribute` with objects becomes only `[object]` in IE8/9,
|
10941 |
+
// ('' + value) makes it output the correct toString()-value.
|
10942 |
+
if (namespace) {
|
10943 |
+
node.setAttributeNS(namespace, attributeName, '' + value);
|
10944 |
+
} else if (propertyInfo.hasBooleanValue || propertyInfo.hasOverloadedBooleanValue && value === true) {
|
10945 |
+
node.setAttribute(attributeName, '');
|
10946 |
+
} else {
|
10947 |
+
node.setAttribute(attributeName, '' + value);
|
10948 |
+
}
|
10949 |
+
}
|
10950 |
+
} else if (DOMProperty.isCustomAttribute(name)) {
|
10951 |
+
DOMPropertyOperations.setValueForAttribute(node, name, value);
|
10952 |
+
return;
|
10953 |
+
}
|
10954 |
+
|
10955 |
+
if (true) {
|
10956 |
+
var payload = {};
|
10957 |
+
payload[name] = value;
|
10958 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10959 |
+
instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,
|
10960 |
+
type: 'update attribute',
|
10961 |
+
payload: payload
|
10962 |
+
});
|
10963 |
+
}
|
10964 |
+
},
|
10965 |
+
|
10966 |
+
setValueForAttribute: function (node, name, value) {
|
10967 |
+
if (!isAttributeNameSafe(name)) {
|
10968 |
+
return;
|
10969 |
+
}
|
10970 |
+
if (value == null) {
|
10971 |
+
node.removeAttribute(name);
|
10972 |
+
} else {
|
10973 |
+
node.setAttribute(name, '' + value);
|
10974 |
+
}
|
10975 |
+
|
10976 |
+
if (true) {
|
10977 |
+
var payload = {};
|
10978 |
+
payload[name] = value;
|
10979 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10980 |
+
instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,
|
10981 |
+
type: 'update attribute',
|
10982 |
+
payload: payload
|
10983 |
+
});
|
10984 |
+
}
|
10985 |
+
},
|
10986 |
+
|
10987 |
+
/**
|
10988 |
+
* Deletes an attributes from a node.
|
10989 |
+
*
|
10990 |
+
* @param {DOMElement} node
|
10991 |
+
* @param {string} name
|
10992 |
+
*/
|
10993 |
+
deleteValueForAttribute: function (node, name) {
|
10994 |
+
node.removeAttribute(name);
|
10995 |
+
if (true) {
|
10996 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
10997 |
+
instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,
|
10998 |
+
type: 'remove attribute',
|
10999 |
+
payload: name
|
11000 |
+
});
|
11001 |
+
}
|
11002 |
+
},
|
11003 |
+
|
11004 |
+
/**
|
11005 |
+
* Deletes the value for a property on a node.
|
11006 |
+
*
|
11007 |
+
* @param {DOMElement} node
|
11008 |
+
* @param {string} name
|
11009 |
+
*/
|
11010 |
+
deleteValueForProperty: function (node, name) {
|
11011 |
+
var propertyInfo = DOMProperty.properties.hasOwnProperty(name) ? DOMProperty.properties[name] : null;
|
11012 |
+
if (propertyInfo) {
|
11013 |
+
var mutationMethod = propertyInfo.mutationMethod;
|
11014 |
+
if (mutationMethod) {
|
11015 |
+
mutationMethod(node, undefined);
|
11016 |
+
} else if (propertyInfo.mustUseProperty) {
|
11017 |
+
var propName = propertyInfo.propertyName;
|
11018 |
+
if (propertyInfo.hasBooleanValue) {
|
11019 |
+
node[propName] = false;
|
11020 |
+
} else {
|
11021 |
+
node[propName] = '';
|
11022 |
+
}
|
11023 |
+
} else {
|
11024 |
+
node.removeAttribute(propertyInfo.attributeName);
|
11025 |
+
}
|
11026 |
+
} else if (DOMProperty.isCustomAttribute(name)) {
|
11027 |
+
node.removeAttribute(name);
|
11028 |
+
}
|
11029 |
+
|
11030 |
+
if (true) {
|
11031 |
+
ReactInstrumentation.debugTool.onHostOperation({
|
11032 |
+
instanceID: ReactDOMComponentTree.getInstanceFromNode(node)._debugID,
|
11033 |
+
type: 'remove attribute',
|
11034 |
+
payload: name
|
11035 |
+
});
|
11036 |
+
}
|
11037 |
+
}
|
11038 |
+
};
|
11039 |
+
|
11040 |
+
module.exports = DOMPropertyOperations;
|
11041 |
+
|
11042 |
+
/***/ }),
|
11043 |
+
|
11044 |
+
/***/ "./node_modules/react-dom/lib/Danger.js":
|
11045 |
+
/*!**********************************************!*\
|
11046 |
+
!*** ./node_modules/react-dom/lib/Danger.js ***!
|
11047 |
+
\**********************************************/
|
11048 |
+
/*! no static exports found */
|
11049 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11050 |
+
|
11051 |
+
"use strict";
|
11052 |
+
/**
|
11053 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11054 |
+
*
|
11055 |
+
* This source code is licensed under the MIT license found in the
|
11056 |
+
* LICENSE file in the root directory of this source tree.
|
11057 |
+
*
|
11058 |
+
*/
|
11059 |
+
|
11060 |
+
|
11061 |
+
|
11062 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
11063 |
+
|
11064 |
+
var DOMLazyTree = __webpack_require__(/*! ./DOMLazyTree */ "./node_modules/react-dom/lib/DOMLazyTree.js");
|
11065 |
+
var ExecutionEnvironment = __webpack_require__(/*! fbjs/lib/ExecutionEnvironment */ "./node_modules/fbjs/lib/ExecutionEnvironment.js");
|
11066 |
+
|
11067 |
+
var createNodesFromMarkup = __webpack_require__(/*! fbjs/lib/createNodesFromMarkup */ "./node_modules/fbjs/lib/createNodesFromMarkup.js");
|
11068 |
+
var emptyFunction = __webpack_require__(/*! fbjs/lib/emptyFunction */ "./node_modules/fbjs/lib/emptyFunction.js");
|
11069 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
11070 |
+
|
11071 |
+
var Danger = {
|
11072 |
+
/**
|
11073 |
+
* Replaces a node with a string of markup at its current position within its
|
11074 |
+
* parent. The markup must render into a single root node.
|
11075 |
+
*
|
11076 |
+
* @param {DOMElement} oldChild Child node to replace.
|
11077 |
+
* @param {string} markup Markup to render in place of the child node.
|
11078 |
+
* @internal
|
11079 |
+
*/
|
11080 |
+
dangerouslyReplaceNodeWithMarkup: function (oldChild, markup) {
|
11081 |
+
!ExecutionEnvironment.canUseDOM ? true ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot render markup in a worker thread. Make sure `window` and `document` are available globally before requiring React when unit testing or use ReactDOMServer.renderToString() for server rendering.') : undefined : void 0;
|
11082 |
+
!markup ? true ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Missing markup.') : undefined : void 0;
|
11083 |
+
!(oldChild.nodeName !== 'HTML') ? true ? invariant(false, 'dangerouslyReplaceNodeWithMarkup(...): Cannot replace markup of the <html> node. This is because browser quirks make this unreliable and/or slow. If you want to render to the root you must use server rendering. See ReactDOMServer.renderToString().') : undefined : void 0;
|
11084 |
+
|
11085 |
+
if (typeof markup === 'string') {
|
11086 |
+
var newChild = createNodesFromMarkup(markup, emptyFunction)[0];
|
11087 |
+
oldChild.parentNode.replaceChild(newChild, oldChild);
|
11088 |
+
} else {
|
11089 |
+
DOMLazyTree.replaceChildWithTree(oldChild, markup);
|
11090 |
+
}
|
11091 |
+
}
|
11092 |
+
};
|
11093 |
+
|
11094 |
+
module.exports = Danger;
|
11095 |
+
|
11096 |
+
/***/ }),
|
11097 |
+
|
11098 |
+
/***/ "./node_modules/react-dom/lib/DefaultEventPluginOrder.js":
|
11099 |
+
/*!***************************************************************!*\
|
11100 |
+
!*** ./node_modules/react-dom/lib/DefaultEventPluginOrder.js ***!
|
11101 |
+
\***************************************************************/
|
11102 |
+
/*! no static exports found */
|
11103 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11104 |
+
|
11105 |
+
"use strict";
|
11106 |
+
/**
|
11107 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11108 |
+
*
|
11109 |
+
* This source code is licensed under the MIT license found in the
|
11110 |
+
* LICENSE file in the root directory of this source tree.
|
11111 |
+
*
|
11112 |
+
*/
|
11113 |
+
|
11114 |
+
|
11115 |
+
|
11116 |
+
/**
|
11117 |
+
* Module that is injectable into `EventPluginHub`, that specifies a
|
11118 |
+
* deterministic ordering of `EventPlugin`s. A convenient way to reason about
|
11119 |
+
* plugins, without having to package every one of them. This is better than
|
11120 |
+
* having plugins be ordered in the same order that they are injected because
|
11121 |
+
* that ordering would be influenced by the packaging order.
|
11122 |
+
* `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that
|
11123 |
+
* preventing default on events is convenient in `SimpleEventPlugin` handlers.
|
11124 |
+
*/
|
11125 |
+
|
11126 |
+
var DefaultEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin'];
|
11127 |
+
|
11128 |
+
module.exports = DefaultEventPluginOrder;
|
11129 |
+
|
11130 |
+
/***/ }),
|
11131 |
+
|
11132 |
+
/***/ "./node_modules/react-dom/lib/EnterLeaveEventPlugin.js":
|
11133 |
+
/*!*************************************************************!*\
|
11134 |
+
!*** ./node_modules/react-dom/lib/EnterLeaveEventPlugin.js ***!
|
11135 |
+
\*************************************************************/
|
11136 |
+
/*! no static exports found */
|
11137 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11138 |
+
|
11139 |
+
"use strict";
|
11140 |
+
/**
|
11141 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11142 |
+
*
|
11143 |
+
* This source code is licensed under the MIT license found in the
|
11144 |
+
* LICENSE file in the root directory of this source tree.
|
11145 |
+
*
|
11146 |
+
*/
|
11147 |
+
|
11148 |
+
|
11149 |
+
|
11150 |
+
var EventPropagators = __webpack_require__(/*! ./EventPropagators */ "./node_modules/react-dom/lib/EventPropagators.js");
|
11151 |
+
var ReactDOMComponentTree = __webpack_require__(/*! ./ReactDOMComponentTree */ "./node_modules/react-dom/lib/ReactDOMComponentTree.js");
|
11152 |
+
var SyntheticMouseEvent = __webpack_require__(/*! ./SyntheticMouseEvent */ "./node_modules/react-dom/lib/SyntheticMouseEvent.js");
|
11153 |
+
|
11154 |
+
var eventTypes = {
|
11155 |
+
mouseEnter: {
|
11156 |
+
registrationName: 'onMouseEnter',
|
11157 |
+
dependencies: ['topMouseOut', 'topMouseOver']
|
11158 |
+
},
|
11159 |
+
mouseLeave: {
|
11160 |
+
registrationName: 'onMouseLeave',
|
11161 |
+
dependencies: ['topMouseOut', 'topMouseOver']
|
11162 |
+
}
|
11163 |
+
};
|
11164 |
+
|
11165 |
+
var EnterLeaveEventPlugin = {
|
11166 |
+
eventTypes: eventTypes,
|
11167 |
+
|
11168 |
+
/**
|
11169 |
+
* For almost every interaction we care about, there will be both a top-level
|
11170 |
+
* `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that
|
11171 |
+
* we do not extract duplicate events. However, moving the mouse into the
|
11172 |
+
* browser from outside will not fire a `mouseout` event. In this case, we use
|
11173 |
+
* the `mouseover` top-level event.
|
11174 |
+
*/
|
11175 |
+
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
11176 |
+
if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) {
|
11177 |
+
return null;
|
11178 |
+
}
|
11179 |
+
if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') {
|
11180 |
+
// Must not be a mouse in or mouse out - ignoring.
|
11181 |
+
return null;
|
11182 |
+
}
|
11183 |
+
|
11184 |
+
var win;
|
11185 |
+
if (nativeEventTarget.window === nativeEventTarget) {
|
11186 |
+
// `nativeEventTarget` is probably a window object.
|
11187 |
+
win = nativeEventTarget;
|
11188 |
+
} else {
|
11189 |
+
// TODO: Figure out why `ownerDocument` is sometimes undefined in IE8.
|
11190 |
+
var doc = nativeEventTarget.ownerDocument;
|
11191 |
+
if (doc) {
|
11192 |
+
win = doc.defaultView || doc.parentWindow;
|
11193 |
+
} else {
|
11194 |
+
win = window;
|
11195 |
+
}
|
11196 |
+
}
|
11197 |
+
|
11198 |
+
var from;
|
11199 |
+
var to;
|
11200 |
+
if (topLevelType === 'topMouseOut') {
|
11201 |
+
from = targetInst;
|
11202 |
+
var related = nativeEvent.relatedTarget || nativeEvent.toElement;
|
11203 |
+
to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null;
|
11204 |
+
} else {
|
11205 |
+
// Moving to a node from outside the window.
|
11206 |
+
from = null;
|
11207 |
+
to = targetInst;
|
11208 |
+
}
|
11209 |
+
|
11210 |
+
if (from === to) {
|
11211 |
+
// Nothing pertains to our managed components.
|
11212 |
+
return null;
|
11213 |
+
}
|
11214 |
+
|
11215 |
+
var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from);
|
11216 |
+
var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to);
|
11217 |
+
|
11218 |
+
var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget);
|
11219 |
+
leave.type = 'mouseleave';
|
11220 |
+
leave.target = fromNode;
|
11221 |
+
leave.relatedTarget = toNode;
|
11222 |
+
|
11223 |
+
var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget);
|
11224 |
+
enter.type = 'mouseenter';
|
11225 |
+
enter.target = toNode;
|
11226 |
+
enter.relatedTarget = fromNode;
|
11227 |
+
|
11228 |
+
EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to);
|
11229 |
+
|
11230 |
+
return [leave, enter];
|
11231 |
+
}
|
11232 |
+
};
|
11233 |
+
|
11234 |
+
module.exports = EnterLeaveEventPlugin;
|
11235 |
+
|
11236 |
+
/***/ }),
|
11237 |
+
|
11238 |
+
/***/ "./node_modules/react-dom/lib/EventPluginHub.js":
|
11239 |
+
/*!******************************************************!*\
|
11240 |
+
!*** ./node_modules/react-dom/lib/EventPluginHub.js ***!
|
11241 |
+
\******************************************************/
|
11242 |
+
/*! no static exports found */
|
11243 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11244 |
+
|
11245 |
+
"use strict";
|
11246 |
+
/**
|
11247 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11248 |
+
*
|
11249 |
+
* This source code is licensed under the MIT license found in the
|
11250 |
+
* LICENSE file in the root directory of this source tree.
|
11251 |
+
*
|
11252 |
+
*/
|
11253 |
+
|
11254 |
+
|
11255 |
+
|
11256 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
11257 |
+
|
11258 |
+
var EventPluginRegistry = __webpack_require__(/*! ./EventPluginRegistry */ "./node_modules/react-dom/lib/EventPluginRegistry.js");
|
11259 |
+
var EventPluginUtils = __webpack_require__(/*! ./EventPluginUtils */ "./node_modules/react-dom/lib/EventPluginUtils.js");
|
11260 |
+
var ReactErrorUtils = __webpack_require__(/*! ./ReactErrorUtils */ "./node_modules/react-dom/lib/ReactErrorUtils.js");
|
11261 |
+
|
11262 |
+
var accumulateInto = __webpack_require__(/*! ./accumulateInto */ "./node_modules/react-dom/lib/accumulateInto.js");
|
11263 |
+
var forEachAccumulated = __webpack_require__(/*! ./forEachAccumulated */ "./node_modules/react-dom/lib/forEachAccumulated.js");
|
11264 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
11265 |
+
|
11266 |
+
/**
|
11267 |
+
* Internal store for event listeners
|
11268 |
+
*/
|
11269 |
+
var listenerBank = {};
|
11270 |
+
|
11271 |
+
/**
|
11272 |
+
* Internal queue of events that have accumulated their dispatches and are
|
11273 |
+
* waiting to have their dispatches executed.
|
11274 |
+
*/
|
11275 |
+
var eventQueue = null;
|
11276 |
+
|
11277 |
+
/**
|
11278 |
+
* Dispatches an event and releases it back into the pool, unless persistent.
|
11279 |
+
*
|
11280 |
+
* @param {?object} event Synthetic event to be dispatched.
|
11281 |
+
* @param {boolean} simulated If the event is simulated (changes exn behavior)
|
11282 |
+
* @private
|
11283 |
+
*/
|
11284 |
+
var executeDispatchesAndRelease = function (event, simulated) {
|
11285 |
+
if (event) {
|
11286 |
+
EventPluginUtils.executeDispatchesInOrder(event, simulated);
|
11287 |
+
|
11288 |
+
if (!event.isPersistent()) {
|
11289 |
+
event.constructor.release(event);
|
11290 |
+
}
|
11291 |
+
}
|
11292 |
+
};
|
11293 |
+
var executeDispatchesAndReleaseSimulated = function (e) {
|
11294 |
+
return executeDispatchesAndRelease(e, true);
|
11295 |
+
};
|
11296 |
+
var executeDispatchesAndReleaseTopLevel = function (e) {
|
11297 |
+
return executeDispatchesAndRelease(e, false);
|
11298 |
+
};
|
11299 |
+
|
11300 |
+
var getDictionaryKey = function (inst) {
|
11301 |
+
// Prevents V8 performance issue:
|
11302 |
+
// https://github.com/facebook/react/pull/7232
|
11303 |
+
return '.' + inst._rootNodeID;
|
11304 |
+
};
|
11305 |
+
|
11306 |
+
function isInteractive(tag) {
|
11307 |
+
return tag === 'button' || tag === 'input' || tag === 'select' || tag === 'textarea';
|
11308 |
+
}
|
11309 |
+
|
11310 |
+
function shouldPreventMouseEvent(name, type, props) {
|
11311 |
+
switch (name) {
|
11312 |
+
case 'onClick':
|
11313 |
+
case 'onClickCapture':
|
11314 |
+
case 'onDoubleClick':
|
11315 |
+
case 'onDoubleClickCapture':
|
11316 |
+
case 'onMouseDown':
|
11317 |
+
case 'onMouseDownCapture':
|
11318 |
+
case 'onMouseMove':
|
11319 |
+
case 'onMouseMoveCapture':
|
11320 |
+
case 'onMouseUp':
|
11321 |
+
case 'onMouseUpCapture':
|
11322 |
+
return !!(props.disabled && isInteractive(type));
|
11323 |
+
default:
|
11324 |
+
return false;
|
11325 |
+
}
|
11326 |
+
}
|
11327 |
+
|
11328 |
+
/**
|
11329 |
+
* This is a unified interface for event plugins to be installed and configured.
|
11330 |
+
*
|
11331 |
+
* Event plugins can implement the following properties:
|
11332 |
+
*
|
11333 |
+
* `extractEvents` {function(string, DOMEventTarget, string, object): *}
|
11334 |
+
* Required. When a top-level event is fired, this method is expected to
|
11335 |
+
* extract synthetic events that will in turn be queued and dispatched.
|
11336 |
+
*
|
11337 |
+
* `eventTypes` {object}
|
11338 |
+
* Optional, plugins that fire events must publish a mapping of registration
|
11339 |
+
* names that are used to register listeners. Values of this mapping must
|
11340 |
+
* be objects that contain `registrationName` or `phasedRegistrationNames`.
|
11341 |
+
*
|
11342 |
+
* `executeDispatch` {function(object, function, string)}
|
11343 |
+
* Optional, allows plugins to override how an event gets dispatched. By
|
11344 |
+
* default, the listener is simply invoked.
|
11345 |
+
*
|
11346 |
+
* Each plugin that is injected into `EventsPluginHub` is immediately operable.
|
11347 |
+
*
|
11348 |
+
* @public
|
11349 |
+
*/
|
11350 |
+
var EventPluginHub = {
|
11351 |
+
/**
|
11352 |
+
* Methods for injecting dependencies.
|
11353 |
+
*/
|
11354 |
+
injection: {
|
11355 |
+
/**
|
11356 |
+
* @param {array} InjectedEventPluginOrder
|
11357 |
+
* @public
|
11358 |
+
*/
|
11359 |
+
injectEventPluginOrder: EventPluginRegistry.injectEventPluginOrder,
|
11360 |
+
|
11361 |
+
/**
|
11362 |
+
* @param {object} injectedNamesToPlugins Map from names to plugin modules.
|
11363 |
+
*/
|
11364 |
+
injectEventPluginsByName: EventPluginRegistry.injectEventPluginsByName
|
11365 |
+
},
|
11366 |
+
|
11367 |
+
/**
|
11368 |
+
* Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent.
|
11369 |
+
*
|
11370 |
+
* @param {object} inst The instance, which is the source of events.
|
11371 |
+
* @param {string} registrationName Name of listener (e.g. `onClick`).
|
11372 |
+
* @param {function} listener The callback to store.
|
11373 |
+
*/
|
11374 |
+
putListener: function (inst, registrationName, listener) {
|
11375 |
+
!(typeof listener === 'function') ? true ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : undefined : void 0;
|
11376 |
+
|
11377 |
+
var key = getDictionaryKey(inst);
|
11378 |
+
var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {});
|
11379 |
+
bankForRegistrationName[key] = listener;
|
11380 |
+
|
11381 |
+
var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
|
11382 |
+
if (PluginModule && PluginModule.didPutListener) {
|
11383 |
+
PluginModule.didPutListener(inst, registrationName, listener);
|
11384 |
+
}
|
11385 |
+
},
|
11386 |
+
|
11387 |
+
/**
|
11388 |
+
* @param {object} inst The instance, which is the source of events.
|
11389 |
+
* @param {string} registrationName Name of listener (e.g. `onClick`).
|
11390 |
+
* @return {?function} The stored callback.
|
11391 |
+
*/
|
11392 |
+
getListener: function (inst, registrationName) {
|
11393 |
+
// TODO: shouldPreventMouseEvent is DOM-specific and definitely should not
|
11394 |
+
// live here; needs to be moved to a better place soon
|
11395 |
+
var bankForRegistrationName = listenerBank[registrationName];
|
11396 |
+
if (shouldPreventMouseEvent(registrationName, inst._currentElement.type, inst._currentElement.props)) {
|
11397 |
+
return null;
|
11398 |
+
}
|
11399 |
+
var key = getDictionaryKey(inst);
|
11400 |
+
return bankForRegistrationName && bankForRegistrationName[key];
|
11401 |
+
},
|
11402 |
+
|
11403 |
+
/**
|
11404 |
+
* Deletes a listener from the registration bank.
|
11405 |
+
*
|
11406 |
+
* @param {object} inst The instance, which is the source of events.
|
11407 |
+
* @param {string} registrationName Name of listener (e.g. `onClick`).
|
11408 |
+
*/
|
11409 |
+
deleteListener: function (inst, registrationName) {
|
11410 |
+
var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
|
11411 |
+
if (PluginModule && PluginModule.willDeleteListener) {
|
11412 |
+
PluginModule.willDeleteListener(inst, registrationName);
|
11413 |
+
}
|
11414 |
+
|
11415 |
+
var bankForRegistrationName = listenerBank[registrationName];
|
11416 |
+
// TODO: This should never be null -- when is it?
|
11417 |
+
if (bankForRegistrationName) {
|
11418 |
+
var key = getDictionaryKey(inst);
|
11419 |
+
delete bankForRegistrationName[key];
|
11420 |
+
}
|
11421 |
+
},
|
11422 |
+
|
11423 |
+
/**
|
11424 |
+
* Deletes all listeners for the DOM element with the supplied ID.
|
11425 |
+
*
|
11426 |
+
* @param {object} inst The instance, which is the source of events.
|
11427 |
+
*/
|
11428 |
+
deleteAllListeners: function (inst) {
|
11429 |
+
var key = getDictionaryKey(inst);
|
11430 |
+
for (var registrationName in listenerBank) {
|
11431 |
+
if (!listenerBank.hasOwnProperty(registrationName)) {
|
11432 |
+
continue;
|
11433 |
+
}
|
11434 |
+
|
11435 |
+
if (!listenerBank[registrationName][key]) {
|
11436 |
+
continue;
|
11437 |
+
}
|
11438 |
+
|
11439 |
+
var PluginModule = EventPluginRegistry.registrationNameModules[registrationName];
|
11440 |
+
if (PluginModule && PluginModule.willDeleteListener) {
|
11441 |
+
PluginModule.willDeleteListener(inst, registrationName);
|
11442 |
+
}
|
11443 |
+
|
11444 |
+
delete listenerBank[registrationName][key];
|
11445 |
+
}
|
11446 |
+
},
|
11447 |
+
|
11448 |
+
/**
|
11449 |
+
* Allows registered plugins an opportunity to extract events from top-level
|
11450 |
+
* native browser events.
|
11451 |
+
*
|
11452 |
+
* @return {*} An accumulation of synthetic events.
|
11453 |
+
* @internal
|
11454 |
+
*/
|
11455 |
+
extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) {
|
11456 |
+
var events;
|
11457 |
+
var plugins = EventPluginRegistry.plugins;
|
11458 |
+
for (var i = 0; i < plugins.length; i++) {
|
11459 |
+
// Not every plugin in the ordering may be loaded at runtime.
|
11460 |
+
var possiblePlugin = plugins[i];
|
11461 |
+
if (possiblePlugin) {
|
11462 |
+
var extractedEvents = possiblePlugin.extractEvents(topLevelType, targetInst, nativeEvent, nativeEventTarget);
|
11463 |
+
if (extractedEvents) {
|
11464 |
+
events = accumulateInto(events, extractedEvents);
|
11465 |
+
}
|
11466 |
+
}
|
11467 |
+
}
|
11468 |
+
return events;
|
11469 |
+
},
|
11470 |
+
|
11471 |
+
/**
|
11472 |
+
* Enqueues a synthetic event that should be dispatched when
|
11473 |
+
* `processEventQueue` is invoked.
|
11474 |
+
*
|
11475 |
+
* @param {*} events An accumulation of synthetic events.
|
11476 |
+
* @internal
|
11477 |
+
*/
|
11478 |
+
enqueueEvents: function (events) {
|
11479 |
+
if (events) {
|
11480 |
+
eventQueue = accumulateInto(eventQueue, events);
|
11481 |
+
}
|
11482 |
+
},
|
11483 |
+
|
11484 |
+
/**
|
11485 |
+
* Dispatches all synthetic events on the event queue.
|
11486 |
+
*
|
11487 |
+
* @internal
|
11488 |
+
*/
|
11489 |
+
processEventQueue: function (simulated) {
|
11490 |
+
// Set `eventQueue` to null before processing it so that we can tell if more
|
11491 |
+
// events get enqueued while processing.
|
11492 |
+
var processingEventQueue = eventQueue;
|
11493 |
+
eventQueue = null;
|
11494 |
+
if (simulated) {
|
11495 |
+
forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseSimulated);
|
11496 |
+
} else {
|
11497 |
+
forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel);
|
11498 |
+
}
|
11499 |
+
!!eventQueue ? true ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : undefined : void 0;
|
11500 |
+
// This would be a good time to rethrow if any of the event handlers threw.
|
11501 |
+
ReactErrorUtils.rethrowCaughtError();
|
11502 |
+
},
|
11503 |
+
|
11504 |
+
/**
|
11505 |
+
* These are needed for tests only. Do not use!
|
11506 |
+
*/
|
11507 |
+
__purge: function () {
|
11508 |
+
listenerBank = {};
|
11509 |
+
},
|
11510 |
+
|
11511 |
+
__getListenerBank: function () {
|
11512 |
+
return listenerBank;
|
11513 |
+
}
|
11514 |
+
};
|
11515 |
+
|
11516 |
+
module.exports = EventPluginHub;
|
11517 |
+
|
11518 |
+
/***/ }),
|
11519 |
+
|
11520 |
+
/***/ "./node_modules/react-dom/lib/EventPluginRegistry.js":
|
11521 |
+
/*!***********************************************************!*\
|
11522 |
+
!*** ./node_modules/react-dom/lib/EventPluginRegistry.js ***!
|
11523 |
+
\***********************************************************/
|
11524 |
+
/*! no static exports found */
|
11525 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11526 |
+
|
11527 |
+
"use strict";
|
11528 |
+
/**
|
11529 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11530 |
+
*
|
11531 |
+
* This source code is licensed under the MIT license found in the
|
11532 |
+
* LICENSE file in the root directory of this source tree.
|
11533 |
+
*
|
11534 |
+
*
|
11535 |
+
*/
|
11536 |
+
|
11537 |
+
|
11538 |
+
|
11539 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
11540 |
+
|
11541 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
11542 |
+
|
11543 |
+
/**
|
11544 |
+
* Injectable ordering of event plugins.
|
11545 |
+
*/
|
11546 |
+
var eventPluginOrder = null;
|
11547 |
+
|
11548 |
+
/**
|
11549 |
+
* Injectable mapping from names to event plugin modules.
|
11550 |
+
*/
|
11551 |
+
var namesToPlugins = {};
|
11552 |
+
|
11553 |
+
/**
|
11554 |
+
* Recomputes the plugin list using the injected plugins and plugin ordering.
|
11555 |
+
*
|
11556 |
+
* @private
|
11557 |
+
*/
|
11558 |
+
function recomputePluginOrdering() {
|
11559 |
+
if (!eventPluginOrder) {
|
11560 |
+
// Wait until an `eventPluginOrder` is injected.
|
11561 |
+
return;
|
11562 |
+
}
|
11563 |
+
for (var pluginName in namesToPlugins) {
|
11564 |
+
var pluginModule = namesToPlugins[pluginName];
|
11565 |
+
var pluginIndex = eventPluginOrder.indexOf(pluginName);
|
11566 |
+
!(pluginIndex > -1) ? true ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : undefined : void 0;
|
11567 |
+
if (EventPluginRegistry.plugins[pluginIndex]) {
|
11568 |
+
continue;
|
11569 |
+
}
|
11570 |
+
!pluginModule.extractEvents ? true ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : undefined : void 0;
|
11571 |
+
EventPluginRegistry.plugins[pluginIndex] = pluginModule;
|
11572 |
+
var publishedEvents = pluginModule.eventTypes;
|
11573 |
+
for (var eventName in publishedEvents) {
|
11574 |
+
!publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? true ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : undefined : void 0;
|
11575 |
+
}
|
11576 |
+
}
|
11577 |
+
}
|
11578 |
+
|
11579 |
+
/**
|
11580 |
+
* Publishes an event so that it can be dispatched by the supplied plugin.
|
11581 |
+
*
|
11582 |
+
* @param {object} dispatchConfig Dispatch configuration for the event.
|
11583 |
+
* @param {object} PluginModule Plugin publishing the event.
|
11584 |
+
* @return {boolean} True if the event was successfully published.
|
11585 |
+
* @private
|
11586 |
+
*/
|
11587 |
+
function publishEventForPlugin(dispatchConfig, pluginModule, eventName) {
|
11588 |
+
!!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? true ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : undefined : void 0;
|
11589 |
+
EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig;
|
11590 |
+
|
11591 |
+
var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
|
11592 |
+
if (phasedRegistrationNames) {
|
11593 |
+
for (var phaseName in phasedRegistrationNames) {
|
11594 |
+
if (phasedRegistrationNames.hasOwnProperty(phaseName)) {
|
11595 |
+
var phasedRegistrationName = phasedRegistrationNames[phaseName];
|
11596 |
+
publishRegistrationName(phasedRegistrationName, pluginModule, eventName);
|
11597 |
+
}
|
11598 |
+
}
|
11599 |
+
return true;
|
11600 |
+
} else if (dispatchConfig.registrationName) {
|
11601 |
+
publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName);
|
11602 |
+
return true;
|
11603 |
+
}
|
11604 |
+
return false;
|
11605 |
+
}
|
11606 |
+
|
11607 |
+
/**
|
11608 |
+
* Publishes a registration name that is used to identify dispatched events and
|
11609 |
+
* can be used with `EventPluginHub.putListener` to register listeners.
|
11610 |
+
*
|
11611 |
+
* @param {string} registrationName Registration name to add.
|
11612 |
+
* @param {object} PluginModule Plugin publishing the event.
|
11613 |
+
* @private
|
11614 |
+
*/
|
11615 |
+
function publishRegistrationName(registrationName, pluginModule, eventName) {
|
11616 |
+
!!EventPluginRegistry.registrationNameModules[registrationName] ? true ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : undefined : void 0;
|
11617 |
+
EventPluginRegistry.registrationNameModules[registrationName] = pluginModule;
|
11618 |
+
EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies;
|
11619 |
+
|
11620 |
+
if (true) {
|
11621 |
+
var lowerCasedName = registrationName.toLowerCase();
|
11622 |
+
EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName;
|
11623 |
+
|
11624 |
+
if (registrationName === 'onDoubleClick') {
|
11625 |
+
EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName;
|
11626 |
+
}
|
11627 |
+
}
|
11628 |
+
}
|
11629 |
+
|
11630 |
+
/**
|
11631 |
+
* Registers plugins so that they can extract and dispatch events.
|
11632 |
+
*
|
11633 |
+
* @see {EventPluginHub}
|
11634 |
+
*/
|
11635 |
+
var EventPluginRegistry = {
|
11636 |
+
/**
|
11637 |
+
* Ordered list of injected plugins.
|
11638 |
+
*/
|
11639 |
+
plugins: [],
|
11640 |
+
|
11641 |
+
/**
|
11642 |
+
* Mapping from event name to dispatch config
|
11643 |
+
*/
|
11644 |
+
eventNameDispatchConfigs: {},
|
11645 |
+
|
11646 |
+
/**
|
11647 |
+
* Mapping from registration name to plugin module
|
11648 |
+
*/
|
11649 |
+
registrationNameModules: {},
|
11650 |
+
|
11651 |
+
/**
|
11652 |
+
* Mapping from registration name to event name
|
11653 |
+
*/
|
11654 |
+
registrationNameDependencies: {},
|
11655 |
+
|
11656 |
+
/**
|
11657 |
+
* Mapping from lowercase registration names to the properly cased version,
|
11658 |
+
* used to warn in the case of missing event handlers. Available
|
11659 |
+
* only in __DEV__.
|
11660 |
+
* @type {Object}
|
11661 |
+
*/
|
11662 |
+
possibleRegistrationNames: true ? {} : undefined,
|
11663 |
+
// Trust the developer to only use possibleRegistrationNames in __DEV__
|
11664 |
+
|
11665 |
+
/**
|
11666 |
+
* Injects an ordering of plugins (by plugin name). This allows the ordering
|
11667 |
+
* to be decoupled from injection of the actual plugins so that ordering is
|
11668 |
+
* always deterministic regardless of packaging, on-the-fly injection, etc.
|
11669 |
+
*
|
11670 |
+
* @param {array} InjectedEventPluginOrder
|
11671 |
+
* @internal
|
11672 |
+
* @see {EventPluginHub.injection.injectEventPluginOrder}
|
11673 |
+
*/
|
11674 |
+
injectEventPluginOrder: function (injectedEventPluginOrder) {
|
11675 |
+
!!eventPluginOrder ? true ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : undefined : void 0;
|
11676 |
+
// Clone the ordering so it cannot be dynamically mutated.
|
11677 |
+
eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder);
|
11678 |
+
recomputePluginOrdering();
|
11679 |
+
},
|
11680 |
+
|
11681 |
+
/**
|
11682 |
+
* Injects plugins to be used by `EventPluginHub`. The plugin names must be
|
11683 |
+
* in the ordering injected by `injectEventPluginOrder`.
|
11684 |
+
*
|
11685 |
+
* Plugins can be injected as part of page initialization or on-the-fly.
|
11686 |
+
*
|
11687 |
+
* @param {object} injectedNamesToPlugins Map from names to plugin modules.
|
11688 |
+
* @internal
|
11689 |
+
* @see {EventPluginHub.injection.injectEventPluginsByName}
|
11690 |
+
*/
|
11691 |
+
injectEventPluginsByName: function (injectedNamesToPlugins) {
|
11692 |
+
var isOrderingDirty = false;
|
11693 |
+
for (var pluginName in injectedNamesToPlugins) {
|
11694 |
+
if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) {
|
11695 |
+
continue;
|
11696 |
+
}
|
11697 |
+
var pluginModule = injectedNamesToPlugins[pluginName];
|
11698 |
+
if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) {
|
11699 |
+
!!namesToPlugins[pluginName] ? true ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : undefined : void 0;
|
11700 |
+
namesToPlugins[pluginName] = pluginModule;
|
11701 |
+
isOrderingDirty = true;
|
11702 |
+
}
|
11703 |
+
}
|
11704 |
+
if (isOrderingDirty) {
|
11705 |
+
recomputePluginOrdering();
|
11706 |
+
}
|
11707 |
+
},
|
11708 |
+
|
11709 |
+
/**
|
11710 |
+
* Looks up the plugin for the supplied event.
|
11711 |
+
*
|
11712 |
+
* @param {object} event A synthetic event.
|
11713 |
+
* @return {?object} The plugin that created the supplied event.
|
11714 |
+
* @internal
|
11715 |
+
*/
|
11716 |
+
getPluginModuleForEvent: function (event) {
|
11717 |
+
var dispatchConfig = event.dispatchConfig;
|
11718 |
+
if (dispatchConfig.registrationName) {
|
11719 |
+
return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null;
|
11720 |
+
}
|
11721 |
+
if (dispatchConfig.phasedRegistrationNames !== undefined) {
|
11722 |
+
// pulling phasedRegistrationNames out of dispatchConfig helps Flow see
|
11723 |
+
// that it is not undefined.
|
11724 |
+
var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames;
|
11725 |
+
|
11726 |
+
for (var phase in phasedRegistrationNames) {
|
11727 |
+
if (!phasedRegistrationNames.hasOwnProperty(phase)) {
|
11728 |
+
continue;
|
11729 |
+
}
|
11730 |
+
var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]];
|
11731 |
+
if (pluginModule) {
|
11732 |
+
return pluginModule;
|
11733 |
+
}
|
11734 |
+
}
|
11735 |
+
}
|
11736 |
+
return null;
|
11737 |
+
},
|
11738 |
+
|
11739 |
+
/**
|
11740 |
+
* Exposed for unit testing.
|
11741 |
+
* @private
|
11742 |
+
*/
|
11743 |
+
_resetEventPlugins: function () {
|
11744 |
+
eventPluginOrder = null;
|
11745 |
+
for (var pluginName in namesToPlugins) {
|
11746 |
+
if (namesToPlugins.hasOwnProperty(pluginName)) {
|
11747 |
+
delete namesToPlugins[pluginName];
|
11748 |
+
}
|
11749 |
+
}
|
11750 |
+
EventPluginRegistry.plugins.length = 0;
|
11751 |
+
|
11752 |
+
var eventNameDispatchConfigs = EventPluginRegistry.eventNameDispatchConfigs;
|
11753 |
+
for (var eventName in eventNameDispatchConfigs) {
|
11754 |
+
if (eventNameDispatchConfigs.hasOwnProperty(eventName)) {
|
11755 |
+
delete eventNameDispatchConfigs[eventName];
|
11756 |
+
}
|
11757 |
+
}
|
11758 |
+
|
11759 |
+
var registrationNameModules = EventPluginRegistry.registrationNameModules;
|
11760 |
+
for (var registrationName in registrationNameModules) {
|
11761 |
+
if (registrationNameModules.hasOwnProperty(registrationName)) {
|
11762 |
+
delete registrationNameModules[registrationName];
|
11763 |
+
}
|
11764 |
+
}
|
11765 |
+
|
11766 |
+
if (true) {
|
11767 |
+
var possibleRegistrationNames = EventPluginRegistry.possibleRegistrationNames;
|
11768 |
+
for (var lowerCasedName in possibleRegistrationNames) {
|
11769 |
+
if (possibleRegistrationNames.hasOwnProperty(lowerCasedName)) {
|
11770 |
+
delete possibleRegistrationNames[lowerCasedName];
|
11771 |
+
}
|
11772 |
+
}
|
11773 |
+
}
|
11774 |
+
}
|
11775 |
+
};
|
11776 |
+
|
11777 |
+
module.exports = EventPluginRegistry;
|
11778 |
+
|
11779 |
+
/***/ }),
|
11780 |
+
|
11781 |
+
/***/ "./node_modules/react-dom/lib/EventPluginUtils.js":
|
11782 |
+
/*!********************************************************!*\
|
11783 |
+
!*** ./node_modules/react-dom/lib/EventPluginUtils.js ***!
|
11784 |
+
\********************************************************/
|
11785 |
+
/*! no static exports found */
|
11786 |
+
/***/ (function(module, exports, __webpack_require__) {
|
11787 |
+
|
11788 |
+
"use strict";
|
11789 |
+
/**
|
11790 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
11791 |
+
*
|
11792 |
+
* This source code is licensed under the MIT license found in the
|
11793 |
+
* LICENSE file in the root directory of this source tree.
|
11794 |
+
*
|
11795 |
+
*/
|
11796 |
+
|
11797 |
+
|
11798 |
+
|
11799 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
11800 |
+
|
11801 |
+
var ReactErrorUtils = __webpack_require__(/*! ./ReactErrorUtils */ "./node_modules/react-dom/lib/ReactErrorUtils.js");
|
11802 |
+
|
11803 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
11804 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
11805 |
+
|
11806 |
+
/**
|
11807 |
+
* Injected dependencies:
|
11808 |
+
*/
|
11809 |
+
|
11810 |
+
/**
|
11811 |
+
* - `ComponentTree`: [required] Module that can convert between React instances
|
11812 |
+
* and actual node references.
|
11813 |
+
*/
|
11814 |
+
var ComponentTree;
|
11815 |
+
var TreeTraversal;
|
11816 |
+
var injection = {
|
11817 |
+
injectComponentTree: function (Injected) {
|
11818 |
+
ComponentTree = Injected;
|
11819 |
+
if (true) {
|
11820 |
+
true ? warning(Injected && Injected.getNodeFromInstance && Injected.getInstanceFromNode, 'EventPluginUtils.injection.injectComponentTree(...): Injected ' + 'module is missing getNodeFromInstance or getInstanceFromNode.') : undefined;
|
11821 |
+
}
|
11822 |
+
},
|
11823 |
+
injectTreeTraversal: function (Injected) {
|
11824 |
+
TreeTraversal = Injected;
|
11825 |
+
if (true) {
|
11826 |
+
true ? warning(Injected && Injected.isAncestor && Injected.getLowestCommonAncestor, 'EventPluginUtils.injection.injectTreeTraversal(...): Injected ' + 'module is missing isAncestor or getLowestCommonAncestor.') : undefined;
|
11827 |
+
}
|
11828 |
+
}
|
11829 |
+
};
|
11830 |
+
|
11831 |
+
function isEndish(topLevelType) {
|
11832 |
+
return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel';
|
11833 |
+
}
|
11834 |
+
|
11835 |
+
function isMoveish(topLevelType) {
|
11836 |
+
return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove';
|
11837 |
+
}
|
11838 |
+
function isStartish(topLevelType) {
|
11839 |
+
return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart';
|
11840 |
+
}
|
11841 |
+
|
11842 |
+
var validateEventDispatches;
|
11843 |
+
if (true) {
|
11844 |
+
validateEventDispatches = function (event) {
|
11845 |
+
var dispatchListeners = event._dispatchListeners;
|
11846 |
+
var dispatchInstances = event._dispatchInstances;
|
11847 |
+
|
11848 |
+
var listenersIsArr = Array.isArray(dispatchListeners);
|
11849 |
+
var listenersLen = listenersIsArr ? dispatchListeners.length : dispatchListeners ? 1 : 0;
|
11850 |
+
|
11851 |
+
var instancesIsArr = Array.isArray(dispatchInstances);
|
11852 |
+
var instancesLen = instancesIsArr ? dispatchInstances.length : dispatchInstances ? 1 : 0;
|
11853 |
+
|
11854 |
+
true ? warning(instancesIsArr === listenersIsArr && instancesLen === listenersLen, 'EventPluginUtils: Invalid `event`.') : undefined;
|
11855 |
+
};
|
11856 |
+
}
|
11857 |
+
|
11858 |
+
/**
|
11859 |
+
* Dispatch the event to the listener.
|
11860 |
+
* @param {SyntheticEvent} event SyntheticEvent to handle
|
11861 |
+
* @param {boolean} simulated If the event is simulated (changes exn behavior)
|
11862 |
+
* @param {function} listener Application-level callback
|
11863 |
+
* @param {*} inst Internal component instance
|
11864 |
+
*/
|
11865 |
+
function executeDispatch(event, simulated, listener, inst) {
|
11866 |
+
var type = event.type || 'unknown-event';
|
11867 |
+
event.currentTarget = EventPluginUtils.getNodeFromInstance(inst);
|
11868 |
+
if (simulated) {
|
11869 |
+
ReactErrorUtils.invokeGuardedCallbackWithCatch(type, listener, event);
|
11870 |
+
} else {
|
11871 |
+
ReactErrorUtils.invokeGuardedCallback(type, listener, event);
|
11872 |
+
}
|
11873 |
+
event.currentTarget = null;
|
11874 |
+
}
|
11875 |
+
|
11876 |
+
/**
|
11877 |
+
* Standard/simple iteration through an event's collected dispatches.
|
11878 |
+
*/
|
11879 |
+
function executeDispatchesInOrder(event, simulated) {
|
11880 |
+
var dispatchListeners = event._dispatchListeners;
|
11881 |
+
var dispatchInstances = event._dispatchInstances;
|
11882 |
+
if (true) {
|
11883 |
+
validateEventDispatches(event);
|
11884 |
+
}
|
11885 |
+
if (Array.isArray(dispatchListeners)) {
|
11886 |
+
for (var i = 0; i < dispatchListeners.length; i++) {
|
11887 |
+
if (event.isPropagationStopped()) {
|
11888 |
+
break;
|
11889 |
+
}
|
11890 |
+
// Listeners and Instances are two parallel arrays that are always in sync.
|
11891 |
+
executeDispatch(event, simulated, dispatchListeners[i], dispatchInstances[i]);
|
11892 |
+
}
|
11893 |
+
} else if (dispatchListeners) {
|
11894 |
+
executeDispatch(event, simulated, dispatchListeners, dispatchInstances);
|
11895 |
+
}
|
11896 |
+
event._dispatchListeners = null;
|
11897 |
+
event._dispatchInstances = null;
|
11898 |
+
}
|
11899 |
+
|
11900 |
+
/**
|
11901 |
+
* Standard/simple iteration through an event's collected dispatches, but stops
|
11902 |
+
* at the first dispatch execution returning true, and returns that id.
|
11903 |
+
*
|
11904 |
+
* @return {?string} id of the first dispatch execution who's listener returns
|
11905 |
+
* true, or null if no listener returned true.
|
11906 |
+
*/
|
11907 |
+
function executeDispatchesInOrderStopAtTrueImpl(event) {
|
11908 |
+
var dispatchListeners = event._dispatchListeners;
|
11909 |
+
var dispatchInstances = event._dispatchInstances;
|
11910 |
+
if (true) {
|
11911 |
+
validateEventDispatches(event);
|
11912 |
+
}
|
11913 |
+
if (Array.isArray(dispatchListeners)) {
|
11914 |
+
for (var i = 0; i < dispatchListeners.length; i++) {
|
11915 |
+
if (event.isPropagationStopped()) {
|
11916 |
+
break;
|
11917 |
+
}
|
11918 |
+
// Listeners and Instances are two parallel arrays that are always in sync.
|
11919 |
+
if (dispatchListeners[i](event, dispatchInstances[i])) {
|
11920 |
+
return dispatchInstances[i];
|
11921 |
+
}
|
11922 |
+
}
|
11923 |
+
} else if (dispatchListeners) {
|
11924 |
+
if (dispatchListeners(event, dispatchInstances)) {
|
11925 |
+
return dispatchInstances;
|
11926 |
+
}
|
11927 |
+
}
|
11928 |
+
return null;
|
11929 |
+
}
|
11930 |
+
|
11931 |
+
/**
|
11932 |
+
* @see executeDispatchesInOrderStopAtTrueImpl
|
11933 |
+
*/
|
11934 |
+
function executeDispatchesInOrderStopAtTrue(event) {
|
11935 |
+
var ret = executeDispatchesInOrderStopAtTrueImpl(event);
|
11936 |
+
event._dispatchInstances = null;
|
11937 |
+
event._dispatchListeners = null;
|
11938 |
+
return ret;
|
11939 |
+
}
|
11940 |
+
|
11941 |
+
/**
|
11942 |
+
* Execution of a "direct" dispatch - there must be at most one dispatch
|
11943 |
+
* accumulated on the event or it is considered an error. It doesn't really make
|
11944 |
+
* sense for an event with multiple dispatches (bubbled) to keep track of the
|
11945 |
+
* return values at each dispatch execution, but it does tend to make sense when
|
11946 |
+
* dealing with "direct" dispatches.
|
11947 |
+
*
|
11948 |
+
* @return {*} The return value of executing the single dispatch.
|
11949 |
+
*/
|
11950 |
+
function executeDirectDispatch(event) {
|
11951 |
+
if (true) {
|
11952 |
+
validateEventDispatches(event);
|
11953 |
+
}
|
11954 |
+
var dispatchListener = event._dispatchListeners;
|
11955 |
+
var dispatchInstance = event._dispatchInstances;
|
11956 |
+
!!Array.isArray(dispatchListener) ? true ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : undefined : void 0;
|
11957 |
+
event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null;
|
11958 |
+
var res = dispatchListener ? dispatchListener(event) : null;
|
11959 |
+
event.currentTarget = null;
|
11960 |
+
event._dispatchListeners = null;
|
11961 |
+
event._dispatchInstances = null;
|
11962 |
+
return res;
|
11963 |
+
}
|
11964 |
+
|
11965 |
+
/**
|
11966 |
+
* @param {SyntheticEvent} event
|
11967 |
+
* @return {boolean} True iff number of dispatches accumulated is greater than 0.
|
11968 |
+
*/
|
11969 |
+
function hasDispatches(event) {
|
11970 |
+
return !!event._dispatchListeners;
|
11971 |
+
}
|
11972 |
+
|
11973 |
+
/**
|
11974 |
+
* General utilities that are useful in creating custom Event Plugins.
|
11975 |
+
*/
|
11976 |
+
var EventPluginUtils = {
|
11977 |
+
isEndish: isEndish,
|
11978 |
+
isMoveish: isMoveish,
|
11979 |
+
isStartish: isStartish,
|
11980 |
+
|
11981 |
+
executeDirectDispatch: executeDirectDispatch,
|
11982 |
+
executeDispatchesInOrder: executeDispatchesInOrder,
|
11983 |
+
executeDispatchesInOrderStopAtTrue: executeDispatchesInOrderStopAtTrue,
|
11984 |
+
hasDispatches: hasDispatches,
|
11985 |
+
|
11986 |
+
getInstanceFromNode: function (node) {
|
11987 |
+
return ComponentTree.getInstanceFromNode(node);
|
11988 |
+
},
|
11989 |
+
getNodeFromInstance: function (node) {
|
11990 |
+
return ComponentTree.getNodeFromInstance(node);
|
11991 |
+
},
|
11992 |
+
isAncestor: function (a, b) {
|
11993 |
+
return TreeTraversal.isAncestor(a, b);
|
11994 |
+
},
|
11995 |
+
getLowestCommonAncestor: function (a, b) {
|
11996 |
+
return TreeTraversal.getLowestCommonAncestor(a, b);
|
11997 |
+
},
|
11998 |
+
getParentInstance: function (inst) {
|
11999 |
+
return TreeTraversal.getParentInstance(inst);
|
12000 |
+
},
|
12001 |
+
traverseTwoPhase: function (target, fn, arg) {
|
12002 |
+
return TreeTraversal.traverseTwoPhase(target, fn, arg);
|
12003 |
+
},
|
12004 |
+
traverseEnterLeave: function (from, to, fn, argFrom, argTo) {
|
12005 |
+
return TreeTraversal.traverseEnterLeave(from, to, fn, argFrom, argTo);
|
12006 |
+
},
|
12007 |
+
|
12008 |
+
injection: injection
|
12009 |
+
};
|
12010 |
+
|
12011 |
+
module.exports = EventPluginUtils;
|
12012 |
+
|
12013 |
+
/***/ }),
|
12014 |
+
|
12015 |
+
/***/ "./node_modules/react-dom/lib/EventPropagators.js":
|
12016 |
+
/*!********************************************************!*\
|
12017 |
+
!*** ./node_modules/react-dom/lib/EventPropagators.js ***!
|
12018 |
+
\********************************************************/
|
12019 |
+
/*! no static exports found */
|
12020 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12021 |
+
|
12022 |
+
"use strict";
|
12023 |
+
/**
|
12024 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12025 |
+
*
|
12026 |
+
* This source code is licensed under the MIT license found in the
|
12027 |
+
* LICENSE file in the root directory of this source tree.
|
12028 |
+
*
|
12029 |
+
*/
|
12030 |
+
|
12031 |
+
|
12032 |
+
|
12033 |
+
var EventPluginHub = __webpack_require__(/*! ./EventPluginHub */ "./node_modules/react-dom/lib/EventPluginHub.js");
|
12034 |
+
var EventPluginUtils = __webpack_require__(/*! ./EventPluginUtils */ "./node_modules/react-dom/lib/EventPluginUtils.js");
|
12035 |
+
|
12036 |
+
var accumulateInto = __webpack_require__(/*! ./accumulateInto */ "./node_modules/react-dom/lib/accumulateInto.js");
|
12037 |
+
var forEachAccumulated = __webpack_require__(/*! ./forEachAccumulated */ "./node_modules/react-dom/lib/forEachAccumulated.js");
|
12038 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
12039 |
+
|
12040 |
+
var getListener = EventPluginHub.getListener;
|
12041 |
+
|
12042 |
+
/**
|
12043 |
+
* Some event types have a notion of different registration names for different
|
12044 |
+
* "phases" of propagation. This finds listeners by a given phase.
|
12045 |
+
*/
|
12046 |
+
function listenerAtPhase(inst, event, propagationPhase) {
|
12047 |
+
var registrationName = event.dispatchConfig.phasedRegistrationNames[propagationPhase];
|
12048 |
+
return getListener(inst, registrationName);
|
12049 |
+
}
|
12050 |
+
|
12051 |
+
/**
|
12052 |
+
* Tags a `SyntheticEvent` with dispatched listeners. Creating this function
|
12053 |
+
* here, allows us to not have to bind or create functions for each event.
|
12054 |
+
* Mutating the event's members allows us to not have to create a wrapping
|
12055 |
+
* "dispatch" object that pairs the event with the listener.
|
12056 |
+
*/
|
12057 |
+
function accumulateDirectionalDispatches(inst, phase, event) {
|
12058 |
+
if (true) {
|
12059 |
+
true ? warning(inst, 'Dispatching inst must not be null') : undefined;
|
12060 |
+
}
|
12061 |
+
var listener = listenerAtPhase(inst, event, phase);
|
12062 |
+
if (listener) {
|
12063 |
+
event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
|
12064 |
+
event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
|
12065 |
+
}
|
12066 |
+
}
|
12067 |
+
|
12068 |
+
/**
|
12069 |
+
* Collect dispatches (must be entirely collected before dispatching - see unit
|
12070 |
+
* tests). Lazily allocate the array to conserve memory. We must loop through
|
12071 |
+
* each event and perform the traversal for each one. We cannot perform a
|
12072 |
+
* single traversal for the entire collection of events because each event may
|
12073 |
+
* have a different target.
|
12074 |
+
*/
|
12075 |
+
function accumulateTwoPhaseDispatchesSingle(event) {
|
12076 |
+
if (event && event.dispatchConfig.phasedRegistrationNames) {
|
12077 |
+
EventPluginUtils.traverseTwoPhase(event._targetInst, accumulateDirectionalDispatches, event);
|
12078 |
+
}
|
12079 |
+
}
|
12080 |
+
|
12081 |
+
/**
|
12082 |
+
* Same as `accumulateTwoPhaseDispatchesSingle`, but skips over the targetID.
|
12083 |
+
*/
|
12084 |
+
function accumulateTwoPhaseDispatchesSingleSkipTarget(event) {
|
12085 |
+
if (event && event.dispatchConfig.phasedRegistrationNames) {
|
12086 |
+
var targetInst = event._targetInst;
|
12087 |
+
var parentInst = targetInst ? EventPluginUtils.getParentInstance(targetInst) : null;
|
12088 |
+
EventPluginUtils.traverseTwoPhase(parentInst, accumulateDirectionalDispatches, event);
|
12089 |
+
}
|
12090 |
+
}
|
12091 |
+
|
12092 |
+
/**
|
12093 |
+
* Accumulates without regard to direction, does not look for phased
|
12094 |
+
* registration names. Same as `accumulateDirectDispatchesSingle` but without
|
12095 |
+
* requiring that the `dispatchMarker` be the same as the dispatched ID.
|
12096 |
+
*/
|
12097 |
+
function accumulateDispatches(inst, ignoredDirection, event) {
|
12098 |
+
if (event && event.dispatchConfig.registrationName) {
|
12099 |
+
var registrationName = event.dispatchConfig.registrationName;
|
12100 |
+
var listener = getListener(inst, registrationName);
|
12101 |
+
if (listener) {
|
12102 |
+
event._dispatchListeners = accumulateInto(event._dispatchListeners, listener);
|
12103 |
+
event._dispatchInstances = accumulateInto(event._dispatchInstances, inst);
|
12104 |
+
}
|
12105 |
+
}
|
12106 |
+
}
|
12107 |
+
|
12108 |
+
/**
|
12109 |
+
* Accumulates dispatches on an `SyntheticEvent`, but only for the
|
12110 |
+
* `dispatchMarker`.
|
12111 |
+
* @param {SyntheticEvent} event
|
12112 |
+
*/
|
12113 |
+
function accumulateDirectDispatchesSingle(event) {
|
12114 |
+
if (event && event.dispatchConfig.registrationName) {
|
12115 |
+
accumulateDispatches(event._targetInst, null, event);
|
12116 |
+
}
|
12117 |
+
}
|
12118 |
+
|
12119 |
+
function accumulateTwoPhaseDispatches(events) {
|
12120 |
+
forEachAccumulated(events, accumulateTwoPhaseDispatchesSingle);
|
12121 |
+
}
|
12122 |
+
|
12123 |
+
function accumulateTwoPhaseDispatchesSkipTarget(events) {
|
12124 |
+
forEachAccumulated(events, accumulateTwoPhaseDispatchesSingleSkipTarget);
|
12125 |
+
}
|
12126 |
+
|
12127 |
+
function accumulateEnterLeaveDispatches(leave, enter, from, to) {
|
12128 |
+
EventPluginUtils.traverseEnterLeave(from, to, accumulateDispatches, leave, enter);
|
12129 |
+
}
|
12130 |
+
|
12131 |
+
function accumulateDirectDispatches(events) {
|
12132 |
+
forEachAccumulated(events, accumulateDirectDispatchesSingle);
|
12133 |
+
}
|
12134 |
+
|
12135 |
+
/**
|
12136 |
+
* A small set of propagation patterns, each of which will accept a small amount
|
12137 |
+
* of information, and generate a set of "dispatch ready event objects" - which
|
12138 |
+
* are sets of events that have already been annotated with a set of dispatched
|
12139 |
+
* listener functions/ids. The API is designed this way to discourage these
|
12140 |
+
* propagation strategies from actually executing the dispatches, since we
|
12141 |
+
* always want to collect the entire set of dispatches before executing event a
|
12142 |
+
* single one.
|
12143 |
+
*
|
12144 |
+
* @constructor EventPropagators
|
12145 |
+
*/
|
12146 |
+
var EventPropagators = {
|
12147 |
+
accumulateTwoPhaseDispatches: accumulateTwoPhaseDispatches,
|
12148 |
+
accumulateTwoPhaseDispatchesSkipTarget: accumulateTwoPhaseDispatchesSkipTarget,
|
12149 |
+
accumulateDirectDispatches: accumulateDirectDispatches,
|
12150 |
+
accumulateEnterLeaveDispatches: accumulateEnterLeaveDispatches
|
12151 |
+
};
|
12152 |
+
|
12153 |
+
module.exports = EventPropagators;
|
12154 |
+
|
12155 |
+
/***/ }),
|
12156 |
+
|
12157 |
+
/***/ "./node_modules/react-dom/lib/FallbackCompositionState.js":
|
12158 |
+
/*!****************************************************************!*\
|
12159 |
+
!*** ./node_modules/react-dom/lib/FallbackCompositionState.js ***!
|
12160 |
+
\****************************************************************/
|
12161 |
+
/*! no static exports found */
|
12162 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12163 |
+
|
12164 |
+
"use strict";
|
12165 |
+
/**
|
12166 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12167 |
+
*
|
12168 |
+
* This source code is licensed under the MIT license found in the
|
12169 |
+
* LICENSE file in the root directory of this source tree.
|
12170 |
+
*
|
12171 |
+
*/
|
12172 |
+
|
12173 |
+
|
12174 |
+
|
12175 |
+
var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
|
12176 |
+
|
12177 |
+
var PooledClass = __webpack_require__(/*! ./PooledClass */ "./node_modules/react-dom/lib/PooledClass.js");
|
12178 |
+
|
12179 |
+
var getTextContentAccessor = __webpack_require__(/*! ./getTextContentAccessor */ "./node_modules/react-dom/lib/getTextContentAccessor.js");
|
12180 |
+
|
12181 |
+
/**
|
12182 |
+
* This helper class stores information about text content of a target node,
|
12183 |
+
* allowing comparison of content before and after a given event.
|
12184 |
+
*
|
12185 |
+
* Identify the node where selection currently begins, then observe
|
12186 |
+
* both its text content and its current position in the DOM. Since the
|
12187 |
+
* browser may natively replace the target node during composition, we can
|
12188 |
+
* use its position to find its replacement.
|
12189 |
+
*
|
12190 |
+
* @param {DOMEventTarget} root
|
12191 |
+
*/
|
12192 |
+
function FallbackCompositionState(root) {
|
12193 |
+
this._root = root;
|
12194 |
+
this._startText = this.getText();
|
12195 |
+
this._fallbackText = null;
|
12196 |
+
}
|
12197 |
+
|
12198 |
+
_assign(FallbackCompositionState.prototype, {
|
12199 |
+
destructor: function () {
|
12200 |
+
this._root = null;
|
12201 |
+
this._startText = null;
|
12202 |
+
this._fallbackText = null;
|
12203 |
+
},
|
12204 |
+
|
12205 |
+
/**
|
12206 |
+
* Get current text of input.
|
12207 |
+
*
|
12208 |
+
* @return {string}
|
12209 |
+
*/
|
12210 |
+
getText: function () {
|
12211 |
+
if ('value' in this._root) {
|
12212 |
+
return this._root.value;
|
12213 |
+
}
|
12214 |
+
return this._root[getTextContentAccessor()];
|
12215 |
+
},
|
12216 |
+
|
12217 |
+
/**
|
12218 |
+
* Determine the differing substring between the initially stored
|
12219 |
+
* text content and the current content.
|
12220 |
+
*
|
12221 |
+
* @return {string}
|
12222 |
+
*/
|
12223 |
+
getData: function () {
|
12224 |
+
if (this._fallbackText) {
|
12225 |
+
return this._fallbackText;
|
12226 |
+
}
|
12227 |
+
|
12228 |
+
var start;
|
12229 |
+
var startValue = this._startText;
|
12230 |
+
var startLength = startValue.length;
|
12231 |
+
var end;
|
12232 |
+
var endValue = this.getText();
|
12233 |
+
var endLength = endValue.length;
|
12234 |
+
|
12235 |
+
for (start = 0; start < startLength; start++) {
|
12236 |
+
if (startValue[start] !== endValue[start]) {
|
12237 |
+
break;
|
12238 |
+
}
|
12239 |
+
}
|
12240 |
+
|
12241 |
+
var minEnd = startLength - start;
|
12242 |
+
for (end = 1; end <= minEnd; end++) {
|
12243 |
+
if (startValue[startLength - end] !== endValue[endLength - end]) {
|
12244 |
+
break;
|
12245 |
+
}
|
12246 |
+
}
|
12247 |
+
|
12248 |
+
var sliceTail = end > 1 ? 1 - end : undefined;
|
12249 |
+
this._fallbackText = endValue.slice(start, sliceTail);
|
12250 |
+
return this._fallbackText;
|
12251 |
+
}
|
12252 |
+
});
|
12253 |
+
|
12254 |
+
PooledClass.addPoolingTo(FallbackCompositionState);
|
12255 |
+
|
12256 |
+
module.exports = FallbackCompositionState;
|
12257 |
+
|
12258 |
+
/***/ }),
|
12259 |
+
|
12260 |
+
/***/ "./node_modules/react-dom/lib/HTMLDOMPropertyConfig.js":
|
12261 |
+
/*!*************************************************************!*\
|
12262 |
+
!*** ./node_modules/react-dom/lib/HTMLDOMPropertyConfig.js ***!
|
12263 |
+
\*************************************************************/
|
12264 |
+
/*! no static exports found */
|
12265 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12266 |
+
|
12267 |
+
"use strict";
|
12268 |
+
/**
|
12269 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12270 |
+
*
|
12271 |
+
* This source code is licensed under the MIT license found in the
|
12272 |
+
* LICENSE file in the root directory of this source tree.
|
12273 |
+
*
|
12274 |
+
*/
|
12275 |
+
|
12276 |
+
|
12277 |
+
|
12278 |
+
var DOMProperty = __webpack_require__(/*! ./DOMProperty */ "./node_modules/react-dom/lib/DOMProperty.js");
|
12279 |
+
|
12280 |
+
var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY;
|
12281 |
+
var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE;
|
12282 |
+
var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE;
|
12283 |
+
var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE;
|
12284 |
+
var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE;
|
12285 |
+
|
12286 |
+
var HTMLDOMPropertyConfig = {
|
12287 |
+
isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')),
|
12288 |
+
Properties: {
|
12289 |
+
/**
|
12290 |
+
* Standard Properties
|
12291 |
+
*/
|
12292 |
+
accept: 0,
|
12293 |
+
acceptCharset: 0,
|
12294 |
+
accessKey: 0,
|
12295 |
+
action: 0,
|
12296 |
+
allowFullScreen: HAS_BOOLEAN_VALUE,
|
12297 |
+
allowTransparency: 0,
|
12298 |
+
alt: 0,
|
12299 |
+
// specifies target context for links with `preload` type
|
12300 |
+
as: 0,
|
12301 |
+
async: HAS_BOOLEAN_VALUE,
|
12302 |
+
autoComplete: 0,
|
12303 |
+
// autoFocus is polyfilled/normalized by AutoFocusUtils
|
12304 |
+
// autoFocus: HAS_BOOLEAN_VALUE,
|
12305 |
+
autoPlay: HAS_BOOLEAN_VALUE,
|
12306 |
+
capture: HAS_BOOLEAN_VALUE,
|
12307 |
+
cellPadding: 0,
|
12308 |
+
cellSpacing: 0,
|
12309 |
+
charSet: 0,
|
12310 |
+
challenge: 0,
|
12311 |
+
checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
12312 |
+
cite: 0,
|
12313 |
+
classID: 0,
|
12314 |
+
className: 0,
|
12315 |
+
cols: HAS_POSITIVE_NUMERIC_VALUE,
|
12316 |
+
colSpan: 0,
|
12317 |
+
content: 0,
|
12318 |
+
contentEditable: 0,
|
12319 |
+
contextMenu: 0,
|
12320 |
+
controls: HAS_BOOLEAN_VALUE,
|
12321 |
+
controlsList: 0,
|
12322 |
+
coords: 0,
|
12323 |
+
crossOrigin: 0,
|
12324 |
+
data: 0, // For `<object />` acts as `src`.
|
12325 |
+
dateTime: 0,
|
12326 |
+
'default': HAS_BOOLEAN_VALUE,
|
12327 |
+
defer: HAS_BOOLEAN_VALUE,
|
12328 |
+
dir: 0,
|
12329 |
+
disabled: HAS_BOOLEAN_VALUE,
|
12330 |
+
download: HAS_OVERLOADED_BOOLEAN_VALUE,
|
12331 |
+
draggable: 0,
|
12332 |
+
encType: 0,
|
12333 |
+
form: 0,
|
12334 |
+
formAction: 0,
|
12335 |
+
formEncType: 0,
|
12336 |
+
formMethod: 0,
|
12337 |
+
formNoValidate: HAS_BOOLEAN_VALUE,
|
12338 |
+
formTarget: 0,
|
12339 |
+
frameBorder: 0,
|
12340 |
+
headers: 0,
|
12341 |
+
height: 0,
|
12342 |
+
hidden: HAS_BOOLEAN_VALUE,
|
12343 |
+
high: 0,
|
12344 |
+
href: 0,
|
12345 |
+
hrefLang: 0,
|
12346 |
+
htmlFor: 0,
|
12347 |
+
httpEquiv: 0,
|
12348 |
+
icon: 0,
|
12349 |
+
id: 0,
|
12350 |
+
inputMode: 0,
|
12351 |
+
integrity: 0,
|
12352 |
+
is: 0,
|
12353 |
+
keyParams: 0,
|
12354 |
+
keyType: 0,
|
12355 |
+
kind: 0,
|
12356 |
+
label: 0,
|
12357 |
+
lang: 0,
|
12358 |
+
list: 0,
|
12359 |
+
loop: HAS_BOOLEAN_VALUE,
|
12360 |
+
low: 0,
|
12361 |
+
manifest: 0,
|
12362 |
+
marginHeight: 0,
|
12363 |
+
marginWidth: 0,
|
12364 |
+
max: 0,
|
12365 |
+
maxLength: 0,
|
12366 |
+
media: 0,
|
12367 |
+
mediaGroup: 0,
|
12368 |
+
method: 0,
|
12369 |
+
min: 0,
|
12370 |
+
minLength: 0,
|
12371 |
+
// Caution; `option.selected` is not updated if `select.multiple` is
|
12372 |
+
// disabled with `removeAttribute`.
|
12373 |
+
multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
12374 |
+
muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
12375 |
+
name: 0,
|
12376 |
+
nonce: 0,
|
12377 |
+
noValidate: HAS_BOOLEAN_VALUE,
|
12378 |
+
open: HAS_BOOLEAN_VALUE,
|
12379 |
+
optimum: 0,
|
12380 |
+
pattern: 0,
|
12381 |
+
placeholder: 0,
|
12382 |
+
playsInline: HAS_BOOLEAN_VALUE,
|
12383 |
+
poster: 0,
|
12384 |
+
preload: 0,
|
12385 |
+
profile: 0,
|
12386 |
+
radioGroup: 0,
|
12387 |
+
readOnly: HAS_BOOLEAN_VALUE,
|
12388 |
+
referrerPolicy: 0,
|
12389 |
+
rel: 0,
|
12390 |
+
required: HAS_BOOLEAN_VALUE,
|
12391 |
+
reversed: HAS_BOOLEAN_VALUE,
|
12392 |
+
role: 0,
|
12393 |
+
rows: HAS_POSITIVE_NUMERIC_VALUE,
|
12394 |
+
rowSpan: HAS_NUMERIC_VALUE,
|
12395 |
+
sandbox: 0,
|
12396 |
+
scope: 0,
|
12397 |
+
scoped: HAS_BOOLEAN_VALUE,
|
12398 |
+
scrolling: 0,
|
12399 |
+
seamless: HAS_BOOLEAN_VALUE,
|
12400 |
+
selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE,
|
12401 |
+
shape: 0,
|
12402 |
+
size: HAS_POSITIVE_NUMERIC_VALUE,
|
12403 |
+
sizes: 0,
|
12404 |
+
span: HAS_POSITIVE_NUMERIC_VALUE,
|
12405 |
+
spellCheck: 0,
|
12406 |
+
src: 0,
|
12407 |
+
srcDoc: 0,
|
12408 |
+
srcLang: 0,
|
12409 |
+
srcSet: 0,
|
12410 |
+
start: HAS_NUMERIC_VALUE,
|
12411 |
+
step: 0,
|
12412 |
+
style: 0,
|
12413 |
+
summary: 0,
|
12414 |
+
tabIndex: 0,
|
12415 |
+
target: 0,
|
12416 |
+
title: 0,
|
12417 |
+
// Setting .type throws on non-<input> tags
|
12418 |
+
type: 0,
|
12419 |
+
useMap: 0,
|
12420 |
+
value: 0,
|
12421 |
+
width: 0,
|
12422 |
+
wmode: 0,
|
12423 |
+
wrap: 0,
|
12424 |
+
|
12425 |
+
/**
|
12426 |
+
* RDFa Properties
|
12427 |
+
*/
|
12428 |
+
about: 0,
|
12429 |
+
datatype: 0,
|
12430 |
+
inlist: 0,
|
12431 |
+
prefix: 0,
|
12432 |
+
// property is also supported for OpenGraph in meta tags.
|
12433 |
+
property: 0,
|
12434 |
+
resource: 0,
|
12435 |
+
'typeof': 0,
|
12436 |
+
vocab: 0,
|
12437 |
+
|
12438 |
+
/**
|
12439 |
+
* Non-standard Properties
|
12440 |
+
*/
|
12441 |
+
// autoCapitalize and autoCorrect are supported in Mobile Safari for
|
12442 |
+
// keyboard hints.
|
12443 |
+
autoCapitalize: 0,
|
12444 |
+
autoCorrect: 0,
|
12445 |
+
// autoSave allows WebKit/Blink to persist values of input fields on page reloads
|
12446 |
+
autoSave: 0,
|
12447 |
+
// color is for Safari mask-icon link
|
12448 |
+
color: 0,
|
12449 |
+
// itemProp, itemScope, itemType are for
|
12450 |
+
// Microdata support. See http://schema.org/docs/gs.html
|
12451 |
+
itemProp: 0,
|
12452 |
+
itemScope: HAS_BOOLEAN_VALUE,
|
12453 |
+
itemType: 0,
|
12454 |
+
// itemID and itemRef are for Microdata support as well but
|
12455 |
+
// only specified in the WHATWG spec document. See
|
12456 |
+
// https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api
|
12457 |
+
itemID: 0,
|
12458 |
+
itemRef: 0,
|
12459 |
+
// results show looking glass icon and recent searches on input
|
12460 |
+
// search fields in WebKit/Blink
|
12461 |
+
results: 0,
|
12462 |
+
// IE-only attribute that specifies security restrictions on an iframe
|
12463 |
+
// as an alternative to the sandbox attribute on IE<10
|
12464 |
+
security: 0,
|
12465 |
+
// IE-only attribute that controls focus behavior
|
12466 |
+
unselectable: 0
|
12467 |
+
},
|
12468 |
+
DOMAttributeNames: {
|
12469 |
+
acceptCharset: 'accept-charset',
|
12470 |
+
className: 'class',
|
12471 |
+
htmlFor: 'for',
|
12472 |
+
httpEquiv: 'http-equiv'
|
12473 |
+
},
|
12474 |
+
DOMPropertyNames: {},
|
12475 |
+
DOMMutationMethods: {
|
12476 |
+
value: function (node, value) {
|
12477 |
+
if (value == null) {
|
12478 |
+
return node.removeAttribute('value');
|
12479 |
+
}
|
12480 |
+
|
12481 |
+
// Number inputs get special treatment due to some edge cases in
|
12482 |
+
// Chrome. Let everything else assign the value attribute as normal.
|
12483 |
+
// https://github.com/facebook/react/issues/7253#issuecomment-236074326
|
12484 |
+
if (node.type !== 'number' || node.hasAttribute('value') === false) {
|
12485 |
+
node.setAttribute('value', '' + value);
|
12486 |
+
} else if (node.validity && !node.validity.badInput && node.ownerDocument.activeElement !== node) {
|
12487 |
+
// Don't assign an attribute if validation reports bad
|
12488 |
+
// input. Chrome will clear the value. Additionally, don't
|
12489 |
+
// operate on inputs that have focus, otherwise Chrome might
|
12490 |
+
// strip off trailing decimal places and cause the user's
|
12491 |
+
// cursor position to jump to the beginning of the input.
|
12492 |
+
//
|
12493 |
+
// In ReactDOMInput, we have an onBlur event that will trigger
|
12494 |
+
// this function again when focus is lost.
|
12495 |
+
node.setAttribute('value', '' + value);
|
12496 |
+
}
|
12497 |
+
}
|
12498 |
+
}
|
12499 |
+
};
|
12500 |
+
|
12501 |
+
module.exports = HTMLDOMPropertyConfig;
|
12502 |
+
|
12503 |
+
/***/ }),
|
12504 |
+
|
12505 |
+
/***/ "./node_modules/react-dom/lib/KeyEscapeUtils.js":
|
12506 |
+
/*!******************************************************!*\
|
12507 |
+
!*** ./node_modules/react-dom/lib/KeyEscapeUtils.js ***!
|
12508 |
+
\******************************************************/
|
12509 |
+
/*! no static exports found */
|
12510 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12511 |
+
|
12512 |
+
"use strict";
|
12513 |
+
/**
|
12514 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12515 |
+
*
|
12516 |
+
* This source code is licensed under the MIT license found in the
|
12517 |
+
* LICENSE file in the root directory of this source tree.
|
12518 |
+
*
|
12519 |
+
*
|
12520 |
+
*/
|
12521 |
+
|
12522 |
+
|
12523 |
+
|
12524 |
+
/**
|
12525 |
+
* Escape and wrap key so it is safe to use as a reactid
|
12526 |
+
*
|
12527 |
+
* @param {string} key to be escaped.
|
12528 |
+
* @return {string} the escaped key.
|
12529 |
+
*/
|
12530 |
+
|
12531 |
+
function escape(key) {
|
12532 |
+
var escapeRegex = /[=:]/g;
|
12533 |
+
var escaperLookup = {
|
12534 |
+
'=': '=0',
|
12535 |
+
':': '=2'
|
12536 |
+
};
|
12537 |
+
var escapedString = ('' + key).replace(escapeRegex, function (match) {
|
12538 |
+
return escaperLookup[match];
|
12539 |
+
});
|
12540 |
+
|
12541 |
+
return '$' + escapedString;
|
12542 |
+
}
|
12543 |
+
|
12544 |
+
/**
|
12545 |
+
* Unescape and unwrap key for human-readable display
|
12546 |
+
*
|
12547 |
+
* @param {string} key to unescape.
|
12548 |
+
* @return {string} the unescaped key.
|
12549 |
+
*/
|
12550 |
+
function unescape(key) {
|
12551 |
+
var unescapeRegex = /(=0|=2)/g;
|
12552 |
+
var unescaperLookup = {
|
12553 |
+
'=0': '=',
|
12554 |
+
'=2': ':'
|
12555 |
+
};
|
12556 |
+
var keySubstring = key[0] === '.' && key[1] === '$' ? key.substring(2) : key.substring(1);
|
12557 |
+
|
12558 |
+
return ('' + keySubstring).replace(unescapeRegex, function (match) {
|
12559 |
+
return unescaperLookup[match];
|
12560 |
+
});
|
12561 |
+
}
|
12562 |
+
|
12563 |
+
var KeyEscapeUtils = {
|
12564 |
+
escape: escape,
|
12565 |
+
unescape: unescape
|
12566 |
+
};
|
12567 |
+
|
12568 |
+
module.exports = KeyEscapeUtils;
|
12569 |
+
|
12570 |
+
/***/ }),
|
12571 |
+
|
12572 |
+
/***/ "./node_modules/react-dom/lib/LinkedValueUtils.js":
|
12573 |
+
/*!********************************************************!*\
|
12574 |
+
!*** ./node_modules/react-dom/lib/LinkedValueUtils.js ***!
|
12575 |
+
\********************************************************/
|
12576 |
+
/*! no static exports found */
|
12577 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12578 |
+
|
12579 |
+
"use strict";
|
12580 |
+
/**
|
12581 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12582 |
+
*
|
12583 |
+
* This source code is licensed under the MIT license found in the
|
12584 |
+
* LICENSE file in the root directory of this source tree.
|
12585 |
+
*
|
12586 |
+
*/
|
12587 |
+
|
12588 |
+
|
12589 |
+
|
12590 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
12591 |
+
|
12592 |
+
var ReactPropTypesSecret = __webpack_require__(/*! ./ReactPropTypesSecret */ "./node_modules/react-dom/lib/ReactPropTypesSecret.js");
|
12593 |
+
var propTypesFactory = __webpack_require__(/*! prop-types/factory */ "./node_modules/prop-types/factory.js");
|
12594 |
+
|
12595 |
+
var React = __webpack_require__(/*! react/lib/React */ "./node_modules/react/lib/React.js");
|
12596 |
+
var PropTypes = propTypesFactory(React.isValidElement);
|
12597 |
+
|
12598 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
12599 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
12600 |
+
|
12601 |
+
var hasReadOnlyValue = {
|
12602 |
+
button: true,
|
12603 |
+
checkbox: true,
|
12604 |
+
image: true,
|
12605 |
+
hidden: true,
|
12606 |
+
radio: true,
|
12607 |
+
reset: true,
|
12608 |
+
submit: true
|
12609 |
+
};
|
12610 |
+
|
12611 |
+
function _assertSingleLink(inputProps) {
|
12612 |
+
!(inputProps.checkedLink == null || inputProps.valueLink == null) ? true ? invariant(false, 'Cannot provide a checkedLink and a valueLink. If you want to use checkedLink, you probably don\'t want to use valueLink and vice versa.') : undefined : void 0;
|
12613 |
+
}
|
12614 |
+
function _assertValueLink(inputProps) {
|
12615 |
+
_assertSingleLink(inputProps);
|
12616 |
+
!(inputProps.value == null && inputProps.onChange == null) ? true ? invariant(false, 'Cannot provide a valueLink and a value or onChange event. If you want to use value or onChange, you probably don\'t want to use valueLink.') : undefined : void 0;
|
12617 |
+
}
|
12618 |
+
|
12619 |
+
function _assertCheckedLink(inputProps) {
|
12620 |
+
_assertSingleLink(inputProps);
|
12621 |
+
!(inputProps.checked == null && inputProps.onChange == null) ? true ? invariant(false, 'Cannot provide a checkedLink and a checked property or onChange event. If you want to use checked or onChange, you probably don\'t want to use checkedLink') : undefined : void 0;
|
12622 |
+
}
|
12623 |
+
|
12624 |
+
var propTypes = {
|
12625 |
+
value: function (props, propName, componentName) {
|
12626 |
+
if (!props[propName] || hasReadOnlyValue[props.type] || props.onChange || props.readOnly || props.disabled) {
|
12627 |
+
return null;
|
12628 |
+
}
|
12629 |
+
return 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`.');
|
12630 |
+
},
|
12631 |
+
checked: function (props, propName, componentName) {
|
12632 |
+
if (!props[propName] || props.onChange || props.readOnly || props.disabled) {
|
12633 |
+
return null;
|
12634 |
+
}
|
12635 |
+
return 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`.');
|
12636 |
+
},
|
12637 |
+
onChange: PropTypes.func
|
12638 |
+
};
|
12639 |
+
|
12640 |
+
var loggedTypeFailures = {};
|
12641 |
+
function getDeclarationErrorAddendum(owner) {
|
12642 |
+
if (owner) {
|
12643 |
+
var name = owner.getName();
|
12644 |
+
if (name) {
|
12645 |
+
return ' Check the render method of `' + name + '`.';
|
12646 |
+
}
|
12647 |
+
}
|
12648 |
+
return '';
|
12649 |
+
}
|
12650 |
+
|
12651 |
+
/**
|
12652 |
+
* Provide a linked `value` attribute for controlled forms. You should not use
|
12653 |
+
* this outside of the ReactDOM controlled form components.
|
12654 |
+
*/
|
12655 |
+
var LinkedValueUtils = {
|
12656 |
+
checkPropTypes: function (tagName, props, owner) {
|
12657 |
+
for (var propName in propTypes) {
|
12658 |
+
if (propTypes.hasOwnProperty(propName)) {
|
12659 |
+
var error = propTypes[propName](props, propName, tagName, 'prop', null, ReactPropTypesSecret);
|
12660 |
+
}
|
12661 |
+
if (error instanceof Error && !(error.message in loggedTypeFailures)) {
|
12662 |
+
// Only monitor this failure once because there tends to be a lot of the
|
12663 |
+
// same error.
|
12664 |
+
loggedTypeFailures[error.message] = true;
|
12665 |
+
|
12666 |
+
var addendum = getDeclarationErrorAddendum(owner);
|
12667 |
+
true ? warning(false, 'Failed form propType: %s%s', error.message, addendum) : undefined;
|
12668 |
+
}
|
12669 |
+
}
|
12670 |
+
},
|
12671 |
+
|
12672 |
+
/**
|
12673 |
+
* @param {object} inputProps Props for form component
|
12674 |
+
* @return {*} current value of the input either from value prop or link.
|
12675 |
+
*/
|
12676 |
+
getValue: function (inputProps) {
|
12677 |
+
if (inputProps.valueLink) {
|
12678 |
+
_assertValueLink(inputProps);
|
12679 |
+
return inputProps.valueLink.value;
|
12680 |
+
}
|
12681 |
+
return inputProps.value;
|
12682 |
+
},
|
12683 |
+
|
12684 |
+
/**
|
12685 |
+
* @param {object} inputProps Props for form component
|
12686 |
+
* @return {*} current checked status of the input either from checked prop
|
12687 |
+
* or link.
|
12688 |
+
*/
|
12689 |
+
getChecked: function (inputProps) {
|
12690 |
+
if (inputProps.checkedLink) {
|
12691 |
+
_assertCheckedLink(inputProps);
|
12692 |
+
return inputProps.checkedLink.value;
|
12693 |
+
}
|
12694 |
+
return inputProps.checked;
|
12695 |
+
},
|
12696 |
+
|
12697 |
+
/**
|
12698 |
+
* @param {object} inputProps Props for form component
|
12699 |
+
* @param {SyntheticEvent} event change event to handle
|
12700 |
+
*/
|
12701 |
+
executeOnChange: function (inputProps, event) {
|
12702 |
+
if (inputProps.valueLink) {
|
12703 |
+
_assertValueLink(inputProps);
|
12704 |
+
return inputProps.valueLink.requestChange(event.target.value);
|
12705 |
+
} else if (inputProps.checkedLink) {
|
12706 |
+
_assertCheckedLink(inputProps);
|
12707 |
+
return inputProps.checkedLink.requestChange(event.target.checked);
|
12708 |
+
} else if (inputProps.onChange) {
|
12709 |
+
return inputProps.onChange.call(undefined, event);
|
12710 |
+
}
|
12711 |
+
}
|
12712 |
+
};
|
12713 |
+
|
12714 |
+
module.exports = LinkedValueUtils;
|
12715 |
+
|
12716 |
+
/***/ }),
|
12717 |
+
|
12718 |
+
/***/ "./node_modules/react-dom/lib/PooledClass.js":
|
12719 |
+
/*!***************************************************!*\
|
12720 |
+
!*** ./node_modules/react-dom/lib/PooledClass.js ***!
|
12721 |
+
\***************************************************/
|
12722 |
+
/*! no static exports found */
|
12723 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12724 |
+
|
12725 |
+
"use strict";
|
12726 |
+
/**
|
12727 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12728 |
+
*
|
12729 |
+
* This source code is licensed under the MIT license found in the
|
12730 |
+
* LICENSE file in the root directory of this source tree.
|
12731 |
+
*
|
12732 |
+
*
|
12733 |
+
*/
|
12734 |
+
|
12735 |
+
|
12736 |
+
|
12737 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
12738 |
+
|
12739 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
12740 |
+
|
12741 |
+
/**
|
12742 |
+
* Static poolers. Several custom versions for each potential number of
|
12743 |
+
* arguments. A completely generic pooler is easy to implement, but would
|
12744 |
+
* require accessing the `arguments` object. In each of these, `this` refers to
|
12745 |
+
* the Class itself, not an instance. If any others are needed, simply add them
|
12746 |
+
* here, or in their own files.
|
12747 |
+
*/
|
12748 |
+
var oneArgumentPooler = function (copyFieldsFrom) {
|
12749 |
+
var Klass = this;
|
12750 |
+
if (Klass.instancePool.length) {
|
12751 |
+
var instance = Klass.instancePool.pop();
|
12752 |
+
Klass.call(instance, copyFieldsFrom);
|
12753 |
+
return instance;
|
12754 |
+
} else {
|
12755 |
+
return new Klass(copyFieldsFrom);
|
12756 |
+
}
|
12757 |
+
};
|
12758 |
+
|
12759 |
+
var twoArgumentPooler = function (a1, a2) {
|
12760 |
+
var Klass = this;
|
12761 |
+
if (Klass.instancePool.length) {
|
12762 |
+
var instance = Klass.instancePool.pop();
|
12763 |
+
Klass.call(instance, a1, a2);
|
12764 |
+
return instance;
|
12765 |
+
} else {
|
12766 |
+
return new Klass(a1, a2);
|
12767 |
+
}
|
12768 |
+
};
|
12769 |
+
|
12770 |
+
var threeArgumentPooler = function (a1, a2, a3) {
|
12771 |
+
var Klass = this;
|
12772 |
+
if (Klass.instancePool.length) {
|
12773 |
+
var instance = Klass.instancePool.pop();
|
12774 |
+
Klass.call(instance, a1, a2, a3);
|
12775 |
+
return instance;
|
12776 |
+
} else {
|
12777 |
+
return new Klass(a1, a2, a3);
|
12778 |
+
}
|
12779 |
+
};
|
12780 |
+
|
12781 |
+
var fourArgumentPooler = function (a1, a2, a3, a4) {
|
12782 |
+
var Klass = this;
|
12783 |
+
if (Klass.instancePool.length) {
|
12784 |
+
var instance = Klass.instancePool.pop();
|
12785 |
+
Klass.call(instance, a1, a2, a3, a4);
|
12786 |
+
return instance;
|
12787 |
+
} else {
|
12788 |
+
return new Klass(a1, a2, a3, a4);
|
12789 |
+
}
|
12790 |
+
};
|
12791 |
+
|
12792 |
+
var standardReleaser = function (instance) {
|
12793 |
+
var Klass = this;
|
12794 |
+
!(instance instanceof Klass) ? true ? invariant(false, 'Trying to release an instance into a pool of a different type.') : undefined : void 0;
|
12795 |
+
instance.destructor();
|
12796 |
+
if (Klass.instancePool.length < Klass.poolSize) {
|
12797 |
+
Klass.instancePool.push(instance);
|
12798 |
+
}
|
12799 |
+
};
|
12800 |
+
|
12801 |
+
var DEFAULT_POOL_SIZE = 10;
|
12802 |
+
var DEFAULT_POOLER = oneArgumentPooler;
|
12803 |
+
|
12804 |
+
/**
|
12805 |
+
* Augments `CopyConstructor` to be a poolable class, augmenting only the class
|
12806 |
+
* itself (statically) not adding any prototypical fields. Any CopyConstructor
|
12807 |
+
* you give this may have a `poolSize` property, and will look for a
|
12808 |
+
* prototypical `destructor` on instances.
|
12809 |
+
*
|
12810 |
+
* @param {Function} CopyConstructor Constructor that can be used to reset.
|
12811 |
+
* @param {Function} pooler Customizable pooler.
|
12812 |
+
*/
|
12813 |
+
var addPoolingTo = function (CopyConstructor, pooler) {
|
12814 |
+
// Casting as any so that flow ignores the actual implementation and trusts
|
12815 |
+
// it to match the type we declared
|
12816 |
+
var NewKlass = CopyConstructor;
|
12817 |
+
NewKlass.instancePool = [];
|
12818 |
+
NewKlass.getPooled = pooler || DEFAULT_POOLER;
|
12819 |
+
if (!NewKlass.poolSize) {
|
12820 |
+
NewKlass.poolSize = DEFAULT_POOL_SIZE;
|
12821 |
+
}
|
12822 |
+
NewKlass.release = standardReleaser;
|
12823 |
+
return NewKlass;
|
12824 |
+
};
|
12825 |
+
|
12826 |
+
var PooledClass = {
|
12827 |
+
addPoolingTo: addPoolingTo,
|
12828 |
+
oneArgumentPooler: oneArgumentPooler,
|
12829 |
+
twoArgumentPooler: twoArgumentPooler,
|
12830 |
+
threeArgumentPooler: threeArgumentPooler,
|
12831 |
+
fourArgumentPooler: fourArgumentPooler
|
12832 |
+
};
|
12833 |
+
|
12834 |
+
module.exports = PooledClass;
|
12835 |
+
|
12836 |
+
/***/ }),
|
12837 |
+
|
12838 |
+
/***/ "./node_modules/react-dom/lib/ReactBrowserEventEmitter.js":
|
12839 |
+
/*!****************************************************************!*\
|
12840 |
+
!*** ./node_modules/react-dom/lib/ReactBrowserEventEmitter.js ***!
|
12841 |
+
\****************************************************************/
|
12842 |
+
/*! no static exports found */
|
12843 |
+
/***/ (function(module, exports, __webpack_require__) {
|
12844 |
+
|
12845 |
+
"use strict";
|
12846 |
+
/**
|
12847 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
12848 |
+
*
|
12849 |
+
* This source code is licensed under the MIT license found in the
|
12850 |
+
* LICENSE file in the root directory of this source tree.
|
12851 |
+
*
|
12852 |
+
*/
|
12853 |
+
|
12854 |
+
|
12855 |
+
|
12856 |
+
var _assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
|
12857 |
+
|
12858 |
+
var EventPluginRegistry = __webpack_require__(/*! ./EventPluginRegistry */ "./node_modules/react-dom/lib/EventPluginRegistry.js");
|
12859 |
+
var ReactEventEmitterMixin = __webpack_require__(/*! ./ReactEventEmitterMixin */ "./node_modules/react-dom/lib/ReactEventEmitterMixin.js");
|
12860 |
+
var ViewportMetrics = __webpack_require__(/*! ./ViewportMetrics */ "./node_modules/react-dom/lib/ViewportMetrics.js");
|
12861 |
+
|
12862 |
+
var getVendorPrefixedEventName = __webpack_require__(/*! ./getVendorPrefixedEventName */ "./node_modules/react-dom/lib/getVendorPrefixedEventName.js");
|
12863 |
+
var isEventSupported = __webpack_require__(/*! ./isEventSupported */ "./node_modules/react-dom/lib/isEventSupported.js");
|
12864 |
+
|
12865 |
+
/**
|
12866 |
+
* Summary of `ReactBrowserEventEmitter` event handling:
|
12867 |
+
*
|
12868 |
+
* - Top-level delegation is used to trap most native browser events. This
|
12869 |
+
* may only occur in the main thread and is the responsibility of
|
12870 |
+
* ReactEventListener, which is injected and can therefore support pluggable
|
12871 |
+
* event sources. This is the only work that occurs in the main thread.
|
12872 |
+
*
|
12873 |
+
* - We normalize and de-duplicate events to account for browser quirks. This
|
12874 |
+
* may be done in the worker thread.
|
12875 |
+
*
|
12876 |
+
* - Forward these native events (with the associated top-level type used to
|
12877 |
+
* trap it) to `EventPluginHub`, which in turn will ask plugins if they want
|
12878 |
+
* to extract any synthetic events.
|
12879 |
+
*
|
12880 |
+
* - The `EventPluginHub` will then process each event by annotating them with
|
12881 |
+
* "dispatches", a sequence of listeners and IDs that care about that event.
|
12882 |
+
*
|
12883 |
+
* - The `EventPluginHub` then dispatches the events.
|
12884 |
+
*
|
12885 |
+
* Overview of React and the event system:
|
12886 |
+
*
|
12887 |
+
* +------------+ .
|
12888 |
+
* | DOM | .
|
12889 |
+
* +------------+ .
|
12890 |
+
* | .
|
12891 |
+
* v .
|
12892 |
+
* +------------+ .
|
12893 |
+
* | ReactEvent | .
|
12894 |
+
* | Listener | .
|
12895 |
+
* +------------+ . +-----------+
|
12896 |
+
* | . +--------+|SimpleEvent|
|
12897 |
+
* | . | |Plugin |
|
12898 |
+
* +-----|------+ . v +-----------+
|
12899 |
+
* | | | . +--------------+ +------------+
|
12900 |
+
* | +-----------.--->|EventPluginHub| | Event |
|
12901 |
+
* | | . | | +-----------+ | Propagators|
|
12902 |
+
* | ReactEvent | . | | |TapEvent | |------------|
|
12903 |
+
* | Emitter | . | |<---+|Plugin | |other plugin|
|
12904 |
+
* | | . | | +-----------+ | utilities |
|
12905 |
+
* | +-----------.--->| | +------------+
|
12906 |
+
* | | | . +--------------+
|
12907 |
+
* +-----|------+ . ^ +-----------+
|
12908 |
+
* | . | |Enter/Leave|
|
12909 |
+
* + . +-------+|Plugin |
|
12910 |
+
* +-------------+ . +-----------+
|
12911 |
+
* | application | .
|
12912 |
+
* |-------------| .
|
12913 |
+
* | | .
|
12914 |
+
* | | .
|
12915 |
+
* +-------------+ .
|
12916 |
+
* .
|
12917 |
+
* React Core . General Purpose Event Plugin System
|
12918 |
+
*/
|
12919 |
+
|
12920 |
+
var hasEventPageXY;
|
12921 |
+
var alreadyListeningTo = {};
|
12922 |
+
var isMonitoringScrollValue = false;
|
12923 |
+
var reactTopListenersCounter = 0;
|
12924 |
+
|
12925 |
+
// For events like 'submit' which don't consistently bubble (which we trap at a
|
12926 |
+
// lower node than `document`), binding at `document` would cause duplicate
|
12927 |
+
// events so we don't include them here
|
12928 |
+
var topEventMapping = {
|
12929 |
+
topAbort: 'abort',
|
12930 |
+
topAnimationEnd: getVendorPrefixedEventName('animationend') || 'animationend',
|
12931 |
+
topAnimationIteration: getVendorPrefixedEventName('animationiteration') || 'animationiteration',
|
12932 |
+
topAnimationStart: getVendorPrefixedEventName('animationstart') || 'animationstart',
|
12933 |
+
topBlur: 'blur',
|
12934 |
+
topCanPlay: 'canplay',
|
12935 |
+
topCanPlayThrough: 'canplaythrough',
|
12936 |
+
topChange: 'change',
|
12937 |
+
topClick: 'click',
|
12938 |
+
topCompositionEnd: 'compositionend',
|
12939 |
+
topCompositionStart: 'compositionstart',
|
12940 |
+
topCompositionUpdate: 'compositionupdate',
|
12941 |
+
topContextMenu: 'contextmenu',
|
12942 |
+
topCopy: 'copy',
|
12943 |
+
topCut: 'cut',
|
12944 |
+
topDoubleClick: 'dblclick',
|
12945 |
+
topDrag: 'drag',
|
12946 |
+
topDragEnd: 'dragend',
|
12947 |
+
topDragEnter: 'dragenter',
|
12948 |
+
topDragExit: 'dragexit',
|
12949 |
+
topDragLeave: 'dragleave',
|
12950 |
+
topDragOver: 'dragover',
|
12951 |
+
topDragStart: 'dragstart',
|
12952 |
+
topDrop: 'drop',
|
12953 |
+
topDurationChange: 'durationchange',
|
12954 |
+
topEmptied: 'emptied',
|
12955 |
+
topEncrypted: 'encrypted',
|
12956 |
+
topEnded: 'ended',
|
12957 |
+
topError: 'error',
|
12958 |
+
topFocus: 'focus',
|
12959 |
+
topInput: 'input',
|
12960 |
+
topKeyDown: 'keydown',
|
12961 |
+
topKeyPress: 'keypress',
|
12962 |
+
topKeyUp: 'keyup',
|
12963 |
+
topLoadedData: 'loadeddata',
|
12964 |
+
topLoadedMetadata: 'loadedmetadata',
|
12965 |
+
topLoadStart: 'loadstart',
|
12966 |
+
topMouseDown: 'mousedown',
|
12967 |
+
topMouseMove: 'mousemove',
|
12968 |
+
topMouseOut: 'mouseout',
|
12969 |
+
topMouseOver: 'mouseover',
|
12970 |
+
topMouseUp: 'mouseup',
|
12971 |
+
topPaste: 'paste',
|
12972 |
+
topPause: 'pause',
|
12973 |
+
topPlay: 'play',
|
12974 |
+
topPlaying: 'playing',
|
12975 |
+
topProgress: 'progress',
|
12976 |
+
topRateChange: 'ratechange',
|
12977 |
+
topScroll: 'scroll',
|
12978 |
+
topSeeked: 'seeked',
|
12979 |
+
topSeeking: 'seeking',
|
12980 |
+
topSelectionChange: 'selectionchange',
|
12981 |
+
topStalled: 'stalled',
|
12982 |
+
topSuspend: 'suspend',
|
12983 |
+
topTextInput: 'textInput',
|
12984 |
+
topTimeUpdate: 'timeupdate',
|
12985 |
+
topTouchCancel: 'touchcancel',
|
12986 |
+
topTouchEnd: 'touchend',
|
12987 |
+
topTouchMove: 'touchmove',
|
12988 |
+
topTouchStart: 'touchstart',
|
12989 |
+
topTransitionEnd: getVendorPrefixedEventName('transitionend') || 'transitionend',
|
12990 |
+
topVolumeChange: 'volumechange',
|
12991 |
+
topWaiting: 'waiting',
|
12992 |
+
topWheel: 'wheel'
|
12993 |
+
};
|
12994 |
+
|
12995 |
+
/**
|
12996 |
+
* To ensure no conflicts with other potential React instances on the page
|
12997 |
+
*/
|
12998 |
+
var topListenersIDKey = '_reactListenersID' + String(Math.random()).slice(2);
|
12999 |
+
|
13000 |
+
function getListeningForDocument(mountAt) {
|
13001 |
+
// In IE8, `mountAt` is a host object and doesn't have `hasOwnProperty`
|
13002 |
+
// directly.
|
13003 |
+
if (!Object.prototype.hasOwnProperty.call(mountAt, topListenersIDKey)) {
|
13004 |
+
mountAt[topListenersIDKey] = reactTopListenersCounter++;
|
13005 |
+
alreadyListeningTo[mountAt[topListenersIDKey]] = {};
|
13006 |
+
}
|
13007 |
+
return alreadyListeningTo[mountAt[topListenersIDKey]];
|
13008 |
+
}
|
13009 |
+
|
13010 |
+
/**
|
13011 |
+
* `ReactBrowserEventEmitter` is used to attach top-level event listeners. For
|
13012 |
+
* example:
|
13013 |
+
*
|
13014 |
+
* EventPluginHub.putListener('myID', 'onClick', myFunction);
|
13015 |
+
*
|
13016 |
+
* This would allocate a "registration" of `('onClick', myFunction)` on 'myID'.
|
13017 |
+
*
|
13018 |
+
* @internal
|
13019 |
+
*/
|
13020 |
+
var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, {
|
13021 |
+
/**
|
13022 |
+
* Injectable event backend
|
13023 |
+
*/
|
13024 |
+
ReactEventListener: null,
|
13025 |
+
|
13026 |
+
injection: {
|
13027 |
+
/**
|
13028 |
+
* @param {object} ReactEventListener
|
13029 |
+
*/
|
13030 |
+
injectReactEventListener: function (ReactEventListener) {
|
13031 |
+
ReactEventListener.setHandleTopLevel(ReactBrowserEventEmitter.handleTopLevel);
|
13032 |
+
ReactBrowserEventEmitter.ReactEventListener = ReactEventListener;
|
13033 |
+
}
|
13034 |
+
},
|
13035 |
+
|
13036 |
+
/**
|
13037 |
+
* Sets whether or not any created callbacks should be enabled.
|
13038 |
+
*
|
13039 |
+
* @param {boolean} enabled True if callbacks should be enabled.
|
13040 |
+
*/
|
13041 |
+
setEnabled: function (enabled) {
|
13042 |
+
if (ReactBrowserEventEmitter.ReactEventListener) {
|
13043 |
+
ReactBrowserEventEmitter.ReactEventListener.setEnabled(enabled);
|
13044 |
+
}
|
13045 |
+
},
|
13046 |
+
|
13047 |
+
/**
|
13048 |
+
* @return {boolean} True if callbacks are enabled.
|
13049 |
+
*/
|
13050 |
+
isEnabled: function () {
|
13051 |
+
return !!(ReactBrowserEventEmitter.ReactEventListener && ReactBrowserEventEmitter.ReactEventListener.isEnabled());
|
13052 |
+
},
|
13053 |
+
|
13054 |
+
/**
|
13055 |
+
* We listen for bubbled touch events on the document object.
|
13056 |
+
*
|
13057 |
+
* Firefox v8.01 (and possibly others) exhibited strange behavior when
|
13058 |
+
* mounting `onmousemove` events at some node that was not the document
|
13059 |
+
* element. The symptoms were that if your mouse is not moving over something
|
13060 |
+
* contained within that mount point (for example on the background) the
|
13061 |
+
* top-level listeners for `onmousemove` won't be called. However, if you
|
13062 |
+
* register the `mousemove` on the document object, then it will of course
|
13063 |
+
* catch all `mousemove`s. This along with iOS quirks, justifies restricting
|
13064 |
+
* top-level listeners to the document object only, at least for these
|
13065 |
+
* movement types of events and possibly all events.
|
13066 |
+
*
|
13067 |
+
* @see http://www.quirksmode.org/blog/archives/2010/09/click_event_del.html
|
13068 |
+
*
|
13069 |
+
* Also, `keyup`/`keypress`/`keydown` do not bubble to the window on IE, but
|
13070 |
+
* they bubble to document.
|
13071 |
+
*
|
13072 |
+
* @param {string} registrationName Name of listener (e.g. `onClick`).
|
13073 |
+
* @param {object} contentDocumentHandle Document which owns the container
|
13074 |
+
*/
|
13075 |
+
listenTo: function (registrationName, contentDocumentHandle) {
|
13076 |
+
var mountAt = contentDocumentHandle;
|
13077 |
+
var isListening = getListeningForDocument(mountAt);
|
13078 |
+
var dependencies = EventPluginRegistry.registrationNameDependencies[registrationName];
|
13079 |
+
|
13080 |
+
for (var i = 0; i < dependencies.length; i++) {
|
13081 |
+
var dependency = dependencies[i];
|
13082 |
+
if (!(isListening.hasOwnProperty(dependency) && isListening[dependency])) {
|
13083 |
+
if (dependency === 'topWheel') {
|
13084 |
+
if (isEventSupported('wheel')) {
|
13085 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'wheel', mountAt);
|
13086 |
+
} else if (isEventSupported('mousewheel')) {
|
13087 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'mousewheel', mountAt);
|
13088 |
+
} else {
|
13089 |
+
// Firefox needs to capture a different mouse scroll event.
|
13090 |
+
// @see http://www.quirksmode.org/dom/events/tests/scroll.html
|
13091 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topWheel', 'DOMMouseScroll', mountAt);
|
13092 |
+
}
|
13093 |
+
} else if (dependency === 'topScroll') {
|
13094 |
+
if (isEventSupported('scroll', true)) {
|
13095 |
+
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topScroll', 'scroll', mountAt);
|
13096 |
+
} else {
|
13097 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topScroll', 'scroll', ReactBrowserEventEmitter.ReactEventListener.WINDOW_HANDLE);
|
13098 |
+
}
|
13099 |
+
} else if (dependency === 'topFocus' || dependency === 'topBlur') {
|
13100 |
+
if (isEventSupported('focus', true)) {
|
13101 |
+
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topFocus', 'focus', mountAt);
|
13102 |
+
ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent('topBlur', 'blur', mountAt);
|
13103 |
+
} else if (isEventSupported('focusin')) {
|
13104 |
+
// IE has `focusin` and `focusout` events which bubble.
|
13105 |
+
// @see http://www.quirksmode.org/blog/archives/2008/04/delegating_the.html
|
13106 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topFocus', 'focusin', mountAt);
|
13107 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent('topBlur', 'focusout', mountAt);
|
13108 |
+
}
|
13109 |
+
|
13110 |
+
// to make sure blur and focus event listeners are only attached once
|
13111 |
+
isListening.topBlur = true;
|
13112 |
+
isListening.topFocus = true;
|
13113 |
+
} else if (topEventMapping.hasOwnProperty(dependency)) {
|
13114 |
+
ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(dependency, topEventMapping[dependency], mountAt);
|
13115 |
+
}
|
13116 |
+
|
13117 |
+
isListening[dependency] = true;
|
13118 |
+
}
|
13119 |
+
}
|
13120 |
+
},
|
13121 |
+
|
13122 |
+
trapBubbledEvent: function (topLevelType, handlerBaseName, handle) {
|
13123 |
+
return ReactBrowserEventEmitter.ReactEventListener.trapBubbledEvent(topLevelType, handlerBaseName, handle);
|
13124 |
+
},
|
13125 |
+
|
13126 |
+
trapCapturedEvent: function (topLevelType, handlerBaseName, handle) {
|
13127 |
+
return ReactBrowserEventEmitter.ReactEventListener.trapCapturedEvent(topLevelType, handlerBaseName, handle);
|
13128 |
+
},
|
13129 |
+
|
13130 |
+
/**
|
13131 |
+
* Protect against document.createEvent() returning null
|
13132 |
+
* Some popup blocker extensions appear to do this:
|
13133 |
+
* https://github.com/facebook/react/issues/6887
|
13134 |
+
*/
|
13135 |
+
supportsEventPageXY: function () {
|
13136 |
+
if (!document.createEvent) {
|
13137 |
+
return false;
|
13138 |
+
}
|
13139 |
+
var ev = document.createEvent('MouseEvent');
|
13140 |
+
return ev != null && 'pageX' in ev;
|
13141 |
+
},
|
13142 |
+
|
13143 |
+
/**
|
13144 |
+
* Listens to window scroll and resize events. We cache scroll values so that
|
13145 |
+
* application code can access them without triggering reflows.
|
13146 |
+
*
|
13147 |
+
* ViewportMetrics is only used by SyntheticMouse/TouchEvent and only when
|
13148 |
+
* pageX/pageY isn't supported (legacy browsers).
|
13149 |
+
*
|
13150 |
+
* NOTE: Scroll events do not bubble.
|
13151 |
+
*
|
13152 |
+
* @see http://www.quirksmode.org/dom/events/scroll.html
|
13153 |
+
*/
|
13154 |
+
ensureScrollValueMonitoring: function () {
|
13155 |
+
if (hasEventPageXY === undefined) {
|
13156 |
+
hasEventPageXY = ReactBrowserEventEmitter.supportsEventPageXY();
|
13157 |
+
}
|
13158 |
+
if (!hasEventPageXY && !isMonitoringScrollValue) {
|
13159 |
+
var refresh = ViewportMetrics.refreshScrollValues;
|
13160 |
+
ReactBrowserEventEmitter.ReactEventListener.monitorScrollValue(refresh);
|
13161 |
+
isMonitoringScrollValue = true;
|
13162 |
+
}
|
13163 |
+
}
|
13164 |
+
});
|
13165 |
+
|
13166 |
+
module.exports = ReactBrowserEventEmitter;
|
13167 |
+
|
13168 |
+
/***/ }),
|
13169 |
+
|
13170 |
+
/***/ "./node_modules/react-dom/lib/ReactChildReconciler.js":
|
13171 |
+
/*!************************************************************!*\
|
13172 |
+
!*** ./node_modules/react-dom/lib/ReactChildReconciler.js ***!
|
13173 |
+
\************************************************************/
|
13174 |
+
/*! no static exports found */
|
13175 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13176 |
+
|
13177 |
+
"use strict";
|
13178 |
+
/* WEBPACK VAR INJECTION */(function(process) {/**
|
13179 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
13180 |
+
*
|
13181 |
+
* This source code is licensed under the MIT license found in the
|
13182 |
+
* LICENSE file in the root directory of this source tree.
|
13183 |
+
*
|
13184 |
+
*/
|
13185 |
+
|
13186 |
+
|
13187 |
+
|
13188 |
+
var ReactReconciler = __webpack_require__(/*! ./ReactReconciler */ "./node_modules/react-dom/lib/ReactReconciler.js");
|
13189 |
+
|
13190 |
+
var instantiateReactComponent = __webpack_require__(/*! ./instantiateReactComponent */ "./node_modules/react-dom/lib/instantiateReactComponent.js");
|
13191 |
+
var KeyEscapeUtils = __webpack_require__(/*! ./KeyEscapeUtils */ "./node_modules/react-dom/lib/KeyEscapeUtils.js");
|
13192 |
+
var shouldUpdateReactComponent = __webpack_require__(/*! ./shouldUpdateReactComponent */ "./node_modules/react-dom/lib/shouldUpdateReactComponent.js");
|
13193 |
+
var traverseAllChildren = __webpack_require__(/*! ./traverseAllChildren */ "./node_modules/react-dom/lib/traverseAllChildren.js");
|
13194 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
13195 |
+
|
13196 |
+
var ReactComponentTreeHook;
|
13197 |
+
|
13198 |
+
if (typeof process !== 'undefined' && Object({"NODE_ENV":"development"}) && "development" === 'test') {
|
13199 |
+
// Temporary hack.
|
13200 |
+
// Inline requires don't work well with Jest:
|
13201 |
+
// https://github.com/facebook/react/issues/7240
|
13202 |
+
// Remove the inline requires when we don't need them anymore:
|
13203 |
+
// https://github.com/facebook/react/pull/7178
|
13204 |
+
ReactComponentTreeHook = __webpack_require__(/*! react/lib/ReactComponentTreeHook */ "./node_modules/react/lib/ReactComponentTreeHook.js");
|
13205 |
+
}
|
13206 |
+
|
13207 |
+
function instantiateChild(childInstances, child, name, selfDebugID) {
|
13208 |
+
// We found a component instance.
|
13209 |
+
var keyUnique = childInstances[name] === undefined;
|
13210 |
+
if (true) {
|
13211 |
+
if (!ReactComponentTreeHook) {
|
13212 |
+
ReactComponentTreeHook = __webpack_require__(/*! react/lib/ReactComponentTreeHook */ "./node_modules/react/lib/ReactComponentTreeHook.js");
|
13213 |
+
}
|
13214 |
+
if (!keyUnique) {
|
13215 |
+
true ? warning(false, 'flattenChildren(...): Encountered two children with the same key, ' + '`%s`. Child keys must be unique; when two children share a key, only ' + 'the first child will be used.%s', KeyEscapeUtils.unescape(name), ReactComponentTreeHook.getStackAddendumByID(selfDebugID)) : undefined;
|
13216 |
+
}
|
13217 |
+
}
|
13218 |
+
if (child != null && keyUnique) {
|
13219 |
+
childInstances[name] = instantiateReactComponent(child, true);
|
13220 |
+
}
|
13221 |
+
}
|
13222 |
+
|
13223 |
+
/**
|
13224 |
+
* ReactChildReconciler provides helpers for initializing or updating a set of
|
13225 |
+
* children. Its output is suitable for passing it onto ReactMultiChild which
|
13226 |
+
* does diffed reordering and insertion.
|
13227 |
+
*/
|
13228 |
+
var ReactChildReconciler = {
|
13229 |
+
/**
|
13230 |
+
* Generates a "mount image" for each of the supplied children. In the case
|
13231 |
+
* of `ReactDOMComponent`, a mount image is a string of markup.
|
13232 |
+
*
|
13233 |
+
* @param {?object} nestedChildNodes Nested child maps.
|
13234 |
+
* @return {?object} A set of child instances.
|
13235 |
+
* @internal
|
13236 |
+
*/
|
13237 |
+
instantiateChildren: function (nestedChildNodes, transaction, context, selfDebugID) // 0 in production and for roots
|
13238 |
+
{
|
13239 |
+
if (nestedChildNodes == null) {
|
13240 |
+
return null;
|
13241 |
+
}
|
13242 |
+
var childInstances = {};
|
13243 |
+
|
13244 |
+
if (true) {
|
13245 |
+
traverseAllChildren(nestedChildNodes, function (childInsts, child, name) {
|
13246 |
+
return instantiateChild(childInsts, child, name, selfDebugID);
|
13247 |
+
}, childInstances);
|
13248 |
+
} else {}
|
13249 |
+
return childInstances;
|
13250 |
+
},
|
13251 |
+
|
13252 |
+
/**
|
13253 |
+
* Updates the rendered children and returns a new set of children.
|
13254 |
+
*
|
13255 |
+
* @param {?object} prevChildren Previously initialized set of children.
|
13256 |
+
* @param {?object} nextChildren Flat child element maps.
|
13257 |
+
* @param {ReactReconcileTransaction} transaction
|
13258 |
+
* @param {object} context
|
13259 |
+
* @return {?object} A new set of child instances.
|
13260 |
+
* @internal
|
13261 |
+
*/
|
13262 |
+
updateChildren: function (prevChildren, nextChildren, mountImages, removedNodes, transaction, hostParent, hostContainerInfo, context, selfDebugID) // 0 in production and for roots
|
13263 |
+
{
|
13264 |
+
// We currently don't have a way to track moves here but if we use iterators
|
13265 |
+
// instead of for..in we can zip the iterators and check if an item has
|
13266 |
+
// moved.
|
13267 |
+
// TODO: If nothing has changed, return the prevChildren object so that we
|
13268 |
+
// can quickly bailout if nothing has changed.
|
13269 |
+
if (!nextChildren && !prevChildren) {
|
13270 |
+
return;
|
13271 |
+
}
|
13272 |
+
var name;
|
13273 |
+
var prevChild;
|
13274 |
+
for (name in nextChildren) {
|
13275 |
+
if (!nextChildren.hasOwnProperty(name)) {
|
13276 |
+
continue;
|
13277 |
+
}
|
13278 |
+
prevChild = prevChildren && prevChildren[name];
|
13279 |
+
var prevElement = prevChild && prevChild._currentElement;
|
13280 |
+
var nextElement = nextChildren[name];
|
13281 |
+
if (prevChild != null && shouldUpdateReactComponent(prevElement, nextElement)) {
|
13282 |
+
ReactReconciler.receiveComponent(prevChild, nextElement, transaction, context);
|
13283 |
+
nextChildren[name] = prevChild;
|
13284 |
+
} else {
|
13285 |
+
if (prevChild) {
|
13286 |
+
removedNodes[name] = ReactReconciler.getHostNode(prevChild);
|
13287 |
+
ReactReconciler.unmountComponent(prevChild, false);
|
13288 |
+
}
|
13289 |
+
// The child must be instantiated before it's mounted.
|
13290 |
+
var nextChildInstance = instantiateReactComponent(nextElement, true);
|
13291 |
+
nextChildren[name] = nextChildInstance;
|
13292 |
+
// Creating mount image now ensures refs are resolved in right order
|
13293 |
+
// (see https://github.com/facebook/react/pull/7101 for explanation).
|
13294 |
+
var nextChildMountImage = ReactReconciler.mountComponent(nextChildInstance, transaction, hostParent, hostContainerInfo, context, selfDebugID);
|
13295 |
+
mountImages.push(nextChildMountImage);
|
13296 |
+
}
|
13297 |
+
}
|
13298 |
+
// Unmount children that are no longer present.
|
13299 |
+
for (name in prevChildren) {
|
13300 |
+
if (prevChildren.hasOwnProperty(name) && !(nextChildren && nextChildren.hasOwnProperty(name))) {
|
13301 |
+
prevChild = prevChildren[name];
|
13302 |
+
removedNodes[name] = ReactReconciler.getHostNode(prevChild);
|
13303 |
+
ReactReconciler.unmountComponent(prevChild, false);
|
13304 |
+
}
|
13305 |
+
}
|
13306 |
+
},
|
13307 |
+
|
13308 |
+
/**
|
13309 |
+
* Unmounts all rendered children. This should be used to clean up children
|
13310 |
+
* when this component is unmounted.
|
13311 |
+
*
|
13312 |
+
* @param {?object} renderedChildren Previously initialized set of children.
|
13313 |
+
* @internal
|
13314 |
+
*/
|
13315 |
+
unmountChildren: function (renderedChildren, safely) {
|
13316 |
+
for (var name in renderedChildren) {
|
13317 |
+
if (renderedChildren.hasOwnProperty(name)) {
|
13318 |
+
var renderedChild = renderedChildren[name];
|
13319 |
+
ReactReconciler.unmountComponent(renderedChild, safely);
|
13320 |
+
}
|
13321 |
+
}
|
13322 |
+
}
|
13323 |
+
};
|
13324 |
+
|
13325 |
+
module.exports = ReactChildReconciler;
|
13326 |
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ "./node_modules/process/browser.js")))
|
13327 |
+
|
13328 |
+
/***/ }),
|
13329 |
+
|
13330 |
+
/***/ "./node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js":
|
13331 |
+
/*!************************************************************************!*\
|
13332 |
+
!*** ./node_modules/react-dom/lib/ReactComponentBrowserEnvironment.js ***!
|
13333 |
+
\************************************************************************/
|
13334 |
+
/*! no static exports found */
|
13335 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13336 |
+
|
13337 |
+
"use strict";
|
13338 |
+
/**
|
13339 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
13340 |
+
*
|
13341 |
+
* This source code is licensed under the MIT license found in the
|
13342 |
+
* LICENSE file in the root directory of this source tree.
|
13343 |
+
*
|
13344 |
+
*/
|
13345 |
+
|
13346 |
+
|
13347 |
+
|
13348 |
+
var DOMChildrenOperations = __webpack_require__(/*! ./DOMChildrenOperations */ "./node_modules/react-dom/lib/DOMChildrenOperations.js");
|
13349 |
+
var ReactDOMIDOperations = __webpack_require__(/*! ./ReactDOMIDOperations */ "./node_modules/react-dom/lib/ReactDOMIDOperations.js");
|
13350 |
+
|
13351 |
+
/**
|
13352 |
+
* Abstracts away all functionality of the reconciler that requires knowledge of
|
13353 |
+
* the browser context. TODO: These callers should be refactored to avoid the
|
13354 |
+
* need for this injection.
|
13355 |
+
*/
|
13356 |
+
var ReactComponentBrowserEnvironment = {
|
13357 |
+
processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates,
|
13358 |
+
|
13359 |
+
replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup
|
13360 |
+
};
|
13361 |
+
|
13362 |
+
module.exports = ReactComponentBrowserEnvironment;
|
13363 |
+
|
13364 |
+
/***/ }),
|
13365 |
+
|
13366 |
+
/***/ "./node_modules/react-dom/lib/ReactComponentEnvironment.js":
|
13367 |
+
/*!*****************************************************************!*\
|
13368 |
+
!*** ./node_modules/react-dom/lib/ReactComponentEnvironment.js ***!
|
13369 |
+
\*****************************************************************/
|
13370 |
+
/*! no static exports found */
|
13371 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13372 |
+
|
13373 |
+
"use strict";
|
13374 |
+
/**
|
13375 |
+
* Copyright (c) 2014-present, Facebook, Inc.
|
13376 |
+
*
|
13377 |
+
* This source code is licensed under the MIT license found in the
|
13378 |
+
* LICENSE file in the root directory of this source tree.
|
13379 |
+
*
|
13380 |
+
*
|
13381 |
+
*/
|
13382 |
+
|
13383 |
+
|
13384 |
+
|
13385 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js");
|
13386 |
+
|
13387 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
13388 |
+
|
13389 |
+
var injected = false;
|
13390 |
+
|
13391 |
+
var ReactComponentEnvironment = {
|
13392 |
+
/**
|
13393 |
+
* Optionally injectable hook for swapping out mount images in the middle of
|
13394 |
+
* the tree.
|
13395 |
+
*/
|
13396 |
+
replaceNodeWithMarkup: null,
|
13397 |
+
|
13398 |
+
/**
|
13399 |
+
* Optionally injectable hook for processing a queue of child updates. Will
|
13400 |
+
* later move into MultiChildComponents.
|
13401 |
+
*/
|
13402 |
+
processChildrenUpdates: null,
|
13403 |
+
|
13404 |
+
injection: {
|
13405 |
+
injectEnvironment: function (environment) {
|
13406 |
+
!!injected ? true ? invariant(false, 'ReactCompositeComponent: injectEnvironment() can only be called once.') : undefined : void 0;
|
13407 |
+
ReactComponentEnvironment.replaceNodeWithMarkup = environment.replaceNodeWithMarkup;
|
13408 |
+
ReactComponentEnvironment.processChildrenUpdates = environment.processChildrenUpdates;
|
13409 |
+
injected = true;
|
13410 |
+
}
|
13411 |
+
}
|
13412 |
+
};
|
13413 |
+
|
13414 |
+
module.exports = ReactComponentEnvironment;
|
13415 |
+
|
13416 |
+
/***/ }),
|
13417 |
+
|
13418 |
+
/***/ "./node_modules/react-dom/lib/ReactCompositeComponent.js":
|
13419 |
+
/*!***************************************************************!*\
|
13420 |
+
!*** ./node_modules/react-dom/lib/ReactCompositeComponent.js ***!
|
13421 |
+
\***************************************************************/
|
13422 |
+
/*! no static exports found */
|
13423 |
+
/***/ (function(module, exports, __webpack_require__) {
|
13424 |
+
|
13425 |
+
"use strict";
|
13426 |
+
/**
|
13427 |
+
* Copyright (c) 2013-present, Facebook, Inc.
|
13428 |
+
*
|
13429 |
+
* This source code is licensed under the MIT license found in the
|
13430 |
+
* LICENSE file in the root directory of this source tree.
|
13431 |
+
*
|
13432 |
+
*/
|
13433 |
+
|
13434 |
+
|
13435 |
+
|
13436 |
+
var _prodInvariant = __webpack_require__(/*! ./reactProdInvariant */ "./node_modules/react-dom/lib/reactProdInvariant.js"),
|
13437 |
+
_assign = __webpack_require__(/*! object-assign */ "./node_modules/object-assign/index.js");
|
13438 |
+
|
13439 |
+
var React = __webpack_require__(/*! react/lib/React */ "./node_modules/react/lib/React.js");
|
13440 |
+
var ReactComponentEnvironment = __webpack_require__(/*! ./ReactComponentEnvironment */ "./node_modules/react-dom/lib/ReactComponentEnvironment.js");
|
13441 |
+
var ReactCurrentOwner = __webpack_require__(/*! react/lib/ReactCurrentOwner */ "./node_modules/react/lib/ReactCurrentOwner.js");
|
13442 |
+
var ReactErrorUtils = __webpack_require__(/*! ./ReactErrorUtils */ "./node_modules/react-dom/lib/ReactErrorUtils.js");
|
13443 |
+
var ReactInstanceMap = __webpack_require__(/*! ./ReactInstanceMap */ "./node_modules/react-dom/lib/ReactInstanceMap.js");
|
13444 |
+
var ReactInstrumentation = __webpack_require__(/*! ./ReactInstrumentation */ "./node_modules/react-dom/lib/ReactInstrumentation.js");
|
13445 |
+
var ReactNodeTypes = __webpack_require__(/*! ./ReactNodeTypes */ "./node_modules/react-dom/lib/ReactNodeTypes.js");
|
13446 |
+
var ReactReconciler = __webpack_require__(/*! ./ReactReconciler */ "./node_modules/react-dom/lib/ReactReconciler.js");
|
13447 |
+
|
13448 |
+
if (true) {
|
13449 |
+
var checkReactTypeSpec = __webpack_require__(/*! ./checkReactTypeSpec */ "./node_modules/react-dom/lib/checkReactTypeSpec.js");
|
13450 |
+
}
|
13451 |
+
|
13452 |
+
var emptyObject = __webpack_require__(/*! fbjs/lib/emptyObject */ "./node_modules/fbjs/lib/emptyObject.js");
|
13453 |
+
var invariant = __webpack_require__(/*! fbjs/lib/invariant */ "./node_modules/fbjs/lib/invariant.js");
|
13454 |
+
var shallowEqual = __webpack_require__(/*! fbjs/lib/shallowEqual */ "./node_modules/fbjs/lib/shallowEqual.js");
|
13455 |
+
var shouldUpdateReactComponent = __webpack_require__(/*! ./shouldUpdateReactComponent */ "./node_modules/react-dom/lib/shouldUpdateReactComponent.js");
|
13456 |
+
var warning = __webpack_require__(/*! fbjs/lib/warning */ "./node_modules/fbjs/lib/warning.js");
|
13457 |
+
|
13458 |
+
var CompositeTypes = {
|
13459 |
+
ImpureClass: 0,
|
13460 |
+
PureClass: 1,
|
13461 |
+
StatelessFunctional: 2
|
13462 |
+
};
|
13463 |
+
|
13464 |
+
function StatelessComponent(Component) {}
|
13465 |
+
StatelessComponent.prototype.render = function () {
|
13466 |
+
var Component = ReactInstanceMap.get(this)._currentElement.type;
|
13467 |
+
var element = Component(this.props, this.context, this.updater);
|
13468 |
+
warnIfInvalidElement(Component, element);
|
13469 |
+
return element;
|
13470 |
+
};
|
13471 |
+
|
13472 |
+
function warnIfInvalidElement(Component, element) {
|
13473 |
+
if (true) {
|
13474 |
+
true ? warning(element === null || element === false || React.isValidElement(element), '%s(...): A valid React element (or null) must be returned. You may have ' + 'returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : undefined;
|
13475 |
+
true ? warning(!Component.childContextTypes, '%s(...): childContextTypes cannot be defined on a functional component.', Component.displayName || Component.name || 'Component') : undefined;
|
13476 |
+
}
|
13477 |
+
}
|
13478 |
+
|
13479 |
+
function shouldConstruct(Component) {
|
13480 |
+
return !!(Component.prototype && Component.prototype.isReactComponent);
|
13481 |
+
}
|
13482 |
+
|
13483 |
+
function isPureComponent(Component) {
|
13484 |
+
return !!(Component.prototype && Component.prototype.isPureReactComponent);
|
13485 |
+
}
|
13486 |
+
|
13487 |
+
// Separated into a function to contain deoptimizations caused by try/finally.
|
13488 |
+
function measureLifeCyclePerf(fn, debugID, timerType) {
|
13489 |
+
if (debugID === 0) {
|
13490 |
+
// Top-level wrappers (see ReactMount) and empty components (see
|
13491 |
+
// ReactDOMEmptyComponent) are invisible to hooks and devtools.
|
13492 |
+
// Both are implementation details that should go away in the future.
|
13493 |
+
return fn();
|
13494 |
+
}
|
13495 |
+
|
13496 |
+
ReactInstrumentation.debugTool.onBeginLifeCycleTimer(debugID, timerType);
|
13497 |
+
try {
|
13498 |
+
return fn();
|
13499 |
+
} finally {
|
13500 |
+
ReactInstrumentation.debugTool.onEndLifeCycleTimer(debugID, timerType);
|
13501 |
+
}
|
13502 |
+
}
|
13503 |
+
|
13504 |
+
/**
|
13505 |
+
* ------------------ The Life-Cycle of a Composite Component ------------------
|
13506 |
+
*
|
13507 |
+
* - constructor: Initialization of state. The instance is now retained.
|
13508 |
+
* - componentWillMount
|
13509 |
+
* - render
|
13510 |
+
* - [children's constructors]
|
13511 |
+
* - [children's componentWillMount and render]
|
13512 |
+
* - [children's componentDidMount]
|
13513 |
+
* - componentDidMount
|
13514 |
+
*
|
13515 |
+
* Update Phases:
|
13516 |
+
* - componentWillReceiveProps (only called if parent updated)
|
13517 |
+
* - shouldComponentUpdate
|
13518 |
+
* - componentWillUpdate
|
13519 |
+
* - render
|
13520 |
+
* - [children's constructors or receive props phases]
|
13521 |
+
* - componentDidUpdate
|
13522 |
+
*
|
13523 |
+
* - componentWillUnmount
|
13524 |
+
* - [children's componentWillUnmount]
|
13525 |
+
* - [children destroyed]
|
13526 |
+
* - (destroyed): The instance is now blank, released by React and ready for GC.
|
13527 |
+
*
|
13528 |
+
* -----------------------------------------------------------------------------
|
13529 |
+
*/
|
13530 |
+
|
13531 |
+
/**
|
13532 |
+
* An incrementing ID assigned to each component when it is mounted. This is
|
13533 |
+
* used to enforce the order in which `ReactUpdates` updates dirty components.
|
13534 |
+
*
|
13535 |
+
* @private
|
13536 |
+
*/
|
13537 |
+
var nextMountID = 1;
|
13538 |
+
|
13539 |
+
/**
|
13540 |
+
* @lends {ReactCompositeComponent.prototype}
|
13541 |
+
*/
|
13542 |
+
var ReactCompositeComponent = {
|
13543 |
+
/**
|
13544 |
+
* Base constructor for all composite component.
|
13545 |
+
*
|
13546 |
+
* @param {ReactElement} element
|
13547 |
+
* @final
|
13548 |
+
* @internal
|
13549 |
+
*/
|
13550 |
+
construct: function (element) {
|
13551 |
+
this._currentElement = element;
|
13552 |
+
this._rootNodeID = 0;
|
13553 |
+
this._compositeType = null;
|
13554 |
+
this._instance = null;
|
13555 |
+
this._hostParent = null;
|
13556 |
+
this._hostContainerInfo = null;
|
13557 |
+
|
13558 |
+
// See ReactUpdateQueue
|
13559 |
+
this._updateBatchNumber = null;
|
13560 |
+
this._pendingElement = null;
|
13561 |
+
this._pendingStateQueue = null;
|
13562 |
+
this._pendingReplaceState = false;
|
13563 |
+
this._pendingForceUpdate = false;
|
13564 |
+
|
13565 |
+
this._renderedNodeType = null;
|
13566 |
+
this._renderedComponent = null;
|
13567 |
+
this._context = null;
|
13568 |
+
this._mountOrder = 0;
|
13569 |
+
this._topLevelWrapper = null;
|
13570 |
+
|
13571 |
+
// See ReactUpdates and ReactUpdateQueue.
|
13572 |
+
this._pendingCallbacks = null;
|
13573 |
+
|
13574 |
+
// ComponentWillUnmount shall only be called once
|
13575 |
+
this._calledComponentWillUnmount = false;
|
13576 |
+
|
13577 |
+
if (true) {
|
13578 |
+
this._warnedAboutRefsInRender = false;
|
13579 |
+
}
|
13580 |
+
},
|
13581 |
+
|
13582 |
+
/**
|
13583 |
+
* Initializes the component, renders markup, and registers event listeners.
|
13584 |
+
*
|
13585 |
+
* @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction
|
13586 |
+
* @param {?object} hostParent
|
13587 |
+
* @param {?object} hostContainerInfo
|
13588 |
+
* @param {?object} context
|
13589 |
+
* @return {?string} Rendered markup to be inserted into the DOM.
|
13590 |
+
* @final
|
13591 |
+
* @internal
|
13592 |
+
*/
|
13593 |
+
mountComponent: function (transaction, hostParent, hostContainerInfo, context) {
|
13594 |
+
var _this = this;
|
13595 |
+
|
13596 |
+
this._context = context;
|
13597 |
+
this._mountOrder = nextMountID++;
|
13598 |
+
this._hostParent = hostParent;
|
13599 |
+
this._hostContainerInfo = hostContainerInfo;
|
13600 |
+
|
13601 |
+
var publicProps = this._currentElement.props;
|
13602 |
+
var publicContext = this._processContext(context);
|
13603 |
+
|
13604 |
+
var Component = this._currentElement.type;
|
13605 |
+
|
13606 |
+
var updateQueue = transaction.getUpdateQueue();
|
13607 |
+
|
13608 |
+
// Initialize the public class
|
13609 |
+
var doConstruct = shouldConstruct(Component);
|
13610 |
+
var inst = this._constructComponent(doConstruct, publicProps, publicContext, updateQueue);
|
13611 |
+
var renderedElement;
|
13612 |
+
|
13613 |
+
// Support functional components
|
13614 |
+
if (!doConstruct && (inst == null || inst.render == null)) {
|
13615 |
+
renderedElement = inst;
|
13616 |
+
warnIfInvalidElement(Component, renderedElement);
|
13617 |
+
!(inst === null || inst === false || React.isValidElement(inst)) ? true ? invariant(false, '%s(...): A valid React element (or null) must be returned. You may have returned undefined, an array or some other invalid object.', Component.displayName || Component.name || 'Component') : undefined : void 0;
|
13618 |
+
inst = new StatelessComponent(Component);
|
13619 |
+
this._compositeType = CompositeTypes.StatelessFunctional;
|
13620 |
+
} else {
|
13621 |
+
if (isPureComponent(Component)) {
|
13622 |
+
this._compositeType = CompositeTypes.PureClass;
|
13623 |
+
} else {
|
13624 |
+
this._compositeType = CompositeTypes.ImpureClass;
|
13625 |
+
}
|
13626 |
+
}
|
13627 |
+
|
13628 |
+
if (true) {
|
13629 |
+
// This will throw later in _renderValidatedComponent, but add an early
|
13630 |
+
// warning now to help debugging
|
13631 |
+
if (inst.render == null) {
|
13632 |
+
true ? warning(false, '%s(...): No `render` method found on the returned component ' + 'instance: you may have forgotten to define `render`.', Component.displayName || Component.name || 'Component') : undefined;
|
13633 |
+
}
|
13634 |
+
|
13635 |
+
var propsMutated = inst.props !== publicProps;
|
13636 |
+
var componentName = Component.displayName || Component.name || 'Component';
|
13637 |
+
|
13638 |
+
true ? warning(inst.props === undefined || !propsMutated, '%s(...): When calling super() in `%s`, make sure to pass ' + "up the same props that your component's constructor was passed.", componentName, componentName) : undefined;
|
13639 |
+
}
|
13640 |
+
|
13641 |
+
// These should be set up in the constructor, but as a convenience for
|
13642 |
+
// simpler class abstractions, we set them up after the fact.
|
13643 |
+
inst.props = publicProps;
|
13644 |
+
inst.context = publicContext;
|
13645 |
+
inst.refs = emptyObject;
|
13646 |
+
inst.updater = updateQueue;
|
13647 |
+
|
13648 |
+
this._instance = inst;
|
13649 |
+
|
13650 |
+
// Store a reference from the instance back to the internal representation
|
13651 |
+
ReactInstanceMap.set(inst, this);
|
13652 |
+
|
13653 |
+
if (true) {
|
13654 |
+
// Since plain JS classes are defined without any special initialization
|
13655 |
+
// logic, we can not catch common errors early. Therefore, we have to
|
13656 |
+
// catch them here, at initialization time, instead.
|
13657 |
+
true ? warning(!inst.getInitialState || inst.getInitialState.isReactClassApproved || inst.state, 'getInitialState was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Did you mean to define a state property instead?', this.getName() || 'a component') : undefined;
|
13658 |
+
true ? warning(!inst.getDefaultProps || inst.getDefaultProps.isReactClassApproved, 'getDefaultProps was defined on %s, a plain JavaScript class. ' + 'This is only supported for classes created using React.createClass. ' + 'Use a static property to define defaultProps instead.', this.getName() || 'a component') : undefined;
|
13659 |
+
true ? warning(!inst.propTypes, 'propTypes was defined as an instance property on %s. Use a static ' + 'property to define propTypes instead.', this.getName() || 'a component') : undefined;
|
13660 |
+
true ? warning(!inst.contextTypes, 'contextTypes was defined as an instance property on %s. Use a ' + 'static property to define contextTypes instead.', this.getName() || 'a component') : undefined;
|
13661 |
+
true ? warning(typeof inst.componentShouldUpdate !== 'function', '%s has a method called ' + 'componentShouldUpdate(). Did you mean shouldComponentUpdate()? ' + 'The name is phrased as a question because the function is ' + 'expected to return a value.', this.getName() || 'A component') : undefined;
|
13662 |
+
true ? warning(typeof inst.componentDidUnmount !== 'function', '%s has a method called ' + 'componentDidUnmount(). But there is no such lifecycle method. ' + 'Did you mean componentWillUnmount()?', this.getName() || 'A component') : undefined;
|
13663 |
+
true ? warning(typeof inst.componentWillRecieveProps !== 'function', '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', this.getName() || 'A component') : undefined;
|
13664 |
+
}
|
13665 |
+
|
13666 |
+
var initialState = inst.state;
|
13667 |
+
if (initialState === undefined) {
|
13668 |
+
inst.state = initialState = null;
|
13669 |
+
}
|
13670 |
+
!(typeof initialState === 'object' && !Array.isArray(initialState)) ? true ? invariant(false, '%s.state: must be set to an object or null', this.getName() || 'ReactCompositeComponent') : undefined : void 0;
|
13671 |
+
|
13672 |
+
this._pendingStateQueue = null;
|
13673 |
+
this._pendingReplaceState = false;
|
13674 |
+
this._pendingForceUpdate = false;
|
13675 |
+
|
13676 |
+
var markup;
|
13677 |
+
if (inst.unstable_handleError) {
|
13678 |
+
markup = this.performInitialMountWithErrorHandling(renderedElement, hostParent, hostContainerInfo, transaction, context);
|
13679 |
+
} else {
|
13680 |
+
markup = this.performInitialMount(renderedElement, hostParent, hostContainerInfo, transaction,
|