diff --git a/docs/assets/fonts/icons-16.eot b/docs/assets/fonts/icons-16.eot index b6be8cecfd..8f0c897e0b 100644 Binary files a/docs/assets/fonts/icons-16.eot and b/docs/assets/fonts/icons-16.eot differ diff --git a/docs/assets/fonts/icons-16.ttf b/docs/assets/fonts/icons-16.ttf index e6ea43ef8b..8a45912b35 100644 Binary files a/docs/assets/fonts/icons-16.ttf and b/docs/assets/fonts/icons-16.ttf differ diff --git a/docs/assets/fonts/icons-16.woff b/docs/assets/fonts/icons-16.woff index 0759687c50..5c20fd5773 100644 Binary files a/docs/assets/fonts/icons-16.woff and b/docs/assets/fonts/icons-16.woff differ diff --git a/docs/assets/fonts/icons-20.eot b/docs/assets/fonts/icons-20.eot index 1bdb1007bb..a8e5373bd9 100644 Binary files a/docs/assets/fonts/icons-20.eot and b/docs/assets/fonts/icons-20.eot differ diff --git a/docs/assets/fonts/icons-20.ttf b/docs/assets/fonts/icons-20.ttf index 8467a95839..fa955731e5 100644 Binary files a/docs/assets/fonts/icons-20.ttf and b/docs/assets/fonts/icons-20.ttf differ diff --git a/docs/assets/fonts/icons-20.woff b/docs/assets/fonts/icons-20.woff index 4b6c9cc4e4..1e5c26e8f3 100644 Binary files a/docs/assets/fonts/icons-20.woff and b/docs/assets/fonts/icons-20.woff differ diff --git a/docs/blueprint-landing.css b/docs/blueprint-landing.css index 60b672356e..8c20994cb9 100644 --- a/docs/blueprint-landing.css +++ b/docs/blueprint-landing.css @@ -6,6 +6,7 @@ html { -moz-box-sizing: border-box; box-sizing: border-box; } + *, *::before, *::after { @@ -17,6 +18,7 @@ html { font-style: normal; font-weight: normal; src: url(assets/fonts/icons-16.eot?#iefix) format("embedded-opentype"), url(assets/fonts/icons-16.woff) format("woff"), url(assets/fonts/icons-16.ttf) format("truetype"); } + @font-face { font-family: "Icons20"; font-style: normal; @@ -27,10 +29,12 @@ hr { margin: 20px 0; border: none; border-bottom: 1px solid rgba(16, 22, 26, 0.15); } -.pt-dark hr { + .pt-dark hr { border-color: rgba(255, 255, 255, 0.15); } + ::-moz-selection { background: rgba(125, 188, 255, 0.6); } + ::selection { background: rgba(125, 188, 255, 0.6); } @@ -42,6 +46,7 @@ body { font-size: 14px; font-weight: 400; color: #182026; } + small { font-size: 12px; } @@ -57,6 +62,7 @@ h1 { padding: 0; line-height: 0.8em; font-size: 40px; } + h2 { color: #182026; font-weight: 600; @@ -64,6 +70,7 @@ h2 { padding: 0; line-height: 0.8em; font-size: 27px; } + h3 { color: #182026; font-weight: 600; @@ -71,6 +78,7 @@ h3 { padding: 0; line-height: 0.8em; font-size: 24px; } + h4 { color: #182026; font-weight: 600; @@ -78,6 +86,7 @@ h4 { padding: 0; line-height: 0.9em; font-size: 20px; } + h5 { color: #182026; font-weight: 600; @@ -85,6 +94,7 @@ h5 { padding: 0; line-height: 0.9em; font-size: 17px; } + h6 { color: #182026; font-weight: 600; @@ -100,6 +110,7 @@ h6 { font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", sans-serif, "Icons16"; font-size: 14px; font-weight: 400; } + .pt-ui-text-large { line-height: 1.25; font-size: 16px; } @@ -107,27 +118,29 @@ h6 { .pt-running-text { line-height: 1.5; font-size: 16px; } -.pt-running-text h1 { + .pt-running-text h1 { margin-top: 40px; margin-bottom: 20px; } -.pt-running-text h2 { + .pt-running-text h2 { margin-top: 40px; margin-bottom: 20px; } -.pt-running-text h3 { + .pt-running-text h3 { margin-top: 40px; margin-bottom: 20px; } -.pt-running-text h4 { + .pt-running-text h4 { margin-top: 40px; margin-bottom: 20px; } -.pt-running-text h5 { + .pt-running-text h5 { margin-top: 40px; margin-bottom: 20px; } -.pt-running-text h6 { + .pt-running-text h6 { margin-top: 40px; margin-bottom: 20px; } + .pt-running-text-small { line-height: 1.5; font-size: 14px; } + p { margin: 0 0 10px; padding: 0; } @@ -135,19 +148,19 @@ p { a { text-decoration: none; color: #106ba3; } -a:hover { + a:hover { cursor: pointer; text-decoration: underline; color: #106ba3; } -a .pt-icon, a .pt-icon-standard, a .pt-icon-large { + a .pt-icon, a .pt-icon-standard, a .pt-icon-large { color: inherit; } -a code, + a code, .pt-dark a code { color: inherit; } -.pt-dark a, + .pt-dark a, .pt-dark a:hover { color: #2b95d6; } -.pt-dark a .pt-icon, .pt-dark a .pt-icon-standard, .pt-dark a .pt-icon-large, + .pt-dark a .pt-icon, .pt-dark a .pt-icon-standard, .pt-dark a .pt-icon-large, .pt-dark a:hover .pt-icon, .pt-dark a:hover .pt-icon-standard, .pt-dark a:hover .pt-icon-large { @@ -158,16 +171,18 @@ code { text-transform: none; font-family: monospace; font-size: smaller; } + code { border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2); background: rgba(255, 255, 255, 0.7); padding: 2px 5px; color: #5c7080; } -.pt-dark code { + .pt-dark code { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.4); background: rgba(16, 22, 26, 0.3); color: #bfccd6; } + pre { display: block; margin: 10px 0; @@ -179,7 +194,7 @@ pre { color: #182026; word-break: break-all; word-wrap: break-word; } -pre > code { + pre > code { border-radius: 0; box-shadow: none; background: transparent; @@ -187,11 +202,11 @@ pre > code { white-space: pre-wrap; color: inherit; font-size: inherit; } -.pt-dark pre { + .pt-dark pre { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.4); background: rgba(16, 22, 26, 0.3); color: #f5f8fa; } -.pt-dark pre > code { + .pt-dark pre > code { box-shadow: none; background: transparent; } @@ -201,23 +216,26 @@ blockquote { margin: 0 0 10px; border-left: solid 4px rgba(167, 182, 194, 0.5); padding: 0 20px; } -blockquote p:last-child { + blockquote p:last-child { margin-bottom: 0; } -.pt-dark blockquote { + .pt-dark blockquote { border-color: rgba(115, 134, 148, 0.5); } ol, ul { margin: 10px 0; padding-left: 40px; } + .pt-list li:not(:last-child), .pt-running-text ul li:not(:last-child), .pt-running-text ol li:not(:last-child) { padding-bottom: 5px; } + .pt-list li :last-child, .pt-running-text ul li :last-child, .pt-running-text ol li :last-child { margin-bottom: 0; } + .pt-list ol, .pt-list ul, .pt-running-text ul ol, @@ -225,17 +243,19 @@ ul { .pt-running-text ol ol, .pt-running-text ol ul { margin-top: 5px; } + .pt-list-unstyled { margin: 0; padding: 0; list-style: none; } -.pt-list-unstyled li { + .pt-list-unstyled li { padding: 0; } .pt-text-muted { color: #5c7080; } -.pt-dark .pt-text-muted { + .pt-dark .pt-text-muted { color: #bfccd6; } + .pt-text-overflow-ellipsis { overflow: hidden; text-overflow: ellipsis; @@ -247,24 +267,25 @@ ul { .pt-dark { color: #f5f8fa; } -.pt-dark h1 { + .pt-dark h1 { color: #f5f8fa; } -.pt-dark h2 { + .pt-dark h2 { color: #f5f8fa; } -.pt-dark h3 { + .pt-dark h3 { color: #f5f8fa; } -.pt-dark h4 { + .pt-dark h4 { color: #f5f8fa; } -.pt-dark h5 { + .pt-dark h5 { color: #f5f8fa; } -.pt-dark h6 { + .pt-dark h6 { color: #f5f8fa; } .pt-icon, .pt-icon-standard, .pt-icon-large { display: inline-block; color: #5c7080; } -.pt-dark .pt-icon, .pt-dark .pt-icon-standard, .pt-dark .pt-icon-large { + .pt-dark .pt-icon, .pt-dark .pt-icon-standard, .pt-dark .pt-icon-large { color: #bfccd6; } + span.pt-icon-standard { line-height: 1; font-family: "Icons16", sans-serif; @@ -273,6 +294,7 @@ span.pt-icon-standard { font-style: normal; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } + span.pt-icon-large { line-height: 1; font-family: "Icons20", sans-serif; @@ -281,781 +303,1142 @@ span.pt-icon-large { font-style: normal; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } + span.pt-icon { line-height: 1; font-family: "Icons20"; font-size: inherit; font-weight: 400; font-style: normal; } -span.pt-icon::before { + span.pt-icon::before { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } + .pt-icon-blank::before { content: "\E900"; } + .pt-icon-style::before { content: "\E601"; } + .pt-icon-align-left::before { content: "\E602"; } + .pt-icon-align-center::before { content: "\E603"; } + .pt-icon-align-right::before { content: "\E604"; } + .pt-icon-align-justify::before { content: "\E605"; } + .pt-icon-bold::before { content: "\E606"; } + .pt-icon-italic::before { content: "\E607"; } + .pt-icon-underline::before { content: "\2381"; } + .pt-icon-search-around::before { content: "\E608"; } + .pt-icon-graph-remove::before { content: "\E609"; } + .pt-icon-group-objects::before { content: "\E60A"; } + .pt-icon-merge-links::before { content: "\E60B"; } + .pt-icon-layout::before { content: "\E60C"; } + .pt-icon-layout-auto::before { content: "\E60D"; } + .pt-icon-layout-circle::before { content: "\E60E"; } + .pt-icon-layout-hierarchy::before { content: "\E60F"; } + .pt-icon-layout-grid::before { content: "\E610"; } + .pt-icon-layout-group-by::before { content: "\E611"; } + .pt-icon-layout-skew-grid::before { content: "\E612"; } + .pt-icon-geosearch::before { content: "\E613"; } + .pt-icon-heatmap::before { content: "\E614"; } + .pt-icon-drive-time::before { content: "\E615"; } + .pt-icon-select::before { content: "\E616"; } + .pt-icon-predictive-analysis::before { content: "\E617"; } + .pt-icon-layers::before { content: "\E618"; } + .pt-icon-locate::before { content: "\E619"; } + .pt-icon-bookmark::before { content: "\E61A"; } + .pt-icon-citation::before { content: "\E61B"; } + .pt-icon-tag::before { content: "\E61C"; } + .pt-icon-clipboard::before { content: "\E61D"; } + .pt-icon-selection::before { content: "\29BF"; } + .pt-icon-timeline-events::before { content: "\E61E"; } + .pt-icon-timeline-line-chart::before { content: "\E61F"; } + .pt-icon-timeline-bar-chart::before { content: "\E620"; } + .pt-icon-applications::before { content: "\E621"; } + .pt-icon-projects::before { content: "\E622"; } + .pt-icon-changes::before { content: "\E623"; } + .pt-icon-notifications::before { content: "\E624"; } + .pt-icon-lock::before { content: "\E625"; } + .pt-icon-unlock::before { content: "\E626"; } + .pt-icon-user::before { content: "\E627"; } + .pt-icon-search-template::before { content: "\E628"; } + .pt-icon-inbox::before { content: "\E629"; } + .pt-icon-more::before { content: "\E62A"; } + .pt-icon-help::before { content: "?"; } + .pt-icon-calendar::before { content: "\E62B"; } + .pt-icon-media::before { content: "\E62C"; } + .pt-icon-link::before { content: "\E62D"; } + .pt-icon-share::before { content: "\E62E"; } + .pt-icon-download::before { content: "\E62F"; } + .pt-icon-document::before { content: "\E630"; } + .pt-icon-properties::before { content: "\E631"; } + .pt-icon-import::before { content: "\E632"; } + .pt-icon-export::before { content: "\E633"; } + .pt-icon-minimize::before { content: "\E634"; } + .pt-icon-maximize::before { content: "\E635"; } + .pt-icon-tick::before { content: "\2713"; } + .pt-icon-cross::before { content: "\2717"; } + .pt-icon-plus::before { content: "+"; } + .pt-icon-minus::before { content: "\2212"; } + .pt-icon-arrow-left::before { content: "\2190"; } + .pt-icon-arrow-right::before { content: "\2192"; } + .pt-icon-exchange::before { content: "\E636"; } + .pt-icon-comparison::before { content: "\E637"; } + .pt-icon-list::before { content: "\2630"; } + .pt-icon-filter::before { content: "\E638"; } + .pt-icon-confirm::before { content: "\E639"; } + .pt-icon-fork::before { content: "\E63A"; } + .pt-icon-trash::before { content: "\E63B"; } + .pt-icon-person::before { content: "\E63C"; } + .pt-icon-people::before { content: "\E63D"; } + .pt-icon-add::before { content: "\E63E"; } + .pt-icon-remove::before { content: "\E63F"; } + .pt-icon-geolocation::before { content: "\E640"; } + .pt-icon-zoom-in::before { content: "\E641"; } + .pt-icon-zoom-out::before { content: "\E642"; } + .pt-icon-refresh::before { content: "\E643"; } + .pt-icon-delete::before { content: "\E644"; } + .pt-icon-cog::before { content: "\E645"; } + .pt-icon-flag::before { content: "\2691"; } + .pt-icon-pin::before { content: "\E646"; } + .pt-icon-warning-sign::before { content: "\E647"; } + .pt-icon-error::before { content: "\E648"; } + .pt-icon-info-sign::before { content: "\2139"; } + .pt-icon-credit-card::before { content: "\E649"; } + .pt-icon-edit::before { content: "\270E"; } + .pt-icon-history::before { content: "\E64A"; } + .pt-icon-search::before { content: "\E64B"; } + .pt-icon-log-out::before { content: "\E64C"; } + .pt-icon-star::before { content: "\2605"; } + .pt-icon-star-empty::before { content: "\2606"; } + .pt-icon-sort-alphabetical::before { content: "\E64D"; } + .pt-icon-sort-numerical::before { content: "\E64E"; } + .pt-icon-sort::before { content: "\E64F"; } + .pt-icon-folder-open::before { content: "\E651"; } + .pt-icon-folder-close::before { content: "\E652"; } + .pt-icon-folder-shared::before { content: "\E653"; } + .pt-icon-caret-up::before { content: "\2303"; } + .pt-icon-caret-right::before { content: "\232A"; } + .pt-icon-caret-down::before { content: "\2304"; } + .pt-icon-caret-left::before { content: "\2329"; } + .pt-icon-menu-open::before { content: "\E654"; } + .pt-icon-menu-closed::before { content: "\E655"; } + .pt-icon-feed::before { content: "\E656"; } + .pt-icon-two-columns::before { content: "\E657"; } + .pt-icon-one-column::before { content: "\E658"; } + .pt-icon-dot::before { content: "\2022"; } + .pt-icon-property::before { content: "\E65A"; } + .pt-icon-time::before { content: "\23F2"; } + .pt-icon-disable::before { content: "\E600"; } + .pt-icon-unpin::before { content: "\E650"; } + .pt-icon-flows::before { content: "\E659"; } + .pt-icon-new-text-box::before { content: "\E65B"; } + .pt-icon-new-link::before { content: "\E65C"; } + .pt-icon-new-object::before { content: "\E65D"; } + .pt-icon-path-search::before { content: "\E65E"; } + .pt-icon-automatic-updates::before { content: "\E65F"; } + .pt-icon-page-layout::before { content: "\E660"; } + .pt-icon-code::before { content: "\E661"; } + .pt-icon-map::before { content: "\E662"; } + .pt-icon-search-text::before { content: "\E663"; } + .pt-icon-envelope::before { content: "\2709"; } + .pt-icon-paperclip::before { content: "\E664"; } + .pt-icon-label::before { content: "\E665"; } + .pt-icon-globe::before { content: "\E666"; } + .pt-icon-home::before { content: "\2302"; } + .pt-icon-th::before { content: "\E667"; } + .pt-icon-th-list::before { content: "\E668"; } + .pt-icon-th-derived::before { content: "\E669"; } + .pt-icon-circle::before { content: "\E66A"; } + .pt-icon-draw::before { content: "\E66B"; } + .pt-icon-insert::before { content: "\E66C"; } + .pt-icon-helper-management::before { content: "\E66D"; } + .pt-icon-send-to::before { content: "\E66E"; } + .pt-icon-eye-open::before { content: "\E66F"; } + .pt-icon-folder-shared-open::before { content: "\E670"; } + .pt-icon-social-media::before { content: "\E671"; } + .pt-icon-arrow-up::before { content: "\2191"; } + .pt-icon-arrow-down::before { content: "\2193"; } + .pt-icon-arrows-horizontal::before { content: "\2194"; } + .pt-icon-arrows-vertical::before { content: "\2195"; } + .pt-icon-resolve::before { content: "\E672"; } + .pt-icon-graph::before { content: "\E673"; } + .pt-icon-briefcase::before { content: "\E674"; } + .pt-icon-dollar::before { content: "$"; } + .pt-icon-ninja::before { content: "\E675"; } + .pt-icon-delta::before { content: "\394"; } + .pt-icon-barcode::before { content: "\E676"; } + .pt-icon-torch::before { content: "\E677"; } + .pt-icon-widget::before { content: "\E678"; } + .pt-icon-unresolve::before { content: "\E679"; } + .pt-icon-offline::before { content: "\E67A"; } + .pt-icon-zoom-to-fit::before { content: "\E67B"; } + .pt-icon-add-to-artifact::before { content: "\E67C"; } + .pt-icon-map-marker::before { content: "\E67D"; } + .pt-icon-chart::before { content: "\E67E"; } + .pt-icon-control::before { content: "\E67F"; } + .pt-icon-multi-select::before { content: "\E680"; } + .pt-icon-direction-left::before { content: "\E681"; } + .pt-icon-direction-right::before { content: "\E682"; } + .pt-icon-database::before { content: "\E683"; } + .pt-icon-pie-chart::before { content: "\E684"; } + .pt-icon-full-circle::before { content: "\E685"; } + .pt-icon-square::before { content: "\E686"; } + .pt-icon-print::before { content: "\2399"; } + .pt-icon-presentation::before { content: "\E687"; } + .pt-icon-ungroup-objects::before { content: "\E688"; } + .pt-icon-chat::before { content: "\E689"; } + .pt-icon-comment::before { content: "\E68A"; } + .pt-icon-circle-arrow-right::before { content: "\E68B"; } + .pt-icon-circle-arrow-left::before { content: "\E68C"; } + .pt-icon-circle-arrow-up::before { content: "\E68D"; } + .pt-icon-circle-arrow-down::before { content: "\E68E"; } + .pt-icon-upload::before { content: "\E68F"; } + .pt-icon-asterisk::before { content: "*"; } + .pt-icon-cloud::before { content: "\2601"; } + .pt-icon-cloud-download::before { content: "\E690"; } + .pt-icon-cloud-upload::before { content: "\E691"; } + .pt-icon-repeat::before { content: "\E692"; } + .pt-icon-move::before { content: "\E693"; } + .pt-icon-chevron-left::before { content: "\E694"; } + .pt-icon-chevron-right::before { content: "\E695"; } + .pt-icon-chevron-up::before { content: "\E696"; } + .pt-icon-chevron-down::before { content: "\E697"; } + .pt-icon-random::before { content: "\E698"; } + .pt-icon-fullscreen::before { content: "\E699"; } + .pt-icon-log-in::before { content: "\E69A"; } + .pt-icon-heart::before { content: "\2665"; } + .pt-icon-office::before { content: "\E69B"; } + .pt-icon-duplicate::before { content: "\E69C"; } + .pt-icon-ban-circle::before { content: "\E69D"; } + .pt-icon-camera::before { content: "\E69E"; } -.pt-icon-facetime-video::before { + +.pt-icon-mobile-video::before { content: "\E69F"; } + .pt-icon-video::before { content: "\E6A0"; } + .pt-icon-film::before { content: "\E6A1"; } + .pt-icon-settings::before { content: "\E6A2"; } + .pt-icon-volume-off::before { content: "\E6A3"; } + .pt-icon-volume-down::before { content: "\E6A4"; } + .pt-icon-volume-up::before { content: "\E6A5"; } + .pt-icon-music::before { content: "\E6A6"; } + .pt-icon-step-backward::before { content: "\E6A7"; } + .pt-icon-fast-backward::before { content: "\E6A8"; } + .pt-icon-pause::before { content: "\E6A9"; } + .pt-icon-stop::before { content: "\E6AA"; } + .pt-icon-play::before { content: "\E6AB"; } + .pt-icon-fast-forward::before { content: "\E6AC"; } + .pt-icon-step-forward::before { content: "\E6AD"; } + .pt-icon-eject::before { content: "\23CF"; } + .pt-icon-record::before { content: "\E6AE"; } + .pt-icon-desktop::before { content: "\E6AF"; } + .pt-icon-phone::before { content: "\260E"; } + .pt-icon-lightbulb::before { content: "\E6B0"; } + .pt-icon-glass::before { content: "\E6B1"; } + .pt-icon-tint::before { content: "\E6B2"; } + .pt-icon-flash::before { content: "\E6B3"; } + .pt-icon-font::before { content: "\E6B4"; } + .pt-icon-header::before { content: "\E6B5"; } + .pt-icon-saved::before { content: "\E6B6"; } + .pt-icon-floppy-disk::before { content: "\E6B7"; } + .pt-icon-book::before { content: "\E6B8"; } + .pt-icon-hand-right::before { content: "\E6B9"; } + .pt-icon-hand-up::before { content: "\E6BA"; } + .pt-icon-hand-down::before { content: "\E6BB"; } + .pt-icon-hand-left::before { content: "\E6BC"; } + .pt-icon-thumbs-up::before { content: "\E6BD"; } + .pt-icon-thumbs-down::before { content: "\E6BE"; } + .pt-icon-box::before { content: "\E6BF"; } + .pt-icon-compressed::before { content: "\E6C0"; } + .pt-icon-shopping-cart::before { content: "\E6C1"; } + .pt-icon-shop::before { content: "\E6C2"; } + .pt-icon-layout-linear::before { content: "\E6C3"; } + .pt-icon-undo::before { content: "\238C"; } + .pt-icon-redo::before { content: "\E6C4"; } + .pt-icon-code-block::before { content: "\E6C5"; } + .pt-icon-double-caret-vertical::before { content: "\E6C6"; } + .pt-icon-double-caret-horizontal::before { content: "\E6C7"; } + .pt-icon-sort-alphabetical-desc::before { content: "\E6C8"; } + .pt-icon-sort-numerical-desc::before { content: "\E6C9"; } + .pt-icon-take-action::before { content: "\E6CA"; } + .pt-icon-contrast::before { content: "\E6CB"; } + .pt-icon-eye-off::before { content: "\E6CC"; } + .pt-icon-timeline-area-chart::before { content: "\E6CD"; } + .pt-icon-doughnut-chart::before { content: "\E6CE"; } + .pt-icon-layer::before { content: "\E6CF"; } + .pt-icon-grid::before { content: "\E6D0"; } + .pt-icon-polygon-filter::before { content: "\E6D1"; } + .pt-icon-add-to-folder::before { content: "\E6D2"; } + .pt-icon-layout-balloon::before { content: "\E6D3"; } + .pt-icon-layout-sorted-clusters::before { content: "\E6D4"; } + .pt-icon-sort-asc::before { content: "\E6D5"; } + .pt-icon-sort-desc::before { content: "\E6D6"; } + .pt-icon-small-cross::before { content: "\E6D7"; } + .pt-icon-small-tick::before { content: "\E6D8"; } + .pt-icon-power::before { content: "\E6D9"; } + .pt-icon-column-layout::before { content: "\E6DA"; } + .pt-icon-arrow-top-left::before { content: "\2196"; } + .pt-icon-arrow-top-right::before { content: "\2197"; } + .pt-icon-arrow-bottom-right::before { content: "\2198"; } + .pt-icon-arrow-bottom-left::before { content: "\2199"; } + .pt-icon-mugshot::before { content: "\E6DB"; } + .pt-icon-headset::before { content: "\E6DC"; } + .pt-icon-text-highlight::before { content: "\E6DD"; } + .pt-icon-hand::before { content: "\E6DE"; } + .pt-icon-chevron-backward::before { content: "\E6DF"; } + .pt-icon-chevron-forward::before { content: "\E6E0"; } + .pt-icon-rotate-document::before { content: "\E6E1"; } + .pt-icon-rotate-page::before { content: "\E6E2"; } + .pt-icon-badge::before { content: "\E6E3"; } + .pt-icon-grid-view::before { content: "\E6E4"; } + .pt-icon-function::before { content: "\E6E5"; } + .pt-icon-waterfall-chart::before { content: "\E6E6"; } + .pt-icon-stacked-chart::before { content: "\E6E7"; } + .pt-icon-pulse::before { content: "\E6E8"; } + .pt-icon-new-person::before { content: "\E6E9"; } + .pt-icon-exclude-row::before { content: "\E6EA"; } + .pt-icon-pivot-table::before { content: "\E6EB"; } + .pt-icon-segmented-control::before { content: "\E6EC"; } + .pt-icon-highlight::before { content: "\E6ED"; } + .pt-icon-filter-list::before { content: "\E6EE"; } + .pt-icon-cut::before { content: "\E6EF"; } + .pt-icon-annotation::before { content: "\E6F0"; } + .pt-icon-pivot::before { content: "\E6F1"; } + .pt-icon-ring::before { content: "\E6F2"; } + .pt-icon-heat-grid::before { content: "\E6F3"; } + .pt-icon-gantt-chart::before { content: "\E6F4"; } + .pt-icon-variable::before { content: "\E6F5"; } + .pt-icon-manual::before { content: "\E6F6"; } + .pt-icon-add-row-top::before { content: "\E6F7"; } + .pt-icon-add-row-bottom::before { content: "\E6F8"; } + .pt-icon-add-column-left::before { content: "\E6F9"; } + .pt-icon-add-column-right::before { content: "\E6FA"; } + .pt-icon-remove-row-top::before { content: "\E6FB"; } + .pt-icon-remove-row-bottom::before { content: "\E6FC"; } + .pt-icon-remove-column-left::before { content: "\E6FD"; } + .pt-icon-remove-column-right::before { content: "\E6FE"; } + .pt-icon-double-chevron-left::before { content: "\E6FF"; } + .pt-icon-double-chevron-right::before { content: "\E701"; } + .pt-icon-double-chevron-up::before { content: "\E702"; } + .pt-icon-double-chevron-down::before { content: "\E703"; } + .pt-icon-key-control::before { content: "\E704"; } + .pt-icon-key-command::before { content: "\E705"; } + .pt-icon-key-shift::before { content: "\E706"; } + .pt-icon-key-backspace::before { content: "\E707"; } + .pt-icon-key-delete::before { content: "\E708"; } + .pt-icon-key-escape::before { content: "\E709"; } + .pt-icon-key-enter::before { content: "\E70A"; } + .pt-icon-calculator::before { content: "\E70B"; } + .pt-icon-horizontal-bar-chart::before { content: "\E70C"; } + .pt-icon-small-plus::before { content: "\E70D"; } + .pt-icon-small-minus::before { content: "\E70E"; } + .pt-icon-step-chart::before { content: "\E70F"; } + .pt-icon-euro::before { content: "\20AC"; } -.pt-icon-twitter::before { - content: "\E710"; } -.pt-icon-facebook::before { - content: "\E711"; } -.pt-icon-google::before { - content: "\E712"; } -.pt-icon-instagram::before { - content: "\E713"; } -.pt-icon-linkedin::before { - content: "\E714"; } + .pt-icon-drag-handle-vertical::before { content: "\E715"; } + .pt-icon-drag-handle-horizontal::before { content: "\E716"; } + .pt-icon-mobile-phone::before { content: "\E717"; } + .pt-icon-sim-card::before { content: "\E718"; } + .pt-icon-trending-up::before { content: "\E719"; } + .pt-icon-trending-down::before { content: "\E71A"; } + .pt-icon-curved-range-chart::before { content: "\E71B"; } + .pt-icon-vertical-bar-chart-desc::before { content: "\E71C"; } + .pt-icon-horizontal-bar-chart-desc::before { content: "\E71D"; } + .pt-icon-document-open::before { content: "\E71E"; } + .pt-icon-document-share::before { content: "\E71F"; } + .pt-icon-horizontal-distribution::before { content: "\E720"; } + .pt-icon-vertical-distribution::before { content: "\E721"; } + .pt-icon-alignment-left::before { content: "\E722"; } + .pt-icon-alignment-vertical-center::before { content: "\E723"; } + .pt-icon-alignment-right::before { content: "\E724"; } + .pt-icon-alignment-top::before { content: "\E725"; } + .pt-icon-alignment-horizontal-center::before { content: "\E726"; } + .pt-icon-alignment-bottom::before { content: "\E727"; } + .pt-icon-git-pull::before { content: "\E728"; } + .pt-icon-git-merge::before { content: "\E729"; } + .pt-icon-git-branch::before { content: "\E72A"; } + .pt-icon-git-commit::before { content: "\E72B"; } + .pt-icon-git-push::before { content: "\E72C"; } + .pt-icon-build::before { content: "\E72D"; } + .pt-icon-symbol-circle::before { content: "\E72E"; } + .pt-icon-symbol-square::before { content: "\E72F"; } + .pt-icon-symbol-diamond::before { content: "\E730"; } + .pt-icon-symbol-cross::before { content: "\E731"; } + .pt-icon-symbol-triangle-up::before { content: "\E732"; } + .pt-icon-symbol-triangle-down::before { content: "\E733"; } + .pt-icon-wrench::before { content: "\E734"; } + .pt-icon-application::before { content: "\E735"; } + .pt-icon-send-to-graph::before { content: "\E736"; } + .pt-icon-send-to-map::before { content: "\E737"; } + .pt-icon-join-table::before { content: "\E738"; } + .pt-icon-derive-column::before { content: "\E739"; } + .pt-icon-image-rotate-left::before { content: "\E73A"; } + .pt-icon-image-rotate-right::before { content: "\E73B"; } + .pt-icon-known-vehicle::before { content: "\E73C"; } + .pt-icon-unknown-vehicle::before { content: "\E73D"; } + .pt-icon-scatter-plot::before { content: "\E73E"; } + .pt-icon-oil-field::before { content: "\E73F"; } + .pt-icon-rig::before { content: "\E740"; } + .pt-icon-map-create::before { content: "\E741"; } + .pt-icon-key-option::before { content: "\E742"; } + .pt-icon-list-detail-view::before { content: "\E743"; } + .pt-icon-swap-vertical::before { content: "\E744"; } + .pt-icon-swap-horizontal::before { content: "\E745"; } + .pt-icon-numbered-list::before { content: "\E746"; } + .pt-icon-new-grid-item::before { content: "\E747"; } + .pt-icon-git-repo::before { content: "\E748"; } + .pt-icon-git-new-branch::before { content: "\E749"; } + .pt-icon-manually-entered-data::before { content: "\E74A"; } + .pt-icon-airplane::before { content: "\E74B"; } -.pt-icon-whatsapp::before { - content: "\E74C"; } -.pt-icon-kik::before { - content: "\E74D"; } -.pt-icon-surespot::before { - content: "\E74E"; } + .pt-icon-merge-columns::before { content: "\E74F"; } + .pt-icon-split-columns::before { content: "\E750"; } + .pt-icon-dashboard::before { content: "\E751"; } + .pt-icon-publish-function::before { content: "\E752"; } + .pt-icon-path::before { content: "\E753"; } + .pt-icon-moon::before { content: "\E754"; } + .pt-icon-remove-column::before { content: "\E755"; } + .pt-icon-numerical::before { content: "\E756"; } @@ -1063,9 +1446,10 @@ span.pt-icon::before { outline: rgba(19, 124, 189, 0.5) auto 2px; outline-offset: 2px; -moz-outline-radius: 6px; } + .pt-focus-disabled :focus { outline: none !important; } -.pt-focus-disabled :focus ~ .pt-control-indicator { + .pt-focus-disabled :focus ~ .pt-control-indicator { outline: none !important; } /** Copyright 2015 Palantir Technologies, Inc. All rights reserved. @@ -1076,19 +1460,21 @@ span.pt-icon::before { .pt-alert { max-width: 400px; padding: 20px; } + .pt-alert-body { display: -webkit-flex; display: flex; } -.pt-alert-body .pt-icon { + .pt-alert-body .pt-icon { margin-right: 20px; font-size: 40px; } + .pt-alert-footer { display: -webkit-flex; display: flex; -webkit-flex-direction: row-reverse; flex-direction: row-reverse; margin-top: 10px; } -.pt-alert-footer .pt-button { + .pt-alert-footer .pt-button { margin-left: 10px; } .pt-breadcrumbs { @@ -1099,9 +1485,9 @@ span.pt-icon::before { list-style: none; vertical-align: top; line-height: 30px; } -.pt-breadcrumbs > li { + .pt-breadcrumbs > li { float: left; } -.pt-breadcrumbs > li::after { + .pt-breadcrumbs > li::after { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -1112,29 +1498,35 @@ span.pt-icon::before { padding: 0 5px; color: #5c7080; content: "\E695"; } -.pt-breadcrumbs > li:last-child::after { + .pt-breadcrumbs > li:last-child::after { display: none; } + .pt-breadcrumb, .pt-breadcrumb-current, .pt-breadcrumbs-collapsed { display: inline-block; line-height: 19px; font-size: 16px; } + .pt-breadcrumb, .pt-breadcrumbs-collapsed { color: #5c7080; } + .pt-breadcrumb:hover { text-decoration: none; } + .pt-breadcrumb.pt-disabled { cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } + .pt-breadcrumb-current { color: inherit; font-weight: 600; } -.pt-breadcrumb-current .pt-input { + .pt-breadcrumb-current .pt-input { vertical-align: baseline; font-size: inherit; font-weight: inherit; } + .pt-breadcrumbs-collapsed { margin-right: 2px; border: none; @@ -1142,7 +1534,7 @@ span.pt-icon::before { background: #ced9e0; cursor: pointer; padding: 0 5px; } -.pt-breadcrumbs-collapsed::before { + .pt-breadcrumbs-collapsed::before { line-height: 1; font-family: "Icons20", sans-serif; font-size: 20px; @@ -1152,22 +1544,27 @@ span.pt-icon::before { -webkit-font-smoothing: antialiased; line-height: 19px; content: "\E62A"; } -.pt-breadcrumbs-collapsed:hover { + .pt-breadcrumbs-collapsed:hover { background: #bfccd6; text-decoration: none; color: #182026; } + .pt-dark .pt-breadcrumb, .pt-dark .pt-breadcrumbs-collapsed { color: #bfccd6; } + .pt-dark .pt-breadcrumbs > li::after { color: #bfccd6; } + .pt-dark .pt-breadcrumb.pt-disabled { color: rgba(191, 204, 214, 0.5); } + .pt-dark .pt-breadcrumb-current { color: #f5f8fa; } + .pt-dark .pt-breadcrumbs-collapsed { background: rgba(16, 22, 26, 0.4); } -.pt-dark .pt-breadcrumbs-collapsed:hover { + .pt-dark .pt-breadcrumbs-collapsed:hover { background: rgba(16, 22, 26, 0.6); color: #f5f8fa; } @@ -1176,174 +1573,174 @@ span.pt-icon::before { display: inline-flex; } -.pt-button-group .pt-button { + .pt-button-group .pt-button { -webkit-flex: 0 0 auto; flex: 0 0 auto; position: relative; z-index: 0; } -.pt-button-group .pt-button[class*="pt-intent-"] { + .pt-button-group .pt-button[class*="pt-intent-"] { z-index: 1; } -.pt-button-group .pt-button:focus { + .pt-button-group .pt-button:focus { z-index: 2; } -.pt-button-group .pt-button:hover { + .pt-button-group .pt-button:hover { z-index: 3; } -.pt-button-group .pt-button:active, .pt-button-group .pt-button.pt-active, .pt-button-group .pt-button.pt-active { + .pt-button-group .pt-button:active, .pt-button-group .pt-button.pt-active, .pt-button-group .pt-button.pt-active { z-index: 4; } -.pt-button-group .pt-button:disabled, .pt-button-group .pt-button.pt-disabled, .pt-button-group .pt-button.pt-disabled { + .pt-button-group .pt-button:disabled, .pt-button-group .pt-button.pt-disabled, .pt-button-group .pt-button.pt-disabled { z-index: 0; } -.pt-button-group:not(.pt-vertical) .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { + .pt-button-group:not(.pt-vertical) .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { border-right-color: transparent; } -.pt-button-group:not(.pt-minimal) > .pt-popover-target:not(:first-child) .pt-button, + .pt-button-group:not(.pt-minimal) > .pt-popover-target:not(:first-child) .pt-button, .pt-button-group:not(.pt-minimal) > .pt-button:not(:first-child) { border-top-left-radius: 0; border-bottom-left-radius: 0; } -.pt-button-group:not(.pt-minimal) > .pt-popover-target:not(:last-child) .pt-button, + .pt-button-group:not(.pt-minimal) > .pt-popover-target:not(:last-child) .pt-button, .pt-button-group:not(.pt-minimal) > .pt-button:not(:last-child) { margin-right: -1px; border-top-right-radius: 0; border-bottom-right-radius: 0; } -.pt-button-group.pt-minimal .pt-button { + .pt-button-group.pt-minimal .pt-button { border-color: transparent; box-shadow: none; background: none; margin-right: 11px; border-radius: 3px !important; overflow: visible; } -.pt-button-group.pt-minimal .pt-button:focus { + .pt-button-group.pt-minimal .pt-button:focus { box-shadow: none; } -.pt-button-group.pt-minimal .pt-button:hover { + .pt-button-group.pt-minimal .pt-button:hover { border-color: transparent; box-shadow: none; background: rgba(167, 182, 194, 0.3); text-decoration: none; color: #182026; } -.pt-button-group.pt-minimal .pt-button.pt-active, .pt-button-group.pt-minimal .pt-button:active, .pt-button-group.pt-minimal .pt-button.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-active, .pt-button-group.pt-minimal .pt-button:active, .pt-button-group.pt-minimal .pt-button.pt-active { border-color: transparent; background: rgba(115, 134, 148, 0.3); color: #182026; } -.pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button:disabled, .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button:disabled:hover, .pt-button-group.pt-minimal .pt-button.pt-disabled:hover { + .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button:disabled, .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button:disabled:hover, .pt-button-group.pt-minimal .pt-button.pt-disabled:hover { border-color: transparent; background: inherit; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-dark .pt-button-group.pt-minimal .pt-button { + .pt-dark .pt-button-group.pt-minimal .pt-button { border-color: transparent; box-shadow: none; background: none; color: inherit; } -.pt-dark .pt-button-group.pt-minimal .pt-button:hover, .pt-dark .pt-button-group.pt-minimal .pt-button:active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button:hover, .pt-dark .pt-button-group.pt-minimal .pt-button:active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active { border-color: transparent; box-shadow: none; background: none; } -.pt-dark .pt-button-group.pt-minimal .pt-button:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button:hover { background: rgba(138, 155, 168, 0.15); } -.pt-dark .pt-button-group.pt-minimal .pt-button:active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button:active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-active { background: rgba(138, 155, 168, 0.3); color: #f5f8fa; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button:disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button:disabled:hover, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button:disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button:disabled:hover, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-disabled:hover { border-color: transparent; background: inherit; cursor: not-allowed; color: rgba(191, 204, 214, 0.5); } -.pt-button-group.pt-minimal .pt-button.pt-intent-primary { + .pt-button-group.pt-minimal .pt-button.pt-intent-primary { color: #106ba3; } -.pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { box-shadow: none; background: none; color: #106ba3; } -.pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover { + .pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover { background: rgba(19, 124, 189, 0.15); } -.pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { background: rgba(19, 124, 189, 0.3); color: #106ba3; } -.pt-button-group.pt-minimal .pt-button.pt-intent-primary:disabled, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-disabled { + .pt-button-group.pt-minimal .pt-button.pt-intent-primary:disabled, .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-disabled { background: none; color: rgba(16, 107, 163, 0.5); } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary { color: #2b95d6; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:hover { background: rgba(19, 124, 189, 0.2); color: #2b95d6; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-active { background: rgba(19, 124, 189, 0.3); color: #2b95d6; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-disabled { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-primary.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-primary.pt-disabled { color: rgba(43, 149, 214, 0.5); } -.pt-button-group.pt-minimal .pt-button.pt-intent-success { + .pt-button-group.pt-minimal .pt-button.pt-intent-success { color: #0d8050; } -.pt-button-group.pt-minimal .pt-button.pt-intent-success:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-success:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { box-shadow: none; background: none; color: #0d8050; } -.pt-button-group.pt-minimal .pt-button.pt-intent-success:hover { + .pt-button-group.pt-minimal .pt-button.pt-intent-success:hover { background: rgba(15, 153, 96, 0.15); } -.pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { background: rgba(15, 153, 96, 0.3); color: #0d8050; } -.pt-button-group.pt-minimal .pt-button.pt-intent-success:disabled, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-disabled { + .pt-button-group.pt-minimal .pt-button.pt-intent-success:disabled, .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-disabled { background: none; color: rgba(13, 128, 80, 0.5); } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success { color: #15b371; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:hover { background: rgba(15, 153, 96, 0.2); color: #15b371; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-active { background: rgba(15, 153, 96, 0.3); color: #15b371; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-disabled { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-success.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-success.pt-disabled { color: rgba(21, 179, 113, 0.5); } -.pt-button-group.pt-minimal .pt-button.pt-intent-warning { + .pt-button-group.pt-minimal .pt-button.pt-intent-warning { color: #bf7326; } -.pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { box-shadow: none; background: none; color: #bf7326; } -.pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover { + .pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover { background: rgba(217, 130, 43, 0.15); } -.pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { background: rgba(217, 130, 43, 0.3); color: #bf7326; } -.pt-button-group.pt-minimal .pt-button.pt-intent-warning:disabled, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-disabled { + .pt-button-group.pt-minimal .pt-button.pt-intent-warning:disabled, .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-disabled { background: none; color: rgba(191, 115, 38, 0.5); } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning { color: #f29d49; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:hover { background: rgba(217, 130, 43, 0.2); color: #f29d49; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-active { background: rgba(217, 130, 43, 0.3); color: #f29d49; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-disabled { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-warning.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-warning.pt-disabled { color: rgba(242, 157, 73, 0.5); } -.pt-button-group.pt-minimal .pt-button.pt-intent-danger { + .pt-button-group.pt-minimal .pt-button.pt-intent-danger { color: #c23030; } -.pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover, .pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { box-shadow: none; background: none; color: #c23030; } -.pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover { + .pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover { background: rgba(219, 55, 55, 0.15); } -.pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { + .pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { background: rgba(219, 55, 55, 0.3); color: #c23030; } -.pt-button-group.pt-minimal .pt-button.pt-intent-danger:disabled, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-disabled { + .pt-button-group.pt-minimal .pt-button.pt-intent-danger:disabled, .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-disabled, .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-disabled { background: none; color: rgba(194, 48, 48, 0.5); } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger { color: #f55656; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:hover { background: rgba(219, 55, 55, 0.2); color: #f55656; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:active, .pt-dark .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-active, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-active { background: rgba(219, 55, 55, 0.3); color: #f55656; } -.pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-disabled { + .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger:disabled, .pt-dark .pt-button-group.pt-minimal .pt-intent-danger.pt-button.pt-disabled, .pt-dark .pt-button-group.pt-minimal .pt-button.pt-intent-danger.pt-disabled { color: rgba(245, 86, 86, 0.5); } -.pt-button-group.pt-minimal .pt-button:focus { + .pt-button-group.pt-minimal .pt-button:focus { outline-style: solid; } -.pt-button-group.pt-minimal .pt-button::after { + .pt-button-group.pt-minimal .pt-button::after { margin: 5px; background: rgba(16, 22, 26, 0.15); width: 1px; @@ -1353,49 +1750,49 @@ span.pt-icon::before { top: 0; left: 100%; content: ""; } -.pt-dark .pt-button-group.pt-minimal .pt-button::after { + .pt-dark .pt-button-group.pt-minimal .pt-button::after { background: rgba(255, 255, 255, 0.15); } -.pt-button-group.pt-minimal > .pt-popover-target:last-child .pt-button, + .pt-button-group.pt-minimal > .pt-popover-target:last-child .pt-button, .pt-button-group.pt-minimal > .pt-button:last-child { margin-right: 0; } -.pt-button-group.pt-minimal > .pt-popover-target:last-child .pt-button::after, + .pt-button-group.pt-minimal > .pt-popover-target:last-child .pt-button::after, .pt-button-group.pt-minimal > .pt-button:last-child::after { display: none; } -.pt-button-group.pt-fill { + .pt-button-group.pt-fill { display: -webkit-flex; display: flex; } -.pt-button-group .pt-button.pt-fill, + .pt-button-group .pt-button.pt-fill, .pt-button-group.pt-fill .pt-button:not(.pt-fixed) { -webkit-flex: 1 1 auto; flex: 1 1 auto; } -.pt-button-group.pt-vertical { + .pt-button-group.pt-vertical { -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: stretch; align-items: stretch; vertical-align: top; } -.pt-button-group.pt-vertical .pt-button { + .pt-button-group.pt-vertical .pt-button { margin-right: 0 !important; } -.pt-button-group.pt-vertical .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { + .pt-button-group.pt-vertical .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { border-bottom-color: transparent; } -.pt-button-group.pt-vertical > .pt-popover-target:first-child .pt-button, + .pt-button-group.pt-vertical > .pt-popover-target:first-child .pt-button, .pt-button-group.pt-vertical > .pt-button:first-child { border-radius: 3px 3px 0 0; } -.pt-button-group.pt-vertical > .pt-popover-target:last-child .pt-button, + .pt-button-group.pt-vertical > .pt-popover-target:last-child .pt-button, .pt-button-group.pt-vertical > .pt-button:last-child { border-radius: 0 0 3px 3px; } -.pt-button-group.pt-vertical > .pt-popover-target:not(:last-child) .pt-button, + .pt-button-group.pt-vertical > .pt-popover-target:not(:last-child) .pt-button, .pt-button-group.pt-vertical > .pt-button:not(:last-child) { margin-bottom: -1px; } -.pt-button-group.pt-vertical.pt-minimal .pt-button:not(:last-child) { + .pt-button-group.pt-vertical.pt-minimal .pt-button:not(:last-child) { margin-bottom: 11px; } -.pt-button-group.pt-vertical.pt-minimal .pt-button::after { + .pt-button-group.pt-vertical.pt-minimal .pt-button::after { top: 100%; right: 0; left: 0; width: auto; height: 1px; } -.pt-button-group.pt-align-left .pt-button { + .pt-button-group.pt-align-left .pt-button { text-align: left; } .pt-button { @@ -1412,29 +1809,29 @@ span.pt-icon::before { } -.pt-button:disabled, .pt-button.pt-disabled { + .pt-button:disabled, .pt-button.pt-disabled { cursor: not-allowed; } -.pt-button.pt-fill { + .pt-button.pt-fill { width: 100%; } -.pt-button:not([class*="pt-intent-"]) { + .pt-button:not([class*="pt-intent-"]) { background: #f5f8fa; background: linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #f5f8fa; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.17) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; color: #182026; } -.pt-button:not([class*="pt-intent-"]):hover { + .pt-button:not([class*="pt-intent-"]):hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-button:not([class*="pt-intent-"]):active, .pt-button.pt-active:not([class*="pt-intent-"]) { + .pt-button:not([class*="pt-intent-"]):active, .pt-button.pt-active:not([class*="pt-intent-"]) { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-button:not([class*="pt-intent-"]):disabled, .pt-button.pt-disabled:not([class*="pt-intent-"]) { + .pt-button:not([class*="pt-intent-"]):disabled, .pt-button.pt-disabled:not([class*="pt-intent-"]) { outline: none; border-color: transparent; box-shadow: none; @@ -1443,99 +1840,99 @@ span.pt-icon::before { background-image: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-button.pt-intent-primary { + .pt-button.pt-intent-primary { background: #137cbd; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #137cbd; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: border-box; color: #ffffff; } -.pt-button.pt-intent-primary:hover, .pt-button.pt-intent-primary:active, .pt-intent-primary.pt-button.pt-active, .pt-button.pt-intent-primary:disabled, .pt-intent-primary.pt-button.pt-disabled { + .pt-button.pt-intent-primary:hover, .pt-button.pt-intent-primary:active, .pt-intent-primary.pt-button.pt-active, .pt-button.pt-intent-primary:disabled, .pt-intent-primary.pt-button.pt-disabled { color: #ffffff; } -.pt-button.pt-intent-primary:hover { + .pt-button.pt-intent-primary:hover { background: #106ba3; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #106ba3; box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-button.pt-intent-primary:active, .pt-intent-primary.pt-button.pt-active { + .pt-button.pt-intent-primary:active, .pt-intent-primary.pt-button.pt-active { border-color: rgba(16, 22, 26, 0.6) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: #0e5a8a; background-image: none; } -.pt-button.pt-intent-primary:disabled, .pt-intent-primary.pt-button.pt-disabled { + .pt-button.pt-intent-primary:disabled, .pt-intent-primary.pt-button.pt-disabled { border-color: transparent; box-shadow: none; background-color: rgba(19, 124, 189, 0.5); background-image: none; } -.pt-button.pt-intent-success { + .pt-button.pt-intent-success { background: #0f9960; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #0f9960; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: border-box; color: #ffffff; } -.pt-button.pt-intent-success:hover, .pt-button.pt-intent-success:active, .pt-intent-success.pt-button.pt-active, .pt-button.pt-intent-success:disabled, .pt-intent-success.pt-button.pt-disabled { + .pt-button.pt-intent-success:hover, .pt-button.pt-intent-success:active, .pt-intent-success.pt-button.pt-active, .pt-button.pt-intent-success:disabled, .pt-intent-success.pt-button.pt-disabled { color: #ffffff; } -.pt-button.pt-intent-success:hover { + .pt-button.pt-intent-success:hover { background: #0d8050; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #0d8050; box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-button.pt-intent-success:active, .pt-intent-success.pt-button.pt-active { + .pt-button.pt-intent-success:active, .pt-intent-success.pt-button.pt-active { border-color: rgba(16, 22, 26, 0.6) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: #0a6640; background-image: none; } -.pt-button.pt-intent-success:disabled, .pt-intent-success.pt-button.pt-disabled { + .pt-button.pt-intent-success:disabled, .pt-intent-success.pt-button.pt-disabled { border-color: transparent; box-shadow: none; background-color: rgba(15, 153, 96, 0.5); background-image: none; } -.pt-button.pt-intent-warning { + .pt-button.pt-intent-warning { background: #d9822b; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #d9822b; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: border-box; color: #ffffff; } -.pt-button.pt-intent-warning:hover, .pt-button.pt-intent-warning:active, .pt-intent-warning.pt-button.pt-active, .pt-button.pt-intent-warning:disabled, .pt-intent-warning.pt-button.pt-disabled { + .pt-button.pt-intent-warning:hover, .pt-button.pt-intent-warning:active, .pt-intent-warning.pt-button.pt-active, .pt-button.pt-intent-warning:disabled, .pt-intent-warning.pt-button.pt-disabled { color: #ffffff; } -.pt-button.pt-intent-warning:hover { + .pt-button.pt-intent-warning:hover { background: #bf7326; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #bf7326; box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-button.pt-intent-warning:active, .pt-intent-warning.pt-button.pt-active { + .pt-button.pt-intent-warning:active, .pt-intent-warning.pt-button.pt-active { border-color: rgba(16, 22, 26, 0.6) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: #a66321; background-image: none; } -.pt-button.pt-intent-warning:disabled, .pt-intent-warning.pt-button.pt-disabled { + .pt-button.pt-intent-warning:disabled, .pt-intent-warning.pt-button.pt-disabled { border-color: transparent; box-shadow: none; background-color: rgba(217, 130, 43, 0.5); background-image: none; } -.pt-button.pt-intent-danger { + .pt-button.pt-intent-danger { background: #db3737; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #db3737; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: border-box; color: #ffffff; } -.pt-button.pt-intent-danger:hover, .pt-button.pt-intent-danger:active, .pt-intent-danger.pt-button.pt-active, .pt-button.pt-intent-danger:disabled, .pt-intent-danger.pt-button.pt-disabled { + .pt-button.pt-intent-danger:hover, .pt-button.pt-intent-danger:active, .pt-intent-danger.pt-button.pt-active, .pt-button.pt-intent-danger:disabled, .pt-intent-danger.pt-button.pt-disabled { color: #ffffff; } -.pt-button.pt-intent-danger:hover { + .pt-button.pt-intent-danger:hover { background: #c23030; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #c23030; box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-button.pt-intent-danger:active, .pt-intent-danger.pt-button.pt-active { + .pt-button.pt-intent-danger:active, .pt-intent-danger.pt-button.pt-active { border-color: rgba(16, 22, 26, 0.6) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: #a82a2a; background-image: none; } -.pt-button.pt-intent-danger:disabled, .pt-intent-danger.pt-button.pt-disabled { + .pt-button.pt-intent-danger:disabled, .pt-intent-danger.pt-button.pt-disabled { border-color: transparent; box-shadow: none; background-color: rgba(219, 55, 55, 0.5); background-image: none; } -.pt-button[class*="pt-icon-"]::before { + .pt-button[class*="pt-icon-"]::before { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -1545,230 +1942,232 @@ span.pt-icon::before { -webkit-font-smoothing: antialiased; margin-right: 7px; color: #5c7080; } -.pt-button .pt-icon, .pt-button .pt-icon-standard, .pt-button .pt-icon-large { + .pt-button .pt-icon, .pt-button .pt-icon-standard, .pt-button .pt-icon-large { margin-right: 7px; color: #5c7080; } -.pt-button .pt-icon.pt-align-right, .pt-button .pt-icon-standard.pt-align-right, .pt-button .pt-icon-large.pt-align-right { + .pt-button .pt-icon.pt-align-right, .pt-button .pt-icon-standard.pt-align-right, .pt-button .pt-icon-large.pt-align-right { margin-right: 0; margin-left: 7px; } -.pt-dark .pt-button:not([class*="pt-intent-"]) { + .pt-dark .pt-button:not([class*="pt-intent-"]) { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; color: #f5f8fa; } -.pt-dark .pt-button:not([class*="pt-intent-"]):hover, .pt-dark .pt-button:not([class*="pt-intent-"]):active, .pt-dark .pt-button.pt-active:not([class*="pt-intent-"]) { + .pt-dark .pt-button:not([class*="pt-intent-"]):hover, .pt-dark .pt-button:not([class*="pt-intent-"]):active, .pt-dark .pt-button.pt-active:not([class*="pt-intent-"]) { color: #f5f8fa; } -.pt-dark .pt-button:not([class*="pt-intent-"]):hover { + .pt-dark .pt-button:not([class*="pt-intent-"]):hover { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-button:not([class*="pt-intent-"]):active, .pt-dark .pt-button.pt-active:not([class*="pt-intent-"]) { + .pt-dark .pt-button:not([class*="pt-intent-"]):active, .pt-dark .pt-button.pt-active:not([class*="pt-intent-"]) { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } -.pt-dark .pt-button:not([class*="pt-intent-"]):disabled, .pt-dark .pt-button.pt-disabled:not([class*="pt-intent-"]) { + .pt-dark .pt-button:not([class*="pt-intent-"]):disabled, .pt-dark .pt-button.pt-disabled:not([class*="pt-intent-"]) { border-color: rgba(206, 217, 224, 0.1); box-shadow: none; background-color: rgba(206, 217, 224, 0.1); background-image: none; color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-button:not([class*="pt-intent-"])[class*="pt-icon-"]::before { + .pt-dark .pt-button:not([class*="pt-intent-"])[class*="pt-icon-"]::before { color: #bfccd6; } -.pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon, .pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon-standard, .pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon-large { + .pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon, .pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon-standard, .pt-dark .pt-button:not([class*="pt-intent-"]) .pt-icon-large { color: #bfccd6; } -.pt-dark .pt-button[class*="pt-intent-"] { + .pt-dark .pt-button[class*="pt-intent-"] { border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-button[class*="pt-intent-"]:hover { + .pt-dark .pt-button[class*="pt-intent-"]:hover { box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-dark .pt-button[class*="pt-intent-"]:active, .pt-dark [class*="pt-intent-"].pt-button.pt-active { + .pt-dark .pt-button[class*="pt-intent-"]:active, .pt-dark [class*="pt-intent-"].pt-button.pt-active { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-dark .pt-button[class*="pt-intent-"]:disabled, .pt-dark [class*="pt-intent-"].pt-button.pt-disabled { + .pt-dark .pt-button[class*="pt-intent-"]:disabled, .pt-dark [class*="pt-intent-"].pt-button.pt-disabled { border: none; box-shadow: none; background-image: none; color: rgba(255, 255, 255, 0.3); } -.pt-button:disabled::before, .pt-button.pt-disabled::before, .pt-button[class*="pt-intent-"]::before { + .pt-button:disabled::before, .pt-button.pt-disabled::before, .pt-button[class*="pt-intent-"]::before { color: inherit !important; } -.pt-button:disabled .pt-icon, .pt-button.pt-disabled .pt-icon, .pt-button:disabled .pt-icon-standard, .pt-button.pt-disabled .pt-icon-standard, .pt-button:disabled .pt-icon-large, .pt-button.pt-disabled .pt-icon-large, .pt-button[class*="pt-intent-"] .pt-icon, .pt-button[class*="pt-intent-"] .pt-icon-standard, .pt-button[class*="pt-intent-"] .pt-icon-large { + .pt-button:disabled .pt-icon, .pt-button.pt-disabled .pt-icon, .pt-button:disabled .pt-icon-standard, .pt-button.pt-disabled .pt-icon-standard, .pt-button:disabled .pt-icon-large, .pt-button.pt-disabled .pt-icon-large, .pt-button[class*="pt-intent-"] .pt-icon, .pt-button[class*="pt-intent-"] .pt-icon-standard, .pt-button[class*="pt-intent-"] .pt-icon-large { color: inherit !important; } -.pt-button.pt-minimal { + .pt-button.pt-minimal { border-color: transparent; box-shadow: none; background: none; } -.pt-button.pt-minimal:focus { + .pt-button.pt-minimal:focus { box-shadow: none; } -.pt-button.pt-minimal:hover { + .pt-button.pt-minimal:hover { border-color: transparent; box-shadow: none; background: rgba(167, 182, 194, 0.3); text-decoration: none; color: #182026; } -.pt-button.pt-minimal.pt-active, .pt-button.pt-minimal:active, .pt-minimal.pt-button.pt-active { + .pt-button.pt-minimal.pt-active, .pt-button.pt-minimal:active, .pt-minimal.pt-button.pt-active { border-color: transparent; background: rgba(115, 134, 148, 0.3); color: #182026; } -.pt-button.pt-minimal.pt-disabled, .pt-button.pt-minimal:disabled, .pt-minimal.pt-button.pt-disabled, .pt-button.pt-minimal:disabled:hover, .pt-minimal.pt-button.pt-disabled:hover { + .pt-button.pt-minimal.pt-disabled, .pt-button.pt-minimal:disabled, .pt-minimal.pt-button.pt-disabled, .pt-button.pt-minimal:disabled:hover, .pt-minimal.pt-button.pt-disabled:hover { border-color: transparent; background: inherit; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-dark .pt-button.pt-minimal { + .pt-dark .pt-button.pt-minimal { border-color: transparent; box-shadow: none; background: none; color: inherit; } -.pt-dark .pt-button.pt-minimal:hover, .pt-dark .pt-button.pt-minimal:active, .pt-dark .pt-minimal.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-active { + .pt-dark .pt-button.pt-minimal:hover, .pt-dark .pt-button.pt-minimal:active, .pt-dark .pt-minimal.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-active { border-color: transparent; box-shadow: none; background: none; } -.pt-dark .pt-button.pt-minimal:hover { + .pt-dark .pt-button.pt-minimal:hover { background: rgba(138, 155, 168, 0.15); } -.pt-dark .pt-button.pt-minimal:active, .pt-dark .pt-minimal.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-active { + .pt-dark .pt-button.pt-minimal:active, .pt-dark .pt-minimal.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-active { background: rgba(138, 155, 168, 0.3); color: #f5f8fa; } -.pt-dark .pt-button.pt-minimal.pt-disabled, .pt-dark .pt-button.pt-minimal:disabled, .pt-dark .pt-minimal.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal:disabled:hover, .pt-dark .pt-minimal.pt-button.pt-disabled:hover { + .pt-dark .pt-button.pt-minimal.pt-disabled, .pt-dark .pt-button.pt-minimal:disabled, .pt-dark .pt-minimal.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal:disabled:hover, .pt-dark .pt-minimal.pt-button.pt-disabled:hover { border-color: transparent; background: inherit; cursor: not-allowed; color: rgba(191, 204, 214, 0.5); } -.pt-button.pt-minimal.pt-intent-primary { + .pt-button.pt-minimal.pt-intent-primary { color: #106ba3; } -.pt-button.pt-minimal.pt-intent-primary:hover, .pt-button.pt-minimal.pt-intent-primary:active, .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-primary.pt-active { + .pt-button.pt-minimal.pt-intent-primary:hover, .pt-button.pt-minimal.pt-intent-primary:active, .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-primary.pt-active { box-shadow: none; background: none; color: #106ba3; } -.pt-button.pt-minimal.pt-intent-primary:hover { + .pt-button.pt-minimal.pt-intent-primary:hover { background: rgba(19, 124, 189, 0.15); } -.pt-button.pt-minimal.pt-intent-primary:active, .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-primary.pt-active { + .pt-button.pt-minimal.pt-intent-primary:active, .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-primary.pt-active { background: rgba(19, 124, 189, 0.3); color: #106ba3; } -.pt-button.pt-minimal.pt-intent-primary:disabled, .pt-minimal.pt-intent-primary.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-primary.pt-disabled { + .pt-button.pt-minimal.pt-intent-primary:disabled, .pt-minimal.pt-intent-primary.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-primary.pt-disabled { background: none; color: rgba(16, 107, 163, 0.5); } -.pt-dark .pt-button.pt-minimal.pt-intent-primary { + .pt-dark .pt-button.pt-minimal.pt-intent-primary { color: #2b95d6; } -.pt-dark .pt-button.pt-minimal.pt-intent-primary:hover { + .pt-dark .pt-button.pt-minimal.pt-intent-primary:hover { background: rgba(19, 124, 189, 0.2); color: #2b95d6; } -.pt-dark .pt-button.pt-minimal.pt-intent-primary:active, .pt-dark .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-primary.pt-active { + .pt-dark .pt-button.pt-minimal.pt-intent-primary:active, .pt-dark .pt-minimal.pt-intent-primary.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-primary.pt-active { background: rgba(19, 124, 189, 0.3); color: #2b95d6; } -.pt-dark .pt-button.pt-minimal.pt-intent-primary:disabled, .pt-dark .pt-minimal.pt-intent-primary.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-primary.pt-disabled { + .pt-dark .pt-button.pt-minimal.pt-intent-primary:disabled, .pt-dark .pt-minimal.pt-intent-primary.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-primary.pt-disabled { color: rgba(43, 149, 214, 0.5); } -.pt-button.pt-minimal.pt-intent-success { + .pt-button.pt-minimal.pt-intent-success { color: #0d8050; } -.pt-button.pt-minimal.pt-intent-success:hover, .pt-button.pt-minimal.pt-intent-success:active, .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-success.pt-active { + .pt-button.pt-minimal.pt-intent-success:hover, .pt-button.pt-minimal.pt-intent-success:active, .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-success.pt-active { box-shadow: none; background: none; color: #0d8050; } -.pt-button.pt-minimal.pt-intent-success:hover { + .pt-button.pt-minimal.pt-intent-success:hover { background: rgba(15, 153, 96, 0.15); } -.pt-button.pt-minimal.pt-intent-success:active, .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-success.pt-active { + .pt-button.pt-minimal.pt-intent-success:active, .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-success.pt-active { background: rgba(15, 153, 96, 0.3); color: #0d8050; } -.pt-button.pt-minimal.pt-intent-success:disabled, .pt-minimal.pt-intent-success.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-success.pt-disabled { + .pt-button.pt-minimal.pt-intent-success:disabled, .pt-minimal.pt-intent-success.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-success.pt-disabled { background: none; color: rgba(13, 128, 80, 0.5); } -.pt-dark .pt-button.pt-minimal.pt-intent-success { + .pt-dark .pt-button.pt-minimal.pt-intent-success { color: #15b371; } -.pt-dark .pt-button.pt-minimal.pt-intent-success:hover { + .pt-dark .pt-button.pt-minimal.pt-intent-success:hover { background: rgba(15, 153, 96, 0.2); color: #15b371; } -.pt-dark .pt-button.pt-minimal.pt-intent-success:active, .pt-dark .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-success.pt-active { + .pt-dark .pt-button.pt-minimal.pt-intent-success:active, .pt-dark .pt-minimal.pt-intent-success.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-success.pt-active { background: rgba(15, 153, 96, 0.3); color: #15b371; } -.pt-dark .pt-button.pt-minimal.pt-intent-success:disabled, .pt-dark .pt-minimal.pt-intent-success.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-success.pt-disabled { + .pt-dark .pt-button.pt-minimal.pt-intent-success:disabled, .pt-dark .pt-minimal.pt-intent-success.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-success.pt-disabled { color: rgba(21, 179, 113, 0.5); } -.pt-button.pt-minimal.pt-intent-warning { + .pt-button.pt-minimal.pt-intent-warning { color: #bf7326; } -.pt-button.pt-minimal.pt-intent-warning:hover, .pt-button.pt-minimal.pt-intent-warning:active, .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-warning.pt-active { + .pt-button.pt-minimal.pt-intent-warning:hover, .pt-button.pt-minimal.pt-intent-warning:active, .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-warning.pt-active { box-shadow: none; background: none; color: #bf7326; } -.pt-button.pt-minimal.pt-intent-warning:hover { + .pt-button.pt-minimal.pt-intent-warning:hover { background: rgba(217, 130, 43, 0.15); } -.pt-button.pt-minimal.pt-intent-warning:active, .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-warning.pt-active { + .pt-button.pt-minimal.pt-intent-warning:active, .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-warning.pt-active { background: rgba(217, 130, 43, 0.3); color: #bf7326; } -.pt-button.pt-minimal.pt-intent-warning:disabled, .pt-minimal.pt-intent-warning.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-warning.pt-disabled { + .pt-button.pt-minimal.pt-intent-warning:disabled, .pt-minimal.pt-intent-warning.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-warning.pt-disabled { background: none; color: rgba(191, 115, 38, 0.5); } -.pt-dark .pt-button.pt-minimal.pt-intent-warning { + .pt-dark .pt-button.pt-minimal.pt-intent-warning { color: #f29d49; } -.pt-dark .pt-button.pt-minimal.pt-intent-warning:hover { + .pt-dark .pt-button.pt-minimal.pt-intent-warning:hover { background: rgba(217, 130, 43, 0.2); color: #f29d49; } -.pt-dark .pt-button.pt-minimal.pt-intent-warning:active, .pt-dark .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-warning.pt-active { + .pt-dark .pt-button.pt-minimal.pt-intent-warning:active, .pt-dark .pt-minimal.pt-intent-warning.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-warning.pt-active { background: rgba(217, 130, 43, 0.3); color: #f29d49; } -.pt-dark .pt-button.pt-minimal.pt-intent-warning:disabled, .pt-dark .pt-minimal.pt-intent-warning.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-warning.pt-disabled { + .pt-dark .pt-button.pt-minimal.pt-intent-warning:disabled, .pt-dark .pt-minimal.pt-intent-warning.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-warning.pt-disabled { color: rgba(242, 157, 73, 0.5); } -.pt-button.pt-minimal.pt-intent-danger { + .pt-button.pt-minimal.pt-intent-danger { color: #c23030; } -.pt-button.pt-minimal.pt-intent-danger:hover, .pt-button.pt-minimal.pt-intent-danger:active, .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-danger.pt-active { + .pt-button.pt-minimal.pt-intent-danger:hover, .pt-button.pt-minimal.pt-intent-danger:active, .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-danger.pt-active { box-shadow: none; background: none; color: #c23030; } -.pt-button.pt-minimal.pt-intent-danger:hover { + .pt-button.pt-minimal.pt-intent-danger:hover { background: rgba(219, 55, 55, 0.15); } -.pt-button.pt-minimal.pt-intent-danger:active, .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-danger.pt-active { + .pt-button.pt-minimal.pt-intent-danger:active, .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-button.pt-minimal.pt-intent-danger.pt-active { background: rgba(219, 55, 55, 0.3); color: #c23030; } -.pt-button.pt-minimal.pt-intent-danger:disabled, .pt-minimal.pt-intent-danger.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-danger.pt-disabled { + .pt-button.pt-minimal.pt-intent-danger:disabled, .pt-minimal.pt-intent-danger.pt-button.pt-disabled, .pt-button.pt-minimal.pt-intent-danger.pt-disabled { background: none; color: rgba(194, 48, 48, 0.5); } -.pt-dark .pt-button.pt-minimal.pt-intent-danger { + .pt-dark .pt-button.pt-minimal.pt-intent-danger { color: #f55656; } -.pt-dark .pt-button.pt-minimal.pt-intent-danger:hover { + .pt-dark .pt-button.pt-minimal.pt-intent-danger:hover { background: rgba(219, 55, 55, 0.2); color: #f55656; } -.pt-dark .pt-button.pt-minimal.pt-intent-danger:active, .pt-dark .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-danger.pt-active { + .pt-dark .pt-button.pt-minimal.pt-intent-danger:active, .pt-dark .pt-minimal.pt-intent-danger.pt-button.pt-active, .pt-dark .pt-button.pt-minimal.pt-intent-danger.pt-active { background: rgba(219, 55, 55, 0.3); color: #f55656; } -.pt-dark .pt-button.pt-minimal.pt-intent-danger:disabled, .pt-dark .pt-minimal.pt-intent-danger.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-danger.pt-disabled { + .pt-dark .pt-button.pt-minimal.pt-intent-danger:disabled, .pt-dark .pt-minimal.pt-intent-danger.pt-button.pt-disabled, .pt-dark .pt-button.pt-minimal.pt-intent-danger.pt-disabled { color: rgba(245, 86, 86, 0.5); } -.pt-button.pt-large, + .pt-button.pt-large, .pt-large .pt-button { min-width: 40px; min-height: 40px; line-height: 38px; padding: 0 15px; font-size: 16px; } -.pt-button.pt-large[class*="pt-icon-"]::before, + .pt-button.pt-large[class*="pt-icon-"]::before, .pt-large .pt-button[class*="pt-icon-"]::before { margin-right: 10px; } -.pt-button.pt-large .pt-icon, .pt-button.pt-large .pt-icon-standard, .pt-button.pt-large .pt-icon-large, + .pt-button.pt-large .pt-icon, .pt-button.pt-large .pt-icon-standard, .pt-button.pt-large .pt-icon-large, .pt-large .pt-button .pt-icon, .pt-large .pt-button .pt-icon-standard, .pt-large .pt-button .pt-icon-large { margin-right: 10px; } -.pt-button.pt-large .pt-icon.pt-align-right, .pt-button.pt-large .pt-icon-standard.pt-align-right, .pt-button.pt-large .pt-icon-large.pt-align-right, + .pt-button.pt-large .pt-icon.pt-align-right, .pt-button.pt-large .pt-icon-standard.pt-align-right, .pt-button.pt-large .pt-icon-large.pt-align-right, .pt-large .pt-button .pt-icon.pt-align-right, .pt-large .pt-button .pt-icon-standard.pt-align-right, .pt-large .pt-button .pt-icon-large.pt-align-right { margin-right: 0; margin-left: 10px; } -.pt-button[class*="pt-icon-"]:empty { + .pt-button[class*="pt-icon-"]:empty { padding: 0; } -.pt-button[class*="pt-icon-"]:empty::before { + .pt-button[class*="pt-icon-"]:empty::before { margin-right: 0; } + a.pt-button { text-align: center; text-decoration: none; transition: none; } -a.pt-button, a.pt-button:hover, a.pt-button:active, a.pt-button.pt-active { + a.pt-button, a.pt-button:hover, a.pt-button:active, a.pt-button.pt-active { color: #182026; } -a.pt-disabled.pt-button { + a.pt-disabled.pt-button { color: rgba(92, 112, 128, 0.5); } + .pt-button.pt-active.pt-disabled, .pt-button.pt-active:disabled, .pt-active.pt-button.pt-disabled { background: rgba(216, 225, 232, 0.4); } -.pt-dark .pt-button.pt-active.pt-disabled, .pt-dark .pt-button.pt-active:disabled, .pt-dark .pt-active.pt-button.pt-disabled { + .pt-dark .pt-button.pt-active.pt-disabled, .pt-dark .pt-button.pt-active:disabled, .pt-dark .pt-active.pt-button.pt-disabled { background: rgba(206, 217, 224, 0.2); } .pt-callout { @@ -1778,9 +2177,9 @@ a.pt-disabled.pt-button { border-radius: 3px; background-color: rgba(138, 155, 168, 0.15); padding: 10px 12px 9px; } -.pt-callout[class*="pt-icon-"] { + .pt-callout[class*="pt-icon-"] { padding-left: 40px; } -.pt-callout[class*="pt-icon-"]::before { + .pt-callout[class*="pt-icon-"]::before { line-height: 1; font-family: "Icons20", sans-serif; font-size: 20px; @@ -1792,55 +2191,55 @@ a.pt-disabled.pt-button { top: 10px; left: 10px; color: #5c7080; } -.pt-callout h5 { + .pt-callout h5 { margin-top: 0; margin-bottom: 5px; line-height: 20px; } -.pt-dark .pt-callout { + .pt-dark .pt-callout { background-color: rgba(138, 155, 168, 0.2); } -.pt-dark .pt-callout[class*="pt-icon-"]::before { + .pt-dark .pt-callout[class*="pt-icon-"]::before { color: #bfccd6; } -.pt-callout.pt-intent-primary { + .pt-callout.pt-intent-primary { background-color: rgba(19, 124, 189, 0.15); } -.pt-callout.pt-intent-primary[class*="pt-icon-"]::before { + .pt-callout.pt-intent-primary[class*="pt-icon-"]::before { color: #137cbd; } -.pt-callout.pt-intent-primary h5 { + .pt-callout.pt-intent-primary h5 { color: #106ba3; } -.pt-dark .pt-callout.pt-intent-primary { + .pt-dark .pt-callout.pt-intent-primary { background-color: rgba(19, 124, 189, 0.25); } -.pt-dark .pt-callout.pt-intent-primary h5 { + .pt-dark .pt-callout.pt-intent-primary h5 { color: #2b95d6; } -.pt-callout.pt-intent-success { + .pt-callout.pt-intent-success { background-color: rgba(15, 153, 96, 0.15); } -.pt-callout.pt-intent-success[class*="pt-icon-"]::before { + .pt-callout.pt-intent-success[class*="pt-icon-"]::before { color: #0f9960; } -.pt-callout.pt-intent-success h5 { + .pt-callout.pt-intent-success h5 { color: #0d8050; } -.pt-dark .pt-callout.pt-intent-success { + .pt-dark .pt-callout.pt-intent-success { background-color: rgba(15, 153, 96, 0.25); } -.pt-dark .pt-callout.pt-intent-success h5 { + .pt-dark .pt-callout.pt-intent-success h5 { color: #15b371; } -.pt-callout.pt-intent-warning { + .pt-callout.pt-intent-warning { background-color: rgba(217, 130, 43, 0.15); } -.pt-callout.pt-intent-warning[class*="pt-icon-"]::before { + .pt-callout.pt-intent-warning[class*="pt-icon-"]::before { color: #d9822b; } -.pt-callout.pt-intent-warning h5 { + .pt-callout.pt-intent-warning h5 { color: #bf7326; } -.pt-dark .pt-callout.pt-intent-warning { + .pt-dark .pt-callout.pt-intent-warning { background-color: rgba(217, 130, 43, 0.25); } -.pt-dark .pt-callout.pt-intent-warning h5 { + .pt-dark .pt-callout.pt-intent-warning h5 { color: #f29d49; } -.pt-callout.pt-intent-danger { + .pt-callout.pt-intent-danger { background-color: rgba(219, 55, 55, 0.15); } -.pt-callout.pt-intent-danger[class*="pt-icon-"]::before { + .pt-callout.pt-intent-danger[class*="pt-icon-"]::before { color: #db3737; } -.pt-callout.pt-intent-danger h5 { + .pt-callout.pt-intent-danger h5 { color: #c23030; } -.pt-dark .pt-callout.pt-intent-danger { + .pt-dark .pt-callout.pt-intent-danger { background-color: rgba(219, 55, 55, 0.25); } -.pt-dark .pt-callout.pt-intent-danger h5 { + .pt-dark .pt-callout.pt-intent-danger h5 { color: #f55656; } -.pt-running-text .pt-callout { + .pt-running-text .pt-callout { margin: 20px 0; } .pt-card { @@ -1851,47 +2250,53 @@ a.pt-disabled.pt-button { transition: box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-card.pt-dark, + .pt-card.pt-dark, .pt-dark .pt-card { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.4); background-color: #30404d; } + .pt-elevation-0 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.15); } -.pt-elevation-0.pt-dark, + .pt-elevation-0.pt-dark, .pt-dark .pt-elevation-0 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.4); } + .pt-elevation-1 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-elevation-1.pt-dark, + .pt-elevation-1.pt-dark, .pt-dark .pt-elevation-1 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4); } + .pt-elevation-2 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2), 0 2px 6px rgba(16, 22, 26, 0.2); } -.pt-elevation-2.pt-dark, + .pt-elevation-2.pt-dark, .pt-dark .pt-elevation-2 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4); } + .pt-elevation-3 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); } -.pt-elevation-3.pt-dark, + .pt-elevation-3.pt-dark, .pt-dark .pt-elevation-3 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .pt-elevation-4 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 4px 8px rgba(16, 22, 26, 0.2), 0 18px 46px 6px rgba(16, 22, 26, 0.2); } -.pt-elevation-4.pt-dark, + .pt-elevation-4.pt-dark, .pt-dark .pt-elevation-4 { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); } .pt-card.pt-interactive:hover { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); cursor: pointer; } -.pt-card.pt-interactive:hover.pt-dark, + .pt-card.pt-interactive:hover.pt-dark, .pt-dark .pt-card.pt-interactive:hover { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } + .pt-card.pt-interactive:active { opacity: 0.9; box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2); transition-duration: 0; } -.pt-card.pt-interactive:active.pt-dark, + .pt-card.pt-interactive:active.pt-dark, .pt-dark .pt-card.pt-interactive:active { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4); } @@ -1899,11 +2304,14 @@ a.pt-disabled.pt-button { height: 0; overflow: hidden; transition: height 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-collapse .pt-collapse-body { + .pt-collapse .pt-collapse-body { transition: -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } +.pt-context-menu .pt-popover-target { + display: block; } + .pt-context-menu-popover-target { position: fixed; } @@ -1925,11 +2333,11 @@ a.pt-disabled.pt-button { background: #ebf1f5; width: 500px; padding-bottom: 20px; } -.pt-dialog.pt-overlay-enter, .pt-dialog.pt-overlay-appear { + .pt-dialog.pt-overlay-enter, .pt-dialog.pt-overlay-appear { opacity: 0; -webkit-transform: translateX(50%) scale(0.5); transform: translateX(50%) scale(0.5); } -.pt-dialog.pt-overlay-enter-active, .pt-dialog.pt-overlay-appear-active { + .pt-dialog.pt-overlay-enter-active, .pt-dialog.pt-overlay-appear-active { opacity: 1; -webkit-transform: translateX(50%) scale(1); transform: translateX(50%) scale(1); @@ -1939,11 +2347,11 @@ a.pt-disabled.pt-button { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-dialog.pt-overlay-leave { + .pt-dialog.pt-overlay-leave { opacity: 1; -webkit-transform: translateX(50%) scale(1); transform: translateX(50%) scale(1); } -.pt-dialog.pt-overlay-leave-active { + .pt-dialog.pt-overlay-leave-active { opacity: 0; -webkit-transform: translateX(50%) scale(0.5); transform: translateX(50%) scale(0.5); @@ -1953,13 +2361,14 @@ a.pt-disabled.pt-button { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-dialog:focus { + .pt-dialog:focus { outline: 0; } -.pt-dialog.pt-dark, + .pt-dialog.pt-dark, .pt-dark .pt-dialog { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 4px 8px rgba(16, 22, 26, 0.4), 0 18px 46px 6px rgba(16, 22, 26, 0.4); background: #293742; color: #f5f8fa; } + .pt-dialog-header { display: -webkit-flex; display: flex; @@ -1971,13 +2380,13 @@ a.pt-disabled.pt-button { box-shadow: 0 1px 0 rgba(16, 22, 26, 0.15); background: #ffffff; padding-left: 10px; } -.pt-dialog-header .pt-icon-large { + .pt-dialog-header .pt-icon-large { -webkit-flex: 0 0 auto; flex: 0 0 auto; margin: 10px; margin-right: 0; color: #5c7080; } -.pt-dialog-header h5 { + .pt-dialog-header h5 { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; @@ -1986,13 +2395,14 @@ a.pt-disabled.pt-button { flex: 1 1 auto; margin: 0 0 0 10px; line-height: inherit; } -.pt-dark .pt-dialog-header { + .pt-dark .pt-dialog-header { box-shadow: 0 1px 0 rgba(16, 22, 26, 0.4); background: #30404d; } -.pt-dark .pt-dialog-header .pt-icon-large { + .pt-dark .pt-dialog-header .pt-icon-large { color: #bfccd6; } -.pt-dark .pt-dialog-header h5 { + .pt-dark .pt-dialog-header h5 { color: #f5f8fa; } + .pt-dialog-close-button { line-height: 1; font-family: "Icons20", sans-serif; @@ -2008,27 +2418,30 @@ a.pt-disabled.pt-button { background: none; cursor: pointer; padding: 10px; } -.pt-dialog-close-button:hover { + .pt-dialog-close-button:hover { color: #182026; } -.pt-dark .pt-dialog-close-button { + .pt-dark .pt-dialog-close-button { color: #bfccd6; } -.pt-dark .pt-dialog-close-button:hover { + .pt-dark .pt-dialog-close-button:hover { color: #f5f8fa; } + .pt-dialog-body { -webkit-flex: 1 1 auto; flex: 1 1 auto; margin: 20px; line-height: 18px; } + .pt-dialog-footer { -webkit-flex: 0 0 auto; flex: 0 0 auto; margin: 0 20px; } + .pt-dialog-footer-actions { display: -webkit-flex; display: flex; -webkit-justify-content: flex-end; justify-content: flex-end; } -.pt-dialog-footer-actions .pt-button { + .pt-dialog-footer-actions .pt-button { margin-left: 10px; } .pt-select select { @@ -2050,18 +2463,18 @@ a.pt-disabled.pt-button { border-radius: 3px; height: 30px; padding: 0 25px 0 10px; } -.pt-select select:hover { + .pt-select select:hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-select select:active { + .pt-select select:active { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-select select:disabled { + .pt-select select:disabled { outline: none; border-color: transparent; box-shadow: none; @@ -2070,10 +2483,12 @@ a.pt-disabled.pt-button { background-image: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } + .pt-select.pt-large select { height: 40px; padding-right: 35px; font-size: 16px; } + .pt-dark .pt-select select { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; @@ -2081,29 +2496,31 @@ a.pt-disabled.pt-button { box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; color: #f5f8fa; } -.pt-dark .pt-select select:hover, .pt-dark .pt-select select:active { + .pt-dark .pt-select select:hover, .pt-dark .pt-select select:active { color: #f5f8fa; } -.pt-dark .pt-select select:hover { + .pt-dark .pt-select select:hover { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-select select:active { + .pt-dark .pt-select select:active { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } -.pt-dark .pt-select select:disabled { + .pt-dark .pt-select select:disabled { border-color: rgba(206, 217, 224, 0.1); box-shadow: none; background-color: rgba(206, 217, 224, 0.1); background-image: none; color: rgba(191, 204, 214, 0.5); } + .pt-select select:disabled { box-shadow: none; background-color: rgba(206, 217, 224, 0.5); cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } + .pt-select::after { line-height: 1; font-family: "Icons16", sans-serif; @@ -2127,7 +2544,7 @@ a.pt-disabled.pt-button { max-width: 100%; vertical-align: top; white-space: nowrap; } -.pt-editable-text::before { + .pt-editable-text::before { position: absolute; top: -3px; right: -3px; @@ -2136,72 +2553,73 @@ a.pt-disabled.pt-button { border-radius: 3px; content: ""; transition: background-color 100ms cubic-bezier(0.4, 1, 0.75, 0.9), box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-editable-text:hover::before { + .pt-editable-text:hover::before { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.15); } -.pt-editable-text.pt-editable-editing::before { + .pt-editable-text.pt-editable-editing::before { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: #ffffff; } -.pt-editable-text.pt-disabled::before { + .pt-editable-text.pt-disabled::before { box-shadow: none; } -.pt-editable-text.pt-intent-primary .pt-editable-input, + .pt-editable-text.pt-intent-primary .pt-editable-input, .pt-editable-text.pt-intent-primary .pt-editable-content { color: #137cbd; } -.pt-editable-text.pt-intent-primary:hover::before { + .pt-editable-text.pt-intent-primary:hover::before { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(19, 124, 189, 0.4); } -.pt-editable-text.pt-intent-primary.pt-editable-editing::before { + .pt-editable-text.pt-intent-primary.pt-editable-editing::before { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-editable-text.pt-intent-success .pt-editable-input, + .pt-editable-text.pt-intent-success .pt-editable-input, .pt-editable-text.pt-intent-success .pt-editable-content { color: #0f9960; } -.pt-editable-text.pt-intent-success:hover::before { + .pt-editable-text.pt-intent-success:hover::before { box-shadow: 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px rgba(15, 153, 96, 0.4); } -.pt-editable-text.pt-intent-success.pt-editable-editing::before { + .pt-editable-text.pt-intent-success.pt-editable-editing::before { box-shadow: 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-editable-text.pt-intent-warning .pt-editable-input, + .pt-editable-text.pt-intent-warning .pt-editable-input, .pt-editable-text.pt-intent-warning .pt-editable-content { color: #d9822b; } -.pt-editable-text.pt-intent-warning:hover::before { + .pt-editable-text.pt-intent-warning:hover::before { box-shadow: 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px rgba(217, 130, 43, 0.4); } -.pt-editable-text.pt-intent-warning.pt-editable-editing::before { + .pt-editable-text.pt-intent-warning.pt-editable-editing::before { box-shadow: 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-editable-text.pt-intent-danger .pt-editable-input, + .pt-editable-text.pt-intent-danger .pt-editable-input, .pt-editable-text.pt-intent-danger .pt-editable-content { color: #db3737; } -.pt-editable-text.pt-intent-danger:hover::before { + .pt-editable-text.pt-intent-danger:hover::before { box-shadow: 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px rgba(219, 55, 55, 0.4); } -.pt-editable-text.pt-intent-danger.pt-editable-editing::before { + .pt-editable-text.pt-intent-danger.pt-editable-editing::before { box-shadow: 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-dark .pt-editable-text:hover::before { + .pt-dark .pt-editable-text:hover::before { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(255, 255, 255, 0.15); } -.pt-dark .pt-editable-text.pt-editable-editing::before { + .pt-dark .pt-editable-text.pt-editable-editing::before { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); background-color: rgba(16, 22, 26, 0.3); } -.pt-dark .pt-editable-text.pt-disabled::before { + .pt-dark .pt-editable-text.pt-disabled::before { box-shadow: none; } -.pt-dark .pt-editable-text.pt-intent-primary .pt-editable-content { + .pt-dark .pt-editable-text.pt-intent-primary .pt-editable-content { color: #2b95d6; } -.pt-dark .pt-editable-text.pt-intent-primary:hover::before { + .pt-dark .pt-editable-text.pt-intent-primary:hover::before { box-shadow: 0 0 0 0 rgba(43, 149, 214, 0), 0 0 0 0 rgba(43, 149, 214, 0), inset 0 0 0 1px rgba(43, 149, 214, 0.4); } -.pt-dark .pt-editable-text.pt-intent-primary.pt-editable-editing::before { + .pt-dark .pt-editable-text.pt-intent-primary.pt-editable-editing::before { box-shadow: 0 0 0 1px #2b95d6, 0 0 0 3px rgba(43, 149, 214, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-editable-text.pt-intent-success .pt-editable-content { + .pt-dark .pt-editable-text.pt-intent-success .pt-editable-content { color: #15b371; } -.pt-dark .pt-editable-text.pt-intent-success:hover::before { + .pt-dark .pt-editable-text.pt-intent-success:hover::before { box-shadow: 0 0 0 0 rgba(21, 179, 113, 0), 0 0 0 0 rgba(21, 179, 113, 0), inset 0 0 0 1px rgba(21, 179, 113, 0.4); } -.pt-dark .pt-editable-text.pt-intent-success.pt-editable-editing::before { + .pt-dark .pt-editable-text.pt-intent-success.pt-editable-editing::before { box-shadow: 0 0 0 1px #15b371, 0 0 0 3px rgba(21, 179, 113, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-editable-text.pt-intent-warning .pt-editable-content { + .pt-dark .pt-editable-text.pt-intent-warning .pt-editable-content { color: #f29d49; } -.pt-dark .pt-editable-text.pt-intent-warning:hover::before { + .pt-dark .pt-editable-text.pt-intent-warning:hover::before { box-shadow: 0 0 0 0 rgba(242, 157, 73, 0), 0 0 0 0 rgba(242, 157, 73, 0), inset 0 0 0 1px rgba(242, 157, 73, 0.4); } -.pt-dark .pt-editable-text.pt-intent-warning.pt-editable-editing::before { + .pt-dark .pt-editable-text.pt-intent-warning.pt-editable-editing::before { box-shadow: 0 0 0 1px #f29d49, 0 0 0 3px rgba(242, 157, 73, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-editable-text.pt-intent-danger .pt-editable-content { + .pt-dark .pt-editable-text.pt-intent-danger .pt-editable-content { color: #f55656; } -.pt-dark .pt-editable-text.pt-intent-danger:hover::before { + .pt-dark .pt-editable-text.pt-intent-danger:hover::before { box-shadow: 0 0 0 0 rgba(245, 86, 86, 0), 0 0 0 0 rgba(245, 86, 86, 0), inset 0 0 0 1px rgba(245, 86, 86, 0.4); } -.pt-dark .pt-editable-text.pt-intent-danger.pt-editable-editing::before { + .pt-dark .pt-editable-text.pt-intent-danger.pt-editable-editing::before { box-shadow: 0 0 0 1px #f55656, 0 0 0 3px rgba(245, 86, 86, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } + .pt-editable-input, .pt-editable-content { display: inherit; @@ -2214,6 +2632,7 @@ a.pt-disabled.pt-button { color: inherit; font: inherit; resize: none; } + .pt-editable-input { border: none; box-shadow: none; @@ -2221,26 +2640,28 @@ a.pt-disabled.pt-button { width: 100%; padding: 0; white-space: pre-wrap; } -.pt-editable-input:focus { + .pt-editable-input:focus { outline: none; } -.pt-editable-input::-ms-clear { + .pt-editable-input::-ms-clear { display: none; } + .pt-editable-content { overflow: hidden; padding-right: 2px; text-overflow: ellipsis; white-space: pre; } -.pt-editable-editing > .pt-editable-content { + .pt-editable-editing > .pt-editable-content { position: absolute; left: 0; visibility: hidden; } -.pt-editable-placeholder > .pt-editable-content { + .pt-editable-placeholder > .pt-editable-content { color: rgba(92, 112, 128, 0.5); } -.pt-dark .pt-editable-placeholder > .pt-editable-content { + .pt-dark .pt-editable-placeholder > .pt-editable-content { color: rgba(191, 204, 214, 0.5); } + .pt-editable-text.pt-multiline { display: block; } -.pt-editable-text.pt-multiline .pt-editable-content { + .pt-editable-text.pt-multiline .pt-editable-content { overflow: auto; white-space: pre-wrap; } @@ -2263,18 +2684,18 @@ a.pt-disabled.pt-button { border-radius: 3px; height: 30px; padding: 0 25px 0 10px; } -.pt-select select:hover { + .pt-select select:hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-select select:active { + .pt-select select:active { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-select select:disabled { + .pt-select select:disabled { outline: none; border-color: transparent; box-shadow: none; @@ -2283,10 +2704,12 @@ a.pt-disabled.pt-button { background-image: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } + .pt-select.pt-large select { height: 40px; padding-right: 35px; font-size: 16px; } + .pt-dark .pt-select select { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; @@ -2294,29 +2717,31 @@ a.pt-disabled.pt-button { box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; color: #f5f8fa; } -.pt-dark .pt-select select:hover, .pt-dark .pt-select select:active { + .pt-dark .pt-select select:hover, .pt-dark .pt-select select:active { color: #f5f8fa; } -.pt-dark .pt-select select:hover { + .pt-dark .pt-select select:hover { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-select select:active { + .pt-dark .pt-select select:active { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } -.pt-dark .pt-select select:disabled { + .pt-dark .pt-select select:disabled { border-color: rgba(206, 217, 224, 0.1); box-shadow: none; background-color: rgba(206, 217, 224, 0.1); background-image: none; color: rgba(191, 204, 214, 0.5); } + .pt-select select:disabled { box-shadow: none; background-color: rgba(206, 217, 224, 0.5); cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } + .pt-select::after { line-height: 1; font-family: "Icons16", sans-serif; @@ -2339,61 +2764,61 @@ a.pt-disabled.pt-button { -webkit-align-items: flex-start; align-items: flex-start; } -.pt-control-group > * { + .pt-control-group > * { -webkit-flex: 0 0 auto; flex: 0 0 auto; } -.pt-control-group .pt-button, + .pt-control-group .pt-button, .pt-control-group .pt-input, .pt-control-group .pt-select select { border-radius: inherit; } -.pt-control-group .pt-button:focus, + .pt-control-group .pt-button:focus, .pt-control-group .pt-input:focus, .pt-control-group .pt-select select:focus { z-index: 2; } -.pt-control-group:not(.pt-vertical) > * { + .pt-control-group:not(.pt-vertical) > * { margin-right: -1px; } -.pt-control-group:not(.pt-vertical) .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]), + .pt-control-group:not(.pt-vertical) .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]), .pt-control-group:not(.pt-vertical) .pt-input:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { border-right-color: transparent; } -.pt-control-group:not(.pt-vertical) .pt-select:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) select { + .pt-control-group:not(.pt-vertical) .pt-select:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) select { border-right-color: transparent; } -.pt-control-group > :first-child { + .pt-control-group > :first-child { border-radius: 3px 0 0 3px; } -.pt-control-group > :last-child { + .pt-control-group > :last-child { margin-right: 0; border-radius: 0 3px 3px 0; } -.pt-control-group .pt-button, + .pt-control-group .pt-button, .pt-control-group .pt-select { z-index: 1; } -.pt-control-group .pt-input:focus { + .pt-control-group .pt-input:focus { position: relative; border-radius: 3px; } -.pt-control-group .pt-button:focus, + .pt-control-group .pt-button:focus, .pt-control-group select:focus { position: relative; } -.pt-control-group .pt-input-group .pt-button:focus { + .pt-control-group .pt-input-group .pt-button:focus { position: absolute; } -.pt-control-group .pt-input-group > .pt-icon, + .pt-control-group .pt-input-group > .pt-icon, .pt-control-group .pt-input-group > .pt-button, .pt-control-group .pt-select::after { z-index: 3; } -.pt-control-group .pt-input-group .pt-button { + .pt-control-group .pt-input-group .pt-button { border-radius: 3px; } -.pt-control-group.pt-vertical { + .pt-control-group.pt-vertical { -webkit-flex-direction: column; flex-direction: column; } -.pt-control-group.pt-vertical > * { + .pt-control-group.pt-vertical > * { margin-top: -1px; width: 100%; } -.pt-control-group.pt-vertical .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]), + .pt-control-group.pt-vertical .pt-button:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]), .pt-control-group.pt-vertical .pt-input:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) { border-bottom-color: transparent; } -.pt-control-group.pt-vertical .pt-select:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) select { + .pt-control-group.pt-vertical .pt-select:not(:last-child):not(:hover):not(:active):not(.pt-active):not([class*="pt-intent-"]) select { border-bottom-color: transparent; } -.pt-control-group.pt-vertical > :first-child { + .pt-control-group.pt-vertical > :first-child { margin-top: 0; border-radius: 3px 3px 0 0; } -.pt-control-group.pt-vertical > :last-child { + .pt-control-group.pt-vertical > :last-child { border-radius: 0 0 3px 3px; } .pt-control { @@ -2415,16 +2840,16 @@ a.pt-disabled.pt-button { } -.pt-control.pt-inline { + .pt-control.pt-inline { display: inline-block; margin-right: 20px; } -.pt-control input { + .pt-control input { position: absolute; top: 0; left: 0; opacity: 0; z-index: -1; } -.pt-control .pt-control-indicator { + .pt-control .pt-control-indicator { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -2450,61 +2875,61 @@ a.pt-disabled.pt-button { -moz-user-select: none; -ms-user-select: none; user-select: none; } -.pt-control .pt-control-indicator::before { + .pt-control .pt-control-indicator::before { position: relative; top: -1px; left: -1px; content: ""; } -.pt-control input:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator { + .pt-control input:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator { background: #137cbd; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #137cbd; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: border-box; color: #ffffff; } -.pt-control:hover .pt-control-indicator { + .pt-control:hover .pt-control-indicator { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-control:hover input:checked ~ .pt-control-indicator, .pt-control:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control:hover input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox:hover input:indeterminate ~ .pt-control-indicator { + .pt-control:hover input:checked ~ .pt-control-indicator, .pt-control:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control:hover input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox:hover input:indeterminate ~ .pt-control-indicator { background: #106ba3; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #106ba3; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.3) rgba(16, 22, 26, 0.1); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-control input:not(:disabled):active ~ .pt-control-indicator { + .pt-control input:not(:disabled):active ~ .pt-control-indicator { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background: #ced9e0; background-clip: padding-box; } -.pt-control input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator { + .pt-control input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator { border-color: rgba(16, 22, 26, 0.6) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background: #0e5a8a; } -.pt-control input:focus ~ .pt-control-indicator { + .pt-control input:focus ~ .pt-control-indicator { outline: rgba(19, 124, 189, 0.5) auto 2px; outline-offset: 2px; -moz-outline-radius: 6px; } -.pt-control input:disabled ~ .pt-control-indicator { + .pt-control input:disabled ~ .pt-control-indicator { border-color: transparent; box-shadow: none; background: rgba(206, 217, 224, 0.5); cursor: not-allowed; } -.pt-control input:disabled:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator { + .pt-control input:disabled:checked ~ .pt-control-indicator, .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator { border-color: transparent; box-shadow: none; background: rgba(19, 124, 189, 0.5); } -.pt-control.pt-checkbox .pt-control-indicator { + .pt-control.pt-checkbox .pt-control-indicator { border-radius: 3px; font-size: 16px; } -.pt-control.pt-checkbox input:checked ~ .pt-control-indicator::before, .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-checkbox input:checked ~ .pt-control-indicator::before, .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before { content: "\E6D8"; } -.pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before { content: "\E70E"; } -.pt-control.pt-radio .pt-control-indicator { + .pt-control.pt-radio .pt-control-indicator { border-radius: 50%; font-size: 6px; } -.pt-control.pt-radio input:checked ~ .pt-control-indicator::before, .pt-control.pt-radio .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-radio input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-radio input:checked ~ .pt-control-indicator::before, .pt-control.pt-radio .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-radio input:indeterminate ~ .pt-control-indicator::before { display: inline-block; position: absolute; top: 50%; @@ -2517,13 +2942,13 @@ a.pt-disabled.pt-button { width: 1em; height: 1em; content: ""; } -.pt-control.pt-radio input:checked:disabled ~ .pt-control-indicator::before, .pt-control.pt-radio .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-radio input:disabled:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-radio input:checked:disabled ~ .pt-control-indicator::before, .pt-control.pt-radio .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-radio input:disabled:indeterminate ~ .pt-control-indicator::before { box-shadow: none; } -.pt-control.pt-radio input:focus ~ .pt-control-indicator { + .pt-control.pt-radio input:focus ~ .pt-control-indicator { -moz-outline-radius: 16px; } -.pt-control.pt-switch { + .pt-control.pt-switch { padding-left: 38px; } -.pt-control.pt-switch .pt-control-indicator { + .pt-control.pt-switch .pt-control-indicator { border: none; border-radius: 28px; box-shadow: none; @@ -2531,7 +2956,7 @@ a.pt-disabled.pt-button { width: 28px; height: 16px; transition: background 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-control.pt-switch .pt-control-indicator::before { + .pt-control.pt-switch .pt-control-indicator::before { display: block; top: 2px; left: 2px; @@ -2543,126 +2968,126 @@ a.pt-disabled.pt-button { height: 12px; content: ""; transition: left 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-control.pt-switch input:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator { + .pt-control.pt-switch input:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator { box-shadow: none; background-color: #137cbd; width: 28px; height: 16px; } -.pt-control.pt-switch input:checked ~ .pt-control-indicator::before, .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-switch input:checked ~ .pt-control-indicator::before, .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator::before { left: 14px; box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-control.pt-switch:hover .pt-control-indicator { + .pt-control.pt-switch:hover .pt-control-indicator { background-color: rgba(115, 134, 148, 0.5); } -.pt-control.pt-switch:hover input:checked ~ .pt-control-indicator, .pt-control.pt-switch:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch:hover input:indeterminate ~ .pt-control-indicator { + .pt-control.pt-switch:hover input:checked ~ .pt-control-indicator, .pt-control.pt-switch:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch:hover input:indeterminate ~ .pt-control-indicator { background-color: #106ba3; } -.pt-control.pt-switch input:not(:disabled):active ~ .pt-control-indicator { + .pt-control.pt-switch input:not(:disabled):active ~ .pt-control-indicator { box-shadow: none; background-color: rgba(92, 112, 128, 0.5); } -.pt-control.pt-switch input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:not(:disabled):active:indeterminate ~ .pt-control-indicator { + .pt-control.pt-switch input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:not(:disabled):active:indeterminate ~ .pt-control-indicator { background-color: #0e5a8a; } -.pt-control.pt-switch input:disabled ~ .pt-control-indicator { + .pt-control.pt-switch input:disabled ~ .pt-control-indicator { background-color: rgba(206, 217, 224, 0.5); } -.pt-control.pt-switch input:disabled ~ .pt-control-indicator::before { + .pt-control.pt-switch input:disabled ~ .pt-control-indicator::before { box-shadow: none; background-color: rgba(255, 255, 255, 0.8); } -.pt-control.pt-switch input:disabled:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:disabled:indeterminate ~ .pt-control-indicator { + .pt-control.pt-switch input:disabled:checked ~ .pt-control-indicator, .pt-control.pt-switch .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-switch input:disabled:indeterminate ~ .pt-control-indicator { background-color: rgba(19, 124, 189, 0.5); } -.pt-control.pt-align-right { + .pt-control.pt-align-right { padding-right: 26px; padding-left: 0; } -.pt-control.pt-align-right .pt-control-indicator { + .pt-control.pt-align-right .pt-control-indicator { right: 0; left: auto; } -.pt-control.pt-large { + .pt-control.pt-large { padding-left: 30px; line-height: 20px; font-size: 16px; } -.pt-control.pt-large .pt-control-indicator { + .pt-control.pt-large .pt-control-indicator { width: 20px; height: 20px; line-height: 20px; font-family: "Icons20"; font-size: 20px; } -.pt-control.pt-large.pt-checkbox input:checked ~ .pt-control-indicator::before, .pt-control.pt-large.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-large.pt-checkbox .pt-control.pt-checkbox:hover input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-large.pt-checkbox input:checked ~ .pt-control-indicator::before, .pt-control.pt-large.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-large.pt-checkbox .pt-control.pt-checkbox:hover input:indeterminate ~ .pt-control-indicator::before { top: 0; } -.pt-control.pt-large.pt-radio .pt-control-indicator { + .pt-control.pt-large.pt-radio .pt-control-indicator { font-size: 8px; } -.pt-control.pt-large.pt-switch { + .pt-control.pt-large.pt-switch { padding-left: 42px; } -.pt-control.pt-large.pt-switch .pt-control-indicator { + .pt-control.pt-large.pt-switch .pt-control-indicator { width: 32px; height: 20px; } -.pt-control.pt-large.pt-switch .pt-control-indicator::before { + .pt-control.pt-large.pt-switch .pt-control-indicator::before { width: 16px; height: 16px; } -.pt-control.pt-large.pt-switch input:checked ~ .pt-control-indicator, .pt-control.pt-large.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-large.pt-switch input:indeterminate ~ .pt-control-indicator { + .pt-control.pt-large.pt-switch input:checked ~ .pt-control-indicator, .pt-control.pt-large.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-control.pt-large.pt-switch input:indeterminate ~ .pt-control-indicator { width: 32px; height: 20px; } -.pt-control.pt-large.pt-switch input:checked ~ .pt-control-indicator::before, .pt-control.pt-large.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-large.pt-switch input:indeterminate ~ .pt-control-indicator::before { + .pt-control.pt-large.pt-switch input:checked ~ .pt-control-indicator::before, .pt-control.pt-large.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-control.pt-large.pt-switch input:indeterminate ~ .pt-control-indicator::before { left: 14px; } -.pt-dark .pt-control { + .pt-dark .pt-control { color: #f5f8fa; } -.pt-dark .pt-control .pt-control-indicator { + .pt-dark .pt-control .pt-control-indicator { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-dark .pt-control input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator { border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-control:hover .pt-control-indicator { + .pt-dark .pt-control:hover .pt-control-indicator { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); } -.pt-dark .pt-control input:not(:disabled):active ~ .pt-control-indicator { + .pt-dark .pt-control input:not(:disabled):active ~ .pt-control-indicator { border-color: rgba(16, 22, 26, 0.8); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background: rgba(16, 22, 26, 0.1); } -.pt-dark .pt-control input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator { border-color: rgba(16, 22, 26, 0.6); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; background-color: #0e5a8a; } -.pt-dark .pt-control input:disabled ~ .pt-control-indicator { + .pt-dark .pt-control input:disabled ~ .pt-control-indicator { border-color: transparent; box-shadow: none; background: rgba(206, 217, 224, 0.1); cursor: not-allowed; } -.pt-dark .pt-control input:disabled:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control input:disabled:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator { border-color: transparent; box-shadow: none; background: rgba(14, 90, 138, 0.5); } -.pt-dark .pt-control.pt-checkbox input:checked:disabled ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before { + .pt-dark .pt-control.pt-checkbox input:checked:disabled ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-control.pt-radio input:checked:disabled ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-radio .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-dark .pt-control.pt-radio input:disabled:indeterminate ~ .pt-control-indicator::before { + .pt-dark .pt-control.pt-radio input:checked:disabled ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-radio .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-dark .pt-control.pt-radio input:disabled:indeterminate ~ .pt-control-indicator::before { background: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-control.pt-switch .pt-control-indicator { + .pt-dark .pt-control.pt-switch .pt-control-indicator { box-shadow: none; background: rgba(16, 22, 26, 0.5); } -.pt-dark .pt-control.pt-switch .pt-control-indicator::before { + .pt-dark .pt-control.pt-switch .pt-control-indicator::before { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); background: #30404d; } -.pt-dark .pt-control.pt-switch input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator { box-shadow: none; background-color: #137cbd; } -.pt-dark .pt-control.pt-switch input:checked ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator::before { + .pt-dark .pt-control.pt-switch input:checked ~ .pt-control-indicator::before, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator::before, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:indeterminate ~ .pt-control-indicator::before { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-dark .pt-control.pt-switch:hover .pt-control-indicator { + .pt-dark .pt-control.pt-switch:hover .pt-control-indicator { background: rgba(16, 22, 26, 0.7); } -.pt-dark .pt-control.pt-switch:hover input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch:hover input:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch:hover input:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch:hover .pt-control.pt-checkbox input:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch:hover input:indeterminate ~ .pt-control-indicator { background: #2b95d6; } -.pt-dark .pt-control.pt-switch input:not(:disabled):active ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch input:not(:disabled):active ~ .pt-control-indicator { box-shadow: none; background: rgba(16, 22, 26, 0.9); } -.pt-dark .pt-control.pt-switch input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:not(:disabled):active:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch input:not(:disabled):active:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:not(:disabled):active:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:not(:disabled):active:indeterminate ~ .pt-control-indicator { background: #48aff0; } -.pt-dark .pt-control.pt-switch input:disabled ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch input:disabled ~ .pt-control-indicator { background: rgba(206, 217, 224, 0.1); } -.pt-dark .pt-control.pt-switch input:disabled ~ .pt-control-indicator::before { + .pt-dark .pt-control.pt-switch input:disabled ~ .pt-control-indicator::before { box-shadow: none; background: rgba(16, 22, 26, 0.4); } -.pt-dark .pt-control.pt-switch input:disabled:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:disabled:indeterminate ~ .pt-control-indicator { + .pt-dark .pt-control.pt-switch input:disabled:checked ~ .pt-control-indicator, .pt-dark .pt-control.pt-switch .pt-control.pt-checkbox input:disabled:indeterminate ~ .pt-control-indicator, .pt-control.pt-checkbox .pt-dark .pt-control.pt-switch input:disabled:indeterminate ~ .pt-control-indicator { background: rgba(14, 90, 138, 0.5); } .pt-file-upload { @@ -2670,11 +3095,11 @@ a.pt-disabled.pt-button { position: relative; cursor: pointer; height: 30px; } -.pt-file-upload input { + .pt-file-upload input { opacity: 0; margin: 0; min-width: 200px; } -.pt-file-upload .pt-file-upload-input { + .pt-file-upload .pt-file-upload-input { outline: none; border: none; border-radius: 3px; @@ -2703,34 +3128,34 @@ a.pt-disabled.pt-button { -moz-user-select: none; -ms-user-select: none; user-select: none; } -.pt-file-upload .pt-file-upload-input::-webkit-input-placeholder { + .pt-file-upload .pt-file-upload-input::-webkit-input-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-file-upload .pt-file-upload-input::-moz-placeholder { + .pt-file-upload .pt-file-upload-input::-moz-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-file-upload .pt-file-upload-input:-moz-placeholder { + .pt-file-upload .pt-file-upload-input:-moz-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-file-upload .pt-file-upload-input:-ms-input-placeholder { + .pt-file-upload .pt-file-upload-input:-ms-input-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-file-upload .pt-file-upload-input:focus { + .pt-file-upload .pt-file-upload-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-file-upload .pt-file-upload-input:disabled, .pt-file-upload .pt-file-upload-input.pt-disabled { + .pt-file-upload .pt-file-upload-input:disabled, .pt-file-upload .pt-file-upload-input.pt-disabled { box-shadow: none; background: rgba(206, 217, 224, 0.5); cursor: not-allowed; color: rgba(92, 112, 128, 0.5); resize: none; } -.pt-file-upload .pt-file-upload-input[type="search"], .pt-file-upload .pt-file-upload-input.pt-round { + .pt-file-upload .pt-file-upload-input[type="search"], .pt-file-upload .pt-file-upload-input.pt-round { border-radius: 30px; -moz-box-sizing: border-box; box-sizing: border-box; padding-left: 10px; } -.pt-file-upload .pt-file-upload-input[readonly] { + .pt-file-upload .pt-file-upload-input[readonly] { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.15); } -.pt-file-upload .pt-file-upload-input::after { + .pt-file-upload .pt-file-upload-input::after { background: #f5f8fa; background: linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #f5f8fa; border-color: rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.1) rgba(16, 22, 26, 0.17) rgba(16, 22, 26, 0.1); @@ -2753,18 +3178,18 @@ a.pt-disabled.pt-button { text-align: center; line-height: 28px; content: "Browse"; } -.pt-file-upload .pt-file-upload-input::after:hover { + .pt-file-upload .pt-file-upload-input::after:hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-file-upload .pt-file-upload-input::after:active { + .pt-file-upload .pt-file-upload-input::after:active { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-file-upload .pt-file-upload-input::after:disabled { + .pt-file-upload .pt-file-upload-input::after:disabled { outline: none; border-color: transparent; box-shadow: none; @@ -2773,72 +3198,72 @@ a.pt-disabled.pt-button { background-image: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-file-upload .pt-file-upload-input:not(:hover):not(:active)::after { + .pt-file-upload .pt-file-upload-input:not(:hover):not(:active)::after { border-left-color: transparent; } -.pt-file-upload .pt-file-upload-input:hover::after { + .pt-file-upload .pt-file-upload-input:hover::after { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-file-upload .pt-file-upload-input:active::after { + .pt-file-upload .pt-file-upload-input:active::after { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-dark .pt-file-upload .pt-file-upload-input { + .pt-dark .pt-file-upload .pt-file-upload-input { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); background: rgba(16, 22, 26, 0.3); color: #f5f8fa; color: #bfccd6; } -.pt-dark .pt-file-upload .pt-file-upload-input::-webkit-input-placeholder { + .pt-dark .pt-file-upload .pt-file-upload-input::-webkit-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-file-upload .pt-file-upload-input::-moz-placeholder { + .pt-dark .pt-file-upload .pt-file-upload-input::-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-file-upload .pt-file-upload-input:-moz-placeholder { + .pt-dark .pt-file-upload .pt-file-upload-input:-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-file-upload .pt-file-upload-input:-ms-input-placeholder { + .pt-dark .pt-file-upload .pt-file-upload-input:-ms-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-file-upload .pt-file-upload-input:focus { + .pt-dark .pt-file-upload .pt-file-upload-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-file-upload .pt-file-upload-input:disabled, .pt-dark .pt-file-upload .pt-file-upload-input.pt-disabled { + .pt-dark .pt-file-upload .pt-file-upload-input:disabled, .pt-dark .pt-file-upload .pt-file-upload-input.pt-disabled { box-shadow: none; background: rgba(216, 225, 232, 0.1); color: rgba(255, 255, 255, 0.3); } -.pt-dark .pt-file-upload .pt-file-upload-input[readonly] { + .pt-dark .pt-file-upload .pt-file-upload-input[readonly] { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-file-upload .pt-file-upload-input::after { + .pt-dark .pt-file-upload .pt-file-upload-input::after { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; color: #f5f8fa; } -.pt-dark .pt-file-upload .pt-file-upload-input::after:hover, .pt-dark .pt-file-upload .pt-file-upload-input::after:active { + .pt-dark .pt-file-upload .pt-file-upload-input::after:hover, .pt-dark .pt-file-upload .pt-file-upload-input::after:active { color: #f5f8fa; } -.pt-dark .pt-file-upload .pt-file-upload-input::after:hover { + .pt-dark .pt-file-upload .pt-file-upload-input::after:hover { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-file-upload .pt-file-upload-input::after:active { + .pt-dark .pt-file-upload .pt-file-upload-input::after:active { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } -.pt-dark .pt-file-upload .pt-file-upload-input::after:disabled { + .pt-dark .pt-file-upload .pt-file-upload-input::after:disabled { border-color: rgba(206, 217, 224, 0.1); box-shadow: none; background-color: rgba(206, 217, 224, 0.1); background-image: none; color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-file-upload .pt-file-upload-input:hover::after { + .pt-dark .pt-file-upload .pt-file-upload-input:hover::after { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-file-upload .pt-file-upload-input:active::after { + .pt-dark .pt-file-upload .pt-file-upload-input:active::after { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } @@ -2846,33 +3271,33 @@ a.pt-disabled.pt-button { .pt-input-group { display: block; position: relative; } -.pt-input-group .pt-input { + .pt-input-group .pt-input { width: 100%; } -.pt-input-group .pt-input:not(:first-child) { + .pt-input-group .pt-input:not(:first-child) { padding-left: 30px; } -.pt-input-group .pt-input:not(:last-child) { + .pt-input-group .pt-input:not(:last-child) { padding-right: 30px; } -.pt-input-group .pt-input-action, + .pt-input-group .pt-input-action, .pt-input-group > .pt-button, .pt-input-group > .pt-icon { position: absolute; top: 0; } -.pt-input-group .pt-input-action:first-child, + .pt-input-group .pt-input-action:first-child, .pt-input-group > .pt-button:first-child, .pt-input-group > .pt-icon:first-child { left: 0; } -.pt-input-group .pt-input-action:last-child, + .pt-input-group .pt-input-action:last-child, .pt-input-group > .pt-button:last-child, .pt-input-group > .pt-icon:last-child { right: 0; } -.pt-input-group .pt-button { + .pt-input-group .pt-button { min-width: 24px; min-height: 24px; line-height: 22px; margin: 3px; padding-top: 0; padding-bottom: 0; } -.pt-input-group .pt-icon { + .pt-input-group .pt-icon { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -2882,21 +3307,21 @@ a.pt-disabled.pt-button { -webkit-font-smoothing: antialiased; margin: 0 7px; line-height: 30px; } -.pt-input-group .pt-tag { + .pt-input-group .pt-tag { margin: 5px; } -.pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus), + .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus), .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:not(:hover):not(:focus) { color: #5c7080; } -.pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-large, + .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-large, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:not(:hover):not(:focus) .pt-icon-large { color: #5c7080; } -.pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled, + .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:disabled, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-minimal.pt-button.pt-disabled { color: rgba(92, 112, 128, 0.5) !important; } -.pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon-large, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon-large, + .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon-standard, .pt-input-group .pt-input:not(:focus) + .pt-button.pt-minimal:disabled .pt-icon-large, .pt-input-group .pt-input:not(:focus) + .pt-minimal.pt-button.pt-disabled .pt-icon-large, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-minimal.pt-button.pt-disabled .pt-icon, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:disabled .pt-icon-standard, @@ -2904,66 +3329,66 @@ a.pt-disabled.pt-button { .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-button.pt-minimal:disabled .pt-icon-large, .pt-input-group .pt-input:not(:focus) + .pt-input-action .pt-minimal.pt-button.pt-disabled .pt-icon-large { color: rgba(92, 112, 128, 0.5) !important; } -.pt-input-group.pt-disabled { + .pt-input-group.pt-disabled { cursor: not-allowed; } -.pt-input-group.pt-disabled .pt-icon { + .pt-input-group.pt-disabled .pt-icon { color: rgba(92, 112, 128, 0.5); } -.pt-input-group.pt-large .pt-button { + .pt-input-group.pt-large .pt-button { min-width: 30px; min-height: 30px; line-height: 28px; margin: 5px; line-height: 0; } -.pt-input-group.pt-large .pt-icon { + .pt-input-group.pt-large .pt-icon { margin: 0 12px; line-height: 40px; } -.pt-input-group.pt-large .pt-input { + .pt-input-group.pt-large .pt-input { height: 40px; line-height: 40px; font-size: 16px; } -.pt-input-group.pt-large .pt-input[type="search"], .pt-input-group.pt-large .pt-input.pt-round { + .pt-input-group.pt-large .pt-input[type="search"], .pt-input-group.pt-large .pt-input.pt-round { padding: 0 15px; } -.pt-input-group.pt-large .pt-input:not(:first-child) { + .pt-input-group.pt-large .pt-input:not(:first-child) { padding-left: 40px; } -.pt-input-group.pt-large .pt-input:not(:last-child) { + .pt-input-group.pt-large .pt-input:not(:last-child) { padding-right: 40px; } -.pt-input-group.pt-round .pt-button, + .pt-input-group.pt-round .pt-button, .pt-input-group.pt-round .pt-input, .pt-input-group.pt-round .pt-tag { border-radius: 30px; } -.pt-dark .pt-input-group.pt-disabled .pt-icon { + .pt-dark .pt-input-group.pt-disabled .pt-icon { color: rgba(191, 204, 214, 0.5); } -.pt-input-group.pt-intent-primary .pt-input { + .pt-input-group.pt-intent-primary .pt-input { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-primary .pt-input:focus { + .pt-input-group.pt-intent-primary .pt-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-primary .pt-input[readonly] { + .pt-input-group.pt-intent-primary .pt-input[readonly] { box-shadow: inset 0 0 0 1px #137cbd; } -.pt-input-group.pt-intent-primary .pt-icon { + .pt-input-group.pt-intent-primary .pt-icon { color: #137cbd; } -.pt-input-group.pt-intent-success .pt-input { + .pt-input-group.pt-intent-success .pt-input { box-shadow: 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-success .pt-input:focus { + .pt-input-group.pt-intent-success .pt-input:focus { box-shadow: 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-success .pt-input[readonly] { + .pt-input-group.pt-intent-success .pt-input[readonly] { box-shadow: inset 0 0 0 1px #0f9960; } -.pt-input-group.pt-intent-success .pt-icon { + .pt-input-group.pt-intent-success .pt-icon { color: #0f9960; } -.pt-input-group.pt-intent-warning .pt-input { + .pt-input-group.pt-intent-warning .pt-input { box-shadow: 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-warning .pt-input:focus { + .pt-input-group.pt-intent-warning .pt-input:focus { box-shadow: 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-warning .pt-input[readonly] { + .pt-input-group.pt-intent-warning .pt-input[readonly] { box-shadow: inset 0 0 0 1px #d9822b; } -.pt-input-group.pt-intent-warning .pt-icon { + .pt-input-group.pt-intent-warning .pt-icon { color: #d9822b; } -.pt-input-group.pt-intent-danger .pt-input { + .pt-input-group.pt-intent-danger .pt-input { box-shadow: 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-danger .pt-input:focus { + .pt-input-group.pt-intent-danger .pt-input:focus { box-shadow: 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input-group.pt-intent-danger .pt-input[readonly] { + .pt-input-group.pt-intent-danger .pt-input[readonly] { box-shadow: inset 0 0 0 1px #db3737; } -.pt-input-group.pt-intent-danger .pt-icon { + .pt-input-group.pt-intent-danger .pt-icon { color: #db3737; } .pt-input { @@ -2981,110 +3406,110 @@ a.pt-disabled.pt-button { font-size: 14px; font-weight: 400; transition: box-shadow 100ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-input::-webkit-input-placeholder { + .pt-input::-webkit-input-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-input::-moz-placeholder { + .pt-input::-moz-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-input:-moz-placeholder { + .pt-input:-moz-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-input:-ms-input-placeholder { + .pt-input:-ms-input-placeholder { opacity: 1; color: rgba(92, 112, 128, 0.5); } -.pt-input:focus { + .pt-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input:disabled, .pt-input.pt-disabled { + .pt-input:disabled, .pt-input.pt-disabled { box-shadow: none; background: rgba(206, 217, 224, 0.5); cursor: not-allowed; color: rgba(92, 112, 128, 0.5); resize: none; } -.pt-input[type="search"], .pt-input.pt-round { + .pt-input[type="search"], .pt-input.pt-round { border-radius: 30px; -moz-box-sizing: border-box; box-sizing: border-box; padding-left: 10px; } -.pt-input[readonly] { + .pt-input[readonly] { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.15); } -.pt-input.pt-large { + .pt-input.pt-large { height: 40px; line-height: 40px; font-size: 16px; } -.pt-input.pt-large[type="search"], .pt-input.pt-large.pt-round { + .pt-input.pt-large[type="search"], .pt-input.pt-large.pt-round { padding: 0 15px; } -.pt-input.pt-fill { + .pt-input.pt-fill { width: 100%; } -.pt-dark .pt-input { + .pt-dark .pt-input { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); background: rgba(16, 22, 26, 0.3); color: #f5f8fa; } -.pt-dark .pt-input::-webkit-input-placeholder { + .pt-dark .pt-input::-webkit-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-input::-moz-placeholder { + .pt-dark .pt-input::-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-input:-moz-placeholder { + .pt-dark .pt-input:-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-input:-ms-input-placeholder { + .pt-dark .pt-input:-ms-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-input:focus { + .pt-dark .pt-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input:disabled, .pt-dark .pt-input.pt-disabled { + .pt-dark .pt-input:disabled, .pt-dark .pt-input.pt-disabled { box-shadow: none; background: rgba(216, 225, 232, 0.1); color: rgba(255, 255, 255, 0.3); } -.pt-dark .pt-input[readonly] { + .pt-dark .pt-input[readonly] { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.4); } -.pt-input.pt-intent-primary { + .pt-input.pt-intent-primary { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-primary:focus { + .pt-input.pt-intent-primary:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-primary[readonly] { + .pt-input.pt-intent-primary[readonly] { box-shadow: inset 0 0 0 1px #137cbd; } -.pt-dark .pt-input.pt-intent-primary { + .pt-dark .pt-input.pt-intent-primary { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px #137cbd, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-primary:focus { + .pt-dark .pt-input.pt-intent-primary:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-primary[readonly] { + .pt-dark .pt-input.pt-intent-primary[readonly] { box-shadow: inset 0 0 0 1px #137cbd; } -.pt-input.pt-intent-success { + .pt-input.pt-intent-success { box-shadow: 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-success:focus { + .pt-input.pt-intent-success:focus { box-shadow: 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-success[readonly] { + .pt-input.pt-intent-success[readonly] { box-shadow: inset 0 0 0 1px #0f9960; } -.pt-dark .pt-input.pt-intent-success { + .pt-dark .pt-input.pt-intent-success { box-shadow: 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), 0 0 0 0 rgba(15, 153, 96, 0), inset 0 0 0 1px #0f9960, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-success:focus { + .pt-dark .pt-input.pt-intent-success:focus { box-shadow: 0 0 0 1px #0f9960, 0 0 0 1px #0f9960, 0 0 0 3px rgba(15, 153, 96, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-success[readonly] { + .pt-dark .pt-input.pt-intent-success[readonly] { box-shadow: inset 0 0 0 1px #0f9960; } -.pt-input.pt-intent-warning { + .pt-input.pt-intent-warning { box-shadow: 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-warning:focus { + .pt-input.pt-intent-warning:focus { box-shadow: 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-warning[readonly] { + .pt-input.pt-intent-warning[readonly] { box-shadow: inset 0 0 0 1px #d9822b; } -.pt-dark .pt-input.pt-intent-warning { + .pt-dark .pt-input.pt-intent-warning { box-shadow: 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), 0 0 0 0 rgba(217, 130, 43, 0), inset 0 0 0 1px #d9822b, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-warning:focus { + .pt-dark .pt-input.pt-intent-warning:focus { box-shadow: 0 0 0 1px #d9822b, 0 0 0 1px #d9822b, 0 0 0 3px rgba(217, 130, 43, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-warning[readonly] { + .pt-dark .pt-input.pt-intent-warning[readonly] { box-shadow: inset 0 0 0 1px #d9822b; } -.pt-input.pt-intent-danger { + .pt-input.pt-intent-danger { box-shadow: 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.15), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-danger:focus { + .pt-input.pt-intent-danger:focus { box-shadow: 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.2); } -.pt-input.pt-intent-danger[readonly] { + .pt-input.pt-intent-danger[readonly] { box-shadow: inset 0 0 0 1px #db3737; } -.pt-dark .pt-input.pt-intent-danger { + .pt-dark .pt-input.pt-intent-danger { box-shadow: 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), 0 0 0 0 rgba(219, 55, 55, 0), inset 0 0 0 1px #db3737, inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-danger:focus { + .pt-dark .pt-input.pt-intent-danger:focus { box-shadow: 0 0 0 1px #db3737, 0 0 0 1px #db3737, 0 0 0 3px rgba(219, 55, 55, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark .pt-input.pt-intent-danger[readonly] { + .pt-dark .pt-input.pt-intent-danger[readonly] { box-shadow: inset 0 0 0 1px #db3737; } -.pt-input::-ms-clear { + .pt-input::-ms-clear { display: none; } textarea.pt-input { @@ -3092,59 +3517,59 @@ textarea.pt-input { height: auto; padding: 10px; line-height: 1.28581; } -textarea.pt-input.pt-large { + textarea.pt-input.pt-large { line-height: 1.28581; font-size: 16px; } -.pt-dark textarea.pt-input { + .pt-dark textarea.pt-input { box-shadow: 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), 0 0 0 0 rgba(19, 124, 189, 0), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); background: rgba(16, 22, 26, 0.3); color: #f5f8fa; } -.pt-dark textarea.pt-input::-webkit-input-placeholder { + .pt-dark textarea.pt-input::-webkit-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark textarea.pt-input::-moz-placeholder { + .pt-dark textarea.pt-input::-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark textarea.pt-input:-moz-placeholder { + .pt-dark textarea.pt-input:-moz-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark textarea.pt-input:-ms-input-placeholder { + .pt-dark textarea.pt-input:-ms-input-placeholder { color: rgba(191, 204, 214, 0.5); } -.pt-dark textarea.pt-input:focus { + .pt-dark textarea.pt-input:focus { box-shadow: 0 0 0 1px #137cbd, 0 0 0 1px #137cbd, 0 0 0 3px rgba(19, 124, 189, 0.3), inset 0 0 0 1px rgba(16, 22, 26, 0.3), inset 0 1px 1px rgba(16, 22, 26, 0.4); } -.pt-dark textarea.pt-input:disabled, .pt-dark textarea.pt-input.pt-disabled { + .pt-dark textarea.pt-input:disabled, .pt-dark textarea.pt-input.pt-disabled { box-shadow: none; background: rgba(216, 225, 232, 0.1); color: rgba(255, 255, 255, 0.3); } -.pt-dark textarea.pt-input[readonly] { + .pt-dark textarea.pt-input[readonly] { box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.4); } label.pt-label { display: block; margin: 0 0 10px; } -label.pt-label .pt-input, + label.pt-label .pt-input, label.pt-label .pt-select { display: block; margin-top: 5px; text-transform: none; } -label.pt-label .pt-select select { + label.pt-label .pt-select select { width: 100%; vertical-align: top; font-weight: 400; } -label.pt-label.pt-inline { + label.pt-label.pt-inline { line-height: 30px; } -label.pt-label.pt-inline .pt-input, + label.pt-label.pt-inline .pt-input, label.pt-label.pt-inline .pt-input-group, label.pt-label.pt-inline .pt-select { display: inline-block; margin: 0 0 0 5px; vertical-align: top; } -label.pt-label.pt-inline .pt-input-group .pt-input { + label.pt-label.pt-inline .pt-input-group .pt-input { margin-left: 0; } -label.pt-label.pt-inline.pt-large { + label.pt-label.pt-inline.pt-large { line-height: 40px; } -label.pt-label.pt-disabled { + label.pt-label.pt-disabled { color: rgba(92, 112, 128, 0.5); } -.pt-dark label.pt-label { + .pt-dark label.pt-label { color: #f5f8fa; } -.pt-dark label.pt-label.pt-disabled { + .pt-dark label.pt-label.pt-disabled { color: rgba(191, 204, 214, 0.5); } .pt-select { @@ -3152,16 +3577,19 @@ label.pt-label.pt-disabled { position: relative; vertical-align: middle; letter-spacing: normal; } -.pt-select select::-ms-expand { + .pt-select select::-ms-expand { display: none; } -.pt-select.pt-large::after { + .pt-select.pt-large::after { top: 0; right: 12px; line-height: 40px; } -.pt-select.pt-fill, + .pt-select.pt-fill, .pt-select.pt-fill select { width: 100%; } -.pt-dark .pt-select::after { + .pt-dark .pt-select option { + background-color: #30404d; + color: #f5f8fa; } + .pt-dark .pt-select::after { color: #bfccd6; } form { @@ -3181,36 +3609,40 @@ form { color: #5c7080; font-family: -apple-system, "BlinkMacSystemFont", "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Open Sans", "Helvetica Neue", sans-serif, "Icons16"; font-size: 12px; } -.pt-key.pt-modifier-key { + .pt-key.pt-modifier-key { padding: 3px 8px 3px 6px; } -.pt-key.pt-modifier-key .pt-icon-standard { + .pt-key.pt-modifier-key .pt-icon-standard { margin-right: 5px; } -.pt-dark .pt-key { + .pt-dark .pt-key { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4), 0 2px 6px rgba(16, 22, 26, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.05); background: #394b59; color: #bfccd6; } + .pt-key-combo .pt-key:not(:last-child) { margin-right: 5px; } + .pt-hotkey-dialog { top: 40px; padding-bottom: 0; } -.pt-hotkey-dialog .pt-dialog-body { + .pt-hotkey-dialog .pt-dialog-body { margin: 0; padding: 0; } -.pt-hotkey-dialog .pt-key-combo { + .pt-hotkey-dialog .pt-key-combo { -webkit-flex: 1 0 auto; flex: 1 0 auto; width: 160px; text-align: right; } + .pt-hotkey-column { margin: auto; max-height: 80vh; overflow-y: auto; padding: 30px; } -.pt-hotkey-column .pt-hotkey-group { + .pt-hotkey-column .pt-hotkey-group { margin-bottom: 30px; } -.pt-hotkey-column .pt-hotkey-group:not(:first-child) { + .pt-hotkey-column .pt-hotkey-group:not(:first-child) { margin-top: 50px; } + .pt-hotkey { display: -webkit-flex; display: flex; @@ -3220,14 +3652,14 @@ form { justify-content: space-between; margin-right: 0; margin-left: 0; } -.pt-hotkey:not(:last-child) { + .pt-hotkey:not(:last-child) { margin-bottom: 10px; } .pt-submenu > .pt-popover-target { display: inherit; } -.pt-submenu > .pt-popover-target > .pt-menu-item { + .pt-submenu > .pt-popover-target > .pt-menu-item { padding-right: 26px; } -.pt-submenu > .pt-popover-target > .pt-menu-item::after { + .pt-submenu > .pt-popover-target > .pt-menu-item::after { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -3238,13 +3670,14 @@ form { position: absolute; right: 5px; content: "\232A"; } -.pt-large .pt-submenu > .pt-popover-target > .pt-menu-item::after { + .pt-large .pt-submenu > .pt-popover-target > .pt-menu-item::after { line-height: 20px; } + .pt-submenu .pt-popover { position: relative; top: -5px; left: 5px; } -.pt-submenu .pt-popover.pt-align-left { + .pt-submenu .pt-popover.pt-align-left { right: 5px; left: auto; } @@ -3257,12 +3690,14 @@ form { list-style: none; text-align: left; color: #182026; } + .pt-menu-divider { display: block; margin: 5px; border-top: 1px solid rgba(16, 22, 26, 0.15); } -.pt-dark .pt-menu-divider { + .pt-dark .pt-menu-divider { border-top-color: rgba(255, 255, 255, 0.15); } + .pt-menu-item { overflow: hidden; text-overflow: ellipsis; @@ -3277,18 +3712,18 @@ form { -moz-user-select: none; -ms-user-select: none; user-select: none; } -.pt-menu-item:not(.pt-disabled):hover, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled) { + .pt-menu-item:not(.pt-disabled):hover, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled) { background: #137cbd; cursor: pointer; color: #ffffff; } -.pt-menu-item.pt-disabled { + .pt-menu-item.pt-disabled { cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-dark .pt-menu-item { + .pt-dark .pt-menu-item { color: inherit; } -.pt-dark .pt-menu-item.pt-disabled { + .pt-dark .pt-menu-item.pt-disabled { color: rgba(191, 204, 214, 0.5); } -.pt-menu-item::before { + .pt-menu-item::before { line-height: 1; font-family: "Icons16", sans-serif; font-size: 16px; @@ -3298,34 +3733,34 @@ form { -webkit-font-smoothing: antialiased; float: left; margin-right: 7px; } -.pt-menu-item::before, .pt-menu-item::after { + .pt-menu-item::before, .pt-menu-item::after { color: #5c7080; } -.pt-menu-item .pt-menu-item-label { + .pt-menu-item .pt-menu-item-label { color: #5c7080; } -.pt-menu-item:not(.pt-disabled):hover::before, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled)::before, .pt-menu-item:not(.pt-disabled):hover::after, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled)::after, + .pt-menu-item:not(.pt-disabled):hover::before, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled)::before, .pt-menu-item:not(.pt-disabled):hover::after, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled)::after, .pt-menu-item:not(.pt-disabled):hover .pt-menu-item-label, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled) .pt-menu-item-label { color: #ffffff; } -.pt-menu-item:not(.pt-disabled):hover.pt-intent-primary, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-primary { + .pt-menu-item:not(.pt-disabled):hover.pt-intent-primary, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-primary { background-color: #137cbd; } -.pt-menu-item:not(.pt-disabled):hover.pt-intent-success, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-success { + .pt-menu-item:not(.pt-disabled):hover.pt-intent-success, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-success { background-color: #0f9960; } -.pt-menu-item:not(.pt-disabled):hover.pt-intent-warning, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-warning { + .pt-menu-item:not(.pt-disabled):hover.pt-intent-warning, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-warning { background-color: #d9822b; } -.pt-menu-item:not(.pt-disabled):hover.pt-intent-danger, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-danger { + .pt-menu-item:not(.pt-disabled):hover.pt-intent-danger, .pt-submenu > .pt-popover-open > .pt-menu-item:not(.pt-disabled).pt-intent-danger { background-color: #db3737; } -.pt-menu-item.pt-disabled { + .pt-menu-item.pt-disabled { outline: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-menu-item.pt-disabled::before, .pt-menu-item.pt-disabled::after { + .pt-menu-item.pt-disabled::before, .pt-menu-item.pt-disabled::after { color: rgba(92, 112, 128, 0.5); } -.pt-menu-item.pt-disabled .pt-menu-item-label { + .pt-menu-item.pt-disabled .pt-menu-item-label { color: rgba(92, 112, 128, 0.5); } -.pt-large .pt-menu-item { + .pt-large .pt-menu-item { padding: 10px 7px; line-height: 20px; font-size: 16px; } -.pt-large .pt-menu-item::before { + .pt-large .pt-menu-item::before { line-height: 1; font-family: "Icons20", sans-serif; font-size: 20px; @@ -3334,13 +3769,16 @@ form { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; margin-right: 10px; } + a.pt-menu-item, a.pt-menu-item:hover, .pt-submenu > .pt-popover-open > a.pt-menu-item { text-decoration: none; } + button.pt-menu-item { border: none; background: none; width: 100%; text-align: left; } + .pt-menu-item-label { float: right; margin-left: 7px; } @@ -3351,11 +3789,11 @@ button.pt-menu-item { border-top: 1px solid rgba(16, 22, 26, 0.15); cursor: default; padding-left: 2px; } -.pt-dark .pt-menu-header { + .pt-dark .pt-menu-header { border-top-color: rgba(255, 255, 255, 0.15); } -.pt-menu-header:first-of-type { + .pt-menu-header:first-of-type { border-top: none; } -.pt-menu-header > h6 { + .pt-menu-header > h6 { color: #182026; font-weight: 600; overflow: hidden; @@ -3365,34 +3803,42 @@ button.pt-menu-item { margin: 0; padding: 10px 7px 0 1px; line-height: 16px; } -.pt-menu-header:first-of-type > h6 { + .pt-menu-header:first-of-type > h6 { padding-top: 0; } -.pt-large .pt-menu-header > h6 { + .pt-large .pt-menu-header > h6 { padding-top: 15px; padding-bottom: 5px; font-size: 18px; } -.pt-large .pt-menu-header:first-of-type > h6 { + .pt-large .pt-menu-header:first-of-type > h6 { padding-top: 0; } + .pt-dark .pt-menu { background: #30404d; color: #f5f8fa; } + .pt-dark .pt-menu-item::before, .pt-dark .pt-menu-item::after { color: #bfccd6; } + .pt-dark .pt-menu-item .pt-menu-item-label { color: #bfccd6; } + .pt-dark .pt-menu-item:hover::before, .pt-dark .pt-submenu > .pt-popover-open > .pt-menu-item::before, .pt-dark .pt-menu-item:hover::after, .pt-dark .pt-submenu > .pt-popover-open > .pt-menu-item::after { color: #ffffff; } + .pt-dark .pt-menu-item.pt-disabled, .pt-dark .pt-menu-item.pt-disabled:hover, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-menu-item.pt-disabled::before, .pt-dark .pt-menu-item.pt-disabled::after, .pt-dark .pt-menu-item.pt-disabled:hover::before, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item::before, .pt-dark .pt-menu-item.pt-disabled:hover::after, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item::after { + .pt-dark .pt-menu-item.pt-disabled::before, .pt-dark .pt-menu-item.pt-disabled::after, .pt-dark .pt-menu-item.pt-disabled:hover::before, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item::before, .pt-dark .pt-menu-item.pt-disabled:hover::after, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item::after { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-menu-item.pt-disabled .pt-menu-item-label, .pt-dark .pt-menu-item.pt-disabled:hover .pt-menu-item-label, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item .pt-menu-item-label { + .pt-dark .pt-menu-item.pt-disabled .pt-menu-item-label, .pt-dark .pt-menu-item.pt-disabled:hover .pt-menu-item-label, .pt-dark .pt-submenu > .pt-popover-open > .pt-disabled.pt-menu-item .pt-menu-item-label { color: rgba(191, 204, 214, 0.5); } + .pt-dark .pt-menu-divider, .pt-dark .pt-menu-header { border-color: rgba(255, 255, 255, 0.15); } + .pt-dark .pt-menu-header > h6 { color: #f5f8fa; } + .pt-label .pt-menu { margin-top: 5px; } @@ -3403,36 +3849,42 @@ button.pt-menu-item { background-color: #ffffff; height: 50px; padding: 0 15px; } -.pt-navbar.pt-dark, + .pt-navbar.pt-dark, .pt-dark .pt-navbar { - box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4); background-color: #394b59; } -.pt-navbar.pt-fixed-top { + .pt-navbar.pt-dark { + box-shadow: inset 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4); } + .pt-dark .pt-navbar { + box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 1px 1px rgba(16, 22, 26, 0.4); } + .pt-navbar.pt-fixed-top { position: fixed; top: 0; right: 0; left: 0; } -.pt-navbar .pt-logo { + .pt-navbar .pt-logo { margin-right: 15px; width: 20px; } + .pt-navbar-heading { margin-right: 15px; font-size: 16px; } + .pt-navbar-group { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 50px; } -.pt-navbar-group.pt-align-left { + .pt-navbar-group.pt-align-left { float: left; } -.pt-navbar-group.pt-align-right { + .pt-navbar-group.pt-align-right { float: right; } + .pt-navbar-divider { margin: 0 10px; border-left: 1px solid rgba(16, 22, 26, 0.15); height: 20px; } -.pt-dark .pt-navbar-divider { + .pt-dark .pt-navbar-divider { border-left-color: rgba(255, 255, 255, 0.15); } .pt-non-ideal-state { @@ -3447,18 +3899,23 @@ button.pt-menu-item { margin: 0 auto; width: 100%; max-width: 400px; } + .pt-non-ideal-state-visual { margin-bottom: 20px; } + .pt-non-ideal-state-icon .pt-icon { color: rgba(92, 112, 128, 0.5); font-size: 60px; } -.pt-dark .pt-non-ideal-state-icon .pt-icon { + .pt-dark .pt-non-ideal-state-icon .pt-icon { color: rgba(191, 204, 214, 0.5); } + .pt-non-ideal-state-title { margin-bottom: 0; } + .pt-non-ideal-state-description { margin-top: 15px; text-align: center; } + .pt-non-ideal-state-action { margin-top: 15px; } @@ -3469,8 +3926,9 @@ button.pt-menu-item { bottom: 0; left: 0; overflow: auto; } -.pt-overlay-scroll-container.pt-overlay-open .pt-overlay-backdrop { + .pt-overlay-scroll-container.pt-overlay-open .pt-overlay-backdrop { position: fixed; } + .pt-overlay-backdrop { position: absolute; top: 0; @@ -3481,23 +3939,23 @@ button.pt-menu-item { z-index: 20; background-color: rgba(16, 22, 26, 0.7); overflow: auto; } -.pt-overlay-backdrop.pt-overlay-enter, .pt-overlay-backdrop.pt-overlay-appear { + .pt-overlay-backdrop.pt-overlay-enter, .pt-overlay-backdrop.pt-overlay-appear { opacity: 0; } -.pt-overlay-backdrop.pt-overlay-enter-active, .pt-overlay-backdrop.pt-overlay-appear-active { + .pt-overlay-backdrop.pt-overlay-enter-active, .pt-overlay-backdrop.pt-overlay-appear-active { opacity: 1; transition-property: opacity; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-overlay-backdrop.pt-overlay-leave { + .pt-overlay-backdrop.pt-overlay-leave { opacity: 1; } -.pt-overlay-backdrop.pt-overlay-leave-active { + .pt-overlay-backdrop.pt-overlay-leave-active { opacity: 0; transition-property: opacity; transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-overlay-backdrop:focus { + .pt-overlay-backdrop:focus { outline: none; } .pt-popover { @@ -3508,101 +3966,101 @@ button.pt-menu-item { z-index: 20; border-radius: 3px; } -.pt-popover .pt-popover-arrow { + .pt-popover .pt-popover-arrow { position: absolute; width: 30px; height: 30px; } -.pt-popover .pt-popover-arrow::before { + .pt-popover .pt-popover-arrow::before { margin: 5px; width: 20px; height: 20px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover { margin-top: -17px; margin-bottom: 17px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow { bottom: -11px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow svg { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow svg { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover { margin-left: 17px; } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow { left: -11px; } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow svg { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow svg { -webkit-transform: rotate(0); transform: rotate(0); } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover { margin-top: 17px; } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow { top: -11px; } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow svg { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow svg { -webkit-transform: rotate(90deg); transform: rotate(90deg); } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover { margin-right: 17px; margin-left: -17px; } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow { right: -11px; } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow svg { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow svg { -webkit-transform: rotate(180deg); transform: rotate(180deg); } -.pt-tether-element-attached-middle > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-middle > .pt-popover > .pt-popover-arrow { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } -.pt-tether-element-attached-center > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-center > .pt-popover > .pt-popover-arrow { right: 50%; -webkit-transform: translateX(50%); transform: translateX(50%); } -.pt-tether-element-attached-top.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-top.pt-tether-target-attached-top > .pt-popover > .pt-popover-arrow { top: -0.3934px; } -.pt-tether-element-attached-right.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-right.pt-tether-target-attached-right > .pt-popover > .pt-popover-arrow { right: -0.3934px; } -.pt-tether-element-attached-left.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-left.pt-tether-target-attached-left > .pt-popover > .pt-popover-arrow { left: -0.3934px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow { + .pt-tether-element-attached-bottom.pt-tether-target-attached-bottom > .pt-popover > .pt-popover-arrow { bottom: -0.3934px; } -.pt-tether-element-attached-top.pt-tether-element-attached-left > .pt-popover { + .pt-tether-element-attached-top.pt-tether-element-attached-left > .pt-popover { -webkit-transform-origin: top left; transform-origin: top left; } -.pt-tether-element-attached-top.pt-tether-element-attached-center > .pt-popover { + .pt-tether-element-attached-top.pt-tether-element-attached-center > .pt-popover { -webkit-transform-origin: top center; transform-origin: top center; } -.pt-tether-element-attached-top.pt-tether-element-attached-right > .pt-popover { + .pt-tether-element-attached-top.pt-tether-element-attached-right > .pt-popover { -webkit-transform-origin: top right; transform-origin: top right; } -.pt-tether-element-attached-middle.pt-tether-element-attached-left > .pt-popover { + .pt-tether-element-attached-middle.pt-tether-element-attached-left > .pt-popover { -webkit-transform-origin: center left; transform-origin: center left; } -.pt-tether-element-attached-middle.pt-tether-element-attached-center > .pt-popover { + .pt-tether-element-attached-middle.pt-tether-element-attached-center > .pt-popover { -webkit-transform-origin: center center; transform-origin: center center; } -.pt-tether-element-attached-middle.pt-tether-element-attached-right > .pt-popover { + .pt-tether-element-attached-middle.pt-tether-element-attached-right > .pt-popover { -webkit-transform-origin: center right; transform-origin: center right; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-left > .pt-popover { + .pt-tether-element-attached-bottom.pt-tether-element-attached-left > .pt-popover { -webkit-transform-origin: bottom left; transform-origin: bottom left; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-center > .pt-popover { + .pt-tether-element-attached-bottom.pt-tether-element-attached-center > .pt-popover { -webkit-transform-origin: bottom center; transform-origin: bottom center; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-right > .pt-popover { + .pt-tether-element-attached-bottom.pt-tether-element-attached-right > .pt-popover { -webkit-transform-origin: bottom right; transform-origin: bottom right; } -.pt-popover .pt-popover-content { + .pt-popover .pt-popover-content { background: #ffffff; color: inherit; } -.pt-popover .pt-popover-arrow::before { + .pt-popover .pt-popover-arrow::before { box-shadow: 1px 1px 6px rgba(16, 22, 26, 0.2); } -.pt-popover .pt-popover-arrow-border { + .pt-popover .pt-popover-arrow-border { fill: #10161a; fill-opacity: 0.1; } -.pt-popover .pt-popover-arrow-fill { + .pt-popover .pt-popover-arrow-fill { fill: #ffffff; } -.pt-popover-enter > .pt-popover, .pt-popover-appear > .pt-popover { + .pt-popover-enter > .pt-popover, .pt-popover-appear > .pt-popover { -webkit-transform: scale(0.3); transform: scale(0.3); } -.pt-popover-enter-active > .pt-popover, .pt-popover-appear-active > .pt-popover { + .pt-popover-enter-active > .pt-popover, .pt-popover-appear-active > .pt-popover { -webkit-transform: scale(1); transform: scale(1); transition-property: -webkit-transform; @@ -3611,10 +4069,10 @@ button.pt-menu-item { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-popover-leave > .pt-popover { + .pt-popover-leave > .pt-popover { -webkit-transform: scale(1); transform: scale(1); } -.pt-popover-leave-active > .pt-popover { + .pt-popover-leave-active > .pt-popover { -webkit-transform: scale(0.3); transform: scale(0.3); transition-property: -webkit-transform; @@ -3623,25 +4081,25 @@ button.pt-menu-item { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-popover .pt-popover-content { + .pt-popover .pt-popover-content { position: relative; border-radius: 3px; } -.pt-popover.pt-popover-content-sizing .pt-popover-content { + .pt-popover.pt-popover-content-sizing .pt-popover-content { max-width: 350px; padding: 20px; } -.pt-popover-target .pt-popover.pt-popover-content-sizing { + .pt-popover-target .pt-popover.pt-popover-content-sizing { width: 350px; } -.pt-popover.pt-minimal { + .pt-popover.pt-minimal { margin: 0 !important; } -.pt-popover.pt-minimal .pt-popover-arrow { + .pt-popover.pt-minimal .pt-popover-arrow { display: none; } -.pt-popover.pt-minimal.pt-popover { + .pt-popover.pt-minimal.pt-popover { -webkit-transform: scale(1); transform: scale(1); } -.pt-popover-enter > .pt-popover.pt-minimal.pt-popover, .pt-popover-appear > .pt-popover.pt-minimal.pt-popover { + .pt-popover-enter > .pt-popover.pt-minimal.pt-popover, .pt-popover-appear > .pt-popover.pt-minimal.pt-popover { -webkit-transform: scale(1); transform: scale(1); } -.pt-popover-enter-active > .pt-popover.pt-minimal.pt-popover, .pt-popover-appear-active > .pt-popover.pt-minimal.pt-popover { + .pt-popover-enter-active > .pt-popover.pt-minimal.pt-popover, .pt-popover-appear-active > .pt-popover.pt-minimal.pt-popover { -webkit-transform: scale(1); transform: scale(1); transition-property: -webkit-transform; @@ -3650,10 +4108,10 @@ button.pt-menu-item { transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-popover-leave > .pt-popover.pt-minimal.pt-popover { + .pt-popover-leave > .pt-popover.pt-minimal.pt-popover { -webkit-transform: scale(1); transform: scale(1); } -.pt-popover-leave-active > .pt-popover.pt-minimal.pt-popover { + .pt-popover-leave-active > .pt-popover.pt-minimal.pt-popover { -webkit-transform: scale(1); transform: scale(1); transition-property: -webkit-transform; @@ -3662,23 +4120,24 @@ button.pt-menu-item { transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-popover.pt-dark, + .pt-popover.pt-dark, .pt-dark .pt-popover { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } -.pt-popover.pt-dark .pt-popover-content, + .pt-popover.pt-dark .pt-popover-content, .pt-dark .pt-popover .pt-popover-content { background: #30404d; color: inherit; } -.pt-popover.pt-dark .pt-popover-arrow::before, + .pt-popover.pt-dark .pt-popover-arrow::before, .pt-dark .pt-popover .pt-popover-arrow::before { box-shadow: 1px 1px 6px rgba(16, 22, 26, 0.4); } -.pt-popover.pt-dark .pt-popover-arrow-border, + .pt-popover.pt-dark .pt-popover-arrow-border, .pt-dark .pt-popover .pt-popover-arrow-border { fill: #10161a; fill-opacity: 0.2; } -.pt-popover.pt-dark .pt-popover-arrow-fill, + .pt-popover.pt-dark .pt-popover-arrow-fill, .pt-dark .pt-popover .pt-popover-arrow-fill { fill: #30404d; } + .pt-popover-arrow::before { display: block; position: absolute; @@ -3686,84 +4145,89 @@ button.pt-menu-item { transform: rotate(45deg); border-radius: 2px; content: ""; } + .pt-tether-pinned .pt-popover-arrow { display: none; } + .pt-popover-backdrop { background: rgba(255, 255, 255, 0); } + .pt-transition-container { opacity: 1; z-index: 20; } -.pt-transition-container.pt-popover-enter, .pt-transition-container.pt-popover-appear { + .pt-transition-container.pt-popover-enter, .pt-transition-container.pt-popover-appear { opacity: 0; } -.pt-transition-container.pt-popover-enter-active, .pt-transition-container.pt-popover-appear-active { + .pt-transition-container.pt-popover-enter-active, .pt-transition-container.pt-popover-appear-active { opacity: 1; transition-property: opacity; transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-transition-container.pt-popover-leave { + .pt-transition-container.pt-popover-leave { opacity: 1; } -.pt-transition-container.pt-popover-leave-active { + .pt-transition-container.pt-popover-leave-active { opacity: 0; transition-property: opacity; transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-transition-container:focus { + .pt-transition-container:focus { outline: none; } -.pt-transition-container.pt-popover-leave .pt-popover-content { + .pt-transition-container.pt-popover-leave .pt-popover-content { pointer-events: none; } + .pt-popover-target { display: inline-block; position: relative; vertical-align: top; } -.pt-popover-target > .pt-popover-target { + .pt-popover-target > .pt-popover-target { display: inline-block; } -.pt-popover-target .pt-transition-container { + .pt-popover-target .pt-transition-container { position: absolute; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-bottom.pt-tether-target-attached-top { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-bottom.pt-tether-target-attached-top { bottom: 100%; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-left.pt-tether-target-attached-right { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-left.pt-tether-target-attached-right { left: 100%; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-top.pt-tether-target-attached-bottom { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-top.pt-tether-target-attached-bottom { top: 100%; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-right.pt-tether-target-attached-left { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-right.pt-tether-target-attached-left { right: 100%; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-top.pt-tether-target-attached-top { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-top.pt-tether-target-attached-top { top: 0; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-right.pt-tether-target-attached-right { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-right.pt-tether-target-attached-right { right: 0; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-bottom.pt-tether-target-attached-bottom { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-bottom.pt-tether-target-attached-bottom { bottom: 0; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-left.pt-tether-target-attached-left { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-left.pt-tether-target-attached-left { left: 0; } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-middle { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-middle { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } -.pt-popover-target .pt-transition-container.pt-tether-element-attached-center { + .pt-popover-target .pt-transition-container.pt-tether-element-attached-center { left: 50%; -webkit-transform: translateX(-50%); transform: translateX(-50%); } + .pt-button-group.pt-vertical .pt-popover-target { display: block; } + .pt-button-group:not(.pt-vertical) .pt-popover-target, .pt-button-group:not(.pt-vertical) .pt-tether-target { float: left; } -.pt-portal { - display: inline-block; } - @-webkit-keyframes linear-progress-bar-stripes { from { background-position: 0 0; } to { background-position: 30px 0; } } + @keyframes linear-progress-bar-stripes { from { background-position: 0 0; } to { background-position: 30px 0; } } + .pt-progress-bar { display: block; position: relative; @@ -3772,7 +4236,7 @@ button.pt-menu-item { width: 100%; height: 8px; overflow: hidden; } -.pt-progress-bar .pt-progress-meter { + .pt-progress-bar .pt-progress-meter { background-color: rgba(255, 255, 255, 0.2); background-image: linear-gradient(-45deg,rgba(255, 255, 255, 0.2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.2) 75%, transparent 75%); display: inline-block; @@ -3783,23 +4247,28 @@ button.pt-menu-item { width: 100%; height: 100%; transition: width 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-progress-bar:not(.pt-no-animation):not(.pt-no-stripes) .pt-progress-meter { + .pt-progress-bar:not(.pt-no-animation):not(.pt-no-stripes) .pt-progress-meter { -webkit-animation: linear-progress-bar-stripes 300ms linear infinite reverse; animation: linear-progress-bar-stripes 300ms linear infinite reverse; } -.pt-progress-bar.pt-no-stripes .pt-progress-meter { + .pt-progress-bar.pt-no-stripes .pt-progress-meter { background-image: none; } + .pt-dark .pt-progress-bar, .pt-progress-bar.pt-dark { background: rgba(16, 22, 26, 0.3); } -.pt-dark .pt-progress-bar .pt-progress-meter, + .pt-dark .pt-progress-bar .pt-progress-meter, .pt-progress-bar.pt-dark .pt-progress-meter { background-color: #5c7080; } + .pt-progress-bar.pt-intent-primary .pt-progress-meter { background-color: #137cbd; } + .pt-progress-bar.pt-intent-success .pt-progress-meter { background-color: #0f9960; } + .pt-progress-bar.pt-intent-warning .pt-progress-meter { background-color: #d9822b; } + .pt-progress-bar.pt-intent-danger .pt-progress-meter { background-color: #db3737; } @@ -3813,17 +4282,18 @@ button.pt-menu-item { -moz-user-select: none; -ms-user-select: none; user-select: none; } -.pt-slider:hover { + .pt-slider:hover { cursor: pointer; } -.pt-slider:active { + .pt-slider:active { cursor: -webkit-grabbing; cursor: -moz-grabbing; cursor: grabbing; } -.pt-slider.pt-disabled { + .pt-slider.pt-disabled { opacity: 0.5; cursor: not-allowed; } -.pt-slider.pt-slider-unlabeled { + .pt-slider.pt-slider-unlabeled { height: 16px; } + .pt-slider-track, .pt-slider-progress { position: absolute; @@ -3833,12 +4303,14 @@ button.pt-menu-item { border-radius: 3px; background: rgba(92, 112, 128, 0.2); height: 6px; } -.pt-dark .pt-slider-track, .pt-dark + .pt-dark .pt-slider-track, .pt-dark .pt-slider-progress { background: rgba(16, 22, 26, 0.5); } + .pt-slider-progress, .pt-dark .pt-slider-progress { background: #137cbd; } + .pt-slider-handle { background: #f5f8fa; background: linear-gradient(to bottom, #ffffff, rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #f5f8fa; @@ -3855,18 +4327,18 @@ button.pt-menu-item { cursor: pointer; width: 16px; height: 16px; } -.pt-slider-handle:hover { + .pt-slider-handle:hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.1); background-clip: padding-box; } -.pt-slider-handle:active { + .pt-slider-handle:active { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; background-image: none; } -.pt-slider-handle:disabled { + .pt-slider-handle:disabled { outline: none; border-color: transparent; box-shadow: none; @@ -3875,9 +4347,9 @@ button.pt-menu-item { background-image: none; cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-slider-handle:focus { + .pt-slider-handle:focus { z-index: 1; } -.pt-slider-handle:hover { + .pt-slider-handle:hover { background: #ebf1f5; background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0)) left no-repeat, center no-repeat #ebf1f5; border-color: rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.2) rgba(16, 22, 26, 0.27) rgba(16, 22, 26, 0.2); @@ -3887,7 +4359,7 @@ button.pt-menu-item { cursor: -webkit-grab; cursor: -moz-grab; cursor: grab; } -.pt-slider-handle.pt-active { + .pt-slider-handle.pt-active { border-color: rgba(16, 22, 26, 0.35) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25) rgba(16, 22, 26, 0.25); box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.1); background-color: #ced9e0; @@ -3895,45 +4367,45 @@ button.pt-menu-item { cursor: -webkit-grabbing; cursor: -moz-grabbing; cursor: grabbing; } -.pt-disabled .pt-slider-handle { + .pt-disabled .pt-slider-handle { border-color: #bfccd6; box-shadow: none; background: #bfccd6; pointer-events: none; } -.pt-dark .pt-slider-handle { + .pt-dark .pt-slider-handle { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.06)) left no-repeat; border-color: rgba(16, 22, 26, 0.6); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; color: #f5f8fa; } -.pt-dark .pt-slider-handle:hover, .pt-dark .pt-slider-handle:active { + .pt-dark .pt-slider-handle:hover, .pt-dark .pt-slider-handle:active { color: #f5f8fa; } -.pt-dark .pt-slider-handle:hover { + .pt-dark .pt-slider-handle:hover { background: rgba(255, 255, 255, 0.1); background: linear-gradient(to bottom, rgba(16, 22, 26, 0.1), rgba(16, 22, 26, 0.2)) left no-repeat, center no-repeat rgba(255, 255, 255, 0.1); border-color: rgba(16, 22, 26, 0.8); box-shadow: 0 1px 1px rgba(16, 22, 26, 0.2); background-clip: padding-box; } -.pt-dark .pt-slider-handle:active { + .pt-dark .pt-slider-handle:active { box-shadow: inset 0 1px 1px rgba(16, 22, 26, 0.2); background-color: rgba(16, 22, 26, 0.1); background-image: none; } -.pt-dark .pt-slider-handle:disabled { + .pt-dark .pt-slider-handle:disabled { border-color: rgba(206, 217, 224, 0.1); box-shadow: none; background-color: rgba(206, 217, 224, 0.1); background-image: none; color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-slider-handle, .pt-dark .pt-slider-handle:hover { + .pt-dark .pt-slider-handle, .pt-dark .pt-slider-handle:hover { background-color: #394b59; } -.pt-dark .pt-slider-handle.pt-active { + .pt-dark .pt-slider-handle.pt-active { background-color: #293742; } -.pt-dark .pt-disabled .pt-slider-handle { + .pt-dark .pt-disabled .pt-slider-handle { border-color: #5c7080; box-shadow: none; background: #5c7080; } -.pt-slider-handle .pt-slider-label { + .pt-slider-handle .pt-slider-label { -webkit-transform: translate(-50%, 19px); transform: translate(-50%, 19px); margin-left: 7px; @@ -3941,12 +4413,13 @@ button.pt-menu-item { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.1), 0 2px 4px rgba(16, 22, 26, 0.2), 0 8px 24px rgba(16, 22, 26, 0.2); background: #394b59; color: #f5f8fa; } -.pt-dark .pt-slider-handle .pt-slider-label { + .pt-dark .pt-slider-handle .pt-slider-label { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); background: #e1e8ed; color: #394b59; } -.pt-disabled .pt-slider-handle .pt-slider-label { + .pt-disabled .pt-slider-handle .pt-slider-label { box-shadow: none; } + .pt-slider-label { display: inline-block; padding: 2px 5px; @@ -3959,68 +4432,84 @@ button.pt-menu-item { .pt-range-slider .pt-slider-handle { width: 8px; } -.pt-range-slider .pt-slider-handle:first-of-type { + .pt-range-slider .pt-slider-handle:first-of-type { border-top-right-radius: 0; border-bottom-right-radius: 0; } -.pt-range-slider .pt-slider-handle:last-of-type { + .pt-range-slider .pt-slider-handle:last-of-type { margin-left: 7px; border-top-left-radius: 0; border-bottom-left-radius: 0; } -.pt-range-slider .pt-slider-handle:last-of-type .pt-slider-label { + .pt-range-slider .pt-slider-handle:last-of-type .pt-slider-label { margin-left: 0; } + .pt-range-slider .pt-slider-progress { border-radius: 0; } .pt-spinner:not(.pt-svg-spinner) { width: 50px; } -.pt-spinner:not(.pt-svg-spinner) .pt-spinner-svg-container { + .pt-spinner:not(.pt-svg-spinner) .pt-spinner-svg-container { -webkit-animation-duration: 400ms; animation-duration: 400ms; } + .pt-spinner.pt-svg-spinner { -webkit-animation-duration: 400ms; animation-duration: 400ms; } + .pt-spinner .pt-svg-spinner-transform-group { -webkit-transform: scale(0.5); transform: scale(0.5); } + .pt-spinner path { stroke-width: 5; } + .pt-spinner path { fill-opacity: 0; } + .pt-spinner .pt-spinner-head { transition: stroke-dashoffset 200ms cubic-bezier(0.4, 1, 0.75, 0.9); stroke: rgba(92, 112, 128, 0.8); stroke-linecap: round; } + .pt-spinner .pt-spinner-track { stroke: rgba(92, 112, 128, 0.2); } + .pt-spinner.pt-small:not(.pt-svg-spinner) { width: 24px; } -.pt-spinner.pt-small:not(.pt-svg-spinner) .pt-spinner-svg-container { + .pt-spinner.pt-small:not(.pt-svg-spinner) .pt-spinner-svg-container { -webkit-animation-duration: 400ms; animation-duration: 400ms; } + .pt-spinner.pt-small.pt-svg-spinner { -webkit-animation-duration: 400ms; animation-duration: 400ms; } + .pt-spinner.pt-small .pt-svg-spinner-transform-group { -webkit-transform: scale(0.24); transform: scale(0.24); } + .pt-spinner.pt-small path { stroke-width: 12; } + .pt-spinner.pt-large:not(.pt-svg-spinner) { width: 100px; } -.pt-spinner.pt-large:not(.pt-svg-spinner) .pt-spinner-svg-container { + .pt-spinner.pt-large:not(.pt-svg-spinner) .pt-spinner-svg-container { -webkit-animation-duration: 450ms; animation-duration: 450ms; } + .pt-spinner.pt-large.pt-svg-spinner { -webkit-animation-duration: 450ms; animation-duration: 450ms; } + .pt-spinner.pt-large .pt-svg-spinner-transform-group { -webkit-transform: scale(1); transform: scale(1); } + .pt-spinner.pt-large path { stroke-width: 3; } + .pt-spinner:not(.pt-svg-spinner) { display: inline-block; } -.pt-spinner:not(.pt-svg-spinner) .pt-spinner-svg-container { + .pt-spinner:not(.pt-svg-spinner) .pt-spinner-svg-container { position: relative; width: 100%; height: 0; @@ -4028,38 +4517,47 @@ button.pt-menu-item { padding-bottom: 100%; -webkit-animation: pt-spinner-animation 400ms linear infinite; animation: pt-spinner-animation 400ms linear infinite; } -.pt-spinner:not(.pt-svg-spinner).pt-no-spin .pt-spinner-svg-container { + .pt-spinner:not(.pt-svg-spinner).pt-no-spin .pt-spinner-svg-container { -webkit-animation: none; animation: none; } -.pt-spinner:not(.pt-svg-spinner) svg { + .pt-spinner:not(.pt-svg-spinner) svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } + .pt-svg-spinner { -webkit-transform-origin: center; transform-origin: center; -webkit-animation: pt-spinner-animation 400ms linear infinite; animation: pt-spinner-animation 400ms linear infinite; } -.pt-svg-spinner.pt-no-spin { + .pt-svg-spinner.pt-no-spin { -webkit-animation: none; animation: none; } + .pt-svg-spinner-transform-group { -webkit-transform-origin: center; transform-origin: center; } + .pt-dark .pt-spinner .pt-spinner-head { stroke: #5c7080; } + .pt-dark .pt-spinner .pt-spinner-track { stroke: rgba(191, 204, 214, 0.2); } + .pt-spinner.pt-intent-primary .pt-spinner-head { stroke: #137cbd; } + .pt-spinner.pt-intent-success .pt-spinner-head { stroke: #0f9960; } + .pt-spinner.pt-intent-warning .pt-spinner-head { stroke: #d9822b; } + .pt-spinner.pt-intent-danger .pt-spinner-head { stroke: #db3737; } + @-webkit-keyframes pt-spinner-animation { from { -webkit-transform: rotate(0deg); @@ -4067,6 +4565,7 @@ button.pt-menu-item { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } } + @keyframes pt-spinner-animation { from { -webkit-transform: rotate(0deg); @@ -4078,71 +4577,71 @@ button.pt-menu-item { table.pt-table { border-spacing: 0; font-size: 14px; } -table.pt-table th, + table.pt-table th, table.pt-table td { padding: 11px; vertical-align: top; text-align: left; } -table.pt-table th { + table.pt-table th { color: #182026; font-weight: 600; } -table.pt-table td { + table.pt-table td { color: #182026; } -table.pt-table tbody tr:first-child td { + table.pt-table tbody tr:first-child td { box-shadow: inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } -table.pt-table.pt-condensed th, + table.pt-table.pt-condensed th, table.pt-table.pt-condensed td { padding-top: 6px; padding-bottom: 6px; } -table.pt-table.pt-striped tbody tr:nth-child(odd) td { + table.pt-table.pt-striped tbody tr:nth-child(odd) td { background: rgba(191, 204, 214, 0.2); } -table.pt-table.pt-bordered th:not(:first-child) { + table.pt-table.pt-bordered th:not(:first-child) { box-shadow: inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } -table.pt-table.pt-bordered tbody tr td { + table.pt-table.pt-bordered tbody tr td { box-shadow: inset 0 1px 0 0 rgba(16, 22, 26, 0.15); } -table.pt-table.pt-bordered tbody tr td:not(:first-child) { + table.pt-table.pt-bordered tbody tr td:not(:first-child) { box-shadow: inset 1px 1px 0 0 rgba(16, 22, 26, 0.15); } -table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td { + table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td { box-shadow: none; } -table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td:not(:first-child) { + table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td:not(:first-child) { box-shadow: inset 1px 0 0 0 rgba(16, 22, 26, 0.15); } -table.pt-table.pt-interactive tbody tr:hover td { + table.pt-table.pt-interactive tbody tr:hover td { background-color: rgba(191, 204, 214, 0.4); cursor: pointer; } -.pt-dark table.pt-table th { + .pt-dark table.pt-table th { color: #f5f8fa; } -.pt-dark table.pt-table td { + .pt-dark table.pt-table td { color: #f5f8fa; } -.pt-dark table.pt-table tbody tr:first-child td { + .pt-dark table.pt-table tbody tr:first-child td { box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } -.pt-dark table.pt-table.pt-striped tbody tr:nth-child(odd) td { + .pt-dark table.pt-table.pt-striped tbody tr:nth-child(odd) td { background: rgba(92, 112, 128, 0.15); } -.pt-dark table.pt-table.pt-bordered th:not(:first-child) { + .pt-dark table.pt-table.pt-bordered th:not(:first-child) { box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } -.pt-dark table.pt-table.pt-bordered tbody tr td { + .pt-dark table.pt-table.pt-bordered tbody tr td { box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.15); } -.pt-dark table.pt-table.pt-bordered tbody tr td:not(:first-child) { + .pt-dark table.pt-table.pt-bordered tbody tr td:not(:first-child) { box-shadow: inset 1px 1px 0 0 rgba(255, 255, 255, 0.15); } -.pt-dark table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td { + .pt-dark table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td { box-shadow: inset 1px 0 0 0 rgba(255, 255, 255, 0.15); } -.pt-dark table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td:first-child { + .pt-dark table.pt-table.pt-bordered.pt-striped tbody tr:not(:first-child) td:first-child { box-shadow: none; } -.pt-dark table.pt-table.pt-interactive tbody tr:hover td { + .pt-dark table.pt-table.pt-interactive tbody tr:hover td { background-color: rgba(92, 112, 128, 0.3); cursor: pointer; } .pt-tabs.pt-vertical { display: -webkit-flex; display: flex; } -.pt-tabs.pt-vertical .pt-tab-list { + .pt-tabs.pt-vertical .pt-tab-list { -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: flex-start; align-items: flex-start; } -.pt-tabs.pt-vertical .pt-tab { + .pt-tabs.pt-vertical .pt-tab { width: 100%; padding: 0 10px; } -.pt-tabs.pt-vertical .pt-tab-indicator-wrapper .pt-tab-indicator { + .pt-tabs.pt-vertical .pt-tab-indicator-wrapper .pt-tab-indicator { top: 0; right: 0; bottom: 0; @@ -4150,9 +4649,10 @@ table.pt-table.pt-interactive tbody tr:hover td { border-radius: 3px; background-color: rgba(19, 124, 189, 0.2); height: auto; } -.pt-tabs.pt-vertical .pt-tab-panel { + .pt-tabs.pt-vertical .pt-tab-panel { margin-top: 0; padding-left: 20px; } + .pt-tab-list { display: -webkit-flex; display: flex; @@ -4165,9 +4665,10 @@ table.pt-table.pt-interactive tbody tr:hover td { border: none; padding: 0; list-style: none; } -.pt-tab-list.pt-large .pt-tab { + .pt-tab-list.pt-large .pt-tab { line-height: 40px; font-size: 16px; } + .pt-tab { overflow: hidden; text-overflow: ellipsis; @@ -4182,24 +4683,26 @@ table.pt-table.pt-interactive tbody tr:hover td { line-height: 30px; color: #182026; font-size: 14px; } -.pt-tab-indicator-wrapper ~ .pt-tab { + .pt-tab-indicator-wrapper ~ .pt-tab { box-shadow: none !important; } -.pt-tab:not(:last-of-type) { + .pt-tab:not(:last-of-type) { margin-right: 20px; } -.pt-tab[aria-disabled="true"] { + .pt-tab[aria-disabled="true"] { cursor: not-allowed; color: rgba(92, 112, 128, 0.5); } -.pt-tab[aria-selected="true"] { + .pt-tab[aria-selected="true"] { border-radius: 0; box-shadow: inset 0 -3px 0 #106ba3; } -.pt-tab[aria-selected="true"], .pt-tab:not([aria-disabled="true"]):hover { + .pt-tab[aria-selected="true"], .pt-tab:not([aria-disabled="true"]):hover { color: #106ba3; } -.pt-tab:focus { + .pt-tab:focus { -moz-outline-radius: 0; } + .pt-tab-panel { margin-top: 20px; } -.pt-tab-panel[aria-hidden="true"] { + .pt-tab-panel[aria-hidden="true"] { display: none; } + .pt-tab-indicator-wrapper { position: absolute; top: 0; @@ -4212,23 +4715,25 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); pointer-events: none; } -.pt-tab-indicator-wrapper .pt-tab-indicator { + .pt-tab-indicator-wrapper .pt-tab-indicator { position: absolute; right: 0; bottom: 0; left: 0; background-color: #106ba3; height: 3px; } -.pt-tab-indicator-wrapper.pt-no-animation { + .pt-tab-indicator-wrapper.pt-no-animation { transition: none; } + .pt-dark .pt-tab { color: #f5f8fa; } -.pt-dark .pt-tab[aria-disabled="true"] { + .pt-dark .pt-tab[aria-disabled="true"] { color: rgba(191, 204, 214, 0.5); } -.pt-dark .pt-tab[aria-selected="true"] { + .pt-dark .pt-tab[aria-selected="true"] { box-shadow: inset 0 -3px 0 #2b95d6; } -.pt-dark .pt-tab[aria-selected="true"], .pt-dark .pt-tab:not([aria-disabled="true"]):hover { + .pt-dark .pt-tab[aria-selected="true"], .pt-dark .pt-tab:not([aria-disabled="true"]):hover { color: #2b95d6; } + .pt-dark .pt-tab-indicator { background-color: #2b95d6; } @@ -4245,67 +4750,68 @@ table.pt-table.pt-interactive tbody tr:hover td { color: #f5f8fa; font-size: 12px; } -.pt-tag.pt-round { + .pt-tag.pt-round { border-radius: 10px; } -.pt-dark .pt-tag:not([class*="pt-intent-"]) { + .pt-dark .pt-tag:not([class*="pt-intent-"]) { background: #bfccd6; color: #182026; } -.pt-tag.pt-tag-removable { + .pt-tag.pt-tag-removable { padding-right: 20px; } -.pt-tag.pt-intent-primary { + .pt-tag.pt-intent-primary { background: #137cbd; color: #ffffff; } -.pt-tag.pt-intent-success { + .pt-tag.pt-intent-success { background: #0f9960; color: #ffffff; } -.pt-tag.pt-intent-warning { + .pt-tag.pt-intent-warning { background: #d9822b; color: #ffffff; } -.pt-tag.pt-intent-danger { + .pt-tag.pt-intent-danger { background: #db3737; color: #ffffff; } -.pt-tag.pt-large, + .pt-tag.pt-large, .pt-large .pt-tag { min-width: 30px; padding: 5px 10px; line-height: 20px; font-size: 14px; } -.pt-tag.pt-large.pt-round, + .pt-tag.pt-large.pt-round, .pt-large .pt-tag.pt-round { border-radius: 15px; } -.pt-tag.pt-large.pt-tag-removable, + .pt-tag.pt-large.pt-tag-removable, .pt-large .pt-tag.pt-tag-removable { padding-right: 30px; } -.pt-tag.pt-minimal:not([class*="pt-intent-"]) { + .pt-tag.pt-minimal:not([class*="pt-intent-"]) { background: rgba(138, 155, 168, 0.2); color: #182026; } -.pt-dark .pt-tag.pt-minimal:not([class*="pt-intent-"]) { + .pt-dark .pt-tag.pt-minimal:not([class*="pt-intent-"]) { background: rgba(138, 155, 168, 0.2); color: #f5f8fa; } -.pt-tag.pt-minimal.pt-intent-primary { + .pt-tag.pt-minimal.pt-intent-primary { background: rgba(19, 124, 189, 0.15); color: #106ba3; } -.pt-dark .pt-tag.pt-minimal.pt-intent-primary { + .pt-dark .pt-tag.pt-minimal.pt-intent-primary { background: rgba(19, 124, 189, 0.2); color: #2b95d6; } -.pt-tag.pt-minimal.pt-intent-success { + .pt-tag.pt-minimal.pt-intent-success { background: rgba(15, 153, 96, 0.15); color: #0d8050; } -.pt-dark .pt-tag.pt-minimal.pt-intent-success { + .pt-dark .pt-tag.pt-minimal.pt-intent-success { background: rgba(15, 153, 96, 0.2); color: #15b371; } -.pt-tag.pt-minimal.pt-intent-warning { + .pt-tag.pt-minimal.pt-intent-warning { background: rgba(217, 130, 43, 0.15); color: #bf7326; } -.pt-dark .pt-tag.pt-minimal.pt-intent-warning { + .pt-dark .pt-tag.pt-minimal.pt-intent-warning { background: rgba(217, 130, 43, 0.2); color: #f29d49; } -.pt-tag.pt-minimal.pt-intent-danger { + .pt-tag.pt-minimal.pt-intent-danger { background: rgba(219, 55, 55, 0.15); color: #c23030; } -.pt-dark .pt-tag.pt-minimal.pt-intent-danger { + .pt-dark .pt-tag.pt-minimal.pt-intent-danger { background: rgba(219, 55, 55, 0.2); color: #f55656; } + .pt-tag-remove { line-height: 1; font-family: "Icons16", sans-serif; @@ -4323,15 +4829,15 @@ table.pt-table.pt-interactive tbody tr:hover td { cursor: pointer; padding: 2px; color: #ffffff; } -.pt-tag-remove:hover { + .pt-tag-remove:hover { opacity: 0.8; background: none; text-decoration: none; } -.pt-tag-remove::before { + .pt-tag-remove::before { content: "\E6D7"; } -.pt-dark .pt-tag:not(.pt-minimal):not([class*="pt-intent-"]) .pt-tag-remove { + .pt-dark .pt-tag:not(.pt-minimal):not([class*="pt-intent-"]) .pt-tag-remove { color: #182026; } -.pt-large .pt-tag-remove { + .pt-large .pt-tag-remove { line-height: 1; font-family: "Icons20", sans-serif; font-size: 20px; @@ -4339,23 +4845,23 @@ table.pt-table.pt-interactive tbody tr:hover td { font-style: normal; margin-left: 5px; padding: 5px; } -.pt-minimal .pt-tag-remove { + .pt-minimal .pt-tag-remove { color: inherit; } -.pt-intent-primary .pt-minimal .pt-tag-remove { + .pt-intent-primary .pt-minimal .pt-tag-remove { color: #137cbd; } -.pt-dark .pt-intent-primary .pt-minimal .pt-tag-remove { + .pt-dark .pt-intent-primary .pt-minimal .pt-tag-remove { color: #137cbd; } -.pt-intent-success .pt-minimal .pt-tag-remove { + .pt-intent-success .pt-minimal .pt-tag-remove { color: #0f9960; } -.pt-dark .pt-intent-success .pt-minimal .pt-tag-remove { + .pt-dark .pt-intent-success .pt-minimal .pt-tag-remove { color: #0f9960; } -.pt-intent-warning .pt-minimal .pt-tag-remove { + .pt-intent-warning .pt-minimal .pt-tag-remove { color: #d9822b; } -.pt-dark .pt-intent-warning .pt-minimal .pt-tag-remove { + .pt-dark .pt-intent-warning .pt-minimal .pt-tag-remove { color: #d9822b; } -.pt-intent-danger .pt-minimal .pt-tag-remove { + .pt-intent-danger .pt-minimal .pt-tag-remove { color: #db3737; } -.pt-dark .pt-intent-danger .pt-minimal .pt-tag-remove { + .pt-dark .pt-intent-danger .pt-minimal .pt-tag-remove { color: #db3737; } .pt-toast { @@ -4371,10 +4877,10 @@ table.pt-table.pt-interactive tbody tr:hover td { min-width: 300px; max-width: 500px; pointer-events: all; } -.pt-toast.pt-toast-enter, .pt-toast.pt-toast-appear { + .pt-toast.pt-toast-enter, .pt-toast.pt-toast-appear { -webkit-transform: translateY(-40px); transform: translateY(-40px); } -.pt-toast.pt-toast-enter-active, .pt-toast.pt-toast-appear-active { + .pt-toast.pt-toast-enter-active, .pt-toast.pt-toast-appear-active { -webkit-transform: translateY(0); transform: translateY(0); transition-property: -webkit-transform; @@ -4383,10 +4889,10 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-toast.pt-toast-enter ~ .pt-toast, .pt-toast.pt-toast-appear ~ .pt-toast { + .pt-toast.pt-toast-enter ~ .pt-toast, .pt-toast.pt-toast-appear ~ .pt-toast { -webkit-transform: translateY(-40px); transform: translateY(-40px); } -.pt-toast.pt-toast-enter-active ~ .pt-toast, .pt-toast.pt-toast-appear-active ~ .pt-toast { + .pt-toast.pt-toast-enter-active ~ .pt-toast, .pt-toast.pt-toast-appear-active ~ .pt-toast { -webkit-transform: translateY(0); transform: translateY(0); transition-property: -webkit-transform; @@ -4395,11 +4901,11 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.54, 1.12, 0.38, 1.11); transition-delay: 0; } -.pt-toast.pt-toast-leave { + .pt-toast.pt-toast-leave { opacity: 1; -webkit-filter: blur(0); filter: blur(0); } -.pt-toast.pt-toast-leave-active { + .pt-toast.pt-toast-leave-active { opacity: 0; -webkit-filter: blur(10px); filter: blur(10px); @@ -4409,10 +4915,10 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 300ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-toast.pt-toast-leave ~ .pt-toast { + .pt-toast.pt-toast-leave ~ .pt-toast { -webkit-transform: translateY(0); transform: translateY(0); } -.pt-toast.pt-toast-leave-active ~ .pt-toast { + .pt-toast.pt-toast-leave-active ~ .pt-toast { -webkit-transform: translateY(-40px); transform: translateY(-40px); transition-property: -webkit-transform; @@ -4421,48 +4927,54 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 100ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 50ms; } -.pt-toast .pt-button-group { + .pt-toast .pt-button-group { -webkit-flex: 0 0 auto; flex: 0 0 auto; padding: 5px; padding-left: 0; } -.pt-toast > .pt-icon-standard { + .pt-toast > .pt-icon-standard { padding: 12px; padding-right: 0; } -.pt-toast.pt-dark, + .pt-toast.pt-dark, .pt-dark .pt-toast { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); background-color: #394b59; } -.pt-toast[class*="pt-intent-"] > .pt-icon-standard { + .pt-toast[class*="pt-intent-"] a { + color: rgba(255, 255, 255, 0.7); } + .pt-toast[class*="pt-intent-"] a:hover { + color: #ffffff; } + .pt-toast[class*="pt-intent-"] > .pt-icon-standard { color: #ffffff; } -.pt-toast[class*="pt-intent-"] .pt-button, .pt-toast[class*="pt-intent-"] .pt-button::before, .pt-toast[class*="pt-intent-"] .pt-button:active, .pt-toast[class*="pt-intent-"] .pt-button.pt-active { + .pt-toast[class*="pt-intent-"] .pt-button, .pt-toast[class*="pt-intent-"] .pt-button::before, .pt-toast[class*="pt-intent-"] .pt-button:active, .pt-toast[class*="pt-intent-"] .pt-button.pt-active { color: rgba(255, 255, 255, 0.7) !important; } -.pt-toast[class*="pt-intent-"] .pt-button:focus { + .pt-toast[class*="pt-intent-"] .pt-button:focus { outline-color: rgba(255, 255, 255, 0.5); } -.pt-toast[class*="pt-intent-"] .pt-button:hover { + .pt-toast[class*="pt-intent-"] .pt-button:hover { background-color: rgba(255, 255, 255, 0.15) !important; color: #ffffff !important; } -.pt-toast[class*="pt-intent-"] .pt-button:active, .pt-toast[class*="pt-intent-"] .pt-button.pt-active { + .pt-toast[class*="pt-intent-"] .pt-button:active, .pt-toast[class*="pt-intent-"] .pt-button.pt-active { background-color: rgba(255, 255, 255, 0.3) !important; color: #ffffff !important; } -.pt-toast[class*="pt-intent-"] .pt-button::after { + .pt-toast[class*="pt-intent-"] .pt-button::after { background: rgba(255, 255, 255, 0.3) !important; } -.pt-toast.pt-intent-primary { + .pt-toast.pt-intent-primary { background-color: #137cbd; color: #ffffff; } -.pt-toast.pt-intent-success { + .pt-toast.pt-intent-success { background-color: #0f9960; color: #ffffff; } -.pt-toast.pt-intent-warning { + .pt-toast.pt-intent-warning { background-color: #d9822b; color: #ffffff; } -.pt-toast.pt-intent-danger { + .pt-toast.pt-intent-danger { background-color: #db3737; color: #ffffff; } + .pt-toast-message { -webkit-flex: 1 1 auto; flex: 1 1 auto; padding: 11px; } + .pt-toast-container { position: fixed; right: 0; @@ -4470,26 +4982,27 @@ table.pt-table.pt-interactive tbody tr:hover td { z-index: 40; padding: 0 15px 15px; pointer-events: none; } -.pt-toast-container > span { + .pt-toast-container > span { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; } -.pt-toast-container.pt-toast-container-top { + .pt-toast-container.pt-toast-container-top { top: 0; } -.pt-toast-container.pt-toast-container-bottom { + .pt-toast-container.pt-toast-container-bottom { bottom: 0; } -.pt-toast-container.pt-toast-container-bottom > span { + .pt-toast-container.pt-toast-container-bottom > span { -webkit-flex-direction: column-reverse; flex-direction: column-reverse; } -.pt-toast-container.pt-toast-container-left > span { + .pt-toast-container.pt-toast-container-left > span { -webkit-align-items: flex-start; align-items: flex-start; } -.pt-toast-container.pt-toast-container-right > span { + .pt-toast-container.pt-toast-container-right > span { -webkit-align-items: flex-end; align-items: flex-end; } + .pt-toast-container-bottom .pt-toast.pt-toast-enter:not(.pt-toast-enter-active), .pt-toast-container-bottom .pt-toast.pt-toast-enter:not(.pt-toast-enter-active) ~ .pt-toast, .pt-toast-container-bottom .pt-toast.pt-toast-leave-active ~ .pt-toast { @@ -4501,101 +5014,101 @@ table.pt-table.pt-interactive tbody tr:hover td { -webkit-transform: scale(1); transform: scale(1); } -.pt-tooltip .pt-popover-arrow { + .pt-tooltip .pt-popover-arrow { position: absolute; width: 22px; height: 22px; } -.pt-tooltip .pt-popover-arrow::before { + .pt-tooltip .pt-popover-arrow::before { margin: 4px; width: 14px; height: 14px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip { margin-top: -11px; margin-bottom: 11px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow { bottom: -8px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow svg { + .pt-tether-element-attached-bottom.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow svg { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip { margin-left: 11px; } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow { left: -8px; } -.pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow svg { + .pt-tether-element-attached-left.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow svg { -webkit-transform: rotate(0); transform: rotate(0); } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip { margin-top: 11px; } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow { top: -8px; } -.pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow svg { + .pt-tether-element-attached-top.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow svg { -webkit-transform: rotate(90deg); transform: rotate(90deg); } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip { margin-right: 11px; margin-left: -11px; } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow { right: -8px; } -.pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow svg { + .pt-tether-element-attached-right.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow svg { -webkit-transform: rotate(180deg); transform: rotate(180deg); } -.pt-tether-element-attached-middle > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-middle > .pt-tooltip > .pt-popover-arrow { top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); } -.pt-tether-element-attached-center > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-center > .pt-tooltip > .pt-popover-arrow { right: 50%; -webkit-transform: translateX(50%); transform: translateX(50%); } -.pt-tether-element-attached-top.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-top.pt-tether-target-attached-top > .pt-tooltip > .pt-popover-arrow { top: -0.22183px; } -.pt-tether-element-attached-right.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-right.pt-tether-target-attached-right > .pt-tooltip > .pt-popover-arrow { right: -0.22183px; } -.pt-tether-element-attached-left.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-left.pt-tether-target-attached-left > .pt-tooltip > .pt-popover-arrow { left: -0.22183px; } -.pt-tether-element-attached-bottom.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow { + .pt-tether-element-attached-bottom.pt-tether-target-attached-bottom > .pt-tooltip > .pt-popover-arrow { bottom: -0.22183px; } -.pt-tether-element-attached-top.pt-tether-element-attached-left > .pt-tooltip { + .pt-tether-element-attached-top.pt-tether-element-attached-left > .pt-tooltip { -webkit-transform-origin: top left; transform-origin: top left; } -.pt-tether-element-attached-top.pt-tether-element-attached-center > .pt-tooltip { + .pt-tether-element-attached-top.pt-tether-element-attached-center > .pt-tooltip { -webkit-transform-origin: top center; transform-origin: top center; } -.pt-tether-element-attached-top.pt-tether-element-attached-right > .pt-tooltip { + .pt-tether-element-attached-top.pt-tether-element-attached-right > .pt-tooltip { -webkit-transform-origin: top right; transform-origin: top right; } -.pt-tether-element-attached-middle.pt-tether-element-attached-left > .pt-tooltip { + .pt-tether-element-attached-middle.pt-tether-element-attached-left > .pt-tooltip { -webkit-transform-origin: center left; transform-origin: center left; } -.pt-tether-element-attached-middle.pt-tether-element-attached-center > .pt-tooltip { + .pt-tether-element-attached-middle.pt-tether-element-attached-center > .pt-tooltip { -webkit-transform-origin: center center; transform-origin: center center; } -.pt-tether-element-attached-middle.pt-tether-element-attached-right > .pt-tooltip { + .pt-tether-element-attached-middle.pt-tether-element-attached-right > .pt-tooltip { -webkit-transform-origin: center right; transform-origin: center right; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-left > .pt-tooltip { + .pt-tether-element-attached-bottom.pt-tether-element-attached-left > .pt-tooltip { -webkit-transform-origin: bottom left; transform-origin: bottom left; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-center > .pt-tooltip { + .pt-tether-element-attached-bottom.pt-tether-element-attached-center > .pt-tooltip { -webkit-transform-origin: bottom center; transform-origin: bottom center; } -.pt-tether-element-attached-bottom.pt-tether-element-attached-right > .pt-tooltip { + .pt-tether-element-attached-bottom.pt-tether-element-attached-right > .pt-tooltip { -webkit-transform-origin: bottom right; transform-origin: bottom right; } -.pt-tooltip .pt-popover-content { + .pt-tooltip .pt-popover-content { background: #394b59; color: #f5f8fa; } -.pt-tooltip .pt-popover-arrow::before { + .pt-tooltip .pt-popover-arrow::before { box-shadow: 1px 1px 6px rgba(16, 22, 26, 0.2); } -.pt-tooltip .pt-popover-arrow-border { + .pt-tooltip .pt-popover-arrow-border { fill: #10161a; fill-opacity: 0.1; } -.pt-tooltip .pt-popover-arrow-fill { + .pt-tooltip .pt-popover-arrow-fill { fill: #394b59; } -.pt-popover-enter > .pt-tooltip, .pt-popover-appear > .pt-tooltip { + .pt-popover-enter > .pt-tooltip, .pt-popover-appear > .pt-tooltip { -webkit-transform: scale(0.8); transform: scale(0.8); } -.pt-popover-enter-active > .pt-tooltip, .pt-popover-appear-active > .pt-tooltip { + .pt-popover-enter-active > .pt-tooltip, .pt-popover-appear-active > .pt-tooltip { -webkit-transform: scale(1); transform: scale(1); transition-property: -webkit-transform; @@ -4604,10 +5117,10 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-popover-leave > .pt-tooltip { + .pt-popover-leave > .pt-tooltip { -webkit-transform: scale(1); transform: scale(1); } -.pt-popover-leave-active > .pt-tooltip { + .pt-popover-leave-active > .pt-tooltip { -webkit-transform: scale(0.8); transform: scale(0.8); transition-property: -webkit-transform; @@ -4616,47 +5129,49 @@ table.pt-table.pt-interactive tbody tr:hover td { transition-duration: 200ms; transition-timing-function: cubic-bezier(0.4, 1, 0.75, 0.9); transition-delay: 0; } -.pt-tooltip .pt-popover-content { + .pt-tooltip .pt-popover-content { padding: 10px 12px; } -.pt-tooltip.pt-dark, + .pt-tooltip.pt-dark, .pt-dark .pt-tooltip { box-shadow: 0 0 0 1px rgba(16, 22, 26, 0.2), 0 2px 4px rgba(16, 22, 26, 0.4), 0 8px 24px rgba(16, 22, 26, 0.4); } -.pt-tooltip.pt-dark .pt-popover-content, + .pt-tooltip.pt-dark .pt-popover-content, .pt-dark .pt-tooltip .pt-popover-content { background: #e1e8ed; color: #394b59; } -.pt-tooltip.pt-dark .pt-popover-arrow::before, + .pt-tooltip.pt-dark .pt-popover-arrow::before, .pt-dark .pt-tooltip .pt-popover-arrow::before { box-shadow: 1px 1px 6px rgba(16, 22, 26, 0.4); } -.pt-tooltip.pt-dark .pt-popover-arrow-border, + .pt-tooltip.pt-dark .pt-popover-arrow-border, .pt-dark .pt-tooltip .pt-popover-arrow-border { fill: #10161a; fill-opacity: 0.2; } -.pt-tooltip.pt-dark .pt-popover-arrow-fill, + .pt-tooltip.pt-dark .pt-popover-arrow-fill, .pt-dark .pt-tooltip .pt-popover-arrow-fill { fill: #e1e8ed; } -.pt-tooltip.pt-intent-primary .pt-popover-content { + .pt-tooltip.pt-intent-primary .pt-popover-content { background: #137cbd; color: #ffffff; } -.pt-tooltip.pt-intent-primary .pt-popover-arrow-fill { + .pt-tooltip.pt-intent-primary .pt-popover-arrow-fill { fill: #137cbd; } -.pt-tooltip.pt-intent-success .pt-popover-content { + .pt-tooltip.pt-intent-success .pt-popover-content { background: #0f9960; color: #ffffff; } -.pt-tooltip.pt-intent-success .pt-popover-arrow-fill { + .pt-tooltip.pt-intent-success .pt-popover-arrow-fill { fill: #0f9960; } -.pt-tooltip.pt-intent-warning .pt-popover-content { + .pt-tooltip.pt-intent-warning .pt-popover-content { background: #d9822b; color: #ffffff; } -.pt-tooltip.pt-intent-warning .pt-popover-arrow-fill { + .pt-tooltip.pt-intent-warning .pt-popover-arrow-fill { fill: #d9822b; } -.pt-tooltip.pt-intent-danger .pt-popover-content { + .pt-tooltip.pt-intent-danger .pt-popover-content { background: #db3737; color: #ffffff; } -.pt-tooltip.pt-intent-danger .pt-popover-arrow-fill { + .pt-tooltip.pt-intent-danger .pt-popover-arrow-fill { fill: #db3737; } + .pt-popover-target .pt-tooltip { white-space: nowrap; } + .pt-tooltip-indicator { border-bottom: dotted 1px; cursor: help; } @@ -4665,53 +5180,76 @@ table.pt-table.pt-interactive tbody tr:hover td { margin: 0; padding-left: 0; list-style: none; } + .pt-tree-root { position: relative; background-color: transparent; cursor: default; padding-left: 0; } + .pt-tree-node-content-0 { padding-left: 0px; } + .pt-tree-node-content-1 { padding-left: 23px; } + .pt-tree-node-content-2 { padding-left: 46px; } + .pt-tree-node-content-3 { padding-left: 69px; } + .pt-tree-node-content-4 { padding-left: 92px; } + .pt-tree-node-content-5 { padding-left: 115px; } + .pt-tree-node-content-6 { padding-left: 138px; } + .pt-tree-node-content-7 { padding-left: 161px; } + .pt-tree-node-content-8 { padding-left: 184px; } + .pt-tree-node-content-9 { padding-left: 207px; } + .pt-tree-node-content-10 { padding-left: 230px; } + .pt-tree-node-content-11 { padding-left: 253px; } + .pt-tree-node-content-12 { padding-left: 276px; } + .pt-tree-node-content-13 { padding-left: 299px; } + .pt-tree-node-content-14 { padding-left: 322px; } + .pt-tree-node-content-15 { padding-left: 345px; } + .pt-tree-node-content-16 { padding-left: 368px; } + .pt-tree-node-content-17 { padding-left: 391px; } + .pt-tree-node-content-18 { padding-left: 414px; } + .pt-tree-node-content-19 { padding-left: 437px; } + .pt-tree-node-content-20 { padding-left: 460px; } + .pt-tree-node-content { display: -webkit-flex; display: flex; @@ -4720,36 +5258,40 @@ table.pt-table.pt-interactive tbody tr:hover td { width: 100%; height: 30px; padding-right: 5px; } -.pt-tree-node-content:hover { + .pt-tree-node-content:hover { background-color: rgba(191, 204, 214, 0.4); } + .pt-tree-node-caret, .pt-tree-node-caret-none { position: relative; min-width: 30px; line-height: 30px !important; } + .pt-tree-node-caret { color: #5c7080; cursor: pointer; text-align: center; } -.pt-tree-node-caret:hover { + .pt-tree-node-caret:hover { color: #182026; } -.pt-dark .pt-tree-node-caret { + .pt-dark .pt-tree-node-caret { color: #bfccd6; } -.pt-dark .pt-tree-node-caret:hover { + .pt-dark .pt-tree-node-caret:hover { color: #f5f8fa; } -.pt-tree-node-caret::before { + .pt-tree-node-caret::before { display: inline-block; content: "\E695"; transition: -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); transition: transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9), -webkit-transform 200ms cubic-bezier(0.4, 1, 0.75, 0.9); } -.pt-tree-node-caret.pt-tree-node-caret-open::before { + .pt-tree-node-caret.pt-tree-node-caret-open::before { -webkit-transform: rotate(90deg); transform: rotate(90deg); } + .pt-tree-node-icon { position: relative; margin-right: 7px; color: #5c7080; } + .pt-tree-node-label { overflow: hidden; text-overflow: ellipsis; @@ -4762,8 +5304,9 @@ table.pt-table.pt-interactive tbody tr:hover td { -moz-user-select: none; -ms-user-select: none; user-select: none; } -.pt-tree-node-label span { + .pt-tree-node-label span { display: inline; } + .pt-tree-node-secondary-label { padding: 0 5px; line-height: 30px; @@ -4771,17 +5314,20 @@ table.pt-table.pt-interactive tbody tr:hover td { -moz-user-select: none; -ms-user-select: none; user-select: none; } + .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content { background-color: #137cbd; } -.pt-tree-node.pt-tree-node-selected > .pt-tree-node-content, + .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content, .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-icon, .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-icon-standard, .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-icon-large { color: #ffffff; } -.pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-tree-node-caret::before { + .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-tree-node-caret::before { color: rgba(255, 255, 255, 0.7); } -.pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-tree-node-caret:hover::before { + .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content .pt-tree-node-caret:hover::before { color: #ffffff; } + .pt-dark .pt-tree-node-content:hover { background-color: rgba(92, 112, 128, 0.3); } + .pt-dark .pt-tree-node.pt-tree-node-selected > .pt-tree-node-content { background-color: #137cbd; } diff --git a/docs/blueprint-landing.js b/docs/blueprint-landing.js index 27d5f24d35..2de95f3807 100644 --- a/docs/blueprint-landing.js +++ b/docs/blueprint-landing.js @@ -54,8 +54,8 @@ /** * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ __webpack_require__(2); __webpack_require__(16); @@ -87,15 +87,15 @@ /** * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; var core_1 = __webpack_require__(17); core_1.FocusStyleManager.onlyShowFocusOnTabs(); - var Logo = __webpack_require__(256); + var Logo = __webpack_require__(273); Logo.init(document.querySelector("header canvas.pt-logo"), document.querySelector("header canvas.pt-logo-background")); - var SVGs = __webpack_require__(257); + var SVGs = __webpack_require__(274); SVGs.init(document.querySelector(".pt-wireframes")); var copyright = ".pt-copyright .pt-container > div:first-child"; document.querySelector(copyright).innerHTML = "\u00A9 2014\u2013" + new Date().getFullYear() + " Palantir Technologies"; @@ -108,20 +108,20 @@ /* * Copyright 2015 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } __export(__webpack_require__(18)); - __export(__webpack_require__(65)); - var iconClasses_1 = __webpack_require__(253); + __export(__webpack_require__(59)); + var iconClasses_1 = __webpack_require__(270); exports.IconClasses = iconClasses_1.IconClasses; - var iconStrings_1 = __webpack_require__(254); + var iconStrings_1 = __webpack_require__(271); exports.IconContents = iconStrings_1.IconContents; - var interactionMode_1 = __webpack_require__(255); + var interactionMode_1 = __webpack_require__(272); exports.FOCUS_DISABLED_CLASS = "pt-focus-disabled"; var focusEngine = new interactionMode_1.InteractionModeEngine(document.documentElement, exports.FOCUS_DISABLED_CLASS); exports.FocusStyleManager = { @@ -130,7 +130,7 @@ onlyShowFocusOnTabs: function () { return focusEngine.start(); }, }; - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7Ozs7O0FBRUgsaUJBQWMsVUFDZCxDQUFDLEVBRHVCO0FBQ3hCLGlCQUFjLGNBQWMsQ0FBQyxFQUFBO0FBQzdCLDRCQUE0Qix5QkFBeUIsQ0FBQztBQUE3QyxnREFBNkM7QUFDdEQsNEJBQTZCLHlCQUF5QixDQUFDO0FBQTlDLGtEQUE4QztBQUV2RCxnQ0FBc0MsMEJBQTBCLENBQUMsQ0FBQTtBQUVwRCw0QkFBb0IsR0FBRyxtQkFBbUIsQ0FBQztBQUV4RCxJQUFNLFdBQVcsR0FBRyxJQUFJLHVDQUFxQixDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUUsNEJBQW9CLENBQUMsQ0FBQztBQUVqRix5QkFBaUIsR0FBRztJQUM3QixlQUFlLEVBQUUsY0FBTSxPQUFBLFdBQVcsQ0FBQyxJQUFJLEVBQUUsRUFBbEIsQ0FBa0I7SUFDekMsUUFBUSxFQUFFLGNBQU0sT0FBQSxXQUFXLENBQUMsUUFBUSxFQUFFLEVBQXRCLENBQXNCO0lBQ3RDLG1CQUFtQixFQUFFLGNBQU0sT0FBQSxXQUFXLENBQUMsS0FBSyxFQUFFLEVBQW5CLENBQW1CO0NBQ2pELENBQUMiLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vY29tbW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHNcIjtcbmV4cG9ydCB7IEljb25DbGFzc2VzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2ljb25DbGFzc2VzXCI7XG5leHBvcnQgeyBJY29uQ29udGVudHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvaWNvblN0cmluZ3NcIjtcblxuaW1wb3J0IHsgSW50ZXJhY3Rpb25Nb2RlRW5naW5lIH0gZnJvbSBcIi4vY29tbW9uL2ludGVyYWN0aW9uTW9kZVwiO1xuXG5leHBvcnQgY29uc3QgRk9DVVNfRElTQUJMRURfQ0xBU1MgPSBcInB0LWZvY3VzLWRpc2FibGVkXCI7XG5cbmNvbnN0IGZvY3VzRW5naW5lID0gbmV3IEludGVyYWN0aW9uTW9kZUVuZ2luZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIEZPQ1VTX0RJU0FCTEVEX0NMQVNTKTtcblxuZXhwb3J0IGNvbnN0IEZvY3VzU3R5bGVNYW5hZ2VyID0ge1xuICAgIGFsd2F5c1Nob3dGb2N1czogKCkgPT4gZm9jdXNFbmdpbmUuc3RvcCgpLFxuICAgIGlzQWN0aXZlOiAoKSA9PiBmb2N1c0VuZ2luZS5pc0FjdGl2ZSgpLFxuICAgIG9ubHlTaG93Rm9jdXNPblRhYnM6ICgpID0+IGZvY3VzRW5naW5lLnN0YXJ0KCksXG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRzs7Ozs7QUFFSCxpQkFBYyxVQUNkLENBQUMsRUFEdUI7QUFDeEIsaUJBQWMsY0FBYyxDQUFDLEVBQUE7QUFDN0IsNEJBQTRCLHlCQUF5QixDQUFDO0FBQTdDLGdEQUE2QztBQUN0RCw0QkFBNkIseUJBQXlCLENBQUM7QUFBOUMsa0RBQThDO0FBRXZELGdDQUFzQywwQkFBMEIsQ0FBQyxDQUFBO0FBRXBELDRCQUFvQixHQUFHLG1CQUFtQixDQUFDO0FBRXhELElBQU0sV0FBVyxHQUFHLElBQUksdUNBQXFCLENBQUMsUUFBUSxDQUFDLGVBQWUsRUFBRSw0QkFBb0IsQ0FBQyxDQUFDO0FBRWpGLHlCQUFpQixHQUFHO0lBQzdCLGVBQWUsRUFBRSxjQUFNLE9BQUEsV0FBVyxDQUFDLElBQUksRUFBRSxFQUFsQixDQUFrQjtJQUN6QyxRQUFRLEVBQUUsY0FBTSxPQUFBLFdBQVcsQ0FBQyxRQUFRLEVBQUUsRUFBdEIsQ0FBc0I7SUFDdEMsbUJBQW1CLEVBQUUsY0FBTSxPQUFBLFdBQVcsQ0FBQyxLQUFLLEVBQUUsRUFBbkIsQ0FBbUI7Q0FDakQsQ0FBQyIsImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vY29tbW9uXCJcbmV4cG9ydCAqIGZyb20gXCIuL2NvbXBvbmVudHNcIjtcbmV4cG9ydCB7IEljb25DbGFzc2VzIH0gZnJvbSBcIi4vZ2VuZXJhdGVkL2ljb25DbGFzc2VzXCI7XG5leHBvcnQgeyBJY29uQ29udGVudHMgfSBmcm9tIFwiLi9nZW5lcmF0ZWQvaWNvblN0cmluZ3NcIjtcblxuaW1wb3J0IHsgSW50ZXJhY3Rpb25Nb2RlRW5naW5lIH0gZnJvbSBcIi4vY29tbW9uL2ludGVyYWN0aW9uTW9kZVwiO1xuXG5leHBvcnQgY29uc3QgRk9DVVNfRElTQUJMRURfQ0xBU1MgPSBcInB0LWZvY3VzLWRpc2FibGVkXCI7XG5cbmNvbnN0IGZvY3VzRW5naW5lID0gbmV3IEludGVyYWN0aW9uTW9kZUVuZ2luZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIEZPQ1VTX0RJU0FCTEVEX0NMQVNTKTtcblxuZXhwb3J0IGNvbnN0IEZvY3VzU3R5bGVNYW5hZ2VyID0ge1xuICAgIGFsd2F5c1Nob3dGb2N1czogKCkgPT4gZm9jdXNFbmdpbmUuc3RvcCgpLFxuICAgIGlzQWN0aXZlOiAoKSA9PiBmb2N1c0VuZ2luZS5pc0FjdGl2ZSgpLFxuICAgIG9ubHlTaG93Rm9jdXNPblRhYnM6ICgpID0+IGZvY3VzRW5naW5lLnN0YXJ0KCksXG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 /***/ }, @@ -140,28 +140,28 @@ /* * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; function __export(m) { for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } __export(__webpack_require__(19)); - __export(__webpack_require__(57)); - __export(__webpack_require__(58)); - __export(__webpack_require__(59)); - __export(__webpack_require__(60)); - __export(__webpack_require__(62)); - var classes = __webpack_require__(63); - var keys = __webpack_require__(64); - var utils = __webpack_require__(61); + __export(__webpack_require__(51)); + __export(__webpack_require__(52)); + __export(__webpack_require__(53)); + __export(__webpack_require__(54)); + __export(__webpack_require__(56)); + var classes = __webpack_require__(57); + var keys = __webpack_require__(58); + var utils = __webpack_require__(55); exports.Classes = classes; exports.Keys = keys; exports.Utils = utils; // NOTE: Errors is not exported in public API - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOzs7OztBQUVILGlCQUFjLHFCQUFxQixDQUFDLEVBQUE7QUFDcEMsaUJBQWMsVUFBVSxDQUFDLEVBQUE7QUFDekIsaUJBQWMsVUFBVSxDQUFDLEVBQUE7QUFDekIsaUJBQWMsWUFBWSxDQUFDLEVBQUE7QUFDM0IsaUJBQWMsU0FBUyxDQUFDLEVBQUE7QUFDeEIsaUJBQWMsZUFFZCxDQUFDLEVBRjRCO0FBRTdCLElBQVksT0FBTyxXQUFNLG1CQUFtQixDQUFDLENBQUE7QUFDN0MsSUFBWSxJQUFJLFdBQU0sZ0JBQWdCLENBQUMsQ0FBQTtBQUN2QyxJQUFZLEtBQUssV0FBTSxTQUFTLENBQUMsQ0FBQTtBQUVwQixlQUFPLEdBQUcsT0FBTyxDQUFDO0FBQ2xCLFlBQUksR0FBRyxJQUFJLENBQUM7QUFDWixhQUFLLEdBQUcsS0FBSyxDQUFDO0FBQzNCLDZDQUE2QyIsImZpbGUiOiJjb21tb24vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTYgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3RDb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvcHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RldGhlclV0aWxzXCJcblxuaW1wb3J0ICogYXMgY2xhc3NlcyBmcm9tIFwiLi4vY29tbW9uL2NsYXNzZXNcIjtcbmltcG9ydCAqIGFzIGtleXMgZnJvbSBcIi4uL2NvbW1vbi9rZXlzXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY29uc3QgQ2xhc3NlcyA9IGNsYXNzZXM7XG5leHBvcnQgY29uc3QgS2V5cyA9IGtleXM7XG5leHBvcnQgY29uc3QgVXRpbHMgPSB1dGlscztcbi8vIE5PVEU6IEVycm9ycyBpcyBub3QgZXhwb3J0ZWQgaW4gcHVibGljIEFQSVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7Ozs7O0FBRUgsaUJBQWMscUJBQXFCLENBQUMsRUFBQTtBQUNwQyxpQkFBYyxVQUFVLENBQUMsRUFBQTtBQUN6QixpQkFBYyxVQUFVLENBQUMsRUFBQTtBQUN6QixpQkFBYyxZQUFZLENBQUMsRUFBQTtBQUMzQixpQkFBYyxTQUFTLENBQUMsRUFBQTtBQUN4QixpQkFBYyxlQUVkLENBQUMsRUFGNEI7QUFFN0IsSUFBWSxPQUFPLFdBQU0sbUJBQW1CLENBQUMsQ0FBQTtBQUM3QyxJQUFZLElBQUksV0FBTSxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3ZDLElBQVksS0FBSyxXQUFNLFNBQVMsQ0FBQyxDQUFBO0FBRXBCLGVBQU8sR0FBRyxPQUFPLENBQUM7QUFDbEIsWUFBSSxHQUFHLElBQUksQ0FBQztBQUNaLGFBQUssR0FBRyxLQUFLLENBQUM7QUFDM0IsNkNBQTZDIiwiZmlsZSI6ImNvbW1vbi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNiBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vYWJzdHJhY3RDb21wb25lbnRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbG9yc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vaW50ZW50XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3NpdGlvblwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvcHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RldGhlclV0aWxzXCJcblxuaW1wb3J0ICogYXMgY2xhc3NlcyBmcm9tIFwiLi4vY29tbW9uL2NsYXNzZXNcIjtcbmltcG9ydCAqIGFzIGtleXMgZnJvbSBcIi4uL2NvbW1vbi9rZXlzXCI7XG5pbXBvcnQgKiBhcyB1dGlscyBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY29uc3QgQ2xhc3NlcyA9IGNsYXNzZXM7XG5leHBvcnQgY29uc3QgS2V5cyA9IGtleXM7XG5leHBvcnQgY29uc3QgVXRpbHMgPSB1dGlscztcbi8vIE5PVEU6IEVycm9ycyBpcyBub3QgZXhwb3J0ZWQgaW4gcHVibGljIEFQSVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 /***/ }, @@ -171,8 +171,8 @@ /* * Copyright 2015 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; var __extends = (this && this.__extends) || function (d, b) { @@ -211,7 +211,7 @@ }(React.Component)); exports.AbstractComponent = AbstractComponent; - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vYWJzdHJhY3RDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOzs7Ozs7O0FBRUgsSUFBWSxLQUFLLFdBQU0sT0FBTyxDQUFDLENBQUE7QUFFL0I7OztHQUdHO0FBQ0g7SUFBc0QscUNBQXFCO0lBQ3ZFLDJCQUFZLEtBQVMsRUFBRSxPQUFhO1FBQ2hDLGtCQUFNLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRU0scURBQXlCLEdBQWhDLFVBQWlDLFNBQTJDO1FBQ3hFLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVGOzs7Ozs7OztPQVFHO0lBQ1EseUNBQWEsR0FBdkIsVUFBd0IsQ0FBbUM7UUFDdkQsd0JBQXdCO0lBQzVCLENBQUM7O0lBQ0wsd0JBQUM7QUFBRCxDQXRCQSxBQXNCQyxDQXRCcUQsS0FBSyxDQUFDLFNBQVMsR0FzQnBFO0FBdEJxQix5QkFBaUIsb0JBc0J0QyxDQUFBIiwiZmlsZSI6ImNvbW1vbi9hYnN0cmFjdENvbXBvbmVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBjb21wb25lbnQgdGhhdCBCbHVlcHJpbnQgY29tcG9uZW50cyBjYW4gZXh0ZW5kXG4gKiBpbiBvcmRlciB0byBhZGQgc29tZSBjb21tb24gZnVuY3Rpb25hbGl0eSBsaWtlIHJ1bnRpbWUgcHJvcHMgdmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29tcG9uZW50PFAsIFM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFAsIFM+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcz86IFAsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlUHJvcHModGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzOiBQICYge2NoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlfSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlUHJvcHMobmV4dFByb3BzKTtcbiAgICB9XG5cbiAgIC8qKlxuICAgICogRW5zdXJlcyB0aGF0IHRoZSBwcm9wcyBzcGVjaWZpZWQgZm9yIGEgY29tcG9uZW50IGFyZSB2YWxpZC5cbiAgICAqIEltcGxlbWVudGF0aW9ucyBzaG91bGQgY2hlY2sgdGhhdCBwcm9wcyBhcmUgdmFsaWQgYW5kIHVzdWFsbHkgdGhyb3cgYW4gRXJyb3IgaWYgdGhleSBhcmUgbm90LlxuICAgICogSW1wbGVtZW50YXRpb25zIHNob3VsZCBub3QgZHVwbGljYXRlIGNoZWNrcyB0aGF0IHRoZSB0eXBlIHN5c3RlbSBhbHJlYWR5IGd1YXJhbnRlZXMuXG4gICAgKlxuICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBSZWFjdCdzXG4gICAgKiBbcHJvcFR5cGVzXShodHRwczovL2ZhY2Vib29rLmdpdGh1Yi5pby9yZWFjdC9kb2NzL3JldXNhYmxlLWNvbXBvbmVudHMuaHRtbCNwcm9wLXZhbGlkYXRpb24pIGZlYXR1cmUuXG4gICAgKiBJbiBjb250cmFzdCB0byBwcm9wVHlwZXMsIHRoZXNlIHJ1bnRpbWUgY2hlY2tzIGFyZSBfYWx3YXlzXyBydW4sIG5vdCBqdXN0IGluIGRldmVsb3BtZW50IG1vZGUuXG4gICAgKi9cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGVQcm9wcyhfOiBQICYge2NoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlfSkge1xuICAgICAgICAvLyBpbXBsZW1lbnQgaW4gc3ViY2xhc3NcbiAgICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vYWJzdHJhY3RDb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7Ozs7Ozs7QUFFSCxJQUFZLEtBQUssV0FBTSxPQUFPLENBQUMsQ0FBQTtBQUUvQjs7O0dBR0c7QUFDSDtJQUFzRCxxQ0FBcUI7SUFDdkUsMkJBQVksS0FBUyxFQUFFLE9BQWE7UUFDaEMsa0JBQU0sS0FBSyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFTSxxREFBeUIsR0FBaEMsVUFBaUMsU0FBMkM7UUFDeEUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUY7Ozs7Ozs7O09BUUc7SUFDUSx5Q0FBYSxHQUF2QixVQUF3QixDQUFtQztRQUN2RCx3QkFBd0I7SUFDNUIsQ0FBQzs7SUFDTCx3QkFBQztBQUFELENBdEJBLEFBc0JDLENBdEJxRCxLQUFLLENBQUMsU0FBUyxHQXNCcEU7QUF0QnFCLHlCQUFpQixvQkFzQnRDLENBQUEiLCJmaWxlIjoiY29tbW9uL2Fic3RyYWN0Q29tcG9uZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuLyoqXG4gKiBBbiBhYnN0cmFjdCBjb21wb25lbnQgdGhhdCBCbHVlcHJpbnQgY29tcG9uZW50cyBjYW4gZXh0ZW5kXG4gKiBpbiBvcmRlciB0byBhZGQgc29tZSBjb21tb24gZnVuY3Rpb25hbGl0eSBsaWtlIHJ1bnRpbWUgcHJvcHMgdmFsaWRhdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0Q29tcG9uZW50PFAsIFM+IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PFAsIFM+IHtcbiAgICBjb25zdHJ1Y3Rvcihwcm9wcz86IFAsIGNvbnRleHQ/OiBhbnkpIHtcbiAgICAgICAgc3VwZXIocHJvcHMsIGNvbnRleHQpO1xuICAgICAgICB0aGlzLnZhbGlkYXRlUHJvcHModGhpcy5wcm9wcyk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbXBvbmVudFdpbGxSZWNlaXZlUHJvcHMobmV4dFByb3BzOiBQICYge2NoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlfSkge1xuICAgICAgICB0aGlzLnZhbGlkYXRlUHJvcHMobmV4dFByb3BzKTtcbiAgICB9XG5cbiAgIC8qKlxuICAgICogRW5zdXJlcyB0aGF0IHRoZSBwcm9wcyBzcGVjaWZpZWQgZm9yIGEgY29tcG9uZW50IGFyZSB2YWxpZC5cbiAgICAqIEltcGxlbWVudGF0aW9ucyBzaG91bGQgY2hlY2sgdGhhdCBwcm9wcyBhcmUgdmFsaWQgYW5kIHVzdWFsbHkgdGhyb3cgYW4gRXJyb3IgaWYgdGhleSBhcmUgbm90LlxuICAgICogSW1wbGVtZW50YXRpb25zIHNob3VsZCBub3QgZHVwbGljYXRlIGNoZWNrcyB0aGF0IHRoZSB0eXBlIHN5c3RlbSBhbHJlYWR5IGd1YXJhbnRlZXMuXG4gICAgKlxuICAgICogVGhpcyBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZCBvZiBSZWFjdCdzXG4gICAgKiBbcHJvcFR5cGVzXShodHRwczovL2ZhY2Vib29rLmdpdGh1Yi5pby9yZWFjdC9kb2NzL3JldXNhYmxlLWNvbXBvbmVudHMuaHRtbCNwcm9wLXZhbGlkYXRpb24pIGZlYXR1cmUuXG4gICAgKiBJbiBjb250cmFzdCB0byBwcm9wVHlwZXMsIHRoZXNlIHJ1bnRpbWUgY2hlY2tzIGFyZSBfYWx3YXlzXyBydW4sIG5vdCBqdXN0IGluIGRldmVsb3BtZW50IG1vZGUuXG4gICAgKi9cbiAgICBwcm90ZWN0ZWQgdmFsaWRhdGVQcm9wcyhfOiBQICYge2NoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlfSkge1xuICAgICAgICAvLyBpbXBsZW1lbnQgaW4gc3ViY2xhc3NcbiAgICB9O1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 /***/ }, @@ -235,7 +235,6 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule React */ 'use strict'; @@ -243,22 +242,23 @@ var _assign = __webpack_require__(23); var ReactChildren = __webpack_require__(24); - var ReactComponent = __webpack_require__(35); - var ReactClass = __webpack_require__(46); - var ReactDOMFactories = __webpack_require__(51); - var ReactElement = __webpack_require__(27); - var ReactElementValidator = __webpack_require__(52); - var ReactPropTypes = __webpack_require__(54); - var ReactVersion = __webpack_require__(55); + var ReactComponent = __webpack_require__(37); + var ReactPureComponent = __webpack_require__(40); + var ReactClass = __webpack_require__(41); + var ReactDOMFactories = __webpack_require__(43); + var ReactElement = __webpack_require__(28); + var ReactPropTypes = __webpack_require__(48); + var ReactVersion = __webpack_require__(49); - var onlyChild = __webpack_require__(56); - var warning = __webpack_require__(29); + var onlyChild = __webpack_require__(50); + var warning = __webpack_require__(30); var createElement = ReactElement.createElement; var createFactory = ReactElement.createFactory; var cloneElement = ReactElement.cloneElement; if (process.env.NODE_ENV !== 'production') { + var ReactElementValidator = __webpack_require__(44); createElement = ReactElementValidator.createElement; createFactory = ReactElementValidator.createFactory; cloneElement = ReactElementValidator.cloneElement; @@ -288,6 +288,7 @@ }, Component: ReactComponent, + PureComponent: ReactPureComponent, createElement: createElement, cloneElement: cloneElement, @@ -603,16 +604,15 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactChildren */ 'use strict'; var PooledClass = __webpack_require__(25); - var ReactElement = __webpack_require__(27); + var ReactElement = __webpack_require__(28); - var emptyFunction = __webpack_require__(30); - var traverseAllChildren = __webpack_require__(32); + var emptyFunction = __webpack_require__(31); + var traverseAllChildren = __webpack_require__(34); var twoArgumentPooler = PooledClass.twoArgumentPooler; var fourArgumentPooler = PooledClass.fourArgumentPooler; @@ -643,8 +643,8 @@ PooledClass.addPoolingTo(ForEachBookKeeping, twoArgumentPooler); function forEachSingleChild(bookKeeping, child, name) { - var func = bookKeeping.func; - var context = bookKeeping.context; + var func = bookKeeping.func, + context = bookKeeping.context; func.call(context, child, bookKeeping.count++); } @@ -696,10 +696,10 @@ PooledClass.addPoolingTo(MapBookKeeping, fourArgumentPooler); function mapSingleChildIntoContext(bookKeeping, child, childKey) { - var result = bookKeeping.result; - var keyPrefix = bookKeeping.keyPrefix; - var func = bookKeeping.func; - var context = bookKeeping.context; + var result = bookKeeping.result, + keyPrefix = bookKeeping.keyPrefix, + func = bookKeeping.func, + context = bookKeeping.context; var mappedChild = func.call(context, child, bookKeeping.count++); @@ -799,12 +799,14 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule PooledClass + * */ 'use strict'; - var invariant = __webpack_require__(26); + var _prodInvariant = __webpack_require__(26); + + var invariant = __webpack_require__(27); /** * Static poolers. Several custom versions for each potential number of @@ -870,7 +872,7 @@ var standardReleaser = function (instance) { var Klass = this; - !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : invariant(false) : void 0; + !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; instance.destructor(); if (Klass.instancePool.length < Klass.poolSize) { Klass.instancePool.push(instance); @@ -884,12 +886,14 @@ * Augments `CopyConstructor` to be a poolable class, augmenting only the class * itself (statically) not adding any prototypical fields. Any CopyConstructor * you give this may have a `poolSize` property, and will look for a - * prototypical `destructor` on instances (optional). + * prototypical `destructor` on instances. * * @param {Function} CopyConstructor Constructor that can be used to reset. * @param {Function} pooler Customizable pooler. */ var addPoolingTo = function (CopyConstructor, pooler) { + // Casting as any so that flow ignores the actual implementation and trusts + // it to match the type we declared var NewKlass = CopyConstructor; NewKlass.instancePool = []; NewKlass.getPooled = pooler || DEFAULT_POOLER; @@ -914,6 +918,49 @@ /***/ }, /* 26 */ +/***/ function(module, exports) { + + /** + * Copyright (c) 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ + 'use strict'; + + /** + * WARNING: DO NOT manually require this module. + * This is a replacement for `invariant(...)` used by the error code system + * and will _only_ be required by the corresponding babel pass. + * It always throws. + */ + + function reactProdInvariant(code) { + var argCount = arguments.length - 1; + + var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; + + for (var argIdx = 0; argIdx < argCount; argIdx++) { + message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); + } + + message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; + + var error = new Error(message); + error.name = 'Invariant Violation'; + error.framesToPop = 1; // we don't care about reactProdInvariant's own frame + + throw error; + } + + module.exports = reactProdInvariant; + +/***/ }, +/* 27 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -968,7 +1015,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 27 */ +/* 28 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -979,21 +1026,19 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactElement */ 'use strict'; var _assign = __webpack_require__(23); - var ReactCurrentOwner = __webpack_require__(28); + var ReactCurrentOwner = __webpack_require__(29); - var warning = __webpack_require__(29); - var canDefineProperty = __webpack_require__(31); + var warning = __webpack_require__(30); + var canDefineProperty = __webpack_require__(32); + var hasOwnProperty = Object.prototype.hasOwnProperty; - // The Symbol used to tag the ReactElement type. If there is no native Symbol - // nor polyfill, then a plain number is used for performance. - var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7; + var REACT_ELEMENT_TYPE = __webpack_require__(33); var RESERVED_PROPS = { key: true, @@ -1004,6 +1049,58 @@ var specialPropKeyWarningShown, specialPropRefWarningShown; + function hasValidRef(config) { + if (process.env.NODE_ENV !== 'production') { + if (hasOwnProperty.call(config, 'ref')) { + var getter = Object.getOwnPropertyDescriptor(config, 'ref').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.ref !== undefined; + } + + function hasValidKey(config) { + if (process.env.NODE_ENV !== 'production') { + if (hasOwnProperty.call(config, 'key')) { + var getter = Object.getOwnPropertyDescriptor(config, 'key').get; + if (getter && getter.isReactWarning) { + return false; + } + } + } + return config.key !== undefined; + } + + function defineKeyPropWarningGetter(props, displayName) { + var warnAboutAccessingKey = function () { + if (!specialPropKeyWarningShown) { + specialPropKeyWarningShown = true; + process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; + } + }; + warnAboutAccessingKey.isReactWarning = true; + Object.defineProperty(props, 'key', { + get: warnAboutAccessingKey, + configurable: true + }); + } + + function defineRefPropWarningGetter(props, displayName) { + var warnAboutAccessingRef = function () { + if (!specialPropRefWarningShown) { + specialPropRefWarningShown = true; + process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', displayName) : void 0; + } + }; + warnAboutAccessingRef.isReactWarning = true; + Object.defineProperty(props, 'ref', { + get: warnAboutAccessingRef, + configurable: true + }); + } + /** * Factory method to create a new React element. This no longer adheres to * the class pattern, so do not use new to call it. Also, no instanceof check @@ -1102,23 +1199,18 @@ var source = null; if (config != null) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning( - /* eslint-disable no-proto */ - config.__proto__ == null || config.__proto__ === Object.prototype, - /* eslint-enable no-proto */ - 'React.createElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0; - ref = !config.hasOwnProperty('ref') || Object.getOwnPropertyDescriptor(config, 'ref').get ? null : config.ref; - key = !config.hasOwnProperty('key') || Object.getOwnPropertyDescriptor(config, 'key').get ? null : '' + config.key; - } else { - ref = config.ref === undefined ? null : config.ref; - key = config.key === undefined ? null : '' + config.key; + if (hasValidRef(config)) { + ref = config.ref; + } + if (hasValidKey(config)) { + key = '' + config.key; } + self = config.__self === undefined ? null : config.__self; source = config.__source === undefined ? null : config.__source; // Remaining properties are added to a new props object for (propName in config) { - if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { props[propName] = config[propName]; } } @@ -1134,6 +1226,11 @@ for (var i = 0; i < childrenLength; i++) { childArray[i] = arguments[i + 2]; } + if (process.env.NODE_ENV !== 'production') { + if (Object.freeze) { + Object.freeze(childArray); + } + } props.children = childArray; } @@ -1147,32 +1244,15 @@ } } if (process.env.NODE_ENV !== 'production') { - // Create dummy `key` and `ref` property to `props` to warn users - // against its use - if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { - if (!props.hasOwnProperty('key')) { - Object.defineProperty(props, 'key', { - get: function () { - if (!specialPropKeyWarningShown) { - specialPropKeyWarningShown = true; - process.env.NODE_ENV !== 'production' ? warning(false, '%s: `key` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; - } - return undefined; - }, - configurable: true - }); - } - if (!props.hasOwnProperty('ref')) { - Object.defineProperty(props, 'ref', { - get: function () { - if (!specialPropRefWarningShown) { - specialPropRefWarningShown = true; - process.env.NODE_ENV !== 'production' ? warning(false, '%s: `ref` is not a prop. Trying to access it will result ' + 'in `undefined` being returned. If you need to access the same ' + 'value within the child component, you should pass it as a different ' + 'prop. (https://fb.me/react-special-props)', typeof type === 'function' && 'displayName' in type ? type.displayName : 'Element') : void 0; - } - return undefined; - }, - configurable: true - }); + if (key || ref) { + if (typeof props.$$typeof === 'undefined' || props.$$typeof !== REACT_ELEMENT_TYPE) { + var displayName = typeof type === 'function' ? type.displayName || type.name || 'Unknown' : type; + if (key) { + defineKeyPropWarningGetter(props, displayName); + } + if (ref) { + defineRefPropWarningGetter(props, displayName); + } } } } @@ -1224,28 +1304,22 @@ var owner = element._owner; if (config != null) { - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning( - /* eslint-disable no-proto */ - config.__proto__ == null || config.__proto__ === Object.prototype, - /* eslint-enable no-proto */ - 'React.cloneElement(...): Expected props argument to be a plain object. ' + 'Properties defined in its prototype chain will be ignored.') : void 0; - } - if (config.ref !== undefined) { + if (hasValidRef(config)) { // Silently steal the ref from the parent. ref = config.ref; owner = ReactCurrentOwner.current; } - if (config.key !== undefined) { + if (hasValidKey(config)) { key = '' + config.key; } + // Remaining properties override existing props var defaultProps; if (element.type && element.type.defaultProps) { defaultProps = element.type.defaultProps; } for (propName in config) { - if (config.hasOwnProperty(propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { + if (hasOwnProperty.call(config, propName) && !RESERVED_PROPS.hasOwnProperty(propName)) { if (config[propName] === undefined && defaultProps !== undefined) { // Resolve default props props[propName] = defaultProps[propName]; @@ -1287,7 +1361,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 28 */ +/* 29 */ /***/ function(module, exports) { /** @@ -1298,7 +1372,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactCurrentOwner + * */ 'use strict'; @@ -1309,7 +1383,6 @@ * The current owner is the component who should own any components that are * currently being constructed. */ - var ReactCurrentOwner = { /** @@ -1323,7 +1396,7 @@ module.exports = ReactCurrentOwner; /***/ }, -/* 29 */ +/* 30 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1338,7 +1411,7 @@ 'use strict'; - var emptyFunction = __webpack_require__(30); + var emptyFunction = __webpack_require__(31); /** * Similar to invariant but only logs a warning if the condition is not met. @@ -1395,7 +1468,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 30 */ +/* 31 */ /***/ function(module, exports) { "use strict"; @@ -1438,7 +1511,7 @@ module.exports = emptyFunction; /***/ }, -/* 31 */ +/* 32 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1449,7 +1522,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule canDefineProperty + * */ 'use strict'; @@ -1457,6 +1530,7 @@ var canDefineProperty = false; if (process.env.NODE_ENV !== 'production') { try { + // $FlowFixMe https://github.com/facebook/flow/issues/285 Object.defineProperty({}, 'x', { get: function () {} }); canDefineProperty = true; } catch (x) { @@ -1468,7 +1542,31 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 32 */ +/* 33 */ +/***/ function(module, exports) { + + /** + * Copyright 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ + + 'use strict'; + + // The Symbol used to tag the ReactElement type. If there is no native Symbol + // nor polyfill, then a plain number is used for performance. + + var REACT_ELEMENT_TYPE = typeof Symbol === 'function' && Symbol['for'] && Symbol['for']('react.element') || 0xeac7; + + module.exports = REACT_ELEMENT_TYPE; + +/***/ }, +/* 34 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1479,22 +1577,29 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule traverseAllChildren */ 'use strict'; - var ReactCurrentOwner = __webpack_require__(28); - var ReactElement = __webpack_require__(27); + var _prodInvariant = __webpack_require__(26); + + var ReactCurrentOwner = __webpack_require__(29); + var REACT_ELEMENT_TYPE = __webpack_require__(33); - var getIteratorFn = __webpack_require__(33); - var invariant = __webpack_require__(26); - var KeyEscapeUtils = __webpack_require__(34); - var warning = __webpack_require__(29); + var getIteratorFn = __webpack_require__(35); + var invariant = __webpack_require__(27); + var KeyEscapeUtils = __webpack_require__(36); + var warning = __webpack_require__(30); var SEPARATOR = '.'; var SUBSEPARATOR = ':'; + /** + * This is inlined from ReactElement since this file is shared between + * isomorphic and renderers. We could extract this to a + * + */ + /** * TODO: Test that a single child and an array with one item have the same key * pattern. @@ -1536,7 +1641,10 @@ children = null; } - if (children === null || type === 'string' || type === 'number' || ReactElement.isValidElement(children)) { + if (children === null || type === 'string' || type === 'number' || + // The following is inlined from ReactElement. This means we can optimize + // some checks. React Fiber also inlines this logic for similar purposes. + type === 'object' && children.$$typeof === REACT_ELEMENT_TYPE) { callback(traverseContext, children, // If it's the only child, treat the name as if it was wrapped in an array // so that it's consistent if the number of children grows. @@ -1569,7 +1677,14 @@ } } else { if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.') : void 0; + var mapsAsChildrenAddendum = ''; + if (ReactCurrentOwner.current) { + var mapsAsChildrenOwnerName = ReactCurrentOwner.current.getName(); + if (mapsAsChildrenOwnerName) { + mapsAsChildrenAddendum = ' Check the render method of `' + mapsAsChildrenOwnerName + '`.'; + } + } + process.env.NODE_ENV !== 'production' ? warning(didWarnAboutMaps, 'Using Maps as children is not yet fully supported. It is an ' + 'experimental feature that might be removed. Convert it to a ' + 'sequence / iterable of keyed ReactElements instead.%s', mapsAsChildrenAddendum) : void 0; didWarnAboutMaps = true; } // Iterator will provide entry [k,v] tuples rather than values. @@ -1597,7 +1712,7 @@ } } var childrenString = String(children); - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : invariant(false) : void 0; + true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Objects are not valid as a React child (found: %s).%s', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : _prodInvariant('31', childrenString === '[object Object]' ? 'object with keys {' + Object.keys(children).join(', ') + '}' : childrenString, addendum) : void 0; } } @@ -1632,7 +1747,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 33 */ +/* 35 */ /***/ function(module, exports) { /** @@ -1643,7 +1758,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule getIteratorFn + * */ 'use strict'; @@ -1677,7 +1792,7 @@ module.exports = getIteratorFn; /***/ }, -/* 34 */ +/* 36 */ /***/ function(module, exports) { /** @@ -1688,7 +1803,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule KeyEscapeUtils + * */ 'use strict'; @@ -1696,7 +1811,7 @@ /** * Escape and wrap key so it is safe to use as a reactid * - * @param {*} key to be escaped. + * @param {string} key to be escaped. * @return {string} the escaped key. */ @@ -1740,7 +1855,7 @@ module.exports = KeyEscapeUtils; /***/ }, -/* 35 */ +/* 37 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1751,18 +1866,18 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactComponent */ 'use strict'; - var ReactNoopUpdateQueue = __webpack_require__(36); - var ReactInstrumentation = __webpack_require__(37); + var _prodInvariant = __webpack_require__(26); - var canDefineProperty = __webpack_require__(31); - var emptyObject = __webpack_require__(45); - var invariant = __webpack_require__(26); - var warning = __webpack_require__(29); + var ReactNoopUpdateQueue = __webpack_require__(38); + + var canDefineProperty = __webpack_require__(32); + var emptyObject = __webpack_require__(39); + var invariant = __webpack_require__(27); + var warning = __webpack_require__(30); /** * Base class helpers for the updating state of a component. @@ -1804,11 +1919,7 @@ * @protected */ ReactComponent.prototype.setState = function (partialState, callback) { - !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a ' + 'function which returns an object of state variables.') : invariant(false) : void 0; - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onSetState(); - process.env.NODE_ENV !== 'production' ? warning(partialState != null, 'setState(...): You passed an undefined or null state object; ' + 'instead, use forceUpdate().') : void 0; - } + !(typeof partialState === 'object' || typeof partialState === 'function' || partialState == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'setState(...): takes an object of state variables to update or a function which returns an object of state variables.') : _prodInvariant('85') : void 0; this.updater.enqueueSetState(this, partialState); if (callback) { this.updater.enqueueCallback(this, callback, 'setState'); @@ -1867,7 +1978,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 36 */ +/* 38 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -1878,16 +1989,16 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactNoopUpdateQueue */ 'use strict'; - var warning = __webpack_require__(29); + var warning = __webpack_require__(30); - function warnTDZ(publicInstance, callerName) { + function warnNoop(publicInstance, callerName) { if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, publicInstance.constructor && publicInstance.constructor.displayName || '') : void 0; + var constructor = publicInstance.constructor; + process.env.NODE_ENV !== 'production' ? warning(false, '%s(...): Can only update a mounted or mounting component. ' + 'This usually means you called %s() on an unmounted component. ' + 'This is a no-op. Please check the code for the %s component.', callerName, callerName, constructor && (constructor.displayName || constructor.name) || 'ReactClass') : void 0; } } @@ -1931,7 +2042,7 @@ * @internal */ enqueueForceUpdate: function (publicInstance) { - warnTDZ(publicInstance, 'forceUpdate'); + warnNoop(publicInstance, 'forceUpdate'); }, /** @@ -1946,7 +2057,7 @@ * @internal */ enqueueReplaceState: function (publicInstance, completeState) { - warnTDZ(publicInstance, 'replaceState'); + warnNoop(publicInstance, 'replaceState'); }, /** @@ -1960,7 +2071,7 @@ * @internal */ enqueueSetState: function (publicInstance, partialState) { - warnTDZ(publicInstance, 'setState'); + warnNoop(publicInstance, 'setState'); } }; @@ -1968,1462 +2079,1663 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 37 */ +/* 39 */ /***/ function(module, exports, __webpack_require__) { - /** - * Copyright 2016-present, Facebook, Inc. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactInstrumentation */ 'use strict'; - var ReactDebugTool = __webpack_require__(38); + var emptyObject = {}; + + if (process.env.NODE_ENV !== 'production') { + Object.freeze(emptyObject); + } - module.exports = { debugTool: ReactDebugTool }; + module.exports = emptyObject; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 38 */ +/* 40 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. + /** + * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDebugTool */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(39); + var _assign = __webpack_require__(23); - var performanceNow = __webpack_require__(40); - var warning = __webpack_require__(29); + var ReactComponent = __webpack_require__(37); + var ReactNoopUpdateQueue = __webpack_require__(38); - var eventHandlers = []; - var handlerDoesThrowForEvent = {}; + var emptyObject = __webpack_require__(39); - function emitEvent(handlerFunctionName, arg1, arg2, arg3, arg4, arg5) { - if (process.env.NODE_ENV !== 'production') { - eventHandlers.forEach(function (handler) { - try { - if (handler[handlerFunctionName]) { - handler[handlerFunctionName](arg1, arg2, arg3, arg4, arg5); - } - } catch (e) { - process.env.NODE_ENV !== 'production' ? warning(!handlerDoesThrowForEvent[handlerFunctionName], 'exception thrown by devtool while handling %s: %s', handlerFunctionName, e.message) : void 0; - handlerDoesThrowForEvent[handlerFunctionName] = true; - } - }); - } + /** + * Base class helpers for the updating state of a component. + */ + function ReactPureComponent(props, context, updater) { + // Duplicated from ReactComponent. + this.props = props; + this.context = context; + this.refs = emptyObject; + // We initialize the default updater but the real one gets injected by the + // renderer. + this.updater = updater || ReactNoopUpdateQueue; } - var isProfiling = false; - var flushHistory = []; - var currentFlushNesting = 0; - var currentFlushMeasurements = null; - var currentFlushStartTime = null; - var currentTimerDebugID = null; - var currentTimerStartTime = null; - var currentTimerType = null; + function ComponentDummy() {} + ComponentDummy.prototype = ReactComponent.prototype; + ReactPureComponent.prototype = new ComponentDummy(); + ReactPureComponent.prototype.constructor = ReactPureComponent; + // Avoid an extra prototype jump for these methods. + _assign(ReactPureComponent.prototype, ReactComponent.prototype); + ReactPureComponent.prototype.isPureReactComponent = true; - function clearHistory() { - ReactComponentTreeDevtool.purgeUnmountedComponents(); - ReactNativeOperationHistoryDevtool.clearHistory(); - } + module.exports = ReactPureComponent; - function getTreeSnapshot(registeredIDs) { - return registeredIDs.reduce(function (tree, id) { - var ownerID = ReactComponentTreeDevtool.getOwnerID(id); - var parentID = ReactComponentTreeDevtool.getParentID(id); - tree[id] = { - displayName: ReactComponentTreeDevtool.getDisplayName(id), - text: ReactComponentTreeDevtool.getText(id), - updateCount: ReactComponentTreeDevtool.getUpdateCount(id), - childIDs: ReactComponentTreeDevtool.getChildIDs(id), - // Text nodes don't have owners but this is close enough. - ownerID: ownerID || ReactComponentTreeDevtool.getOwnerID(parentID), - parentID: parentID - }; - return tree; - }, {}); - } +/***/ }, +/* 41 */ +/***/ function(module, exports, __webpack_require__) { - function resetMeasurements() { - if (process.env.NODE_ENV !== 'production') { - var previousStartTime = currentFlushStartTime; - var previousMeasurements = currentFlushMeasurements || []; - var previousOperations = ReactNativeOperationHistoryDevtool.getHistory(); - - if (!isProfiling || currentFlushNesting === 0) { - currentFlushStartTime = null; - currentFlushMeasurements = null; - clearHistory(); - return; - } + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ - if (previousMeasurements.length || previousOperations.length) { - var registeredIDs = ReactComponentTreeDevtool.getRegisteredIDs(); - flushHistory.push({ - duration: performanceNow() - previousStartTime, - measurements: previousMeasurements || [], - operations: previousOperations || [], - treeSnapshot: getTreeSnapshot(registeredIDs) - }); - } + 'use strict'; - clearHistory(); - currentFlushStartTime = performanceNow(); - currentFlushMeasurements = []; - } - } + var _prodInvariant = __webpack_require__(26), + _assign = __webpack_require__(23); - function checkDebugID(debugID) { - process.env.NODE_ENV !== 'production' ? warning(debugID, 'ReactDebugTool: debugID may not be empty.') : void 0; + var ReactComponent = __webpack_require__(37); + var ReactElement = __webpack_require__(28); + var ReactPropTypeLocationNames = __webpack_require__(42); + var ReactNoopUpdateQueue = __webpack_require__(38); + + var emptyObject = __webpack_require__(39); + var invariant = __webpack_require__(27); + var warning = __webpack_require__(30); + + var MIXINS_KEY = 'mixins'; + + // Helper function to allow the creation of anonymous functions which do not + // have .name set to the name of the variable being assigned to. + function identity(fn) { + return fn; } - var ReactDebugTool = { - addDevtool: function (devtool) { - eventHandlers.push(devtool); - }, - removeDevtool: function (devtool) { - for (var i = 0; i < eventHandlers.length; i++) { - if (eventHandlers[i] === devtool) { - eventHandlers.splice(i, 1); - i--; - } - } - }, - beginProfiling: function () { - if (process.env.NODE_ENV !== 'production') { - if (isProfiling) { - return; - } + /** + * Policies that describe methods in `ReactClassInterface`. + */ - isProfiling = true; - flushHistory.length = 0; - resetMeasurements(); - } - }, - endProfiling: function () { - if (process.env.NODE_ENV !== 'production') { - if (!isProfiling) { - return; - } - isProfiling = false; - resetMeasurements(); - } - }, - getFlushHistory: function () { - if (process.env.NODE_ENV !== 'production') { - return flushHistory; - } - }, - onBeginFlush: function () { - if (process.env.NODE_ENV !== 'production') { - currentFlushNesting++; - resetMeasurements(); - } - emitEvent('onBeginFlush'); - }, - onEndFlush: function () { - if (process.env.NODE_ENV !== 'production') { - resetMeasurements(); - currentFlushNesting--; - } - emitEvent('onEndFlush'); - }, - onBeginLifeCycleTimer: function (debugID, timerType) { - checkDebugID(debugID); - emitEvent('onBeginLifeCycleTimer', debugID, timerType); - if (process.env.NODE_ENV !== 'production') { - if (isProfiling && currentFlushNesting > 0) { - process.env.NODE_ENV !== 'production' ? warning(!currentTimerType, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; - currentTimerStartTime = performanceNow(); - currentTimerDebugID = debugID; - currentTimerType = timerType; - } - } - }, - onEndLifeCycleTimer: function (debugID, timerType) { - checkDebugID(debugID); - if (process.env.NODE_ENV !== 'production') { - if (isProfiling && currentFlushNesting > 0) { - process.env.NODE_ENV !== 'production' ? warning(currentTimerType === timerType, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; - currentFlushMeasurements.push({ - timerType: timerType, - instanceID: debugID, - duration: performanceNow() - currentTimerStartTime - }); - currentTimerStartTime = null; - currentTimerDebugID = null; - currentTimerType = null; - } - } - emitEvent('onEndLifeCycleTimer', debugID, timerType); - }, - onBeginReconcilerTimer: function (debugID, timerType) { - checkDebugID(debugID); - emitEvent('onBeginReconcilerTimer', debugID, timerType); - }, - onEndReconcilerTimer: function (debugID, timerType) { - checkDebugID(debugID); - emitEvent('onEndReconcilerTimer', debugID, timerType); - }, - onBeginProcessingChildContext: function () { - emitEvent('onBeginProcessingChildContext'); - }, - onEndProcessingChildContext: function () { - emitEvent('onEndProcessingChildContext'); - }, - onNativeOperation: function (debugID, type, payload) { - checkDebugID(debugID); - emitEvent('onNativeOperation', debugID, type, payload); - }, - onSetState: function () { - emitEvent('onSetState'); - }, - onSetDisplayName: function (debugID, displayName) { - checkDebugID(debugID); - emitEvent('onSetDisplayName', debugID, displayName); - }, - onSetChildren: function (debugID, childDebugIDs) { - checkDebugID(debugID); - emitEvent('onSetChildren', debugID, childDebugIDs); - }, - onSetOwner: function (debugID, ownerDebugID) { - checkDebugID(debugID); - emitEvent('onSetOwner', debugID, ownerDebugID); - }, - onSetText: function (debugID, text) { - checkDebugID(debugID); - emitEvent('onSetText', debugID, text); - }, - onMountRootComponent: function (debugID) { - checkDebugID(debugID); - emitEvent('onMountRootComponent', debugID); - }, - onMountComponent: function (debugID) { - checkDebugID(debugID); - emitEvent('onMountComponent', debugID); - }, - onUpdateComponent: function (debugID) { - checkDebugID(debugID); - emitEvent('onUpdateComponent', debugID); - }, - onUnmountComponent: function (debugID) { - checkDebugID(debugID); - emitEvent('onUnmountComponent', debugID); - } - }; - - if (process.env.NODE_ENV !== 'production') { - var ReactInvalidSetStateWarningDevTool = __webpack_require__(42); - var ReactNativeOperationHistoryDevtool = __webpack_require__(43); - var ReactComponentTreeDevtool = __webpack_require__(44); - ReactDebugTool.addDevtool(ReactInvalidSetStateWarningDevTool); - ReactDebugTool.addDevtool(ReactComponentTreeDevtool); - ReactDebugTool.addDevtool(ReactNativeOperationHistoryDevtool); - var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; - if (/[?&]react_perf\b/.test(url)) { - ReactDebugTool.beginProfiling(); - } - } - - module.exports = ReactDebugTool; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - -/***/ }, -/* 39 */ -/***/ function(module, exports) { + var injectedMixins = []; /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. + * Composite components are higher-level components that compose other composite + * or host components. * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * To create a new type of `ReactClass`, pass a specification of + * your new class to `React.createClass`. The only requirement of your class + * specification is that you implement a `render` method. + * + * var MyComponent = React.createClass({ + * render: function() { + * return
Hello World
; + * } + * }); * + * The class specification supports a specific protocol of methods that have + * special meaning (e.g. `render`). See `ReactClassInterface` for + * more the comprehensive protocol. Any other properties and methods in the + * class specification will be available on the prototype. + * + * @interface ReactClassInterface + * @internal */ + var ReactClassInterface = { - 'use strict'; + /** + * An array of Mixin objects to include when defining your component. + * + * @type {array} + * @optional + */ + mixins: 'DEFINE_MANY', - var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); + /** + * An object containing properties and methods that should be defined on + * the component's constructor instead of its prototype (static methods). + * + * @type {object} + * @optional + */ + statics: 'DEFINE_MANY', - /** - * Simple, lightweight module assisting with the detection and context of - * Worker. Helps avoid circular dependencies and allows code to reason about - * whether or not they are in a Worker, even if they never include the main - * `ReactWorker` dependency. - */ - var ExecutionEnvironment = { + /** + * Definition of prop types for this component. + * + * @type {object} + * @optional + */ + propTypes: 'DEFINE_MANY', - canUseDOM: canUseDOM, + /** + * Definition of context types for this component. + * + * @type {object} + * @optional + */ + contextTypes: 'DEFINE_MANY', - canUseWorkers: typeof Worker !== 'undefined', + /** + * Definition of context types this component sets for its children. + * + * @type {object} + * @optional + */ + childContextTypes: 'DEFINE_MANY', - canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + // ==== Definition methods ==== - canUseViewport: canUseDOM && !!window.screen, + /** + * Invoked when the component is mounted. Values in the mapping will be set on + * `this.props` if that prop is not specified (i.e. using an `in` check). + * + * This method is invoked before `getInitialState` and therefore cannot rely + * on `this.state` or use `this.setState`. + * + * @return {object} + * @optional + */ + getDefaultProps: 'DEFINE_MANY_MERGED', - isInWorker: !canUseDOM // For now, this is true - might change in the future. + /** + * Invoked once before the component is mounted. The return value will be used + * as the initial value of `this.state`. + * + * getInitialState: function() { + * return { + * isOn: false, + * fooBaz: new BazFoo() + * } + * } + * + * @return {object} + * @optional + */ + getInitialState: 'DEFINE_MANY_MERGED', - }; + /** + * @return {object} + * @optional + */ + getChildContext: 'DEFINE_MANY_MERGED', - module.exports = ExecutionEnvironment; + /** + * Uses props from `this.props` and state from `this.state` to render the + * structure of the component. + * + * No guarantees are made about when or how often this method is invoked, so + * it must not have side effects. + * + * render: function() { + * var name = this.props.name; + * return
Hello, {name}!
; + * } + * + * @return {ReactComponent} + * @nosideeffects + * @required + */ + render: 'DEFINE_ONCE', -/***/ }, -/* 40 */ -/***/ function(module, exports, __webpack_require__) { + // ==== Delegate methods ==== - 'use strict'; + /** + * Invoked when the component is initially created and about to be mounted. + * This may have side effects, but any external subscriptions or data created + * by this method must be cleaned up in `componentWillUnmount`. + * + * @optional + */ + componentWillMount: 'DEFINE_MANY', - /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ + /** + * Invoked when the component has been mounted and has a DOM representation. + * However, there is no guarantee that the DOM node is in the document. + * + * Use this as an opportunity to operate on the DOM when the component has + * been mounted (initialized and rendered) for the first time. + * + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidMount: 'DEFINE_MANY', - var performance = __webpack_require__(41); + /** + * Invoked before the component receives new props. + * + * Use this as an opportunity to react to a prop transition by updating the + * state using `this.setState`. Current props are accessed via `this.props`. + * + * componentWillReceiveProps: function(nextProps, nextContext) { + * this.setState({ + * likesIncreasing: nextProps.likeCount > this.props.likeCount + * }); + * } + * + * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop + * transition may cause a state change, but the opposite is not true. If you + * need it, you are probably looking for `componentWillUpdate`. + * + * @param {object} nextProps + * @optional + */ + componentWillReceiveProps: 'DEFINE_MANY', - var performanceNow; + /** + * Invoked while deciding if the component should be updated as a result of + * receiving new props, state and/or context. + * + * Use this as an opportunity to `return false` when you're certain that the + * transition to the new props/state/context will not require a component + * update. + * + * shouldComponentUpdate: function(nextProps, nextState, nextContext) { + * return !equal(nextProps, this.props) || + * !equal(nextState, this.state) || + * !equal(nextContext, this.context); + * } + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @return {boolean} True if the component should update. + * @optional + */ + shouldComponentUpdate: 'DEFINE_ONCE', - /** - * Detect if we can use `window.performance.now()` and gracefully fallback to - * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now - * because of Facebook's testing infrastructure. - */ - if (performance.now) { - performanceNow = function performanceNow() { - return performance.now(); - }; - } else { - performanceNow = function performanceNow() { - return Date.now(); - }; - } - - module.exports = performanceNow; - -/***/ }, -/* 41 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @typechecks - */ - - 'use strict'; + /** + * Invoked when the component is about to update due to a transition from + * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` + * and `nextContext`. + * + * Use this as an opportunity to perform preparation before an update occurs. + * + * NOTE: You **cannot** use `this.setState()` in this method. + * + * @param {object} nextProps + * @param {?object} nextState + * @param {?object} nextContext + * @param {ReactReconcileTransaction} transaction + * @optional + */ + componentWillUpdate: 'DEFINE_MANY', - var ExecutionEnvironment = __webpack_require__(39); + /** + * Invoked when the component's DOM representation has been updated. + * + * Use this as an opportunity to operate on the DOM when the component has + * been updated. + * + * @param {object} prevProps + * @param {?object} prevState + * @param {?object} prevContext + * @param {DOMElement} rootNode DOM element representing the component. + * @optional + */ + componentDidUpdate: 'DEFINE_MANY', - var performance; + /** + * Invoked when the component is about to be removed from its parent and have + * its DOM representation destroyed. + * + * Use this as an opportunity to deallocate any external resources. + * + * NOTE: There is no `componentDidUnmount` since your component will have been + * destroyed by that point. + * + * @optional + */ + componentWillUnmount: 'DEFINE_MANY', - if (ExecutionEnvironment.canUseDOM) { - performance = window.performance || window.msPerformance || window.webkitPerformance; - } + // ==== Advanced methods ==== - module.exports = performance || {}; + /** + * Updates the component's currently mounted DOM representation. + * + * By default, this implements React's rendering and reconciliation algorithm. + * Sophisticated clients may wish to override this. + * + * @param {ReactReconcileTransaction} transaction + * @internal + * @overridable + */ + updateComponent: 'OVERRIDE_BASE' -/***/ }, -/* 42 */ -/***/ function(module, exports, __webpack_require__) { + }; - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + /** + * Mapping from class specification keys to special processing functions. * - * @providesModule ReactInvalidSetStateWarningDevTool + * Although these are declared like instance properties in the specification + * when defining classes using `React.createClass`, they are actually static + * and are accessible on the constructor instead of the prototype. Despite + * being static, they must be defined outside of the "statics" key under + * which all other static methods are defined. */ - - 'use strict'; - - var warning = __webpack_require__(29); - - if (process.env.NODE_ENV !== 'production') { - var processingChildContext = false; - - var warnInvalidSetState = function () { - process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; - }; - } - - var ReactInvalidSetStateWarningDevTool = { - onBeginProcessingChildContext: function () { - processingChildContext = true; + var RESERVED_SPEC_KEYS = { + displayName: function (Constructor, displayName) { + Constructor.displayName = displayName; }, - onEndProcessingChildContext: function () { - processingChildContext = false; + mixins: function (Constructor, mixins) { + if (mixins) { + for (var i = 0; i < mixins.length; i++) { + mixSpecIntoComponent(Constructor, mixins[i]); + } + } }, - onSetState: function () { - warnInvalidSetState(); + childContextTypes: function (Constructor, childContextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, childContextTypes, 'childContext'); + } + Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); + }, + contextTypes: function (Constructor, contextTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, contextTypes, 'context'); + } + Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); + }, + /** + * Special case getDefaultProps which should move into statics but requires + * automatic merging. + */ + getDefaultProps: function (Constructor, getDefaultProps) { + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); + } else { + Constructor.getDefaultProps = getDefaultProps; + } + }, + propTypes: function (Constructor, propTypes) { + if (process.env.NODE_ENV !== 'production') { + validateTypeDef(Constructor, propTypes, 'prop'); + } + Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); + }, + statics: function (Constructor, statics) { + mixStaticSpecIntoComponent(Constructor, statics); + }, + autobind: function () {} }; + + function validateTypeDef(Constructor, typeDef, location) { + for (var propName in typeDef) { + if (typeDef.hasOwnProperty(propName)) { + // use a warning instead of an invariant so components + // don't show up in prod but only in __DEV__ + process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; + } } - }; + } - module.exports = ReactInvalidSetStateWarningDevTool; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + function validateMethodOverride(isAlreadyDefined, name) { + var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; -/***/ }, -/* 43 */ -/***/ function(module, exports) { + // Disallow overriding of base class methods unless explicitly allowed. + if (ReactClassMixin.hasOwnProperty(name)) { + !(specPolicy === 'OVERRIDE_BASE') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0; + } + + // Disallow defining methods more than once unless explicitly allowed. + if (isAlreadyDefined) { + !(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0; + } + } /** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactNativeOperationHistoryDevtool + * Mixin helper which handles policy validation and reserved + * specification keys when building React classes. */ + function mixSpecIntoComponent(Constructor, spec) { + if (!spec) { + if (process.env.NODE_ENV !== 'production') { + var typeofSpec = typeof spec; + var isMixinValid = typeofSpec === 'object' && spec !== null; - 'use strict'; - - var history = []; - - var ReactNativeOperationHistoryDevtool = { - onNativeOperation: function (debugID, type, payload) { - history.push({ - instanceID: debugID, - type: type, - payload: payload - }); - }, - clearHistory: function () { - if (ReactNativeOperationHistoryDevtool._preventClearing) { - // Should only be used for tests. - return; + process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0; } - history = []; - }, - getHistory: function () { - return history; + return; } - }; - - module.exports = ReactNativeOperationHistoryDevtool; - -/***/ }, -/* 44 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2016-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactComponentTreeDevtool - */ - - 'use strict'; - var invariant = __webpack_require__(26); + !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0; + !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0; - var tree = {}; - var rootIDs = []; + var proto = Constructor.prototype; + var autoBindPairs = proto.__reactAutoBindPairs; - function updateTree(id, update) { - if (!tree[id]) { - tree[id] = { - parentID: null, - ownerID: null, - text: null, - childIDs: [], - displayName: 'Unknown', - isMounted: false, - updateCount: 0 - }; + // By handling mixins before any other properties, we ensure the same + // chaining order is applied to methods with DEFINE_MANY policy, whether + // mixins are listed before or after these methods in the spec. + if (spec.hasOwnProperty(MIXINS_KEY)) { + RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); } - update(tree[id]); - } - function purgeDeep(id) { - var item = tree[id]; - if (item) { - var childIDs = item.childIDs; + for (var name in spec) { + if (!spec.hasOwnProperty(name)) { + continue; + } - delete tree[id]; - childIDs.forEach(purgeDeep); - } - } + if (name === MIXINS_KEY) { + // We have already handled mixins in a special case above. + continue; + } - var ReactComponentTreeDevtool = { - onSetDisplayName: function (id, displayName) { - updateTree(id, function (item) { - return item.displayName = displayName; - }); - }, - onSetChildren: function (id, nextChildIDs) { - updateTree(id, function (item) { - var prevChildIDs = item.childIDs; - item.childIDs = nextChildIDs; + var property = spec[name]; + var isAlreadyDefined = proto.hasOwnProperty(name); + validateMethodOverride(isAlreadyDefined, name); + + if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { + RESERVED_SPEC_KEYS[name](Constructor, property); + } else { + // Setup methods on prototype: + // The following member methods should not be automatically bound: + // 1. Expected ReactClass methods (in the "interface"). + // 2. Overridden methods (that were mixed in). + var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); + var isFunction = typeof property === 'function'; + var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; - nextChildIDs.forEach(function (nextChildID) { - var nextChild = tree[nextChildID]; - !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected devtool events to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0; - !(nextChild.displayName != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetDisplayName() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0; - !(nextChild.childIDs != null || nextChild.text != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() or onSetText() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0; - !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child ' + 'before its parent includes it in onSetChildren().') : invariant(false) : void 0; + if (shouldAutoBind) { + autoBindPairs.push(name, property); + proto[name] = property; + } else { + if (isAlreadyDefined) { + var specPolicy = ReactClassInterface[name]; + + // These cases should already be caught by validateMethodOverride. + !(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0; - if (prevChildIDs.indexOf(nextChildID) === -1) { - nextChild.parentID = id; + // For methods which are defined more than once, call the existing + // methods before calling the new property, merging if appropriate. + if (specPolicy === 'DEFINE_MANY_MERGED') { + proto[name] = createMergedResultFunction(proto[name], property); + } else if (specPolicy === 'DEFINE_MANY') { + proto[name] = createChainedFunction(proto[name], property); + } + } else { + proto[name] = property; + if (process.env.NODE_ENV !== 'production') { + // Add verbose displayName to the function, which helps when looking + // at profiling tools. + if (typeof property === 'function' && spec.displayName) { + proto[name].displayName = spec.displayName + '_' + name; + } + } } - }); - }); - }, - onSetOwner: function (id, ownerID) { - updateTree(id, function (item) { - return item.ownerID = ownerID; - }); - }, - onSetText: function (id, text) { - updateTree(id, function (item) { - return item.text = text; - }); - }, - onMountComponent: function (id) { - updateTree(id, function (item) { - return item.isMounted = true; - }); - }, - onMountRootComponent: function (id) { - rootIDs.push(id); - }, - onUpdateComponent: function (id) { - updateTree(id, function (item) { - return item.updateCount++; - }); - }, - onUnmountComponent: function (id) { - updateTree(id, function (item) { - return item.isMounted = false; - }); - rootIDs = rootIDs.filter(function (rootID) { - return rootID !== id; - }); - }, - purgeUnmountedComponents: function () { - if (ReactComponentTreeDevtool._preventPurging) { - // Should only be used for testing. - return; + } } + } + } - Object.keys(tree).filter(function (id) { - return !tree[id].isMounted; - }).forEach(purgeDeep); - }, - isMounted: function (id) { - var item = tree[id]; - return item ? item.isMounted : false; - }, - getChildIDs: function (id) { - var item = tree[id]; - return item ? item.childIDs : []; - }, - getDisplayName: function (id) { - var item = tree[id]; - return item ? item.displayName : 'Unknown'; - }, - getOwnerID: function (id) { - var item = tree[id]; - return item ? item.ownerID : null; - }, - getParentID: function (id) { - var item = tree[id]; - return item ? item.parentID : null; - }, - getText: function (id) { - var item = tree[id]; - return item ? item.text : null; - }, - getUpdateCount: function (id) { - var item = tree[id]; - return item ? item.updateCount : 0; - }, - getRootIDs: function () { - return rootIDs; - }, - getRegisteredIDs: function () { - return Object.keys(tree); + function mixStaticSpecIntoComponent(Constructor, statics) { + if (!statics) { + return; } - }; + for (var name in statics) { + var property = statics[name]; + if (!statics.hasOwnProperty(name)) { + continue; + } - module.exports = ReactComponentTreeDevtool; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + var isReserved = name in RESERVED_SPEC_KEYS; + !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, '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.', name) : _prodInvariant('78', name) : void 0; -/***/ }, -/* 45 */ -/***/ function(module, exports, __webpack_require__) { + var isInherited = name in Constructor; + !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0; + Constructor[name] = property; + } + } - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + /** + * Merge two objects, but throw if both contain the same key. * + * @param {object} one The first object, which is mutated. + * @param {object} two The second object + * @return {object} one after it has been mutated to contain everything in two. */ + function mergeIntoWithNoDuplicateKeys(one, two) { + !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0; - 'use strict'; - - var emptyObject = {}; - - if (process.env.NODE_ENV !== 'production') { - Object.freeze(emptyObject); + for (var key in two) { + if (two.hasOwnProperty(key)) { + !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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.', key) : _prodInvariant('81', key) : void 0; + one[key] = two[key]; + } + } + return one; } - module.exports = emptyObject; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - -/***/ }, -/* 46 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + /** + * Creates a function that invokes two functions and merges their return values. * - * @providesModule ReactClass + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private */ + function createMergedResultFunction(one, two) { + return function mergedResult() { + var a = one.apply(this, arguments); + var b = two.apply(this, arguments); + if (a == null) { + return b; + } else if (b == null) { + return a; + } + var c = {}; + mergeIntoWithNoDuplicateKeys(c, a); + mergeIntoWithNoDuplicateKeys(c, b); + return c; + }; + } - 'use strict'; - - var _assign = __webpack_require__(23); + /** + * Creates a function that invokes two functions and ignores their return vales. + * + * @param {function} one Function to invoke first. + * @param {function} two Function to invoke second. + * @return {function} Function that invokes the two argument functions. + * @private + */ + function createChainedFunction(one, two) { + return function chainedFunction() { + one.apply(this, arguments); + two.apply(this, arguments); + }; + } - var ReactComponent = __webpack_require__(35); - var ReactElement = __webpack_require__(27); - var ReactPropTypeLocations = __webpack_require__(47); - var ReactPropTypeLocationNames = __webpack_require__(49); - var ReactNoopUpdateQueue = __webpack_require__(36); + /** + * Binds a method to the component. + * + * @param {object} component Component whose method is going to be bound. + * @param {function} method Method to be bound. + * @return {function} The bound method. + */ + function bindAutoBindMethod(component, method) { + var boundMethod = method.bind(component); + if (process.env.NODE_ENV !== 'production') { + boundMethod.__reactBoundContext = component; + boundMethod.__reactBoundMethod = method; + boundMethod.__reactBoundArguments = null; + var componentName = component.constructor.displayName; + var _bind = boundMethod.bind; + boundMethod.bind = function (newThis) { + for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } - var emptyObject = __webpack_require__(45); - var invariant = __webpack_require__(26); - var keyMirror = __webpack_require__(48); - var keyOf = __webpack_require__(50); - var warning = __webpack_require__(29); + // User is trying to bind() an autobound method; we effectively will + // ignore the value of "this" that the user is trying to use, so + // let's warn. + if (newThis !== component && newThis !== null) { + process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; + } else if (!args.length) { + process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; + return boundMethod; + } + var reboundMethod = _bind.apply(boundMethod, arguments); + reboundMethod.__reactBoundContext = component; + reboundMethod.__reactBoundMethod = method; + reboundMethod.__reactBoundArguments = args; + return reboundMethod; + }; + } + return boundMethod; + } - var MIXINS_KEY = keyOf({ mixins: null }); + /** + * Binds all auto-bound methods in a component. + * + * @param {object} component Component whose method is going to be bound. + */ + function bindAutoBindMethods(component) { + var pairs = component.__reactAutoBindPairs; + for (var i = 0; i < pairs.length; i += 2) { + var autoBindKey = pairs[i]; + var method = pairs[i + 1]; + component[autoBindKey] = bindAutoBindMethod(component, method); + } + } /** - * Policies that describe methods in `ReactClassInterface`. + * Add more to the ReactClass base class. These are all legacy features and + * therefore not already part of the modern ReactComponent. */ - var SpecPolicy = keyMirror({ - /** - * These methods may be defined only once by the class specification or mixin. - */ - DEFINE_ONCE: null, - /** - * These methods may be defined by both the class specification and mixins. - * Subsequent definitions will be chained. These methods must return void. - */ - DEFINE_MANY: null, + var ReactClassMixin = { + /** - * These methods are overriding the base class. + * TODO: This will be deprecated because state should always keep a consistent + * type signature and the only use case for this, is to avoid that. */ - OVERRIDE_BASE: null, + replaceState: function (newState, callback) { + this.updater.enqueueReplaceState(this, newState); + if (callback) { + this.updater.enqueueCallback(this, callback, 'replaceState'); + } + }, + /** - * These methods are similar to DEFINE_MANY, except we assume they return - * objects. We try to merge the keys of the return values of all the mixed in - * functions. If there is a key conflict we throw. + * Checks whether or not this composite component is mounted. + * @return {boolean} True if mounted, false otherwise. + * @protected + * @final */ - DEFINE_MANY_MERGED: null - }); - - var injectedMixins = []; + isMounted: function () { + return this.updater.isMounted(this); + } + }; + + var ReactClassComponent = function () {}; + _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); /** - * Composite components are higher-level components that compose other composite - * or native components. - * - * To create a new type of `ReactClass`, pass a specification of - * your new class to `React.createClass`. The only requirement of your class - * specification is that you implement a `render` method. - * - * var MyComponent = React.createClass({ - * render: function() { - * return
Hello World
; - * } - * }); - * - * The class specification supports a specific protocol of methods that have - * special meaning (e.g. `render`). See `ReactClassInterface` for - * more the comprehensive protocol. Any other properties and methods in the - * class specification will be available on the prototype. + * Module for creating composite components. * - * @interface ReactClassInterface - * @internal + * @class ReactClass */ - var ReactClassInterface = { + var ReactClass = { /** - * An array of Mixin objects to include when defining your component. + * Creates a composite component class given a class specification. + * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass * - * @type {array} - * @optional + * @param {object} spec Class specification (which must define `render`). + * @return {function} Component constructor function. + * @public */ - mixins: SpecPolicy.DEFINE_MANY, + createClass: function (spec) { + // To keep our warnings more understandable, we'll use a little hack here to + // ensure that Constructor.name !== 'Constructor'. This makes sure we don't + // unnecessarily identify a class without displayName as 'Constructor'. + var Constructor = identity(function (props, context, updater) { + // This constructor gets overridden by mocks. The argument is used + // by mocks to assert on what gets mounted. - /** - * An object containing properties and methods that should be defined on - * the component's constructor instead of its prototype (static methods). - * - * @type {object} - * @optional - */ - statics: SpecPolicy.DEFINE_MANY, + if (process.env.NODE_ENV !== 'production') { + process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; + } - /** - * Definition of prop types for this component. - * - * @type {object} - * @optional - */ - propTypes: SpecPolicy.DEFINE_MANY, + // Wire up auto-binding + if (this.__reactAutoBindPairs.length) { + bindAutoBindMethods(this); + } - /** - * Definition of context types for this component. - * - * @type {object} - * @optional - */ - contextTypes: SpecPolicy.DEFINE_MANY, + this.props = props; + this.context = context; + this.refs = emptyObject; + this.updater = updater || ReactNoopUpdateQueue; - /** - * Definition of context types this component sets for its children. - * - * @type {object} - * @optional - */ - childContextTypes: SpecPolicy.DEFINE_MANY, + this.state = null; - // ==== Definition methods ==== + // ReactClasses doesn't have constructors. Instead, they use the + // getInitialState and componentWillMount methods for initialization. - /** - * Invoked when the component is mounted. Values in the mapping will be set on - * `this.props` if that prop is not specified (i.e. using an `in` check). - * - * This method is invoked before `getInitialState` and therefore cannot rely - * on `this.state` or use `this.setState`. - * - * @return {object} - * @optional - */ - getDefaultProps: SpecPolicy.DEFINE_MANY_MERGED, + var initialState = this.getInitialState ? this.getInitialState() : null; + if (process.env.NODE_ENV !== 'production') { + // We allow auto-mocks to proceed as if they're returning null. + if (initialState === undefined && this.getInitialState._isMockFunction) { + // This is probably bad practice. Consider warning here and + // deprecating this convenience. + initialState = null; + } + } + !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : _prodInvariant('82', Constructor.displayName || 'ReactCompositeComponent') : void 0; - /** - * Invoked once before the component is mounted. The return value will be used - * as the initial value of `this.state`. - * - * getInitialState: function() { - * return { - * isOn: false, - * fooBaz: new BazFoo() - * } - * } - * - * @return {object} - * @optional - */ - getInitialState: SpecPolicy.DEFINE_MANY_MERGED, + this.state = initialState; + }); + Constructor.prototype = new ReactClassComponent(); + Constructor.prototype.constructor = Constructor; + Constructor.prototype.__reactAutoBindPairs = []; - /** - * @return {object} - * @optional - */ - getChildContext: SpecPolicy.DEFINE_MANY_MERGED, + injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); - /** - * Uses props from `this.props` and state from `this.state` to render the - * structure of the component. - * - * No guarantees are made about when or how often this method is invoked, so - * it must not have side effects. - * - * render: function() { - * var name = this.props.name; - * return
Hello, {name}!
; - * } - * - * @return {ReactComponent} - * @nosideeffects - * @required - */ - render: SpecPolicy.DEFINE_ONCE, + mixSpecIntoComponent(Constructor, spec); - // ==== Delegate methods ==== + // Initialize the defaultProps property after all mixins have been merged. + if (Constructor.getDefaultProps) { + Constructor.defaultProps = Constructor.getDefaultProps(); + } - /** - * Invoked when the component is initially created and about to be mounted. - * This may have side effects, but any external subscriptions or data created - * by this method must be cleaned up in `componentWillUnmount`. - * - * @optional - */ - componentWillMount: SpecPolicy.DEFINE_MANY, + if (process.env.NODE_ENV !== 'production') { + // This is a tag to indicate that the use of these method names is ok, + // since it's used with createClass. If it's not, then it's likely a + // mistake so we'll warn you to use the static property, property + // initializer or constructor respectively. + if (Constructor.getDefaultProps) { + Constructor.getDefaultProps.isReactClassApproved = {}; + } + if (Constructor.prototype.getInitialState) { + Constructor.prototype.getInitialState.isReactClassApproved = {}; + } + } - /** - * Invoked when the component has been mounted and has a DOM representation. - * However, there is no guarantee that the DOM node is in the document. - * - * Use this as an opportunity to operate on the DOM when the component has - * been mounted (initialized and rendered) for the first time. - * - * @param {DOMElement} rootNode DOM element representing the component. - * @optional - */ - componentDidMount: SpecPolicy.DEFINE_MANY, + !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : _prodInvariant('83') : void 0; - /** - * Invoked before the component receives new props. - * - * Use this as an opportunity to react to a prop transition by updating the - * state using `this.setState`. Current props are accessed via `this.props`. - * - * componentWillReceiveProps: function(nextProps, nextContext) { - * this.setState({ - * likesIncreasing: nextProps.likeCount > this.props.likeCount - * }); - * } - * - * NOTE: There is no equivalent `componentWillReceiveState`. An incoming prop - * transition may cause a state change, but the opposite is not true. If you - * need it, you are probably looking for `componentWillUpdate`. - * - * @param {object} nextProps - * @optional - */ - componentWillReceiveProps: SpecPolicy.DEFINE_MANY, + if (process.env.NODE_ENV !== 'production') { + process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%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.', spec.displayName || 'A component') : void 0; + process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; + } - /** - * Invoked while deciding if the component should be updated as a result of - * receiving new props, state and/or context. - * - * Use this as an opportunity to `return false` when you're certain that the - * transition to the new props/state/context will not require a component - * update. - * - * shouldComponentUpdate: function(nextProps, nextState, nextContext) { - * return !equal(nextProps, this.props) || - * !equal(nextState, this.state) || - * !equal(nextContext, this.context); - * } - * - * @param {object} nextProps - * @param {?object} nextState - * @param {?object} nextContext - * @return {boolean} True if the component should update. - * @optional - */ - shouldComponentUpdate: SpecPolicy.DEFINE_ONCE, + // Reduce time spent doing lookups by setting these on the prototype. + for (var methodName in ReactClassInterface) { + if (!Constructor.prototype[methodName]) { + Constructor.prototype[methodName] = null; + } + } - /** - * Invoked when the component is about to update due to a transition from - * `this.props`, `this.state` and `this.context` to `nextProps`, `nextState` - * and `nextContext`. - * - * Use this as an opportunity to perform preparation before an update occurs. - * - * NOTE: You **cannot** use `this.setState()` in this method. - * - * @param {object} nextProps - * @param {?object} nextState - * @param {?object} nextContext - * @param {ReactReconcileTransaction} transaction - * @optional - */ - componentWillUpdate: SpecPolicy.DEFINE_MANY, + return Constructor; + }, - /** - * Invoked when the component's DOM representation has been updated. - * - * Use this as an opportunity to operate on the DOM when the component has - * been updated. - * - * @param {object} prevProps - * @param {?object} prevState - * @param {?object} prevContext - * @param {DOMElement} rootNode DOM element representing the component. - * @optional - */ - componentDidUpdate: SpecPolicy.DEFINE_MANY, + injection: { + injectMixin: function (mixin) { + injectedMixins.push(mixin); + } + } - /** - * Invoked when the component is about to be removed from its parent and have - * its DOM representation destroyed. - * - * Use this as an opportunity to deallocate any external resources. - * - * NOTE: There is no `componentDidUnmount` since your component will have been - * destroyed by that point. - * - * @optional - */ - componentWillUnmount: SpecPolicy.DEFINE_MANY, - - // ==== Advanced methods ==== + }; - /** - * Updates the component's currently mounted DOM representation. - * - * By default, this implements React's rendering and reconciliation algorithm. - * Sophisticated clients may wish to override this. - * - * @param {ReactReconcileTransaction} transaction - * @internal - * @overridable - */ - updateComponent: SpecPolicy.OVERRIDE_BASE + module.exports = ReactClass; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - }; +/***/ }, +/* 42 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Mapping from class specification keys to special processing functions. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * Although these are declared like instance properties in the specification - * when defining classes using `React.createClass`, they are actually static - * and are accessible on the constructor instead of the prototype. Despite - * being static, they must be defined outside of the "statics" key under - * which all other static methods are defined. + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * */ - var RESERVED_SPEC_KEYS = { - displayName: function (Constructor, displayName) { - Constructor.displayName = displayName; - }, - mixins: function (Constructor, mixins) { - if (mixins) { - for (var i = 0; i < mixins.length; i++) { - mixSpecIntoComponent(Constructor, mixins[i]); - } - } - }, - childContextTypes: function (Constructor, childContextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, childContextTypes, ReactPropTypeLocations.childContext); - } - Constructor.childContextTypes = _assign({}, Constructor.childContextTypes, childContextTypes); - }, - contextTypes: function (Constructor, contextTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, contextTypes, ReactPropTypeLocations.context); - } - Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes); - }, - /** - * Special case getDefaultProps which should move into statics but requires - * automatic merging. - */ - getDefaultProps: function (Constructor, getDefaultProps) { - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps); - } else { - Constructor.getDefaultProps = getDefaultProps; - } - }, - propTypes: function (Constructor, propTypes) { - if (process.env.NODE_ENV !== 'production') { - validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop); - } - Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes); - }, - statics: function (Constructor, statics) { - mixStaticSpecIntoComponent(Constructor, statics); - }, - autobind: function () {} }; - // noop - function validateTypeDef(Constructor, typeDef, location) { - for (var propName in typeDef) { - if (typeDef.hasOwnProperty(propName)) { - // use a warning instead of an invariant so components - // don't show up in prod but only in __DEV__ - process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0; - } - } + 'use strict'; + + var ReactPropTypeLocationNames = {}; + + if (process.env.NODE_ENV !== 'production') { + ReactPropTypeLocationNames = { + prop: 'prop', + context: 'context', + childContext: 'child context' + }; } - function validateMethodOverride(isAlreadyDefined, name) { - var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null; + module.exports = ReactPropTypeLocationNames; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - // Disallow overriding of base class methods unless explicitly allowed. - if (ReactClassMixin.hasOwnProperty(name)) { - !(specPolicy === SpecPolicy.OVERRIDE_BASE) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(false) : void 0; - } +/***/ }, +/* 43 */ +/***/ function(module, exports, __webpack_require__) { - // Disallow defining methods more than once unless explicitly allowed. - if (isAlreadyDefined) { - !(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(false) : void 0; - } + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var ReactElement = __webpack_require__(28); + + /** + * Create a factory that creates HTML tag elements. + * + * @private + */ + var createDOMFactory = ReactElement.createFactory; + if (process.env.NODE_ENV !== 'production') { + var ReactElementValidator = __webpack_require__(44); + createDOMFactory = ReactElementValidator.createFactory; } /** - * Mixin helper which handles policy validation and reserved - * specification keys when building React classes. + * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. + * This is also accessible via `React.DOM`. + * + * @public */ - function mixSpecIntoComponent(Constructor, spec) { - if (!spec) { - return; - } + var ReactDOMFactories = { + a: createDOMFactory('a'), + abbr: createDOMFactory('abbr'), + address: createDOMFactory('address'), + area: createDOMFactory('area'), + article: createDOMFactory('article'), + aside: createDOMFactory('aside'), + audio: createDOMFactory('audio'), + b: createDOMFactory('b'), + base: createDOMFactory('base'), + bdi: createDOMFactory('bdi'), + bdo: createDOMFactory('bdo'), + big: createDOMFactory('big'), + blockquote: createDOMFactory('blockquote'), + body: createDOMFactory('body'), + br: createDOMFactory('br'), + button: createDOMFactory('button'), + canvas: createDOMFactory('canvas'), + caption: createDOMFactory('caption'), + cite: createDOMFactory('cite'), + code: createDOMFactory('code'), + col: createDOMFactory('col'), + colgroup: createDOMFactory('colgroup'), + data: createDOMFactory('data'), + datalist: createDOMFactory('datalist'), + dd: createDOMFactory('dd'), + del: createDOMFactory('del'), + details: createDOMFactory('details'), + dfn: createDOMFactory('dfn'), + dialog: createDOMFactory('dialog'), + div: createDOMFactory('div'), + dl: createDOMFactory('dl'), + dt: createDOMFactory('dt'), + em: createDOMFactory('em'), + embed: createDOMFactory('embed'), + fieldset: createDOMFactory('fieldset'), + figcaption: createDOMFactory('figcaption'), + figure: createDOMFactory('figure'), + footer: createDOMFactory('footer'), + form: createDOMFactory('form'), + h1: createDOMFactory('h1'), + h2: createDOMFactory('h2'), + h3: createDOMFactory('h3'), + h4: createDOMFactory('h4'), + h5: createDOMFactory('h5'), + h6: createDOMFactory('h6'), + head: createDOMFactory('head'), + header: createDOMFactory('header'), + hgroup: createDOMFactory('hgroup'), + hr: createDOMFactory('hr'), + html: createDOMFactory('html'), + i: createDOMFactory('i'), + iframe: createDOMFactory('iframe'), + img: createDOMFactory('img'), + input: createDOMFactory('input'), + ins: createDOMFactory('ins'), + kbd: createDOMFactory('kbd'), + keygen: createDOMFactory('keygen'), + label: createDOMFactory('label'), + legend: createDOMFactory('legend'), + li: createDOMFactory('li'), + link: createDOMFactory('link'), + main: createDOMFactory('main'), + map: createDOMFactory('map'), + mark: createDOMFactory('mark'), + menu: createDOMFactory('menu'), + menuitem: createDOMFactory('menuitem'), + meta: createDOMFactory('meta'), + meter: createDOMFactory('meter'), + nav: createDOMFactory('nav'), + noscript: createDOMFactory('noscript'), + object: createDOMFactory('object'), + ol: createDOMFactory('ol'), + optgroup: createDOMFactory('optgroup'), + option: createDOMFactory('option'), + output: createDOMFactory('output'), + p: createDOMFactory('p'), + param: createDOMFactory('param'), + picture: createDOMFactory('picture'), + pre: createDOMFactory('pre'), + progress: createDOMFactory('progress'), + q: createDOMFactory('q'), + rp: createDOMFactory('rp'), + rt: createDOMFactory('rt'), + ruby: createDOMFactory('ruby'), + s: createDOMFactory('s'), + samp: createDOMFactory('samp'), + script: createDOMFactory('script'), + section: createDOMFactory('section'), + select: createDOMFactory('select'), + small: createDOMFactory('small'), + source: createDOMFactory('source'), + span: createDOMFactory('span'), + strong: createDOMFactory('strong'), + style: createDOMFactory('style'), + sub: createDOMFactory('sub'), + summary: createDOMFactory('summary'), + sup: createDOMFactory('sup'), + table: createDOMFactory('table'), + tbody: createDOMFactory('tbody'), + td: createDOMFactory('td'), + textarea: createDOMFactory('textarea'), + tfoot: createDOMFactory('tfoot'), + th: createDOMFactory('th'), + thead: createDOMFactory('thead'), + time: createDOMFactory('time'), + title: createDOMFactory('title'), + tr: createDOMFactory('tr'), + track: createDOMFactory('track'), + u: createDOMFactory('u'), + ul: createDOMFactory('ul'), + 'var': createDOMFactory('var'), + video: createDOMFactory('video'), + wbr: createDOMFactory('wbr'), - !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component class or function as a mixin. Instead, just use a ' + 'regular object.') : invariant(false) : void 0; - !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(false) : void 0; + // SVG + circle: createDOMFactory('circle'), + clipPath: createDOMFactory('clipPath'), + defs: createDOMFactory('defs'), + ellipse: createDOMFactory('ellipse'), + g: createDOMFactory('g'), + image: createDOMFactory('image'), + line: createDOMFactory('line'), + linearGradient: createDOMFactory('linearGradient'), + mask: createDOMFactory('mask'), + path: createDOMFactory('path'), + pattern: createDOMFactory('pattern'), + polygon: createDOMFactory('polygon'), + polyline: createDOMFactory('polyline'), + radialGradient: createDOMFactory('radialGradient'), + rect: createDOMFactory('rect'), + stop: createDOMFactory('stop'), + svg: createDOMFactory('svg'), + text: createDOMFactory('text'), + tspan: createDOMFactory('tspan') + }; - var proto = Constructor.prototype; - var autoBindPairs = proto.__reactAutoBindPairs; + module.exports = ReactDOMFactories; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - // By handling mixins before any other properties, we ensure the same - // chaining order is applied to methods with DEFINE_MANY policy, whether - // mixins are listed before or after these methods in the spec. - if (spec.hasOwnProperty(MIXINS_KEY)) { - RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins); - } +/***/ }, +/* 44 */ +/***/ function(module, exports, __webpack_require__) { - for (var name in spec) { - if (!spec.hasOwnProperty(name)) { - continue; - } + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2014-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ - if (name === MIXINS_KEY) { - // We have already handled mixins in a special case above. - continue; - } + /** + * ReactElementValidator provides a wrapper around a element factory + * which validates the props passed to the element. This is intended to be + * used only in DEV and could be replaced by a static type checker for languages + * that support it. + */ - var property = spec[name]; - var isAlreadyDefined = proto.hasOwnProperty(name); - validateMethodOverride(isAlreadyDefined, name); + 'use strict'; - if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) { - RESERVED_SPEC_KEYS[name](Constructor, property); - } else { - // Setup methods on prototype: - // The following member methods should not be automatically bound: - // 1. Expected ReactClass methods (in the "interface"). - // 2. Overridden methods (that were mixed in). - var isReactClassMethod = ReactClassInterface.hasOwnProperty(name); - var isFunction = typeof property === 'function'; - var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false; + var ReactCurrentOwner = __webpack_require__(29); + var ReactComponentTreeHook = __webpack_require__(45); + var ReactElement = __webpack_require__(28); - if (shouldAutoBind) { - autoBindPairs.push(name, property); - proto[name] = property; - } else { - if (isAlreadyDefined) { - var specPolicy = ReactClassInterface[name]; + var checkReactTypeSpec = __webpack_require__(46); - // These cases should already be caught by validateMethodOverride. - !(isReactClassMethod && (specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(false) : void 0; + var canDefineProperty = __webpack_require__(32); + var getIteratorFn = __webpack_require__(35); + var warning = __webpack_require__(30); - // For methods which are defined more than once, call the existing - // methods before calling the new property, merging if appropriate. - if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) { - proto[name] = createMergedResultFunction(proto[name], property); - } else if (specPolicy === SpecPolicy.DEFINE_MANY) { - proto[name] = createChainedFunction(proto[name], property); - } - } else { - proto[name] = property; - if (process.env.NODE_ENV !== 'production') { - // Add verbose displayName to the function, which helps when looking - // at profiling tools. - if (typeof property === 'function' && spec.displayName) { - proto[name].displayName = spec.displayName + '_' + name; - } - } - } - } + function getDeclarationErrorAddendum() { + if (ReactCurrentOwner.current) { + var name = ReactCurrentOwner.current.getName(); + if (name) { + return ' Check the render method of `' + name + '`.'; } } + return ''; } - function mixStaticSpecIntoComponent(Constructor, statics) { - if (!statics) { - return; - } - for (var name in statics) { - var property = statics[name]; - if (!statics.hasOwnProperty(name)) { - continue; - } + /** + * Warn if there's no key explicitly set on dynamic arrays of children or + * object keys are not valid. This allows us to keep track of children between + * updates. + */ + var ownerHasKeyUseWarning = {}; - var isReserved = name in RESERVED_SPEC_KEYS; - !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, '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.', name) : invariant(false) : void 0; + function getCurrentComponentErrorInfo(parentType) { + var info = getDeclarationErrorAddendum(); - var isInherited = name in Constructor; - !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(false) : void 0; - Constructor[name] = property; + if (!info) { + var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; + if (parentName) { + info = ' Check the top-level render call using <' + parentName + '>.'; + } } + return info; } /** - * Merge two objects, but throw if both contain the same key. + * Warn if the element doesn't have an explicit key assigned to it. + * This element is in an array. The array could grow and shrink or be + * reordered. All children that haven't already been validated are required to + * have a "key" property assigned to it. Error statuses are cached so a warning + * will only be shown once. * - * @param {object} one The first object, which is mutated. - * @param {object} two The second object - * @return {object} one after it has been mutated to contain everything in two. + * @internal + * @param {ReactElement} element Element that requires a key. + * @param {*} parentType element's parent's type. */ - function mergeIntoWithNoDuplicateKeys(one, two) { - !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(false) : void 0; + function validateExplicitKey(element, parentType) { + if (!element._store || element._store.validated || element.key != null) { + return; + } + element._store.validated = true; - for (var key in two) { - if (two.hasOwnProperty(key)) { - !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, '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.', key) : invariant(false) : void 0; - one[key] = two[key]; - } + var memoizer = ownerHasKeyUseWarning.uniqueKey || (ownerHasKeyUseWarning.uniqueKey = {}); + + var currentComponentErrorInfo = getCurrentComponentErrorInfo(parentType); + if (memoizer[currentComponentErrorInfo]) { + return; } - return one; - } + memoizer[currentComponentErrorInfo] = true; - /** - * Creates a function that invokes two functions and merges their return values. - * - * @param {function} one Function to invoke first. - * @param {function} two Function to invoke second. - * @return {function} Function that invokes the two argument functions. - * @private - */ - function createMergedResultFunction(one, two) { - return function mergedResult() { - var a = one.apply(this, arguments); - var b = two.apply(this, arguments); - if (a == null) { - return b; - } else if (b == null) { - return a; - } - var c = {}; - mergeIntoWithNoDuplicateKeys(c, a); - mergeIntoWithNoDuplicateKeys(c, b); - return c; - }; - } + // Usually the current owner is the offender, but if it accepts children as a + // property, it may be the creator of the child that's responsible for + // assigning it a key. + var childOwner = ''; + if (element && element._owner && element._owner !== ReactCurrentOwner.current) { + // Give the component that originally created this child. + childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; + } - /** - * Creates a function that invokes two functions and ignores their return vales. - * - * @param {function} one Function to invoke first. - * @param {function} two Function to invoke second. - * @return {function} Function that invokes the two argument functions. - * @private - */ - function createChainedFunction(one, two) { - return function chainedFunction() { - one.apply(this, arguments); - two.apply(this, arguments); - }; + process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s See https://fb.me/react-warning-keys for more information.%s', currentComponentErrorInfo, childOwner, ReactComponentTreeHook.getCurrentStackAddendum(element)) : void 0; } /** - * Binds a method to the component. + * Ensure that every element either is passed in a static location, in an + * array with an explicit keys property defined, or in an object literal + * with valid key property. * - * @param {object} component Component whose method is going to be bound. - * @param {function} method Method to be bound. - * @return {function} The bound method. + * @internal + * @param {ReactNode} node Statically passed child of any type. + * @param {*} parentType node's parent's type. */ - function bindAutoBindMethod(component, method) { - var boundMethod = method.bind(component); - if (process.env.NODE_ENV !== 'production') { - boundMethod.__reactBoundContext = component; - boundMethod.__reactBoundMethod = method; - boundMethod.__reactBoundArguments = null; - var componentName = component.constructor.displayName; - var _bind = boundMethod.bind; - boundMethod.bind = function (newThis) { - for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { - args[_key - 1] = arguments[_key]; + function validateChildKeys(node, parentType) { + if (typeof node !== 'object') { + return; + } + if (Array.isArray(node)) { + for (var i = 0; i < node.length; i++) { + var child = node[i]; + if (ReactElement.isValidElement(child)) { + validateExplicitKey(child, parentType); } - - // User is trying to bind() an autobound method; we effectively will - // ignore the value of "this" that the user is trying to use, so - // let's warn. - if (newThis !== component && newThis !== null) { - process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): React component methods may only be bound to the ' + 'component instance. See %s', componentName) : void 0; - } else if (!args.length) { - process.env.NODE_ENV !== 'production' ? warning(false, 'bind(): You are binding a component method to the component. ' + 'React does this for you automatically in a high-performance ' + 'way, so you can safely remove this call. See %s', componentName) : void 0; - return boundMethod; + } + } else if (ReactElement.isValidElement(node)) { + // This element was passed in a valid location. + if (node._store) { + node._store.validated = true; + } + } else if (node) { + var iteratorFn = getIteratorFn(node); + // Entry iterators provide implicit keys. + if (iteratorFn) { + if (iteratorFn !== node.entries) { + var iterator = iteratorFn.call(node); + var step; + while (!(step = iterator.next()).done) { + if (ReactElement.isValidElement(step.value)) { + validateExplicitKey(step.value, parentType); + } + } } - var reboundMethod = _bind.apply(boundMethod, arguments); - reboundMethod.__reactBoundContext = component; - reboundMethod.__reactBoundMethod = method; - reboundMethod.__reactBoundArguments = args; - return reboundMethod; - }; + } } - return boundMethod; } /** - * Binds all auto-bound methods in a component. + * Given an element, validate that its props follow the propTypes definition, + * provided by the type. * - * @param {object} component Component whose method is going to be bound. + * @param {ReactElement} element */ - function bindAutoBindMethods(component) { - var pairs = component.__reactAutoBindPairs; - for (var i = 0; i < pairs.length; i += 2) { - var autoBindKey = pairs[i]; - var method = pairs[i + 1]; - component[autoBindKey] = bindAutoBindMethod(component, method); + function validatePropTypes(element) { + var componentClass = element.type; + if (typeof componentClass !== 'function') { + return; + } + var name = componentClass.displayName || componentClass.name; + if (componentClass.propTypes) { + checkReactTypeSpec(componentClass.propTypes, element.props, 'prop', name, element, null); + } + if (typeof componentClass.getDefaultProps === 'function') { + process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; } } - /** - * Add more to the ReactClass base class. These are all legacy features and - * therefore not already part of the modern ReactComponent. - */ - var ReactClassMixin = { + var ReactElementValidator = { - /** - * TODO: This will be deprecated because state should always keep a consistent - * type signature and the only use case for this, is to avoid that. - */ - replaceState: function (newState, callback) { - this.updater.enqueueReplaceState(this, newState); - if (callback) { - this.updater.enqueueCallback(this, callback, 'replaceState'); + createElement: function (type, props, children) { + var validType = typeof type === 'string' || typeof type === 'function'; + // We warn in this case but don't throw. We expect the element creation to + // succeed and there will likely be errors in render. + if (!validType) { + process.env.NODE_ENV !== 'production' ? warning(false, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; } - }, - - /** - * Checks whether or not this composite component is mounted. - * @return {boolean} True if mounted, false otherwise. - * @protected - * @final - */ - isMounted: function () { - return this.updater.isMounted(this); - } - }; - - var ReactClassComponent = function () {}; - _assign(ReactClassComponent.prototype, ReactComponent.prototype, ReactClassMixin); - - /** - * Module for creating composite components. - * - * @class ReactClass - */ - var ReactClass = { - /** - * Creates a composite component class given a class specification. - * See https://facebook.github.io/react/docs/top-level-api.html#react.createclass - * - * @param {object} spec Class specification (which must define `render`). - * @return {function} Component constructor function. - * @public - */ - createClass: function (spec) { - var Constructor = function (props, context, updater) { - // This constructor gets overridden by mocks. The argument is used - // by mocks to assert on what gets mounted. + var element = ReactElement.createElement.apply(this, arguments); - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(this instanceof Constructor, 'Something is calling a React component directly. Use a factory or ' + 'JSX instead. See: https://fb.me/react-legacyfactory') : void 0; - } + // The result can be nullish if a mock or a custom function is used. + // TODO: Drop this when these are no longer allowed as the type argument. + if (element == null) { + return element; + } - // Wire up auto-binding - if (this.__reactAutoBindPairs.length) { - bindAutoBindMethods(this); + // Skip key warning if the type isn't valid since our key validation logic + // doesn't expect a non-string/function type and can throw confusing errors. + // We don't want exception behavior to differ between dev and prod. + // (Rendering will throw with a helpful message and as soon as the type is + // fixed, the key warnings will appear.) + if (validType) { + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], type); } + } - this.props = props; - this.context = context; - this.refs = emptyObject; - this.updater = updater || ReactNoopUpdateQueue; + validatePropTypes(element); - this.state = null; + return element; + }, - // ReactClasses doesn't have constructors. Instead, they use the - // getInitialState and componentWillMount methods for initialization. + createFactory: function (type) { + var validatedFactory = ReactElementValidator.createElement.bind(null, type); + // Legacy hook TODO: Warn if this is accessed + validatedFactory.type = type; - var initialState = this.getInitialState ? this.getInitialState() : null; - if (process.env.NODE_ENV !== 'production') { - // We allow auto-mocks to proceed as if they're returning null. - if (initialState === undefined && this.getInitialState._isMockFunction) { - // This is probably bad practice. Consider warning here and - // deprecating this convenience. - initialState = null; - } + if (process.env.NODE_ENV !== 'production') { + if (canDefineProperty) { + Object.defineProperty(validatedFactory, 'type', { + enumerable: false, + get: function () { + process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; + Object.defineProperty(this, 'type', { + value: type + }); + return type; + } + }); } - !(typeof initialState === 'object' && !Array.isArray(initialState)) ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s.getInitialState(): must return an object or null', Constructor.displayName || 'ReactCompositeComponent') : invariant(false) : void 0; + } - this.state = initialState; - }; - Constructor.prototype = new ReactClassComponent(); - Constructor.prototype.constructor = Constructor; - Constructor.prototype.__reactAutoBindPairs = []; + return validatedFactory; + }, - injectedMixins.forEach(mixSpecIntoComponent.bind(null, Constructor)); - - mixSpecIntoComponent(Constructor, spec); - - // Initialize the defaultProps property after all mixins have been merged. - if (Constructor.getDefaultProps) { - Constructor.defaultProps = Constructor.getDefaultProps(); - } - - if (process.env.NODE_ENV !== 'production') { - // This is a tag to indicate that the use of these method names is ok, - // since it's used with createClass. If it's not, then it's likely a - // mistake so we'll warn you to use the static property, property - // initializer or constructor respectively. - if (Constructor.getDefaultProps) { - Constructor.getDefaultProps.isReactClassApproved = {}; - } - if (Constructor.prototype.getInitialState) { - Constructor.prototype.getInitialState.isReactClassApproved = {}; - } - } - - !Constructor.prototype.render ? process.env.NODE_ENV !== 'production' ? invariant(false, 'createClass(...): Class specification must implement a `render` method.') : invariant(false) : void 0; - - if (process.env.NODE_ENV !== 'production') { - process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentShouldUpdate, '%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.', spec.displayName || 'A component') : void 0; - process.env.NODE_ENV !== 'production' ? warning(!Constructor.prototype.componentWillRecieveProps, '%s has a method called ' + 'componentWillRecieveProps(). Did you mean componentWillReceiveProps()?', spec.displayName || 'A component') : void 0; - } - - // Reduce time spent doing lookups by setting these on the prototype. - for (var methodName in ReactClassInterface) { - if (!Constructor.prototype[methodName]) { - Constructor.prototype[methodName] = null; - } - } - - return Constructor; - }, - - injection: { - injectMixin: function (mixin) { - injectedMixins.push(mixin); + cloneElement: function (element, props, children) { + var newElement = ReactElement.cloneElement.apply(this, arguments); + for (var i = 2; i < arguments.length; i++) { + validateChildKeys(arguments[i], newElement.type); } + validatePropTypes(newElement); + return newElement; } }; - module.exports = ReactClass; + module.exports = ReactElementValidator; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 47 */ +/* 45 */ /***/ function(module, exports, __webpack_require__) { - /** - * Copyright 2013-present, Facebook, Inc. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactPropTypeLocations + * */ 'use strict'; - var keyMirror = __webpack_require__(48); + var _prodInvariant = __webpack_require__(26); - var ReactPropTypeLocations = keyMirror({ - prop: null, - context: null, - childContext: null - }); + var ReactCurrentOwner = __webpack_require__(29); + + var invariant = __webpack_require__(27); + var warning = __webpack_require__(30); + + function isNative(fn) { + // Based on isNative() from Lodash + var funcToString = Function.prototype.toString; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var reIsNative = RegExp('^' + funcToString + // Take an example native function source for comparison + .call(hasOwnProperty) + // Strip regex characters so we can use it for regex + .replace(/[\\^$.*+?()[\]{}|]/g, '\\$&') + // Remove hasOwnProperty from the template to make it generic + .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$'); + try { + var source = funcToString.call(fn); + return reIsNative.test(source); + } catch (err) { + return false; + } + } + + var canUseCollections = + // Array.from + typeof Array.from === 'function' && + // Map + typeof Map === 'function' && isNative(Map) && + // Map.prototype.keys + Map.prototype != null && typeof Map.prototype.keys === 'function' && isNative(Map.prototype.keys) && + // Set + typeof Set === 'function' && isNative(Set) && + // Set.prototype.keys + Set.prototype != null && typeof Set.prototype.keys === 'function' && isNative(Set.prototype.keys); + + if (canUseCollections) { + var itemMap = new Map(); + var rootIDSet = new Set(); + + var setItem = function (id, item) { + itemMap.set(id, item); + }; + var getItem = function (id) { + return itemMap.get(id); + }; + var removeItem = function (id) { + itemMap['delete'](id); + }; + var getItemIDs = function () { + return Array.from(itemMap.keys()); + }; + + var addRoot = function (id) { + rootIDSet.add(id); + }; + var removeRoot = function (id) { + rootIDSet['delete'](id); + }; + var getRootIDs = function () { + return Array.from(rootIDSet.keys()); + }; + } else { + var itemByKey = {}; + var rootByKey = {}; + + // Use non-numeric keys to prevent V8 performance issues: + // https://github.com/facebook/react/pull/7232 + var getKeyFromID = function (id) { + return '.' + id; + }; + var getIDFromKey = function (key) { + return parseInt(key.substr(1), 10); + }; + + var setItem = function (id, item) { + var key = getKeyFromID(id); + itemByKey[key] = item; + }; + var getItem = function (id) { + var key = getKeyFromID(id); + return itemByKey[key]; + }; + var removeItem = function (id) { + var key = getKeyFromID(id); + delete itemByKey[key]; + }; + var getItemIDs = function () { + return Object.keys(itemByKey).map(getIDFromKey); + }; + + var addRoot = function (id) { + var key = getKeyFromID(id); + rootByKey[key] = true; + }; + var removeRoot = function (id) { + var key = getKeyFromID(id); + delete rootByKey[key]; + }; + var getRootIDs = function () { + return Object.keys(rootByKey).map(getIDFromKey); + }; + } + + var unmountedIDs = []; + + function purgeDeep(id) { + var item = getItem(id); + if (item) { + var childIDs = item.childIDs; + + removeItem(id); + childIDs.forEach(purgeDeep); + } + } + + function describeComponentFrame(name, source, ownerName) { + return '\n in ' + (name || 'Unknown') + (source ? ' (at ' + source.fileName.replace(/^.*[\\\/]/, '') + ':' + source.lineNumber + ')' : ownerName ? ' (created by ' + ownerName + ')' : ''); + } + + function getDisplayName(element) { + if (element == null) { + return '#empty'; + } else if (typeof element === 'string' || typeof element === 'number') { + return '#text'; + } else if (typeof element.type === 'string') { + return element.type; + } else { + return element.type.displayName || element.type.name || 'Unknown'; + } + } + + function describeID(id) { + var name = ReactComponentTreeHook.getDisplayName(id); + var element = ReactComponentTreeHook.getElement(id); + var ownerID = ReactComponentTreeHook.getOwnerID(id); + var ownerName; + if (ownerID) { + ownerName = ReactComponentTreeHook.getDisplayName(ownerID); + } + process.env.NODE_ENV !== 'production' ? warning(element, 'ReactComponentTreeHook: Missing React element for debugID %s when ' + 'building stack', id) : void 0; + return describeComponentFrame(name, element && element._source, ownerName); + } + + var ReactComponentTreeHook = { + onSetChildren: function (id, nextChildIDs) { + var item = getItem(id); + !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0; + item.childIDs = nextChildIDs; + + for (var i = 0; i < nextChildIDs.length; i++) { + var nextChildID = nextChildIDs[i]; + var nextChild = getItem(nextChildID); + !nextChild ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected hook events to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('140') : void 0; + !(nextChild.childIDs != null || typeof nextChild.element !== 'object' || nextChild.element == null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onSetChildren() to fire for a container child before its parent includes it in onSetChildren().') : _prodInvariant('141') : void 0; + !nextChild.isMounted ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onMountComponent() to fire for the child before its parent includes it in onSetChildren().') : _prodInvariant('71') : void 0; + if (nextChild.parentID == null) { + nextChild.parentID = id; + // TODO: This shouldn't be necessary but mounting a new root during in + // componentWillMount currently causes not-yet-mounted components to + // be purged from our tree data so their parent id is missing. + } + !(nextChild.parentID === id) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected onBeforeMountComponent() parent and onSetChildren() to be consistent (%s has parents %s and %s).', nextChildID, nextChild.parentID, id) : _prodInvariant('142', nextChildID, nextChild.parentID, id) : void 0; + } + }, + onBeforeMountComponent: function (id, element, parentID) { + var item = { + element: element, + parentID: parentID, + text: null, + childIDs: [], + isMounted: false, + updateCount: 0 + }; + setItem(id, item); + }, + onBeforeUpdateComponent: function (id, element) { + var item = getItem(id); + if (!item || !item.isMounted) { + // We may end up here as a result of setState() in componentWillUnmount(). + // In this case, ignore the element. + return; + } + item.element = element; + }, + onMountComponent: function (id) { + var item = getItem(id); + !item ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Item must have been set') : _prodInvariant('144') : void 0; + item.isMounted = true; + var isRoot = item.parentID === 0; + if (isRoot) { + addRoot(id); + } + }, + onUpdateComponent: function (id) { + var item = getItem(id); + if (!item || !item.isMounted) { + // We may end up here as a result of setState() in componentWillUnmount(). + // In this case, ignore the element. + return; + } + item.updateCount++; + }, + onUnmountComponent: function (id) { + var item = getItem(id); + if (item) { + // We need to check if it exists. + // `item` might not exist if it is inside an error boundary, and a sibling + // error boundary child threw while mounting. Then this instance never + // got a chance to mount, but it still gets an unmounting event during + // the error boundary cleanup. + item.isMounted = false; + var isRoot = item.parentID === 0; + if (isRoot) { + removeRoot(id); + } + } + unmountedIDs.push(id); + }, + purgeUnmountedComponents: function () { + if (ReactComponentTreeHook._preventPurging) { + // Should only be used for testing. + return; + } + + for (var i = 0; i < unmountedIDs.length; i++) { + var id = unmountedIDs[i]; + purgeDeep(id); + } + unmountedIDs.length = 0; + }, + isMounted: function (id) { + var item = getItem(id); + return item ? item.isMounted : false; + }, + getCurrentStackAddendum: function (topElement) { + var info = ''; + if (topElement) { + var name = getDisplayName(topElement); + var owner = topElement._owner; + info += describeComponentFrame(name, topElement._source, owner && owner.getName()); + } + + var currentOwner = ReactCurrentOwner.current; + var id = currentOwner && currentOwner._debugID; + + info += ReactComponentTreeHook.getStackAddendumByID(id); + return info; + }, + getStackAddendumByID: function (id) { + var info = ''; + while (id) { + info += describeID(id); + id = ReactComponentTreeHook.getParentID(id); + } + return info; + }, + getChildIDs: function (id) { + var item = getItem(id); + return item ? item.childIDs : []; + }, + getDisplayName: function (id) { + var element = ReactComponentTreeHook.getElement(id); + if (!element) { + return null; + } + return getDisplayName(element); + }, + getElement: function (id) { + var item = getItem(id); + return item ? item.element : null; + }, + getOwnerID: function (id) { + var element = ReactComponentTreeHook.getElement(id); + if (!element || !element._owner) { + return null; + } + return element._owner._debugID; + }, + getParentID: function (id) { + var item = getItem(id); + return item ? item.parentID : null; + }, + getSource: function (id) { + var item = getItem(id); + var element = item ? item.element : null; + var source = element != null ? element._source : null; + return source; + }, + getText: function (id) { + var element = ReactComponentTreeHook.getElement(id); + if (typeof element === 'string') { + return element; + } else if (typeof element === 'number') { + return '' + element; + } else { + return null; + } + }, + getUpdateCount: function (id) { + var item = getItem(id); + return item ? item.updateCount : 0; + }, + + + getRootIDs: getRootIDs, + getRegisteredIDs: getItemIDs + }; - module.exports = ReactPropTypeLocations; + module.exports = ReactComponentTreeHook; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 48 */ +/* 46 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright (c) 2013-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @typechecks static-only */ 'use strict'; - var invariant = __webpack_require__(26); + var _prodInvariant = __webpack_require__(26); + + var ReactPropTypeLocationNames = __webpack_require__(42); + var ReactPropTypesSecret = __webpack_require__(47); + + var invariant = __webpack_require__(27); + var warning = __webpack_require__(30); + + var ReactComponentTreeHook; + + if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV === 'test') { + // Temporary hack. + // Inline requires don't work well with Jest: + // https://github.com/facebook/react/issues/7240 + // Remove the inline requires when we don't need them anymore: + // https://github.com/facebook/react/pull/7178 + ReactComponentTreeHook = __webpack_require__(45); + } + + var loggedTypeFailures = {}; /** - * Constructs an enumeration with keys equal to their value. - * - * For example: - * - * var COLORS = keyMirror({blue: null, red: null}); - * var myColor = COLORS.blue; - * var isColorValid = !!COLORS[myColor]; + * Assert that the values match with the type specs. + * Error messages are memorized and will only be shown once. * - * The last line could not be performed if the values of the generated enum were - * not equal to their keys. - * - * Input: {key1: val1, key2: val2} - * Output: {key1: key1, key2: key2} - * - * @param {object} obj - * @return {object} + * @param {object} typeSpecs Map of name to a ReactPropType + * @param {object} values Runtime values that need to be type-checked + * @param {string} location e.g. "prop", "context", "child context" + * @param {string} componentName Name of the component for error messages. + * @param {?object} element The React element that is being type-checked + * @param {?number} debugID The React component instance that is being type-checked + * @private */ - var keyMirror = function keyMirror(obj) { - var ret = {}; - var key; - !(obj instanceof Object && !Array.isArray(obj)) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'keyMirror(...): Argument must be an object.') : invariant(false) : void 0; - for (key in obj) { - if (!obj.hasOwnProperty(key)) { - continue; + function checkReactTypeSpec(typeSpecs, values, location, componentName, element, debugID) { + for (var typeSpecName in typeSpecs) { + if (typeSpecs.hasOwnProperty(typeSpecName)) { + var error; + // Prop type validation may throw. In case they do, we don't want to + // fail the render phase where it didn't fail before. So we log it. + // After these have been cleaned up, we'll let them throw. + try { + // This is intentionally an invariant that gets caught. It's the same + // behavior as without this statement except with a better message. + !(typeof typeSpecs[typeSpecName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : _prodInvariant('84', componentName || 'React class', ReactPropTypeLocationNames[location], typeSpecName) : void 0; + error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); + } catch (ex) { + error = ex; + } + process.env.NODE_ENV !== 'production' ? 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', ReactPropTypeLocationNames[location], typeSpecName, typeof error) : void 0; + if (error instanceof Error && !(error.message in loggedTypeFailures)) { + // Only monitor this failure once because there tends to be a lot of the + // same error. + loggedTypeFailures[error.message] = true; + + var componentStackInfo = ''; + + if (process.env.NODE_ENV !== 'production') { + if (!ReactComponentTreeHook) { + ReactComponentTreeHook = __webpack_require__(45); + } + if (debugID !== null) { + componentStackInfo = ReactComponentTreeHook.getStackAddendumByID(debugID); + } else if (element !== null) { + componentStackInfo = ReactComponentTreeHook.getCurrentStackAddendum(element); + } + } + + process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, componentStackInfo) : void 0; + } } - ret[key] = key; } - return ret; - }; + } - module.exports = keyMirror; + module.exports = checkReactTypeSpec; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 49 */ -/***/ function(module, exports, __webpack_require__) { +/* 47 */ +/***/ function(module, exports) { - /* WEBPACK VAR INJECTION */(function(process) {/** + /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * @@ -3431,32 +3743,21 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactPropTypeLocationNames + * */ 'use strict'; - var ReactPropTypeLocationNames = {}; - - if (process.env.NODE_ENV !== 'production') { - ReactPropTypeLocationNames = { - prop: 'prop', - context: 'context', - childContext: 'child context' - }; - } + var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; - module.exports = ReactPropTypeLocationNames; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + module.exports = ReactPropTypesSecret; /***/ }, -/* 50 */ -/***/ function(module, exports) { - - "use strict"; +/* 48 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Copyright (c) 2013-present, Facebook, Inc. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the @@ -3465,556 +3766,434 @@ * */ - /** - * Allows extraction of a minified key. Let's the build system minify keys - * without losing the ability to dynamically use key strings as values - * themselves. Pass in an object with a single key/val pair and it will return - * you the string key of that single record. Suppose you want to grab the - * value for a key 'className' inside of an object. Key/val minification may - * have aliased that key to be 'xa12'. keyOf({className: null}) will return - * 'xa12' in that case. Resolve keys you want to use once at startup time, then - * reuse those resolutions. - */ - var keyOf = function keyOf(oneKeyObj) { - var key; - for (key in oneKeyObj) { - if (!oneKeyObj.hasOwnProperty(key)) { - continue; - } - return key; - } - return null; - }; + 'use strict'; - module.exports = keyOf; + var ReactElement = __webpack_require__(28); + var ReactPropTypeLocationNames = __webpack_require__(42); + var ReactPropTypesSecret = __webpack_require__(47); -/***/ }, -/* 51 */ -/***/ function(module, exports, __webpack_require__) { + var emptyFunction = __webpack_require__(31); + var getIteratorFn = __webpack_require__(35); + var warning = __webpack_require__(30); - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. + /** + * Collection of methods that allow declaration and validation of props that are + * supplied to React components. Example usage: * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * var Props = require('ReactPropTypes'); + * var MyArticle = React.createClass({ + * propTypes: { + * // An optional string prop named "description". + * description: Props.string, + * + * // A required enum prop named "category". + * category: Props.oneOf(['News','Photos']).isRequired, + * + * // A prop named "dialog" that requires an instance of Dialog. + * dialog: Props.instanceOf(Dialog).isRequired + * }, + * render: function() { ... } + * }); + * + * A more formal specification of how these methods are used: + * + * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) + * decl := ReactPropTypes.{type}(.isRequired)? + * + * Each and every declaration produces a function with the same signature. This + * allows the creation of custom validation functions. For example: + * + * var MyLink = React.createClass({ + * propTypes: { + * // An optional string or URI prop named "href". + * href: function(props, propName, componentName) { + * var propValue = props[propName]; + * if (propValue != null && typeof propValue !== 'string' && + * !(propValue instanceof URI)) { + * return new Error( + * 'Expected a string or an URI for ' + propName + ' in ' + + * componentName + * ); + * } + * } + * }, + * render: function() {...} + * }); * - * @providesModule ReactDOMFactories + * @internal */ - 'use strict'; + var ANONYMOUS = '<>'; - var ReactElement = __webpack_require__(27); - var ReactElementValidator = __webpack_require__(52); + var ReactPropTypes = { + array: createPrimitiveTypeChecker('array'), + bool: createPrimitiveTypeChecker('boolean'), + func: createPrimitiveTypeChecker('function'), + number: createPrimitiveTypeChecker('number'), + object: createPrimitiveTypeChecker('object'), + string: createPrimitiveTypeChecker('string'), + symbol: createPrimitiveTypeChecker('symbol'), - var mapObject = __webpack_require__(53); + any: createAnyTypeChecker(), + arrayOf: createArrayOfTypeChecker, + element: createElementTypeChecker(), + instanceOf: createInstanceTypeChecker, + node: createNodeChecker(), + objectOf: createObjectOfTypeChecker, + oneOf: createEnumTypeChecker, + oneOfType: createUnionTypeChecker, + shape: createShapeTypeChecker + }; /** - * Create a factory that creates HTML tag elements. - * - * @param {string} tag Tag name (e.g. `div`). - * @private + * inlined Object.is polyfill to avoid requiring consumers ship their own + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ - function createDOMFactory(tag) { - if (process.env.NODE_ENV !== 'production') { - return ReactElementValidator.createFactory(tag); + /*eslint-disable no-self-compare*/ + function is(x, y) { + // SameValue algorithm + if (x === y) { + // Steps 1-5, 7-10 + // Steps 6.b-6.e: +0 != -0 + return x !== 0 || 1 / x === 1 / y; + } else { + // Step 6.a: NaN == NaN + return x !== x && y !== y; } - return ReactElement.createFactory(tag); } + /*eslint-enable no-self-compare*/ /** - * Creates a mapping from supported HTML tags to `ReactDOMComponent` classes. - * This is also accessible via `React.DOM`. - * - * @public - */ - var ReactDOMFactories = mapObject({ - a: 'a', - abbr: 'abbr', - address: 'address', - area: 'area', - article: 'article', - aside: 'aside', - audio: 'audio', - b: 'b', - base: 'base', - bdi: 'bdi', - bdo: 'bdo', - big: 'big', - blockquote: 'blockquote', - body: 'body', - br: 'br', - button: 'button', - canvas: 'canvas', - caption: 'caption', - cite: 'cite', - code: 'code', - col: 'col', - colgroup: 'colgroup', - data: 'data', - datalist: 'datalist', - dd: 'dd', - del: 'del', - details: 'details', - dfn: 'dfn', - dialog: 'dialog', - div: 'div', - dl: 'dl', - dt: 'dt', - em: 'em', - embed: 'embed', - fieldset: 'fieldset', - figcaption: 'figcaption', - figure: 'figure', - footer: 'footer', - form: 'form', - h1: 'h1', - h2: 'h2', - h3: 'h3', - h4: 'h4', - h5: 'h5', - h6: 'h6', - head: 'head', - header: 'header', - hgroup: 'hgroup', - hr: 'hr', - html: 'html', - i: 'i', - iframe: 'iframe', - img: 'img', - input: 'input', - ins: 'ins', - kbd: 'kbd', - keygen: 'keygen', - label: 'label', - legend: 'legend', - li: 'li', - link: 'link', - main: 'main', - map: 'map', - mark: 'mark', - menu: 'menu', - menuitem: 'menuitem', - meta: 'meta', - meter: 'meter', - nav: 'nav', - noscript: 'noscript', - object: 'object', - ol: 'ol', - optgroup: 'optgroup', - option: 'option', - output: 'output', - p: 'p', - param: 'param', - picture: 'picture', - pre: 'pre', - progress: 'progress', - q: 'q', - rp: 'rp', - rt: 'rt', - ruby: 'ruby', - s: 's', - samp: 'samp', - script: 'script', - section: 'section', - select: 'select', - small: 'small', - source: 'source', - span: 'span', - strong: 'strong', - style: 'style', - sub: 'sub', - summary: 'summary', - sup: 'sup', - table: 'table', - tbody: 'tbody', - td: 'td', - textarea: 'textarea', - tfoot: 'tfoot', - th: 'th', - thead: 'thead', - time: 'time', - title: 'title', - tr: 'tr', - track: 'track', - u: 'u', - ul: 'ul', - 'var': 'var', - video: 'video', - wbr: 'wbr', - - // SVG - circle: 'circle', - clipPath: 'clipPath', - defs: 'defs', - ellipse: 'ellipse', - g: 'g', - image: 'image', - line: 'line', - linearGradient: 'linearGradient', - mask: 'mask', - path: 'path', - pattern: 'pattern', - polygon: 'polygon', - polyline: 'polyline', - radialGradient: 'radialGradient', - rect: 'rect', - stop: 'stop', - svg: 'svg', - text: 'text', - tspan: 'tspan' - - }, createDOMFactory); - - module.exports = ReactDOMFactories; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - -/***/ }, -/* 52 */ -/***/ function(module, exports, __webpack_require__) { - - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2014-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactElementValidator + * We use an Error-like object for backward compatibility as people may call + * PropTypes directly and inspect their output. However we don't use real + * Errors anymore. We don't inspect their stack anyway, and creating them + * is prohibitively expensive if they are created too often, such as what + * happens in oneOfType() for any type before the one that matched. */ + function PropTypeError(message) { + this.message = message; + this.stack = ''; + } + // Make `instanceof Error` still work for returned errors. + PropTypeError.prototype = Error.prototype; - /** - * ReactElementValidator provides a wrapper around a element factory - * which validates the props passed to the element. This is intended to be - * used only in DEV and could be replaced by a static type checker for languages - * that support it. - */ + function createChainableTypeChecker(validate) { + if (process.env.NODE_ENV !== 'production') { + var manualPropTypeCallCache = {}; + } + function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { + componentName = componentName || ANONYMOUS; + propFullName = propFullName || propName; + if (process.env.NODE_ENV !== 'production') { + if (secret !== ReactPropTypesSecret && typeof console !== 'undefined') { + var cacheKey = componentName + ':' + propName; + if (!manualPropTypeCallCache[cacheKey]) { + process.env.NODE_ENV !== 'production' ? warning(false, 'You are manually calling a React.PropTypes validation ' + 'function for the `%s` prop on `%s`. This is deprecated ' + 'and will not work in production with the next major version. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.', propFullName, componentName) : void 0; + manualPropTypeCallCache[cacheKey] = true; + } + } + } + if (props[propName] == null) { + var locationName = ReactPropTypeLocationNames[location]; + if (isRequired) { + if (props[propName] === null) { + return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); + } + return new PropTypeError('The ' + locationName + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); + } + return null; + } else { + return validate(props, propName, componentName, location, propFullName); + } + } - 'use strict'; + var chainedCheckType = checkType.bind(null, false); + chainedCheckType.isRequired = checkType.bind(null, true); - var ReactElement = __webpack_require__(27); - var ReactPropTypeLocations = __webpack_require__(47); - var ReactPropTypeLocationNames = __webpack_require__(49); - var ReactCurrentOwner = __webpack_require__(28); + return chainedCheckType; + } - var canDefineProperty = __webpack_require__(31); - var getIteratorFn = __webpack_require__(33); - var invariant = __webpack_require__(26); - var warning = __webpack_require__(29); + function createPrimitiveTypeChecker(expectedType) { + function validate(props, propName, componentName, location, propFullName, secret) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== expectedType) { + var locationName = ReactPropTypeLocationNames[location]; + // `propValue` being instance of, say, date/regexp, pass the 'object' + // check, but we can offer a more precise error message here rather than + // 'of type `object`'. + var preciseType = getPreciseType(propValue); - function getDeclarationErrorAddendum() { - if (ReactCurrentOwner.current) { - var name = ReactCurrentOwner.current.getName(); - if (name) { - return ' Check the render method of `' + name + '`.'; + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); } + return null; } - return ''; + return createChainableTypeChecker(validate); } - /** - * Warn if there's no key explicitly set on dynamic arrays of children or - * object keys are not valid. This allows us to keep track of children between - * updates. - */ - var ownerHasKeyUseWarning = {}; - - var loggedTypeFailures = {}; + function createAnyTypeChecker() { + return createChainableTypeChecker(emptyFunction.thatReturns(null)); + } - /** - * Warn if the element doesn't have an explicit key assigned to it. - * This element is in an array. The array could grow and shrink or be - * reordered. All children that haven't already been validated are required to - * have a "key" property assigned to it. - * - * @internal - * @param {ReactElement} element Element that requires a key. - * @param {*} parentType element's parent's type. - */ - function validateExplicitKey(element, parentType) { - if (!element._store || element._store.validated || element.key != null) { - return; + function createArrayOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); + } + var propValue = props[propName]; + if (!Array.isArray(propValue)) { + var locationName = ReactPropTypeLocationNames[location]; + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); + } + for (var i = 0; i < propValue.length; i++) { + var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); + if (error instanceof Error) { + return error; + } + } + return null; } - element._store.validated = true; + return createChainableTypeChecker(validate); + } - var addenda = getAddendaForKeyUse('uniqueKey', element, parentType); - if (addenda === null) { - // we already showed the warning - return; + function createElementTypeChecker() { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + if (!ReactElement.isValidElement(propValue)) { + var locationName = ReactPropTypeLocationNames[location]; + var propType = getPropType(propValue); + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); + } + return null; } - process.env.NODE_ENV !== 'production' ? warning(false, 'Each child in an array or iterator should have a unique "key" prop.' + '%s%s%s', addenda.parentOrOwner || '', addenda.childOwner || '', addenda.url || '') : void 0; + return createChainableTypeChecker(validate); } - /** - * Shared warning and monitoring code for the key warnings. - * - * @internal - * @param {string} messageType A key used for de-duping warnings. - * @param {ReactElement} element Component that requires a key. - * @param {*} parentType element's parent's type. - * @returns {?object} A set of addenda to use in the warning message, or null - * if the warning has already been shown before (and shouldn't be shown again). - */ - function getAddendaForKeyUse(messageType, element, parentType) { - var addendum = getDeclarationErrorAddendum(); - if (!addendum) { - var parentName = typeof parentType === 'string' ? parentType : parentType.displayName || parentType.name; - if (parentName) { - addendum = ' Check the top-level render call using <' + parentName + '>.'; + function createInstanceTypeChecker(expectedClass) { + function validate(props, propName, componentName, location, propFullName) { + if (!(props[propName] instanceof expectedClass)) { + var locationName = ReactPropTypeLocationNames[location]; + var expectedClassName = expectedClass.name || ANONYMOUS; + var actualClassName = getClassName(props[propName]); + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } + return null; } + return createChainableTypeChecker(validate); + } - var memoizer = ownerHasKeyUseWarning[messageType] || (ownerHasKeyUseWarning[messageType] = {}); - if (memoizer[addendum]) { - return null; + function createEnumTypeChecker(expectedValues) { + if (!Array.isArray(expectedValues)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOf, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; } - memoizer[addendum] = true; - var addenda = { - parentOrOwner: addendum, - url: ' See https://fb.me/react-warning-keys for more information.', - childOwner: null - }; + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + for (var i = 0; i < expectedValues.length; i++) { + if (is(propValue, expectedValues[i])) { + return null; + } + } - // Usually the current owner is the offender, but if it accepts children as a - // property, it may be the creator of the child that's responsible for - // assigning it a key. - if (element && element._owner && element._owner !== ReactCurrentOwner.current) { - // Give the component that originally created this child. - addenda.childOwner = ' It was passed a child from ' + element._owner.getName() + '.'; + var locationName = ReactPropTypeLocationNames[location]; + var valuesString = JSON.stringify(expectedValues); + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } - - return addenda; + return createChainableTypeChecker(validate); } - /** - * Ensure that every element either is passed in a static location, in an - * array with an explicit keys property defined, or in an object literal - * with valid key property. - * - * @internal - * @param {ReactNode} node Statically passed child of any type. - * @param {*} parentType node's parent's type. - */ - function validateChildKeys(node, parentType) { - if (typeof node !== 'object') { - return; - } - if (Array.isArray(node)) { - for (var i = 0; i < node.length; i++) { - var child = node[i]; - if (ReactElement.isValidElement(child)) { - validateExplicitKey(child, parentType); - } + function createObjectOfTypeChecker(typeChecker) { + function validate(props, propName, componentName, location, propFullName) { + if (typeof typeChecker !== 'function') { + return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } - } else if (ReactElement.isValidElement(node)) { - // This element was passed in a valid location. - if (node._store) { - node._store.validated = true; + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + var locationName = ReactPropTypeLocationNames[location]; + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } - } else if (node) { - var iteratorFn = getIteratorFn(node); - // Entry iterators provide implicit keys. - if (iteratorFn) { - if (iteratorFn !== node.entries) { - var iterator = iteratorFn.call(node); - var step; - while (!(step = iterator.next()).done) { - if (ReactElement.isValidElement(step.value)) { - validateExplicitKey(step.value, parentType); - } + for (var key in propValue) { + if (propValue.hasOwnProperty(key)) { + var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error instanceof Error) { + return error; } } } + return null; } + return createChainableTypeChecker(validate); } - /** - * Assert that the props are valid - * - * @param {string} componentName Name of the component for error messages. - * @param {object} propTypes Map of prop name to a ReactPropType - * @param {object} props - * @param {string} location e.g. "prop", "context", "child context" - * @private - */ - function checkPropTypes(componentName, propTypes, props, location) { - for (var propName in propTypes) { - if (propTypes.hasOwnProperty(propName)) { - var error; - // Prop type validation may throw. In case they do, we don't want to - // fail the render phase where it didn't fail before. So we log it. - // After these have been cleaned up, we'll let them throw. - try { - // This is intentionally an invariant that gets caught. It's the same - // behavior as without this statement except with a better message. - !(typeof propTypes[propName] === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', ReactPropTypeLocationNames[location], propName) : invariant(false) : void 0; - error = propTypes[propName](props, propName, componentName, location); - } catch (ex) { - error = ex; - } - process.env.NODE_ENV !== 'production' ? 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', ReactPropTypeLocationNames[location], propName, typeof error) : void 0; - if (error instanceof Error && !(error.message in loggedTypeFailures)) { - // Only monitor this failure once because there tends to be a lot of the - // same error. - loggedTypeFailures[error.message] = true; + function createUnionTypeChecker(arrayOfTypeCheckers) { + if (!Array.isArray(arrayOfTypeCheckers)) { + process.env.NODE_ENV !== 'production' ? warning(false, 'Invalid argument supplied to oneOfType, expected an instance of array.') : void 0; + return emptyFunction.thatReturnsNull; + } - var addendum = getDeclarationErrorAddendum(); - process.env.NODE_ENV !== 'production' ? warning(false, 'Failed propType: %s%s', error.message, addendum) : void 0; + function validate(props, propName, componentName, location, propFullName) { + for (var i = 0; i < arrayOfTypeCheckers.length; i++) { + var checker = arrayOfTypeCheckers[i]; + if (checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret) == null) { + return null; } } + + var locationName = ReactPropTypeLocationNames[location]; + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); } + return createChainableTypeChecker(validate); } - /** - * Given an element, validate that its props follow the propTypes definition, - * provided by the type. - * - * @param {ReactElement} element - */ - function validatePropTypes(element) { - var componentClass = element.type; - if (typeof componentClass !== 'function') { - return; - } - var name = componentClass.displayName || componentClass.name; - if (componentClass.propTypes) { - checkPropTypes(name, componentClass.propTypes, element.props, ReactPropTypeLocations.prop); - } - if (typeof componentClass.getDefaultProps === 'function') { - process.env.NODE_ENV !== 'production' ? warning(componentClass.getDefaultProps.isReactClassApproved, 'getDefaultProps is only used on classic React.createClass ' + 'definitions. Use a static property named `defaultProps` instead.') : void 0; + function createNodeChecker() { + function validate(props, propName, componentName, location, propFullName) { + if (!isNode(props[propName])) { + var locationName = ReactPropTypeLocationNames[location]; + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); + } + return null; } + return createChainableTypeChecker(validate); } - var ReactElementValidator = { - - createElement: function (type, props, children) { - var validType = typeof type === 'string' || typeof type === 'function'; - // We warn in this case but don't throw. We expect the element creation to - // succeed and there will likely be errors in render. - process.env.NODE_ENV !== 'production' ? warning(validType, 'React.createElement: type should not be null, undefined, boolean, or ' + 'number. It should be a string (for DOM elements) or a ReactClass ' + '(for composite components).%s', getDeclarationErrorAddendum()) : void 0; - - var element = ReactElement.createElement.apply(this, arguments); - - // The result can be nullish if a mock or a custom function is used. - // TODO: Drop this when these are no longer allowed as the type argument. - if (element == null) { - return element; + function createShapeTypeChecker(shapeTypes) { + function validate(props, propName, componentName, location, propFullName) { + var propValue = props[propName]; + var propType = getPropType(propValue); + if (propType !== 'object') { + var locationName = ReactPropTypeLocationNames[location]; + return new PropTypeError('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } - - // Skip key warning if the type isn't valid since our key validation logic - // doesn't expect a non-string/function type and can throw confusing errors. - // We don't want exception behavior to differ between dev and prod. - // (Rendering will throw with a helpful message and as soon as the type is - // fixed, the key warnings will appear.) - if (validType) { - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], type); + for (var key in shapeTypes) { + var checker = shapeTypes[key]; + if (!checker) { + continue; + } + var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); + if (error) { + return error; } } + return null; + } + return createChainableTypeChecker(validate); + } - validatePropTypes(element); - - return element; - }, - - createFactory: function (type) { - var validatedFactory = ReactElementValidator.createElement.bind(null, type); - // Legacy hook TODO: Warn if this is accessed - validatedFactory.type = type; + function isNode(propValue) { + switch (typeof propValue) { + case 'number': + case 'string': + case 'undefined': + return true; + case 'boolean': + return !propValue; + case 'object': + if (Array.isArray(propValue)) { + return propValue.every(isNode); + } + if (propValue === null || ReactElement.isValidElement(propValue)) { + return true; + } - if (process.env.NODE_ENV !== 'production') { - if (canDefineProperty) { - Object.defineProperty(validatedFactory, 'type', { - enumerable: false, - get: function () { - process.env.NODE_ENV !== 'production' ? warning(false, 'Factory.type is deprecated. Access the class directly ' + 'before passing it to createFactory.') : void 0; - Object.defineProperty(this, 'type', { - value: type - }); - return type; + var iteratorFn = getIteratorFn(propValue); + if (iteratorFn) { + var iterator = iteratorFn.call(propValue); + var step; + if (iteratorFn !== propValue.entries) { + while (!(step = iterator.next()).done) { + if (!isNode(step.value)) { + return false; + } } - }); + } else { + // Iterator will provide entry [k,v] tuples rather than values. + while (!(step = iterator.next()).done) { + var entry = step.value; + if (entry) { + if (!isNode(entry[1])) { + return false; + } + } + } + } + } else { + return false; } - } - - return validatedFactory; - }, - cloneElement: function (element, props, children) { - var newElement = ReactElement.cloneElement.apply(this, arguments); - for (var i = 2; i < arguments.length; i++) { - validateChildKeys(arguments[i], newElement.type); - } - validatePropTypes(newElement); - return newElement; + return true; + default: + return false; } + } - }; - - module.exports = ReactElementValidator; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - -/***/ }, -/* 53 */ -/***/ function(module, exports) { + function isSymbol(propType, propValue) { + // Native Symbol. + if (propType === 'symbol') { + return true; + } - /** - * Copyright (c) 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ + // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' + if (propValue['@@toStringTag'] === 'Symbol') { + return true; + } - 'use strict'; + // Fallback for non-spec compliant Symbols which are polyfilled. + if (typeof Symbol === 'function' && propValue instanceof Symbol) { + return true; + } - var hasOwnProperty = Object.prototype.hasOwnProperty; + return false; + } - /** - * Executes the provided `callback` once for each enumerable own property in the - * object and constructs a new object from the results. The `callback` is - * invoked with three arguments: - * - * - the property value - * - the property name - * - the object being traversed - * - * Properties that are added after the call to `mapObject` will not be visited - * by `callback`. If the values of existing properties are changed, the value - * passed to `callback` will be the value at the time `mapObject` visits them. - * Properties that are deleted before being visited are not visited. - * - * @grep function objectMap() - * @grep function objMap() - * - * @param {?object} object - * @param {function} callback - * @param {*} context - * @return {?object} - */ - function mapObject(object, callback, context) { - if (!object) { - return null; + // Equivalent of `typeof` but with special handling for array and regexp. + function getPropType(propValue) { + var propType = typeof propValue; + if (Array.isArray(propValue)) { + return 'array'; } - var result = {}; - for (var name in object) { - if (hasOwnProperty.call(object, name)) { - result[name] = callback.call(context, object[name], name, object); - } + if (propValue instanceof RegExp) { + // Old webkits (at least until Android 4.0) return 'function' rather than + // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ + // passes PropTypes.object. + return 'object'; } - return result; + if (isSymbol(propType, propValue)) { + return 'symbol'; + } + return propType; + } + + // This handles more types than `getPropType`. Only used for error messages. + // See `createPrimitiveTypeChecker`. + function getPreciseType(propValue) { + var propType = getPropType(propValue); + if (propType === 'object') { + if (propValue instanceof Date) { + return 'date'; + } else if (propValue instanceof RegExp) { + return 'regexp'; + } + } + return propType; + } + + // Returns class name of the object, if any. + function getClassName(propValue) { + if (!propValue.constructor || !propValue.constructor.name) { + return ANONYMOUS; + } + return propValue.constructor.name; } - module.exports = mapObject; + module.exports = ReactPropTypes; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 54 */ -/***/ function(module, exports, __webpack_require__) { +/* 49 */ +/***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. @@ -4024,542 +4203,596 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactPropTypes */ 'use strict'; - var ReactElement = __webpack_require__(27); - var ReactPropTypeLocationNames = __webpack_require__(49); + module.exports = '15.4.0'; - var emptyFunction = __webpack_require__(30); - var getIteratorFn = __webpack_require__(33); +/***/ }, +/* 50 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Collection of methods that allow declaration and validation of props that are - * supplied to React components. Example usage: - * - * var Props = require('ReactPropTypes'); - * var MyArticle = React.createClass({ - * propTypes: { - * // An optional string prop named "description". - * description: Props.string, - * - * // A required enum prop named "category". - * category: Props.oneOf(['News','Photos']).isRequired, - * - * // A prop named "dialog" that requires an instance of Dialog. - * dialog: Props.instanceOf(Dialog).isRequired - * }, - * render: function() { ... } - * }); - * - * A more formal specification of how these methods are used: - * - * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) - * decl := ReactPropTypes.{type}(.isRequired)? - * - * Each and every declaration produces a function with the same signature. This - * allows the creation of custom validation functions. For example: + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. * - * var MyLink = React.createClass({ - * propTypes: { - * // An optional string or URI prop named "href". - * href: function(props, propName, componentName) { - * var propValue = props[propName]; - * if (propValue != null && typeof propValue !== 'string' && - * !(propValue instanceof URI)) { - * return new Error( - * 'Expected a string or an URI for ' + propName + ' in ' + - * componentName - * ); - * } - * } - * }, - * render: function() {...} - * }); + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * - * @internal */ + 'use strict'; - var ANONYMOUS = '<>'; + var _prodInvariant = __webpack_require__(26); - var ReactPropTypes = { - array: createPrimitiveTypeChecker('array'), - bool: createPrimitiveTypeChecker('boolean'), - func: createPrimitiveTypeChecker('function'), - number: createPrimitiveTypeChecker('number'), - object: createPrimitiveTypeChecker('object'), - string: createPrimitiveTypeChecker('string'), + var ReactElement = __webpack_require__(28); - any: createAnyTypeChecker(), - arrayOf: createArrayOfTypeChecker, - element: createElementTypeChecker(), - instanceOf: createInstanceTypeChecker, - node: createNodeChecker(), - objectOf: createObjectOfTypeChecker, - oneOf: createEnumTypeChecker, - oneOfType: createUnionTypeChecker, - shape: createShapeTypeChecker - }; + var invariant = __webpack_require__(27); /** - * inlined Object.is polyfill to avoid requiring consumers ship their own - * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is + * Returns the first child in a collection of children and verifies that there + * is only one child in the collection. + * + * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only + * + * The current implementation of this function assumes that a single child gets + * passed without a wrapper, but the purpose of this helper function is to + * abstract away the particular structure of children. + * + * @param {?object} children Child collection structure. + * @return {ReactElement} The first and only `ReactElement` contained in the + * structure. */ - /*eslint-disable no-self-compare*/ - function is(x, y) { - // SameValue algorithm - if (x === y) { - // Steps 1-5, 7-10 - // Steps 6.b-6.e: +0 != -0 - return x !== 0 || 1 / x === 1 / y; - } else { - // Step 6.a: NaN == NaN - return x !== x && y !== y; - } + function onlyChild(children) { + !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React.Children.only expected to receive a single React element child.') : _prodInvariant('143') : void 0; + return children; } - /*eslint-enable no-self-compare*/ - function createChainableTypeChecker(validate) { - function checkType(isRequired, props, propName, componentName, location, propFullName) { - componentName = componentName || ANONYMOUS; - propFullName = propFullName || propName; - if (props[propName] == null) { - var locationName = ReactPropTypeLocationNames[location]; - if (isRequired) { - return new Error('Required ' + locationName + ' `' + propFullName + '` was not specified in ' + ('`' + componentName + '`.')); - } - return null; - } else { - return validate(props, propName, componentName, location, propFullName); - } - } + module.exports = onlyChild; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) - var chainedCheckType = checkType.bind(null, false); - chainedCheckType.isRequired = checkType.bind(null, true); +/***/ }, +/* 51 */ +/***/ function(module, exports) { - return chainedCheckType; - } + /* + * Copyright 2016 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS + */ + "use strict"; + exports.Colors = { + BLACK: "#10161A", + BLUE1: "#0E5A8A", + BLUE2: "#106BA3", + BLUE3: "#137CBD", + BLUE4: "#2B95D6", + BLUE5: "#48AFF0", + COBALT1: "#1F4B99", + COBALT2: "#2458B3", + COBALT3: "#2965CC", + COBALT4: "#4580E6", + COBALT5: "#669EFF", + DARK_GRAY1: "#182026", + DARK_GRAY2: "#202B33", + DARK_GRAY3: "#293742", + DARK_GRAY4: "#30404D", + DARK_GRAY5: "#394B59", + FOREST1: "#1D7324", + FOREST2: "#238C2C", + FOREST3: "#29A634", + FOREST4: "#43BF4D", + FOREST5: "#62D96B", + GOLD1: "#A67908", + GOLD2: "#BF8C0A", + GOLD3: "#D99E0B", + GOLD4: "#F2B824", + GOLD5: "#FFC940", + GRAY1: "#5C7080", + GRAY2: "#738694", + GRAY3: "#8A9BA8", + GRAY4: "#A7B6C2", + GRAY5: "#BFCCD6", + GREEN1: "#0A6640", + GREEN2: "#0D8050", + GREEN3: "#0F9960", + GREEN4: "#15B371", + GREEN5: "#3DCC91", + INDIGO1: "#5642A6", + INDIGO2: "#634DBF", + INDIGO3: "#7157D9", + INDIGO4: "#9179F2", + INDIGO5: "#AD99FF", + LIGHT_GRAY1: "#CED9E0", + LIGHT_GRAY2: "#D8E1E8", + LIGHT_GRAY3: "#E1E8ED", + LIGHT_GRAY4: "#EBF1F5", + LIGHT_GRAY5: "#F5F8FA", + LIME1: "#728C23", + LIME2: "#87A629", + LIME3: "#9BBF30", + LIME4: "#B6D94C", + LIME5: "#D1F26D", + ORANGE1: "#A66321", + ORANGE2: "#BF7326", + ORANGE3: "#D9822B", + ORANGE4: "#F29D49", + ORANGE5: "#FFB366", + RED1: "#A82A2A", + RED2: "#C23030", + RED3: "#DB3737", + RED4: "#F55656", + RED5: "#FF7373", + ROSE1: "#A82255", + ROSE2: "#C22762", + ROSE3: "#DB2C6F", + ROSE4: "#F5498B", + ROSE5: "#FF66A1", + SEPIA1: "#63411E", + SEPIA2: "#7D5125", + SEPIA3: "#96622D", + SEPIA4: "#B07B46", + SEPIA5: "#C99765", + TURQUOISE1: "#008075", + TURQUOISE2: "#00998C", + TURQUOISE3: "#00B3A4", + TURQUOISE4: "#14CCBD", + TURQUOISE5: "#2EE6D6", + VERMILION1: "#9E2B0E", + VERMILION2: "#B83211", + VERMILION3: "#D13913", + VERMILION4: "#EB532D", + VERMILION5: "#FF6E4A", + VIOLET1: "#5C255C", + VIOLET2: "#752F75", + VIOLET3: "#8F398F", + VIOLET4: "#A854A8", + VIOLET5: "#C274C2", + WHITE: "#FFFFFF", + }; - function createPrimitiveTypeChecker(expectedType) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== expectedType) { - var locationName = ReactPropTypeLocationNames[location]; - // `propValue` being instance of, say, date/regexp, pass the 'object' - // check, but we can offer a more precise error message here rather than - // 'of type `object`'. - var preciseType = getPreciseType(propValue); + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUVVLGNBQU0sR0FBRztJQUNsQixLQUFLLEVBQUUsU0FBUztJQUVoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUNyQixVQUFVLEVBQUUsU0FBUztJQUVyQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUsU0FBUztJQUVqQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUN0QixXQUFXLEVBQUUsU0FBUztJQUV0QixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUNoQixLQUFLLEVBQUUsU0FBUztJQUVoQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUNsQixPQUFPLEVBQUUsU0FBUztJQUVsQixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBRWYsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFFakIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsS0FBSyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQyIsImZpbGUiOiJjb21tb24vY29sb3JzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5leHBvcnQgY29uc3QgQ29sb3JzID0ge1xuICAgIEJMQUNLOiBcIiMxMDE2MUFcIixcblxuICAgIEJMVUUxOiBcIiMwRTVBOEFcIixcbiAgICBCTFVFMjogXCIjMTA2QkEzXCIsXG4gICAgQkxVRTM6IFwiIzEzN0NCRFwiLFxuICAgIEJMVUU0OiBcIiMyQjk1RDZcIixcbiAgICBCTFVFNTogXCIjNDhBRkYwXCIsXG5cbiAgICBDT0JBTFQxOiBcIiMxRjRCOTlcIixcbiAgICBDT0JBTFQyOiBcIiMyNDU4QjNcIixcbiAgICBDT0JBTFQzOiBcIiMyOTY1Q0NcIixcbiAgICBDT0JBTFQ0OiBcIiM0NTgwRTZcIixcbiAgICBDT0JBTFQ1OiBcIiM2NjlFRkZcIixcblxuICAgIERBUktfR1JBWTE6IFwiIzE4MjAyNlwiLFxuICAgIERBUktfR1JBWTI6IFwiIzIwMkIzM1wiLFxuICAgIERBUktfR1JBWTM6IFwiIzI5Mzc0MlwiLFxuICAgIERBUktfR1JBWTQ6IFwiIzMwNDA0RFwiLFxuICAgIERBUktfR1JBWTU6IFwiIzM5NEI1OVwiLFxuXG4gICAgRk9SRVNUMTogXCIjMUQ3MzI0XCIsXG4gICAgRk9SRVNUMjogXCIjMjM4QzJDXCIsXG4gICAgRk9SRVNUMzogXCIjMjlBNjM0XCIsXG4gICAgRk9SRVNUNDogXCIjNDNCRjREXCIsXG4gICAgRk9SRVNUNTogXCIjNjJEOTZCXCIsXG5cbiAgICBHT0xEMTogXCIjQTY3OTA4XCIsXG4gICAgR09MRDI6IFwiI0JGOEMwQVwiLFxuICAgIEdPTEQzOiBcIiNEOTlFMEJcIixcbiAgICBHT0xENDogXCIjRjJCODI0XCIsXG4gICAgR09MRDU6IFwiI0ZGQzk0MFwiLFxuXG4gICAgR1JBWTE6IFwiIzVDNzA4MFwiLFxuICAgIEdSQVkyOiBcIiM3Mzg2OTRcIixcbiAgICBHUkFZMzogXCIjOEE5QkE4XCIsXG4gICAgR1JBWTQ6IFwiI0E3QjZDMlwiLFxuICAgIEdSQVk1OiBcIiNCRkNDRDZcIixcblxuICAgIEdSRUVOMTogXCIjMEE2NjQwXCIsXG4gICAgR1JFRU4yOiBcIiMwRDgwNTBcIixcbiAgICBHUkVFTjM6IFwiIzBGOTk2MFwiLFxuICAgIEdSRUVONDogXCIjMTVCMzcxXCIsXG4gICAgR1JFRU41OiBcIiMzRENDOTFcIixcblxuICAgIElORElHTzE6IFwiIzU2NDJBNlwiLFxuICAgIElORElHTzI6IFwiIzYzNERCRlwiLFxuICAgIElORElHTzM6IFwiIzcxNTdEOVwiLFxuICAgIElORElHTzQ6IFwiIzkxNzlGMlwiLFxuICAgIElORElHTzU6IFwiI0FEOTlGRlwiLFxuXG4gICAgTElHSFRfR1JBWTE6IFwiI0NFRDlFMFwiLFxuICAgIExJR0hUX0dSQVkyOiBcIiNEOEUxRThcIixcbiAgICBMSUdIVF9HUkFZMzogXCIjRTFFOEVEXCIsXG4gICAgTElHSFRfR1JBWTQ6IFwiI0VCRjFGNVwiLFxuICAgIExJR0hUX0dSQVk1OiBcIiNGNUY4RkFcIixcblxuICAgIExJTUUxOiBcIiM3MjhDMjNcIixcbiAgICBMSU1FMjogXCIjODdBNjI5XCIsXG4gICAgTElNRTM6IFwiIzlCQkYzMFwiLFxuICAgIExJTUU0OiBcIiNCNkQ5NENcIixcbiAgICBMSU1FNTogXCIjRDFGMjZEXCIsXG5cbiAgICBPUkFOR0UxOiBcIiNBNjYzMjFcIixcbiAgICBPUkFOR0UyOiBcIiNCRjczMjZcIixcbiAgICBPUkFOR0UzOiBcIiNEOTgyMkJcIixcbiAgICBPUkFOR0U0OiBcIiNGMjlENDlcIixcbiAgICBPUkFOR0U1OiBcIiNGRkIzNjZcIixcblxuICAgIFJFRDE6IFwiI0E4MkEyQVwiLFxuICAgIFJFRDI6IFwiI0MyMzAzMFwiLFxuICAgIFJFRDM6IFwiI0RCMzczN1wiLFxuICAgIFJFRDQ6IFwiI0Y1NTY1NlwiLFxuICAgIFJFRDU6IFwiI0ZGNzM3M1wiLFxuXG4gICAgUk9TRTE6IFwiI0E4MjI1NVwiLFxuICAgIFJPU0UyOiBcIiNDMjI3NjJcIixcbiAgICBST1NFMzogXCIjREIyQzZGXCIsXG4gICAgUk9TRTQ6IFwiI0Y1NDk4QlwiLFxuICAgIFJPU0U1OiBcIiNGRjY2QTFcIixcblxuICAgIFNFUElBMTogXCIjNjM0MTFFXCIsXG4gICAgU0VQSUEyOiBcIiM3RDUxMjVcIixcbiAgICBTRVBJQTM6IFwiIzk2NjIyRFwiLFxuICAgIFNFUElBNDogXCIjQjA3QjQ2XCIsXG4gICAgU0VQSUE1OiBcIiNDOTk3NjVcIixcblxuICAgIFRVUlFVT0lTRTE6IFwiIzAwODA3NVwiLFxuICAgIFRVUlFVT0lTRTI6IFwiIzAwOTk4Q1wiLFxuICAgIFRVUlFVT0lTRTM6IFwiIzAwQjNBNFwiLFxuICAgIFRVUlFVT0lTRTQ6IFwiIzE0Q0NCRFwiLFxuICAgIFRVUlFVT0lTRTU6IFwiIzJFRTZENlwiLFxuXG4gICAgVkVSTUlMSU9OMTogXCIjOUUyQjBFXCIsXG4gICAgVkVSTUlMSU9OMjogXCIjQjgzMjExXCIsXG4gICAgVkVSTUlMSU9OMzogXCIjRDEzOTEzXCIsXG4gICAgVkVSTUlMSU9ONDogXCIjRUI1MzJEXCIsXG4gICAgVkVSTUlMSU9ONTogXCIjRkY2RTRBXCIsXG5cbiAgICBWSU9MRVQxOiBcIiM1QzI1NUNcIixcbiAgICBWSU9MRVQyOiBcIiM3NTJGNzVcIixcbiAgICBWSU9MRVQzOiBcIiM4RjM5OEZcIixcbiAgICBWSU9MRVQ0OiBcIiNBODU0QThcIixcbiAgICBWSU9MRVQ1OiBcIiNDMjc0QzJcIixcblxuICAgIFdISVRFOiBcIiNGRkZGRkZcIixcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); - } - function createAnyTypeChecker() { - return createChainableTypeChecker(emptyFunction.thatReturns(null)); - } +/***/ }, +/* 52 */ +/***/ function(module, exports) { - function createArrayOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); - } - var propValue = props[propName]; - if (!Array.isArray(propValue)) { - var locationName = ReactPropTypeLocationNames[location]; - var propType = getPropType(propValue); - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); - } - for (var i = 0; i < propValue.length; i++) { - var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']'); - if (error instanceof Error) { - return error; - } - } - return null; - } - return createChainableTypeChecker(validate); - } + /* + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS + */ + "use strict"; + /** + * The four basic intents. + */ + (function (Intent) { + Intent[Intent["NONE"] = -1] = "NONE"; + Intent[Intent["PRIMARY"] = 0] = "PRIMARY"; + Intent[Intent["SUCCESS"] = 1] = "SUCCESS"; + Intent[Intent["WARNING"] = 2] = "WARNING"; + Intent[Intent["DANGER"] = 3] = "DANGER"; + })(exports.Intent || (exports.Intent = {})); + var Intent = exports.Intent; - function createElementTypeChecker() { - function validate(props, propName, componentName, location, propFullName) { - if (!ReactElement.isValidElement(props[propName])) { - var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a single ReactElement.')); - } - return null; - } - return createChainableTypeChecker(validate); - } + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW50ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOztBQUVIOztHQUVHO0FBQ0gsV0FBWSxNQUFNO0lBQ2Qsb0NBQVMsQ0FBQTtJQUNULHlDQUFPLENBQUE7SUFDUCx5Q0FBTyxDQUFBO0lBQ1AseUNBQU8sQ0FBQTtJQUNQLHVDQUFNLENBQUE7QUFDVixDQUFDLEVBTlcsY0FBTSxLQUFOLGNBQU0sUUFNakI7QUFORCxJQUFZLE1BQU0sR0FBTixjQU1YLENBQUEiLCJmaWxlIjoiY29tbW9uL2ludGVudC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuLyoqXG4gKiBUaGUgZm91ciBiYXNpYyBpbnRlbnRzLlxuICovXG5leHBvcnQgZW51bSBJbnRlbnQge1xuICAgIE5PTkUgPSAtMSxcbiAgICBQUklNQVJZLFxuICAgIFNVQ0NFU1MsXG4gICAgV0FSTklORyxcbiAgICBEQU5HRVIsXG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= - function createInstanceTypeChecker(expectedClass) { - function validate(props, propName, componentName, location, propFullName) { - if (!(props[propName] instanceof expectedClass)) { - var locationName = ReactPropTypeLocationNames[location]; - var expectedClassName = expectedClass.name || ANONYMOUS; - var actualClassName = getClassName(props[propName]); - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); - } - return null; - } - return createChainableTypeChecker(validate); + +/***/ }, +/* 53 */ +/***/ function(module, exports) { + + /* + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS + */ + "use strict"; + (function (Position) { + Position[Position["TOP_LEFT"] = 0] = "TOP_LEFT"; + Position[Position["TOP"] = 1] = "TOP"; + Position[Position["TOP_RIGHT"] = 2] = "TOP_RIGHT"; + Position[Position["RIGHT_TOP"] = 3] = "RIGHT_TOP"; + Position[Position["RIGHT"] = 4] = "RIGHT"; + Position[Position["RIGHT_BOTTOM"] = 5] = "RIGHT_BOTTOM"; + Position[Position["BOTTOM_RIGHT"] = 6] = "BOTTOM_RIGHT"; + Position[Position["BOTTOM"] = 7] = "BOTTOM"; + Position[Position["BOTTOM_LEFT"] = 8] = "BOTTOM_LEFT"; + Position[Position["LEFT_BOTTOM"] = 9] = "LEFT_BOTTOM"; + Position[Position["LEFT"] = 10] = "LEFT"; + Position[Position["LEFT_TOP"] = 11] = "LEFT_TOP"; + })(exports.Position || (exports.Position = {})); + var Position = exports.Position; + function isPositionHorizontal(position) { + /* istanbul ignore next */ + return position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT + || position === Position.BOTTOM || position === Position.BOTTOM_LEFT || position === Position.BOTTOM_RIGHT; + } + exports.isPositionHorizontal = isPositionHorizontal; + function isPositionVertical(position) { + /* istanbul ignore next */ + return position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM + || position === Position.RIGHT || position === Position.RIGHT_TOP || position === Position.RIGHT_BOTTOM; } + exports.isPositionVertical = isPositionVertical; - function createEnumTypeChecker(expectedValues) { - if (!Array.isArray(expectedValues)) { - return createChainableTypeChecker(function () { - return new Error('Invalid argument supplied to oneOf, expected an instance of array.'); - }); - } + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBRUgsV0FBWSxRQUFRO0lBQ2hCLCtDQUFRLENBQUE7SUFDUixxQ0FBRyxDQUFBO0lBQ0gsaURBQVMsQ0FBQTtJQUNULGlEQUFTLENBQUE7SUFDVCx5Q0FBSyxDQUFBO0lBQ0wsdURBQVksQ0FBQTtJQUNaLHVEQUFZLENBQUE7SUFDWiwyQ0FBTSxDQUFBO0lBQ04scURBQVcsQ0FBQTtJQUNYLHFEQUFXLENBQUE7SUFDWCx3Q0FBSSxDQUFBO0lBQ0osZ0RBQVEsQ0FBQTtBQUNaLENBQUMsRUFiVyxnQkFBUSxLQUFSLGdCQUFRLFFBYW5CO0FBYkQsSUFBWSxRQUFRLEdBQVIsZ0JBYVgsQ0FBQTtBQUVELDhCQUFxQyxRQUFrQjtJQUNuRCwwQkFBMEI7SUFDMUIsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsR0FBRyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUztXQUM5RixRQUFRLEtBQUssUUFBUSxDQUFDLE1BQU0sSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFlBQVksQ0FBQztBQUNuSCxDQUFDO0FBSmUsNEJBQW9CLHVCQUluQyxDQUFBO0FBRUQsNEJBQW1DLFFBQWtCO0lBQ2pELDBCQUEwQjtJQUMxQixNQUFNLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxJQUFJLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxRQUFRLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXO1dBQ2pHLFFBQVEsS0FBSyxRQUFRLENBQUMsS0FBSyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsU0FBUyxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsWUFBWSxDQUFDO0FBQ2hILENBQUM7QUFKZSwwQkFBa0IscUJBSWpDLENBQUEiLCJmaWxlIjoiY29tbW9uL3Bvc2l0aW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5leHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgVE9QX0xFRlQsXG4gICAgVE9QLFxuICAgIFRPUF9SSUdIVCxcbiAgICBSSUdIVF9UT1AsXG4gICAgUklHSFQsXG4gICAgUklHSFRfQk9UVE9NLFxuICAgIEJPVFRPTV9SSUdIVCxcbiAgICBCT1RUT00sXG4gICAgQk9UVE9NX0xFRlQsXG4gICAgTEVGVF9CT1RUT00sXG4gICAgTEVGVCxcbiAgICBMRUZUX1RPUCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25Ib3Jpem9udGFsKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLlRPUF9MRUZUIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1BfUklHSFRcbiAgICAgICAgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTSB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uQk9UVE9NX0xFRlQgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTV9SSUdIVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25WZXJ0aWNhbChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVF9UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkxFRlRfQk9UVE9NXG4gICAgICAgIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uUklHSFRfVE9QIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVF9CT1RUT007XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - for (var i = 0; i < expectedValues.length; i++) { - if (is(propValue, expectedValues[i])) { - return null; - } - } - var locationName = ReactPropTypeLocationNames[location]; - var valuesString = JSON.stringify(expectedValues); - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of value `' + propValue + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); - } - return createChainableTypeChecker(validate); - } +/***/ }, +/* 54 */ +/***/ function(module, exports, __webpack_require__) { - function createObjectOfTypeChecker(typeChecker) { - function validate(props, propName, componentName, location, propFullName) { - if (typeof typeChecker !== 'function') { - return new Error('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); - } - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); + /* + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS + */ + "use strict"; + var utils_1 = __webpack_require__(55); + /** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */ + var INVALID_PROPS = [ + "containerRef", + "defaultIndeterminate", + "elementRef", + "iconName", + "inputRef", + "intent", + "leftIconName", + "onChildrenMount", + "onRemove", + "rightElement", + "rightIconName", + "text", + ]; + /** + * Typically applied to HTMLElements to filter out blacklisted props. When applied to a Component, + * can filter props from being passed down to the children. Can also filter by a combined list of + * supplied prop keys and the blacklist (only appropriate for HTMLElements). + * @param props The original props object to filter down. + * @param {string[]} invalidProps If supplied, overwrites the default blacklist. + * @param {boolean} shouldMerge If true, will merge supplied invalidProps and blacklist together. + */ + function removeNonHTMLProps(props, invalidProps, shouldMerge) { + if (invalidProps === void 0) { invalidProps = INVALID_PROPS; } + if (shouldMerge === void 0) { shouldMerge = false; } + if (shouldMerge) { + invalidProps = invalidProps.concat(INVALID_PROPS); } - for (var key in propValue) { - if (propValue.hasOwnProperty(key)) { - var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key); - if (error instanceof Error) { - return error; + return invalidProps.reduce(function (prev, curr) { + if (prev.hasOwnProperty(curr)) { + delete prev[curr]; } - } - } - return null; - } - return createChainableTypeChecker(validate); + return prev; + }, utils_1.shallowClone(props)); } + exports.removeNonHTMLProps = removeNonHTMLProps; - function createUnionTypeChecker(arrayOfTypeCheckers) { - if (!Array.isArray(arrayOfTypeCheckers)) { - return createChainableTypeChecker(function () { - return new Error('Invalid argument supplied to oneOfType, expected an instance of array.'); - }); - } + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBS0gsc0JBQTZCLFNBQVMsQ0FBQyxDQUFBO0FBdUV2QywwR0FBMEc7QUFDMUcsSUFBTSxhQUFhLEdBQUc7SUFDbEIsY0FBYztJQUNkLHNCQUFzQjtJQUN0QixZQUFZO0lBQ1osVUFBVTtJQUNWLFVBQVU7SUFDVixRQUFRO0lBQ1IsY0FBYztJQUNkLGlCQUFpQjtJQUNqQixVQUFVO0lBQ1YsY0FBYztJQUNkLGVBQWU7SUFDZixNQUFNO0NBQ1QsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCw0QkFBbUQsS0FBUSxFQUFFLFlBQTRCLEVBQUUsV0FBbUI7SUFBakQsNEJBQTRCLEdBQTVCLDRCQUE0QjtJQUFFLDJCQUFtQixHQUFuQixtQkFBbUI7SUFDMUcsRUFBRSxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNkLFlBQVksR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxVQUFDLElBQUksRUFBRSxJQUFJO1FBQ2xDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzVCLE9BQVEsSUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQy9CLENBQUM7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQVhlLDBCQUFrQixxQkFXakMsQ0FBQSIsImZpbGUiOiJjb21tb24vcHJvcHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyBJbnRlbnQgfSBmcm9tIFwiLi9pbnRlbnRcIjtcbmltcG9ydCB7IHNoYWxsb3dDbG9uZSB9IGZyb20gXCIuL3V0aWxzXCI7XG5cbmV4cG9ydCB0eXBlIEhUTUxJbnB1dFByb3BzID0gUmVhY3QuSFRNTFByb3BzPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4vKipcbiAqIEEgc2hhcmVkIGJhc2UgaW50ZXJmYWNlIGZvciBhbGwgQmx1ZXByaW50IGNvbXBvbmVudCBwcm9wcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUHJvcHMge1xuICAgIC8qKiBBIHNwYWNlLWRlbGltaXRlZCBsaXN0IG9mIGNsYXNzIG5hbWVzIHRvIHBhc3MgYWxvbmcgdG8gYSBjaGlsZCBlbGVtZW50LiAqL1xuICAgIGNsYXNzTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSW50ZW50UHJvcHMge1xuICAgIC8qKiBWaXN1YWwgaW50ZW50IGNvbG9yIHRvIGFwcGx5IHRvIGVsZW1lbnQuICovXG4gICAgaW50ZW50PzogSW50ZW50O1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgYSBjbGlja2FibGUgYWN0aW9uLCBzdWNoIGFzIGEgYnV0dG9uIG9yIG1lbnUgaXRlbS5cbiAqIFRoZXNlIHByb3BzIGNhbiBiZSBzcHJlYWR5IGRpcmVjdGx5IHRvIGEgYDxCdXR0b24+YCBvciBgPE1lbnVJdGVtPmAgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWN0aW9uUHJvcHMgZXh0ZW5kcyBJSW50ZW50UHJvcHMsIElQcm9wcyB7XG4gICAgLyoqIFdoZXRoZXIgdGhpcyBhY3Rpb24gaXMgbm9uLWludGVyYWN0aXZlLiAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcblxuICAgIC8qKiBOYW1lIG9mIGljb24gKHRoZSBwYXJ0IGFmdGVyIGBwdC1pY29uLWApIHRvIGFkZCB0byBidXR0b24uICovXG4gICAgaWNvbk5hbWU/OiBzdHJpbmc7XG5cbiAgICAvKiogQ2xpY2sgZXZlbnQgaGFuZGxlci4gKi9cbiAgICBvbkNsaWNrPzogKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50PikgPT4gdm9pZDtcblxuICAgIC8qKiBBY3Rpb24gdGV4dCwgcmVxdWlyZWQgZm9yIHVzYWJpbGl0eS4gKi9cbiAgICB0ZXh0Pzogc3RyaW5nO1xufVxuXG4vKiogSW50ZXJmYWNlIGZvciBhIGxpbmssIHdpdGggc3VwcG9ydCBmb3IgY3VzdG9taXppbmcgdGFyZ2V0IHdpbmRvdy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxpbmtQcm9wcyB7XG4gICAgLyoqIExpbmsgVVJMLiAqL1xuICAgIGhyZWY/OiBzdHJpbmc7XG5cbiAgICAvKiogTGluayB0YXJnZXQgYXR0cmlidXRlLiBVc2UgXCJfYmxhbmtcIiB0byBvcGVuIGluIGEgbmV3IHdpbmRvdy4gKi9cbiAgICB0YXJnZXQ/OiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2UgZm9yIGEgY29udHJvbGxlZCBpbnB1dC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbnRyb2xsZWRQcm9wcyB7XG4gICAgLyoqIEluaXRpYWwgdmFsdWUgb2YgdGhlIGlucHV0LCBmb3IgdW5jb250cm9sbGVkIHVzYWdlLiAqL1xuICAgIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAgIC8qKiBDaGFuZ2UgZXZlbnQgaGFuZGxlci4gVXNlIGBldmVudC50YXJnZXQudmFsdWVgIGZvciBuZXcgdmFsdWUuICovXG4gICAgb25DaGFuZ2U/OiBSZWFjdC5Gb3JtRXZlbnRIYW5kbGVyPEhUTUxFbGVtZW50PjtcblxuICAgIC8qKiBGb3JtIHZhbHVlIG9mIHRoZSBpbnB1dCwgZm9yIGNvbnRyb2xsZWQgdXNhZ2UuICovXG4gICAgdmFsdWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGZvciBhbiBvcHRpb24gaW4gYSBsaXN0LCBzdWNoIGFzIGluIGEgYDxzZWxlY3Q+YCBvciBgUmFkaW9Hcm91cGAuXG4gKiBUaGVzZSBwcm9wcyBjYW4gYmUgc3ByZWFkIGRpcmVjdGx5IHRvIGFuIGA8b3B0aW9uPmAgb3IgYDxSYWRpbz5gIGVsZW1lbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU9wdGlvblByb3BzIGV4dGVuZHMgSVByb3BzIHtcbiAgICAvKiogV2hldGhlciB0aGlzIG9wdGlvbiBpcyBub24taW50ZXJhY3RpdmUuICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqIExhYmVsIHRleHQgZm9yIHRoaXMgb3B0aW9uLiAqL1xuICAgIGxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogVmFsdWUgb2YgdGhpcyBvcHRpb24gKi9cbiAgICB2YWx1ZTogc3RyaW5nO1xufVxuXG4vKiogQSBjb2xsZWN0aW9uIG9mIGN1cmF0ZWQgcHJvcCBrZXlzIHVzZWQgYWNyb3NzIG91ciBDb21wb25lbnRzIHdoaWNoIGFyZSBub3QgdmFsaWQgSFRNTEVsZW1lbnQgcHJvcHMuICovXG5jb25zdCBJTlZBTElEX1BST1BTID0gW1xuICAgIFwiY29udGFpbmVyUmVmXCIsXG4gICAgXCJkZWZhdWx0SW5kZXRlcm1pbmF0ZVwiLFxuICAgIFwiZWxlbWVudFJlZlwiLFxuICAgIFwiaWNvbk5hbWVcIixcbiAgICBcImlucHV0UmVmXCIsXG4gICAgXCJpbnRlbnRcIixcbiAgICBcImxlZnRJY29uTmFtZVwiLFxuICAgIFwib25DaGlsZHJlbk1vdW50XCIsXG4gICAgXCJvblJlbW92ZVwiLFxuICAgIFwicmlnaHRFbGVtZW50XCIsXG4gICAgXCJyaWdodEljb25OYW1lXCIsXG4gICAgXCJ0ZXh0XCIsXG5dO1xuXG4vKipcbiAqIFR5cGljYWxseSBhcHBsaWVkIHRvIEhUTUxFbGVtZW50cyB0byBmaWx0ZXIgb3V0IGJsYWNrbGlzdGVkIHByb3BzLiBXaGVuIGFwcGxpZWQgdG8gYSBDb21wb25lbnQsXG4gKiBjYW4gZmlsdGVyIHByb3BzIGZyb20gYmVpbmcgcGFzc2VkIGRvd24gdG8gdGhlIGNoaWxkcmVuLiBDYW4gYWxzbyBmaWx0ZXIgYnkgYSBjb21iaW5lZCBsaXN0IG9mXG4gKiBzdXBwbGllZCBwcm9wIGtleXMgYW5kIHRoZSBibGFja2xpc3QgKG9ubHkgYXBwcm9wcmlhdGUgZm9yIEhUTUxFbGVtZW50cykuXG4gKiBAcGFyYW0gcHJvcHMgVGhlIG9yaWdpbmFsIHByb3BzIG9iamVjdCB0byBmaWx0ZXIgZG93bi5cbiAqIEBwYXJhbSB7c3RyaW5nW119IGludmFsaWRQcm9wcyBJZiBzdXBwbGllZCwgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdCBibGFja2xpc3QuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHNob3VsZE1lcmdlIElmIHRydWUsIHdpbGwgbWVyZ2Ugc3VwcGxpZWQgaW52YWxpZFByb3BzIGFuZCBibGFja2xpc3QgdG9nZXRoZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZW1vdmVOb25IVE1MUHJvcHM8VCBleHRlbmRzIFUsIFU+KHByb3BzOiBULCBpbnZhbGlkUHJvcHMgPSBJTlZBTElEX1BST1BTLCBzaG91bGRNZXJnZSA9IGZhbHNlKTogVSB7XG4gICAgaWYgKHNob3VsZE1lcmdlKSB7XG4gICAgICAgIGludmFsaWRQcm9wcyA9IGludmFsaWRQcm9wcy5jb25jYXQoSU5WQUxJRF9QUk9QUyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGludmFsaWRQcm9wcy5yZWR1Y2UoKHByZXYsIGN1cnIpID0+IHtcbiAgICAgICAgaWYgKHByZXYuaGFzT3duUHJvcGVydHkoY3VycikpIHtcbiAgICAgICAgICAgIGRlbGV0ZSAocHJldiBhcyBhbnkpW2N1cnJdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2O1xuICAgIH0sIHNoYWxsb3dDbG9uZShwcm9wcykpO1xufVxuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 - function validate(props, propName, componentName, location, propFullName) { - for (var i = 0; i < arrayOfTypeCheckers.length; i++) { - var checker = arrayOfTypeCheckers[i]; - if (checker(props, propName, componentName, location, propFullName) == null) { - return null; - } - } - var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`.')); - } - return createChainableTypeChecker(validate); - } +/***/ }, +/* 55 */ +/***/ function(module, exports) { - function createNodeChecker() { - function validate(props, propName, componentName, location, propFullName) { - if (!isNode(props[propName])) { - var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); - } - return null; - } - return createChainableTypeChecker(validate); + /* + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS + */ + "use strict"; + /** Returns whether the value is a function. Acts as a type guard. */ + function isFunction(value) { + return typeof value === "function"; } - - function createShapeTypeChecker(shapeTypes) { - function validate(props, propName, componentName, location, propFullName) { - var propValue = props[propName]; - var propType = getPropType(propValue); - if (propType !== 'object') { - var locationName = ReactPropTypeLocationNames[location]; - return new Error('Invalid ' + locationName + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); + exports.isFunction = isFunction; + function safeInvoke(func) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; } - for (var key in shapeTypes) { - var checker = shapeTypes[key]; - if (!checker) { - continue; - } - var error = checker(propValue, key, componentName, location, propFullName + '.' + key); - if (error) { - return error; - } + if (isFunction(func)) { + return func.apply(void 0, args); } - return null; - } - return createChainableTypeChecker(validate); } - - function isNode(propValue) { - switch (typeof propValue) { - case 'number': - case 'string': - case 'undefined': - return true; - case 'boolean': - return !propValue; - case 'object': - if (Array.isArray(propValue)) { - return propValue.every(isNode); - } - if (propValue === null || ReactElement.isValidElement(propValue)) { - return true; - } - - var iteratorFn = getIteratorFn(propValue); - if (iteratorFn) { - var iterator = iteratorFn.call(propValue); - var step; - if (iteratorFn !== propValue.entries) { - while (!(step = iterator.next()).done) { - if (!isNode(step.value)) { - return false; - } - } - } else { - // Iterator will provide entry [k,v] tuples rather than values. - while (!(step = iterator.next()).done) { - var entry = step.value; - if (entry) { - if (!isNode(entry[1])) { - return false; - } - } - } - } - } else { - return false; - } - - return true; - default: - return false; - } + exports.safeInvoke = safeInvoke; + function elementIsOrContains(element, testElement) { + return element === testElement || element.contains(testElement); } - - // Equivalent of `typeof` but with special handling for array and regexp. - function getPropType(propValue) { - var propType = typeof propValue; - if (Array.isArray(propValue)) { - return 'array'; - } - if (propValue instanceof RegExp) { - // Old webkits (at least until Android 4.0) return 'function' rather than - // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ - // passes PropTypes.object. - return 'object'; - } - return propType; + exports.elementIsOrContains = elementIsOrContains; + /** + * Returns the difference in length between two arrays. A `null` argument is considered an empty list. + * The return value will be positive if `a` is longer than `b`, negative if the opposite is true, + * and zero if their lengths are equal. + */ + function arrayLengthCompare(a, b) { + if (a === void 0) { a = []; } + if (b === void 0) { b = []; } + return a.length - b.length; } - - // This handles more types than `getPropType`. Only used for error messages. - // See `createPrimitiveTypeChecker`. - function getPreciseType(propValue) { - var propType = getPropType(propValue); - if (propType === 'object') { - if (propValue instanceof Date) { - return 'date'; - } else if (propValue instanceof RegExp) { - return 'regexp'; + exports.arrayLengthCompare = arrayLengthCompare; + /** + * Returns true if the two numbers are within the given tolerance of each other. + * This is useful to correct for floating point precision issues, less useful for integers. + */ + function approxEqual(a, b, tolerance) { + if (tolerance === void 0) { tolerance = 0.00001; } + return Math.abs(a - b) <= tolerance; + } + exports.approxEqual = approxEqual; + /* Clamps the given number between min and max values. Returns value if within range, or closest bound. */ + function clamp(val, min, max) { + if (max < min) { + throw new Error("clamp: max cannot be less than min"); } - } - return propType; + return Math.min(Math.max(val, min), max); } - - // Returns class name of the object, if any. - function getClassName(propValue) { - if (!propValue.constructor || !propValue.constructor.name) { - return ANONYMOUS; - } - return propValue.constructor.name; + exports.clamp = clamp; + /** Return a new object with the same keys as the given object (values are copied, not cloned). */ + function shallowClone(object) { + var clonedObject = {}; + for (var key in object) { + if (object.hasOwnProperty(key)) { + clonedObject[key] = object[key]; + } + } + return clonedObject; } - - module.exports = ReactPropTypes; - -/***/ }, -/* 55 */ -/***/ function(module, exports) { - + exports.shallowClone = shallowClone; /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule ReactVersion + * Throttle an event on an EventTarget by wrapping it in `requestAnimationFrame` call. + * Returns the event handler that was bound to given eventName so you can clean up after yourself. + * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll */ + function throttleEvent(target, eventName, newEventName) { + var running = false; + /* istanbul ignore next: borrowed directly from MDN */ + var func = function (event) { + if (running) { + return; + } + running = true; + requestAnimationFrame(function () { + target.dispatchEvent(new CustomEvent(newEventName, event)); + running = false; + }); + }; + target.addEventListener(eventName, func); + return func; + } + exports.throttleEvent = throttleEvent; + ; - 'use strict'; + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBRUgscUVBQXFFO0FBQ3JFLG9CQUEyQixLQUFVO0lBQ2pDLE1BQU0sQ0FBQyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUM7QUFDdkMsQ0FBQztBQUZlLGtCQUFVLGFBRXpCLENBQUE7QUFPRCxvQkFBMkIsSUFBYztJQUFFLGNBQWM7U0FBZCxXQUFjLENBQWQsc0JBQWMsQ0FBZCxJQUFjO1FBQWQsNkJBQWM7O0lBQ3JELEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLElBQUksZUFBSSxJQUFJLENBQUMsQ0FBQztJQUN6QixDQUFDO0FBQ0wsQ0FBQztBQUplLGtCQUFVLGFBSXpCLENBQUE7QUFFRCw2QkFBb0MsT0FBb0IsRUFBRSxXQUF3QjtJQUM5RSxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxPQUFPLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ3BFLENBQUM7QUFGZSwyQkFBbUIsc0JBRWxDLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsNEJBQW1DLENBQWEsRUFBRSxDQUFhO0lBQTVCLGlCQUFhLEdBQWIsTUFBYTtJQUFFLGlCQUFhLEdBQWIsTUFBYTtJQUMzRCxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0FBQy9CLENBQUM7QUFGZSwwQkFBa0IscUJBRWpDLENBQUE7QUFFRDs7O0dBR0c7QUFDSCxxQkFBNEIsQ0FBUyxFQUFFLENBQVMsRUFBRSxTQUFtQjtJQUFuQix5QkFBbUIsR0FBbkIsbUJBQW1CO0lBQ2pFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7QUFDeEMsQ0FBQztBQUZlLG1CQUFXLGNBRTFCLENBQUE7QUFFRCwwR0FBMEc7QUFDMUcsZUFBc0IsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ3ZELEVBQUUsQ0FBQyxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO0lBQzFELENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3QyxDQUFDO0FBTGUsYUFBSyxRQUtwQixDQUFBO0FBRUQsa0dBQWtHO0FBQ2xHLHNCQUFnQyxNQUFTO0lBQ3JDLElBQU0sWUFBWSxHQUFRLEVBQUUsQ0FBQztJQUM3QixHQUFHLENBQUMsQ0FBQyxJQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQ3ZCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzdCLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBVSxNQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDNUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLENBQUMsWUFBaUIsQ0FBQztBQUM3QixDQUFDO0FBUmUsb0JBQVksZUFRM0IsQ0FBQTtBQUVEOzs7O0dBSUc7QUFDSCx1QkFBOEIsTUFBbUIsRUFBRSxTQUFpQixFQUFFLFlBQW9CO0lBQ3RGLElBQUksT0FBTyxHQUFHLEtBQUssQ0FBQztJQUNwQixzREFBc0Q7SUFDdEQsSUFBSSxJQUFJLEdBQUcsVUFBQyxLQUFZO1FBQ3BCLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7WUFBQyxNQUFNLENBQUM7UUFBQyxDQUFDO1FBQ3hCLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDZixxQkFBcUIsQ0FBQztZQUNsQixNQUFNLENBQUMsYUFBYSxDQUFDLElBQUksV0FBVyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDLENBQUM7SUFDRixNQUFNLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sQ0FBQyxJQUFJLENBQUM7QUFDaEIsQ0FBQztBQWJlLHFCQUFhLGdCQWE1QixDQUFBO0FBQUEsQ0FBQyIsImZpbGUiOiJjb21tb24vdXRpbHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbi8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgZnVuY3Rpb24uIEFjdHMgYXMgYSB0eXBlIGd1YXJkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKiBTYWZlbHkgaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMsIGlmIGl0IGlzIGluZGVlZCBhIGZ1bmN0aW9uLCBhbmQgcmV0dXJuIGl0cyB2YWx1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlSW52b2tlPFI+KGZ1bmM6ICgpID0+IFIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgUj4oZnVuYzogKGFyZzE6IEEpID0+IFIsIGFyZzE6IEEpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgQywgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2UoZnVuYzogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMoLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3JDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdGVzdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgPT09IHRlc3RFbGVtZW50IHx8IGVsZW1lbnQuY29udGFpbnModGVzdEVsZW1lbnQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpZmZlcmVuY2UgaW4gbGVuZ3RoIGJldHdlZW4gdHdvIGFycmF5cy4gQSBgbnVsbGAgYXJndW1lbnQgaXMgY29uc2lkZXJlZCBhbiBlbXB0eSBsaXN0LlxuICogVGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBvc2l0aXZlIGlmIGBhYCBpcyBsb25nZXIgdGhhbiBgYmAsIG5lZ2F0aXZlIGlmIHRoZSBvcHBvc2l0ZSBpcyB0cnVlLFxuICogYW5kIHplcm8gaWYgdGhlaXIgbGVuZ3RocyBhcmUgZXF1YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheUxlbmd0aENvbXBhcmUoYTogYW55W10gPSBbXSwgYjogYW55W10gPSBbXSkge1xuICAgIHJldHVybiBhLmxlbmd0aCAtIGIubGVuZ3RoO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHdvIG51bWJlcnMgYXJlIHdpdGhpbiB0aGUgZ2l2ZW4gdG9sZXJhbmNlIG9mIGVhY2ggb3RoZXIuXG4gKiBUaGlzIGlzIHVzZWZ1bCB0byBjb3JyZWN0IGZvciBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24gaXNzdWVzLCBsZXNzIHVzZWZ1bCBmb3IgaW50ZWdlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHByb3hFcXVhbChhOiBudW1iZXIsIGI6IG51bWJlciwgdG9sZXJhbmNlID0gMC4wMDAwMSkge1xuICAgIHJldHVybiBNYXRoLmFicyhhIC0gYikgPD0gdG9sZXJhbmNlO1xufVxuXG4vKiBDbGFtcHMgdGhlIGdpdmVuIG51bWJlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IHZhbHVlcy4gUmV0dXJucyB2YWx1ZSBpZiB3aXRoaW4gcmFuZ2UsIG9yIGNsb3Nlc3QgYm91bmQuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgIGlmIChtYXggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2xhbXA6IG1heCBjYW5ub3QgYmUgbGVzcyB0aGFuIG1pblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbCwgbWluKSwgbWF4KTtcbn1cblxuLyoqIFJldHVybiBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIHRoZSBnaXZlbiBvYmplY3QgKHZhbHVlcyBhcmUgY29waWVkLCBub3QgY2xvbmVkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFsbG93Q2xvbmU8VD4ob2JqZWN0OiBUKTogVCB7XG4gICAgY29uc3QgY2xvbmVkT2JqZWN0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBjbG9uZWRPYmplY3Rba2V5XSA9ICg8YW55PiBvYmplY3QpW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lZE9iamVjdCBhcyBUO1xufVxuXG4vKipcbiAqIFRocm90dGxlIGFuIGV2ZW50IG9uIGFuIEV2ZW50VGFyZ2V0IGJ5IHdyYXBwaW5nIGl0IGluIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGNhbGwuXG4gKiBSZXR1cm5zIHRoZSBldmVudCBoYW5kbGVyIHRoYXQgd2FzIGJvdW5kIHRvIGdpdmVuIGV2ZW50TmFtZSBzbyB5b3UgY2FuIGNsZWFuIHVwIGFmdGVyIHlvdXJzZWxmLlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvc2Nyb2xsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZUV2ZW50KHRhcmdldDogRXZlbnRUYXJnZXQsIGV2ZW50TmFtZTogc3RyaW5nLCBuZXdFdmVudE5hbWU6IHN0cmluZykge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2U7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGJvcnJvd2VkIGRpcmVjdGx5IGZyb20gTUROICovXG4gICAgbGV0IGZ1bmMgPSAoZXZlbnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChydW5uaW5nKSB7IHJldHVybjsgfVxuICAgICAgICBydW5uaW5nID0gdHJ1ZTtcbiAgICAgICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgICAgICAgIHRhcmdldC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudChuZXdFdmVudE5hbWUsIGV2ZW50KSk7XG4gICAgICAgICAgICBydW5uaW5nID0gZmFsc2U7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgdGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBmdW5jKTtcbiAgICByZXR1cm4gZnVuYztcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= - module.exports = '15.1.0'; /***/ }, /* 56 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule onlyChild - */ - 'use strict'; - - var ReactElement = __webpack_require__(27); - - var invariant = __webpack_require__(26); - - /** - * Returns the first child in a collection of children and verifies that there - * is only one child in the collection. - * - * See https://facebook.github.io/react/docs/top-level-api.html#react.children.only - * - * The current implementation of this function assumes that a single child gets - * passed without a wrapper, but the purpose of this helper function is to - * abstract away the particular structure of children. - * - * @param {?object} children Child collection structure. - * @return {ReactElement} The first and only `ReactElement` contained in the - * structure. + /* + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ - function onlyChild(children) { - !ReactElement.isValidElement(children) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'onlyChild must be passed a children with exactly one child.') : invariant(false) : void 0; - return children; + "use strict"; + var position_1 = __webpack_require__(53); + var DEFAULT_CONSTRAINTS = { + attachment: "together", + to: "scrollParent", + }; + /** @internal */ + function createTetherOptions(element, target, position, useSmartPositioning, constraints) { + if (constraints == null && useSmartPositioning) { + constraints = [DEFAULT_CONSTRAINTS]; + } + var options = { + attachment: getPopoverAttachment(position), + classPrefix: "pt-tether", + constraints: constraints, + element: element, + target: target, + targetAttachment: getTargetAttachment(position), + }; + return options; + } + exports.createTetherOptions = createTetherOptions; + /** @internal */ + function getTargetAttachment(position) { + var attachments = (_a = {}, + _a[position_1.Position.TOP_LEFT] = "top left", + _a[position_1.Position.TOP] = "top center", + _a[position_1.Position.TOP_RIGHT] = "top right", + _a[position_1.Position.RIGHT_TOP] = "top right", + _a[position_1.Position.RIGHT] = "middle right", + _a[position_1.Position.RIGHT_BOTTOM] = "bottom right", + _a[position_1.Position.BOTTOM_RIGHT] = "bottom right", + _a[position_1.Position.BOTTOM] = "bottom center", + _a[position_1.Position.BOTTOM_LEFT] = "bottom left", + _a[position_1.Position.LEFT_BOTTOM] = "bottom left", + _a[position_1.Position.LEFT] = "middle left", + _a[position_1.Position.LEFT_TOP] = "top left", + _a + ); + return attachments[position]; + var _a; + } + exports.getTargetAttachment = getTargetAttachment; + /** @internal */ + function getPopoverAttachment(position) { + var attachments = (_a = {}, + _a[position_1.Position.TOP_LEFT] = "bottom left", + _a[position_1.Position.TOP] = "bottom center", + _a[position_1.Position.TOP_RIGHT] = "bottom right", + _a[position_1.Position.RIGHT_TOP] = "top left", + _a[position_1.Position.RIGHT] = "middle left", + _a[position_1.Position.RIGHT_BOTTOM] = "bottom left", + _a[position_1.Position.BOTTOM_RIGHT] = "top right", + _a[position_1.Position.BOTTOM] = "top center", + _a[position_1.Position.BOTTOM_LEFT] = "top left", + _a[position_1.Position.LEFT_BOTTOM] = "bottom right", + _a[position_1.Position.LEFT] = "middle right", + _a[position_1.Position.LEFT_TOP] = "top right", + _a + ); + return attachments[position]; + var _a; + } + exports.getPopoverAttachment = getPopoverAttachment; + /** @internal */ + function getAttachmentClasses(position) { + // this essentially reimplements the Tether logic for attachment classes so the same styles + // can be reused outside of Tether-based popovers. + return expandAttachmentClasses(getPopoverAttachment(position), "pt-tether-element-attached").concat(expandAttachmentClasses(getTargetAttachment(position), "pt-tether-target-attached")); + } + exports.getAttachmentClasses = getAttachmentClasses; + function expandAttachmentClasses(attachments, prefix) { + var _a = attachments.split(" "), verticalAlign = _a[0], horizontalAlign = _a[1]; + return [(prefix + "-" + verticalAlign), (prefix + "-" + horizontalAlign)]; } - module.exports = onlyChild; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdGV0aGVyVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7O0FBSUgseUJBQXlCLFlBQVksQ0FBQyxDQUFBO0FBRXRDLElBQU0sbUJBQW1CLEdBQUc7SUFDeEIsVUFBVSxFQUFFLFVBQVU7SUFDdEIsRUFBRSxFQUFFLGNBQWM7Q0FDckIsQ0FBQztBQVVGLGdCQUFnQjtBQUNoQiw2QkFBb0MsT0FBZ0IsRUFDaEIsTUFBWSxFQUNaLFFBQWtCLEVBQ2xCLG1CQUE0QixFQUM1QixXQUFnQztJQUNoRSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLG1CQUFtQixDQUFDLENBQUMsQ0FBQztRQUM3QyxXQUFXLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxJQUFNLE9BQU8sR0FBMEI7UUFDbkMsVUFBVSxFQUFFLG9CQUFvQixDQUFDLFFBQVEsQ0FBQztRQUMxQyxXQUFXLEVBQUUsV0FBVztRQUN4Qix3QkFBVztRQUNYLGdCQUFPO1FBQ1AsY0FBTTtRQUNOLGdCQUFnQixFQUFFLG1CQUFtQixDQUFDLFFBQVEsQ0FBQztLQUNsRCxDQUFDO0lBQ0YsTUFBTSxDQUFDLE9BQU8sQ0FBQztBQUNuQixDQUFDO0FBbEJlLDJCQUFtQixzQkFrQmxDLENBQUE7QUFFRCxnQkFBZ0I7QUFDaEIsNkJBQW9DLFFBQWtCO0lBQ2xELElBQU0sV0FBVyxHQUEwQjtRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsR0FBRyxDQUFDLEdBQVcsWUFBWTtRQUNyQyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQVMsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLEdBQVEsZUFBZTtRQUN4QyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLEdBQVUsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sVUFBVTs7S0FDdEMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBQ2pDLENBQUM7QUFoQmUsMkJBQW1CLHNCQWdCbEMsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQiw4QkFBcUMsUUFBa0I7SUFDbkQsSUFBTSxXQUFXLEdBQTBCO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsR0FBTSxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxHQUFHLENBQUMsR0FBVyxlQUFlO1FBQ3hDLEdBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsR0FBSyxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxTQUFTLENBQUMsR0FBSyxVQUFVO1FBQ25DLEdBQUMsbUJBQVEsQ0FBQyxLQUFLLENBQUMsR0FBUyxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRSxhQUFhO1FBQ3RDLEdBQUMsbUJBQVEsQ0FBQyxZQUFZLENBQUMsR0FBRSxXQUFXO1FBQ3BDLEdBQUMsbUJBQVEsQ0FBQyxNQUFNLENBQUMsR0FBUSxZQUFZO1FBQ3JDLEdBQUMsbUJBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVO1FBQ25DLEdBQUMsbUJBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxJQUFJLENBQUMsR0FBVSxjQUFjO1FBQ3ZDLEdBQUMsbUJBQVEsQ0FBQyxRQUFRLENBQUMsR0FBTSxXQUFXOztLQUN2QyxDQUFDO0lBQ0YsTUFBTSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQzs7QUFDakMsQ0FBQztBQWhCZSw0QkFBb0IsdUJBZ0JuQyxDQUFBO0FBRUQsZ0JBQWdCO0FBQ2hCLDhCQUFxQyxRQUFrQjtJQUNuRCwyRkFBMkY7SUFDM0Ysa0RBQWtEO0lBQ2xELE1BQU0sQ0FDQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FBQyxRQUFRLENBQUMsRUFBRSw0QkFBNEIsQ0FBQyxRQUNyRix1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsRUFBRSwyQkFBMkIsQ0FBQyxDQUN6RixDQUFDO0FBQ04sQ0FBQztBQVBlLDRCQUFvQix1QkFPbkMsQ0FBQTtBQUVELGlDQUFpQyxXQUFtQixFQUFFLE1BQWM7SUFDaEUsSUFBQSwyQkFBK0QsRUFBeEQscUJBQWEsRUFBRSx1QkFBZSxDQUEyQjtJQUNoRSxNQUFNLENBQUMsQ0FBQyxDQUFHLE1BQU0sU0FBSSxhQUFhLENBQUUsRUFBRSxDQUFHLE1BQU0sU0FBSSxlQUFlLENBQUUsQ0FBQyxDQUFDO0FBQzFFLENBQUMiLCJmaWxlIjoiY29tbW9uL3RldGhlclV0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5pbXBvcnQgKiBhcyBUZXRoZXIgZnJvbSBcInRldGhlclwiO1xuXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCI7XG5cbmNvbnN0IERFRkFVTFRfQ09OU1RSQUlOVFMgPSB7XG4gICAgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLFxuICAgIHRvOiBcInNjcm9sbFBhcmVudFwiLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGV0aGVyQ29uc3RyYWludCB7XG4gICAgYXR0YWNobWVudD86IHN0cmluZztcbiAgICBvdXRPZkJvdW5kc0NsYXNzPzogc3RyaW5nO1xuICAgIHBpbj86IGJvb2xlYW4gfCBzdHJpbmdbXTtcbiAgICBwaW5uZWRDbGFzcz86IHN0cmluZztcbiAgICB0bz86IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVtYmVyW107XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXRoZXJPcHRpb25zKGVsZW1lbnQ6IEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTbWFydFBvc2l0aW9uaW5nOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHM6IElUZXRoZXJDb25zdHJhaW50W10pIHtcbiAgICBpZiAoY29uc3RyYWludHMgPT0gbnVsbCAmJiB1c2VTbWFydFBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzID0gW0RFRkFVTFRfQ09OU1RSQUlOVFNdO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IFRldGhlci5JVGV0aGVyT3B0aW9ucyA9IHtcbiAgICAgICAgYXR0YWNobWVudDogZ2V0UG9wb3ZlckF0dGFjaG1lbnQocG9zaXRpb24pLFxuICAgICAgICBjbGFzc1ByZWZpeDogXCJwdC10ZXRoZXJcIixcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0QXR0YWNobWVudDogZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksXG4gICAgfTtcbiAgICByZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhcmdldEF0dGFjaG1lbnQocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHM6IHtbcDogbnVtYmVyXTogc3RyaW5nfSA9IHtcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF9MRUZUXTogICAgIFwidG9wIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF06ICAgICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QX1JJR0hUXTogICAgXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlJJR0hUX1RPUF06ICAgIFwidG9wIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5SSUdIVF06ICAgICAgICBcIm1pZGRsZSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9SSUdIVF06IFwiYm90dG9tIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5CT1RUT01dOiAgICAgICBcImJvdHRvbSBjZW50ZXJcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9MRUZUXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfQk9UVE9NXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfVE9QXTogICAgIFwidG9wIGxlZnRcIixcbiAgICB9O1xuICAgIHJldHVybiBhdHRhY2htZW50c1twb3NpdGlvbl07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3BvdmVyQXR0YWNobWVudChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICBjb25zdCBhdHRhY2htZW50czoge1twOiBudW1iZXJdOiBzdHJpbmd9ID0ge1xuICAgICAgICBbUG9zaXRpb24uVE9QX0xFRlRdOiAgICAgXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QXTogICAgICAgICAgXCJib3R0b20gY2VudGVyXCIsXG4gICAgICAgIFtQb3NpdGlvbi5UT1BfUklHSFRdOiAgICBcImJvdHRvbSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfVE9QXTogICAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRdOiAgICAgICAgXCJtaWRkbGUgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX1JJR0hUXTogXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV06ICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX0xFRlRdOiAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uTEVGVF9CT1RUT01dOiAgXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5MRUZUX1RPUF06ICAgICBcInRvcCByaWdodFwiLFxuICAgIH07XG4gICAgcmV0dXJuIGF0dGFjaG1lbnRzW3Bvc2l0aW9uXTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0dGFjaG1lbnRDbGFzc2VzKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8vIHRoaXMgZXNzZW50aWFsbHkgcmVpbXBsZW1lbnRzIHRoZSBUZXRoZXIgbG9naWMgZm9yIGF0dGFjaG1lbnQgY2xhc3NlcyBzbyB0aGUgc2FtZSBzdHlsZXNcbiAgICAvLyBjYW4gYmUgcmV1c2VkIG91dHNpZGUgb2YgVGV0aGVyLWJhc2VkIHBvcG92ZXJzLlxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLmV4cGFuZEF0dGFjaG1lbnRDbGFzc2VzKGdldFBvcG92ZXJBdHRhY2htZW50KHBvc2l0aW9uKSwgXCJwdC10ZXRoZXItZWxlbWVudC1hdHRhY2hlZFwiKSxcbiAgICAgICAgLi4uZXhwYW5kQXR0YWNobWVudENsYXNzZXMoZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksIFwicHQtdGV0aGVyLXRhcmdldC1hdHRhY2hlZFwiKSxcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBleHBhbmRBdHRhY2htZW50Q2xhc3NlcyhhdHRhY2htZW50czogc3RyaW5nLCBwcmVmaXg6IHN0cmluZykge1xuICAgIGNvbnN0IFt2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ25dID0gYXR0YWNobWVudHMuc3BsaXQoXCIgXCIpO1xuICAgIHJldHVybiBbYCR7cHJlZml4fS0ke3ZlcnRpY2FsQWxpZ259YCwgYCR7cHJlZml4fS0ke2hvcml6b250YWxBbGlnbn1gXTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== + /***/ }, /* 57 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { /* - * Copyright 2016 Palantir Technologies, Inc. All rights reserved. + * Copyright 2015 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; - exports.Colors = { - BLACK: "#10161A", - BLUE1: "#0E5A8A", - BLUE2: "#106BA3", - BLUE3: "#137CBD", - BLUE4: "#2B95D6", - BLUE5: "#48AFF0", - COBALT1: "#1F4B99", - COBALT2: "#2458B3", - COBALT3: "#2965CC", - COBALT4: "#4580E6", - COBALT5: "#669EFF", - DARK_GRAY1: "#182026", - DARK_GRAY2: "#202B33", - DARK_GRAY3: "#293742", - DARK_GRAY4: "#30404D", - DARK_GRAY5: "#394B59", - FOREST1: "#1D7324", - FOREST2: "#238C2C", - FOREST3: "#29A634", - FOREST4: "#43BF4D", - FOREST5: "#62D96B", - GOLD1: "#A67908", - GOLD2: "#BF8C0A", - GOLD3: "#D99E0B", - GOLD4: "#F2B824", - GOLD5: "#FFC940", - GRAY1: "#5C7080", - GRAY2: "#738694", - GRAY3: "#8A9BA8", - GRAY4: "#A7B6C2", - GRAY5: "#BFCCD6", - GREEN1: "#0A6640", - GREEN2: "#0D8050", - GREEN3: "#0F9960", - GREEN4: "#15B371", - GREEN5: "#3DCC91", - INDIGO1: "#5642A6", - INDIGO2: "#634DBF", - INDIGO3: "#7157D9", - INDIGO4: "#9179F2", - INDIGO5: "#AD99FF", - LIGHT_GRAY1: "#CED9E0", - LIGHT_GRAY2: "#D8E1E8", - LIGHT_GRAY3: "#E1E8ED", - LIGHT_GRAY4: "#EBF1F5", - LIGHT_GRAY5: "#F5F8FA", - LIME1: "#728C23", - LIME2: "#87A629", - LIME3: "#9BBF30", - LIME4: "#B6D94C", - LIME5: "#D1F26D", - ORANGE1: "#A66321", - ORANGE2: "#BF7326", - ORANGE3: "#D9822B", - ORANGE4: "#F29D49", - ORANGE5: "#FFB366", - RED1: "#A82A2A", - RED2: "#C23030", - RED3: "#DB3737", - RED4: "#F55656", - RED5: "#FF7373", - ROSE1: "#A82255", - ROSE2: "#C22762", - ROSE3: "#DB2C6F", - ROSE4: "#F5498B", - ROSE5: "#FF66A1", - SEPIA1: "#63411E", - SEPIA2: "#7D5125", - SEPIA3: "#96622D", - SEPIA4: "#B07B46", - SEPIA5: "#C99765", - TURQUOISE1: "#008075", - TURQUOISE2: "#00998C", - TURQUOISE3: "#00B3A4", - TURQUOISE4: "#14CCBD", - TURQUOISE5: "#2EE6D6", - VERMILION1: "#9E2B0E", - VERMILION2: "#B83211", - VERMILION3: "#D13913", - VERMILION4: "#EB532D", - VERMILION5: "#FF6E4A", - VIOLET1: "#5C255C", - VIOLET2: "#752F75", - VIOLET3: "#8F398F", - VIOLET4: "#A854A8", - VIOLET5: "#C274C2", - WHITE: "#FFFFFF", - }; + var intent_1 = __webpack_require__(52); + // modifiers + exports.DARK = "pt-dark"; + exports.ACTIVE = "pt-active"; + exports.MINIMAL = "pt-minimal"; + exports.DISABLED = "pt-disabled"; + exports.SMALL = "pt-small"; + exports.LARGE = "pt-large"; + exports.INTERACTIVE = "pt-interactive"; + exports.ALIGN_LEFT = "pt-align-left"; + exports.ALIGN_RIGHT = "pt-align-right"; + exports.INLINE = "pt-inline"; + exports.FILL = "pt-fill"; + // components + exports.ALERT = "pt-alert"; + exports.ALERT_BODY = "pt-alert-body"; + exports.ALERT_CONTENTS = "pt-alert-contents"; + exports.ALERT_FOOTER = "pt-alert-footer"; + exports.BREADCRUMB = "pt-breadcrumb"; + exports.BREADCRUMB_CURRENT = "pt-breadcrumb-current"; + exports.BREADCRUMBS = "pt-breadcrumbs"; + exports.BREADCRUMBS_COLLAPSED = "pt-breadcrumbs-collapsed"; + exports.BUTTON = "pt-button"; + exports.BUTTON_GROUP = "pt-button-group"; + exports.CARD = "pt-card"; + exports.COLLAPSE = "pt-collapse"; + exports.COLLAPSIBLE_LIST = "pt-collapse-list"; + exports.CONTEXT_MENU = "pt-context-menu"; + exports.CONTEXT_MENU_POPOVER_TARGET = "pt-context-menu-popover-target"; + exports.DIALOG = "pt-dialog"; + exports.DIALOG_BODY = "pt-dialog-body"; + exports.DIALOG_CLOSE_BUTTON = "pt-dialog-close-button"; + exports.DIALOG_FOOTER = "pt-dialog-footer"; + exports.DIALOG_FOOTER_ACTIONS = "pt-dialog-footer-actions"; + exports.DIALOG_HEADER = "pt-dialog-header"; + exports.EDITABLE_TEXT = "pt-editable-text"; + exports.ELEVATION_0 = "pt-elevation-0"; + exports.ELEVATION_1 = "pt-elevation-1"; + exports.ELEVATION_2 = "pt-elevation-2"; + exports.ELEVATION_3 = "pt-elevation-3"; + exports.ELEVATION_4 = "pt-elevation-4"; + exports.INPUT = "pt-input"; + exports.INPUT_GROUP = "pt-input-group"; + exports.LABEL = "pt-label"; + exports.MENU = "pt-menu"; + exports.MENU_ITEM = "pt-menu-item"; + exports.MENU_SUBMENU = "pt-submenu"; + exports.MENU_DIVIDER = "pt-menu-divider"; + exports.MENU_HEADER = "pt-menu-header"; + exports.NON_IDEAL_STATE = "pt-non-ideal-state"; + exports.NON_IDEAL_STATE_ACTION = "pt-non-ideal-state-action"; + exports.NON_IDEAL_STATE_DESCRIPTION = "pt-non-ideal-state-description"; + exports.NON_IDEAL_STATE_ICON = "pt-non-ideal-state-icon"; + exports.NON_IDEAL_STATE_TITLE = "pt-non-ideal-state-title"; + exports.NON_IDEAL_STATE_VISUAL = "pt-non-ideal-state-visual"; + exports.OVERLAY_BACKDROP = "pt-overlay-backdrop"; + exports.OVERLAY_OPEN = "pt-overlay-open"; + exports.OVERLAY_SCROLL_CONTAINER = "pt-overlay-scroll-container"; + exports.POPOVER = "pt-popover"; + exports.POPOVER_ARROW = "pt-popover-arrow"; + exports.POPOVER_BACKDROP = "pt-popover-backdrop"; + exports.POPOVER_CONTENT = "pt-popover-content"; + exports.POPOVER_DISMISS = "pt-popover-dismiss"; + exports.POPOVER_DISMISS_OVERRIDE = "pt-popover-dismiss-override"; + exports.POPOVER_OPEN = "pt-popover-open"; + exports.POPOVER_TARGET = "pt-popover-target"; + exports.TRANSITION_CONTAINER = "pt-transition-container"; + exports.PORTAL = "pt-portal"; + exports.SELECT = "pt-select"; + exports.SLIDER = "pt-slider"; + exports.SLIDER_HANDLE = exports.SLIDER + "-handle"; + exports.SLIDER_LABEL = exports.SLIDER + "-label"; + exports.RANGE_SLIDER = "pt-range-slider"; + exports.SPINNER = "pt-spinner"; + exports.SVG_SPINNER = "pt-svg-spinner"; + exports.TAB = "pt-tab"; + exports.TAB_LIST = "pt-tab-list"; + exports.TAB_PANEL = "pt-tab-panel"; + exports.TABS = "pt-tabs"; + exports.TAG = "pt-tag"; + exports.TAG_REMOVABLE = "pt-tag-removable"; + exports.TAG_REMOVE = "pt-tag-remove"; + exports.TOAST = "pt-toast"; + exports.TOAST_CONTAINER = "pt-toast-container"; + exports.TOAST_MESSAGE = "pt-toast-message"; + exports.TOOLTIP = "pt-tooltip"; + exports.TREE = "pt-tree"; + exports.TREE_NODE = "pt-tree-node"; + exports.TREE_NODE_CARET = "pt-tree-node-caret"; + exports.TREE_NODE_CARET_CLOSED = "pt-tree-node-caret-closed"; + exports.TREE_NODE_CARET_NONE = "pt-tree-node-caret-none"; + exports.TREE_NODE_CARET_OPEN = "pt-tree-node-caret-open"; + exports.TREE_NODE_CONTENT = "pt-tree-node-content"; + exports.TREE_NODE_EXPANDED = "pt-tree-node-expanded"; + exports.TREE_NODE_ICON = "pt-tree-node-icon"; + exports.TREE_NODE_LABEL = "pt-tree-node-label"; + exports.TREE_NODE_LIST = "pt-tree-node-list"; + exports.TREE_NODE_SECONDARY_LABEL = "pt-tree-node-secondary-label"; + exports.TREE_NODE_SELECTED = "pt-tree-node-selected"; + exports.TREE_ROOT = "pt-tree-root"; + exports.ICON_STANDARD = "pt-icon-standard"; + exports.ICON_LARGE = "pt-icon-large"; + /** Return CSS class for icon, whether or not 'pt-icon-' prefix is included */ + function iconClass(iconName) { + if (iconName == null) { + return undefined; + } + return iconName.indexOf("pt-icon-") === 0 ? iconName : "pt-icon-" + iconName; + } + exports.iconClass = iconClass; + function intentClass(intent) { + if (intent === void 0) { intent = intent_1.Intent.NONE; } + if (intent === intent_1.Intent.NONE || intent_1.Intent[intent] == null) { + return undefined; + } + return "pt-intent-" + intent_1.Intent[intent].toLowerCase(); + } + exports.intentClass = intentClass; - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY29sb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7QUFFVSxjQUFNLEdBQUc7SUFDbEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFDckIsVUFBVSxFQUFFLFNBQVM7SUFFckIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFDakIsTUFBTSxFQUFFLFNBQVM7SUFFakIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLFNBQVM7SUFFdEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFDaEIsS0FBSyxFQUFFLFNBQVM7SUFFaEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsT0FBTyxFQUFFLFNBQVM7SUFFbEIsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUNmLElBQUksRUFBRSxTQUFTO0lBQ2YsSUFBSSxFQUFFLFNBQVM7SUFDZixJQUFJLEVBQUUsU0FBUztJQUVmLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBQ2hCLEtBQUssRUFBRSxTQUFTO0lBRWhCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSxTQUFTO0lBRWpCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBQ3JCLFVBQVUsRUFBRSxTQUFTO0lBRXJCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLE9BQU8sRUFBRSxTQUFTO0lBRWxCLEtBQUssRUFBRSxTQUFTO0NBQ25CLENBQUMiLCJmaWxlIjoiY29tbW9uL2NvbG9ycy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNiBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5leHBvcnQgY29uc3QgQ29sb3JzID0ge1xuICAgIEJMQUNLOiBcIiMxMDE2MUFcIixcblxuICAgIEJMVUUxOiBcIiMwRTVBOEFcIixcbiAgICBCTFVFMjogXCIjMTA2QkEzXCIsXG4gICAgQkxVRTM6IFwiIzEzN0NCRFwiLFxuICAgIEJMVUU0OiBcIiMyQjk1RDZcIixcbiAgICBCTFVFNTogXCIjNDhBRkYwXCIsXG5cbiAgICBDT0JBTFQxOiBcIiMxRjRCOTlcIixcbiAgICBDT0JBTFQyOiBcIiMyNDU4QjNcIixcbiAgICBDT0JBTFQzOiBcIiMyOTY1Q0NcIixcbiAgICBDT0JBTFQ0OiBcIiM0NTgwRTZcIixcbiAgICBDT0JBTFQ1OiBcIiM2NjlFRkZcIixcblxuICAgIERBUktfR1JBWTE6IFwiIzE4MjAyNlwiLFxuICAgIERBUktfR1JBWTI6IFwiIzIwMkIzM1wiLFxuICAgIERBUktfR1JBWTM6IFwiIzI5Mzc0MlwiLFxuICAgIERBUktfR1JBWTQ6IFwiIzMwNDA0RFwiLFxuICAgIERBUktfR1JBWTU6IFwiIzM5NEI1OVwiLFxuXG4gICAgRk9SRVNUMTogXCIjMUQ3MzI0XCIsXG4gICAgRk9SRVNUMjogXCIjMjM4QzJDXCIsXG4gICAgRk9SRVNUMzogXCIjMjlBNjM0XCIsXG4gICAgRk9SRVNUNDogXCIjNDNCRjREXCIsXG4gICAgRk9SRVNUNTogXCIjNjJEOTZCXCIsXG5cbiAgICBHT0xEMTogXCIjQTY3OTA4XCIsXG4gICAgR09MRDI6IFwiI0JGOEMwQVwiLFxuICAgIEdPTEQzOiBcIiNEOTlFMEJcIixcbiAgICBHT0xENDogXCIjRjJCODI0XCIsXG4gICAgR09MRDU6IFwiI0ZGQzk0MFwiLFxuXG4gICAgR1JBWTE6IFwiIzVDNzA4MFwiLFxuICAgIEdSQVkyOiBcIiM3Mzg2OTRcIixcbiAgICBHUkFZMzogXCIjOEE5QkE4XCIsXG4gICAgR1JBWTQ6IFwiI0E3QjZDMlwiLFxuICAgIEdSQVk1OiBcIiNCRkNDRDZcIixcblxuICAgIEdSRUVOMTogXCIjMEE2NjQwXCIsXG4gICAgR1JFRU4yOiBcIiMwRDgwNTBcIixcbiAgICBHUkVFTjM6IFwiIzBGOTk2MFwiLFxuICAgIEdSRUVONDogXCIjMTVCMzcxXCIsXG4gICAgR1JFRU41OiBcIiMzRENDOTFcIixcblxuICAgIElORElHTzE6IFwiIzU2NDJBNlwiLFxuICAgIElORElHTzI6IFwiIzYzNERCRlwiLFxuICAgIElORElHTzM6IFwiIzcxNTdEOVwiLFxuICAgIElORElHTzQ6IFwiIzkxNzlGMlwiLFxuICAgIElORElHTzU6IFwiI0FEOTlGRlwiLFxuXG4gICAgTElHSFRfR1JBWTE6IFwiI0NFRDlFMFwiLFxuICAgIExJR0hUX0dSQVkyOiBcIiNEOEUxRThcIixcbiAgICBMSUdIVF9HUkFZMzogXCIjRTFFOEVEXCIsXG4gICAgTElHSFRfR1JBWTQ6IFwiI0VCRjFGNVwiLFxuICAgIExJR0hUX0dSQVk1OiBcIiNGNUY4RkFcIixcblxuICAgIExJTUUxOiBcIiM3MjhDMjNcIixcbiAgICBMSU1FMjogXCIjODdBNjI5XCIsXG4gICAgTElNRTM6IFwiIzlCQkYzMFwiLFxuICAgIExJTUU0OiBcIiNCNkQ5NENcIixcbiAgICBMSU1FNTogXCIjRDFGMjZEXCIsXG5cbiAgICBPUkFOR0UxOiBcIiNBNjYzMjFcIixcbiAgICBPUkFOR0UyOiBcIiNCRjczMjZcIixcbiAgICBPUkFOR0UzOiBcIiNEOTgyMkJcIixcbiAgICBPUkFOR0U0OiBcIiNGMjlENDlcIixcbiAgICBPUkFOR0U1OiBcIiNGRkIzNjZcIixcblxuICAgIFJFRDE6IFwiI0E4MkEyQVwiLFxuICAgIFJFRDI6IFwiI0MyMzAzMFwiLFxuICAgIFJFRDM6IFwiI0RCMzczN1wiLFxuICAgIFJFRDQ6IFwiI0Y1NTY1NlwiLFxuICAgIFJFRDU6IFwiI0ZGNzM3M1wiLFxuXG4gICAgUk9TRTE6IFwiI0E4MjI1NVwiLFxuICAgIFJPU0UyOiBcIiNDMjI3NjJcIixcbiAgICBST1NFMzogXCIjREIyQzZGXCIsXG4gICAgUk9TRTQ6IFwiI0Y1NDk4QlwiLFxuICAgIFJPU0U1OiBcIiNGRjY2QTFcIixcblxuICAgIFNFUElBMTogXCIjNjM0MTFFXCIsXG4gICAgU0VQSUEyOiBcIiM3RDUxMjVcIixcbiAgICBTRVBJQTM6IFwiIzk2NjIyRFwiLFxuICAgIFNFUElBNDogXCIjQjA3QjQ2XCIsXG4gICAgU0VQSUE1OiBcIiNDOTk3NjVcIixcblxuICAgIFRVUlFVT0lTRTE6IFwiIzAwODA3NVwiLFxuICAgIFRVUlFVT0lTRTI6IFwiIzAwOTk4Q1wiLFxuICAgIFRVUlFVT0lTRTM6IFwiIzAwQjNBNFwiLFxuICAgIFRVUlFVT0lTRTQ6IFwiIzE0Q0NCRFwiLFxuICAgIFRVUlFVT0lTRTU6IFwiIzJFRTZENlwiLFxuXG4gICAgVkVSTUlMSU9OMTogXCIjOUUyQjBFXCIsXG4gICAgVkVSTUlMSU9OMjogXCIjQjgzMjExXCIsXG4gICAgVkVSTUlMSU9OMzogXCIjRDEzOTEzXCIsXG4gICAgVkVSTUlMSU9ONDogXCIjRUI1MzJEXCIsXG4gICAgVkVSTUlMSU9ONTogXCIjRkY2RTRBXCIsXG5cbiAgICBWSU9MRVQxOiBcIiM1QzI1NUNcIixcbiAgICBWSU9MRVQyOiBcIiM3NTJGNzVcIixcbiAgICBWSU9MRVQzOiBcIiM4RjM5OEZcIixcbiAgICBWSU9MRVQ0OiBcIiNBODU0QThcIixcbiAgICBWSU9MRVQ1OiBcIiNDMjc0QzJcIixcblxuICAgIFdISVRFOiBcIiNGRkZGRkZcIixcbn07XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRzs7QUFFSCx1QkFBdUIsVUFBVSxDQUFDLENBQUE7QUFFbEMsWUFBWTtBQUNDLFlBQUksR0FBRyxTQUFTLENBQUM7QUFDakIsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixlQUFPLEdBQUcsWUFBWSxDQUFDO0FBQ3ZCLGdCQUFRLEdBQUcsYUFBYSxDQUFDO0FBQ3pCLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBQzdCLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRTlCLGFBQWE7QUFDQSxhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBQzdCLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUVqQyxrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QiwwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBRW5ELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUVqQyxZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRWpCLGdCQUFRLEdBQUcsYUFBYSxDQUFDO0FBRXpCLHdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRXRDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsbUNBQTJCLEdBQUcsZ0NBQWdDLENBQUM7QUFFL0QsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUNyQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLDJCQUFtQixHQUFHLHdCQUF3QixDQUFDO0FBQy9DLHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkMsNkJBQXFCLEdBQUcsMEJBQTBCLENBQUM7QUFDbkQscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBRW5DLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUVuQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBQ2pCLGlCQUFTLEdBQUcsY0FBYyxDQUFDO0FBQzNCLG9CQUFZLEdBQUcsWUFBWSxDQUFDO0FBQzVCLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQix1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBQ3JELG1DQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQy9ELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBQ25ELDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBRXJELHdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFDakMsZ0NBQXdCLEdBQUcsNkJBQTZCLENBQUM7QUFFekQsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLHdCQUFnQixHQUFHLHFCQUFxQixDQUFDO0FBQ3pDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxnQ0FBd0IsR0FBRyw2QkFBNkIsQ0FBQztBQUN6RCxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsNEJBQW9CLEdBQUcseUJBQXlCLENBQUM7QUFFakQsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUVyQixjQUFNLEdBQUcsV0FBVyxDQUFDO0FBRXJCLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIscUJBQWEsR0FBTSxjQUFNLFlBQVMsQ0FBQztBQUNuQyxvQkFBWSxHQUFNLGNBQU0sV0FBUSxDQUFDO0FBQ2pDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBRS9CLFdBQUcsR0FBRyxRQUFRLENBQUM7QUFDZixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUN6QixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQixZQUFJLEdBQUcsU0FBUyxDQUFDO0FBRWpCLFdBQUcsR0FBRyxRQUFRLENBQUM7QUFDZixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBRTdCLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBRW5DLGVBQU8sR0FBRyxZQUFZLENBQUM7QUFFdkIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUNqQixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQix1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLDhCQUFzQixHQUFHLDJCQUEyQixDQUFDO0FBQ3JELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQ2pELHlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBQzNDLDBCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLHNCQUFjLEdBQUcsbUJBQW1CLENBQUM7QUFDckMsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2QyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLGlDQUF5QixHQUFHLDhCQUE4QixDQUFDO0FBQzNELDBCQUFrQixHQUFHLHVCQUF1QixDQUFDO0FBQzdDLGlCQUFTLEdBQUcsY0FBYyxDQUFDO0FBRTNCLHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDbkMsa0JBQVUsR0FBRyxlQUFlLENBQUM7QUFFMUMsOEVBQThFO0FBQzlFLG1CQUEwQixRQUFnQjtJQUN0QyxFQUFFLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuQixNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLEdBQUcsUUFBUSxHQUFHLGFBQVcsUUFBVSxDQUFDO0FBQ2pGLENBQUM7QUFMZSxpQkFBUyxZQUt4QixDQUFBO0FBRUQscUJBQTRCLE1BQW9CO0lBQXBCLHNCQUFvQixHQUFwQixTQUFTLGVBQU0sQ0FBQyxJQUFJO0lBQzVDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxlQUFNLENBQUMsSUFBSSxJQUFJLGVBQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ25ELE1BQU0sQ0FBQyxTQUFTLENBQUM7SUFDckIsQ0FBQztJQUNELE1BQU0sQ0FBQyxlQUFhLGVBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxXQUFXLEVBQUksQ0FBQztBQUN2RCxDQUFDO0FBTGUsbUJBQVcsY0FLMUIsQ0FBQSIsImZpbGUiOiJjb21tb24vY2xhc3Nlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuaW1wb3J0IHsgSW50ZW50IH0gZnJvbSBcIi4vaW50ZW50XCI7XG5cbi8vIG1vZGlmaWVyc1xuZXhwb3J0IGNvbnN0IERBUksgPSBcInB0LWRhcmtcIjtcbmV4cG9ydCBjb25zdCBBQ1RJVkUgPSBcInB0LWFjdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IE1JTklNQUwgPSBcInB0LW1pbmltYWxcIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwicHQtZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBTTUFMTCA9IFwicHQtc21hbGxcIjtcbmV4cG9ydCBjb25zdCBMQVJHRSA9IFwicHQtbGFyZ2VcIjtcbmV4cG9ydCBjb25zdCBJTlRFUkFDVElWRSA9IFwicHQtaW50ZXJhY3RpdmVcIjtcbmV4cG9ydCBjb25zdCBBTElHTl9MRUZUID0gXCJwdC1hbGlnbi1sZWZ0XCI7XG5leHBvcnQgY29uc3QgQUxJR05fUklHSFQgPSBcInB0LWFsaWduLXJpZ2h0XCI7XG5leHBvcnQgY29uc3QgSU5MSU5FID0gXCJwdC1pbmxpbmVcIjtcbmV4cG9ydCBjb25zdCBGSUxMID0gXCJwdC1maWxsXCI7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCBjb25zdCBBTEVSVCA9IFwicHQtYWxlcnRcIjtcbmV4cG9ydCBjb25zdCBBTEVSVF9CT0RZID0gXCJwdC1hbGVydC1ib2R5XCI7XG5leHBvcnQgY29uc3QgQUxFUlRfQ09OVEVOVFMgPSBcInB0LWFsZXJ0LWNvbnRlbnRzXCI7XG5leHBvcnQgY29uc3QgQUxFUlRfRk9PVEVSID0gXCJwdC1hbGVydC1mb290ZXJcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUIgPSBcInB0LWJyZWFkY3J1bWJcIjtcbmV4cG9ydCBjb25zdCBCUkVBRENSVU1CX0NVUlJFTlQgPSBcInB0LWJyZWFkY3J1bWItY3VycmVudFwiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTID0gXCJwdC1icmVhZGNydW1ic1wiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTX0NPTExBUFNFRCA9IFwicHQtYnJlYWRjcnVtYnMtY29sbGFwc2VkXCI7XG5cbmV4cG9ydCBjb25zdCBCVVRUT04gPSBcInB0LWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IEJVVFRPTl9HUk9VUCA9IFwicHQtYnV0dG9uLWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBDQVJEID0gXCJwdC1jYXJkXCI7XG5cbmV4cG9ydCBjb25zdCBDT0xMQVBTRSA9IFwicHQtY29sbGFwc2VcIjtcblxuZXhwb3J0IGNvbnN0IENPTExBUFNJQkxFX0xJU1QgPSBcInB0LWNvbGxhcHNlLWxpc3RcIjtcblxuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVSA9IFwicHQtY29udGV4dC1tZW51XCI7XG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUID0gXCJwdC1jb250ZXh0LW1lbnUtcG9wb3Zlci10YXJnZXRcIjtcblxuZXhwb3J0IGNvbnN0IERJQUxPRyA9IFwicHQtZGlhbG9nXCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0JPRFkgPSBcInB0LWRpYWxvZy1ib2R5XCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0NMT1NFX0JVVFRPTiA9IFwicHQtZGlhbG9nLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19GT09URVIgPSBcInB0LWRpYWxvZy1mb290ZXJcIjtcbmV4cG9ydCBjb25zdCBESUFMT0dfRk9PVEVSX0FDVElPTlMgPSBcInB0LWRpYWxvZy1mb290ZXItYWN0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19IRUFERVIgPSBcInB0LWRpYWxvZy1oZWFkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEVESVRBQkxFX1RFWFQgPSBcInB0LWVkaXRhYmxlLXRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8wID0gXCJwdC1lbGV2YXRpb24tMFwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8xID0gXCJwdC1lbGV2YXRpb24tMVwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8yID0gXCJwdC1lbGV2YXRpb24tMlwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8zID0gXCJwdC1lbGV2YXRpb24tM1wiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl80ID0gXCJwdC1lbGV2YXRpb24tNFwiO1xuXG5leHBvcnQgY29uc3QgSU5QVVQgPSBcInB0LWlucHV0XCI7XG5leHBvcnQgY29uc3QgSU5QVVRfR1JPVVAgPSBcInB0LWlucHV0LWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBMQUJFTCA9IFwicHQtbGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IE1FTlUgPSBcInB0LW1lbnVcIjtcbmV4cG9ydCBjb25zdCBNRU5VX0lURU0gPSBcInB0LW1lbnUtaXRlbVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfU1VCTUVOVSA9IFwicHQtc3VibWVudVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfRElWSURFUiA9IFwicHQtbWVudS1kaXZpZGVyXCI7XG5leHBvcnQgY29uc3QgTUVOVV9IRUFERVIgPSBcInB0LW1lbnUtaGVhZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEUgPSBcInB0LW5vbi1pZGVhbC1zdGF0ZVwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9BQ1RJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1hY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEVfREVTQ1JJUFRJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1kZXNjcmlwdGlvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9JQ09OID0gXCJwdC1ub24taWRlYWwtc3RhdGUtaWNvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9USVRMRSA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXRpdGxlXCI7XG5leHBvcnQgY29uc3QgTk9OX0lERUFMX1NUQVRFX1ZJU1VBTCA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXZpc3VhbFwiO1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9CQUNLRFJPUCA9IFwicHQtb3ZlcmxheS1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfT1BFTiA9IFwicHQtb3ZlcmxheS1vcGVuXCI7XG5leHBvcnQgY29uc3QgT1ZFUkxBWV9TQ1JPTExfQ09OVEFJTkVSID0gXCJwdC1vdmVybGF5LXNjcm9sbC1jb250YWluZXJcIjtcblxuZXhwb3J0IGNvbnN0IFBPUE9WRVIgPSBcInB0LXBvcG92ZXJcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0FSUk9XID0gXCJwdC1wb3BvdmVyLWFycm93XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9CQUNLRFJPUCA9IFwicHQtcG9wb3Zlci1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfQ09OVEVOVCA9IFwicHQtcG9wb3Zlci1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9ESVNNSVNTID0gXCJwdC1wb3BvdmVyLWRpc21pc3NcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0RJU01JU1NfT1ZFUlJJREUgPSBcInB0LXBvcG92ZXItZGlzbWlzcy1vdmVycmlkZVwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfT1BFTiA9IFwicHQtcG9wb3Zlci1vcGVuXCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UQVJHRVQgPSBcInB0LXBvcG92ZXItdGFyZ2V0XCI7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9DT05UQUlORVIgPSBcInB0LXRyYW5zaXRpb24tY29udGFpbmVyXCI7XG5cbmV4cG9ydCBjb25zdCBQT1JUQUwgPSBcInB0LXBvcnRhbFwiO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUID0gXCJwdC1zZWxlY3RcIjtcblxuZXhwb3J0IGNvbnN0IFNMSURFUiA9IFwicHQtc2xpZGVyXCI7XG5leHBvcnQgY29uc3QgU0xJREVSX0hBTkRMRSA9IGAke1NMSURFUn0taGFuZGxlYDtcbmV4cG9ydCBjb25zdCBTTElERVJfTEFCRUwgPSBgJHtTTElERVJ9LWxhYmVsYDtcbmV4cG9ydCBjb25zdCBSQU5HRV9TTElERVIgPSBcInB0LXJhbmdlLXNsaWRlclwiO1xuXG5leHBvcnQgY29uc3QgU1BJTk5FUiA9IFwicHQtc3Bpbm5lclwiO1xuZXhwb3J0IGNvbnN0IFNWR19TUElOTkVSID0gXCJwdC1zdmctc3Bpbm5lclwiO1xuXG5leHBvcnQgY29uc3QgVEFCID0gXCJwdC10YWJcIjtcbmV4cG9ydCBjb25zdCBUQUJfTElTVCA9IFwicHQtdGFiLWxpc3RcIjtcbmV4cG9ydCBjb25zdCBUQUJfUEFORUwgPSBcInB0LXRhYi1wYW5lbFwiO1xuZXhwb3J0IGNvbnN0IFRBQlMgPSBcInB0LXRhYnNcIjtcblxuZXhwb3J0IGNvbnN0IFRBRyA9IFwicHQtdGFnXCI7XG5leHBvcnQgY29uc3QgVEFHX1JFTU9WQUJMRSA9IFwicHQtdGFnLXJlbW92YWJsZVwiO1xuZXhwb3J0IGNvbnN0IFRBR19SRU1PVkUgPSBcInB0LXRhZy1yZW1vdmVcIjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUID0gXCJwdC10b2FzdFwiO1xuZXhwb3J0IGNvbnN0IFRPQVNUX0NPTlRBSU5FUiA9IFwicHQtdG9hc3QtY29udGFpbmVyXCI7XG5leHBvcnQgY29uc3QgVE9BU1RfTUVTU0FHRSA9IFwicHQtdG9hc3QtbWVzc2FnZVwiO1xuXG5leHBvcnQgY29uc3QgVE9PTFRJUCA9IFwicHQtdG9vbHRpcFwiO1xuXG5leHBvcnQgY29uc3QgVFJFRSA9IFwicHQtdHJlZVwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERSA9IFwicHQtdHJlZS1ub2RlXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUID0gXCJwdC10cmVlLW5vZGUtY2FyZXRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfQ0FSRVRfQ0xPU0VEID0gXCJwdC10cmVlLW5vZGUtY2FyZXQtY2xvc2VkXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX05PTkUgPSBcInB0LXRyZWUtbm9kZS1jYXJldC1ub25lXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX09QRU4gPSBcInB0LXRyZWUtbm9kZS1jYXJldC1vcGVuXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NPTlRFTlQgPSBcInB0LXRyZWUtbm9kZS1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0VYUEFOREVEID0gXCJwdC10cmVlLW5vZGUtZXhwYW5kZWRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfSUNPTiA9IFwicHQtdHJlZS1ub2RlLWljb25cIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1sYWJlbFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9MSVNUID0gXCJwdC10cmVlLW5vZGUtbGlzdFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9TRUNPTkRBUllfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1zZWNvbmRhcnktbGFiZWxcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfU0VMRUNURUQgPSBcInB0LXRyZWUtbm9kZS1zZWxlY3RlZFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfUk9PVCA9IFwicHQtdHJlZS1yb290XCI7XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NUQU5EQVJEID0gXCJwdC1pY29uLXN0YW5kYXJkXCI7XG5leHBvcnQgY29uc3QgSUNPTl9MQVJHRSA9IFwicHQtaWNvbi1sYXJnZVwiO1xuXG4vKiogUmV0dXJuIENTUyBjbGFzcyBmb3IgaWNvbiwgd2hldGhlciBvciBub3QgJ3B0LWljb24tJyBwcmVmaXggaXMgaW5jbHVkZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpY29uQ2xhc3MoaWNvbk5hbWU6IHN0cmluZykge1xuICAgIGlmIChpY29uTmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBpY29uTmFtZS5pbmRleE9mKFwicHQtaWNvbi1cIikgPT09IDAgPyBpY29uTmFtZSA6IGBwdC1pY29uLSR7aWNvbk5hbWV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVudENsYXNzKGludGVudCA9IEludGVudC5OT05FKSB7XG4gICAgaWYgKGludGVudCA9PT0gSW50ZW50Lk5PTkUgfHwgSW50ZW50W2ludGVudF0gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gYHB0LWludGVudC0ke0ludGVudFtpbnRlbnRdLnRvTG93ZXJDYXNlKCl9YDtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== /***/ }, @@ -4569,562 +4802,123 @@ /* * Copyright 2015 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; - /** - * The four basic intents. - */ - (function (Intent) { - Intent[Intent["NONE"] = -1] = "NONE"; - Intent[Intent["PRIMARY"] = 0] = "PRIMARY"; - Intent[Intent["SUCCESS"] = 1] = "SUCCESS"; - Intent[Intent["WARNING"] = 2] = "WARNING"; - Intent[Intent["DANGER"] = 3] = "DANGER"; - })(exports.Intent || (exports.Intent = {})); - var Intent = exports.Intent; + exports.ARROW_DOWN = 40; + exports.ARROW_LEFT = 37; + exports.ARROW_RIGHT = 39; + exports.ARROW_UP = 38; + exports.ENTER = 13; + exports.ESCAPE = 27; + exports.SPACE = 32; - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vaW50ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7QUFFSDs7R0FFRztBQUNILFdBQVksTUFBTTtJQUNkLG9DQUFTLENBQUE7SUFDVCx5Q0FBTyxDQUFBO0lBQ1AseUNBQU8sQ0FBQTtJQUNQLHlDQUFPLENBQUE7SUFDUCx1Q0FBTSxDQUFBO0FBQ1YsQ0FBQyxFQU5XLGNBQU0sS0FBTixjQUFNLFFBTWpCO0FBTkQsSUFBWSxNQUFNLEdBQU4sY0FNWCxDQUFBIiwiZmlsZSI6ImNvbW1vbi9pbnRlbnQuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuLyoqXG4gKiBUaGUgZm91ciBiYXNpYyBpbnRlbnRzLlxuICovXG5leHBvcnQgZW51bSBJbnRlbnQge1xuICAgIE5PTkUgPSAtMSxcbiAgICBQUklNQVJZLFxuICAgIFNVQ0NFU1MsXG4gICAgV0FSTklORyxcbiAgICBEQU5HRVJcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24va2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRzs7QUFFVSxrQkFBVSxHQUFHLEVBQUUsQ0FBQztBQUNoQixrQkFBVSxHQUFHLEVBQUUsQ0FBQztBQUNoQixtQkFBVyxHQUFHLEVBQUUsQ0FBQztBQUNqQixnQkFBUSxHQUFHLEVBQUUsQ0FBQztBQUNkLGFBQUssR0FBRyxFQUFFLENBQUM7QUFDWCxjQUFNLEdBQUcsRUFBRSxDQUFDO0FBQ1osYUFBSyxHQUFHLEVBQUUsQ0FBQyIsImZpbGUiOiJjb21tb24va2V5cy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBCU0QtMyBMaWNlbnNlIGFzIG1vZGlmaWVkICh0aGUg4oCcTGljZW5zZeKAnSk7IHlvdSBtYXkgb2J0YWluIGEgY29weVxuICogb2YgdGhlIGxpY2Vuc2UgYXQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9MSUNFTlNFXG4gKiBhbmQgaHR0cHM6Ly9naXRodWIuY29tL3BhbGFudGlyL2JsdWVwcmludC9ibG9iL21hc3Rlci9QQVRFTlRTXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFSUk9XX0RPV04gPSA0MDtcbmV4cG9ydCBjb25zdCBBUlJPV19MRUZUID0gMzc7XG5leHBvcnQgY29uc3QgQVJST1dfUklHSFQgPSAzOTtcbmV4cG9ydCBjb25zdCBBUlJPV19VUCA9IDM4O1xuZXhwb3J0IGNvbnN0IEVOVEVSID0gMTM7XG5leHBvcnQgY29uc3QgRVNDQVBFID0gMjc7XG5leHBvcnQgY29uc3QgU1BBQ0UgPSAzMjtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== /***/ }, /* 59 */ -/***/ function(module, exports) { +/***/ function(module, exports, __webpack_require__) { /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. + * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; - (function (Position) { - Position[Position["TOP_LEFT"] = 0] = "TOP_LEFT"; - Position[Position["TOP"] = 1] = "TOP"; - Position[Position["TOP_RIGHT"] = 2] = "TOP_RIGHT"; - Position[Position["RIGHT_TOP"] = 3] = "RIGHT_TOP"; - Position[Position["RIGHT"] = 4] = "RIGHT"; - Position[Position["RIGHT_BOTTOM"] = 5] = "RIGHT_BOTTOM"; - Position[Position["BOTTOM_RIGHT"] = 6] = "BOTTOM_RIGHT"; - Position[Position["BOTTOM"] = 7] = "BOTTOM"; - Position[Position["BOTTOM_LEFT"] = 8] = "BOTTOM_LEFT"; - Position[Position["LEFT_BOTTOM"] = 9] = "LEFT_BOTTOM"; - Position[Position["LEFT"] = 10] = "LEFT"; - Position[Position["LEFT_TOP"] = 11] = "LEFT_TOP"; - })(exports.Position || (exports.Position = {})); - var Position = exports.Position; - function isPositionHorizontal(position) { - /* istanbul ignore next */ - return position === Position.TOP || position === Position.TOP_LEFT || position === Position.TOP_RIGHT - || position === Position.BOTTOM || position === Position.BOTTOM_LEFT || position === Position.BOTTOM_RIGHT; - } - exports.isPositionHorizontal = isPositionHorizontal; - function isPositionVertical(position) { - /* istanbul ignore next */ - return position === Position.LEFT || position === Position.LEFT_TOP || position === Position.LEFT_BOTTOM - || position === Position.RIGHT || position === Position.RIGHT_TOP || position === Position.RIGHT_BOTTOM; + function __export(m) { + for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; } - exports.isPositionVertical = isPositionVertical; - - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcG9zaXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUVILFdBQVksUUFBUTtJQUNoQiwrQ0FBUSxDQUFBO0lBQ1IscUNBQUcsQ0FBQTtJQUNILGlEQUFTLENBQUE7SUFDVCxpREFBUyxDQUFBO0lBQ1QseUNBQUssQ0FBQTtJQUNMLHVEQUFZLENBQUE7SUFDWix1REFBWSxDQUFBO0lBQ1osMkNBQU0sQ0FBQTtJQUNOLHFEQUFXLENBQUE7SUFDWCxxREFBVyxDQUFBO0lBQ1gsd0NBQUksQ0FBQTtJQUNKLGdEQUFRLENBQUE7QUFDWixDQUFDLEVBYlcsZ0JBQVEsS0FBUixnQkFBUSxRQWFuQjtBQWJELElBQVksUUFBUSxHQUFSLGdCQWFYLENBQUE7QUFFRCw4QkFBcUMsUUFBa0I7SUFDbkQsMEJBQTBCO0lBQzFCLE1BQU0sQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLEdBQUcsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFFBQVEsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVM7V0FDOUYsUUFBUSxLQUFLLFFBQVEsQ0FBQyxNQUFNLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxXQUFXLElBQUksUUFBUSxLQUFLLFFBQVEsQ0FBQyxZQUFZLENBQUM7QUFDbkgsQ0FBQztBQUplLDRCQUFvQix1QkFJbkMsQ0FBQTtBQUVELDRCQUFtQyxRQUFrQjtJQUNqRCwwQkFBMEI7SUFDMUIsTUFBTSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsSUFBSSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsUUFBUSxJQUFJLFFBQVEsS0FBSyxRQUFRLENBQUMsV0FBVztXQUNqRyxRQUFRLEtBQUssUUFBUSxDQUFDLEtBQUssSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFNBQVMsSUFBSSxRQUFRLEtBQUssUUFBUSxDQUFDLFlBQVksQ0FBQztBQUNoSCxDQUFDO0FBSmUsMEJBQWtCLHFCQUlqQyxDQUFBIiwiZmlsZSI6ImNvbW1vbi9wb3NpdGlvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5leHBvcnQgZW51bSBQb3NpdGlvbiB7XG4gICAgVE9QX0xFRlQsXG4gICAgVE9QLFxuICAgIFRPUF9SSUdIVCxcbiAgICBSSUdIVF9UT1AsXG4gICAgUklHSFQsXG4gICAgUklHSFRfQk9UVE9NLFxuICAgIEJPVFRPTV9SSUdIVCxcbiAgICBCT1RUT00sXG4gICAgQk9UVE9NX0xFRlQsXG4gICAgTEVGVF9CT1RUT00sXG4gICAgTEVGVCxcbiAgICBMRUZUX1RPUCxcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25Ib3Jpem9udGFsKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgcmV0dXJuIHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLlRPUF9MRUZUIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5UT1BfUklHSFRcbiAgICAgICAgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTSB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uQk9UVE9NX0xFRlQgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkJPVFRPTV9SSUdIVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUG9zaXRpb25WZXJ0aWNhbChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHJldHVybiBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uTEVGVF9UT1AgfHwgcG9zaXRpb24gPT09IFBvc2l0aW9uLkxFRlRfQk9UVE9NXG4gICAgICAgIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVCB8fCBwb3NpdGlvbiA9PT0gUG9zaXRpb24uUklHSFRfVE9QIHx8IHBvc2l0aW9uID09PSBQb3NpdGlvbi5SSUdIVF9CT1RUT007XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + __webpack_require__(60); + var contextMenu = __webpack_require__(61); + exports.ContextMenu = contextMenu; + __export(__webpack_require__(230)); + __export(__webpack_require__(233)); + __export(__webpack_require__(231)); + __export(__webpack_require__(234)); + __export(__webpack_require__(235)); + __export(__webpack_require__(238)); + __export(__webpack_require__(232)); + __export(__webpack_require__(239)); + __export(__webpack_require__(240)); + __export(__webpack_require__(241)); + __export(__webpack_require__(242)); + __export(__webpack_require__(243)); + __export(__webpack_require__(236)); + __export(__webpack_require__(250)); + __export(__webpack_require__(237)); + __export(__webpack_require__(251)); + __export(__webpack_require__(213)); + __export(__webpack_require__(208)); + __export(__webpack_require__(252)); + __export(__webpack_require__(227)); + __export(__webpack_require__(253)); + __export(__webpack_require__(254)); + __export(__webpack_require__(255)); + __export(__webpack_require__(258)); + __export(__webpack_require__(259)); + __export(__webpack_require__(260)); + __export(__webpack_require__(261)); + __export(__webpack_require__(262)); + __export(__webpack_require__(263)); + __export(__webpack_require__(264)); + __export(__webpack_require__(265)); + __export(__webpack_require__(266)); + __export(__webpack_require__(267)); + __export(__webpack_require__(228)); + __export(__webpack_require__(268)); + __export(__webpack_require__(269)); + + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7OztHQUtHOzs7OztBQUVILFFBQU8sTUFBTSxDQUFDLENBQUE7QUFFZCxJQUFZLFdBQVcsV0FBTSw0QkFBNEIsQ0FBQyxDQUFBO0FBQzdDLG1CQUFXLEdBQUcsV0FBVyxDQUFDO0FBRXZDLGlCQUFjLGVBQWUsQ0FBQyxFQUFBO0FBQzlCLGlCQUFjLDBCQUEwQixDQUFDLEVBQUE7QUFDekMsaUJBQWMsa0JBQWtCLENBQUMsRUFBQTtBQUNqQyxpQkFBYyxxQkFBcUIsQ0FBQyxFQUFBO0FBQ3BDLGlCQUFjLG9DQUFvQyxDQUFDLEVBQUE7QUFDbkQsaUJBQWMsa0NBQWtDLENBQUMsRUFBQTtBQUNqRCxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLDhCQUE4QixDQUFDLEVBQUE7QUFDN0MsaUJBQWMsa0JBQWtCLENBQUMsRUFBQTtBQUNqQyxpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLG9CQUFvQixDQUFDLEVBQUE7QUFDbkMsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxhQUFhLENBQUMsRUFBQTtBQUM1QixpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsaUNBQWlDLENBQUMsRUFBQTtBQUNoRCxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLHdCQUF3QixDQUFDLEVBQUE7QUFDdkMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxzQkFBc0IsQ0FBQyxFQUFBO0FBQ3JDLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxzQkFBc0IsQ0FBQyxFQUFBO0FBQ3JDLGlCQUFjLFlBQVksQ0FBQyxFQUFBO0FBQzNCLGlCQUFjLGFBQWEsQ0FBQyxFQUFBO0FBQzVCLGlCQUFjLGdCQUFnQixDQUFDLEVBQUE7QUFDL0IsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyxXQUFXLENBQUMsRUFBQTtBQUMxQixpQkFBYyxlQUFlLENBQUMsRUFBQTtBQUM5QixpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsYUFBYSxDQUFDLEVBQUE7QUFDNUIsaUJBQWMsaUJBQWlCLENBQUMsRUFBQSIsImZpbGUiOiJjb21wb25lbnRzL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEJTRC0zIExpY2Vuc2UgYXMgbW9kaWZpZWQgKHRoZSDigJxMaWNlbnNl4oCdKTsgeW91IG1heSBvYnRhaW4gYSBjb3B5XG4gKiBvZiB0aGUgbGljZW5zZSBhdCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL0xJQ0VOU0VcbiAqIGFuZCBodHRwczovL2dpdGh1Yi5jb20vcGFsYW50aXIvYmx1ZXByaW50L2Jsb2IvbWFzdGVyL1BBVEVOVFNcbiAqL1xuXG5pbXBvcnQgXCJkb200XCI7XG5cbmltcG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gXCIuL2NvbnRleHQtbWVudS9jb250ZXh0TWVudVwiO1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51ID0gY29udGV4dE1lbnU7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsZXJ0L2FsZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmVhZGNydW1icy9icmVhZGNydW1iXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXR0b24vYnV0dG9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGFwc2UvY29sbGFwc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxhcHNpYmxlLWxpc3QvY29sbGFwc2libGVMaXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250ZXh0LW1lbnUvY29udGV4dE1lbnVUYXJnZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpYWxvZy9kaWFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VkaXRhYmxlLXRleHQvZWRpdGFibGVUZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9jb250cm9sc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvaW5wdXRHcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvcmFkaW9Hcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG90a2V5cy9ob3RrZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZW51L21lbnVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudURpdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudUl0ZW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vbi1pZGVhbC1zdGF0ZS9ub25JZGVhbFN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVybGF5L292ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BvcG92ZXIvcG9wb3ZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcG9wb3Zlci9zdmdQb3BvdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3J0YWwvcG9ydGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9ncmVzcy9wcm9ncmVzc0JhclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9zdmdUb29sdGlwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbGlkZXIvcmFuZ2VTbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9zbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NwaW5uZXIvc3Bpbm5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9zdmdTcGlubmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFicy90YWJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYkxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYnMvdGFiUGFuZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhZy90YWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0L3RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC90b2FzdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b29sdGlwL3Rvb2x0aXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyZWUvdHJlZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJlZS90cmVlTm9kZVwiO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 /***/ }, /* 60 */ -/***/ function(module, exports, __webpack_require__) { - - /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - var utils_1 = __webpack_require__(61); - /** A collection of curated prop keys used across our Components which are not valid HTMLElement props. */ - var INVALID_PROPS = [ - "containerRef", - "defaultIndeterminate", - "elementRef", - "iconName", - "inputRef", - "intent", - "leftIconName", - "onChildrenMount", - "onRemove", - "rightElement", - "rightIconName", - "text", - ]; - /** - * Typically applied to HTMLElements to filter out blacklisted props. When applied to a Component, - * can filter props from being passed down to the children. Can also filter by a combined list of - * supplied prop keys and the blacklist (only appropriate for HTMLElements). - * @param props The original props object to filter down. - * @param {string[]} invalidProps If supplied, overwrites the default blacklist. - * @param {boolean} shouldMerge If true, will merge supplied invalidProps and blacklist together. - */ - function removeNonHTMLProps(props, invalidProps, shouldMerge) { - if (invalidProps === void 0) { invalidProps = INVALID_PROPS; } - if (shouldMerge === void 0) { shouldMerge = false; } - if (shouldMerge) { - invalidProps = invalidProps.concat(INVALID_PROPS); - } - return invalidProps.reduce(function (prev, curr) { - if (prev.hasOwnProperty(curr)) { - delete prev[curr]; - } - return prev; - }, utils_1.shallowClone(props)); - } - exports.removeNonHTMLProps = removeNonHTMLProps; - - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vcHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUtILHNCQUE2QixTQUFTLENBQUMsQ0FBQTtBQXVFdkMsMEdBQTBHO0FBQzFHLElBQU0sYUFBYSxHQUFHO0lBQ2xCLGNBQWM7SUFDZCxzQkFBc0I7SUFDdEIsWUFBWTtJQUNaLFVBQVU7SUFDVixVQUFVO0lBQ1YsUUFBUTtJQUNSLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsVUFBVTtJQUNWLGNBQWM7SUFDZCxlQUFlO0lBQ2YsTUFBTTtDQUNULENBQUM7QUFFRjs7Ozs7OztHQU9HO0FBQ0gsNEJBQW1ELEtBQVEsRUFBRSxZQUE0QixFQUFFLFdBQW1CO0lBQWpELDRCQUE0QixHQUE1Qiw0QkFBNEI7SUFBRSwyQkFBbUIsR0FBbkIsbUJBQW1CO0lBQzFHLEVBQUUsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFBQyxZQUFZLEdBQUcsWUFBWSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUFDLENBQUM7SUFDdkUsTUFBTSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBQyxJQUFJLEVBQUUsSUFBSTtRQUNsQyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUFDLE9BQWMsSUFBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQUMsQ0FBQztRQUM3RCxNQUFNLENBQUMsSUFBSSxDQUFDO0lBQ2hCLENBQUMsRUFBRSxvQkFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7QUFDNUIsQ0FBQztBQU5lLDBCQUFrQixxQkFNakMsQ0FBQSIsImZpbGUiOiJjb21tb24vcHJvcHMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IEludGVudCB9IGZyb20gXCIuL2ludGVudFwiO1xuaW1wb3J0IHsgc2hhbGxvd0Nsb25lIH0gZnJvbSBcIi4vdXRpbHNcIjtcblxuZXhwb3J0IHR5cGUgSFRNTElucHV0UHJvcHMgPSBSZWFjdC5IVE1MUHJvcHM8SFRNTElucHV0RWxlbWVudD47XG5cbi8qKlxuICogQSBzaGFyZWQgYmFzZSBpbnRlcmZhY2UgZm9yIGFsbCBCbHVlcHJpbnQgY29tcG9uZW50IHByb3BzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQcm9wcyB7XG4gICAgLyoqIEEgc3BhY2UtZGVsaW1pdGVkIGxpc3Qgb2YgY2xhc3MgbmFtZXMgdG8gcGFzcyBhbG9uZyB0byBhIGNoaWxkIGVsZW1lbnQuICovXG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlbnRQcm9wcyB7XG4gICAgLyoqIFZpc3VhbCBpbnRlbnQgY29sb3IgdG8gYXBwbHkgdG8gZWxlbWVudC4gKi9cbiAgICBpbnRlbnQ/OiBJbnRlbnQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBhIGNsaWNrYWJsZSBhY3Rpb24sIHN1Y2ggYXMgYSBidXR0b24gb3IgbWVudSBpdGVtLlxuICogVGhlc2UgcHJvcHMgY2FuIGJlIHNwcmVhZHkgZGlyZWN0bHkgdG8gYSBgPEJ1dHRvbj5gIG9yIGA8TWVudUl0ZW0+YCBlbGVtZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBY3Rpb25Qcm9wcyBleHRlbmRzIElJbnRlbnRQcm9wcywgSVByb3BzIHtcbiAgICAvKiogV2hldGhlciB0aGlzIGFjdGlvbiBpcyBub24taW50ZXJhY3RpdmUuICovXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gICAgLyoqIE5hbWUgb2YgaWNvbiAodGhlIHBhcnQgYWZ0ZXIgYHB0LWljb24tYCkgdG8gYWRkIHRvIGJ1dHRvbi4gKi9cbiAgICBpY29uTmFtZT86IHN0cmluZztcblxuICAgIC8qKiBDbGljayBldmVudCBoYW5kbGVyLiAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiB2b2lkO1xuXG4gICAgLyoqIEFjdGlvbiB0ZXh0LCByZXF1aXJlZCBmb3IgdXNhYmlsaXR5LiAqL1xuICAgIHRleHQ/OiBzdHJpbmc7XG59XG5cbi8qKiBJbnRlcmZhY2UgZm9yIGEgbGluaywgd2l0aCBzdXBwb3J0IGZvciBjdXN0b21pemluZyB0YXJnZXQgd2luZG93LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTGlua1Byb3BzIHtcbiAgICAvKiogTGluayBVUkwuICovXG4gICAgaHJlZj86IHN0cmluZztcblxuICAgIC8qKiBMaW5rIHRhcmdldCBhdHRyaWJ1dGUuIFVzZSBcIl9ibGFua1wiIHRvIG9wZW4gaW4gYSBuZXcgd2luZG93LiAqL1xuICAgIHRhcmdldD86IHN0cmluZztcbn1cblxuLyoqIEludGVyZmFjZSBmb3IgYSBjb250cm9sbGVkIGlucHV0LiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29udHJvbGxlZFByb3BzIHtcbiAgICAvKiogSW5pdGlhbCB2YWx1ZSBvZiB0aGUgaW5wdXQsIGZvciB1bmNvbnRyb2xsZWQgdXNhZ2UuICovXG4gICAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gICAgLyoqIENoYW5nZSBldmVudCBoYW5kbGVyLiBVc2UgYGV2ZW50LnRhcmdldC52YWx1ZWAgZm9yIG5ldyB2YWx1ZS4gKi9cbiAgICBvbkNoYW5nZT86IFJlYWN0LkZvcm1FdmVudEhhbmRsZXI8SFRNTEVsZW1lbnQ+O1xuXG4gICAgLyoqIEZvcm0gdmFsdWUgb2YgdGhlIGlucHV0LCBmb3IgY29udHJvbGxlZCB1c2FnZS4gKi9cbiAgICB2YWx1ZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZm9yIGFuIG9wdGlvbiBpbiBhIGxpc3QsIHN1Y2ggYXMgaW4gYSBgPHNlbGVjdD5gIG9yIGBSYWRpb0dyb3VwYC5cbiAqIFRoZXNlIHByb3BzIGNhbiBiZSBzcHJlYWQgZGlyZWN0bHkgdG8gYW4gYDxvcHRpb24+YCBvciBgPFJhZGlvPmAgZWxlbWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJT3B0aW9uUHJvcHMgZXh0ZW5kcyBJUHJvcHMge1xuICAgIC8qKiBXaGV0aGVyIHRoaXMgb3B0aW9uIGlzIG5vbi1pbnRlcmFjdGl2ZS4gKi9cbiAgICBkaXNhYmxlZD86IGJvb2xlYW47XG5cbiAgICAvKiogTGFiZWwgdGV4dCBmb3IgdGhpcyBvcHRpb24uICovXG4gICAgbGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBWYWx1ZSBvZiB0aGlzIG9wdGlvbiAqL1xuICAgIHZhbHVlOiBzdHJpbmc7XG59XG5cbi8qKiBBIGNvbGxlY3Rpb24gb2YgY3VyYXRlZCBwcm9wIGtleXMgdXNlZCBhY3Jvc3Mgb3VyIENvbXBvbmVudHMgd2hpY2ggYXJlIG5vdCB2YWxpZCBIVE1MRWxlbWVudCBwcm9wcy4gKi9cbmNvbnN0IElOVkFMSURfUFJPUFMgPSBbXG4gICAgXCJjb250YWluZXJSZWZcIixcbiAgICBcImRlZmF1bHRJbmRldGVybWluYXRlXCIsXG4gICAgXCJlbGVtZW50UmVmXCIsXG4gICAgXCJpY29uTmFtZVwiLFxuICAgIFwiaW5wdXRSZWZcIixcbiAgICBcImludGVudFwiLFxuICAgIFwibGVmdEljb25OYW1lXCIsXG4gICAgXCJvbkNoaWxkcmVuTW91bnRcIixcbiAgICBcIm9uUmVtb3ZlXCIsXG4gICAgXCJyaWdodEVsZW1lbnRcIixcbiAgICBcInJpZ2h0SWNvbk5hbWVcIixcbiAgICBcInRleHRcIixcbl07XG5cbi8qKlxuICogVHlwaWNhbGx5IGFwcGxpZWQgdG8gSFRNTEVsZW1lbnRzIHRvIGZpbHRlciBvdXQgYmxhY2tsaXN0ZWQgcHJvcHMuIFdoZW4gYXBwbGllZCB0byBhIENvbXBvbmVudCxcbiAqIGNhbiBmaWx0ZXIgcHJvcHMgZnJvbSBiZWluZyBwYXNzZWQgZG93biB0byB0aGUgY2hpbGRyZW4uIENhbiBhbHNvIGZpbHRlciBieSBhIGNvbWJpbmVkIGxpc3Qgb2ZcbiAqIHN1cHBsaWVkIHByb3Aga2V5cyBhbmQgdGhlIGJsYWNrbGlzdCAob25seSBhcHByb3ByaWF0ZSBmb3IgSFRNTEVsZW1lbnRzKS5cbiAqIEBwYXJhbSBwcm9wcyBUaGUgb3JpZ2luYWwgcHJvcHMgb2JqZWN0IHRvIGZpbHRlciBkb3duLlxuICogQHBhcmFtIHtzdHJpbmdbXX0gaW52YWxpZFByb3BzIElmIHN1cHBsaWVkLCBvdmVyd3JpdGVzIHRoZSBkZWZhdWx0IGJsYWNrbGlzdC5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gc2hvdWxkTWVyZ2UgSWYgdHJ1ZSwgd2lsbCBtZXJnZSBzdXBwbGllZCBpbnZhbGlkUHJvcHMgYW5kIGJsYWNrbGlzdCB0b2dldGhlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZU5vbkhUTUxQcm9wczxUIGV4dGVuZHMgVSwgVT4ocHJvcHM6IFQsIGludmFsaWRQcm9wcyA9IElOVkFMSURfUFJPUFMsIHNob3VsZE1lcmdlID0gZmFsc2UpOiBVIHtcbiAgICBpZiAoc2hvdWxkTWVyZ2UpIHsgaW52YWxpZFByb3BzID0gaW52YWxpZFByb3BzLmNvbmNhdChJTlZBTElEX1BST1BTKTsgfVxuICAgIHJldHVybiBpbnZhbGlkUHJvcHMucmVkdWNlKChwcmV2LCBjdXJyKSA9PiB7XG4gICAgICAgIGlmIChwcmV2Lmhhc093blByb3BlcnR5KGN1cnIpKSB7IGRlbGV0ZSAoPGFueT4gcHJldilbY3Vycl07IH1cbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwgc2hhbGxvd0Nsb25lKHByb3BzKSk7XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= - - -/***/ }, -/* 61 */ /***/ function(module, exports) { - /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - /** Returns whether the value is a function. Acts as a type guard. */ - function isFunction(value) { - return typeof value === "function"; - } - exports.isFunction = isFunction; - function safeInvoke(func) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - if (isFunction(func)) { - return func.apply(void 0, args); - } - } - exports.safeInvoke = safeInvoke; - function elementIsOrContains(element, testElement) { - return element === testElement || element.contains(testElement); - } - exports.elementIsOrContains = elementIsOrContains; - /** - * Returns the difference in length between two arrays. A `null` argument is considered an empty list. - * The return value will be positive if `a` is longer than `b`, negative if the opposite is true, - * and zero if their lengths are equal. - */ - function arrayLengthCompare(a, b) { - if (a === void 0) { a = []; } - if (b === void 0) { b = []; } - return a.length - b.length; - } - exports.arrayLengthCompare = arrayLengthCompare; - /** - * Returns true if the two numbers are within the given tolerance of each other. - * This is useful to correct for floating point precision issues, less useful for integers. - */ - function approxEqual(a, b, tolerance) { - if (tolerance === void 0) { tolerance = 0.00001; } - return Math.abs(a - b) <= tolerance; - } - exports.approxEqual = approxEqual; - /* Clamps the given number between min and max values. Returns value if within range, or closest bound. */ - function clamp(val, min, max) { - if (max < min) { - throw new Error("clamp: max cannot be less than min"); - } - return Math.min(Math.max(val, min), max); - } - exports.clamp = clamp; - /** Return a new object with the same keys as the given object (values are copied, not cloned). */ - function shallowClone(object) { - var clonedObject = {}; - for (var key in object) { - if (object.hasOwnProperty(key)) { - clonedObject[key] = object[key]; - } - } - return clonedObject; - } - exports.shallowClone = shallowClone; - /** - * Throttle an event on an EventTarget by wrapping it in `requestAnimationFrame` call. - * Returns the event handler that was bound to given eventName so you can clean up after yourself. - * @see https://developer.mozilla.org/en-US/docs/Web/Events/scroll - */ - function throttleEvent(target, eventName, newEventName) { - var running = false; - /* istanbul ignore next: borrowed directly from MDN */ - var func = function (event) { - if (running) { - return; - } - running = true; - requestAnimationFrame(function () { - target.dispatchEvent(new CustomEvent(newEventName, event)); - running = false; - }); - }; - target.addEventListener(eventName, func); - return func; - } - exports.throttleEvent = throttleEvent; - ; + /*! + Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUVILHFFQUFxRTtBQUNyRSxvQkFBMkIsS0FBVTtJQUNqQyxNQUFNLENBQUMsT0FBTyxLQUFLLEtBQUssVUFBVSxDQUFDO0FBQ3ZDLENBQUM7QUFGZSxrQkFBVSxhQUV6QixDQUFBO0FBT0Qsb0JBQTJCLElBQWM7SUFBRSxjQUFjO1NBQWQsV0FBYyxDQUFkLHNCQUFjLENBQWQsSUFBYztRQUFkLDZCQUFjOztJQUNyRCxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE1BQU0sQ0FBQyxJQUFJLGVBQUksSUFBSSxDQUFDLENBQUM7SUFDekIsQ0FBQztBQUNMLENBQUM7QUFKZSxrQkFBVSxhQUl6QixDQUFBO0FBRUQsNkJBQW9DLE9BQW9CLEVBQUUsV0FBd0I7SUFDOUUsTUFBTSxDQUFDLE9BQU8sS0FBSyxXQUFXLElBQUksT0FBTyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNwRSxDQUFDO0FBRmUsMkJBQW1CLHNCQUVsQyxDQUFBO0FBRUQ7Ozs7R0FJRztBQUNILDRCQUFtQyxDQUFhLEVBQUUsQ0FBYTtJQUE1QixpQkFBYSxHQUFiLE1BQWE7SUFBRSxpQkFBYSxHQUFiLE1BQWE7SUFDM0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMvQixDQUFDO0FBRmUsMEJBQWtCLHFCQUVqQyxDQUFBO0FBRUQ7OztHQUdHO0FBQ0gscUJBQTRCLENBQVMsRUFBRSxDQUFTLEVBQUUsU0FBbUI7SUFBbkIseUJBQW1CLEdBQW5CLG1CQUFtQjtJQUNqRSxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDO0FBQ3hDLENBQUM7QUFGZSxtQkFBVyxjQUUxQixDQUFBO0FBRUQsMEdBQTBHO0FBQzFHLGVBQXNCLEdBQVcsRUFBRSxHQUFXLEVBQUUsR0FBVztJQUN2RCxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNaLE1BQU0sSUFBSSxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7QUFDN0MsQ0FBQztBQUxlLGFBQUssUUFLcEIsQ0FBQTtBQUVELGtHQUFrRztBQUNsRyxzQkFBZ0MsTUFBUztJQUNyQyxJQUFNLFlBQVksR0FBUSxFQUFFLENBQUM7SUFDN0IsR0FBRyxDQUFDLENBQUMsSUFBTSxHQUFHLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQztRQUN2QixFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixZQUFZLENBQUMsR0FBRyxDQUFDLEdBQVUsTUFBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7SUFDTCxDQUFDO0lBQ0QsTUFBTSxDQUFDLFlBQWlCLENBQUM7QUFDN0IsQ0FBQztBQVJlLG9CQUFZLGVBUTNCLENBQUE7QUFFRDs7OztHQUlHO0FBQ0gsdUJBQThCLE1BQW1CLEVBQUUsU0FBaUIsRUFBRSxZQUFvQjtJQUN0RixJQUFJLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDcEIsc0RBQXNEO0lBQ3RELElBQUksSUFBSSxHQUFHLFVBQVMsS0FBWTtRQUM1QixFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1lBQUMsTUFBTSxDQUFDO1FBQUMsQ0FBQztRQUN4QixPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ2YscUJBQXFCLENBQUM7WUFDbEIsTUFBTSxDQUFDLGFBQWEsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN6QyxNQUFNLENBQUMsSUFBSSxDQUFDO0FBQ2hCLENBQUM7QUFiZSxxQkFBYSxnQkFhNUIsQ0FBQTtBQUFBLENBQUMiLCJmaWxlIjoiY29tbW9uL3V0aWxzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAtIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICovXG5cbi8qKiBSZXR1cm5zIHdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgZnVuY3Rpb24uIEFjdHMgYXMgYSB0eXBlIGd1YXJkLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWU6IGFueSk6IHZhbHVlIGlzIEZ1bmN0aW9uIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCI7XG59XG5cbi8qKiBTYWZlbHkgaW52b2tlIHRoZSBmdW5jdGlvbiB3aXRoIHRoZSBnaXZlbiBhcmd1bWVudHMsIGlmIGl0IGlzIGluZGVlZCBhIGZ1bmN0aW9uLCBhbmQgcmV0dXJuIGl0cyB2YWx1ZS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlSW52b2tlPFI+KGZ1bmM6ICgpID0+IFIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgUj4oZnVuYzogKGFyZzE6IEEpID0+IFIsIGFyZzE6IEEpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2U8QSwgQiwgQywgUj4oZnVuYzogKGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpID0+IFIsIGFyZzE6IEEsIGFyZzI6IEIsIGFyZzM6IEMpOiBSO1xuZXhwb3J0IGZ1bmN0aW9uIHNhZmVJbnZva2UoZnVuYzogRnVuY3Rpb24sIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgaWYgKGlzRnVuY3Rpb24oZnVuYykpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmMoLi4uYXJncyk7XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudElzT3JDb250YWlucyhlbGVtZW50OiBIVE1MRWxlbWVudCwgdGVzdEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XG4gICAgcmV0dXJuIGVsZW1lbnQgPT09IHRlc3RFbGVtZW50IHx8IGVsZW1lbnQuY29udGFpbnModGVzdEVsZW1lbnQpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIGRpZmZlcmVuY2UgaW4gbGVuZ3RoIGJldHdlZW4gdHdvIGFycmF5cy4gQSBgbnVsbGAgYXJndW1lbnQgaXMgY29uc2lkZXJlZCBhbiBlbXB0eSBsaXN0LlxuICogVGhlIHJldHVybiB2YWx1ZSB3aWxsIGJlIHBvc2l0aXZlIGlmIGBhYCBpcyBsb25nZXIgdGhhbiBgYmAsIG5lZ2F0aXZlIGlmIHRoZSBvcHBvc2l0ZSBpcyB0cnVlLFxuICogYW5kIHplcm8gaWYgdGhlaXIgbGVuZ3RocyBhcmUgZXF1YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJheUxlbmd0aENvbXBhcmUoYTogYW55W10gPSBbXSwgYjogYW55W10gPSBbXSkge1xuICAgIHJldHVybiBhLmxlbmd0aCAtIGIubGVuZ3RoO1xufVxuXG4vKipcbiAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgdHdvIG51bWJlcnMgYXJlIHdpdGhpbiB0aGUgZ2l2ZW4gdG9sZXJhbmNlIG9mIGVhY2ggb3RoZXIuXG4gKiBUaGlzIGlzIHVzZWZ1bCB0byBjb3JyZWN0IGZvciBmbG9hdGluZyBwb2ludCBwcmVjaXNpb24gaXNzdWVzLCBsZXNzIHVzZWZ1bCBmb3IgaW50ZWdlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHByb3hFcXVhbChhOiBudW1iZXIsIGI6IG51bWJlciwgdG9sZXJhbmNlID0gMC4wMDAwMSkge1xuICAgIHJldHVybiBNYXRoLmFicyhhIC0gYikgPD0gdG9sZXJhbmNlO1xufVxuXG4vKiBDbGFtcHMgdGhlIGdpdmVuIG51bWJlciBiZXR3ZWVuIG1pbiBhbmQgbWF4IHZhbHVlcy4gUmV0dXJucyB2YWx1ZSBpZiB3aXRoaW4gcmFuZ2UsIG9yIGNsb3Nlc3QgYm91bmQuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhbXAodmFsOiBudW1iZXIsIG1pbjogbnVtYmVyLCBtYXg6IG51bWJlcikge1xuICAgIGlmIChtYXggPCBtaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2xhbXA6IG1heCBjYW5ub3QgYmUgbGVzcyB0aGFuIG1pblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIE1hdGgubWluKE1hdGgubWF4KHZhbCwgbWluKSwgbWF4KTtcbn1cblxuLyoqIFJldHVybiBhIG5ldyBvYmplY3Qgd2l0aCB0aGUgc2FtZSBrZXlzIGFzIHRoZSBnaXZlbiBvYmplY3QgKHZhbHVlcyBhcmUgY29waWVkLCBub3QgY2xvbmVkKS4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFsbG93Q2xvbmU8VD4ob2JqZWN0OiBUKTogVCB7XG4gICAgY29uc3QgY2xvbmVkT2JqZWN0OiBhbnkgPSB7fTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBvYmplY3QpIHtcbiAgICAgICAgaWYgKG9iamVjdC5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgICBjbG9uZWRPYmplY3Rba2V5XSA9ICg8YW55PiBvYmplY3QpW2tleV07XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNsb25lZE9iamVjdCBhcyBUO1xufVxuXG4vKipcbiAqIFRocm90dGxlIGFuIGV2ZW50IG9uIGFuIEV2ZW50VGFyZ2V0IGJ5IHdyYXBwaW5nIGl0IGluIGByZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIGNhbGwuXG4gKiBSZXR1cm5zIHRoZSBldmVudCBoYW5kbGVyIHRoYXQgd2FzIGJvdW5kIHRvIGdpdmVuIGV2ZW50TmFtZSBzbyB5b3UgY2FuIGNsZWFuIHVwIGFmdGVyIHlvdXJzZWxmLlxuICogQHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9FdmVudHMvc2Nyb2xsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZUV2ZW50KHRhcmdldDogRXZlbnRUYXJnZXQsIGV2ZW50TmFtZTogc3RyaW5nLCBuZXdFdmVudE5hbWU6IHN0cmluZykge1xuICAgIGxldCBydW5uaW5nID0gZmFsc2U7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQ6IGJvcnJvd2VkIGRpcmVjdGx5IGZyb20gTUROICovXG4gICAgbGV0IGZ1bmMgPSBmdW5jdGlvbihldmVudDogRXZlbnQpIHtcbiAgICAgICAgaWYgKHJ1bm5pbmcpIHsgcmV0dXJuOyB9XG4gICAgICAgIHJ1bm5pbmcgPSB0cnVlO1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICB0YXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQobmV3RXZlbnROYW1lLCBldmVudCkpO1xuICAgICAgICAgICAgcnVubmluZyA9IGZhbHNlO1xuICAgICAgICB9KTtcbiAgICB9O1xuICAgIHRhcmdldC5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgZnVuYyk7XG4gICAgcmV0dXJuIGZ1bmM7XG59O1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. -/***/ }, -/* 62 */ -/***/ function(module, exports, __webpack_require__) { + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. - /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - var position_1 = __webpack_require__(59); - var DEFAULT_CONSTRAINTS = { - attachment: "together", - to: "scrollParent", - }; - /** @internal */ - function createTetherOptions(element, target, position, useSmartPositioning, constraints) { - if (constraints == null && useSmartPositioning) { - constraints = [DEFAULT_CONSTRAINTS]; - } - var options = { - attachment: getPopoverAttachment(position), - classPrefix: "pt-tether", - constraints: constraints, - element: element, - target: target, - targetAttachment: getTargetAttachment(position), - }; - return options; - } - exports.createTetherOptions = createTetherOptions; - /** @internal */ - function getTargetAttachment(position) { - var attachments = (_a = {}, - _a[position_1.Position.TOP_LEFT] = "top left", - _a[position_1.Position.TOP] = "top center", - _a[position_1.Position.TOP_RIGHT] = "top right", - _a[position_1.Position.RIGHT_TOP] = "top right", - _a[position_1.Position.RIGHT] = "middle right", - _a[position_1.Position.RIGHT_BOTTOM] = "bottom right", - _a[position_1.Position.BOTTOM_RIGHT] = "bottom right", - _a[position_1.Position.BOTTOM] = "bottom center", - _a[position_1.Position.BOTTOM_LEFT] = "bottom left", - _a[position_1.Position.LEFT_BOTTOM] = "bottom left", - _a[position_1.Position.LEFT] = "middle left", - _a[position_1.Position.LEFT_TOP] = "top left", - _a - ); - return attachments[position]; - var _a; - } - exports.getTargetAttachment = getTargetAttachment; - /** @internal */ - function getPopoverAttachment(position) { - var attachments = (_a = {}, - _a[position_1.Position.TOP_LEFT] = "bottom left", - _a[position_1.Position.TOP] = "bottom center", - _a[position_1.Position.TOP_RIGHT] = "bottom right", - _a[position_1.Position.RIGHT_TOP] = "top left", - _a[position_1.Position.RIGHT] = "middle left", - _a[position_1.Position.RIGHT_BOTTOM] = "bottom left", - _a[position_1.Position.BOTTOM_RIGHT] = "top right", - _a[position_1.Position.BOTTOM] = "top center", - _a[position_1.Position.BOTTOM_LEFT] = "top left", - _a[position_1.Position.LEFT_BOTTOM] = "bottom right", - _a[position_1.Position.LEFT] = "middle right", - _a[position_1.Position.LEFT_TOP] = "top right", - _a - ); - return attachments[position]; - var _a; - } - exports.getPopoverAttachment = getPopoverAttachment; - /** @internal */ - function getAttachmentClasses(position) { - // this essentially reimplements the Tether logic for attachment classes so the same styles - // can be reused outside of Tether-based popovers. - return expandAttachmentClasses(getPopoverAttachment(position), "pt-tether-element-attached").concat(expandAttachmentClasses(getTargetAttachment(position), "pt-tether-target-attached")); - } - exports.getAttachmentClasses = getAttachmentClasses; - function expandAttachmentClasses(attachments, prefix) { - var _a = attachments.split(" "), verticalAlign = _a[0], horizontalAlign = _a[1]; - return [(prefix + "-" + verticalAlign), (prefix + "-" + horizontalAlign)]; - } + */ + (function(window){'use strict'; + /* jshint loopfunc: true, noempty: false*/ + // http://www.w3.org/TR/dom/#element - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vdGV0aGVyVXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOztBQUlILHlCQUF5QixZQUFZLENBQUMsQ0FBQTtBQUV0QyxJQUFNLG1CQUFtQixHQUFHO0lBQ3hCLFVBQVUsRUFBRSxVQUFVO0lBQ3RCLEVBQUUsRUFBRSxjQUFjO0NBQ3JCLENBQUM7QUFVRixnQkFBZ0I7QUFDaEIsNkJBQW9DLE9BQWdCLEVBQ2hCLE1BQVksRUFDWixRQUFrQixFQUNsQixtQkFBNEIsRUFDNUIsV0FBZ0M7SUFDaEUsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7UUFDN0MsV0FBVyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBTSxPQUFPLEdBQTBCO1FBQ25DLFVBQVUsRUFBRSxvQkFBb0IsQ0FBQyxRQUFRLENBQUM7UUFDMUMsV0FBVyxFQUFFLFdBQVc7UUFDeEIsd0JBQVc7UUFDWCxnQkFBTztRQUNQLGNBQU07UUFDTixnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQyxRQUFRLENBQUM7S0FDbEQsQ0FBQztJQUNGLE1BQU0sQ0FBQyxPQUFPLENBQUM7QUFDbkIsQ0FBQztBQWxCZSwyQkFBbUIsc0JBa0JsQyxDQUFBO0FBRUQsZ0JBQWdCO0FBQ2hCLDZCQUFvQyxRQUFrQjtJQUNsRCxJQUFNLFdBQVcsR0FBMEI7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFNLFVBQVU7UUFDbkMsR0FBQyxtQkFBUSxDQUFDLEdBQUcsQ0FBQyxHQUFXLFlBQVk7UUFDckMsR0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFLLFdBQVc7UUFDcEMsR0FBQyxtQkFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFLLFdBQVc7UUFDcEMsR0FBQyxtQkFBUSxDQUFDLEtBQUssQ0FBQyxHQUFTLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFlBQVksQ0FBQyxHQUFFLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLFlBQVksQ0FBQyxHQUFFLGNBQWM7UUFDdkMsR0FBQyxtQkFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFRLGVBQWU7UUFDeEMsR0FBQyxtQkFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLElBQUksQ0FBQyxHQUFVLGFBQWE7UUFDdEMsR0FBQyxtQkFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFNLFVBQVU7O0tBQ3RDLENBQUM7SUFDRixNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDOztBQUNqQyxDQUFDO0FBaEJlLDJCQUFtQixzQkFnQmxDLENBQUE7QUFFRCxnQkFBZ0I7QUFDaEIsOEJBQXFDLFFBQWtCO0lBQ25ELElBQU0sV0FBVyxHQUEwQjtRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsR0FBRyxDQUFDLEdBQVcsZUFBZTtRQUN4QyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsU0FBUyxDQUFDLEdBQUssVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsS0FBSyxDQUFDLEdBQVMsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsYUFBYTtRQUN0QyxHQUFDLG1CQUFRLENBQUMsWUFBWSxDQUFDLEdBQUUsV0FBVztRQUNwQyxHQUFDLG1CQUFRLENBQUMsTUFBTSxDQUFDLEdBQVEsWUFBWTtRQUNyQyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsVUFBVTtRQUNuQyxHQUFDLG1CQUFRLENBQUMsV0FBVyxDQUFDLEdBQUcsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsSUFBSSxDQUFDLEdBQVUsY0FBYztRQUN2QyxHQUFDLG1CQUFRLENBQUMsUUFBUSxDQUFDLEdBQU0sV0FBVzs7S0FDdkMsQ0FBQztJQUNGLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7O0FBQ2pDLENBQUM7QUFoQmUsNEJBQW9CLHVCQWdCbkMsQ0FBQTtBQUVELGdCQUFnQjtBQUNoQiw4QkFBcUMsUUFBa0I7SUFDbkQsMkZBQTJGO0lBQzNGLGtEQUFrRDtJQUNsRCxNQUFNLENBQ0MsdUJBQXVCLENBQUMsb0JBQW9CLENBQUMsUUFBUSxDQUFDLEVBQUUsNEJBQTRCLENBQUMsUUFDckYsdUJBQXVCLENBQUMsbUJBQW1CLENBQUMsUUFBUSxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FDekYsQ0FBQztBQUNOLENBQUM7QUFQZSw0QkFBb0IsdUJBT25DLENBQUE7QUFFRCxpQ0FBaUMsV0FBbUIsRUFBRSxNQUFjO0lBQ2hFLElBQUEsMkJBQStELEVBQXhELHFCQUFhLEVBQUUsdUJBQWUsQ0FBMkI7SUFDaEUsTUFBTSxDQUFDLENBQUMsQ0FBRyxNQUFNLFNBQUksYUFBYSxDQUFFLEVBQUUsQ0FBRyxNQUFNLFNBQUksZUFBZSxDQUFFLENBQUMsQ0FBQztBQUMxRSxDQUFDIiwiZmlsZSI6ImNvbW1vbi90ZXRoZXJVdGlscy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNSBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5pbXBvcnQgKiBhcyBUZXRoZXIgZnJvbSBcInRldGhlclwiO1xuXG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuL3Bvc2l0aW9uXCI7XG5cbmNvbnN0IERFRkFVTFRfQ09OU1RSQUlOVFMgPSB7XG4gICAgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLFxuICAgIHRvOiBcInNjcm9sbFBhcmVudFwiLFxufTtcblxuZXhwb3J0IGludGVyZmFjZSBJVGV0aGVyQ29uc3RyYWludCB7XG4gICAgYXR0YWNobWVudD86IHN0cmluZztcbiAgICBvdXRPZkJvdW5kc0NsYXNzPzogc3RyaW5nO1xuICAgIHBpbj86IGJvb2xlYW4gfCBzdHJpbmdbXTtcbiAgICBwaW5uZWRDbGFzcz86IHN0cmluZztcbiAgICB0bz86IHN0cmluZyB8IEhUTUxFbGVtZW50IHwgbnVtYmVyW107XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVUZXRoZXJPcHRpb25zKGVsZW1lbnQ6IEVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IE5vZGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogUG9zaXRpb24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VTbWFydFBvc2l0aW9uaW5nOiBib29sZWFuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RyYWludHM6IElUZXRoZXJDb25zdHJhaW50W10pIHtcbiAgICBpZiAoY29uc3RyYWludHMgPT0gbnVsbCAmJiB1c2VTbWFydFBvc2l0aW9uaW5nKSB7XG4gICAgICAgIGNvbnN0cmFpbnRzID0gW0RFRkFVTFRfQ09OU1RSQUlOVFNdO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IFRldGhlci5JVGV0aGVyT3B0aW9ucyA9IHtcbiAgICAgICAgYXR0YWNobWVudDogZ2V0UG9wb3ZlckF0dGFjaG1lbnQocG9zaXRpb24pLFxuICAgICAgICBjbGFzc1ByZWZpeDogXCJwdC10ZXRoZXJcIixcbiAgICAgICAgY29uc3RyYWludHMsXG4gICAgICAgIGVsZW1lbnQsXG4gICAgICAgIHRhcmdldCxcbiAgICAgICAgdGFyZ2V0QXR0YWNobWVudDogZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksXG4gICAgfTtcbiAgICByZXR1cm4gb3B0aW9ucztcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRhcmdldEF0dGFjaG1lbnQocG9zaXRpb246IFBvc2l0aW9uKSB7XG4gICAgY29uc3QgYXR0YWNobWVudHM6IHtbcDogbnVtYmVyXTogc3RyaW5nfSA9IHtcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF9MRUZUXTogICAgIFwidG9wIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlRPUF06ICAgICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QX1JJR0hUXTogICAgXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLlJJR0hUX1RPUF06ICAgIFwidG9wIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5SSUdIVF06ICAgICAgICBcIm1pZGRsZSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9SSUdIVF06IFwiYm90dG9tIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5CT1RUT01dOiAgICAgICBcImJvdHRvbSBjZW50ZXJcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV9MRUZUXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfQk9UVE9NXTogIFwiYm90dG9tIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIGxlZnRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRfVE9QXTogICAgIFwidG9wIGxlZnRcIixcbiAgICB9O1xuICAgIHJldHVybiBhdHRhY2htZW50c1twb3NpdGlvbl07XG59XG5cbi8qKiBAaW50ZXJuYWwgKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRQb3BvdmVyQXR0YWNobWVudChwb3NpdGlvbjogUG9zaXRpb24pIHtcbiAgICBjb25zdCBhdHRhY2htZW50czoge1twOiBudW1iZXJdOiBzdHJpbmd9ID0ge1xuICAgICAgICBbUG9zaXRpb24uVE9QX0xFRlRdOiAgICAgXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uVE9QXTogICAgICAgICAgXCJib3R0b20gY2VudGVyXCIsXG4gICAgICAgIFtQb3NpdGlvbi5UT1BfUklHSFRdOiAgICBcImJvdHRvbSByaWdodFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfVE9QXTogICAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRdOiAgICAgICAgXCJtaWRkbGUgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uUklHSFRfQk9UVE9NXTogXCJib3R0b20gbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX1JJR0hUXTogXCJ0b3AgcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkJPVFRPTV06ICAgICAgIFwidG9wIGNlbnRlclwiLFxuICAgICAgICBbUG9zaXRpb24uQk9UVE9NX0xFRlRdOiAgXCJ0b3AgbGVmdFwiLFxuICAgICAgICBbUG9zaXRpb24uTEVGVF9CT1RUT01dOiAgXCJib3R0b20gcmlnaHRcIixcbiAgICAgICAgW1Bvc2l0aW9uLkxFRlRdOiAgICAgICAgIFwibWlkZGxlIHJpZ2h0XCIsXG4gICAgICAgIFtQb3NpdGlvbi5MRUZUX1RPUF06ICAgICBcInRvcCByaWdodFwiLFxuICAgIH07XG4gICAgcmV0dXJuIGF0dGFjaG1lbnRzW3Bvc2l0aW9uXTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEF0dGFjaG1lbnRDbGFzc2VzKHBvc2l0aW9uOiBQb3NpdGlvbikge1xuICAgIC8vIHRoaXMgZXNzZW50aWFsbHkgcmVpbXBsZW1lbnRzIHRoZSBUZXRoZXIgbG9naWMgZm9yIGF0dGFjaG1lbnQgY2xhc3NlcyBzbyB0aGUgc2FtZSBzdHlsZXNcbiAgICAvLyBjYW4gYmUgcmV1c2VkIG91dHNpZGUgb2YgVGV0aGVyLWJhc2VkIHBvcG92ZXJzLlxuICAgIHJldHVybiBbXG4gICAgICAgIC4uLmV4cGFuZEF0dGFjaG1lbnRDbGFzc2VzKGdldFBvcG92ZXJBdHRhY2htZW50KHBvc2l0aW9uKSwgXCJwdC10ZXRoZXItZWxlbWVudC1hdHRhY2hlZFwiKSxcbiAgICAgICAgLi4uZXhwYW5kQXR0YWNobWVudENsYXNzZXMoZ2V0VGFyZ2V0QXR0YWNobWVudChwb3NpdGlvbiksIFwicHQtdGV0aGVyLXRhcmdldC1hdHRhY2hlZFwiKSxcbiAgICBdO1xufVxuXG5mdW5jdGlvbiBleHBhbmRBdHRhY2htZW50Q2xhc3NlcyhhdHRhY2htZW50czogc3RyaW5nLCBwcmVmaXg6IHN0cmluZykge1xuICAgIGNvbnN0IFt2ZXJ0aWNhbEFsaWduLCBob3Jpem9udGFsQWxpZ25dID0gYXR0YWNobWVudHMuc3BsaXQoXCIgXCIpO1xuICAgIHJldHVybiBbYCR7cHJlZml4fS0ke3ZlcnRpY2FsQWxpZ259YCwgYCR7cHJlZml4fS0ke2hvcml6b250YWxBbGlnbn1gXTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== + function createDocumentFragment() { + return document.createDocumentFragment(); + } + function createElement(nodeName) { + return document.createElement(nodeName); + } -/***/ }, -/* 63 */ -/***/ function(module, exports, __webpack_require__) { - - /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - var intent_1 = __webpack_require__(58); - // modifiers - exports.DARK = "pt-dark"; - exports.ACTIVE = "pt-active"; - exports.MINIMAL = "pt-minimal"; - exports.DISABLED = "pt-disabled"; - exports.SMALL = "pt-small"; - exports.LARGE = "pt-large"; - exports.INTERACTIVE = "pt-interactive"; - exports.ALIGN_LEFT = "pt-align-left"; - exports.ALIGN_RIGHT = "pt-align-right"; - exports.INLINE = "pt-inline"; - exports.FILL = "pt-fill"; - // components - exports.ALERT = "pt-alert"; - exports.ALERT_BODY = "pt-alert-body"; - exports.ALERT_CONTENTS = "pt-alert-contents"; - exports.ALERT_FOOTER = "pt-alert-footer"; - exports.BREADCRUMB = "pt-breadcrumb"; - exports.BREADCRUMB_CURRENT = "pt-breadcrumb-current"; - exports.BREADCRUMBS = "pt-breadcrumbs"; - exports.BREADCRUMBS_COLLAPSED = "pt-breadcrumbs-collapsed"; - exports.BUTTON = "pt-button"; - exports.BUTTON_GROUP = "pt-button-group"; - exports.CARD = "pt-card"; - exports.COLLAPSE = "pt-collapse"; - exports.COLLAPSIBLE_LIST = "pt-collapse-list"; - exports.CONTEXT_MENU = "pt-context-menu"; - exports.CONTEXT_MENU_POPOVER_TARGET = "pt-context-menu-popover-target"; - exports.DIALOG = "pt-dialog"; - exports.DIALOG_BODY = "pt-dialog-body"; - exports.DIALOG_CLOSE_BUTTON = "pt-dialog-close-button"; - exports.DIALOG_FOOTER = "pt-dialog-footer"; - exports.DIALOG_FOOTER_ACTIONS = "pt-dialog-footer-actions"; - exports.DIALOG_HEADER = "pt-dialog-header"; - exports.EDITABLE_TEXT = "pt-editable-text"; - exports.ELEVATION_0 = "pt-elevation-0"; - exports.ELEVATION_1 = "pt-elevation-1"; - exports.ELEVATION_2 = "pt-elevation-2"; - exports.ELEVATION_3 = "pt-elevation-3"; - exports.ELEVATION_4 = "pt-elevation-4"; - exports.INPUT = "pt-input"; - exports.INPUT_GROUP = "pt-input-group"; - exports.LABEL = "pt-label"; - exports.MENU = "pt-menu"; - exports.MENU_ITEM = "pt-menu-item"; - exports.MENU_SUBMENU = "pt-submenu"; - exports.MENU_DIVIDER = "pt-menu-divider"; - exports.MENU_HEADER = "pt-menu-header"; - exports.NON_IDEAL_STATE = "pt-non-ideal-state"; - exports.NON_IDEAL_STATE_ACTION = "pt-non-ideal-state-action"; - exports.NON_IDEAL_STATE_DESCRIPTION = "pt-non-ideal-state-description"; - exports.NON_IDEAL_STATE_ICON = "pt-non-ideal-state-icon"; - exports.NON_IDEAL_STATE_TITLE = "pt-non-ideal-state-title"; - exports.NON_IDEAL_STATE_VISUAL = "pt-non-ideal-state-visual"; - exports.OVERLAY_BACKDROP = "pt-overlay-backdrop"; - exports.OVERLAY_OPEN = "pt-overlay-open"; - exports.OVERLAY_SCROLL_CONTAINER = "pt-overlay-scroll-container"; - exports.POPOVER = "pt-popover"; - exports.POPOVER_ARROW = "pt-popover-arrow"; - exports.POPOVER_BACKDROP = "pt-popover-backdrop"; - exports.POPOVER_CONTENT = "pt-popover-content"; - exports.POPOVER_DISMISS = "pt-popover-dismiss"; - exports.POPOVER_DISMISS_OVERRIDE = "pt-popover-dismiss-override"; - exports.POPOVER_OPEN = "pt-popover-open"; - exports.POPOVER_TARGET = "pt-popover-target"; - exports.TRANSITION_CONTAINER = "pt-transition-container"; - exports.PORTAL = "pt-portal"; - exports.SELECT = "pt-select"; - exports.SLIDER = "pt-slider"; - exports.SLIDER_HANDLE = exports.SLIDER + "-handle"; - exports.SLIDER_LABEL = exports.SLIDER + "-label"; - exports.RANGE_SLIDER = "pt-range-slider"; - exports.SPINNER = "pt-spinner"; - exports.SVG_SPINNER = "pt-svg-spinner"; - exports.TAB = "pt-tab"; - exports.TAB_LIST = "pt-tab-list"; - exports.TAB_PANEL = "pt-tab-panel"; - exports.TABS = "pt-tabs"; - exports.TAG = "pt-tag"; - exports.TAG_REMOVABLE = "pt-tag-removable"; - exports.TAG_REMOVE = "pt-tag-remove"; - exports.TOAST = "pt-toast"; - exports.TOAST_CONTAINER = "pt-toast-container"; - exports.TOAST_MESSAGE = "pt-toast-message"; - exports.TOOLTIP = "pt-tooltip"; - exports.TREE = "pt-tree"; - exports.TREE_NODE = "pt-tree-node"; - exports.TREE_NODE_CARET = "pt-tree-node-caret"; - exports.TREE_NODE_CARET_CLOSED = "pt-tree-node-caret-closed"; - exports.TREE_NODE_CARET_NONE = "pt-tree-node-caret-none"; - exports.TREE_NODE_CARET_OPEN = "pt-tree-node-caret-open"; - exports.TREE_NODE_CONTENT = "pt-tree-node-content"; - exports.TREE_NODE_EXPANDED = "pt-tree-node-expanded"; - exports.TREE_NODE_ICON = "pt-tree-node-icon"; - exports.TREE_NODE_LABEL = "pt-tree-node-label"; - exports.TREE_NODE_LIST = "pt-tree-node-list"; - exports.TREE_NODE_SECONDARY_LABEL = "pt-tree-node-secondary-label"; - exports.TREE_NODE_SELECTED = "pt-tree-node-selected"; - exports.TREE_ROOT = "pt-tree-root"; - exports.ICON_STANDARD = "pt-icon-standard"; - exports.ICON_LARGE = "pt-icon-large"; - /** Return CSS class for icon, whether or not 'pt-icon-' prefix is included */ - function iconClass(iconName) { - if (iconName == null) { - return undefined; - } - return iconName.indexOf("pt-icon-") === 0 ? iconName : "pt-icon-" + iconName; - } - exports.iconClass = iconClass; - function intentClass(intent) { - if (intent === void 0) { intent = intent_1.Intent.NONE; } - if (intent === intent_1.Intent.NONE || intent_1.Intent[intent] == null) { - return undefined; - } - return "pt-intent-" + intent_1.Intent[intent].toLowerCase(); - } - exports.intentClass = intentClass; - - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24vY2xhc3Nlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRUgsdUJBQXVCLFVBQVUsQ0FBQyxDQUFBO0FBRWxDLFlBQVk7QUFDQyxZQUFJLEdBQUcsU0FBUyxDQUFDO0FBQ2pCLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsZUFBTyxHQUFHLFlBQVksQ0FBQztBQUN2QixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUN6QixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLGFBQUssR0FBRyxVQUFVLENBQUM7QUFDbkIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUU5QixhQUFhO0FBQ0EsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUM3QixzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsa0JBQVUsR0FBRyxlQUFlLENBQUM7QUFDN0IsMEJBQWtCLEdBQUcsdUJBQXVCLENBQUM7QUFDN0MsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQiw2QkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUVuRCxjQUFNLEdBQUcsV0FBVyxDQUFDO0FBQ3JCLG9CQUFZLEdBQUcsaUJBQWlCLENBQUM7QUFFakMsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUVqQixnQkFBUSxHQUFHLGFBQWEsQ0FBQztBQUV6Qix3QkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV0QyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLG1DQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBRS9ELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFDckIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQiwyQkFBbUIsR0FBRyx3QkFBd0IsQ0FBQztBQUMvQyxxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLDZCQUFxQixHQUFHLDBCQUEwQixDQUFDO0FBQ25ELHFCQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFFbkMscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0IsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUMvQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBQy9CLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsYUFBSyxHQUFHLFVBQVUsQ0FBQztBQUNuQixtQkFBVyxHQUFHLGdCQUFnQixDQUFDO0FBRS9CLGFBQUssR0FBRyxVQUFVLENBQUM7QUFFbkIsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUNqQixpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUMzQixvQkFBWSxHQUFHLFlBQVksQ0FBQztBQUM1QixvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLG1CQUFXLEdBQUcsZ0JBQWdCLENBQUM7QUFFL0IsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2Qyw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUNyRCxtQ0FBMkIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUMvRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCw2QkFBcUIsR0FBRywwQkFBMEIsQ0FBQztBQUNuRCw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUVyRCx3QkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN6QyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBQ2pDLGdDQUF3QixHQUFHLDZCQUE2QixDQUFDO0FBRXpELGVBQU8sR0FBRyxZQUFZLENBQUM7QUFDdkIscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuQyx3QkFBZ0IsR0FBRyxxQkFBcUIsQ0FBQztBQUN6Qyx1QkFBZSxHQUFHLG9CQUFvQixDQUFDO0FBQ3ZDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsZ0NBQXdCLEdBQUcsNkJBQTZCLENBQUM7QUFDekQsb0JBQVksR0FBRyxpQkFBaUIsQ0FBQztBQUNqQyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLDRCQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBRWpELGNBQU0sR0FBRyxXQUFXLENBQUM7QUFFckIsY0FBTSxHQUFHLFdBQVcsQ0FBQztBQUVyQixjQUFNLEdBQUcsV0FBVyxDQUFDO0FBQ3JCLHFCQUFhLEdBQU0sY0FBTSxZQUFTLENBQUM7QUFDbkMsb0JBQVksR0FBTSxjQUFNLFdBQVEsQ0FBQztBQUNqQyxvQkFBWSxHQUFHLGlCQUFpQixDQUFDO0FBRWpDLGVBQU8sR0FBRyxZQUFZLENBQUM7QUFDdkIsbUJBQVcsR0FBRyxnQkFBZ0IsQ0FBQztBQUUvQixXQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ2YsZ0JBQVEsR0FBRyxhQUFhLENBQUM7QUFDekIsaUJBQVMsR0FBRyxjQUFjLENBQUM7QUFDM0IsWUFBSSxHQUFHLFNBQVMsQ0FBQztBQUVqQixXQUFHLEdBQUcsUUFBUSxDQUFDO0FBQ2YscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUNuQyxrQkFBVSxHQUFHLGVBQWUsQ0FBQztBQUU3QixhQUFLLEdBQUcsVUFBVSxDQUFDO0FBQ25CLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMscUJBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUVuQyxlQUFPLEdBQUcsWUFBWSxDQUFDO0FBRXZCLFlBQUksR0FBRyxTQUFTLENBQUM7QUFDakIsaUJBQVMsR0FBRyxjQUFjLENBQUM7QUFDM0IsdUJBQWUsR0FBRyxvQkFBb0IsQ0FBQztBQUN2Qyw4QkFBc0IsR0FBRywyQkFBMkIsQ0FBQztBQUNyRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCw0QkFBb0IsR0FBRyx5QkFBeUIsQ0FBQztBQUNqRCx5QkFBaUIsR0FBRyxzQkFBc0IsQ0FBQztBQUMzQywwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxzQkFBYyxHQUFHLG1CQUFtQixDQUFDO0FBQ3JDLHVCQUFlLEdBQUcsb0JBQW9CLENBQUM7QUFDdkMsc0JBQWMsR0FBRyxtQkFBbUIsQ0FBQztBQUNyQyxpQ0FBeUIsR0FBRyw4QkFBOEIsQ0FBQztBQUMzRCwwQkFBa0IsR0FBRyx1QkFBdUIsQ0FBQztBQUM3QyxpQkFBUyxHQUFHLGNBQWMsQ0FBQztBQUUzQixxQkFBYSxHQUFHLGtCQUFrQixDQUFDO0FBQ25DLGtCQUFVLEdBQUcsZUFBZSxDQUFDO0FBRTFDLDhFQUE4RTtBQUM5RSxtQkFBMEIsUUFBZ0I7SUFDdEMsRUFBRSxDQUFDLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbkIsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUNyQixDQUFDO0lBQ0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxHQUFHLFFBQVEsR0FBRyxhQUFXLFFBQVUsQ0FBQztBQUNqRixDQUFDO0FBTGUsaUJBQVMsWUFLeEIsQ0FBQTtBQUVELHFCQUE0QixNQUFvQjtJQUFwQixzQkFBb0IsR0FBcEIsU0FBUyxlQUFNLENBQUMsSUFBSTtJQUM1QyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssZUFBTSxDQUFDLElBQUksSUFBSSxlQUFNLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNuRCxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQ3JCLENBQUM7SUFDRCxNQUFNLENBQUMsZUFBYSxlQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsV0FBVyxFQUFJLENBQUM7QUFDdkQsQ0FBQztBQUxlLG1CQUFXLGNBSzFCLENBQUEiLCJmaWxlIjoiY29tbW9uL2NsYXNzZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuaW1wb3J0IHsgSW50ZW50IH0gZnJvbSBcIi4vaW50ZW50XCI7XG5cbi8vIG1vZGlmaWVyc1xuZXhwb3J0IGNvbnN0IERBUksgPSBcInB0LWRhcmtcIjtcbmV4cG9ydCBjb25zdCBBQ1RJVkUgPSBcInB0LWFjdGl2ZVwiO1xuZXhwb3J0IGNvbnN0IE1JTklNQUwgPSBcInB0LW1pbmltYWxcIjtcbmV4cG9ydCBjb25zdCBESVNBQkxFRCA9IFwicHQtZGlzYWJsZWRcIjtcbmV4cG9ydCBjb25zdCBTTUFMTCA9IFwicHQtc21hbGxcIjtcbmV4cG9ydCBjb25zdCBMQVJHRSA9IFwicHQtbGFyZ2VcIjtcbmV4cG9ydCBjb25zdCBJTlRFUkFDVElWRSA9IFwicHQtaW50ZXJhY3RpdmVcIjtcbmV4cG9ydCBjb25zdCBBTElHTl9MRUZUID0gXCJwdC1hbGlnbi1sZWZ0XCI7XG5leHBvcnQgY29uc3QgQUxJR05fUklHSFQgPSBcInB0LWFsaWduLXJpZ2h0XCI7XG5leHBvcnQgY29uc3QgSU5MSU5FID0gXCJwdC1pbmxpbmVcIjtcbmV4cG9ydCBjb25zdCBGSUxMID0gXCJwdC1maWxsXCI7XG5cbi8vIGNvbXBvbmVudHNcbmV4cG9ydCBjb25zdCBBTEVSVCA9IFwicHQtYWxlcnRcIjtcbmV4cG9ydCBjb25zdCBBTEVSVF9CT0RZID0gXCJwdC1hbGVydC1ib2R5XCI7XG5leHBvcnQgY29uc3QgQUxFUlRfQ09OVEVOVFMgPSBcInB0LWFsZXJ0LWNvbnRlbnRzXCI7XG5leHBvcnQgY29uc3QgQUxFUlRfRk9PVEVSID0gXCJwdC1hbGVydC1mb290ZXJcIjtcblxuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUIgPSBcInB0LWJyZWFkY3J1bWJcIjtcbmV4cG9ydCBjb25zdCBCUkVBRENSVU1CX0NVUlJFTlQgPSBcInB0LWJyZWFkY3J1bWItY3VycmVudFwiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTID0gXCJwdC1icmVhZGNydW1ic1wiO1xuZXhwb3J0IGNvbnN0IEJSRUFEQ1JVTUJTX0NPTExBUFNFRCA9IFwicHQtYnJlYWRjcnVtYnMtY29sbGFwc2VkXCI7XG5cbmV4cG9ydCBjb25zdCBCVVRUT04gPSBcInB0LWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IEJVVFRPTl9HUk9VUCA9IFwicHQtYnV0dG9uLWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBDQVJEID0gXCJwdC1jYXJkXCI7XG5cbmV4cG9ydCBjb25zdCBDT0xMQVBTRSA9IFwicHQtY29sbGFwc2VcIjtcblxuZXhwb3J0IGNvbnN0IENPTExBUFNJQkxFX0xJU1QgPSBcInB0LWNvbGxhcHNlLWxpc3RcIjtcblxuZXhwb3J0IGNvbnN0IENPTlRFWFRfTUVOVSA9IFwicHQtY29udGV4dC1tZW51XCI7XG5leHBvcnQgY29uc3QgQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUID0gXCJwdC1jb250ZXh0LW1lbnUtcG9wb3Zlci10YXJnZXRcIjtcblxuZXhwb3J0IGNvbnN0IERJQUxPRyA9IFwicHQtZGlhbG9nXCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0JPRFkgPSBcInB0LWRpYWxvZy1ib2R5XCI7XG5leHBvcnQgY29uc3QgRElBTE9HX0NMT1NFX0JVVFRPTiA9IFwicHQtZGlhbG9nLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19GT09URVIgPSBcInB0LWRpYWxvZy1mb290ZXJcIjtcbmV4cG9ydCBjb25zdCBESUFMT0dfRk9PVEVSX0FDVElPTlMgPSBcInB0LWRpYWxvZy1mb290ZXItYWN0aW9uc1wiO1xuZXhwb3J0IGNvbnN0IERJQUxPR19IRUFERVIgPSBcInB0LWRpYWxvZy1oZWFkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEVESVRBQkxFX1RFWFQgPSBcInB0LWVkaXRhYmxlLXRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8wID0gXCJwdC1lbGV2YXRpb24tMFwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8xID0gXCJwdC1lbGV2YXRpb24tMVwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8yID0gXCJwdC1lbGV2YXRpb24tMlwiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl8zID0gXCJwdC1lbGV2YXRpb24tM1wiO1xuZXhwb3J0IGNvbnN0IEVMRVZBVElPTl80ID0gXCJwdC1lbGV2YXRpb24tNFwiO1xuXG5leHBvcnQgY29uc3QgSU5QVVQgPSBcInB0LWlucHV0XCI7XG5leHBvcnQgY29uc3QgSU5QVVRfR1JPVVAgPSBcInB0LWlucHV0LWdyb3VwXCI7XG5cbmV4cG9ydCBjb25zdCBMQUJFTCA9IFwicHQtbGFiZWxcIjtcblxuZXhwb3J0IGNvbnN0IE1FTlUgPSBcInB0LW1lbnVcIjtcbmV4cG9ydCBjb25zdCBNRU5VX0lURU0gPSBcInB0LW1lbnUtaXRlbVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfU1VCTUVOVSA9IFwicHQtc3VibWVudVwiO1xuZXhwb3J0IGNvbnN0IE1FTlVfRElWSURFUiA9IFwicHQtbWVudS1kaXZpZGVyXCI7XG5leHBvcnQgY29uc3QgTUVOVV9IRUFERVIgPSBcInB0LW1lbnUtaGVhZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEUgPSBcInB0LW5vbi1pZGVhbC1zdGF0ZVwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9BQ1RJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1hY3Rpb25cIjtcbmV4cG9ydCBjb25zdCBOT05fSURFQUxfU1RBVEVfREVTQ1JJUFRJT04gPSBcInB0LW5vbi1pZGVhbC1zdGF0ZS1kZXNjcmlwdGlvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9JQ09OID0gXCJwdC1ub24taWRlYWwtc3RhdGUtaWNvblwiO1xuZXhwb3J0IGNvbnN0IE5PTl9JREVBTF9TVEFURV9USVRMRSA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXRpdGxlXCI7XG5leHBvcnQgY29uc3QgTk9OX0lERUFMX1NUQVRFX1ZJU1VBTCA9IFwicHQtbm9uLWlkZWFsLXN0YXRlLXZpc3VhbFwiO1xuXG5leHBvcnQgY29uc3QgT1ZFUkxBWV9CQUNLRFJPUCA9IFwicHQtb3ZlcmxheS1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IE9WRVJMQVlfT1BFTiA9IFwicHQtb3ZlcmxheS1vcGVuXCI7XG5leHBvcnQgY29uc3QgT1ZFUkxBWV9TQ1JPTExfQ09OVEFJTkVSID0gXCJwdC1vdmVybGF5LXNjcm9sbC1jb250YWluZXJcIjtcblxuZXhwb3J0IGNvbnN0IFBPUE9WRVIgPSBcInB0LXBvcG92ZXJcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0FSUk9XID0gXCJwdC1wb3BvdmVyLWFycm93XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9CQUNLRFJPUCA9IFwicHQtcG9wb3Zlci1iYWNrZHJvcFwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfQ09OVEVOVCA9IFwicHQtcG9wb3Zlci1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9ESVNNSVNTID0gXCJwdC1wb3BvdmVyLWRpc21pc3NcIjtcbmV4cG9ydCBjb25zdCBQT1BPVkVSX0RJU01JU1NfT1ZFUlJJREUgPSBcInB0LXBvcG92ZXItZGlzbWlzcy1vdmVycmlkZVwiO1xuZXhwb3J0IGNvbnN0IFBPUE9WRVJfT1BFTiA9IFwicHQtcG9wb3Zlci1vcGVuXCI7XG5leHBvcnQgY29uc3QgUE9QT1ZFUl9UQVJHRVQgPSBcInB0LXBvcG92ZXItdGFyZ2V0XCI7XG5leHBvcnQgY29uc3QgVFJBTlNJVElPTl9DT05UQUlORVIgPSBcInB0LXRyYW5zaXRpb24tY29udGFpbmVyXCI7XG5cbmV4cG9ydCBjb25zdCBQT1JUQUwgPSBcInB0LXBvcnRhbFwiO1xuXG5leHBvcnQgY29uc3QgU0VMRUNUID0gXCJwdC1zZWxlY3RcIjtcblxuZXhwb3J0IGNvbnN0IFNMSURFUiA9IFwicHQtc2xpZGVyXCI7XG5leHBvcnQgY29uc3QgU0xJREVSX0hBTkRMRSA9IGAke1NMSURFUn0taGFuZGxlYDtcbmV4cG9ydCBjb25zdCBTTElERVJfTEFCRUwgPSBgJHtTTElERVJ9LWxhYmVsYDtcbmV4cG9ydCBjb25zdCBSQU5HRV9TTElERVIgPSBcInB0LXJhbmdlLXNsaWRlclwiO1xuXG5leHBvcnQgY29uc3QgU1BJTk5FUiA9IFwicHQtc3Bpbm5lclwiO1xuZXhwb3J0IGNvbnN0IFNWR19TUElOTkVSID0gXCJwdC1zdmctc3Bpbm5lclwiO1xuXG5leHBvcnQgY29uc3QgVEFCID0gXCJwdC10YWJcIjtcbmV4cG9ydCBjb25zdCBUQUJfTElTVCA9IFwicHQtdGFiLWxpc3RcIjtcbmV4cG9ydCBjb25zdCBUQUJfUEFORUwgPSBcInB0LXRhYi1wYW5lbFwiO1xuZXhwb3J0IGNvbnN0IFRBQlMgPSBcInB0LXRhYnNcIjtcblxuZXhwb3J0IGNvbnN0IFRBRyA9IFwicHQtdGFnXCI7XG5leHBvcnQgY29uc3QgVEFHX1JFTU9WQUJMRSA9IFwicHQtdGFnLXJlbW92YWJsZVwiO1xuZXhwb3J0IGNvbnN0IFRBR19SRU1PVkUgPSBcInB0LXRhZy1yZW1vdmVcIjtcblxuZXhwb3J0IGNvbnN0IFRPQVNUID0gXCJwdC10b2FzdFwiO1xuZXhwb3J0IGNvbnN0IFRPQVNUX0NPTlRBSU5FUiA9IFwicHQtdG9hc3QtY29udGFpbmVyXCI7XG5leHBvcnQgY29uc3QgVE9BU1RfTUVTU0FHRSA9IFwicHQtdG9hc3QtbWVzc2FnZVwiO1xuXG5leHBvcnQgY29uc3QgVE9PTFRJUCA9IFwicHQtdG9vbHRpcFwiO1xuXG5leHBvcnQgY29uc3QgVFJFRSA9IFwicHQtdHJlZVwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERSA9IFwicHQtdHJlZS1ub2RlXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUID0gXCJwdC10cmVlLW5vZGUtY2FyZXRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfQ0FSRVRfQ0xPU0VEID0gXCJwdC10cmVlLW5vZGUtY2FyZXQtY2xvc2VkXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX05PTkUgPSBcInB0LXRyZWUtbm9kZS1jYXJldC1ub25lXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NBUkVUX09QRU4gPSBcInB0LXRyZWUtbm9kZS1jYXJldC1vcGVuXCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0NPTlRFTlQgPSBcInB0LXRyZWUtbm9kZS1jb250ZW50XCI7XG5leHBvcnQgY29uc3QgVFJFRV9OT0RFX0VYUEFOREVEID0gXCJwdC10cmVlLW5vZGUtZXhwYW5kZWRcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfSUNPTiA9IFwicHQtdHJlZS1ub2RlLWljb25cIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1sYWJlbFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9MSVNUID0gXCJwdC10cmVlLW5vZGUtbGlzdFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfTk9ERV9TRUNPTkRBUllfTEFCRUwgPSBcInB0LXRyZWUtbm9kZS1zZWNvbmRhcnktbGFiZWxcIjtcbmV4cG9ydCBjb25zdCBUUkVFX05PREVfU0VMRUNURUQgPSBcInB0LXRyZWUtbm9kZS1zZWxlY3RlZFwiO1xuZXhwb3J0IGNvbnN0IFRSRUVfUk9PVCA9IFwicHQtdHJlZS1yb290XCI7XG5cbmV4cG9ydCBjb25zdCBJQ09OX1NUQU5EQVJEID0gXCJwdC1pY29uLXN0YW5kYXJkXCI7XG5leHBvcnQgY29uc3QgSUNPTl9MQVJHRSA9IFwicHQtaWNvbi1sYXJnZVwiO1xuXG4vKiogUmV0dXJuIENTUyBjbGFzcyBmb3IgaWNvbiwgd2hldGhlciBvciBub3QgJ3B0LWljb24tJyBwcmVmaXggaXMgaW5jbHVkZWQgKi9cbmV4cG9ydCBmdW5jdGlvbiBpY29uQ2xhc3MoaWNvbk5hbWU6IHN0cmluZykge1xuICAgIGlmIChpY29uTmFtZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIHJldHVybiBpY29uTmFtZS5pbmRleE9mKFwicHQtaWNvbi1cIikgPT09IDAgPyBpY29uTmFtZSA6IGBwdC1pY29uLSR7aWNvbk5hbWV9YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGludGVudENsYXNzKGludGVudCA9IEludGVudC5OT05FKSB7XG4gICAgaWYgKGludGVudCA9PT0gSW50ZW50Lk5PTkUgfHwgSW50ZW50W2ludGVudF0gPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICByZXR1cm4gYHB0LWludGVudC0ke0ludGVudFtpbnRlbnRdLnRvTG93ZXJDYXNlKCl9YDtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== - - -/***/ }, -/* 64 */ -/***/ function(module, exports) { - - /* - * Copyright 2015 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - exports.ARROW_DOWN = 40; - exports.ARROW_LEFT = 37; - exports.ARROW_RIGHT = 39; - exports.ARROW_UP = 38; - exports.ENTER = 13; - exports.ESCAPE = 27; - exports.SPACE = 32; - - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21tb24va2V5cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7O0FBRVUsa0JBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIsa0JBQVUsR0FBRyxFQUFFLENBQUM7QUFDaEIsbUJBQVcsR0FBRyxFQUFFLENBQUM7QUFDakIsZ0JBQVEsR0FBRyxFQUFFLENBQUM7QUFDZCxhQUFLLEdBQUcsRUFBRSxDQUFDO0FBQ1gsY0FBTSxHQUFHLEVBQUUsQ0FBQztBQUNaLGFBQUssR0FBRyxFQUFFLENBQUMiLCJmaWxlIjoiY29tbW9uL2tleXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wIC0gaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKi9cblxuZXhwb3J0IGNvbnN0IEFSUk9XX0RPV04gPSA0MDtcbmV4cG9ydCBjb25zdCBBUlJPV19MRUZUID0gMzc7XG5leHBvcnQgY29uc3QgQVJST1dfUklHSFQgPSAzOTtcbmV4cG9ydCBjb25zdCBBUlJPV19VUCA9IDM4O1xuZXhwb3J0IGNvbnN0IEVOVEVSID0gMTM7XG5leHBvcnQgY29uc3QgRVNDQVBFID0gMjc7XG5leHBvcnQgY29uc3QgU1BBQ0UgPSAzMjtcbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== - - -/***/ }, -/* 65 */ -/***/ function(module, exports, __webpack_require__) { - - /* - * Copyright 2016 Palantir Technologies, Inc. All rights reserved. - * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS - */ - "use strict"; - function __export(m) { - for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]; - } - __webpack_require__(66); - var contextMenu = __webpack_require__(67); - exports.ContextMenu = contextMenu; - __export(__webpack_require__(214)); - __export(__webpack_require__(217)); - __export(__webpack_require__(215)); - __export(__webpack_require__(218)); - __export(__webpack_require__(219)); - __export(__webpack_require__(222)); - __export(__webpack_require__(216)); - __export(__webpack_require__(223)); - __export(__webpack_require__(224)); - __export(__webpack_require__(225)); - __export(__webpack_require__(226)); - __export(__webpack_require__(227)); - __export(__webpack_require__(220)); - __export(__webpack_require__(233)); - __export(__webpack_require__(221)); - __export(__webpack_require__(234)); - __export(__webpack_require__(203)); - __export(__webpack_require__(198)); - __export(__webpack_require__(235)); - __export(__webpack_require__(211)); - __export(__webpack_require__(236)); - __export(__webpack_require__(237)); - __export(__webpack_require__(238)); - __export(__webpack_require__(241)); - __export(__webpack_require__(242)); - __export(__webpack_require__(243)); - __export(__webpack_require__(244)); - __export(__webpack_require__(245)); - __export(__webpack_require__(246)); - __export(__webpack_require__(247)); - __export(__webpack_require__(248)); - __export(__webpack_require__(249)); - __export(__webpack_require__(250)); - __export(__webpack_require__(212)); - __export(__webpack_require__(251)); - __export(__webpack_require__(252)); - - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRzs7Ozs7QUFFSCxRQUFPLE1BQU0sQ0FBQyxDQUFBO0FBRWQsSUFBWSxXQUFXLFdBQU0sNEJBQTRCLENBQUMsQ0FBQTtBQUM3QyxtQkFBVyxHQUFHLFdBQVcsQ0FBQztBQUV2QyxpQkFBYyxlQUFlLENBQUMsRUFBQTtBQUM5QixpQkFBYywwQkFBMEIsQ0FBQyxFQUFBO0FBQ3pDLGlCQUFjLGtCQUFrQixDQUFDLEVBQUE7QUFDakMsaUJBQWMscUJBQXFCLENBQUMsRUFBQTtBQUNwQyxpQkFBYyxvQ0FBb0MsQ0FBQyxFQUFBO0FBQ25ELGlCQUFjLGtDQUFrQyxDQUFDLEVBQUE7QUFDakQsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyw4QkFBOEIsQ0FBQyxFQUFBO0FBQzdDLGlCQUFjLGtCQUFrQixDQUFDLEVBQUE7QUFDakMsaUJBQWMsb0JBQW9CLENBQUMsRUFBQTtBQUNuQyxpQkFBYyxvQkFBb0IsQ0FBQyxFQUFBO0FBQ25DLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsYUFBYSxDQUFDLEVBQUE7QUFDNUIsaUJBQWMsb0JBQW9CLENBQUMsRUFBQTtBQUNuQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLGlDQUFpQyxDQUFDLEVBQUE7QUFDaEQsaUJBQWMsbUJBQW1CLENBQUMsRUFBQTtBQUNsQyxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLHNCQUFzQixDQUFDLEVBQUE7QUFDckMsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyx3QkFBd0IsQ0FBQyxFQUFBO0FBQ3ZDLGlCQUFjLHNCQUFzQixDQUFDLEVBQUE7QUFDckMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxpQkFBaUIsQ0FBQyxFQUFBO0FBQ2hDLGlCQUFjLG1CQUFtQixDQUFDLEVBQUE7QUFDbEMsaUJBQWMsc0JBQXNCLENBQUMsRUFBQTtBQUNyQyxpQkFBYyxZQUFZLENBQUMsRUFBQTtBQUMzQixpQkFBYyxhQUFhLENBQUMsRUFBQTtBQUM1QixpQkFBYyxnQkFBZ0IsQ0FBQyxFQUFBO0FBQy9CLGlCQUFjLGlCQUFpQixDQUFDLEVBQUE7QUFDaEMsaUJBQWMsV0FBVyxDQUFDLEVBQUE7QUFDMUIsaUJBQWMsZUFBZSxDQUFDLEVBQUE7QUFDOUIsaUJBQWMsaUJBQWlCLENBQUMsRUFBQTtBQUNoQyxpQkFBYyxtQkFBbUIsQ0FBQyxFQUFBO0FBQ2xDLGlCQUFjLGFBQWEsQ0FBQyxFQUFBO0FBQzVCLGlCQUFjLGlCQUFpQixDQUFDLEVBQUEiLCJmaWxlIjoiY29tcG9uZW50cy9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNiBQYWxhbnRpciBUZWNobm9sb2dpZXMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgLSBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqL1xuXG5pbXBvcnQgXCJkb200XCI7XG5cbmltcG9ydCAqIGFzIGNvbnRleHRNZW51IGZyb20gXCIuL2NvbnRleHQtbWVudS9jb250ZXh0TWVudVwiO1xuZXhwb3J0IGNvbnN0IENvbnRleHRNZW51ID0gY29udGV4dE1lbnU7XG5cbmV4cG9ydCAqIGZyb20gXCIuL2FsZXJ0L2FsZXJ0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9icmVhZGNydW1icy9icmVhZGNydW1iXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9idXR0b24vYnV0dG9uc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vY29sbGFwc2UvY29sbGFwc2VcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2NvbGxhcHNpYmxlLWxpc3QvY29sbGFwc2libGVMaXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jb250ZXh0LW1lbnUvY29udGV4dE1lbnVUYXJnZXRcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2RpYWxvZy9kaWFsb2dcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2VkaXRhYmxlLXRleHQvZWRpdGFibGVUZXh0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi9mb3Jtcy9jb250cm9sc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvaW5wdXRHcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vZm9ybXMvcmFkaW9Hcm91cFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vaG90a2V5cy9ob3RrZXlzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9tZW51L21lbnVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudURpdmlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL21lbnUvbWVudUl0ZW1cIjtcbmV4cG9ydCAqIGZyb20gXCIuL25vbi1pZGVhbC1zdGF0ZS9ub25JZGVhbFN0YXRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9vdmVybGF5L292ZXJsYXlcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3BvcG92ZXIvcG9wb3ZlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vcG9wb3Zlci9zdmdQb3BvdmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wb3J0YWwvcG9ydGFsXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9wcm9ncmVzcy9wcm9ncmVzc0JhclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdG9vbHRpcC9zdmdUb29sdGlwXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9zbGlkZXIvcmFuZ2VTbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NsaWRlci9zbGlkZXJcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3NwaW5uZXIvc3Bpbm5lclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vc3Bpbm5lci9zdmdTcGlubmVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYlwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdGFicy90YWJzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90YWJzL3RhYkxpc3RcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhYnMvdGFiUGFuZWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RhZy90YWdcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RvYXN0L3RvYXN0XCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b2FzdC90b2FzdGVyXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90b29sdGlwL3Rvb2x0aXBcIjtcbmV4cG9ydCAqIGZyb20gXCIuL3RyZWUvdHJlZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHJlZS90cmVlTm9kZVwiO1xuIl0sInNvdXJjZVJvb3QiOiIvc291cmNlLyJ9 - - -/***/ }, -/* 66 */ -/***/ function(module, exports) { - - /*! - Copyright (C) 2013-2015 by Andrea Giammarchi - @WebReflection - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. - - */ - (function(window){'use strict'; - /* jshint loopfunc: true, noempty: false*/ - // http://www.w3.org/TR/dom/#element - - function createDocumentFragment() { - return document.createDocumentFragment(); - } - - function createElement(nodeName) { - return document.createElement(nodeName); - } - - function enoughArguments(length, name) { - if (!length) throw new Error( - 'Failed to construct ' + - name + - ': 1 argument required, but only 0 present.' - ); - } + function enoughArguments(length, name) { + if (!length) throw new Error( + 'Failed to construct ' + + name + + ': 1 argument required, but only 0 present.' + ); + } function mutationMacro(nodes) { if (nodes.length === 1) { @@ -6069,14 +5863,14 @@ }(self)); /***/ }, -/* 67 */ +/* 61 */ /***/ function(module, exports, __webpack_require__) { /* * Copyright 2016 Palantir Technologies, Inc. All rights reserved. * Licensed under the BSD-3 License as modified (the “License”); you may obtain a copy - * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE - * and https://github.com/palantir/blueprint/blob/master/PATENTS + * of the license at https://github.com/palantir/blueprint/blob/master/LICENSE + * and https://github.com/palantir/blueprint/blob/master/PATENTS */ "use strict"; var __extends = (this && this.__extends) || function (d, b) { @@ -6085,11 +5879,11 @@ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; var React = __webpack_require__(20); - var ReactDOM = __webpack_require__(68); - var Classes = __webpack_require__(63); - var position_1 = __webpack_require__(59); - var utils_1 = __webpack_require__(61); - var popover_1 = __webpack_require__(198); + var ReactDOM = __webpack_require__(62); + var Classes = __webpack_require__(57); + var position_1 = __webpack_require__(53); + var utils_1 = __webpack_require__(55); + var popover_1 = __webpack_require__(208); var CONSTRAINTS = [{ attachment: "together", pin: true, to: "window" }]; var TRANSITION_DURATION = 100; var ContextMenu = (function (_super) { @@ -6167,20 +5961,20 @@ } exports.isOpen = isOpen; - //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0TWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHOzs7Ozs7O0FBRUgsSUFBWSxLQUFLLFdBQU0sT0FBTyxDQUFDLENBQUE7QUFDL0IsSUFBWSxRQUFRLFdBQU0sV0FBVyxDQUFDLENBQUE7QUFFdEMsSUFBWSxPQUFPLFdBQU0sc0JBQXNCLENBQUMsQ0FBQTtBQUNoRCx5QkFBeUIsdUJBQXVCLENBQUMsQ0FBQTtBQUNqRCxzQkFBMkIsb0JBQW9CLENBQUMsQ0FBQTtBQUNoRCx3QkFBd0Isb0JBQW9CLENBQUMsQ0FBQTtBQWM3QyxJQUFNLFdBQVcsR0FBRyxDQUFFLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBRSxDQUFDO0FBQzVFLElBQU0sbUJBQW1CLEdBQUcsR0FBRyxDQUFDO0FBRWhDO0lBQTBCLCtCQUFzQztJQUFoRTtRQUFBLGlCQTJEQztRQTNEeUIsOEJBQXNDO1FBQ3JELFVBQUssR0FBc0I7WUFDOUIsTUFBTSxFQUFFLEtBQUs7U0FDaEIsQ0FBQztRQWtDTSxzQkFBaUIsR0FBRyxVQUFDLENBQXVDLElBQUssT0FBQSxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQWxCLENBQWtCLENBQUM7UUFFcEYsOEJBQXlCLEdBQUcsVUFBQyxDQUFtQztZQUNwRSxnR0FBZ0c7WUFDL0YsQ0FBUyxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3JCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNuQix5RkFBeUY7WUFDekYsc0ZBQXNGO1lBQ3RGLFVBQVUsQ0FBQztnQkFDUCxvRUFBb0U7Z0JBQ3BFLGlFQUFpRTtnQkFDakUsK0RBQStEO2dCQUMvRCxJQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xFLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxVQUFVLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUQsQ0FBQyxFQUFFLG1CQUFtQixDQUFDLENBQUM7UUFDNUIsQ0FBQyxDQUFBO1FBRU8sNkJBQXdCLEdBQUcsVUFBQyxhQUFzQjtZQUN0RCxFQUFFLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUM7Z0JBQ2pCLEtBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixDQUFDO1FBQ0wsQ0FBQyxDQUFBO0lBQ0wsQ0FBQztJQXREVSw0QkFBTSxHQUFiO1FBQ0ksMkNBQTJDO1FBQzNDLElBQU0sT0FBTyxHQUFHLHFCQUFDLEdBQUcsSUFBQyxhQUFhLEVBQUUsSUFBSSxDQUFDLGlCQUFrQixHQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSyxDQUFNLENBQUM7UUFDcEYsTUFBTSxDQUFDLENBQ0gsb0JBQUMsaUJBQU8sR0FDSixhQUFhLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLHlCQUF5QixFQUFHLEVBQ2pFLFdBQVcsRUFBRSxXQUFZLEVBQ3pCLE9BQU8sRUFBRSxPQUFRLEVBQ2pCLFlBQVksRUFBRSxLQUFNLEVBQ3BCLE9BQU8sRUFBRSxJQUFLLEVBQ2QsTUFBTSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTyxFQUMxQixhQUFhLEVBQUUsSUFBSSxDQUFDLHdCQUF5QixFQUM3QyxRQUFRLEVBQUUsbUJBQVEsQ0FBQyxTQUFVLEVBQzdCLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxPQUFRLEVBQ2xDLHdCQUF3QixFQUFFLEtBQU0sRUFDaEMsa0JBQWtCLEVBQUUsbUJBQW9CO1lBRXhDLHFCQUFDLEdBQUcsSUFBQyxTQUFTLEVBQUUsT0FBTyxDQUFDLDJCQUE0QixFQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU8sRUFBRztTQUMzRSxDQUNiLENBQUM7SUFDTixDQUFDO0lBRU0sMEJBQUksR0FBWCxVQUFZLElBQWlCLEVBQUUsTUFBZSxFQUFFLE9BQW9CO1FBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLFVBQUksRUFBRSxjQUFNLEVBQUUsZ0JBQU8sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVNLDBCQUFJLEdBQVg7UUFDWSxnQ0FBTyxDQUFnQjtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUNoRCxrQkFBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUF3Qkwsa0JBQUM7QUFBRCxDQTNEQSxBQTJEQyxDQTNEeUIsS0FBSyxDQUFDLFNBQVMsR0EyRHhDO0FBRUQsSUFBSSxXQUF3QixDQUFDO0FBRTdCOzs7O0dBSUc7QUFDSCxjQUFxQixJQUFpQixFQUFFLE1BQWUsRUFBRSxPQUFvQjtJQUN6RSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QixJQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekQsa0JBQWtCLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdkQsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM5QyxXQUFXLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxvQkFBQyxXQUFXLE9BQUcsRUFBRSxrQkFBa0IsQ0FBZ0IsQ0FBQztJQUN0RixDQUFDO0lBRUQsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0FBQzVDLENBQUM7QUFUZSxZQUFJLE9BU25CLENBQUE7QUFFRCxrQ0FBa0M7QUFDbEM7SUFDSSxFQUFFLENBQUMsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QixXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdkIsQ0FBQztBQUNMLENBQUM7QUFKZSxZQUFJLE9BSW5CLENBQUE7QUFFRCx1REFBdUQ7QUFDdkQ7SUFDSSxNQUFNLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxXQUFXLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztBQUMzRCxDQUFDO0FBRmUsY0FBTSxTQUVyQixDQUFBIiwiZmlsZSI6ImNvbXBvbmVudHMvY29udGV4dC1tZW51L2NvbnRleHRNZW51LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE2IFBhbGFudGlyIFRlY2hub2xvZ2llcywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAtIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuXG5pbXBvcnQgKiBhcyBDbGFzc2VzIGZyb20gXCIuLi8uLi9jb21tb24vY2xhc3Nlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vY29tbW9uL3Bvc2l0aW9uXCI7XG5pbXBvcnQgeyBzYWZlSW52b2tlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJT2Zmc2V0IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBJQ29udGV4dE1lbnVTdGF0ZSB7XG4gICAgaXNPcGVuPzogYm9vbGVhbjtcbiAgICBtZW51PzogSlNYLkVsZW1lbnQ7XG4gICAgb2Zmc2V0PzogSU9mZnNldDtcbiAgICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgQ09OU1RSQUlOVFMgPSBbIHsgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLCBwaW46IHRydWUsIHRvOiBcIndpbmRvd1wiIH0gXTtcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAxMDA7XG5cbmNsYXNzIENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJQ29udGV4dE1lbnVTdGF0ZT4ge1xuICAgIHB1YmxpYyBzdGF0ZTogSUNvbnRleHRNZW51U3RhdGUgPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgICAgIC8vIHByZXZlbnQgcmlnaHQtY2xpY2tpbmcgaW4gYSBjb250ZXh0IG1lbnVcbiAgICAgICAgY29uc3QgY29udGVudCA9IDxkaXYgb25Db250ZXh0TWVudT17dGhpcy5jYW5jZWxDb250ZXh0TWVudX0+e3RoaXMuc3RhdGUubWVudX08L2Rpdj47XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wUHJvcHM9e3sgb25Db250ZXh0TWVudTogdGhpcy5oYW5kbGVCYWNrZHJvcENvbnRleHRNZW51IH19XG4gICAgICAgICAgICAgICAgY29uc3RyYWludHM9e0NPTlNUUkFJTlRTfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgZW5mb3JjZUZvY3VzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBpc01vZGFsPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW59XG4gICAgICAgICAgICAgICAgb25JbnRlcmFjdGlvbj17dGhpcy5oYW5kbGVQb3BvdmVySW50ZXJhY3Rpb259XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e1Bvc2l0aW9uLlJJR0hUX1RPUH1cbiAgICAgICAgICAgICAgICBwb3BvdmVyQ2xhc3NOYW1lPXtDbGFzc2VzLk1JTklNQUx9XG4gICAgICAgICAgICAgICAgdXNlU21hcnRBcnJvd1Bvc2l0aW9uaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e1RSQU5TSVRJT05fRFVSQVRJT059XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e0NsYXNzZXMuQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUfSBzdHlsZT17dGhpcy5zdGF0ZS5vZmZzZXR9IC8+XG4gICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogdHJ1ZSwgbWVudSwgb2Zmc2V0LCBvbkNsb3NlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCkge1xuICAgICAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBvbkNsb3NlOiBudWxsIH0pO1xuICAgICAgICBzYWZlSW52b2tlKG9uQ2xvc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuY2VsQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhY2tkcm9wQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgLy8gSEFDS0hBQ0s6IFJlYWN0IGZ1bmN0aW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBldmVudCBwb29sIChub3Qgc3VyZSB3aHkgaXQncyBub3QgaW4gdHlwaW5ncyAjNjYpXG4gICAgICAgIChlIGFzIGFueSkucGVyc2lzdCgpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIHdhaXQgZm9yIGJhY2tkcm9wIHRvIGRpc2FwcGVhciBzbyB3ZSBjYW4gZmluZCB0aGUgXCJyZWFsXCIgZWxlbWVudCBhdCBldmVudCBjb29yZGluYXRlcy5cbiAgICAgICAgLy8gdGltZW91dCBkdXJhdGlvbiBpcyBlcXVpdmFsZW50IHRvIHRyYW5zaXRpb24gZHVyYXRpb24gc28gd2Uga25vdyBpdCdzIGFuaW1hdGVkIG91dC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyByZXRyaWdnZXIgY29udGV4dCBtZW51IGV2ZW50IGF0IHRoZSBlbGVtZW50IGJlbmVhdGggdGhlIGJhY2tkcm9wLlxuICAgICAgICAgICAgLy8gaWYgaXQgaGFzIGEgYGNvbnRleHRtZW51YCBldmVudCBoYW5kbGVyIHRoZW4gaXQnbGwgYmUgaW52b2tlZC5cbiAgICAgICAgICAgIC8vIGlmIGl0IGRvZXNuJ3QsIG5vIG5hdGl2ZSBtZW51IHdpbGwgc2hvdyAoYXQgbGVhc3Qgb24gT1NYKSA6KFxuICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChlLmNsaWVudFgsIGUuY2xpZW50WSk7XG4gICAgICAgICAgICBuZXdUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudChcImNvbnRleHRtZW51XCIsIGUpKTtcbiAgICAgICAgfSwgVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVQb3BvdmVySW50ZXJhY3Rpb24gPSAobmV4dE9wZW5TdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW5leHRPcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgY29udGV4dE1lbnU6IENvbnRleHRNZW51O1xuXG4vKipcbiAqIFNob3cgdGhlIGdpdmVuIG1lbnUgZWxlbWVudCBhdCB0aGUgZ2l2ZW4gb2Zmc2V0IGZyb20gdGhlIHRvcC1sZWZ0IGNvcm5lciBvZiB0aGUgdmlld3BvcnQuXG4gKiBUaGUgbWVudSB3aWxsIGFwcGVhciBiZWxvdy1yaWdodCBvZiB0aGlzIHBvaW50IGFuZCB3aWxsIGZsaXAgdG8gYmVsb3ctbGVmdCBpZiB0aGVyZSBpcyBub3QgZW5vdWdoXG4gKiByb29tIG9uc2NyZWVuLiBUaGUgb3B0aW9uYWwgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkIHdoZW4gdGhpcyBtZW51IGNsb3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoY29udGV4dE1lbnUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0TWVudUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb250ZXh0TWVudUVsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc2VzLkNPTlRFWFRfTUVOVSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGV4dE1lbnVFbGVtZW50KTtcbiAgICAgICAgY29udGV4dE1lbnUgPSBSZWFjdERPTS5yZW5kZXIoPENvbnRleHRNZW51IC8+LCBjb250ZXh0TWVudUVsZW1lbnQpIGFzIENvbnRleHRNZW51O1xuICAgIH1cblxuICAgIGNvbnRleHRNZW51LnNob3cobWVudSwgb2Zmc2V0LCBvbkNsb3NlKTtcbn1cblxuLyoqIEhpZGUgdGhlIG9wZW4gY29udGV4dCBtZW51LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgaWYgKGNvbnRleHRNZW51ICE9IG51bGwpIHtcbiAgICAgICAgY29udGV4dE1lbnUuaGlkZSgpO1xuICAgIH1cbn1cblxuLyoqIFJldHVybiB3aGV0aGVyIGEgY29udGV4dCBtZW51IGlzIGN1cnJlbnRseSBvcGVuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3BlbigpIHtcbiAgICByZXR1cm4gY29udGV4dE1lbnUgIT0gbnVsbCAmJiBjb250ZXh0TWVudS5zdGF0ZS5pc09wZW47XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= + //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb21wb25lbnRzL2NvbnRleHQtbWVudS9jb250ZXh0TWVudS50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0dBS0c7Ozs7Ozs7QUFFSCxJQUFZLEtBQUssV0FBTSxPQUFPLENBQUMsQ0FBQTtBQUMvQixJQUFZLFFBQVEsV0FBTSxXQUFXLENBQUMsQ0FBQTtBQUV0QyxJQUFZLE9BQU8sV0FBTSxzQkFBc0IsQ0FBQyxDQUFBO0FBQ2hELHlCQUF5Qix1QkFBdUIsQ0FBQyxDQUFBO0FBQ2pELHNCQUEyQixvQkFBb0IsQ0FBQyxDQUFBO0FBQ2hELHdCQUF3QixvQkFBb0IsQ0FBQyxDQUFBO0FBYzdDLElBQU0sV0FBVyxHQUFHLENBQUUsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFFLENBQUM7QUFDNUUsSUFBTSxtQkFBbUIsR0FBRyxHQUFHLENBQUM7QUFFaEM7SUFBMEIsK0JBQXNDO0lBQWhFO1FBQUEsaUJBMkRDO1FBM0R5Qiw4QkFBc0M7UUFDckQsVUFBSyxHQUFzQjtZQUM5QixNQUFNLEVBQUUsS0FBSztTQUNoQixDQUFDO1FBa0NNLHNCQUFpQixHQUFHLFVBQUMsQ0FBdUMsSUFBSyxPQUFBLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBbEIsQ0FBa0IsQ0FBQztRQUVwRiw4QkFBeUIsR0FBRyxVQUFDLENBQW1DO1lBQ3BFLGdHQUFnRztZQUMvRixDQUFTLENBQUMsT0FBTyxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ25CLHlGQUF5RjtZQUN6RixzRkFBc0Y7WUFDdEYsVUFBVSxDQUFDO2dCQUNQLG9FQUFvRTtnQkFDcEUsaUVBQWlFO2dCQUNqRSwrREFBK0Q7Z0JBQy9ELElBQU0sU0FBUyxHQUFHLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDbEUsU0FBUyxDQUFDLGFBQWEsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5RCxDQUFDLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUE7UUFFTyw2QkFBd0IsR0FBRyxVQUFDLGFBQXNCO1lBQ3RELEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQztnQkFDakIsS0FBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2hCLENBQUM7UUFDTCxDQUFDLENBQUE7SUFDTCxDQUFDO0lBdERVLDRCQUFNLEdBQWI7UUFDSSwyQ0FBMkM7UUFDM0MsSUFBTSxPQUFPLEdBQUcscUJBQUMsR0FBRyxJQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsaUJBQWtCLEdBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFLLENBQU0sQ0FBQztRQUNwRixNQUFNLENBQUMsQ0FDSCxvQkFBQyxpQkFBTyxHQUNKLGFBQWEsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLENBQUMseUJBQXlCLEVBQUcsRUFDakUsV0FBVyxFQUFFLFdBQVksRUFDekIsT0FBTyxFQUFFLE9BQVEsRUFDakIsWUFBWSxFQUFFLEtBQU0sRUFDcEIsT0FBTyxFQUFFLElBQUssRUFDZCxNQUFNLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFPLEVBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsd0JBQXlCLEVBQzdDLFFBQVEsRUFBRSxtQkFBUSxDQUFDLFNBQVUsRUFDN0IsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLE9BQVEsRUFDbEMsd0JBQXdCLEVBQUUsS0FBTSxFQUNoQyxrQkFBa0IsRUFBRSxtQkFBb0I7WUFFeEMscUJBQUMsR0FBRyxJQUFDLFNBQVMsRUFBRSxPQUFPLENBQUMsMkJBQTRCLEVBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTyxFQUFHO1NBQzNFLENBQ2IsQ0FBQztJQUNOLENBQUM7SUFFTSwwQkFBSSxHQUFYLFVBQVksSUFBaUIsRUFBRSxNQUFlLEVBQUUsT0FBb0I7UUFDaEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBSSxFQUFFLGNBQU0sRUFBRSxnQkFBTyxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRU0sMEJBQUksR0FBWDtRQUNZLGdDQUFPLENBQWdCO1FBQy9CLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELGtCQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQXdCTCxrQkFBQztBQUFELENBM0RBLEFBMkRDLENBM0R5QixLQUFLLENBQUMsU0FBUyxHQTJEeEM7QUFFRCxJQUFJLFdBQXdCLENBQUM7QUFFN0I7Ozs7R0FJRztBQUNILGNBQXFCLElBQWlCLEVBQUUsTUFBZSxFQUFFLE9BQW9CO0lBQ3pFLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLElBQU0sa0JBQWtCLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN2RCxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzlDLFdBQVcsR0FBRyxRQUFRLENBQUMsTUFBTSxDQUFDLG9CQUFDLFdBQVcsT0FBRyxFQUFFLGtCQUFrQixDQUFnQixDQUFDO0lBQ3RGLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDNUMsQ0FBQztBQVRlLFlBQUksT0FTbkIsQ0FBQTtBQUVELGtDQUFrQztBQUNsQztJQUNJLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQ3RCLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN2QixDQUFDO0FBQ0wsQ0FBQztBQUplLFlBQUksT0FJbkIsQ0FBQTtBQUVELHVEQUF1RDtBQUN2RDtJQUNJLE1BQU0sQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLFdBQVcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDO0FBQzNELENBQUM7QUFGZSxjQUFNLFNBRXJCLENBQUEiLCJmaWxlIjoiY29tcG9uZW50cy9jb250ZXh0LW1lbnUvY29udGV4dE1lbnUuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTYgUGFsYW50aXIgVGVjaG5vbG9naWVzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQlNELTMgTGljZW5zZSBhcyBtb2RpZmllZCAodGhlIOKAnExpY2Vuc2XigJ0pOyB5b3UgbWF5IG9idGFpbiBhIGNvcHlcbiAqIG9mIHRoZSBsaWNlbnNlIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvTElDRU5TRVxuICogYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS9wYWxhbnRpci9ibHVlcHJpbnQvYmxvYi9tYXN0ZXIvUEFURU5UU1xuICovXG5cbmltcG9ydCAqIGFzIFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0ICogYXMgUmVhY3RET00gZnJvbSBcInJlYWN0LWRvbVwiO1xuXG5pbXBvcnQgKiBhcyBDbGFzc2VzIGZyb20gXCIuLi8uLi9jb21tb24vY2xhc3Nlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vY29tbW9uL3Bvc2l0aW9uXCI7XG5pbXBvcnQgeyBzYWZlSW52b2tlIH0gZnJvbSBcIi4uLy4uL2NvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgUG9wb3ZlciB9IGZyb20gXCIuLi9wb3BvdmVyL3BvcG92ZXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBJT2Zmc2V0IHtcbiAgICBsZWZ0OiBudW1iZXI7XG4gICAgdG9wOiBudW1iZXI7XG59XG5cbmludGVyZmFjZSBJQ29udGV4dE1lbnVTdGF0ZSB7XG4gICAgaXNPcGVuPzogYm9vbGVhbjtcbiAgICBtZW51PzogSlNYLkVsZW1lbnQ7XG4gICAgb2Zmc2V0PzogSU9mZnNldDtcbiAgICBvbkNsb3NlPzogKCkgPT4gdm9pZDtcbn1cblxuY29uc3QgQ09OU1RSQUlOVFMgPSBbIHsgYXR0YWNobWVudDogXCJ0b2dldGhlclwiLCBwaW46IHRydWUsIHRvOiBcIndpbmRvd1wiIH0gXTtcbmNvbnN0IFRSQU5TSVRJT05fRFVSQVRJT04gPSAxMDA7XG5cbmNsYXNzIENvbnRleHRNZW51IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PHt9LCBJQ29udGV4dE1lbnVTdGF0ZT4ge1xuICAgIHB1YmxpYyBzdGF0ZTogSUNvbnRleHRNZW51U3RhdGUgPSB7XG4gICAgICAgIGlzT3BlbjogZmFsc2UsXG4gICAgfTtcblxuICAgIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgICAgIC8vIHByZXZlbnQgcmlnaHQtY2xpY2tpbmcgaW4gYSBjb250ZXh0IG1lbnVcbiAgICAgICAgY29uc3QgY29udGVudCA9IDxkaXYgb25Db250ZXh0TWVudT17dGhpcy5jYW5jZWxDb250ZXh0TWVudX0+e3RoaXMuc3RhdGUubWVudX08L2Rpdj47XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8UG9wb3ZlclxuICAgICAgICAgICAgICAgIGJhY2tkcm9wUHJvcHM9e3sgb25Db250ZXh0TWVudTogdGhpcy5oYW5kbGVCYWNrZHJvcENvbnRleHRNZW51IH19XG4gICAgICAgICAgICAgICAgY29uc3RyYWludHM9e0NPTlNUUkFJTlRTfVxuICAgICAgICAgICAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICAgICAgICAgICAgZW5mb3JjZUZvY3VzPXtmYWxzZX1cbiAgICAgICAgICAgICAgICBpc01vZGFsPXt0cnVlfVxuICAgICAgICAgICAgICAgIGlzT3Blbj17dGhpcy5zdGF0ZS5pc09wZW59XG4gICAgICAgICAgICAgICAgb25JbnRlcmFjdGlvbj17dGhpcy5oYW5kbGVQb3BvdmVySW50ZXJhY3Rpb259XG4gICAgICAgICAgICAgICAgcG9zaXRpb249e1Bvc2l0aW9uLlJJR0hUX1RPUH1cbiAgICAgICAgICAgICAgICBwb3BvdmVyQ2xhc3NOYW1lPXtDbGFzc2VzLk1JTklNQUx9XG4gICAgICAgICAgICAgICAgdXNlU21hcnRBcnJvd1Bvc2l0aW9uaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uRHVyYXRpb249e1RSQU5TSVRJT05fRFVSQVRJT059XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e0NsYXNzZXMuQ09OVEVYVF9NRU5VX1BPUE9WRVJfVEFSR0VUfSBzdHlsZT17dGhpcy5zdGF0ZS5vZmZzZXR9IC8+XG4gICAgICAgICAgICA8L1BvcG92ZXI+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICAgICAgdGhpcy5zZXRTdGF0ZSh7IGlzT3BlbjogdHJ1ZSwgbWVudSwgb2Zmc2V0LCBvbkNsb3NlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBoaWRlKCkge1xuICAgICAgICBjb25zdCB7IG9uQ2xvc2UgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBpc09wZW46IGZhbHNlLCBvbkNsb3NlOiBudWxsIH0pO1xuICAgICAgICBzYWZlSW52b2tlKG9uQ2xvc2UpO1xuICAgIH1cblxuICAgIHByaXZhdGUgY2FuY2VsQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuU3ludGhldGljRXZlbnQ8SFRNTERpdkVsZW1lbnQ+KSA9PiBlLnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICBwcml2YXRlIGhhbmRsZUJhY2tkcm9wQ29udGV4dE1lbnUgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHtcbiAgICAgICAgLy8gSEFDS0hBQ0s6IFJlYWN0IGZ1bmN0aW9uIHRvIHJlbW92ZSBmcm9tIHRoZSBldmVudCBwb29sIChub3Qgc3VyZSB3aHkgaXQncyBub3QgaW4gdHlwaW5ncyAjNjYpXG4gICAgICAgIChlIGFzIGFueSkucGVyc2lzdCgpO1xuICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIC8vIHdhaXQgZm9yIGJhY2tkcm9wIHRvIGRpc2FwcGVhciBzbyB3ZSBjYW4gZmluZCB0aGUgXCJyZWFsXCIgZWxlbWVudCBhdCBldmVudCBjb29yZGluYXRlcy5cbiAgICAgICAgLy8gdGltZW91dCBkdXJhdGlvbiBpcyBlcXVpdmFsZW50IHRvIHRyYW5zaXRpb24gZHVyYXRpb24gc28gd2Uga25vdyBpdCdzIGFuaW1hdGVkIG91dC5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAvLyByZXRyaWdnZXIgY29udGV4dCBtZW51IGV2ZW50IGF0IHRoZSBlbGVtZW50IGJlbmVhdGggdGhlIGJhY2tkcm9wLlxuICAgICAgICAgICAgLy8gaWYgaXQgaGFzIGEgYGNvbnRleHRtZW51YCBldmVudCBoYW5kbGVyIHRoZW4gaXQnbGwgYmUgaW52b2tlZC5cbiAgICAgICAgICAgIC8vIGlmIGl0IGRvZXNuJ3QsIG5vIG5hdGl2ZSBtZW51IHdpbGwgc2hvdyAoYXQgbGVhc3Qgb24gT1NYKSA6KFxuICAgICAgICAgICAgY29uc3QgbmV3VGFyZ2V0ID0gZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludChlLmNsaWVudFgsIGUuY2xpZW50WSk7XG4gICAgICAgICAgICBuZXdUYXJnZXQuZGlzcGF0Y2hFdmVudChuZXcgTW91c2VFdmVudChcImNvbnRleHRtZW51XCIsIGUpKTtcbiAgICAgICAgfSwgVFJBTlNJVElPTl9EVVJBVElPTik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVQb3BvdmVySW50ZXJhY3Rpb24gPSAobmV4dE9wZW5TdGF0ZTogYm9vbGVhbikgPT4ge1xuICAgICAgICBpZiAoIW5leHRPcGVuU3RhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuaGlkZSgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5sZXQgY29udGV4dE1lbnU6IENvbnRleHRNZW51O1xuXG4vKipcbiAqIFNob3cgdGhlIGdpdmVuIG1lbnUgZWxlbWVudCBhdCB0aGUgZ2l2ZW4gb2Zmc2V0IGZyb20gdGhlIHRvcC1sZWZ0IGNvcm5lciBvZiB0aGUgdmlld3BvcnQuXG4gKiBUaGUgbWVudSB3aWxsIGFwcGVhciBiZWxvdy1yaWdodCBvZiB0aGlzIHBvaW50IGFuZCB3aWxsIGZsaXAgdG8gYmVsb3ctbGVmdCBpZiB0aGVyZSBpcyBub3QgZW5vdWdoXG4gKiByb29tIG9uc2NyZWVuLiBUaGUgb3B0aW9uYWwgY2FsbGJhY2sgd2lsbCBiZSBpbnZva2VkIHdoZW4gdGhpcyBtZW51IGNsb3Nlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3cobWVudTogSlNYLkVsZW1lbnQsIG9mZnNldDogSU9mZnNldCwgb25DbG9zZT86ICgpID0+IHZvaWQpIHtcbiAgICBpZiAoY29udGV4dE1lbnUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBjb250ZXh0TWVudUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xuICAgICAgICBjb250ZXh0TWVudUVsZW1lbnQuY2xhc3NMaXN0LmFkZChDbGFzc2VzLkNPTlRFWFRfTUVOVSk7XG4gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY29udGV4dE1lbnVFbGVtZW50KTtcbiAgICAgICAgY29udGV4dE1lbnUgPSBSZWFjdERPTS5yZW5kZXIoPENvbnRleHRNZW51IC8+LCBjb250ZXh0TWVudUVsZW1lbnQpIGFzIENvbnRleHRNZW51O1xuICAgIH1cblxuICAgIGNvbnRleHRNZW51LnNob3cobWVudSwgb2Zmc2V0LCBvbkNsb3NlKTtcbn1cblxuLyoqIEhpZGUgdGhlIG9wZW4gY29udGV4dCBtZW51LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhpZGUoKSB7XG4gICAgaWYgKGNvbnRleHRNZW51ICE9IG51bGwpIHtcbiAgICAgICAgY29udGV4dE1lbnUuaGlkZSgpO1xuICAgIH1cbn1cblxuLyoqIFJldHVybiB3aGV0aGVyIGEgY29udGV4dCBtZW51IGlzIGN1cnJlbnRseSBvcGVuLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT3BlbigpIHtcbiAgICByZXR1cm4gY29udGV4dE1lbnUgIT0gbnVsbCAmJiBjb250ZXh0TWVudS5zdGF0ZS5pc09wZW47XG59XG4iXSwic291cmNlUm9vdCI6Ii9zb3VyY2UvIn0= /***/ }, -/* 68 */ +/* 62 */ /***/ function(module, exports, __webpack_require__) { 'use strict'; - module.exports = __webpack_require__(69); + module.exports = __webpack_require__(63); /***/ }, -/* 69 */ +/* 63 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6191,28 +5985,27 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDOM */ /* globals __REACT_DEVTOOLS_GLOBAL_HOOK__*/ 'use strict'; - var ReactDOMComponentTree = __webpack_require__(70); - var ReactDefaultInjection = __webpack_require__(73); - var ReactMount = __webpack_require__(190); - var ReactReconciler = __webpack_require__(92); - var ReactUpdates = __webpack_require__(89); - var ReactVersion = __webpack_require__(55); + var ReactDOMComponentTree = __webpack_require__(64); + var ReactDefaultInjection = __webpack_require__(68); + var ReactMount = __webpack_require__(196); + var ReactReconciler = __webpack_require__(89); + var ReactUpdates = __webpack_require__(86); + var ReactVersion = __webpack_require__(201); - var findDOMNode = __webpack_require__(195); - var getNativeComponentFromComposite = __webpack_require__(196); - var renderSubtreeIntoContainer = __webpack_require__(197); - var warning = __webpack_require__(29); + var findDOMNode = __webpack_require__(202); + var getHostComponentFromComposite = __webpack_require__(203); + var renderSubtreeIntoContainer = __webpack_require__(204); + var warning = __webpack_require__(30); ReactDefaultInjection.inject(); - var React = { + var ReactDOM = { findDOMNode: findDOMNode, render: ReactMount.render, unmountComponentAtNode: ReactMount.unmountComponentAtNode, @@ -6225,7 +6018,6 @@ // Inject the runtime into a devtools global hook regardless of browser. // Allows for debugging when the hook is injected on the page. - /* eslint-enable camelcase */ if (typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ !== 'undefined' && typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.inject === 'function') { __REACT_DEVTOOLS_GLOBAL_HOOK__.inject({ ComponentTree: { @@ -6233,7 +6025,7 @@ getNodeFromInstance: function (inst) { // inst is an internal instance (but could be a composite) if (inst._renderedComponent) { - inst = getNativeComponentFromComposite(inst); + inst = getHostComponentFromComposite(inst); } if (inst) { return ReactDOMComponentTree.getNodeFromInstance(inst); @@ -6248,7 +6040,7 @@ } if (process.env.NODE_ENV !== 'production') { - var ExecutionEnvironment = __webpack_require__(39); + var ExecutionEnvironment = __webpack_require__(78); if (ExecutionEnvironment.canUseDOM && window.top === window.self) { // First check if devtools is not installed @@ -6272,7 +6064,7 @@ var expectedFeatures = [ // shims - Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.split, String.prototype.trim]; + Array.isArray, Array.prototype.every, Array.prototype.forEach, Array.prototype.indexOf, Array.prototype.map, Date.now, Function.prototype.bind, Object.keys, String.prototype.trim]; for (var i = 0; i < expectedFeatures.length; i++) { if (!expectedFeatures[i]) { @@ -6283,11 +6075,22 @@ } } - module.exports = React; + if (process.env.NODE_ENV !== 'production') { + var ReactInstrumentation = __webpack_require__(92); + var ReactDOMUnknownPropertyHook = __webpack_require__(205); + var ReactDOMNullInputValuePropHook = __webpack_require__(206); + var ReactDOMInvalidARIAHook = __webpack_require__(207); + + ReactInstrumentation.debugTool.addHook(ReactDOMUnknownPropertyHook); + ReactInstrumentation.debugTool.addHook(ReactDOMNullInputValuePropHook); + ReactInstrumentation.debugTool.addHook(ReactDOMInvalidARIAHook); + } + + module.exports = ReactDOM; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 70 */ +/* 64 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -6298,15 +6101,16 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDOMComponentTree */ 'use strict'; - var DOMProperty = __webpack_require__(71); - var ReactDOMComponentFlags = __webpack_require__(72); + var _prodInvariant = __webpack_require__(65); + + var DOMProperty = __webpack_require__(66); + var ReactDOMComponentFlags = __webpack_require__(67); - var invariant = __webpack_require__(26); + var invariant = __webpack_require__(27); var ATTR_NAME = DOMProperty.ID_ATTRIBUTE_NAME; var Flags = ReactDOMComponentFlags; @@ -6314,13 +6118,13 @@ var internalInstanceKey = '__reactInternalInstance$' + Math.random().toString(36).slice(2); /** - * Drill down (through composites and empty components) until we get a native or - * native text component. + * Drill down (through composites and empty components) until we get a host or + * host text component. * * This is pretty polymorphic but unavoidable with the current structure we have * for `_renderedChildren`. */ - function getRenderedNativeOrTextFromComponent(component) { + function getRenderedHostOrTextFromComponent(component) { var rendered; while (rendered = component._renderedComponent) { component = rendered; @@ -6329,25 +6133,25 @@ } /** - * Populate `_nativeNode` on the rendered native/text component with the given + * Populate `_hostNode` on the rendered host/text component with the given * DOM node. The passed `inst` can be a composite. */ function precacheNode(inst, node) { - var nativeInst = getRenderedNativeOrTextFromComponent(inst); - nativeInst._nativeNode = node; - node[internalInstanceKey] = nativeInst; + var hostInst = getRenderedHostOrTextFromComponent(inst); + hostInst._hostNode = node; + node[internalInstanceKey] = hostInst; } function uncacheNode(inst) { - var node = inst._nativeNode; + var node = inst._hostNode; if (node) { delete node[internalInstanceKey]; - inst._nativeNode = null; + inst._hostNode = null; } } /** - * Populate `_nativeNode` on each child of `inst`, assuming that the children + * Populate `_hostNode` on each child of `inst`, assuming that the children * match up with the DOM (element) children of `node`. * * We cache entire levels at once to avoid an n^2 problem where we access the @@ -6371,8 +6175,8 @@ continue; } var childInst = children[name]; - var childID = getRenderedNativeOrTextFromComponent(childInst)._domID; - if (childID == null) { + var childID = getRenderedHostOrTextFromComponent(childInst)._domID; + if (childID === 0) { // We're currently unmounting this child in ReactMultiChild; skip it. continue; } @@ -6384,7 +6188,7 @@ } } // We reached the end of the DOM children without finding an ID match. - true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : invariant(false) : void 0; + true ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Unable to find element with ID %s.', childID) : _prodInvariant('32', childID) : void 0; } inst._flags |= Flags.hasCachedChildNodes; } @@ -6429,7 +6233,7 @@ */ function getInstanceFromNode(node) { var inst = getClosestInstanceFromNode(node); - if (inst != null && inst._nativeNode === node) { + if (inst != null && inst._hostNode === node) { return inst; } else { return null; @@ -6443,27 +6247,27 @@ function getNodeFromInstance(inst) { // Without this first invariant, passing a non-DOM-component triggers the next // invariant for a missing parent, which is super confusing. - !(inst._nativeNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : invariant(false) : void 0; + !(inst._hostNode !== undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'getNodeFromInstance: Invalid argument.') : _prodInvariant('33') : void 0; - if (inst._nativeNode) { - return inst._nativeNode; + if (inst._hostNode) { + return inst._hostNode; } // Walk up the tree until we find an ancestor whose DOM node we have cached. var parents = []; - while (!inst._nativeNode) { + while (!inst._hostNode) { parents.push(inst); - !inst._nativeParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : invariant(false) : void 0; - inst = inst._nativeParent; + !inst._hostParent ? process.env.NODE_ENV !== 'production' ? invariant(false, 'React DOM tree root should always have a node reference.') : _prodInvariant('34') : void 0; + inst = inst._hostParent; } // Now parents contains each ancestor that does *not* have a cached native // node, and `inst` is the deepest ancestor that does. for (; parents.length; inst = parents.pop()) { - precacheChildNodes(inst, inst._nativeNode); + precacheChildNodes(inst, inst._hostNode); } - return inst._nativeNode; + return inst._hostNode; } var ReactDOMComponentTree = { @@ -6479,41 +6283,84 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 71 */ -/***/ function(module, exports, __webpack_require__) { +/* 65 */ +/***/ function(module, exports) { - /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. + /** + * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule DOMProperty + * */ - 'use strict'; - var invariant = __webpack_require__(26); + /** + * WARNING: DO NOT manually require this module. + * This is a replacement for `invariant(...)` used by the error code system + * and will _only_ be required by the corresponding babel pass. + * It always throws. + */ - function checkMask(value, bitmask) { - return (value & bitmask) === bitmask; - } + function reactProdInvariant(code) { + var argCount = arguments.length - 1; - var DOMPropertyInjection = { - /** - * Mapping from normalized, camelcased property names to a configuration that - * specifies how the associated DOM property should be accessed or rendered. - */ - MUST_USE_PROPERTY: 0x1, - HAS_SIDE_EFFECTS: 0x2, - HAS_BOOLEAN_VALUE: 0x4, - HAS_NUMERIC_VALUE: 0x8, - HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, - HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, + var message = 'Minified React error #' + code + '; visit ' + 'http://facebook.github.io/react/docs/error-decoder.html?invariant=' + code; - /** + for (var argIdx = 0; argIdx < argCount; argIdx++) { + message += '&args[]=' + encodeURIComponent(arguments[argIdx + 1]); + } + + message += ' for the full message or use the non-minified dev environment' + ' for full errors and additional helpful warnings.'; + + var error = new Error(message); + error.name = 'Invariant Violation'; + error.framesToPop = 1; // we don't care about reactProdInvariant's own frame + + throw error; + } + + module.exports = reactProdInvariant; + +/***/ }, +/* 66 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(65); + + var invariant = __webpack_require__(27); + + function checkMask(value, bitmask) { + return (value & bitmask) === bitmask; + } + + var DOMPropertyInjection = { + /** + * Mapping from normalized, camelcased property names to a configuration that + * specifies how the associated DOM property should be accessed or rendered. + */ + MUST_USE_PROPERTY: 0x1, + HAS_BOOLEAN_VALUE: 0x4, + HAS_NUMERIC_VALUE: 0x8, + HAS_POSITIVE_NUMERIC_VALUE: 0x10 | 0x8, + HAS_OVERLOADED_BOOLEAN_VALUE: 0x20, + + /** * Inject some specialized knowledge about the DOM. This takes a config object * with the following properties: * @@ -6554,7 +6401,7 @@ } for (var propName in Properties) { - !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? 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) : invariant(false) : void 0; + !!DOMProperty.properties.hasOwnProperty(propName) ? process.env.NODE_ENV !== 'production' ? 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) : _prodInvariant('48', propName) : void 0; var lowerCased = propName.toLowerCase(); var propConfig = Properties[propName]; @@ -6566,15 +6413,12 @@ mutationMethod: null, mustUseProperty: checkMask(propConfig, Injection.MUST_USE_PROPERTY), - hasSideEffects: checkMask(propConfig, Injection.HAS_SIDE_EFFECTS), hasBooleanValue: checkMask(propConfig, Injection.HAS_BOOLEAN_VALUE), hasNumericValue: checkMask(propConfig, Injection.HAS_NUMERIC_VALUE), hasPositiveNumericValue: checkMask(propConfig, Injection.HAS_POSITIVE_NUMERIC_VALUE), hasOverloadedBooleanValue: checkMask(propConfig, Injection.HAS_OVERLOADED_BOOLEAN_VALUE) }; - - !(propertyInfo.mustUseProperty || !propertyInfo.hasSideEffects) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Properties that have side effects must use property: %s', propName) : invariant(false) : void 0; - !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or ' + 'numeric value, but not a combination: %s', propName) : invariant(false) : void 0; + !(propertyInfo.hasBooleanValue + propertyInfo.hasNumericValue + propertyInfo.hasOverloadedBooleanValue <= 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'DOMProperty: Value can be one of boolean, overloaded boolean, or numeric value, but not a combination: %s', propName) : _prodInvariant('50', propName) : void 0; if (process.env.NODE_ENV !== 'production') { DOMProperty.getPossibleStandardName[lowerCased] = propName; @@ -6628,7 +6472,7 @@ ROOT_ATTRIBUTE_NAME: 'data-reactroot', ATTRIBUTE_NAME_START_CHAR: ATTRIBUTE_NAME_START_CHAR, - ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\uB7\\u0300-\\u036F\\u203F-\\u2040', + ATTRIBUTE_NAME_CHAR: ATTRIBUTE_NAME_START_CHAR + '\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040', /** * Map from property "standard name" to an object with info about how to set @@ -6645,11 +6489,6 @@ * initial render. * mustUseProperty: * Whether the property must be accessed and mutated as an object property. - * hasSideEffects: - * Whether or not setting a value causes side effects such as triggering - * resources to be loaded or text selection changes. If true, we read from - * the DOM before updating to ensure that the value is only set if it has - * changed. * hasBooleanValue: * Whether the property should be removed when set to a falsey value. * hasNumericValue: @@ -6668,9 +6507,13 @@ /** * Mapping from lowercase property names to the properly cased version, used * to warn in the case of missing properties. Available only in __DEV__. + * + * autofocus is predefined, because adding it to the property whitelist + * causes unintended side effects. + * * @type {Object} */ - getPossibleStandardName: process.env.NODE_ENV !== 'production' ? {} : null, + getPossibleStandardName: process.env.NODE_ENV !== 'production' ? { autofocus: 'autoFocus' } : null, /** * All of the isCustomAttribute() functions that have been injected. @@ -6698,7 +6541,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 72 */ +/* 67 */ /***/ function(module, exports) { /** @@ -6709,7 +6552,6 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDOMComponentFlags */ 'use strict'; @@ -6721,7 +6563,7 @@ module.exports = ReactDOMComponentFlags; /***/ }, -/* 73 */ +/* 68 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6732,29 +6574,29 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactDefaultInjection */ 'use strict'; - var BeforeInputEventPlugin = __webpack_require__(74); - var ChangeEventPlugin = __webpack_require__(88); - var DefaultEventPluginOrder = __webpack_require__(99); - var EnterLeaveEventPlugin = __webpack_require__(100); - var HTMLDOMPropertyConfig = __webpack_require__(105); - var ReactComponentBrowserEnvironment = __webpack_require__(106); - var ReactDOMComponent = __webpack_require__(120); - var ReactDOMComponentTree = __webpack_require__(70); - var ReactDOMEmptyComponent = __webpack_require__(161); - var ReactDOMTreeTraversal = __webpack_require__(162); - var ReactDOMTextComponent = __webpack_require__(163); - var ReactDefaultBatchingStrategy = __webpack_require__(164); - var ReactEventListener = __webpack_require__(165); - var ReactInjection = __webpack_require__(168); - var ReactReconcileTransaction = __webpack_require__(169); - var SVGDOMPropertyConfig = __webpack_require__(177); - var SelectEventPlugin = __webpack_require__(178); - var SimpleEventPlugin = __webpack_require__(179); + var ARIADOMPropertyConfig = __webpack_require__(69); + var BeforeInputEventPlugin = __webpack_require__(70); + var ChangeEventPlugin = __webpack_require__(85); + var DefaultEventPluginOrder = __webpack_require__(102); + var EnterLeaveEventPlugin = __webpack_require__(103); + var HTMLDOMPropertyConfig = __webpack_require__(108); + var ReactComponentBrowserEnvironment = __webpack_require__(109); + var ReactDOMComponent = __webpack_require__(122); + var ReactDOMComponentTree = __webpack_require__(64); + var ReactDOMEmptyComponent = __webpack_require__(167); + var ReactDOMTreeTraversal = __webpack_require__(168); + var ReactDOMTextComponent = __webpack_require__(169); + var ReactDefaultBatchingStrategy = __webpack_require__(170); + var ReactEventListener = __webpack_require__(171); + var ReactInjection = __webpack_require__(174); + var ReactReconcileTransaction = __webpack_require__(175); + var SVGDOMPropertyConfig = __webpack_require__(183); + var SelectEventPlugin = __webpack_require__(184); + var SimpleEventPlugin = __webpack_require__(185); var alreadyInjected = false; @@ -6788,10 +6630,11 @@ BeforeInputEventPlugin: BeforeInputEventPlugin }); - ReactInjection.NativeComponent.injectGenericComponentClass(ReactDOMComponent); + ReactInjection.HostComponent.injectGenericComponentClass(ReactDOMComponent); - ReactInjection.NativeComponent.injectTextComponentClass(ReactDOMTextComponent); + ReactInjection.HostComponent.injectTextComponentClass(ReactDOMTextComponent); + ReactInjection.DOMProperty.injectDOMPropertyConfig(ARIADOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(HTMLDOMPropertyConfig); ReactInjection.DOMProperty.injectDOMPropertyConfig(SVGDOMPropertyConfig); @@ -6810,7 +6653,85 @@ }; /***/ }, -/* 74 */ +/* 69 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var ARIADOMPropertyConfig = { + Properties: { + // Global States and Properties + 'aria-current': 0, // state + 'aria-details': 0, + 'aria-disabled': 0, // state + 'aria-hidden': 0, // state + 'aria-invalid': 0, // state + 'aria-keyshortcuts': 0, + 'aria-label': 0, + 'aria-roledescription': 0, + // Widget Attributes + '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, + // Live Region Attributes + 'aria-atomic': 0, + 'aria-busy': 0, + 'aria-live': 0, + 'aria-relevant': 0, + // Drag-and-Drop Attributes + 'aria-dropeffect': 0, + 'aria-grabbed': 0, + // Relationship Attributes + '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: {} + }; + + module.exports = ARIADOMPropertyConfig; + +/***/ }, +/* 70 */ /***/ function(module, exports, __webpack_require__) { /** @@ -6821,19 +6742,15 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule BeforeInputEventPlugin */ 'use strict'; - var EventConstants = __webpack_require__(75); - var EventPropagators = __webpack_require__(76); - var ExecutionEnvironment = __webpack_require__(39); - var FallbackCompositionState = __webpack_require__(83); - var SyntheticCompositionEvent = __webpack_require__(85); - var SyntheticInputEvent = __webpack_require__(87); - - var keyOf = __webpack_require__(50); + var EventPropagators = __webpack_require__(71); + var ExecutionEnvironment = __webpack_require__(78); + var FallbackCompositionState = __webpack_require__(79); + var SyntheticCompositionEvent = __webpack_require__(82); + var SyntheticInputEvent = __webpack_require__(84); var END_KEYCODES = [9, 13, 27, 32]; // Tab, Return, Esc, Space var START_KEYCODE = 229; @@ -6867,37 +6784,35 @@ var SPACEBAR_CODE = 32; var SPACEBAR_CHAR = String.fromCharCode(SPACEBAR_CODE); - var topLevelTypes = EventConstants.topLevelTypes; - // Events and their corresponding property names. var eventTypes = { beforeInput: { phasedRegistrationNames: { - bubbled: keyOf({ onBeforeInput: null }), - captured: keyOf({ onBeforeInputCapture: null }) + bubbled: 'onBeforeInput', + captured: 'onBeforeInputCapture' }, - dependencies: [topLevelTypes.topCompositionEnd, topLevelTypes.topKeyPress, topLevelTypes.topTextInput, topLevelTypes.topPaste] + dependencies: ['topCompositionEnd', 'topKeyPress', 'topTextInput', 'topPaste'] }, compositionEnd: { phasedRegistrationNames: { - bubbled: keyOf({ onCompositionEnd: null }), - captured: keyOf({ onCompositionEndCapture: null }) + bubbled: 'onCompositionEnd', + captured: 'onCompositionEndCapture' }, - dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionEnd, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + dependencies: ['topBlur', 'topCompositionEnd', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] }, compositionStart: { phasedRegistrationNames: { - bubbled: keyOf({ onCompositionStart: null }), - captured: keyOf({ onCompositionStartCapture: null }) + bubbled: 'onCompositionStart', + captured: 'onCompositionStartCapture' }, - dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionStart, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + dependencies: ['topBlur', 'topCompositionStart', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] }, compositionUpdate: { phasedRegistrationNames: { - bubbled: keyOf({ onCompositionUpdate: null }), - captured: keyOf({ onCompositionUpdateCapture: null }) + bubbled: 'onCompositionUpdate', + captured: 'onCompositionUpdateCapture' }, - dependencies: [topLevelTypes.topBlur, topLevelTypes.topCompositionUpdate, topLevelTypes.topKeyDown, topLevelTypes.topKeyPress, topLevelTypes.topKeyUp, topLevelTypes.topMouseDown] + dependencies: ['topBlur', 'topCompositionUpdate', 'topKeyDown', 'topKeyPress', 'topKeyUp', 'topMouseDown'] } }; @@ -6923,11 +6838,11 @@ */ function getCompositionEventType(topLevelType) { switch (topLevelType) { - case topLevelTypes.topCompositionStart: + case 'topCompositionStart': return eventTypes.compositionStart; - case topLevelTypes.topCompositionEnd: + case 'topCompositionEnd': return eventTypes.compositionEnd; - case topLevelTypes.topCompositionUpdate: + case 'topCompositionUpdate': return eventTypes.compositionUpdate; } } @@ -6941,7 +6856,7 @@ * @return {boolean} */ function isFallbackCompositionStart(topLevelType, nativeEvent) { - return topLevelType === topLevelTypes.topKeyDown && nativeEvent.keyCode === START_KEYCODE; + return topLevelType === 'topKeyDown' && nativeEvent.keyCode === START_KEYCODE; } /** @@ -6953,16 +6868,16 @@ */ function isFallbackCompositionEnd(topLevelType, nativeEvent) { switch (topLevelType) { - case topLevelTypes.topKeyUp: + case 'topKeyUp': // Command keys insert or clear IME input. return END_KEYCODES.indexOf(nativeEvent.keyCode) !== -1; - case topLevelTypes.topKeyDown: + case 'topKeyDown': // Expect IME keyCode on each keydown. If we get any other // code we must have exited earlier. return nativeEvent.keyCode !== START_KEYCODE; - case topLevelTypes.topKeyPress: - case topLevelTypes.topMouseDown: - case topLevelTypes.topBlur: + case 'topKeyPress': + case 'topMouseDown': + case 'topBlur': // Events are not possible without cancelling IME. return true; default: @@ -7047,9 +6962,9 @@ */ function getNativeBeforeInputChars(topLevelType, nativeEvent) { switch (topLevelType) { - case topLevelTypes.topCompositionEnd: + case 'topCompositionEnd': return getDataFromCustomEvent(nativeEvent); - case topLevelTypes.topKeyPress: + case 'topKeyPress': /** * If native `textInput` events are available, our goal is to make * use of them. However, there is a special case: the spacebar key. @@ -7072,7 +6987,7 @@ hasSpaceKeypress = true; return SPACEBAR_CHAR; - case topLevelTypes.topTextInput: + case 'topTextInput': // Record the characters to be added to the DOM. var chars = nativeEvent.data; @@ -7102,8 +7017,10 @@ function getFallbackBeforeInputChars(topLevelType, nativeEvent) { // If we are currently composing (IME) and using a fallback to do so, // try to extract the composed characters from the fallback object. + // If composition event is available, we extract a string only at + // compositionevent, otherwise extract it at fallback events. if (currentComposition) { - if (topLevelType === topLevelTypes.topCompositionEnd || isFallbackCompositionEnd(topLevelType, nativeEvent)) { + if (topLevelType === 'topCompositionEnd' || !canUseCompositionEvent && isFallbackCompositionEnd(topLevelType, nativeEvent)) { var chars = currentComposition.getData(); FallbackCompositionState.release(currentComposition); currentComposition = null; @@ -7113,11 +7030,11 @@ } switch (topLevelType) { - case topLevelTypes.topPaste: + case 'topPaste': // If a paste event occurs after a keypress, throw out the input // chars. Paste events should not lead to BeforeInput events. return null; - case topLevelTypes.topKeyPress: + case 'topKeyPress': /** * As of v27, Firefox may fire keypress events even when no character * will be inserted. A few possibilities: @@ -7138,7 +7055,7 @@ return String.fromCharCode(nativeEvent.which); } return null; - case topLevelTypes.topCompositionEnd: + case 'topCompositionEnd': return useFallbackCompositionData ? null : nativeEvent.data; default: return null; @@ -7203,109 +7120,7 @@ module.exports = BeforeInputEventPlugin; /***/ }, -/* 75 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule EventConstants - */ - - 'use strict'; - - var keyMirror = __webpack_require__(48); - - var PropagationPhases = keyMirror({ bubbled: null, captured: null }); - - /** - * Types of raw signals from the browser caught at the top level. - */ - var topLevelTypes = keyMirror({ - topAbort: null, - topAnimationEnd: null, - topAnimationIteration: null, - topAnimationStart: null, - topBlur: null, - topCanPlay: null, - topCanPlayThrough: null, - topChange: null, - topClick: null, - topCompositionEnd: null, - topCompositionStart: null, - topCompositionUpdate: null, - topContextMenu: null, - topCopy: null, - topCut: null, - topDoubleClick: null, - topDrag: null, - topDragEnd: null, - topDragEnter: null, - topDragExit: null, - topDragLeave: null, - topDragOver: null, - topDragStart: null, - topDrop: null, - topDurationChange: null, - topEmptied: null, - topEncrypted: null, - topEnded: null, - topError: null, - topFocus: null, - topInput: null, - topInvalid: null, - topKeyDown: null, - topKeyPress: null, - topKeyUp: null, - topLoad: null, - topLoadedData: null, - topLoadedMetadata: null, - topLoadStart: null, - topMouseDown: null, - topMouseMove: null, - topMouseOut: null, - topMouseOver: null, - topMouseUp: null, - topPaste: null, - topPause: null, - topPlay: null, - topPlaying: null, - topProgress: null, - topRateChange: null, - topReset: null, - topScroll: null, - topSeeked: null, - topSeeking: null, - topSelectionChange: null, - topStalled: null, - topSubmit: null, - topSuspend: null, - topTextInput: null, - topTimeUpdate: null, - topTouchCancel: null, - topTouchEnd: null, - topTouchMove: null, - topTouchStart: null, - topTransitionEnd: null, - topVolumeChange: null, - topWaiting: null, - topWheel: null - }); - - var EventConstants = { - topLevelTypes: topLevelTypes, - PropagationPhases: PropagationPhases - }; - - module.exports = EventConstants; - -/***/ }, -/* 76 */ +/* 71 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7316,20 +7131,17 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule EventPropagators */ 'use strict'; - var EventConstants = __webpack_require__(75); - var EventPluginHub = __webpack_require__(77); - var EventPluginUtils = __webpack_require__(79); + var EventPluginHub = __webpack_require__(72); + var EventPluginUtils = __webpack_require__(74); - var accumulateInto = __webpack_require__(81); - var forEachAccumulated = __webpack_require__(82); - var warning = __webpack_require__(29); + var accumulateInto = __webpack_require__(76); + var forEachAccumulated = __webpack_require__(77); + var warning = __webpack_require__(30); - var PropagationPhases = EventConstants.PropagationPhases; var getListener = EventPluginHub.getListener; /** @@ -7347,11 +7159,10 @@ * Mutating the event's members allows us to not have to create a wrapping * "dispatch" object that pairs the event with the listener. */ - function accumulateDirectionalDispatches(inst, upwards, event) { + function accumulateDirectionalDispatches(inst, phase, event) { if (process.env.NODE_ENV !== 'production') { process.env.NODE_ENV !== 'production' ? warning(inst, 'Dispatching inst must not be null') : void 0; } - var phase = upwards ? PropagationPhases.bubbled : PropagationPhases.captured; var listener = listenerAtPhase(inst, event, phase); if (listener) { event._dispatchListeners = accumulateInto(event._dispatchListeners, listener); @@ -7448,7 +7259,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 77 */ +/* 72 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7459,18 +7270,19 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule EventPluginHub */ 'use strict'; - var EventPluginRegistry = __webpack_require__(78); - var EventPluginUtils = __webpack_require__(79); - var ReactErrorUtils = __webpack_require__(80); + var _prodInvariant = __webpack_require__(65); - var accumulateInto = __webpack_require__(81); - var forEachAccumulated = __webpack_require__(82); - var invariant = __webpack_require__(26); + var EventPluginRegistry = __webpack_require__(73); + var EventPluginUtils = __webpack_require__(74); + var ReactErrorUtils = __webpack_require__(75); + + var accumulateInto = __webpack_require__(76); + var forEachAccumulated = __webpack_require__(77); + var invariant = __webpack_require__(27); /** * Internal store for event listeners @@ -7506,6 +7318,12 @@ return executeDispatchesAndRelease(e, false); }; + var getDictionaryKey = function (inst) { + // Prevents V8 performance issue: + // https://github.com/facebook/react/pull/7232 + return '.' + inst._rootNodeID; + }; + /** * This is a unified interface for event plugins to be installed and configured. * @@ -7549,17 +7367,18 @@ }, /** - * Stores `listener` at `listenerBank[registrationName][id]`. Is idempotent. + * Stores `listener` at `listenerBank[registrationName][key]`. Is idempotent. * * @param {object} inst The instance, which is the source of events. * @param {string} registrationName Name of listener (e.g. `onClick`). * @param {function} listener The callback to store. */ putListener: function (inst, registrationName, listener) { - !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : invariant(false) : void 0; + !(typeof listener === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected %s listener to be a function, instead got type %s', registrationName, typeof listener) : _prodInvariant('94', registrationName, typeof listener) : void 0; + var key = getDictionaryKey(inst); var bankForRegistrationName = listenerBank[registrationName] || (listenerBank[registrationName] = {}); - bankForRegistrationName[inst._rootNodeID] = listener; + bankForRegistrationName[key] = listener; var PluginModule = EventPluginRegistry.registrationNameModules[registrationName]; if (PluginModule && PluginModule.didPutListener) { @@ -7574,7 +7393,8 @@ */ getListener: function (inst, registrationName) { var bankForRegistrationName = listenerBank[registrationName]; - return bankForRegistrationName && bankForRegistrationName[inst._rootNodeID]; + var key = getDictionaryKey(inst); + return bankForRegistrationName && bankForRegistrationName[key]; }, /** @@ -7592,7 +7412,8 @@ var bankForRegistrationName = listenerBank[registrationName]; // TODO: This should never be null -- when is it? if (bankForRegistrationName) { - delete bankForRegistrationName[inst._rootNodeID]; + var key = getDictionaryKey(inst); + delete bankForRegistrationName[key]; } }, @@ -7602,8 +7423,13 @@ * @param {object} inst The instance, which is the source of events. */ deleteAllListeners: function (inst) { + var key = getDictionaryKey(inst); for (var registrationName in listenerBank) { - if (!listenerBank[registrationName][inst._rootNodeID]) { + if (!listenerBank.hasOwnProperty(registrationName)) { + continue; + } + + if (!listenerBank[registrationName][key]) { continue; } @@ -7612,7 +7438,7 @@ PluginModule.willDeleteListener(inst, registrationName); } - delete listenerBank[registrationName][inst._rootNodeID]; + delete listenerBank[registrationName][key]; } }, @@ -7667,7 +7493,7 @@ } else { forEachAccumulated(processingEventQueue, executeDispatchesAndReleaseTopLevel); } - !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing ' + 'an event queue. Support for this has not yet been implemented.') : invariant(false) : void 0; + !!eventQueue ? process.env.NODE_ENV !== 'production' ? invariant(false, 'processEventQueue(): Additional events were enqueued while processing an event queue. Support for this has not yet been implemented.') : _prodInvariant('95') : void 0; // This would be a good time to rethrow if any of the event handlers threw. ReactErrorUtils.rethrowCaughtError(); }, @@ -7689,7 +7515,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 78 */ +/* 73 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7700,17 +7526,19 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule EventPluginRegistry + * */ 'use strict'; - var invariant = __webpack_require__(26); + var _prodInvariant = __webpack_require__(65); + + var invariant = __webpack_require__(27); /** * Injectable ordering of event plugins. */ - var EventPluginOrder = null; + var eventPluginOrder = null; /** * Injectable mapping from names to event plugin modules. @@ -7723,22 +7551,22 @@ * @private */ function recomputePluginOrdering() { - if (!EventPluginOrder) { - // Wait until an `EventPluginOrder` is injected. + if (!eventPluginOrder) { + // Wait until an `eventPluginOrder` is injected. return; } for (var pluginName in namesToPlugins) { - var PluginModule = namesToPlugins[pluginName]; - var pluginIndex = EventPluginOrder.indexOf(pluginName); - !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in ' + 'the plugin ordering, `%s`.', pluginName) : invariant(false) : void 0; + var pluginModule = namesToPlugins[pluginName]; + var pluginIndex = eventPluginOrder.indexOf(pluginName); + !(pluginIndex > -1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugins that do not exist in the plugin ordering, `%s`.', pluginName) : _prodInvariant('96', pluginName) : void 0; if (EventPluginRegistry.plugins[pluginIndex]) { continue; } - !PluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` ' + 'method, but `%s` does not.', pluginName) : invariant(false) : void 0; - EventPluginRegistry.plugins[pluginIndex] = PluginModule; - var publishedEvents = PluginModule.eventTypes; + !pluginModule.extractEvents ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Event plugins must implement an `extractEvents` method, but `%s` does not.', pluginName) : _prodInvariant('97', pluginName) : void 0; + EventPluginRegistry.plugins[pluginIndex] = pluginModule; + var publishedEvents = pluginModule.eventTypes; for (var eventName in publishedEvents) { - !publishEventForPlugin(publishedEvents[eventName], PluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : invariant(false) : void 0; + !publishEventForPlugin(publishedEvents[eventName], pluginModule, eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Failed to publish event `%s` for plugin `%s`.', eventName, pluginName) : _prodInvariant('98', eventName, pluginName) : void 0; } } } @@ -7751,8 +7579,8 @@ * @return {boolean} True if the event was successfully published. * @private */ - function publishEventForPlugin(dispatchConfig, PluginModule, eventName) { - !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'event name, `%s`.', eventName) : invariant(false) : void 0; + function publishEventForPlugin(dispatchConfig, pluginModule, eventName) { + !!EventPluginRegistry.eventNameDispatchConfigs.hasOwnProperty(eventName) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same event name, `%s`.', eventName) : _prodInvariant('99', eventName) : void 0; EventPluginRegistry.eventNameDispatchConfigs[eventName] = dispatchConfig; var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; @@ -7760,12 +7588,12 @@ for (var phaseName in phasedRegistrationNames) { if (phasedRegistrationNames.hasOwnProperty(phaseName)) { var phasedRegistrationName = phasedRegistrationNames[phaseName]; - publishRegistrationName(phasedRegistrationName, PluginModule, eventName); + publishRegistrationName(phasedRegistrationName, pluginModule, eventName); } } return true; } else if (dispatchConfig.registrationName) { - publishRegistrationName(dispatchConfig.registrationName, PluginModule, eventName); + publishRegistrationName(dispatchConfig.registrationName, pluginModule, eventName); return true; } return false; @@ -7779,14 +7607,18 @@ * @param {object} PluginModule Plugin publishing the event. * @private */ - function publishRegistrationName(registrationName, PluginModule, eventName) { - !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same ' + 'registration name, `%s`.', registrationName) : invariant(false) : void 0; - EventPluginRegistry.registrationNameModules[registrationName] = PluginModule; - EventPluginRegistry.registrationNameDependencies[registrationName] = PluginModule.eventTypes[eventName].dependencies; + function publishRegistrationName(registrationName, pluginModule, eventName) { + !!EventPluginRegistry.registrationNameModules[registrationName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginHub: More than one plugin attempted to publish the same registration name, `%s`.', registrationName) : _prodInvariant('100', registrationName) : void 0; + EventPluginRegistry.registrationNameModules[registrationName] = pluginModule; + EventPluginRegistry.registrationNameDependencies[registrationName] = pluginModule.eventTypes[eventName].dependencies; if (process.env.NODE_ENV !== 'production') { var lowerCasedName = registrationName.toLowerCase(); EventPluginRegistry.possibleRegistrationNames[lowerCasedName] = registrationName; + + if (registrationName === 'onDoubleClick') { + EventPluginRegistry.possibleRegistrationNames.ondblclick = registrationName; + } } } @@ -7824,6 +7656,7 @@ * @type {Object} */ possibleRegistrationNames: process.env.NODE_ENV !== 'production' ? {} : null, + // Trust the developer to only use possibleRegistrationNames in __DEV__ /** * Injects an ordering of plugins (by plugin name). This allows the ordering @@ -7834,10 +7667,10 @@ * @internal * @see {EventPluginHub.injection.injectEventPluginOrder} */ - injectEventPluginOrder: function (InjectedEventPluginOrder) { - !!EventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than ' + 'once. You are likely trying to load more than one copy of React.') : invariant(false) : void 0; + injectEventPluginOrder: function (injectedEventPluginOrder) { + !!eventPluginOrder ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject event plugin ordering more than once. You are likely trying to load more than one copy of React.') : _prodInvariant('101') : void 0; // Clone the ordering so it cannot be dynamically mutated. - EventPluginOrder = Array.prototype.slice.call(InjectedEventPluginOrder); + eventPluginOrder = Array.prototype.slice.call(injectedEventPluginOrder); recomputePluginOrdering(); }, @@ -7857,10 +7690,10 @@ if (!injectedNamesToPlugins.hasOwnProperty(pluginName)) { continue; } - var PluginModule = injectedNamesToPlugins[pluginName]; - if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== PluginModule) { - !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins ' + 'using the same name, `%s`.', pluginName) : invariant(false) : void 0; - namesToPlugins[pluginName] = PluginModule; + var pluginModule = injectedNamesToPlugins[pluginName]; + if (!namesToPlugins.hasOwnProperty(pluginName) || namesToPlugins[pluginName] !== pluginModule) { + !!namesToPlugins[pluginName] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'EventPluginRegistry: Cannot inject two different event plugins using the same name, `%s`.', pluginName) : _prodInvariant('102', pluginName) : void 0; + namesToPlugins[pluginName] = pluginModule; isOrderingDirty = true; } } @@ -7881,13 +7714,19 @@ if (dispatchConfig.registrationName) { return EventPluginRegistry.registrationNameModules[dispatchConfig.registrationName] || null; } - for (var phase in dispatchConfig.phasedRegistrationNames) { - if (!dispatchConfig.phasedRegistrationNames.hasOwnProperty(phase)) { - continue; - } - var PluginModule = EventPluginRegistry.registrationNameModules[dispatchConfig.phasedRegistrationNames[phase]]; - if (PluginModule) { - return PluginModule; + if (dispatchConfig.phasedRegistrationNames !== undefined) { + // pulling phasedRegistrationNames out of dispatchConfig helps Flow see + // that it is not undefined. + var phasedRegistrationNames = dispatchConfig.phasedRegistrationNames; + + for (var phase in phasedRegistrationNames) { + if (!phasedRegistrationNames.hasOwnProperty(phase)) { + continue; + } + var pluginModule = EventPluginRegistry.registrationNameModules[phasedRegistrationNames[phase]]; + if (pluginModule) { + return pluginModule; + } } } return null; @@ -7898,7 +7737,7 @@ * @private */ _resetEventPlugins: function () { - EventPluginOrder = null; + eventPluginOrder = null; for (var pluginName in namesToPlugins) { if (namesToPlugins.hasOwnProperty(pluginName)) { delete namesToPlugins[pluginName]; @@ -7936,7 +7775,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 79 */ +/* 74 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -7947,16 +7786,16 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule EventPluginUtils */ 'use strict'; - var EventConstants = __webpack_require__(75); - var ReactErrorUtils = __webpack_require__(80); + var _prodInvariant = __webpack_require__(65); - var invariant = __webpack_require__(26); - var warning = __webpack_require__(29); + var ReactErrorUtils = __webpack_require__(75); + + var invariant = __webpack_require__(27); + var warning = __webpack_require__(30); /** * Injected dependencies: @@ -7983,17 +7822,15 @@ } }; - var topLevelTypes = EventConstants.topLevelTypes; - function isEndish(topLevelType) { - return topLevelType === topLevelTypes.topMouseUp || topLevelType === topLevelTypes.topTouchEnd || topLevelType === topLevelTypes.topTouchCancel; + return topLevelType === 'topMouseUp' || topLevelType === 'topTouchEnd' || topLevelType === 'topTouchCancel'; } function isMoveish(topLevelType) { - return topLevelType === topLevelTypes.topMouseMove || topLevelType === topLevelTypes.topTouchMove; + return topLevelType === 'topMouseMove' || topLevelType === 'topTouchMove'; } function isStartish(topLevelType) { - return topLevelType === topLevelTypes.topMouseDown || topLevelType === topLevelTypes.topTouchStart; + return topLevelType === 'topMouseDown' || topLevelType === 'topTouchStart'; } var validateEventDispatches; @@ -8110,7 +7947,7 @@ } var dispatchListener = event._dispatchListeners; var dispatchInstance = event._dispatchInstances; - !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : invariant(false) : void 0; + !!Array.isArray(dispatchListener) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'executeDirectDispatch(...): Invalid `event`.') : _prodInvariant('103') : void 0; event.currentTarget = dispatchListener ? EventPluginUtils.getNodeFromInstance(dispatchInstance) : null; var res = dispatchListener ? dispatchListener(event) : null; event.currentTarget = null; @@ -8169,7 +8006,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 80 */ +/* 75 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8180,7 +8017,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactErrorUtils + * */ 'use strict'; @@ -8190,19 +8027,18 @@ /** * Call a function while guarding against errors that happens within it. * - * @param {?String} name of the guard to use for logging or debugging + * @param {String} name of the guard to use for logging or debugging * @param {Function} func The function to invoke * @param {*} a First argument * @param {*} b Second argument */ - function invokeGuardedCallback(name, func, a, b) { + function invokeGuardedCallback(name, func, a) { try { - return func(a, b); + func(a); } catch (x) { if (caughtError === null) { caughtError = x; } - return undefined; } } @@ -8235,11 +8071,12 @@ */ if (typeof window !== 'undefined' && typeof window.dispatchEvent === 'function' && typeof document !== 'undefined' && typeof document.createEvent === 'function') { var fakeNode = document.createElement('react'); - ReactErrorUtils.invokeGuardedCallback = function (name, func, a, b) { - var boundFunc = func.bind(null, a, b); + ReactErrorUtils.invokeGuardedCallback = function (name, func, a) { + var boundFunc = func.bind(null, a); var evtType = 'react-' + name; fakeNode.addEventListener(evtType, boundFunc, false); var evt = document.createEvent('Event'); + // $FlowFixMe https://github.com/facebook/flow/issues/2336 evt.initEvent(evtType, false, false); fakeNode.dispatchEvent(evt); fakeNode.removeEventListener(evtType, boundFunc, false); @@ -8251,7 +8088,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 81 */ +/* 76 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8262,15 +8099,16 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule accumulateInto + * */ 'use strict'; - var invariant = __webpack_require__(26); + var _prodInvariant = __webpack_require__(65); + + var invariant = __webpack_require__(27); /** - * * Accumulates items that must not be null or undefined into the first one. This * is used to conserve memory by avoiding array allocations, and thus sacrifices * API cleanness. Since `current` can be null before being passed in and not @@ -8284,27 +8122,24 @@ */ function accumulateInto(current, next) { - !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : invariant(false) : void 0; + !(next != null) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'accumulateInto(...): Accumulated items must not be null or undefined.') : _prodInvariant('30') : void 0; + if (current == null) { return next; } // Both are not empty. Warning: Never call x.concat(y) when you are not // certain that x is an Array (x could be a string with concat method). - var currentIsArray = Array.isArray(current); - var nextIsArray = Array.isArray(next); - - if (currentIsArray && nextIsArray) { - current.push.apply(current, next); - return current; - } - - if (currentIsArray) { + if (Array.isArray(current)) { + if (Array.isArray(next)) { + current.push.apply(current, next); + return current; + } current.push(next); return current; } - if (nextIsArray) { + if (Array.isArray(next)) { // A bit too dangerous to mutate `next`. return [current].concat(next); } @@ -8316,7 +8151,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 82 */ +/* 77 */ /***/ function(module, exports) { /** @@ -8327,7 +8162,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule forEachAccumulated + * */ 'use strict'; @@ -8340,65 +8175,104 @@ * allocate an array). */ - var forEachAccumulated = function (arr, cb, scope) { + function forEachAccumulated(arr, cb, scope) { if (Array.isArray(arr)) { arr.forEach(cb, scope); } else if (arr) { cb.call(scope, arr); } - }; + } module.exports = forEachAccumulated; /***/ }, -/* 83 */ -/***/ function(module, exports, __webpack_require__) { +/* 78 */ +/***/ function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. + * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule FallbackCompositionState */ 'use strict'; - var _assign = __webpack_require__(23); - - var PooledClass = __webpack_require__(25); - - var getTextContentAccessor = __webpack_require__(84); + var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); /** - * This helper class stores information about text content of a target node, - * allowing comparison of content before and after a given event. - * - * Identify the node where selection currently begins, then observe - * both its text content and its current position in the DOM. Since the - * browser may natively replace the target node during composition, we can - * use its position to find its replacement. - * - * @param {DOMEventTarget} root + * Simple, lightweight module assisting with the detection and context of + * Worker. Helps avoid circular dependencies and allows code to reason about + * whether or not they are in a Worker, even if they never include the main + * `ReactWorker` dependency. */ - function FallbackCompositionState(root) { - this._root = root; - this._startText = this.getText(); - this._fallbackText = null; - } + var ExecutionEnvironment = { - _assign(FallbackCompositionState.prototype, { - destructor: function () { - this._root = null; - this._startText = null; - this._fallbackText = null; - }, + canUseDOM: canUseDOM, - /** - * Get current text of input. + canUseWorkers: typeof Worker !== 'undefined', + + canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent), + + canUseViewport: canUseDOM && !!window.screen, + + isInWorker: !canUseDOM // For now, this is true - might change in the future. + + }; + + module.exports = ExecutionEnvironment; + +/***/ }, +/* 79 */ +/***/ function(module, exports, __webpack_require__) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + */ + + 'use strict'; + + var _assign = __webpack_require__(23); + + var PooledClass = __webpack_require__(80); + + var getTextContentAccessor = __webpack_require__(81); + + /** + * This helper class stores information about text content of a target node, + * allowing comparison of content before and after a given event. + * + * Identify the node where selection currently begins, then observe + * both its text content and its current position in the DOM. Since the + * browser may natively replace the target node during composition, we can + * use its position to find its replacement. + * + * @param {DOMEventTarget} root + */ + function FallbackCompositionState(root) { + this._root = root; + this._startText = this.getText(); + this._fallbackText = null; + } + + _assign(FallbackCompositionState.prototype, { + destructor: function () { + this._root = null; + this._startText = null; + this._fallbackText = null; + }, + + /** + * Get current text of input. * * @return {string} */ @@ -8451,7 +8325,136 @@ module.exports = FallbackCompositionState; /***/ }, -/* 84 */ +/* 80 */ +/***/ function(module, exports, __webpack_require__) { + + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + * + * + */ + + 'use strict'; + + var _prodInvariant = __webpack_require__(65); + + var invariant = __webpack_require__(27); + + /** + * Static poolers. Several custom versions for each potential number of + * arguments. A completely generic pooler is easy to implement, but would + * require accessing the `arguments` object. In each of these, `this` refers to + * the Class itself, not an instance. If any others are needed, simply add them + * here, or in their own files. + */ + var oneArgumentPooler = function (copyFieldsFrom) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, copyFieldsFrom); + return instance; + } else { + return new Klass(copyFieldsFrom); + } + }; + + var twoArgumentPooler = function (a1, a2) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2); + return instance; + } else { + return new Klass(a1, a2); + } + }; + + var threeArgumentPooler = function (a1, a2, a3) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3); + return instance; + } else { + return new Klass(a1, a2, a3); + } + }; + + var fourArgumentPooler = function (a1, a2, a3, a4) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3, a4); + return instance; + } else { + return new Klass(a1, a2, a3, a4); + } + }; + + var fiveArgumentPooler = function (a1, a2, a3, a4, a5) { + var Klass = this; + if (Klass.instancePool.length) { + var instance = Klass.instancePool.pop(); + Klass.call(instance, a1, a2, a3, a4, a5); + return instance; + } else { + return new Klass(a1, a2, a3, a4, a5); + } + }; + + var standardReleaser = function (instance) { + var Klass = this; + !(instance instanceof Klass) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Trying to release an instance into a pool of a different type.') : _prodInvariant('25') : void 0; + instance.destructor(); + if (Klass.instancePool.length < Klass.poolSize) { + Klass.instancePool.push(instance); + } + }; + + var DEFAULT_POOL_SIZE = 10; + var DEFAULT_POOLER = oneArgumentPooler; + + /** + * Augments `CopyConstructor` to be a poolable class, augmenting only the class + * itself (statically) not adding any prototypical fields. Any CopyConstructor + * you give this may have a `poolSize` property, and will look for a + * prototypical `destructor` on instances. + * + * @param {Function} CopyConstructor Constructor that can be used to reset. + * @param {Function} pooler Customizable pooler. + */ + var addPoolingTo = function (CopyConstructor, pooler) { + // Casting as any so that flow ignores the actual implementation and trusts + // it to match the type we declared + var NewKlass = CopyConstructor; + NewKlass.instancePool = []; + NewKlass.getPooled = pooler || DEFAULT_POOLER; + if (!NewKlass.poolSize) { + NewKlass.poolSize = DEFAULT_POOL_SIZE; + } + NewKlass.release = standardReleaser; + return NewKlass; + }; + + var PooledClass = { + addPoolingTo: addPoolingTo, + oneArgumentPooler: oneArgumentPooler, + twoArgumentPooler: twoArgumentPooler, + threeArgumentPooler: threeArgumentPooler, + fourArgumentPooler: fourArgumentPooler, + fiveArgumentPooler: fiveArgumentPooler + }; + + module.exports = PooledClass; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + +/***/ }, +/* 81 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8462,12 +8465,11 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule getTextContentAccessor */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(39); + var ExecutionEnvironment = __webpack_require__(78); var contentKey = null; @@ -8489,7 +8491,7 @@ module.exports = getTextContentAccessor; /***/ }, -/* 85 */ +/* 82 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8500,12 +8502,11 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule SyntheticCompositionEvent */ 'use strict'; - var SyntheticEvent = __webpack_require__(86); + var SyntheticEvent = __webpack_require__(83); /** * @interface Event @@ -8530,7 +8531,7 @@ module.exports = SyntheticCompositionEvent; /***/ }, -/* 86 */ +/* 83 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -8541,17 +8542,16 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule SyntheticEvent */ 'use strict'; var _assign = __webpack_require__(23); - var PooledClass = __webpack_require__(25); + var PooledClass = __webpack_require__(80); - var emptyFunction = __webpack_require__(30); - var warning = __webpack_require__(29); + var emptyFunction = __webpack_require__(31); + var warning = __webpack_require__(30); var didWarnForAddedNewProperty = false; var isProxySupported = typeof Proxy === 'function'; @@ -8648,7 +8648,8 @@ if (event.preventDefault) { event.preventDefault(); - } else { + } else if (typeof event.returnValue !== 'unknown') { + // eslint-disable-line valid-typeof event.returnValue = false; } this.isDefaultPrevented = emptyFunction.thatReturnsTrue; @@ -8662,9 +8663,16 @@ if (event.stopPropagation) { event.stopPropagation(); - } else { + } else if (typeof event.cancelBubble !== 'unknown') { + // eslint-disable-line valid-typeof + // The ChangeEventPlugin registers a "propertychange" event for + // IE. This event does not support bubbling or cancelling, and + // any references to cancelBubble throw "Member not found". A + // typeof check of "unknown" circumvents this issue (and is also + // IE specific). event.cancelBubble = true; } + this.isPropagationStopped = emptyFunction.thatReturnsTrue; }, @@ -8700,10 +8708,9 @@ this[shouldBeReleasedProperties[i]] = null; } if (process.env.NODE_ENV !== 'production') { - var noop = __webpack_require__(30); Object.defineProperty(this, 'nativeEvent', getPooledWarningPropertyDefinition('nativeEvent', null)); - Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', noop)); - Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', noop)); + Object.defineProperty(this, 'preventDefault', getPooledWarningPropertyDefinition('preventDefault', emptyFunction)); + Object.defineProperty(this, 'stopPropagation', getPooledWarningPropertyDefinition('stopPropagation', emptyFunction)); } } @@ -8797,7 +8804,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 87 */ +/* 84 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8808,12 +8815,11 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule SyntheticInputEvent */ 'use strict'; - var SyntheticEvent = __webpack_require__(86); + var SyntheticEvent = __webpack_require__(83); /** * @interface Event @@ -8839,7 +8845,7 @@ module.exports = SyntheticInputEvent; /***/ }, -/* 88 */ +/* 85 */ /***/ function(module, exports, __webpack_require__) { /** @@ -8850,33 +8856,28 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ChangeEventPlugin */ 'use strict'; - var EventConstants = __webpack_require__(75); - var EventPluginHub = __webpack_require__(77); - var EventPropagators = __webpack_require__(76); - var ExecutionEnvironment = __webpack_require__(39); - var ReactDOMComponentTree = __webpack_require__(70); - var ReactUpdates = __webpack_require__(89); - var SyntheticEvent = __webpack_require__(86); - - var getEventTarget = __webpack_require__(96); - var isEventSupported = __webpack_require__(97); - var isTextInputElement = __webpack_require__(98); - var keyOf = __webpack_require__(50); + var EventPluginHub = __webpack_require__(72); + var EventPropagators = __webpack_require__(71); + var ExecutionEnvironment = __webpack_require__(78); + var ReactDOMComponentTree = __webpack_require__(64); + var ReactUpdates = __webpack_require__(86); + var SyntheticEvent = __webpack_require__(83); - var topLevelTypes = EventConstants.topLevelTypes; + var getEventTarget = __webpack_require__(99); + var isEventSupported = __webpack_require__(100); + var isTextInputElement = __webpack_require__(101); var eventTypes = { change: { phasedRegistrationNames: { - bubbled: keyOf({ onChange: null }), - captured: keyOf({ onChangeCapture: null }) + bubbled: 'onChange', + captured: 'onChangeCapture' }, - dependencies: [topLevelTypes.topBlur, topLevelTypes.topChange, topLevelTypes.topClick, topLevelTypes.topFocus, topLevelTypes.topInput, topLevelTypes.topKeyDown, topLevelTypes.topKeyUp, topLevelTypes.topSelectionChange] + dependencies: ['topBlur', 'topChange', 'topClick', 'topFocus', 'topInput', 'topKeyDown', 'topKeyUp', 'topSelectionChange'] } }; @@ -8899,7 +8900,7 @@ var doesChangeEventBubble = false; if (ExecutionEnvironment.canUseDOM) { // See `handleChange` comment below - doesChangeEventBubble = isEventSupported('change') && (!('documentMode' in document) || document.documentMode > 8); + doesChangeEventBubble = isEventSupported('change') && (!document.documentMode || document.documentMode > 8); } function manualDispatchChangeEvent(nativeEvent) { @@ -8941,17 +8942,17 @@ } function getTargetInstForChangeEvent(topLevelType, targetInst) { - if (topLevelType === topLevelTypes.topChange) { + if (topLevelType === 'topChange') { return targetInst; } } function handleEventsForChangeEventIE8(topLevelType, target, targetInst) { - if (topLevelType === topLevelTypes.topFocus) { + if (topLevelType === 'topFocus') { // stopWatching() should be a noop here but we call it just in case we // missed a blur event somehow. stopWatchingForChangeEventIE8(); startWatchingForChangeEventIE8(target, targetInst); - } else if (topLevelType === topLevelTypes.topBlur) { + } else if (topLevelType === 'topBlur') { stopWatchingForChangeEventIE8(); } } @@ -8965,7 +8966,7 @@ // deleting text, so we ignore its input events. // IE10+ fire input events to often, such when a placeholder // changes or when an input with a placeholder is focused. - isInputEventSupported = isEventSupported('input') && (!('documentMode' in document) || document.documentMode > 11); + isInputEventSupported = isEventSupported('input') && (!document.documentMode || document.documentMode > 11); } /** @@ -9049,7 +9050,7 @@ * If a `change` event should be fired, returns the target's ID. */ function getTargetInstForInputEvent(topLevelType, targetInst) { - if (topLevelType === topLevelTypes.topInput) { + if (topLevelType === 'topInput') { // In modern browsers (i.e., not IE8 or IE9), the input event is exactly // what we want so fall through here and trigger an abstract event return targetInst; @@ -9057,7 +9058,7 @@ } function handleEventsForInputEventIE(topLevelType, target, targetInst) { - if (topLevelType === topLevelTypes.topFocus) { + if (topLevelType === 'topFocus') { // In IE8, we can capture almost all .value changes by adding a // propertychange handler and looking for events with propertyName // equal to 'value' @@ -9073,14 +9074,14 @@ // missed a blur event somehow. stopWatchingForValueChange(); startWatchingForValueChange(target, targetInst); - } else if (topLevelType === topLevelTypes.topBlur) { + } else if (topLevelType === 'topBlur') { stopWatchingForValueChange(); } } // For IE8 and IE9. function getTargetInstForInputEventIE(topLevelType, targetInst) { - if (topLevelType === topLevelTypes.topSelectionChange || topLevelType === topLevelTypes.topKeyUp || topLevelType === topLevelTypes.topKeyDown) { + if (topLevelType === 'topSelectionChange' || topLevelType === 'topKeyUp' || topLevelType === 'topKeyDown') { // On the selectionchange event, the target is just document which isn't // helpful for us so just check activeElement instead. // @@ -9109,7 +9110,7 @@ } function getTargetInstForClickEvent(topLevelType, targetInst) { - if (topLevelType === topLevelTypes.topClick) { + if (topLevelType === 'topClick') { return targetInst; } } @@ -9169,7 +9170,7 @@ module.exports = ChangeEventPlugin; /***/ }, -/* 89 */ +/* 86 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -9180,21 +9181,20 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactUpdates */ 'use strict'; - var _assign = __webpack_require__(23); + var _prodInvariant = __webpack_require__(65), + _assign = __webpack_require__(23); - var CallbackQueue = __webpack_require__(90); - var PooledClass = __webpack_require__(25); - var ReactFeatureFlags = __webpack_require__(91); - var ReactInstrumentation = __webpack_require__(37); - var ReactReconciler = __webpack_require__(92); - var Transaction = __webpack_require__(95); + var CallbackQueue = __webpack_require__(87); + var PooledClass = __webpack_require__(80); + var ReactFeatureFlags = __webpack_require__(88); + var ReactReconciler = __webpack_require__(89); + var Transaction = __webpack_require__(98); - var invariant = __webpack_require__(26); + var invariant = __webpack_require__(27); var dirtyComponents = []; var updateBatchNumber = 0; @@ -9204,7 +9204,7 @@ var batchingStrategy = null; function ensureInjected() { - !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching ' + 'strategy') : invariant(false) : void 0; + !(ReactUpdates.ReactReconcileTransaction && batchingStrategy) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must inject a reconcile transaction class and batching strategy') : _prodInvariant('123') : void 0; } var NESTED_UPDATES = { @@ -9245,7 +9245,7 @@ /* useCreateElement */true); } - _assign(ReactUpdatesFlushTransaction.prototype, Transaction.Mixin, { + _assign(ReactUpdatesFlushTransaction.prototype, Transaction, { getTransactionWrappers: function () { return TRANSACTION_WRAPPERS; }, @@ -9261,7 +9261,7 @@ perform: function (method, scope, a) { // Essentially calls `this.reconcileTransaction.perform(method, scope, a)` // with this transaction's wrappers around it. - return Transaction.Mixin.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a); + return Transaction.perform.call(this, this.reconcileTransaction.perform, this.reconcileTransaction, method, scope, a); } }); @@ -9269,7 +9269,7 @@ function batchedUpdates(callback, a, b, c, d, e) { ensureInjected(); - batchingStrategy.batchedUpdates(callback, a, b, c, d, e); + return batchingStrategy.batchedUpdates(callback, a, b, c, d, e); } /** @@ -9285,7 +9285,7 @@ function runBatchedUpdates(transaction) { var len = transaction.dirtyComponentsLength; - !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to ' + 'match dirty-components array length (%s).', len, dirtyComponents.length) : invariant(false) : void 0; + !(len === dirtyComponents.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Expected flush transaction\'s stored dirty-components length (%s) to match dirty-components array length (%s).', len, dirtyComponents.length) : _prodInvariant('124', len, dirtyComponents.length) : void 0; // Since reconciling a component higher in the owner hierarchy usually (not // always -- see shouldComponentUpdate()) will reconcile children, reconcile @@ -9315,7 +9315,7 @@ if (ReactFeatureFlags.logTopLevelRenders) { var namedComponent = component; // Duck type TopLevelWrapper. This is probably always true. - if (component._currentElement.props === component._renderedComponent._currentElement) { + if (component._currentElement.type.isReactTopLevelWrapper) { namedComponent = component._renderedComponent; } markerName = 'React update: ' + namedComponent.getName(); @@ -9337,10 +9337,6 @@ } var flushBatchedUpdates = function () { - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onBeginFlush(); - } - // ReactUpdatesFlushTransaction's wrappers will clear the dirtyComponents // array and perform any updates enqueued by mount-ready handlers (i.e., // componentDidUpdate) but we need to check here too in order to catch @@ -9360,10 +9356,6 @@ CallbackQueue.release(queue); } } - - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onEndFlush(); - } }; /** @@ -9376,7 +9368,7 @@ // Various parts of our code (such as ReactCompositeComponent's // _renderValidatedComponent) assume that calls to render aren't nested; // verify that that's the case. (This is called by each top-level update - // function, like setProps, setState, forceUpdate, etc.; creation and + // function, like setState, forceUpdate, etc.; creation and // destruction of top-level components is guarded in ReactMount.) if (!batchingStrategy.isBatchingUpdates) { @@ -9395,21 +9387,21 @@ * if no updates are currently being performed. */ function asap(callback, context) { - !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context where' + 'updates are not being batched.') : invariant(false) : void 0; + !batchingStrategy.isBatchingUpdates ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates.asap: Can\'t enqueue an asap callback in a context whereupdates are not being batched.') : _prodInvariant('125') : void 0; asapCallbackQueue.enqueue(callback, context); asapEnqueued = true; } var ReactUpdatesInjection = { injectReconcileTransaction: function (ReconcileTransaction) { - !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : invariant(false) : void 0; + !ReconcileTransaction ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a reconcile transaction class') : _prodInvariant('126') : void 0; ReactUpdates.ReactReconcileTransaction = ReconcileTransaction; }, injectBatchingStrategy: function (_batchingStrategy) { - !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : invariant(false) : void 0; - !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : invariant(false) : void 0; - !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : invariant(false) : void 0; + !_batchingStrategy ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batching strategy') : _prodInvariant('127') : void 0; + !(typeof _batchingStrategy.batchedUpdates === 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide a batchedUpdates() function') : _prodInvariant('128') : void 0; + !(typeof _batchingStrategy.isBatchingUpdates === 'boolean') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactUpdates: must provide an isBatchingUpdates boolean attribute') : _prodInvariant('129') : void 0; batchingStrategy = _batchingStrategy; } }; @@ -9434,7 +9426,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 90 */ +/* 87 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -9445,16 +9437,18 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule CallbackQueue + * */ 'use strict'; - var _assign = __webpack_require__(23); + var _prodInvariant = __webpack_require__(65); - var PooledClass = __webpack_require__(25); + function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } - var invariant = __webpack_require__(26); + var PooledClass = __webpack_require__(80); + + var invariant = __webpack_require__(27); /** * A specialized pseudo-event module to help keep track of components waiting to @@ -9467,12 +9461,15 @@ * @implements PooledClass * @internal */ - function CallbackQueue() { - this._callbacks = null; - this._contexts = null; - } - _assign(CallbackQueue.prototype, { + var CallbackQueue = function () { + function CallbackQueue(arg) { + _classCallCheck(this, CallbackQueue); + + this._callbacks = null; + this._contexts = null; + this._arg = arg; + } /** * Enqueues a callback to be invoked when `notifyAll` is invoked. @@ -9481,12 +9478,14 @@ * @param {?object} context Context to call `callback` with. * @internal */ - enqueue: function (callback, context) { + + + CallbackQueue.prototype.enqueue = function enqueue(callback, context) { this._callbacks = this._callbacks || []; - this._contexts = this._contexts || []; this._callbacks.push(callback); + this._contexts = this._contexts || []; this._contexts.push(context); - }, + }; /** * Invokes all enqueued callbacks and clears the queue. This is invoked after @@ -9494,58 +9493,64 @@ * * @internal */ - notifyAll: function () { + + + CallbackQueue.prototype.notifyAll = function notifyAll() { var callbacks = this._callbacks; var contexts = this._contexts; - if (callbacks) { - !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : invariant(false) : void 0; + var arg = this._arg; + if (callbacks && contexts) { + !(callbacks.length === contexts.length) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Mismatched list of contexts in callback queue') : _prodInvariant('24') : void 0; this._callbacks = null; this._contexts = null; for (var i = 0; i < callbacks.length; i++) { - callbacks[i].call(contexts[i]); + callbacks[i].call(contexts[i], arg); } callbacks.length = 0; contexts.length = 0; } - }, + }; - checkpoint: function () { + CallbackQueue.prototype.checkpoint = function checkpoint() { return this._callbacks ? this._callbacks.length : 0; - }, + }; - rollback: function (len) { - if (this._callbacks) { + CallbackQueue.prototype.rollback = function rollback(len) { + if (this._callbacks && this._contexts) { this._callbacks.length = len; this._contexts.length = len; } - }, + }; /** * Resets the internal queue. * * @internal */ - reset: function () { + + + CallbackQueue.prototype.reset = function reset() { this._callbacks = null; this._contexts = null; - }, + }; /** * `PooledClass` looks for this. */ - destructor: function () { - this.reset(); - } - }); - PooledClass.addPoolingTo(CallbackQueue); + CallbackQueue.prototype.destructor = function destructor() { + this.reset(); + }; - module.exports = CallbackQueue; + return CallbackQueue; + }(); + + module.exports = PooledClass.addPoolingTo(CallbackQueue); /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 91 */ +/* 88 */ /***/ function(module, exports) { /** @@ -9556,7 +9561,7 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactFeatureFlags + * */ 'use strict'; @@ -9571,7 +9576,7 @@ module.exports = ReactFeatureFlags; /***/ }, -/* 92 */ +/* 89 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -9582,15 +9587,14 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactReconciler */ 'use strict'; - var ReactRef = __webpack_require__(93); - var ReactInstrumentation = __webpack_require__(37); + var ReactRef = __webpack_require__(90); + var ReactInstrumentation = __webpack_require__(92); - var invariant = __webpack_require__(26); + var warning = __webpack_require__(30); /** * Helper to call ReactRef.attachRefs with this composite component, split out @@ -9607,25 +9611,25 @@ * * @param {ReactComponent} internalInstance * @param {ReactReconcileTransaction|ReactServerRenderingTransaction} transaction - * @param {?object} the containing native component instance - * @param {?object} info about the native container + * @param {?object} the containing host component instance + * @param {?object} info about the host container * @return {?string} Rendered markup to be inserted into the DOM. * @final * @internal */ - mountComponent: function (internalInstance, transaction, nativeParent, nativeContainerInfo, context) { + mountComponent: function (internalInstance, transaction, hostParent, hostContainerInfo, context, parentDebugID // 0 in production and for roots + ) { if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'mountComponent'); + ReactInstrumentation.debugTool.onBeforeMountComponent(internalInstance._debugID, internalInstance._currentElement, parentDebugID); } } - var markup = internalInstance.mountComponent(transaction, nativeParent, nativeContainerInfo, context); + var markup = internalInstance.mountComponent(transaction, hostParent, hostContainerInfo, context, parentDebugID); if (internalInstance._currentElement && internalInstance._currentElement.ref != null) { transaction.getReactMountReady().enqueue(attachRefs, internalInstance); } if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'mountComponent'); ReactInstrumentation.debugTool.onMountComponent(internalInstance._debugID); } } @@ -9636,8 +9640,8 @@ * Returns a value that can be passed to * ReactComponentEnvironment.replaceNodeWithMarkup. */ - getNativeNode: function (internalInstance) { - return internalInstance.getNativeNode(); + getHostNode: function (internalInstance) { + return internalInstance.getHostNode(); }, /** @@ -9649,14 +9653,13 @@ unmountComponent: function (internalInstance, safely) { if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'unmountComponent'); + ReactInstrumentation.debugTool.onBeforeUnmountComponent(internalInstance._debugID); } } ReactRef.detachRefs(internalInstance, internalInstance._currentElement); internalInstance.unmountComponent(safely); if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'unmountComponent'); ReactInstrumentation.debugTool.onUnmountComponent(internalInstance._debugID); } } @@ -9690,7 +9693,7 @@ if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'receiveComponent'); + ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, nextElement); } } @@ -9708,7 +9711,6 @@ if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'receiveComponent'); ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); } } @@ -9725,18 +9727,17 @@ if (internalInstance._updateBatchNumber !== updateBatchNumber) { // The component's enqueued batch number should always be the current // batch or the following one. - !(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : invariant(false) : void 0; + process.env.NODE_ENV !== 'production' ? warning(internalInstance._updateBatchNumber == null || internalInstance._updateBatchNumber === updateBatchNumber + 1, 'performUpdateIfNecessary: Unexpected batch number (current %s, ' + 'pending %s)', updateBatchNumber, internalInstance._updateBatchNumber) : void 0; return; } if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onBeginReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary'); + ReactInstrumentation.debugTool.onBeforeUpdateComponent(internalInstance._debugID, internalInstance._currentElement); } } internalInstance.performUpdateIfNecessary(transaction); if (process.env.NODE_ENV !== 'production') { if (internalInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onEndReconcilerTimer(internalInstance._debugID, 'performUpdateIfNecessary'); ReactInstrumentation.debugTool.onUpdateComponent(internalInstance._debugID); } } @@ -9748,7 +9749,7 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 93 */ +/* 90 */ /***/ function(module, exports, __webpack_require__) { /** @@ -9759,12 +9760,12 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactRef + * */ 'use strict'; - var ReactOwner = __webpack_require__(94); + var ReactOwner = __webpack_require__(91); var ReactRef = {}; @@ -9787,7 +9788,7 @@ } ReactRef.attachRefs = function (instance, element) { - if (element === null || element === false) { + if (element === null || typeof element !== 'object') { return; } var ref = element.ref; @@ -9809,17 +9810,27 @@ // is made. It probably belongs where the key checking and // instantiateReactComponent is done. - var prevEmpty = prevElement === null || prevElement === false; - var nextEmpty = nextElement === null || nextElement === false; + var prevRef = null; + var prevOwner = null; + if (prevElement !== null && typeof prevElement === 'object') { + prevRef = prevElement.ref; + prevOwner = prevElement._owner; + } - return( - // This has a few false positives w/r/t empty components. - prevEmpty || nextEmpty || nextElement._owner !== prevElement._owner || nextElement.ref !== prevElement.ref - ); + var nextRef = null; + var nextOwner = null; + if (nextElement !== null && typeof nextElement === 'object') { + nextRef = nextElement.ref; + nextOwner = nextElement._owner; + } + + return prevRef !== nextRef || + // If owner changes but we have an unchanged function ref, don't update refs + typeof nextRef === 'string' && nextOwner !== prevOwner; }; ReactRef.detachRefs = function (instance, element) { - if (element === null || element === false) { + if (element === null || typeof element !== 'object') { return; } var ref = element.ref; @@ -9831,7 +9842,7 @@ module.exports = ReactRef; /***/ }, -/* 94 */ +/* 91 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** @@ -9842,12 +9853,23 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactOwner + * */ 'use strict'; - var invariant = __webpack_require__(26); + var _prodInvariant = __webpack_require__(65); + + var invariant = __webpack_require__(27); + + /** + * @param {?object} object + * @return {boolean} True if `object` is a valid owner. + * @final + */ + function isValidOwner(object) { + return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); + } /** * ReactOwners are capable of storing references to owned components. @@ -9880,16 +9902,6 @@ * @class ReactOwner */ var ReactOwner = { - - /** - * @param {?object} object - * @return {boolean} True if `object` is a valid owner. - * @final - */ - isValidOwner: function (object) { - return !!(object && typeof object.attachRef === 'function' && typeof object.detachRef === 'function'); - }, - /** * Adds a component by ref to an owner component. * @@ -9900,7 +9912,7 @@ * @internal */ addComponentAsRefTo: function (component, ref, owner) { - !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might ' + 'be adding a ref to a component that was not created inside a component\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : void 0; + !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('119') : void 0; owner.attachRef(ref, component); }, @@ -9914,7 +9926,7 @@ * @internal */ removeComponentAsRefFrom: function (component, ref, owner) { - !ReactOwner.isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might ' + 'be removing a ref to a component that was not created inside a component\'s ' + '`render` method, or you have multiple copies of React loaded ' + '(details: https://fb.me/react-refs-must-have-owner).') : invariant(false) : void 0; + !isValidOwner(owner) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'removeComponentAsRefFrom(...): Only a ReactOwner can have refs. You might be removing a ref to a component that was not created inside a component\'s `render` method, or you have multiple copies of React loaded (details: https://fb.me/react-refs-must-have-owner).') : _prodInvariant('120') : void 0; var ownerPublicInstance = owner.getPublicInstance(); // Check that `component`'s owner is still alive and that `component` is still the current ref // because we do not want to detach the ref if another component stole it. @@ -9929,681 +9941,550 @@ /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 95 */ +/* 92 */ /***/ function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(process) {/** - * Copyright 2013-present, Facebook, Inc. + * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule Transaction + * */ 'use strict'; - var invariant = __webpack_require__(26); - - /** - * `Transaction` creates a black box that is able to wrap any method such that - * certain invariants are maintained before and after the method is invoked - * (Even if an exception is thrown while invoking the wrapped method). Whoever - * instantiates a transaction can provide enforcers of the invariants at - * creation time. The `Transaction` class itself will supply one additional - * automatic invariant for you - the invariant that any transaction instance - * should not be run while it is already being run. You would typically create a - * single instance of a `Transaction` for reuse multiple times, that potentially - * is used to wrap several different methods. Wrappers are extremely simple - - * they only require implementing two methods. - * - *
-	 *                       wrappers (injected at creation time)
-	 *                                      +        +
-	 *                                      |        |
-	 *                    +-----------------|--------|--------------+
-	 *                    |                 v        |              |
-	 *                    |      +---------------+   |              |
-	 *                    |   +--|    wrapper1   |---|----+         |
-	 *                    |   |  +---------------+   v    |         |
-	 *                    |   |          +-------------+  |         |
-	 *                    |   |     +----|   wrapper2  |--------+   |
-	 *                    |   |     |    +-------------+  |     |   |
-	 *                    |   |     |                     |     |   |
-	 *                    |   v     v                     v     v   | wrapper
-	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
-	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
-	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
-	 *                    | |   | |   |   |         |   |   | |   | |
-	 *                    | |   | |   |   |         |   |   | |   | |
-	 *                    | |   | |   |   |         |   |   | |   | |
-	 *                    | +---+ +---+   +---------+   +---+ +---+ |
-	 *                    |  initialize                    close    |
-	 *                    +-----------------------------------------+
-	 * 
- * - * Use cases: - * - Preserving the input selection ranges before/after reconciliation. - * Restoring selection even in the event of an unexpected error. - * - Deactivating events while rearranging the DOM, preventing blurs/focuses, - * while guaranteeing that afterwards, the event system is reactivated. - * - Flushing a queue of collected DOM mutations to the main UI thread after a - * reconciliation takes place in a worker thread. - * - Invoking any collected `componentDidUpdate` callbacks after rendering new - * content. - * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue - * to preserve the `scrollTop` (an automatic scroll aware DOM). - * - (Future use case): Layout calculations before and after DOM updates. - * - * Transactional plugin API: - * - A module that has an `initialize` method that returns any precomputation. - * - and a `close` method that accepts the precomputation. `close` is invoked - * when the wrapped process is completed, or has failed. - * - * @param {Array} transactionWrapper Wrapper modules - * that implement `initialize` and `close`. - * @return {Transaction} Single transaction for reuse in thread. - * - * @class Transaction - */ - var Mixin = { - /** - * Sets up this instance so that it is prepared for collecting metrics. Does - * so such that this setup method may be used on an instance that is already - * initialized, in a way that does not consume additional memory upon reuse. - * That can be useful if you decide to make your subclass of this mixin a - * "PooledClass". - */ - reinitializeTransaction: function () { - this.transactionWrappers = this.getTransactionWrappers(); - if (this.wrapperInitData) { - this.wrapperInitData.length = 0; - } else { - this.wrapperInitData = []; - } - this._isInTransaction = false; - }, - - _isInTransaction: false, - - /** - * @abstract - * @return {Array} Array of transaction wrappers. - */ - getTransactionWrappers: null, - - isInTransaction: function () { - return !!this._isInTransaction; - }, - - /** - * Executes the function within a safety window. Use this for the top level - * methods that result in large amounts of computation/mutations that would - * need to be safety checked. The optional arguments helps prevent the need - * to bind in many cases. - * - * @param {function} method Member of scope to call. - * @param {Object} scope Scope to invoke from. - * @param {Object?=} a Argument to pass to the method. - * @param {Object?=} b Argument to pass to the method. - * @param {Object?=} c Argument to pass to the method. - * @param {Object?=} d Argument to pass to the method. - * @param {Object?=} e Argument to pass to the method. - * @param {Object?=} f Argument to pass to the method. - * - * @return {*} Return value from `method`. - */ - perform: function (method, scope, a, b, c, d, e, f) { - !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there ' + 'is already an outstanding transaction.') : invariant(false) : void 0; - var errorThrown; - var ret; - try { - this._isInTransaction = true; - // Catching errors makes debugging more difficult, so we start with - // errorThrown set to true before setting it to false after calling - // close -- if it's still set to true in the finally block, it means - // one of these calls threw. - errorThrown = true; - this.initializeAll(0); - ret = method.call(scope, a, b, c, d, e, f); - errorThrown = false; - } finally { - try { - if (errorThrown) { - // If `method` throws, prefer to show that stack trace over any thrown - // by invoking `closeAll`. - try { - this.closeAll(0); - } catch (err) {} - } else { - // Since `method` didn't throw, we don't want to silence the exception - // here. - this.closeAll(0); - } - } finally { - this._isInTransaction = false; - } - } - return ret; - }, - - initializeAll: function (startIndex) { - var transactionWrappers = this.transactionWrappers; - for (var i = startIndex; i < transactionWrappers.length; i++) { - var wrapper = transactionWrappers[i]; - try { - // Catching errors makes debugging more difficult, so we start with the - // OBSERVED_ERROR state before overwriting it with the real return value - // of initialize -- if it's still set to OBSERVED_ERROR in the finally - // block, it means wrapper.initialize threw. - this.wrapperInitData[i] = Transaction.OBSERVED_ERROR; - this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; - } finally { - if (this.wrapperInitData[i] === Transaction.OBSERVED_ERROR) { - // The initializer for wrapper i threw an error; initialize the - // remaining wrappers but silence any exceptions from them to ensure - // that the first error is the one to bubble up. - try { - this.initializeAll(i + 1); - } catch (err) {} - } - } - } - }, - - /** - * Invokes each of `this.transactionWrappers.close[i]` functions, passing into - * them the respective return values of `this.transactionWrappers.init[i]` - * (`close`rs that correspond to initializers that failed will not be - * invoked). - */ - closeAll: function (startIndex) { - !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : invariant(false) : void 0; - var transactionWrappers = this.transactionWrappers; - for (var i = startIndex; i < transactionWrappers.length; i++) { - var wrapper = transactionWrappers[i]; - var initData = this.wrapperInitData[i]; - var errorThrown; - try { - // Catching errors makes debugging more difficult, so we start with - // errorThrown set to true before setting it to false after calling - // close -- if it's still set to true in the finally block, it means - // wrapper.close threw. - errorThrown = true; - if (initData !== Transaction.OBSERVED_ERROR && wrapper.close) { - wrapper.close.call(this, initData); - } - errorThrown = false; - } finally { - if (errorThrown) { - // The closer for wrapper i threw an error; close the remaining - // wrappers but silence any exceptions from them to ensure that the - // first error is the one to bubble up. - try { - this.closeAll(i + 1); - } catch (e) {} - } - } - } - this.wrapperInitData.length = 0; - } - }; - - var Transaction = { - - Mixin: Mixin, + // Trust the developer to only use ReactInstrumentation with a __DEV__ check - /** - * Token to look for to determine if an error occurred. - */ - OBSERVED_ERROR: {} + var debugTool = null; - }; + if (process.env.NODE_ENV !== 'production') { + var ReactDebugTool = __webpack_require__(93); + debugTool = ReactDebugTool; + } - module.exports = Transaction; + module.exports = { debugTool: debugTool }; /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 96 */ -/***/ function(module, exports) { +/* 93 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Copyright 2013-present, Facebook, Inc. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule getEventTarget + * */ 'use strict'; - /** - * Gets the target node from a native browser event by accounting for - * inconsistencies in browser DOM APIs. - * - * @param {object} nativeEvent Native browser event. - * @return {DOMEventTarget} Target node. - */ + var ReactInvalidSetStateWarningHook = __webpack_require__(94); + var ReactHostOperationHistoryHook = __webpack_require__(95); + var ReactComponentTreeHook = __webpack_require__(45); + var ExecutionEnvironment = __webpack_require__(78); - function getEventTarget(nativeEvent) { - var target = nativeEvent.target || nativeEvent.srcElement || window; + var performanceNow = __webpack_require__(96); + var warning = __webpack_require__(30); - // Normalize SVG element events #4963 - if (target.correspondingUseElement) { - target = target.correspondingUseElement; - } + var hooks = []; + var didHookThrowForEvent = {}; - // Safari may fire events on text nodes (Node.TEXT_NODE is 3). - // @see http://www.quirksmode.org/js/events_properties.html - return target.nodeType === 3 ? target.parentNode : target; + function callHook(event, fn, context, arg1, arg2, arg3, arg4, arg5) { + try { + fn.call(context, arg1, arg2, arg3, arg4, arg5); + } catch (e) { + process.env.NODE_ENV !== 'production' ? warning(didHookThrowForEvent[event], 'Exception thrown by hook while handling %s: %s', event, e + '\n' + e.stack) : void 0; + didHookThrowForEvent[event] = true; + } } - module.exports = getEventTarget; + function emitEvent(event, arg1, arg2, arg3, arg4, arg5) { + for (var i = 0; i < hooks.length; i++) { + var hook = hooks[i]; + var fn = hook[event]; + if (fn) { + callHook(event, fn, hook, arg1, arg2, arg3, arg4, arg5); + } + } + } -/***/ }, -/* 97 */ -/***/ function(module, exports, __webpack_require__) { + var isProfiling = false; + var flushHistory = []; + var lifeCycleTimerStack = []; + var currentFlushNesting = 0; + var currentFlushMeasurements = []; + var currentFlushStartTime = 0; + var currentTimerDebugID = null; + var currentTimerStartTime = 0; + var currentTimerNestedFlushDuration = 0; + var currentTimerType = null; - /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule isEventSupported - */ + var lifeCycleTimerHasWarned = false; - 'use strict'; + function clearHistory() { + ReactComponentTreeHook.purgeUnmountedComponents(); + ReactHostOperationHistoryHook.clearHistory(); + } + + function getTreeSnapshot(registeredIDs) { + return registeredIDs.reduce(function (tree, id) { + var ownerID = ReactComponentTreeHook.getOwnerID(id); + var parentID = ReactComponentTreeHook.getParentID(id); + tree[id] = { + displayName: ReactComponentTreeHook.getDisplayName(id), + text: ReactComponentTreeHook.getText(id), + updateCount: ReactComponentTreeHook.getUpdateCount(id), + childIDs: ReactComponentTreeHook.getChildIDs(id), + // Text nodes don't have owners but this is close enough. + ownerID: ownerID || parentID && ReactComponentTreeHook.getOwnerID(parentID) || 0, + parentID: parentID + }; + return tree; + }, {}); + } - var ExecutionEnvironment = __webpack_require__(39); + function resetMeasurements() { + var previousStartTime = currentFlushStartTime; + var previousMeasurements = currentFlushMeasurements; + var previousOperations = ReactHostOperationHistoryHook.getHistory(); - var useHasFeature; - if (ExecutionEnvironment.canUseDOM) { - useHasFeature = document.implementation && document.implementation.hasFeature && - // always returns true in newer browsers as per the standard. - // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature - document.implementation.hasFeature('', '') !== true; + if (currentFlushNesting === 0) { + currentFlushStartTime = 0; + currentFlushMeasurements = []; + clearHistory(); + return; + } + + if (previousMeasurements.length || previousOperations.length) { + var registeredIDs = ReactComponentTreeHook.getRegisteredIDs(); + flushHistory.push({ + duration: performanceNow() - previousStartTime, + measurements: previousMeasurements || [], + operations: previousOperations || [], + treeSnapshot: getTreeSnapshot(registeredIDs) + }); + } + + clearHistory(); + currentFlushStartTime = performanceNow(); + currentFlushMeasurements = []; } - /** - * Checks if an event is supported in the current execution environment. - * - * NOTE: This will not work correctly for non-generic events such as `change`, - * `reset`, `load`, `error`, and `select`. - * - * Borrows from Modernizr. - * - * @param {string} eventNameSuffix Event name, e.g. "click". - * @param {?boolean} capture Check if the capture phase is supported. - * @return {boolean} True if the event is supported. - * @internal - * @license Modernizr 3.0.0pre (Custom Build) | MIT - */ - function isEventSupported(eventNameSuffix, capture) { - if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { + function checkDebugID(debugID) { + var allowRoot = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; + + if (allowRoot && debugID === 0) { + return; + } + if (!debugID) { + process.env.NODE_ENV !== 'production' ? warning(false, 'ReactDebugTool: debugID may not be empty.') : void 0; + } + } + + function beginLifeCycleTimer(debugID, timerType) { + if (currentFlushNesting === 0) { + return; + } + if (currentTimerType && !lifeCycleTimerHasWarned) { + process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'Did not expect %s timer to start while %s timer is still in ' + 'progress for %s instance.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } + currentTimerStartTime = performanceNow(); + currentTimerNestedFlushDuration = 0; + currentTimerDebugID = debugID; + currentTimerType = timerType; + } + + function endLifeCycleTimer(debugID, timerType) { + if (currentFlushNesting === 0) { + return; + } + if (currentTimerType !== timerType && !lifeCycleTimerHasWarned) { + process.env.NODE_ENV !== 'production' ? warning(false, 'There is an internal error in the React performance measurement code. ' + 'We did not expect %s timer to stop while %s timer is still in ' + 'progress for %s instance. Please report this as a bug in React.', timerType, currentTimerType || 'no', debugID === currentTimerDebugID ? 'the same' : 'another') : void 0; + lifeCycleTimerHasWarned = true; + } + if (isProfiling) { + currentFlushMeasurements.push({ + timerType: timerType, + instanceID: debugID, + duration: performanceNow() - currentTimerStartTime - currentTimerNestedFlushDuration + }); + } + currentTimerStartTime = 0; + currentTimerNestedFlushDuration = 0; + currentTimerDebugID = null; + currentTimerType = null; + } + + function pauseCurrentLifeCycleTimer() { + var currentTimer = { + startTime: currentTimerStartTime, + nestedFlushStartTime: performanceNow(), + debugID: currentTimerDebugID, + timerType: currentTimerType + }; + lifeCycleTimerStack.push(currentTimer); + currentTimerStartTime = 0; + currentTimerNestedFlushDuration = 0; + currentTimerDebugID = null; + currentTimerType = null; + } + + function resumeCurrentLifeCycleTimer() { + var _lifeCycleTimerStack$ = lifeCycleTimerStack.pop(), + startTime = _lifeCycleTimerStack$.startTime, + nestedFlushStartTime = _lifeCycleTimerStack$.nestedFlushStartTime, + debugID = _lifeCycleTimerStack$.debugID, + timerType = _lifeCycleTimerStack$.timerType; + + var nestedFlushDuration = performanceNow() - nestedFlushStartTime; + currentTimerStartTime = startTime; + currentTimerNestedFlushDuration += nestedFlushDuration; + currentTimerDebugID = debugID; + currentTimerType = timerType; + } + + var lastMarkTimeStamp = 0; + var canUsePerformanceMeasure = + // $FlowFixMe https://github.com/facebook/flow/issues/2345 + typeof performance !== 'undefined' && typeof performance.mark === 'function' && typeof performance.clearMarks === 'function' && typeof performance.measure === 'function' && typeof performance.clearMeasures === 'function'; + + function shouldMark(debugID) { + if (!isProfiling || !canUsePerformanceMeasure) { + return false; + } + var element = ReactComponentTreeHook.getElement(debugID); + if (element == null || typeof element !== 'object') { + return false; + } + var isHostElement = typeof element.type === 'string'; + if (isHostElement) { return false; } + return true; + } + + function markBegin(debugID, markType) { + if (!shouldMark(debugID)) { + return; + } - var eventName = 'on' + eventNameSuffix; - var isSupported = eventName in document; + var markName = debugID + '::' + markType; + lastMarkTimeStamp = performanceNow(); + performance.mark(markName); + } - if (!isSupported) { - var element = document.createElement('div'); - element.setAttribute(eventName, 'return;'); - isSupported = typeof element[eventName] === 'function'; + function markEnd(debugID, markType) { + if (!shouldMark(debugID)) { + return; } - if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { - // This is the only way to test support for the `wheel` event in IE9+. - isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); + var markName = debugID + '::' + markType; + var displayName = ReactComponentTreeHook.getDisplayName(debugID) || 'Unknown'; + + // Chrome has an issue of dropping markers recorded too fast: + // https://bugs.chromium.org/p/chromium/issues/detail?id=640652 + // To work around this, we will not report very small measurements. + // I determined the magic number by tweaking it back and forth. + // 0.05ms was enough to prevent the issue, but I set it to 0.1ms to be safe. + // When the bug is fixed, we can `measure()` unconditionally if we want to. + var timeStamp = performanceNow(); + if (timeStamp - lastMarkTimeStamp > 0.1) { + var measurementName = displayName + ' [' + markType + ']'; + performance.measure(measurementName, markName); } - return isSupported; + performance.clearMarks(markName); + performance.clearMeasures(measurementName); } - module.exports = isEventSupported; + var ReactDebugTool = { + addHook: function (hook) { + hooks.push(hook); + }, + removeHook: function (hook) { + for (var i = 0; i < hooks.length; i++) { + if (hooks[i] === hook) { + hooks.splice(i, 1); + i--; + } + } + }, + isProfiling: function () { + return isProfiling; + }, + beginProfiling: function () { + if (isProfiling) { + return; + } + + isProfiling = true; + flushHistory.length = 0; + resetMeasurements(); + ReactDebugTool.addHook(ReactHostOperationHistoryHook); + }, + endProfiling: function () { + if (!isProfiling) { + return; + } + + isProfiling = false; + resetMeasurements(); + ReactDebugTool.removeHook(ReactHostOperationHistoryHook); + }, + getFlushHistory: function () { + return flushHistory; + }, + onBeginFlush: function () { + currentFlushNesting++; + resetMeasurements(); + pauseCurrentLifeCycleTimer(); + emitEvent('onBeginFlush'); + }, + onEndFlush: function () { + resetMeasurements(); + currentFlushNesting--; + resumeCurrentLifeCycleTimer(); + emitEvent('onEndFlush'); + }, + onBeginLifeCycleTimer: function (debugID, timerType) { + checkDebugID(debugID); + emitEvent('onBeginLifeCycleTimer', debugID, timerType); + markBegin(debugID, timerType); + beginLifeCycleTimer(debugID, timerType); + }, + onEndLifeCycleTimer: function (debugID, timerType) { + checkDebugID(debugID); + endLifeCycleTimer(debugID, timerType); + markEnd(debugID, timerType); + emitEvent('onEndLifeCycleTimer', debugID, timerType); + }, + onBeginProcessingChildContext: function () { + emitEvent('onBeginProcessingChildContext'); + }, + onEndProcessingChildContext: function () { + emitEvent('onEndProcessingChildContext'); + }, + onHostOperation: function (operation) { + checkDebugID(operation.instanceID); + emitEvent('onHostOperation', operation); + }, + onSetState: function () { + emitEvent('onSetState'); + }, + onSetChildren: function (debugID, childDebugIDs) { + checkDebugID(debugID); + childDebugIDs.forEach(checkDebugID); + emitEvent('onSetChildren', debugID, childDebugIDs); + }, + onBeforeMountComponent: function (debugID, element, parentDebugID) { + checkDebugID(debugID); + checkDebugID(parentDebugID, true); + emitEvent('onBeforeMountComponent', debugID, element, parentDebugID); + markBegin(debugID, 'mount'); + }, + onMountComponent: function (debugID) { + checkDebugID(debugID); + markEnd(debugID, 'mount'); + emitEvent('onMountComponent', debugID); + }, + onBeforeUpdateComponent: function (debugID, element) { + checkDebugID(debugID); + emitEvent('onBeforeUpdateComponent', debugID, element); + markBegin(debugID, 'update'); + }, + onUpdateComponent: function (debugID) { + checkDebugID(debugID); + markEnd(debugID, 'update'); + emitEvent('onUpdateComponent', debugID); + }, + onBeforeUnmountComponent: function (debugID) { + checkDebugID(debugID); + emitEvent('onBeforeUnmountComponent', debugID); + markBegin(debugID, 'unmount'); + }, + onUnmountComponent: function (debugID) { + checkDebugID(debugID); + markEnd(debugID, 'unmount'); + emitEvent('onUnmountComponent', debugID); + }, + onTestEvent: function () { + emitEvent('onTestEvent'); + } + }; + + // TODO remove these when RN/www gets updated + ReactDebugTool.addDevtool = ReactDebugTool.addHook; + ReactDebugTool.removeDevtool = ReactDebugTool.removeHook; + + ReactDebugTool.addHook(ReactInvalidSetStateWarningHook); + ReactDebugTool.addHook(ReactComponentTreeHook); + var url = ExecutionEnvironment.canUseDOM && window.location.href || ''; + if (/[?&]react_perf\b/.test(url)) { + ReactDebugTool.beginProfiling(); + } + + module.exports = ReactDebugTool; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 98 */ -/***/ function(module, exports) { +/* 94 */ +/***/ function(module, exports, __webpack_require__) { - /** - * Copyright 2013-present, Facebook, Inc. + /* WEBPACK VAR INJECTION */(function(process) {/** + * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule isTextInputElement + * */ 'use strict'; - /** - * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary - */ + var warning = __webpack_require__(30); - var supportedInputTypes = { - 'color': true, - 'date': true, - 'datetime': true, - 'datetime-local': true, - 'email': true, - 'month': true, - 'number': true, - 'password': true, - 'range': true, - 'search': true, - 'tel': true, - 'text': true, - 'time': true, - 'url': true, - 'week': true - }; + if (process.env.NODE_ENV !== 'production') { + var processingChildContext = false; - function isTextInputElement(elem) { - var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); - return nodeName && (nodeName === 'input' && supportedInputTypes[elem.type] || nodeName === 'textarea'); + var warnInvalidSetState = function () { + process.env.NODE_ENV !== 'production' ? warning(!processingChildContext, 'setState(...): Cannot call setState() inside getChildContext()') : void 0; + }; } - module.exports = isTextInputElement; + var ReactInvalidSetStateWarningHook = { + onBeginProcessingChildContext: function () { + processingChildContext = true; + }, + onEndProcessingChildContext: function () { + processingChildContext = false; + }, + onSetState: function () { + warnInvalidSetState(); + } + }; + + module.exports = ReactInvalidSetStateWarningHook; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) /***/ }, -/* 99 */ -/***/ function(module, exports, __webpack_require__) { +/* 95 */ +/***/ function(module, exports) { /** - * Copyright 2013-present, Facebook, Inc. + * Copyright 2016-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule DefaultEventPluginOrder + * */ 'use strict'; - var keyOf = __webpack_require__(50); - - /** - * Module that is injectable into `EventPluginHub`, that specifies a - * deterministic ordering of `EventPlugin`s. A convenient way to reason about - * plugins, without having to package every one of them. This is better than - * having plugins be ordered in the same order that they are injected because - * that ordering would be influenced by the packaging order. - * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that - * preventing default on events is convenient in `SimpleEventPlugin` handlers. - */ - var DefaultEventPluginOrder = [keyOf({ ResponderEventPlugin: null }), keyOf({ SimpleEventPlugin: null }), keyOf({ TapEventPlugin: null }), keyOf({ EnterLeaveEventPlugin: null }), keyOf({ ChangeEventPlugin: null }), keyOf({ SelectEventPlugin: null }), keyOf({ BeforeInputEventPlugin: null })]; - - module.exports = DefaultEventPluginOrder; + var history = []; -/***/ }, -/* 100 */ -/***/ function(module, exports, __webpack_require__) { - - /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule EnterLeaveEventPlugin - */ - - 'use strict'; - - var EventConstants = __webpack_require__(75); - var EventPropagators = __webpack_require__(76); - var ReactDOMComponentTree = __webpack_require__(70); - var SyntheticMouseEvent = __webpack_require__(101); - - var keyOf = __webpack_require__(50); - - var topLevelTypes = EventConstants.topLevelTypes; - - var eventTypes = { - mouseEnter: { - registrationName: keyOf({ onMouseEnter: null }), - dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] + var ReactHostOperationHistoryHook = { + onHostOperation: function (operation) { + history.push(operation); }, - mouseLeave: { - registrationName: keyOf({ onMouseLeave: null }), - dependencies: [topLevelTypes.topMouseOut, topLevelTypes.topMouseOver] - } - }; - - var EnterLeaveEventPlugin = { - - eventTypes: eventTypes, - - /** - * For almost every interaction we care about, there will be both a top-level - * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that - * we do not extract duplicate events. However, moving the mouse into the - * browser from outside will not fire a `mouseout` event. In this case, we use - * the `mouseover` top-level event. - */ - extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { - if (topLevelType === topLevelTypes.topMouseOver && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { - return null; - } - if (topLevelType !== topLevelTypes.topMouseOut && topLevelType !== topLevelTypes.topMouseOver) { - // Must not be a mouse in or mouse out - ignoring. - return null; - } - - var win; - if (nativeEventTarget.window === nativeEventTarget) { - // `nativeEventTarget` is probably a window object. - win = nativeEventTarget; - } else { - // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. - var doc = nativeEventTarget.ownerDocument; - if (doc) { - win = doc.defaultView || doc.parentWindow; - } else { - win = window; - } - } - - var from; - var to; - if (topLevelType === topLevelTypes.topMouseOut) { - from = targetInst; - var related = nativeEvent.relatedTarget || nativeEvent.toElement; - to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; - } else { - // Moving to a node from outside the window. - from = null; - to = targetInst; - } - - if (from === to) { - // Nothing pertains to our managed components. - return null; + clearHistory: function () { + if (ReactHostOperationHistoryHook._preventClearing) { + // Should only be used for tests. + return; } - var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); - var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); - - var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); - leave.type = 'mouseleave'; - leave.target = fromNode; - leave.relatedTarget = toNode; - - var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); - enter.type = 'mouseenter'; - enter.target = toNode; - enter.relatedTarget = fromNode; - - EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); - - return [leave, enter]; + history = []; + }, + getHistory: function () { + return history; } - }; - module.exports = EnterLeaveEventPlugin; + module.exports = ReactHostOperationHistoryHook; /***/ }, -/* 101 */ +/* 96 */ /***/ function(module, exports, __webpack_require__) { + 'use strict'; + /** - * Copyright 2013-present, Facebook, Inc. + * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule SyntheticMouseEvent + * @typechecks */ - 'use strict'; - - var SyntheticUIEvent = __webpack_require__(102); - var ViewportMetrics = __webpack_require__(103); + var performance = __webpack_require__(97); - var getEventModifierState = __webpack_require__(104); - - /** - * @interface MouseEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ - var MouseEventInterface = { - screenX: null, - screenY: null, - clientX: null, - clientY: null, - ctrlKey: null, - shiftKey: null, - altKey: null, - metaKey: null, - getModifierState: getEventModifierState, - button: function (event) { - // Webkit, Firefox, IE9+ - // which: 1 2 3 - // button: 0 1 2 (standard) - var button = event.button; - if ('which' in event) { - return button; - } - // IE<9 - // which: undefined - // button: 0 0 0 - // button: 1 4 2 (onmouseup) - return button === 2 ? 2 : button === 4 ? 1 : 0; - }, - buttons: null, - relatedTarget: function (event) { - return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); - }, - // "Proprietary" Interface. - pageX: function (event) { - return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; - }, - pageY: function (event) { - return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; - } - }; + var performanceNow; /** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticUIEvent} + * Detect if we can use `window.performance.now()` and gracefully fallback to + * `Date.now()` if it doesn't exist. We need to support Firefox < 15 for now + * because of Facebook's testing infrastructure. */ - function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + if (performance.now) { + performanceNow = function performanceNow() { + return performance.now(); + }; + } else { + performanceNow = function performanceNow() { + return Date.now(); + }; } - SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); - - module.exports = SyntheticMouseEvent; + module.exports = performanceNow; /***/ }, -/* 102 */ +/* 97 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2013-present, Facebook, Inc. + * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule SyntheticUIEvent + * @typechecks */ 'use strict'; - var SyntheticEvent = __webpack_require__(86); - - var getEventTarget = __webpack_require__(96); - - /** - * @interface UIEvent - * @see http://www.w3.org/TR/DOM-Level-3-Events/ - */ - var UIEventInterface = { - view: function (event) { - if (event.view) { - return event.view; - } - - var target = getEventTarget(event); - if (target != null && target.window === target) { - // target is a window object - return target; - } + var ExecutionEnvironment = __webpack_require__(78); - var doc = target.ownerDocument; - // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. - if (doc) { - return doc.defaultView || doc.parentWindow; - } else { - return window; - } - }, - detail: function (event) { - return event.detail || 0; - } - }; + var performance; - /** - * @param {object} dispatchConfig Configuration used to dispatch this event. - * @param {string} dispatchMarker Marker identifying the event target. - * @param {object} nativeEvent Native browser event. - * @extends {SyntheticEvent} - */ - function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { - return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + if (ExecutionEnvironment.canUseDOM) { + performance = window.performance || window.msPerformance || window.webkitPerformance; } - SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); - - module.exports = SyntheticUIEvent; + module.exports = performance || {}; /***/ }, -/* 103 */ -/***/ function(module, exports) { +/* 98 */ +/***/ function(module, exports, __webpack_require__) { - /** + /* WEBPACK VAR INJECTION */(function(process) {/** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * @@ -10611,76 +10492,265 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ViewportMetrics + * */ 'use strict'; - var ViewportMetrics = { - - currentScrollLeft: 0, - - currentScrollTop: 0, - - refreshScrollValues: function (scrollPosition) { - ViewportMetrics.currentScrollLeft = scrollPosition.x; - ViewportMetrics.currentScrollTop = scrollPosition.y; - } - - }; + var _prodInvariant = __webpack_require__(65); - module.exports = ViewportMetrics; + var invariant = __webpack_require__(27); -/***/ }, -/* 104 */ -/***/ function(module, exports) { + var OBSERVED_ERROR = {}; /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. + * `Transaction` creates a black box that is able to wrap any method such that + * certain invariants are maintained before and after the method is invoked + * (Even if an exception is thrown while invoking the wrapped method). Whoever + * instantiates a transaction can provide enforcers of the invariants at + * creation time. The `Transaction` class itself will supply one additional + * automatic invariant for you - the invariant that any transaction instance + * should not be run while it is already being run. You would typically create a + * single instance of a `Transaction` for reuse multiple times, that potentially + * is used to wrap several different methods. Wrappers are extremely simple - + * they only require implementing two methods. + * + *
+	 *                       wrappers (injected at creation time)
+	 *                                      +        +
+	 *                                      |        |
+	 *                    +-----------------|--------|--------------+
+	 *                    |                 v        |              |
+	 *                    |      +---------------+   |              |
+	 *                    |   +--|    wrapper1   |---|----+         |
+	 *                    |   |  +---------------+   v    |         |
+	 *                    |   |          +-------------+  |         |
+	 *                    |   |     +----|   wrapper2  |--------+   |
+	 *                    |   |     |    +-------------+  |     |   |
+	 *                    |   |     |                     |     |   |
+	 *                    |   v     v                     v     v   | wrapper
+	 *                    | +---+ +---+   +---------+   +---+ +---+ | invariants
+	 * perform(anyMethod) | |   | |   |   |         |   |   | |   | | maintained
+	 * +----------------->|-|---|-|---|-->|anyMethod|---|---|-|---|-|-------->
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | |   | |   |   |         |   |   | |   | |
+	 *                    | +---+ +---+   +---------+   +---+ +---+ |
+	 *                    |  initialize                    close    |
+	 *                    +-----------------------------------------+
+	 * 
+ * + * Use cases: + * - Preserving the input selection ranges before/after reconciliation. + * Restoring selection even in the event of an unexpected error. + * - Deactivating events while rearranging the DOM, preventing blurs/focuses, + * while guaranteeing that afterwards, the event system is reactivated. + * - Flushing a queue of collected DOM mutations to the main UI thread after a + * reconciliation takes place in a worker thread. + * - Invoking any collected `componentDidUpdate` callbacks after rendering new + * content. + * - (Future use case): Wrapping particular flushes of the `ReactWorker` queue + * to preserve the `scrollTop` (an automatic scroll aware DOM). + * - (Future use case): Layout calculations before and after DOM updates. + * + * Transactional plugin API: + * - A module that has an `initialize` method that returns any precomputation. + * - and a `close` method that accepts the precomputation. `close` is invoked + * when the wrapped process is completed, or has failed. + * + * @param {Array} transactionWrapper Wrapper modules + * that implement `initialize` and `close`. + * @return {Transaction} Single transaction for reuse in thread. + * + * @class Transaction + */ + var TransactionImpl = { + /** + * Sets up this instance so that it is prepared for collecting metrics. Does + * so such that this setup method may be used on an instance that is already + * initialized, in a way that does not consume additional memory upon reuse. + * That can be useful if you decide to make your subclass of this mixin a + * "PooledClass". + */ + reinitializeTransaction: function () { + this.transactionWrappers = this.getTransactionWrappers(); + if (this.wrapperInitData) { + this.wrapperInitData.length = 0; + } else { + this.wrapperInitData = []; + } + this._isInTransaction = false; + }, + + _isInTransaction: false, + + /** + * @abstract + * @return {Array} Array of transaction wrappers. + */ + getTransactionWrappers: null, + + isInTransaction: function () { + return !!this._isInTransaction; + }, + + /** + * Executes the function within a safety window. Use this for the top level + * methods that result in large amounts of computation/mutations that would + * need to be safety checked. The optional arguments helps prevent the need + * to bind in many cases. + * + * @param {function} method Member of scope to call. + * @param {Object} scope Scope to invoke from. + * @param {Object?=} a Argument to pass to the method. + * @param {Object?=} b Argument to pass to the method. + * @param {Object?=} c Argument to pass to the method. + * @param {Object?=} d Argument to pass to the method. + * @param {Object?=} e Argument to pass to the method. + * @param {Object?=} f Argument to pass to the method. + * + * @return {*} Return value from `method`. + */ + perform: function (method, scope, a, b, c, d, e, f) { + !!this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.perform(...): Cannot initialize a transaction when there is already an outstanding transaction.') : _prodInvariant('27') : void 0; + var errorThrown; + var ret; + try { + this._isInTransaction = true; + // Catching errors makes debugging more difficult, so we start with + // errorThrown set to true before setting it to false after calling + // close -- if it's still set to true in the finally block, it means + // one of these calls threw. + errorThrown = true; + this.initializeAll(0); + ret = method.call(scope, a, b, c, d, e, f); + errorThrown = false; + } finally { + try { + if (errorThrown) { + // If `method` throws, prefer to show that stack trace over any thrown + // by invoking `closeAll`. + try { + this.closeAll(0); + } catch (err) {} + } else { + // Since `method` didn't throw, we don't want to silence the exception + // here. + this.closeAll(0); + } + } finally { + this._isInTransaction = false; + } + } + return ret; + }, + + initializeAll: function (startIndex) { + var transactionWrappers = this.transactionWrappers; + for (var i = startIndex; i < transactionWrappers.length; i++) { + var wrapper = transactionWrappers[i]; + try { + // Catching errors makes debugging more difficult, so we start with the + // OBSERVED_ERROR state before overwriting it with the real return value + // of initialize -- if it's still set to OBSERVED_ERROR in the finally + // block, it means wrapper.initialize threw. + this.wrapperInitData[i] = OBSERVED_ERROR; + this.wrapperInitData[i] = wrapper.initialize ? wrapper.initialize.call(this) : null; + } finally { + if (this.wrapperInitData[i] === OBSERVED_ERROR) { + // The initializer for wrapper i threw an error; initialize the + // remaining wrappers but silence any exceptions from them to ensure + // that the first error is the one to bubble up. + try { + this.initializeAll(i + 1); + } catch (err) {} + } + } + } + }, + + /** + * Invokes each of `this.transactionWrappers.close[i]` functions, passing into + * them the respective return values of `this.transactionWrappers.init[i]` + * (`close`rs that correspond to initializers that failed will not be + * invoked). + */ + closeAll: function (startIndex) { + !this.isInTransaction() ? process.env.NODE_ENV !== 'production' ? invariant(false, 'Transaction.closeAll(): Cannot close transaction when none are open.') : _prodInvariant('28') : void 0; + var transactionWrappers = this.transactionWrappers; + for (var i = startIndex; i < transactionWrappers.length; i++) { + var wrapper = transactionWrappers[i]; + var initData = this.wrapperInitData[i]; + var errorThrown; + try { + // Catching errors makes debugging more difficult, so we start with + // errorThrown set to true before setting it to false after calling + // close -- if it's still set to true in the finally block, it means + // wrapper.close threw. + errorThrown = true; + if (initData !== OBSERVED_ERROR && wrapper.close) { + wrapper.close.call(this, initData); + } + errorThrown = false; + } finally { + if (errorThrown) { + // The closer for wrapper i threw an error; close the remaining + // wrappers but silence any exceptions from them to ensure that the + // first error is the one to bubble up. + try { + this.closeAll(i + 1); + } catch (e) {} + } + } + } + this.wrapperInitData.length = 0; + } + }; + + module.exports = TransactionImpl; + /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + +/***/ }, +/* 99 */ +/***/ function(module, exports) { + + /** + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule getEventModifierState */ 'use strict'; /** - * Translation from modifier key to the associated property in the event. - * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers + * Gets the target node from a native browser event by accounting for + * inconsistencies in browser DOM APIs. + * + * @param {object} nativeEvent Native browser event. + * @return {DOMEventTarget} Target node. */ - var modifierKeyToProp = { - 'Alt': 'altKey', - 'Control': 'ctrlKey', - 'Meta': 'metaKey', - 'Shift': 'shiftKey' - }; + function getEventTarget(nativeEvent) { + var target = nativeEvent.target || nativeEvent.srcElement || window; - // IE8 does not implement getModifierState so we simply map it to the only - // modifier keys exposed by the event itself, does not support Lock-keys. - // Currently, all major browsers except Chrome seems to support Lock-keys. - function modifierStateGetter(keyArg) { - var syntheticEvent = this; - var nativeEvent = syntheticEvent.nativeEvent; - if (nativeEvent.getModifierState) { - return nativeEvent.getModifierState(keyArg); + // Normalize SVG element events #4963 + if (target.correspondingUseElement) { + target = target.correspondingUseElement; } - var keyProp = modifierKeyToProp[keyArg]; - return keyProp ? !!nativeEvent[keyProp] : false; - } - function getEventModifierState(nativeEvent) { - return modifierStateGetter; + // Safari may fire events on text nodes (Node.TEXT_NODE is 3). + // @see http://www.quirksmode.org/js/events_properties.html + return target.nodeType === 3 ? target.parentNode : target; } - module.exports = getEventModifierState; + module.exports = getEventTarget; /***/ }, -/* 105 */ +/* 100 */ /***/ function(module, exports, __webpack_require__) { /** @@ -10691,211 +10761,61 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule HTMLDOMPropertyConfig */ 'use strict'; - var DOMProperty = __webpack_require__(71); + var ExecutionEnvironment = __webpack_require__(78); - var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; - var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; - var HAS_SIDE_EFFECTS = DOMProperty.injection.HAS_SIDE_EFFECTS; - var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; - var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; - var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; + var useHasFeature; + if (ExecutionEnvironment.canUseDOM) { + useHasFeature = document.implementation && document.implementation.hasFeature && + // always returns true in newer browsers as per the standard. + // @see http://dom.spec.whatwg.org/#dom-domimplementation-hasfeature + document.implementation.hasFeature('', '') !== true; + } - var HTMLDOMPropertyConfig = { - isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), - Properties: { - /** - * Standard Properties - */ - accept: 0, - acceptCharset: 0, - accessKey: 0, - action: 0, - allowFullScreen: HAS_BOOLEAN_VALUE, - allowTransparency: 0, - alt: 0, - async: HAS_BOOLEAN_VALUE, - autoComplete: 0, - // autoFocus is polyfilled/normalized by AutoFocusUtils - // autoFocus: HAS_BOOLEAN_VALUE, - autoPlay: HAS_BOOLEAN_VALUE, - capture: HAS_BOOLEAN_VALUE, - cellPadding: 0, - cellSpacing: 0, - charSet: 0, - challenge: 0, - checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - cite: 0, - classID: 0, - className: 0, - cols: HAS_POSITIVE_NUMERIC_VALUE, - colSpan: 0, - content: 0, - contentEditable: 0, - contextMenu: 0, - controls: HAS_BOOLEAN_VALUE, - coords: 0, - crossOrigin: 0, - data: 0, // For `` acts as `src`. - dateTime: 0, - 'default': HAS_BOOLEAN_VALUE, - defer: HAS_BOOLEAN_VALUE, - dir: 0, - disabled: HAS_BOOLEAN_VALUE, - download: HAS_OVERLOADED_BOOLEAN_VALUE, - draggable: 0, - encType: 0, - form: 0, - formAction: 0, - formEncType: 0, - formMethod: 0, - formNoValidate: HAS_BOOLEAN_VALUE, - formTarget: 0, - frameBorder: 0, - headers: 0, - height: 0, - hidden: HAS_BOOLEAN_VALUE, - 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: HAS_BOOLEAN_VALUE, - low: 0, - manifest: 0, - marginHeight: 0, - marginWidth: 0, - max: 0, - maxLength: 0, - media: 0, - mediaGroup: 0, - method: 0, - min: 0, - minLength: 0, - // Caution; `option.selected` is not updated if `select.multiple` is - // disabled with `removeAttribute`. - multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - name: 0, - nonce: 0, - noValidate: HAS_BOOLEAN_VALUE, - open: HAS_BOOLEAN_VALUE, - optimum: 0, - pattern: 0, - placeholder: 0, - poster: 0, - preload: 0, - profile: 0, - radioGroup: 0, - readOnly: HAS_BOOLEAN_VALUE, - rel: 0, - required: HAS_BOOLEAN_VALUE, - reversed: HAS_BOOLEAN_VALUE, - role: 0, - rows: HAS_POSITIVE_NUMERIC_VALUE, - rowSpan: HAS_NUMERIC_VALUE, - sandbox: 0, - scope: 0, - scoped: HAS_BOOLEAN_VALUE, - scrolling: 0, - seamless: HAS_BOOLEAN_VALUE, - selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, - shape: 0, - size: HAS_POSITIVE_NUMERIC_VALUE, - sizes: 0, - span: HAS_POSITIVE_NUMERIC_VALUE, - spellCheck: 0, - src: 0, - srcDoc: 0, - srcLang: 0, - srcSet: 0, - start: HAS_NUMERIC_VALUE, - step: 0, - style: 0, - summary: 0, - tabIndex: 0, - target: 0, - title: 0, - // Setting .type throws on non- tags - type: 0, - useMap: 0, - value: MUST_USE_PROPERTY | HAS_SIDE_EFFECTS, - width: 0, - wmode: 0, - wrap: 0, + /** + * Checks if an event is supported in the current execution environment. + * + * NOTE: This will not work correctly for non-generic events such as `change`, + * `reset`, `load`, `error`, and `select`. + * + * Borrows from Modernizr. + * + * @param {string} eventNameSuffix Event name, e.g. "click". + * @param {?boolean} capture Check if the capture phase is supported. + * @return {boolean} True if the event is supported. + * @internal + * @license Modernizr 3.0.0pre (Custom Build) | MIT + */ + function isEventSupported(eventNameSuffix, capture) { + if (!ExecutionEnvironment.canUseDOM || capture && !('addEventListener' in document)) { + return false; + } - /** - * RDFa Properties - */ - about: 0, - datatype: 0, - inlist: 0, - prefix: 0, - // property is also supported for OpenGraph in meta tags. - property: 0, - resource: 0, - 'typeof': 0, - vocab: 0, + var eventName = 'on' + eventNameSuffix; + var isSupported = eventName in document; - /** - * Non-standard Properties - */ - // autoCapitalize and autoCorrect are supported in Mobile Safari for - // keyboard hints. - autoCapitalize: 0, - autoCorrect: 0, - // autoSave allows WebKit/Blink to persist values of input fields on page reloads - autoSave: 0, - // color is for Safari mask-icon link - color: 0, - // itemProp, itemScope, itemType are for - // Microdata support. See http://schema.org/docs/gs.html - itemProp: 0, - itemScope: HAS_BOOLEAN_VALUE, - itemType: 0, - // itemID and itemRef are for Microdata support as well but - // only specified in the WHATWG spec document. See - // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api - itemID: 0, - itemRef: 0, - // results show looking glass icon and recent searches on input - // search fields in WebKit/Blink - results: 0, - // IE-only attribute that specifies security restrictions on an iframe - // as an alternative to the sandbox attribute on IE<10 - security: 0, - // IE-only attribute that controls focus behavior - unselectable: 0 - }, - DOMAttributeNames: { - acceptCharset: 'accept-charset', - className: 'class', - htmlFor: 'for', - httpEquiv: 'http-equiv' - }, - DOMPropertyNames: {} - }; + if (!isSupported) { + var element = document.createElement('div'); + element.setAttribute(eventName, 'return;'); + isSupported = typeof element[eventName] === 'function'; + } - module.exports = HTMLDOMPropertyConfig; + if (!isSupported && useHasFeature && eventNameSuffix === 'wheel') { + // This is the only way to test support for the `wheel` event in IE9+. + isSupported = document.implementation.hasFeature('Events.wheel', '3.0'); + } + + return isSupported; + } + + module.exports = isEventSupported; /***/ }, -/* 106 */ -/***/ function(module, exports, __webpack_require__) { +/* 101 */ +/***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. @@ -10905,43 +10825,54 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule ReactComponentBrowserEnvironment + * */ 'use strict'; - var DOMChildrenOperations = __webpack_require__(107); - var ReactDOMIDOperations = __webpack_require__(119); - /** - * Abstracts away all functionality of the reconciler that requires knowledge of - * the browser context. TODO: These callers should be refactored to avoid the - * need for this injection. + * @see http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary */ - var ReactComponentBrowserEnvironment = { - processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, + var supportedInputTypes = { + 'color': true, + 'date': true, + 'datetime': true, + 'datetime-local': true, + 'email': true, + 'month': true, + 'number': true, + 'password': true, + 'range': true, + 'search': true, + 'tel': true, + 'text': true, + 'time': true, + 'url': true, + 'week': true + }; - replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup, + function isTextInputElement(elem) { + var nodeName = elem && elem.nodeName && elem.nodeName.toLowerCase(); - /** - * If a particular environment requires that some resources be cleaned up, - * specify this in the injected Mixin. In the DOM, we would likely want to - * purge any cached node ID lookups. - * - * @private - */ - unmountIDFromEnvironment: function (rootNodeID) {} + if (nodeName === 'input') { + return !!supportedInputTypes[elem.type]; + } - }; + if (nodeName === 'textarea') { + return true; + } - module.exports = ReactComponentBrowserEnvironment; + return false; + } + + module.exports = isTextInputElement; /***/ }, -/* 107 */ -/***/ function(module, exports, __webpack_require__) { +/* 102 */ +/***/ function(module, exports) { - /* WEBPACK VAR INJECTION */(function(process) {/** + /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * @@ -10949,319 +10880,207 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule DOMChildrenOperations */ 'use strict'; - var DOMLazyTree = __webpack_require__(108); - var Danger = __webpack_require__(114); - var ReactMultiChildUpdateTypes = __webpack_require__(118); - var ReactDOMComponentTree = __webpack_require__(70); - var ReactInstrumentation = __webpack_require__(37); + /** + * Module that is injectable into `EventPluginHub`, that specifies a + * deterministic ordering of `EventPlugin`s. A convenient way to reason about + * plugins, without having to package every one of them. This is better than + * having plugins be ordered in the same order that they are injected because + * that ordering would be influenced by the packaging order. + * `ResponderEventPlugin` must occur before `SimpleEventPlugin` so that + * preventing default on events is convenient in `SimpleEventPlugin` handlers. + */ - var createMicrosoftUnsafeLocalFunction = __webpack_require__(110); - var setInnerHTML = __webpack_require__(113); - var setTextContent = __webpack_require__(111); + var DefaultEventPluginOrder = ['ResponderEventPlugin', 'SimpleEventPlugin', 'TapEventPlugin', 'EnterLeaveEventPlugin', 'ChangeEventPlugin', 'SelectEventPlugin', 'BeforeInputEventPlugin']; - function getNodeAfter(parentNode, node) { - // Special case for text components, which return [open, close] comments - // from getNativeNode. - if (Array.isArray(node)) { - node = node[1]; - } - return node ? node.nextSibling : parentNode.firstChild; - } + module.exports = DefaultEventPluginOrder; + +/***/ }, +/* 103 */ +/***/ function(module, exports, __webpack_require__) { /** - * Inserts `childNode` as a child of `parentNode` at the `index`. + * Copyright 2013-present, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. * - * @param {DOMElement} parentNode Parent node in which to insert. - * @param {DOMElement} childNode Child node to insert. - * @param {number} index Index at which to insert the child. - * @internal */ - var insertChildAt = createMicrosoftUnsafeLocalFunction(function (parentNode, childNode, referenceNode) { - // We rely exclusively on `insertBefore(node, null)` instead of also using - // `appendChild(node)`. (Using `undefined` is not allowed by all browsers so - // we are careful to use `null`.) - parentNode.insertBefore(childNode, referenceNode); - }); - function insertLazyTreeChildAt(parentNode, childTree, referenceNode) { - DOMLazyTree.insertTreeBefore(parentNode, childTree, referenceNode); - } + 'use strict'; - function moveChild(parentNode, childNode, referenceNode) { - if (Array.isArray(childNode)) { - moveDelimitedText(parentNode, childNode[0], childNode[1], referenceNode); - } else { - insertChildAt(parentNode, childNode, referenceNode); - } - } + var EventPropagators = __webpack_require__(71); + var ReactDOMComponentTree = __webpack_require__(64); + var SyntheticMouseEvent = __webpack_require__(104); - function removeChild(parentNode, childNode) { - if (Array.isArray(childNode)) { - var closingComment = childNode[1]; - childNode = childNode[0]; - removeDelimitedText(parentNode, childNode, closingComment); - parentNode.removeChild(closingComment); + var eventTypes = { + mouseEnter: { + registrationName: 'onMouseEnter', + dependencies: ['topMouseOut', 'topMouseOver'] + }, + mouseLeave: { + registrationName: 'onMouseLeave', + dependencies: ['topMouseOut', 'topMouseOver'] } - parentNode.removeChild(childNode); - } + }; - function moveDelimitedText(parentNode, openingComment, closingComment, referenceNode) { - var node = openingComment; - while (true) { - var nextNode = node.nextSibling; - insertChildAt(parentNode, node, referenceNode); - if (node === closingComment) { - break; + var EnterLeaveEventPlugin = { + + eventTypes: eventTypes, + + /** + * For almost every interaction we care about, there will be both a top-level + * `mouseover` and `mouseout` event that occurs. Only use `mouseout` so that + * we do not extract duplicate events. However, moving the mouse into the + * browser from outside will not fire a `mouseout` event. In this case, we use + * the `mouseover` top-level event. + */ + extractEvents: function (topLevelType, targetInst, nativeEvent, nativeEventTarget) { + if (topLevelType === 'topMouseOver' && (nativeEvent.relatedTarget || nativeEvent.fromElement)) { + return null; + } + if (topLevelType !== 'topMouseOut' && topLevelType !== 'topMouseOver') { + // Must not be a mouse in or mouse out - ignoring. + return null; } - node = nextNode; - } - } - function removeDelimitedText(parentNode, startNode, closingComment) { - while (true) { - var node = startNode.nextSibling; - if (node === closingComment) { - // The closing comment is removed by ReactMultiChild. - break; + var win; + if (nativeEventTarget.window === nativeEventTarget) { + // `nativeEventTarget` is probably a window object. + win = nativeEventTarget; } else { - parentNode.removeChild(node); + // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. + var doc = nativeEventTarget.ownerDocument; + if (doc) { + win = doc.defaultView || doc.parentWindow; + } else { + win = window; + } } - } - } - function replaceDelimitedText(openingComment, closingComment, stringText) { - var parentNode = openingComment.parentNode; - var nodeAfterComment = openingComment.nextSibling; - if (nodeAfterComment === closingComment) { - // There are no text nodes between the opening and closing comments; insert - // a new one if stringText isn't empty. - if (stringText) { - insertChildAt(parentNode, document.createTextNode(stringText), nodeAfterComment); - } - } else { - if (stringText) { - // Set the text content of the first node after the opening comment, and - // remove all following nodes up until the closing comment. - setTextContent(nodeAfterComment, stringText); - removeDelimitedText(parentNode, nodeAfterComment, closingComment); + var from; + var to; + if (topLevelType === 'topMouseOut') { + from = targetInst; + var related = nativeEvent.relatedTarget || nativeEvent.toElement; + to = related ? ReactDOMComponentTree.getClosestInstanceFromNode(related) : null; } else { - removeDelimitedText(parentNode, openingComment, closingComment); + // Moving to a node from outside the window. + from = null; + to = targetInst; } - } - - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(ReactDOMComponentTree.getInstanceFromNode(openingComment)._debugID, 'replace text', stringText); - } - } - var dangerouslyReplaceNodeWithMarkup = Danger.dangerouslyReplaceNodeWithMarkup; - if (process.env.NODE_ENV !== 'production') { - dangerouslyReplaceNodeWithMarkup = function (oldChild, markup, prevInstance) { - Danger.dangerouslyReplaceNodeWithMarkup(oldChild, markup); - if (prevInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onNativeOperation(prevInstance._debugID, 'replace with', markup.toString()); - } else { - var nextInstance = ReactDOMComponentTree.getInstanceFromNode(markup.node); - if (nextInstance._debugID !== 0) { - ReactInstrumentation.debugTool.onNativeOperation(nextInstance._debugID, 'mount', markup.toString()); - } + if (from === to) { + // Nothing pertains to our managed components. + return null; } - }; - } - /** - * Operations for updating with DOM children. - */ - var DOMChildrenOperations = { + var fromNode = from == null ? win : ReactDOMComponentTree.getNodeFromInstance(from); + var toNode = to == null ? win : ReactDOMComponentTree.getNodeFromInstance(to); - dangerouslyReplaceNodeWithMarkup: dangerouslyReplaceNodeWithMarkup, + var leave = SyntheticMouseEvent.getPooled(eventTypes.mouseLeave, from, nativeEvent, nativeEventTarget); + leave.type = 'mouseleave'; + leave.target = fromNode; + leave.relatedTarget = toNode; - replaceDelimitedText: replaceDelimitedText, + var enter = SyntheticMouseEvent.getPooled(eventTypes.mouseEnter, to, nativeEvent, nativeEventTarget); + enter.type = 'mouseenter'; + enter.target = toNode; + enter.relatedTarget = fromNode; - /** - * Updates a component's children by processing a series of updates. The - * update configurations are each expected to have a `parentNode` property. - * - * @param {array} updates List of update configurations. - * @internal - */ - processUpdates: function (parentNode, updates) { - if (process.env.NODE_ENV !== 'production') { - var parentNodeDebugID = ReactDOMComponentTree.getInstanceFromNode(parentNode)._debugID; - } + EventPropagators.accumulateEnterLeaveDispatches(leave, enter, from, to); - for (var k = 0; k < updates.length; k++) { - var update = updates[k]; - switch (update.type) { - case ReactMultiChildUpdateTypes.INSERT_MARKUP: - insertLazyTreeChildAt(parentNode, update.content, getNodeAfter(parentNode, update.afterNode)); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'insert child', { toIndex: update.toIndex, content: update.content.toString() }); - } - break; - case ReactMultiChildUpdateTypes.MOVE_EXISTING: - moveChild(parentNode, update.fromNode, getNodeAfter(parentNode, update.afterNode)); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'move child', { fromIndex: update.fromIndex, toIndex: update.toIndex }); - } - break; - case ReactMultiChildUpdateTypes.SET_MARKUP: - setInnerHTML(parentNode, update.content); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace children', update.content.toString()); - } - break; - case ReactMultiChildUpdateTypes.TEXT_CONTENT: - setTextContent(parentNode, update.content); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'replace text', update.content.toString()); - } - break; - case ReactMultiChildUpdateTypes.REMOVE_NODE: - removeChild(parentNode, update.fromNode); - if (process.env.NODE_ENV !== 'production') { - ReactInstrumentation.debugTool.onNativeOperation(parentNodeDebugID, 'remove child', { fromIndex: update.fromIndex }); - } - break; - } - } + return [leave, enter]; } }; - module.exports = DOMChildrenOperations; - /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(22))) + module.exports = EnterLeaveEventPlugin; /***/ }, -/* 108 */ +/* 104 */ /***/ function(module, exports, __webpack_require__) { /** - * Copyright 2015-present, Facebook, Inc. + * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule DOMLazyTree */ 'use strict'; - var DOMNamespaces = __webpack_require__(109); + var SyntheticUIEvent = __webpack_require__(105); + var ViewportMetrics = __webpack_require__(106); - var createMicrosoftUnsafeLocalFunction = __webpack_require__(110); - var setTextContent = __webpack_require__(111); - - var ELEMENT_NODE_TYPE = 1; - var DOCUMENT_FRAGMENT_NODE_TYPE = 11; + var getEventModifierState = __webpack_require__(107); /** - * In IE (8-11) and Edge, appending nodes with no children is dramatically - * faster than appending a full subtree, so we essentially queue up the - * .appendChild calls here and apply them so each node is added to its parent - * before any children are added. - * - * In other browsers, doing so is slower or neutral compared to the other order - * (in Firefox, twice as slow) so we only do this inversion in IE. - * - * See https://github.com/spicyj/innerhtml-vs-createelement-vs-clonenode. + * @interface MouseEvent + * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ - var enableLazy = typeof document !== 'undefined' && typeof document.documentMode === 'number' || typeof navigator !== 'undefined' && typeof navigator.userAgent === 'string' && /\bEdge\/\d/.test(navigator.userAgent); - - function insertTreeChildren(tree) { - if (!enableLazy) { - return; - } - var node = tree.node; - var children = tree.children; - if (children.length) { - for (var i = 0; i < children.length; i++) { - insertTreeBefore(node, children[i], null); - } - } else if (tree.html != null) { - node.innerHTML = tree.html; - } else if (tree.text != null) { - setTextContent(node, tree.text); - } - } - - var insertTreeBefore = createMicrosoftUnsafeLocalFunction(function (parentNode, tree, referenceNode) { - // DocumentFragments aren't actually part of the DOM after insertion so - // appending children won't update the DOM. We need to ensure the fragment - // is properly populated first, breaking out of our lazy approach for just - // this level. Also, some plugins (like Flash Player) will read - // nodes immediately upon insertion into the DOM, so - // must also be populated prior to insertion into the DOM. - 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)) { - insertTreeChildren(tree); - parentNode.insertBefore(tree.node, referenceNode); - } else { - parentNode.insertBefore(tree.node, referenceNode); - insertTreeChildren(tree); - } - }); - - function replaceChildWithTree(oldNode, newTree) { - oldNode.parentNode.replaceChild(newTree.node, oldNode); - insertTreeChildren(newTree); - } - - function queueChild(parentTree, childTree) { - if (enableLazy) { - parentTree.children.push(childTree); - } else { - parentTree.node.appendChild(childTree.node); - } - } - - function queueHTML(tree, html) { - if (enableLazy) { - tree.html = html; - } else { - tree.node.innerHTML = html; - } - } - - function queueText(tree, text) { - if (enableLazy) { - tree.text = text; - } else { - setTextContent(tree.node, text); + var MouseEventInterface = { + screenX: null, + screenY: null, + clientX: null, + clientY: null, + ctrlKey: null, + shiftKey: null, + altKey: null, + metaKey: null, + getModifierState: getEventModifierState, + button: function (event) { + // Webkit, Firefox, IE9+ + // which: 1 2 3 + // button: 0 1 2 (standard) + var button = event.button; + if ('which' in event) { + return button; + } + // IE<9 + // which: undefined + // button: 0 0 0 + // button: 1 4 2 (onmouseup) + return button === 2 ? 2 : button === 4 ? 1 : 0; + }, + buttons: null, + relatedTarget: function (event) { + return event.relatedTarget || (event.fromElement === event.srcElement ? event.toElement : event.fromElement); + }, + // "Proprietary" Interface. + pageX: function (event) { + return 'pageX' in event ? event.pageX : event.clientX + ViewportMetrics.currentScrollLeft; + }, + pageY: function (event) { + return 'pageY' in event ? event.pageY : event.clientY + ViewportMetrics.currentScrollTop; } - } - - function toString() { - return this.node.nodeName; - } + }; - function DOMLazyTree(node) { - return { - node: node, - children: [], - html: null, - text: null, - toString: toString - }; + /** + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticUIEvent} + */ + function SyntheticMouseEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticUIEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); } - DOMLazyTree.insertTreeBefore = insertTreeBefore; - DOMLazyTree.replaceChildWithTree = replaceChildWithTree; - DOMLazyTree.queueChild = queueChild; - DOMLazyTree.queueHTML = queueHTML; - DOMLazyTree.queueText = queueText; + SyntheticUIEvent.augmentClass(SyntheticMouseEvent, MouseEventInterface); - module.exports = DOMLazyTree; + module.exports = SyntheticMouseEvent; /***/ }, -/* 109 */ -/***/ function(module, exports) { +/* 105 */ +/***/ function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. @@ -11271,59 +11090,60 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule DOMNamespaces */ 'use strict'; - var DOMNamespaces = { - html: 'http://www.w3.org/1999/xhtml', - mathml: 'http://www.w3.org/1998/Math/MathML', - svg: 'http://www.w3.org/2000/svg' - }; - - module.exports = DOMNamespaces; + var SyntheticEvent = __webpack_require__(83); -/***/ }, -/* 110 */ -/***/ function(module, exports) { + var getEventTarget = __webpack_require__(99); /** - * Copyright 2013-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - * @providesModule createMicrosoftUnsafeLocalFunction + * @interface UIEvent + * @see http://www.w3.org/TR/DOM-Level-3-Events/ */ + var UIEventInterface = { + view: function (event) { + if (event.view) { + return event.view; + } - /* globals MSApp */ + var target = getEventTarget(event); + if (target.window === target) { + // target is a window object + return target; + } - 'use strict'; + var doc = target.ownerDocument; + // TODO: Figure out why `ownerDocument` is sometimes undefined in IE8. + if (doc) { + return doc.defaultView || doc.parentWindow; + } else { + return window; + } + }, + detail: function (event) { + return event.detail || 0; + } + }; /** - * Create a function which has 'unsafe' privileges (required by windows8 apps) + * @param {object} dispatchConfig Configuration used to dispatch this event. + * @param {string} dispatchMarker Marker identifying the event target. + * @param {object} nativeEvent Native browser event. + * @extends {SyntheticEvent} */ + function SyntheticUIEvent(dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget) { + return SyntheticEvent.call(this, dispatchConfig, dispatchMarker, nativeEvent, nativeEventTarget); + } - var createMicrosoftUnsafeLocalFunction = function (func) { - if (typeof MSApp !== 'undefined' && MSApp.execUnsafeLocalFunction) { - return function (arg0, arg1, arg2, arg3) { - MSApp.execUnsafeLocalFunction(function () { - return func(arg0, arg1, arg2, arg3); - }); - }; - } else { - return func; - } - }; + SyntheticEvent.augmentClass(SyntheticUIEvent, UIEventInterface); - module.exports = createMicrosoftUnsafeLocalFunction; + module.exports = SyntheticUIEvent; /***/ }, -/* 111 */ -/***/ function(module, exports, __webpack_require__) { +/* 106 */ +/***/ function(module, exports) { /** * Copyright 2013-present, Facebook, Inc. @@ -11333,41 +11153,27 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule setTextContent */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(39); - var escapeTextContentForBrowser = __webpack_require__(112); - var setInnerHTML = __webpack_require__(113); + var ViewportMetrics = { - /** - * Set the textContent property of a node, ensuring that whitespace is preserved - * even in IE8. innerText is a poor substitute for textContent and, among many - * issues, inserts
instead of the literal newline chars. innerHTML behaves - * as it should. - * - * @param {DOMElement} node - * @param {string} text - * @internal - */ - var setTextContent = function (node, text) { - node.textContent = text; - }; + currentScrollLeft: 0, - if (ExecutionEnvironment.canUseDOM) { - if (!('textContent' in document.documentElement)) { - setTextContent = function (node, text) { - setInnerHTML(node, escapeTextContentForBrowser(text)); - }; + currentScrollTop: 0, + + refreshScrollValues: function (scrollPosition) { + ViewportMetrics.currentScrollLeft = scrollPosition.x; + ViewportMetrics.currentScrollTop = scrollPosition.y; } - } - module.exports = setTextContent; + }; + + module.exports = ViewportMetrics; /***/ }, -/* 112 */ +/* 107 */ /***/ function(module, exports) { /** @@ -11378,39 +11184,43 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule escapeTextContentForBrowser */ 'use strict'; - var ESCAPE_LOOKUP = { - '&': '&', - '>': '>', - '<': '<', - '"': '"', - '\'': ''' - }; + /** + * Translation from modifier key to the associated property in the event. + * @see http://www.w3.org/TR/DOM-Level-3-Events/#keys-Modifiers + */ - var ESCAPE_REGEX = /[&><"']/g; + var modifierKeyToProp = { + 'Alt': 'altKey', + 'Control': 'ctrlKey', + 'Meta': 'metaKey', + 'Shift': 'shiftKey' + }; - function escaper(match) { - return ESCAPE_LOOKUP[match]; + // IE8 does not implement getModifierState so we simply map it to the only + // modifier keys exposed by the event itself, does not support Lock-keys. + // Currently, all major browsers except Chrome seems to support Lock-keys. + function modifierStateGetter(keyArg) { + var syntheticEvent = this; + var nativeEvent = syntheticEvent.nativeEvent; + if (nativeEvent.getModifierState) { + return nativeEvent.getModifierState(keyArg); + } + var keyProp = modifierKeyToProp[keyArg]; + return keyProp ? !!nativeEvent[keyProp] : false; } - /** - * Escapes text to prevent scripting attacks. - * - * @param {*} text Text value to escape. - * @return {string} An escaped string. - */ - function escapeTextContentForBrowser(text) { - return ('' + text).replace(ESCAPE_REGEX, escaper); + function getEventModifierState(nativeEvent) { + return modifierStateGetter; } - module.exports = escapeTextContentForBrowser; + module.exports = getEventModifierState; /***/ }, -/* 113 */ +/* 108 */ /***/ function(module, exports, __webpack_require__) { /** @@ -11421,86 +11231,215 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule setInnerHTML */ 'use strict'; - var ExecutionEnvironment = __webpack_require__(39); - - var WHITESPACE_TEST = /^[ \r\n\t\f]/; - var NONVISIBLE_TEST = /<(!--|link|noscript|meta|script|style)[ \r\n\t\f\/>]/; + var DOMProperty = __webpack_require__(66); - var createMicrosoftUnsafeLocalFunction = __webpack_require__(110); + var MUST_USE_PROPERTY = DOMProperty.injection.MUST_USE_PROPERTY; + var HAS_BOOLEAN_VALUE = DOMProperty.injection.HAS_BOOLEAN_VALUE; + var HAS_NUMERIC_VALUE = DOMProperty.injection.HAS_NUMERIC_VALUE; + var HAS_POSITIVE_NUMERIC_VALUE = DOMProperty.injection.HAS_POSITIVE_NUMERIC_VALUE; + var HAS_OVERLOADED_BOOLEAN_VALUE = DOMProperty.injection.HAS_OVERLOADED_BOOLEAN_VALUE; - /** - * Set the innerHTML property of a node, ensuring that whitespace is preserved - * even in IE8. - * - * @param {DOMElement} node - * @param {string} html - * @internal - */ - var setInnerHTML = createMicrosoftUnsafeLocalFunction(function (node, html) { - node.innerHTML = html; - }); - - if (ExecutionEnvironment.canUseDOM) { - // IE8: When updating a just created node with innerHTML only leading - // whitespace is removed. When updating an existing node with innerHTML - // whitespace in root TextNodes is also collapsed. - // @see quirksmode.org/bugreports/archives/2004/11/innerhtml_and_t.html - - // Feature detection; only IE8 is known to behave improperly like this. - var testElement = document.createElement('div'); - testElement.innerHTML = ' '; - if (testElement.innerHTML === '') { - setInnerHTML = function (node, html) { - // Magic theory: IE8 supposedly differentiates between added and updated - // nodes when processing innerHTML, innerHTML on updated nodes suffers - // from worse whitespace behavior. Re-adding a node like this triggers - // the initial and more favorable whitespace behavior. - // TODO: What to do on a detached node? - if (node.parentNode) { - node.parentNode.replaceChild(node, node); - } + var HTMLDOMPropertyConfig = { + isCustomAttribute: RegExp.prototype.test.bind(new RegExp('^(data|aria)-[' + DOMProperty.ATTRIBUTE_NAME_CHAR + ']*$')), + Properties: { + /** + * Standard Properties + */ + accept: 0, + acceptCharset: 0, + accessKey: 0, + action: 0, + allowFullScreen: HAS_BOOLEAN_VALUE, + allowTransparency: 0, + alt: 0, + // specifies target context for links with `preload` type + as: 0, + async: HAS_BOOLEAN_VALUE, + autoComplete: 0, + // autoFocus is polyfilled/normalized by AutoFocusUtils + // autoFocus: HAS_BOOLEAN_VALUE, + autoPlay: HAS_BOOLEAN_VALUE, + capture: HAS_BOOLEAN_VALUE, + cellPadding: 0, + cellSpacing: 0, + charSet: 0, + challenge: 0, + checked: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + cite: 0, + classID: 0, + className: 0, + cols: HAS_POSITIVE_NUMERIC_VALUE, + colSpan: 0, + content: 0, + contentEditable: 0, + contextMenu: 0, + controls: HAS_BOOLEAN_VALUE, + coords: 0, + crossOrigin: 0, + data: 0, // For `` acts as `src`. + dateTime: 0, + 'default': HAS_BOOLEAN_VALUE, + defer: HAS_BOOLEAN_VALUE, + dir: 0, + disabled: HAS_BOOLEAN_VALUE, + download: HAS_OVERLOADED_BOOLEAN_VALUE, + draggable: 0, + encType: 0, + form: 0, + formAction: 0, + formEncType: 0, + formMethod: 0, + formNoValidate: HAS_BOOLEAN_VALUE, + formTarget: 0, + frameBorder: 0, + headers: 0, + height: 0, + hidden: HAS_BOOLEAN_VALUE, + 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: HAS_BOOLEAN_VALUE, + low: 0, + manifest: 0, + marginHeight: 0, + marginWidth: 0, + max: 0, + maxLength: 0, + media: 0, + mediaGroup: 0, + method: 0, + min: 0, + minLength: 0, + // Caution; `option.selected` is not updated if `select.multiple` is + // disabled with `removeAttribute`. + multiple: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + muted: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + name: 0, + nonce: 0, + noValidate: HAS_BOOLEAN_VALUE, + open: HAS_BOOLEAN_VALUE, + optimum: 0, + pattern: 0, + placeholder: 0, + playsInline: HAS_BOOLEAN_VALUE, + poster: 0, + preload: 0, + profile: 0, + radioGroup: 0, + readOnly: HAS_BOOLEAN_VALUE, + referrerPolicy: 0, + rel: 0, + required: HAS_BOOLEAN_VALUE, + reversed: HAS_BOOLEAN_VALUE, + role: 0, + rows: HAS_POSITIVE_NUMERIC_VALUE, + rowSpan: HAS_NUMERIC_VALUE, + sandbox: 0, + scope: 0, + scoped: HAS_BOOLEAN_VALUE, + scrolling: 0, + seamless: HAS_BOOLEAN_VALUE, + selected: MUST_USE_PROPERTY | HAS_BOOLEAN_VALUE, + shape: 0, + size: HAS_POSITIVE_NUMERIC_VALUE, + sizes: 0, + span: HAS_POSITIVE_NUMERIC_VALUE, + spellCheck: 0, + src: 0, + srcDoc: 0, + srcLang: 0, + srcSet: 0, + start: HAS_NUMERIC_VALUE, + step: 0, + style: 0, + summary: 0, + tabIndex: 0, + target: 0, + title: 0, + // Setting .type throws on non- tags + type: 0, + useMap: 0, + value: 0, + width: 0, + wmode: 0, + wrap: 0, - // We also implement a workaround for non-visible tags disappearing into - // thin air on IE8, this only happens if there is no visible text - // in-front of the non-visible tags. Piggyback on the whitespace fix - // and simply check if any non-visible tags appear in the source. - if (WHITESPACE_TEST.test(html) || html[0] === '<' && NONVISIBLE_TEST.test(html)) { - // Recover leading whitespace by temporarily prepending any character. - // \uFEFF has the potential advantage of being zero-width/invisible. - // UglifyJS drops U+FEFF chars when parsing, so use String.fromCharCode - // in hopes that this is preserved even if "\uFEFF" is transformed to - // the actual Unicode character (by Babel, for example). - // https://github.com/mishoo/UglifyJS2/blob/v2.4.20/lib/parse.js#L216 - node.innerHTML = String.fromCharCode(0xFEFF) + html; + /** + * RDFa Properties + */ + about: 0, + datatype: 0, + inlist: 0, + prefix: 0, + // property is also supported for OpenGraph in meta tags. + property: 0, + resource: 0, + 'typeof': 0, + vocab: 0, - // deleteData leaves an empty `TextNode` which offsets the index of all - // children. Definitely want to avoid this. - var textNode = node.firstChild; - if (textNode.data.length === 1) { - node.removeChild(textNode); - } else { - textNode.deleteData(0, 1); - } - } else { - node.innerHTML = html; - } - }; - } - testElement = null; - } + /** + * Non-standard Properties + */ + // autoCapitalize and autoCorrect are supported in Mobile Safari for + // keyboard hints. + autoCapitalize: 0, + autoCorrect: 0, + // autoSave allows WebKit/Blink to persist values of input fields on page reloads + autoSave: 0, + // color is for Safari mask-icon link + color: 0, + // itemProp, itemScope, itemType are for + // Microdata support. See http://schema.org/docs/gs.html + itemProp: 0, + itemScope: HAS_BOOLEAN_VALUE, + itemType: 0, + // itemID and itemRef are for Microdata support as well but + // only specified in the WHATWG spec document. See + // https://html.spec.whatwg.org/multipage/microdata.html#microdata-dom-api + itemID: 0, + itemRef: 0, + // results show looking glass icon and recent searches on input + // search fields in WebKit/Blink + results: 0, + // IE-only attribute that specifies security restrictions on an iframe + // as an alternative to the sandbox attribute on IE<10 + security: 0, + // IE-only attribute that controls focus behavior + unselectable: 0 + }, + DOMAttributeNames: { + acceptCharset: 'accept-charset', + className: 'class', + htmlFor: 'for', + httpEquiv: 'http-equiv' + }, + DOMPropertyNames: {} + }; - module.exports = setInnerHTML; + module.exports = HTMLDOMPropertyConfig; /***/ }, -/* 114 */ +/* 109 */ /***/ function(module, exports, __webpack_require__) { - /* WEBPACK VAR INJECTION */(function(process) {/** + /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * @@ -11508,373 +11447,512 @@ * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. * - * @providesModule Danger */ 'use strict'; - var DOMLazyTree = __webpack_require__(108); - var ExecutionEnvironment = __webpack_require__(39); - - var createNodesFromMarkup = __webpack_require__(115); - var emptyFunction = __webpack_require__(30); - var getMarkupWrap = __webpack_require__(117); - var invariant = __webpack_require__(26); - - var OPEN_TAG_NAME_EXP = /^(<[^ \/>]+)/; - var RESULT_INDEX_ATTR = 'data-danger-index'; + var DOMChildrenOperations = __webpack_require__(110); + var ReactDOMIDOperations = __webpack_require__(121); /** - * Extracts the `nodeName` from a string of markup. - * - * NOTE: Extracting the `nodeName` does not require a regular expression match - * because we make assumptions about React-generated markup (i.e. there are no - * spaces surrounding the opening tag and there is at least one attribute). - * - * @param {string} markup String of markup. - * @return {string} Node name of the supplied markup. - * @see http://jsperf.com/extract-nodename + * Abstracts away all functionality of the reconciler that requires knowledge of + * the browser context. TODO: These callers should be refactored to avoid the + * need for this injection. */ - function getNodeName(markup) { - return markup.substring(1, markup.indexOf(' ')); - } + var ReactComponentBrowserEnvironment = { - var Danger = { + processChildrenUpdates: ReactDOMIDOperations.dangerouslyProcessChildrenUpdates, - /** - * Renders markup into an array of nodes. The markup is expected to render - * into a list of root nodes. Also, the length of `resultList` and - * `markupList` should be the same. - * - * @param {array} markupList List of markup strings to render. - * @return {array} List of rendered nodes. - * @internal - */ - dangerouslyRenderMarkup: function (markupList) { - !ExecutionEnvironment.canUseDOM ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): 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.') : invariant(false) : void 0; - var nodeName; - var markupByNodeName = {}; - // Group markup by `nodeName` if a wrap is necessary, else by '*'. - for (var i = 0; i < markupList.length; i++) { - !markupList[i] ? process.env.NODE_ENV !== 'production' ? invariant(false, 'dangerouslyRenderMarkup(...): Missing markup.') : invariant(false) : void 0; - nodeName = getNodeName(markupList[i]); - nodeName = getMarkupWrap(nodeName) ? nodeName : '*'; - markupByNodeName[nodeName] = markupByNodeName[nodeName] || []; - markupByNodeName[nodeName][i] = markupList[i]; - } - var resultList = []; - var resultListAssignmentCount = 0; - for (nodeName in markupByNodeName) { - if (!markupByNodeName.hasOwnProperty(nodeName)) { - continue; - } - var markupListByNodeName = markupByNodeName[nodeName]; + replaceNodeWithMarkup: DOMChildrenOperations.dangerouslyReplaceNodeWithMarkup - // This for-in loop skips the holes of the sparse array. The order of - // iteration should follow the order of assignment, which happens to match - // numerical index order, but we don't rely on that. - var resultIndex; - for (resultIndex in markupListByNodeName) { - if (markupListByNodeName.hasOwnProperty(resultIndex)) { - var markup = markupListByNodeName[resultIndex]; + }; - // Push the requested markup with an additional RESULT_INDEX_ATTR - // attribute. If the markup does not start with a < character, it - // will be discarded below (with an appropriate console.error). - markupListByNodeName[resultIndex] = markup.replace(OPEN_TAG_NAME_EXP, - // This index will be parsed back out below. - '$1 ' + RESULT_INDEX_ATTR + '="' + resultIndex + '" '); - } - } + module.exports = ReactComponentBrowserEnvironment; - // Render each group of markup with similar wrapping `nodeName`. - var renderNodes = createNodesFromMarkup(markupListByNodeName.join(''), emptyFunction // Do nothing special with