SEOPress - Version 5.2

Version Description

Read the blog post update = * NEW Universal SEO metabox now with schemas * NEW Performance improvement and code factorization * NEW Import CSV metadata now supports comma and semi-colon as delimiter * NEW Breadcrumbs: add new options to translate "Page" and "Attachments" from SEO, PRO, Breadcrumbs * NEW Add "nofollow noopener noreferrer" rel attributes to the comments form link (SEO, Advanced, Advanced tab) * NEW %%archive_date_month_name%% dynamic variable in meta to output month name in archive page * NEW 'seopress_get_tag_site_url_value' hook to filter site_url tag in meta / schema (https://www.seopress.org/support/hooks/filter-site_url-tag/) * NEW 'seopress_sitemaps_html_cpt_name' hook to filter custom post type name in HTML sitemap (https://www.seopress.org/support/hooks/filter-custom-post-type-name-in-html-sitemap/) * NEW 'seopress_rss_dyn_vars' and 'seopress_rss_dyn_vars_value' hooks to filter dynamic variables in RSS feeds (https://www.seopress.org/support/hooks/add-your-custom-global-dynamic-variables-for-rss-feeds/) * INFO Display Blog page for date archive in Breadcrumbs * INFO Add new HTML class to wrap post and product categories in HTML sitemap * INFO Remove author meta in source code * INFO Remove WooCommerce products with visibility "hidden" from XML sitemaps * INFO Update updater * INFO Author URL missing for automatic schemas * INFO Check user capabilities before displaying automatic redirection suggestions notices * INFO Add image field for HowToStep (How-to schema) * INFO Remove Action Scheduler * FIX Remove /product-category/ with paginated archive pages (flush your permalinks if you're using this option) * FIX RSS feeds: display content before / after each post (excerpt of full text) * FIX Wrong quick tags for global meta description template * FIX Export Redirections to CSV file * FIX Missing tooltips from SEO universal metabox * FIX Green circle of the SEO score in the list of posts * FIX JS Arrow state for each analysis * FIX Warning Opening Hours (Local Business schema) * FIX Warning in Schemas post type list if a taxonomy no longer exists * FIX Page Speed full report button link * FIX WPML / Polylang config XML file * FIX White label for SEO dashboard and Wizard * FIX CSS conflicts with default WP theme for Universal SEO metabox * FIX Trying to get property 'name' / 'term_id' of non-object in HTML sitemap * FIX Uncaught TypeError: array_sum() in /wp-seopress-pro/inc/admin/dashboard-google-analytics.php:224 * FIX Warning: Undefined array key "ui_theme" /inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php on line 37 * FIX WPML: Fatal error when adding 'og:locale:alternate' link to non-existent post (thanks @vdwijngaert for reporting this) * FIX Redirections: Filter by Count

Download this release

Release Info

Developer rainbowgeek
Plugin Icon 128x128 SEOPress
Version 5.2
Comparing to
See all releases

Code changes from version 5.1 to 5.2

assets/css/seopress.css CHANGED
@@ -1084,7 +1084,10 @@ table.fixed thead .column-seopress_noindex {
1084
  right: 10px;
1085
  top: calc(50% - 7px);
1086
  }
1087
- #seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after {
 
 
 
1088
  content: "\f347";
1089
  }
1090
  #seopress_content_analysis .gr-analysis-content {
@@ -2030,6 +2033,11 @@ body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active {
2030
  margin: 15px 0 30px 0;
2031
  width: auto;
2032
  }
 
 
 
 
 
2033
  .seopress-notice pre {
2034
  background: #fff;
2035
  }
1084
  right: 10px;
1085
  top: calc(50% - 7px);
1086
  }
1087
+ #seopress_content_analysis
1088
+ .gr-analysis-title
1089
+ button.open
1090
+ .seopress-arrow::after {
1091
  content: "\f347";
1092
  }
1093
  #seopress_content_analysis .gr-analysis-content {
2033
  margin: 15px 0 30px 0;
2034
  width: auto;
2035
  }
2036
+
2037
+ .seopress-hidden {
2038
+ display: none;
2039
+ }
2040
+
2041
  .seopress-notice pre {
2042
  background: #fff;
2043
  }
assets/css/seopress.min.css CHANGED
@@ -1 +1 @@
1
- #seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}.post-type-product table.fixed thead .column-seopress_desc,.post-type-product table.fixed thead .column-seopress_title{width:8%}.post-type-product .fixed .column-seopress_ps,.post-type-product .fixed .column-seopress_words,.post-type-product table.fixed thead .column-seopress_canonical,.post-type-product table.fixed thead .column-seopress_redirect_enable,.post-type-product table.fixed thead .column-seopress_redirect_url,.post-type-product table.fixed thead .column-seopress_tkw{width:6%}.post-type-product .fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:100px}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;height:100%;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark)}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-tab.inside{padding:20px}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0;position:relative;left:-5px}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid var(--borderColorCard);display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:60px;height:60px}#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle{stroke-width:1em}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:60px;height:60px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid var(--borderColorLight)}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#term-seopress #seopress_cpt{width:95%}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:0;padding-bottom:0}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{font-weight:500}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{display:none;font-weight:700}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid var(--borderColorCard);display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg)}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs.wrap .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid var(--borderColorLight40)}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin:0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}.seopress-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;border-left:3px solid var(--backgroundPrimary)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:4px solid var(--backgroundPrimary);border-left:none}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
1
+ #seopress_content_analysis *,#seopress_cpt *,#seopress_pro_cpt *,.seopress-option *,.seopress-styles *{box-sizing:border-box}@font-face{font-family:seopress;src:url(../fonts/seopress.eot?81521271);src:url(../fonts/seopress.eot?81521271#iefix) format("embedded-opentype"),url(../fonts/seopress.woff?81521271) format("woff2"),url(../fonts/seopress.woff?81521271) format("woff"),url(../fonts/seopress.ttf?81521271) format("truetype"),url(../fonts/seopress.svg?81521271#seopress) format("svg");font-weight:400;font-style:normal}[class*=" icon-seopress"],[class^=icon-seopress-]{font-family:seopress!important;font-size:14px!important;line-height:24px!important}#adminmenu div.wp-menu-image.dashicons-admin-seopress::before{content:"\e800";font-family:seopress;font-weight:700;font-size:12px;line-height:20px}#seopress_content_analysis,#seopress_cpt,#seopress_pro_cpt,#wpadminbar,.column-seopress_score,.post-type-seopress_404 #wpcontent,.post-type-seopress_schemas #wpcontent,.seopress-option #wpcontent,.seopress-styles #wpcontent,.seopress-ui-datepicker{--primaryColor:#007cba;--paragraphColor:#757575;--fontSize:13px;--fontFamily:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;--color:#757575;--colorDark:#1e1e1e;--colorAlert:#a00;--colorWarning:#ffba00;--colorSuccess:#4ab866;--colorLowAlert:#e39f48;--colorPre:#37864b;--colorIcon:#d7dade;--lineHeight:24px;--titleColor:#3c434a;--titleFontSize:20px;--titleFontWeight:normal;--titleMargin:10px 0;--backgroundPrimary:#007cba;--backgroundPrimaryHover:#006ba1;--backgroundSecondaryHover:#f0f0f0;--borderColor:#a7aaad;--borderColorLight:#dcdcde;--borderColorLight40:rgba(220, 220, 222, 0.4);--borderColorCard:#e2e4e7;--borderColorTab:#c3c4c7}.seopress-option .text-center,.seopress-styles .text-center{text-align:center}.post-type-seopress_404 .btn,.post-type-seopress_schemas .btn,.seopress-option .btn,.seopress-styles .btn{display:inline-flex;text-decoration:none;font-size:var(--fontSize);margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:0 0;transition:box-shadow .1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;color:var(--colorDark);white-space:nowrap;outline:1px solid transparent}.post-type-seopress_404 .btnPrimary,.post-type-seopress_schemas .btnPrimary,.seopress-option .btnPrimary,.seopress-styles .btnPrimary{background:var(--primaryColor);color:#fff;text-decoration:none}.post-type-seopress_404 .btnPrimary:hover,.post-type-seopress_schemas .btnPrimary:hover,.seopress-option .btnPrimary:hover,.seopress-styles .btnPrimary:hover{background:var(--backgroundPrimaryHover);color:#fff}.post-type-seopress_404 .btnSecondary,.post-type-seopress_schemas .btnSecondary,.seopress-option .btnSecondary,.seopress-styles .btnSecondary{box-shadow:inset 0 0 0 1px var(--primaryColor);color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary,.post-type-seopress_schemas .btnTertiary,.seopress-option .btnTertiary,.seopress-styles .btnTertiary{color:var(--primaryColor);background:0 0}.post-type-seopress_404 .btnTertiary:hover,.post-type-seopress_schemas .btnTertiary:hover,.seopress-option .btnTertiary:hover,.seopress-styles .btnTertiary:hover{box-shadow:inset 0 0 0 1px var(--primaryColor)}.seopress-option hr,.seopress-styles hr{align-self:center;flex-grow:1;height:1px;margin:0 10px}#seopress-tabs.wrap .list-none{list-style:none;padding-left:0}.seopress-option .dashicons,.seopress-page-list .dashicons{vertical-align:middle;margin-right:5px;text-decoration:none}#seopress-news-panel .seopress-item-inner .dashicons{vertical-align:top}.seopress-button{text-transform:uppercase;background:#fff;border-color:#c8d7e1;border-style:solid;border-width:1px 1px 2px;color:#2e4453;display:inline-block;margin:0;outline:0;overflow:hidden;text-overflow:ellipsis;text-decoration:none;vertical-align:top;font-size:14px;line-height:20px;padding:6px 8px 6px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.seopress-button:hover{border-color:#a8bece;color:#00a0d2}.seopress-button .dashicons{vertical-align:middle}body .seopress-option h2{color:var(--titleColor);font-size:20px;line-height:24px;font-weight:400}body .seopress-option h3{color:var(--titleColor);font-size:16px;line-height:20px}#seopress_content_analysis input[type=text],#seopress_content_analysis textarea,#seopress_cpt input[type=text],#seopress_cpt textarea,#seopress_pro_cpt input[type=text],#seopress_pro_cpt textarea{width:100%;display:inline-block}#seopress_cpt #tabs-6 input[type=number]{min-width:200px}#seopress_cpt #tabs-6 #wrap-videos .video:first-child .remove-video{display:none}#seopress_content_analysis label,#seopress_cpt label,#seopress_pro_cpt label{margin-bottom:8px;display:inline-block;width:100%}#seopress_cpt #tabs-6{padding:0}body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option select,body .seopress-option textarea{max-width:35rem;border:1px solid var(--borderColor);box-shadow:0 2px 6px rgb(0 0 0 / 5%);width:100%}body .seopress-option select{min-height:50px}.wrap-opening-hours select{width:inherit}body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text]{line-height:46px}body .seopress-option input[type=number]:hover,body .seopress-option input[type=password]:hover,body .seopress-option input[type=text]:hover,body .seopress-option select:hover,body .seopress-option textarea:hover{border-color:#787c82}body .seopress-option input[type=number]:active,body .seopress-option input[type=number]:focus,body .seopress-option input[type=password]:active,body .seopress-option input[type=password]:focus,body .seopress-option input[type=text]:active,body .seopress-option input[type=text]:focus,body .seopress-option select:active,body .seopress-option select:focus,body .seopress-option textarea:active,body .seopress-option textarea:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}@media only screen and (max-width:1024px){body .seopress-option input[type=number],body .seopress-option input[type=password],body .seopress-option input[type=text],body .seopress-option textarea{min-width:inherit;width:100%}}#seopress_content_analysis input[type=checkbox],#seopress_cpt input[type=checkbox],#seopress_pro_cpt input[type=checkbox],body .seopress-option input[type=checkbox]{font-family:var(--fontFamily);padding:6px 8px;box-shadow:0 0 0 transparent;transition:box-shadow .1s linear;border-radius:2px;border:1px solid var(--color);font-size:16px;line-height:normal;border:1px solid var(--colorDark);margin-right:12px;transition:none;border-radius:2px;background:#fff;color:var(--colorDark);clear:none;cursor:pointer;display:inline-block;line-height:0;margin:-1px 4px 0 0!important;outline:0;padding:0!important;text-align:center;vertical-align:top;width:20px;height:20px;-webkit-appearance:none;appearance:none;transition:.1s border-color ease-in-out}#seopress_content_analysis input[type=checkbox]:checked::before,#seopress_cpt input[type=checkbox]:checked::before,#seopress_pro_cpt input[type=checkbox]:checked::before,body .seopress-option input[type=checkbox]:checked::before{content:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");background:var(--primaryColor);margin:-1px;width:20px;height:20px}#seopress_content_analysis input[type=checkbox]:active,#seopress_content_analysis input[type=checkbox]:focus,#seopress_cpt input[type=checkbox]:active,#seopress_cpt input[type=checkbox]:focus,#seopress_pro_cpt input[type=checkbox]:active,#seopress_pro_cpt input[type=checkbox]:focus,body .seopress-option input[type=checkbox]:active,body .seopress-option input[type=checkbox]:focus{box-shadow:0 0 0 2px var(--primaryColor);border-color:transparent}.field-recommended,.field-required{font-weight:700}.field-required{color:var(--colorAlert)}.field-recommended{color:var(--colorWarning)}.form-table td{padding:15px 0}.form-table td p{margin:4px 0}.form-table td p.seopress_wrap_archive_cpt{margin-bottom:15px}table.wp-list-table .manage_column.column-seopress_canonical,table.wp-list-table .manage_column.column-seopress_desc,table.wp-list-table .manage_column.column-seopress_insights,table.wp-list-table .manage_column.column-seopress_noindex,table.wp-list-table .manage_column.column-seopress_redirect_enable,table.wp-list-table .manage_column.column-seopress_redirect_url,table.wp-list-table .manage_column.column-seopress_title,table.wp-list-table .manage_column.column-seopress_tkw{width:7%!important}.post-type-product table.fixed thead .column-seopress_desc,.post-type-product table.fixed thead .column-seopress_title{width:8%}.post-type-product .fixed .column-seopress_ps,.post-type-product .fixed .column-seopress_words,.post-type-product table.fixed thead .column-seopress_canonical,.post-type-product table.fixed thead .column-seopress_redirect_enable,.post-type-product table.fixed thead .column-seopress_redirect_url,.post-type-product table.fixed thead .column-seopress_tkw{width:6%}.post-type-product .fixed .column-seopress_score{width:50px}table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex{width:100px}@media only screen and (max-width:1200px){table.fixed .column-seopress_canonical>div,table.fixed .column-seopress_desc>div,table.fixed .column-seopress_redirect_enable>div,table.fixed .column-seopress_redirect_url>div,table.fixed .column-seopress_title>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}table.fixed thead .column-seopress_canonical,table.fixed thead .column-seopress_nofollow,table.fixed thead .column-seopress_noindex,table.fixed thead .column-seopress_ps,table.fixed thead .column-seopress_redirect_enable,table.fixed thead .column-seopress_redirect_url,table.fixed thead .column-seopress_score,table.fixed thead .column-seopress_tkw,table.fixed thead .column-seopress_words{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_url{width:35%}.post-type-seopress_backlinks .wp-list-table .column-seopress_backlinks_anchor_text{width:20%}.seopress-styles #seopress-header{padding:22px 120px 22px 40px;height:60px;margin:0 auto;width:calc(100% - 160px);background:#fff;position:fixed;top:32px;z-index:110;display:flex;justify-content:space-between;align-items:center}.folded.seopress-styles #seopress-header{width:calc(100% - 35px)}@media only screen and (max-width:782px){.seopress-styles #seopress-header{width:100%;padding:22px;top:46px;position:absolute}}#seopress-header #seopress-navbar ul{margin:0;padding:0}#seopress-header #seopress-navbar ul li{margin:0;display:inline-block;position:relative;padding:0 20px 0 0;font-weight:700}#seopress-header #seopress-navbar ul li::after{content:"/";color:var(--paragraphColor);position:absolute;display:block;top:0;left:calc(100% - 10px)}#seopress-header #seopress-navbar ul li:last-child:after{content:none}.seopress-summary-items{display:flex;flex-wrap:wrap}.seopress-summary-item{display:flex;flex-direction:column;height:100%;padding:20px;border-bottom:1px solid var(--borderColorLight40);border-right:1px solid var(--borderColorLight40);line-height:1.4em;text-decoration:none;width:50%;color:var(--colorDark)}.seopress-summary-item-label{display:block;margin-bottom:16px;color:var(--color);font-size:14px;line-height:20px}.seopress-summary-item-data{margin-bottom:4px;font-weight:500;color:var(--colorDark);font-size:20px;line-height:28px}.seopress-tab.inside{padding:20px}#seopress-admin-tabs.ui-tabs{position:relative;padding:.2em;border:none;font-family:inherit;font-size:inherit}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:-1px .2em 0 0;padding:0;white-space:nowrap;border:none;background:0 0}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a{float:left;padding:.38em 1em .75rem;outline:0;border-bottom:2px solid #fff}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress-admin-tabs.ui-tabs .ui-tabs-nav li.ui-tabs-loading a{cursor:text;border-bottom:2px solid #23282d;color:#23282d}#seopress-admin-tabs.ui-tabs .ui-tabs-nav li a,#seopress-admin-tabs.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#0073aa;text-decoration:none}#seopress-admin-tabs.ui-tabs-vertical{width:55em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress-admin-tabs.wrap{background:#fff;display:block;width:64rem;max-width:100%;margin:0 auto}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap{width:100%}}#seopress-admin-tabs .seopress-tab{width:100%;display:none}#seopress-admin-tabs .seopress-tab.active{visibility:visible;overflow:inherit;opacity:1;transform:translateX(0);display:inherit;position:relative}.seopress-dashboard-columns{display:flex;max-width:64rem;margin:0 auto;justify-content:space-between;flex-direction:row}.seopress-dashboard-column{align-self:flex-start;width:calc(50% - 12px);margin:0}@media only screen and (max-width:782px){.seopress-dashboard-columns{max-width:100%;flex-direction:column}.seopress-dashboard-column{width:100%}}#seopress-admin-tabs .ui-tabs-nav,.seopress-get-started{margin:0 auto 20px;max-width:64rem;padding:2rem;width:100%;border-radius:0 0 4px 4px}.seopress-get-started{background:#fff url(img/bg-hero-started.svg) no-repeat 100% 50%/contain;position:relative}.seopress-get-started .inside{padding:2rem}.seopress-get-started .preheader{text-transform:uppercase;font-size:11px;font-weight:600;color:var(--paragraphColor)}.seopress-activity-panel-tabs{height:60px;display:flex;align-items:center}.seopress-activity-panel-tabs .btn{display:flex;flex-direction:column;justify-content:center;color:var(--color);height:60px;padding:10px 26px;border-bottom:3px solid transparent}.seopress-activity-panel-tabs .btn:hover{background:var(--backgroundSecondaryHover)}.seopress-activity-panel-tabs .btn.is-active{border-bottom:3px solid var(--backgroundPrimary);color:var(--colorDark)}.seopress-activity-panel-wrapper{height:calc(100vh - 92px);top:92px;background:var(--backgroundSecondaryHover);width:510px;transform:translateX(100%);transition-duration:.3s;transition-timing-function:ease-in-out;position:fixed;right:0;z-index:1000;overflow-x:hidden;overflow-y:auto}@media only screen and (max-width:782px){.seopress-activity-panel-wrapper{top:106px}}.seopress-activity-panel-wrapper.is-open{transform:none;box-shadow:0 12px 12px 0 rgb(85 93 102 / 30%)}.seopress-activity-panel-header{background:#e0e0e0;padding:16px 24px}.seopress-activity-panel-content{background:#fff;padding:16px 24px}.seopress-list-items,.seopress-list-items .seopress-item{margin:0}.seopress-list-items .seopress-item{border-bottom:1px solid var(--borderColorLight40)}.seopress-list-items .seopress-item:last-child{border-bottom:none}.seopress-list-items .seopress-item .seopress-item-inner{color:var(--primaryColor);text-decoration:none;padding:15px 20px;background:#fff;font-size:var(--fontSize);font-weight:700;width:100%}.seopress-option .has-action{display:flex;align-items:center}.seopress-list-items .seopress-item .seopress-item-inner:hover{background:var(--backgroundSecondaryHover)}.seopress-list-items .seopress-item-after,.seopress-list-items .seopress-item-before{margin:0 20px 0 10px;position:relative}.seopress-list-items .seopress-item-after::after,.seopress-list-items .seopress-item-before::before{content:"\f330";font-family:Dashicons;vertical-align:middle;font-size:20px;font-weight:400}.seopress-list-items .seopress-item-after{margin-left:auto;padding-left:20px;margin-right:0}.seopress-list-items .seopress-item-after::after{content:"\f345"}.seopress-list-items .seopress-item .seopress-item-title{margin:5px 0;color:var(--primaryColor)}.seopress-list-items .seopress-item .seopress-item-date{color:var(--paragraphColor);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-content{color:var(--colorDark);font-weight:400;margin:0}.seopress-list-items .seopress-item .seopress-item-inner.check{position:relative}.seopress-list-items .seopress-item .seopress-item-inner.check::before{content:"";width:32px;height:32px;font-size:24px;vertical-align:middle;border-radius:50px;color:#fff;margin-right:10px;display:inline-block;border:1px solid var(--borderColorLight);line-height:32px;text-align:center}.seopress-list-items .seopress-item .seopress-item-inner.done::before{background:var(--backgroundPrimary);border:none;content:"\f15e";font-family:Dashicons}.sp-tooltip{position:relative;margin-left:5px;display:inline-block;cursor:help;vertical-align:bottom;text-align:left;background:0 0;border:none;padding:0}.sp-tooltip .dashicons{color:var(--colorDark)}.sp-tooltip .sp-tooltiptext{visibility:hidden;position:absolute;z-index:999999999;width:350px;right:-310px;padding:20px;top:25px;font-weight:400;box-shadow:0 3px 30px rgb(25 30 35 / 10%);border:1px solid var(--borderColorLight40);background:#fff;word-break:break-word;text-transform:none}.sp-tooltip .sp-tooltiptext::before{border:8px solid var(--borderColorLight40);top:-8px}.sp-tooltip .sp-tooltiptext::after{border:8px solid #fff;top:-6px}.sp-tooltip .sp-tooltiptext::after,.sp-tooltip .sp-tooltiptext::before{border-bottom-style:solid;border-left-color:transparent;border-right-color:transparent;border-top:none;margin-left:-10px;content:"";position:absolute;height:0;width:0;line-height:0;left:30px}.sp-tooltip:active .sp-tooltiptext,.sp-tooltip:focus .sp-tooltiptext,.sp-tooltip:hover .sp-tooltiptext{visibility:visible}.sp-tooltip .sp-tooltip-headings{font-size:18px;font-weight:600;margin-bottom:20px;display:block}.sp-tooltip .sp-tooltip-desc{margin-bottom:20px;display:block;border-bottom:1px solid var(--borderColorLight40);padding-bottom:20px;font-size:var(--fontSize);line-height:1.5}.sp-tooltip .sp-tooltip-code{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;display:block;word-break:break-all;color:var(--colorPre);font-size:11px}.analysis-score .sp-tooltip{vertical-align:middle;font-size:.75em}#seopress_content_analysis .wrap-insights-post .sp-tooltip *{font-weight:400}#seopress_content_analysis .wrap-insights-post .sp-tooltip-headings{font-weight:700}#seopress_content_analysis a{color:var(--backgroundPrimary)}#seopress_content_analysis a.nounderline,#seopress_content_analysis a.nounderline:hover{text-decoration:none}#seopress_content_analysis .wrap-seopress-analysis{display:inline-block;width:100%}#seopress_content_analysis .col-left{width:calc(50% - 30px);float:left;margin-right:30px}#seopress_content_analysis .col-right{float:right;width:50%}#seopress_content_analysis #seopress_suggestions{display:inline-block;width:100%;margin:0;height:auto;padding:20px 0;position:relative;left:-5px}#seopress_content_analysis #seopress_suggestions li{list-style:none;margin:5px;display:inline-block}#seopress_content_analysis .analysis-score{clear:both;border-top:1px solid var(--borderColorCard);display:flex;justify-content:space-between;align-items:center}.column-seopress_score .analysis-score{display:flex;align-content:center}#seopress_content_analysis .analysis-score p,.column-seopress_score .analysis-score p{font-weight:700;font-size:1.2em}#seopress_content_analysis .analysis-score svg,.column-seopress_score .analysis-score svg{display:inline-block;height:30px;width:30px;margin:0;border-radius:100%;position:relative;font-weight:600;shape-rendering:geometricprecision;font-size:.5rem;vertical-align:middle;margin-right:15px}.column-seopress_score .analysis-score p,.column-seopress_score .analysis-score svg{margin:0}@keyframes loadingPulse{0%{stroke:#adc5d2}50%{stroke:#00a0d2}100%{stroke:#adc5d2}}#seopress_content_analysis .analysis-score .loading #bar{stroke-dashoffset:0!important;stroke:#adc5d2!important;animation:loadingPulse 3s infinite ease-in-out}#seopress_content_analysis .analysis-score .good #bar,.column-seopress_score .analysis-score #bar.good{stroke:var(--colorSuccess)}#seopress_content_analysis .analysis-score .notgood #bar,.column-seopress_score .analysis-score #bar.notgood{stroke-dashoffset:565;stroke:var(--colorWarning)}#seopress_content_analysis .analysis-score svg circle,#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle,.column-seopress_score .analysis-score svg circle{stroke-dashoffset:0;transition:stroke-dashoffset 1s linear;stroke:#ccc;stroke-width:2em}#tab_seopress_page_speed .ps-score,#tab_seopress_ps .ps-score{position:relative;display:inline-block}#tab_seopress_page_speed .ps-score svg,#tab_seopress_ps .ps-score svg{width:60px;height:60px}#tab_seopress_page_speed .ps-score svg circle,#tab_seopress_ps .ps-score svg circle{stroke-width:1em}#tab_seopress_page_speed .ps-score span,#tab_seopress_ps .ps-score span{font-weight:700;left:0;position:absolute;top:0;width:60px;height:60px;align-items:center;display:flex;justify-content:center;margin:0}#tab_seopress_page_speed .ps-score.green #bar,#tab_seopress_ps .ps-score.green #bar{stroke:var(--colorSuccess)}#tab_seopress_page_speed .ps-score.yellow #bar,#tab_seopress_ps .ps-score.yellow #bar{stroke:var(--colorWarning)}#tab_seopress_page_speed .ps-score.red #bar,#tab_seopress_ps .ps-score.red #bar{stroke:var(--colorAlert)}#seopress_content_analysis .gr-analysis{clear:both}#seopress_content_analysis .gr-analysis-title{border-top:1px solid var(--borderColorCard);position:relative}#seopress_content_analysis .gr-analysis-title .impact,#seopress_cpt .impact{position:absolute;left:10px;top:calc(50% - 5px);width:10px;height:10px;border-radius:50px;padding:0;margin:0;border:1px solid #fff}#seopress_content_analysis .gr-analysis .impact.good{background:var(--colorSuccess);box-shadow:0 0 5px var(--colorSuccess)}#seopress_content_analysis .gr-analysis .impact.low{background:var(--colorWarning);box-shadow:0 0 5px var(--colorWarning)}#seopress_content_analysis .gr-analysis .impact.medium{background:var(--colorLowAlert);box-shadow:0 0 5px var(--colorLowAlert)}#seopress_content_analysis .gr-analysis .impact.high,#seopress_cpt .impact.high{background:var(--colorAlert);box-shadow:0 0 5px var(--colorAlert)}#seopress_content_analysis .gr-analysis-content .impact.high{background:var(--colorAlert);box-shadow:none;color:#fff;padding:2px 4px;margin-left:5px;border-radius:4px;font-weight:700}#seopress_cpt .impact.high{position:relative;top:calc(50% - 18px);display:inline-block;left:inherit;right:-10px}#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{display:block;font-size:12px;color:var(--color)}@media only screen and (max-width:782px){#seopress_content_analysis .description,#seopress_cpt .description,#seopress_pro_cpt .description,.seopress-option .description{word-break:break-word}}#seopress_content_analysis input~span.description,#seopress_content_analysis span.description~input,#seopress_cpt input~span.description,#seopress_cpt span.description~input,#seopress_pro_cpt input~span.description,#seopress_pro_cpt span.description~input{margin-top:5px}#seopress_content_analysis .gr-analysis-title button{background:#fff;border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;padding:15px 30px;align-items:center;transition:all .3s linear}#seopress_content_analysis .gr-analysis-title button:hover{background:#f3f4f5}#seopress_content_analysis .gr-analysis-title button:focus{color:#191e23;border:none;box-shadow:none;outline-offset:-2px;outline:1px dotted #555d66}#seopress_content_analysis .gr-analysis-title button .seopress-arrow::after{content:"\f343";font-family:Dashicons;position:absolute;right:10px;top:calc(50% - 7px)}#seopress_content_analysis .gr-analysis-title button.open .seopress-arrow::after{content:"\f347"}#seopress_content_analysis .gr-analysis-content{padding:0 1rem .5rem 1rem;display:none;width:100%;border-top:1px solid var(--borderColorCard)}#seopress_content_analysis h3{margin:0;font-size:1em}#seopress_content_analysis h4{border-bottom:1px solid var(--borderColorCard);padding-bottom:.5rem;text-transform:uppercase;font-size:.85em;position:-webkit-sticky;position:sticky;top:0;background:#fff}#seopress_content_analysis .wrap-analysis-img ul{display:flex;flex-wrap:wrap}#seopress_content_analysis .wrap-analysis-img ul li{padding:0;text-align:left;cursor:default}#seopress_content_analysis .wrap-analysis-img h4{border-bottom:1px solid var(--borderColorLight);padding-bottom:10px}#seopress_content_analysis .wrap-analysis-img ul li img{max-width:150px;max-height:150px;object-fit:cover;border:1px solid var(--borderColorLight);cursor:default;padding:1px}#seopress-analysis-tabs .dashicons,#seopress_cpt .dashicons{vertical-align:middle}#seopress-analysis-tabs{clear:both}#seopress_content_analysis .dashicons-no-alt,#seopress_content_analysis .dashicons-yes,#seopress_pro_cpt .dashicons-no-alt,#seopress_pro_cpt .dashicons-yes{color:#fff;background:var(--colorSuccess);border-radius:50px;margin-right:10px}#seopress_content_analysis .dashicons-no-alt,#seopress_pro_cpt .dashicons-no-alt{background:var(--colorAlert)}#seopress_content_analysis .description-alt,#seopress_cpt .description-alt{padding:1em 0;border-top:1px solid var(--borderColorLight);border-bottom:1px solid var(--borderColorLight);display:flex}#seopress_cpt .desc-fb{margin-top:0;border-top:none}#seopress_content_analysis .description-alt svg,#seopress_cpt .description-alt svg{vertical-align:middle;align-self:center;fill:#f0b849;flex-shrink:0;margin-right:16px}#seopress_cpt .notice{padding:10px 14px;margin:0}#seopress_cpt .inside{margin:0;padding:0}#seopress_cpt .ui-tabs .ui-tabs-nav{display:flex;position:relative;width:100%;z-index:10;margin:0;border-radius:0;padding:0;align-items:center;padding:0;height:48px;border-bottom:1px solid #ddd;background:inherit;line-height:inherit;color:inherit;border-top:none;border-left:none;border-right:none}#seopress_cpt .ui-tabs .sp-section{font-weight:700;font-size:var(--fontSize)}#seopress_cpt .ui-helper-clearfix:after{content:none}.seopress_page_seopress-titles #seopress-tabs .form-table td,.seopress_page_seopress-titles #seopress_content_analysis .form-table td{padding:0}#seopress_cpt .ui-tabs .ui-tabs-panel{background:#fff;border-radius:0;display:inline-block;padding:1em 1.4em;width:100%}#seopress_content_analysis .dashicons-info,#seopress_cpt .ui-tabs .ui-tabs-panel .dashicons-info,#seopress_pro_cpt .dashicons-info{font-size:16px;vertical-align:middle;height:16px;width:16px}#seopress_cpt .ui-tabs .ui-tabs-nav li,#seopress_cpt .ui-tabs-anchor{cursor:pointer!important}body #seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{position:relative;z-index:60;cursor:pointer;border-radius:0;border-bottom:4px solid var(--backgroundPrimary)!important}#seopress_cpt .wp-color-result{margin:0}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content,#seopress_cpt #tabs-6>p{padding:0 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-content{padding:0 1.4em 1em}#seopress_cpt #tabs-6 #wrap-videos .video{border-top:1px solid var(--borderColorLight)}#seopress_cpt #tabs-6 #wrap-videos .video .accordion-section-title{border-left:none;border-right:none;font-size:1em;padding:1em 1.4em}#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-content,#seopress_cpt #tabs-6 #wrap-videos .video:last-child .accordion-section-title{border-bottom:1px solid var(--borderColorLight)}#seopress_content_analysis .mandatory,#seopress_cpt .mandatory{color:var(--colorAlert)}#seopress_cpt .box-left{float:left;width:49%;margin-right:1%}#seopress_cpt .box-right{float:left;width:49%;margin-left:1%}#seopress_cpt #tabs-3 .box-left{width:44%}#seopress_cpt #tabs-3 .box-right{width:54%}@media only screen and (max-width:1200px){#seopress_cpt .box-left,#seopress_cpt .box-right{float:none;width:100%;margin:0}}@media only screen and (max-width:1500px){#seopress_cpt #tabs-3 .box-left,#seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}}#edittag #seopress_cpt #tabs-3 .box-left,#edittag #seopress_cpt #tabs-3 .box-right{float:none;width:100%;margin:0}#seopress-tabs .seopress_media_upload,#seopress_pro_cpt .seopress_media_upload{margin-top:.5rem}#term-seopress #seopress_cpt{width:95%}#seopress_cpt .ui-tabs{position:relative;padding:0;border:none;font-family:inherit;font-size:inherit;display:inline-block;width:100%}#seopress_cpt .ui-tabs .ui-tabs-nav li{list-style:none;position:relative;padding:0;white-space:nowrap;margin:0;border:none;height:48px;background:0 0}#seopress_cpt .ui-tabs .ui-tabs-nav li a{display:flex;padding:3px 15px;align-items:center}#seopress-admin-tabs.ui-tabs-vertical .ui-tabs-nav li a,#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li a{display:block}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:0;padding-bottom:0}#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-state-disabled a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-active a,#seopress_cpt .ui-tabs .ui-tabs-nav li.ui-tabs-loading a{font-weight:500}#seopress_cpt .ui-tabs .ui-tabs-nav li a,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a{cursor:pointer;color:#191e23;text-decoration:none;height:48px}#seopress_cpt .ui-tabs .ui-tabs-nav li a:focus,#seopress_cpt .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active a:focus{outline:3px solid transparent;box-shadow:inset 0 0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary),inset 0 -4px 0 0 var(--backgroundPrimary)}#seopress_cpt .ui-tabs-vertical{width:55em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav{padding:.2em .1em .2em .2em;float:left;width:12em}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li{clear:left;width:100%;border-bottom-width:1px!important;border-right-width:0!important;margin:0 -1px .2em 0}#seopress_cpt .ui-tabs-vertical .ui-tabs-nav li.ui-tabs-active{padding-bottom:0;padding-right:.1em;border-right-width:1px}#seopress_cpt .ui-tabs-vertical .ui-tabs-panel{padding:1em;float:right;width:40em}#seopress_cpt .ui-tabs .ui-tabs-nav li a .dashicons{margin-right:2px}#seopress_cpt .google-snippet-preview{font-family:arial,sans-serif;word-break:break-all}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet{margin:0 0 10px 0;box-shadow:0 1px 6px rgba(32,33,36,.28);border-radius:8px;padding:12px 16px}#seopress_cpt .google-snippet-preview>p{word-break:normal}#seopress_cpt .google-snippet-preview .snippet-title,#seopress_cpt .google-snippet-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview .snippet-title-default{color:#1a0dab;font-size:18px;font-weight:400;line-height:21.6px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-title-default{font-size:16px;line-height:20px;margin-bottom:12px}#seopress_cpt .google-snippet-preview .snippet-permalink{color:#006621;font-size:14px;font-style:normal;font-weight:400;line-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#seopress_cpt .google-snippet-preview .wrap-snippet .wrap-m-icon-permalink,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-permalink{display:none}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:12px;display:flex}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-m-icon-permalink .snippet-permalink{display:block;color:#3c4043;font-size:12px}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon{margin-right:12px;vertical-align:middle}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-favicon img{width:16px;height:16px;max-width:inherit}#seopress_cpt .google-snippet-preview.mobile-preview .wrap-snippet .snippet-permalink:first-child{color:#3c4043;white-space:nowrap;font-size:12px;display:block}#seopress_cpt .google-snippet-preview .snippet-description,#seopress_cpt .google-snippet-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview .snippet-description-default{color:#545454;font-size:14px;font-weight:400;line-height:18.2px;display:inline}#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-custom,#seopress_cpt .google-snippet-preview.mobile-preview .snippet-description-default{color:#3c4043;font-size:14px;line-height:20px}#seopress_cpt .google-snippet-preview .snippet-date{color:grey;display:inline}#seopress_cpt .facebook-snippet-box{color:#4b4f56;font-size:14px;width:524px;max-width:100%}#seopress_cpt .facebook-snippet-box .notice,#seopress_cpt .twitter-snippet-box .notice{padding:10px 14px;margin:0 0 10px 0;width:100%}#seopress_cpt .facebook-snippet-box .notice span,#seopress_cpt .twitter-snippet-box .notice span{font-weight:700}#seopress_cpt .snippet-meta{display:flex;overflow:hidden;max-height:12px}#seopress_cpt .fb-by,#seopress_cpt .snippet-fb-site-name,#seopress_cpt .snippet-fb-url{color:#606770;font-size:12px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .fb-sep{padding-left:5px;padding-right:5px;color:#606770;line-height:11px;font-size:12px}#seopress_cpt .facebook-snippet-box .facebook-snippet-text{border:1px solid #dadde1;background-color:#f2f3f5;padding:10px 12px}#seopress_cpt .facebook-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .facebook-snippet-box .snippet-fb-title,#seopress_cpt .facebook-snippet-box .snippet-fb-title-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-title-default{font-size:16px;line-height:20px;margin:3px 0 0;padding-top:2px;color:#1d2129;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word;max-height:22px}#seopress_cpt .facebook-snippet-box .snippet-fb-description,#seopress_cpt .facebook-snippet-box .snippet-fb-description-custom,#seopress_cpt .facebook-snippet-box .snippet-fb-description-default{color:#606770;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .facebook-snippet-box img{display:block;height:274px;width:524px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.term-php #seopress_cpt .facebook-snippet-box img,.term-php #seopress_cpt .twitter-snippet-box img{width:100%;height:auto}#seopress_cpt .twitter-snippet-box{color:#4b4f56;font-size:14px}#seopress_cpt .snippet-twitter-url{color:#8899a6;font-size:14px;white-space:normal;line-height:11px;text-transform:uppercase;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis}#seopress_cpt .twitter-snippet-box .twitter-snippet-text{border:1px solid #dadde1;background-color:#fff;padding:10px 12px;border-radius:0 0 10px 10px}#seopress_cpt .twitter-snippet-box .title-desc{max-height:46px;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-img,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-img-default{border-radius:10px 10px 0 0;overflow:hidden}#seopress_cpt .twitter-snippet-box .snippet-twitter-title,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-title-default{font-size:1em;line-height:20px;margin-bottom:5px;max-height:1.3em;color:#000;font-weight:700;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;word-break:break-word}#seopress_cpt .twitter-snippet-box .snippet-twitter-description,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-custom,#seopress_cpt .twitter-snippet-box .snippet-twitter-description-default{color:#000;font-size:14px;line-height:20px;word-break:break-word;font-family:Helvetica,Arial,sans-serif;max-height:80px;overflow:hidden;-webkit-box-orient:vertical;display:-webkit-box;text-overflow:ellipsis;white-space:normal;width:100%}#seopress_cpt .twitter-snippet-box img{display:block;height:200px;width:436px;object-fit:cover;background-color:#f0f0f0;text-align:center;border-bottom:none}.wrap-toggle-preview{position:relative}.wrap-toggle-preview p{font-weight:700;margin:0 0 1rem 0}#seopress_add_to_insights{margin-left:1rem}#seopress_add_to_insights_status{display:inline-block;font-weight:700;margin:0 0 0 1rem;vertical-align:middle;padding:.3rem;font-style:italic}#seopress_cpt .wrap-seopress-counters,#seopress_pro_cpt .wrap-seopress-counters,.seopress-setup .wrap-seopress-counters,.seopress-styles .wrap-seopress-counters{text-align:right;background:#e9ecef;padding:2px 5px;display:flex;font-size:12px;justify-content:flex-end;border-radius:0 0 .25rem .25rem}#seopress_cpt .sp-progress,#seopress_pro_cpt .sp-progress,.seopress-setup .sp-progress,.seopress-styles .sp-progress{display:flex;height:1rem;overflow:hidden;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem .25rem 0 0;margin:-15px 0 0 0}#seopress_cpt .sp-progress-bar,#seopress_pro_cpt .sp-progress-bar,.seopress-setup .sp-progress-bar,.seopress-styles .sp-progress-bar{display:flex;flex-direction:column;justify-content:center;color:#fff;text-align:center;white-space:nowrap;background-color:#0085ba;transition:width .6s ease}#seopress_cpt #seopress_titles_desc_counters,#seopress_cpt #seopress_titles_title_counters,#seopress_pro_cpt #seopress_rich_snippets_articles_counters,#seopress_pro_cpt #seopress_rich_snippets_courses_counters{display:inline;margin-right:5px}#seopress_cpt #seopress_titles_desc_counters_val,#seopress_cpt #seopress_titles_title_counters_val,#seopress_pro_cpt #seopress_rich_snippets_articles_counters_val,#seopress_pro_cpt #seopress_rich_snippets_courses_counters_val{display:inline;font-weight:700}#tab-panel-seopress_titles_help_tab li span{font-weight:700;margin-right:10px}.seopress-styles .seopress-option{margin:85px 40px 40px}@media only screen and (max-width:782px){.seopress-styles .seopress-option{margin:85px 22px 22px}}.seopress-styles .seopress-option h1{font-size:var(--titleFontSize);color:var(--titleColor);font-weight:var(--titleFontWeight);margin:var(--titleMargin);display:flex;justify-content:space-between}.seopress_wrap_archive_cpt,.seopress_wrap_single_cpt,.seopress_wrap_single_tax,.seopress_wrap_tax{margin:0 0 20px 0}#tab_seopress_titles_archives .form-table th:empty,#tab_seopress_titles_single .form-table th:empty,#tab_seopress_titles_tax .form-table th:empty{display:none}.seopress-styles .seopress-option .link-archive{font-size:var(--fontSize)}.seopress-styles .seopress-option .link-archive .dashicons{font-size:18px;width:20px;height:20px;margin:inherit}.seopress-option h1 .feature-state .dashicons{font-size:16px;width:16px;height:16px;vertical-align:middle;margin:0 10px 0 0}.seopress-styles .seopress-option .submit{padding:20px 0 20px 0;left:0;margin:0;position:sticky;bottom:0;z-index:100;display:inline-block}@media only screen and (max-width:782px){.seopress-styles .seopress-option .submit{position:relative}}.seopress-styles .seopress-option .seopress-tab .submit{display:block;position:relative}.seopress-styles #wpcontent{padding-left:0}.seopress-styles pre{font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;padding:10px;display:inline-block;background-color:var(--backgroundSecondaryHover);border-radius:3px;color:var(--colorDark);font-size:var(--fontSize)}.seopress-option .seopress-settings{float:left;max-width:750px;width:100%}.seopress-option .seopress-settings label{margin:0 0 0 10px}.wrap-seopress-tab-content{position:relative;display:block;width:100%;max-width:64rem;margin:0 auto}#seopress-tabs .seopress-tab{padding:10px 1.5rem;width:100%;display:none}#seopress-tabs.full-width .seopress-tab{width:100%}@media only screen and (max-width:1024px){#seopress-tabs .seopress-tab{width:100%}}#seopress-tabs .seopress-tab.active{display:inline-block;background:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tab.active{width:100%;border-left:none;border-top:1px solid RGB(238,238,238)}}#seopress_htaccess_file{width:100%}.seopress-option textarea{min-height:100px}.seopress-option .wp-picker-container button{box-shadow:none;border:1px solid #0071a1;border-radius:3px;background:#f3f5f6;text-transform:none}.seopress-option .wp-picker-container input[type=text].wp-color-picker{min-width:inherit}.seopress-option .wp-picker-container .wp-picker-default{margin:0}.seopress-option .wp-picker-container .wp-picker-clear{box-shadow:none;text-transform:none;border-radius:0;background:0 0;margin:0}.seopress-option .wp-picker-container .wp-picker-clear:hover{background:0 0;text-decoration:currentColor;color:inherit}.seopress-inbox-title p{font-size:20px;color:var(--titleColor);margin:0}#seopress-admin-tabs .ui-tabs-nav{display:flex;padding-top:1rem;padding-bottom:0}#seopress-admin-tabs .nav-tab-wrapper a.nav-tab-active:focus{color:inherit}.seopress-intro{padding:20px}.seopress-option .seopress-table{background:#fff;border:1px solid var(--borderColorLight)}.seopress-option .seopress-table th{padding:15px 10px;vertical-align:middle}.wp-admin-ui_page_seopress-roles .seopress-option .seopress-table th{min-width:200px}.seopress-option .seopress-table .seopress-settings-section{background:#f1f1f1}.seopress-option .seopress-table .seopress-table-head .seopress-feature{border-bottom:1px solid var(--borderColorLight);font-weight:700;background:#f1f1f1}#seopress-content .feature-state,.seopress-option .feature-state{font-style:italic;font-size:11px;font-weight:400}@media only screen and (max-width:782px){#seopress-content .feature-state,.seopress-option .feature-state{display:none}}.seopress-option #tab_seopress_titles_archives h3,.seopress-option #tab_seopress_titles_single h3,.seopress-option #tab_seopress_titles_tax h3{margin:2em 0 1em 0;border-top:1px solid var(--borderColorLight);padding:1em 0 0 0}.seopress-option #tab_seopress_titles_archives h3:first-child,.seopress-option #tab_seopress_titles_single h3:first-child,.seopress-option #tab_seopress_titles_tax h3:first-child{margin:0 0 1em 0}.seopress-option #tab_seopress_titles_archives h3 div,.seopress-option #tab_seopress_titles_single h3 div,.seopress-option #tab_seopress_titles_tax h3 div{display:inline}#seopress-content .feature-state-on,#seopress-content .feature-state.feature-state-on,.seopress-option .feature-state-on,.seopress-option .feature-state.feature-state-on{display:inline-block}#seopress-content .feature-state-off,.seopress-option .feature-state-off{display:none}.seopress-option .postbox .inside li{list-style:square inside;padding-left:5px}#tab_seopress_page_speed .inside li{list-style:none;padding-left:0;word-break:break-word}.seopress-option .log{display:none;font-weight:700}.seopress-option input[type=text].seopress-admin-menu-input{min-width:inherit;width:100%}.seopress_page_seopress-import-export .postbox{width:calc(100% - 20px)}#seopress_cpt #seopress_titles_title_meta{margin-bottom:.2rem}.seopress-option .section-tool{border:none;box-shadow:none;background:0 0;position:relative}.seopress-option .section-tool::after{content:"";background:#dedede;height:1px;width:100%;display:block}.seopress-option .section-tool:last-child{margin-bottom:0}.seopress-option .section-tool:last-child::after{content:none}.seopress-option .section-tool .inside{padding-left:0;padding-right:0}.seopress-option .sp-section-header{width:100%;display:flex;position:relative;align-items:center}.seopress-option .sp-section-header h2{font-size:1.5em}.seopress-option .sp-section-header>.dashicons{color:var(--primaryColor);padding:10px;border-radius:6px;margin-right:10px;background:#c4f0ff}.seopress-option .sp-section-header .wrap-toggle-checkboxes{display:flex}.seopress-notice{margin:5px 0 35px 15px;position:relative;top:75px;left:25px;background:rgb(0 124 186 / 10%);border-left:4px solid var(--primaryColor);padding:8px 12px;width:calc(100% - 108px);z-index:10}#seopress-tabs .seopress-notice,#seopress_pro_cpt .seopress-notice,.seopress-setup .seopress-notice{top:inherit;left:inherit;margin:15px 0 30px 0;width:auto}.seopress-hidden{display:none}.seopress-notice pre{background:#fff}.seopress-notice.is-success{border-left-color:var(--colorSuccess);background:#eff9f1}.seopress-notice.is-warning{border-left-color:#f0b849;background:#fef8ee}.seopress-notice.is-error{border-left-color:#cc1818;background:rgb(244 162 162 / 30%)}#seopress-tabs.wrap{margin:30px 0 0 0}#seopress-notifications-center .seopress-alert ul,#seopress-tabs.wrap ul{list-style:square inside;padding-left:5px;display:inline-block;max-width:35rem;width:100%}.post-type-seopress_404 .seopress-BlankState-message::before,.post-type-seopress_schemas .seopress-BlankState-message::before{font-family:Dashicons;speak:none;font-weight:400;font-variant:normal;text-transform:none;line-height:1;margin:0;text-indent:0;position:absolute;top:0;left:0;width:100%;height:100%;text-align:center;content:"\f103"}.post-type-seopress_schemas .seopress-BlankState-message::before{content:"\f495"}.seopress-BlankState{text-align:center;padding:5em 0 0}.seopress-BlankState .seopress-BlankState-message{color:#aaa;margin:0 auto 1.5em;line-height:1.5em;font-size:1.2em;max-width:500px}.seopress-BlankState .seopress-BlankState-message::before{color:#ddd;text-shadow:0 -1px 1px rgba(0,0,0,.2),0 1px 0 rgba(255,255,255,.8);font-size:8em;display:block;position:relative!important;top:auto;left:auto;line-height:1em;margin:0 0 .1875em}.seopress-BlankState .seopress-BlankState-cta{font-size:1.2em;padding:.75em 1.5em;margin:0 .25em}.seopress-BlankState{max-width:764px;text-align:center;margin:auto}.seopress-BlankState .seopress-BlankState-message{color:var(--titleColor);font-size:1.5em;margin:0 auto 1em}.seopress-BlankState .seopress-BlankState-message::before{font-size:120px}.seopress-BlankState .seopress-BlankState-buttons{margin-bottom:4em}#seopress_content_analysis .up,#seopress_content_analysis .up .dashicons{color:var(--colorSuccess)}#seopress_content_analysis .down,#seopress_content_analysis .down .dashicons{color:var(--colorAlert)}#seopress_content_analysis .up .dashicons{transform:rotateZ(45deg)}#seopress_content_analysis .stable .dashicons{transform:rotateZ(90deg)}#seopress_content_analysis .down .dashicons{transform:rotateZ(135deg)}#seopress_content_analysis .wrap-insights-post{clear:both;border-top:1px solid var(--borderColorCard);display:flex;align-items:center}#seopress_content_analysis .wrap-insights-post .widget-insights-title{margin:0 1rem}#seopress_content_analysis .wrap-insights-post span{font-weight:700;margin:0 .2rem 0 0}.wrap-user-roles{display:grid;grid-template-columns:repeat(4,1fr)}@media only screen and (max-width:782px){.wrap-user-roles{display:block}}#seopress-news-panel.is-active,#seopress-notifications-center.is-active{display:block!important}#seopress-notifications-center .seopress-alert{padding:16px 25px;position:relative;transition:all 150ms ease;justify-content:space-between;margin-bottom:20px}#seopress-notifications-center .seopress-alert:last-child{margin-bottom:0;border-bottom:none}#seopress-notifications-center .dashicons{display:flex;align-self:normal;width:30px;height:30px;color:var(--colorIcon);font-size:30px;margin:0 0 10px 0}#seopress-admin-tabs #tab_seopress_notifications.seopress-tab{background:0 0;padding:0;border-radius:0;width:100%}.seopress-notice #message{margin:5px 10px 2px 0}#seopress-notice a{position:relative;text-decoration:none;margin:0 0 0 .3rem}#seopress-notice a .tooltip{white-space:pre;z-index:200;padding:2px 5px;font-weight:500;font-size:12px;color:#aab7c4;background:#fff;box-shadow:0 1px 2px 0 rgba(49,49,93,.1),0 0 1px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;opacity:0;top:30px;transition:opacity .2s ease;visibility:hidden;line-height:20px;left:-100%;overflow:hidden}#seopress-notice a:hover .tooltip{opacity:1;visibility:visible}.seopress-page-list{margin:1.5rem auto}.post-type-seopress_404 .seopress-notice,.post-type-seopress_bot .seopress-notice,.post-type-seopress_schemas .seopress-notice{left:0;top:40px;margin:0 0 50px;width:calc(100% - 48px)}.seopress-search{position:relative;padding:20px}.seopress-search::before{content:"\f179";font-family:Dashicons;position:absolute;top:35px;left:30px;font-size:20px}.seopress-search input{padding-left:40px}.seopress-item-toggle-options{position:relative;cursor:pointer;padding:5px 10px;border:1px solid var(--borderColor);border-radius:3px;transform:rotate(90deg)}.seopress-item-toggle-options::before{content:"\f11c";font-family:Dashicons;font-size:18px;vertical-align:middle}.seopress-card{background:#fff;border:1px solid var(--borderColorCard);border-radius:3px;position:relative}.seopress-option .seopress-card-actions button{margin-left:.5em}.seopress-card-title{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;justify-content:space-between;align-items:center}.seopress-card-title h2{margin:0}.seopress-cart-list{border-bottom:1px solid var(--borderColorCard);padding:18px 24px;display:flex;align-items:center;text-decoration:none;color:var(--primaryColor);font-weight:700;line-height:20px}.seopress-cart-list:last-child{border-bottom:none}.seopress-cart-list:active,.seopress-cart-list:focus,.seopress-cart-list:hover{background:var(--backgroundSecondaryHover)}body .seopress-cart-list h3{font-size:var(--fontSize);color:var(--primaryColor);font-weight:700;margin:0}.seopress-cart-list p{color:var(--titleColor);font-weight:400;margin:0;font-size:12px;line-height:20px}.seopress-card-footer{padding:10px 20px;border-top:1px solid var(--borderColorLight40)}.seopress-card-popover{display:none;background:#fff;border:1px solid var(--borderColor);padding:20px;position:absolute;top:55px;overflow-y:auto;right:28px;z-index:20}.seopress-card-popover.is-open{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-button,.seopress-option .tag-title{cursor:pointer;font-weight:500;border-radius:4px;transition:all .3s linear}#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{position:relative;display:inline-flex;width:100%;margin:10px 0}.seopress-option .wrap-tags{flex-wrap:wrap}.seopress-option .wrap-tags button{margin-bottom:10px}@media only screen and (max-width:782px){#seopress_cpt .wrap-tags,#seopress_pro_cpt .wrap-tags,.seopress-option .wrap-tags{flex-wrap:wrap}}#seopress-tabs .sp-wrap-tag-variables-list,#seopress_cpt .sp-wrap-tag-variables-list,#seopress_pro_cpt .sp-wrap-tag-variables-list{position:relative;float:left;display:none}#seopress-tabs.wrap .sp-tag-variables-list,#seopress_cpt .sp-tag-variables-list,#seopress_pro_cpt .sp-tag-variables-list{position:absolute;left:-48px;width:300px;z-index:100;top:20px;color:var(--titleColor);height:300px;z-index:100;overflow:auto;background:#fff;border:1px solid var(--borderColorLight);box-shadow:0 2px 6px rgb(0 0 0 / 5%);border-radius:2px;list-style:none;padding:0}#seopress-tabs .sp-wrap-tag-variables-list.open,#seopress_cpt .sp-wrap-tag-variables-list.open,#seopress_pro_cpt .sp-wrap-tag-variables-list.open{display:block}#seopress-tabs .seopress-tag-single-all.tag-description .dashicons,#seopress-tabs .seopress-tag-single-all.tag-title .dashicons,#seopress_cpt .seopress-tag-single-all.seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-single-all.tag-title .dashicons,#seopress_pro_cpt .seopress-tag-single-all.tag-title .dashicons{margin:0;transition:all 150ms linear}#seopress-tabs .seopress-tag-single-all.open .dashicons,#seopress_cpt .seopress-tag-single-all.open .dashicons,#seopress_pro_cpt .seopress-tag-single-all.open .dashicons{transform:rotateX(180deg)}#seopress-tabs.wrap .sp-tag-variables-list li,#seopress_cpt .sp-tag-variables-list li,#seopress_pro_cpt .sp-tag-variables-list li{padding:8px 12px;cursor:pointer;margin:0;border-bottom:1px solid var(--borderColorLight40)}#seopress-tabs .sp-tag-variables-list li span,#seopress_cpt .sp-tag-variables-list li span,#seopress_pro_cpt .sp-tag-variables-list li span{display:block;font-weight:700;font-size:12px;margin-bottom:2px}#seopress-tabs.wrap .sp-tag-variables-list li:hover,#seopress_cpt .sp-tag-variables-list li:hover,#seopress_pro_cpt .sp-tag-variables-list li:hover{background:var(--backgroundPrimaryHover);color:#fff;border-bottom-color:#fff}#seopress-tabs.wrap .sp-tag-variables-list li::after,#seopress_cpt .sp-tag-variables-list li::after,#seopress_pro_cpt .sp-tag-variables-list li::after{content:attr(data-value);display:inline-block;background:#e9ecef;padding:1px 5px;color:#333;font-family:Menlo,Monaco,Andale Mono,Courier New,monospace;border-radius:3px;font-size:11px}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons,#seopress_cpt .seopress-tag-dropdown .dashicons,#seopress_cpt .tag-title .dashicons,#seopress_pro_cpt .tag-title .dashicons,.seopress-option .tag-title .dashicons{padding:0;height:16px;width:16px;font-size:16px;margin-right:5px;color:var(--primaryColor);vertical-align:middle}#seopress-tabs.wrap .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .seopress-tag-dropdown:hover .dashicons,#seopress_cpt .tag-title:hover .dashicons,#seopress_pro_cpt .tag-title:hover .dashicons,.seopress-option .tag-title:hover .dashicons{color:#fff}#seopress-tabs.wrap .seopress-tag-dropdown .dashicons{margin:0}.seopress-overlay-tag-dropdown{position:absolute;display:none;top:0;left:0;width:100%;height:100%;z-index:50}.seopress-overlay-tag-dropdown.active{display:block}#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{padding:5px 12px;font-size:10px;user-select:none;margin:0 5px 0 0;display:inline-flex;text-transform:uppercase;align-items:center;color:var(--primaryColor)}#seopress-tabs .seopress-tag-dropdown:focus,#seopress-tabs .seopress-tag-dropdown:hover,#seopress_cpt .seopress-tag-dropdown:focus,#seopress_cpt .seopress-tag-dropdown:hover,#seopress_cpt .tag-title:focus,#seopress_cpt .tag-title:hover,#seopress_pro_cpt .tag-title:focus,#seopress_pro_cpt .tag-title:hover,.seopress-option .tag-title:focus,.seopress-option .tag-title:hover{box-shadow:0 0 var(--wp-admin-border-width-focus) var(--backgroundPrimary);background:var(--backgroundPrimaryHover);color:#fff}@media only screen and (max-width:782px){#seopress-tabs .seopress-tag-dropdown,#seopress_cpt .seopress-tag-dropdown,#seopress_cpt .tag-title,#seopress_pro_cpt .tag-title,.seopress-option .tag-title{margin-bottom:10px}}#seopress-content .seopress-useful-tools .widget-reverse li{padding:10px;margin:0;border-bottom:1px solid var(--borderColorLight)}#seopress-content .seopress-reverse label,#seopress-content .seopress-useful-tools .widget-whois ul li span{font-weight:700}#seopress-content #seopress-reverse-url{width:100%;margin:10px 0}#seopress-content .widget-reverse p{margin:0}.seopress-styles #screen-meta{position:relative;top:60px}.seopress-styles #screen-meta-links .show-settings{box-shadow:none}.seopress-styles #screen-meta-links .screen-meta-toggle{position:fixed;top:32px;z-index:2000;right:40px}@media only screen and (max-width:782px){.seopress-styles #screen-meta-links .screen-meta-toggle{position:relative;top:60px}}#seopress-content input.toggle,#seopress_cpt input.toggle,.seopress-option input.toggle{max-height:0;max-width:0;opacity:0;position:relative}.seopress-feature input.toggle{display:block}#seopress_cpt input.toggle,.seopress_wrap_single_cpt input.toggle,.seopress_wrap_tax input.toggle{margin:0;border:none;min-width:0}#seopress-content input.toggle+label,#seopress_cpt #tabs-1 input.toggle+label,.seopress-option input.toggle+label{display:inline-block;position:relative;box-shadow:inset 0 0 0 1px #d5d5d5;text-indent:-5000px;height:20px;width:40px;border-radius:15px;margin:0 10px 0 0}#seopress-content input.toggle+label{margin:0;left:-20px}#seopress_cpt #tabs-1 input.toggle+label{margin:0}.wrap-toggle-checkboxes input.toggle+label{float:left;margin-right:10px}#seopress-content input.toggle+label:before,#seopress_cpt input.toggle+label:before,.seopress-option input.toggle+label:before{content:"";position:absolute;display:block;height:20px;width:30px;top:0;left:0;border-radius:15px;background:rgba(19,191,17,0);transition:.25s ease-in-out}#seopress-content input.toggle+label:after,#seopress_cpt input.toggle+label:after,.seopress-option input.toggle+label:after{content:"";position:absolute;display:block;height:20px;width:20px;top:0;left:0;border-radius:15px;background:#fff;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2),0 2px 4px rgba(0,0,0,.2);transition:.25s ease-in-out}#seopress_cpt input.toggle+label,#seopress_cpt input.toggle+label:before,.seopress_wrap_single_cpt input.toggle+label,.seopress_wrap_single_cpt input.toggle+label:before,.seopress_wrap_tax input.toggle+label,.seopress_wrap_tax input.toggle+label:before{width:40px;height:20px}#seopress_cpt input.toggle+label:after,.seopress_wrap_single_cpt input.toggle+label:after,.seopress_wrap_tax input.toggle+label:after{width:20px;height:20px}#seopress-content input.toggle[data-toggle="1"]+label:before,#seopress_cpt input.toggle[data-toggle="1"]+label:before,.seopress-option input.toggle[data-toggle="1"]+label:before,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:before,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:before{width:40px;background:var(--backgroundPrimary)}#seopress-content input.toggle[data-toggle="1"]+label:after,#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress-option input.toggle[data-toggle="1"]+label:after{left:20px;box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_single_cpt input.toggle[data-toggle="1"]+label:after,.seopress_wrap_tax input.toggle[data-toggle="1"]+label:after{box-shadow:inset 0 0 0 1px var(--backgroundPrimary),0 2px 4px rgba(0,0,0,.2)}#seopress-content .seopress-page-list{position:relative;display:block;max-width:64rem}@media only screen and (max-width:782px){#seopress-content .seopress-page-list{grid-template-columns:repeat(1,1fr)}}.seopress-styles .wrap{margin:0;display:flex;position:relative}.seopress-insights.seopress-styles .wrap,.toplevel_page_seopress-option.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}@media only screen and (max-width:782px){.seopress-styles .wrap{display:inherit;position:inherit;margin:inherit}}.seopress-option .wrap div.nav-tab-wrapper{margin:0;padding:0;line-height:inherit;width:15%;z-index:10;font-weight:400;display:block;border-bottom:none}@media only screen and (max-width:782px){.seopress-option .wrap div.nav-tab-wrapper{width:100%;margin:0 0 20px 0;padding:0}}#seopress-admin-tabs.wrap div.nav-tab-wrapper{background:#fff;margin:0 auto;max-width:64rem;width:100%;border-bottom:1px solid var(--borderColorCard);padding:0;line-height:inherit;position:sticky;z-index:10;top:92px;border-radius:4px 4px 0 0;font-weight:400;overflow:hidden;display:flex;align-items:center;justify-content:space-between}@media only screen and (max-width:600px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{top:0;display:block}}@media only screen and (max-width:1024px){#seopress-admin-tabs.wrap div.nav-tab-wrapper{display:block}}.seopress-option .nav-tab{border:0;background:0 0;opacity:.5;padding:6px 30px 6px 10px;transition:opacity .3s linear;color:var(--titleColor);margin:0;float:none;display:inline-block;width:100%;text-align:left;font-weight:400;white-space:normal}#seopress-admin-tabs .nav-tab{background:0 0;opacity:.5;padding:14px 20px;transition:opacity .3s linear;margin:0;float:none;display:inline-block;font-weight:400}#seopress-admin-tabs .nav-tab{width:100%}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus,.nav-tab-active:focus,.seopress-option .nav-tab-active,.seopress-option .nav-tab-active:focus:active,.seopress-option .nav-tab-active:hover,.seopress-option .nav-tab:focus{opacity:1;outline:0;font-weight:600;position:relative;border-left:3px solid var(--backgroundPrimary)}#seopress-admin-tabs .nav-tab-active,#seopress-admin-tabs .nav-tab-active:focus,#seopress-admin-tabs .nav-tab-active:focus:active,#seopress-admin-tabs .nav-tab-active:hover,#seopress-admin-tabs .nav-tab:focus{border-bottom:4px solid var(--backgroundPrimary);border-left:none}#seopress-admin-tabs .nav-tab:hover,.seopress-option .nav-tab:hover{opacity:1}#seopress-admin-tabs .nav-tab:focus,.seopress-option .nav-tab:focus{outline:0;box-shadow:none}@keyframes sp-fade-in-out{0%{opacity:0;bottom:0;visibility:hidden}25%{opacity:1;bottom:40px;visibility:visible}75%{opacity:1;visibility:visible}100%{opacity:0;visibility:hidden}}.sp-components-snackbar-list{position:fixed;right:0;bottom:40px;padding-left:16px;padding-right:16px;animation-name:sp-fade-in-out;animation-duration:5s;animation-iteration-count:1;animation-fill-mode:forwards;visibility:hidden;z-index:1}.sp-components-snackbar__content{display:flex;align-items:center;justify-content:space-between;line-height:1.4}.sp-components-snackbar{font-family:var(--fontFamily);font-size:var(--fontSize);background-color:#32373c;border-radius:4px;box-shadow:0 2px 4px rgba(0,0,0,.3);color:#fff;padding:16px 24px;cursor:pointer}.sp-components-snackbar .dashicons{color:#fff}
assets/js/seopress-media-uploader.js CHANGED
@@ -62,6 +62,12 @@ jQuery(document).ready(function ($) {
62
  ) {
63
  sp_social_img("twitter");
64
  }
 
 
 
 
 
 
65
  });
66
 
67
  // Open the uploader dialog
62
  ) {
63
  sp_social_img("twitter");
64
  }
65
+
66
+ if ($(item + "_attachment_id").length != 0) {
67
+ $(item + "_attachment_id").val(attachment.id);
68
+ $(item + "_width").val(attachment.width);
69
+ $(item + "_height").val(attachment.height);
70
+ }
71
  });
72
 
73
  // Open the uploader dialog
assets/js/seopress-media-uploader.min.js CHANGED
@@ -1 +1 @@
1
- jQuery(document).ready(function(e){var t;e(".button.seopress_social_facebook_img_cpt").click(function(i){i.preventDefault();var a=e(this).parent().find("input[type=text]");t=wp.media.frames.file_frame=wp.media({multiple:!1}),t.on("select",function(){attachment=t.state().get("selection").first().toJSON(),e(a).val(attachment.url)}),t.open()});const i=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];i.forEach(function(t){var i;e(t+"_upload").click(function(a){a.preventDefault(),i?i.open():(i=wp.media.frames.file_frame=wp.media({multiple:!1}),i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(t+"_meta").val(attachment.url),"#seopress_social_fb_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==t&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter")}),i.open())})}),e(".seopress-btn-upload-media").click(function(t){var i;if(t.preventDefault(),i)i.open();else{i=wp.media.frames.file_frame=wp.media({multiple:!1});var a=e(this);i.on("select",function(){attachment=i.state().get("selection").first().toJSON(),e(a.data("input-value")).val(attachment.url)}),i.open()}})});
1
+ jQuery(document).ready(function(t){var e;t(".button.seopress_social_facebook_img_cpt").click(function(a){a.preventDefault();var i=t(this).parent().find("input[type=text]");e=wp.media.frames.file_frame=wp.media({multiple:!1}),e.on("select",function(){attachment=e.state().get("selection").first().toJSON(),t(i).val(attachment.url)}),e.open()});const a=["#seopress_social_knowledge_img","#seopress_social_twitter_img","#seopress_social_fb_img"];a.forEach(function(e){var a;t(e+"_upload").click(function(i){i.preventDefault(),a?a.open():(a=wp.media.frames.file_frame=wp.media({multiple:!1}),a.on("select",function(){attachment=a.state().get("selection").first().toJSON(),t(e+"_meta").val(attachment.url),"#seopress_social_fb_img"==e&&"undefined"!=typeof sp_social_img&&sp_social_img("fb"),"#seopress_social_twitter_img"==e&&"undefined"!=typeof sp_social_img&&sp_social_img("twitter"),0!=t(e+"_attachment_id").length&&(t(e+"_attachment_id").val(attachment.id),t(e+"_width").val(attachment.width),t(e+"_height").val(attachment.height))}),a.open())})}),t(".seopress-btn-upload-media").click(function(e){var a;if(e.preventDefault(),a)a.open();else{a=wp.media.frames.file_frame=wp.media({multiple:!1});var i=t(this);a.on("select",function(){attachment=a.state().get("selection").first().toJSON(),t(i.data("input-value")).val(attachment.url)}),a.open()}})});
inc/admin/admin-dyn-variables-helper.php CHANGED
@@ -30,6 +30,7 @@ function seopress_get_dyn_variables()
30
  '%%archive_date%%' => __('Archive date', 'wp-seopress'),
31
  '%%archive_date_day%%' => __('Day Archive date', 'wp-seopress'),
32
  '%%archive_date_month%%' => __('Month Archive title', 'wp-seopress'),
 
33
  '%%archive_date_year%%' => __('Year Archive title', 'wp-seopress'),
34
  '%%_cf_your_custom_field_name%%' => __('Custom fields from post, page or post type', 'wp-seopress'),
35
  '%%_ct_your_custom_taxonomy_slug%%' => __('Custom term taxonomy from post, page or post type', 'wp-seopress'),
30
  '%%archive_date%%' => __('Archive date', 'wp-seopress'),
31
  '%%archive_date_day%%' => __('Day Archive date', 'wp-seopress'),
32
  '%%archive_date_month%%' => __('Month Archive title', 'wp-seopress'),
33
+ '%%archive_date_month_name%%' => __('Month name Archive title', 'wp-seopress'),
34
  '%%archive_date_year%%' => __('Year Archive title', 'wp-seopress'),
35
  '%%_cf_your_custom_field_name%%' => __('Custom fields from post, page or post type', 'wp-seopress'),
36
  '%%_ct_your_custom_taxonomy_slug%%' => __('Custom term taxonomy from post, page or post type', 'wp-seopress'),
inc/admin/admin-pages/Main.php CHANGED
@@ -32,16 +32,31 @@ if ('1' != seopress_get_hidden_notices_get_started_option()) {
32
  } ?>
33
  <div class="seopress-dashboard-columns">
34
  <div class="seopress-dashboard-column">
35
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/intro.php'; ?>
36
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/tasks.php'; ?>
37
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/notifications-center.php'; ?>
 
 
 
 
 
 
38
  </div>
39
  <div class="seopress-dashboard-column">
40
  <?php
41
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
42
- include_once dirname(dirname(__FILE__)) . '/blocks/insights.php';
 
 
 
 
43
  } ?>
44
- <?php include_once dirname(dirname(__FILE__)) . '/blocks/news.php'; ?>
 
 
 
 
 
45
  <?php include_once dirname(dirname(__FILE__)) . '/admin-features-list.php'; ?>
46
  </div>
47
  </div>
32
  } ?>
33
  <div class="seopress-dashboard-columns">
34
  <div class="seopress-dashboard-column">
35
+ <?php
36
+ include_once dirname(dirname(__FILE__)) . '/blocks/intro.php';
37
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
38
+ //do nothing
39
+ } else {
40
+ include_once dirname(dirname(__FILE__)) . '/blocks/tasks.php';
41
+ include_once dirname(dirname(__FILE__)) . '/blocks/notifications-center.php';
42
+ }
43
+ ?>
44
  </div>
45
  <div class="seopress-dashboard-column">
46
  <?php
47
  if (is_plugin_active('wp-seopress-pro/seopress-pro.php')) {
48
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
49
+ //do nothing
50
+ } else {
51
+ include_once dirname(dirname(__FILE__)) . '/blocks/insights.php';
52
+ }
53
  } ?>
54
+ <?php
55
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
56
+ //do nothing
57
+ } else {
58
+ include_once dirname(dirname(__FILE__)) . '/blocks/news.php';
59
+ } ?>
60
  <?php include_once dirname(dirname(__FILE__)) . '/admin-features-list.php'; ?>
61
  </div>
62
  </div>
inc/admin/ajax-migrate/seopressor.php CHANGED
@@ -216,7 +216,7 @@ function seopress_metadata_export() {
216
  wp_reset_query();
217
  //Reset offset once Posts export is done
218
  $offset = 0;
219
- update_option('seopress_metadata_csv', $csv);
220
  $post_export = 'done';
221
  } else {
222
  $args = [
@@ -332,12 +332,12 @@ function seopress_metadata_export() {
332
  }
333
  }
334
  $offset += $increment;
335
- update_option('seopress_metadata_csv', $csv);
336
  }
337
  } elseif ('done' != $term_export) {
338
  //Terms
339
  if ($offset > $total_count_terms) {
340
- update_option('seopress_metadata_csv', $csv);
341
  $post_export = 'done';
342
  $term_export = 'done';
343
  } else {
@@ -453,7 +453,7 @@ function seopress_metadata_export() {
453
  }
454
  $offset += $increment;
455
  $post_export = 'done';
456
- update_option('seopress_metadata_csv', $csv);
457
  }
458
  } else {
459
  $post_export = 'done';
216
  wp_reset_query();
217
  //Reset offset once Posts export is done
218
  $offset = 0;
219
+ update_option('seopress_metadata_csv', $csv, false);
220
  $post_export = 'done';
221
  } else {
222
  $args = [
332
  }
333
  }
334
  $offset += $increment;
335
+ update_option('seopress_metadata_csv', $csv, false);
336
  }
337
  } elseif ('done' != $term_export) {
338
  //Terms
339
  if ($offset > $total_count_terms) {
340
+ update_option('seopress_metadata_csv', $csv, false);
341
  $post_export = 'done';
342
  $term_export = 'done';
343
  } else {
453
  }
454
  $offset += $increment;
455
  $post_export = 'done';
456
+ update_option('seopress_metadata_csv', $csv, false);
457
  }
458
  } else {
459
  $post_export = 'done';
inc/admin/ajax.php CHANGED
@@ -145,6 +145,7 @@ function seopress_do_real_preview()
145
 
146
  //Get post content (used for Words counter)
147
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
 
148
 
149
  //Cornerstone compatibility
150
  if (is_plugin_active('cornerstone/cornerstone.php')) {
@@ -576,7 +577,7 @@ function seopress_toggle_features()
576
  if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
577
  $seopress_toggle_options = get_option('seopress_toggle');
578
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
579
- update_option('seopress_toggle', $seopress_toggle_options, 'yes');
580
  }
581
  exit();
582
  }
@@ -647,7 +648,7 @@ function seopress_hide_notices()
647
  if (isset($_POST['notice']) && isset($_POST['notice_value'])) {
648
  $seopress_notices_options = get_option('seopress_notices');
649
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
650
- update_option('seopress_notices', $seopress_notices_options, 'yes');
651
  }
652
  exit();
653
  }
145
 
146
  //Get post content (used for Words counter)
147
  $seopress_get_the_content = apply_filters('the_content', get_post_field('post_content', $seopress_get_the_id));
148
+ $seopress_get_the_content = apply_filters('seopress_dom_analysis_get_post_content', $seopress_get_the_content);
149
 
150
  //Cornerstone compatibility
151
  if (is_plugin_active('cornerstone/cornerstone.php')) {
577
  if (isset($_POST['feature']) && isset($_POST['feature_value'])) {
578
  $seopress_toggle_options = get_option('seopress_toggle');
579
  $seopress_toggle_options[$_POST['feature']] = $_POST['feature_value'];
580
+ update_option('seopress_toggle', $seopress_toggle_options, 'yes', false);
581
  }
582
  exit();
583
  }
648
  if (isset($_POST['notice']) && isset($_POST['notice_value'])) {
649
  $seopress_notices_options = get_option('seopress_notices');
650
  $seopress_notices_options[$_POST['notice']] = $_POST['notice_value'];
651
+ update_option('seopress_notices', $seopress_notices_options, 'yes', false);
652
  }
653
  exit();
654
  }
inc/admin/blocks/insights.php CHANGED
@@ -117,7 +117,7 @@
117
  <span><?php echo $ps_score . '%'; ?></span>
118
  </div>
119
 
120
- <a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_ps'); ?>"
121
  class="btn btnSecondary">
122
  <?php _e('See full report', 'wp-seopress'); ?>
123
  </a>
117
  <span><?php echo $ps_score . '%'; ?></span>
118
  </div>
119
 
120
+ <a href="<?php echo admin_url('admin.php?page=seopress-pro-page#tab=tab_seopress_page_speed'); ?>"
121
  class="btn btnSecondary">
122
  <?php _e('See full report', 'wp-seopress'); ?>
123
  </a>
inc/admin/callbacks/Advanced.php CHANGED
@@ -230,6 +230,26 @@ function seopress_advanced_advanced_comments_website_callback() {
230
  }
231
  }
232
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
233
  function seopress_advanced_advanced_wp_shortlink_callback() {
234
  $options = get_option('seopress_advanced_option_name');
235
 
230
  }
231
  }
232
 
233
+ function seopress_advanced_advanced_comments_form_link_callback() {
234
+ $options = get_option('seopress_advanced_option_name');
235
+
236
+ $check = isset($options['seopress_advanced_advanced_comments_form_link']); ?>
237
+
238
+ <label for="seopress_advanced_advanced_comments_form_link">
239
+ <input id="seopress_advanced_advanced_comments_form_link"
240
+ name="seopress_advanced_option_name[seopress_advanced_advanced_comments_form_link]" type="checkbox" <?php if ('1' == $check) { ?>
241
+ checked="yes"
242
+ <?php } ?>
243
+ value="1"/>
244
+
245
+ <?php _e('Prevent search engines to follow / index the link to the comments form (<em>eg: https://www.example.com/my-blog-post/#respond</em>)', 'wp-seopress'); ?>
246
+ </label>
247
+
248
+ <?php if (isset($options['seopress_advanced_advanced_comments_form_link'])) {
249
+ esc_attr($options['seopress_advanced_advanced_comments_form_link']);
250
+ }
251
+ }
252
+
253
  function seopress_advanced_advanced_wp_shortlink_callback() {
254
  $options = get_option('seopress_advanced_option_name');
255
 
inc/admin/callbacks/Social.php CHANGED
@@ -282,7 +282,14 @@ function seopress_social_facebook_img_callback()
282
  {
283
  $options = get_option('seopress_social_option_name');
284
 
285
- $options_set = isset($options['seopress_social_facebook_img']) ? esc_attr($options['seopress_social_facebook_img']) : null; ?>
 
 
 
 
 
 
 
286
 
287
  <input id="seopress_social_fb_img_meta" type="text"
288
  value="<?php echo $options_set; ?>"
@@ -290,6 +297,11 @@ function seopress_social_facebook_img_callback()
290
  aria-label="<?php _e('Select a default image', 'wp-seopress'); ?>"
291
  placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>" />
292
 
 
 
 
 
 
293
  <input id="seopress_social_fb_img_upload" class="btn btnSecondary" type="button"
294
  value="<?php _e('Upload an Image', 'wp-seopress'); ?>" />
295
 
282
  {
283
  $options = get_option('seopress_social_option_name');
284
 
285
+ $options_set = isset($options['seopress_social_facebook_img']) ? esc_attr($options['seopress_social_facebook_img']) : null;
286
+ $options_set_attachment_id = isset($options['seopress_social_facebook_img_attachment_id']) ? esc_attr($options['seopress_social_facebook_img_attachment_id']) : null;
287
+ $options_set_width = isset($options['seopress_social_facebook_img_width']) ? esc_attr($options['seopress_social_facebook_img_width']) : null;
288
+ $options_set_height = isset($options['seopress_social_facebook_img_height']) ? esc_attr($options['seopress_social_facebook_img_height']) : null;
289
+
290
+
291
+
292
+ ?>
293
 
294
  <input id="seopress_social_fb_img_meta" type="text"
295
  value="<?php echo $options_set; ?>"
297
  aria-label="<?php _e('Select a default image', 'wp-seopress'); ?>"
298
  placeholder="<?php esc_html_e('Select your default thumbnail', 'wp-seopress'); ?>" />
299
 
300
+
301
+ <input type="hidden" name="seopress_social_facebook_img_width" id="seopress_social_fb_img_width" value="<?php echo esc_html($options_set_width); ?>">
302
+ <input type="hidden" name="seopress_social_facebook_img_height" id="seopress_social_fb_img_height" value="<?php echo esc_html($options_set_height); ?>">
303
+ <input type="hidden" name="seopress_social_facebook_img_attachment_id" id="seopress_social_fb_img_attachment_id" value="<?php echo esc_html($options_set_attachment_id); ?>">
304
+
305
  <input id="seopress_social_fb_img_upload" class="btn btnSecondary" type="button"
306
  value="<?php _e('Upload an Image', 'wp-seopress'); ?>" />
307
 
inc/admin/callbacks/Titles.php CHANGED
@@ -254,24 +254,6 @@ function seopress_titles_single_titles_callback()
254
  '#seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>'
255
  ).attr('data-tag'));
256
  });
257
- $('#seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>')
258
- .click(function() {
259
- $('#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>')
260
- .val(sp_get_field_length($(
261
- '#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>'
262
- )) + $(
263
- '#seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>'
264
- ).attr('data-tag'));
265
- });
266
- $('#seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>')
267
- .click(function() {
268
- $('#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>')
269
- .val(sp_get_field_length($(
270
- '#seopress_titles_single_desc_<?php echo $seopress_cpt_key; ?>'
271
- )) + $(
272
- '#seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>'
273
- ).attr('data-tag'));
274
- });
275
  });
276
  </script>
277
 
@@ -282,25 +264,10 @@ function seopress_titles_single_titles_callback()
282
  <div class="wrap-tags">
283
  <button type="button" class="btn btnSecondary tag-title"
284
  id="seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>"
285
- data-tag="%%post_title%%">
286
  <span class="dashicons dashicons-plus-alt2"></span>
287
- <?php _e('Post Title', 'wp-seopress'); ?>
288
  </button>
289
-
290
- <button type="button" class="btn btnSecondary tag-title"
291
- id="seopress-tag-desc-sep-<?php echo $seopress_cpt_key; ?>"
292
- data-tag="%%sep%%">
293
- <span class="dashicons dashicons-plus-alt2"></span>
294
- <?php _e('Separator', 'wp-seopress'); ?>
295
- </span>
296
-
297
- <button type="button" class="btn btnSecondary tag-title"
298
- id="seopress-tag-single-desc-sitetitle-<?php echo $seopress_cpt_key; ?>"
299
- data-tag="%%sitetitle%%">
300
- <span class="dashicons dashicons-plus-alt2"></span>
301
- <?php _e('Site Title', 'wp-seopress'); ?>
302
- </button>
303
-
304
  <?php
305
  echo seopress_render_dyn_variables('tag-description'); ?>
306
  </div>
254
  '#seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>'
255
  ).attr('data-tag'));
256
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
257
  });
258
  </script>
259
 
264
  <div class="wrap-tags">
265
  <button type="button" class="btn btnSecondary tag-title"
266
  id="seopress-tag-single-desc-<?php echo $seopress_cpt_key; ?>"
267
+ data-tag="%%post_excerpt%%">
268
  <span class="dashicons dashicons-plus-alt2"></span>
269
+ <?php _e('Post excerpt', 'wp-seopress'); ?>
270
  </button>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
271
  <?php
272
  echo seopress_render_dyn_variables('tag-description'); ?>
273
  </div>
inc/admin/docs/DocsLinks.php CHANGED
@@ -105,15 +105,15 @@ function seopress_get_docs_links()
105
  'faq' => 'https://www.seopress.org/support/faq/' . $utm,
106
  'insights' => 'https://www.seopress.org/insights/' . $utm2,
107
  'get_started' => [
108
- 'installation' => [__('Installation of SEOPress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
109
- 'license' => [__('Activate your license key to receive automatic updates') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
110
- 'wizard' => [__('Configure SEOPress in 5 minutes') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
111
- 'migration' => [__('Migrate your SEO metadata from other plugins') => 'https://www.seopress.org/migrate-to-seopress/' . $utm],
112
- 'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
113
- 'content' => [__('Optimize content from A to Z with SEOPress') => 'https://www.seopress.org/blog/optimize-wordpress-posts-for-a-keyword/' . $utm],
114
- 'analytics' => [__('Measure your traffic with Google Analytics') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
115
- 'search_console' => [__('Add your WordPress site to Google’s index') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
116
- 'social' => [__('Optimize your click-through rate on social networks') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
117
  ],
118
  'titles' => [
119
  'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
105
  'faq' => 'https://www.seopress.org/support/faq/' . $utm,
106
  'insights' => 'https://www.seopress.org/insights/' . $utm2,
107
  'get_started' => [
108
+ 'installation' => [__('Installation of SEOPress', 'wp-seopress') => 'https://www.seopress.org/support/guides/get-started-seopress/' . $utm],
109
+ 'license' => [__('Activate your license key to receive automatic updates', 'wp-seopress') => 'https://www.seopress.org/support/guides/activate-seopress-pro-license/' . $utm],
110
+ 'wizard' => [__('Configure SEOPress in 5 minutes', 'wp-seopress') => 'https://youtu.be/uwgS5zTk0j0' . $utm],
111
+ 'migration' => [__('Migrate your SEO metadata from other plugins', 'wp-seopress') => 'https://www.seopress.org/migrate-to-seopress/' . $utm],
112
+ 'sitemaps' => [__('Promote the exploration of your WordPress site by search engine robots', 'wp-seopress') => 'https://www.seopress.org/support/guides/enable-xml-sitemaps/' . $utm],
113
+ 'content' => [__('Optimize content from A to Z with SEOPress', 'wp-seopress') => 'https://www.seopress.org/blog/optimize-wordpress-posts-for-a-keyword/' . $utm],
114
+ 'analytics' => [__('Measure your traffic with Google Analytics', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-analytics/' . $utm],
115
+ 'search_console' => [__('Add your WordPress site to Google’s index', 'wp-seopress') => 'https://www.seopress.org/support/guides/google-search-console/' . $utm],
116
+ 'social' => [__('Optimize your click-through rate on social networks', 'wp-seopress') => 'https://www.seopress.org/support/guides/manage-facebook-open-graph-and-twitter-cards-metas/' . $utm],
117
  ],
118
  'titles' => [
119
  'thumbnail' => 'https://support.google.com/programmable-search/answer/1626955?hl=en',
inc/admin/metaboxes/admin-metaboxes-form.php CHANGED
@@ -412,6 +412,10 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
412
  <?php _e('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'wp-seopress'); ?>
413
  </p>
414
  <p>
 
 
 
 
415
  <input id="seopress_social_fb_img_upload"
416
  class="<?php echo seopress_btn_secondary_classes(); ?>"
417
  type="button"
@@ -527,6 +531,10 @@ if ('term.php' == $pagenow || 'edit-tags.php' == $pagenow) { ?>
527
  <?php _e('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'wp-seopress'); ?>
528
  </p>
529
  <p>
 
 
 
 
530
  <input id="seopress_social_twitter_img_upload"
531
  class="<?php echo seopress_btn_secondary_classes(); ?>"
532
  type="button"
412
  <?php _e('Minimum size: 200x200px, ideal ratio 1.91:1, 8Mb max. (eg: 1640x856px or 3280x1712px for retina screens)', 'wp-seopress'); ?>
413
  </p>
414
  <p>
415
+ <input type="hidden" name="seopress_social_fb_img_attachment_id" id="seopress_social_fb_img_attachment_id" value="<?php echo esc_html($seopress_social_fb_img_attachment_id); ?>">
416
+ <input type="hidden" name="seopress_social_fb_img_width" id="seopress_social_fb_img_width" value="<?php echo esc_html($seopress_social_fb_img_width); ?>">
417
+ <input type="hidden" name="seopress_social_fb_img_height" id="seopress_social_fb_img_height" value="<?php echo esc_html($seopress_social_fb_img_height); ?>">
418
+
419
  <input id="seopress_social_fb_img_upload"
420
  class="<?php echo seopress_btn_secondary_classes(); ?>"
421
  type="button"
531
  <?php _e('Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 (2:1 with large card), 5Mb max.', 'wp-seopress'); ?>
532
  </p>
533
  <p>
534
+ <input type="hidden" name="seopress_social_twitter_img_attachment_id" id="seopress_social_twitter_img_attachment_id" value="<?php echo esc_html($seopress_social_twitter_img_attachment_id); ?>">
535
+ <input type="hidden" name="seopress_social_twitter_img_width" id="seopress_social_twitter_img_width" value="<?php echo esc_html($seopress_social_twitter_img_width); ?>">
536
+ <input type="hidden" name="seopress_social_twitter_img_height" id="seopress_social_twitter_img_height" value="<?php echo esc_html($seopress_social_twitter_img_height); ?>">
537
+
538
  <input id="seopress_social_twitter_img_upload"
539
  class="<?php echo seopress_btn_secondary_classes(); ?>"
540
  type="button"
inc/admin/metaboxes/admin-metaboxes.php CHANGED
@@ -347,9 +347,15 @@ function seopress_display_seo_metaboxe()
347
  $seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
348
  $seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
349
  $seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
 
 
 
350
  $seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
351
  $seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
352
  $seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
 
 
 
353
  $seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
354
  $seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
355
  $seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
@@ -446,6 +452,15 @@ function seopress_display_seo_metaboxe()
446
  if (isset($_POST['seopress_social_fb_img'])) {
447
  update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
448
  }
 
 
 
 
 
 
 
 
 
449
  if (isset($_POST['seopress_social_twitter_title'])) {
450
  update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
451
  }
@@ -455,6 +470,15 @@ function seopress_display_seo_metaboxe()
455
  if (isset($_POST['seopress_social_twitter_img'])) {
456
  update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
457
  }
 
 
 
 
 
 
 
 
 
458
  }
459
  if (in_array('redirect-tab', $seo_tabs)) {
460
  if (isset($_POST['seopress_redirections_type'])) {
347
  $seopress_social_fb_title = get_post_meta($post->ID, '_seopress_social_fb_title', true);
348
  $seopress_social_fb_desc = get_post_meta($post->ID, '_seopress_social_fb_desc', true);
349
  $seopress_social_fb_img = get_post_meta($post->ID, '_seopress_social_fb_img', true);
350
+ $seopress_social_fb_img_attachment_id = get_post_meta($post->ID, '_seopress_social_fb_img_attachment_id', true);
351
+ $seopress_social_fb_img_width = get_post_meta($post->ID, '_seopress_social_fb_img_width', true);
352
+ $seopress_social_fb_img_height = get_post_meta($post->ID, '_seopress_social_fb_img_height', true);
353
  $seopress_social_twitter_title = get_post_meta($post->ID, '_seopress_social_twitter_title', true);
354
  $seopress_social_twitter_desc = get_post_meta($post->ID, '_seopress_social_twitter_desc', true);
355
  $seopress_social_twitter_img = get_post_meta($post->ID, '_seopress_social_twitter_img', true);
356
+ $seopress_social_twitter_img_attachment_id = get_post_meta($post->ID, '_seopress_social_twitter_img_attachment_id', true);
357
+ $seopress_social_twitter_img_width = get_post_meta($post->ID, '_seopress_social_twitter_img_width', true);
358
+ $seopress_social_twitter_img_height = get_post_meta($post->ID, '_seopress_social_twitter_img_height', true);
359
  $seopress_redirections_enabled = get_post_meta($post->ID, '_seopress_redirections_enabled', true);
360
  $seopress_redirections_type = get_post_meta($post->ID, '_seopress_redirections_type', true);
361
  $seopress_redirections_value = get_post_meta($post->ID, '_seopress_redirections_value', true);
452
  if (isset($_POST['seopress_social_fb_img'])) {
453
  update_post_meta($post_id, '_seopress_social_fb_img', esc_html($_POST['seopress_social_fb_img']));
454
  }
455
+ if (isset($_POST['seopress_social_fb_img_attachment_id'])) {
456
+ update_post_meta($post_id, '_seopress_social_fb_img_attachment_id', esc_html($_POST['seopress_social_fb_img_attachment_id']));
457
+ }
458
+ if (isset($_POST['seopress_social_fb_img_width'])) {
459
+ update_post_meta($post_id, '_seopress_social_fb_img_width', esc_html($_POST['seopress_social_fb_img_width']));
460
+ }
461
+ if (isset($_POST['seopress_social_fb_img_height'])) {
462
+ update_post_meta($post_id, '_seopress_social_fb_img_height', esc_html($_POST['seopress_social_fb_img_height']));
463
+ }
464
  if (isset($_POST['seopress_social_twitter_title'])) {
465
  update_post_meta($post_id, '_seopress_social_twitter_title', esc_html($_POST['seopress_social_twitter_title']));
466
  }
470
  if (isset($_POST['seopress_social_twitter_img'])) {
471
  update_post_meta($post_id, '_seopress_social_twitter_img', esc_html($_POST['seopress_social_twitter_img']));
472
  }
473
+ if (isset($_POST['seopress_social_twitter_img_attachment_id'])) {
474
+ update_post_meta($post_id, '_seopress_social_twitter_img_attachment_id', esc_html($_POST['seopress_social_twitter_img_attachment_id']));
475
+ }
476
+ if (isset($_POST['seopress_social_twitter_img_width'])) {
477
+ update_post_meta($post_id, '_seopress_social_twitter_img_width', esc_html($_POST['seopress_social_twitter_img_width']));
478
+ }
479
+ if (isset($_POST['seopress_social_twitter_img_height'])) {
480
+ update_post_meta($post_id, '_seopress_social_twitter_img_height', esc_html($_POST['seopress_social_twitter_img_height']));
481
+ }
482
  }
483
  if (in_array('redirect-tab', $seo_tabs)) {
484
  if (isset($_POST['seopress_redirections_type'])) {
inc/admin/metaboxes/admin-term-metaboxes.php CHANGED
@@ -282,9 +282,15 @@ function seopress_display_seo_term_metaboxe() {
282
  $seopress_social_fb_title = get_term_meta($term->term_id, '_seopress_social_fb_title', true);
283
  $seopress_social_fb_desc = get_term_meta($term->term_id, '_seopress_social_fb_desc', true);
284
  $seopress_social_fb_img = get_term_meta($term->term_id, '_seopress_social_fb_img', true);
 
 
 
285
  $seopress_social_twitter_title = get_term_meta($term->term_id, '_seopress_social_twitter_title', true);
286
  $seopress_social_twitter_desc = get_term_meta($term->term_id, '_seopress_social_twitter_desc', true);
287
  $seopress_social_twitter_img = get_term_meta($term->term_id, '_seopress_social_twitter_img', true);
 
 
 
288
  $seopress_redirections_enabled = get_term_meta($term->term_id, '_seopress_redirections_enabled', true);
289
  $seopress_redirections_type = get_term_meta($term->term_id, '_seopress_redirections_type', true);
290
  $seopress_redirections_value = get_term_meta($term->term_id, '_seopress_redirections_value', true);
282
  $seopress_social_fb_title = get_term_meta($term->term_id, '_seopress_social_fb_title', true);
283
  $seopress_social_fb_desc = get_term_meta($term->term_id, '_seopress_social_fb_desc', true);
284
  $seopress_social_fb_img = get_term_meta($term->term_id, '_seopress_social_fb_img', true);
285
+ $seopress_social_fb_img_attachment_id = get_post_meta($term->term_id, '_seopress_social_fb_img_attachment_id', true);
286
+ $seopress_social_fb_img_width = get_post_meta($term->term_id, '_seopress_social_fb_img_width', true);
287
+ $seopress_social_fb_img_height = get_post_meta($term->term_id, '_seopress_social_fb_img_height', true);
288
  $seopress_social_twitter_title = get_term_meta($term->term_id, '_seopress_social_twitter_title', true);
289
  $seopress_social_twitter_desc = get_term_meta($term->term_id, '_seopress_social_twitter_desc', true);
290
  $seopress_social_twitter_img = get_term_meta($term->term_id, '_seopress_social_twitter_img', true);
291
+ $seopress_social_twitter_img_attachment_id = get_post_meta($term->term_id, '_seopress_social_twitter_img_attachment_id', true);
292
+ $seopress_social_twitter_img_width = get_post_meta($term->term_id, '_seopress_social_twitter_img_width', true);
293
+ $seopress_social_twitter_img_height = get_post_meta($term->term_id, '_seopress_social_twitter_img_height', true);
294
  $seopress_redirections_enabled = get_term_meta($term->term_id, '_seopress_redirections_enabled', true);
295
  $seopress_redirections_type = get_term_meta($term->term_id, '_seopress_redirections_type', true);
296
  $seopress_redirections_value = get_term_meta($term->term_id, '_seopress_redirections_value', true);
inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php CHANGED
@@ -34,7 +34,7 @@ class Document_Settings_Section {
34
  if (get_user_meta(get_current_user_id(), 'elementor_preferences', true)) {
35
  $settings = get_user_meta(get_current_user_id(), 'elementor_preferences', true);
36
 
37
- if ( ! empty($settings) && 'dark' == $settings['ui_theme']) {
38
  wp_enqueue_style(
39
  'sp-el-dark-mode-style',
40
  SEOPRESS_ELEMENTOR_ADDON_URL . 'assets/css/dark-mode.css'
34
  if (get_user_meta(get_current_user_id(), 'elementor_preferences', true)) {
35
  $settings = get_user_meta(get_current_user_id(), 'elementor_preferences', true);
36
 
37
+ if ( ! empty($settings) && isset($settings['ui_theme']) && 'dark' == $settings['ui_theme']) {
38
  wp_enqueue_style(
39
  'sp-el-dark-mode-style',
40
  SEOPRESS_ELEMENTOR_ADDON_URL . 'assets/css/dark-mode.css'
inc/admin/plugin-upgrader.php CHANGED
@@ -58,7 +58,7 @@ function seopress_upgrader() {
58
 
59
  $options['free'] = SEOPRESS_VERSION;
60
 
61
- update_option( 'seopress_versions', $options );
62
  }
63
  }
64
 
58
 
59
  $options['free'] = SEOPRESS_VERSION;
60
 
61
+ update_option( 'seopress_versions', $options, false );
62
  }
63
  }
64
 
inc/admin/sanitize/Sanitize.php CHANGED
@@ -5,6 +5,9 @@ defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks
5
  function seopress_sanitize_options_fields($input){
6
 
7
  $seopress_sanitize_fields = [
 
 
 
8
  'seopress_titles_home_site_title',
9
  'seopress_titles_home_site_desc',
10
  'seopress_titles_archives_author_title',
@@ -70,6 +73,15 @@ function seopress_sanitize_options_fields($input){
70
  'seopress_advanced_advanced_yandex',
71
  ];
72
 
 
 
 
 
 
 
 
 
 
73
  foreach ($seopress_sanitize_fields as $value) {
74
  if ( ! empty($input['seopress_google_analytics_opt_out_msg']) && 'seopress_google_analytics_opt_out_msg' == $value) {
75
  $args = [
@@ -107,7 +119,6 @@ function seopress_sanitize_options_fields($input){
107
  }
108
  }
109
 
110
-
111
  return $input;
112
 
113
  }
5
  function seopress_sanitize_options_fields($input){
6
 
7
  $seopress_sanitize_fields = [
8
+ 'seopress_social_facebook_img_attachment_id',
9
+ 'seopress_social_facebook_img_attachment_width',
10
+ 'seopress_social_facebook_img_attachment_height',
11
  'seopress_titles_home_site_title',
12
  'seopress_titles_home_site_desc',
13
  'seopress_titles_archives_author_title',
73
  'seopress_advanced_advanced_yandex',
74
  ];
75
 
76
+ $newOptions = ['seopress_social_facebook_img_attachment_id', 'seopress_social_facebook_img_height', 'seopress_social_facebook_img_width'];
77
+
78
+ foreach ($newOptions as $key => $value) {
79
+ if(!isset($input[$value]) && isset($_POST[$value])){
80
+ $input[$value] = $_POST[$value];
81
+ }
82
+ }
83
+
84
+
85
  foreach ($seopress_sanitize_fields as $value) {
86
  if ( ! empty($input['seopress_google_analytics_opt_out_msg']) && 'seopress_google_analytics_opt_out_msg' == $value) {
87
  $args = [
119
  }
120
  }
121
 
 
122
  return $input;
123
 
124
  }
inc/admin/sections/Tools.php CHANGED
@@ -18,7 +18,10 @@ function print_section_info_tools_compatibility()
18
  <?php _e('Even though a lot of things are completely transparent to you and automated, sometimes it is necessary to leave the final choice to you.', 'wp-seopress'); ?>
19
  </p>
20
 
21
- <div class="seopress-notice is-warning">
 
 
 
22
  <p>
23
  <?php _e('<strong>Warning</strong>: always test your site after activating one of these options. Running shortcodes to automatically generate meta title / description can have side effects. Clear your cache if necessary.', 'wp-seopress'); ?>
24
  <?php echo seopress_tooltip_link($docs['compatibility']['automatic'], __('Learn more about automatic meta descriptions', 'wp-seopress-pro')); ?>
18
  <?php _e('Even though a lot of things are completely transparent to you and automated, sometimes it is necessary to leave the final choice to you.', 'wp-seopress'); ?>
19
  </p>
20
 
21
+ <div class="seopress-notice is-error">
22
+ <p>
23
+ <?php _e('This feature will be deprecated soon.', 'wp-seopress-pro'); ?>
24
+ </p>
25
  <p>
26
  <?php _e('<strong>Warning</strong>: always test your site after activating one of these options. Running shortcodes to automatically generate meta title / description can have side effects. Clear your cache if necessary.', 'wp-seopress'); ?>
27
  <?php echo seopress_tooltip_link($docs['compatibility']['automatic'], __('Learn more about automatic meta descriptions', 'wp-seopress-pro')); ?>
inc/admin/settings/Advanced.php CHANGED
@@ -75,6 +75,14 @@ add_settings_field(
75
  'seopress_setting_section_advanced_advanced' // Section
76
  );
77
 
 
 
 
 
 
 
 
 
78
  add_settings_field(
79
  'seopress_advanced_advanced_wp_shortlink', // ID
80
  __('Remove WordPress shortlink meta tag', 'wp-seopress'), // Title
75
  'seopress_setting_section_advanced_advanced' // Section
76
  );
77
 
78
+ add_settings_field(
79
+ 'seopress_advanced_advanced_comments_form_link', // ID
80
+ __('Add "nofollow noopener noreferrer" rel attributes to the comments form link', 'wp-seopress'), // Title
81
+ 'seopress_advanced_advanced_comments_form_link_callback', // Callback
82
+ 'seopress-settings-admin-advanced-advanced', // Page
83
+ 'seopress_setting_section_advanced_advanced' // Section
84
+ );
85
+
86
  add_settings_field(
87
  'seopress_advanced_advanced_wp_shortlink', // ID
88
  __('Remove WordPress shortlink meta tag', 'wp-seopress'), // Title
inc/admin/wizard/admin-wizard.php CHANGED
@@ -7,558 +7,568 @@
7
  * @version 3.5.8
8
  */
9
  if ( ! defined('ABSPATH')) {
10
- exit;
11
  }
12
 
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
  class SEOPRESS_Admin_Setup_Wizard {
17
- /**
18
- * Current step.
19
- *
20
- * @var string
21
- */
22
- private $step = '';
23
-
24
- /**
25
- * Steps for the setup wizard.
26
- *
27
- * @var array
28
- */
29
- private $steps = [];
30
-
31
- /**
32
- * Hook in tabs.
33
- */
34
- public function __construct() {
35
- if (apply_filters('seopress_enable_setup_wizard', true) && current_user_can(seopress_capability('manage_options', 'Admin_Setup_Wizard'))) {
36
- add_action('admin_menu', [$this, 'admin_menus']);
37
- add_action('admin_init', [$this, 'setup_wizard']);
38
- add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
39
- }
40
- }
41
-
42
- /**
43
- * Add admin menus/screens.
44
- */
45
- public function admin_menus() {
46
- add_dashboard_page('', '', seopress_capability('manage_options', 'menu'), 'seopress-setup', '');
47
- }
48
-
49
- /**
50
- * Register/enqueue scripts and styles for the Setup Wizard.
51
- *
52
- * Hooked onto 'admin_enqueue_scripts'.
53
- */
54
- public function enqueue_scripts() {
55
- $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
56
- wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', dirname(dirname(dirname(__FILE__)))), ['install'], SEOPRESS_VERSION);
57
- wp_register_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', dirname(dirname(dirname(__FILE__)))), ['jquery'], SEOPRESS_VERSION, true);
58
-
59
- $seopress_migrate = [
60
- 'seopress_aio_migrate' => [
61
- 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
62
- 'seopress_aio_migration' => admin_url('admin-ajax.php'),
63
- ],
64
- 'seopress_yoast_migrate' => [
65
- 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
66
- 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
67
- ],
68
- 'seopress_seo_framework_migrate' => [
69
- 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
70
- 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
71
- ],
72
- 'seopress_rk_migrate' => [
73
- 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
74
- 'seopress_rk_migration' => admin_url('admin-ajax.php'),
75
- ],
76
- 'seopress_squirrly_migrate' => [
77
- 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
78
- 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
79
- ],
80
- 'seopress_seo_ultimate_migrate' => [
81
- 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
82
- 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
83
- ],
84
- 'seopress_wp_meta_seo_migrate' => [
85
- 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
86
- 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
87
- ],
88
- 'seopress_premium_seo_pack_migrate' => [
89
- 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
90
- 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
91
- ],
92
- 'seopress_wpseo_migrate' => [
93
- 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
94
- 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
95
- ],
96
- 'seopress_platinum_seo_migrate' => [
97
- 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
98
- 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
99
- ],
100
- 'seopress_smart_crawl_migrate' => [
101
- 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
102
- 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
103
- ],
104
- 'seopress_seopressor_migrate' => [
105
- 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
106
- 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
107
- ],
108
- 'seopress_metadata_csv' => [
109
- 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
110
- 'seopress_metadata_export' => admin_url('admin-ajax.php'),
111
- ],
112
- 'i18n' => [
113
- 'migration' => __('Migration completed!', 'wp-seopress'),
114
- 'export' => __('Export completed!', 'wp-seopress'),
115
- ],
116
- ];
117
- wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
118
- }
119
-
120
- /**
121
- * Show the setup wizard.
122
- */
123
- public function setup_wizard() {
124
- if (empty($_GET['page']) || 'seopress-setup' !== $_GET['page']) {
125
- return;
126
- }
127
- $default_steps = [
128
- 'import_settings' => [
129
- 'name' => __('Import SEO settings', 'wp-seopress'),
130
- 'view' => [$this, 'seopress_setup_import_settings'],
131
- 'handler' => [$this, 'seopress_setup_import_settings_save'],
132
- ],
133
- 'site' => [
134
- 'name' => __('Your site', 'wp-seopress'),
135
- 'view' => [$this, 'seopress_setup_site'],
136
- 'handler' => [$this, 'seopress_setup_site_save'],
137
- ],
138
- 'indexing' => [
139
- 'name' => __('Indexing', 'wp-seopress'),
140
- 'view' => [$this, 'seopress_setup_indexing'],
141
- 'handler' => [$this, 'seopress_setup_indexing_save'],
142
- ],
143
- 'advanced' => [
144
- 'name' => __('Advanced options', 'wp-seopress'),
145
- 'view' => [$this, 'seopress_setup_advanced'],
146
- 'handler' => [$this, 'seopress_setup_advanced_save'],
147
- ],
148
- ];
149
-
150
- if ( ! is_plugin_active('wp-seopress-insights/seopress-insights.php') && ! is_multisite()) {
151
- $default_steps['insights'] = [
152
- 'name' => __('Insights', 'wp-seopress'),
153
- 'view' => [$this, 'seopress_setup_insights'],
154
- 'handler' => '',
155
- ];
156
- }
157
- $default_steps['ready'] = [
158
- 'name' => __('Ready!', 'wp-seopress'),
159
- 'view' => [$this, 'seopress_setup_ready'],
160
- 'handler' => '',
161
- ];
162
-
163
- $this->steps = apply_filters('seopress_setup_wizard_steps', $default_steps);
164
- $this->step = isset($_GET['step']) ? sanitize_key($_GET['step']) : current(array_keys($this->steps));
165
-
166
- if ( ! empty($_POST['save_step']) && isset($this->steps[$this->step]['handler'])) {
167
- call_user_func($this->steps[$this->step]['handler'], $this);
168
- }
169
-
170
- ob_start();
171
- $this->setup_wizard_header();
172
- $this->setup_wizard_steps();
173
- $this->setup_wizard_content();
174
- $this->setup_wizard_footer();
175
- exit;
176
- }
177
-
178
- /**
179
- * Get the URL for the next step's screen.
180
- *
181
- * @param string $step slug (default: current step)
182
- *
183
- * @return string URL for next step if a next step exists.
184
- * Admin URL if it's the last step.
185
- * Empty string on failure.
186
- *
187
- * @since 3.5.8
188
- */
189
- public function get_next_step_link($step = '') {
190
- if ( ! $step) {
191
- $step = $this->step;
192
- }
193
-
194
- $keys = array_keys($this->steps);
195
- if (end($keys) === $step) {
196
- return admin_url();
197
- }
198
-
199
- $step_index = array_search($step, $keys, true);
200
- if (false === $step_index) {
201
- return '';
202
- }
203
-
204
- return add_query_arg('step', $keys[$step_index + 1], remove_query_arg('activate_error'));
205
- }
206
-
207
- /**
208
- * Setup Wizard Header.
209
- */
210
- public function setup_wizard_header() {
211
- set_current_screen(); ?>
212
  <!DOCTYPE html>
213
  <html <?php language_attributes(); ?>>
214
 
215
  <head>
216
- <meta name="viewport" content="width=device-width" />
217
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
218
- <title><?php esc_html_e('SEOPress &rsaquo; Setup Wizard', 'wp-seopress'); ?>
219
- </title>
220
- <?php do_action('admin_enqueue_scripts'); ?>
221
- <?php wp_print_scripts('seopress-migrate-ajax'); ?>
222
- <?php do_action('admin_print_styles'); ?>
223
- <?php do_action('admin_head'); ?>
224
  </head>
225
 
226
  <?php
227
- $class = '';
228
- if ('insights' === $this->step) {
229
- $class = ' no_nav_menu';
230
- } ?>
231
 
232
  <body
233
- class="seopress-setup seopress-option wp-core-ui<?php echo $class; ?>">
234
- <?php
235
- }
236
-
237
- /**
238
- * Setup Wizard Footer.
239
- */
240
- public function setup_wizard_footer() {
241
- ?>
242
- <div class="seopress-setup-footer">
243
- <?php if ('import_settings' === $this->step) { ?>
244
- <a class="seopress-setup-footer-links"
245
- href="<?php echo esc_url(admin_url()); ?>"><?php esc_html_e('Not right now', 'wp-seopress'); ?></a>
246
- <?php } elseif ('site' === $this->step || 'indexing' === $this->step || 'advanced' === $this->step || 'insights' === $this->step) { ?>
247
- <a class="seopress-setup-footer-links"
248
- href="<?php echo esc_url($this->get_next_step_link()); ?>"><?php esc_html_e('Skip this step', 'wp-seopress'); ?></a>
249
- <?php } ?>
250
- <?php do_action('seopress_setup_footer'); ?>
251
- </div>
252
- </div>
 
 
 
 
 
253
  </body>
254
 
255
  </html>
256
  <?php
257
- }
258
 
259
- /**
260
- * Output the steps.
261
- */
262
- public function setup_wizard_steps() {
263
- $output_steps = $this->steps; ?>
264
  <div id="wpcontent" class="seopress-option">
265
- <ol class="seopress-setup-steps">
266
- <?php
267
- $i = 1;
268
- foreach ($output_steps as $step_key => $step) {
269
- $is_completed = array_search($this->step, array_keys($this->steps), true) > array_search($step_key, array_keys($this->steps), true);
270
-
271
- if ($step_key === $this->step) {
272
- ?>
273
- <li class="active">
274
- <div class="icon" data-step="<?php echo $i; ?>"></div>
275
- <span><?php echo esc_html($step['name']); ?></span>
276
- <div class="divider"></div>
277
- </li>
278
- <?php
279
- } elseif ($is_completed) {
280
- ?>
281
- <li class="done">
282
- <div class="icon" data-step="<?php echo $i; ?>"></div>
283
- <a
284
- href="<?php echo esc_url(add_query_arg('step', $step_key, remove_query_arg('activate_error'))); ?>">
285
- <?php echo esc_html($step['name']); ?>
286
- </a>
287
- <div class="divider"></div>
288
- </li>
289
- <?php
290
- } else {
291
- ?>
292
- <li>
293
- <div class="icon" data-step="<?php echo $i; ?>"></div>
294
- <span><?php echo esc_html($step['name']); ?></span>
295
- <div class="divider"></div>
296
- </li>
297
- <?php
298
- }
299
- ++$i;
300
- } ?>
301
- </ol>
302
- <?php
303
- }
304
-
305
- /**
306
- * Output the content for the current step.
307
- */
308
- public function setup_wizard_content() {
309
- echo '<div class="seopress-setup-content">';
310
- if ( ! empty($this->steps[$this->step]['view'])) {
311
- call_user_func($this->steps[$this->step]['view'], $this);
312
- }
313
- echo '</div>';
314
- }
315
-
316
- /**
317
- * Init "Step 1: Import SEO settings".
318
- */
319
- public function seopress_setup_import_settings() {
320
- ?>
321
- <form method="post">
322
- <?php wp_nonce_field('seopress-setup'); ?>
323
- <h1 class="text-center"><?php _e('Welcome to SEOPress!', 'wp-seopress'); ?>
324
- </h1>
325
- <p class="store-setup"><?php esc_html_e('The following wizard will help you configure SEOPress and get you started quickly.', 'wp-seopress'); ?>
326
- </p>
327
- <p class="store-setup"><?php esc_html_e('The first step is to import your previous settings from other plugins to keep your SEO.', 'wp-seopress'); ?>
328
- </p>
329
- <p class="store-setup"><?php esc_html_e('No data to migrate? Click "Next step" button!', 'wp-seopress'); ?>
330
- </p>
331
-
332
- <h2><?php _e('Import posts and terms metadata from', 'wp-seopress'); ?>
333
- </h2>
334
- <?php
335
- $plugins = [
336
- 'yoast' => 'Yoast SEO',
337
- 'aio' => 'All In One SEO',
338
- 'seo-framework' => 'The SEO Framework',
339
- 'rk' => 'Rank Math',
340
- 'squirrly' => 'Squirrly SEO',
341
- 'seo-ultimate' => 'SEO Ultimate',
342
- 'wp-meta-seo' => 'WP Meta SEO',
343
- 'premium-seo-pack' => 'Premium SEO Pack',
344
- 'wpseo' => 'wpSEO',
345
- 'platinum-seo' => 'Platinum SEO Pack',
346
- 'smart-crawl' => 'SmartCrawl',
347
- 'seopressor' => 'SEOPressor',
348
- ];
349
-
350
- echo '<p>
351
- <select id="select-wizard-import" name="select-wizard-import">
352
- <option value="none">' . __('Select an option', 'wp-seopress') . '</option>';
353
-
354
- foreach ($plugins as $plugin => $name) {
355
- echo '<option value="' . $plugin . '-migration-tool">' . $name . '</option>';
356
- }
357
- echo '</select>
358
- </p>
359
-
360
- <p class="description">' . __('You don\'t have to enable the selected SEO plugin to run the import.', 'wp-seopress') . '</p>';
361
-
362
- foreach ($plugins as $plugin => $name) {
363
- echo seopress_migration_tool($plugin, $name);
364
- } ?>
 
 
 
 
 
365
  </div>
366
 
367
  <p class="seopress-setup-actions step">
368
- <button type="submit" class="btnPrimary btn btnNext"
369
- value="<?php esc_attr_e('Next step', 'wp-seopress'); ?>"
370
- name="save_step">
371
- <?php esc_html_e('Next step', 'wp-seopress'); ?>
372
- </button>
373
 
374
- <?php wp_nonce_field('seopress-setup'); ?>
375
  </p>
376
  </form>
377
  <?php
378
- }
379
-
380
- /**
381
- * Save step 1 settings.
382
- */
383
- public function seopress_setup_import_settings_save() {
384
- check_admin_referer('seopress-setup');
385
- wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
386
- exit;
387
- }
388
-
389
- /**
390
- * Init "Step 2: Your site".
391
- */
392
- public function seopress_setup_site() {
393
- $seopress_titles_option = get_option('seopress_titles_option_name');
394
- $seopress_social_option = get_option('seopress_social_option_name');
395
-
396
- $site_sep = isset($seopress_titles_option['seopress_titles_sep']) ? $seopress_titles_option['seopress_titles_sep'] : null;
397
- $site_title = isset($seopress_titles_option['seopress_titles_home_site_title']) ? $seopress_titles_option['seopress_titles_home_site_title'] : null;
398
- $knowledge_type = isset($seopress_social_option['seopress_social_knowledge_type']) ? $seopress_social_option['seopress_social_knowledge_type'] : null;
399
- $knowledge_name = isset($seopress_social_option['seopress_social_knowledge_name']) ? $seopress_social_option['seopress_social_knowledge_name'] : null;
400
- $knowledge_img = isset($seopress_social_option['seopress_social_knowledge_img']) ? $seopress_social_option['seopress_social_knowledge_img'] : null;
401
- $knowledge_fb = isset($seopress_social_option['seopress_social_accounts_facebook']) ? $seopress_social_option['seopress_social_accounts_facebook'] : null;
402
- $knowledge_tw = isset($seopress_social_option['seopress_social_accounts_twitter']) ? $seopress_social_option['seopress_social_accounts_twitter'] : null;
403
- $knowledge_pin = isset($seopress_social_option['seopress_social_accounts_pinterest']) ? $seopress_social_option['seopress_social_accounts_pinterest'] : null;
404
- $knowledge_insta = isset($seopress_social_option['seopress_social_accounts_instagram']) ? $seopress_social_option['seopress_social_accounts_instagram'] : null;
405
- $knowledge_yt = isset($seopress_social_option['seopress_social_accounts_youtube']) ? $seopress_social_option['seopress_social_accounts_youtube'] : null;
406
- $knowledge_li = isset($seopress_social_option['seopress_social_accounts_linkedin']) ? $seopress_social_option['seopress_social_accounts_linkedin'] : null; ?>
407
 
408
  <h1><?php esc_html_e('Your site', 'wp-seopress'); ?>
409
  </h1>
410
  <form method="post">
411
- <p><?php esc_html_e('To build title tags and knowledge graph for Google, you need to fill out the fields below to configure the general settings. ', 'wp-seopress'); ?>
412
- </p>
413
-
414
- <p>
415
- <label for="site_sep"><?php esc_html_e('Separator', 'wp-seopress'); ?></label>
416
- <input type="text" id="site_sep" class="location-input" name="site_sep"
417
- placeholder="<?php esc_html_e('eg: |', 'wp-seopress'); ?>"
418
- required value="<?php echo $site_sep; ?>" />
419
- </p>
420
-
421
- <p class="description seopress-wizard-services description">
422
- <?php _e('This separator will be used by the dynamic variable <strong>%%sep%%</strong> in your title and meta description templates.', 'wp-seopress'); ?>
423
- </p>
424
-
425
- <p>
426
- <label for="site_title"><?php esc_html_e('Home site title', 'wp-seopress'); ?></label>
427
- <input type="text" id="site_title" class="location-input" name="site_title"
428
- placeholder="<?php esc_html_e('eg: My super website', 'wp-seopress'); ?>"
429
- required value="<?php echo $site_title; ?>" />
430
- </p>
431
-
432
- <p>
433
- <label for="knowledge_type"><?php esc_html_e('Person or organization', 'wp-seopress'); ?></label>
434
- <?php
435
- echo '<select id="knowledge_type" name="knowledge_type" data-placeholder="' . esc_attr__('Choose a knowledge type', 'wp-seopress') . '" class="location-input wc-enhanced-select dropdown">';
436
- echo ' <option ';
437
- if ('None' == $knowledge_type) {
438
- echo 'selected="selected"';
439
- }
440
- echo ' value="none">' . __('None (will disable this feature)', 'wp-seopress') . '</option>';
441
- echo ' <option ';
442
- if ('Person' == $knowledge_type) {
443
- echo 'selected="selected"';
444
- }
445
- echo ' value="Person">' . __('Person', 'wp-seopress') . '</option>';
446
- echo '<option ';
447
- if ('Organization' == $knowledge_type) {
448
- echo 'selected="selected"';
449
- }
450
- echo ' value="Organization">' . __('Organization', 'wp-seopress') . '</option>';
451
- echo '</select>'; ?>
452
- </p>
453
-
454
- <p>
455
- <label for="knowledge_name"><?php esc_html_e('Your name/organization', 'wp-seopress'); ?></label>
456
- <input type="text" id="knowledge_name" class="location-input" name="knowledge_name"
457
- placeholder="<?php esc_html_e('eg: My Company Name', 'wp-seopress'); ?>"
458
- value="<?php echo $knowledge_name; ?>" />
459
- </p>
460
-
461
- <p>
462
- <label for="knowledge_img"><?php esc_html_e('Your photo/organization logo', 'wp-seopress'); ?></label>
463
- <input type="text" id="knowledge_img" class="location-input" name="knowledge_img"
464
- placeholder="<?php esc_html_e('eg: https://www.example.com/logo.png', 'wp-seopress'); ?>"
465
- value="<?php echo $knowledge_img; ?>" />
466
- </p>
467
-
468
- <p>
469
- <label for="knowledge_fb"><?php esc_html_e('Facebook page URL', 'wp-seopress'); ?></label>
470
- <input type="text" id="knowledge_fb" class="location-input" name="knowledge_fb"
471
- placeholder="<?php esc_html_e('eg: https://facebook.com/my-page-url', 'wp-seopress'); ?>"
472
- value="<?php echo $knowledge_fb; ?>" />
473
- </p>
474
-
475
- <p>
476
- <label for="knowledge_tw"><?php esc_html_e('Twitter Username', 'wp-seopress'); ?></label>
477
- <input type="text" id="knowledge_tw" class="location-input" name="knowledge_tw"
478
- placeholder="<?php esc_html_e('eg: @my_twitter_account', 'wp-seopress'); ?>"
479
- value="<?php echo $knowledge_tw; ?>" />
480
- </p>
481
-
482
- <p>
483
- <label for="knowledge_pin"><?php esc_html_e('Pinterest URL', 'wp-seopress'); ?></label>
484
- <input type="text" id="knowledge_pin" class="location-input" name="knowledge_pin"
485
- placeholder="<?php esc_html_e('eg: https://pinterest.com/my-page-url/', 'wp-seopress'); ?>"
486
- value="<?php echo $knowledge_pin; ?>" />
487
- </p>
488
-
489
- <p>
490
- <label for="knowledge_insta"><?php esc_html_e('Instagram URL', 'wp-seopress'); ?></label>
491
- <input type="text" id="knowledge_insta" class="location-input" name="knowledge_insta"
492
- placeholder="<?php esc_html_e('eg: https://www.instagram.com/my-page-url/', 'wp-seopress'); ?>"
493
- value="<?php echo $knowledge_insta; ?>" />
494
- </p>
495
-
496
- <p>
497
- <label for="knowledge_yt"><?php esc_html_e('YouTube URL', 'wp-seopress'); ?></label>
498
- <input type="text" id="knowledge_yt" class="location-input" name="knowledge_yt"
499
- placeholder="<?php esc_html_e('eg: https://www.youtube.com/my-channel-url', 'wp-seopress'); ?>"
500
- value="<?php echo $knowledge_yt; ?>" />
501
- </p>
502
-
503
- <p>
504
- <label for="knowledge_li"><?php esc_html_e('LinkedIn URL', 'wp-seopress'); ?></label>
505
- <input type="text" id="knowledge_li" class="location-input" name="knowledge_li"
506
- placeholder="<?php esc_html_e('eg: http://linkedin.com/company/my-company-url/', 'wp-seopress'); ?>"
507
- value="<?php echo $knowledge_li; ?>" />
508
- </p>
509
-
510
- <p class="seopress-setup-actions step">
511
- <button type="submit" class="btnPrimary btn btnNext"
512
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
513
- name="save_step">
514
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
515
- </button>
516
- <?php wp_nonce_field('seopress-setup'); ?>
517
- </p>
518
  </form>
519
  <?php
520
- }
521
-
522
- /**
523
- * Save step 2 settings.
524
- */
525
- public function seopress_setup_site_save() {
526
- check_admin_referer('seopress-setup');
527
-
528
- //Get options
529
- $seopress_titles_option = get_option('seopress_titles_option_name');
530
- $seopress_social_option = get_option('seopress_social_option_name');
531
-
532
- //Titles
533
- $seopress_titles_option['seopress_titles_sep'] = isset($_POST['site_sep']) ? esc_attr(wp_unslash($_POST['site_sep'])) : '';
534
- $seopress_titles_option['seopress_titles_home_site_title'] = isset($_POST['site_title']) ? sanitize_text_field(wp_unslash($_POST['site_title'])) : '';
535
-
536
- //Social
537
- $seopress_social_option['seopress_social_knowledge_type'] = isset($_POST['knowledge_type']) ? esc_attr(wp_unslash($_POST['knowledge_type'])) : '';
538
- $seopress_social_option['seopress_social_knowledge_name'] = isset($_POST['knowledge_name']) ? sanitize_text_field(wp_unslash($_POST['knowledge_name'])) : '';
539
- $seopress_social_option['seopress_social_knowledge_img'] = isset($_POST['knowledge_img']) ? sanitize_text_field(wp_unslash($_POST['knowledge_img'])) : '';
540
-
541
- //Social accounts
542
- $seopress_social_option['seopress_social_accounts_facebook'] = isset($_POST['knowledge_fb']) ? sanitize_text_field(wp_unslash($_POST['knowledge_fb'])) : '';
543
- $seopress_social_option['seopress_social_accounts_twitter'] = isset($_POST['knowledge_tw']) ? sanitize_text_field(wp_unslash($_POST['knowledge_tw'])) : '';
544
- $seopress_social_option['seopress_social_accounts_pinterest'] = isset($_POST['knowledge_pin']) ? sanitize_text_field(wp_unslash($_POST['knowledge_pin'])) : '';
545
- $seopress_social_option['seopress_social_accounts_instagram'] = isset($_POST['knowledge_insta']) ? sanitize_text_field(wp_unslash($_POST['knowledge_insta'])) : '';
546
- $seopress_social_option['seopress_social_accounts_youtube'] = isset($_POST['knowledge_yt']) ? sanitize_text_field(wp_unslash($_POST['knowledge_yt'])) : '';
547
- $seopress_social_option['seopress_social_accounts_linkedin'] = isset($_POST['knowledge_li']) ? sanitize_text_field(wp_unslash($_POST['knowledge_li'])) : '';
548
-
549
- //Save options
550
- update_option('seopress_titles_option_name', $seopress_titles_option);
551
- update_option('seopress_social_option_name', $seopress_social_option);
552
-
553
- wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
554
- exit;
555
- }
556
-
557
- /**
558
- * Init "Step 3: Indexing Step".
559
- */
560
- public function seopress_setup_indexing() {
561
- $seopress_titles_option = get_option('seopress_titles_option_name'); ?>
562
  <h1><?php esc_html_e('Indexing', 'wp-seopress'); ?>
563
  </h1>
564
  <p><?php esc_html_e('Specify to the search engines what you want to be indexed or not.', 'wp-seopress'); ?>
@@ -569,188 +579,197 @@ class SEOPRESS_Admin_Setup_Wizard {
569
  </p>
570
 
571
  <form method="post" class="seopress-wizard-indexing-form">
572
- <?php if ( ! empty(seopress_get_post_types())) { ?>
573
- <div class="seopress-wizard-services">
574
- <h2>
575
- <?php _e('For which single post types, should indexing be disabled?', 'wp-seopress'); ?>
576
- </h2>
577
-
578
- <ul>
579
- <?php
580
- //Post Types
581
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
582
- $seopress_titles_single_titles = isset($seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']); ?>
583
-
584
- <h3><?php echo $seopress_cpt_value->labels->name; ?>
585
- <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
586
- </h3>
587
-
588
- <li class="seopress-wizard-service-item checkbox">
589
- <label
590
- for="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
591
- <input
592
- id="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
593
- name="seopress_titles_option_name[seopress_titles_single_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
594
- type="checkbox" <?php if ('1' == $seopress_titles_single_titles) {
595
- echo 'checked="yes"';
596
- } ?>
597
- value="1"/>
598
- <?php _e('Do not display this single post type in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
599
- </label>
600
- </li>
601
- <?php
602
- }
603
- ?>
604
- </ul>
605
- </div>
606
- <?php } ?>
607
-
608
- <?php if ( ! empty(seopress_get_post_types())) { ?>
609
- <div class="seopress-wizard-services">
610
- <h2>
611
- <?php _e('For which post type archives, should indexing be disabled?', 'wp-seopress'); ?>
612
- </h2>
613
-
614
- <ul>
615
- <?php
616
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
617
- if ( ! in_array($seopress_cpt_key, ['post', 'page'])) {
618
- $seopress_titles_archive_titles = isset($seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']); ?>
619
- <h3><?php echo $seopress_cpt_value->labels->name; ?>
620
- <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
621
- </h3>
622
-
623
- <li class="seopress-wizard-service-item checkbox">
624
- <label
625
- for="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
626
- <input
627
- id="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
628
- name="seopress_titles_option_name[seopress_titles_archive_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
629
- type="checkbox" <?php if ('1' == $seopress_titles_archive_titles) {
630
- echo 'checked="yes"';
631
- } ?>
632
- value="1"/>
633
- <?php _e('Do not display this post type archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
634
- </label>
635
- </li>
636
- <?php
637
- }
638
- }
639
- ?>
640
- </ul>
641
- </div>
642
- <?php } ?>
643
-
644
- <?php if ( ! empty(seopress_get_taxonomies())) { ?>
645
- <div class="seopress-wizard-services">
646
- <h2>
647
- <?php _e('For which taxonomy archives, should indexing be disabled?', 'wp-seopress'); ?>
648
- </h2>
649
-
650
- <ul>
651
- <?php
652
- //Archives
653
- foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
654
- $seopress_titles_tax_titles = isset($seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']); ?>
655
- <h3><?php echo $seopress_tax_value->labels->name; ?>
656
- <em><small>[<?php echo $seopress_tax_value->name; ?>]</small></em>
657
- </h3>
658
-
659
- <li class="seopress-wizard-service-item checkbox">
660
- <label
661
- for="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]">
662
- <input
663
- id="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]"
664
- name="seopress_titles_option_name[seopress_titles_tax_titles][<?php echo $seopress_tax_key; ?>][noindex]"
665
- type="checkbox" <?php if ('1' == $seopress_titles_tax_titles) {
666
- echo 'checked="yes"';
667
- } ?>
668
- value="1"/>
669
- <?php _e('Do not display this taxonomy archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
670
- </label>
671
- </li>
672
- <?php
673
- }
674
- ?>
675
- </ul>
676
- </div>
677
- <?php } ?>
678
-
679
- <p class="seopress-setup-actions step">
680
- <button type="submit" class="btnPrimary btn btnNext"
681
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
682
- name="save_step">
683
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
684
- </button>
685
-
686
- <?php wp_nonce_field('seopress-setup'); ?>
687
- </p>
 
 
 
 
 
 
 
 
688
  </form>
689
  <?php
690
- }
691
-
692
- /**
693
- * Save Step 3 settings.
694
- */
695
- public function seopress_setup_indexing_save() {
696
- check_admin_referer('seopress-setup');
697
-
698
- //Get options
699
- $seopress_titles_option = get_option('seopress_titles_option_name');
700
-
701
- //Post Types noindex
702
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
703
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'])) {
704
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']));
705
- } else {
706
- $noindex = null;
707
- }
708
- $seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'] = $noindex;
709
- }
710
-
711
- //Post Type archives noindex
712
- foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
713
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'])) {
714
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']));
715
- } else {
716
- $noindex = null;
717
- }
718
- $seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'] = $noindex;
719
- }
720
-
721
- //Archives noindex
722
- foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
723
- if (isset($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'])) {
724
- $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']));
725
- } else {
726
- $noindex = null;
727
- }
728
- $seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'] = $noindex;
729
- }
730
-
731
- //Save options
732
- update_option('seopress_titles_option_name', $seopress_titles_option);
733
-
734
- wp_redirect(esc_url_raw($this->get_next_step_link()));
735
- exit;
736
- }
737
-
738
- /**
739
- * Init "Step 4: Advanced Step".
740
- */
741
- public function seopress_setup_advanced() {
742
- $seopress_titles_option = get_option('seopress_titles_option_name');
743
- $author_noindex = isset($seopress_titles_option['seopress_titles_archives_author_noindex']);
744
- $seopress_advanced_option = get_option('seopress_advanced_option_name');
745
- $attachments_file = isset($seopress_advanced_option['seopress_advanced_advanced_attachments_file']);
746
- $category_url = isset($seopress_advanced_option['seopress_advanced_advanced_category_url']);
747
- $product_category_url = isset($seopress_advanced_option['seopress_advanced_advanced_product_cat_url']);
748
- $meta_title = isset($seopress_advanced_option['seopress_advanced_appearance_title_col']);
749
- $universal_seo_metabox = isset($seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable']);
750
- $meta_desc = isset($seopress_advanced_option['seopress_advanced_appearance_meta_desc_col']);
751
- $robots_noindex = isset($seopress_advanced_option['seopress_advanced_appearance_noindex_col']);
752
- $robots_nofollow = isset($seopress_advanced_option['seopress_advanced_appearance_nofollow_col']);
753
- $ca_score = isset($seopress_advanced_option['seopress_advanced_appearance_score_col']); ?>
 
754
 
755
  <h1><?php esc_html_e('Advanced options', 'wp-seopress'); ?>
756
  </h1>
@@ -758,405 +777,423 @@ class SEOPRESS_Admin_Setup_Wizard {
758
  </p>
759
 
760
  <form method="post">
761
- <ul class="seopress-wizard-services">
762
- <!-- Noindex on author archives -->
763
- <li class="seopress-wizard-service-item checkbox">
764
- <label for="author_noindex">
765
- <input id="author_noindex" class="location-input" name="author_noindex" type="checkbox" <?php if ('1' == $author_noindex) {
766
- echo 'checked="yes"';
767
- } ?> value="1"/>
768
- <?php _e('Do not display author archives in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
769
- </label>
770
- </li>
771
- <li class="description">
772
- <?php _e('You only have one author on your site? Check this option to avoid duplicate content.', 'wp-seopress'); ?>
773
- </li>
774
-
775
- <!-- Redirect attachment pages to URL -->
776
- <li class="seopress-wizard-service-item checkbox">
777
- <label for="attachments_file">
778
- <input id="attachments_file" class="location-input" name="attachments_file" type="checkbox" <?php if ('1' == $attachments_file) {
779
- echo 'checked="yes"';
780
- } ?> value="1"/>
781
- <?php _e('Redirect attachment pages to their file URL (https://www.example.com/my-image-file.jpg)', 'wp-seopress'); ?>
782
- </label>
783
- </li>
784
- <li class="description">
785
- <?php _e('By default, SEOPress redirects your Attachment pages to the parent post. Optimize this by redirecting the user directly to the URL of the media file.', 'wp-seopress'); ?>
786
- </li>
787
-
788
- <!-- Remove /category/ in URLs -->
789
- <li class="seopress-wizard-service-item checkbox">
790
- <label for="category_url">
791
- <input id="category_url" name="category_url" type="checkbox" class="location-input" <?php if ('1' == $category_url) {
792
- echo 'checked="yes"';
793
- } ?> value="1"/>
794
- <?php
795
- $category_base = '/category/';
796
- if (get_option('category_base')) {
797
- $category_base = '/' . get_option('category_base');
798
- }
799
-
800
- printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
801
- </label>
802
- </li>
803
- <li class="description">
804
- <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
805
- </li>
806
-
807
- <!-- Remove /product-category/ in URLs -->
808
- <li class="seopress-wizard-service-item checkbox">
809
- <label for="product_category_url">
810
- <input id="product_category_url" name="product_category_url" type="checkbox" class="location-input"
811
- <?php if ('1' == $product_category_url) {
812
- echo 'checked="yes"';
813
- } ?> value="1"/>
814
- <?php
815
- $category_base = get_option('woocommerce_permalinks');
816
- $category_base = $category_base['category_base'];
817
-
818
- if ('' != $category_base) {
819
- $category_base = '/' . $category_base . '/';
820
- } else {
821
- $category_base = '/product-category/';
822
- }
823
-
824
- printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
825
- </label>
826
- </li>
827
- <li class="description">
828
- <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
829
- </li>
830
- </ul>
831
-
832
- <h2>
833
- <?php _e('Universal SEO metabox', 'wp-seopress'); ?>
834
- </h2>
835
-
836
- <ul class="seopress-wizard-services">
837
- <li class="description">
838
- <?php _e('Edit your SEO metadata from your page or theme builder. Default: <strong>Enabled</strong>.', 'wp-seopress'); ?>
839
- </li>
840
- <!-- Show meta title -->
841
- <li class="seopress-wizard-service-item checkbox">
842
- <label for="universal_seo_metabox">
843
- <input id="universal_seo_metabox" name="universal_seo_metabox" type="checkbox" class="location-input" <?php if ('1' == $universal_seo_metabox) {
844
- echo 'checked="yes"';
845
- } ?> value="1"/>
846
- <?php _e('No, I prefer to use the good old one SEO metabox', 'wp-seopress'); ?>
847
- </label>
848
- </li>
849
- <li class="description">
850
- <?php _e('You can change this setting at anytime from SEO, Advanced settings page, Appearance tab.', 'wp-seopress'); ?>
851
- </li>
852
- </ul>
853
-
854
- <h2>
855
- <?php _e('Choose which SEO columns to display in post types list:', 'wp-seopress'); ?>
856
- </h2>
857
-
858
- <ul class="seopress-wizard-services">
859
- <!-- Show meta title -->
860
- <li class="seopress-wizard-service-item checkbox">
861
- <label for="meta_title">
862
- <input id="meta_title" name="meta_title" type="checkbox" class="location-input" <?php if ('1' == $meta_title) {
863
- echo 'checked="yes"';
864
- } ?> value="1"/>
865
- <?php _e('Show Title tag column in post types', 'wp-seopress'); ?>
866
- </label>
867
- </li>
868
-
869
- <!-- Show meta description -->
870
- <li class="seopress-wizard-service-item checkbox">
871
- <label for="meta_desc">
872
- <input id="meta_desc" name="meta_desc" type="checkbox" class="location-input" <?php if ('1' == $meta_desc) {
873
- echo 'checked="yes"';
874
- } ?> value="1"/>
875
- <?php _e('Show Meta description column in post types', 'wp-seopress'); ?>
876
- </label>
877
- </li>
878
-
879
- <!-- Show meta robots noindex -->
880
- <li class="seopress-wizard-service-item checkbox">
881
- <label for="robots_noindex">
882
- <input id="robots_noindex" name="robots_noindex" type="checkbox" class="location-input" <?php if ('1' == $robots_noindex) {
883
- echo 'checked="yes"';
884
- } ?> value="1"/>
885
- <?php _e('Show noindex column in post types', 'wp-seopress'); ?>
886
- </label>
887
- </li>
888
- <li class="description">
889
- <?php _e('Quickly know if a content is in noindex.', 'wp-seopress'); ?>
890
- </li>
891
-
892
- <!-- Show meta robots nofollow -->
893
- <li class="seopress-wizard-service-item checkbox">
894
- <label for="robots_nofollow">
895
- <input id="robots_nofollow" name="robots_nofollow" type="checkbox" class="location-input" <?php if ('1' == $robots_nofollow) {
896
- echo 'checked="yes"';
897
- } ?> value="1"/>
898
- <?php _e('Show nofollow column in post types', 'wp-seopress'); ?>
899
- </label>
900
- </li>
901
- <li class="description">
902
- <?php _e('Quickly know if a content is in nofollow.', 'wp-seopress'); ?>
903
- </li>
904
-
905
- <!-- Show meta content analysis score -->
906
- <li class="seopress-wizard-service-item checkbox">
907
- <label for="ca_score">
908
- <input id="ca_score" name="ca_score" type="checkbox" class="location-input" <?php if ('1' == $ca_score) {
909
- echo 'checked="yes"';
910
- } ?> value="1"/>
911
- <?php _e('Show content analysis score column in post types', 'wp-seopress'); ?>
912
- </label>
913
- </li>
914
- <li class="description">
915
- <?php _e('Quickly know if a content is optimized for search engines.', 'wp-seopress'); ?>
916
- </li>
917
- </ul>
918
-
919
- <p class="seopress-setup-actions step">
920
- <button type="submit" class="btn btnPrimary btnNext"
921
- value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
922
- name="save_step">
923
- <?php esc_html_e('Continue', 'wp-seopress'); ?>
924
- </button>
925
-
926
- <?php wp_nonce_field('seopress-setup'); ?>
927
- </p>
 
 
 
 
 
 
 
 
 
 
 
 
928
  </form>
929
  <?php
930
- }
931
 
932
- /**
933
- * Save step 4 settings.
934
- */
935
- public function seopress_setup_advanced_save() {
936
- check_admin_referer('seopress-setup');
937
 
938
- //Get options
939
- $seopress_titles_option = get_option('seopress_titles_option_name');
940
- $seopress_advanced_option = get_option('seopress_advanced_option_name');
941
 
942
- //Author indexing
943
- $seopress_titles_option['seopress_titles_archives_author_noindex'] = isset($_POST['author_noindex']) ? esc_attr(wp_unslash($_POST['author_noindex'])) : null;
944
 
945
- //Advanced
946
- $seopress_advanced_option['seopress_advanced_advanced_attachments_file'] = isset($_POST['attachments_file']) ? esc_attr(wp_unslash($_POST['attachments_file'])) : null;
947
- $seopress_advanced_option['seopress_advanced_advanced_category_url'] = isset($_POST['category_url']) ? esc_attr(wp_unslash($_POST['category_url'])) : null;
948
 
949
- $seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable'] = isset($_POST['universal_seo_metabox']) ? esc_attr(wp_unslash($_POST['universal_seo_metabox'])) : null;
 
950
 
951
- $seopress_advanced_option['seopress_advanced_appearance_title_col'] = isset($_POST['meta_title']) ? esc_attr(wp_unslash($_POST['meta_title'])) : null;
952
- $seopress_advanced_option['seopress_advanced_appearance_meta_desc_col'] = isset($_POST['meta_desc']) ? esc_attr(wp_unslash($_POST['meta_desc'])) : null;
953
 
954
- $seopress_advanced_option['seopress_advanced_appearance_noindex_col'] = isset($_POST['robots_noindex']) ? esc_attr(wp_unslash($_POST['robots_noindex'])) : null;
955
- $seopress_advanced_option['seopress_advanced_appearance_nofollow_col'] = isset($_POST['robots_nofollow']) ? esc_attr(wp_unslash($_POST['robots_nofollow'])) : null;
956
- $seopress_advanced_option['seopress_advanced_appearance_score_col'] = isset($_POST['ca_score']) ? esc_attr(wp_unslash($_POST['ca_score'])) : null;
957
 
958
- //Save options
959
- update_option('seopress_titles_option_name', $seopress_titles_option);
960
- update_option('seopress_advanced_option_name', $seopress_advanced_option);
961
 
962
- wp_redirect(esc_url_raw($this->get_next_step_link()));
963
- exit;
964
- }
 
 
965
 
966
- /**
967
- * Init "Step 4: Advanced Step".
968
- */
969
- public function seopress_setup_insights() {
970
- $docs = seopress_get_docs_links(); ?>
 
 
 
971
  <!-- SEOPress Insights -->
972
  <div class="seopress-wizard-next-step-description text-center">
973
- <img src="<?php echo SEOPRESS_ASSETS_DIR . '/img/logo-seopress-insights-square-alt.svg'; ?>"
974
- width="40" height="40" alt="" />
975
-
976
- <h1 class="seopress-setup-actions step">
977
- <?php _e('Start monitoring your rankings and backlinks <br>directly from your WordPress admin', 'wp-seopress'); ?>
978
- </h1>
979
- <p class="seopress-setup-actions step">
980
- <?php esc_html_e('Track your keyword positions from Google Search results daily.', 'wp-seopress'); ?>
981
- </p>
982
- <p class="seopress-setup-actions step">
983
- <?php esc_html_e('Monitor and analyse your top 1,000 Backlinks weekly.', 'wp-seopress'); ?>
984
- </p>
985
- <p class="seopress-setup-actions step">
986
- <?php esc_html_e('Export your data to CSV, PDF, Excel.', 'wp-seopress'); ?>
987
- </p>
988
-
989
- <div class="wrap-iframe">
990
- <?php echo wp_oembed_get('https://www.youtube.com/watch?v=n-a2U4_anWA'); ?>
991
- </div>
992
-
993
- <p class="seopress-setup-actions step">
994
- <a class="btn btnPrimary"
995
- href="<?php echo $docs['insights']; ?>"
996
- target="_blank">
997
- <?php _e('Get SEOPress Insights', 'wp-seopress'); ?>
998
- </a>
999
- </p>
1000
  </div>
1001
  <?php
1002
- }
1003
 
1004
- /**
1005
- * Final step.
1006
- */
1007
- public function seopress_setup_ready() {
1008
- //Remove SEOPress notice
1009
- $seopress_notices = get_option('seopress_notices');
1010
- $seopress_notices['notice-wizard'] = '1';
1011
- update_option('seopress_notices', $seopress_notices);
1012
 
1013
- $docs = seopress_get_docs_links();
1014
 
1015
- //Flush permalinks
1016
- flush_rewrite_rules(false); ?>
1017
  <h1><?php esc_html_e('Your site is now ready for search engines!', 'wp-seopress'); ?>
1018
  </h1>
1019
 
1020
  <ul class="seopress-wizard-next-steps">
1021
- <li class="seopress-wizard-next-step-item">
1022
- <!-- SEOPress PRO -->
1023
- <?php if ('valid' != get_option('seopress_pro_license_status') && is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1024
- <div class="seopress-wizard-next-step-description">
1025
- <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1026
- </p>
1027
- <h3 class="next-step-description">
1028
- <?php esc_html_e('Welcome to SEOPress PRO!', 'wp-seopress'); ?>
1029
- </h3>
1030
- <p class="next-step-extra-info">
1031
- <?php esc_html_e('Please activate your license to receive automatic updates and get premium support.', 'wp-seopress'); ?>
1032
- </p>
1033
- </div>
1034
- <div class="seopress-wizard-next-step-action">
1035
- <p class="seopress-setup-actions step">
1036
- <a class="btn btnPrimary"
1037
- href="<?php echo admin_url('admin.php?page=seopress-license'); ?>">
1038
- <?php _e('Activate License', 'wp-seopress'); ?>
1039
- </a>
1040
- </p>
1041
- </div>
1042
- <?php } elseif ( ! is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1043
- <div class="seopress-wizard-next-step-description text-center">
1044
- <h2 class="next-step-description">
1045
- <?php esc_html_e('Go PRO with SEOPress PRO!', 'wp-seopress'); ?>
1046
- </h2>
1047
- <p class="next-step-extra-info">
1048
- <?php esc_html_e('When you upgrade to the PRO version, you get a lot of additional features, like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, Analytics statistics in your Dashboard, breadcrumbs, redirections, and more.', 'wp-seopress'); ?>
1049
- </p>
1050
-
1051
- <p class="seopress-setup-actions step">
1052
- <a class="btn btnPrimary"
1053
- href="<?php echo $docs['website']; ?>"
1054
- target="_blank">
1055
- <?php _e('Buy SEOPress PRO - $39 / unlimited sites', 'wp-seopress'); ?>
1056
- </a>
1057
- </p>
1058
- </div>
1059
- <?php } ?>
1060
- </li>
1061
-
1062
- <li class="seopress-wizard-next-step-item">
1063
- <div class="seopress-wizard-next-step-description">
1064
- <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1065
- </p>
1066
- <h3 class="next-step-description"><?php esc_html_e('Create your XML sitemaps', 'wp-seopress'); ?>
1067
- </h3>
1068
- <p class="next-step-extra-info"><?php esc_html_e("Build custom XML sitemaps to improve Google's crawling of your site.", 'wp-seopress'); ?>
1069
- </p>
1070
- </div>
1071
- <div class="seopress-wizard-next-step-action">
1072
- <p class="seopress-setup-actions step">
1073
- <a class="btn btnSecondary"
1074
- href="<?php echo admin_url('admin.php?page=seopress-xml-sitemap'); ?>">
1075
- <?php esc_html_e('Configure your XML sitemaps', 'wp-seopress'); ?>
1076
- </a>
1077
- </p>
1078
- </div>
1079
- </li>
1080
-
1081
- <li class="seopress-wizard-additional-steps">
1082
- <div class="seopress-wizard-next-step-description">
1083
- <p class="next-step-heading"><?php esc_html_e('Follow us:', 'wp-seopress'); ?>
1084
- </p>
1085
- </div>
1086
- <div class="seopress-wizard-next-step-action step">
1087
- <ul class="recommended-step">
1088
- <li class="seopress-wizard-service-item">
1089
- <a href="<?php echo $docs['external']['facebook']; ?>"
1090
- target="_blank">
1091
- <span class="dashicons dashicons-facebook"></span>
1092
- <?php _e('Like our Facebook page', 'wp-seopress'); ?>
1093
- </a>
1094
- </li>
1095
- <li class="seopress-wizard-service-item">
1096
- <a href="<?php echo $docs['external']['facebook_gr']; ?>"
1097
- target="_blank">
1098
- <span class="dashicons dashicons-facebook"></span>
1099
- <?php _e('Join our Facebook Community group', 'wp-seopress'); ?>
1100
- </a>
1101
- </li>
1102
- <li class="seopress-wizard-service-item">
1103
- <a href="<?php echo $docs['external']['youtube']; ?>"
1104
- target="_blank">
1105
- <span class="dashicons dashicons-video-alt3"></span>
1106
- <?php _e('Watch our guided tour videos to learn more about SEOPress', 'wp-seopress'); ?>
1107
- </a>
1108
- </li>
1109
- <li class="seopress-wizard-service-item">
1110
- <a href="<?php echo $docs['blog']; ?>"
1111
- target="_blank">
1112
- <span class="dashicons dashicons-format-aside"></span>
1113
- <?php _e('Read our blog posts about SEO concepts, tutorials and more', 'wp-seopress'); ?>
1114
- </a>
1115
- </li>
1116
- <li class="seopress-wizard-service-item">
1117
- <a href="<?php echo $docs['external']['twitter']; ?>"
1118
- target="_blank">
1119
- <span class="dashicons dashicons-twitter"></span>
1120
- <?php _e('Follow us on Twitter', 'wp-seopress'); ?>
1121
- </a>
1122
- </li>
1123
- <li class="seopress-wizard-service-item">
1124
- <a href="<?php echo $docs['external']['instagram']; ?>"
1125
- target="_blank">
1126
- <span class="dashicons dashicons-instagram"></span>
1127
- <?php _e('The off side of SEOPress', 'wp-seopress'); ?>
1128
- </a>
1129
- </li>
1130
- </ul>
1131
- </div>
1132
- </li>
1133
-
1134
- <li class="seopress-wizard-additional-steps">
1135
- <div class="seopress-wizard-next-step-description">
1136
- <p class="next-step-heading"><?php esc_html_e('You can also:', 'wp-seopress'); ?>
1137
- </p>
1138
- </div>
1139
- <div class="seopress-wizard-next-step-action step">
1140
- <p class="seopress-setup-actions step">
1141
- <a class="btn btnSecondary"
1142
- href="<?php echo esc_url(admin_url()); ?>">
1143
- <?php esc_html_e('Visit Dashboard', 'wp-seopress'); ?>
1144
- </a>
1145
- <a class="btn btnSecondary"
1146
- href="<?php echo esc_url(admin_url('admin.php?page=seopress-option')); ?>">
1147
- <?php esc_html_e('Review Settings', 'wp-seopress'); ?>
1148
- </a>
1149
- <a class="btn btnSecondary"
1150
- href="<?php echo $docs['support']; ?>"
1151
- target="_blank">
1152
- <?php esc_html_e('Knowledge base', 'wp-seopress'); ?>
1153
- </a>
1154
- </p>
1155
- </div>
1156
- </li>
1157
  </ul>
1158
  <?php
1159
- }
1160
  }
1161
 
1162
  new SEOPRESS_Admin_Setup_Wizard();
7
  * @version 3.5.8
8
  */
9
  if ( ! defined('ABSPATH')) {
10
+ exit;
11
  }
12
 
13
  /**
14
  * SEOPRESS_Admin_Setup_Wizard class.
15
  */
16
  class SEOPRESS_Admin_Setup_Wizard {
17
+ /**
18
+ * Current step.
19
+ *
20
+ * @var string
21
+ */
22
+ private $step = '';
23
+
24
+ /**
25
+ * Steps for the setup wizard.
26
+ *
27
+ * @var array
28
+ */
29
+ private $steps = [];
30
+
31
+ /**
32
+ * Hook in tabs.
33
+ */
34
+ public function __construct() {
35
+ if (apply_filters('seopress_enable_setup_wizard', true) && current_user_can(seopress_capability('manage_options', 'Admin_Setup_Wizard'))) {
36
+ add_action('admin_menu', [$this, 'admin_menus']);
37
+ add_action('admin_init', [$this, 'setup_wizard']);
38
+ add_action('admin_enqueue_scripts', [$this, 'enqueue_scripts']);
39
+ }
40
+ }
41
+
42
+ /**
43
+ * Add admin menus/screens.
44
+ */
45
+ public function admin_menus() {
46
+ add_dashboard_page('', '', seopress_capability('manage_options', 'menu'), 'seopress-setup', '');
47
+ }
48
+
49
+ /**
50
+ * Register/enqueue scripts and styles for the Setup Wizard.
51
+ *
52
+ * Hooked onto 'admin_enqueue_scripts'.
53
+ */
54
+ public function enqueue_scripts() {
55
+ $prefix = defined('SCRIPT_DEBUG') && SCRIPT_DEBUG ? '' : '.min';
56
+ wp_enqueue_style('seopress-setup', plugins_url('assets/css/seopress-setup' . $prefix . '.css', dirname(dirname(dirname(__FILE__)))), ['install'], SEOPRESS_VERSION);
57
+ wp_register_script('seopress-migrate-ajax', plugins_url('assets/js/seopress-migrate' . $prefix . '.js', dirname(dirname(dirname(__FILE__)))), ['jquery'], SEOPRESS_VERSION, true);
58
+
59
+ $seopress_migrate = [
60
+ 'seopress_aio_migrate' => [
61
+ 'seopress_nonce' => wp_create_nonce('seopress_aio_migrate_nonce'),
62
+ 'seopress_aio_migration' => admin_url('admin-ajax.php'),
63
+ ],
64
+ 'seopress_yoast_migrate' => [
65
+ 'seopress_nonce' => wp_create_nonce('seopress_yoast_migrate_nonce'),
66
+ 'seopress_yoast_migration' => admin_url('admin-ajax.php'),
67
+ ],
68
+ 'seopress_seo_framework_migrate' => [
69
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_framework_migrate_nonce'),
70
+ 'seopress_seo_framework_migration' => admin_url('admin-ajax.php'),
71
+ ],
72
+ 'seopress_rk_migrate' => [
73
+ 'seopress_nonce' => wp_create_nonce('seopress_rk_migrate_nonce'),
74
+ 'seopress_rk_migration' => admin_url('admin-ajax.php'),
75
+ ],
76
+ 'seopress_squirrly_migrate' => [
77
+ 'seopress_nonce' => wp_create_nonce('seopress_squirrly_migrate_nonce'),
78
+ 'seopress_squirrly_migration' => admin_url('admin-ajax.php'),
79
+ ],
80
+ 'seopress_seo_ultimate_migrate' => [
81
+ 'seopress_nonce' => wp_create_nonce('seopress_seo_ultimate_migrate_nonce'),
82
+ 'seopress_seo_ultimate_migration' => admin_url('admin-ajax.php'),
83
+ ],
84
+ 'seopress_wp_meta_seo_migrate' => [
85
+ 'seopress_nonce' => wp_create_nonce('seopress_meta_seo_migrate_nonce'),
86
+ 'seopress_wp_meta_seo_migration' => admin_url('admin-ajax.php'),
87
+ ],
88
+ 'seopress_premium_seo_pack_migrate' => [
89
+ 'seopress_nonce' => wp_create_nonce('seopress_premium_seo_pack_migrate_nonce'),
90
+ 'seopress_premium_seo_pack_migration' => admin_url('admin-ajax.php'),
91
+ ],
92
+ 'seopress_wpseo_migrate' => [
93
+ 'seopress_nonce' => wp_create_nonce('seopress_wpseo_migrate_nonce'),
94
+ 'seopress_wpseo_migration' => admin_url('admin-ajax.php'),
95
+ ],
96
+ 'seopress_platinum_seo_migrate' => [
97
+ 'seopress_nonce' => wp_create_nonce('seopress_platinum_seo_migrate_nonce'),
98
+ 'seopress_platinum_seo_migration' => admin_url('admin-ajax.php'),
99
+ ],
100
+ 'seopress_smart_crawl_migrate' => [
101
+ 'seopress_nonce' => wp_create_nonce('seopress_smart_crawl_migrate_nonce'),
102
+ 'seopress_smart_crawl_migration' => admin_url('admin-ajax.php'),
103
+ ],
104
+ 'seopress_seopressor_migrate' => [
105
+ 'seopress_nonce' => wp_create_nonce('seopress_seopressor_migrate_nonce'),
106
+ 'seopress_seopressor_migration' => admin_url('admin-ajax.php'),
107
+ ],
108
+ 'seopress_metadata_csv' => [
109
+ 'seopress_nonce' => wp_create_nonce('seopress_export_csv_metadata_nonce'),
110
+ 'seopress_metadata_export' => admin_url('admin-ajax.php'),
111
+ ],
112
+ 'i18n' => [
113
+ 'migration' => __('Migration completed!', 'wp-seopress'),
114
+ 'export' => __('Export completed!', 'wp-seopress'),
115
+ ],
116
+ ];
117
+ wp_localize_script('seopress-migrate-ajax', 'seopressAjaxMigrate', $seopress_migrate);
118
+ }
119
+
120
+ /**
121
+ * Show the setup wizard.
122
+ */
123
+ public function setup_wizard() {
124
+ if (empty($_GET['page']) || 'seopress-setup' !== $_GET['page']) {
125
+ return;
126
+ }
127
+ $default_steps = [
128
+ 'import_settings' => [
129
+ 'name' => __('Import SEO settings', 'wp-seopress'),
130
+ 'view' => [$this, 'seopress_setup_import_settings'],
131
+ 'handler' => [$this, 'seopress_setup_import_settings_save'],
132
+ ],
133
+ 'site' => [
134
+ 'name' => __('Your site', 'wp-seopress'),
135
+ 'view' => [$this, 'seopress_setup_site'],
136
+ 'handler' => [$this, 'seopress_setup_site_save'],
137
+ ],
138
+ 'indexing' => [
139
+ 'name' => __('Indexing', 'wp-seopress'),
140
+ 'view' => [$this, 'seopress_setup_indexing'],
141
+ 'handler' => [$this, 'seopress_setup_indexing_save'],
142
+ ],
143
+ 'advanced' => [
144
+ 'name' => __('Advanced options', 'wp-seopress'),
145
+ 'view' => [$this, 'seopress_setup_advanced'],
146
+ 'handler' => [$this, 'seopress_setup_advanced_save'],
147
+ ],
148
+ ];
149
+
150
+ if ( ! is_plugin_active('wp-seopress-insights/seopress-insights.php') && ! is_multisite()) {
151
+ $default_steps['insights'] = [
152
+ 'name' => __('Insights', 'wp-seopress'),
153
+ 'view' => [$this, 'seopress_setup_insights'],
154
+ 'handler' => '',
155
+ ];
156
+ }
157
+ $default_steps['ready'] = [
158
+ 'name' => __('Ready!', 'wp-seopress'),
159
+ 'view' => [$this, 'seopress_setup_ready'],
160
+ 'handler' => '',
161
+ ];
162
+
163
+ $this->steps = apply_filters('seopress_setup_wizard_steps', $default_steps);
164
+ $this->step = isset($_GET['step']) ? sanitize_key($_GET['step']) : current(array_keys($this->steps));
165
+
166
+ if ( ! empty($_POST['save_step']) && isset($this->steps[$this->step]['handler'])) {
167
+ call_user_func($this->steps[$this->step]['handler'], $this);
168
+ }
169
+
170
+ ob_start();
171
+ $this->setup_wizard_header();
172
+ $this->setup_wizard_steps();
173
+ $this->setup_wizard_content();
174
+ $this->setup_wizard_footer();
175
+ exit;
176
+ }
177
+
178
+ /**
179
+ * Get the URL for the next step's screen.
180
+ *
181
+ * @param string $step slug (default: current step)
182
+ *
183
+ * @return string URL for next step if a next step exists.
184
+ * Admin URL if it's the last step.
185
+ * Empty string on failure.
186
+ *
187
+ * @since 3.5.8
188
+ */
189
+ public function get_next_step_link($step = '') {
190
+ if ( ! $step) {
191
+ $step = $this->step;
192
+ }
193
+
194
+ $keys = array_keys($this->steps);
195
+ if (end($keys) === $step) {
196
+ return admin_url();
197
+ }
198
+
199
+ $step_index = array_search($step, $keys, true);
200
+ if (false === $step_index) {
201
+ return '';
202
+ }
203
+
204
+ return add_query_arg('step', $keys[$step_index + 1], remove_query_arg('activate_error'));
205
+ }
206
+
207
+ /**
208
+ * Setup Wizard Header.
209
+ */
210
+ public function setup_wizard_header() {
211
+ set_current_screen(); ?>
212
  <!DOCTYPE html>
213
  <html <?php language_attributes(); ?>>
214
 
215
  <head>
216
+ <meta name="viewport" content="width=device-width" />
217
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
218
+ <title><?php esc_html_e('SEOPress &rsaquo; Setup Wizard', 'wp-seopress'); ?>
219
+ </title>
220
+ <?php do_action('admin_enqueue_scripts'); ?>
221
+ <?php wp_print_scripts('seopress-migrate-ajax'); ?>
222
+ <?php do_action('admin_print_styles'); ?>
223
+ <?php do_action('admin_head'); ?>
224
  </head>
225
 
226
  <?php
227
+ $class = '';
228
+ if ('insights' === $this->step) {
229
+ $class = ' no_nav_menu';
230
+ } ?>
231
 
232
  <body
233
+ class="seopress-setup seopress-option wp-core-ui<?php echo $class; ?>">
234
+ <?php
235
+ }
236
+
237
+ /**
238
+ * Setup Wizard Footer.
239
+ */
240
+ public function setup_wizard_footer() {
241
+ ?>
242
+ <div class="seopress-setup-footer">
243
+ <?php if ('import_settings' === $this->step) { ?>
244
+ <a class="seopress-setup-footer-links"
245
+ href="<?php echo esc_url(admin_url()); ?>"><?php esc_html_e('Not right now', 'wp-seopress'); ?></a>
246
+ <?php } elseif ('site' === $this->step || 'indexing' === $this->step || 'advanced' === $this->step || 'insights' === $this->step) {
247
+ $skip_link = esc_url($this->get_next_step_link());
248
+ if ('advanced' === $this->step && defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
249
+ $skip_link = esc_url_raw($this->get_next_step_link('insights'));
250
+ }
251
+ ?>
252
+ <a class="seopress-setup-footer-links"
253
+ href="<?php echo $skip_link; ?>"><?php esc_html_e('Skip this step', 'wp-seopress'); ?></a>
254
+ <?php } ?>
255
+ <?php do_action('seopress_setup_footer'); ?>
256
+ </div>
257
+ </div>
258
  </body>
259
 
260
  </html>
261
  <?php
262
+ }
263
 
264
+ /**
265
+ * Output the steps.
266
+ */
267
+ public function setup_wizard_steps() {
268
+ $output_steps = $this->steps; ?>
269
  <div id="wpcontent" class="seopress-option">
270
+ <ol class="seopress-setup-steps">
271
+ <?php
272
+ $i = 1;
273
+
274
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
275
+ unset($output_steps['insights']);
276
+ }
277
+
278
+ foreach ($output_steps as $step_key => $step) {
279
+ $is_completed = array_search($this->step, array_keys($this->steps), true) > array_search($step_key, array_keys($this->steps), true);
280
+
281
+ if ($step_key === $this->step) {
282
+ ?>
283
+ <li class="active">
284
+ <div class="icon" data-step="<?php echo $i; ?>"></div>
285
+ <span><?php echo esc_html($step['name']); ?></span>
286
+ <div class="divider"></div>
287
+ </li>
288
+ <?php
289
+ } elseif ($is_completed) {
290
+ ?>
291
+ <li class="done">
292
+ <div class="icon" data-step="<?php echo $i; ?>"></div>
293
+ <a
294
+ href="<?php echo esc_url(add_query_arg('step', $step_key, remove_query_arg('activate_error'))); ?>">
295
+ <?php echo esc_html($step['name']); ?>
296
+ </a>
297
+ <div class="divider"></div>
298
+ </li>
299
+ <?php
300
+ } else {
301
+ ?>
302
+ <li>
303
+ <div class="icon" data-step="<?php echo $i; ?>"></div>
304
+ <span><?php echo esc_html($step['name']); ?></span>
305
+ <div class="divider"></div>
306
+ </li>
307
+ <?php
308
+ }
309
+ ++$i;
310
+ } ?>
311
+ </ol>
312
+ <?php
313
+ }
314
+
315
+ /**
316
+ * Output the content for the current step.
317
+ */
318
+ public function setup_wizard_content() {
319
+ echo '<div class="seopress-setup-content">';
320
+ if ( ! empty($this->steps[$this->step]['view'])) {
321
+ call_user_func($this->steps[$this->step]['view'], $this);
322
+ }
323
+ echo '</div>';
324
+ }
325
+
326
+ /**
327
+ * Init "Step 1: Import SEO settings".
328
+ */
329
+ public function seopress_setup_import_settings() {
330
+ ?>
331
+ <form method="post">
332
+ <?php wp_nonce_field('seopress-setup'); ?>
333
+ <h1 class="text-center"><?php _e('Welcome to SEOPress!', 'wp-seopress'); ?>
334
+ </h1>
335
+ <p class="store-setup"><?php esc_html_e('The following wizard will help you configure SEOPress and get you started quickly.', 'wp-seopress'); ?>
336
+ </p>
337
+ <p class="store-setup"><?php esc_html_e('The first step is to import your previous settings from other plugins to keep your SEO.', 'wp-seopress'); ?>
338
+ </p>
339
+ <p class="store-setup"><?php esc_html_e('No data to migrate? Click "Next step" button!', 'wp-seopress'); ?>
340
+ </p>
341
+
342
+ <h2><?php _e('Import posts and terms metadata from', 'wp-seopress'); ?>
343
+ </h2>
344
+ <?php
345
+ $plugins = [
346
+ 'yoast' => 'Yoast SEO',
347
+ 'aio' => 'All In One SEO',
348
+ 'seo-framework' => 'The SEO Framework',
349
+ 'rk' => 'Rank Math',
350
+ 'squirrly' => 'Squirrly SEO',
351
+ 'seo-ultimate' => 'SEO Ultimate',
352
+ 'wp-meta-seo' => 'WP Meta SEO',
353
+ 'premium-seo-pack' => 'Premium SEO Pack',
354
+ 'wpseo' => 'wpSEO',
355
+ 'platinum-seo' => 'Platinum SEO Pack',
356
+ 'smart-crawl' => 'SmartCrawl',
357
+ 'seopressor' => 'SEOPressor',
358
+ ];
359
+
360
+ echo '<p>
361
+ <select id="select-wizard-import" name="select-wizard-import">
362
+ <option value="none">' . __('Select an option', 'wp-seopress') . '</option>';
363
+
364
+ foreach ($plugins as $plugin => $name) {
365
+ echo '<option value="' . $plugin . '-migration-tool">' . $name . '</option>';
366
+ }
367
+ echo '</select>
368
+ </p>
369
+
370
+ <p class="description">' . __('You don\'t have to enable the selected SEO plugin to run the import.', 'wp-seopress') . '</p>';
371
+
372
+ foreach ($plugins as $plugin => $name) {
373
+ echo seopress_migration_tool($plugin, $name);
374
+ } ?>
375
  </div>
376
 
377
  <p class="seopress-setup-actions step">
378
+ <button type="submit" class="btnPrimary btn btnNext"
379
+ value="<?php esc_attr_e('Next step', 'wp-seopress'); ?>"
380
+ name="save_step">
381
+ <?php esc_html_e('Next step', 'wp-seopress'); ?>
382
+ </button>
383
 
384
+ <?php wp_nonce_field('seopress-setup'); ?>
385
  </p>
386
  </form>
387
  <?php
388
+ }
389
+
390
+ /**
391
+ * Save step 1 settings.
392
+ */
393
+ public function seopress_setup_import_settings_save() {
394
+ check_admin_referer('seopress-setup');
395
+ wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
396
+ exit;
397
+ }
398
+
399
+ /**
400
+ * Init "Step 2: Your site".
401
+ */
402
+ public function seopress_setup_site() {
403
+ $seopress_titles_option = get_option('seopress_titles_option_name');
404
+ $seopress_social_option = get_option('seopress_social_option_name');
405
+
406
+ $site_sep = isset($seopress_titles_option['seopress_titles_sep']) ? $seopress_titles_option['seopress_titles_sep'] : null;
407
+ $site_title = isset($seopress_titles_option['seopress_titles_home_site_title']) ? $seopress_titles_option['seopress_titles_home_site_title'] : null;
408
+ $knowledge_type = isset($seopress_social_option['seopress_social_knowledge_type']) ? $seopress_social_option['seopress_social_knowledge_type'] : null;
409
+ $knowledge_name = isset($seopress_social_option['seopress_social_knowledge_name']) ? $seopress_social_option['seopress_social_knowledge_name'] : null;
410
+ $knowledge_img = isset($seopress_social_option['seopress_social_knowledge_img']) ? $seopress_social_option['seopress_social_knowledge_img'] : null;
411
+ $knowledge_fb = isset($seopress_social_option['seopress_social_accounts_facebook']) ? $seopress_social_option['seopress_social_accounts_facebook'] : null;
412
+ $knowledge_tw = isset($seopress_social_option['seopress_social_accounts_twitter']) ? $seopress_social_option['seopress_social_accounts_twitter'] : null;
413
+ $knowledge_pin = isset($seopress_social_option['seopress_social_accounts_pinterest']) ? $seopress_social_option['seopress_social_accounts_pinterest'] : null;
414
+ $knowledge_insta = isset($seopress_social_option['seopress_social_accounts_instagram']) ? $seopress_social_option['seopress_social_accounts_instagram'] : null;
415
+ $knowledge_yt = isset($seopress_social_option['seopress_social_accounts_youtube']) ? $seopress_social_option['seopress_social_accounts_youtube'] : null;
416
+ $knowledge_li = isset($seopress_social_option['seopress_social_accounts_linkedin']) ? $seopress_social_option['seopress_social_accounts_linkedin'] : null; ?>
417
 
418
  <h1><?php esc_html_e('Your site', 'wp-seopress'); ?>
419
  </h1>
420
  <form method="post">
421
+ <p><?php esc_html_e('To build title tags and knowledge graph for Google, you need to fill out the fields below to configure the general settings. ', 'wp-seopress'); ?>
422
+ </p>
423
+
424
+ <p>
425
+ <label for="site_sep"><?php esc_html_e('Separator', 'wp-seopress'); ?></label>
426
+ <input type="text" id="site_sep" class="location-input" name="site_sep"
427
+ placeholder="<?php esc_html_e('eg: |', 'wp-seopress'); ?>"
428
+ required value="<?php echo $site_sep; ?>" />
429
+ </p>
430
+
431
+ <p class="description seopress-wizard-services description">
432
+ <?php _e('This separator will be used by the dynamic variable <strong>%%sep%%</strong> in your title and meta description templates.', 'wp-seopress'); ?>
433
+ </p>
434
+
435
+ <p>
436
+ <label for="site_title"><?php esc_html_e('Home site title', 'wp-seopress'); ?></label>
437
+ <input type="text" id="site_title" class="location-input" name="site_title"
438
+ placeholder="<?php esc_html_e('eg: My super website', 'wp-seopress'); ?>"
439
+ required value="<?php echo $site_title; ?>" />
440
+ </p>
441
+
442
+ <p>
443
+ <label for="knowledge_type"><?php esc_html_e('Person or organization', 'wp-seopress'); ?></label>
444
+ <?php
445
+ echo '<select id="knowledge_type" name="knowledge_type" data-placeholder="' . esc_attr__('Choose a knowledge type', 'wp-seopress') . '" class="location-input wc-enhanced-select dropdown">';
446
+ echo ' <option ';
447
+ if ('None' == $knowledge_type) {
448
+ echo 'selected="selected"';
449
+ }
450
+ echo ' value="none">' . __('None (will disable this feature)', 'wp-seopress') . '</option>';
451
+ echo ' <option ';
452
+ if ('Person' == $knowledge_type) {
453
+ echo 'selected="selected"';
454
+ }
455
+ echo ' value="Person">' . __('Person', 'wp-seopress') . '</option>';
456
+ echo '<option ';
457
+ if ('Organization' == $knowledge_type) {
458
+ echo 'selected="selected"';
459
+ }
460
+ echo ' value="Organization">' . __('Organization', 'wp-seopress') . '</option>';
461
+ echo '</select>'; ?>
462
+ </p>
463
+
464
+ <p>
465
+ <label for="knowledge_name"><?php esc_html_e('Your name/organization', 'wp-seopress'); ?></label>
466
+ <input type="text" id="knowledge_name" class="location-input" name="knowledge_name"
467
+ placeholder="<?php esc_html_e('eg: My Company Name', 'wp-seopress'); ?>"
468
+ value="<?php echo $knowledge_name; ?>" />
469
+ </p>
470
+
471
+ <p>
472
+ <label for="knowledge_img"><?php esc_html_e('Your photo/organization logo', 'wp-seopress'); ?></label>
473
+ <input type="text" id="knowledge_img" class="location-input" name="knowledge_img"
474
+ placeholder="<?php esc_html_e('eg: https://www.example.com/logo.png', 'wp-seopress'); ?>"
475
+ value="<?php echo $knowledge_img; ?>" />
476
+ </p>
477
+
478
+ <p>
479
+ <label for="knowledge_fb"><?php esc_html_e('Facebook page URL', 'wp-seopress'); ?></label>
480
+ <input type="text" id="knowledge_fb" class="location-input" name="knowledge_fb"
481
+ placeholder="<?php esc_html_e('eg: https://facebook.com/my-page-url', 'wp-seopress'); ?>"
482
+ value="<?php echo $knowledge_fb; ?>" />
483
+ </p>
484
+
485
+ <p>
486
+ <label for="knowledge_tw"><?php esc_html_e('Twitter Username', 'wp-seopress'); ?></label>
487
+ <input type="text" id="knowledge_tw" class="location-input" name="knowledge_tw"
488
+ placeholder="<?php esc_html_e('eg: @my_twitter_account', 'wp-seopress'); ?>"
489
+ value="<?php echo $knowledge_tw; ?>" />
490
+ </p>
491
+
492
+ <p>
493
+ <label for="knowledge_pin"><?php esc_html_e('Pinterest URL', 'wp-seopress'); ?></label>
494
+ <input type="text" id="knowledge_pin" class="location-input" name="knowledge_pin"
495
+ placeholder="<?php esc_html_e('eg: https://pinterest.com/my-page-url/', 'wp-seopress'); ?>"
496
+ value="<?php echo $knowledge_pin; ?>" />
497
+ </p>
498
+
499
+ <p>
500
+ <label for="knowledge_insta"><?php esc_html_e('Instagram URL', 'wp-seopress'); ?></label>
501
+ <input type="text" id="knowledge_insta" class="location-input" name="knowledge_insta"
502
+ placeholder="<?php esc_html_e('eg: https://www.instagram.com/my-page-url/', 'wp-seopress'); ?>"
503
+ value="<?php echo $knowledge_insta; ?>" />
504
+ </p>
505
+
506
+ <p>
507
+ <label for="knowledge_yt"><?php esc_html_e('YouTube URL', 'wp-seopress'); ?></label>
508
+ <input type="text" id="knowledge_yt" class="location-input" name="knowledge_yt"
509
+ placeholder="<?php esc_html_e('eg: https://www.youtube.com/my-channel-url', 'wp-seopress'); ?>"
510
+ value="<?php echo $knowledge_yt; ?>" />
511
+ </p>
512
+
513
+ <p>
514
+ <label for="knowledge_li"><?php esc_html_e('LinkedIn URL', 'wp-seopress'); ?></label>
515
+ <input type="text" id="knowledge_li" class="location-input" name="knowledge_li"
516
+ placeholder="<?php esc_html_e('eg: http://linkedin.com/company/my-company-url/', 'wp-seopress'); ?>"
517
+ value="<?php echo $knowledge_li; ?>" />
518
+ </p>
519
+
520
+ <p class="seopress-setup-actions step">
521
+ <button type="submit" class="btnPrimary btn btnNext"
522
+ value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
523
+ name="save_step">
524
+ <?php esc_html_e('Continue', 'wp-seopress'); ?>
525
+ </button>
526
+ <?php wp_nonce_field('seopress-setup'); ?>
527
+ </p>
528
  </form>
529
  <?php
530
+ }
531
+
532
+ /**
533
+ * Save step 2 settings.
534
+ */
535
+ public function seopress_setup_site_save() {
536
+ check_admin_referer('seopress-setup');
537
+
538
+ //Get options
539
+ $seopress_titles_option = get_option('seopress_titles_option_name');
540
+ $seopress_social_option = get_option('seopress_social_option_name');
541
+
542
+ //Titles
543
+ $seopress_titles_option['seopress_titles_sep'] = isset($_POST['site_sep']) ? esc_attr(wp_unslash($_POST['site_sep'])) : '';
544
+ $seopress_titles_option['seopress_titles_home_site_title'] = isset($_POST['site_title']) ? sanitize_text_field(wp_unslash($_POST['site_title'])) : '';
545
+
546
+ //Social
547
+ $seopress_social_option['seopress_social_knowledge_type'] = isset($_POST['knowledge_type']) ? esc_attr(wp_unslash($_POST['knowledge_type'])) : '';
548
+ $seopress_social_option['seopress_social_knowledge_name'] = isset($_POST['knowledge_name']) ? sanitize_text_field(wp_unslash($_POST['knowledge_name'])) : '';
549
+ $seopress_social_option['seopress_social_knowledge_img'] = isset($_POST['knowledge_img']) ? sanitize_text_field(wp_unslash($_POST['knowledge_img'])) : '';
550
+
551
+ //Social accounts
552
+ $seopress_social_option['seopress_social_accounts_facebook'] = isset($_POST['knowledge_fb']) ? sanitize_text_field(wp_unslash($_POST['knowledge_fb'])) : '';
553
+ $seopress_social_option['seopress_social_accounts_twitter'] = isset($_POST['knowledge_tw']) ? sanitize_text_field(wp_unslash($_POST['knowledge_tw'])) : '';
554
+ $seopress_social_option['seopress_social_accounts_pinterest'] = isset($_POST['knowledge_pin']) ? sanitize_text_field(wp_unslash($_POST['knowledge_pin'])) : '';
555
+ $seopress_social_option['seopress_social_accounts_instagram'] = isset($_POST['knowledge_insta']) ? sanitize_text_field(wp_unslash($_POST['knowledge_insta'])) : '';
556
+ $seopress_social_option['seopress_social_accounts_youtube'] = isset($_POST['knowledge_yt']) ? sanitize_text_field(wp_unslash($_POST['knowledge_yt'])) : '';
557
+ $seopress_social_option['seopress_social_accounts_linkedin'] = isset($_POST['knowledge_li']) ? sanitize_text_field(wp_unslash($_POST['knowledge_li'])) : '';
558
+
559
+ //Save options
560
+ update_option('seopress_titles_option_name', $seopress_titles_option, false);
561
+ update_option('seopress_social_option_name', $seopress_social_option, false);
562
+
563
+ wp_safe_redirect(esc_url_raw($this->get_next_step_link()));
564
+ exit;
565
+ }
566
+
567
+ /**
568
+ * Init "Step 3: Indexing Step".
569
+ */
570
+ public function seopress_setup_indexing() {
571
+ $seopress_titles_option = get_option('seopress_titles_option_name'); ?>
572
  <h1><?php esc_html_e('Indexing', 'wp-seopress'); ?>
573
  </h1>
574
  <p><?php esc_html_e('Specify to the search engines what you want to be indexed or not.', 'wp-seopress'); ?>
579
  </p>
580
 
581
  <form method="post" class="seopress-wizard-indexing-form">
582
+ <?php if ( ! empty(seopress_get_post_types())) { ?>
583
+ <div class="seopress-wizard-services">
584
+ <h2>
585
+ <?php _e('For which single post types, should indexing be disabled?', 'wp-seopress'); ?>
586
+ </h2>
587
+
588
+ <ul>
589
+ <?php
590
+ //Post Types
591
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
592
+ $seopress_titles_single_titles = isset($seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']); ?>
593
+
594
+ <h3><?php echo $seopress_cpt_value->labels->name; ?>
595
+ <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
596
+ </h3>
597
+
598
+ <li class="seopress-wizard-service-item checkbox">
599
+ <label
600
+ for="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
601
+ <input
602
+ id="seopress_titles_single_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
603
+ name="seopress_titles_option_name[seopress_titles_single_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
604
+ type="checkbox" <?php if ('1' == $seopress_titles_single_titles) {
605
+ echo 'checked="yes"';
606
+ } ?>
607
+ value="1"/>
608
+ <?php _e('Do not display this single post type in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
609
+ </label>
610
+ </li>
611
+ <?php
612
+ }
613
+ ?>
614
+ </ul>
615
+ </div>
616
+ <?php } ?>
617
+
618
+ <?php if ( ! empty(seopress_get_post_types())) {
619
+ $cpt = seopress_get_post_types();
620
+ unset($cpt['post']);
621
+ unset($cpt['page']);
622
+ ?>
623
+
624
+ <?php
625
+ if (!empty($cpt)) { ?>
626
+ <div class="seopress-wizard-services">
627
+ <h2>
628
+ <?php _e('For which post type archives, should indexing be disabled?', 'wp-seopress'); ?>
629
+ </h2>
630
+
631
+ <ul>
632
+ <?php
633
+ foreach ($cpt as $seopress_cpt_key => $seopress_cpt_value) {
634
+ $seopress_titles_archive_titles = isset($seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']); ?>
635
+ <h3><?php echo $seopress_cpt_value->labels->name; ?>
636
+ <em><small>[<?php echo $seopress_cpt_value->name; ?>]</small></em>
637
+ </h3>
638
+
639
+ <li class="seopress-wizard-service-item checkbox">
640
+ <label
641
+ for="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]">
642
+ <input
643
+ id="seopress_titles_archive_cpt_noindex[<?php echo $seopress_cpt_key; ?>]"
644
+ name="seopress_titles_option_name[seopress_titles_archive_titles][<?php echo $seopress_cpt_key; ?>][noindex]"
645
+ type="checkbox" <?php if ('1' == $seopress_titles_archive_titles) {
646
+ echo 'checked="yes"';
647
+ } ?>
648
+ value="1"/>
649
+ <?php _e('Do not display this post type archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
650
+ </label>
651
+ </li>
652
+ <?php
653
+ }
654
+ }
655
+ if (!empty($cpt)) { ?>
656
+ </ul>
657
+ </div>
658
+ <?php } ?>
659
+
660
+ <?php } ?>
661
+
662
+ <?php if ( ! empty(seopress_get_taxonomies())) { ?>
663
+ <div class="seopress-wizard-services">
664
+ <h2>
665
+ <?php _e('For which taxonomy archives, should indexing be disabled?', 'wp-seopress'); ?>
666
+ </h2>
667
+
668
+ <ul>
669
+ <?php
670
+ //Archives
671
+ foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
672
+ $seopress_titles_tax_titles = isset($seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']); ?>
673
+ <h3><?php echo $seopress_tax_value->labels->name; ?>
674
+ <em><small>[<?php echo $seopress_tax_value->name; ?>]</small></em>
675
+ </h3>
676
+
677
+ <li class="seopress-wizard-service-item checkbox">
678
+ <label
679
+ for="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]">
680
+ <input
681
+ id="seopress_titles_tax_noindex[<?php echo $seopress_tax_key; ?>]"
682
+ name="seopress_titles_option_name[seopress_titles_tax_titles][<?php echo $seopress_tax_key; ?>][noindex]"
683
+ type="checkbox" <?php if ('1' == $seopress_titles_tax_titles) {
684
+ echo 'checked="yes"';
685
+ } ?>
686
+ value="1"/>
687
+ <?php _e('Do not display this taxonomy archive in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
688
+ </label>
689
+ </li>
690
+ <?php
691
+ }
692
+ ?>
693
+ </ul>
694
+ </div>
695
+ <?php } ?>
696
+
697
+ <p class="seopress-setup-actions step">
698
+ <button type="submit" class="btnPrimary btn btnNext"
699
+ value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
700
+ name="save_step">
701
+ <?php esc_html_e('Continue', 'wp-seopress'); ?>
702
+ </button>
703
+
704
+ <?php wp_nonce_field('seopress-setup'); ?>
705
+ </p>
706
  </form>
707
  <?php
708
+ }
709
+
710
+ /**
711
+ * Save Step 3 settings.
712
+ */
713
+ public function seopress_setup_indexing_save() {
714
+ check_admin_referer('seopress-setup');
715
+
716
+ //Get options
717
+ $seopress_titles_option = get_option('seopress_titles_option_name');
718
+
719
+ //Post Types noindex
720
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
721
+ if (isset($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'])) {
722
+ $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_single_titles'][$seopress_cpt_key]['noindex']));
723
+ } else {
724
+ $noindex = null;
725
+ }
726
+ $seopress_titles_option['seopress_titles_single_titles'][$seopress_cpt_key]['noindex'] = $noindex;
727
+ }
728
+
729
+ //Post Type archives noindex
730
+ foreach (seopress_get_post_types() as $seopress_cpt_key => $seopress_cpt_value) {
731
+ if (isset($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'])) {
732
+ $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex']));
733
+ } else {
734
+ $noindex = null;
735
+ }
736
+ $seopress_titles_option['seopress_titles_archive_titles'][$seopress_cpt_key]['noindex'] = $noindex;
737
+ }
738
+
739
+ //Archives noindex
740
+ foreach (seopress_get_taxonomies() as $seopress_tax_key => $seopress_tax_value) {
741
+ if (isset($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'])) {
742
+ $noindex = esc_attr(wp_unslash($_POST['seopress_titles_option_name']['seopress_titles_tax_titles'][$seopress_tax_key]['noindex']));
743
+ } else {
744
+ $noindex = null;
745
+ }
746
+ $seopress_titles_option['seopress_titles_tax_titles'][$seopress_tax_key]['noindex'] = $noindex;
747
+ }
748
+
749
+ //Save options
750
+ update_option('seopress_titles_option_name', $seopress_titles_option);
751
+
752
+ wp_redirect(esc_url_raw($this->get_next_step_link()));
753
+ exit;
754
+ }
755
+
756
+ /**
757
+ * Init "Step 4: Advanced Step".
758
+ */
759
+ public function seopress_setup_advanced() {
760
+ $seopress_titles_option = get_option('seopress_titles_option_name');
761
+ $author_noindex = isset($seopress_titles_option['seopress_titles_archives_author_noindex']);
762
+ $seopress_advanced_option = get_option('seopress_advanced_option_name');
763
+ $attachments_file = isset($seopress_advanced_option['seopress_advanced_advanced_attachments_file']);
764
+ $category_url = isset($seopress_advanced_option['seopress_advanced_advanced_category_url']);
765
+ $product_category_url = isset($seopress_advanced_option['seopress_advanced_advanced_product_cat_url']);
766
+ $meta_title = isset($seopress_advanced_option['seopress_advanced_appearance_title_col']);
767
+ $universal_seo_block_editor = isset($seopress_advanced_option['seopress_advanced_appearance_universal_metabox']);
768
+ $universal_seo_metabox = isset($seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable']);
769
+ $meta_desc = isset($seopress_advanced_option['seopress_advanced_appearance_meta_desc_col']);
770
+ $robots_noindex = isset($seopress_advanced_option['seopress_advanced_appearance_noindex_col']);
771
+ $robots_nofollow = isset($seopress_advanced_option['seopress_advanced_appearance_nofollow_col']);
772
+ $ca_score = isset($seopress_advanced_option['seopress_advanced_appearance_score_col']); ?>
773
 
774
  <h1><?php esc_html_e('Advanced options', 'wp-seopress'); ?>
775
  </h1>
777
  </p>
778
 
779
  <form method="post">
780
+ <ul class="seopress-wizard-services">
781
+ <!-- Noindex on author archives -->
782
+ <li class="seopress-wizard-service-item checkbox">
783
+ <label for="author_noindex">
784
+ <input id="author_noindex" class="location-input" name="author_noindex" type="checkbox" <?php if ('1' == $author_noindex) {
785
+ echo 'checked="yes"';
786
+ } ?> value="1"/>
787
+ <?php _e('Do not display author archives in search engine results <strong>(noindex)</strong>', 'wp-seopress'); ?>
788
+ </label>
789
+ </li>
790
+ <li class="description">
791
+ <?php _e('You only have one author on your site? Check this option to avoid duplicate content.', 'wp-seopress'); ?>
792
+ </li>
793
+
794
+ <!-- Redirect attachment pages to URL -->
795
+ <li class="seopress-wizard-service-item checkbox">
796
+ <label for="attachments_file">
797
+ <input id="attachments_file" class="location-input" name="attachments_file" type="checkbox" <?php if ('1' == $attachments_file) {
798
+ echo 'checked="yes"';
799
+ } ?> value="1"/>
800
+ <?php _e('Redirect attachment pages to their file URL (https://www.example.com/my-image-file.jpg)', 'wp-seopress'); ?>
801
+ </label>
802
+ </li>
803
+ <li class="description">
804
+ <?php _e('By default, SEOPress redirects your Attachment pages to the parent post. Optimize this by redirecting the user directly to the URL of the media file.', 'wp-seopress'); ?>
805
+ </li>
806
+
807
+ <!-- Remove /category/ in URLs -->
808
+ <li class="seopress-wizard-service-item checkbox">
809
+ <label for="category_url">
810
+ <input id="category_url" name="category_url" type="checkbox" class="location-input" <?php if ('1' == $category_url) {
811
+ echo 'checked="yes"';
812
+ } ?> value="1"/>
813
+ <?php
814
+ $category_base = '/category/';
815
+ if (get_option('category_base')) {
816
+ $category_base = '/' . get_option('category_base');
817
+ }
818
+
819
+ printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
820
+ </label>
821
+ </li>
822
+ <li class="description">
823
+ <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
824
+ </li>
825
+
826
+ <!-- Remove /product-category/ in URLs -->
827
+ <li class="seopress-wizard-service-item checkbox">
828
+ <label for="product_category_url">
829
+ <input id="product_category_url" name="product_category_url" type="checkbox" class="location-input"
830
+ <?php if ('1' == $product_category_url) {
831
+ echo 'checked="yes"';
832
+ } ?> value="1"/>
833
+ <?php
834
+ $category_base = get_option('woocommerce_permalinks');
835
+ $category_base = $category_base['category_base'];
836
+
837
+ if ('' != $category_base) {
838
+ $category_base = '/' . $category_base . '/';
839
+ } else {
840
+ $category_base = '/product-category/';
841
+ }
842
+
843
+ printf(__('Remove <strong>%s</strong> in your permalinks', 'wp-seopress'), $category_base); ?>
844
+ </label>
845
+ </li>
846
+ <li class="description">
847
+ <?php printf(__('Shorten your URLs by removing %s and improve your SEO.', 'wp-seopress'), $category_base); ?>
848
+ </li>
849
+ </ul>
850
+
851
+ <h2>
852
+ <?php _e('Universal SEO metabox', 'wp-seopress'); ?>
853
+ </h2>
854
+
855
+ <ul class="seopress-wizard-services">
856
+ <li class="description">
857
+ <?php _e('Edit your SEO metadata from your page or theme builder. Default: <strong>Enabled</strong>.', 'wp-seopress'); ?>
858
+ </li>
859
+ <!-- Universal SEO metabox for page builers -->
860
+ <li class="seopress-wizard-service-item checkbox">
861
+ <label for="universal_seo_metabox">
862
+ <input id="universal_seo_metabox" name="universal_seo_metabox" type="checkbox" class="location-input" <?php if ('1' == $universal_seo_metabox) {
863
+ echo 'checked="yes"';
864
+ } ?> value="1"/>
865
+ <?php _e('No, I prefer to use the good old one SEO metabox', 'wp-seopress'); ?>
866
+ </label>
867
+ </li>
868
+ <li class="description">
869
+ <?php _e('You can change this setting at anytime from SEO, Advanced settings page, Appearance tab.', 'wp-seopress'); ?>
870
+ </li>
871
+ <!-- Universal SEO metabox for Block Editor -->
872
+ <li class="seopress-wizard-service-item checkbox">
873
+ <label for="universal_seo_block_editor">
874
+ <input id="universal_seo_block_editor" name="universal_seo_block_editor" type="checkbox" class="location-input" <?php if ('1' == $universal_seo_block_editor) {
875
+ echo 'checked="yes"';
876
+ } ?> value="1"/>
877
+ <?php _e('Yes, enable the universal SEO metabox for the Block Editor', 'wp-seopress'); ?>
878
+ </label>
879
+ </li>
880
+ <li class="description">
881
+ <?php _e('You can change this setting at anytime from SEO, Advanced settings page, Appearance tab.', 'wp-seopress'); ?>
882
+ </li>
883
+ </ul>
884
+
885
+ <h2>
886
+ <?php _e('Choose which SEO columns to display in post types list:', 'wp-seopress'); ?>
887
+ </h2>
888
+
889
+ <ul class="seopress-wizard-services">
890
+ <!-- Show meta title -->
891
+ <li class="seopress-wizard-service-item checkbox">
892
+ <label for="meta_title">
893
+ <input id="meta_title" name="meta_title" type="checkbox" class="location-input" <?php if ('1' == $meta_title) {
894
+ echo 'checked="yes"';
895
+ } ?> value="1"/>
896
+ <?php _e('Show Title tag column in post types', 'wp-seopress'); ?>
897
+ </label>
898
+ </li>
899
+
900
+ <!-- Show meta description -->
901
+ <li class="seopress-wizard-service-item checkbox">
902
+ <label for="meta_desc">
903
+ <input id="meta_desc" name="meta_desc" type="checkbox" class="location-input" <?php if ('1' == $meta_desc) {
904
+ echo 'checked="yes"';
905
+ } ?> value="1"/>
906
+ <?php _e('Show Meta description column in post types', 'wp-seopress'); ?>
907
+ </label>
908
+ </li>
909
+
910
+ <!-- Show meta robots noindex -->
911
+ <li class="seopress-wizard-service-item checkbox">
912
+ <label for="robots_noindex">
913
+ <input id="robots_noindex" name="robots_noindex" type="checkbox" class="location-input" <?php if ('1' == $robots_noindex) {
914
+ echo 'checked="yes"';
915
+ } ?> value="1"/>
916
+ <?php _e('Show noindex column in post types', 'wp-seopress'); ?>
917
+ </label>
918
+ </li>
919
+ <li class="description">
920
+ <?php _e('Quickly know if a content is in noindex.', 'wp-seopress'); ?>
921
+ </li>
922
+
923
+ <!-- Show meta robots nofollow -->
924
+ <li class="seopress-wizard-service-item checkbox">
925
+ <label for="robots_nofollow">
926
+ <input id="robots_nofollow" name="robots_nofollow" type="checkbox" class="location-input" <?php if ('1' == $robots_nofollow) {
927
+ echo 'checked="yes"';
928
+ } ?> value="1"/>
929
+ <?php _e('Show nofollow column in post types', 'wp-seopress'); ?>
930
+ </label>
931
+ </li>
932
+ <li class="description">
933
+ <?php _e('Quickly know if a content is in nofollow.', 'wp-seopress'); ?>
934
+ </li>
935
+
936
+ <!-- Show meta content analysis score -->
937
+ <li class="seopress-wizard-service-item checkbox">
938
+ <label for="ca_score">
939
+ <input id="ca_score" name="ca_score" type="checkbox" class="location-input" <?php if ('1' == $ca_score) {
940
+ echo 'checked="yes"';
941
+ } ?> value="1"/>
942
+ <?php _e('Show content analysis score column in post types', 'wp-seopress'); ?>
943
+ </label>
944
+ </li>
945
+ <li class="description">
946
+ <?php _e('Quickly know if a content is optimized for search engines.', 'wp-seopress'); ?>
947
+ </li>
948
+ </ul>
949
+
950
+ <p class="seopress-setup-actions step">
951
+ <button type="submit" class="btn btnPrimary btnNext"
952
+ value="<?php esc_attr_e('Continue', 'wp-seopress'); ?>"
953
+ name="save_step">
954
+ <?php esc_html_e('Continue', 'wp-seopress'); ?>
955
+ </button>
956
+
957
+ <?php wp_nonce_field('seopress-setup'); ?>
958
+ </p>
959
  </form>
960
  <?php
961
+ }
962
 
963
+ /**
964
+ * Save step 4 settings.
965
+ */
966
+ public function seopress_setup_advanced_save() {
967
+ check_admin_referer('seopress-setup');
968
 
969
+ //Get options
970
+ $seopress_titles_option = get_option('seopress_titles_option_name');
971
+ $seopress_advanced_option = get_option('seopress_advanced_option_name');
972
 
973
+ //Author indexing
974
+ $seopress_titles_option['seopress_titles_archives_author_noindex'] = isset($_POST['author_noindex']) ? esc_attr(wp_unslash($_POST['author_noindex'])) : null;
975
 
976
+ //Advanced
977
+ $seopress_advanced_option['seopress_advanced_advanced_attachments_file'] = isset($_POST['attachments_file']) ? esc_attr(wp_unslash($_POST['attachments_file'])) : null;
978
+ $seopress_advanced_option['seopress_advanced_advanced_category_url'] = isset($_POST['category_url']) ? esc_attr(wp_unslash($_POST['category_url'])) : null;
979
 
980
+ $seopress_advanced_option['seopress_advanced_appearance_universal_metabox_disable'] = isset($_POST['universal_seo_metabox']) ? esc_attr(wp_unslash($_POST['universal_seo_metabox'])) : null;
981
+ $seopress_advanced_option['seopress_advanced_appearance_universal_metabox'] = isset($_POST['universal_seo_block_editor']) ? esc_attr(wp_unslash($_POST['universal_seo_block_editor'])) : null;
982
 
983
+ $seopress_advanced_option['seopress_advanced_appearance_title_col'] = isset($_POST['meta_title']) ? esc_attr(wp_unslash($_POST['meta_title'])) : null;
984
+ $seopress_advanced_option['seopress_advanced_appearance_meta_desc_col'] = isset($_POST['meta_desc']) ? esc_attr(wp_unslash($_POST['meta_desc'])) : null;
985
 
986
+ $seopress_advanced_option['seopress_advanced_appearance_noindex_col'] = isset($_POST['robots_noindex']) ? esc_attr(wp_unslash($_POST['robots_noindex'])) : null;
987
+ $seopress_advanced_option['seopress_advanced_appearance_nofollow_col'] = isset($_POST['robots_nofollow']) ? esc_attr(wp_unslash($_POST['robots_nofollow'])) : null;
988
+ $seopress_advanced_option['seopress_advanced_appearance_score_col'] = isset($_POST['ca_score']) ? esc_attr(wp_unslash($_POST['ca_score'])) : null;
989
 
990
+ //Save options
991
+ update_option('seopress_titles_option_name', $seopress_titles_option, false);
992
+ update_option('seopress_advanced_option_name', $seopress_advanced_option, false);
993
 
994
+ if (defined('SEOPRESS_WL_ADMIN_HEADER') && SEOPRESS_WL_ADMIN_HEADER === false) {
995
+ wp_redirect(esc_url_raw($this->get_next_step_link('insights')));
996
+ } else {
997
+ wp_redirect(esc_url_raw($this->get_next_step_link()));
998
+ }
999
 
1000
+ exit;
1001
+ }
1002
+
1003
+ /**
1004
+ * Init "Step 4: Advanced Step".
1005
+ */
1006
+ public function seopress_setup_insights() {
1007
+ $docs = seopress_get_docs_links(); ?>
1008
  <!-- SEOPress Insights -->
1009
  <div class="seopress-wizard-next-step-description text-center">
1010
+ <img src="<?php echo SEOPRESS_ASSETS_DIR . '/img/logo-seopress-insights-square-alt.svg'; ?>"
1011
+ width="40" height="40" alt="" />
1012
+
1013
+ <h1 class="seopress-setup-actions step">
1014
+ <?php _e('Start monitoring your rankings and backlinks <br>directly from your WordPress admin', 'wp-seopress'); ?>
1015
+ </h1>
1016
+ <p class="seopress-setup-actions step">
1017
+ <?php esc_html_e('Track your keyword positions from Google Search results daily.', 'wp-seopress'); ?>
1018
+ </p>
1019
+ <p class="seopress-setup-actions step">
1020
+ <?php esc_html_e('Monitor and analyse your top 1,000 Backlinks weekly.', 'wp-seopress'); ?>
1021
+ </p>
1022
+ <p class="seopress-setup-actions step">
1023
+ <?php esc_html_e('Export your data to CSV, PDF, Excel.', 'wp-seopress'); ?>
1024
+ </p>
1025
+
1026
+ <div class="wrap-iframe">
1027
+ <?php echo wp_oembed_get('https://www.youtube.com/watch?v=n-a2U4_anWA'); ?>
1028
+ </div>
1029
+
1030
+ <p class="seopress-setup-actions step">
1031
+ <a class="btn btnPrimary"
1032
+ href="<?php echo $docs['insights']; ?>"
1033
+ target="_blank">
1034
+ <?php _e('Get SEOPress Insights', 'wp-seopress'); ?>
1035
+ </a>
1036
+ </p>
1037
  </div>
1038
  <?php
1039
+ }
1040
 
1041
+ /**
1042
+ * Final step.
1043
+ */
1044
+ public function seopress_setup_ready() {
1045
+ //Remove SEOPress notice
1046
+ $seopress_notices = get_option('seopress_notices');
1047
+ $seopress_notices['notice-wizard'] = '1';
1048
+ update_option('seopress_notices', $seopress_notices, false);
1049
 
1050
+ $docs = seopress_get_docs_links();
1051
 
1052
+ //Flush permalinks
1053
+ flush_rewrite_rules(false); ?>
1054
  <h1><?php esc_html_e('Your site is now ready for search engines!', 'wp-seopress'); ?>
1055
  </h1>
1056
 
1057
  <ul class="seopress-wizard-next-steps">
1058
+ <li class="seopress-wizard-next-step-item">
1059
+ <!-- SEOPress PRO -->
1060
+ <?php if ('valid' != get_option('seopress_pro_license_status') && is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1061
+ <div class="seopress-wizard-next-step-description">
1062
+ <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1063
+ </p>
1064
+ <h3 class="next-step-description">
1065
+ <?php esc_html_e('Welcome to SEOPress PRO!', 'wp-seopress'); ?>
1066
+ </h3>
1067
+ <p class="next-step-extra-info">
1068
+ <?php esc_html_e('Please activate your license to receive automatic updates and get premium support.', 'wp-seopress'); ?>
1069
+ </p>
1070
+ </div>
1071
+ <div class="seopress-wizard-next-step-action">
1072
+ <p class="seopress-setup-actions step">
1073
+ <a class="btn btnPrimary"
1074
+ href="<?php echo admin_url('admin.php?page=seopress-license'); ?>">
1075
+ <?php _e('Activate License', 'wp-seopress'); ?>
1076
+ </a>
1077
+ </p>
1078
+ </div>
1079
+ <?php } elseif ( ! is_plugin_active('wp-seopress-pro/seopress-pro.php') && ! is_multisite()) { ?>
1080
+ <div class="seopress-wizard-next-step-description text-center">
1081
+ <h2 class="next-step-description">
1082
+ <?php esc_html_e('Go PRO with SEOPress PRO!', 'wp-seopress'); ?>
1083
+ </h2>
1084
+ <p class="next-step-extra-info">
1085
+ <?php esc_html_e('When you upgrade to the PRO version, you get a lot of additional features, like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, Analytics statistics in your Dashboard, breadcrumbs, redirections, and more.', 'wp-seopress'); ?>
1086
+ </p>
1087
+
1088
+ <p class="seopress-setup-actions step">
1089
+ <a class="btn btnPrimary"
1090
+ href="<?php echo $docs['website']; ?>"
1091
+ target="_blank">
1092
+ <?php _e('Buy SEOPress PRO - $39 / unlimited sites', 'wp-seopress'); ?>
1093
+ </a>
1094
+ </p>
1095
+ </div>
1096
+ <?php } ?>
1097
+ </li>
1098
+
1099
+ <li class="seopress-wizard-next-step-item">
1100
+ <div class="seopress-wizard-next-step-description">
1101
+ <p class="next-step-heading"><?php esc_html_e('Next step', 'wp-seopress'); ?>
1102
+ </p>
1103
+ <h3 class="next-step-description"><?php esc_html_e('Create your XML sitemaps', 'wp-seopress'); ?>
1104
+ </h3>
1105
+ <p class="next-step-extra-info"><?php esc_html_e("Build custom XML sitemaps to improve Google's crawling of your site.", 'wp-seopress'); ?>
1106
+ </p>
1107
+ </div>
1108
+ <div class="seopress-wizard-next-step-action">
1109
+ <p class="seopress-setup-actions step">
1110
+ <a class="btn btnSecondary"
1111
+ href="<?php echo admin_url('admin.php?page=seopress-xml-sitemap'); ?>">
1112
+ <?php esc_html_e('Configure your XML sitemaps', 'wp-seopress'); ?>
1113
+ </a>
1114
+ </p>
1115
+ </div>
1116
+ </li>
1117
+
1118
+ <li class="seopress-wizard-additional-steps">
1119
+ <div class="seopress-wizard-next-step-description">
1120
+ <p class="next-step-heading"><?php esc_html_e('Follow us:', 'wp-seopress'); ?>
1121
+ </p>
1122
+ </div>
1123
+ <div class="seopress-wizard-next-step-action step">
1124
+ <ul class="recommended-step">
1125
+ <li class="seopress-wizard-service-item">
1126
+ <a href="<?php echo $docs['external']['facebook']; ?>"
1127
+ target="_blank">
1128
+ <span class="dashicons dashicons-facebook"></span>
1129
+ <?php _e('Like our Facebook page', 'wp-seopress'); ?>
1130
+ </a>
1131
+ </li>
1132
+ <li class="seopress-wizard-service-item">
1133
+ <a href="<?php echo $docs['external']['facebook_gr']; ?>"
1134
+ target="_blank">
1135
+ <span class="dashicons dashicons-facebook"></span>
1136
+ <?php _e('Join our Facebook Community group', 'wp-seopress'); ?>
1137
+ </a>
1138
+ </li>
1139
+ <li class="seopress-wizard-service-item">
1140
+ <a href="<?php echo $docs['external']['youtube']; ?>"
1141
+ target="_blank">
1142
+ <span class="dashicons dashicons-video-alt3"></span>
1143
+ <?php _e('Watch our guided tour videos to learn more about SEOPress', 'wp-seopress'); ?>
1144
+ </a>
1145
+ </li>
1146
+ <li class="seopress-wizard-service-item">
1147
+ <a href="<?php echo $docs['blog']; ?>"
1148
+ target="_blank">
1149
+ <span class="dashicons dashicons-format-aside"></span>
1150
+ <?php _e('Read our blog posts about SEO concepts, tutorials and more', 'wp-seopress'); ?>
1151
+ </a>
1152
+ </li>
1153
+ <li class="seopress-wizard-service-item">
1154
+ <a href="<?php echo $docs['external']['twitter']; ?>"
1155
+ target="_blank">
1156
+ <span class="dashicons dashicons-twitter"></span>
1157
+ <?php _e('Follow us on Twitter', 'wp-seopress'); ?>
1158
+ </a>
1159
+ </li>
1160
+ <li class="seopress-wizard-service-item">
1161
+ <a href="<?php echo $docs['external']['instagram']; ?>"
1162
+ target="_blank">
1163
+ <span class="dashicons dashicons-instagram"></span>
1164
+ <?php _e('The off side of SEOPress', 'wp-seopress'); ?>
1165
+ </a>
1166
+ </li>
1167
+ </ul>
1168
+ </div>
1169
+ </li>
1170
+
1171
+ <li class="seopress-wizard-additional-steps">
1172
+ <div class="seopress-wizard-next-step-description">
1173
+ <p class="next-step-heading"><?php esc_html_e('You can also:', 'wp-seopress'); ?>
1174
+ </p>
1175
+ </div>
1176
+ <div class="seopress-wizard-next-step-action step">
1177
+ <p class="seopress-setup-actions step">
1178
+ <a class="btn btnSecondary"
1179
+ href="<?php echo esc_url(admin_url()); ?>">
1180
+ <?php esc_html_e('Visit Dashboard', 'wp-seopress'); ?>
1181
+ </a>
1182
+ <a class="btn btnSecondary"
1183
+ href="<?php echo esc_url(admin_url('admin.php?page=seopress-option')); ?>">
1184
+ <?php esc_html_e('Review Settings', 'wp-seopress'); ?>
1185
+ </a>
1186
+ <a class="btn btnSecondary"
1187
+ href="<?php echo $docs['support']; ?>"
1188
+ target="_blank">
1189
+ <?php esc_html_e('Knowledge base', 'wp-seopress'); ?>
1190
+ </a>
1191
+ </p>
1192
+ </div>
1193
+ </li>
1194
  </ul>
1195
  <?php
1196
+ }
1197
  }
1198
 
1199
  new SEOPRESS_Admin_Setup_Wizard();
inc/functions/options-advanced-admin.php CHANGED
@@ -15,7 +15,7 @@ if (current_user_can(seopress_capability('manage_options', 'notice')) && is_seop
15
  function seopress_notice_license()
16
  {
17
  $screen_id = get_current_screen();
18
- if ('seopress-option' === $screen_id->parent_base) {
19
  $docs = seopress_get_docs_links();
20
 
21
  $class = 'seopress-notice is-error';
15
  function seopress_notice_license()
16
  {
17
  $screen_id = get_current_screen();
18
+ if ('seopress-option' === $screen_id->parent_base && 'seo_page_seopress-license' !== $screen_id->base) {
19
  $docs = seopress_get_docs_links();
20
 
21
  $class = 'seopress-notice is-error';
inc/functions/options-import-export.php CHANGED
@@ -68,46 +68,46 @@ function seopress_import_settings() {
68
  $settings = (array) json_decode(seopress_remove_utf8_bom(file_get_contents($import_file)), true);
69
 
70
  if (false !== $settings['seopress_activated']) {
71
- update_option('seopress_activated', $settings['seopress_activated']);
72
  }
73
  if (false !== $settings['seopress_titles_option_name']) {
74
- update_option('seopress_titles_option_name', $settings['seopress_titles_option_name']);
75
  }
76
  if (false !== $settings['seopress_social_option_name']) {
77
- update_option('seopress_social_option_name', $settings['seopress_social_option_name']);
78
  }
79
  if (false !== $settings['seopress_google_analytics_option_name']) {
80
- update_option('seopress_google_analytics_option_name', $settings['seopress_google_analytics_option_name']);
81
  }
82
  if (false !== $settings['seopress_advanced_option_name']) {
83
- update_option('seopress_advanced_option_name', $settings['seopress_advanced_option_name']);
84
  }
85
  if (false !== $settings['seopress_xml_sitemap_option_name']) {
86
- update_option('seopress_xml_sitemap_option_name', $settings['seopress_xml_sitemap_option_name']);
87
  }
88
  if (false !== $settings['seopress_pro_option_name']) {
89
- update_option('seopress_pro_option_name', $settings['seopress_pro_option_name']);
90
  }
91
  if (false !== $settings['seopress_pro_mu_option_name']) {
92
- update_option('seopress_pro_mu_option_name', $settings['seopress_pro_mu_option_name']);
93
  }
94
  if (false !== $settings['seopress_pro_license_key']) {
95
- update_option('seopress_pro_license_key', $settings['seopress_pro_license_key']);
96
  }
97
  if (false !== $settings['seopress_pro_license_status']) {
98
- update_option('seopress_pro_license_status', $settings['seopress_pro_license_status']);
99
  }
100
  if (false !== $settings['seopress_bot_option_name']) {
101
- update_option('seopress_bot_option_name', $settings['seopress_bot_option_name']);
102
  }
103
  if (false !== $settings['seopress_toggle']) {
104
- update_option('seopress_toggle', $settings['seopress_toggle']);
105
  }
106
  if (false !== $settings['seopress_google_analytics_lock_option_name']) {
107
- update_option('seopress_google_analytics_lock_option_name', $settings['seopress_google_analytics_lock_option_name']);
108
  }
109
  if (false !== $settings['seopress_tools_option_name']) {
110
- update_option('seopress_tools_option_name', $settings['seopress_tools_option_name']);
111
  }
112
 
113
  wp_safe_redirect(admin_url('admin.php?page=seopress-import-export&success=true'));
@@ -141,7 +141,7 @@ function seopress_import_redirections_settings() {
141
  wp_die(__('Please choose a separator', 'wp-seopress'));
142
  }
143
 
144
- $csv = array_map(function ($v) {
145
  if ('comma' == $_POST['import_sep']) {
146
  $sep = ',';
147
  } elseif ('semicolon' == $_POST['import_sep']) {
@@ -150,7 +150,7 @@ function seopress_import_redirections_settings() {
150
  wp_die(__('Invalid separator'));
151
  }
152
 
153
- return str_getcsv($v, $sep, '\"');
154
  }, file($import_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
155
 
156
  //Remove duplicates from CSV
@@ -318,13 +318,18 @@ function seopress_export_redirections_settings() {
318
  if ($seopress_redirects_query->have_posts()) {
319
  while ($seopress_redirects_query->have_posts()) {
320
  $seopress_redirects_query->the_post();
321
-
322
  $redirect_categories = get_the_terms(get_the_ID(), 'seopress_404_cat');
323
- $redirect_categories = '"' . join(', ', wp_list_pluck($redirect_categories, 'term_id')) . '"';
324
 
325
- $redirects_html .= '"' . urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))) . '"';
 
 
 
 
 
 
 
326
  $redirects_html .= ';';
327
- $redirects_html .= '"' . urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_seopress_redirections_value', true))))) . '"';
328
  $redirects_html .= ';';
329
  $redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_type', true);
330
  $redirects_html .= ';';
68
  $settings = (array) json_decode(seopress_remove_utf8_bom(file_get_contents($import_file)), true);
69
 
70
  if (false !== $settings['seopress_activated']) {
71
+ update_option('seopress_activated', $settings['seopress_activated'], false);
72
  }
73
  if (false !== $settings['seopress_titles_option_name']) {
74
+ update_option('seopress_titles_option_name', $settings['seopress_titles_option_name'], false);
75
  }
76
  if (false !== $settings['seopress_social_option_name']) {
77
+ update_option('seopress_social_option_name', $settings['seopress_social_option_name'], false);
78
  }
79
  if (false !== $settings['seopress_google_analytics_option_name']) {
80
+ update_option('seopress_google_analytics_option_name', $settings['seopress_google_analytics_option_name'], false);
81
  }
82
  if (false !== $settings['seopress_advanced_option_name']) {
83
+ update_option('seopress_advanced_option_name', $settings['seopress_advanced_option_name'], false);
84
  }
85
  if (false !== $settings['seopress_xml_sitemap_option_name']) {
86
+ update_option('seopress_xml_sitemap_option_name', $settings['seopress_xml_sitemap_option_name'], false);
87
  }
88
  if (false !== $settings['seopress_pro_option_name']) {
89
+ update_option('seopress_pro_option_name', $settings['seopress_pro_option_name'], false);
90
  }
91
  if (false !== $settings['seopress_pro_mu_option_name']) {
92
+ update_option('seopress_pro_mu_option_name', $settings['seopress_pro_mu_option_name'], false);
93
  }
94
  if (false !== $settings['seopress_pro_license_key']) {
95
+ update_option('seopress_pro_license_key', $settings['seopress_pro_license_key'], false);
96
  }
97
  if (false !== $settings['seopress_pro_license_status']) {
98
+ update_option('seopress_pro_license_status', $settings['seopress_pro_license_status'], false);
99
  }
100
  if (false !== $settings['seopress_bot_option_name']) {
101
+ update_option('seopress_bot_option_name', $settings['seopress_bot_option_name'], false);
102
  }
103
  if (false !== $settings['seopress_toggle']) {
104
+ update_option('seopress_toggle', $settings['seopress_toggle'], false);
105
  }
106
  if (false !== $settings['seopress_google_analytics_lock_option_name']) {
107
+ update_option('seopress_google_analytics_lock_option_name', $settings['seopress_google_analytics_lock_option_name'], false);
108
  }
109
  if (false !== $settings['seopress_tools_option_name']) {
110
+ update_option('seopress_tools_option_name', $settings['seopress_tools_option_name'], false);
111
  }
112
 
113
  wp_safe_redirect(admin_url('admin.php?page=seopress-import-export&success=true'));
141
  wp_die(__('Please choose a separator', 'wp-seopress'));
142
  }
143
 
144
+ $csv = array_map(function ($item) {
145
  if ('comma' == $_POST['import_sep']) {
146
  $sep = ',';
147
  } elseif ('semicolon' == $_POST['import_sep']) {
150
  wp_die(__('Invalid separator'));
151
  }
152
 
153
+ return str_getcsv($item, $sep, '\"');
154
  }, file($import_file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));
155
 
156
  //Remove duplicates from CSV
318
  if ($seopress_redirects_query->have_posts()) {
319
  while ($seopress_redirects_query->have_posts()) {
320
  $seopress_redirects_query->the_post();
 
321
  $redirect_categories = get_the_terms(get_the_ID(), 'seopress_404_cat');
 
322
 
323
+ if(!empty($redirect_categories)){
324
+ $redirect_categories = join(', ', wp_list_pluck($redirect_categories, 'term_id'));
325
+ }
326
+ else{
327
+ $redirect_categories = "";
328
+ }
329
+
330
+ $redirects_html .= html_entity_decode(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_the_title())))));
331
  $redirects_html .= ';';
332
+ $redirects_html .= html_entity_decode(urldecode(urlencode(esc_attr(wp_filter_nohtml_kses(get_post_meta(get_the_ID(), '_seopress_redirections_value', true))))));
333
  $redirects_html .= ';';
334
  $redirects_html .= get_post_meta(get_the_ID(), '_seopress_redirections_type', true);
335
  $redirects_html .= ';';
inc/functions/options-sitemap.php CHANGED
@@ -177,8 +177,12 @@ if ('1' == seopress_xml_sitemap_html_enable_option()) {
177
  $html .= '<div class="sp-wrap-cpt">';
178
  }
179
  $obj = get_post_type_object($cpt_key);
 
180
  if ($obj) {
181
- $html .= '<h2 class="sp-cpt-name">' . $obj->labels->name . '</h2>';
 
 
 
182
  }
183
  foreach ($cpt_value as $_cpt_key => $_cpt_value) {
184
  if ('1' == $_cpt_value) {
@@ -223,21 +227,26 @@ if ('1' == seopress_xml_sitemap_html_enable_option()) {
223
  $html .= '<div class="sp-wrap-cats">';
224
 
225
  foreach ($cats as $cat) {
226
- $html .= '<h3 class="sp-cat-name">' . $cat->name . '</h3>';
227
-
228
- if ('post' === $cpt_key) {
229
- unset($args['cat']);
230
- $args['cat'][] = $cat->term_id;
231
- } elseif ('product' === $cpt_key) {
232
- unset($args['tax_query']);
233
- $args['tax_query'] = [[
234
- 'taxonomy' => 'product_cat',
235
- 'field' => 'term_id',
236
- 'terms' => $cat->term_id,
237
- ]];
238
- }
239
 
240
- require dirname(__FILE__) . '/sitemap/template-html-sitemap.php';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
241
  }
242
 
243
  $html .= '</div>';
177
  $html .= '<div class="sp-wrap-cpt">';
178
  }
179
  $obj = get_post_type_object($cpt_key);
180
+
181
  if ($obj) {
182
+ $cpt_name = $obj->labels->name;
183
+ $cpt_name = apply_filters('seopress_sitemaps_html_cpt_name', $cpt_name, $obj->name);
184
+
185
+ $html .= '<h2 class="sp-cpt-name">' . $cpt_name . '</h2>';
186
  }
187
  foreach ($cpt_value as $_cpt_key => $_cpt_value) {
188
  if ('1' == $_cpt_value) {
227
  $html .= '<div class="sp-wrap-cats">';
228
 
229
  foreach ($cats as $cat) {
230
+ if ( ! is_wp_error($cat) && is_object($cat)) {
231
+ $html .= '<div class="sp-wrap-cat">';
232
+ $html .= '<h3 class="sp-cat-name">' . $cat->name . '</h3>';
 
 
 
 
 
 
 
 
 
 
233
 
234
+ if ('post' === $cpt_key) {
235
+ unset($args['cat']);
236
+ $args['cat'][] = $cat->term_id;
237
+ } elseif ('product' === $cpt_key) {
238
+ unset($args['tax_query']);
239
+ $args['tax_query'] = [[
240
+ 'taxonomy' => 'product_cat',
241
+ 'field' => 'term_id',
242
+ 'terms' => $cat->term_id,
243
+ ]];
244
+ }
245
+
246
+ require dirname(__FILE__) . '/sitemap/template-html-sitemap.php';
247
+
248
+ $html .= '</div>';
249
+ }
250
  }
251
 
252
  $html .= '</div>';
inc/functions/options-social.php CHANGED
@@ -386,7 +386,7 @@ function seopress_social_facebook_og_locale_hook() {
386
  if (isset($elid)) {
387
  $my_post_language_details = apply_filters( 'wpml_post_language_details', NULL, $elid ) ;
388
 
389
- if (!empty($my_post_language_details['locale']) && $my_post_language_details['different_language'] === true) {
390
  $seopress_social_og_locale .= "\n";
391
  $seopress_social_og_locale .= '<meta property="og:locale:alternate" content="' . $my_post_language_details['locale'] . '" />';
392
  }
@@ -647,9 +647,9 @@ function seopress_social_fb_desc_hook() {
647
  //Excerpt length
648
  $seopress_excerpt_length = 50;
649
  $seopress_excerpt_length = apply_filters('seopress_excerpt_length', $seopress_excerpt_length);
650
-
651
  setup_postdata($post);
652
  if (is_home()) {
 
653
  if ('' != seopress_social_fb_desc_home_option()) {
654
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_home_option() . '" />';
655
  $seopress_social_og_desc .= "\n";
@@ -669,6 +669,7 @@ function seopress_social_fb_desc_hook() {
669
  $seopress_social_og_desc .= "\n";
670
  }
671
  } elseif (is_singular() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_desc_post_option()) {
 
672
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_post_option() . '" />';
673
  $seopress_social_og_desc .= "\n";
674
  } elseif (function_exists('is_shop') && is_shop() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_desc_post_option()) {
@@ -705,6 +706,7 @@ function seopress_social_fb_img_post_option() {
705
  } else {
706
  $_seopress_social_fb_img = get_post_meta(get_the_ID(), '_seopress_social_fb_img', true);
707
  }
 
708
  if ('' != $_seopress_social_fb_img) {
709
  return $_seopress_social_fb_img;
710
  }
@@ -885,12 +887,10 @@ function seopress_social_fb_img_hook() {
885
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_home_option());
886
 
887
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_img_post_option()) {//Custom OG:IMAGE from SEO metabox
888
-
889
- $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_post_option());
890
 
891
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '1' == seopress_social_facebook_img_default_option() && '' != seopress_social_facebook_img_option()) {//If "Apply this image to all your og:image tag" ON
892
-
893
- $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_facebook_img_option());
894
 
895
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && has_post_thumbnail()) {//If post thumbnail
896
 
386
  if (isset($elid)) {
387
  $my_post_language_details = apply_filters( 'wpml_post_language_details', NULL, $elid ) ;
388
 
389
+ if (!is_wp_error( $my_post_language_details ) && !empty($my_post_language_details['locale']) && $my_post_language_details['different_language'] === true) {
390
  $seopress_social_og_locale .= "\n";
391
  $seopress_social_og_locale .= '<meta property="og:locale:alternate" content="' . $my_post_language_details['locale'] . '" />';
392
  }
647
  //Excerpt length
648
  $seopress_excerpt_length = 50;
649
  $seopress_excerpt_length = apply_filters('seopress_excerpt_length', $seopress_excerpt_length);
 
650
  setup_postdata($post);
651
  if (is_home()) {
652
+
653
  if ('' != seopress_social_fb_desc_home_option()) {
654
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_home_option() . '" />';
655
  $seopress_social_og_desc .= "\n";
669
  $seopress_social_og_desc .= "\n";
670
  }
671
  } elseif (is_singular() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_desc_post_option()) {
672
+
673
  $seopress_social_og_desc .= '<meta property="og:description" content="' . seopress_social_fb_desc_post_option() . '" />';
674
  $seopress_social_og_desc .= "\n";
675
  } elseif (function_exists('is_shop') && is_shop() && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_desc_post_option()) {
706
  } else {
707
  $_seopress_social_fb_img = get_post_meta(get_the_ID(), '_seopress_social_fb_img', true);
708
  }
709
+
710
  if ('' != $_seopress_social_fb_img) {
711
  return $_seopress_social_fb_img;
712
  }
887
  $seopress_social_og_thumb .= seopress_social_fb_img_size_from_url(seopress_social_fb_img_home_option());
888
 
889
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '' != seopress_social_fb_img_post_option()) {//Custom OG:IMAGE from SEO metabox
890
+ $seopress_social_og_thumb .= seopress_get_service('FacebookImageOptionMeta')->getMetasBy('id');
 
891
 
892
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && '1' == seopress_social_facebook_img_default_option() && '' != seopress_social_facebook_img_option()) {//If "Apply this image to all your og:image tag" ON
893
+ $seopress_social_og_thumb .= seopress_get_service('FacebookImageOptionMeta')->getMetasBy('id');
 
894
 
895
  } elseif ((is_singular() || (function_exists('is_shop') && is_shop())) && '1' == seopress_social_facebook_og_option() && has_post_thumbnail()) {//If post thumbnail
896
 
inc/functions/options-titles-metas.php CHANGED
@@ -1683,21 +1683,3 @@ if (function_exists('seopress_titles_noindex_bypass') && '1' != seopress_titles_
1683
  add_action('wp_head', 'seopress_titles_canonical_hook', 1);
1684
  }
1685
  }
1686
-
1687
- //Author meta
1688
- function seopress_titles_author() {
1689
- global $post;
1690
- if (is_singular() && isset($post->post_author)) {
1691
- $user_login = get_the_author_meta('user_login', $post->post_author);
1692
- $the_author_meta = get_the_author_meta('display_name', $post->post_author);
1693
- if ($the_author_meta != $user_login && '' != $the_author_meta && '' != $user_login) {
1694
- $html = '<meta name="author" content="' . $the_author_meta . '">';
1695
- $html .= "\n";
1696
-
1697
- $html = apply_filters('seopress_titles_author', $html);
1698
-
1699
- echo $html;
1700
- }
1701
- }
1702
- }
1703
- add_action('wp_head', 'seopress_titles_author', 1);
1683
  add_action('wp_head', 'seopress_titles_canonical_hook', 1);
1684
  }
1685
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
inc/functions/options.php CHANGED
@@ -577,6 +577,29 @@ if ('1' == seopress_get_toggle_option('advanced')) {
577
  }
578
  }
579
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
580
  //primary category
581
  function seopress_titles_primary_cat_hook($cats_0, $cats, $post)
582
  {
@@ -802,17 +825,14 @@ if ('1' == seopress_get_toggle_option('advanced')) {
802
 
803
  if (! empty($slugs)) {
804
  $rules = [];
805
-
806
  foreach ($slugs as $slug) {
807
- // $rules['(' . $slug . ')/feed/(feed|rdf|rss|rss2|atom)?/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
808
- // $rules['(' . $slug . ')/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
809
  $rules['(' . $slug . ')(/page/(\d+))?/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[3]';
 
 
810
 
811
  $rules[$slug . '/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
812
  $rules[$slug . '/(.+?)/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
813
  $rules[$slug . '/(.+?)/embed/?$'] = 'index.php?product_cat=$matches[1]&embed=true';
814
- //$rules[$slug . '/(.+?)/page/?([0-9]{1,})/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[2]';
815
- $rules[$slug . '/(.+?)/?$'] = 'index.php?product_cat=$matches[1]';
816
  }
817
  }
818
  }
577
  }
578
  }
579
  }
580
+
581
+ //Add nofollow noopener noreferrer to comments form link
582
+ function seopress_advanced_advanced_comments_form_link_option()
583
+ {
584
+ $seopress_advanced_advanced_comments_form_link_option = get_option('seopress_advanced_option_name');
585
+ if (! empty($seopress_advanced_advanced_comments_form_link_option)) {
586
+ foreach ($seopress_advanced_advanced_comments_form_link_option as $key => $seopress_advanced_advanced_comments_form_link_value) {
587
+ $options[$key] = $seopress_advanced_advanced_comments_form_link_value;
588
+ }
589
+ if (isset($seopress_advanced_advanced_comments_form_link_option['seopress_advanced_advanced_comments_form_link'])) {
590
+ return $seopress_advanced_advanced_comments_form_link_option['seopress_advanced_advanced_comments_form_link'];
591
+ }
592
+ }
593
+ }
594
+ if ('1' == seopress_advanced_advanced_comments_form_link_option()) {
595
+ /* Custom attributes on comment link */
596
+ add_filter('comments_popup_link_attributes', 'seopress_comments_popup_link_attributes');
597
+ function seopress_comments_popup_link_attributes($attr) {
598
+ $attr = 'rel="nofollow noopener noreferrer"';
599
+ return $attr;
600
+ }
601
+ }
602
+
603
  //primary category
604
  function seopress_titles_primary_cat_hook($cats_0, $cats, $post)
605
  {
825
 
826
  if (! empty($slugs)) {
827
  $rules = [];
 
828
  foreach ($slugs as $slug) {
 
 
829
  $rules['(' . $slug . ')(/page/(\d+))?/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[3]';
830
+ $rules[$slug . '/(.+?)/page/?([0-9]{1,})/?$'] = 'index.php?product_cat=$matches[1]&paged=$matches[2]';
831
+ $rules[$slug . '/(.+?)/?$'] = 'index.php?product_cat=$matches[1]';
832
 
833
  $rules[$slug . '/(.+?)/feed/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
834
  $rules[$slug . '/(.+?)/(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?product_cat=$matches[1]&feed=$matches[2]';
835
  $rules[$slug . '/(.+?)/embed/?$'] = 'index.php?product_cat=$matches[1]&embed=true';
 
 
836
  }
837
  }
838
  }
inc/functions/sitemap/template-xml-sitemaps.php CHANGED
@@ -2,6 +2,7 @@
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
 
5
  //XML Index sitemaps
6
 
7
  //Headers
2
 
3
  defined('ABSPATH') or exit('Please don&rsquo;t call the plugin directly. Thanks :)');
4
 
5
+
6
  //XML Index sitemaps
7
 
8
  //Headers
inc/functions/variables/dynamic-variables.php CHANGED
@@ -32,6 +32,7 @@ $author_website ='';
32
  $author_nickname ='';
33
  $author_bio ='';
34
  $target_kw ='';
 
35
 
36
  //Excerpt length
37
  $seopress_excerpt_length = 50;
@@ -208,6 +209,11 @@ if (is_plugin_active('woocommerce/woocommerce.php')) {
208
  $woo_single_sku = $product->get_sku();
209
  }
210
  }
 
 
 
 
 
211
 
212
  $seopress_titles_template_variables_array = [
213
  '%%sep%%',
@@ -242,6 +248,7 @@ $seopress_titles_template_variables_array = [
242
  '%%archive_date%%',
243
  '%%archive_date_day%%',
244
  '%%archive_date_month%%',
 
245
  '%%archive_date_year%%',
246
  '%%wc_single_cat%%',
247
  '%%wc_single_tag%%',
@@ -299,6 +306,7 @@ $seopress_titles_template_replace_array = [
299
  get_query_var('monthnum') . ' - ' . get_query_var('year'),
300
  get_query_var('day'),
301
  get_query_var('monthnum'),
 
302
  get_query_var('year'),
303
  $woo_single_cat_html,
304
  $woo_single_tag_html,
32
  $author_nickname ='';
33
  $author_bio ='';
34
  $target_kw ='';
35
+ $month_name_archive ='';
36
 
37
  //Excerpt length
38
  $seopress_excerpt_length = 50;
209
  $woo_single_sku = $product->get_sku();
210
  }
211
  }
212
+ if (get_query_var('monthnum')) {
213
+ $month_name_archive = get_query_var('monthnum');
214
+ $date = DateTime::createFromFormat('!m', $month_name_archive);
215
+ $month_name_archive = esc_attr(wp_strip_all_tags(($date->format('F'))));
216
+ }
217
 
218
  $seopress_titles_template_variables_array = [
219
  '%%sep%%',
248
  '%%archive_date%%',
249
  '%%archive_date_day%%',
250
  '%%archive_date_month%%',
251
+ '%%archive_date_month_name%%',
252
  '%%archive_date_year%%',
253
  '%%wc_single_cat%%',
254
  '%%wc_single_tag%%',
306
  get_query_var('monthnum') . ' - ' . get_query_var('year'),
307
  get_query_var('day'),
308
  get_query_var('monthnum'),
309
+ $month_name_archive,
310
  get_query_var('year'),
311
  $woo_single_cat_html,
312
  $woo_single_tag_html,
languages/wp-seopress.pot CHANGED
@@ -3,7 +3,7 @@ msgid ""
3
  msgstr ""
4
  "Project-Id-Version: SEOPress\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
6
- "POT-Creation-Date: 2021-08-26 11:16+0200\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
@@ -22,87 +22,157 @@ msgstr ""
22
  "X-Poedit-SearchPathExcluded-2: vendor\n"
23
  "X-Poedit-SearchPathExcluded-3: bin\n"
24
 
25
- #: app/react/components/Forms/MetaTitleDescription/index.js:73
26
- #: app/react/services/content-analysis/socialTags.js:12
27
  #: inc/admin/metaboxes/admin-metaboxes-form.php:103
28
  #: inc/admin/metaboxes/admin-metaboxes-form.php:110
29
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:126
30
  msgid "Title"
31
  msgstr ""
32
 
 
 
 
 
 
 
 
33
  #: app/react/components/Forms/MetaTitleDescription/index.js:81
 
 
 
 
 
 
 
 
 
34
  #: inc/admin/metaboxes/admin-metaboxes-form.php:109
35
  msgid "Enter your title"
36
  msgstr ""
37
 
38
- #: app/react/components/Forms/MetaTitleDescription/index.js:99
39
- #: app/react/components/Forms/MetaTitleDescription/index.js:160
40
  msgid "pixels"
41
  msgstr ""
42
 
43
- #: app/react/components/Forms/MetaTitleDescription/index.js:116
44
- #: app/react/components/Forms/MetaTitleDescription/index.js:175
45
  msgid "maximum recommended limit"
46
  msgstr ""
47
 
48
- #: app/react/components/Forms/MetaTitleDescription/index.js:127
49
- #: app/react/services/content-analysis/socialTags.js:15
50
- #: inc/functions/options-advanced-admin.php:1039
51
- msgid "Description"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
52
  msgstr ""
53
 
54
- #: app/react/components/Forms/MetaTitleDescription/index.js:140
55
  msgid "Enter your description"
56
  msgstr ""
57
 
58
- #: app/react/components/Forms/MetaTitleDescription/index.js:186
59
- #: app/react/layout/Main/components/Advanced/index.js:211
60
  #: inc/admin/blocks/news.php:49
61
  msgid "Save"
62
  msgstr ""
63
 
64
- #: app/react/components/Forms/components/MediaUpload/index.js:46
65
- msgid "Choose an image"
66
- msgstr ""
67
-
68
- #: app/react/components/GooglePreview/index.js:157
69
  #: inc/admin/metaboxes/admin-metaboxes-form.php:187
70
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:150
71
  msgid "Google Snippet Preview"
72
  msgstr ""
73
 
74
- #: app/react/components/GooglePreview/index.js:161
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
75
  #: inc/admin/metaboxes/admin-metaboxes-form.php:191
76
  msgid ""
77
  "This is what your page will look like in Google search results. You have to "
78
  "publish your post to get the Google Snippet Preview."
79
  msgstr ""
80
 
81
- #: app/react/components/GooglePreview/index.js:178
82
  #: inc/admin/metaboxes/admin-metaboxes-form.php:196
83
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:95
84
  msgid "Mobile Preview"
85
  msgstr ""
86
 
87
- #: app/react/constants/tabs.js:25 inc/admin/admin-bar/admin-bar.php:127
88
  #: inc/admin/admin-features-list.php:18 inc/admin/admin.php:99
89
  msgid "Titles & Metas"
90
  msgstr ""
91
 
92
- #: app/react/constants/tabs.js:31
93
  msgid "Content Analysis"
94
  msgstr ""
95
 
96
- #: app/react/constants/tabs.js:42
 
 
 
 
 
97
  msgid "Title settings"
98
  msgstr ""
99
 
100
- #: app/react/constants/tabs.js:48
101
  #: inc/admin/metaboxes/admin-metaboxes-form.php:54
102
  msgid "Social"
103
  msgstr ""
104
 
105
- #: app/react/constants/tabs.js:54 inc/admin/admin-bar/admin-bar.php:151
106
  #: inc/admin/admin-features-list.php:42 inc/admin/admin-pages/Advanced.php:21
107
  #: inc/admin/admin-pages/Titles.php:24 inc/admin/admin.php:103
108
  #: inc/admin/metaboxes/admin-metaboxes-form.php:55
@@ -110,29 +180,33 @@ msgstr ""
110
  msgid "Advanced"
111
  msgstr ""
112
 
113
- #: app/react/constants/tabs.js:60
114
  #: inc/admin/metaboxes/admin-metaboxes-form.php:58
115
  msgid "Redirection"
116
  msgstr ""
117
 
118
- #: app/react/constants/tabs.js:66
119
  #: inc/admin/metaboxes/admin-metaboxes-form.php:64
120
  msgid "Google News"
121
  msgstr ""
122
 
123
- #: app/react/constants/tabs.js:72
124
  #: inc/admin/metaboxes/admin-metaboxes-form.php:71
125
  msgid "Video Sitemap"
126
  msgstr ""
127
 
128
- #: app/react/constants/tabs.js:78
129
  msgid "Overview"
130
  msgstr ""
131
 
132
- #: app/react/constants/tabs.js:85
133
  msgid "Internal Linking"
134
  msgstr ""
135
 
 
 
 
 
136
  #: app/react/layout/Head/index.js:14 inc/admin/admin-bar/admin-bar.php:47
137
  #: inc/admin/admin.php:92 inc/admin/metaboxes/admin-metaboxes-form.php:39
138
  #: inc/admin/metaboxes/admin-metaboxes.php:237
@@ -142,34 +216,122 @@ msgstr ""
142
  msgid "SEO"
143
  msgstr ""
144
 
145
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:15
146
  msgid "Do not display this page in search engine results / XML - HTML sitemaps"
147
  msgstr ""
148
 
149
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:25
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
150
  msgid "Do not follow links for this page"
151
  msgstr ""
152
 
153
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:34
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
154
  msgid ""
155
  "Do not use Open Directory project metadata for titles or excerpts for this "
156
  "page"
157
  msgstr ""
158
 
159
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:45
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
160
  msgid "Do not display a 'Cached' link in the Google search results"
161
  msgstr ""
162
 
163
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:56
 
 
 
 
 
 
 
 
 
 
 
 
164
  msgid "Do not display a description in search results for this page"
165
  msgstr ""
166
 
167
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:66
 
 
 
 
 
 
 
 
 
 
 
 
168
  msgid "Do not index images for this page"
169
  msgstr ""
170
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
171
  #. translators: %s: link to plugin settings page
172
- #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:82
173
  #: inc/admin/metaboxes/admin-metaboxes-form.php:249
174
  #, javascript-format, php-format
175
  msgid ""
@@ -177,7 +339,7 @@ msgid ""
177
  "in the <a href=\"%s\">global settings of the plugin.</a>"
178
  msgstr ""
179
 
180
- #: app/react/layout/Main/components/Advanced/index.js:37
181
  #: app/react/layout/Main/components/GoogleNews/index.js:41
182
  #: app/react/layout/Main/components/MainTitleDescription/index.js:33
183
  #: app/react/layout/Main/components/Redirection/index.js:41
@@ -185,12 +347,43 @@ msgstr ""
185
  msgid "Your settings have been saved."
186
  msgstr ""
187
 
188
- #: app/react/layout/Main/components/Advanced/index.js:47
189
  #: inc/admin/metaboxes/admin-metaboxes-form.php:245
190
  msgid "Meta robots settings"
191
  msgstr ""
192
 
193
- #: app/react/layout/Main/components/ContentAnalysis/index.js:452
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
194
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:75
195
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:53
196
  msgid "Get suggestions!"
@@ -215,13 +408,13 @@ msgid "No suggestion of internal links."
215
  msgstr ""
216
 
217
  #: app/react/layout/Main/components/Social/Preview/index.js:247
218
- #: inc/admin/metaboxes/admin-metaboxes-form.php:424
219
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:407
220
  msgid "Facebook Preview"
221
  msgstr ""
222
 
223
  #: app/react/layout/Main/components/Social/Preview/index.js:251
224
- #: inc/admin/metaboxes/admin-metaboxes-form.php:428
225
  msgid ""
226
  "This is what your post will look like in Facebook. You have to publish your "
227
  "post to get the Facebook Preview."
@@ -233,12 +426,12 @@ msgid "Your image ratio is:"
233
  msgstr ""
234
 
235
  #: app/react/layout/Main/components/Social/Preview/index.js:259
236
- #: inc/admin/metaboxes/admin-metaboxes-form.php:450
237
  msgid "The closer to 1.91 the better."
238
  msgstr ""
239
 
240
  #: app/react/layout/Main/components/Social/Preview/index.js:266
241
- #: inc/admin/metaboxes/admin-metaboxes-form.php:441
242
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:47
243
  msgid ""
244
  "Minimun size for Facebook is <strong>200x200px</strong>. Please choose "
@@ -246,15 +439,15 @@ msgid ""
246
  msgstr ""
247
 
248
  #: app/react/layout/Main/components/Social/Preview/index.js:275
249
- #: inc/admin/metaboxes/admin-metaboxes-form.php:437
250
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:46
251
  msgid "File type not supported by Facebook. Please choose another image."
252
  msgstr ""
253
 
254
  #: app/react/layout/Main/components/Social/Preview/index.js:283
255
  #: app/react/layout/Main/components/Social/Preview/index.js:371
256
- #: inc/admin/metaboxes/admin-metaboxes-form.php:445
257
- #: inc/admin/metaboxes/admin-metaboxes-form.php:558
258
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:48
259
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:72
260
  msgid "File error. Please choose another image."
@@ -266,25 +459,25 @@ msgid "Please choose an image"
266
  msgstr ""
267
 
268
  #: app/react/layout/Main/components/Social/Preview/index.js:332
269
- #: inc/admin/metaboxes/admin-metaboxes-form.php:539
270
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:456
271
  msgid "Twitter Preview"
272
  msgstr ""
273
 
274
  #: app/react/layout/Main/components/Social/Preview/index.js:336
275
- #: inc/admin/metaboxes/admin-metaboxes-form.php:542
276
  msgid ""
277
  "This is what your post will look like in Twitter. You have to publish your "
278
  "post to get the Twitter Preview."
279
  msgstr ""
280
 
281
  #: app/react/layout/Main/components/Social/Preview/index.js:345
282
- #: inc/admin/metaboxes/admin-metaboxes-form.php:563
283
  msgid "The closer to 1 the better (with large card, 2 is better)."
284
  msgstr ""
285
 
286
  #: app/react/layout/Main/components/Social/Preview/index.js:354
287
- #: inc/admin/metaboxes/admin-metaboxes-form.php:554
288
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:71
289
  msgid ""
290
  "Minimun size for Twitter is <strong>144x144px</strong>. Please choose "
@@ -292,7 +485,7 @@ msgid ""
292
  msgstr ""
293
 
294
  #: app/react/layout/Main/components/Social/Preview/index.js:363
295
- #: inc/admin/metaboxes/admin-metaboxes-form.php:550
296
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:70
297
  msgid "File type not supported by Twitter. Please choose another image."
298
  msgstr ""
@@ -304,7 +497,7 @@ msgid ""
304
  "Facebook. Twitter does the same if no Twitter cards tags are defined below."
305
  msgstr ""
306
 
307
- #: app/react/layout/Main/index.js:85 app/react/layout/SeoBar/index.js:51
308
  msgid "Loading your data"
309
  msgstr ""
310
 
@@ -527,27 +720,54 @@ msgstr ""
527
  msgid "We found these schemas in the source code of this page:"
528
  msgstr ""
529
 
530
- #: app/react/services/content-analysis/socialTags.js:18
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
531
  msgid "Image"
532
  msgstr ""
533
 
534
- #: app/react/services/content-analysis/socialTags.js:20
535
  msgid "URL"
536
  msgstr ""
537
 
538
- #: app/react/services/content-analysis/socialTags.js:22
539
  msgid "Site Name"
540
  msgstr ""
541
 
542
- #: app/react/services/content-analysis/socialTags.js:55
543
  msgid "Open Graph"
544
  msgstr ""
545
 
546
- #: app/react/services/content-analysis/socialTags.js:71
547
  msgid "Twitter"
548
  msgstr ""
549
 
550
- #: app/react/services/content-analysis/socialTags.js:87
551
  msgid ""
552
  ",\n"
553
  " \"wp-seopress\"\n"
@@ -725,10 +945,6 @@ msgstr ""
725
  msgid "PRO"
726
  msgstr ""
727
 
728
- #: inc/admin/admin-bar/admin-bar.php:194 inc/admin/admin-features-list.php:116
729
- msgid "Schemas"
730
- msgstr ""
731
-
732
  #: inc/admin/admin-bar/admin-bar.php:202 inc/admin/admin-features-list.php:122
733
  #: inc/admin/admin-pages/Tools.php:23
734
  msgid "Redirections"
@@ -777,11 +993,10 @@ msgid "Hide SEO News?"
777
  msgstr ""
778
 
779
  #: inc/admin/admin-dyn-variables-helper.php:7 inc/admin/callbacks/Titles.php:37
780
- #: inc/admin/callbacks/Titles.php:230 inc/admin/callbacks/Titles.php:301
781
- #: inc/admin/callbacks/Titles.php:471 inc/admin/callbacks/Titles.php:691
782
- #: inc/admin/callbacks/Titles.php:903 inc/admin/callbacks/Titles.php:1046
783
- #: inc/admin/callbacks/Titles.php:1139 inc/admin/callbacks/Titles.php:1234
784
- #: inc/admin/callbacks/Titles.php:1298
785
  #: inc/admin/metaboxes/admin-metaboxes-form.php:134
786
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:67
787
  #: src/Tags/SiteTitle.php:22
@@ -795,7 +1010,7 @@ msgstr ""
795
 
796
  #: inc/admin/admin-dyn-variables-helper.php:9
797
  #: inc/admin/callbacks/Sitemaps.php:324 inc/admin/callbacks/Titles.php:216
798
- #: inc/admin/callbacks/Titles.php:287 inc/admin/callbacks/Titles.php:462
799
  #: inc/admin/metaboxes/admin-metaboxes-form.php:131
800
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:66
801
  #: src/Tags/PostTitle.php:17
@@ -803,6 +1018,7 @@ msgid "Post Title"
803
  msgstr ""
804
 
805
  #: inc/admin/admin-dyn-variables-helper.php:10
 
806
  msgid "Post excerpt"
807
  msgstr ""
808
 
@@ -827,7 +1043,7 @@ msgid "Post modified date"
827
  msgstr ""
828
 
829
  #: inc/admin/admin-dyn-variables-helper.php:16
830
- #: inc/admin/callbacks/Titles.php:1037
831
  msgid "Post author"
832
  msgstr ""
833
 
@@ -897,94 +1113,98 @@ msgid "Month Archive title"
897
  msgstr ""
898
 
899
  #: inc/admin/admin-dyn-variables-helper.php:33
900
- msgid "Year Archive title"
901
  msgstr ""
902
 
903
  #: inc/admin/admin-dyn-variables-helper.php:34
904
- msgid "Custom fields from post, page or post type"
905
  msgstr ""
906
 
907
  #: inc/admin/admin-dyn-variables-helper.php:35
908
- msgid "Custom term taxonomy from post, page or post type"
909
  msgstr ""
910
 
911
  #: inc/admin/admin-dyn-variables-helper.php:36
912
- msgid "Single product category"
913
  msgstr ""
914
 
915
  #: inc/admin/admin-dyn-variables-helper.php:37
916
- msgid "Single product tag"
917
  msgstr ""
918
 
919
  #: inc/admin/admin-dyn-variables-helper.php:38
920
- msgid "Single product short description"
921
  msgstr ""
922
 
923
  #: inc/admin/admin-dyn-variables-helper.php:39
924
- msgid "Single product price"
925
  msgstr ""
926
 
927
  #: inc/admin/admin-dyn-variables-helper.php:40
928
- msgid "Single product price taxes excluded"
929
  msgstr ""
930
 
931
  #: inc/admin/admin-dyn-variables-helper.php:41
932
- msgid "Single SKU product"
933
  msgstr ""
934
 
935
  #: inc/admin/admin-dyn-variables-helper.php:42
936
- msgid "Current day"
937
  msgstr ""
938
 
939
  #: inc/admin/admin-dyn-variables-helper.php:43
940
- msgid "Current month"
941
  msgstr ""
942
 
943
  #: inc/admin/admin-dyn-variables-helper.php:44
944
- msgid "Current month in 3 letters"
945
  msgstr ""
946
 
947
  #: inc/admin/admin-dyn-variables-helper.php:45
948
- msgid "Current year"
949
  msgstr ""
950
 
951
  #: inc/admin/admin-dyn-variables-helper.php:46
952
- msgid "Current date"
953
  msgstr ""
954
 
955
  #: inc/admin/admin-dyn-variables-helper.php:47
956
- msgid "Current time"
957
  msgstr ""
958
 
959
  #: inc/admin/admin-dyn-variables-helper.php:48
960
- msgid "Author first name"
961
  msgstr ""
962
 
963
  #: inc/admin/admin-dyn-variables-helper.php:49
964
- msgid "Author last name"
965
  msgstr ""
966
 
967
  #: inc/admin/admin-dyn-variables-helper.php:50
968
- msgid "Author website"
969
  msgstr ""
970
 
971
  #: inc/admin/admin-dyn-variables-helper.php:51
972
- msgid "Author nickname"
973
  msgstr ""
974
 
975
  #: inc/admin/admin-dyn-variables-helper.php:52
976
- msgid "Author biography"
977
  msgstr ""
978
 
979
  #: inc/admin/admin-dyn-variables-helper.php:53
980
- msgid "Author user meta"
981
  msgstr ""
982
 
983
  #: inc/admin/admin-dyn-variables-helper.php:54
984
- msgid "Current month in digital format"
985
  msgstr ""
986
 
987
  #: inc/admin/admin-dyn-variables-helper.php:55
 
 
 
 
988
  msgid "Target keyword"
989
  msgstr ""
990
 
@@ -1269,24 +1489,6 @@ msgstr ""
1269
  msgid "Learn how to import SEO metadata from a CSV file"
1270
  msgstr ""
1271
 
1272
- #: inc/admin/admin-pages/Tools.php:69 inc/admin/admin-pages/Tools.php:115
1273
- #: inc/admin/metaboxes/admin-metaboxes-form.php:104
1274
- #: src/Helpers/ContentAnalysis.php:48
1275
- msgid "Meta title"
1276
- msgstr ""
1277
-
1278
- #. ID
1279
- #: inc/admin/admin-pages/Tools.php:72 inc/admin/admin-pages/Tools.php:118
1280
- #: inc/admin/callbacks/Titles.php:60
1281
- #: inc/admin/metaboxes/admin-metaboxes-form.php:143
1282
- #: inc/admin/metaboxes/admin-metaboxes-form.php:144
1283
- #: inc/admin/metaboxes/admin-metaboxes-form.php:150
1284
- #: inc/admin/migrate/MigrationTools.php:14 inc/admin/settings/Titles.php:32
1285
- #: inc/functions/options-advanced-admin.php:858
1286
- #: src/Helpers/ContentAnalysis.php:53
1287
- msgid "Meta description"
1288
- msgstr ""
1289
-
1290
  #: inc/admin/admin-pages/Tools.php:75 inc/admin/admin-pages/Tools.php:121
1291
  msgid "Meta robots (noindex, nofollow...)"
1292
  msgstr ""
@@ -1308,16 +1510,6 @@ msgstr ""
1308
  msgid "Primary category"
1309
  msgstr ""
1310
 
1311
- #: inc/admin/admin-pages/Tools.php:90 inc/admin/admin-pages/Tools.php:136
1312
- #: inc/admin/metaboxes/admin-metaboxes-form.php:313
1313
- #: inc/admin/metaboxes/admin-metaboxes-form.php:314
1314
- #: inc/admin/metaboxes/admin-metaboxes-form.php:320
1315
- #: inc/admin/migrate/MigrationTools.php:23
1316
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:263
1317
- #: src/Helpers/ContentAnalysis.php:13 src/Helpers/Metas/RobotSettings.php:100
1318
- msgid "Canonical URL"
1319
- msgstr ""
1320
-
1321
  #: inc/admin/admin-pages/Tools.php:93 inc/admin/admin-pages/Tools.php:139
1322
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:28
1323
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:29
@@ -1377,15 +1569,15 @@ msgstr ""
1377
  msgid "Import completed!"
1378
  msgstr ""
1379
 
1380
- #: inc/admin/admin-pages/Tools.php:220 inc/admin/wizard/admin-wizard.php:332
1381
  msgid "Import posts and terms metadata from"
1382
  msgstr ""
1383
 
1384
- #: inc/admin/admin-pages/Tools.php:241 inc/admin/wizard/admin-wizard.php:352
1385
  msgid "Select an option"
1386
  msgstr ""
1387
 
1388
- #: inc/admin/admin-pages/Tools.php:249 inc/admin/wizard/admin-wizard.php:360
1389
  msgid "You don't have to enable the selected SEO plugin to run the import."
1390
  msgstr ""
1391
 
@@ -1468,7 +1660,7 @@ msgstr ""
1468
  msgid "How-to get started"
1469
  msgstr ""
1470
 
1471
- #: inc/admin/blocks/get-started.php:16 inc/admin/wizard/admin-wizard.php:323
1472
  msgid "Welcome to SEOPress!"
1473
  msgstr ""
1474
 
@@ -2091,7 +2283,7 @@ msgid "Add TINYMCE editor to term description"
2091
  msgstr ""
2092
 
2093
  #: inc/admin/callbacks/Advanced.php:60 inc/admin/callbacks/Advanced.php:100
2094
- #: inc/admin/wizard/admin-wizard.php:800 inc/admin/wizard/admin-wizard.php:824
2095
  #, php-format
2096
  msgid "Remove <strong>%s</strong> in your permalinks"
2097
  msgstr ""
@@ -2143,186 +2335,192 @@ msgid "Remove website field from comment form to reduce spam"
2143
  msgstr ""
2144
 
2145
  #: inc/admin/callbacks/Advanced.php:245
 
 
 
 
 
 
2146
  msgid "Remove WordPress shortlink meta tag in source code (eg:"
2147
  msgstr ""
2148
 
2149
- #: inc/admin/callbacks/Advanced.php:268
2150
  msgid "Remove Windows Live Writer meta tag in source code (eg:"
2151
  msgstr ""
2152
 
2153
- #: inc/admin/callbacks/Advanced.php:291
2154
  msgid "Remove Really Simple Discovery meta tag in source code (eg:"
2155
  msgstr ""
2156
 
2157
- #: inc/admin/callbacks/Advanced.php:298
2158
  msgid ""
2159
  "WordPress Site Health feature will return a HTTPS warning if you enable this "
2160
  "option. This is a false positive of course."
2161
  msgstr ""
2162
 
2163
- #: inc/admin/callbacks/Advanced.php:311
2164
  msgid "Enter Google meta value site verification"
2165
  msgstr ""
2166
 
2167
  #. ID
2168
- #: inc/admin/callbacks/Advanced.php:311 inc/admin/settings/Advanced.php:104
2169
  msgid "Google site verification"
2170
  msgstr ""
2171
 
2172
- #: inc/admin/callbacks/Advanced.php:315
2173
  msgid ""
2174
  "If your site is already verified in <strong>Google Search Console</strong>, "
2175
  "you can leave this field empty."
2176
  msgstr ""
2177
 
2178
- #: inc/admin/callbacks/Advanced.php:326
2179
  msgid "Enter Bing meta value site verification"
2180
  msgstr ""
2181
 
2182
  #. ID
2183
- #: inc/admin/callbacks/Advanced.php:326 inc/admin/settings/Advanced.php:112
2184
  msgid "Bing site verification"
2185
  msgstr ""
2186
 
2187
- #: inc/admin/callbacks/Advanced.php:330
2188
  msgid ""
2189
  "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
2190
  "you can leave this field empty."
2191
  msgstr ""
2192
 
2193
- #: inc/admin/callbacks/Advanced.php:341
2194
  msgid "Enter Pinterest meta value site verification"
2195
  msgstr ""
2196
 
2197
  #. ID
2198
- #: inc/admin/callbacks/Advanced.php:341 inc/admin/settings/Advanced.php:120
2199
  msgid "Pinterest site verification"
2200
  msgstr ""
2201
 
2202
  #. ID
2203
- #: inc/admin/callbacks/Advanced.php:351 inc/admin/settings/Advanced.php:128
2204
  msgid "Yandex site verification"
2205
  msgstr ""
2206
 
2207
- #: inc/admin/callbacks/Advanced.php:351
2208
  msgid "Enter Yandex meta value site verification"
2209
  msgstr ""
2210
 
2211
- #: inc/admin/callbacks/Advanced.php:368
2212
  msgid "Remove SEO from Admin Bar in backend and frontend"
2213
  msgstr ""
2214
 
2215
- #: inc/admin/callbacks/Advanced.php:388
2216
  msgid "Enable the universal SEO metabox for the Block Editor (Gutenberg)"
2217
  msgstr ""
2218
 
2219
- #: inc/admin/callbacks/Advanced.php:416
2220
  msgid "Disable the universal SEO metabox"
2221
  msgstr ""
2222
 
2223
- #: inc/admin/callbacks/Advanced.php:436
2224
  msgid "Remove noindex item from Admin Bar in backend and frontend"
2225
  msgstr ""
2226
 
2227
- #: inc/admin/callbacks/Advanced.php:454
2228
  msgid "High priority (top)"
2229
  msgstr ""
2230
 
2231
- #: inc/admin/callbacks/Advanced.php:459
2232
  msgid "Normal priority (default)"
2233
  msgstr ""
2234
 
2235
- #: inc/admin/callbacks/Advanced.php:464
2236
  msgid "Low priority"
2237
  msgstr ""
2238
 
2239
- #: inc/admin/callbacks/Advanced.php:484
2240
  msgid "Automatic tab (default)"
2241
  msgstr ""
2242
 
2243
- #: inc/admin/callbacks/Advanced.php:489
2244
  msgid "Manual tab"
2245
  msgstr ""
2246
 
2247
- #: inc/admin/callbacks/Advanced.php:511
2248
  msgid "Hide Notifications Center in SEO Dashboard page"
2249
  msgstr ""
2250
 
2251
- #: inc/admin/callbacks/Advanced.php:531
2252
  msgid "Hide SEO News in SEO Dashboard page"
2253
  msgstr ""
2254
 
2255
- #: inc/admin/callbacks/Advanced.php:551
2256
  msgid "Hide SEO tools in SEO Dashboard page"
2257
  msgstr ""
2258
 
2259
- #: inc/admin/callbacks/Advanced.php:570
2260
  msgid "Add title column"
2261
  msgstr ""
2262
 
2263
- #: inc/admin/callbacks/Advanced.php:590
2264
  msgid "Add meta description column"
2265
  msgstr ""
2266
 
2267
- #: inc/admin/callbacks/Advanced.php:610
2268
  msgid "Add redirection enable column"
2269
  msgstr ""
2270
 
2271
- #: inc/admin/callbacks/Advanced.php:630
2272
  msgid "Add redirection URL column"
2273
  msgstr ""
2274
 
2275
- #: inc/admin/callbacks/Advanced.php:650
2276
  msgid "Add canonical URL column"
2277
  msgstr ""
2278
 
2279
- #: inc/admin/callbacks/Advanced.php:670
2280
  msgid "Add target keyword column"
2281
  msgstr ""
2282
 
2283
- #: inc/admin/callbacks/Advanced.php:690
2284
  msgid "Display noindex status"
2285
  msgstr ""
2286
 
2287
- #: inc/admin/callbacks/Advanced.php:710
2288
  msgid "Display nofollow status"
2289
  msgstr ""
2290
 
2291
- #: inc/admin/callbacks/Advanced.php:730
2292
  msgid "Display total number of words in content"
2293
  msgstr ""
2294
 
2295
- #: inc/admin/callbacks/Advanced.php:751
2296
  msgid "Display Page Speed column to check performances"
2297
  msgstr ""
2298
 
2299
- #: inc/admin/callbacks/Advanced.php:772
2300
  msgid "Display SEO Insights column to check rankings"
2301
  msgstr ""
2302
 
2303
- #: inc/admin/callbacks/Advanced.php:793
2304
  msgid ""
2305
  "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
2306
  msgstr ""
2307
 
2308
  #. ID
2309
- #: inc/admin/callbacks/Advanced.php:813 inc/admin/settings/Advanced.php:318
2310
  msgid "Remove Content Analysis Metabox"
2311
  msgstr ""
2312
 
2313
- #: inc/admin/callbacks/Advanced.php:833
2314
  msgid "Remove Genesis SEO Metabox"
2315
  msgstr ""
2316
 
2317
- #: inc/admin/callbacks/Advanced.php:853
2318
  msgid "Remove Genesis SEO link in WP Admin Menu"
2319
  msgstr ""
2320
 
2321
- #: inc/admin/callbacks/Advanced.php:873
2322
  msgid "Remove the advice if None schema selected"
2323
  msgstr ""
2324
 
2325
- #: inc/admin/callbacks/Advanced.php:919 inc/admin/callbacks/Advanced.php:960
2326
  msgid ""
2327
  "Hook to filter structured data types metabox call by post type - new window"
2328
  msgstr ""
@@ -2908,7 +3106,7 @@ msgstr ""
2908
  msgid "Redirect attachment pages to post parent (or homepage if none)"
2909
  msgstr ""
2910
 
2911
- #: inc/admin/callbacks/ImageSEO.php:36 inc/admin/wizard/admin-wizard.php:781
2912
  msgid ""
2913
  "Redirect attachment pages to their file URL (https://www.example.com/my-"
2914
  "image-file.jpg)"
@@ -3090,15 +3288,15 @@ msgstr ""
3090
  #: inc/admin/callbacks/Social.php:15
3091
  #: inc/admin/metaboxes/admin-metaboxes-form.php:338
3092
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:286
3093
- #: inc/admin/wizard/admin-wizard.php:440 src/Helpers/Metas/RobotSettings.php:19
3094
  msgid "None (will disable this feature)"
3095
  msgstr ""
3096
 
3097
- #: inc/admin/callbacks/Social.php:20 inc/admin/wizard/admin-wizard.php:445
3098
  msgid "Person"
3099
  msgstr ""
3100
 
3101
- #: inc/admin/callbacks/Social.php:25 inc/admin/wizard/admin-wizard.php:450
3102
  msgid "Organization"
3103
  msgstr ""
3104
 
@@ -3108,13 +3306,13 @@ msgstr ""
3108
 
3109
  #. ID
3110
  #: inc/admin/callbacks/Social.php:40 inc/admin/settings/Social.php:24
3111
- #: inc/admin/wizard/admin-wizard.php:455
3112
  msgid "Your name/organization"
3113
  msgstr ""
3114
 
3115
  #. ID
3116
  #: inc/admin/callbacks/Social.php:56 inc/admin/settings/Social.php:32
3117
- #: inc/admin/wizard/admin-wizard.php:462
3118
  msgid "Your photo/organization logo"
3119
  msgstr ""
3120
 
@@ -3122,11 +3320,11 @@ msgstr ""
3122
  msgid "Select your logo"
3123
  msgstr ""
3124
 
3125
- #: inc/admin/callbacks/Social.php:60 inc/admin/callbacks/Social.php:294
3126
- #: inc/admin/callbacks/Social.php:370 inc/admin/callbacks/Social.php:512
3127
- #: inc/admin/metaboxes/admin-metaboxes-form.php:418
3128
- #: inc/admin/metaboxes/admin-metaboxes-form.php:534
3129
- #: inc/admin/metaboxes/admin-metaboxes-form.php:829
3130
  msgid "Upload an Image"
3131
  msgstr ""
3132
 
@@ -3191,7 +3389,7 @@ msgstr ""
3191
  msgid "Hearing impaired supported"
3192
  msgstr ""
3193
 
3194
- #: inc/admin/callbacks/Social.php:200 inc/admin/wizard/admin-wizard.php:471
3195
  msgid "eg: https://facebook.com/my-page-url"
3196
  msgstr ""
3197
 
@@ -3200,7 +3398,7 @@ msgstr ""
3200
  msgid "Facebook Page URL"
3201
  msgstr ""
3202
 
3203
- #: inc/admin/callbacks/Social.php:211 inc/admin/wizard/admin-wizard.php:478
3204
  msgid "eg: @my_twitter_account"
3205
  msgstr ""
3206
 
@@ -3208,46 +3406,46 @@ msgstr ""
3208
  msgid "Twitter Page URL"
3209
  msgstr ""
3210
 
3211
- #: inc/admin/callbacks/Social.php:222 inc/admin/wizard/admin-wizard.php:485
3212
  msgid "eg: https://pinterest.com/my-page-url/"
3213
  msgstr ""
3214
 
3215
  #. ID
3216
  #: inc/admin/callbacks/Social.php:222 inc/admin/settings/Social.php:89
3217
- #: inc/admin/wizard/admin-wizard.php:483
3218
  #: src/Tags/Schema/SocialAccount/Pinterest.php:15
3219
  msgid "Pinterest URL"
3220
  msgstr ""
3221
 
3222
- #: inc/admin/callbacks/Social.php:233 inc/admin/wizard/admin-wizard.php:492
3223
  msgid "eg: https://www.instagram.com/my-page-url/"
3224
  msgstr ""
3225
 
3226
  #. ID
3227
  #: inc/admin/callbacks/Social.php:233 inc/admin/settings/Social.php:97
3228
- #: inc/admin/wizard/admin-wizard.php:490
3229
  #: src/Tags/Schema/SocialAccount/Instagram.php:15
3230
  msgid "Instagram URL"
3231
  msgstr ""
3232
 
3233
- #: inc/admin/callbacks/Social.php:244 inc/admin/wizard/admin-wizard.php:499
3234
  msgid "eg: https://www.youtube.com/my-channel-url"
3235
  msgstr ""
3236
 
3237
  #. ID
3238
  #: inc/admin/callbacks/Social.php:244 inc/admin/settings/Social.php:105
3239
- #: inc/admin/wizard/admin-wizard.php:497
3240
  #: src/Tags/Schema/SocialAccount/Youtube.php:15
3241
  msgid "YouTube URL"
3242
  msgstr ""
3243
 
3244
- #: inc/admin/callbacks/Social.php:255 inc/admin/wizard/admin-wizard.php:506
3245
  msgid "eg: http://linkedin.com/company/my-company-url/"
3246
  msgstr ""
3247
 
3248
  #. ID
3249
  #: inc/admin/callbacks/Social.php:255 inc/admin/settings/Social.php:113
3250
- #: inc/admin/wizard/admin-wizard.php:504
3251
  #: src/Tags/Schema/SocialAccount/Linkedin.php:15
3252
  msgid "LinkedIn URL"
3253
  msgstr ""
@@ -3257,21 +3455,21 @@ msgid "Enable OG data"
3257
  msgstr ""
3258
 
3259
  #. ID
3260
- #: inc/admin/callbacks/Social.php:290 inc/admin/callbacks/Social.php:362
3261
  #: inc/admin/settings/Social.php:138
3262
  msgid "Select a default image"
3263
  msgstr ""
3264
 
3265
- #: inc/admin/callbacks/Social.php:291 inc/admin/callbacks/Social.php:363
3266
- #: inc/admin/callbacks/Social.php:509
3267
  #: inc/admin/metaboxes/admin-metaboxes-form.php:407
3268
- #: inc/admin/metaboxes/admin-metaboxes-form.php:523
3269
  #: src/Helpers/Metas/SocialSettings.php:46
3270
- #: src/Helpers/Metas/SocialSettings.php:74
3271
  msgid "Select your default thumbnail"
3272
  msgstr ""
3273
 
3274
- #: inc/admin/callbacks/Social.php:296
3275
  #: inc/admin/metaboxes/admin-metaboxes-form.php:412
3276
  #: src/Helpers/Metas/SocialSettings.php:51
3277
  msgid ""
@@ -3279,41 +3477,41 @@ msgid ""
3279
  "3280x1712px for retina screens)"
3280
  msgstr ""
3281
 
3282
- #: inc/admin/callbacks/Social.php:316
3283
  msgid ""
3284
  "Override every <strong>og:image</strong> tag with this default image (except "
3285
  "if a custom og:image has already been set from the SEO metabox)."
3286
  msgstr ""
3287
 
3288
- #: inc/admin/callbacks/Social.php:323
3289
  msgid "Please define a <strong>default OG Image</strong> from the field above"
3290
  msgstr ""
3291
 
3292
- #: inc/admin/callbacks/Social.php:347
3293
  msgid "WooCommerce Shop Page."
3294
  msgstr ""
3295
 
3296
- #: inc/admin/callbacks/Social.php:380
3297
  msgid "No custom post type to configure."
3298
  msgstr ""
3299
 
3300
- #: inc/admin/callbacks/Social.php:397
3301
  msgid ""
3302
  "One or more Facebook Page IDs that are associated with a URL in order to "
3303
  "enable link editing and instant article publishing."
3304
  msgstr ""
3305
 
3306
- #: inc/admin/callbacks/Social.php:405
3307
  msgid "How do I find my Facebook Page ID?"
3308
  msgstr ""
3309
 
3310
- #: inc/admin/callbacks/Social.php:422
3311
  msgid ""
3312
  "The ID (or comma-separated list for properties that can accept multiple IDs) "
3313
  "of an app, person using the app, or Page Graph API object."
3314
  msgstr ""
3315
 
3316
- #: inc/admin/callbacks/Social.php:441
3317
  msgid ""
3318
  "The Facebook app ID of the site's app. In order to use Facebook Insights you "
3319
  "must add the app ID to your page. Insights lets you view analytics for "
@@ -3323,40 +3521,40 @@ msgid ""
3323
  "\"seopress-help dashicons dashicons-external\"></span>"
3324
  msgstr ""
3325
 
3326
- #: inc/admin/callbacks/Social.php:449
3327
  msgid "How to create a Facebook App ID"
3328
  msgstr ""
3329
 
3330
- #: inc/admin/callbacks/Social.php:468
3331
  msgid "Enable Twitter card"
3332
  msgstr ""
3333
 
3334
- #: inc/admin/callbacks/Social.php:489
3335
  msgid "Use OG if no Twitter Cards"
3336
  msgstr ""
3337
 
3338
  #. ID
3339
- #: inc/admin/callbacks/Social.php:508 inc/admin/settings/Social.php:211
3340
  msgid "Default Twitter Image"
3341
  msgstr ""
3342
 
3343
- #: inc/admin/callbacks/Social.php:515
3344
- #: inc/admin/metaboxes/admin-metaboxes-form.php:527
3345
- #: src/Helpers/Metas/SocialSettings.php:79
3346
  msgid ""
3347
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
3348
  "(2:1 with large card), 5Mb max."
3349
  msgstr ""
3350
 
3351
- #: inc/admin/callbacks/Social.php:534 seopress.php:356
3352
  msgid "Default"
3353
  msgstr ""
3354
 
3355
- #: inc/admin/callbacks/Social.php:539
3356
  msgid "Large"
3357
  msgstr ""
3358
 
3359
- #: inc/admin/callbacks/Social.php:544
3360
  msgid ""
3361
  "The Summary Card with <strong>Large Image</strong> features a large, full-"
3362
  "width prominent image alongside a tweet. It is designed to give the reader a "
@@ -3370,14 +3568,13 @@ msgstr ""
3370
 
3371
  #. ID
3372
  #: inc/admin/callbacks/Titles.php:13 inc/admin/callbacks/Titles.php:42
3373
- #: inc/admin/callbacks/Titles.php:223 inc/admin/callbacks/Titles.php:294
3374
- #: inc/admin/callbacks/Titles.php:466 inc/admin/callbacks/Titles.php:684
3375
- #: inc/admin/callbacks/Titles.php:898 inc/admin/callbacks/Titles.php:1041
3376
- #: inc/admin/callbacks/Titles.php:1135 inc/admin/callbacks/Titles.php:1229
3377
- #: inc/admin/callbacks/Titles.php:1302
3378
  #: inc/admin/metaboxes/admin-metaboxes-form.php:136
3379
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:68
3380
- #: inc/admin/settings/Titles.php:16 inc/admin/wizard/admin-wizard.php:415
3381
  #: src/Tags/Separator.php:17
3382
  msgid "Separator"
3383
  msgstr ""
@@ -3414,201 +3611,201 @@ msgstr ""
3414
  msgid "Click to display any SEO metaboxes / columns for this post type"
3415
  msgstr ""
3416
 
3417
- #: inc/admin/callbacks/Titles.php:169 inc/admin/callbacks/Titles.php:450
3418
- #: inc/admin/callbacks/Titles.php:614 inc/admin/callbacks/Titles.php:846
3419
- #: inc/admin/callbacks/Titles.php:1025 inc/admin/callbacks/Titles.php:1119
3420
- #: inc/admin/callbacks/Titles.php:1212 inc/admin/callbacks/Titles.php:1286
3421
  msgid "Title template"
3422
  msgstr ""
3423
 
3424
- #: inc/admin/callbacks/Titles.php:240 inc/admin/callbacks/Titles.php:484
3425
- #: inc/admin/callbacks/Titles.php:702 inc/admin/callbacks/Titles.php:913
3426
- #: inc/admin/callbacks/Titles.php:1057 inc/admin/callbacks/Titles.php:1150
3427
- #: inc/admin/callbacks/Titles.php:1244 inc/admin/callbacks/Titles.php:1314
3428
  msgid "Meta description template"
3429
  msgstr ""
3430
 
3431
- #: inc/admin/callbacks/Titles.php:327
3432
  msgid ""
3433
  "Do not display this single post type in search engine results "
3434
  "<strong>(noindex)</strong>"
3435
  msgstr ""
3436
 
3437
- #: inc/admin/callbacks/Titles.php:335
3438
  msgid ""
3439
  "This custom post type is <strong>NOT</strong> excluded from your XML "
3440
  "sitemaps despite the fact that it is set to <strong>NOINDEX</strong>. We "
3441
  "recommend that you check this out."
3442
  msgstr ""
3443
 
3444
- #: inc/admin/callbacks/Titles.php:364
3445
  msgid ""
3446
  "Do not follow links for this single post type <strong>(nofollow)</strong>"
3447
  msgstr ""
3448
 
3449
- #: inc/admin/callbacks/Titles.php:390
3450
  msgid ""
3451
  "Display date in Google search results by adding <code>article:"
3452
  "published_time</code> and <code>article:modified_time</code> meta?"
3453
  msgstr ""
3454
 
3455
- #: inc/admin/callbacks/Titles.php:394
3456
  msgid ""
3457
  "Unchecking this doesn't prevent Google to display post date in search "
3458
  "results."
3459
  msgstr ""
3460
 
3461
- #: inc/admin/callbacks/Titles.php:420
3462
  msgid "Display post thumbnail in Google Custom Search results?"
3463
  msgstr ""
3464
 
3465
- #: inc/admin/callbacks/Titles.php:424
3466
  #, php-format
3467
  msgid ""
3468
  "This option does not apply to traditional search results. <a href=\"%s\" "
3469
  "target=\"_blank\">Learn more</a>"
3470
  msgstr ""
3471
 
3472
- #: inc/admin/callbacks/Titles.php:446
3473
  msgid "BuddyPress groups"
3474
  msgstr ""
3475
 
3476
- #: inc/admin/callbacks/Titles.php:510
3477
  msgid ""
3478
  "Do not display BuddyPress groups in search engine results <strong>(noindex)</"
3479
  "strong>"
3480
  msgstr ""
3481
 
3482
- #: inc/admin/callbacks/Titles.php:554 inc/admin/callbacks/Titles.php:565
3483
- #: inc/admin/callbacks/Titles.php:570 inc/admin/callbacks/Titles.php:579
3484
  msgid "Click to hide any SEO metaboxes for this taxonomy"
3485
  msgstr ""
3486
 
3487
- #: inc/admin/callbacks/Titles.php:561 inc/admin/callbacks/Titles.php:574
3488
- #: inc/admin/callbacks/Titles.php:578
3489
  msgid "Click to display any SEO metaboxes for this taxonomy"
3490
  msgstr ""
3491
 
3492
- #: inc/admin/callbacks/Titles.php:660 src/Tags/CategoryTitle.php:15
3493
  msgid "Category Title"
3494
  msgstr ""
3495
 
3496
- #: inc/admin/callbacks/Titles.php:668 src/Tags/TagTitle.php:15
3497
  msgid "Tag Title"
3498
  msgstr ""
3499
 
3500
- #: inc/admin/callbacks/Titles.php:676
3501
  #: inc/admin/metaboxes/admin-metaboxes-form.php:128 src/Tags/TermTitle.php:15
3502
  msgid "Term Title"
3503
  msgstr ""
3504
 
3505
- #: inc/admin/callbacks/Titles.php:733 src/Tags/CategoryDescription.php:15
3506
  msgid "Category Description"
3507
  msgstr ""
3508
 
3509
- #: inc/admin/callbacks/Titles.php:741 src/Tags/TagDescription.php:15
3510
  msgid "Tag Description"
3511
  msgstr ""
3512
 
3513
- #: inc/admin/callbacks/Titles.php:749 src/Tags/TermDescription.php:15
3514
  msgid "Term Description"
3515
  msgstr ""
3516
 
3517
- #: inc/admin/callbacks/Titles.php:771
3518
  msgid ""
3519
  "Do not display this taxonomy archive in search engine results "
3520
  "<strong>(noindex)</strong>"
3521
  msgstr ""
3522
 
3523
- #: inc/admin/callbacks/Titles.php:779
3524
  msgid ""
3525
  "This custom taxonomy is <strong>NOT</strong> excluded from your XML sitemaps "
3526
  "despite the fact that it is set to <strong>NOINDEX</strong>. We recommend "
3527
  "that you check this out."
3528
  msgstr ""
3529
 
3530
- #: inc/admin/callbacks/Titles.php:809
3531
  msgid ""
3532
  "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
3533
  msgstr ""
3534
 
3535
- #: inc/admin/callbacks/Titles.php:837
3536
  msgid "See archive"
3537
  msgstr ""
3538
 
3539
- #: inc/admin/callbacks/Titles.php:893
3540
  msgid "Post Type Archive Name"
3541
  msgstr ""
3542
 
3543
- #: inc/admin/callbacks/Titles.php:977
3544
  msgid ""
3545
  "Do not display this post type archive in search engine results "
3546
  "<strong>(noindex)</strong>"
3547
  msgstr ""
3548
 
3549
- #: inc/admin/callbacks/Titles.php:1004
3550
  msgid ""
3551
  "Do not follow links for this post type archive <strong>(nofollow)</strong>"
3552
  msgstr ""
3553
 
3554
- #: inc/admin/callbacks/Titles.php:1021
3555
  msgid "Author archives"
3556
  msgstr ""
3557
 
3558
- #: inc/admin/callbacks/Titles.php:1082 inc/admin/wizard/admin-wizard.php:768
3559
  msgid ""
3560
  "Do not display author archives in search engine results <strong>(noindex)</"
3561
  "strong>"
3562
  msgstr ""
3563
 
3564
- #: inc/admin/callbacks/Titles.php:1103
3565
  msgid "Disable author archives"
3566
  msgstr ""
3567
 
3568
- #: inc/admin/callbacks/Titles.php:1115 inc/admin/callbacks/Titles.php:1131
3569
  msgid "Date archives"
3570
  msgstr ""
3571
 
3572
- #: inc/admin/callbacks/Titles.php:1174
3573
  msgid ""
3574
  "Do not display date archives in search engine results <strong>(noindex)</"
3575
  "strong>"
3576
  msgstr ""
3577
 
3578
- #: inc/admin/callbacks/Titles.php:1196
3579
  msgid "Disable date archives"
3580
  msgstr ""
3581
 
3582
- #: inc/admin/callbacks/Titles.php:1208
3583
  msgid "Search archives"
3584
  msgstr ""
3585
 
3586
- #: inc/admin/callbacks/Titles.php:1224 src/Tags/SearchKeywords.php:15
3587
  msgid "Search Keywords"
3588
  msgstr ""
3589
 
3590
- #: inc/admin/callbacks/Titles.php:1270
3591
  msgid ""
3592
  "Do not display search archives in search engine results <strong>(noindex)</"
3593
  "strong>"
3594
  msgstr ""
3595
 
3596
- #: inc/admin/callbacks/Titles.php:1282
3597
  msgid "404 archives"
3598
  msgstr ""
3599
 
3600
  #. ID
3601
- #: inc/admin/callbacks/Titles.php:1341 inc/admin/settings/Titles.php:243
3602
  msgid "noindex"
3603
  msgstr ""
3604
 
3605
- #: inc/admin/callbacks/Titles.php:1345
3606
  msgid ""
3607
  "Do not display all pages of the site in Google search results and do not "
3608
  "display \"Cached\" links in search results."
3609
  msgstr ""
3610
 
3611
- #: inc/admin/callbacks/Titles.php:1349
3612
  #, php-format
3613
  msgid ""
3614
  "Check also the <strong>\"Search engine visibility\"</strong> setting from "
@@ -3616,81 +3813,81 @@ msgid ""
3616
  msgstr ""
3617
 
3618
  #. ID
3619
- #: inc/admin/callbacks/Titles.php:1371 inc/admin/settings/Titles.php:251
3620
  msgid "nofollow"
3621
  msgstr ""
3622
 
3623
- #: inc/admin/callbacks/Titles.php:1375
3624
  msgid "Do not follow links for all pages."
3625
  msgstr ""
3626
 
3627
  #. ID
3628
- #: inc/admin/callbacks/Titles.php:1397 inc/admin/settings/Titles.php:259
3629
  msgid "noodp"
3630
  msgstr ""
3631
 
3632
- #: inc/admin/callbacks/Titles.php:1401
3633
  msgid ""
3634
  "Do not use Open Directory project metadata for titles or excerpts for all "
3635
  "pages."
3636
  msgstr ""
3637
 
3638
  #. ID
3639
- #: inc/admin/callbacks/Titles.php:1423 inc/admin/settings/Titles.php:267
3640
  msgid "noimageindex"
3641
  msgstr ""
3642
 
3643
- #: inc/admin/callbacks/Titles.php:1427
3644
  msgid "Do not index images from the entire site."
3645
  msgstr ""
3646
 
3647
  #. ID
3648
- #: inc/admin/callbacks/Titles.php:1448 inc/admin/settings/Titles.php:275
3649
  msgid "noarchive"
3650
  msgstr ""
3651
 
3652
- #: inc/admin/callbacks/Titles.php:1452
3653
  msgid "Do not display a \"Cached\" link in the Google search results."
3654
  msgstr ""
3655
 
3656
  #. ID
3657
- #: inc/admin/callbacks/Titles.php:1474 inc/admin/settings/Titles.php:283
3658
  msgid "nosnippet"
3659
  msgstr ""
3660
 
3661
- #: inc/admin/callbacks/Titles.php:1478
3662
  msgid ""
3663
  "Do not display a description in the Google search results for all pages."
3664
  msgstr ""
3665
 
3666
  #. ID
3667
- #: inc/admin/callbacks/Titles.php:1500 inc/admin/settings/Titles.php:291
3668
  msgid "nositelinkssearchbox"
3669
  msgstr ""
3670
 
3671
- #: inc/admin/callbacks/Titles.php:1504
3672
  msgid ""
3673
  "Prevents Google to display a sitelinks searchbox in search results. Enable "
3674
  "this option will remove the \"Website\" schema from your source code."
3675
  msgstr ""
3676
 
3677
- #: inc/admin/callbacks/Titles.php:1526
3678
  msgid "Add rel next/prev link in head of paginated archive pages"
3679
  msgstr ""
3680
 
3681
- #: inc/admin/callbacks/Titles.php:1548
3682
  msgid "Add a \"noindex\" meta robots for all paginated archive pages"
3683
  msgstr ""
3684
 
3685
- #: inc/admin/callbacks/Titles.php:1552
3686
  msgid "eg: https://example.com/category/my-category/page/2/"
3687
  msgstr ""
3688
 
3689
- #: inc/admin/callbacks/Titles.php:1574
3690
  msgid "Add a \"noindex\" meta robots for all attachment pages"
3691
  msgstr ""
3692
 
3693
- #: inc/admin/callbacks/Titles.php:1578
3694
  msgid "eg: https://example.com/my-media-attachment-page"
3695
  msgstr ""
3696
 
@@ -3911,14 +4108,6 @@ msgid ""
3911
  "meta description."
3912
  msgstr ""
3913
 
3914
- #: inc/admin/metaboxes/admin-metaboxes-form.php:104
3915
- msgid ""
3916
- "Titles are critical to give users a quick insight into the content of a "
3917
- "result and why it’s relevant to their query. It's often the primary piece of "
3918
- "information used to decide which result to click on, so it's important to "
3919
- "use high-quality titles on your web pages."
3920
- msgstr ""
3921
-
3922
  #: inc/admin/metaboxes/admin-metaboxes-form.php:120
3923
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:55
3924
  msgid " / 568 pixels - "
@@ -3959,10 +4148,6 @@ msgstr ""
3959
  msgid "Post Excerpt"
3960
  msgstr ""
3961
 
3962
- #: inc/admin/metaboxes/admin-metaboxes-form.php:188
3963
- msgid "Snippet Preview"
3964
- msgstr ""
3965
-
3966
  #: inc/admin/metaboxes/admin-metaboxes-form.php:188
3967
  msgid ""
3968
  "The Google preview is a simulation. <br>There is no reliable preview because "
@@ -3979,10 +4164,6 @@ msgid ""
3979
  "<strong>(noindex)</strong>"
3980
  msgstr ""
3981
 
3982
- #: inc/admin/metaboxes/admin-metaboxes-form.php:259
3983
- msgid "\"noindex\" robots meta tag"
3984
- msgstr ""
3985
-
3986
  #: inc/admin/metaboxes/admin-metaboxes-form.php:259
3987
  msgid ""
3988
  "By checking this option, you will add a meta robots tag with the value "
@@ -3995,10 +4176,6 @@ msgstr ""
3995
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
3996
  msgstr ""
3997
 
3998
- #: inc/admin/metaboxes/admin-metaboxes-form.php:270
3999
- msgid "\"nofollow\" robots meta tag"
4000
- msgstr ""
4001
-
4002
  #: inc/admin/metaboxes/admin-metaboxes-form.php:270
4003
  msgid ""
4004
  "By checking this option, you will add a meta robots tag with the value "
@@ -4011,10 +4188,6 @@ msgid ""
4011
  "page <strong>(noodp)</strong>"
4012
  msgstr ""
4013
 
4014
- #: inc/admin/metaboxes/admin-metaboxes-form.php:280
4015
- msgid "\"noodp\" robots meta tag"
4016
- msgstr ""
4017
-
4018
  #: inc/admin/metaboxes/admin-metaboxes-form.php:280
4019
  msgid ""
4020
  "By checking this option, you will add a meta robots tag with the value "
@@ -4026,10 +4199,6 @@ msgstr ""
4026
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
4027
  msgstr ""
4028
 
4029
- #: inc/admin/metaboxes/admin-metaboxes-form.php:289
4030
- msgid "\"noimageindex\" robots meta tag"
4031
- msgstr ""
4032
-
4033
  #: inc/admin/metaboxes/admin-metaboxes-form.php:289
4034
  msgid ""
4035
  "By checking this option, you will add a meta robots tag with the value "
@@ -4043,32 +4212,12 @@ msgid ""
4043
  "<strong>(noarchive)</strong>"
4044
  msgstr ""
4045
 
4046
- #: inc/admin/metaboxes/admin-metaboxes-form.php:298
4047
- msgid "\"noarchive\" robots meta tag"
4048
- msgstr ""
4049
-
4050
- #: inc/admin/metaboxes/admin-metaboxes-form.php:298
4051
- msgid ""
4052
- "By checking this option, you will add a meta robots tag with the value "
4053
- "\"noarchive\"."
4054
- msgstr ""
4055
-
4056
  #: inc/admin/metaboxes/admin-metaboxes-form.php:306
4057
  msgid ""
4058
  "Do not display a description in search results for this page "
4059
  "<strong>(nosnippet)</strong>"
4060
  msgstr ""
4061
 
4062
- #: inc/admin/metaboxes/admin-metaboxes-form.php:307
4063
- msgid "\"nosnippet\" robots meta tag"
4064
- msgstr ""
4065
-
4066
- #: inc/admin/metaboxes/admin-metaboxes-form.php:307
4067
- msgid ""
4068
- "By checking this option, you will add a meta robots tag with the value "
4069
- "\"nosnippet\"."
4070
- msgstr ""
4071
-
4072
  #: inc/admin/metaboxes/admin-metaboxes-form.php:314
4073
  msgid ""
4074
  "A canonical URL is the URL of the page that Google thinks is most "
@@ -4150,335 +4299,326 @@ msgstr ""
4150
  msgid "Facebook Thumbnail"
4151
  msgstr ""
4152
 
4153
- #: inc/admin/metaboxes/admin-metaboxes-form.php:432
4154
  msgid ""
4155
  "The Social Networks feature is disabled. Still seing informations from the "
4156
  "FB Preview? You probably have social tags added by your theme or a plugin."
4157
  msgstr ""
4158
 
4159
- #: inc/admin/metaboxes/admin-metaboxes-form.php:449
4160
- #: inc/admin/metaboxes/admin-metaboxes-form.php:562
4161
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:49
4162
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:73
4163
  msgid "Your image ratio is: "
4164
  msgstr ""
4165
 
4166
- #: inc/admin/metaboxes/admin-metaboxes-form.php:454
4167
- #: inc/admin/metaboxes/admin-metaboxes-form.php:567
4168
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:50
4169
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:74
4170
  msgid "File URL is not valid."
4171
  msgstr ""
4172
 
4173
- #: inc/admin/metaboxes/admin-metaboxes-form.php:467
4174
  msgid "By "
4175
  msgstr ""
4176
 
4177
- #: inc/admin/metaboxes/admin-metaboxes-form.php:501
4178
- msgid "Preview your Twitter card using the official validator"
4179
- msgstr ""
4180
-
4181
- #. twitter:title
4182
  #: inc/admin/metaboxes/admin-metaboxes-form.php:505
4183
- #: inc/admin/metaboxes/admin-metaboxes-form.php:509
4184
- #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:421
4185
- #: src/Helpers/Metas/SocialSettings.php:59
4186
- #: src/Services/ContentAnalysis/GetContent.php:532
4187
- msgid "Twitter Title"
4188
  msgstr ""
4189
 
4190
- #: inc/admin/metaboxes/admin-metaboxes-form.php:508
4191
- #: src/Helpers/Metas/SocialSettings.php:56
4192
  msgid "Enter your Twitter title"
4193
  msgstr ""
4194
 
4195
- #: inc/admin/metaboxes/admin-metaboxes-form.php:513
4196
  #: inc/admin/metaboxes/admin-metaboxes-form.php:517
 
4197
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:432
4198
- #: src/Helpers/Metas/SocialSettings.php:68
4199
  msgid "Twitter description"
4200
  msgstr ""
4201
 
4202
- #: inc/admin/metaboxes/admin-metaboxes-form.php:516
4203
- #: src/Helpers/Metas/SocialSettings.php:65
4204
  msgid "Enter your Twitter description"
4205
  msgstr ""
4206
 
4207
- #: inc/admin/metaboxes/admin-metaboxes-form.php:520
4208
- #: inc/admin/metaboxes/admin-metaboxes-form.php:533
4209
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:443
4210
- #: src/Helpers/Metas/SocialSettings.php:77
4211
  msgid "Twitter Thumbnail"
4212
  msgstr ""
4213
 
4214
- #: inc/admin/metaboxes/admin-metaboxes-form.php:545
4215
  msgid ""
4216
  "The Social Networks feature is disabled. Still seing informations from the "
4217
  "Twitter Preview? You probably have social tags added by your theme or a "
4218
  "plugin."
4219
  msgstr ""
4220
 
4221
- #: inc/admin/metaboxes/admin-metaboxes-form.php:613
4222
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:494
4223
  msgid "Enable redirection?"
4224
  msgstr ""
4225
 
4226
- #: inc/admin/metaboxes/admin-metaboxes-form.php:618
4227
  msgid "Select a redirection type: "
4228
  msgstr ""
4229
 
4230
- #: inc/admin/metaboxes/admin-metaboxes-form.php:622
4231
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:510
4232
  #: src/Helpers/Metas/RedirectionSettings.php:42
4233
  msgid "301 Moved Permanently"
4234
  msgstr ""
4235
 
4236
- #: inc/admin/metaboxes/admin-metaboxes-form.php:625
4237
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:511
4238
  #: src/Helpers/Metas/RedirectionSettings.php:43
4239
  msgid "302 Found / Moved Temporarily"
4240
  msgstr ""
4241
 
4242
- #: inc/admin/metaboxes/admin-metaboxes-form.php:628
4243
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:512
4244
  #: src/Helpers/Metas/RedirectionSettings.php:44
4245
  msgid "307 Moved Temporarily"
4246
  msgstr ""
4247
 
4248
- #: inc/admin/metaboxes/admin-metaboxes-form.php:631
4249
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:513
4250
  #: src/Helpers/Metas/RedirectionSettings.php:45
4251
  msgid "410 Gone"
4252
  msgstr ""
4253
 
4254
- #: inc/admin/metaboxes/admin-metaboxes-form.php:634
4255
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:514
4256
  #: src/Helpers/Metas/RedirectionSettings.php:46
4257
  msgid "451 Unavailable For Legal Reasons"
4258
  msgstr ""
4259
 
4260
- #: inc/admin/metaboxes/admin-metaboxes-form.php:639
4261
- #: inc/admin/metaboxes/admin-metaboxes-form.php:643
4262
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:505
4263
  #: src/Helpers/Metas/RedirectionSettings.php:54
4264
  msgid "URL redirection"
4265
  msgstr ""
4266
 
4267
- #: inc/admin/metaboxes/admin-metaboxes-form.php:642
4268
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:523
4269
  #: src/Helpers/Metas/RedirectionSettings.php:53
4270
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
4271
  msgstr ""
4272
 
4273
- #: inc/admin/metaboxes/admin-metaboxes-form.php:649
4274
  msgid "Query parameters"
4275
  msgstr ""
4276
 
4277
- #: inc/admin/metaboxes/admin-metaboxes-form.php:652
4278
  msgid "Exactly match all parameters"
4279
  msgstr ""
4280
 
4281
- #: inc/admin/metaboxes/admin-metaboxes-form.php:655
4282
  msgid "Exclude all parameters"
4283
  msgstr ""
4284
 
4285
- #: inc/admin/metaboxes/admin-metaboxes-form.php:658
4286
  msgid "Exclude all parameters and pass them to the redirection"
4287
  msgstr ""
4288
 
4289
- #: inc/admin/metaboxes/admin-metaboxes-form.php:682
4290
  msgid "Test your URL"
4291
  msgstr ""
4292
 
4293
- #: inc/admin/metaboxes/admin-metaboxes-form.php:693
4294
  msgid "Need help with your redirections? Read our guide."
4295
  msgstr ""
4296
 
4297
- #: inc/admin/metaboxes/admin-metaboxes-form.php:711
4298
  msgid "Exclude this post from Google News Sitemap?"
4299
  msgstr ""
4300
 
4301
- #: inc/admin/metaboxes/admin-metaboxes-form.php:742
4302
  msgid "Exclude this post from Video Sitemap?"
4303
  msgstr ""
4304
 
4305
- #: inc/admin/metaboxes/admin-metaboxes-form.php:744
4306
  msgid ""
4307
  "If your post is set to noindex, it will be automatically excluded from the "
4308
  "sitemap."
4309
  msgstr ""
4310
 
4311
- #: inc/admin/metaboxes/admin-metaboxes-form.php:763
4312
  msgid "Video "
4313
  msgstr ""
4314
 
4315
- #: inc/admin/metaboxes/admin-metaboxes-form.php:768
4316
  msgid "Video URL (required)"
4317
  msgstr ""
4318
 
4319
- #: inc/admin/metaboxes/admin-metaboxes-form.php:773
4320
  msgid "Enter your video URL"
4321
  msgstr ""
4322
 
4323
- #: inc/admin/metaboxes/admin-metaboxes-form.php:774
4324
  msgid "Video URL"
4325
  msgstr ""
4326
 
4327
- #: inc/admin/metaboxes/admin-metaboxes-form.php:786
4328
  msgid ""
4329
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
4330
  "Check this if your video is hosting on this server."
4331
  msgstr ""
4332
 
4333
- #: inc/admin/metaboxes/admin-metaboxes-form.php:791
4334
  msgid "Video Title (required)"
4335
  msgstr ""
4336
 
4337
- #: inc/admin/metaboxes/admin-metaboxes-form.php:796
4338
  msgid "Enter your video title"
4339
  msgstr ""
4340
 
4341
- #: inc/admin/metaboxes/admin-metaboxes-form.php:797
4342
  msgid "Video title"
4343
  msgstr ""
4344
 
4345
- #: inc/admin/metaboxes/admin-metaboxes-form.php:799
4346
  msgid "Default: title tag, if not available, post title."
4347
  msgstr ""
4348
 
4349
- #: inc/admin/metaboxes/admin-metaboxes-form.php:803
4350
  msgid "Video Description (required)"
4351
  msgstr ""
4352
 
4353
- #: inc/admin/metaboxes/admin-metaboxes-form.php:808
4354
  msgid "Enter your video description"
4355
  msgstr ""
4356
 
4357
- #: inc/admin/metaboxes/admin-metaboxes-form.php:809
4358
  msgid "Video description"
4359
  msgstr ""
4360
 
4361
- #: inc/admin/metaboxes/admin-metaboxes-form.php:810
4362
  msgid ""
4363
  "2048 characters max.; default: meta description. If not available, use the "
4364
  "beginning of the post content."
4365
  msgstr ""
4366
 
4367
- #: inc/admin/metaboxes/admin-metaboxes-form.php:814
4368
  msgid "Video Thumbnail (required)"
4369
  msgstr ""
4370
 
4371
- #: inc/admin/metaboxes/admin-metaboxes-form.php:821
4372
  msgid "Select your video thumbnail"
4373
  msgstr ""
4374
 
4375
- #: inc/admin/metaboxes/admin-metaboxes-form.php:828
4376
  msgid "Video Thumbnail"
4377
  msgstr ""
4378
 
4379
- #: inc/admin/metaboxes/admin-metaboxes-form.php:831
4380
  msgid ""
4381
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
4382
  "your post featured image."
4383
  msgstr ""
4384
 
4385
- #: inc/admin/metaboxes/admin-metaboxes-form.php:836
4386
  msgid "Video Duration (recommended)"
4387
  msgstr ""
4388
 
4389
- #: inc/admin/metaboxes/admin-metaboxes-form.php:841
4390
  msgid "Duration in seconds"
4391
  msgstr ""
4392
 
4393
- #: inc/admin/metaboxes/admin-metaboxes-form.php:842
4394
  msgid "Video duration"
4395
  msgstr ""
4396
 
4397
- #: inc/admin/metaboxes/admin-metaboxes-form.php:844
4398
  msgid ""
4399
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
4400
  "hours)."
4401
  msgstr ""
4402
 
4403
- #: inc/admin/metaboxes/admin-metaboxes-form.php:848
4404
  msgid "Video Rating"
4405
  msgstr ""
4406
 
4407
- #: inc/admin/metaboxes/admin-metaboxes-form.php:853
4408
- #: inc/admin/metaboxes/admin-metaboxes-form.php:854
4409
  msgid "Video rating"
4410
  msgstr ""
4411
 
4412
- #: inc/admin/metaboxes/admin-metaboxes-form.php:856
4413
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
4414
  msgstr ""
4415
 
4416
- #: inc/admin/metaboxes/admin-metaboxes-form.php:860
4417
- #: inc/admin/metaboxes/admin-metaboxes-form.php:866
4418
  msgid "View count"
4419
  msgstr ""
4420
 
4421
- #: inc/admin/metaboxes/admin-metaboxes-form.php:865
4422
  msgid "Number of views"
4423
  msgstr ""
4424
 
4425
- #: inc/admin/metaboxes/admin-metaboxes-form.php:871
4426
- #: inc/admin/metaboxes/admin-metaboxes-form.php:877
4427
  msgid "Video tags"
4428
  msgstr ""
4429
 
4430
- #: inc/admin/metaboxes/admin-metaboxes-form.php:876
4431
  msgid "Enter your video tags"
4432
  msgstr ""
4433
 
4434
- #: inc/admin/metaboxes/admin-metaboxes-form.php:879
4435
  msgid ""
4436
  "32 tags max., separate tags with commas. Default: target keywords + post "
4437
  "tags if available."
4438
  msgstr ""
4439
 
4440
- #: inc/admin/metaboxes/admin-metaboxes-form.php:883
4441
- #: inc/admin/metaboxes/admin-metaboxes-form.php:889
4442
  msgid "Video categories"
4443
  msgstr ""
4444
 
4445
- #: inc/admin/metaboxes/admin-metaboxes-form.php:888
4446
  msgid "Enter your video categories"
4447
  msgstr ""
4448
 
4449
- #: inc/admin/metaboxes/admin-metaboxes-form.php:891
4450
  msgid ""
4451
  "256 characters max., usually a video will belong to a single category, "
4452
  "separate categories with commas. Default: first post category if available."
4453
  msgstr ""
4454
 
4455
- #: inc/admin/metaboxes/admin-metaboxes-form.php:902
4456
  msgid "NOT family friendly?"
4457
  msgstr ""
4458
 
4459
- #: inc/admin/metaboxes/admin-metaboxes-form.php:904
4460
  msgid "The video will be available only to users with SafeSearch turned off."
4461
  msgstr ""
4462
 
4463
- #: inc/admin/metaboxes/admin-metaboxes-form.php:907
4464
  msgid "Remove video"
4465
  msgstr ""
4466
 
4467
- #: inc/admin/metaboxes/admin-metaboxes-form.php:917
4468
  msgid "Add video"
4469
  msgstr ""
4470
 
4471
  #. @deprecated 4.4.0
4472
  #. @deprecated 4.4.0
4473
  #: inc/admin/metaboxes/admin-metaboxes.php:281
4474
- #: inc/admin/metaboxes/admin-metaboxes.php:621
4475
  #: inc/admin/metaboxes/admin-term-metaboxes.php:217
4476
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:72
4477
  #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:35
4478
  msgid "Analysis in progress..."
4479
  msgstr ""
4480
 
4481
- #: inc/admin/metaboxes/admin-metaboxes.php:601
4482
  #: src/Services/ContentAnalysis/RenderContentAnalysis.php:19
4483
  msgid "Content analysis"
4484
  msgstr ""
@@ -5078,13 +5218,17 @@ msgid ""
5078
  msgstr ""
5079
 
5080
  #: inc/admin/sections/Tools.php:23
 
 
 
 
5081
  msgid ""
5082
  "<strong>Warning</strong>: always test your site after activating one of "
5083
  "these options. Running shortcodes to automatically generate meta title / "
5084
  "description can have side effects. Clear your cache if necessary."
5085
  msgstr ""
5086
 
5087
- #: inc/admin/sections/Tools.php:24
5088
  msgid "Learn more about automatic meta descriptions"
5089
  msgstr ""
5090
 
@@ -5125,146 +5269,152 @@ msgstr ""
5125
 
5126
  #. ID
5127
  #: inc/admin/settings/Advanced.php:80
5128
- msgid "Remove WordPress shortlink meta tag"
 
5129
  msgstr ""
5130
 
5131
  #. ID
5132
  #: inc/admin/settings/Advanced.php:88
5133
- msgid "Remove Windows Live Writer meta tag"
5134
  msgstr ""
5135
 
5136
  #. ID
5137
  #: inc/admin/settings/Advanced.php:96
 
 
 
 
 
5138
  msgid "Remove RSD meta tag"
5139
  msgstr ""
5140
 
5141
  #. ID
5142
- #: inc/admin/settings/Advanced.php:145
5143
  msgid "SEO in admin bar"
5144
  msgstr ""
5145
 
5146
  #. ID
5147
- #: inc/admin/settings/Advanced.php:153
5148
  msgid "Universal Metabox (Gutenberg)"
5149
  msgstr ""
5150
 
5151
  #. ID
5152
- #: inc/admin/settings/Advanced.php:160
5153
  msgid "Disable Universal Metabox"
5154
  msgstr ""
5155
 
5156
  #. ID
5157
- #: inc/admin/settings/Advanced.php:168
5158
  msgid "Noindex in admin bar"
5159
  msgstr ""
5160
 
5161
  #. ID
5162
- #: inc/admin/settings/Advanced.php:176
5163
  msgid "Move SEO metabox's position"
5164
  msgstr ""
5165
 
5166
  #. ID
5167
- #: inc/admin/settings/Advanced.php:185
5168
  msgid "Set default tab for Structured data metabox"
5169
  msgstr ""
5170
 
5171
  #. ID
5172
- #: inc/admin/settings/Advanced.php:194
5173
  msgid "Hide Notifications Center"
5174
  msgstr ""
5175
 
5176
  #. ID
5177
- #: inc/admin/settings/Advanced.php:202
5178
  msgid "Hide SEO News"
5179
  msgstr ""
5180
 
5181
  #. ID
5182
- #: inc/admin/settings/Advanced.php:210
5183
  msgid "Hide SEO tools"
5184
  msgstr ""
5185
 
5186
  #. ID
5187
- #: inc/admin/settings/Advanced.php:218 inc/admin/wizard/admin-wizard.php:865
5188
  msgid "Show Title tag column in post types"
5189
  msgstr ""
5190
 
5191
  #. ID
5192
- #: inc/admin/settings/Advanced.php:226 inc/admin/wizard/admin-wizard.php:875
5193
  msgid "Show Meta description column in post types"
5194
  msgstr ""
5195
 
5196
  #. ID
5197
- #: inc/admin/settings/Advanced.php:234
5198
  msgid "Show Redirection Enable column in post types"
5199
  msgstr ""
5200
 
5201
  #. ID
5202
- #: inc/admin/settings/Advanced.php:242
5203
  msgid "Show Redirect URL column in post types"
5204
  msgstr ""
5205
 
5206
  #. ID
5207
- #: inc/admin/settings/Advanced.php:250
5208
  msgid "Show canonical URL column in post types"
5209
  msgstr ""
5210
 
5211
  #. ID
5212
- #: inc/admin/settings/Advanced.php:258
5213
  msgid "Show Target Keyword column in post types"
5214
  msgstr ""
5215
 
5216
  #. ID
5217
- #: inc/admin/settings/Advanced.php:266 inc/admin/wizard/admin-wizard.php:885
5218
  msgid "Show noindex column in post types"
5219
  msgstr ""
5220
 
5221
  #. ID
5222
- #: inc/admin/settings/Advanced.php:274 inc/admin/wizard/admin-wizard.php:898
5223
  msgid "Show nofollow column in post types"
5224
  msgstr ""
5225
 
5226
  #. ID
5227
- #: inc/admin/settings/Advanced.php:282
5228
  msgid "Show total number of words column in post types"
5229
  msgstr ""
5230
 
5231
  #. ID
5232
- #: inc/admin/settings/Advanced.php:291
5233
  msgid "Show Google Page Speed column in post types"
5234
  msgstr ""
5235
 
5236
  #. ID
5237
- #: inc/admin/settings/Advanced.php:301
5238
  msgid "Show Insights column in post types"
5239
  msgstr ""
5240
 
5241
  #. ID
5242
- #: inc/admin/settings/Advanced.php:310 inc/admin/wizard/admin-wizard.php:911
5243
  msgid "Show content analysis score column in post types"
5244
  msgstr ""
5245
 
5246
  #. ID
5247
- #: inc/admin/settings/Advanced.php:326
5248
  msgid "Hide Genesis SEO Metabox"
5249
  msgstr ""
5250
 
5251
  #. ID
5252
- #: inc/admin/settings/Advanced.php:334
5253
  msgid "Hide Genesis SEO Settings link"
5254
  msgstr ""
5255
 
5256
  #. ID
5257
- #: inc/admin/settings/Advanced.php:342
5258
  msgid "Hide advice in Structured Data Types metabox"
5259
  msgstr ""
5260
 
5261
  #. ID
5262
- #: inc/admin/settings/Advanced.php:359
5263
  msgid "Block SEO metabox to user roles"
5264
  msgstr ""
5265
 
5266
  #. ID
5267
- #: inc/admin/settings/Advanced.php:375
5268
  msgid "Block Content analysis metabox to user roles"
5269
  msgstr ""
5270
 
@@ -5525,7 +5675,7 @@ msgid "Remove links from archive pages"
5525
  msgstr ""
5526
 
5527
  #. ID
5528
- #: inc/admin/settings/Social.php:16 inc/admin/wizard/admin-wizard.php:433
5529
  msgid "Person or organization"
5530
  msgstr ""
5531
 
@@ -5540,7 +5690,7 @@ msgid "Contact option (only for Organizations)"
5540
  msgstr ""
5541
 
5542
  #. ID
5543
- #: inc/admin/settings/Social.php:81 inc/admin/wizard/admin-wizard.php:476
5544
  msgid "Twitter Username"
5545
  msgstr ""
5546
 
@@ -5641,15 +5791,15 @@ msgstr ""
5641
  msgid "Import SEO settings"
5642
  msgstr ""
5643
 
5644
- #: inc/admin/wizard/admin-wizard.php:134 inc/admin/wizard/admin-wizard.php:408
5645
  msgid "Your site"
5646
  msgstr ""
5647
 
5648
- #: inc/admin/wizard/admin-wizard.php:139 inc/admin/wizard/admin-wizard.php:562
5649
  msgid "Indexing"
5650
  msgstr ""
5651
 
5652
- #: inc/admin/wizard/admin-wizard.php:144 inc/admin/wizard/admin-wizard.php:755
5653
  msgid "Advanced options"
5654
  msgstr ""
5655
 
@@ -5665,290 +5815,294 @@ msgstr ""
5665
  msgid "Not right now"
5666
  msgstr ""
5667
 
5668
- #: inc/admin/wizard/admin-wizard.php:248
5669
  msgid "Skip this step"
5670
  msgstr ""
5671
 
5672
- #: inc/admin/wizard/admin-wizard.php:325
5673
  msgid ""
5674
  "The following wizard will help you configure SEOPress and get you started "
5675
  "quickly."
5676
  msgstr ""
5677
 
5678
- #: inc/admin/wizard/admin-wizard.php:327
5679
  msgid ""
5680
  "The first step is to import your previous settings from other plugins to "
5681
  "keep your SEO."
5682
  msgstr ""
5683
 
5684
- #: inc/admin/wizard/admin-wizard.php:329
5685
  msgid "No data to migrate? Click \"Next step\" button!"
5686
  msgstr ""
5687
 
5688
- #: inc/admin/wizard/admin-wizard.php:369 inc/admin/wizard/admin-wizard.php:371
5689
- #: inc/admin/wizard/admin-wizard.php:1025
5690
- #: inc/admin/wizard/admin-wizard.php:1064
5691
  msgid "Next step"
5692
  msgstr ""
5693
 
5694
- #: inc/admin/wizard/admin-wizard.php:411
5695
  msgid ""
5696
  "To build title tags and knowledge graph for Google, you need to fill out the "
5697
  "fields below to configure the general settings. "
5698
  msgstr ""
5699
 
5700
- #: inc/admin/wizard/admin-wizard.php:417
5701
  msgid "eg: |"
5702
  msgstr ""
5703
 
5704
- #: inc/admin/wizard/admin-wizard.php:422
5705
  #, php-format
5706
  msgid ""
5707
  "This separator will be used by the dynamic variable <strong>%%sep%%</strong> "
5708
  "in your title and meta description templates."
5709
  msgstr ""
5710
 
5711
- #: inc/admin/wizard/admin-wizard.php:426
5712
  msgid "Home site title"
5713
  msgstr ""
5714
 
5715
- #: inc/admin/wizard/admin-wizard.php:428
5716
  msgid "eg: My super website"
5717
  msgstr ""
5718
 
5719
- #: inc/admin/wizard/admin-wizard.php:435
5720
  msgid "Choose a knowledge type"
5721
  msgstr ""
5722
 
5723
- #: inc/admin/wizard/admin-wizard.php:457
5724
  msgid "eg: My Company Name"
5725
  msgstr ""
5726
 
5727
- #: inc/admin/wizard/admin-wizard.php:464
5728
  msgid "eg: https://www.example.com/logo.png"
5729
  msgstr ""
5730
 
5731
- #: inc/admin/wizard/admin-wizard.php:469
5732
  msgid "Facebook page URL"
5733
  msgstr ""
5734
 
5735
- #: inc/admin/wizard/admin-wizard.php:512 inc/admin/wizard/admin-wizard.php:514
5736
- #: inc/admin/wizard/admin-wizard.php:681 inc/admin/wizard/admin-wizard.php:683
5737
- #: inc/admin/wizard/admin-wizard.php:921 inc/admin/wizard/admin-wizard.php:923
5738
  msgid "Continue"
5739
  msgstr ""
5740
 
5741
- #: inc/admin/wizard/admin-wizard.php:564
5742
  msgid "Specify to the search engines what you want to be indexed or not."
5743
  msgstr ""
5744
 
5745
- #: inc/admin/wizard/admin-wizard.php:566
5746
  msgid "Avoid indexing duplicate or poor quality content."
5747
  msgstr ""
5748
 
5749
- #: inc/admin/wizard/admin-wizard.php:568
5750
  msgid "Default: index"
5751
  msgstr ""
5752
 
5753
- #: inc/admin/wizard/admin-wizard.php:575
5754
  msgid "For which single post types, should indexing be disabled?"
5755
  msgstr ""
5756
 
5757
- #: inc/admin/wizard/admin-wizard.php:598
5758
  msgid ""
5759
  "Do not display this single post type in search engine "
5760
  "results <strong>(noindex)</strong>"
5761
  msgstr ""
5762
 
5763
- #: inc/admin/wizard/admin-wizard.php:611
5764
  msgid "For which post type archives, should indexing be disabled?"
5765
  msgstr ""
5766
 
5767
- #: inc/admin/wizard/admin-wizard.php:633
5768
  msgid ""
5769
  "Do not display this post type archive in search engine "
5770
  "results <strong>(noindex)</strong>"
5771
  msgstr ""
5772
 
5773
- #: inc/admin/wizard/admin-wizard.php:647
5774
  msgid "For which taxonomy archives, should indexing be disabled?"
5775
  msgstr ""
5776
 
5777
- #: inc/admin/wizard/admin-wizard.php:669
5778
  msgid ""
5779
  "Do not display this taxonomy archive in search engine "
5780
  "results <strong>(noindex)</strong>"
5781
  msgstr ""
5782
 
5783
- #: inc/admin/wizard/admin-wizard.php:757
5784
  msgid "Final step before being ready to rank on search engines!"
5785
  msgstr ""
5786
 
5787
- #: inc/admin/wizard/admin-wizard.php:772
5788
  msgid ""
5789
  "You only have one author on your site? Check this option to avoid duplicate "
5790
  "content."
5791
  msgstr ""
5792
 
5793
- #: inc/admin/wizard/admin-wizard.php:785
5794
  msgid ""
5795
  "By default, SEOPress redirects your Attachment pages to the parent post. "
5796
  "Optimize this by redirecting the user directly to the URL of the media file."
5797
  msgstr ""
5798
 
5799
- #: inc/admin/wizard/admin-wizard.php:804 inc/admin/wizard/admin-wizard.php:828
5800
  #, php-format
5801
  msgid "Shorten your URLs by removing %s and improve your SEO."
5802
  msgstr ""
5803
 
5804
- #: inc/admin/wizard/admin-wizard.php:833
5805
  msgid "Universal SEO metabox"
5806
  msgstr ""
5807
 
5808
- #: inc/admin/wizard/admin-wizard.php:838
5809
  msgid ""
5810
  "Edit your SEO metadata from your page or theme builder. Default: "
5811
  "<strong>Enabled</strong>."
5812
  msgstr ""
5813
 
5814
- #: inc/admin/wizard/admin-wizard.php:846
5815
  msgid "No, I prefer to use the good old one SEO metabox"
5816
  msgstr ""
5817
 
5818
- #: inc/admin/wizard/admin-wizard.php:850
5819
  msgid ""
5820
  "You can change this setting at anytime from SEO, Advanced settings page, "
5821
  "Appearance tab."
5822
  msgstr ""
5823
 
5824
- #: inc/admin/wizard/admin-wizard.php:855
 
 
 
 
5825
  msgid "Choose which SEO columns to display in post types list:"
5826
  msgstr ""
5827
 
5828
- #: inc/admin/wizard/admin-wizard.php:889
5829
  msgid "Quickly know if a content is in noindex."
5830
  msgstr ""
5831
 
5832
- #: inc/admin/wizard/admin-wizard.php:902
5833
  msgid "Quickly know if a content is in nofollow."
5834
  msgstr ""
5835
 
5836
- #: inc/admin/wizard/admin-wizard.php:915
5837
  msgid "Quickly know if a content is optimized for search engines."
5838
  msgstr ""
5839
 
5840
- #: inc/admin/wizard/admin-wizard.php:977
5841
  msgid ""
5842
  "Start monitoring your rankings and backlinks <br>directly from your "
5843
  "WordPress admin"
5844
  msgstr ""
5845
 
5846
- #: inc/admin/wizard/admin-wizard.php:980
5847
  msgid "Track your keyword positions from Google Search results daily."
5848
  msgstr ""
5849
 
5850
- #: inc/admin/wizard/admin-wizard.php:983
5851
  msgid "Monitor and analyse your top 1,000 Backlinks weekly."
5852
  msgstr ""
5853
 
5854
- #: inc/admin/wizard/admin-wizard.php:986
5855
  msgid "Export your data to CSV, PDF, Excel."
5856
  msgstr ""
5857
 
5858
- #: inc/admin/wizard/admin-wizard.php:997
5859
  msgid "Get SEOPress Insights"
5860
  msgstr ""
5861
 
5862
  #. Flush permalinks
5863
- #: inc/admin/wizard/admin-wizard.php:1017
5864
  msgid "Your site is now ready for search engines!"
5865
  msgstr ""
5866
 
5867
- #: inc/admin/wizard/admin-wizard.php:1028
5868
  #: inc/functions/options-advanced-admin.php:23
5869
  msgid "Welcome to SEOPress PRO!"
5870
  msgstr ""
5871
 
5872
- #: inc/admin/wizard/admin-wizard.php:1031
5873
  #: inc/functions/options-advanced-admin.php:25
5874
  msgid ""
5875
  "Please activate your license to receive automatic updates and get premium "
5876
  "support."
5877
  msgstr ""
5878
 
5879
- #: inc/admin/wizard/admin-wizard.php:1038
5880
  #: inc/functions/options-advanced-admin.php:27
5881
  msgid "Activate License"
5882
  msgstr ""
5883
 
5884
- #: inc/admin/wizard/admin-wizard.php:1045
5885
  msgid "Go PRO with SEOPress PRO!"
5886
  msgstr ""
5887
 
5888
- #: inc/admin/wizard/admin-wizard.php:1048
5889
  msgid ""
5890
  "When you upgrade to the PRO version, you get a lot of additional features, "
5891
  "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
5892
  "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
5893
  msgstr ""
5894
 
5895
- #: inc/admin/wizard/admin-wizard.php:1055
5896
  msgid "Buy SEOPress PRO - $39 / unlimited sites"
5897
  msgstr ""
5898
 
5899
- #: inc/admin/wizard/admin-wizard.php:1066
5900
  msgid "Create your XML sitemaps"
5901
  msgstr ""
5902
 
5903
- #: inc/admin/wizard/admin-wizard.php:1068
5904
  msgid "Build custom XML sitemaps to improve Google's crawling of your site."
5905
  msgstr ""
5906
 
5907
- #: inc/admin/wizard/admin-wizard.php:1075
5908
  msgid "Configure your XML sitemaps"
5909
  msgstr ""
5910
 
5911
- #: inc/admin/wizard/admin-wizard.php:1083
5912
  msgid "Follow us:"
5913
  msgstr ""
5914
 
5915
- #: inc/admin/wizard/admin-wizard.php:1092
5916
  msgid "Like our Facebook page"
5917
  msgstr ""
5918
 
5919
- #: inc/admin/wizard/admin-wizard.php:1099
5920
  msgid "Join our Facebook Community group"
5921
  msgstr ""
5922
 
5923
- #: inc/admin/wizard/admin-wizard.php:1106
5924
  msgid "Watch our guided tour videos to learn more about SEOPress"
5925
  msgstr ""
5926
 
5927
- #: inc/admin/wizard/admin-wizard.php:1113
5928
  msgid "Read our blog posts about SEO concepts, tutorials and more"
5929
  msgstr ""
5930
 
5931
- #: inc/admin/wizard/admin-wizard.php:1120
5932
  msgid "Follow us on Twitter"
5933
  msgstr ""
5934
 
5935
- #: inc/admin/wizard/admin-wizard.php:1127
5936
  msgid "The off side of SEOPress"
5937
  msgstr ""
5938
 
5939
- #: inc/admin/wizard/admin-wizard.php:1136
5940
  msgid "You can also:"
5941
  msgstr ""
5942
 
5943
- #: inc/admin/wizard/admin-wizard.php:1143
5944
  msgid "Visit Dashboard"
5945
  msgstr ""
5946
 
5947
- #: inc/admin/wizard/admin-wizard.php:1147
5948
  msgid "Review Settings"
5949
  msgstr ""
5950
 
5951
- #: inc/admin/wizard/admin-wizard.php:1152
5952
  msgid "Knowledge base"
5953
  msgstr ""
5954
 
@@ -6056,15 +6210,15 @@ msgid "Connected users"
6056
  msgstr ""
6057
 
6058
  #: inc/functions/options-import-export.php:60
6059
- #: inc/functions/options-import-export.php:439
6060
  msgid "Please upload a valid .json file"
6061
  msgstr ""
6062
 
6063
  #: inc/functions/options-import-export.php:65
6064
  #: inc/functions/options-import-export.php:137
6065
  #: inc/functions/options-import-export.php:241
6066
- #: inc/functions/options-import-export.php:443
6067
- #: inc/functions/options-import-export.php:512
6068
  msgid "Please upload a file to import"
6069
  msgstr ""
6070
 
@@ -6081,7 +6235,7 @@ msgstr ""
6081
  msgid "Invalid separator"
6082
  msgstr ""
6083
 
6084
- #: inc/functions/options-import-export.php:508
6085
  msgid "Please upload a valid .txt file"
6086
  msgstr ""
6087
 
@@ -6104,7 +6258,7 @@ msgid "Last update"
6104
  msgstr ""
6105
 
6106
  #. translators: %d current page (eg: 2) %2$d total number of pages (eg: 30)
6107
- #: inc/functions/variables/dynamic-variables.php:74 src/Tags/Page.php:35
6108
  #, php-format
6109
  msgid "Page %d of %2$d"
6110
  msgstr ""
@@ -6604,11 +6758,6 @@ msgstr ""
6604
  msgid "Your Twitter Title is missing!"
6605
  msgstr ""
6606
 
6607
- #. twitter:description
6608
- #: src/Services/ContentAnalysis/GetContent.php:563
6609
- msgid "Twitter Description"
6610
- msgstr ""
6611
-
6612
  #: src/Services/ContentAnalysis/GetContent.php:572
6613
  #, php-format
6614
  msgid "We found %d twitter:description in your content."
@@ -6633,11 +6782,6 @@ msgstr ""
6633
  msgid "Your Twitter Description is missing!"
6634
  msgstr ""
6635
 
6636
- #. twitter:image
6637
- #: src/Services/ContentAnalysis/GetContent.php:594
6638
- msgid "Twitter Image"
6639
- msgstr ""
6640
-
6641
  #: src/Services/ContentAnalysis/GetContent.php:602
6642
  #, php-format
6643
  msgid "We found %d twitter:image in your content."
@@ -6844,6 +6988,10 @@ msgstr ""
6844
  msgid "Month Archive Date"
6845
  msgstr ""
6846
 
 
 
 
 
6847
  #: src/Tags/Date/ArchiveDateYear.php:15
6848
  msgid "Year Archive Date"
6849
  msgstr ""
3
  msgstr ""
4
  "Project-Id-Version: SEOPress\n"
5
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/wp-cloudy\n"
6
+ "POT-Creation-Date: 2021-10-28 15:39+0200\n"
7
  "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
8
  "Last-Translator: \n"
9
  "Language-Team: Benjamin DENIS <contact@seopress.org>\n"
22
  "X-Poedit-SearchPathExcluded-2: vendor\n"
23
  "X-Poedit-SearchPathExcluded-3: bin\n"
24
 
25
+ #: app/react/components/Forms/MetaTitleDescription/index.js:75
26
+ #: app/react/services/content-analysis/socialTags.js:13
27
  #: inc/admin/metaboxes/admin-metaboxes-form.php:103
28
  #: inc/admin/metaboxes/admin-metaboxes-form.php:110
29
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:126
30
  msgid "Title"
31
  msgstr ""
32
 
33
+ #: app/react/components/Forms/MetaTitleDescription/index.js:77
34
+ #: inc/admin/admin-pages/Tools.php:69 inc/admin/admin-pages/Tools.php:115
35
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:104
36
+ #: src/Helpers/ContentAnalysis.php:48
37
+ msgid "Meta title"
38
+ msgstr ""
39
+
40
  #: app/react/components/Forms/MetaTitleDescription/index.js:81
41
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:104
42
+ msgid ""
43
+ "Titles are critical to give users a quick insight into the content of a "
44
+ "result and why it’s relevant to their query. It's often the primary piece of "
45
+ "information used to decide which result to click on, so it's important to "
46
+ "use high-quality titles on your web pages."
47
+ msgstr ""
48
+
49
+ #: app/react/components/Forms/MetaTitleDescription/index.js:96
50
  #: inc/admin/metaboxes/admin-metaboxes-form.php:109
51
  msgid "Enter your title"
52
  msgstr ""
53
 
54
+ #: app/react/components/Forms/MetaTitleDescription/index.js:115
55
+ #: app/react/components/Forms/MetaTitleDescription/index.js:198
56
  msgid "pixels"
57
  msgstr ""
58
 
59
+ #: app/react/components/Forms/MetaTitleDescription/index.js:132
60
+ #: app/react/components/Forms/MetaTitleDescription/index.js:213
61
  msgid "maximum recommended limit"
62
  msgstr ""
63
 
64
+ #. ID
65
+ #: app/react/components/Forms/MetaTitleDescription/index.js:143
66
+ #: app/react/components/Forms/MetaTitleDescription/index.js:145
67
+ #: inc/admin/admin-pages/Tools.php:72 inc/admin/admin-pages/Tools.php:118
68
+ #: inc/admin/callbacks/Titles.php:60
69
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:143
70
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:144
71
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:150
72
+ #: inc/admin/migrate/MigrationTools.php:14 inc/admin/settings/Titles.php:32
73
+ #: inc/functions/options-advanced-admin.php:858
74
+ #: src/Helpers/ContentAnalysis.php:53
75
+ msgid "Meta description"
76
+ msgstr ""
77
+
78
+ #: app/react/components/Forms/MetaTitleDescription/index.js:149
79
+ msgid ""
80
+ "A meta description tag should generally inform and interest users with a "
81
+ "short, relevant summary of what a particular page is about."
82
+ msgstr ""
83
+
84
+ #: app/react/components/Forms/MetaTitleDescription/index.js:154
85
+ msgid ""
86
+ "They are like a pitch that convince the user that the page is exactly what "
87
+ "they're looking for."
88
+ msgstr ""
89
+
90
+ #: app/react/components/Forms/MetaTitleDescription/index.js:159
91
+ msgid ""
92
+ "There's no limit on how long a meta description can be, but the search "
93
+ "result snippets are truncated as needed, typically to fit the device width."
94
  msgstr ""
95
 
96
+ #: app/react/components/Forms/MetaTitleDescription/index.js:178
97
  msgid "Enter your description"
98
  msgstr ""
99
 
100
+ #: app/react/components/Forms/MetaTitleDescription/index.js:224
101
+ #: app/react/layout/Main/components/Advanced/index.js:239
102
  #: inc/admin/blocks/news.php:49
103
  msgid "Save"
104
  msgstr ""
105
 
106
+ #: app/react/components/GooglePreview/index.js:158
 
 
 
 
107
  #: inc/admin/metaboxes/admin-metaboxes-form.php:187
108
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:150
109
  msgid "Google Snippet Preview"
110
  msgstr ""
111
 
112
+ #: app/react/components/GooglePreview/index.js:160
113
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:188
114
+ msgid "Snippet Preview"
115
+ msgstr ""
116
+
117
+ #: app/react/components/GooglePreview/index.js:164
118
+ msgid "The Google preview is a simulation."
119
+ msgstr ""
120
+
121
+ #: app/react/components/GooglePreview/index.js:169
122
+ msgid ""
123
+ "There is no reliable preview because it depends on the screen resolution, "
124
+ "the device used, the expression sought, and Google."
125
+ msgstr ""
126
+
127
+ #: app/react/components/GooglePreview/index.js:174
128
+ msgid "There is not one snippet for one URL but several."
129
+ msgstr ""
130
+
131
+ #: app/react/components/GooglePreview/index.js:179
132
+ msgid "All the data in this overview comes directly from your source code."
133
+ msgstr ""
134
+
135
+ #: app/react/components/GooglePreview/index.js:184
136
+ msgid "This is what the crawlers will see."
137
+ msgstr ""
138
+
139
+ #: app/react/components/GooglePreview/index.js:193
140
  #: inc/admin/metaboxes/admin-metaboxes-form.php:191
141
  msgid ""
142
  "This is what your page will look like in Google search results. You have to "
143
  "publish your post to get the Google Snippet Preview."
144
  msgstr ""
145
 
146
+ #: app/react/components/GooglePreview/index.js:210
147
  #: inc/admin/metaboxes/admin-metaboxes-form.php:196
148
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:95
149
  msgid "Mobile Preview"
150
  msgstr ""
151
 
152
+ #: app/react/constants/tabs.js:27 inc/admin/admin-bar/admin-bar.php:127
153
  #: inc/admin/admin-features-list.php:18 inc/admin/admin.php:99
154
  msgid "Titles & Metas"
155
  msgstr ""
156
 
157
+ #: app/react/constants/tabs.js:34
158
  msgid "Content Analysis"
159
  msgstr ""
160
 
161
+ #: app/react/constants/tabs.js:41 inc/admin/admin-bar/admin-bar.php:194
162
+ #: inc/admin/admin-features-list.php:116
163
+ msgid "Schemas"
164
+ msgstr ""
165
+
166
+ #: app/react/constants/tabs.js:53
167
  msgid "Title settings"
168
  msgstr ""
169
 
170
+ #: app/react/constants/tabs.js:59
171
  #: inc/admin/metaboxes/admin-metaboxes-form.php:54
172
  msgid "Social"
173
  msgstr ""
174
 
175
+ #: app/react/constants/tabs.js:65 inc/admin/admin-bar/admin-bar.php:151
176
  #: inc/admin/admin-features-list.php:42 inc/admin/admin-pages/Advanced.php:21
177
  #: inc/admin/admin-pages/Titles.php:24 inc/admin/admin.php:103
178
  #: inc/admin/metaboxes/admin-metaboxes-form.php:55
180
  msgid "Advanced"
181
  msgstr ""
182
 
183
+ #: app/react/constants/tabs.js:71
184
  #: inc/admin/metaboxes/admin-metaboxes-form.php:58
185
  msgid "Redirection"
186
  msgstr ""
187
 
188
+ #: app/react/constants/tabs.js:77
189
  #: inc/admin/metaboxes/admin-metaboxes-form.php:64
190
  msgid "Google News"
191
  msgstr ""
192
 
193
+ #: app/react/constants/tabs.js:83
194
  #: inc/admin/metaboxes/admin-metaboxes-form.php:71
195
  msgid "Video Sitemap"
196
  msgstr ""
197
 
198
+ #: app/react/constants/tabs.js:89
199
  msgid "Overview"
200
  msgstr ""
201
 
202
+ #: app/react/constants/tabs.js:96
203
  msgid "Internal Linking"
204
  msgstr ""
205
 
206
+ #: app/react/constants/tabs.js:102
207
+ msgid "Manual"
208
+ msgstr ""
209
+
210
  #: app/react/layout/Head/index.js:14 inc/admin/admin-bar/admin-bar.php:47
211
  #: inc/admin/admin.php:92 inc/admin/metaboxes/admin-metaboxes-form.php:39
212
  #: inc/admin/metaboxes/admin-metaboxes.php:237
216
  msgid "SEO"
217
  msgstr ""
218
 
219
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:16
220
  msgid "Do not display this page in search engine results / XML - HTML sitemaps"
221
  msgstr ""
222
 
223
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:22
224
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:259
225
+ msgid "\"noindex\" robots meta tag"
226
+ msgstr ""
227
+
228
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:26
229
+ msgid ""
230
+ "By checking this option, you will add a meta robots tag with the value "
231
+ "\"noindex\"."
232
+ msgstr ""
233
+
234
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:31
235
+ msgid "Search engines will not index this URL in the search results."
236
+ msgstr ""
237
+
238
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:43
239
  msgid "Do not follow links for this page"
240
  msgstr ""
241
 
242
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:47
243
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:270
244
+ msgid "\"nofollow\" robots meta tag"
245
+ msgstr ""
246
+
247
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:51
248
+ msgid ""
249
+ "By checking this option, you will add a meta robots tag with the value "
250
+ "\"nofollow\"."
251
+ msgstr ""
252
+
253
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:56
254
+ msgid "Search engines will not follow links from this URL."
255
+ msgstr ""
256
+
257
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:69
258
  msgid ""
259
  "Do not use Open Directory project metadata for titles or excerpts for this "
260
  "page"
261
  msgstr ""
262
 
263
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:75
264
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:280
265
+ msgid "\"noodp\" robots meta tag"
266
+ msgstr ""
267
+
268
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:79
269
+ msgid ""
270
+ "By checking this option, you will add a meta robots tag with the value "
271
+ "\"noodp\"."
272
+ msgstr ""
273
+
274
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:84
275
+ msgid ""
276
+ "Note that Google and Yahoo have stopped considering this tag since the "
277
+ "closing of DMOZ directory."
278
+ msgstr ""
279
+
280
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:97
281
  msgid "Do not display a 'Cached' link in the Google search results"
282
  msgstr ""
283
 
284
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:103
285
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:298
286
+ msgid "\"noarchive\" robots meta tag"
287
+ msgstr ""
288
+
289
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:107
290
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:298
291
+ msgid ""
292
+ "By checking this option, you will add a meta robots tag with the value "
293
+ "\"noarchive\"."
294
+ msgstr ""
295
+
296
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:120
297
  msgid "Do not display a description in search results for this page"
298
  msgstr ""
299
 
300
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:126
301
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:307
302
+ msgid "\"nosnippet\" robots meta tag"
303
+ msgstr ""
304
+
305
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:130
306
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:307
307
+ msgid ""
308
+ "By checking this option, you will add a meta robots tag with the value "
309
+ "\"nosnippet\"."
310
+ msgstr ""
311
+
312
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:142
313
  msgid "Do not index images for this page"
314
  msgstr ""
315
 
316
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:146
317
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:289
318
+ msgid "\"noimageindex\" robots meta tag"
319
+ msgstr ""
320
+
321
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:150
322
+ msgid ""
323
+ "By checking this option, you will add a meta robots tag with the value "
324
+ "\"noimageindex\"."
325
+ msgstr ""
326
+
327
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:155
328
+ msgid ""
329
+ "Note that your images can always be indexed if they are linked from other "
330
+ "pages."
331
+ msgstr ""
332
+
333
  #. translators: %s: link to plugin settings page
334
+ #: app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js:175
335
  #: inc/admin/metaboxes/admin-metaboxes-form.php:249
336
  #, javascript-format, php-format
337
  msgid ""
339
  "in the <a href=\"%s\">global settings of the plugin.</a>"
340
  msgstr ""
341
 
342
+ #: app/react/layout/Main/components/Advanced/index.js:38
343
  #: app/react/layout/Main/components/GoogleNews/index.js:41
344
  #: app/react/layout/Main/components/MainTitleDescription/index.js:33
345
  #: app/react/layout/Main/components/Redirection/index.js:41
347
  msgid "Your settings have been saved."
348
  msgstr ""
349
 
350
+ #: app/react/layout/Main/components/Advanced/index.js:48
351
  #: inc/admin/metaboxes/admin-metaboxes-form.php:245
352
  msgid "Meta robots settings"
353
  msgstr ""
354
 
355
+ #: app/react/layout/Main/components/Advanced/index.js:145
356
+ #: inc/admin/admin-pages/Tools.php:90 inc/admin/admin-pages/Tools.php:136
357
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:313
358
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:314
359
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:320
360
+ #: inc/admin/migrate/MigrationTools.php:23
361
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:263
362
+ #: src/Helpers/ContentAnalysis.php:13 src/Helpers/Metas/RobotSettings.php:100
363
+ msgid "Canonical URL"
364
+ msgstr ""
365
+
366
+ #: app/react/layout/Main/components/Advanced/index.js:151
367
+ msgid ""
368
+ "A canonical URL is the URL of the page that Google thinks is most "
369
+ "representative from a set of duplicate pages on your site."
370
+ msgstr ""
371
+
372
+ #: app/react/layout/Main/components/Advanced/index.js:156
373
+ msgid ""
374
+ "For example, if you have URLs for the same page (for example: example.com?"
375
+ "dress=1234 and example.com/dresses/1234), Google chooses one as canonical."
376
+ msgstr ""
377
+
378
+ #: app/react/layout/Main/components/Advanced/index.js:161
379
+ msgid ""
380
+ "Note that the pages do not need to be absolutely identical; minor changes in "
381
+ "sorting or filtering of list pages do not make the page unique (for example, "
382
+ "sorting by price or filtering by item color). The canonical can be in a "
383
+ "different domain than a duplicate."
384
+ msgstr ""
385
+
386
+ #: app/react/layout/Main/components/ContentAnalysis/index.js:477
387
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:75
388
  #: inc/admin/page-builders/elementor/inc/controls/class-google-suggestions-control.php:53
389
  msgid "Get suggestions!"
408
  msgstr ""
409
 
410
  #: app/react/layout/Main/components/Social/Preview/index.js:247
411
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:428
412
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:407
413
  msgid "Facebook Preview"
414
  msgstr ""
415
 
416
  #: app/react/layout/Main/components/Social/Preview/index.js:251
417
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:432
418
  msgid ""
419
  "This is what your post will look like in Facebook. You have to publish your "
420
  "post to get the Facebook Preview."
426
  msgstr ""
427
 
428
  #: app/react/layout/Main/components/Social/Preview/index.js:259
429
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:454
430
  msgid "The closer to 1.91 the better."
431
  msgstr ""
432
 
433
  #: app/react/layout/Main/components/Social/Preview/index.js:266
434
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:445
435
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:47
436
  msgid ""
437
  "Minimun size for Facebook is <strong>200x200px</strong>. Please choose "
439
  msgstr ""
440
 
441
  #: app/react/layout/Main/components/Social/Preview/index.js:275
442
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:441
443
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:46
444
  msgid "File type not supported by Facebook. Please choose another image."
445
  msgstr ""
446
 
447
  #: app/react/layout/Main/components/Social/Preview/index.js:283
448
  #: app/react/layout/Main/components/Social/Preview/index.js:371
449
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:449
450
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:566
451
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:48
452
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:72
453
  msgid "File error. Please choose another image."
459
  msgstr ""
460
 
461
  #: app/react/layout/Main/components/Social/Preview/index.js:332
462
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:547
463
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:456
464
  msgid "Twitter Preview"
465
  msgstr ""
466
 
467
  #: app/react/layout/Main/components/Social/Preview/index.js:336
468
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:550
469
  msgid ""
470
  "This is what your post will look like in Twitter. You have to publish your "
471
  "post to get the Twitter Preview."
472
  msgstr ""
473
 
474
  #: app/react/layout/Main/components/Social/Preview/index.js:345
475
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:571
476
  msgid "The closer to 1 the better (with large card, 2 is better)."
477
  msgstr ""
478
 
479
  #: app/react/layout/Main/components/Social/Preview/index.js:354
480
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:562
481
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:71
482
  msgid ""
483
  "Minimun size for Twitter is <strong>144x144px</strong>. Please choose "
485
  msgstr ""
486
 
487
  #: app/react/layout/Main/components/Social/Preview/index.js:363
488
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:558
489
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:70
490
  msgid "File type not supported by Twitter. Please choose another image."
491
  msgstr ""
497
  "Facebook. Twitter does the same if no Twitter cards tags are defined below."
498
  msgstr ""
499
 
500
+ #: app/react/layout/Main/index.js:93 app/react/layout/SeoBar/index.js:51
501
  msgid "Loading your data"
502
  msgstr ""
503
 
720
  msgid "We found these schemas in the source code of this page:"
721
  msgstr ""
722
 
723
+ #. twitter:title
724
+ #: app/react/services/content-analysis/socialTags.js:11
725
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:509
726
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:513
727
+ #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:421
728
+ #: src/Helpers/Metas/SocialSettings.php:71
729
+ #: src/Services/ContentAnalysis/GetContent.php:532
730
+ msgid "Twitter Title"
731
+ msgstr ""
732
+
733
+ #. twitter:description
734
+ #: app/react/services/content-analysis/socialTags.js:15
735
+ #: src/Services/ContentAnalysis/GetContent.php:563
736
+ msgid "Twitter Description"
737
+ msgstr ""
738
+
739
+ #: app/react/services/content-analysis/socialTags.js:17
740
+ #: inc/functions/options-advanced-admin.php:1039
741
+ msgid "Description"
742
+ msgstr ""
743
+
744
+ #. twitter:image
745
+ #: app/react/services/content-analysis/socialTags.js:19
746
+ #: src/Services/ContentAnalysis/GetContent.php:594
747
+ msgid "Twitter Image"
748
+ msgstr ""
749
+
750
+ #: app/react/services/content-analysis/socialTags.js:21
751
  msgid "Image"
752
  msgstr ""
753
 
754
+ #: app/react/services/content-analysis/socialTags.js:23
755
  msgid "URL"
756
  msgstr ""
757
 
758
+ #: app/react/services/content-analysis/socialTags.js:25
759
  msgid "Site Name"
760
  msgstr ""
761
 
762
+ #: app/react/services/content-analysis/socialTags.js:58
763
  msgid "Open Graph"
764
  msgstr ""
765
 
766
+ #: app/react/services/content-analysis/socialTags.js:74
767
  msgid "Twitter"
768
  msgstr ""
769
 
770
+ #: app/react/services/content-analysis/socialTags.js:90
771
  msgid ""
772
  ",\n"
773
  " \"wp-seopress\"\n"
945
  msgid "PRO"
946
  msgstr ""
947
 
 
 
 
 
948
  #: inc/admin/admin-bar/admin-bar.php:202 inc/admin/admin-features-list.php:122
949
  #: inc/admin/admin-pages/Tools.php:23
950
  msgid "Redirections"
993
  msgstr ""
994
 
995
  #: inc/admin/admin-dyn-variables-helper.php:7 inc/admin/callbacks/Titles.php:37
996
+ #: inc/admin/callbacks/Titles.php:230 inc/admin/callbacks/Titles.php:438
997
+ #: inc/admin/callbacks/Titles.php:658 inc/admin/callbacks/Titles.php:870
998
+ #: inc/admin/callbacks/Titles.php:1013 inc/admin/callbacks/Titles.php:1106
999
+ #: inc/admin/callbacks/Titles.php:1201 inc/admin/callbacks/Titles.php:1265
 
1000
  #: inc/admin/metaboxes/admin-metaboxes-form.php:134
1001
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:67
1002
  #: src/Tags/SiteTitle.php:22
1010
 
1011
  #: inc/admin/admin-dyn-variables-helper.php:9
1012
  #: inc/admin/callbacks/Sitemaps.php:324 inc/admin/callbacks/Titles.php:216
1013
+ #: inc/admin/callbacks/Titles.php:429
1014
  #: inc/admin/metaboxes/admin-metaboxes-form.php:131
1015
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:66
1016
  #: src/Tags/PostTitle.php:17
1018
  msgstr ""
1019
 
1020
  #: inc/admin/admin-dyn-variables-helper.php:10
1021
+ #: inc/admin/callbacks/Titles.php:269
1022
  msgid "Post excerpt"
1023
  msgstr ""
1024
 
1043
  msgstr ""
1044
 
1045
  #: inc/admin/admin-dyn-variables-helper.php:16
1046
+ #: inc/admin/callbacks/Titles.php:1004
1047
  msgid "Post author"
1048
  msgstr ""
1049
 
1113
  msgstr ""
1114
 
1115
  #: inc/admin/admin-dyn-variables-helper.php:33
1116
+ msgid "Month name Archive title"
1117
  msgstr ""
1118
 
1119
  #: inc/admin/admin-dyn-variables-helper.php:34
1120
+ msgid "Year Archive title"
1121
  msgstr ""
1122
 
1123
  #: inc/admin/admin-dyn-variables-helper.php:35
1124
+ msgid "Custom fields from post, page or post type"
1125
  msgstr ""
1126
 
1127
  #: inc/admin/admin-dyn-variables-helper.php:36
1128
+ msgid "Custom term taxonomy from post, page or post type"
1129
  msgstr ""
1130
 
1131
  #: inc/admin/admin-dyn-variables-helper.php:37
1132
+ msgid "Single product category"
1133
  msgstr ""
1134
 
1135
  #: inc/admin/admin-dyn-variables-helper.php:38
1136
+ msgid "Single product tag"
1137
  msgstr ""
1138
 
1139
  #: inc/admin/admin-dyn-variables-helper.php:39
1140
+ msgid "Single product short description"
1141
  msgstr ""
1142
 
1143
  #: inc/admin/admin-dyn-variables-helper.php:40
1144
+ msgid "Single product price"
1145
  msgstr ""
1146
 
1147
  #: inc/admin/admin-dyn-variables-helper.php:41
1148
+ msgid "Single product price taxes excluded"
1149
  msgstr ""
1150
 
1151
  #: inc/admin/admin-dyn-variables-helper.php:42
1152
+ msgid "Single SKU product"
1153
  msgstr ""
1154
 
1155
  #: inc/admin/admin-dyn-variables-helper.php:43
1156
+ msgid "Current day"
1157
  msgstr ""
1158
 
1159
  #: inc/admin/admin-dyn-variables-helper.php:44
1160
+ msgid "Current month"
1161
  msgstr ""
1162
 
1163
  #: inc/admin/admin-dyn-variables-helper.php:45
1164
+ msgid "Current month in 3 letters"
1165
  msgstr ""
1166
 
1167
  #: inc/admin/admin-dyn-variables-helper.php:46
1168
+ msgid "Current year"
1169
  msgstr ""
1170
 
1171
  #: inc/admin/admin-dyn-variables-helper.php:47
1172
+ msgid "Current date"
1173
  msgstr ""
1174
 
1175
  #: inc/admin/admin-dyn-variables-helper.php:48
1176
+ msgid "Current time"
1177
  msgstr ""
1178
 
1179
  #: inc/admin/admin-dyn-variables-helper.php:49
1180
+ msgid "Author first name"
1181
  msgstr ""
1182
 
1183
  #: inc/admin/admin-dyn-variables-helper.php:50
1184
+ msgid "Author last name"
1185
  msgstr ""
1186
 
1187
  #: inc/admin/admin-dyn-variables-helper.php:51
1188
+ msgid "Author website"
1189
  msgstr ""
1190
 
1191
  #: inc/admin/admin-dyn-variables-helper.php:52
1192
+ msgid "Author nickname"
1193
  msgstr ""
1194
 
1195
  #: inc/admin/admin-dyn-variables-helper.php:53
1196
+ msgid "Author biography"
1197
  msgstr ""
1198
 
1199
  #: inc/admin/admin-dyn-variables-helper.php:54
1200
+ msgid "Author user meta"
1201
  msgstr ""
1202
 
1203
  #: inc/admin/admin-dyn-variables-helper.php:55
1204
+ msgid "Current month in digital format"
1205
+ msgstr ""
1206
+
1207
+ #: inc/admin/admin-dyn-variables-helper.php:56
1208
  msgid "Target keyword"
1209
  msgstr ""
1210
 
1489
  msgid "Learn how to import SEO metadata from a CSV file"
1490
  msgstr ""
1491
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1492
  #: inc/admin/admin-pages/Tools.php:75 inc/admin/admin-pages/Tools.php:121
1493
  msgid "Meta robots (noindex, nofollow...)"
1494
  msgstr ""
1510
  msgid "Primary category"
1511
  msgstr ""
1512
 
 
 
 
 
 
 
 
 
 
 
1513
  #: inc/admin/admin-pages/Tools.php:93 inc/admin/admin-pages/Tools.php:139
1514
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:28
1515
  #: inc/admin/metaboxes/admin-metaboxes-content-analysis-form.php:29
1569
  msgid "Import completed!"
1570
  msgstr ""
1571
 
1572
+ #: inc/admin/admin-pages/Tools.php:220 inc/admin/wizard/admin-wizard.php:342
1573
  msgid "Import posts and terms metadata from"
1574
  msgstr ""
1575
 
1576
+ #: inc/admin/admin-pages/Tools.php:241 inc/admin/wizard/admin-wizard.php:362
1577
  msgid "Select an option"
1578
  msgstr ""
1579
 
1580
+ #: inc/admin/admin-pages/Tools.php:249 inc/admin/wizard/admin-wizard.php:370
1581
  msgid "You don't have to enable the selected SEO plugin to run the import."
1582
  msgstr ""
1583
 
1660
  msgid "How-to get started"
1661
  msgstr ""
1662
 
1663
+ #: inc/admin/blocks/get-started.php:16 inc/admin/wizard/admin-wizard.php:333
1664
  msgid "Welcome to SEOPress!"
1665
  msgstr ""
1666
 
2283
  msgstr ""
2284
 
2285
  #: inc/admin/callbacks/Advanced.php:60 inc/admin/callbacks/Advanced.php:100
2286
+ #: inc/admin/wizard/admin-wizard.php:819 inc/admin/wizard/admin-wizard.php:843
2287
  #, php-format
2288
  msgid "Remove <strong>%s</strong> in your permalinks"
2289
  msgstr ""
2335
  msgstr ""
2336
 
2337
  #: inc/admin/callbacks/Advanced.php:245
2338
+ msgid ""
2339
+ "Prevent search engines to follow / index the link to the comments form "
2340
+ "(<em>eg: https://www.example.com/my-blog-post/#respond</em>)"
2341
+ msgstr ""
2342
+
2343
+ #: inc/admin/callbacks/Advanced.php:265
2344
  msgid "Remove WordPress shortlink meta tag in source code (eg:"
2345
  msgstr ""
2346
 
2347
+ #: inc/admin/callbacks/Advanced.php:288
2348
  msgid "Remove Windows Live Writer meta tag in source code (eg:"
2349
  msgstr ""
2350
 
2351
+ #: inc/admin/callbacks/Advanced.php:311
2352
  msgid "Remove Really Simple Discovery meta tag in source code (eg:"
2353
  msgstr ""
2354
 
2355
+ #: inc/admin/callbacks/Advanced.php:318
2356
  msgid ""
2357
  "WordPress Site Health feature will return a HTTPS warning if you enable this "
2358
  "option. This is a false positive of course."
2359
  msgstr ""
2360
 
2361
+ #: inc/admin/callbacks/Advanced.php:331
2362
  msgid "Enter Google meta value site verification"
2363
  msgstr ""
2364
 
2365
  #. ID
2366
+ #: inc/admin/callbacks/Advanced.php:331 inc/admin/settings/Advanced.php:112
2367
  msgid "Google site verification"
2368
  msgstr ""
2369
 
2370
+ #: inc/admin/callbacks/Advanced.php:335
2371
  msgid ""
2372
  "If your site is already verified in <strong>Google Search Console</strong>, "
2373
  "you can leave this field empty."
2374
  msgstr ""
2375
 
2376
+ #: inc/admin/callbacks/Advanced.php:346
2377
  msgid "Enter Bing meta value site verification"
2378
  msgstr ""
2379
 
2380
  #. ID
2381
+ #: inc/admin/callbacks/Advanced.php:346 inc/admin/settings/Advanced.php:120
2382
  msgid "Bing site verification"
2383
  msgstr ""
2384
 
2385
+ #: inc/admin/callbacks/Advanced.php:350
2386
  msgid ""
2387
  "If your site is already verified in <strong>Bing Webmaster tools</strong>, "
2388
  "you can leave this field empty."
2389
  msgstr ""
2390
 
2391
+ #: inc/admin/callbacks/Advanced.php:361
2392
  msgid "Enter Pinterest meta value site verification"
2393
  msgstr ""
2394
 
2395
  #. ID
2396
+ #: inc/admin/callbacks/Advanced.php:361 inc/admin/settings/Advanced.php:128
2397
  msgid "Pinterest site verification"
2398
  msgstr ""
2399
 
2400
  #. ID
2401
+ #: inc/admin/callbacks/Advanced.php:371 inc/admin/settings/Advanced.php:136
2402
  msgid "Yandex site verification"
2403
  msgstr ""
2404
 
2405
+ #: inc/admin/callbacks/Advanced.php:371
2406
  msgid "Enter Yandex meta value site verification"
2407
  msgstr ""
2408
 
2409
+ #: inc/admin/callbacks/Advanced.php:388
2410
  msgid "Remove SEO from Admin Bar in backend and frontend"
2411
  msgstr ""
2412
 
2413
+ #: inc/admin/callbacks/Advanced.php:408
2414
  msgid "Enable the universal SEO metabox for the Block Editor (Gutenberg)"
2415
  msgstr ""
2416
 
2417
+ #: inc/admin/callbacks/Advanced.php:436
2418
  msgid "Disable the universal SEO metabox"
2419
  msgstr ""
2420
 
2421
+ #: inc/admin/callbacks/Advanced.php:456
2422
  msgid "Remove noindex item from Admin Bar in backend and frontend"
2423
  msgstr ""
2424
 
2425
+ #: inc/admin/callbacks/Advanced.php:474
2426
  msgid "High priority (top)"
2427
  msgstr ""
2428
 
2429
+ #: inc/admin/callbacks/Advanced.php:479
2430
  msgid "Normal priority (default)"
2431
  msgstr ""
2432
 
2433
+ #: inc/admin/callbacks/Advanced.php:484
2434
  msgid "Low priority"
2435
  msgstr ""
2436
 
2437
+ #: inc/admin/callbacks/Advanced.php:504
2438
  msgid "Automatic tab (default)"
2439
  msgstr ""
2440
 
2441
+ #: inc/admin/callbacks/Advanced.php:509
2442
  msgid "Manual tab"
2443
  msgstr ""
2444
 
2445
+ #: inc/admin/callbacks/Advanced.php:531
2446
  msgid "Hide Notifications Center in SEO Dashboard page"
2447
  msgstr ""
2448
 
2449
+ #: inc/admin/callbacks/Advanced.php:551
2450
  msgid "Hide SEO News in SEO Dashboard page"
2451
  msgstr ""
2452
 
2453
+ #: inc/admin/callbacks/Advanced.php:571
2454
  msgid "Hide SEO tools in SEO Dashboard page"
2455
  msgstr ""
2456
 
2457
+ #: inc/admin/callbacks/Advanced.php:590
2458
  msgid "Add title column"
2459
  msgstr ""
2460
 
2461
+ #: inc/admin/callbacks/Advanced.php:610
2462
  msgid "Add meta description column"
2463
  msgstr ""
2464
 
2465
+ #: inc/admin/callbacks/Advanced.php:630
2466
  msgid "Add redirection enable column"
2467
  msgstr ""
2468
 
2469
+ #: inc/admin/callbacks/Advanced.php:650
2470
  msgid "Add redirection URL column"
2471
  msgstr ""
2472
 
2473
+ #: inc/admin/callbacks/Advanced.php:670
2474
  msgid "Add canonical URL column"
2475
  msgstr ""
2476
 
2477
+ #: inc/admin/callbacks/Advanced.php:690
2478
  msgid "Add target keyword column"
2479
  msgstr ""
2480
 
2481
+ #: inc/admin/callbacks/Advanced.php:710
2482
  msgid "Display noindex status"
2483
  msgstr ""
2484
 
2485
+ #: inc/admin/callbacks/Advanced.php:730
2486
  msgid "Display nofollow status"
2487
  msgstr ""
2488
 
2489
+ #: inc/admin/callbacks/Advanced.php:750
2490
  msgid "Display total number of words in content"
2491
  msgstr ""
2492
 
2493
+ #: inc/admin/callbacks/Advanced.php:771
2494
  msgid "Display Page Speed column to check performances"
2495
  msgstr ""
2496
 
2497
+ #: inc/admin/callbacks/Advanced.php:792
2498
  msgid "Display SEO Insights column to check rankings"
2499
  msgstr ""
2500
 
2501
+ #: inc/admin/callbacks/Advanced.php:813
2502
  msgid ""
2503
  "Display Content Analysis results column (\"Good\" or \"Should be improved\")"
2504
  msgstr ""
2505
 
2506
  #. ID
2507
+ #: inc/admin/callbacks/Advanced.php:833 inc/admin/settings/Advanced.php:326
2508
  msgid "Remove Content Analysis Metabox"
2509
  msgstr ""
2510
 
2511
+ #: inc/admin/callbacks/Advanced.php:853
2512
  msgid "Remove Genesis SEO Metabox"
2513
  msgstr ""
2514
 
2515
+ #: inc/admin/callbacks/Advanced.php:873
2516
  msgid "Remove Genesis SEO link in WP Admin Menu"
2517
  msgstr ""
2518
 
2519
+ #: inc/admin/callbacks/Advanced.php:893
2520
  msgid "Remove the advice if None schema selected"
2521
  msgstr ""
2522
 
2523
+ #: inc/admin/callbacks/Advanced.php:939 inc/admin/callbacks/Advanced.php:980
2524
  msgid ""
2525
  "Hook to filter structured data types metabox call by post type - new window"
2526
  msgstr ""
3106
  msgid "Redirect attachment pages to post parent (or homepage if none)"
3107
  msgstr ""
3108
 
3109
+ #: inc/admin/callbacks/ImageSEO.php:36 inc/admin/wizard/admin-wizard.php:800
3110
  msgid ""
3111
  "Redirect attachment pages to their file URL (https://www.example.com/my-"
3112
  "image-file.jpg)"
3288
  #: inc/admin/callbacks/Social.php:15
3289
  #: inc/admin/metaboxes/admin-metaboxes-form.php:338
3290
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:286
3291
+ #: inc/admin/wizard/admin-wizard.php:450 src/Helpers/Metas/RobotSettings.php:19
3292
  msgid "None (will disable this feature)"
3293
  msgstr ""
3294
 
3295
+ #: inc/admin/callbacks/Social.php:20 inc/admin/wizard/admin-wizard.php:455
3296
  msgid "Person"
3297
  msgstr ""
3298
 
3299
+ #: inc/admin/callbacks/Social.php:25 inc/admin/wizard/admin-wizard.php:460
3300
  msgid "Organization"
3301
  msgstr ""
3302
 
3306
 
3307
  #. ID
3308
  #: inc/admin/callbacks/Social.php:40 inc/admin/settings/Social.php:24
3309
+ #: inc/admin/wizard/admin-wizard.php:465
3310
  msgid "Your name/organization"
3311
  msgstr ""
3312
 
3313
  #. ID
3314
  #: inc/admin/callbacks/Social.php:56 inc/admin/settings/Social.php:32
3315
+ #: inc/admin/wizard/admin-wizard.php:472
3316
  msgid "Your photo/organization logo"
3317
  msgstr ""
3318
 
3320
  msgid "Select your logo"
3321
  msgstr ""
3322
 
3323
+ #: inc/admin/callbacks/Social.php:60 inc/admin/callbacks/Social.php:306
3324
+ #: inc/admin/callbacks/Social.php:382 inc/admin/callbacks/Social.php:524
3325
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:422
3326
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:542
3327
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:837
3328
  msgid "Upload an Image"
3329
  msgstr ""
3330
 
3389
  msgid "Hearing impaired supported"
3390
  msgstr ""
3391
 
3392
+ #: inc/admin/callbacks/Social.php:200 inc/admin/wizard/admin-wizard.php:481
3393
  msgid "eg: https://facebook.com/my-page-url"
3394
  msgstr ""
3395
 
3398
  msgid "Facebook Page URL"
3399
  msgstr ""
3400
 
3401
+ #: inc/admin/callbacks/Social.php:211 inc/admin/wizard/admin-wizard.php:488
3402
  msgid "eg: @my_twitter_account"
3403
  msgstr ""
3404
 
3406
  msgid "Twitter Page URL"
3407
  msgstr ""
3408
 
3409
+ #: inc/admin/callbacks/Social.php:222 inc/admin/wizard/admin-wizard.php:495
3410
  msgid "eg: https://pinterest.com/my-page-url/"
3411
  msgstr ""
3412
 
3413
  #. ID
3414
  #: inc/admin/callbacks/Social.php:222 inc/admin/settings/Social.php:89
3415
+ #: inc/admin/wizard/admin-wizard.php:493
3416
  #: src/Tags/Schema/SocialAccount/Pinterest.php:15
3417
  msgid "Pinterest URL"
3418
  msgstr ""
3419
 
3420
+ #: inc/admin/callbacks/Social.php:233 inc/admin/wizard/admin-wizard.php:502
3421
  msgid "eg: https://www.instagram.com/my-page-url/"
3422
  msgstr ""
3423
 
3424
  #. ID
3425
  #: inc/admin/callbacks/Social.php:233 inc/admin/settings/Social.php:97
3426
+ #: inc/admin/wizard/admin-wizard.php:500
3427
  #: src/Tags/Schema/SocialAccount/Instagram.php:15
3428
  msgid "Instagram URL"
3429
  msgstr ""
3430
 
3431
+ #: inc/admin/callbacks/Social.php:244 inc/admin/wizard/admin-wizard.php:509
3432
  msgid "eg: https://www.youtube.com/my-channel-url"
3433
  msgstr ""
3434
 
3435
  #. ID
3436
  #: inc/admin/callbacks/Social.php:244 inc/admin/settings/Social.php:105
3437
+ #: inc/admin/wizard/admin-wizard.php:507
3438
  #: src/Tags/Schema/SocialAccount/Youtube.php:15
3439
  msgid "YouTube URL"
3440
  msgstr ""
3441
 
3442
+ #: inc/admin/callbacks/Social.php:255 inc/admin/wizard/admin-wizard.php:516
3443
  msgid "eg: http://linkedin.com/company/my-company-url/"
3444
  msgstr ""
3445
 
3446
  #. ID
3447
  #: inc/admin/callbacks/Social.php:255 inc/admin/settings/Social.php:113
3448
+ #: inc/admin/wizard/admin-wizard.php:514
3449
  #: src/Tags/Schema/SocialAccount/Linkedin.php:15
3450
  msgid "LinkedIn URL"
3451
  msgstr ""
3455
  msgstr ""
3456
 
3457
  #. ID
3458
+ #: inc/admin/callbacks/Social.php:297 inc/admin/callbacks/Social.php:374
3459
  #: inc/admin/settings/Social.php:138
3460
  msgid "Select a default image"
3461
  msgstr ""
3462
 
3463
+ #: inc/admin/callbacks/Social.php:298 inc/admin/callbacks/Social.php:375
3464
+ #: inc/admin/callbacks/Social.php:521
3465
  #: inc/admin/metaboxes/admin-metaboxes-form.php:407
3466
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:527
3467
  #: src/Helpers/Metas/SocialSettings.php:46
3468
+ #: src/Helpers/Metas/SocialSettings.php:86
3469
  msgid "Select your default thumbnail"
3470
  msgstr ""
3471
 
3472
+ #: inc/admin/callbacks/Social.php:308
3473
  #: inc/admin/metaboxes/admin-metaboxes-form.php:412
3474
  #: src/Helpers/Metas/SocialSettings.php:51
3475
  msgid ""
3477
  "3280x1712px for retina screens)"
3478
  msgstr ""
3479
 
3480
+ #: inc/admin/callbacks/Social.php:328
3481
  msgid ""
3482
  "Override every <strong>og:image</strong> tag with this default image (except "
3483
  "if a custom og:image has already been set from the SEO metabox)."
3484
  msgstr ""
3485
 
3486
+ #: inc/admin/callbacks/Social.php:335
3487
  msgid "Please define a <strong>default OG Image</strong> from the field above"
3488
  msgstr ""
3489
 
3490
+ #: inc/admin/callbacks/Social.php:359
3491
  msgid "WooCommerce Shop Page."
3492
  msgstr ""
3493
 
3494
+ #: inc/admin/callbacks/Social.php:392
3495
  msgid "No custom post type to configure."
3496
  msgstr ""
3497
 
3498
+ #: inc/admin/callbacks/Social.php:409
3499
  msgid ""
3500
  "One or more Facebook Page IDs that are associated with a URL in order to "
3501
  "enable link editing and instant article publishing."
3502
  msgstr ""
3503
 
3504
+ #: inc/admin/callbacks/Social.php:417
3505
  msgid "How do I find my Facebook Page ID?"
3506
  msgstr ""
3507
 
3508
+ #: inc/admin/callbacks/Social.php:434
3509
  msgid ""
3510
  "The ID (or comma-separated list for properties that can accept multiple IDs) "
3511
  "of an app, person using the app, or Page Graph API object."
3512
  msgstr ""
3513
 
3514
+ #: inc/admin/callbacks/Social.php:453
3515
  msgid ""
3516
  "The Facebook app ID of the site's app. In order to use Facebook Insights you "
3517
  "must add the app ID to your page. Insights lets you view analytics for "
3521
  "\"seopress-help dashicons dashicons-external\"></span>"
3522
  msgstr ""
3523
 
3524
+ #: inc/admin/callbacks/Social.php:461
3525
  msgid "How to create a Facebook App ID"
3526
  msgstr ""
3527
 
3528
+ #: inc/admin/callbacks/Social.php:480
3529
  msgid "Enable Twitter card"
3530
  msgstr ""
3531
 
3532
+ #: inc/admin/callbacks/Social.php:501
3533
  msgid "Use OG if no Twitter Cards"
3534
  msgstr ""
3535
 
3536
  #. ID
3537
+ #: inc/admin/callbacks/Social.php:520 inc/admin/settings/Social.php:211
3538
  msgid "Default Twitter Image"
3539
  msgstr ""
3540
 
3541
+ #: inc/admin/callbacks/Social.php:527
3542
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:531
3543
+ #: src/Helpers/Metas/SocialSettings.php:91
3544
  msgid ""
3545
  "Minimum size: 144x144px (300x157px with large card enabled), ideal ratio 1:1 "
3546
  "(2:1 with large card), 5Mb max."
3547
  msgstr ""
3548
 
3549
+ #: inc/admin/callbacks/Social.php:546 seopress.php:356
3550
  msgid "Default"
3551
  msgstr ""
3552
 
3553
+ #: inc/admin/callbacks/Social.php:551
3554
  msgid "Large"
3555
  msgstr ""
3556
 
3557
+ #: inc/admin/callbacks/Social.php:556
3558
  msgid ""
3559
  "The Summary Card with <strong>Large Image</strong> features a large, full-"
3560
  "width prominent image alongside a tweet. It is designed to give the reader a "
3568
 
3569
  #. ID
3570
  #: inc/admin/callbacks/Titles.php:13 inc/admin/callbacks/Titles.php:42
3571
+ #: inc/admin/callbacks/Titles.php:223 inc/admin/callbacks/Titles.php:433
3572
+ #: inc/admin/callbacks/Titles.php:651 inc/admin/callbacks/Titles.php:865
3573
+ #: inc/admin/callbacks/Titles.php:1008 inc/admin/callbacks/Titles.php:1102
3574
+ #: inc/admin/callbacks/Titles.php:1196 inc/admin/callbacks/Titles.php:1269
 
3575
  #: inc/admin/metaboxes/admin-metaboxes-form.php:136
3576
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:68
3577
+ #: inc/admin/settings/Titles.php:16 inc/admin/wizard/admin-wizard.php:425
3578
  #: src/Tags/Separator.php:17
3579
  msgid "Separator"
3580
  msgstr ""
3611
  msgid "Click to display any SEO metaboxes / columns for this post type"
3612
  msgstr ""
3613
 
3614
+ #: inc/admin/callbacks/Titles.php:169 inc/admin/callbacks/Titles.php:417
3615
+ #: inc/admin/callbacks/Titles.php:581 inc/admin/callbacks/Titles.php:813
3616
+ #: inc/admin/callbacks/Titles.php:992 inc/admin/callbacks/Titles.php:1086
3617
+ #: inc/admin/callbacks/Titles.php:1179 inc/admin/callbacks/Titles.php:1253
3618
  msgid "Title template"
3619
  msgstr ""
3620
 
3621
+ #: inc/admin/callbacks/Titles.php:240 inc/admin/callbacks/Titles.php:451
3622
+ #: inc/admin/callbacks/Titles.php:669 inc/admin/callbacks/Titles.php:880
3623
+ #: inc/admin/callbacks/Titles.php:1024 inc/admin/callbacks/Titles.php:1117
3624
+ #: inc/admin/callbacks/Titles.php:1211 inc/admin/callbacks/Titles.php:1281
3625
  msgid "Meta description template"
3626
  msgstr ""
3627
 
3628
+ #: inc/admin/callbacks/Titles.php:294
3629
  msgid ""
3630
  "Do not display this single post type in search engine results "
3631
  "<strong>(noindex)</strong>"
3632
  msgstr ""
3633
 
3634
+ #: inc/admin/callbacks/Titles.php:302
3635
  msgid ""
3636
  "This custom post type is <strong>NOT</strong> excluded from your XML "
3637
  "sitemaps despite the fact that it is set to <strong>NOINDEX</strong>. We "
3638
  "recommend that you check this out."
3639
  msgstr ""
3640
 
3641
+ #: inc/admin/callbacks/Titles.php:331
3642
  msgid ""
3643
  "Do not follow links for this single post type <strong>(nofollow)</strong>"
3644
  msgstr ""
3645
 
3646
+ #: inc/admin/callbacks/Titles.php:357
3647
  msgid ""
3648
  "Display date in Google search results by adding <code>article:"
3649
  "published_time</code> and <code>article:modified_time</code> meta?"
3650
  msgstr ""
3651
 
3652
+ #: inc/admin/callbacks/Titles.php:361
3653
  msgid ""
3654
  "Unchecking this doesn't prevent Google to display post date in search "
3655
  "results."
3656
  msgstr ""
3657
 
3658
+ #: inc/admin/callbacks/Titles.php:387
3659
  msgid "Display post thumbnail in Google Custom Search results?"
3660
  msgstr ""
3661
 
3662
+ #: inc/admin/callbacks/Titles.php:391
3663
  #, php-format
3664
  msgid ""
3665
  "This option does not apply to traditional search results. <a href=\"%s\" "
3666
  "target=\"_blank\">Learn more</a>"
3667
  msgstr ""
3668
 
3669
+ #: inc/admin/callbacks/Titles.php:413
3670
  msgid "BuddyPress groups"
3671
  msgstr ""
3672
 
3673
+ #: inc/admin/callbacks/Titles.php:477
3674
  msgid ""
3675
  "Do not display BuddyPress groups in search engine results <strong>(noindex)</"
3676
  "strong>"
3677
  msgstr ""
3678
 
3679
+ #: inc/admin/callbacks/Titles.php:521 inc/admin/callbacks/Titles.php:532
3680
+ #: inc/admin/callbacks/Titles.php:537 inc/admin/callbacks/Titles.php:546
3681
  msgid "Click to hide any SEO metaboxes for this taxonomy"
3682
  msgstr ""
3683
 
3684
+ #: inc/admin/callbacks/Titles.php:528 inc/admin/callbacks/Titles.php:541
3685
+ #: inc/admin/callbacks/Titles.php:545
3686
  msgid "Click to display any SEO metaboxes for this taxonomy"
3687
  msgstr ""
3688
 
3689
+ #: inc/admin/callbacks/Titles.php:627 src/Tags/CategoryTitle.php:15
3690
  msgid "Category Title"
3691
  msgstr ""
3692
 
3693
+ #: inc/admin/callbacks/Titles.php:635 src/Tags/TagTitle.php:15
3694
  msgid "Tag Title"
3695
  msgstr ""
3696
 
3697
+ #: inc/admin/callbacks/Titles.php:643
3698
  #: inc/admin/metaboxes/admin-metaboxes-form.php:128 src/Tags/TermTitle.php:15
3699
  msgid "Term Title"
3700
  msgstr ""
3701
 
3702
+ #: inc/admin/callbacks/Titles.php:700 src/Tags/CategoryDescription.php:15
3703
  msgid "Category Description"
3704
  msgstr ""
3705
 
3706
+ #: inc/admin/callbacks/Titles.php:708 src/Tags/TagDescription.php:15
3707
  msgid "Tag Description"
3708
  msgstr ""
3709
 
3710
+ #: inc/admin/callbacks/Titles.php:716 src/Tags/TermDescription.php:15
3711
  msgid "Term Description"
3712
  msgstr ""
3713
 
3714
+ #: inc/admin/callbacks/Titles.php:738
3715
  msgid ""
3716
  "Do not display this taxonomy archive in search engine results "
3717
  "<strong>(noindex)</strong>"
3718
  msgstr ""
3719
 
3720
+ #: inc/admin/callbacks/Titles.php:746
3721
  msgid ""
3722
  "This custom taxonomy is <strong>NOT</strong> excluded from your XML sitemaps "
3723
  "despite the fact that it is set to <strong>NOINDEX</strong>. We recommend "
3724
  "that you check this out."
3725
  msgstr ""
3726
 
3727
+ #: inc/admin/callbacks/Titles.php:776
3728
  msgid ""
3729
  "Do not follow links for this taxonomy archive <strong>(nofollow)</strong>"
3730
  msgstr ""
3731
 
3732
+ #: inc/admin/callbacks/Titles.php:804
3733
  msgid "See archive"
3734
  msgstr ""
3735
 
3736
+ #: inc/admin/callbacks/Titles.php:860
3737
  msgid "Post Type Archive Name"
3738
  msgstr ""
3739
 
3740
+ #: inc/admin/callbacks/Titles.php:944
3741
  msgid ""
3742
  "Do not display this post type archive in search engine results "
3743
  "<strong>(noindex)</strong>"
3744
  msgstr ""
3745
 
3746
+ #: inc/admin/callbacks/Titles.php:971
3747
  msgid ""
3748
  "Do not follow links for this post type archive <strong>(nofollow)</strong>"
3749
  msgstr ""
3750
 
3751
+ #: inc/admin/callbacks/Titles.php:988
3752
  msgid "Author archives"
3753
  msgstr ""
3754
 
3755
+ #: inc/admin/callbacks/Titles.php:1049 inc/admin/wizard/admin-wizard.php:787
3756
  msgid ""
3757
  "Do not display author archives in search engine results <strong>(noindex)</"
3758
  "strong>"
3759
  msgstr ""
3760
 
3761
+ #: inc/admin/callbacks/Titles.php:1070
3762
  msgid "Disable author archives"
3763
  msgstr ""
3764
 
3765
+ #: inc/admin/callbacks/Titles.php:1082 inc/admin/callbacks/Titles.php:1098
3766
  msgid "Date archives"
3767
  msgstr ""
3768
 
3769
+ #: inc/admin/callbacks/Titles.php:1141
3770
  msgid ""
3771
  "Do not display date archives in search engine results <strong>(noindex)</"
3772
  "strong>"
3773
  msgstr ""
3774
 
3775
+ #: inc/admin/callbacks/Titles.php:1163
3776
  msgid "Disable date archives"
3777
  msgstr ""
3778
 
3779
+ #: inc/admin/callbacks/Titles.php:1175
3780
  msgid "Search archives"
3781
  msgstr ""
3782
 
3783
+ #: inc/admin/callbacks/Titles.php:1191 src/Tags/SearchKeywords.php:15
3784
  msgid "Search Keywords"
3785
  msgstr ""
3786
 
3787
+ #: inc/admin/callbacks/Titles.php:1237
3788
  msgid ""
3789
  "Do not display search archives in search engine results <strong>(noindex)</"
3790
  "strong>"
3791
  msgstr ""
3792
 
3793
+ #: inc/admin/callbacks/Titles.php:1249
3794
  msgid "404 archives"
3795
  msgstr ""
3796
 
3797
  #. ID
3798
+ #: inc/admin/callbacks/Titles.php:1308 inc/admin/settings/Titles.php:243
3799
  msgid "noindex"
3800
  msgstr ""
3801
 
3802
+ #: inc/admin/callbacks/Titles.php:1312
3803
  msgid ""
3804
  "Do not display all pages of the site in Google search results and do not "
3805
  "display \"Cached\" links in search results."
3806
  msgstr ""
3807
 
3808
+ #: inc/admin/callbacks/Titles.php:1316
3809
  #, php-format
3810
  msgid ""
3811
  "Check also the <strong>\"Search engine visibility\"</strong> setting from "
3813
  msgstr ""
3814
 
3815
  #. ID
3816
+ #: inc/admin/callbacks/Titles.php:1338 inc/admin/settings/Titles.php:251
3817
  msgid "nofollow"
3818
  msgstr ""
3819
 
3820
+ #: inc/admin/callbacks/Titles.php:1342
3821
  msgid "Do not follow links for all pages."
3822
  msgstr ""
3823
 
3824
  #. ID
3825
+ #: inc/admin/callbacks/Titles.php:1364 inc/admin/settings/Titles.php:259
3826
  msgid "noodp"
3827
  msgstr ""
3828
 
3829
+ #: inc/admin/callbacks/Titles.php:1368
3830
  msgid ""
3831
  "Do not use Open Directory project metadata for titles or excerpts for all "
3832
  "pages."
3833
  msgstr ""
3834
 
3835
  #. ID
3836
+ #: inc/admin/callbacks/Titles.php:1390 inc/admin/settings/Titles.php:267
3837
  msgid "noimageindex"
3838
  msgstr ""
3839
 
3840
+ #: inc/admin/callbacks/Titles.php:1394
3841
  msgid "Do not index images from the entire site."
3842
  msgstr ""
3843
 
3844
  #. ID
3845
+ #: inc/admin/callbacks/Titles.php:1415 inc/admin/settings/Titles.php:275
3846
  msgid "noarchive"
3847
  msgstr ""
3848
 
3849
+ #: inc/admin/callbacks/Titles.php:1419
3850
  msgid "Do not display a \"Cached\" link in the Google search results."
3851
  msgstr ""
3852
 
3853
  #. ID
3854
+ #: inc/admin/callbacks/Titles.php:1441 inc/admin/settings/Titles.php:283
3855
  msgid "nosnippet"
3856
  msgstr ""
3857
 
3858
+ #: inc/admin/callbacks/Titles.php:1445
3859
  msgid ""
3860
  "Do not display a description in the Google search results for all pages."
3861
  msgstr ""
3862
 
3863
  #. ID
3864
+ #: inc/admin/callbacks/Titles.php:1467 inc/admin/settings/Titles.php:291
3865
  msgid "nositelinkssearchbox"
3866
  msgstr ""
3867
 
3868
+ #: inc/admin/callbacks/Titles.php:1471
3869
  msgid ""
3870
  "Prevents Google to display a sitelinks searchbox in search results. Enable "
3871
  "this option will remove the \"Website\" schema from your source code."
3872
  msgstr ""
3873
 
3874
+ #: inc/admin/callbacks/Titles.php:1493
3875
  msgid "Add rel next/prev link in head of paginated archive pages"
3876
  msgstr ""
3877
 
3878
+ #: inc/admin/callbacks/Titles.php:1515
3879
  msgid "Add a \"noindex\" meta robots for all paginated archive pages"
3880
  msgstr ""
3881
 
3882
+ #: inc/admin/callbacks/Titles.php:1519
3883
  msgid "eg: https://example.com/category/my-category/page/2/"
3884
  msgstr ""
3885
 
3886
+ #: inc/admin/callbacks/Titles.php:1541
3887
  msgid "Add a \"noindex\" meta robots for all attachment pages"
3888
  msgstr ""
3889
 
3890
+ #: inc/admin/callbacks/Titles.php:1545
3891
  msgid "eg: https://example.com/my-media-attachment-page"
3892
  msgstr ""
3893
 
4108
  "meta description."
4109
  msgstr ""
4110
 
 
 
 
 
 
 
 
 
4111
  #: inc/admin/metaboxes/admin-metaboxes-form.php:120
4112
  #: inc/admin/page-builders/elementor/inc/controls/class-text-letter-counter-control.php:55
4113
  msgid " / 568 pixels - "
4148
  msgid "Post Excerpt"
4149
  msgstr ""
4150
 
 
 
 
 
4151
  #: inc/admin/metaboxes/admin-metaboxes-form.php:188
4152
  msgid ""
4153
  "The Google preview is a simulation. <br>There is no reliable preview because "
4164
  "<strong>(noindex)</strong>"
4165
  msgstr ""
4166
 
 
 
 
 
4167
  #: inc/admin/metaboxes/admin-metaboxes-form.php:259
4168
  msgid ""
4169
  "By checking this option, you will add a meta robots tag with the value "
4176
  msgid "Do not follow links for this page <strong>(nofollow)</strong>"
4177
  msgstr ""
4178
 
 
 
 
 
4179
  #: inc/admin/metaboxes/admin-metaboxes-form.php:270
4180
  msgid ""
4181
  "By checking this option, you will add a meta robots tag with the value "
4188
  "page <strong>(noodp)</strong>"
4189
  msgstr ""
4190
 
 
 
 
 
4191
  #: inc/admin/metaboxes/admin-metaboxes-form.php:280
4192
  msgid ""
4193
  "By checking this option, you will add a meta robots tag with the value "
4199
  msgid "Do not index images for this page <strong>(noimageindex)</strong>"
4200
  msgstr ""
4201
 
 
 
 
 
4202
  #: inc/admin/metaboxes/admin-metaboxes-form.php:289
4203
  msgid ""
4204
  "By checking this option, you will add a meta robots tag with the value "
4212
  "<strong>(noarchive)</strong>"
4213
  msgstr ""
4214
 
 
 
 
 
 
 
 
 
 
 
4215
  #: inc/admin/metaboxes/admin-metaboxes-form.php:306
4216
  msgid ""
4217
  "Do not display a description in search results for this page "
4218
  "<strong>(nosnippet)</strong>"
4219
  msgstr ""
4220
 
 
 
 
 
 
 
 
 
 
 
4221
  #: inc/admin/metaboxes/admin-metaboxes-form.php:314
4222
  msgid ""
4223
  "A canonical URL is the URL of the page that Google thinks is most "
4299
  msgid "Facebook Thumbnail"
4300
  msgstr ""
4301
 
4302
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:436
4303
  msgid ""
4304
  "The Social Networks feature is disabled. Still seing informations from the "
4305
  "FB Preview? You probably have social tags added by your theme or a plugin."
4306
  msgstr ""
4307
 
4308
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:453
4309
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:570
4310
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:49
4311
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:73
4312
  msgid "Your image ratio is: "
4313
  msgstr ""
4314
 
4315
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:458
4316
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:575
4317
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:50
4318
  #: inc/admin/page-builders/elementor/inc/controls/class-social-preview-control.php:74
4319
  msgid "File URL is not valid."
4320
  msgstr ""
4321
 
4322
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:471
4323
  msgid "By "
4324
  msgstr ""
4325
 
 
 
 
 
 
4326
  #: inc/admin/metaboxes/admin-metaboxes-form.php:505
4327
+ msgid "Preview your Twitter card using the official validator"
 
 
 
 
4328
  msgstr ""
4329
 
4330
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:512
4331
+ #: src/Helpers/Metas/SocialSettings.php:68
4332
  msgid "Enter your Twitter title"
4333
  msgstr ""
4334
 
 
4335
  #: inc/admin/metaboxes/admin-metaboxes-form.php:517
4336
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:521
4337
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:432
4338
+ #: src/Helpers/Metas/SocialSettings.php:80
4339
  msgid "Twitter description"
4340
  msgstr ""
4341
 
4342
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:520
4343
+ #: src/Helpers/Metas/SocialSettings.php:77
4344
  msgid "Enter your Twitter description"
4345
  msgstr ""
4346
 
4347
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:524
4348
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:541
4349
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:443
4350
+ #: src/Helpers/Metas/SocialSettings.php:89
4351
  msgid "Twitter Thumbnail"
4352
  msgstr ""
4353
 
4354
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:553
4355
  msgid ""
4356
  "The Social Networks feature is disabled. Still seing informations from the "
4357
  "Twitter Preview? You probably have social tags added by your theme or a "
4358
  "plugin."
4359
  msgstr ""
4360
 
4361
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:621
4362
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:494
4363
  msgid "Enable redirection?"
4364
  msgstr ""
4365
 
4366
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:626
4367
  msgid "Select a redirection type: "
4368
  msgstr ""
4369
 
4370
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:630
4371
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:510
4372
  #: src/Helpers/Metas/RedirectionSettings.php:42
4373
  msgid "301 Moved Permanently"
4374
  msgstr ""
4375
 
4376
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:633
4377
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:511
4378
  #: src/Helpers/Metas/RedirectionSettings.php:43
4379
  msgid "302 Found / Moved Temporarily"
4380
  msgstr ""
4381
 
4382
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:636
4383
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:512
4384
  #: src/Helpers/Metas/RedirectionSettings.php:44
4385
  msgid "307 Moved Temporarily"
4386
  msgstr ""
4387
 
4388
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:639
4389
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:513
4390
  #: src/Helpers/Metas/RedirectionSettings.php:45
4391
  msgid "410 Gone"
4392
  msgstr ""
4393
 
4394
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:642
4395
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:514
4396
  #: src/Helpers/Metas/RedirectionSettings.php:46
4397
  msgid "451 Unavailable For Legal Reasons"
4398
  msgstr ""
4399
 
4400
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:647
4401
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:651
4402
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:505
4403
  #: src/Helpers/Metas/RedirectionSettings.php:54
4404
  msgid "URL redirection"
4405
  msgstr ""
4406
 
4407
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:650
4408
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:523
4409
  #: src/Helpers/Metas/RedirectionSettings.php:53
4410
  msgid "Enter your new URL in absolute (eg: https://www.example.com/)"
4411
  msgstr ""
4412
 
4413
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:657
4414
  msgid "Query parameters"
4415
  msgstr ""
4416
 
4417
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:660
4418
  msgid "Exactly match all parameters"
4419
  msgstr ""
4420
 
4421
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:663
4422
  msgid "Exclude all parameters"
4423
  msgstr ""
4424
 
4425
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:666
4426
  msgid "Exclude all parameters and pass them to the redirection"
4427
  msgstr ""
4428
 
4429
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:690
4430
  msgid "Test your URL"
4431
  msgstr ""
4432
 
4433
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:701
4434
  msgid "Need help with your redirections? Read our guide."
4435
  msgstr ""
4436
 
4437
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:719
4438
  msgid "Exclude this post from Google News Sitemap?"
4439
  msgstr ""
4440
 
4441
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:750
4442
  msgid "Exclude this post from Video Sitemap?"
4443
  msgstr ""
4444
 
4445
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:752
4446
  msgid ""
4447
  "If your post is set to noindex, it will be automatically excluded from the "
4448
  "sitemap."
4449
  msgstr ""
4450
 
4451
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:771
4452
  msgid "Video "
4453
  msgstr ""
4454
 
4455
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:776
4456
  msgid "Video URL (required)"
4457
  msgstr ""
4458
 
4459
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:781
4460
  msgid "Enter your video URL"
4461
  msgstr ""
4462
 
4463
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:782
4464
  msgid "Video URL"
4465
  msgstr ""
4466
 
4467
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:794
4468
  msgid ""
4469
  "NOT an external video (eg: video hosting on YouTube, Vimeo, Wistia...)? "
4470
  "Check this if your video is hosting on this server."
4471
  msgstr ""
4472
 
4473
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:799
4474
  msgid "Video Title (required)"
4475
  msgstr ""
4476
 
4477
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:804
4478
  msgid "Enter your video title"
4479
  msgstr ""
4480
 
4481
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:805
4482
  msgid "Video title"
4483
  msgstr ""
4484
 
4485
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:807
4486
  msgid "Default: title tag, if not available, post title."
4487
  msgstr ""
4488
 
4489
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:811
4490
  msgid "Video Description (required)"
4491
  msgstr ""
4492
 
4493
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:816
4494
  msgid "Enter your video description"
4495
  msgstr ""
4496
 
4497
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:817
4498
  msgid "Video description"
4499
  msgstr ""
4500
 
4501
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:818
4502
  msgid ""
4503
  "2048 characters max.; default: meta description. If not available, use the "
4504
  "beginning of the post content."
4505
  msgstr ""
4506
 
4507
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:822
4508
  msgid "Video Thumbnail (required)"
4509
  msgstr ""
4510
 
4511
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:829
4512
  msgid "Select your video thumbnail"
4513
  msgstr ""
4514
 
4515
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:836
4516
  msgid "Video Thumbnail"
4517
  msgstr ""
4518
 
4519
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:839
4520
  msgid ""
4521
  "Minimum size: 160x90px (1920x1080 max), JPG, PNG or GIF formats. Default: "
4522
  "your post featured image."
4523
  msgstr ""
4524
 
4525
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:844
4526
  msgid "Video Duration (recommended)"
4527
  msgstr ""
4528
 
4529
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:849
4530
  msgid "Duration in seconds"
4531
  msgstr ""
4532
 
4533
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:850
4534
  msgid "Video duration"
4535
  msgstr ""
4536
 
4537
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:852
4538
  msgid ""
4539
  "The duration of the video in seconds. Value must be between 0 and 28800 (8 "
4540
  "hours)."
4541
  msgstr ""
4542
 
4543
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:856
4544
  msgid "Video Rating"
4545
  msgstr ""
4546
 
4547
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:861
4548
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:862
4549
  msgid "Video rating"
4550
  msgstr ""
4551
 
4552
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:864
4553
  msgid "Allowed values are float numbers in the range 0.0 to 5.0."
4554
  msgstr ""
4555
 
4556
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:868
4557
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:874
4558
  msgid "View count"
4559
  msgstr ""
4560
 
4561
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:873
4562
  msgid "Number of views"
4563
  msgstr ""
4564
 
4565
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:879
4566
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:885
4567
  msgid "Video tags"
4568
  msgstr ""
4569
 
4570
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:884
4571
  msgid "Enter your video tags"
4572
  msgstr ""
4573
 
4574
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:887
4575
  msgid ""
4576
  "32 tags max., separate tags with commas. Default: target keywords + post "
4577
  "tags if available."
4578
  msgstr ""
4579
 
4580
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:891
4581
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:897
4582
  msgid "Video categories"
4583
  msgstr ""
4584
 
4585
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:896
4586
  msgid "Enter your video categories"
4587
  msgstr ""
4588
 
4589
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:899
4590
  msgid ""
4591
  "256 characters max., usually a video will belong to a single category, "
4592
  "separate categories with commas. Default: first post category if available."
4593
  msgstr ""
4594
 
4595
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:910
4596
  msgid "NOT family friendly?"
4597
  msgstr ""
4598
 
4599
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:912
4600
  msgid "The video will be available only to users with SafeSearch turned off."
4601
  msgstr ""
4602
 
4603
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:915
4604
  msgid "Remove video"
4605
  msgstr ""
4606
 
4607
+ #: inc/admin/metaboxes/admin-metaboxes-form.php:925
4608
  msgid "Add video"
4609
  msgstr ""
4610
 
4611
  #. @deprecated 4.4.0
4612
  #. @deprecated 4.4.0
4613
  #: inc/admin/metaboxes/admin-metaboxes.php:281
4614
+ #: inc/admin/metaboxes/admin-metaboxes.php:645
4615
  #: inc/admin/metaboxes/admin-term-metaboxes.php:217
4616
  #: inc/admin/page-builders/elementor/inc/admin/class-document-settings-section.php:72
4617
  #: inc/admin/page-builders/elementor/inc/controls/class-content-analysis-control.php:35
4618
  msgid "Analysis in progress..."
4619
  msgstr ""
4620
 
4621
+ #: inc/admin/metaboxes/admin-metaboxes.php:625
4622
  #: src/Services/ContentAnalysis/RenderContentAnalysis.php:19
4623
  msgid "Content analysis"
4624
  msgstr ""
5218
  msgstr ""
5219
 
5220
  #: inc/admin/sections/Tools.php:23
5221
+ msgid "This feature will be deprecated soon."
5222
+ msgstr ""
5223
+
5224
+ #: inc/admin/sections/Tools.php:26
5225
  msgid ""
5226
  "<strong>Warning</strong>: always test your site after activating one of "
5227
  "these options. Running shortcodes to automatically generate meta title / "
5228
  "description can have side effects. Clear your cache if necessary."
5229
  msgstr ""
5230
 
5231
+ #: inc/admin/sections/Tools.php:27
5232
  msgid "Learn more about automatic meta descriptions"
5233
  msgstr ""
5234
 
5269
 
5270
  #. ID
5271
  #: inc/admin/settings/Advanced.php:80
5272
+ msgid ""
5273
+ "Add \"nofollow noopener noreferrer\" rel attributes to the comments form link"
5274
  msgstr ""
5275
 
5276
  #. ID
5277
  #: inc/admin/settings/Advanced.php:88
5278
+ msgid "Remove WordPress shortlink meta tag"
5279
  msgstr ""
5280
 
5281
  #. ID
5282
  #: inc/admin/settings/Advanced.php:96
5283
+ msgid "Remove Windows Live Writer meta tag"
5284
+ msgstr ""
5285
+
5286
+ #. ID
5287
+ #: inc/admin/settings/Advanced.php:104
5288
  msgid "Remove RSD meta tag"
5289
  msgstr ""
5290
 
5291
  #. ID
5292
+ #: inc/admin/settings/Advanced.php:153
5293
  msgid "SEO in admin bar"
5294
  msgstr ""
5295
 
5296
  #. ID
5297
+ #: inc/admin/settings/Advanced.php:161
5298
  msgid "Universal Metabox (Gutenberg)"
5299
  msgstr ""
5300
 
5301
  #. ID
5302
+ #: inc/admin/settings/Advanced.php:168
5303
  msgid "Disable Universal Metabox"
5304
  msgstr ""
5305
 
5306
  #. ID
5307
+ #: inc/admin/settings/Advanced.php:176
5308
  msgid "Noindex in admin bar"
5309
  msgstr ""
5310
 
5311
  #. ID
5312
+ #: inc/admin/settings/Advanced.php:184
5313
  msgid "Move SEO metabox's position"
5314
  msgstr ""
5315
 
5316
  #. ID
5317
+ #: inc/admin/settings/Advanced.php:193
5318
  msgid "Set default tab for Structured data metabox"
5319
  msgstr ""
5320
 
5321
  #. ID
5322
+ #: inc/admin/settings/Advanced.php:202
5323
  msgid "Hide Notifications Center"
5324
  msgstr ""
5325
 
5326
  #. ID
5327
+ #: inc/admin/settings/Advanced.php:210
5328
  msgid "Hide SEO News"
5329
  msgstr ""
5330
 
5331
  #. ID
5332
+ #: inc/admin/settings/Advanced.php:218
5333
  msgid "Hide SEO tools"
5334
  msgstr ""
5335
 
5336
  #. ID
5337
+ #: inc/admin/settings/Advanced.php:226 inc/admin/wizard/admin-wizard.php:896
5338
  msgid "Show Title tag column in post types"
5339
  msgstr ""
5340
 
5341
  #. ID
5342
+ #: inc/admin/settings/Advanced.php:234 inc/admin/wizard/admin-wizard.php:906
5343
  msgid "Show Meta description column in post types"
5344
  msgstr ""
5345
 
5346
  #. ID
5347
+ #: inc/admin/settings/Advanced.php:242
5348
  msgid "Show Redirection Enable column in post types"
5349
  msgstr ""
5350
 
5351
  #. ID
5352
+ #: inc/admin/settings/Advanced.php:250
5353
  msgid "Show Redirect URL column in post types"
5354
  msgstr ""
5355
 
5356
  #. ID
5357
+ #: inc/admin/settings/Advanced.php:258
5358
  msgid "Show canonical URL column in post types"
5359
  msgstr ""
5360
 
5361
  #. ID
5362
+ #: inc/admin/settings/Advanced.php:266
5363
  msgid "Show Target Keyword column in post types"
5364
  msgstr ""
5365
 
5366
  #. ID
5367
+ #: inc/admin/settings/Advanced.php:274 inc/admin/wizard/admin-wizard.php:916
5368
  msgid "Show noindex column in post types"
5369
  msgstr ""
5370
 
5371
  #. ID
5372
+ #: inc/admin/settings/Advanced.php:282 inc/admin/wizard/admin-wizard.php:929
5373
  msgid "Show nofollow column in post types"
5374
  msgstr ""
5375
 
5376
  #. ID
5377
+ #: inc/admin/settings/Advanced.php:290
5378
  msgid "Show total number of words column in post types"
5379
  msgstr ""
5380
 
5381
  #. ID
5382
+ #: inc/admin/settings/Advanced.php:299
5383
  msgid "Show Google Page Speed column in post types"
5384
  msgstr ""
5385
 
5386
  #. ID
5387
+ #: inc/admin/settings/Advanced.php:309
5388
  msgid "Show Insights column in post types"
5389
  msgstr ""
5390
 
5391
  #. ID
5392
+ #: inc/admin/settings/Advanced.php:318 inc/admin/wizard/admin-wizard.php:942
5393
  msgid "Show content analysis score column in post types"
5394
  msgstr ""
5395
 
5396
  #. ID
5397
+ #: inc/admin/settings/Advanced.php:334
5398
  msgid "Hide Genesis SEO Metabox"
5399
  msgstr ""
5400
 
5401
  #. ID
5402
+ #: inc/admin/settings/Advanced.php:342
5403
  msgid "Hide Genesis SEO Settings link"
5404
  msgstr ""
5405
 
5406
  #. ID
5407
+ #: inc/admin/settings/Advanced.php:350
5408
  msgid "Hide advice in Structured Data Types metabox"
5409
  msgstr ""
5410
 
5411
  #. ID
5412
+ #: inc/admin/settings/Advanced.php:367
5413
  msgid "Block SEO metabox to user roles"
5414
  msgstr ""
5415
 
5416
  #. ID
5417
+ #: inc/admin/settings/Advanced.php:383
5418
  msgid "Block Content analysis metabox to user roles"
5419
  msgstr ""
5420
 
5675
  msgstr ""
5676
 
5677
  #. ID
5678
+ #: inc/admin/settings/Social.php:16 inc/admin/wizard/admin-wizard.php:443
5679
  msgid "Person or organization"
5680
  msgstr ""
5681
 
5690
  msgstr ""
5691
 
5692
  #. ID
5693
+ #: inc/admin/settings/Social.php:81 inc/admin/wizard/admin-wizard.php:486
5694
  msgid "Twitter Username"
5695
  msgstr ""
5696
 
5791
  msgid "Import SEO settings"
5792
  msgstr ""
5793
 
5794
+ #: inc/admin/wizard/admin-wizard.php:134 inc/admin/wizard/admin-wizard.php:418
5795
  msgid "Your site"
5796
  msgstr ""
5797
 
5798
+ #: inc/admin/wizard/admin-wizard.php:139 inc/admin/wizard/admin-wizard.php:572
5799
  msgid "Indexing"
5800
  msgstr ""
5801
 
5802
+ #: inc/admin/wizard/admin-wizard.php:144 inc/admin/wizard/admin-wizard.php:774
5803
  msgid "Advanced options"
5804
  msgstr ""
5805
 
5815
  msgid "Not right now"
5816
  msgstr ""
5817
 
5818
+ #: inc/admin/wizard/admin-wizard.php:253
5819
  msgid "Skip this step"
5820
  msgstr ""
5821
 
5822
+ #: inc/admin/wizard/admin-wizard.php:335
5823
  msgid ""
5824
  "The following wizard will help you configure SEOPress and get you started "
5825
  "quickly."
5826
  msgstr ""
5827
 
5828
+ #: inc/admin/wizard/admin-wizard.php:337
5829
  msgid ""
5830
  "The first step is to import your previous settings from other plugins to "
5831
  "keep your SEO."
5832
  msgstr ""
5833
 
5834
+ #: inc/admin/wizard/admin-wizard.php:339
5835
  msgid "No data to migrate? Click \"Next step\" button!"
5836
  msgstr ""
5837
 
5838
+ #: inc/admin/wizard/admin-wizard.php:379 inc/admin/wizard/admin-wizard.php:381
5839
+ #: inc/admin/wizard/admin-wizard.php:1062
5840
+ #: inc/admin/wizard/admin-wizard.php:1101
5841
  msgid "Next step"
5842
  msgstr ""
5843
 
5844
+ #: inc/admin/wizard/admin-wizard.php:421
5845
  msgid ""
5846
  "To build title tags and knowledge graph for Google, you need to fill out the "
5847
  "fields below to configure the general settings. "
5848
  msgstr ""
5849
 
5850
+ #: inc/admin/wizard/admin-wizard.php:427
5851
  msgid "eg: |"
5852
  msgstr ""
5853
 
5854
+ #: inc/admin/wizard/admin-wizard.php:432
5855
  #, php-format
5856
  msgid ""
5857
  "This separator will be used by the dynamic variable <strong>%%sep%%</strong> "
5858
  "in your title and meta description templates."
5859
  msgstr ""
5860
 
5861
+ #: inc/admin/wizard/admin-wizard.php:436
5862
  msgid "Home site title"
5863
  msgstr ""
5864
 
5865
+ #: inc/admin/wizard/admin-wizard.php:438
5866
  msgid "eg: My super website"
5867
  msgstr ""
5868
 
5869
+ #: inc/admin/wizard/admin-wizard.php:445
5870
  msgid "Choose a knowledge type"
5871
  msgstr ""
5872
 
5873
+ #: inc/admin/wizard/admin-wizard.php:467
5874
  msgid "eg: My Company Name"
5875
  msgstr ""
5876
 
5877
+ #: inc/admin/wizard/admin-wizard.php:474
5878
  msgid "eg: https://www.example.com/logo.png"
5879
  msgstr ""
5880
 
5881
+ #: inc/admin/wizard/admin-wizard.php:479
5882
  msgid "Facebook page URL"
5883
  msgstr ""
5884
 
5885
+ #: inc/admin/wizard/admin-wizard.php:522 inc/admin/wizard/admin-wizard.php:524
5886
+ #: inc/admin/wizard/admin-wizard.php:699 inc/admin/wizard/admin-wizard.php:701
5887
+ #: inc/admin/wizard/admin-wizard.php:952 inc/admin/wizard/admin-wizard.php:954
5888
  msgid "Continue"
5889
  msgstr ""
5890
 
5891
+ #: inc/admin/wizard/admin-wizard.php:574
5892
  msgid "Specify to the search engines what you want to be indexed or not."
5893
  msgstr ""
5894
 
5895
+ #: inc/admin/wizard/admin-wizard.php:576
5896
  msgid "Avoid indexing duplicate or poor quality content."
5897
  msgstr ""
5898
 
5899
+ #: inc/admin/wizard/admin-wizard.php:578
5900
  msgid "Default: index"
5901
  msgstr ""
5902
 
5903
+ #: inc/admin/wizard/admin-wizard.php:585
5904
  msgid "For which single post types, should indexing be disabled?"
5905
  msgstr ""
5906
 
5907
+ #: inc/admin/wizard/admin-wizard.php:608
5908
  msgid ""
5909
  "Do not display this single post type in search engine "
5910
  "results <strong>(noindex)</strong>"
5911
  msgstr ""
5912
 
5913
+ #: inc/admin/wizard/admin-wizard.php:628
5914
  msgid "For which post type archives, should indexing be disabled?"
5915
  msgstr ""
5916
 
5917
+ #: inc/admin/wizard/admin-wizard.php:649
5918
  msgid ""
5919
  "Do not display this post type archive in search engine "
5920
  "results <strong>(noindex)</strong>"
5921
  msgstr ""
5922
 
5923
+ #: inc/admin/wizard/admin-wizard.php:665
5924
  msgid "For which taxonomy archives, should indexing be disabled?"
5925
  msgstr ""
5926
 
5927
+ #: inc/admin/wizard/admin-wizard.php:687
5928
  msgid ""
5929
  "Do not display this taxonomy archive in search engine "
5930
  "results <strong>(noindex)</strong>"
5931
  msgstr ""
5932
 
5933
+ #: inc/admin/wizard/admin-wizard.php:776
5934
  msgid "Final step before being ready to rank on search engines!"
5935
  msgstr ""
5936
 
5937
+ #: inc/admin/wizard/admin-wizard.php:791
5938
  msgid ""
5939
  "You only have one author on your site? Check this option to avoid duplicate "
5940
  "content."
5941
  msgstr ""
5942
 
5943
+ #: inc/admin/wizard/admin-wizard.php:804
5944
  msgid ""
5945
  "By default, SEOPress redirects your Attachment pages to the parent post. "
5946
  "Optimize this by redirecting the user directly to the URL of the media file."
5947
  msgstr ""
5948
 
5949
+ #: inc/admin/wizard/admin-wizard.php:823 inc/admin/wizard/admin-wizard.php:847
5950
  #, php-format
5951
  msgid "Shorten your URLs by removing %s and improve your SEO."
5952
  msgstr ""
5953
 
5954
+ #: inc/admin/wizard/admin-wizard.php:852
5955
  msgid "Universal SEO metabox"
5956
  msgstr ""
5957
 
5958
+ #: inc/admin/wizard/admin-wizard.php:857
5959
  msgid ""
5960
  "Edit your SEO metadata from your page or theme builder. Default: "
5961
  "<strong>Enabled</strong>."
5962
  msgstr ""
5963
 
5964
+ #: inc/admin/wizard/admin-wizard.php:865
5965
  msgid "No, I prefer to use the good old one SEO metabox"
5966
  msgstr ""
5967
 
5968
+ #: inc/admin/wizard/admin-wizard.php:869 inc/admin/wizard/admin-wizard.php:881
5969
  msgid ""
5970
  "You can change this setting at anytime from SEO, Advanced settings page, "
5971
  "Appearance tab."
5972
  msgstr ""
5973
 
5974
+ #: inc/admin/wizard/admin-wizard.php:877
5975
+ msgid "Yes, enable the universal SEO metabox for the Block Editor"
5976
+ msgstr ""
5977
+
5978
+ #: inc/admin/wizard/admin-wizard.php:886
5979
  msgid "Choose which SEO columns to display in post types list:"
5980
  msgstr ""
5981
 
5982
+ #: inc/admin/wizard/admin-wizard.php:920
5983
  msgid "Quickly know if a content is in noindex."
5984
  msgstr ""
5985
 
5986
+ #: inc/admin/wizard/admin-wizard.php:933
5987
  msgid "Quickly know if a content is in nofollow."
5988
  msgstr ""
5989
 
5990
+ #: inc/admin/wizard/admin-wizard.php:946
5991
  msgid "Quickly know if a content is optimized for search engines."
5992
  msgstr ""
5993
 
5994
+ #: inc/admin/wizard/admin-wizard.php:1014
5995
  msgid ""
5996
  "Start monitoring your rankings and backlinks <br>directly from your "
5997
  "WordPress admin"
5998
  msgstr ""
5999
 
6000
+ #: inc/admin/wizard/admin-wizard.php:1017
6001
  msgid "Track your keyword positions from Google Search results daily."
6002
  msgstr ""
6003
 
6004
+ #: inc/admin/wizard/admin-wizard.php:1020
6005
  msgid "Monitor and analyse your top 1,000 Backlinks weekly."
6006
  msgstr ""
6007
 
6008
+ #: inc/admin/wizard/admin-wizard.php:1023
6009
  msgid "Export your data to CSV, PDF, Excel."
6010
  msgstr ""
6011
 
6012
+ #: inc/admin/wizard/admin-wizard.php:1034
6013
  msgid "Get SEOPress Insights"
6014
  msgstr ""
6015
 
6016
  #. Flush permalinks
6017
+ #: inc/admin/wizard/admin-wizard.php:1054
6018
  msgid "Your site is now ready for search engines!"
6019
  msgstr ""
6020
 
6021
+ #: inc/admin/wizard/admin-wizard.php:1065
6022
  #: inc/functions/options-advanced-admin.php:23
6023
  msgid "Welcome to SEOPress PRO!"
6024
  msgstr ""
6025
 
6026
+ #: inc/admin/wizard/admin-wizard.php:1068
6027
  #: inc/functions/options-advanced-admin.php:25
6028
  msgid ""
6029
  "Please activate your license to receive automatic updates and get premium "
6030
  "support."
6031
  msgstr ""
6032
 
6033
+ #: inc/admin/wizard/admin-wizard.php:1075
6034
  #: inc/functions/options-advanced-admin.php:27
6035
  msgid "Activate License"
6036
  msgstr ""
6037
 
6038
+ #: inc/admin/wizard/admin-wizard.php:1082
6039
  msgid "Go PRO with SEOPress PRO!"
6040
  msgstr ""
6041
 
6042
+ #: inc/admin/wizard/admin-wizard.php:1085
6043
  msgid ""
6044
  "When you upgrade to the PRO version, you get a lot of additional features, "
6045
  "like automatic and manual schemas, Video Sitemap, WooCommerce enhancements, "
6046
  "Analytics statistics in your Dashboard, breadcrumbs, redirections, and more."
6047
  msgstr ""
6048
 
6049
+ #: inc/admin/wizard/admin-wizard.php:1092
6050
  msgid "Buy SEOPress PRO - $39 / unlimited sites"
6051
  msgstr ""
6052
 
6053
+ #: inc/admin/wizard/admin-wizard.php:1103
6054
  msgid "Create your XML sitemaps"
6055
  msgstr ""
6056
 
6057
+ #: inc/admin/wizard/admin-wizard.php:1105
6058
  msgid "Build custom XML sitemaps to improve Google's crawling of your site."
6059
  msgstr ""
6060
 
6061
+ #: inc/admin/wizard/admin-wizard.php:1112
6062
  msgid "Configure your XML sitemaps"
6063
  msgstr ""
6064
 
6065
+ #: inc/admin/wizard/admin-wizard.php:1120
6066
  msgid "Follow us:"
6067
  msgstr ""
6068
 
6069
+ #: inc/admin/wizard/admin-wizard.php:1129
6070
  msgid "Like our Facebook page"
6071
  msgstr ""
6072
 
6073
+ #: inc/admin/wizard/admin-wizard.php:1136
6074
  msgid "Join our Facebook Community group"
6075
  msgstr ""
6076
 
6077
+ #: inc/admin/wizard/admin-wizard.php:1143
6078
  msgid "Watch our guided tour videos to learn more about SEOPress"
6079
  msgstr ""
6080
 
6081
+ #: inc/admin/wizard/admin-wizard.php:1150
6082
  msgid "Read our blog posts about SEO concepts, tutorials and more"
6083
  msgstr ""
6084
 
6085
+ #: inc/admin/wizard/admin-wizard.php:1157
6086
  msgid "Follow us on Twitter"
6087
  msgstr ""
6088
 
6089
+ #: inc/admin/wizard/admin-wizard.php:1164
6090
  msgid "The off side of SEOPress"
6091
  msgstr ""
6092
 
6093
+ #: inc/admin/wizard/admin-wizard.php:1173
6094
  msgid "You can also:"
6095
  msgstr ""
6096
 
6097
+ #: inc/admin/wizard/admin-wizard.php:1180
6098
  msgid "Visit Dashboard"
6099
  msgstr ""
6100
 
6101
+ #: inc/admin/wizard/admin-wizard.php:1184
6102
  msgid "Review Settings"
6103
  msgstr ""
6104
 
6105
+ #: inc/admin/wizard/admin-wizard.php:1189
6106
  msgid "Knowledge base"
6107
  msgstr ""
6108
 
6210
  msgstr ""
6211
 
6212
  #: inc/functions/options-import-export.php:60
6213
+ #: inc/functions/options-import-export.php:444
6214
  msgid "Please upload a valid .json file"
6215
  msgstr ""
6216
 
6217
  #: inc/functions/options-import-export.php:65
6218
  #: inc/functions/options-import-export.php:137
6219
  #: inc/functions/options-import-export.php:241
6220
+ #: inc/functions/options-import-export.php:448
6221
+ #: inc/functions/options-import-export.php:517
6222
  msgid "Please upload a file to import"
6223
  msgstr ""
6224
 
6235
  msgid "Invalid separator"
6236
  msgstr ""
6237
 
6238
+ #: inc/functions/options-import-export.php:513
6239
  msgid "Please upload a valid .txt file"
6240
  msgstr ""
6241
 
6258
  msgstr ""
6259
 
6260
  #. translators: %d current page (eg: 2) %2$d total number of pages (eg: 30)
6261
+ #: inc/functions/variables/dynamic-variables.php:75 src/Tags/Page.php:35
6262
  #, php-format
6263
  msgid "Page %d of %2$d"
6264
  msgstr ""
6758
  msgid "Your Twitter Title is missing!"
6759
  msgstr ""
6760
 
 
 
 
 
 
6761
  #: src/Services/ContentAnalysis/GetContent.php:572
6762
  #, php-format
6763
  msgid "We found %d twitter:description in your content."
6782
  msgid "Your Twitter Description is missing!"
6783
  msgstr ""
6784
 
 
 
 
 
 
6785
  #: src/Services/ContentAnalysis/GetContent.php:602
6786
  #, php-format
6787
  msgid "We found %d twitter:image in your content."
6988
  msgid "Month Archive Date"
6989
  msgstr ""
6990
 
6991
+ #: src/Tags/Date/ArchiveDateMonthName.php:15
6992
+ msgid "Month Name Archive Date"
6993
+ msgstr ""
6994
+
6995
  #: src/Tags/Date/ArchiveDateYear.php:15
6996
  msgid "Year Archive Date"
6997
  msgstr ""
public/metaboxe.js CHANGED
@@ -428,7 +428,7 @@ module.exports = __webpack_require__(5645).Object.values;
428
 
429
  __webpack_require__(851);
430
  __webpack_require__(9865);
431
- module.exports = __webpack_require__(5645).Promise.finally;
432
 
433
 
434
  /***/ }),
@@ -8228,7 +8228,7 @@ module.exports.strategies = {
8228
  "use strict";
8229
 
8230
 
8231
- var reactIs = __webpack_require__(1296);
8232
 
8233
  /**
8234
  * Copyright 2015, Yahoo! Inc.
@@ -8331,42 +8331,6 @@ function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {
8331
  module.exports = hoistNonReactStatics;
8332
 
8333
 
8334
- /***/ }),
8335
-
8336
- /***/ 6103:
8337
- /***/ ((__unused_webpack_module, exports) => {
8338
-
8339
- "use strict";
8340
- /** @license React v16.13.1
8341
- * react-is.production.min.js
8342
- *
8343
- * Copyright (c) Facebook, Inc. and its affiliates.
8344
- *
8345
- * This source code is licensed under the MIT license found in the
8346
- * LICENSE file in the root directory of this source tree.
8347
- */
8348
-
8349
- var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
8350
- Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
8351
- function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;
8352
- exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};
8353
- exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};
8354
- exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;
8355
-
8356
-
8357
- /***/ }),
8358
-
8359
- /***/ 1296:
8360
- /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
8361
-
8362
- "use strict";
8363
-
8364
-
8365
- if (true) {
8366
- module.exports = __webpack_require__(6103);
8367
- } else {}
8368
-
8369
-
8370
  /***/ }),
8371
 
8372
  /***/ 8552:
@@ -9107,7 +9071,7 @@ module.exports = baseForOwn;
9107
  /***/ 7786:
9108
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9109
 
9110
- var castPath = __webpack_require__(5722),
9111
  toKey = __webpack_require__(327);
9112
 
9113
  /**
@@ -9972,7 +9936,7 @@ module.exports = cacheHas;
9972
 
9973
  /***/ }),
9974
 
9975
- /***/ 5722:
9976
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9977
 
9978
  var isArray = __webpack_require__(1469),
@@ -10788,7 +10752,7 @@ module.exports = getValue;
10788
  /***/ 222:
10789
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10790
 
10791
- var castPath = __webpack_require__(5722),
10792
  isArguments = __webpack_require__(5694),
10793
  isArray = __webpack_require__(1469),
10794
  isIndex = __webpack_require__(5776),
@@ -15088,8 +15052,7 @@ exports.Z = AutosizeInput;
15088
  /***/ ((__unused_webpack_module, exports) => {
15089
 
15090
  "use strict";
15091
- var __webpack_unused_export__;
15092
- /** @license React v17.0.2
15093
  * react-is.production.min.js
15094
  *
15095
  * Copyright (c) Facebook, Inc. and its affiliates.
@@ -15097,12 +15060,13 @@ var __webpack_unused_export__;
15097
  * This source code is licensed under the MIT license found in the
15098
  * LICENSE file in the root directory of this source tree.
15099
  */
15100
- var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;
15101
- if("function"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x("react.element");c=x("react.portal");d=x("react.fragment");e=x("react.strict_mode");f=x("react.profiler");g=x("react.provider");h=x("react.context");k=x("react.forward_ref");l=x("react.suspense");m=x("react.suspense_list");n=x("react.memo");p=x("react.lazy");q=x("react.block");r=x("react.server.block");u=x("react.fundamental");v=x("react.debug_trace_mode");w=x("react.legacy_hidden")}
15102
- function y(a){if("object"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;__webpack_unused_export__=h;__webpack_unused_export__=z;__webpack_unused_export__=A;__webpack_unused_export__=B;__webpack_unused_export__=C;__webpack_unused_export__=D;__webpack_unused_export__=E;__webpack_unused_export__=F;__webpack_unused_export__=G;__webpack_unused_export__=H;
15103
- __webpack_unused_export__=I;__webpack_unused_export__=function(){return!1};__webpack_unused_export__=function(){return!1};__webpack_unused_export__=function(a){return y(a)===h};__webpack_unused_export__=function(a){return y(a)===g};__webpack_unused_export__=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===b};__webpack_unused_export__=function(a){return y(a)===k};__webpack_unused_export__=function(a){return y(a)===d};__webpack_unused_export__=function(a){return y(a)===p};__webpack_unused_export__=function(a){return y(a)===n};
15104
- __webpack_unused_export__=function(a){return y(a)===c};__webpack_unused_export__=function(a){return y(a)===f};__webpack_unused_export__=function(a){return y(a)===e};__webpack_unused_export__=function(a){return y(a)===l};exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||"object"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};
15105
- exports.typeOf=y;
 
15106
 
15107
 
15108
  /***/ }),
@@ -18475,7 +18439,7 @@ var index = memoize_browser_esm(function (prop) {
18475
  var hoist_non_react_statics_cjs = __webpack_require__(8679);
18476
  var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
18477
  ;// CONCATENATED MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js
18478
- function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var g=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},S=function(t){return null!==t&&"object"==typeof t&&"[object Object]"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!(0,react_is.typeOf)(t)},w=Object.freeze([]),E=Object.freeze({});function b(e){return"function"==typeof e}function _(e){return false||e.displayName||e.name||"Component"}function N(e){return e&&"string"==typeof e.styledComponentId}var A="undefined"!=typeof process&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",C="5.3.0",I="undefined"!=typeof window&&"HTMLElement"in window,P=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!=="production"),O={},R= false?0:{};function D(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw true?new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):"")):0}var T=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var i=r;i<o;i++)this.groupSizes[i]=0}for(var s=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(s,t[a])&&(this.groupSizes[e]++,s++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,i=r;i<o;i++)t+=this.tag.getRule(i)+"/*!sc*/\n";return t},e}(),k=new Map,x=new Map,V=1,B=function(e){if(k.has(e))return k.get(e);for(;x.has(V);)V++;var t=V++;return false&&0,k.set(e,t),x.set(t,e),t},M=function(e){return x.get(e)},z=function(e,t){k.set(e,t),x.set(t,e)},L="style["+A+'][data-styled-version="5.3.0"]',G=new RegExp("^"+A+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),F=function(e,t,n){for(var r,o=n.split(","),i=0,s=o.length;i<s;i++)(r=o[i])&&e.registerName(t,r)},Y=function(e,t){for(var n=t.innerHTML.split("/*!sc*/\n"),r=[],o=0,i=n.length;o<i;o++){var s=n[o].trim();if(s){var a=s.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(z(u,c),F(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(s)}}},q=function(){return"undefined"!=typeof window&&void 0!==window.__webpack_nonce__?window.__webpack_nonce__:null},H=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),i=void 0!==o?o.nextSibling:null;r.setAttribute(A,"active"),r.setAttribute("data-styled-version","5.3.0");var s=q();return s&&r.setAttribute("nonce",s),n.insertBefore(r,i),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}j(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),W=function(){function e(e){var t=this.element=H(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),U=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),J=I,X={isServer:!I,useCSSOMInjection:!P},Z=function(){function e(e,t,n){void 0===e&&(e=E),void 0===t&&(t={}),this.options=v({},X,{},e),this.gs=t,this.names=new Map(n),!this.options.isServer&&I&&J&&(J=!1,function(e){for(var t=document.querySelectorAll(L),n=0,r=t.length;n<r;n++){var o=t[n];o&&"active"!==o.getAttribute(A)&&(Y(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return B(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(v({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new U(o):r?new $(o):new W(o),new T(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(B(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(B(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(B(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=0;o<n;o++){var i=M(o);if(void 0!==i){var s=e.names.get(i),a=t.getGroup(o);if(void 0!==s&&0!==a.length){var c=A+".g"+o+'[id="'+i+'"]',u="";void 0!==s&&s.forEach((function(e){e.length>0&&(u+=e+",")})),r+=""+a+c+'{content:"'+u+'"}/*!sc*/\n'}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return(Q(t%52)+n).replace(K,"$1-$2")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(b(n)&&!N(n))return!1}return!0}var oe=ne("5.3.0"),ie=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic= true&&(void 0===n||n.isStatic)&&re(e),this.componentId=t,this.baseHash=te(oe,t),this.baseStyle=n,Z.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var i=Ne(this.rules,e,t,n).join(""),s=ee(te(this.baseHash,i.length)>>>0);if(!t.hasNameForId(r,s)){var a=n(i,"."+s,void 0,r);t.insertRules(r,s,a)}o.push(s),this.staticRulesId=s}else{for(var c=this.rules.length,u=te(this.baseHash,n.hash),l="",d=0;d<c;d++){var h=this.rules[d];if("string"==typeof h)l+=h, false&&(0);else if(h){var p=Ne(h,e,t,n),f=Array.isArray(p)?p.join(""):p;u=te(u,f+d),l+=f}}if(l){var m=ee(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,"."+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(" ")},e}(),se=/^\s*\/\/.*$/gm,ae=[":","[",".","#"];function ce(e){var t,n,r,o,i=void 0===e?E:e,s=i.options,a=void 0===s?E:s,c=i.plugins,u=void 0===c?w:c,l=new stylis_browser_esm(a),d=[],h=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,i,s,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,i){return 0===r&&-1!==ae.indexOf(i[n.length])||i.match(o)?e:"."+t};function m(e,i,s,a){void 0===a&&(a="&");var c=e.replace(se,""),u=i&&s?s+" "+i+" { "+c+" }":c;return t=a,n=i,r=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),l(s||!i?"":i,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j(15),te(e,t.name)}),5381).toString():"",m}var ue=react.createContext(),le=ue.Consumer,de=react.createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return (0,react.useContext)(ue)||he}function me(){return (0,react.useContext)(de)||pe}function ye(e){var t=(0,react.useState)(e.stylisPlugins),n=t[0],i=t[1],c=fe(),u=(0,react.useMemo)((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=(0,react.useMemo)((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return (0,react.useEffect)((function(){shallowequal_default()(n,e.stylisPlugins)||i(e.stylisPlugins)}),[e.stylisPlugins]),react.createElement(ue.Provider,{value:u},react.createElement(de.Provider,{value:l}, false?0:e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return j(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return"-"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,"-ms-"):e}var _e=function(e){return null==e||!1===e||""===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var i,s=[],a=0,c=e.length;a<c;a+=1)""!==(i=Ne(e[a],n,r,o))&&(Array.isArray(i)?s.push.apply(s,i):s.push(i));return s}if(_e(e))return"";if(N(e))return"."+e.styledComponentId;if(b(e)){if("function"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return false&&0,Ne(u,n,r,o)}var l;return e instanceof ve?r?(e.inject(r,o),e.getName(o)):e:S(e)?function e(t,n){var r,o,i=[];for(var s in t)t.hasOwnProperty(s)&&!_e(t[s])&&(S(t[s])?i.push.apply(i,e(t[s],s)):b(t[s])?i.push(be(s)+":",t[s],";"):i.push(be(s)+": "+(r=s,null==(o=t[s])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||r in unitless_browser_esm?String(o).trim():o+"px")+";"));return n?[n+" {"].concat(i,["}"]):i}(e):e.toString()}function Ae(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return b(e)||S(e)?Ne(g(w,[e].concat(n))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:Ne(g(e,n))}var Ce=/invalid hook call/i,Ie=new Set,Pe=function(e,t){if(false){ var n; }},Oe=function(e,t,n){return void 0===n&&(n=E),e.theme!==n.theme&&e.theme||t||n.theme},Re=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,De=/(^-|-$)/g;function je(e){return e.replace(Re,"-").replace(De,"")}var Te=function(e){return ee(ne(e)>>>0)};function ke(e){return"string"==typeof e&&( true||0)}var xe=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Ve=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Be(e,t,n){var r=e[n];xe(t)&&xe(r)?Me(r,t):e[n]=t}function Me(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,i=n;o<i.length;o++){var s=i[o];if(xe(s))for(var a in s)Ve(a)&&Be(e,s[a],a)}return e}var ze=react.createContext(),Le=ze.Consumer;function Ge(e){var t=i(ze),n=s((function(){return function(e,t){if(!e)return j(14);if(b(e)){var n=e(t);return true?n:0}return Array.isArray(e)||"object"!=typeof e?j(8):t?v({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(ze.Provider,{value:n},e.children):null}var Fe={};function Ye(e,t,n){var o=N(e),s=!ke(e),a=t.attrs,c=void 0===a?w:a,d=t.componentId,h=void 0===d?function(e,t){var n="string"!=typeof e?"sc":je(e);Fe[n]=(Fe[n]||0)+1;var r=n+"-"+Te("5.3.0"+n+Fe[n]);return t?t+"-"+r:r}(t.displayName,t.parentComponentId):d,p=t.displayName,f=void 0===p?function(e){return ke(e)?"styled."+e:"Styled("+_(e)+")"}(e):p,g=t.displayName&&t.componentId?je(t.displayName)+"-"+t.componentId:t.componentId||h,S=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;o&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var C,I=new ie(n,g,o?e.componentStyle:void 0),P=I.isStatic&&0===c.length,O=function(e,t){return function(e,t,n,r){var o=e.attrs,s=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,d=e.shouldForwardProp,h=e.styledComponentId,p=e.target; false&&0;var f=function(e,t,n){void 0===e&&(e=E);var r=v({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,i,s=e;for(t in b(s)&&(s=s(r)),s)r[t]=o[t]="className"===t?(n=o[t],i=s[t],n&&i?n+" "+i:n||i):s[t]})),[r,o]}(Oe(t,(0,react.useContext)(ze),a)||E,t,o),y=f[0],g=f[1],S=function(e,t,n,r){var o=fe(),i=me(),s=t?e.generateAndInjectStyles(E,o,i):e.generateAndInjectStyles(n,o,i);return false&&0, false&&0,s}(s,r,y, false?0:void 0),w=n,_=g.$as||t.$as||g.as||t.as||p,N=ke(_),A=g!==t?v({},t,{},g):t,C={};for(var I in A)"$"!==I[0]&&"as"!==I&&("forwardedAs"===I?C.as=A[I]:(d?d(I,is_prop_valid_browser_esm,_):!N||is_prop_valid_browser_esm(I))&&(C[I]=A[I]));return t.style&&g.style!==t.style&&(C.style=v({},t.style,{},g.style)),C.className=Array.prototype.concat(c,h,S!==h?S:null,t.className,g.className).filter(Boolean).join(" "),C.ref=w,(0,react.createElement)(_,C)}(C,e,t,P)};return O.displayName=f,(C=react.forwardRef(O)).attrs=S,C.componentStyle=I,C.displayName=f,C.shouldForwardProp=A,C.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):w,C.styledComponentId=g,C.target=o?e.target:e,C.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["componentId"]),i=r&&r+"-"+(ke(e)?e:je(_(e)));return Ye(e,v({},o,{attrs:S,componentId:i}),n)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Me({},e.defaultProps,t):t}}), false&&(0),C.toString=function(){return"."+C.styledComponentId},s&&hoist_non_react_statics_cjs_default()(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var qe=function(e){return function e(t,r,o){if(void 0===o&&(o=E),!(0,react_is.isValidElementType)(r))return j(1,String(r));var i=function(){return t(r,o,Ae.apply(void 0,arguments))};return i.withConfig=function(n){return e(t,r,v({},o,{},n))},i.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},i}(Ye,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){qe[e]=qe(e)}));var He=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(""),""),i=this.componentId+e;n.insertRules(i,i,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function $e(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var s=Ae.apply(void 0,[e].concat(n)),a="sc-global-"+Te(JSON.stringify(s)),u=new He(s,a);function l(e){var t=fe(),n=me(),o=(0,react.useContext)(ze),l=(0,react.useRef)(t.allocateGSInstance(a)).current;return false&&0, false&&0,(0,react.useLayoutEffect)((function(){return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else{var i=v({},t,{theme:Oe(t,r,l.defaultProps)});u.renderStyles(e,i,n,o)}}return false&&0,react.memo(l)}function We(e){ false&&0;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ae.apply(void 0,[e].concat(n)).join(""),i=Te(o);return new ve(i,o)}var Ue=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString(),n=q();return"<style "+[n&&'nonce="'+n+'"',A+'="true"','data-styled-version="5.3.0"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?j(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j(2);var n=((t={})[A]="",t["data-styled-version"]="5.3.0",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[react.createElement("style",v({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new Z({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j(2):react.createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j(3)},e}(),Je=function(e){var t=r.forwardRef((function(t,n){var o=i(ze),s=e.defaultProps,a=Oe(t,o,s);return false&&0,r.createElement(e,v({},t,{theme:a,ref:n}))}));return y(t,e),t.displayName="WithTheme("+_(e)+")",t},Xe=function(){return i(ze)},Ze={StyleSheet:Z,masterSheet:he}; false&&0, false&&(0);/* harmony default export */ const styled_components_browser_esm = (qe);
18479
  //# sourceMappingURL=styled-components.browser.esm.js.map
18480
 
18481
  ;// CONCATENATED MODULE: ./app/react/ui/Beacon/index.js
@@ -18509,7 +18473,8 @@ var find_default = /*#__PURE__*/__webpack_require__.n(find);
18509
 
18510
  // TAB
18511
  var TITLE_DESCRIPTION_META = "TITLE_DESCRIPTION_META";
18512
- var CONTENT_ANALYSIS = "CONTENT_ANALYSIS"; // SUB TAB
 
18513
 
18514
  var TITLE_SETTINGS = "TITLE_SETTINGS";
18515
  var ADVANCED = "ADVANCED";
@@ -18519,6 +18484,7 @@ var OVERVIEW = "OVERVIEW";
18519
  var GOOGLE_NEWS = "GOOGLE_NEWS";
18520
  var VIDEO_SITEMAP = "VIDEO_SITEMAP";
18521
  var INTERNAL_LINKING = "INTERNAL_LINKING";
 
18522
  var ROLE_GLOBAL = "GLOBAL";
18523
  var ROLE_CONTENT_ANALYSIS = "CONTENT_ANALYSIS";
18524
  var __ = wp.i18n.__;
@@ -18526,13 +18492,27 @@ var getTabs = function getTabs() {
18526
  return [{
18527
  key: TITLE_DESCRIPTION_META,
18528
  title: __("Titles & Metas", "wp-seopress"),
 
 
 
18529
  type_role: ROLE_GLOBAL,
18530
  default_sub_tab: TITLE_SETTINGS
18531
  }, {
18532
  key: CONTENT_ANALYSIS,
18533
  title: __("Content Analysis", "wp-seopress"),
 
 
 
18534
  type_role: ROLE_CONTENT_ANALYSIS,
18535
  default_sub_tab: OVERVIEW
 
 
 
 
 
 
 
 
18536
  }];
18537
  };
18538
  var getSubTabs = function getSubTabs() {
@@ -18592,6 +18572,13 @@ var getSubTabs = function getSubTabs() {
18592
  return get_default()(SEOPRESS_DATA, ["SUB_TABS", INTERNAL_LINKING], false);
18593
  },
18594
  title: __("Internal Linking", "wp-seopress")
 
 
 
 
 
 
 
18595
  }];
18596
  };
18597
  ;// CONCATENATED MODULE: ./app/react/contexts/MetaboxContext.js
@@ -20836,10 +20823,12 @@ var __extends = (undefined && undefined.__extends) || (function () {
20836
  var extendStatics = function (d, b) {
20837
  extendStatics = Object.setPrototypeOf ||
20838
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20839
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
20840
  return extendStatics(d, b);
20841
  };
20842
  return function (d, b) {
 
 
20843
  extendStatics(d, b);
20844
  function __() { this.constructor = d; }
20845
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -20946,10 +20935,12 @@ var lib_extends = (undefined && undefined.__extends) || (function () {
20946
  var extendStatics = function (d, b) {
20947
  extendStatics = Object.setPrototypeOf ||
20948
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20949
- function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
20950
  return extendStatics(d, b);
20951
  };
20952
  return function (d, b) {
 
 
20953
  extendStatics(d, b);
20954
  function __() { this.constructor = d; }
20955
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -21468,12 +21459,6 @@ var Resizable = /** @class */ (function (_super) {
21468
  if (event.nativeEvent && isMouseEvent(event.nativeEvent)) {
21469
  clientX = event.nativeEvent.clientX;
21470
  clientY = event.nativeEvent.clientY;
21471
- // When user click with right button the resize is stuck in resizing mode
21472
- // until users clicks again, dont continue if right click is used.
21473
- // HACK: MouseEvent does not have `which` from flow-bin v0.68.
21474
- if (event.nativeEvent.which === 3) {
21475
- return;
21476
- }
21477
  }
21478
  else if (event.nativeEvent && isTouchEvent(event.nativeEvent)) {
21479
  clientX = event.nativeEvent.touches[0].clientX;
@@ -21754,6 +21739,7 @@ var SeoBar = function SeoBar(_ref) {
21754
  /* harmony default export */ const ui_SeoBar = (SeoBar);
21755
  ;// CONCATENATED MODULE: ./app/react/ui/Button/index.js
21756
 
 
21757
  var SCButton = styled_components_browser_esm.button.withConfig({
21758
  componentId: "sc-14aqw4v-0"
21759
  })(["&&&&{display:inline-flex;text-decoration:none;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;background-color:none;:not(:hover):not(:active):not(.has-background):not(:focus){background:none;background-color:none;box-shadow:none;}transition:box-shadow 0.1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;box-shadow:inset 0 0 0 1px var(--primaryColor);outline:1px solid transparent;white-space:nowrap;color:var(--primaryColor);background:transparent;font-weight:inherit;text-transform:inherit;", " ", "}&&&&:focus{border:2px solid var(--colorDark);}&&&& svg *{", "}"], function (_ref) {
@@ -21766,7 +21752,7 @@ var SCButton = styled_components_browser_esm.button.withConfig({
21766
  var secondary = _ref3.secondary;
21767
  return secondary && "\n fill: var(--primaryColor);\n ";
21768
  });
21769
- /* harmony default export */ const ui_Button = (SCButton);
21770
  ;// CONCATENATED MODULE: ./app/react/ui/SeoBar/components/Head/index.js
21771
 
21772
  var SCSeoBarHead = styled_components_browser_esm.div.withConfig({
@@ -24580,13 +24566,7 @@ function useFormik(_ref) {
24580
  multiple = target.multiple;
24581
  field = maybePath ? maybePath : name ? name : id;
24582
 
24583
- if (!field && "production" !== "production") {
24584
- warnAboutMissingIdentifier({
24585
- htmlContent: outerHTML,
24586
- documentationAnchorLink: 'handlechange-e-reactchangeeventany--void',
24587
- handlerName: 'handleChange'
24588
- });
24589
- }
24590
 
24591
  val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes
24592
  ? getValueForCheckbox(getIn(state.values, field), checked, value) : options && multiple // <select multiple>
@@ -24633,13 +24613,7 @@ function useFormik(_ref) {
24633
  outerHTML = _e$target.outerHTML;
24634
  var field = path ? path : name ? name : id;
24635
 
24636
- if (!field && "production" !== "production") {
24637
- warnAboutMissingIdentifier({
24638
- htmlContent: outerHTML,
24639
- documentationAnchorLink: 'handleblur-e-any--void',
24640
- handlerName: 'handleBlur'
24641
- });
24642
- }
24643
 
24644
  setFieldTouched(field, true);
24645
  }, [setFieldTouched]);
@@ -25812,6 +25786,9 @@ var FastField = /*#__PURE__*/(/* unused pure expression or super */ null && (con
25812
 
25813
  //# sourceMappingURL=formik.esm.js.map
25814
 
 
 
 
25815
  ;// CONCATENATED MODULE: ./app/react/ui/Dashicons/NoAlt/index.js
25816
  var NoAlt_excluded = ["className"];
25817
 
@@ -25861,6 +25838,7 @@ function FilteredPropsInputField(_ref) {
25861
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Input/index.js
25862
 
25863
 
 
25864
  var SCInputDefault = styled_components_browser_esm.input.withConfig({
25865
  componentId: "sc-1bv2xq-0"
25866
  })(["&&&&{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}"]);
@@ -25871,10 +25849,23 @@ var SCInput = styled_components_browser_esm(Forms_FilteredPropsInputField).withC
25871
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Input/index.js
25872
 
25873
 
 
25874
  var Input_excluded = ["name", "id", "value", "type", "emptyIcon", "setFieldValue"];
25875
 
25876
  function Input_extends() { Input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Input_extends.apply(this, arguments); }
25877
 
 
 
 
 
 
 
 
 
 
 
 
 
25878
  function Input_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Input_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25879
 
25880
  function Input_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
@@ -25894,12 +25885,30 @@ var FieldInput = function FieldInput(_ref) {
25894
  setFieldValue = _ref.setFieldValue,
25895
  rest = Input_objectWithoutProperties(_ref, Input_excluded);
25896
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
25897
  if (!emptyIcon) {
25898
  return /*#__PURE__*/react.createElement(Input, Input_extends({
25899
  name: name,
25900
  id: id,
25901
  type: type,
25902
- value: value
 
 
 
25903
  }, rest));
25904
  }
25905
 
@@ -25912,16 +25921,19 @@ var FieldInput = function FieldInput(_ref) {
25912
  name: name,
25913
  id: id,
25914
  type: type,
25915
- value: value
25916
- }, rest, {
 
 
25917
  style: {
25918
  width: "100%"
25919
  }
25920
- })), !isEmpty_default()(value) && /*#__PURE__*/react.createElement(NoAlt, {
25921
  style: {
25922
  position: "absolute",
25923
  right: 4,
25924
  zIndex: 10,
 
25925
  transform: "translateY(50%)",
25926
  marginTop: -5,
25927
  backgroundColor: "#fff"
@@ -27554,9 +27566,7 @@ class Fuse {
27554
  if (
27555
  this.options.useExtendedSearch &&
27556
  !true
27557
- ) {
27558
- throw new Error(EXTENDED_SEARCH_UNAVAILABLE)
27559
- }
27560
 
27561
  this._keyStore = new KeyStore(this.options.keys);
27562
 
@@ -28146,6 +28156,32 @@ var TITLE_PIXEL_LIMIT = 568;
28146
  var TITLE_CHARS_LIMIT = 60;
28147
  var DESCRIPTION_PIXEL_LIMIT = 940;
28148
  var DESCRIPTION_CHARS_LIMIT = 160;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
28149
  ;// CONCATENATED MODULE: ./app/react/components/Forms/MetaTitleDescription/index.js
28150
 
28151
 
@@ -28168,6 +28204,7 @@ function MetaTitleDescription_objectWithoutPropertiesLoose(source, excluded) { i
28168
 
28169
 
28170
 
 
28171
  var MetaTitleDescription_ = wp.i18n.__;
28172
 
28173
  var FormMetaTitleDescription = function FormMetaTitleDescription(_ref) {
@@ -28212,12 +28249,17 @@ var FormMetaTitleDescription = function FormMetaTitleDescription(_ref) {
28212
  var percentDescription = getPercentPixelValue(pixelDescription, DESCRIPTION_PIXEL_LIMIT);
28213
  return /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(components_Label, {
28214
  htmlFor: "title"
28215
- }, MetaTitleDescription_("Title", "wp-seopress")), /*#__PURE__*/react.createElement(components_Input, {
 
 
 
 
28216
  id: "title",
28217
  name: "title",
28218
  value: values.title,
28219
  placeholder: get_default()(data, "title.value", MetaTitleDescription_("Enter your title", "wp-seopress")),
28220
- className: "w-full"
 
28221
  }), /*#__PURE__*/react.createElement("div", {
28222
  style: {
28223
  marginTop: 5
@@ -28242,7 +28284,11 @@ var FormMetaTitleDescription = function FormMetaTitleDescription(_ref) {
28242
  handleChoiceTag: handleChoiceTagTitle
28243
  })), /*#__PURE__*/react.createElement(components_Label, {
28244
  htmlFor: "description"
28245
- }, MetaTitleDescription_("Description", "wp-seopress")), /*#__PURE__*/react.createElement(TextArea, {
 
 
 
 
28246
  id: "description",
28247
  name: "description",
28248
  style: {
@@ -28284,9 +28330,6 @@ var FormMetaTitleDescription = function FormMetaTitleDescription(_ref) {
28284
  // EXTERNAL MODULE: ./node_modules/lodash/truncate.js
28285
  var truncate = __webpack_require__(9138);
28286
  var truncate_default = /*#__PURE__*/__webpack_require__.n(truncate);
28287
- // EXTERNAL MODULE: ./node_modules/lodash/debounce.js
28288
- var debounce = __webpack_require__(3279);
28289
- var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce);
28290
  ;// CONCATENATED MODULE: ./app/react/services/api/getPathPreviewTitleDescription.js
28291
  var getPathPreviewTitleDescription = function getPathPreviewTitleDescription(_ref) {
28292
  var postId = _ref.postId;
@@ -28332,6 +28375,7 @@ function GooglePreview_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr;
28332
 
28333
 
28334
 
 
28335
  var GooglePreview_ = wp.i18n.__;
28336
  var MOBILE_PREVIEW = 1;
28337
  var DESKTOP_PREVIEW = 0;
@@ -28485,7 +28529,10 @@ var GooglePreview = function GooglePreview(_ref) {
28485
  textTransform: "none",
28486
  fontWeight: "bold"
28487
  }
28488
- }, GooglePreview_("Google Snippet Preview", "wp-seopress")), /*#__PURE__*/react.createElement("p", null, GooglePreview_("This is what your page will look like in Google search results. You have to publish your post to get the Google Snippet Preview.", "wp-seopress")), /*#__PURE__*/react.createElement("label", {
 
 
 
28489
  htmlFor: "toggle-preview",
28490
  className: "flex items-center",
28491
  style: {
@@ -28831,9 +28878,12 @@ var saveSocialSettings = /*#__PURE__*/function () {
28831
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Checkbox/index.js
28832
 
28833
 
28834
- var SCCheckbox = styled_components_browser_esm(Forms_FilteredPropsInputField).withConfig({
28835
  componentId: "sc-dkrxdi-0"
28836
  })(["&&&{border:1px solid #8c8f94;border-radius:4px;background:#fff;color:#50575e;clear:none;cursor:pointer;display:inline-block;line-height:0;height:1rem;margin:-0.25rem 0.25rem 0 0;outline:0;padding:0 !important;text-align:center;vertical-align:middle;width:1rem;min-width:1rem;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgb(0 0 0 / 10%);transition:0.05s border-color ease-in-out;font-family:var(--fontFamily);&:checked{&:before{content:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E);margin:-0.1875rem 0 0 -0.25rem;height:1.3125rem;width:1.3125rem;float:left;display:inline-block;vertical-align:middle;speak:never;-webkit-font-smoothing:antialiased;}&:after{content:none;}}&:after{content:none;}&:disabled{&:after{content:none;}&:before{opacity:0.7;}}}"]);
 
 
 
28837
  /* harmony default export */ const Checkbox = (SCCheckbox);
28838
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Checkbox/index.js
28839
  var Checkbox_excluded = ["name", "id", "value"];
@@ -28863,11 +28913,6 @@ var FieldCheckbox = function FieldCheckbox(_ref) {
28863
 
28864
  /* harmony default export */ const components_Checkbox = (FieldCheckbox);
28865
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/MediaUpload/index.js
28866
- var MediaUpload_excluded = ["name", "id", "value", "setFieldValue", "placeholder", "emptyIcon"];
28867
-
28868
- function MediaUpload_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = MediaUpload_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
28869
-
28870
- function MediaUpload_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
28871
 
28872
 
28873
 
@@ -28883,7 +28928,7 @@ var FieldMediaUpload = function FieldMediaUpload(_ref) {
28883
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
28884
  _ref$emptyIcon = _ref.emptyIcon,
28885
  emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
28886
- rest = MediaUpload_objectWithoutProperties(_ref, MediaUpload_excluded);
28887
 
28888
  var onClick = function onClick(e) {
28889
  e.preventDefault();
@@ -28893,6 +28938,9 @@ var FieldMediaUpload = function FieldMediaUpload(_ref) {
28893
  mediaUploader.on("select", function () {
28894
  var attachment = mediaUploader.state().get("selection").first().toJSON();
28895
  setFieldValue(name, attachment.url);
 
 
 
28896
  });
28897
  mediaUploader.open();
28898
  };
@@ -28907,6 +28955,18 @@ var FieldMediaUpload = function FieldMediaUpload(_ref) {
28907
  setFieldValue: setFieldValue,
28908
  value: value,
28909
  placeholder: placeholder
 
 
 
 
 
 
 
 
 
 
 
 
28910
  }), /*#__PURE__*/react.createElement(ui_Button, {
28911
  onClick: onClick,
28912
  className: "ms-2"
@@ -28917,9 +28977,12 @@ var FieldMediaUpload = function FieldMediaUpload(_ref) {
28917
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Select/index.js
28918
 
28919
 
28920
- var SCSelect = styled_components_browser_esm(Forms_FilteredPropsInputField).withConfig({
28921
  componentId: "sc-gds3ax-0"
28922
  })(["&&&{line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;border:1px solid #8c8f94;font-size:var(--fontSize);font-family:var(--fontFamily);padding:0 24px 0 8px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer;vertical-align:middle;@media only screen and (max-width:600px){max-width:100%;width:100%;}&:focus{border-color:#2271b1;color:#0a4b78;box-shadow:0 0 0 1px #2271b1;outline:none;}}"]);
 
 
 
28923
  /* harmony default export */ const Select = (SCSelect);
28924
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Select/index.js
28925
  var Select_excluded = ["name", "id", "value", "options"];
@@ -29274,8698 +29337,9661 @@ var LabelCheckbox = function LabelCheckbox(_ref) {
29274
  };
29275
 
29276
  /* harmony default export */ const components_LabelCheckbox = (LabelCheckbox);
29277
- ;// CONCATENATED MODULE: ./app/react/components/Forms/components/DynamicField/index.js
 
29278
 
 
29279
 
29280
- var DynamicField_excluded = ["item", "nameInput", "values", "itemValue", "checkboxLegacyValue", "emptyIcon", "placeholder"];
29281
 
29282
- function DynamicField_extends() { DynamicField_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return DynamicField_extends.apply(this, arguments); }
29283
 
29284
- function DynamicField_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = DynamicField_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29285
 
29286
- function DynamicField_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29287
 
 
 
29288
 
29289
 
29290
 
 
29291
 
 
29292
 
 
29293
 
 
29294
 
 
29295
 
 
29296
 
29297
 
29298
- var DynamicField = function DynamicField(_ref) {
29299
- var item = _ref.item,
29300
- _ref$nameInput = _ref.nameInput,
29301
- nameInput = _ref$nameInput === void 0 ? null : _ref$nameInput,
29302
- values = _ref.values,
29303
- _ref$itemValue = _ref.itemValue,
29304
- itemValue = _ref$itemValue === void 0 ? null : _ref$itemValue,
29305
- checkboxLegacyValue = _ref.checkboxLegacyValue,
29306
- _ref$emptyIcon = _ref.emptyIcon,
29307
- emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
29308
- _ref$placeholder = _ref.placeholder,
29309
- placeholder = _ref$placeholder === void 0 ? null : _ref$placeholder,
29310
- rest = DynamicField_objectWithoutProperties(_ref, DynamicField_excluded);
29311
 
29312
- var nameForm = isNil_default()(nameInput) ? item.key : nameInput;
29313
- var valueForm = isNil_default()(itemValue) ? values[item.key] : itemValue;
29314
- return /*#__PURE__*/react.createElement(react.Fragment, null, item.type !== "checkbox" && /*#__PURE__*/react.createElement(components_Label, {
29315
- htmlFor: nameForm
29316
- }, item.label), item.description && /*#__PURE__*/react.createElement("p", {
29317
- className: "description"
29318
- }, item.description), item.type === "checkbox" && /*#__PURE__*/react.createElement(react.Fragment, null, " ", /*#__PURE__*/react.createElement(components_LabelCheckbox, {
29319
- htmlFor: nameForm
29320
- }, /*#__PURE__*/react.createElement(components_Checkbox, {
29321
- id: nameForm,
29322
- name: nameForm,
29323
- checked: valueForm || false,
29324
- className: classnames_default()({
29325
- "w-full": item.type === "input" || item.type === "select" || item.type === "textarea"
29326
- }),
29327
- value: checkboxLegacyValue ? "yes" : null,
29328
- onChange: rest.handleChange
29329
- }), item.label)), item.type === "input" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
29330
- id: nameForm,
29331
- name: nameForm,
29332
- placeholder: placeholder ? placeholder : item.placeholder,
29333
- value: valueForm || "",
29334
- className: "w-full",
29335
- emptyIcon: emptyIcon,
29336
- setFieldValue: rest.setFieldValue
29337
- })), item.type === "number" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
29338
- id: nameForm,
29339
- name: nameForm,
29340
- placeholder: placeholder ? placeholder : item.placeholder,
29341
- type: "number",
29342
- value: valueForm || "",
29343
- className: "w-full",
29344
- emptyIcon: emptyIcon,
29345
- setFieldValue: rest.setFieldValue,
29346
- step: get_default()(item, "step", null),
29347
- min: get_default()(item, "min", null),
29348
- max: get_default()(item, "max", null)
29349
- })), item.type === "textarea" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(TextArea, {
29350
- id: nameForm,
29351
- name: nameForm,
29352
- placeholder: placeholder ? placeholder : item.placeholder,
29353
- value: valueForm || "",
29354
- className: "w-full",
29355
- style: {
29356
- resize: "vertical"
29357
- }
29358
- })), item.type === "select" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Select, DynamicField_extends({
29359
- id: nameForm,
29360
- name: nameForm,
29361
- placeholder: item.placeholder,
29362
- value: valueForm || "",
29363
- className: "w-full",
29364
- options: item.options,
29365
- onChange: rest.handleChange
29366
- }, rest))), item.type === "upload" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(MediaUpload, DynamicField_extends({
29367
- id: nameForm,
29368
- name: nameForm,
29369
- placeholder: placeholder ? placeholder : item.placeholder,
29370
- value: valueForm || "",
29371
- className: "w-full",
29372
- emptyIcon: emptyIcon,
29373
- setFieldValue: rest.setFieldValue
29374
- }, rest))));
29375
- };
29376
 
29377
- /* harmony default export */ const components_DynamicField = (DynamicField);
29378
- ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Social/index.js
 
29379
 
 
 
 
 
 
29380
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29381
 
 
 
29382
 
 
29383
 
 
29384
 
29385
- var Social_excluded = ["values"];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29386
 
29387
- function Social_extends() { Social_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Social_extends.apply(this, arguments); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29388
 
29389
- function Social_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Social_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29390
 
29391
- function Social_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29392
 
29393
- function Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29394
 
29395
- function Social_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29396
 
29397
- function Social_slicedToArray(arr, i) { return Social_arrayWithHoles(arr) || Social_iterableToArrayLimit(arr, i) || Social_unsupportedIterableToArray(arr, i) || Social_nonIterableRest(); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29398
 
29399
- function Social_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29400
 
29401
- function Social_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Social_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Social_arrayLikeToArray(o, minLen); }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29402
 
29403
- function Social_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29404
 
29405
- function Social_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29406
 
29407
- function Social_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29408
 
 
 
29409
 
29410
 
 
 
 
 
 
29411
 
 
 
 
 
 
 
 
 
 
29412
 
 
 
 
 
 
29413
 
 
 
 
 
 
 
 
 
 
 
 
29414
 
 
 
29415
 
 
 
 
 
29416
 
 
 
 
 
 
 
29417
 
 
 
29418
 
 
 
29419
 
 
 
29420
 
29421
- var Social_ = wp.i18n.__;
 
 
 
 
 
 
29422
 
29423
- var SocialLayout = function SocialLayout(_ref) {
29424
- var mainBarRef = _ref.mainBarRef;
29425
- var postId = getCurrentPostId();
29426
 
29427
- var _useSocialSettings = metas_useSocialSettings({
29428
- postId: postId
29429
- }),
29430
- data = _useSocialSettings.data,
29431
- mutate = _useSocialSettings.mutate,
29432
- abort = _useSocialSettings.abort;
29433
 
29434
- var dataPagePreview = useDataPagePreview();
 
 
 
 
 
 
 
 
 
 
 
29435
 
29436
- var _useState = (0,react.useState)(false),
29437
- _useState2 = Social_slicedToArray(_useState, 2),
29438
- loading = _useState2[0],
29439
- setLoading = _useState2[1];
29440
 
29441
- var _useContext = (0,react.useContext)(NotificationContext),
29442
- actions = _useContext.actions;
 
 
29443
 
29444
- (0,react.useEffect)(function () {
29445
- return function () {
29446
- abort();
29447
- };
 
 
29448
  });
 
 
29449
 
29450
- var handleOnSubmit = /*#__PURE__*/function () {
29451
- var _ref2 = Social_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
29452
- var data;
29453
- return regeneratorRuntime.wrap(function _callee$(_context) {
29454
- while (1) {
29455
- switch (_context.prev = _context.next) {
29456
- case 0:
29457
- setLoading(true);
29458
- _context.next = 3;
29459
- return saveSocialSettings(postId, values);
29460
-
29461
- case 3:
29462
- data = _context.sent;
29463
- mutate();
29464
- setLoading(false);
29465
- actions.setMessage(Social_("Your settings have been saved.", "wp-seopress"));
29466
 
29467
- case 7:
29468
- case "end":
29469
- return _context.stop();
29470
- }
29471
- }
29472
- }, _callee);
29473
- }));
29474
-
29475
- return function handleOnSubmit(_x) {
29476
- return _ref2.apply(this, arguments);
29477
- };
29478
- }();
29479
 
29480
- var getPlaceholderByItem = function getPlaceholderByItem(item) {
29481
- switch (item.key) {
29482
- case "_seopress_social_fb_title":
29483
- return first_default()(get_default()(dataPagePreview, "og:title.value", [item.placeholder]));
29484
 
29485
- case "_seopress_social_fb_desc":
29486
- return first_default()(get_default()(dataPagePreview, "og:description.value", [item.placeholder]));
 
 
29487
 
29488
- case "_seopress_social_fb_img":
29489
- return first_default()(get_default()(dataPagePreview, "og:image.value", [item.placeholder]));
 
 
 
 
 
29490
 
29491
- case "_seopress_social_twitter_title":
29492
- return first_default()(get_default()(dataPagePreview, "twitter:title.value", [item.placeholder]));
 
 
 
29493
 
29494
- case "_seopress_social_twitter_desc":
29495
- return first_default()(get_default()(dataPagePreview, "twitter:description.value", [item.placeholder]));
 
 
 
29496
 
29497
- case "_seopress_social_twitter_img":
29498
- return first_default()(get_default()(dataPagePreview, "twitter:image.value", [item.placeholder]));
29499
 
29500
- default:
29501
- return item.placeholder;
29502
- }
29503
- };
29504
 
29505
- var initialValues = mapValues_default()(keyBy_default()(data, "key"), function (item) {
29506
- var value = get_default()(item, "value", "");
29507
 
29508
- return value;
29509
- });
29510
 
29511
- var placeholders = mapValues_default()(keyBy_default()(data, "key"), function (item) {
29512
- var value = get_default()(item, "value", "");
29513
 
29514
- if (isEmpty_default()(value)) {
29515
- value = getPlaceholderByItem(item);
 
 
 
29516
  }
 
29517
 
29518
- return {
29519
- key: item.key,
29520
- placeholder: value
29521
- };
29522
- });
29523
-
29524
- return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Formik, {
29525
- enableReinitialize: true,
29526
- onSubmit: handleOnSubmit,
29527
- initialValues: initialValues
29528
- }, function (_ref3) {
29529
- var values = _ref3.values,
29530
- rest = Social_objectWithoutProperties(_ref3, Social_excluded);
29531
 
29532
- return /*#__PURE__*/react.createElement("div", {
29533
- ref: mainBarRef,
29534
- className: "flex",
29535
- style: {
29536
- gap: 32
29537
- },
29538
- tabIndex: "0"
29539
- }, /*#__PURE__*/react.createElement("div", {
29540
- className: "w-1/2"
29541
- }, /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement("p", {
29542
- className: "description-alt desc-fb"
29543
- }, /*#__PURE__*/react.createElement("svg", {
29544
- width: "24",
29545
- height: "24",
29546
- viewBox: "0 0 24 24",
29547
- role: "img",
29548
- "aria-hidden": "true",
29549
- focusable: "false"
29550
- }, /*#__PURE__*/react.createElement("path", {
29551
- d: "M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z"
29552
- })), Social_("LinkedIn, Instagram, WhatsApp and Pinterest use the same social metadata as Facebook. Twitter does the same if no Twitter cards tags are defined below.", "wp-seopress")), data.map(function (item, key) {
29553
- if (!item.visible) {
29554
- return;
29555
- }
29556
 
29557
- var Field = getFieldByType(item.type);
 
29558
 
29559
- if (isNil_default()(Field)) {
29560
- return;
29561
- }
 
29562
 
29563
- return /*#__PURE__*/react.createElement(react.Fragment, {
29564
- key: "social_form_".concat(key)
29565
- }, item.key === "_seopress_social_fb_title" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
29566
- className: "dashicons dashicons-facebook-alt"
29567
- })), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
29568
- className: "dashicons dashicons-external"
29569
- }), /*#__PURE__*/react.createElement("a", {
29570
- href: "https://developers.facebook.com/tools/debug/sharing/?q={get_permalink(get_the_id())}",
29571
- target: "_blank"
29572
- }, Social_("Ask Facebook to update its cache", "wp-seopress")))), item.key === "_seopress_social_twitter_title" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
29573
- style: {
29574
- marginTop: 20,
29575
- borderTop: "1px solid var(--borderColorLight)",
29576
- paddingTop: 20
29577
- }
29578
- }, /*#__PURE__*/react.createElement("span", {
29579
- className: "dashicons dashicons-twitter"
29580
- })), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
29581
- className: "dashicons dashicons-external"
29582
- }), /*#__PURE__*/react.createElement("a", {
29583
- href: "https://cards-dev.twitter.com/validator",
29584
- target: "_blank"
29585
- }, Social_("Preview your Twitter card using the official validator", "wp-seopress")))), /*#__PURE__*/react.createElement("div", {
29586
- className: "mt-3"
29587
- }, /*#__PURE__*/react.createElement(components_DynamicField, Social_extends({
29588
- item: item,
29589
- emptyIcon: item.key === "_seopress_social_fb_img" || item.key === "_seopress_social_twitter_img",
29590
- values: values,
29591
- placeholder: getPlaceholderByItem(item)
29592
- }, rest))));
29593
- }), /*#__PURE__*/react.createElement("div", {
29594
- className: "sp-fixed"
29595
- }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
29596
- loading: loading,
29597
- tabIndex: "0"
29598
- }, Social_("Save", "wp-seopress"))))), /*#__PURE__*/react.createElement("div", {
29599
- className: "w-1/2"
29600
- }, /*#__PURE__*/react.createElement(Preview, {
29601
- values: values,
29602
- placeholders: placeholders
29603
- })));
29604
- }));
29605
- };
29606
 
29607
- /* harmony default export */ const Social = (SocialLayout);
29608
- ;// CONCATENATED MODULE: ./node_modules/lodash-es/isEmpty.js
29609
 
 
 
 
29610
 
 
 
29611
 
 
 
 
 
29612
 
 
 
 
29613
 
 
 
 
29614
 
 
 
 
29615
 
 
 
 
29616
 
 
 
 
29617
 
29618
- /** `Object#toString` result references. */
29619
- var isEmpty_mapTag = '[object Map]',
29620
- isEmpty_setTag = '[object Set]';
29621
 
29622
- /** Used for built-in method references. */
29623
- var isEmpty_objectProto = Object.prototype;
 
 
 
 
29624
 
29625
- /** Used to check objects for own properties. */
29626
- var isEmpty_hasOwnProperty = isEmpty_objectProto.hasOwnProperty;
 
29627
 
29628
- /**
29629
- * Checks if `value` is an empty object, collection, map, or set.
29630
- *
29631
- * Objects are considered empty if they have no own enumerable string keyed
29632
- * properties.
29633
- *
29634
- * Array-like values such as `arguments` objects, arrays, buffers, strings, or
29635
- * jQuery-like collections are considered empty if they have a `length` of `0`.
29636
- * Similarly, maps and sets are considered empty if they have a `size` of `0`.
29637
- *
29638
- * @static
29639
- * @memberOf _
29640
- * @since 0.1.0
29641
- * @category Lang
29642
- * @param {*} value The value to check.
29643
- * @returns {boolean} Returns `true` if `value` is empty, else `false`.
29644
- * @example
29645
- *
29646
- * _.isEmpty(null);
29647
- * // => true
29648
- *
29649
- * _.isEmpty(true);
29650
- * // => true
29651
- *
29652
- * _.isEmpty(1);
29653
- * // => true
29654
- *
29655
- * _.isEmpty([1, 2, 3]);
29656
- * // => false
29657
- *
29658
- * _.isEmpty({ 'a': 1 });
29659
- * // => false
29660
- */
29661
- function isEmpty_isEmpty(value) {
29662
- if (value == null) {
29663
- return true;
29664
- }
29665
- if (lodash_es_isArrayLike(value) &&
29666
- (lodash_es_isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
29667
- lodash_es_isBuffer(value) || lodash_es_isTypedArray(value) || lodash_es_isArguments(value))) {
29668
- return !value.length;
29669
- }
29670
- var tag = _getTag(value);
29671
- if (tag == isEmpty_mapTag || tag == isEmpty_setTag) {
29672
- return !value.size;
29673
- }
29674
- if (_isPrototype(value)) {
29675
- return !_baseKeys(value).length;
29676
- }
29677
- for (var key in value) {
29678
- if (isEmpty_hasOwnProperty.call(value, key)) {
29679
- return false;
29680
  }
29681
  }
29682
- return true;
29683
- }
29684
-
29685
- /* harmony default export */ const lodash_es_isEmpty = (isEmpty_isEmpty);
29686
-
29687
- // EXTERNAL MODULE: ./node_modules/sprintf-js/src/sprintf.js
29688
- var src_sprintf = __webpack_require__(8975);
29689
- ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js
29690
 
29691
- var MetaRobotCheckboxSettings_excluded = ["data", "values"];
 
29692
 
29693
- function MetaRobotCheckboxSettings_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = MetaRobotCheckboxSettings_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
 
 
 
29694
 
29695
- function MetaRobotCheckboxSettings_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
29696
 
 
29697
 
 
 
29698
 
 
 
 
29699
 
 
 
 
29700
 
29701
- var MetaRobotCheckboxSettings_ = wp.i18n.__;
 
29702
 
29703
- var getStringForCheckboxData = function getStringForCheckboxData(key) {
29704
- switch (key) {
29705
- case "_seopress_robots_index":
29706
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display this page in search engine results / XML - HTML sitemaps", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noindex)"));
 
 
29707
 
29708
- case "_seopress_robots_follow":
29709
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not follow links for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(nofollow)"));
29710
 
29711
- case "_seopress_robots_odp":
29712
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not use Open Directory project metadata for titles or excerpts for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noodp)"));
29713
 
29714
- case "_seopress_robots_archive":
29715
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display a 'Cached' link in the Google search results", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noarchive)"));
29716
 
29717
- case "_seopress_robots_snippet":
29718
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display a description in search results for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(nosnippet)"));
29719
 
29720
- case "_seopress_robots_imageindex":
29721
- return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not index images for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, " (noimageindex)"));
29722
- }
29723
- };
29724
 
29725
- var MetaRobotChecboxSettings = function MetaRobotChecboxSettings(_ref) {
29726
- var data = _ref.data,
29727
- values = _ref.values,
29728
- rest = MetaRobotCheckboxSettings_objectWithoutProperties(_ref, MetaRobotCheckboxSettings_excluded);
29729
 
29730
- return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("p", {
29731
- className: "description",
29732
- dangerouslySetInnerHTML: {
29733
- __html: (0,src_sprintf.sprintf)(MetaRobotCheckboxSettings_('You cannot uncheck a parameter? This is normal, and it‘s most likely defined in the <a href="%s">global settings of the plugin.</a>', "wp-seopress"), SEOPRESS_DATA.ADMIN_URL_TITLES)
 
 
 
 
 
 
29734
  }
29735
- }), !lodash_es_isEmpty(data) && data.map(function (item, key) {
29736
- return /*#__PURE__*/react.createElement(components_LabelCheckbox, {
29737
- key: "robot_".concat(key)
29738
- }, /*#__PURE__*/react.createElement(components_Checkbox, {
29739
- name: item.key,
29740
- disabled: !item.can_modify,
29741
- checked: values[item.key] || values[item.key] === "yes" ? true : false,
29742
- onChange: function onChange(e) {
29743
- rest.setFieldValue(item.key, e.target.checked ? "yes" : "");
29744
- },
29745
- value: "yes"
29746
- }), getStringForCheckboxData(item.key));
29747
- }));
29748
- };
29749
-
29750
- /* harmony default export */ const MetaRobotCheckboxSettings = (MetaRobotChecboxSettings);
29751
- ;// CONCATENATED MODULE: ./app/react/hooks/metas/useMetaRobotSettings.js
29752
 
 
 
29753
 
29754
- var getPathMetaRobotSettings = function getPathMetaRobotSettings(_ref) {
29755
- var postId = _ref.postId;
29756
- return "".concat(SEOPRESS_DATA.REST_URL, "seopress/v1/posts/").concat(postId, "/meta-robot-settings");
29757
- };
29758
 
29759
- var useMetaRobotSettings = function useMetaRobotSettings(_ref2) {
29760
- var postId = _ref2.postId;
29761
- return useSWRAbort(getPathMetaRobotSettings({
29762
- postId: postId
29763
- }), {
29764
- suspense: true
29765
  });
29766
- };
29767
 
29768
- /* harmony default export */ const metas_useMetaRobotSettings = (useMetaRobotSettings);
29769
- ;// CONCATENATED MODULE: ./app/react/services/api/saveMetaRobotSettings.js
 
 
 
 
 
 
 
 
29770
 
 
 
 
 
 
29771
 
29772
- function saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
29773
 
29774
- function saveMetaRobotSettings_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29775
 
 
 
 
 
 
 
 
 
 
29776
 
29777
- var saveMetaRobotSettings = /*#__PURE__*/function () {
29778
- var _ref = saveMetaRobotSettings_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(postId, data) {
29779
- var response;
29780
- return regeneratorRuntime.wrap(function _callee$(_context) {
29781
- while (1) {
29782
- switch (_context.prev = _context.next) {
29783
- case 0:
29784
- _context.next = 2;
29785
- return fetch(getPathMetaRobotSettings({
29786
- postId: postId
29787
- }), {
29788
- method: "PUT",
29789
- headers: {
29790
- "Content-Type": "application/json",
29791
- "X-WP-Nonce": get_default()(SEOPRESS_DATA, "NONCE", null)
29792
- },
29793
- body: JSON.stringify(data)
29794
- });
29795
 
29796
- case 2:
29797
- response = _context.sent;
29798
- _context.next = 5;
29799
- return response.json();
29800
 
29801
- case 5:
29802
- return _context.abrupt("return", _context.sent);
 
 
 
 
 
29803
 
29804
- case 6:
29805
- case "end":
29806
- return _context.stop();
29807
- }
29808
- }
29809
- }, _callee);
29810
- }));
29811
 
29812
- return function saveMetaRobotSettings(_x, _x2) {
29813
- return _ref.apply(this, arguments);
29814
- };
29815
- }();
29816
- ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Advanced/index.js
29817
 
 
29818
 
 
 
29819
 
 
29820
 
29821
- var Advanced_excluded = ["values"];
 
 
29822
 
29823
- function Advanced_extends() { Advanced_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Advanced_extends.apply(this, arguments); }
29824
 
29825
- function Advanced_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Advanced_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
29826
 
29827
- function Advanced_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29828
-
29829
- function Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
29830
-
29831
- function Advanced_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
29832
-
29833
- function Advanced_slicedToArray(arr, i) { return Advanced_arrayWithHoles(arr) || Advanced_iterableToArrayLimit(arr, i) || Advanced_unsupportedIterableToArray(arr, i) || Advanced_nonIterableRest(); }
29834
-
29835
- function Advanced_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
29836
-
29837
- function Advanced_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Advanced_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Advanced_arrayLikeToArray(o, minLen); }
29838
-
29839
- function Advanced_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
29840
-
29841
- function Advanced_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
29842
-
29843
- function Advanced_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
29844
 
 
 
 
29845
 
 
 
 
29846
 
 
 
 
29847
 
 
 
 
 
29848
 
 
 
 
29849
 
 
 
29850
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29851
 
 
 
29852
 
 
 
 
 
29853
 
 
 
29854
 
 
29855
 
29856
- var Advanced_ = wp.i18n.__;
 
29857
 
29858
- var AdvancedLayout = function AdvancedLayout(_ref) {
29859
- var mainBarRef = _ref.mainBarRef;
29860
- var postId = getCurrentPostId();
29861
 
29862
- var _useMetaRobotSettings = metas_useMetaRobotSettings({
29863
- postId: postId
29864
- }),
29865
- data = _useMetaRobotSettings.data,
29866
- mutate = _useMetaRobotSettings.mutate,
29867
- abort = _useMetaRobotSettings.abort;
29868
 
29869
- (0,react.useEffect)(function () {
29870
- return function () {
29871
- abort();
29872
- };
29873
- });
29874
 
29875
- var _useState = (0,react.useState)(false),
29876
- _useState2 = Advanced_slicedToArray(_useState, 2),
29877
- loading = _useState2[0],
29878
- setLoading = _useState2[1];
29879
 
29880
- var _useContext = (0,react.useContext)(NotificationContext),
29881
- actions = _useContext.actions;
29882
 
29883
- var handleOnSubmit = /*#__PURE__*/function () {
29884
- var _ref2 = Advanced_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
29885
- var data;
29886
- return regeneratorRuntime.wrap(function _callee$(_context) {
29887
- while (1) {
29888
- switch (_context.prev = _context.next) {
29889
- case 0:
29890
- setLoading(true);
29891
- _context.next = 3;
29892
- return saveMetaRobotSettings(postId, values);
29893
 
29894
- case 3:
29895
- data = _context.sent;
29896
- mutate();
29897
- setLoading(false);
29898
- actions.setMessage(Advanced_("Your settings have been saved.", "wp-seopress"));
29899
 
29900
- case 7:
29901
- case "end":
29902
- return _context.stop();
29903
- }
29904
- }
29905
- }, _callee);
29906
- }));
 
29907
 
29908
- return function handleOnSubmit(_x) {
29909
- return _ref2.apply(this, arguments);
29910
- };
29911
- }();
 
 
 
 
 
 
29912
 
29913
- return /*#__PURE__*/react.createElement("div", {
29914
- ref: mainBarRef,
29915
- tabIndex: "0"
29916
- }, /*#__PURE__*/react.createElement("p", {
29917
- style: {
29918
- fontWeight: "bold"
29919
- }
29920
- }, Advanced_("Meta robots settings", "wp-seopress")), /*#__PURE__*/react.createElement(Formik, {
29921
- enableReinitialize: true,
29922
- onSubmit: handleOnSubmit,
29923
- initialValues: {
29924
- _seopress_robots_index: get_default()(find_default()(data, {
29925
- key: "_seopress_robots_index"
29926
- }), "value", ""),
29927
- _seopress_robots_follow: get_default()(find_default()(data, {
29928
- key: "_seopress_robots_follow"
29929
- }), "value", ""),
29930
- _seopress_robots_odp: get_default()(find_default()(data, {
29931
- key: "_seopress_robots_odp"
29932
- }), "value", ""),
29933
- _seopress_robots_archive: get_default()(find_default()(data, {
29934
- key: "_seopress_robots_archive"
29935
- }), "value", ""),
29936
- _seopress_robots_snippet: get_default()(find_default()(data, {
29937
- key: "_seopress_robots_snippet"
29938
- }), "value", ""),
29939
- _seopress_robots_imageindex: get_default()(find_default()(data, {
29940
- key: "_seopress_robots_imageindex"
29941
- }), "value", ""),
29942
- _seopress_robots_canonical: get_default()(find_default()(data, {
29943
- key: "_seopress_robots_canonical"
29944
- }), "value", false),
29945
- _seopress_robots_primary_cat: get_default()(find_default()(data, {
29946
- key: "_seopress_robots_primary_cat"
29947
- }), "value", false),
29948
- _seopress_robots_breadcrumbs: get_default()(find_default()(data, {
29949
- key: "_seopress_robots_breadcrumbs"
29950
- }), "value", false)
29951
- }
29952
- }, function (_ref3) {
29953
- var values = _ref3.values,
29954
- rest = Advanced_objectWithoutProperties(_ref3, Advanced_excluded);
29955
 
29956
- var dataValuesCheckbox = ["_seopress_robots_index", "_seopress_robots_follow", "_seopress_robots_odp", "_seopress_robots_archive", "_seopress_robots_snippet", "_seopress_robots_imageindex"];
 
 
 
 
 
 
29957
 
29958
- var canonical = find_default()(data, {
29959
- key: "_seopress_robots_canonical"
29960
- });
29961
 
29962
- var primaryCat = find_default()(data, {
29963
- key: "_seopress_robots_primary_cat"
29964
- });
 
 
 
 
 
 
 
 
 
29965
 
29966
- var breadcrumbs = find_default()(data, {
29967
- key: "_seopress_robots_breadcrumbs"
29968
- });
 
 
 
29969
 
29970
- return /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(MetaRobotCheckboxSettings, Advanced_extends({
29971
- data: data.filter(function (item) {
29972
- if (dataValuesCheckbox.indexOf(item.key) >= 0) {
29973
- return true;
29974
- }
29975
 
29976
- return false;
29977
- }),
29978
- values: values
29979
- }, rest)), canonical && canonical.visible && /*#__PURE__*/react.createElement("div", {
29980
- className: "mt-3"
29981
- }, /*#__PURE__*/react.createElement(components_Label, {
29982
- htmlFor: canonical.key
29983
- }, canonical.label), /*#__PURE__*/react.createElement(components_Input, {
29984
- id: canonical.key,
29985
- name: canonical.key,
29986
- placeholder: canonical.placeholder,
29987
- value: values[canonical.key] || "",
29988
- className: "w-full"
29989
- })), primaryCat && !isEmpty_default()(get_default()(primaryCat, "options", [])) && primaryCat.visible && /*#__PURE__*/react.createElement("div", {
29990
- className: "mt-3"
29991
- }, /*#__PURE__*/react.createElement(components_Label, {
29992
- htmlFor: primaryCat.key
29993
- }, primaryCat.label), /*#__PURE__*/react.createElement(components_Select, Advanced_extends({
29994
- id: primaryCat.key,
29995
- name: primaryCat.key,
29996
- value: values[primaryCat.key] || "none",
29997
- options: get_default()(primaryCat, "options", []).map(function (item) {
29998
- if (isNil_default()(item.name) || isNil_default()(item.term_id)) {
29999
- return;
30000
- }
30001
 
30002
- return {
30003
- label: item.name,
30004
- value: item.term_id
30005
- };
30006
- })
30007
- }, rest))), breadcrumbs && breadcrumbs.visible && /*#__PURE__*/react.createElement("div", {
30008
- className: "mt-3"
30009
- }, /*#__PURE__*/react.createElement(components_Label, {
30010
- htmlFor: breadcrumbs.key
30011
- }, breadcrumbs.label), breadcrumbs.description && /*#__PURE__*/react.createElement("p", {
30012
- className: "description"
30013
- }, breadcrumbs.description), /*#__PURE__*/react.createElement(components_Input, {
30014
- id: breadcrumbs.key,
30015
- name: breadcrumbs.key,
30016
- placeholder: breadcrumbs.placeholder,
30017
- value: values[breadcrumbs.key] || "",
30018
- className: "w-full"
30019
- })), /*#__PURE__*/react.createElement("div", {
30020
- className: "sp-fixed"
30021
- }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
30022
- loading: loading
30023
- }, Advanced_("Save", "wp-seopress"))));
30024
- }));
30025
- };
30026
 
30027
- /* harmony default export */ const Advanced = (AdvancedLayout);
30028
- ;// CONCATENATED MODULE: ./app/react/hooks/metas/useRedirectionSettings.js
 
30029
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30030
 
30031
- var getPathRedirectionSettings = function getPathRedirectionSettings(_ref) {
30032
- var postId = _ref.postId;
30033
- return "".concat(SEOPRESS_DATA.REST_URL, "seopress/v1/posts/").concat(postId, "/redirection-settings");
30034
  };
30035
 
30036
- var useRedirectionSettings = function useRedirectionSettings(_ref2) {
30037
- var postId = _ref2.postId;
30038
- return useSWRAbort(getPathRedirectionSettings({
30039
- postId: postId
30040
- }), {
30041
- suspense: true
30042
  });
30043
  };
 
 
30044
 
30045
- /* harmony default export */ const metas_useRedirectionSettings = (useRedirectionSettings);
30046
- ;// CONCATENATED MODULE: ./app/react/services/api/saveRedirectionDescription.js
30047
-
30048
-
30049
- function saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
30050
-
30051
- function saveRedirectionDescription_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
30052
-
30053
 
30054
- var saveRedirectionSettings = /*#__PURE__*/function () {
30055
- var _ref = saveRedirectionDescription_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(postId, data) {
30056
- var response;
30057
- return regeneratorRuntime.wrap(function _callee$(_context) {
30058
- while (1) {
30059
- switch (_context.prev = _context.next) {
30060
- case 0:
30061
- _context.next = 2;
30062
- return fetch(getPathRedirectionSettings({
30063
- postId: postId
30064
- }), {
30065
- method: "PUT",
30066
- headers: {
30067
- "Content-Type": "application/json",
30068
- "X-WP-Nonce": get_default()(SEOPRESS_DATA, "NONCE", null)
30069
- },
30070
- body: JSON.stringify(data)
30071
- });
30072
 
30073
- case 2:
30074
- response = _context.sent;
30075
- _context.next = 5;
30076
- return response.json();
 
 
 
30077
 
30078
- case 5:
30079
- return _context.abrupt("return", _context.sent);
 
30080
 
30081
- case 6:
30082
- case "end":
30083
- return _context.stop();
30084
- }
30085
- }
30086
- }, _callee);
30087
- }));
30088
 
30089
- return function saveRedirectionSettings(_x, _x2) {
30090
- return _ref.apply(this, arguments);
 
 
 
 
 
30091
  };
30092
- }();
30093
- ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Redirection/index.js
30094
-
30095
-
30096
 
30097
- var Redirection_excluded = ["values"];
30098
-
30099
- function Redirection_extends() { Redirection_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Redirection_extends.apply(this, arguments); }
30100
 
30101
- function Redirection_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Redirection_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
30102
 
30103
- function Redirection_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
30104
 
30105
- function Redirection_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
30106
 
30107
- function Redirection_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Redirection_ownKeys(Object(source), true).forEach(function (key) { Redirection_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Redirection_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
 
 
 
 
 
30108
 
30109
- function Redirection_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
 
 
 
 
 
30110
 
30111
- function Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
 
 
 
 
 
30112
 
30113
- function Redirection_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
30114
 
30115
- function Redirection_slicedToArray(arr, i) { return Redirection_arrayWithHoles(arr) || Redirection_iterableToArrayLimit(arr, i) || Redirection_unsupportedIterableToArray(arr, i) || Redirection_nonIterableRest(); }
 
 
 
 
 
 
 
30116
 
30117
- function Redirection_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
30118
 
30119
- function Redirection_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Redirection_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Redirection_arrayLikeToArray(o, minLen); }
 
 
 
 
30120
 
30121
- function Redirection_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
 
 
 
 
 
 
 
 
30122
 
30123
- function Redirection_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
 
 
 
 
30124
 
30125
- function Redirection_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
 
30126
 
 
 
 
 
 
 
 
 
 
30127
 
30128
 
 
 
 
 
 
 
 
 
30129
 
 
 
 
 
 
 
30130
 
 
 
 
 
 
 
 
30131
 
 
 
 
 
 
 
 
 
 
 
30132
 
 
 
 
30133
 
 
 
 
 
 
 
 
 
 
 
30134
 
30135
- var Redirection_ = wp.i18n.__;
30136
-
30137
- var RedirectionLayout = function RedirectionLayout(_ref) {
30138
- var mainBarRef = _ref.mainBarRef;
30139
- var postId = getCurrentPostId();
 
 
 
 
30140
 
30141
- var _useRedirectionSettin = metas_useRedirectionSettings({
30142
- postId: postId
30143
- }),
30144
- data = _useRedirectionSettin.data,
30145
- mutate = _useRedirectionSettin.mutate,
30146
- abort = _useRedirectionSettin.abort;
 
30147
 
30148
- (0,react.useEffect)(function () {
30149
- return function () {
30150
- abort();
30151
- };
30152
- });
30153
 
30154
- var _useState = (0,react.useState)(false),
30155
- _useState2 = Redirection_slicedToArray(_useState, 2),
30156
- loading = _useState2[0],
30157
- setLoading = _useState2[1];
30158
 
30159
- var _useContext = (0,react.useContext)(NotificationContext),
30160
- actions = _useContext.actions;
30161
 
30162
- var handleOnSubmit = /*#__PURE__*/function () {
30163
- var _ref2 = Redirection_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
30164
- var data;
30165
- return regeneratorRuntime.wrap(function _callee$(_context) {
30166
- while (1) {
30167
- switch (_context.prev = _context.next) {
30168
- case 0:
30169
- setLoading(true);
30170
- _context.next = 3;
30171
- return saveRedirectionSettings(postId, Redirection_objectSpread(Redirection_objectSpread({}, values), {}, {
30172
- _seopress_redirections_enabled: values._seopress_redirections_enabled ? "yes" : ""
30173
- }));
30174
 
30175
- case 3:
30176
- data = _context.sent;
30177
- mutate();
30178
- setLoading(false);
30179
- actions.setMessage(Redirection_("Your settings have been saved.", "wp-seopress"));
30180
 
30181
- case 7:
30182
- case "end":
30183
- return _context.stop();
30184
- }
30185
- }
30186
- }, _callee);
30187
- }));
30188
 
30189
- return function handleOnSubmit(_x) {
30190
- return _ref2.apply(this, arguments);
30191
- };
30192
- }();
30193
 
30194
- var initialValues = mapValues_default()(keyBy_default()(data, "key"), function (item) {
30195
- return get_default()(item, "value", false);
30196
- });
30197
 
30198
- return /*#__PURE__*/react.createElement("div", {
30199
- ref: mainBarRef,
30200
- tabIndex: "0"
30201
- }, /*#__PURE__*/react.createElement(Formik, {
30202
- enableReinitialize: true,
30203
- onSubmit: handleOnSubmit,
30204
- initialValues: initialValues
30205
- }, function (_ref3) {
30206
- var values = _ref3.values,
30207
- rest = Redirection_objectWithoutProperties(_ref3, Redirection_excluded);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30208
 
30209
- return /*#__PURE__*/react.createElement(Form, null, data.map(function (item, key) {
30210
- if (!item.visible) {
30211
- return;
30212
  }
 
 
30213
 
30214
- return /*#__PURE__*/react.createElement(react.Fragment, {
30215
- key: "social_form_".concat(key)
30216
- }, /*#__PURE__*/react.createElement("div", {
30217
- className: "mt-3"
30218
- }, /*#__PURE__*/react.createElement(components_DynamicField, Redirection_extends({
30219
- item: item,
30220
- values: values,
30221
- checkboxLegacyValue: item.key === "_seopress_redirections_enabled"
30222
- }, rest))));
30223
- }), /*#__PURE__*/react.createElement("div", {
30224
- className: "sp-fixed"
30225
- }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
30226
- loading: loading
30227
- }, Redirection_("Save", "wp-seopress"))));
30228
- }));
30229
  };
30230
 
30231
- /* harmony default export */ const Redirection = (RedirectionLayout);
30232
- // EXTERNAL MODULE: ./node_modules/lodash/has.js
30233
- var lodash_has = __webpack_require__(8721);
30234
- var has_default = /*#__PURE__*/__webpack_require__.n(lodash_has);
30235
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
30236
- function extends_extends() {
30237
- extends_extends = Object.assign || function (target) {
30238
- for (var i = 1; i < arguments.length; i++) {
30239
- var source = arguments[i];
30240
 
30241
- for (var key in source) {
30242
- if (Object.prototype.hasOwnProperty.call(source, key)) {
30243
- target[key] = source[key];
30244
- }
30245
- }
 
 
 
 
 
 
30246
  }
30247
 
30248
- return target;
 
 
 
30249
  };
30250
 
30251
- return extends_extends.apply(this, arguments);
30252
- }
30253
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
30254
- function arrayLikeToArray_arrayLikeToArray(arr, len) {
30255
- if (len == null || len > arr.length) len = arr.length;
30256
 
30257
- for (var i = 0, arr2 = new Array(len); i < len; i++) {
30258
- arr2[i] = arr[i];
30259
- }
30260
 
30261
- return arr2;
30262
- }
30263
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
 
 
 
 
 
30264
 
30265
- function _arrayWithoutHoles(arr) {
30266
- if (Array.isArray(arr)) return arrayLikeToArray_arrayLikeToArray(arr);
30267
- }
30268
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
30269
- function _iterableToArray(iter) {
30270
- if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
30271
- }
30272
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
30273
 
30274
- function unsupportedIterableToArray_unsupportedIterableToArray(o, minLen) {
30275
- if (!o) return;
30276
- if (typeof o === "string") return arrayLikeToArray_arrayLikeToArray(o, minLen);
30277
- var n = Object.prototype.toString.call(o).slice(8, -1);
30278
- if (n === "Object" && o.constructor) n = o.constructor.name;
30279
- if (n === "Map" || n === "Set") return Array.from(o);
30280
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray_arrayLikeToArray(o, minLen);
30281
- }
30282
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
30283
- function _nonIterableSpread() {
30284
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30285
- }
30286
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
30287
 
30288
 
 
30289
 
 
 
 
 
 
30290
 
30291
- function _toConsumableArray(arr) {
30292
- return _arrayWithoutHoles(arr) || _iterableToArray(arr) || unsupportedIterableToArray_unsupportedIterableToArray(arr) || _nonIterableSpread();
30293
- }
30294
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
30295
- function _classCallCheck(instance, Constructor) {
30296
- if (!(instance instanceof Constructor)) {
30297
- throw new TypeError("Cannot call a class as a function");
30298
- }
30299
- }
30300
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
30301
- function _defineProperties(target, props) {
30302
- for (var i = 0; i < props.length; i++) {
30303
- var descriptor = props[i];
30304
- descriptor.enumerable = descriptor.enumerable || false;
30305
- descriptor.configurable = true;
30306
- if ("value" in descriptor) descriptor.writable = true;
30307
- Object.defineProperty(target, descriptor.key, descriptor);
30308
- }
30309
- }
30310
 
30311
- function _createClass(Constructor, protoProps, staticProps) {
30312
- if (protoProps) _defineProperties(Constructor.prototype, protoProps);
30313
- if (staticProps) _defineProperties(Constructor, staticProps);
30314
- return Constructor;
30315
- }
30316
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
30317
- function _setPrototypeOf(o, p) {
30318
- _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
30319
- o.__proto__ = p;
30320
- return o;
30321
- };
30322
 
30323
- return _setPrototypeOf(o, p);
30324
- }
30325
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
30326
 
30327
- function _inherits(subClass, superClass) {
30328
- if (typeof superClass !== "function" && superClass !== null) {
30329
- throw new TypeError("Super expression must either be null or a function");
30330
- }
30331
 
30332
- subClass.prototype = Object.create(superClass && superClass.prototype, {
30333
- constructor: {
30334
- value: subClass,
30335
- writable: true,
30336
- configurable: true
30337
- }
30338
- });
30339
- if (superClass) _setPrototypeOf(subClass, superClass);
30340
- }
30341
- ;// CONCATENATED MODULE: ./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js
30342
- /*
30343
 
30344
- Based off glamor's StyleSheet, thanks Sunil ❤️
30345
 
30346
- high performance StyleSheet for css-in-js systems
30347
 
30348
- - uses multiple style tags behind the scenes for millions of rules
30349
- - uses `insertRule` for appending in production for *much* faster performance
30350
 
30351
- // usage
30352
 
30353
- import { StyleSheet } from '@emotion/sheet'
30354
 
30355
- let styleSheet = new StyleSheet({ key: '', container: document.head })
30356
 
30357
- styleSheet.insert('#box { border: 1px solid red; }')
30358
- - appends a css rule into the stylesheet
30359
 
30360
- styleSheet.flush()
30361
- - empties the stylesheet of all its contents
30362
 
30363
- */
30364
- // $FlowFixMe
30365
- function sheetForTag(tag) {
30366
- if (tag.sheet) {
30367
- // $FlowFixMe
30368
- return tag.sheet;
30369
- } // this weirdness brought to you by firefox
30370
 
30371
- /* istanbul ignore next */
30372
 
 
30373
 
30374
- for (var i = 0; i < document.styleSheets.length; i++) {
30375
- if (document.styleSheets[i].ownerNode === tag) {
30376
- // $FlowFixMe
30377
- return document.styleSheets[i];
30378
- }
30379
- }
30380
- }
30381
 
30382
- function createStyleElement(options) {
30383
- var tag = document.createElement('style');
30384
- tag.setAttribute('data-emotion', options.key);
30385
 
30386
- if (options.nonce !== undefined) {
30387
- tag.setAttribute('nonce', options.nonce);
30388
- }
30389
 
30390
- tag.appendChild(document.createTextNode(''));
30391
- tag.setAttribute('data-s', '');
30392
- return tag;
30393
- }
30394
 
30395
- var emotion_sheet_browser_esm_StyleSheet = /*#__PURE__*/function () {
30396
- function StyleSheet(options) {
30397
- var _this = this;
30398
 
30399
- this._insertTag = function (tag) {
30400
- var before;
30401
 
30402
- if (_this.tags.length === 0) {
30403
- before = _this.prepend ? _this.container.firstChild : _this.before;
30404
- } else {
30405
- before = _this.tags[_this.tags.length - 1].nextSibling;
30406
- }
30407
 
30408
- _this.container.insertBefore(tag, before);
30409
 
30410
- _this.tags.push(tag);
30411
- };
30412
 
30413
- this.isSpeedy = options.speedy === undefined ? "production" === 'production' : options.speedy;
30414
- this.tags = [];
30415
- this.ctr = 0;
30416
- this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
 
30417
 
30418
- this.key = options.key;
30419
- this.container = options.container;
30420
- this.prepend = options.prepend;
30421
- this.before = null;
30422
- }
30423
 
30424
- var _proto = StyleSheet.prototype;
 
 
 
 
 
30425
 
30426
- _proto.hydrate = function hydrate(nodes) {
30427
- nodes.forEach(this._insertTag);
30428
- };
 
 
 
 
 
 
 
 
30429
 
30430
- _proto.insert = function insert(rule) {
30431
- // the max length is how many rules we have per style tag, it's 65000 in speedy mode
30432
- // it's 1 in dev because we insert source maps that map a single rule to a location
30433
- // and you can only have one source map per style tag
30434
- if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {
30435
- this._insertTag(createStyleElement(this));
30436
- }
 
 
 
30437
 
30438
- var tag = this.tags[this.tags.length - 1];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30439
 
30440
- if (false) { var isImportRule; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30441
 
30442
- if (this.isSpeedy) {
30443
- var sheet = sheetForTag(tag);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30444
 
30445
- try {
30446
- // this is the ultrafast version, works across browsers
30447
- // the big drawback is that the css won't be editable in devtools
30448
- sheet.insertRule(rule, sheet.cssRules.length);
30449
- } catch (e) {
30450
- if (false) {}
30451
  }
30452
- } else {
30453
- tag.appendChild(document.createTextNode(rule));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30454
  }
 
 
30455
 
30456
- this.ctr++;
30457
- };
30458
 
30459
- _proto.flush = function flush() {
30460
- // $FlowFixMe
30461
- this.tags.forEach(function (tag) {
30462
- return tag.parentNode.removeChild(tag);
30463
- });
30464
- this.tags = [];
30465
- this.ctr = 0;
30466
 
30467
- if (false) {}
30468
- };
30469
 
30470
- return StyleSheet;
30471
- }();
30472
 
 
30473
 
 
30474
 
30475
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Utility.js
30476
- /**
30477
- * @param {number}
30478
- * @return {number}
30479
- */
30480
- var abs = Math.abs
30481
 
30482
- /**
30483
- * @param {number}
30484
- * @return {string}
30485
- */
30486
- var Utility_from = String.fromCharCode
30487
 
30488
- /**
30489
- * @param {string} value
30490
- * @param {number} length
30491
- * @return {number}
30492
- */
30493
- function Utility_hash (value, length) {
30494
- return (((((((length << 2) ^ Utility_charat(value, 0)) << 2) ^ Utility_charat(value, 1)) << 2) ^ Utility_charat(value, 2)) << 2) ^ Utility_charat(value, 3)
30495
- }
30496
 
30497
- /**
30498
- * @param {string} value
30499
- * @return {string}
30500
- */
30501
- function trim (value) {
30502
- return value.trim()
30503
- }
30504
 
30505
- /**
30506
- * @param {string} value
30507
- * @param {RegExp} pattern
30508
- * @return {string?}
30509
- */
30510
- function match (value, pattern) {
30511
- return (value = pattern.exec(value)) ? value[0] : value
30512
- }
30513
 
30514
- /**
30515
- * @param {string} value
30516
- * @param {(string|RegExp)} pattern
30517
- * @param {string} replacement
30518
- * @return {string}
30519
- */
30520
- function Utility_replace (value, pattern, replacement) {
30521
- return value.replace(pattern, replacement)
30522
- }
30523
 
30524
- /**
30525
- * @param {string} value
30526
- * @param {string} value
30527
- * @return {number}
30528
- */
30529
- function indexof (value, search) {
30530
- return value.indexOf(search)
30531
- }
30532
 
30533
- /**
30534
- * @param {string} value
30535
- * @param {number} index
30536
- * @return {number}
30537
- */
30538
- function Utility_charat (value, index) {
30539
- return value.charCodeAt(index) | 0
30540
- }
30541
 
30542
- /**
30543
- * @param {string} value
30544
- * @param {number} begin
30545
- * @param {number} end
30546
- * @return {string}
30547
- */
30548
- function Utility_substr (value, begin, end) {
30549
- return value.slice(begin, end)
30550
- }
30551
 
30552
- /**
30553
- * @param {string} value
30554
- * @return {number}
30555
- */
30556
- function Utility_strlen (value) {
30557
- return value.length
30558
- }
30559
 
30560
- /**
30561
- * @param {any[]} value
30562
- * @return {number}
30563
- */
30564
- function Utility_sizeof (value) {
30565
- return value.length
30566
- }
30567
 
30568
- /**
30569
- * @param {any} value
30570
- * @param {any[]} array
30571
- * @return {any}
30572
- */
30573
- function Utility_append (value, array) {
30574
- return array.push(value), value
30575
- }
30576
 
30577
- /**
30578
- * @param {string[]} array
30579
- * @param {function} callback
30580
- * @return {string}
30581
- */
30582
- function Utility_combine (array, callback) {
30583
- return array.map(callback).join('')
30584
- }
30585
 
30586
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Tokenizer.js
30587
 
30588
 
30589
- var line = 1
30590
- var column = 1
30591
- var Tokenizer_length = 0
30592
- var position = 0
30593
- var character = 0
30594
- var characters = ''
30595
 
30596
- /**
30597
- * @param {string} value
30598
- * @param {object} root
30599
- * @param {object?} parent
30600
- * @param {string} type
30601
- * @param {string[]} props
30602
- * @param {object[]} children
30603
- * @param {number} length
30604
- */
30605
- function node (value, root, parent, type, props, children, length) {
30606
- return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}
30607
- }
30608
 
30609
- /**
30610
- * @param {string} value
30611
- * @param {object} root
30612
- * @param {string} type
30613
- */
30614
- function copy (value, root, type) {
30615
- return node(value, root.root, root.parent, type, root.props, root.children, 0)
30616
- }
30617
 
30618
- /**
30619
- * @return {number}
30620
- */
30621
- function Tokenizer_char () {
30622
- return character
30623
- }
30624
 
30625
- /**
30626
- * @return {number}
30627
- */
30628
- function prev () {
30629
- character = position > 0 ? Utility_charat(characters, --position) : 0
30630
 
30631
- if (column--, character === 10)
30632
- column = 1, line--
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30633
 
30634
- return character
30635
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30636
 
30637
- /**
30638
- * @return {number}
30639
- */
30640
- function next () {
30641
- character = position < Tokenizer_length ? Utility_charat(characters, position++) : 0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30642
 
30643
- if (column++, character === 10)
30644
- column = 1, line++
30645
 
30646
- return character
30647
- }
30648
 
30649
- /**
30650
- * @return {number}
30651
- */
30652
- function peek () {
30653
- return Utility_charat(characters, position)
30654
- }
30655
 
30656
- /**
30657
- * @return {number}
30658
- */
30659
- function caret () {
30660
- return position
30661
- }
30662
 
30663
- /**
30664
- * @param {number} begin
30665
- * @param {number} end
30666
- * @return {string}
30667
- */
30668
- function slice (begin, end) {
30669
- return Utility_substr(characters, begin, end)
30670
- }
30671
 
30672
- /**
30673
- * @param {number} type
30674
- * @return {number}
30675
- */
30676
- function token (type) {
30677
- switch (type) {
30678
- // \0 \t \n \r \s whitespace token
30679
- case 0: case 9: case 10: case 13: case 32:
30680
- return 5
30681
- // ! + , / > @ ~ isolate token
30682
- case 33: case 43: case 44: case 47: case 62: case 64: case 126:
30683
- // ; { } breakpoint token
30684
- case 59: case 123: case 125:
30685
- return 4
30686
- // : accompanied token
30687
- case 58:
30688
- return 3
30689
- // " ' ( [ opening delimit token
30690
- case 34: case 39: case 40: case 91:
30691
- return 2
30692
- // ) ] closing delimit token
30693
- case 41: case 93:
30694
- return 1
30695
- }
30696
 
30697
- return 0
30698
- }
30699
 
30700
- /**
30701
- * @param {string} value
30702
- * @return {any[]}
30703
- */
30704
- function alloc (value) {
30705
- return line = column = 1, Tokenizer_length = Utility_strlen(characters = value), position = 0, []
30706
- }
30707
 
30708
- /**
30709
- * @param {any} value
30710
- * @return {any}
30711
- */
30712
- function dealloc (value) {
30713
- return characters = '', value
30714
- }
30715
 
30716
- /**
30717
- * @param {number} type
30718
- * @return {string}
30719
- */
30720
- function delimit (type) {
30721
- return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))
30722
- }
30723
 
30724
- /**
30725
- * @param {string} value
30726
- * @return {string[]}
30727
- */
30728
- function Tokenizer_tokenize (value) {
30729
- return dealloc(tokenizer(alloc(value)))
30730
- }
30731
 
30732
- /**
30733
- * @param {number} type
30734
- * @return {string}
30735
- */
30736
- function whitespace (type) {
30737
- while (character = peek())
30738
- if (character < 33)
30739
- next()
30740
- else
30741
- break
30742
 
30743
- return token(type) > 2 || token(character) > 3 ? '' : ' '
30744
- }
30745
 
30746
- /**
30747
- * @param {string[]} children
30748
- * @return {string[]}
30749
- */
30750
- function tokenizer (children) {
30751
- while (next())
30752
- switch (token(character)) {
30753
- case 0: append(identifier(position - 1), children)
30754
- break
30755
- case 2: append(delimit(character), children)
30756
- break
30757
- default: append(from(character), children)
30758
- }
30759
 
30760
- return children
30761
- }
30762
 
30763
- /**
30764
- * @param {number} index
30765
- * @param {number} count
30766
- * @return {string}
30767
- */
30768
- function escaping (index, count) {
30769
- while (--count && next())
30770
- // not 0-9 A-F a-f
30771
- if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))
30772
- break
30773
 
30774
- return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))
30775
- }
30776
 
30777
- /**
30778
- * @param {number} type
30779
- * @return {number}
30780
- */
30781
- function delimiter (type) {
30782
- while (next())
30783
- switch (character) {
30784
- // ] ) " '
30785
- case type:
30786
- return position
30787
- // " '
30788
- case 34: case 39:
30789
- return delimiter(type === 34 || type === 39 ? type : character)
30790
- // (
30791
- case 40:
30792
- if (type === 41)
30793
- delimiter(type)
30794
- break
30795
- // \
30796
- case 92:
30797
- next()
30798
- break
30799
- }
30800
 
30801
- return position
30802
- }
30803
 
30804
- /**
30805
- * @param {number} type
30806
- * @param {number} index
30807
- * @return {number}
30808
- */
30809
- function commenter (type, index) {
30810
- while (next())
30811
- // //
30812
- if (type + character === 47 + 10)
30813
- break
30814
- // /*
30815
- else if (type + character === 42 + 42 && peek() === 47)
30816
- break
30817
 
30818
- return '/*' + slice(index, position - 1) + '*' + Utility_from(type === 47 ? type : next())
30819
- }
30820
 
30821
- /**
30822
- * @param {number} index
30823
- * @return {string}
30824
- */
30825
- function identifier (index) {
30826
- while (!token(peek()))
30827
- next()
30828
 
30829
- return slice(index, position)
30830
- }
 
 
 
 
 
 
 
 
 
 
 
30831
 
30832
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Enum.js
30833
- var MS = '-ms-'
30834
- var MOZ = '-moz-'
30835
- var WEBKIT = '-webkit-'
 
 
 
 
30836
 
30837
- var COMMENT = 'comm'
30838
- var Enum_RULESET = 'rule'
30839
- var DECLARATION = 'decl'
30840
 
30841
- var PAGE = '@page'
30842
- var MEDIA = '@media'
30843
- var IMPORT = '@import'
30844
- var CHARSET = '@charset'
30845
- var VIEWPORT = '@viewport'
30846
- var SUPPORTS = '@supports'
30847
- var DOCUMENT = '@document'
30848
- var NAMESPACE = '@namespace'
30849
- var KEYFRAMES = '@keyframes'
30850
- var FONT_FACE = '@font-face'
30851
- var COUNTER_STYLE = '@counter-style'
30852
- var FONT_FEATURE_VALUES = '@font-feature-values'
30853
 
30854
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Serializer.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30855
 
 
 
30856
 
30857
 
30858
- /**
30859
- * @param {object[]} children
30860
- * @param {function} callback
30861
- * @return {string}
30862
- */
30863
- function serialize (children, callback) {
30864
- var output = ''
30865
- var length = Utility_sizeof(children)
30866
 
30867
- for (var i = 0; i < length; i++)
30868
- output += callback(children[i], i, children, callback) || ''
30869
 
30870
- return output
30871
- }
30872
 
30873
- /**
30874
- * @param {object} element
30875
- * @param {number} index
30876
- * @param {object[]} children
30877
- * @param {function} callback
30878
- * @return {string}
30879
- */
30880
- function stringify (element, index, children, callback) {
30881
- switch (element.type) {
30882
- case IMPORT: case DECLARATION: return element.return = element.return || element.value
30883
- case COMMENT: return ''
30884
- case Enum_RULESET: element.value = element.props.join(',')
30885
- }
30886
 
30887
- return Utility_strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''
30888
- }
30889
 
30890
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Prefixer.js
30891
 
 
30892
 
 
30893
 
30894
- /**
30895
- * @param {string} value
30896
- * @param {number} length
30897
- * @return {string}
30898
- */
30899
- function prefix (value, length) {
30900
- switch (Utility_hash(value, length)) {
30901
- // color-adjust
30902
- case 5103:
30903
- return WEBKIT + 'print-' + value + value
30904
- // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
30905
- case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:
30906
- // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
30907
- case 5572: case 6356: case 5844: case 3191: case 6645: case 3005:
30908
- // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
30909
- case 6391: case 5879: case 5623: case 6135: case 4599: case 4855:
30910
- // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
30911
- case 4215: case 6389: case 5109: case 5365: case 5621: case 3829:
30912
- return WEBKIT + value + value
30913
- // appearance, user-select, transform, hyphens, text-size-adjust
30914
- case 5349: case 4246: case 4810: case 6968: case 2756:
30915
- return WEBKIT + value + MOZ + value + MS + value + value
30916
- // flex, flex-direction
30917
- case 6828: case 4268:
30918
- return WEBKIT + value + MS + value + value
30919
- // order
30920
- case 6165:
30921
- return WEBKIT + value + MS + 'flex-' + value + value
30922
- // align-items
30923
- case 5187:
30924
- return WEBKIT + value + Utility_replace(value, /(\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value
30925
- // align-self
30926
- case 5443:
30927
- return WEBKIT + value + MS + 'flex-item-' + Utility_replace(value, /flex-|-self/, '') + value
30928
- // align-content
30929
- case 4675:
30930
- return WEBKIT + value + MS + 'flex-line-pack' + Utility_replace(value, /align-content|flex-|-self/, '') + value
30931
- // flex-shrink
30932
- case 5548:
30933
- return WEBKIT + value + MS + Utility_replace(value, 'shrink', 'negative') + value
30934
- // flex-basis
30935
- case 5292:
30936
- return WEBKIT + value + MS + Utility_replace(value, 'basis', 'preferred-size') + value
30937
- // flex-grow
30938
- case 6060:
30939
- return WEBKIT + 'box-' + Utility_replace(value, '-grow', '') + WEBKIT + value + MS + Utility_replace(value, 'grow', 'positive') + value
30940
- // transition
30941
- case 4554:
30942
- return WEBKIT + Utility_replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value
30943
- // cursor
30944
- case 6187:
30945
- return Utility_replace(Utility_replace(Utility_replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value
30946
- // background, background-image
30947
- case 5495: case 3959:
30948
- return Utility_replace(value, /(image-set\([^]*)/, WEBKIT + '$1' + '$`$1')
30949
- // justify-content
30950
- case 4968:
30951
- return Utility_replace(Utility_replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value
30952
- // (margin|padding)-inline-(start|end)
30953
- case 4095: case 3583: case 4068: case 2532:
30954
- return Utility_replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value
30955
- // (min|max)?(width|height|inline-size|block-size)
30956
- case 8116: case 7059: case 5753: case 5535:
30957
- case 5445: case 5701: case 4933: case 4677:
30958
- case 5533: case 5789: case 5021: case 4765:
30959
- // stretch, max-content, min-content, fill-available
30960
- if (Utility_strlen(value) - 1 - length > 6)
30961
- switch (Utility_charat(value, length + 1)) {
30962
- // (m)ax-content, (m)in-content
30963
- case 109:
30964
- // -
30965
- if (Utility_charat(value, length + 4) !== 45)
30966
- break
30967
- // (f)ill-available, (f)it-content
30968
- case 102:
30969
- return Utility_replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (Utility_charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value
30970
- // (s)tretch
30971
- case 115:
30972
- return ~indexof(value, 'stretch') ? prefix(Utility_replace(value, 'stretch', 'fill-available'), length) + value : value
30973
- }
30974
- break
30975
- // position: sticky
30976
- case 4949:
30977
- // (s)ticky?
30978
- if (Utility_charat(value, length + 1) !== 115)
30979
- break
30980
- // display: (flex|inline-flex)
30981
- case 6444:
30982
- switch (Utility_charat(value, Utility_strlen(value) - 3 - (~indexof(value, '!important') && 10))) {
30983
- // stic(k)y
30984
- case 107:
30985
- return Utility_replace(value, ':', ':' + WEBKIT) + value
30986
- // (inline-)?fl(e)x
30987
- case 101:
30988
- return Utility_replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (Utility_charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value
30989
- }
30990
- break
30991
- // writing-mode
30992
- case 5936:
30993
- switch (Utility_charat(value, length + 11)) {
30994
- // vertical-l(r)
30995
- case 114:
30996
- return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'tb') + value
30997
- // vertical-r(l)
30998
- case 108:
30999
- return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value
31000
- // horizontal(-)tb
31001
- case 45:
31002
- return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'lr') + value
31003
- }
31004
 
31005
- return WEBKIT + value + MS + value + value
31006
- }
31007
 
31008
- return value
31009
- }
31010
 
31011
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Middleware.js
31012
 
 
31013
 
 
31014
 
 
31015
 
 
31016
 
31017
 
31018
- /**
31019
- * @param {function[]} collection
31020
- * @return {function}
31021
- */
31022
- function middleware (collection) {
31023
- var length = Utility_sizeof(collection)
31024
 
31025
- return function (element, index, children, callback) {
31026
- var output = ''
31027
 
31028
- for (var i = 0; i < length; i++)
31029
- output += collection[i](element, index, children, callback) || ''
31030
 
31031
- return output
31032
- }
31033
- }
31034
 
31035
- /**
31036
- * @param {function} callback
31037
- * @return {function}
31038
- */
31039
- function rulesheet (callback) {
31040
- return function (element) {
31041
- if (!element.root)
31042
- if (element = element.return)
31043
- callback(element)
31044
- }
31045
- }
31046
 
31047
- /**
31048
- * @param {object} element
31049
- * @param {number} index
31050
- * @param {object[]} children
31051
- * @param {function} callback
31052
- */
31053
- function prefixer (element, index, children, callback) {
31054
- if (!element.return)
31055
- switch (element.type) {
31056
- case DECLARATION: element.return = prefix(element.value, element.length)
31057
- break
31058
- case KEYFRAMES:
31059
- return serialize([copy(Utility_replace(element.value, '@', '@' + WEBKIT), element, '')], callback)
31060
- case Enum_RULESET:
31061
- if (element.length)
31062
- return Utility_combine(element.props, function (value) {
31063
- switch (match(value, /(::plac\w+|:read-\w+)/)) {
31064
- // :read-(only|write)
31065
- case ':read-only': case ':read-write':
31066
- return serialize([copy(Utility_replace(value, /:(read-\w+)/, ':' + MOZ + '$1'), element, '')], callback)
31067
- // :placeholder
31068
- case '::placeholder':
31069
- return serialize([
31070
- copy(Utility_replace(value, /:(plac\w+)/, ':' + WEBKIT + 'input-$1'), element, ''),
31071
- copy(Utility_replace(value, /:(plac\w+)/, ':' + MOZ + '$1'), element, ''),
31072
- copy(Utility_replace(value, /:(plac\w+)/, MS + 'input-$1'), element, '')
31073
- ], callback)
31074
- }
31075
 
31076
- return ''
31077
- })
31078
- }
31079
- }
31080
 
31081
- /**
31082
- * @param {object} element
31083
- * @param {number} index
31084
- * @param {object[]} children
31085
- */
31086
- function namespace (element) {
31087
- switch (element.type) {
31088
- case RULESET:
31089
- element.props = element.props.map(function (value) {
31090
- return combine(tokenize(value), function (value, index, children) {
31091
- switch (charat(value, 0)) {
31092
- // \f
31093
- case 12:
31094
- return substr(value, 1, strlen(value))
31095
- // \0 ( + > ~
31096
- case 0: case 40: case 43: case 62: case 126:
31097
- return value
31098
- // :
31099
- case 58:
31100
- if (children[++index] === 'global')
31101
- children[index] = '', children[++index] = '\f' + substr(children[index], index = 1, -1)
31102
- // \s
31103
- case 32:
31104
- return index === 1 ? '' : value
31105
- default:
31106
- switch (index) {
31107
- case 0: element = value
31108
- return sizeof(children) > 1 ? '' : value
31109
- case index = sizeof(children) - 1: case 2:
31110
- return index === 2 ? value + element + element : value + element
31111
- default:
31112
- return value
31113
- }
31114
- }
31115
- })
31116
- })
31117
- }
31118
- }
31119
 
31120
- ;// CONCATENATED MODULE: ./node_modules/stylis/src/Parser.js
31121
 
31122
 
31123
 
 
31124
 
31125
- /**
31126
- * @param {string} value
31127
- * @return {object[]}
31128
- */
31129
- function compile (value) {
31130
- return dealloc(Parser_parse('', null, null, null, [''], value = alloc(value), 0, [0], value))
31131
- }
31132
 
31133
- /**
31134
- * @param {string} value
31135
- * @param {object} root
31136
- * @param {object?} parent
31137
- * @param {string[]} rule
31138
- * @param {string[]} rules
31139
- * @param {string[]} rulesets
31140
- * @param {number[]} pseudo
31141
- * @param {number[]} points
31142
- * @param {string[]} declarations
31143
- * @return {object}
31144
- */
31145
- function Parser_parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
31146
- var index = 0
31147
- var offset = 0
31148
- var length = pseudo
31149
- var atrule = 0
31150
- var property = 0
31151
- var previous = 0
31152
- var variable = 1
31153
- var scanning = 1
31154
- var ampersand = 1
31155
- var character = 0
31156
- var type = ''
31157
- var props = rules
31158
- var children = rulesets
31159
- var reference = rule
31160
- var characters = type
31161
 
31162
- while (scanning)
31163
- switch (previous = character, character = next()) {
31164
- // " ' [ (
31165
- case 34: case 39: case 91: case 40:
31166
- characters += delimit(character)
31167
- break
31168
- // \t \n \r \s
31169
- case 9: case 10: case 13: case 32:
31170
- characters += whitespace(previous)
31171
- break
31172
- // \
31173
- case 92:
31174
- characters += escaping(caret() - 1, 7)
31175
- continue
31176
- // /
31177
- case 47:
31178
- switch (peek()) {
31179
- case 42: case 47:
31180
- Utility_append(comment(commenter(next(), caret()), root, parent), declarations)
31181
- break
31182
- default:
31183
- characters += '/'
31184
- }
31185
- break
31186
- // {
31187
- case 123 * variable:
31188
- points[index++] = Utility_strlen(characters) * ampersand
31189
- // } ; \0
31190
- case 125 * variable: case 59: case 0:
31191
- switch (character) {
31192
- // \0 }
31193
- case 0: case 125: scanning = 0
31194
- // ;
31195
- case 59 + offset:
31196
- if (property > 0 && (Utility_strlen(characters) - length))
31197
- Utility_append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(Utility_replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)
31198
- break
31199
- // @ ;
31200
- case 59: characters += ';'
31201
- // { rule/at-rule
31202
- default:
31203
- Utility_append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)
31204
 
31205
- if (character === 123)
31206
- if (offset === 0)
31207
- Parser_parse(characters, root, reference, reference, props, rulesets, length, points, children)
31208
- else
31209
- switch (atrule) {
31210
- // d m s
31211
- case 100: case 109: case 115:
31212
- Parser_parse(value, reference, reference, rule && Utility_append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)
31213
- break
31214
- default:
31215
- Parser_parse(characters, reference, reference, reference, [''], children, length, points, children)
31216
- }
31217
- }
31218
 
31219
- index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo
31220
- break
31221
- // :
31222
- case 58:
31223
- length = 1 + Utility_strlen(characters), property = previous
31224
- default:
31225
- if (variable < 1)
31226
- if (character == 123)
31227
- --variable
31228
- else if (character == 125 && variable++ == 0 && prev() == 125)
31229
- continue
31230
 
31231
- switch (characters += Utility_from(character), character * variable) {
31232
- // &
31233
- case 38:
31234
- ampersand = offset > 0 ? 1 : (characters += '\f', -1)
31235
- break
31236
- // ,
31237
- case 44:
31238
- points[index++] = (Utility_strlen(characters) - 1) * ampersand, ampersand = 1
31239
- break
31240
- // @
31241
- case 64:
31242
- // -
31243
- if (peek() === 45)
31244
- characters += delimit(next())
31245
 
31246
- atrule = peek(), offset = Utility_strlen(type = characters += identifier(caret())), character++
31247
- break
31248
- // -
31249
- case 45:
31250
- if (previous === 45 && Utility_strlen(characters) == 2)
31251
- variable = 0
31252
- }
31253
- }
 
 
31254
 
31255
- return rulesets
31256
- }
 
 
 
31257
 
31258
- /**
31259
- * @param {string} value
31260
- * @param {object} root
31261
- * @param {object?} parent
31262
- * @param {number} index
31263
- * @param {number} offset
31264
- * @param {string[]} rules
31265
- * @param {number[]} points
31266
- * @param {string} type
31267
- * @param {string[]} props
31268
- * @param {string[]} children
31269
- * @param {number} length
31270
- * @return {object}
31271
- */
31272
- function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {
31273
- var post = offset - 1
31274
- var rule = offset === 0 ? rules : ['']
31275
- var size = Utility_sizeof(rule)
31276
 
31277
- for (var i = 0, j = 0, k = 0; i < index; ++i)
31278
- for (var x = 0, y = Utility_substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
31279
- if (z = trim(j > 0 ? rule[x] + ' ' + y : Utility_replace(y, /&\f/g, rule[x])))
31280
- props[k++] = z
31281
 
31282
- return node(value, root, parent, offset === 0 ? Enum_RULESET : type, props, children, length)
31283
- }
 
 
31284
 
31285
- /**
31286
- * @param {number} value
31287
- * @param {object} root
31288
- * @param {object?} parent
31289
- * @return {object}
31290
- */
31291
- function comment (value, root, parent) {
31292
- return node(value, root, parent, COMMENT, Utility_from(Tokenizer_char()), Utility_substr(value, 2, -2), 0)
31293
- }
31294
 
31295
- /**
31296
- * @param {string} value
31297
- * @param {object} root
31298
- * @param {object?} parent
31299
- * @param {number} length
31300
- * @return {object}
31301
- */
31302
- function declaration (value, root, parent, length) {
31303
- return node(value, root, parent, DECLARATION, Utility_substr(value, 0, length), Utility_substr(value, length + 1, -1), length)
31304
- }
31305
 
31306
- ;// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js
 
31307
 
 
 
31308
 
 
 
31309
 
 
 
 
 
31310
 
 
 
31311
 
31312
- var last = function last(arr) {
31313
- return arr.length ? arr[arr.length - 1] : null;
31314
- };
31315
 
31316
- var toRules = function toRules(parsed, points) {
31317
- // pretend we've started with a comma
31318
- var index = -1;
31319
- var character = 44;
31320
 
31321
- do {
31322
- switch (token(character)) {
31323
- case 0:
31324
- // &\f
31325
- if (character === 38 && peek() === 12) {
31326
- // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings
31327
- // stylis inserts \f after & to know when & where it should replace this sequence with the context selector
31328
- // and when it should just concatenate the outer and inner selectors
31329
- // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here
31330
- points[index] = 1;
31331
- }
31332
 
31333
- parsed[index] += identifier(position - 1);
31334
- break;
 
 
 
31335
 
31336
- case 2:
31337
- parsed[index] += delimit(character);
31338
- break;
 
 
 
 
31339
 
31340
- case 4:
31341
- // comma
31342
- if (character === 44) {
31343
- // colon
31344
- parsed[++index] = peek() === 58 ? '&\f' : '';
31345
- points[index] = parsed[index].length;
31346
- break;
31347
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31348
 
31349
- // fallthrough
31350
 
31351
- default:
31352
- parsed[index] += Utility_from(character);
31353
- }
31354
- } while (character = next());
31355
 
31356
- return parsed;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31357
  };
31358
 
31359
- var getRules = function getRules(value, points) {
31360
- return dealloc(toRules(alloc(value), points));
31361
- }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11
31362
 
31363
 
31364
- var fixedElements = /* #__PURE__ */new WeakMap();
31365
- var compat = function compat(element) {
31366
- if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not
31367
- !element.length) {
31368
- return;
31369
- }
31370
 
31371
- var value = element.value,
31372
- parent = element.parent;
31373
- var isImplicitRule = element.column === parent.column && element.line === parent.line;
31374
 
31375
- while (parent.type !== 'rule') {
31376
- parent = parent.parent;
31377
- if (!parent) return;
31378
- } // short-circuit for the simplest case
31379
 
31380
 
31381
- if (element.props.length === 1 && value.charCodeAt(0) !== 58
31382
- /* colon */
31383
- && !fixedElements.get(parent)) {
31384
- return;
31385
- } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)
31386
- // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent"
31387
 
31388
 
31389
- if (isImplicitRule) {
31390
- return;
31391
- }
31392
 
31393
- fixedElements.set(element, true);
31394
- var points = [];
31395
- var rules = getRules(value, points);
31396
- var parentRules = parent.props;
31397
 
31398
- for (var i = 0, k = 0; i < rules.length; i++) {
31399
- for (var j = 0; j < parentRules.length; j++, k++) {
31400
- element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
31401
- }
31402
- }
31403
- };
31404
- var removeLabel = function removeLabel(element) {
31405
- if (element.type === 'decl') {
31406
- var value = element.value;
31407
 
31408
- if ( // charcode for l
31409
- value.charCodeAt(0) === 108 && // charcode for b
31410
- value.charCodeAt(2) === 98) {
31411
- // this ignores label
31412
- element["return"] = '';
31413
- element.value = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31414
  }
31415
  }
31416
- };
31417
- var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';
31418
-
31419
- var isIgnoringComment = function isIgnoringComment(element) {
31420
- return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;
31421
- };
31422
 
31423
- var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {
31424
- return function (element, index, children) {
31425
- if (element.type !== 'rule') return;
31426
- var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
31427
 
31428
- if (unsafePseudoClasses && cache.compat !== true) {
31429
- var prevElement = index > 0 ? children[index - 1] : null;
 
31430
 
31431
- if (prevElement && isIgnoringComment(last(prevElement.children))) {
31432
- return;
31433
- }
31434
 
31435
- unsafePseudoClasses.forEach(function (unsafePseudoClass) {
31436
- console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\".");
31437
- });
31438
- }
31439
- };
31440
- };
31441
 
31442
- var isImportRule = function isImportRule(element) {
31443
- return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
31444
- };
31445
 
31446
- var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {
31447
- for (var i = index - 1; i >= 0; i--) {
31448
- if (!isImportRule(children[i])) {
31449
- return true;
31450
- }
31451
- }
31452
 
31453
- return false;
31454
- }; // use this to remove incorrect elements from further processing
31455
- // so they don't get handed to the `sheet` (or anything else)
31456
- // as that could potentially lead to additional logs which in turn could be overhelming to the user
31457
 
31458
 
31459
- var nullifyElement = function nullifyElement(element) {
31460
- element.type = '';
31461
- element.value = '';
31462
- element["return"] = '';
31463
- element.children = '';
31464
- element.props = '';
31465
- };
31466
 
31467
- var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {
31468
- if (!isImportRule(element)) {
31469
- return;
31470
- }
31471
 
31472
- if (element.parent) {
31473
- console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
31474
- nullifyElement(element);
31475
- } else if (isPrependedWithRegularRules(index, children)) {
31476
- console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
31477
- nullifyElement(element);
31478
- }
31479
- };
31480
 
31481
- var defaultStylisPlugins = [prefixer];
 
 
 
 
 
 
 
31482
 
31483
- var createCache = function createCache(options) {
31484
- var key = options.key;
 
 
 
 
31485
 
31486
- if (false) {}
 
 
 
 
 
31487
 
31488
- if ( key === 'css') {
31489
- var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration
31490
- // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)
31491
- // note this very very intentionally targets all style elements regardless of the key to ensure
31492
- // that creating a cache works inside of render of a React component
 
31493
 
31494
- Array.prototype.forEach.call(ssrStyles, function (node) {
31495
- // we want to only move elements which have a space in the data-emotion attribute value
31496
- // because that indicates that it is an Emotion 11 server-side rendered style elements
31497
- // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector
31498
- // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)
31499
- // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles
31500
- // will not result in the Emotion 10 styles being destroyed
31501
- var dataEmotionAttribute = node.getAttribute('data-emotion');
31502
 
31503
- if (dataEmotionAttribute.indexOf(' ') === -1) {
31504
- return;
31505
- }
31506
- document.head.appendChild(node);
31507
- node.setAttribute('data-s', '');
31508
- });
31509
  }
 
31510
 
31511
- var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
31512
-
31513
- if (false) {}
 
31514
 
31515
- var inserted = {}; // $FlowFixMe
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31516
 
31517
- var container;
31518
- var nodesToHydrate = [];
31519
 
31520
- {
31521
- container = options.container || document.head;
31522
- Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which
31523
- // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
31524
- document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) {
31525
- var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe
31526
 
31527
- for (var i = 1; i < attrib.length; i++) {
31528
- inserted[attrib[i]] = true;
31529
- }
 
31530
 
31531
- nodesToHydrate.push(node);
31532
- });
31533
- }
 
 
 
 
 
31534
 
31535
- var _insert;
 
31536
 
31537
- var omnipresentPlugins = [compat, removeLabel];
31538
 
31539
- if (false) {}
31540
 
31541
- {
31542
- var currentSheet;
31543
- var finalizingPlugins = [stringify, false ? 0 : rulesheet(function (rule) {
31544
- currentSheet.insert(rule);
31545
- })];
31546
- var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
31547
 
31548
- var stylis = function stylis(styles) {
31549
- return serialize(compile(styles), serializer);
31550
- };
31551
 
31552
- _insert = function insert(selector, serialized, sheet, shouldCache) {
31553
- currentSheet = sheet;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31554
 
31555
- if (false) {}
 
 
 
31556
 
31557
- stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
 
31558
 
31559
- if (shouldCache) {
31560
- cache.inserted[serialized.name] = true;
 
 
31561
  }
31562
- };
31563
- }
31564
 
31565
- var cache = {
31566
- key: key,
31567
- sheet: new emotion_sheet_browser_esm_StyleSheet({
31568
- key: key,
31569
- container: container,
31570
- nonce: options.nonce,
31571
- speedy: options.speedy,
31572
- prepend: options.prepend
31573
- }),
31574
- nonce: options.nonce,
31575
- inserted: inserted,
31576
- registered: {},
31577
- insert: _insert
31578
  };
31579
- cache.sheet.hydrate(nodesToHydrate);
31580
- return cache;
31581
- };
31582
 
31583
- /* harmony default export */ const emotion_cache_browser_esm = (createCache);
31584
 
31585
- ;// CONCATENATED MODULE: ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js
31586
- var isBrowser = "object" !== 'undefined';
31587
- function getRegisteredStyles(registered, registeredStyles, classNames) {
31588
- var rawClassName = '';
31589
- classNames.split(' ').forEach(function (className) {
31590
- if (registered[className] !== undefined) {
31591
- registeredStyles.push(registered[className] + ";");
31592
- } else {
31593
- rawClassName += className + " ";
31594
- }
31595
- });
31596
- return rawClassName;
31597
- }
31598
- var emotion_utils_browser_esm_insertStyles = function insertStyles(cache, serialized, isStringTag) {
31599
- var className = cache.key + "-" + serialized.name;
31600
 
31601
- if ( // we only need to add the styles to the registered cache if the
31602
- // class name could be used further down
31603
- // the tree but if it's a string tag, we know it won't
31604
- // so we don't have to add it to registered cache.
31605
- // this improves memory usage since we can avoid storing the whole style string
31606
- (isStringTag === false || // we need to always store it if we're in compat mode and
31607
- // in node since emotion-server relies on whether a style is in
31608
- // the registered cache to know whether a style is global or not
31609
- // also, note that this check will be dead code eliminated in the browser
31610
- isBrowser === false ) && cache.registered[className] === undefined) {
31611
- cache.registered[className] = serialized.styles;
31612
- }
31613
 
31614
- if (cache.inserted[serialized.name] === undefined) {
31615
- var current = serialized;
31616
 
31617
- do {
31618
- var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
31619
 
31620
- current = current.next;
31621
- } while (current !== undefined);
31622
- }
31623
- };
31624
 
 
31625
 
 
31626
 
31627
- ;// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js
31628
- /* eslint-disable */
31629
- // Inspired by https://github.com/garycourt/murmurhash-js
31630
- // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
31631
- function murmur2(str) {
31632
- // 'm' and 'r' are mixing constants generated offline.
31633
- // They're not really 'magic', they just happen to work well.
31634
- // const m = 0x5bd1e995;
31635
- // const r = 24;
31636
- // Initialize the hash
31637
- var h = 0; // Mix 4 bytes at a time into the hash
31638
 
31639
- var k,
31640
- i = 0,
31641
- len = str.length;
31642
 
31643
- for (; len >= 4; ++i, len -= 4) {
31644
- k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
31645
- k =
31646
- /* Math.imul(k, m): */
31647
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
31648
- k ^=
31649
- /* k >>> r: */
31650
- k >>> 24;
31651
- h =
31652
- /* Math.imul(k, m): */
31653
- (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
31654
- /* Math.imul(h, m): */
31655
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
31656
- } // Handle the last few bytes of the input array
31657
 
 
31658
 
31659
- switch (len) {
31660
- case 3:
31661
- h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
31662
 
31663
- case 2:
31664
- h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
31665
 
31666
- case 1:
31667
- h ^= str.charCodeAt(i) & 0xff;
31668
- h =
31669
- /* Math.imul(h, m): */
31670
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
31671
- } // Do a few final mixes of the hash to ensure the last few
31672
- // bytes are well-incorporated.
31673
 
31674
 
31675
- h ^= h >>> 13;
31676
- h =
31677
- /* Math.imul(h, m): */
31678
- (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
31679
- return ((h ^ h >>> 15) >>> 0).toString(36);
31680
- }
31681
 
31682
- /* harmony default export */ const hash_browser_esm = (murmur2);
31683
 
31684
- ;// CONCATENATED MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js
31685
- function emotion_memoize_browser_esm_memoize(fn) {
31686
- var cache = Object.create(null);
31687
- return function (arg) {
31688
- if (cache[arg] === undefined) cache[arg] = fn(arg);
31689
- return cache[arg];
31690
- };
31691
- }
31692
 
31693
- /* harmony default export */ const emotion_memoize_browser_esm = (emotion_memoize_browser_esm_memoize);
31694
 
31695
- ;// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js
31696
 
31697
 
31698
 
31699
 
31700
- var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
31701
- var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
31702
- var hyphenateRegex = /[A-Z]|^ms/g;
31703
- var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
31704
 
31705
- var isCustomProperty = function isCustomProperty(property) {
31706
- return property.charCodeAt(1) === 45;
31707
- };
31708
 
31709
- var isProcessableValue = function isProcessableValue(value) {
31710
- return value != null && typeof value !== 'boolean';
31711
- };
31712
 
31713
- var processStyleName = /* #__PURE__ */emotion_memoize_browser_esm(function (styleName) {
31714
- return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();
31715
- });
31716
 
31717
- var processStyleValue = function processStyleValue(key, value) {
31718
- switch (key) {
31719
- case 'animation':
31720
- case 'animationName':
31721
- {
31722
- if (typeof value === 'string') {
31723
- return value.replace(animationRegex, function (match, p1, p2) {
31724
- cursor = {
31725
- name: p1,
31726
- styles: p2,
31727
- next: cursor
31728
- };
31729
- return p1;
31730
- });
31731
- }
31732
- }
31733
- }
31734
 
31735
- if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {
31736
- return value + 'px';
31737
- }
 
 
 
31738
 
31739
- return value;
31740
- };
 
 
 
31741
 
31742
- if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; }
 
 
 
31743
 
31744
- function handleInterpolation(mergedProps, registered, interpolation) {
31745
- if (interpolation == null) {
31746
- return '';
31747
- }
31748
 
31749
- if (interpolation.__emotion_styles !== undefined) {
31750
- if (false) {}
 
 
 
 
 
 
 
 
31751
 
31752
- return interpolation;
31753
- }
 
 
 
31754
 
31755
- switch (typeof interpolation) {
31756
- case 'boolean':
31757
- {
31758
- return '';
31759
- }
31760
-
31761
- case 'object':
31762
- {
31763
- if (interpolation.anim === 1) {
31764
- cursor = {
31765
- name: interpolation.name,
31766
- styles: interpolation.styles,
31767
- next: cursor
31768
- };
31769
- return interpolation.name;
31770
  }
 
 
31771
 
31772
- if (interpolation.styles !== undefined) {
31773
- var next = interpolation.next;
 
 
31774
 
31775
- if (next !== undefined) {
31776
- // not the most efficient thing ever but this is a pretty rare case
31777
- // and there will be very few iterations of this generally
31778
- while (next !== undefined) {
31779
- cursor = {
31780
- name: next.name,
31781
- styles: next.styles,
31782
- next: cursor
31783
- };
31784
- next = next.next;
31785
- }
31786
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31787
 
31788
- var styles = interpolation.styles + ";";
31789
 
31790
- if (false) {}
 
 
31791
 
31792
- return styles;
 
 
 
 
 
 
 
 
 
 
 
31793
  }
31794
 
31795
- return createStringFromObject(mergedProps, registered, interpolation);
31796
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31797
 
31798
- case 'function':
31799
- {
31800
- if (mergedProps !== undefined) {
31801
- var previousCursor = cursor;
31802
- var result = interpolation(mergedProps);
31803
- cursor = previousCursor;
31804
- return handleInterpolation(mergedProps, registered, result);
31805
- } else if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31806
 
31807
- break;
31808
- }
31809
 
31810
- case 'string':
31811
- if (false) { var replaced, matched; }
31812
 
31813
- break;
31814
- } // finalize string values (regular strings and functions interpolated into css calls)
 
 
31815
 
 
 
 
 
 
 
 
 
31816
 
31817
- if (registered == null) {
31818
- return interpolation;
31819
- }
31820
 
31821
- var cached = registered[interpolation];
31822
- return cached !== undefined ? cached : interpolation;
31823
- }
31824
 
31825
- function createStringFromObject(mergedProps, registered, obj) {
31826
- var string = '';
31827
 
31828
- if (Array.isArray(obj)) {
31829
- for (var i = 0; i < obj.length; i++) {
31830
- string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
31831
- }
31832
- } else {
31833
- for (var _key in obj) {
31834
- var value = obj[_key];
31835
 
31836
- if (typeof value !== 'object') {
31837
- if (registered != null && registered[value] !== undefined) {
31838
- string += _key + "{" + registered[value] + "}";
31839
- } else if (isProcessableValue(value)) {
31840
- string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
31841
- }
31842
- } else {
31843
- if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') {
31844
- throw new Error('Component selectors can only be used in conjunction with @emotion/babel-plugin.');
31845
- }
31846
 
31847
- if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {
31848
- for (var _i = 0; _i < value.length; _i++) {
31849
- if (isProcessableValue(value[_i])) {
31850
- string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
31851
- }
31852
- }
31853
- } else {
31854
- var interpolated = handleInterpolation(mergedProps, registered, value);
 
 
 
 
 
 
 
 
 
 
31855
 
31856
- switch (_key) {
31857
- case 'animation':
31858
- case 'animationName':
31859
- {
31860
- string += processStyleName(_key) + ":" + interpolated + ";";
31861
- break;
31862
- }
31863
 
31864
- default:
31865
- {
31866
- if (false) {}
31867
 
31868
- string += _key + "{" + interpolated + "}";
31869
- }
31870
- }
31871
  }
31872
  }
31873
- }
31874
- }
31875
 
31876
- return string;
31877
- }
 
 
 
31878
 
31879
- var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
31880
- var sourceMapPattern;
31881
 
31882
- if (false) {} // this is the cursor for keyframes
31883
- // keyframes are stored on the SerializedStyles object as a linked list
31884
 
 
31885
 
31886
- var cursor;
31887
- var emotion_serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) {
31888
- if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {
31889
- return args[0];
31890
- }
31891
 
31892
- var stringMode = true;
31893
- var styles = '';
31894
- cursor = undefined;
31895
- var strings = args[0];
31896
 
31897
- if (strings == null || strings.raw === undefined) {
31898
- stringMode = false;
31899
- styles += handleInterpolation(mergedProps, registered, strings);
31900
- } else {
31901
- if (false) {}
31902
 
31903
- styles += strings[0];
31904
- } // we start at 1 since we've already handled the first arg
31905
 
 
31906
 
31907
- for (var i = 1; i < args.length; i++) {
31908
- styles += handleInterpolation(mergedProps, registered, args[i]);
31909
 
31910
- if (stringMode) {
31911
- if (false) {}
31912
 
31913
- styles += strings[i];
31914
- }
31915
- }
31916
 
31917
- var sourceMap;
31918
 
31919
- if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time
31920
 
 
31921
 
31922
- labelPattern.lastIndex = 0;
31923
- var identifierName = '';
31924
- var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5
31925
 
31926
- while ((match = labelPattern.exec(styles)) !== null) {
31927
- identifierName += '-' + // $FlowFixMe we know it's not null
31928
- match[1];
31929
- }
31930
 
31931
- var name = hash_browser_esm(styles) + identifierName;
31932
 
31933
- if (false) {}
31934
 
31935
- return {
31936
- name: name,
31937
- styles: styles,
31938
- next: cursor
31939
- };
31940
- };
31941
 
31942
 
31943
 
31944
- ;// CONCATENATED MODULE: ./node_modules/@emotion/react/dist/emotion-element-99289b21.browser.esm.js
31945
 
31946
 
31947
 
31948
 
 
31949
 
 
 
 
31950
 
 
 
 
 
 
 
31951
 
 
 
 
 
 
31952
 
31953
- var emotion_element_99289b21_browser_esm_hasOwnProperty = Object.prototype.hasOwnProperty;
 
 
 
31954
 
31955
- var EmotionCacheContext = /* #__PURE__ */(0,react.createContext)( // we're doing this to avoid preconstruct's dead code elimination in this one case
31956
- // because this module is primarily intended for the browser and node
31957
- // but it's also required in react native and similar environments sometimes
31958
- // and we could have a special build just for that
31959
- // but this is much easier and the native packages
31960
- // might use a different theme context in the future anyway
31961
- typeof HTMLElement !== 'undefined' ? /* #__PURE__ */emotion_cache_browser_esm({
31962
- key: 'css'
31963
- }) : null);
31964
 
31965
- if (false) {}
 
 
 
 
 
 
 
 
 
 
 
31966
 
31967
- var CacheProvider = EmotionCacheContext.Provider;
31968
- var __unsafe_useEmotionCache = function useEmotionCache() {
31969
- return useContext(EmotionCacheContext);
31970
- };
 
31971
 
31972
- var emotion_element_99289b21_browser_esm_withEmotionCache = function withEmotionCache(func) {
31973
- // $FlowFixMe
31974
- return /*#__PURE__*/(0,react.forwardRef)(function (props, ref) {
31975
- // the cache will never be null in the browser
31976
- var cache = (0,react.useContext)(EmotionCacheContext);
31977
- return func(props, cache, ref);
31978
- });
31979
- };
31980
 
31981
- var emotion_element_99289b21_browser_esm_ThemeContext = /* #__PURE__ */(0,react.createContext)({});
 
 
 
31982
 
31983
- if (false) {}
 
 
31984
 
31985
- var useTheme = function useTheme() {
31986
- return useContext(emotion_element_99289b21_browser_esm_ThemeContext);
31987
- };
 
 
 
 
 
 
 
31988
 
31989
- var getTheme = function getTheme(outerTheme, theme) {
31990
- if (typeof theme === 'function') {
31991
- var mergedTheme = theme(outerTheme);
 
31992
 
31993
- if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31994
 
31995
- return mergedTheme;
31996
- }
 
 
 
 
 
 
 
31997
 
31998
- if (false) {}
 
 
 
 
 
31999
 
32000
- return _extends({}, outerTheme, theme);
32001
- };
32002
 
32003
- var createCacheWithTheme = /* #__PURE__ */(/* unused pure expression or super */ null && (weakMemoize(function (outerTheme) {
32004
- return weakMemoize(function (theme) {
32005
- return getTheme(outerTheme, theme);
32006
- });
32007
- })));
32008
- var ThemeProvider = function ThemeProvider(props) {
32009
- var theme = useContext(emotion_element_99289b21_browser_esm_ThemeContext);
32010
 
32011
- if (props.theme !== theme) {
32012
- theme = createCacheWithTheme(theme)(props.theme);
32013
  }
32014
 
32015
- return /*#__PURE__*/createElement(emotion_element_99289b21_browser_esm_ThemeContext.Provider, {
32016
- value: theme
32017
- }, props.children);
32018
- };
32019
- function withTheme(Component) {
32020
- var componentName = Component.displayName || Component.name || 'Component';
32021
-
32022
- var render = function render(props, ref) {
32023
- var theme = useContext(emotion_element_99289b21_browser_esm_ThemeContext);
32024
- return /*#__PURE__*/createElement(Component, _extends({
32025
- theme: theme,
32026
- ref: ref
32027
- }, props));
32028
- }; // $FlowFixMe
32029
 
 
 
 
 
 
 
 
 
32030
 
32031
- var WithTheme = /*#__PURE__*/forwardRef(render);
32032
- WithTheme.displayName = "WithTheme(" + componentName + ")";
32033
- return hoistNonReactStatics(WithTheme, Component);
 
 
 
 
 
 
 
 
32034
  }
 
32035
 
32036
- // thus we only need to replace what is a valid character for JS, but not for CSS
32037
 
32038
- var sanitizeIdentifier = function sanitizeIdentifier(identifier) {
32039
- return identifier.replace(/\$/g, '-');
32040
- };
32041
-
32042
- var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
32043
- var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
32044
- var createEmotionProps = function createEmotionProps(type, props) {
32045
- if (false) {}
32046
-
32047
- var newProps = {};
32048
-
32049
- for (var key in props) {
32050
- if (emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, key)) {
32051
- newProps[key] = props[key];
32052
- }
32053
- }
32054
-
32055
- newProps[typePropName] = type;
32056
 
32057
- if (false) { var match, error; }
32058
-
32059
- return newProps;
32060
- };
32061
- var Emotion = /* #__PURE__ */emotion_element_99289b21_browser_esm_withEmotionCache(function (props, cache, ref) {
32062
- var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works
32063
- // not passing the registered cache to serializeStyles because it would
32064
- // make certain babel optimisations not possible
32065
 
32066
- if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {
32067
- cssProp = cache.registered[cssProp];
 
 
 
 
 
32068
  }
32069
-
32070
- var type = props[typePropName];
32071
- var registeredStyles = [cssProp];
32072
- var className = '';
32073
-
32074
- if (typeof props.className === 'string') {
32075
- className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
32076
- } else if (props.className != null) {
32077
- className = props.className + " ";
32078
  }
 
32079
 
32080
- var serialized = emotion_serialize_browser_esm_serializeStyles(registeredStyles, undefined, (0,react.useContext)(emotion_element_99289b21_browser_esm_ThemeContext));
32081
-
32082
- if (false) { var labelFromStack; }
 
 
 
 
 
 
 
 
32083
 
32084
- var rules = emotion_utils_browser_esm_insertStyles(cache, serialized, typeof type === 'string');
32085
- className += cache.key + "-" + serialized.name;
32086
- var newProps = {};
32087
 
32088
- for (var key in props) {
32089
- if (emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( true || 0)) {
32090
- newProps[key] = props[key];
32091
- }
32092
  }
32093
 
32094
- newProps.ref = ref;
32095
- newProps.className = className;
32096
- var ele = /*#__PURE__*/(0,react.createElement)(type, newProps);
32097
-
32098
- return ele;
32099
- });
32100
-
32101
- if (false) {}
32102
-
32103
-
32104
-
32105
- ;// CONCATENATED MODULE: ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js
32106
-
32107
-
32108
 
 
32109
 
 
32110
 
 
 
32111
 
 
32112
 
 
32113
 
 
32114
 
 
 
32115
 
 
 
32116
 
 
 
 
 
 
 
 
32117
 
32118
- var pkg = {
32119
- name: "@emotion/react",
32120
- version: "11.4.1",
32121
- main: "dist/emotion-react.cjs.js",
32122
- module: "dist/emotion-react.esm.js",
32123
- browser: {
32124
- "./dist/emotion-react.cjs.js": "./dist/emotion-react.browser.cjs.js",
32125
- "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js"
32126
- },
32127
- types: "types/index.d.ts",
32128
- files: [
32129
- "src",
32130
- "dist",
32131
- "jsx-runtime",
32132
- "jsx-dev-runtime",
32133
- "isolated-hoist-non-react-statics-do-not-use-this-in-your-code",
32134
- "types/*.d.ts",
32135
- "macro.js",
32136
- "macro.d.ts",
32137
- "macro.js.flow"
32138
- ],
32139
- sideEffects: false,
32140
- author: "mitchellhamilton <mitchell@mitchellhamilton.me>",
32141
- license: "MIT",
32142
- scripts: {
32143
- "test:typescript": "dtslint types"
32144
- },
32145
- dependencies: {
32146
- "@babel/runtime": "^7.13.10",
32147
- "@emotion/cache": "^11.4.0",
32148
- "@emotion/serialize": "^1.0.2",
32149
- "@emotion/sheet": "^1.0.2",
32150
- "@emotion/utils": "^1.0.0",
32151
- "@emotion/weak-memoize": "^0.2.5",
32152
- "hoist-non-react-statics": "^3.3.1"
32153
- },
32154
- peerDependencies: {
32155
- "@babel/core": "^7.0.0",
32156
- react: ">=16.8.0"
32157
- },
32158
- peerDependenciesMeta: {
32159
- "@babel/core": {
32160
- optional: true
32161
- },
32162
- "@types/react": {
32163
- optional: true
32164
- }
32165
- },
32166
- devDependencies: {
32167
- "@babel/core": "^7.13.10",
32168
- "@emotion/css": "11.1.3",
32169
- "@emotion/css-prettifier": "1.0.0",
32170
- "@emotion/server": "11.4.0",
32171
- "@emotion/styled": "11.3.0",
32172
- "@types/react": "^16.9.11",
32173
- dtslint: "^0.3.0",
32174
- "html-tag-names": "^1.1.2",
32175
- react: "16.14.0",
32176
- "svg-tag-names": "^1.1.1"
32177
- },
32178
- repository: "https://github.com/emotion-js/emotion/tree/main/packages/react",
32179
- publishConfig: {
32180
- access: "public"
32181
- },
32182
- "umd:main": "dist/emotion-react.umd.min.js",
32183
- preconstruct: {
32184
- entrypoints: [
32185
- "./index.js",
32186
- "./jsx-runtime.js",
32187
- "./jsx-dev-runtime.js",
32188
- "./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js"
32189
- ],
32190
- umdName: "emotionReact"
32191
- }
32192
- };
32193
 
32194
- var jsx = function jsx(type, props) {
32195
- var args = arguments;
32196
 
32197
- if (props == null || !emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, 'css')) {
32198
- // $FlowFixMe
32199
- return react.createElement.apply(undefined, args);
 
 
32200
  }
 
32201
 
32202
- var argsLength = args.length;
32203
- var createElementArgArray = new Array(argsLength);
32204
- createElementArgArray[0] = Emotion;
32205
- createElementArgArray[1] = createEmotionProps(type, props);
32206
 
32207
- for (var i = 2; i < argsLength; i++) {
32208
- createElementArgArray[i] = args[i];
32209
- } // $FlowFixMe
32210
 
 
 
 
 
32211
 
32212
- return react.createElement.apply(null, createElementArgArray);
32213
- };
 
32214
 
32215
- var warnedAboutCssPropForGlobal = false; // maintain place over rerenders.
32216
- // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
32217
- // initial client-side render from SSR, use place of hydrating tag
32218
 
32219
- var Global = /* #__PURE__ */(/* unused pure expression or super */ null && (withEmotionCache(function (props, cache) {
32220
- if (false) {}
 
 
 
32221
 
32222
- var styles = props.styles;
32223
- var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));
32224
- // but it is based on a constant that will never change at runtime
32225
- // it's effectively like having two implementations and switching them out
32226
- // so it's not actually breaking anything
32227
 
 
 
32228
 
32229
- var sheetRef = useRef();
32230
- useLayoutEffect(function () {
32231
- var key = cache.key + "-global";
32232
- var sheet = new StyleSheet({
32233
- key: key,
32234
- nonce: cache.sheet.nonce,
32235
- container: cache.sheet.container,
32236
- speedy: cache.sheet.isSpeedy
32237
- });
32238
- var rehydrating = false; // $FlowFixMe
32239
 
32240
- var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]");
 
 
 
 
32241
 
32242
- if (cache.sheet.tags.length) {
32243
- sheet.before = cache.sheet.tags[0];
32244
- }
32245
 
32246
- if (node !== null) {
32247
- rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s
 
32248
 
32249
- node.setAttribute('data-emotion', key);
32250
- sheet.hydrate([node]);
 
 
 
 
32251
  }
32252
 
32253
- sheetRef.current = [sheet, rehydrating];
32254
- return function () {
32255
- sheet.flush();
32256
- };
32257
- }, [cache]);
32258
- useLayoutEffect(function () {
32259
- var sheetRefCurrent = sheetRef.current;
32260
- var sheet = sheetRefCurrent[0],
32261
- rehydrating = sheetRefCurrent[1];
32262
 
32263
- if (rehydrating) {
32264
- sheetRefCurrent[1] = false;
32265
- return;
32266
- }
32267
 
32268
- if (serialized.next !== undefined) {
32269
- // insert keyframes
32270
- insertStyles(cache, serialized.next, true);
32271
- }
32272
 
32273
- if (sheet.tags.length) {
32274
- // if this doesn't exist then it will be null so the style element will be appended
32275
- var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
32276
- sheet.before = element;
32277
- sheet.flush();
 
 
 
 
32278
  }
32279
 
32280
- cache.insert("", serialized, sheet, false);
32281
- }, [cache, serialized.name]);
32282
- return null;
32283
- })));
32284
-
32285
- if (false) {}
32286
-
32287
- function css() {
32288
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32289
- args[_key] = arguments[_key];
32290
- }
32291
-
32292
- return emotion_serialize_browser_esm_serializeStyles(args);
32293
- }
32294
 
32295
- var keyframes = function keyframes() {
32296
- var insertable = css.apply(void 0, arguments);
32297
- var name = "animation-" + insertable.name; // $FlowFixMe
 
 
 
 
32298
 
32299
- return {
32300
- name: name,
32301
- styles: "@keyframes " + name + "{" + insertable.styles + "}",
32302
- anim: 1,
32303
- toString: function toString() {
32304
- return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
32305
- }
32306
  };
32307
- };
32308
 
32309
- var emotion_react_browser_esm_classnames = function classnames(args) {
32310
- var len = args.length;
32311
- var i = 0;
32312
- var cls = '';
32313
 
32314
- for (; i < len; i++) {
32315
- var arg = args[i];
32316
- if (arg == null) continue;
32317
- var toAdd = void 0;
32318
 
32319
- switch (typeof arg) {
32320
- case 'boolean':
32321
- break;
32322
 
32323
- case 'object':
32324
- {
32325
- if (Array.isArray(arg)) {
32326
- toAdd = classnames(arg);
32327
- } else {
32328
- if (false) {}
32329
 
32330
- toAdd = '';
 
 
 
 
32331
 
32332
- for (var k in arg) {
32333
- if (arg[k] && k) {
32334
- toAdd && (toAdd += ' ');
32335
- toAdd += k;
32336
- }
32337
- }
32338
- }
 
32339
 
32340
- break;
32341
- }
 
 
 
 
 
32342
 
32343
- default:
32344
- {
32345
- toAdd = arg;
32346
- }
32347
- }
 
 
 
32348
 
32349
- if (toAdd) {
32350
- cls && (cls += ' ');
32351
- cls += toAdd;
32352
- }
32353
- }
 
 
 
 
32354
 
32355
- return cls;
32356
- };
 
 
 
 
 
 
32357
 
32358
- function merge(registered, css, className) {
32359
- var registeredStyles = [];
32360
- var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
 
 
 
 
 
32361
 
32362
- if (registeredStyles.length < 2) {
32363
- return className;
32364
- }
 
 
 
 
 
 
32365
 
32366
- return rawClassName + css(registeredStyles);
 
 
 
 
 
32367
  }
32368
 
32369
- var ClassNames = /* #__PURE__ */emotion_element_99289b21_browser_esm_withEmotionCache(function (props, cache) {
32370
- var hasRendered = false;
 
 
 
 
 
32371
 
32372
- var css = function css() {
32373
- if (hasRendered && "production" !== 'production') {
32374
- throw new Error('css can only be used during render');
32375
- }
 
 
 
 
32376
 
32377
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
32378
- args[_key] = arguments[_key];
32379
- }
 
 
 
 
 
32380
 
32381
- var serialized = emotion_serialize_browser_esm_serializeStyles(args, cache.registered);
32382
 
32383
- {
32384
- emotion_utils_browser_esm_insertStyles(cache, serialized, false);
32385
- }
32386
 
32387
- return cache.key + "-" + serialized.name;
32388
- };
 
 
 
 
32389
 
32390
- var cx = function cx() {
32391
- if (hasRendered && "production" !== 'production') {
32392
- throw new Error('cx can only be used during render');
32393
- }
32394
-
32395
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
32396
- args[_key2] = arguments[_key2];
32397
- }
32398
-
32399
- return merge(cache.registered, css, emotion_react_browser_esm_classnames(args));
32400
- };
 
32401
 
32402
- var content = {
32403
- css: css,
32404
- cx: cx,
32405
- theme: (0,react.useContext)(emotion_element_99289b21_browser_esm_ThemeContext)
32406
- };
32407
- var ele = props.children(content);
32408
- hasRendered = true;
 
32409
 
32410
- return ele;
32411
- });
 
 
 
 
32412
 
32413
- if (false) {}
 
 
 
 
32414
 
32415
- if (false) { var globalKey, globalContext, isJest, emotion_react_browser_esm_isBrowser; }
 
32416
 
 
 
32417
 
 
 
 
 
 
32418
 
32419
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js
32420
- function _taggedTemplateLiteral(strings, raw) {
32421
- if (!raw) {
32422
- raw = strings.slice(0);
32423
- }
32424
 
32425
- return Object.freeze(Object.defineProperties(strings, {
32426
- raw: {
32427
- value: Object.freeze(raw)
32428
- }
32429
- }));
32430
  }
32431
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
32432
- function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) {
32433
- if (source == null) return {};
32434
- var target = {};
32435
- var sourceKeys = Object.keys(source);
32436
- var key, i;
32437
-
32438
- for (i = 0; i < sourceKeys.length; i++) {
32439
- key = sourceKeys[i];
32440
- if (excluded.indexOf(key) >= 0) continue;
32441
- target[key] = source[key];
32442
- }
32443
 
32444
- return target;
 
 
 
 
32445
  }
32446
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
32447
-
32448
- function objectWithoutProperties_objectWithoutProperties(source, excluded) {
32449
- if (source == null) return {};
32450
- var target = objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded);
32451
- var key, i;
32452
 
32453
- if (Object.getOwnPropertySymbols) {
32454
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
32455
-
32456
- for (i = 0; i < sourceSymbolKeys.length; i++) {
32457
- key = sourceSymbolKeys[i];
32458
- if (excluded.indexOf(key) >= 0) continue;
32459
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
32460
- target[key] = source[key];
32461
- }
32462
- }
32463
 
32464
- return target;
 
 
 
 
 
 
32465
  }
32466
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
32467
- function _typeof(obj) {
32468
- "@babel/helpers - typeof";
32469
 
32470
- if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
32471
- _typeof = function _typeof(obj) {
32472
- return typeof obj;
32473
- };
32474
- } else {
32475
- _typeof = function _typeof(obj) {
32476
- return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
32477
- };
32478
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32479
 
32480
- return _typeof(obj);
32481
  }
32482
- // EXTERNAL MODULE: ./node_modules/react-input-autosize/lib/AutosizeInput.js
32483
- var AutosizeInput = __webpack_require__(7914);
32484
- ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
32485
- function defineProperty_defineProperty(obj, key, value) {
32486
- if (key in obj) {
32487
- Object.defineProperty(obj, key, {
32488
- value: value,
32489
- enumerable: true,
32490
- configurable: true,
32491
- writable: true
32492
- });
32493
- } else {
32494
- obj[key] = value;
32495
- }
32496
 
32497
- return obj;
 
 
 
 
 
32498
  }
32499
- ;// CONCATENATED MODULE: ./node_modules/react-select/dist/index-4bd03571.esm.js
32500
-
32501
-
32502
-
32503
-
32504
-
32505
-
32506
-
32507
-
32508
-
32509
-
32510
-
32511
-
32512
 
32513
- function index_4bd03571_esm_defineProperty(obj, key, value) {
32514
- if (key in obj) {
32515
- Object.defineProperty(obj, key, {
32516
- value: value,
32517
- enumerable: true,
32518
- configurable: true,
32519
- writable: true
32520
- });
32521
- } else {
32522
- obj[key] = value;
32523
- }
32524
-
32525
- return obj;
32526
  }
32527
 
32528
- function index_4bd03571_esm_ownKeys(object, enumerableOnly) {
32529
- var keys = Object.keys(object);
32530
-
32531
- if (Object.getOwnPropertySymbols) {
32532
- var symbols = Object.getOwnPropertySymbols(object);
32533
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
32534
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
32535
- });
32536
- keys.push.apply(keys, symbols);
32537
- }
32538
-
32539
- return keys;
32540
  }
32541
 
32542
- function index_4bd03571_esm_objectSpread2(target) {
32543
- for (var i = 1; i < arguments.length; i++) {
32544
- var source = arguments[i] != null ? arguments[i] : {};
32545
-
32546
- if (i % 2) {
32547
- index_4bd03571_esm_ownKeys(Object(source), true).forEach(function (key) {
32548
- index_4bd03571_esm_defineProperty(target, key, source[key]);
32549
- });
32550
- } else if (Object.getOwnPropertyDescriptors) {
32551
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
32552
- } else {
32553
- index_4bd03571_esm_ownKeys(Object(source)).forEach(function (key) {
32554
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
32555
- });
32556
- }
32557
- }
32558
-
32559
- return target;
32560
  }
32561
 
32562
- function _getPrototypeOf(o) {
32563
- _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
32564
- return o.__proto__ || Object.getPrototypeOf(o);
32565
- };
32566
- return _getPrototypeOf(o);
 
 
 
 
 
 
 
32567
  }
32568
 
32569
- function _isNativeReflectConstruct() {
32570
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
32571
- if (Reflect.construct.sham) return false;
32572
- if (typeof Proxy === "function") return true;
 
 
 
 
 
 
 
 
 
32573
 
32574
- try {
32575
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
32576
- return true;
32577
- } catch (e) {
32578
- return false;
32579
- }
32580
  }
32581
 
32582
- function index_4bd03571_esm_assertThisInitialized(self) {
32583
- if (self === void 0) {
32584
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
32585
- }
 
 
 
 
 
 
32586
 
32587
- return self;
32588
  }
32589
 
32590
- function _possibleConstructorReturn(self, call) {
32591
- if (call && (typeof call === "object" || typeof call === "function")) {
32592
- return call;
32593
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32594
 
32595
- return index_4bd03571_esm_assertThisInitialized(self);
32596
  }
32597
 
32598
- function _createSuper(Derived) {
32599
- var hasNativeReflectConstruct = _isNativeReflectConstruct();
32600
- return function _createSuperInternal() {
32601
- var Super = _getPrototypeOf(Derived),
32602
- result;
32603
-
32604
- if (hasNativeReflectConstruct) {
32605
- var NewTarget = _getPrototypeOf(this).constructor;
32606
- result = Reflect.construct(Super, arguments, NewTarget);
32607
- } else {
32608
- result = Super.apply(this, arguments);
32609
- }
 
32610
 
32611
- return _possibleConstructorReturn(this, result);
32612
- };
32613
  }
32614
 
32615
- // ==============================
32616
- // NO OP
32617
- // ==============================
32618
- var noop = function noop() {};
32619
- // Class Name Prefixer
32620
- // ==============================
32621
-
32622
  /**
32623
- String representation of component state for styling with class names.
32624
-
32625
- Expects an array of strings OR a string/object pair:
32626
- - className(['comp', 'comp-arg', 'comp-arg-2'])
32627
- @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'
32628
- - className('comp', { some: true, state: false })
32629
- @returns 'react-select__comp react-select__comp--some'
32630
- */
32631
 
32632
- function applyPrefixToName(prefix, name) {
32633
- if (!name) {
32634
- return prefix;
32635
- } else if (name[0] === '-') {
32636
- return prefix + name;
32637
- } else {
32638
- return prefix + '__' + name;
32639
- }
32640
  }
32641
 
32642
- function classNames(prefix, state, className) {
32643
- var arr = [className];
 
 
32644
 
32645
- if (state && prefix) {
32646
- for (var key in state) {
32647
- if (state.hasOwnProperty(key) && state[key]) {
32648
- arr.push("".concat(applyPrefixToName(prefix, key)));
32649
- }
32650
- }
32651
- }
32652
 
32653
- return arr.filter(function (i) {
32654
- return i;
32655
- }).map(function (i) {
32656
- return String(i).trim();
32657
- }).join(' ');
32658
- } // ==============================
32659
- // Clean Value
32660
- // ==============================
 
 
 
 
32661
 
32662
- var cleanValue = function cleanValue(value) {
32663
- if (Array.isArray(value)) return value.filter(Boolean);
32664
- if (_typeof(value) === 'object' && value !== null) return [value];
32665
- return [];
32666
- }; // ==============================
32667
- // Clean Common Props
32668
- // ==============================
32669
 
32670
- var cleanCommonProps = function cleanCommonProps(props) {
32671
- //className
32672
- props.className;
32673
- props.clearValue;
32674
- props.cx;
32675
- props.getStyles;
32676
- props.getValue;
32677
- props.hasValue;
32678
- props.isMulti;
32679
- props.isRtl;
32680
- props.options;
32681
- props.selectOption;
32682
- props.selectProps;
32683
- props.setValue;
32684
- props.theme;
32685
- var innerProps = objectWithoutProperties_objectWithoutProperties(props, ["className", "clearValue", "cx", "getStyles", "getValue", "hasValue", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue", "theme"]);
32686
 
32687
- return index_4bd03571_esm_objectSpread2({}, innerProps);
32688
- }; // ==============================
32689
- // Handle Input Change
32690
- // ==============================
32691
 
32692
- function handleInputChange(inputValue, actionMeta, onInputChange) {
32693
- if (onInputChange) {
32694
- var newValue = onInputChange(inputValue, actionMeta);
32695
- if (typeof newValue === 'string') return newValue;
32696
- }
 
 
 
32697
 
32698
- return inputValue;
32699
- } // ==============================
32700
- // Scroll Helpers
32701
- // ==============================
32702
 
32703
- function isDocumentElement(el) {
32704
- return [document.documentElement, document.body, window].indexOf(el) > -1;
32705
- } // Normalized Scroll Top
32706
- // ------------------------------
32707
 
32708
- function getScrollTop(el) {
32709
- if (isDocumentElement(el)) {
32710
- return window.pageYOffset;
32711
- }
 
 
 
 
 
 
 
 
 
32712
 
32713
- return el.scrollTop;
32714
  }
32715
- function scrollTo(el, top) {
32716
- // with a scroll distance, we perform scroll on the element
32717
- if (isDocumentElement(el)) {
32718
- window.scrollTo(0, top);
32719
- return;
32720
- }
32721
 
32722
- el.scrollTop = top;
32723
- } // Get Scroll Parent
32724
- // ------------------------------
32725
-
32726
- function getScrollParent(element) {
32727
- var style = getComputedStyle(element);
32728
- var excludeStaticParent = style.position === 'absolute';
32729
- var overflowRx = /(auto|scroll)/;
32730
- var docEl = document.documentElement; // suck it, flow...
32731
-
32732
- if (style.position === 'fixed') return docEl;
32733
-
32734
- for (var parent = element; parent = parent.parentElement;) {
32735
- style = getComputedStyle(parent);
32736
-
32737
- if (excludeStaticParent && style.position === 'static') {
32738
- continue;
32739
- }
32740
 
32741
- if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {
32742
- return parent;
32743
- }
32744
- }
32745
 
32746
- return docEl;
32747
- } // Animated Scroll To
32748
- // ------------------------------
32749
 
32750
  /**
32751
- @param t: time (elapsed)
32752
- @param b: initial value
32753
- @param c: amount of change
32754
- @param d: duration
32755
- */
32756
-
32757
- function easeOutCubic(t, b, c, d) {
32758
- return c * ((t = t / d - 1) * t * t + 1) + b;
32759
- }
32760
-
32761
- function animatedScrollTo(element, to) {
32762
- var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;
32763
- var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;
32764
- var start = getScrollTop(element);
32765
- var change = to - start;
32766
- var increment = 10;
32767
- var currentTime = 0;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32768
 
32769
- function animateScroll() {
32770
- currentTime += increment;
32771
- var val = easeOutCubic(currentTime, start, change, duration);
32772
- scrollTo(element, val);
32773
 
32774
- if (currentTime < duration) {
32775
- window.requestAnimationFrame(animateScroll);
32776
- } else {
32777
- callback(element);
32778
- }
32779
- }
32780
 
32781
- animateScroll();
32782
- } // Scroll Into View
32783
- // ------------------------------
32784
 
32785
- function scrollIntoView(menuEl, focusedEl) {
32786
- var menuRect = menuEl.getBoundingClientRect();
32787
- var focusedRect = focusedEl.getBoundingClientRect();
32788
- var overScroll = focusedEl.offsetHeight / 3;
32789
 
32790
- if (focusedRect.bottom + overScroll > menuRect.bottom) {
32791
- scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));
32792
- } else if (focusedRect.top - overScroll < menuRect.top) {
32793
- scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));
32794
- }
32795
- } // ==============================
32796
- // Get bounding client object
32797
- // ==============================
32798
- // cannot get keys using array notation with DOMRect
32799
 
32800
- function getBoundingClientObj(element) {
32801
- var rect = element.getBoundingClientRect();
32802
- return {
32803
- bottom: rect.bottom,
32804
- height: rect.height,
32805
- left: rect.left,
32806
- right: rect.right,
32807
- top: rect.top,
32808
- width: rect.width
32809
- };
32810
- }
32811
- // Touch Capability Detector
32812
- // ==============================
32813
 
32814
- function isTouchCapable() {
32815
- try {
32816
- document.createEvent('TouchEvent');
32817
- return true;
32818
- } catch (e) {
32819
- return false;
32820
- }
32821
- } // ==============================
32822
- // Mobile Device Detector
32823
- // ==============================
32824
 
32825
- function isMobileDevice() {
32826
- try {
32827
- return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
32828
- } catch (e) {
32829
- return false;
32830
- }
32831
- } // ==============================
32832
- // Passive Event Detector
32833
- // ==============================
32834
- // https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36
32835
 
32836
- var passiveOptionAccessed = false;
32837
- var options = {
32838
- get passive() {
32839
- return passiveOptionAccessed = true;
32840
- }
 
32841
 
32842
- }; // check for SSR
 
32843
 
32844
- var index_4bd03571_esm_w = typeof window !== 'undefined' ? window : {};
 
32845
 
32846
- if (index_4bd03571_esm_w.addEventListener && index_4bd03571_esm_w.removeEventListener) {
32847
- index_4bd03571_esm_w.addEventListener('p', noop, options);
32848
- index_4bd03571_esm_w.removeEventListener('p', noop, false);
32849
  }
32850
 
32851
- var supportsPassiveEvents = passiveOptionAccessed;
 
 
 
 
 
 
 
 
 
 
32852
 
32853
- function getMenuPlacement(_ref) {
32854
- var maxHeight = _ref.maxHeight,
32855
- menuEl = _ref.menuEl,
32856
- minHeight = _ref.minHeight,
32857
- placement = _ref.placement,
32858
- shouldScroll = _ref.shouldScroll,
32859
- isFixedPosition = _ref.isFixedPosition,
32860
- theme = _ref.theme;
32861
- var spacing = theme.spacing;
32862
- var scrollParent = getScrollParent(menuEl);
32863
- var defaultState = {
32864
- placement: 'bottom',
32865
- maxHeight: maxHeight
32866
- }; // something went wrong, return default state
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32867
 
32868
- if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when
32869
- // the menu is rendered
 
 
32870
 
32871
- var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),
32872
- scrollHeight = _scrollParent$getBoun.height;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32873
 
32874
- var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),
32875
- menuBottom = _menuEl$getBoundingCl.bottom,
32876
- menuHeight = _menuEl$getBoundingCl.height,
32877
- menuTop = _menuEl$getBoundingCl.top;
32878
 
32879
- var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),
32880
- containerTop = _menuEl$offsetParent$.top;
32881
 
32882
- var viewHeight = window.innerHeight;
32883
- var scrollTop = getScrollTop(scrollParent);
32884
- var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
32885
- var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
32886
- var viewSpaceAbove = containerTop - marginTop;
32887
- var viewSpaceBelow = viewHeight - menuTop;
32888
- var scrollSpaceAbove = viewSpaceAbove + scrollTop;
32889
- var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;
32890
- var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
32891
- var scrollUp = scrollTop + menuTop - marginTop;
32892
- var scrollDuration = 160;
32893
 
32894
- switch (placement) {
32895
- case 'auto':
32896
- case 'bottom':
32897
- // 1: the menu will fit, do nothing
32898
- if (viewSpaceBelow >= menuHeight) {
32899
- return {
32900
- placement: 'bottom',
32901
- maxHeight: maxHeight
32902
- };
32903
- } // 2: the menu will fit, if scrolled
32904
 
 
 
 
 
 
 
 
32905
 
32906
- if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
32907
- if (shouldScroll) {
32908
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
32909
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32910
 
32911
- return {
32912
- placement: 'bottom',
32913
- maxHeight: maxHeight
32914
- };
32915
- } // 3: the menu will fit, if constrained
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32916
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32917
 
32918
- if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
32919
- if (shouldScroll) {
32920
- animatedScrollTo(scrollParent, scrollDown, scrollDuration);
32921
- } // we want to provide as much of the menu as possible to the user,
32922
- // so give them whatever is available below rather than the minHeight.
 
 
 
 
 
 
32923
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32924
 
32925
- var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
32926
- return {
32927
- placement: 'bottom',
32928
- maxHeight: constrainedHeight
32929
- };
32930
- } // 4. Forked beviour when there isn't enough space below
32931
- // AUTO: flip the menu, render above
 
32932
 
 
 
32933
 
32934
- if (placement === 'auto' || isFixedPosition) {
32935
- // may need to be constrained after flipping
32936
- var _constrainedHeight = maxHeight;
32937
- var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
32938
-
32939
- if (spaceAbove >= minHeight) {
32940
- _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);
32941
- }
 
 
 
 
 
 
 
 
 
 
32942
 
32943
- return {
32944
- placement: 'top',
32945
- maxHeight: _constrainedHeight
32946
- };
32947
- } // BOTTOM: allow browser to increase scrollable area and immediately set scroll
32948
 
 
 
32949
 
32950
- if (placement === 'bottom') {
32951
- if (shouldScroll) {
32952
- scrollTo(scrollParent, scrollDown);
32953
- }
 
 
 
 
 
32954
 
32955
- return {
32956
- placement: 'bottom',
32957
- maxHeight: maxHeight
32958
- };
32959
- }
 
 
 
 
 
32960
 
32961
- break;
32962
 
32963
- case 'top':
32964
- // 1: the menu will fit, do nothing
32965
- if (viewSpaceAbove >= menuHeight) {
32966
- return {
32967
- placement: 'top',
32968
- maxHeight: maxHeight
32969
- };
32970
- } // 2: the menu will fit, if scrolled
32971
 
32972
 
32973
- if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
32974
- if (shouldScroll) {
32975
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
32976
- }
32977
 
32978
- return {
32979
- placement: 'top',
32980
- maxHeight: maxHeight
32981
- };
32982
- } // 3: the menu will fit, if constrained
32983
 
 
 
 
32984
 
32985
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
32986
- var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,
32987
- // so give them whatever is available below rather than the minHeight.
 
32988
 
32989
- if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
32990
- _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
 
 
 
 
 
 
 
 
32991
  }
32992
 
32993
- if (shouldScroll) {
32994
- animatedScrollTo(scrollParent, scrollUp, scrollDuration);
 
 
 
 
 
 
 
 
 
 
 
 
32995
  }
32996
 
32997
- return {
32998
- placement: 'top',
32999
- maxHeight: _constrainedHeight2
33000
- };
33001
- } // 4. not enough space, the browser WILL NOT increase scrollable area when
33002
- // absolutely positioned element rendered above the viewport (only below).
33003
- // Flip the menu, render below
33004
 
 
 
 
 
33005
 
33006
- return {
33007
- placement: 'bottom',
33008
- maxHeight: maxHeight
33009
- };
33010
 
33011
- default:
33012
- throw new Error("Invalid placement provided \"".concat(placement, "\"."));
33013
- } // fulfil contract with flow: implicit return value of undefined
33014
 
33015
 
33016
- return defaultState;
33017
- } // Menu Component
33018
- // ------------------------------
 
 
 
33019
 
33020
- function alignToControl(placement) {
33021
- var placementToCSSProp = {
33022
- bottom: 'top',
33023
- top: 'bottom'
33024
- };
33025
- return placement ? placementToCSSProp[placement] : 'bottom';
33026
- }
33027
 
33028
- var coercePlacement = function coercePlacement(p) {
33029
- return p === 'auto' ? 'bottom' : p;
33030
- };
 
33031
 
33032
- var menuCSS = function menuCSS(_ref2) {
33033
- var _ref3;
33034
 
33035
- var placement = _ref2.placement,
33036
- _ref2$theme = _ref2.theme,
33037
- borderRadius = _ref2$theme.borderRadius,
33038
- spacing = _ref2$theme.spacing,
33039
- colors = _ref2$theme.colors;
33040
- return _ref3 = {
33041
- label: 'menu'
33042
- }, defineProperty_defineProperty(_ref3, alignToControl(placement), '100%'), defineProperty_defineProperty(_ref3, "backgroundColor", colors.neutral0), defineProperty_defineProperty(_ref3, "borderRadius", borderRadius), defineProperty_defineProperty(_ref3, "boxShadow", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), defineProperty_defineProperty(_ref3, "marginBottom", spacing.menuGutter), defineProperty_defineProperty(_ref3, "marginTop", spacing.menuGutter), defineProperty_defineProperty(_ref3, "position", 'absolute'), defineProperty_defineProperty(_ref3, "width", '100%'), defineProperty_defineProperty(_ref3, "zIndex", 1), _ref3;
33043
- };
33044
- var PortalPlacementContext = /*#__PURE__*/(0,react.createContext)({
33045
- getPortalPlacement: null
33046
- }); // NOTE: internal only
33047
 
33048
- var MenuPlacer = /*#__PURE__*/function (_Component) {
33049
- _inherits(MenuPlacer, _Component);
33050
 
33051
- var _super = _createSuper(MenuPlacer);
 
 
33052
 
33053
- function MenuPlacer() {
33054
- var _this;
 
 
33055
 
33056
- _classCallCheck(this, MenuPlacer);
 
 
 
 
 
 
 
 
33057
 
33058
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
33059
- args[_key] = arguments[_key];
 
 
 
 
33060
  }
 
 
 
33061
 
33062
- _this = _super.call.apply(_super, [this].concat(args));
33063
- _this.state = {
33064
- maxHeight: _this.props.maxMenuHeight,
33065
- placement: null
33066
- };
33067
 
33068
- _this.getPlacement = function (ref) {
33069
- var _this$props = _this.props,
33070
- minMenuHeight = _this$props.minMenuHeight,
33071
- maxMenuHeight = _this$props.maxMenuHeight,
33072
- menuPlacement = _this$props.menuPlacement,
33073
- menuPosition = _this$props.menuPosition,
33074
- menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,
33075
- theme = _this$props.theme;
33076
- if (!ref) return; // DO NOT scroll if position is fixed
33077
 
33078
- var isFixedPosition = menuPosition === 'fixed';
33079
- var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
33080
- var state = getMenuPlacement({
33081
- maxHeight: maxMenuHeight,
33082
- menuEl: ref,
33083
- minHeight: minMenuHeight,
33084
- placement: menuPlacement,
33085
- shouldScroll: shouldScroll,
33086
- isFixedPosition: isFixedPosition,
33087
- theme: theme
33088
- });
33089
- var getPortalPlacement = _this.context.getPortalPlacement;
33090
- if (getPortalPlacement) getPortalPlacement(state);
33091
 
33092
- _this.setState(state);
33093
- };
 
33094
 
33095
- _this.getUpdatedProps = function () {
33096
- var menuPlacement = _this.props.menuPlacement;
33097
- var placement = _this.state.placement || coercePlacement(menuPlacement);
33098
- return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, _this.props), {}, {
33099
- placement: placement,
33100
- maxHeight: _this.state.maxHeight
33101
  });
33102
- };
 
 
33103
 
33104
- return _this;
33105
- }
 
33106
 
33107
- _createClass(MenuPlacer, [{
33108
- key: "render",
33109
- value: function render() {
33110
- var children = this.props.children;
33111
- return children({
33112
- ref: this.getPlacement,
33113
- placerProps: this.getUpdatedProps()
33114
- });
33115
  }
33116
- }]);
33117
 
33118
- return MenuPlacer;
33119
- }(react.Component);
33120
- MenuPlacer.contextType = PortalPlacementContext;
 
33121
 
33122
- var Menu = function Menu(props) {
33123
- var children = props.children,
33124
- className = props.className,
33125
- cx = props.cx,
33126
- getStyles = props.getStyles,
33127
- innerRef = props.innerRef,
33128
- innerProps = props.innerProps;
33129
- return jsx("div", extends_extends({
33130
- css: getStyles('menu', props),
33131
- className: cx({
33132
- menu: true
33133
- }, className),
33134
- ref: innerRef
33135
- }, innerProps), children);
33136
- };
33137
- // Menu List
33138
- // ==============================
33139
 
33140
- var menuListCSS = function menuListCSS(_ref4) {
33141
- var maxHeight = _ref4.maxHeight,
33142
- baseUnit = _ref4.theme.spacing.baseUnit;
33143
- return {
33144
- maxHeight: maxHeight,
33145
- overflowY: 'auto',
33146
- paddingBottom: baseUnit,
33147
- paddingTop: baseUnit,
33148
- position: 'relative',
33149
- // required for offset[Height, Top] > keyboard scroll
33150
- WebkitOverflowScrolling: 'touch'
33151
- };
33152
  };
33153
- var MenuList = function MenuList(props) {
33154
- var children = props.children,
33155
- className = props.className,
33156
- cx = props.cx,
33157
- getStyles = props.getStyles,
33158
- innerProps = props.innerProps,
33159
- innerRef = props.innerRef,
33160
- isMulti = props.isMulti;
33161
- return jsx("div", extends_extends({
33162
- css: getStyles('menuList', props),
33163
- className: cx({
33164
- 'menu-list': true,
33165
- 'menu-list--is-multi': isMulti
33166
- }, className),
33167
- ref: innerRef
33168
- }, innerProps), children);
33169
- }; // ==============================
33170
- // Menu Notices
33171
- // ==============================
33172
 
33173
- var noticeCSS = function noticeCSS(_ref5) {
33174
- var _ref5$theme = _ref5.theme,
33175
- baseUnit = _ref5$theme.spacing.baseUnit,
33176
- colors = _ref5$theme.colors;
33177
- return {
33178
- color: colors.neutral40,
33179
- padding: "".concat(baseUnit * 2, "px ").concat(baseUnit * 3, "px"),
33180
- textAlign: 'center'
33181
- };
33182
- };
33183
 
33184
- var noOptionsMessageCSS = noticeCSS;
33185
- var loadingMessageCSS = noticeCSS;
33186
- var NoOptionsMessage = function NoOptionsMessage(props) {
33187
- var children = props.children,
33188
- className = props.className,
33189
- cx = props.cx,
33190
- getStyles = props.getStyles,
33191
- innerProps = props.innerProps;
33192
- return jsx("div", extends_extends({
33193
- css: getStyles('noOptionsMessage', props),
33194
- className: cx({
33195
- 'menu-notice': true,
33196
- 'menu-notice--no-options': true
33197
- }, className)
33198
- }, innerProps), children);
33199
- };
33200
- NoOptionsMessage.defaultProps = {
33201
- children: 'No options'
33202
- };
33203
- var LoadingMessage = function LoadingMessage(props) {
33204
- var children = props.children,
33205
- className = props.className,
33206
- cx = props.cx,
33207
- getStyles = props.getStyles,
33208
- innerProps = props.innerProps;
33209
- return jsx("div", extends_extends({
33210
- css: getStyles('loadingMessage', props),
33211
- className: cx({
33212
- 'menu-notice': true,
33213
- 'menu-notice--loading': true
33214
- }, className)
33215
- }, innerProps), children);
33216
  };
33217
- LoadingMessage.defaultProps = {
33218
- children: 'Loading...'
33219
- }; // ==============================
33220
- // Menu Portal
33221
- // ==============================
33222
 
33223
- var menuPortalCSS = function menuPortalCSS(_ref6) {
33224
- var rect = _ref6.rect,
33225
- offset = _ref6.offset,
33226
- position = _ref6.position;
33227
- return {
33228
- left: rect.left,
33229
- position: position,
33230
- top: offset,
33231
- width: rect.width,
33232
- zIndex: 1
33233
- };
33234
- };
33235
- var MenuPortal = /*#__PURE__*/function (_Component2) {
33236
- _inherits(MenuPortal, _Component2);
33237
 
33238
- var _super2 = _createSuper(MenuPortal);
 
33239
 
33240
- function MenuPortal() {
33241
- var _this2;
33242
 
33243
- _classCallCheck(this, MenuPortal);
 
 
 
 
33244
 
33245
- for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
33246
- args[_key2] = arguments[_key2];
33247
- }
 
 
 
 
 
33248
 
33249
- _this2 = _super2.call.apply(_super2, [this].concat(args));
33250
- _this2.state = {
33251
- placement: null
33252
- };
 
 
 
33253
 
33254
- _this2.getPortalPlacement = function (_ref7) {
33255
- var placement = _ref7.placement;
33256
- var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed
33257
 
33258
- if (placement !== initialPlacement) {
33259
- _this2.setState({
33260
- placement: placement
33261
- });
33262
- }
33263
- };
33264
 
33265
- return _this2;
33266
- }
33267
 
33268
- _createClass(MenuPortal, [{
33269
- key: "render",
33270
- value: function render() {
33271
- var _this$props2 = this.props,
33272
- appendTo = _this$props2.appendTo,
33273
- children = _this$props2.children,
33274
- className = _this$props2.className,
33275
- controlElement = _this$props2.controlElement,
33276
- cx = _this$props2.cx,
33277
- innerProps = _this$props2.innerProps,
33278
- menuPlacement = _this$props2.menuPlacement,
33279
- position = _this$props2.menuPosition,
33280
- getStyles = _this$props2.getStyles;
33281
- var isFixed = position === 'fixed'; // bail early if required elements aren't present
33282
 
33283
- if (!appendTo && !isFixed || !controlElement) {
33284
- return null;
 
 
 
 
 
 
 
33285
  }
33286
 
33287
- var placement = this.state.placement || coercePlacement(menuPlacement);
33288
- var rect = getBoundingClientObj(controlElement);
33289
- var scrollDistance = isFixed ? 0 : window.pageYOffset;
33290
- var offset = rect[placement] + scrollDistance;
33291
- var state = {
33292
- offset: offset,
33293
- position: position,
33294
- rect: rect
33295
- }; // same wrapper element whether fixed or portalled
33296
 
33297
- var menuWrapper = jsx("div", extends_extends({
33298
- css: getStyles('menuPortal', state),
33299
- className: cx({
33300
- 'menu-portal': true
33301
- }, className)
33302
- }, innerProps), children);
33303
- return jsx(PortalPlacementContext.Provider, {
33304
- value: {
33305
- getPortalPlacement: this.getPortalPlacement
33306
- }
33307
- }, appendTo ? /*#__PURE__*/(0,react_dom.createPortal)(menuWrapper, appendTo) : menuWrapper);
33308
- }
33309
- }]);
33310
 
33311
- return MenuPortal;
33312
- }(react.Component);
33313
 
33314
- var containerCSS = function containerCSS(_ref) {
33315
- var isDisabled = _ref.isDisabled,
33316
- isRtl = _ref.isRtl;
33317
- return {
33318
- label: 'container',
33319
- direction: isRtl ? 'rtl' : null,
33320
- pointerEvents: isDisabled ? 'none' : null,
33321
- // cancel mouse events when disabled
33322
- position: 'relative'
33323
- };
33324
- };
33325
- var SelectContainer = function SelectContainer(props) {
33326
- var children = props.children,
33327
- className = props.className,
33328
- cx = props.cx,
33329
- getStyles = props.getStyles,
33330
- innerProps = props.innerProps,
33331
- isDisabled = props.isDisabled,
33332
- isRtl = props.isRtl;
33333
- return jsx("div", extends_extends({
33334
- css: getStyles('container', props),
33335
- className: cx({
33336
- '--is-disabled': isDisabled,
33337
- '--is-rtl': isRtl
33338
- }, className)
33339
- }, innerProps), children);
33340
- }; // ==============================
33341
- // Value Container
33342
- // ==============================
33343
 
33344
- var valueContainerCSS = function valueContainerCSS(_ref2) {
33345
- var spacing = _ref2.theme.spacing;
33346
- return {
33347
- alignItems: 'center',
33348
- display: 'flex',
33349
- flex: 1,
33350
- flexWrap: 'wrap',
33351
- padding: "".concat(spacing.baseUnit / 2, "px ").concat(spacing.baseUnit * 2, "px"),
33352
- WebkitOverflowScrolling: 'touch',
33353
- position: 'relative',
33354
- overflow: 'hidden'
33355
- };
33356
- };
33357
- var ValueContainer = function ValueContainer(props) {
33358
- var children = props.children,
33359
- className = props.className,
33360
- cx = props.cx,
33361
- innerProps = props.innerProps,
33362
- isMulti = props.isMulti,
33363
- getStyles = props.getStyles,
33364
- hasValue = props.hasValue;
33365
- return jsx("div", extends_extends({
33366
- css: getStyles('valueContainer', props),
33367
- className: cx({
33368
- 'value-container': true,
33369
- 'value-container--is-multi': isMulti,
33370
- 'value-container--has-value': hasValue
33371
- }, className)
33372
- }, innerProps), children);
33373
- }; // ==============================
33374
- // Indicator Container
33375
- // ==============================
33376
 
33377
- var indicatorsContainerCSS = function indicatorsContainerCSS() {
33378
- return {
33379
- alignItems: 'center',
33380
- alignSelf: 'stretch',
33381
- display: 'flex',
33382
- flexShrink: 0
33383
- };
33384
- };
33385
- var IndicatorsContainer = function IndicatorsContainer(props) {
33386
- var children = props.children,
33387
- className = props.className,
33388
- cx = props.cx,
33389
- innerProps = props.innerProps,
33390
- getStyles = props.getStyles;
33391
- return jsx("div", extends_extends({
33392
- css: getStyles('indicatorsContainer', props),
33393
- className: cx({
33394
- indicators: true
33395
- }, className)
33396
- }, innerProps), children);
33397
- };
33398
 
33399
- var _templateObject;
 
33400
 
33401
- function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
33402
 
33403
- var _ref2 = true ? {
33404
- name: "8mmkcg",
33405
- styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"
33406
- } : 0;
33407
 
33408
- // ==============================
33409
- // Dropdown & Clear Icons
33410
- // ==============================
33411
- var Svg = function Svg(_ref) {
33412
- var size = _ref.size,
33413
- props = objectWithoutProperties_objectWithoutProperties(_ref, ["size"]);
33414
 
33415
- return jsx("svg", extends_extends({
33416
- height: size,
33417
- width: size,
33418
- viewBox: "0 0 20 20",
33419
- "aria-hidden": "true",
33420
- focusable: "false",
33421
- css: _ref2
33422
- }, props));
 
 
 
 
 
 
 
 
33423
  };
33424
 
33425
- var CrossIcon = function CrossIcon(props) {
33426
- return jsx(Svg, extends_extends({
33427
- size: 20
33428
- }, props), jsx("path", {
33429
- d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
33430
- }));
33431
- };
33432
- var DownChevron = function DownChevron(props) {
33433
- return jsx(Svg, extends_extends({
33434
- size: 20
33435
- }, props), jsx("path", {
33436
- d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
33437
- }));
33438
- }; // ==============================
33439
- // Dropdown & Clear Buttons
33440
- // ==============================
33441
 
33442
- var baseCSS = function baseCSS(_ref3) {
33443
- var isFocused = _ref3.isFocused,
33444
- _ref3$theme = _ref3.theme,
33445
- baseUnit = _ref3$theme.spacing.baseUnit,
33446
- colors = _ref3$theme.colors;
33447
- return {
33448
- label: 'indicatorContainer',
33449
- color: isFocused ? colors.neutral60 : colors.neutral20,
33450
- display: 'flex',
33451
- padding: baseUnit * 2,
33452
- transition: 'color 150ms',
33453
- ':hover': {
33454
- color: isFocused ? colors.neutral80 : colors.neutral40
33455
  }
33456
- };
33457
- };
 
 
 
33458
 
33459
- var dropdownIndicatorCSS = baseCSS;
33460
- var DropdownIndicator = function DropdownIndicator(props) {
33461
- var children = props.children,
33462
- className = props.className,
33463
- cx = props.cx,
33464
- getStyles = props.getStyles,
33465
- innerProps = props.innerProps;
33466
- return jsx("div", extends_extends({
33467
- css: getStyles('dropdownIndicator', props),
33468
- className: cx({
33469
- indicator: true,
33470
- 'dropdown-indicator': true
33471
- }, className)
33472
- }, innerProps), children || jsx(DownChevron, null));
33473
- };
33474
- var clearIndicatorCSS = baseCSS;
33475
- var ClearIndicator = function ClearIndicator(props) {
33476
- var children = props.children,
33477
- className = props.className,
33478
- cx = props.cx,
33479
- getStyles = props.getStyles,
33480
- innerProps = props.innerProps;
33481
- return jsx("div", extends_extends({
33482
- css: getStyles('clearIndicator', props),
33483
- className: cx({
33484
- indicator: true,
33485
- 'clear-indicator': true
33486
- }, className)
33487
- }, innerProps), children || jsx(CrossIcon, null));
33488
- }; // ==============================
33489
- // Separator
33490
- // ==============================
33491
 
33492
- var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {
33493
- var isDisabled = _ref4.isDisabled,
33494
- _ref4$theme = _ref4.theme,
33495
- baseUnit = _ref4$theme.spacing.baseUnit,
33496
- colors = _ref4$theme.colors;
33497
- return {
33498
- label: 'indicatorSeparator',
33499
- alignSelf: 'stretch',
33500
- backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
33501
- marginBottom: baseUnit * 2,
33502
- marginTop: baseUnit * 2,
33503
- width: 1
33504
- };
33505
- };
33506
- var IndicatorSeparator = function IndicatorSeparator(props) {
33507
- var className = props.className,
33508
- cx = props.cx,
33509
- getStyles = props.getStyles,
33510
- innerProps = props.innerProps;
33511
- return jsx("span", extends_extends({}, innerProps, {
33512
- css: getStyles('indicatorSeparator', props),
33513
- className: cx({
33514
- 'indicator-separator': true
33515
- }, className)
33516
- }));
33517
- }; // ==============================
33518
- // Loading
33519
- // ==============================
33520
 
33521
- var loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"])));
33522
- var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {
33523
- var isFocused = _ref5.isFocused,
33524
- size = _ref5.size,
33525
- _ref5$theme = _ref5.theme,
33526
- colors = _ref5$theme.colors,
33527
- baseUnit = _ref5$theme.spacing.baseUnit;
33528
- return {
33529
- label: 'loadingIndicator',
33530
- color: isFocused ? colors.neutral60 : colors.neutral20,
33531
- display: 'flex',
33532
- padding: baseUnit * 2,
33533
- transition: 'color 150ms',
33534
- alignSelf: 'center',
33535
- fontSize: size,
33536
- lineHeight: 1,
33537
- marginRight: size,
33538
- textAlign: 'center',
33539
- verticalAlign: 'middle'
33540
- };
33541
- };
33542
 
33543
- var LoadingDot = function LoadingDot(_ref6) {
33544
- var delay = _ref6.delay,
33545
- offset = _ref6.offset;
33546
- return jsx("span", {
33547
- css: /*#__PURE__*/css({
33548
- animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
33549
- backgroundColor: 'currentColor',
33550
- borderRadius: '1em',
33551
- display: 'inline-block',
33552
- marginLeft: offset ? '1em' : null,
33553
- height: '1em',
33554
- verticalAlign: 'top',
33555
- width: '1em'
33556
- }, true ? "" : 0, true ? "" : 0)
33557
- });
33558
  };
33559
 
33560
- var LoadingIndicator = function LoadingIndicator(props) {
33561
- var className = props.className,
33562
- cx = props.cx,
33563
- getStyles = props.getStyles,
33564
- innerProps = props.innerProps,
33565
- isRtl = props.isRtl;
33566
- return jsx("div", extends_extends({
33567
- css: getStyles('loadingIndicator', props),
33568
- className: cx({
33569
- indicator: true,
33570
- 'loading-indicator': true
33571
- }, className)
33572
- }, innerProps), jsx(LoadingDot, {
33573
- delay: 0,
33574
- offset: isRtl
33575
- }), jsx(LoadingDot, {
33576
- delay: 160,
33577
- offset: true
33578
- }), jsx(LoadingDot, {
33579
- delay: 320,
33580
- offset: !isRtl
33581
- }));
33582
- };
33583
- LoadingIndicator.defaultProps = {
33584
- size: 4
33585
- };
33586
 
33587
- var index_4bd03571_esm_css = function css(_ref) {
33588
- var isDisabled = _ref.isDisabled,
33589
- isFocused = _ref.isFocused,
33590
- _ref$theme = _ref.theme,
33591
- colors = _ref$theme.colors,
33592
- borderRadius = _ref$theme.borderRadius,
33593
- spacing = _ref$theme.spacing;
33594
- return {
33595
- label: 'control',
33596
- alignItems: 'center',
33597
- backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,
33598
- borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,
33599
- borderRadius: borderRadius,
33600
- borderStyle: 'solid',
33601
- borderWidth: 1,
33602
- boxShadow: isFocused ? "0 0 0 1px ".concat(colors.primary) : null,
33603
- cursor: 'default',
33604
- display: 'flex',
33605
- flexWrap: 'wrap',
33606
- justifyContent: 'space-between',
33607
- minHeight: spacing.controlHeight,
33608
- outline: '0 !important',
33609
- position: 'relative',
33610
- transition: 'all 100ms',
33611
- '&:hover': {
33612
- borderColor: isFocused ? colors.primary : colors.neutral30
33613
- }
33614
- };
33615
- };
33616
 
33617
- var Control = function Control(props) {
33618
- var children = props.children,
33619
- cx = props.cx,
33620
- getStyles = props.getStyles,
33621
- className = props.className,
33622
- isDisabled = props.isDisabled,
33623
- isFocused = props.isFocused,
33624
- innerRef = props.innerRef,
33625
- innerProps = props.innerProps,
33626
- menuIsOpen = props.menuIsOpen;
33627
- return jsx("div", extends_extends({
33628
- ref: innerRef,
33629
- css: getStyles('control', props),
33630
- className: cx({
33631
- control: true,
33632
- 'control--is-disabled': isDisabled,
33633
- 'control--is-focused': isFocused,
33634
- 'control--menu-is-open': menuIsOpen
33635
- }, className)
33636
- }, innerProps), children);
33637
- };
33638
 
33639
- var groupCSS = function groupCSS(_ref) {
33640
- var spacing = _ref.theme.spacing;
33641
- return {
33642
- paddingBottom: spacing.baseUnit * 2,
33643
- paddingTop: spacing.baseUnit * 2
33644
- };
33645
- };
33646
 
33647
- var Group = function Group(props) {
33648
- var children = props.children,
33649
- className = props.className,
33650
- cx = props.cx,
33651
- getStyles = props.getStyles,
33652
- Heading = props.Heading,
33653
- headingProps = props.headingProps,
33654
- innerProps = props.innerProps,
33655
- label = props.label,
33656
- theme = props.theme,
33657
- selectProps = props.selectProps;
33658
- return jsx("div", extends_extends({
33659
- css: getStyles('group', props),
33660
- className: cx({
33661
- group: true
33662
- }, className)
33663
- }, innerProps), jsx(Heading, extends_extends({}, headingProps, {
33664
- selectProps: selectProps,
33665
- theme: theme,
33666
- getStyles: getStyles,
33667
- cx: cx
33668
- }), label), jsx("div", null, children));
33669
- };
33670
 
33671
- var groupHeadingCSS = function groupHeadingCSS(_ref2) {
33672
- var spacing = _ref2.theme.spacing;
33673
- return {
33674
- label: 'group',
33675
- color: '#999',
33676
- cursor: 'default',
33677
- display: 'block',
33678
- fontSize: '75%',
33679
- fontWeight: '500',
33680
- marginBottom: '0.25em',
33681
- paddingLeft: spacing.baseUnit * 3,
33682
- paddingRight: spacing.baseUnit * 3,
33683
- textTransform: 'uppercase'
33684
- };
33685
- };
33686
- var GroupHeading = function GroupHeading(props) {
33687
- var getStyles = props.getStyles,
33688
- cx = props.cx,
33689
- className = props.className;
33690
 
33691
- var _cleanCommonProps = cleanCommonProps(props);
33692
- _cleanCommonProps.data;
33693
- var innerProps = objectWithoutProperties_objectWithoutProperties(_cleanCommonProps, ["data"]);
33694
 
33695
- return jsx("div", extends_extends({
33696
- css: getStyles('groupHeading', props),
33697
- className: cx({
33698
- 'group-heading': true
33699
- }, className)
33700
- }, innerProps));
33701
- };
33702
 
33703
- var inputCSS = function inputCSS(_ref) {
33704
- var isDisabled = _ref.isDisabled,
33705
- _ref$theme = _ref.theme,
33706
- spacing = _ref$theme.spacing,
33707
- colors = _ref$theme.colors;
33708
- return {
33709
- margin: spacing.baseUnit / 2,
33710
- paddingBottom: spacing.baseUnit / 2,
33711
- paddingTop: spacing.baseUnit / 2,
33712
- visibility: isDisabled ? 'hidden' : 'visible',
33713
- color: colors.neutral80
33714
- };
33715
- };
33716
 
33717
- var inputStyle = function inputStyle(isHidden) {
33718
- return {
33719
- label: 'input',
33720
- background: 0,
33721
- border: 0,
33722
- fontSize: 'inherit',
33723
- opacity: isHidden ? 0 : 1,
33724
- outline: 0,
33725
- padding: 0,
33726
- color: 'inherit'
33727
- };
33728
- };
33729
 
33730
- var index_4bd03571_esm_Input = function Input(props) {
33731
- var className = props.className,
33732
- cx = props.cx,
33733
- getStyles = props.getStyles;
33734
-
33735
- var _cleanCommonProps = cleanCommonProps(props),
33736
- innerRef = _cleanCommonProps.innerRef,
33737
- isDisabled = _cleanCommonProps.isDisabled,
33738
- isHidden = _cleanCommonProps.isHidden,
33739
- innerProps = objectWithoutProperties_objectWithoutProperties(_cleanCommonProps, ["innerRef", "isDisabled", "isHidden"]);
33740
-
33741
- return jsx("div", {
33742
- css: getStyles('input', props)
33743
- }, jsx(AutosizeInput/* default */.Z, extends_extends({
33744
- className: cx({
33745
- input: true
33746
- }, className),
33747
- inputRef: innerRef,
33748
- inputStyle: inputStyle(isHidden),
33749
- disabled: isDisabled
33750
- }, innerProps)));
33751
- };
33752
 
33753
- var multiValueCSS = function multiValueCSS(_ref) {
33754
- var _ref$theme = _ref.theme,
33755
- spacing = _ref$theme.spacing,
33756
- borderRadius = _ref$theme.borderRadius,
33757
- colors = _ref$theme.colors;
33758
- return {
33759
- label: 'multiValue',
33760
- backgroundColor: colors.neutral10,
33761
- borderRadius: borderRadius / 2,
33762
- display: 'flex',
33763
- margin: spacing.baseUnit / 2,
33764
- minWidth: 0 // resolves flex/text-overflow bug
33765
 
 
 
 
 
 
 
33766
  };
33767
- };
33768
- var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
33769
- var _ref2$theme = _ref2.theme,
33770
- borderRadius = _ref2$theme.borderRadius,
33771
- colors = _ref2$theme.colors,
33772
- cropWithEllipsis = _ref2.cropWithEllipsis;
33773
- return {
33774
- borderRadius: borderRadius / 2,
33775
- color: colors.neutral80,
33776
- fontSize: '85%',
33777
- overflow: 'hidden',
33778
- padding: 3,
33779
- paddingLeft: 6,
33780
- textOverflow: cropWithEllipsis ? 'ellipsis' : null,
33781
- whiteSpace: 'nowrap'
33782
- };
33783
- };
33784
- var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {
33785
- var _ref3$theme = _ref3.theme,
33786
- spacing = _ref3$theme.spacing,
33787
- borderRadius = _ref3$theme.borderRadius,
33788
- colors = _ref3$theme.colors,
33789
- isFocused = _ref3.isFocused;
33790
- return {
33791
- alignItems: 'center',
33792
- borderRadius: borderRadius / 2,
33793
- backgroundColor: isFocused && colors.dangerLight,
33794
- display: 'flex',
33795
- paddingLeft: spacing.baseUnit,
33796
- paddingRight: spacing.baseUnit,
33797
- ':hover': {
33798
- backgroundColor: colors.dangerLight,
33799
- color: colors.danger
33800
- }
33801
- };
33802
- };
33803
- var MultiValueGeneric = function MultiValueGeneric(_ref4) {
33804
- var children = _ref4.children,
33805
- innerProps = _ref4.innerProps;
33806
- return jsx("div", innerProps, children);
33807
- };
33808
- var MultiValueContainer = MultiValueGeneric;
33809
- var MultiValueLabel = MultiValueGeneric;
33810
- function MultiValueRemove(_ref5) {
33811
- var children = _ref5.children,
33812
- innerProps = _ref5.innerProps;
33813
- return jsx("div", innerProps, children || jsx(CrossIcon, {
33814
- size: 14
33815
- }));
33816
  }
33817
 
33818
- var MultiValue = function MultiValue(props) {
33819
- var children = props.children,
33820
- className = props.className,
33821
- components = props.components,
33822
- cx = props.cx,
33823
- data = props.data,
33824
- getStyles = props.getStyles,
33825
- innerProps = props.innerProps,
33826
- isDisabled = props.isDisabled,
33827
- removeProps = props.removeProps,
33828
- selectProps = props.selectProps;
33829
- var Container = components.Container,
33830
- Label = components.Label,
33831
- Remove = components.Remove;
33832
- return jsx(ClassNames, null, function (_ref6) {
33833
- var css = _ref6.css,
33834
- emotionCx = _ref6.cx;
33835
- return jsx(Container, {
33836
- data: data,
33837
- innerProps: index_4bd03571_esm_objectSpread2({
33838
- className: emotionCx(css(getStyles('multiValue', props)), cx({
33839
- 'multi-value': true,
33840
- 'multi-value--is-disabled': isDisabled
33841
- }, className))
33842
- }, innerProps),
33843
- selectProps: selectProps
33844
- }, jsx(Label, {
33845
- data: data,
33846
- innerProps: {
33847
- className: emotionCx(css(getStyles('multiValueLabel', props)), cx({
33848
- 'multi-value__label': true
33849
- }, className))
33850
- },
33851
- selectProps: selectProps
33852
- }, children), jsx(Remove, {
33853
- data: data,
33854
- innerProps: index_4bd03571_esm_objectSpread2({
33855
- className: emotionCx(css(getStyles('multiValueRemove', props)), cx({
33856
- 'multi-value__remove': true
33857
- }, className))
33858
- }, removeProps),
33859
- selectProps: selectProps
33860
- }));
33861
- });
33862
- };
33863
 
33864
- MultiValue.defaultProps = {
33865
- cropWithEllipsis: true
33866
- };
33867
 
33868
- var optionCSS = function optionCSS(_ref) {
33869
- var isDisabled = _ref.isDisabled,
33870
- isFocused = _ref.isFocused,
33871
- isSelected = _ref.isSelected,
33872
- _ref$theme = _ref.theme,
33873
- spacing = _ref$theme.spacing,
33874
- colors = _ref$theme.colors;
33875
- return {
33876
- label: 'option',
33877
- backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',
33878
- color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',
33879
- cursor: 'default',
33880
- display: 'block',
33881
- fontSize: 'inherit',
33882
- padding: "".concat(spacing.baseUnit * 2, "px ").concat(spacing.baseUnit * 3, "px"),
33883
- width: '100%',
33884
- userSelect: 'none',
33885
- WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
33886
- // provide some affordance on touch devices
33887
- ':active': {
33888
- backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)
33889
- }
33890
- };
33891
- };
33892
 
33893
- var Option = function Option(props) {
33894
- var children = props.children,
33895
- className = props.className,
33896
- cx = props.cx,
33897
- getStyles = props.getStyles,
33898
- isDisabled = props.isDisabled,
33899
- isFocused = props.isFocused,
33900
- isSelected = props.isSelected,
33901
- innerRef = props.innerRef,
33902
- innerProps = props.innerProps;
33903
- return jsx("div", extends_extends({
33904
- css: getStyles('option', props),
33905
- className: cx({
33906
- option: true,
33907
- 'option--is-disabled': isDisabled,
33908
- 'option--is-focused': isFocused,
33909
- 'option--is-selected': isSelected
33910
- }, className),
33911
- ref: innerRef
33912
- }, innerProps), children);
33913
- };
33914
 
33915
- var placeholderCSS = function placeholderCSS(_ref) {
33916
- var _ref$theme = _ref.theme,
33917
- spacing = _ref$theme.spacing,
33918
- colors = _ref$theme.colors;
33919
- return {
33920
- label: 'placeholder',
33921
- color: colors.neutral50,
33922
- marginLeft: spacing.baseUnit / 2,
33923
- marginRight: spacing.baseUnit / 2,
33924
- position: 'absolute',
33925
- top: '50%',
33926
- transform: 'translateY(-50%)'
33927
- };
33928
- };
33929
 
33930
- var Placeholder = function Placeholder(props) {
33931
- var children = props.children,
33932
- className = props.className,
33933
- cx = props.cx,
33934
- getStyles = props.getStyles,
33935
- innerProps = props.innerProps;
33936
- return jsx("div", extends_extends({
33937
- css: getStyles('placeholder', props),
33938
- className: cx({
33939
- placeholder: true
33940
- }, className)
33941
- }, innerProps), children);
33942
- };
33943
 
33944
- var css$1 = function css(_ref) {
33945
- var isDisabled = _ref.isDisabled,
33946
- _ref$theme = _ref.theme,
33947
- spacing = _ref$theme.spacing,
33948
- colors = _ref$theme.colors;
33949
- return {
33950
- label: 'singleValue',
33951
- color: isDisabled ? colors.neutral40 : colors.neutral80,
33952
- marginLeft: spacing.baseUnit / 2,
33953
- marginRight: spacing.baseUnit / 2,
33954
- maxWidth: "calc(100% - ".concat(spacing.baseUnit * 2, "px)"),
33955
- overflow: 'hidden',
33956
- position: 'absolute',
33957
- textOverflow: 'ellipsis',
33958
- whiteSpace: 'nowrap',
33959
- top: '50%',
33960
- transform: 'translateY(-50%)'
33961
- };
33962
  };
33963
 
33964
- var SingleValue = function SingleValue(props) {
33965
- var children = props.children,
33966
- className = props.className,
33967
- cx = props.cx,
33968
- getStyles = props.getStyles,
33969
- isDisabled = props.isDisabled,
33970
- innerProps = props.innerProps;
33971
- return jsx("div", extends_extends({
33972
- css: getStyles('singleValue', props),
33973
- className: cx({
33974
- 'single-value': true,
33975
- 'single-value--is-disabled': isDisabled
33976
- }, className)
33977
- }, innerProps), children);
33978
  };
33979
 
33980
- var components = {
33981
- ClearIndicator: ClearIndicator,
33982
- Control: Control,
33983
- DropdownIndicator: DropdownIndicator,
33984
- DownChevron: DownChevron,
33985
- CrossIcon: CrossIcon,
33986
- Group: Group,
33987
- GroupHeading: GroupHeading,
33988
- IndicatorsContainer: IndicatorsContainer,
33989
- IndicatorSeparator: IndicatorSeparator,
33990
- Input: index_4bd03571_esm_Input,
33991
- LoadingIndicator: LoadingIndicator,
33992
- Menu: Menu,
33993
- MenuList: MenuList,
33994
- MenuPortal: MenuPortal,
33995
- LoadingMessage: LoadingMessage,
33996
- NoOptionsMessage: NoOptionsMessage,
33997
- MultiValue: MultiValue,
33998
- MultiValueContainer: MultiValueContainer,
33999
- MultiValueLabel: MultiValueLabel,
34000
- MultiValueRemove: MultiValueRemove,
34001
- Option: Option,
34002
- Placeholder: Placeholder,
34003
- SelectContainer: SelectContainer,
34004
- SingleValue: SingleValue,
34005
- ValueContainer: ValueContainer
34006
- };
34007
- var defaultComponents = function defaultComponents(props) {
34008
- return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, components), props.components);
34009
  };
34010
 
 
34011
 
 
 
 
 
34012
 
34013
- ;// CONCATENATED MODULE: ./node_modules/memoize-one/dist/memoize-one.esm.js
34014
- var safeIsNaN = Number.isNaN ||
34015
- function ponyfill(value) {
34016
- return typeof value === 'number' && value !== value;
34017
- };
34018
- function isEqual(first, second) {
34019
- if (first === second) {
34020
- return true;
34021
- }
34022
- if (safeIsNaN(first) && safeIsNaN(second)) {
34023
- return true;
34024
- }
34025
- return false;
34026
- }
34027
- function areInputsEqual(newInputs, lastInputs) {
34028
- if (newInputs.length !== lastInputs.length) {
34029
- return false;
34030
- }
34031
- for (var i = 0; i < newInputs.length; i++) {
34032
- if (!isEqual(newInputs[i], lastInputs[i])) {
34033
- return false;
34034
- }
34035
- }
34036
- return true;
34037
- }
34038
 
34039
- function memoizeOne(resultFn, isEqual) {
34040
- if (isEqual === void 0) { isEqual = areInputsEqual; }
34041
- var lastThis;
34042
- var lastArgs = [];
34043
- var lastResult;
34044
- var calledOnce = false;
34045
- function memoized() {
34046
- var newArgs = [];
34047
- for (var _i = 0; _i < arguments.length; _i++) {
34048
- newArgs[_i] = arguments[_i];
34049
- }
34050
- if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {
34051
- return lastResult;
 
 
 
 
 
34052
  }
34053
- lastResult = resultFn.apply(this, newArgs);
34054
- calledOnce = true;
34055
- lastThis = this;
34056
- lastArgs = newArgs;
34057
- return lastResult;
34058
- }
34059
- return memoized;
34060
- }
34061
 
34062
- /* harmony default export */ const memoize_one_esm = (memoizeOne);
 
34063
 
34064
- ;// CONCATENATED MODULE: ./node_modules/react-select/dist/Select-dbb12e54.esm.js
 
 
 
 
 
 
 
 
 
 
 
34065
 
 
34066
 
 
34067
 
 
 
34068
 
 
 
34069
 
 
 
 
 
 
 
 
 
34070
 
 
 
34071
 
 
 
34072
 
 
 
34073
 
34074
 
 
 
 
34075
 
34076
- function Select_dbb12e54_esm_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
 
 
34077
 
34078
- var _ref = true ? {
34079
- name: "7pg0cj-a11yText",
34080
- styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"
34081
- } : 0;
34082
 
34083
- var A11yText = function A11yText(props) {
34084
- return jsx("span", extends_extends({
34085
- css: _ref
34086
- }, props));
34087
- };
 
 
34088
 
34089
- var defaultAriaLiveMessages = {
34090
- guidance: function guidance(props) {
34091
- var isSearchable = props.isSearchable,
34092
- isMulti = props.isMulti,
34093
- isDisabled = props.isDisabled,
34094
- tabSelectsValue = props.tabSelectsValue,
34095
- context = props.context;
 
34096
 
34097
- switch (context) {
34098
- case 'menu':
34099
- return "Use Up and Down to choose options".concat(isDisabled ? '' : ', press Enter to select the currently focused option', ", press Escape to exit the menu").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', ".");
 
 
 
 
 
34100
 
34101
- case 'input':
34102
- return "".concat(props['aria-label'] || 'Select', " is focused ").concat(isSearchable ? ',type to refine list' : '', ", press Down to open the menu, ").concat(isMulti ? ' press left to focus selected values' : '');
 
 
 
 
 
34103
 
34104
- case 'value':
34105
- return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';
 
34106
 
34107
- default:
34108
- return '';
 
 
 
34109
  }
34110
- },
34111
- onChange: function onChange(props) {
34112
- var action = props.action,
34113
- _props$label = props.label,
34114
- label = _props$label === void 0 ? '' : _props$label,
34115
- isDisabled = props.isDisabled;
34116
 
34117
- switch (action) {
34118
- case 'deselect-option':
34119
- case 'pop-value':
34120
- case 'remove-value':
34121
- return "option ".concat(label, ", deselected.");
34122
 
34123
- case 'select-option':
34124
- return isDisabled ? "option ".concat(label, " is disabled. Select another option.") : "option ".concat(label, ", selected.");
34125
 
34126
- default:
34127
- return '';
34128
- }
34129
- },
34130
- onFocus: function onFocus(props) {
34131
- var context = props.context,
34132
- _props$focused = props.focused,
34133
- focused = _props$focused === void 0 ? {} : _props$focused,
34134
- options = props.options,
34135
- _props$label2 = props.label,
34136
- label = _props$label2 === void 0 ? '' : _props$label2,
34137
- selectValue = props.selectValue,
34138
- isDisabled = props.isDisabled,
34139
- isSelected = props.isSelected;
34140
 
34141
- var getArrayIndex = function getArrayIndex(arr, item) {
34142
- return arr && arr.length ? "".concat(arr.indexOf(item) + 1, " of ").concat(arr.length) : '';
34143
- };
34144
 
34145
- if (context === 'value' && selectValue) {
34146
- return "value ".concat(label, " focused, ").concat(getArrayIndex(selectValue, focused), ".");
34147
- }
 
 
34148
 
34149
- if (context === 'menu') {
34150
- var disabled = isDisabled ? ' disabled' : '';
34151
- var status = "".concat(isSelected ? 'selected' : 'focused').concat(disabled);
34152
- return "option ".concat(label, " ").concat(status, ", ").concat(getArrayIndex(options, focused), ".");
34153
- }
34154
 
34155
- return '';
34156
- },
34157
- onFilter: function onFilter(props) {
34158
- var inputValue = props.inputValue,
34159
- resultsMessage = props.resultsMessage;
34160
- return "".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', ".");
 
 
 
 
 
 
 
 
 
 
 
 
34161
  }
34162
- };
34163
 
34164
- var LiveRegion = function LiveRegion(props) {
34165
- var ariaSelection = props.ariaSelection,
34166
- focusedOption = props.focusedOption,
34167
- focusedValue = props.focusedValue,
34168
- focusableOptions = props.focusableOptions,
34169
- isFocused = props.isFocused,
34170
- selectValue = props.selectValue,
34171
- selectProps = props.selectProps;
34172
- var ariaLiveMessages = selectProps.ariaLiveMessages,
34173
- getOptionLabel = selectProps.getOptionLabel,
34174
- inputValue = selectProps.inputValue,
34175
- isMulti = selectProps.isMulti,
34176
- isOptionDisabled = selectProps.isOptionDisabled,
34177
- isSearchable = selectProps.isSearchable,
34178
- menuIsOpen = selectProps.menuIsOpen,
34179
- options = selectProps.options,
34180
- screenReaderStatus = selectProps.screenReaderStatus,
34181
- tabSelectsValue = selectProps.tabSelectsValue;
34182
- var ariaLabel = selectProps['aria-label'];
34183
- var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes
34184
 
34185
- var messages = (0,react.useMemo)(function () {
34186
- return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});
34187
- }, [ariaLiveMessages]); // Update aria live selected option when prop changes
34188
 
34189
- var ariaSelected = (0,react.useMemo)(function () {
34190
- var message = '';
34191
 
34192
- if (ariaSelection && messages.onChange) {
34193
- var option = ariaSelection.option,
34194
- removedValue = ariaSelection.removedValue,
34195
- value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value
34196
 
34197
- var asOption = function asOption(val) {
34198
- return !Array.isArray(val) ? val : null;
34199
- };
 
34200
 
34201
- var selected = removedValue || option || asOption(value);
34202
 
34203
- var onChangeProps = index_4bd03571_esm_objectSpread2({
34204
- isDisabled: selected && isOptionDisabled(selected),
34205
- label: selected ? getOptionLabel(selected) : ''
34206
- }, ariaSelection);
34207
 
34208
- message = messages.onChange(onChangeProps);
34209
- }
 
 
 
 
34210
 
34211
- return message;
34212
- }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);
34213
- var ariaFocused = (0,react.useMemo)(function () {
34214
- var focusMsg = '';
34215
- var focused = focusedOption || focusedValue;
34216
- var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));
34217
 
34218
- if (focused && messages.onFocus) {
34219
- var onFocusProps = {
34220
- focused: focused,
34221
- label: getOptionLabel(focused),
34222
- isDisabled: isOptionDisabled(focused),
34223
- isSelected: isSelected,
34224
- options: options,
34225
- context: focused === focusedOption ? 'menu' : 'value',
34226
- selectValue: selectValue
34227
- };
34228
- focusMsg = messages.onFocus(onFocusProps);
34229
- }
34230
 
34231
- return focusMsg;
34232
- }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);
34233
- var ariaResults = (0,react.useMemo)(function () {
34234
- var resultsMsg = '';
34235
 
34236
- if (menuIsOpen && options.length && messages.onFilter) {
34237
- var resultsMessage = screenReaderStatus({
34238
- count: focusableOptions.length
34239
- });
34240
- resultsMsg = messages.onFilter({
34241
- inputValue: inputValue,
34242
- resultsMessage: resultsMessage
34243
- });
34244
- }
34245
 
34246
- return resultsMsg;
34247
- }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);
34248
- var ariaGuidance = (0,react.useMemo)(function () {
34249
- var guidanceMsg = '';
34250
 
34251
- if (messages.guidance) {
34252
- var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';
34253
- guidanceMsg = messages.guidance({
34254
- 'aria-label': ariaLabel,
34255
- context: context,
34256
- isDisabled: focusedOption && isOptionDisabled(focusedOption),
34257
- isMulti: isMulti,
34258
- isSearchable: isSearchable,
34259
- tabSelectsValue: tabSelectsValue
34260
- });
34261
- }
34262
 
34263
- return guidanceMsg;
34264
- }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);
34265
- var ariaContext = "".concat(ariaFocused, " ").concat(ariaResults, " ").concat(ariaGuidance);
34266
- return jsx(A11yText, {
34267
- "aria-live": ariaLive,
34268
- "aria-atomic": "false",
34269
- "aria-relevant": "additions text"
34270
- }, isFocused && jsx(react.Fragment, null, jsx("span", {
34271
- id: "aria-selection"
34272
- }, ariaSelected), jsx("span", {
34273
- id: "aria-context"
34274
- }, ariaContext)));
34275
- };
34276
 
34277
- var diacritics = [{
34278
- base: 'A',
34279
- letters: "A\u24B6\uFF21\xC0\xC1\xC2\u1EA6\u1EA4\u1EAA\u1EA8\xC3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\xC4\u01DE\u1EA2\xC5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F"
34280
- }, {
34281
- base: 'AA',
34282
- letters: "\uA732"
34283
- }, {
34284
- base: 'AE',
34285
- letters: "\xC6\u01FC\u01E2"
34286
- }, {
34287
- base: 'AO',
34288
- letters: "\uA734"
34289
- }, {
34290
- base: 'AU',
34291
- letters: "\uA736"
34292
- }, {
34293
- base: 'AV',
34294
- letters: "\uA738\uA73A"
34295
- }, {
34296
- base: 'AY',
34297
- letters: "\uA73C"
34298
- }, {
34299
- base: 'B',
34300
- letters: "B\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181"
34301
- }, {
34302
- base: 'C',
34303
- letters: "C\u24B8\uFF23\u0106\u0108\u010A\u010C\xC7\u1E08\u0187\u023B\uA73E"
34304
- }, {
34305
- base: 'D',
34306
- letters: "D\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779"
34307
- }, {
34308
- base: 'DZ',
34309
- letters: "\u01F1\u01C4"
34310
- }, {
34311
- base: 'Dz',
34312
- letters: "\u01F2\u01C5"
34313
- }, {
34314
- base: 'E',
34315
- letters: "E\u24BA\uFF25\xC8\xC9\xCA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\xCB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E"
34316
- }, {
34317
- base: 'F',
34318
- letters: "F\u24BB\uFF26\u1E1E\u0191\uA77B"
34319
- }, {
34320
- base: 'G',
34321
- letters: "G\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E"
34322
- }, {
34323
- base: 'H',
34324
- letters: "H\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D"
34325
- }, {
34326
- base: 'I',
34327
- letters: "I\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197"
34328
- }, {
34329
- base: 'J',
34330
- letters: "J\u24BF\uFF2A\u0134\u0248"
34331
- }, {
34332
- base: 'K',
34333
- letters: "K\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2"
34334
- }, {
34335
- base: 'L',
34336
- letters: "L\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780"
34337
- }, {
34338
- base: 'LJ',
34339
- letters: "\u01C7"
34340
- }, {
34341
- base: 'Lj',
34342
- letters: "\u01C8"
34343
- }, {
34344
- base: 'M',
34345
- letters: "M\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C"
34346
- }, {
34347
- base: 'N',
34348
- letters: "N\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4"
34349
- }, {
34350
- base: 'NJ',
34351
- letters: "\u01CA"
34352
- }, {
34353
- base: 'Nj',
34354
- letters: "\u01CB"
34355
- }, {
34356
- base: 'O',
34357
- letters: "O\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C"
34358
- }, {
34359
- base: 'OI',
34360
- letters: "\u01A2"
34361
- }, {
34362
- base: 'OO',
34363
- letters: "\uA74E"
34364
- }, {
34365
- base: 'OU',
34366
- letters: "\u0222"
34367
- }, {
34368
- base: 'P',
34369
- letters: "P\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754"
34370
- }, {
34371
- base: 'Q',
34372
- letters: "Q\u24C6\uFF31\uA756\uA758\u024A"
34373
- }, {
34374
- base: 'R',
34375
- letters: "R\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782"
34376
- }, {
34377
- base: 'S',
34378
- letters: "S\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784"
34379
- }, {
34380
- base: 'T',
34381
- letters: "T\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786"
34382
- }, {
34383
- base: 'TZ',
34384
- letters: "\uA728"
34385
- }, {
34386
- base: 'U',
34387
- letters: "U\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244"
34388
- }, {
34389
- base: 'V',
34390
- letters: "V\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245"
34391
- }, {
34392
- base: 'VY',
34393
- letters: "\uA760"
34394
- }, {
34395
- base: 'W',
34396
- letters: "W\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72"
34397
- }, {
34398
- base: 'X',
34399
- letters: "X\u24CD\uFF38\u1E8A\u1E8C"
34400
- }, {
34401
- base: 'Y',
34402
- letters: "Y\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE"
34403
- }, {
34404
- base: 'Z',
34405
- letters: "Z\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762"
34406
- }, {
34407
- base: 'a',
34408
- letters: "a\u24D0\uFF41\u1E9A\xE0\xE1\xE2\u1EA7\u1EA5\u1EAB\u1EA9\xE3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\xE4\u01DF\u1EA3\xE5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250"
34409
- }, {
34410
- base: 'aa',
34411
- letters: "\uA733"
34412
- }, {
34413
- base: 'ae',
34414
- letters: "\xE6\u01FD\u01E3"
34415
- }, {
34416
- base: 'ao',
34417
- letters: "\uA735"
34418
- }, {
34419
- base: 'au',
34420
- letters: "\uA737"
34421
- }, {
34422
- base: 'av',
34423
- letters: "\uA739\uA73B"
34424
- }, {
34425
- base: 'ay',
34426
- letters: "\uA73D"
34427
- }, {
34428
- base: 'b',
34429
- letters: "b\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253"
34430
- }, {
34431
- base: 'c',
34432
- letters: "c\u24D2\uFF43\u0107\u0109\u010B\u010D\xE7\u1E09\u0188\u023C\uA73F\u2184"
34433
- }, {
34434
- base: 'd',
34435
- letters: "d\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A"
34436
- }, {
34437
- base: 'dz',
34438
- letters: "\u01F3\u01C6"
34439
- }, {
34440
- base: 'e',
34441
- letters: "e\u24D4\uFF45\xE8\xE9\xEA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\xEB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD"
34442
- }, {
34443
- base: 'f',
34444
- letters: "f\u24D5\uFF46\u1E1F\u0192\uA77C"
34445
- }, {
34446
- base: 'g',
34447
- letters: "g\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F"
34448
- }, {
34449
- base: 'h',
34450
- letters: "h\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265"
34451
- }, {
34452
- base: 'hv',
34453
- letters: "\u0195"
34454
- }, {
34455
- base: 'i',
34456
- letters: "i\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131"
34457
- }, {
34458
- base: 'j',
34459
- letters: "j\u24D9\uFF4A\u0135\u01F0\u0249"
34460
- }, {
34461
- base: 'k',
34462
- letters: "k\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3"
34463
- }, {
34464
- base: 'l',
34465
- letters: "l\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747"
34466
- }, {
34467
- base: 'lj',
34468
- letters: "\u01C9"
34469
- }, {
34470
- base: 'm',
34471
- letters: "m\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F"
34472
- }, {
34473
- base: 'n',
34474
- letters: "n\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5"
34475
- }, {
34476
- base: 'nj',
34477
- letters: "\u01CC"
34478
- }, {
34479
- base: 'o',
34480
- letters: "o\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\u0254\uA74B\uA74D\u0275"
34481
- }, {
34482
- base: 'oi',
34483
- letters: "\u01A3"
34484
- }, {
34485
- base: 'ou',
34486
- letters: "\u0223"
34487
- }, {
34488
- base: 'oo',
34489
- letters: "\uA74F"
34490
- }, {
34491
- base: 'p',
34492
- letters: "p\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755"
34493
- }, {
34494
- base: 'q',
34495
- letters: "q\u24E0\uFF51\u024B\uA757\uA759"
34496
- }, {
34497
- base: 'r',
34498
- letters: "r\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783"
34499
- }, {
34500
- base: 's',
34501
- letters: "s\u24E2\uFF53\xDF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B"
34502
- }, {
34503
- base: 't',
34504
- letters: "t\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787"
34505
- }, {
34506
- base: 'tz',
34507
- letters: "\uA729"
34508
- }, {
34509
- base: 'u',
34510
- letters: "u\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289"
34511
- }, {
34512
- base: 'v',
34513
- letters: "v\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C"
34514
- }, {
34515
- base: 'vy',
34516
- letters: "\uA761"
34517
- }, {
34518
- base: 'w',
34519
- letters: "w\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73"
34520
- }, {
34521
- base: 'x',
34522
- letters: "x\u24E7\uFF58\u1E8B\u1E8D"
34523
- }, {
34524
- base: 'y',
34525
- letters: "y\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF"
34526
- }, {
34527
- base: 'z',
34528
- letters: "z\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763"
34529
- }];
34530
- var anyDiacritic = new RegExp('[' + diacritics.map(function (d) {
34531
- return d.letters;
34532
- }).join('') + ']', 'g');
34533
- var diacriticToBase = {};
34534
 
34535
- for (var Select_dbb12e54_esm_i = 0; Select_dbb12e54_esm_i < diacritics.length; Select_dbb12e54_esm_i++) {
34536
- var diacritic = diacritics[Select_dbb12e54_esm_i];
34537
 
34538
- for (var Select_dbb12e54_esm_j = 0; Select_dbb12e54_esm_j < diacritic.letters.length; Select_dbb12e54_esm_j++) {
34539
- diacriticToBase[diacritic.letters[Select_dbb12e54_esm_j]] = diacritic.base;
34540
- }
34541
- }
34542
 
34543
- var stripDiacritics = function stripDiacritics(str) {
34544
- return str.replace(anyDiacritic, function (match) {
34545
- return diacriticToBase[match];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34546
  });
34547
  };
34548
 
34549
- var memoizedStripDiacriticsForInput = memoize_one_esm(stripDiacritics);
34550
 
34551
- var trimString = function trimString(str) {
34552
- return str.replace(/^\s+|\s+$/g, '');
34553
- };
34554
 
34555
- var defaultStringify = function defaultStringify(option) {
34556
- return "".concat(option.label, " ").concat(option.value);
34557
  };
34558
 
34559
- var createFilter = function createFilter(config) {
34560
- return function (option, rawInput) {
34561
- var _ignoreCase$ignoreAcc = index_4bd03571_esm_objectSpread2({
34562
- ignoreCase: true,
34563
- ignoreAccents: true,
34564
- stringify: defaultStringify,
34565
- trim: true,
34566
- matchFrom: 'any'
34567
- }, config),
34568
- ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,
34569
- ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,
34570
- stringify = _ignoreCase$ignoreAcc.stringify,
34571
- trim = _ignoreCase$ignoreAcc.trim,
34572
- matchFrom = _ignoreCase$ignoreAcc.matchFrom;
34573
 
34574
- var input = trim ? trimString(rawInput) : rawInput;
34575
- var candidate = trim ? trimString(stringify(option)) : stringify(option);
34576
 
34577
- if (ignoreCase) {
34578
- input = input.toLowerCase();
34579
- candidate = candidate.toLowerCase();
34580
- }
34581
 
34582
- if (ignoreAccents) {
34583
- input = memoizedStripDiacriticsForInput(input);
34584
- candidate = stripDiacritics(candidate);
34585
- }
34586
 
34587
- return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;
34588
- };
34589
  };
34590
 
34591
- function DummyInput(_ref) {
34592
- _ref.in;
34593
- _ref.out;
34594
- _ref.onExited;
34595
- _ref.appear;
34596
- _ref.enter;
34597
- _ref.exit;
34598
- var innerRef = _ref.innerRef;
34599
- _ref.emotion;
34600
- var props = objectWithoutProperties_objectWithoutProperties(_ref, ["in", "out", "onExited", "appear", "enter", "exit", "innerRef", "emotion"]);
34601
 
34602
- return jsx("input", extends_extends({
34603
- ref: innerRef
34604
- }, props, {
34605
- css: /*#__PURE__*/css({
34606
- label: 'dummyInput',
34607
- // get rid of any default styles
34608
- background: 0,
34609
- border: 0,
34610
- fontSize: 'inherit',
34611
- outline: 0,
34612
- padding: 0,
34613
- // important! without `width` browsers won't allow focus
34614
- width: 1,
34615
- // remove cursor on desktop
34616
- color: 'transparent',
34617
- // remove cursor on mobile whilst maintaining "scroll into view" behaviour
34618
- left: -100,
34619
- opacity: 0,
34620
- position: 'relative',
34621
- transform: 'scale(0)'
34622
- }, true ? "" : 0, true ? "" : 0)
34623
- }));
 
34624
  }
34625
 
34626
- var cancelScroll = function cancelScroll(event) {
34627
- event.preventDefault();
34628
- event.stopPropagation();
 
34629
  };
34630
 
34631
- function useScrollCapture(_ref) {
34632
- var isEnabled = _ref.isEnabled,
34633
- onBottomArrive = _ref.onBottomArrive,
34634
- onBottomLeave = _ref.onBottomLeave,
34635
- onTopArrive = _ref.onTopArrive,
34636
- onTopLeave = _ref.onTopLeave;
34637
- var isBottom = (0,react.useRef)(false);
34638
- var isTop = (0,react.useRef)(false);
34639
- var touchStart = (0,react.useRef)(0);
34640
- var scrollTarget = (0,react.useRef)(null);
34641
- var handleEventDelta = (0,react.useCallback)(function (event, delta) {
34642
- // Reference should never be `null` at this point, but flow complains otherwise
34643
- if (scrollTarget.current === null) return;
34644
- var _scrollTarget$current = scrollTarget.current,
34645
- scrollTop = _scrollTarget$current.scrollTop,
34646
- scrollHeight = _scrollTarget$current.scrollHeight,
34647
- clientHeight = _scrollTarget$current.clientHeight;
34648
- var target = scrollTarget.current;
34649
- var isDeltaPositive = delta > 0;
34650
- var availableScroll = scrollHeight - clientHeight - scrollTop;
34651
- var shouldCancelScroll = false; // reset bottom/top flags
34652
 
34653
- if (availableScroll > delta && isBottom.current) {
34654
- if (onBottomLeave) onBottomLeave(event);
34655
- isBottom.current = false;
 
 
34656
  }
 
34657
 
34658
- if (isDeltaPositive && isTop.current) {
34659
- if (onTopLeave) onTopLeave(event);
34660
- isTop.current = false;
34661
- } // bottom limit
34662
 
 
34663
 
34664
- if (isDeltaPositive && delta > availableScroll) {
34665
- if (onBottomArrive && !isBottom.current) {
34666
- onBottomArrive(event);
34667
- }
 
 
34668
 
34669
- target.scrollTop = scrollHeight;
34670
- shouldCancelScroll = true;
34671
- isBottom.current = true; // top limit
34672
- } else if (!isDeltaPositive && -delta > scrollTop) {
34673
- if (onTopArrive && !isTop.current) {
34674
- onTopArrive(event);
34675
- }
34676
 
34677
- target.scrollTop = 0;
34678
- shouldCancelScroll = true;
34679
- isTop.current = true;
34680
- } // cancel scroll
34681
 
 
 
 
 
 
34682
 
34683
- if (shouldCancelScroll) {
34684
- cancelScroll(event);
34685
- }
34686
- }, []);
34687
- var onWheel = (0,react.useCallback)(function (event) {
34688
- handleEventDelta(event, event.deltaY);
34689
- }, [handleEventDelta]);
34690
- var onTouchStart = (0,react.useCallback)(function (event) {
34691
- // set touch start so we can calculate touchmove delta
34692
- touchStart.current = event.changedTouches[0].clientY;
34693
- }, []);
34694
- var onTouchMove = (0,react.useCallback)(function (event) {
34695
- var deltaY = touchStart.current - event.changedTouches[0].clientY;
34696
- handleEventDelta(event, deltaY);
34697
- }, [handleEventDelta]);
34698
- var startListening = (0,react.useCallback)(function (el) {
34699
- // bail early if no element is available to attach to
34700
- if (!el) return;
34701
- var notPassive = supportsPassiveEvents ? {
34702
- passive: false
34703
- } : false; // all the if statements are to appease Flow 😢
34704
 
34705
- if (typeof el.addEventListener === 'function') {
34706
- el.addEventListener('wheel', onWheel, notPassive);
34707
- }
34708
 
34709
- if (typeof el.addEventListener === 'function') {
34710
- el.addEventListener('touchstart', onTouchStart, notPassive);
34711
- }
34712
 
34713
- if (typeof el.addEventListener === 'function') {
34714
- el.addEventListener('touchmove', onTouchMove, notPassive);
 
34715
  }
34716
- }, [onTouchMove, onTouchStart, onWheel]);
34717
- var stopListening = (0,react.useCallback)(function (el) {
34718
- // bail early if no element is available to detach from
34719
- if (!el) return; // all the if statements are to appease Flow 😢
34720
 
34721
- if (typeof el.removeEventListener === 'function') {
34722
- el.removeEventListener('wheel', onWheel, false);
34723
- }
34724
 
34725
- if (typeof el.removeEventListener === 'function') {
34726
- el.removeEventListener('touchstart', onTouchStart, false);
34727
- }
34728
 
34729
- if (typeof el.removeEventListener === 'function') {
34730
- el.removeEventListener('touchmove', onTouchMove, false);
34731
- }
34732
- }, [onTouchMove, onTouchStart, onWheel]);
34733
- (0,react.useEffect)(function () {
34734
- if (!isEnabled) return;
34735
- var element = scrollTarget.current;
34736
- startListening(element);
34737
- return function () {
34738
- stopListening(element);
34739
- };
34740
- }, [isEnabled, startListening, stopListening]);
34741
- return function (element) {
34742
- scrollTarget.current = element;
34743
- };
34744
- }
34745
 
34746
- var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];
34747
- var LOCK_STYLES = {
34748
- boxSizing: 'border-box',
34749
- // account for possible declaration `width: 100%;` on body
34750
- overflow: 'hidden',
34751
- position: 'relative',
34752
- height: '100%'
34753
- };
34754
 
34755
- function preventTouchMove(e) {
34756
- e.preventDefault();
34757
- }
34758
 
34759
- function allowTouchMove(e) {
34760
- e.stopPropagation();
34761
- }
34762
 
34763
- function preventInertiaScroll() {
34764
- var top = this.scrollTop;
34765
- var totalScroll = this.scrollHeight;
34766
- var currentScroll = top + this.offsetHeight;
34767
 
34768
- if (top === 0) {
34769
- this.scrollTop = 1;
34770
- } else if (currentScroll === totalScroll) {
34771
- this.scrollTop = top - 1;
34772
- }
34773
- } // `ontouchstart` check works on most browsers
34774
- // `maxTouchPoints` works on IE10/11 and Surface
34775
 
34776
 
34777
- function isTouchDevice() {
34778
- return 'ontouchstart' in window || navigator.maxTouchPoints;
34779
- }
34780
 
34781
- var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
34782
- var activeScrollLocks = 0;
34783
- var listenerOptions = {
34784
- capture: false,
34785
- passive: false
34786
- };
34787
- function useScrollLock(_ref) {
34788
- var isEnabled = _ref.isEnabled,
34789
- _ref$accountForScroll = _ref.accountForScrollbars,
34790
- accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
34791
- var originalStyles = (0,react.useRef)({});
34792
- var scrollTarget = (0,react.useRef)(null);
34793
- var addScrollLock = (0,react.useCallback)(function (touchScrollTarget) {
34794
- if (!canUseDOM) return;
34795
- var target = document.body;
34796
- var targetStyle = target && target.style;
34797
 
34798
- if (accountForScrollbars) {
34799
- // store any styles already applied to the body
34800
- STYLE_KEYS.forEach(function (key) {
34801
- var val = targetStyle && targetStyle[key];
34802
- originalStyles.current[key] = val;
34803
- });
34804
- } // apply the lock styles and padding if this is the first scroll lock
34805
 
34806
 
34807
- if (accountForScrollbars && activeScrollLocks < 1) {
34808
- var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;
34809
- var clientWidth = document.body ? document.body.clientWidth : 0;
34810
- var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;
34811
- Object.keys(LOCK_STYLES).forEach(function (key) {
34812
- var val = LOCK_STYLES[key];
34813
 
34814
- if (targetStyle) {
34815
- targetStyle[key] = val;
34816
- }
34817
- });
34818
 
34819
- if (targetStyle) {
34820
- targetStyle.paddingRight = "".concat(adjustedPadding, "px");
34821
- }
34822
- } // account for touch devices
34823
 
34824
 
34825
- if (target && isTouchDevice()) {
34826
- // Mobile Safari ignores { overflow: hidden } declaration on the body.
34827
- target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34828
 
34829
- if (touchScrollTarget) {
34830
- touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);
34831
- touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);
34832
- }
34833
- } // increment active scroll locks
34834
 
 
 
 
 
34835
 
34836
- activeScrollLocks += 1;
34837
- }, []);
34838
- var removeScrollLock = (0,react.useCallback)(function (touchScrollTarget) {
34839
- if (!canUseDOM) return;
34840
- var target = document.body;
34841
- var targetStyle = target && target.style; // safely decrement active scroll locks
34842
 
34843
- activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any
 
 
34844
 
34845
- if (accountForScrollbars && activeScrollLocks < 1) {
34846
- STYLE_KEYS.forEach(function (key) {
34847
- var val = originalStyles.current[key];
34848
 
34849
- if (targetStyle) {
34850
- targetStyle[key] = val;
34851
- }
34852
- });
34853
- } // remove touch listeners
34854
 
 
 
 
34855
 
34856
- if (target && isTouchDevice()) {
34857
- target.removeEventListener('touchmove', preventTouchMove, listenerOptions);
34858
 
34859
- if (touchScrollTarget) {
34860
- touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);
34861
- touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);
34862
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34863
  }
34864
- }, []);
34865
- (0,react.useEffect)(function () {
34866
- if (!isEnabled) return;
34867
- var element = scrollTarget.current;
34868
- addScrollLock(element);
 
 
 
 
34869
  return function () {
34870
- removeScrollLock(element);
34871
  };
34872
- }, [isEnabled, addScrollLock, removeScrollLock]);
34873
- return function (element) {
34874
- scrollTarget.current = element;
34875
- };
34876
- }
34877
 
34878
- function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
 
 
 
34879
 
34880
- var blurSelectInput = function blurSelectInput() {
34881
- return document.activeElement && document.activeElement.blur();
34882
- };
 
34883
 
34884
- var Select_dbb12e54_esm_ref2 = true ? {
34885
- name: "1kfdb0e",
34886
- styles: "position:fixed;left:0;bottom:0;right:0;top:0"
34887
- } : 0;
 
 
34888
 
34889
- function ScrollManager(_ref) {
34890
- var children = _ref.children,
34891
- lockEnabled = _ref.lockEnabled,
34892
- _ref$captureEnabled = _ref.captureEnabled,
34893
- captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,
34894
- onBottomArrive = _ref.onBottomArrive,
34895
- onBottomLeave = _ref.onBottomLeave,
34896
- onTopArrive = _ref.onTopArrive,
34897
- onTopLeave = _ref.onTopLeave;
34898
- var setScrollCaptureTarget = useScrollCapture({
34899
- isEnabled: captureEnabled,
34900
- onBottomArrive: onBottomArrive,
34901
- onBottomLeave: onBottomLeave,
34902
- onTopArrive: onTopArrive,
34903
- onTopLeave: onTopLeave
34904
- });
34905
- var setScrollLockTarget = useScrollLock({
34906
- isEnabled: lockEnabled
34907
- });
34908
 
34909
- var targetRef = function targetRef(element) {
34910
- setScrollCaptureTarget(element);
34911
- setScrollLockTarget(element);
34912
- };
34913
 
34914
- return jsx(react.Fragment, null, lockEnabled && jsx("div", {
34915
- onClick: blurSelectInput,
34916
- css: Select_dbb12e54_esm_ref2
34917
- }), children(targetRef));
 
 
34918
  }
34919
 
34920
- var formatGroupLabel = function formatGroupLabel(group) {
34921
- return group.label;
34922
- };
34923
- var getOptionLabel = function getOptionLabel(option) {
34924
- return option.label;
34925
- };
34926
- var getOptionValue = function getOptionValue(option) {
34927
- return option.value;
34928
- };
34929
- var isOptionDisabled = function isOptionDisabled(option) {
34930
- return !!option.isDisabled;
 
34931
  };
34932
 
34933
- var defaultStyles = {
34934
- clearIndicator: clearIndicatorCSS,
34935
- container: containerCSS,
34936
- control: index_4bd03571_esm_css,
34937
- dropdownIndicator: dropdownIndicatorCSS,
34938
- group: groupCSS,
34939
- groupHeading: groupHeadingCSS,
34940
- indicatorsContainer: indicatorsContainerCSS,
34941
- indicatorSeparator: indicatorSeparatorCSS,
34942
- input: inputCSS,
34943
- loadingIndicator: loadingIndicatorCSS,
34944
- loadingMessage: loadingMessageCSS,
34945
- menu: menuCSS,
34946
- menuList: menuListCSS,
34947
- menuPortal: menuPortalCSS,
34948
- multiValue: multiValueCSS,
34949
- multiValueLabel: multiValueLabelCSS,
34950
- multiValueRemove: multiValueRemoveCSS,
34951
- noOptionsMessage: noOptionsMessageCSS,
34952
- option: optionCSS,
34953
- placeholder: placeholderCSS,
34954
- singleValue: css$1,
34955
- valueContainer: valueContainerCSS
34956
- }; // Merge Utility
34957
- // Allows consumers to extend a base Select with additional styles
34958
 
34959
- function mergeStyles(source) {
34960
- var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 
 
34961
 
34962
- // initialize with source styles
34963
- var styles = _objectSpread2({}, source); // massage in target styles
 
34964
 
 
 
 
 
 
 
34965
 
34966
- Object.keys(target).forEach(function (key) {
34967
- if (source[key]) {
34968
- styles[key] = function (rsCss, props) {
34969
- return target[key](source[key](rsCss, props), props);
34970
- };
34971
- } else {
34972
- styles[key] = target[key];
34973
- }
34974
- });
34975
- return styles;
34976
- }
34977
 
34978
- var colors = {
34979
- primary: '#2684FF',
34980
- primary75: '#4C9AFF',
34981
- primary50: '#B2D4FF',
34982
- primary25: '#DEEBFF',
34983
- danger: '#DE350B',
34984
- dangerLight: '#FFBDAD',
34985
- neutral0: 'hsl(0, 0%, 100%)',
34986
- neutral5: 'hsl(0, 0%, 95%)',
34987
- neutral10: 'hsl(0, 0%, 90%)',
34988
- neutral20: 'hsl(0, 0%, 80%)',
34989
- neutral30: 'hsl(0, 0%, 70%)',
34990
- neutral40: 'hsl(0, 0%, 60%)',
34991
- neutral50: 'hsl(0, 0%, 50%)',
34992
- neutral60: 'hsl(0, 0%, 40%)',
34993
- neutral70: 'hsl(0, 0%, 30%)',
34994
- neutral80: 'hsl(0, 0%, 20%)',
34995
- neutral90: 'hsl(0, 0%, 10%)'
34996
- };
34997
- var borderRadius = 4; // Used to calculate consistent margin/padding on elements
34998
 
34999
- var baseUnit = 4; // The minimum height of the control
 
35000
 
35001
- var controlHeight = 38; // The amount of space between the control and menu */
 
 
 
 
35002
 
35003
- var menuGutter = baseUnit * 2;
35004
- var spacing = {
35005
- baseUnit: baseUnit,
35006
- controlHeight: controlHeight,
35007
- menuGutter: menuGutter
35008
- };
35009
- var defaultTheme = {
35010
- borderRadius: borderRadius,
35011
- colors: colors,
35012
- spacing: spacing
35013
- };
35014
 
35015
- var defaultProps = {
35016
- 'aria-live': 'polite',
35017
- backspaceRemovesValue: true,
35018
- blurInputOnSelect: isTouchCapable(),
35019
- captureMenuScroll: !isTouchCapable(),
35020
- closeMenuOnSelect: true,
35021
- closeMenuOnScroll: false,
35022
- components: {},
35023
- controlShouldRenderValue: true,
35024
- escapeClearsValue: false,
35025
- filterOption: createFilter(),
35026
- formatGroupLabel: formatGroupLabel,
35027
- getOptionLabel: getOptionLabel,
35028
- getOptionValue: getOptionValue,
35029
- isDisabled: false,
35030
- isLoading: false,
35031
- isMulti: false,
35032
- isRtl: false,
35033
- isSearchable: true,
35034
- isOptionDisabled: isOptionDisabled,
35035
- loadingMessage: function loadingMessage() {
35036
- return 'Loading...';
35037
- },
35038
- maxMenuHeight: 300,
35039
- minMenuHeight: 140,
35040
- menuIsOpen: false,
35041
- menuPlacement: 'bottom',
35042
- menuPosition: 'absolute',
35043
- menuShouldBlockScroll: false,
35044
- menuShouldScrollIntoView: !isMobileDevice(),
35045
- noOptionsMessage: function noOptionsMessage() {
35046
- return 'No options';
35047
- },
35048
- openMenuOnFocus: false,
35049
- openMenuOnClick: true,
35050
- options: [],
35051
- pageSize: 5,
35052
- placeholder: 'Select...',
35053
- screenReaderStatus: function screenReaderStatus(_ref) {
35054
- var count = _ref.count;
35055
- return "".concat(count, " result").concat(count !== 1 ? 's' : '', " available");
35056
- },
35057
- styles: {},
35058
- tabIndex: '0',
35059
- tabSelectsValue: true
35060
  };
35061
 
35062
- function toCategorizedOption(props, option, selectValue, index) {
35063
- var isDisabled = _isOptionDisabled(props, option, selectValue);
 
35064
 
35065
- var isSelected = _isOptionSelected(props, option, selectValue);
 
 
35066
 
35067
- var label = getOptionLabel$1(props, option);
35068
- var value = getOptionValue$1(props, option);
35069
- return {
35070
- type: 'option',
35071
- data: option,
35072
- isDisabled: isDisabled,
35073
- isSelected: isSelected,
35074
- label: label,
35075
- value: value,
35076
- index: index
35077
- };
35078
  }
35079
 
35080
- function buildCategorizedOptions(props, selectValue) {
35081
- return props.options.map(function (groupOrOption, groupOrOptionIndex) {
35082
- if (groupOrOption.options) {
35083
- var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {
35084
- return toCategorizedOption(props, option, selectValue, optionIndex);
35085
- }).filter(function (categorizedOption) {
35086
- return isFocusable(props, categorizedOption);
35087
- });
35088
- return categorizedOptions.length > 0 ? {
35089
- type: 'group',
35090
- data: groupOrOption,
35091
- options: categorizedOptions,
35092
- index: groupOrOptionIndex
35093
- } : undefined;
35094
- }
35095
 
35096
- var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);
35097
- return isFocusable(props, categorizedOption) ? categorizedOption : undefined;
35098
- }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)
35099
- .filter(function (categorizedOption) {
35100
- return !!categorizedOption;
35101
- });
35102
- }
35103
 
35104
- function buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {
35105
- return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {
35106
- if (categorizedOption.type === 'group') {
35107
- optionsAccumulator.push.apply(optionsAccumulator, _toConsumableArray(categorizedOption.options.map(function (option) {
35108
- return option.data;
35109
- })));
35110
- } else {
35111
- optionsAccumulator.push(categorizedOption.data);
35112
  }
35113
 
35114
- return optionsAccumulator;
35115
- }, []);
35116
- }
35117
-
35118
- function buildFocusableOptions(props, selectValue) {
35119
- return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));
35120
- }
35121
 
35122
- function isFocusable(props, categorizedOption) {
35123
- var _props$inputValue = props.inputValue,
35124
- inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;
35125
- var data = categorizedOption.data,
35126
- isSelected = categorizedOption.isSelected,
35127
- label = categorizedOption.label,
35128
- value = categorizedOption.value;
35129
- return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {
35130
- label: label,
35131
- value: value,
35132
- data: data
35133
- }, inputValue);
35134
- }
35135
 
35136
- function getNextFocusedValue(state, nextSelectValue) {
35137
- var focusedValue = state.focusedValue,
35138
- lastSelectValue = state.selectValue;
35139
- var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);
35140
 
35141
- if (lastFocusedIndex > -1) {
35142
- var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);
35143
 
35144
- if (nextFocusedIndex > -1) {
35145
- // the focused value is still in the selectValue, return it
35146
- return focusedValue;
35147
- } else if (lastFocusedIndex < nextSelectValue.length) {
35148
- // the focusedValue is not present in the next selectValue array by
35149
- // reference, so return the new value at the same index
35150
- return nextSelectValue[lastFocusedIndex];
35151
  }
35152
- }
35153
 
35154
- return null;
35155
- }
35156
 
35157
- function getNextFocusedOption(state, options) {
35158
- var lastFocusedOption = state.focusedOption;
35159
- return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];
35160
- }
 
 
 
35161
 
35162
- var getOptionLabel$1 = function getOptionLabel(props, data) {
35163
- return props.getOptionLabel(data);
35164
- };
35165
 
35166
- var getOptionValue$1 = function getOptionValue(props, data) {
35167
- return props.getOptionValue(data);
35168
- };
35169
 
35170
- function _isOptionDisabled(props, option, selectValue) {
35171
- return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;
35172
- }
35173
 
35174
- function _isOptionSelected(props, option, selectValue) {
35175
- if (selectValue.indexOf(option) > -1) return true;
35176
 
35177
- if (typeof props.isOptionSelected === 'function') {
35178
- return props.isOptionSelected(option, selectValue);
35179
- }
35180
 
35181
- var candidate = getOptionValue$1(props, option);
35182
- return selectValue.some(function (i) {
35183
- return getOptionValue$1(props, i) === candidate;
35184
- });
35185
- }
35186
 
35187
- function _filterOption(props, option, inputValue) {
35188
- return props.filterOption ? props.filterOption(option, inputValue) : true;
 
 
 
35189
  }
 
 
 
 
 
 
35190
 
35191
- var shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {
35192
- var hideSelectedOptions = props.hideSelectedOptions,
35193
- isMulti = props.isMulti;
35194
- if (hideSelectedOptions === undefined) return isMulti;
35195
- return hideSelectedOptions;
35196
- };
35197
 
35198
- var instanceId = 1;
 
 
35199
 
35200
- var Select_dbb12e54_esm_Select = /*#__PURE__*/function (_Component) {
35201
- _inherits(Select, _Component);
 
 
35202
 
35203
- var _super = _createSuper(Select);
 
35204
 
35205
- // Misc. Instance Properties
35206
- // ------------------------------
35207
- // TODO
35208
- // Refs
35209
- // ------------------------------
35210
- // Lifecycle
35211
- // ------------------------------
35212
- function Select(_props) {
35213
- var _this;
35214
 
35215
- _classCallCheck(this, Select);
 
 
 
 
35216
 
35217
- _this = _super.call(this, _props);
35218
- _this.state = {
35219
- ariaSelection: null,
35220
- focusedOption: null,
35221
- focusedValue: null,
35222
- inputIsHidden: false,
35223
- isFocused: false,
35224
- selectValue: [],
35225
- clearFocusValueOnUpdate: false,
35226
- inputIsHiddenAfterUpdate: undefined,
35227
- prevProps: undefined
35228
  };
35229
- _this.blockOptionHover = false;
35230
- _this.isComposing = false;
35231
- _this.commonProps = void 0;
35232
- _this.initialTouchX = 0;
35233
- _this.initialTouchY = 0;
35234
- _this.instancePrefix = '';
35235
- _this.openAfterFocus = false;
35236
- _this.scrollToFocusedOptionOnUpdate = false;
35237
- _this.userIsDragging = void 0;
35238
- _this.controlRef = null;
35239
-
35240
- _this.getControlRef = function (ref) {
35241
- _this.controlRef = ref;
35242
  };
 
35243
 
35244
- _this.focusedOptionRef = null;
35245
-
35246
- _this.getFocusedOptionRef = function (ref) {
35247
- _this.focusedOptionRef = ref;
35248
- };
 
 
 
 
 
 
 
 
 
 
 
35249
 
35250
- _this.menuListRef = null;
 
 
35251
 
35252
- _this.getMenuListRef = function (ref) {
35253
- _this.menuListRef = ref;
35254
- };
35255
 
35256
- _this.inputRef = null;
35257
 
35258
- _this.getInputRef = function (ref) {
35259
- _this.inputRef = ref;
35260
- };
35261
 
35262
- _this.focus = _this.focusInput;
35263
- _this.blur = _this.blurInput;
35264
 
35265
- _this.onChange = function (newValue, actionMeta) {
35266
- var _this$props = _this.props,
35267
- onChange = _this$props.onChange,
35268
- name = _this$props.name;
35269
- actionMeta.name = name;
35270
 
35271
- _this.ariaOnChange(newValue, actionMeta);
35272
 
35273
- onChange(newValue, actionMeta);
35274
- };
35275
 
35276
- _this.setValue = function (newValue) {
35277
- var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';
35278
- var option = arguments.length > 2 ? arguments[2] : undefined;
35279
- var _this$props2 = _this.props,
35280
- closeMenuOnSelect = _this$props2.closeMenuOnSelect,
35281
- isMulti = _this$props2.isMulti;
35282
 
35283
- _this.onInputChange('', {
35284
- action: 'set-value'
35285
- });
35286
 
35287
- if (closeMenuOnSelect) {
35288
- _this.setState({
35289
- inputIsHiddenAfterUpdate: !isMulti
35290
- });
35291
 
35292
- _this.onMenuClose();
35293
- } // when the select value should change, we should reset focusedValue
35294
 
35295
 
35296
- _this.setState({
35297
- clearFocusValueOnUpdate: true
35298
- });
 
 
 
 
 
 
 
 
35299
 
35300
- _this.onChange(newValue, {
35301
- action: action,
35302
- option: option
35303
- });
35304
- };
35305
 
35306
- _this.selectOption = function (newValue) {
35307
- var _this$props3 = _this.props,
35308
- blurInputOnSelect = _this$props3.blurInputOnSelect,
35309
- isMulti = _this$props3.isMulti,
35310
- name = _this$props3.name;
35311
- var selectValue = _this.state.selectValue;
35312
 
35313
- var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);
 
 
 
 
 
 
35314
 
35315
- var isDisabled = _this.isOptionDisabled(newValue, selectValue);
 
35316
 
35317
- if (deselected) {
35318
- var candidate = _this.getOptionValue(newValue);
 
35319
 
35320
- _this.setValue(selectValue.filter(function (i) {
35321
- return _this.getOptionValue(i) !== candidate;
35322
- }), 'deselect-option', newValue);
35323
- } else if (!isDisabled) {
35324
- // Select option if option is not disabled
35325
- if (isMulti) {
35326
- _this.setValue([].concat(_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);
35327
- } else {
35328
- _this.setValue(newValue, 'select-option');
35329
- }
35330
- } else {
35331
- _this.ariaOnChange(newValue, {
35332
- action: 'select-option',
35333
- name: name
35334
- });
35335
 
35336
- return;
35337
- }
35338
 
35339
- if (blurInputOnSelect) {
35340
- _this.blurInput();
35341
- }
35342
- };
 
 
35343
 
35344
- _this.removeValue = function (removedValue) {
35345
- var isMulti = _this.props.isMulti;
35346
- var selectValue = _this.state.selectValue;
 
35347
 
35348
- var candidate = _this.getOptionValue(removedValue);
 
 
 
 
 
 
35349
 
35350
- var newValueArray = selectValue.filter(function (i) {
35351
- return _this.getOptionValue(i) !== candidate;
35352
- });
35353
- var newValue = isMulti ? newValueArray : newValueArray[0] || null;
35354
 
35355
- _this.onChange(newValue, {
35356
- action: 'remove-value',
35357
- removedValue: removedValue
35358
- });
35359
 
35360
- _this.focusInput();
35361
- };
 
 
35362
 
35363
- _this.clearValue = function () {
35364
- var selectValue = _this.state.selectValue;
35365
 
35366
- _this.onChange(_this.props.isMulti ? [] : null, {
35367
- action: 'clear',
35368
- removedValues: selectValue
35369
- });
35370
- };
35371
 
35372
- _this.popValue = function () {
35373
- var isMulti = _this.props.isMulti;
35374
- var selectValue = _this.state.selectValue;
35375
- var lastSelectedValue = selectValue[selectValue.length - 1];
35376
- var newValueArray = selectValue.slice(0, selectValue.length - 1);
35377
- var newValue = isMulti ? newValueArray : newValueArray[0] || null;
35378
 
35379
- _this.onChange(newValue, {
35380
- action: 'pop-value',
35381
- removedValue: lastSelectedValue
35382
- });
35383
- };
35384
 
35385
- _this.getValue = function () {
35386
- return _this.state.selectValue;
35387
- };
 
 
 
35388
 
35389
- _this.cx = function () {
35390
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
35391
- args[_key] = arguments[_key];
35392
- }
35393
 
35394
- return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));
35395
- };
 
 
 
 
35396
 
35397
- _this.getOptionLabel = function (data) {
35398
- return getOptionLabel$1(_this.props, data);
35399
- };
 
 
 
 
 
 
35400
 
35401
- _this.getOptionValue = function (data) {
35402
- return getOptionValue$1(_this.props, data);
35403
- };
35404
 
35405
- _this.getStyles = function (key, props) {
35406
- var base = defaultStyles[key](props);
35407
- base.boxSizing = 'border-box';
35408
- var custom = _this.props.styles[key];
35409
- return custom ? custom(base, props) : base;
35410
- };
 
35411
 
35412
- _this.getElementId = function (element) {
35413
- return "".concat(_this.instancePrefix, "-").concat(element);
35414
- };
 
 
 
 
 
35415
 
35416
- _this.getComponents = function () {
35417
- return defaultComponents(_this.props);
35418
- };
 
 
 
 
35419
 
35420
- _this.buildCategorizedOptions = function () {
35421
- return buildCategorizedOptions(_this.props, _this.state.selectValue);
35422
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
35423
 
35424
- _this.getCategorizedOptions = function () {
35425
- return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];
35426
- };
 
35427
 
35428
- _this.buildFocusableOptions = function () {
35429
- return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());
35430
- };
 
 
35431
 
35432
- _this.getFocusableOptions = function () {
35433
- return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];
35434
- };
 
35435
 
35436
- _this.ariaOnChange = function (value, actionMeta) {
35437
- _this.setState({
35438
- ariaSelection: index_4bd03571_esm_objectSpread2({
35439
- value: value
35440
- }, actionMeta)
35441
- });
35442
- };
35443
 
35444
- _this.onMenuMouseDown = function (event) {
35445
- if (event.button !== 0) {
35446
- return;
35447
- }
35448
 
35449
- event.stopPropagation();
35450
- event.preventDefault();
 
 
 
 
 
 
35451
 
35452
- _this.focusInput();
35453
- };
 
35454
 
35455
- _this.onMenuMouseMove = function (event) {
35456
- _this.blockOptionHover = false;
35457
- };
 
 
35458
 
35459
- _this.onControlMouseDown = function (event) {
35460
- var openMenuOnClick = _this.props.openMenuOnClick;
35461
 
35462
- if (!_this.state.isFocused) {
35463
- if (openMenuOnClick) {
35464
- _this.openAfterFocus = true;
35465
- }
35466
 
35467
- _this.focusInput();
35468
- } else if (!_this.props.menuIsOpen) {
35469
- if (openMenuOnClick) {
35470
- _this.openMenu('first');
35471
- }
35472
- } else {
35473
- if ( // $FlowFixMe
35474
- event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {
35475
- _this.onMenuClose();
35476
- }
35477
- }
35478
 
35479
- if ( // $FlowFixMe
35480
- event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {
35481
- event.preventDefault();
35482
- }
35483
- };
35484
 
35485
- _this.onDropdownIndicatorMouseDown = function (event) {
35486
- // ignore mouse events that weren't triggered by the primary button
35487
- if (event && event.type === 'mousedown' && event.button !== 0) {
35488
- return;
35489
- }
35490
 
35491
- if (_this.props.isDisabled) return;
35492
- var _this$props4 = _this.props,
35493
- isMulti = _this$props4.isMulti,
35494
- menuIsOpen = _this$props4.menuIsOpen;
 
 
35495
 
35496
- _this.focusInput();
 
 
35497
 
35498
- if (menuIsOpen) {
35499
- _this.setState({
35500
- inputIsHiddenAfterUpdate: !isMulti
35501
- });
 
 
 
35502
 
35503
- _this.onMenuClose();
35504
- } else {
35505
- _this.openMenu('first');
35506
- }
35507
 
35508
- event.preventDefault();
35509
- event.stopPropagation();
35510
- };
 
 
 
35511
 
35512
- _this.onClearIndicatorMouseDown = function (event) {
35513
- // ignore mouse events that weren't triggered by the primary button
35514
- if (event && event.type === 'mousedown' && event.button !== 0) {
35515
- return;
35516
- }
35517
 
35518
- _this.clearValue();
 
 
 
35519
 
35520
- event.stopPropagation();
35521
- _this.openAfterFocus = false;
 
 
 
 
 
 
 
35522
 
35523
- if (event.type === 'touchend') {
35524
- _this.focusInput();
35525
- } else {
35526
- setTimeout(function () {
35527
- return _this.focusInput();
35528
- });
35529
- }
35530
- };
 
 
 
 
 
35531
 
35532
- _this.onScroll = function (event) {
35533
- if (typeof _this.props.closeMenuOnScroll === 'boolean') {
35534
- if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {
35535
- _this.props.onMenuClose();
35536
- }
35537
- } else if (typeof _this.props.closeMenuOnScroll === 'function') {
35538
- if (_this.props.closeMenuOnScroll(event)) {
35539
- _this.props.onMenuClose();
35540
- }
35541
- }
35542
- };
35543
 
35544
- _this.onCompositionStart = function () {
35545
- _this.isComposing = true;
35546
- };
 
 
 
 
 
 
 
35547
 
35548
- _this.onCompositionEnd = function () {
35549
- _this.isComposing = false;
35550
- };
 
 
35551
 
35552
- _this.onTouchStart = function (_ref2) {
35553
- var touches = _ref2.touches;
35554
- var touch = touches && touches.item(0);
35555
 
35556
- if (!touch) {
35557
- return;
35558
- }
35559
 
35560
- _this.initialTouchX = touch.clientX;
35561
- _this.initialTouchY = touch.clientY;
35562
- _this.userIsDragging = false;
35563
- };
35564
 
35565
- _this.onTouchMove = function (_ref3) {
35566
- var touches = _ref3.touches;
35567
- var touch = touches && touches.item(0);
35568
 
35569
- if (!touch) {
35570
- return;
35571
- }
 
 
 
 
 
 
 
 
 
 
 
35572
 
35573
- var deltaX = Math.abs(touch.clientX - _this.initialTouchX);
35574
- var deltaY = Math.abs(touch.clientY - _this.initialTouchY);
35575
- var moveThreshold = 5;
35576
- _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;
35577
- };
35578
 
35579
- _this.onTouchEnd = function (event) {
35580
- if (_this.userIsDragging) return; // close the menu if the user taps outside
35581
- // we're checking on event.target here instead of event.currentTarget, because we want to assert information
35582
- // on events on child elements, not the document (which we've attached this handler to).
35583
 
35584
- if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {
35585
- _this.blurInput();
35586
- } // reset move vars
 
35587
 
 
 
35588
 
35589
- _this.initialTouchX = 0;
35590
- _this.initialTouchY = 0;
35591
- };
 
 
 
 
 
 
 
 
35592
 
35593
- _this.onControlTouchEnd = function (event) {
35594
- if (_this.userIsDragging) return;
 
 
 
 
 
 
 
 
35595
 
35596
- _this.onControlMouseDown(event);
35597
- };
35598
 
35599
- _this.onClearIndicatorTouchEnd = function (event) {
35600
- if (_this.userIsDragging) return;
 
 
35601
 
35602
- _this.onClearIndicatorMouseDown(event);
35603
- };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35604
 
35605
- _this.onDropdownIndicatorTouchEnd = function (event) {
35606
- if (_this.userIsDragging) return;
 
35607
 
35608
- _this.onDropdownIndicatorMouseDown(event);
35609
- };
 
35610
 
35611
- _this.handleInputChange = function (event) {
35612
- var inputValue = event.currentTarget.value;
 
 
 
 
 
35613
 
35614
- _this.setState({
35615
- inputIsHiddenAfterUpdate: false
35616
- });
35617
 
35618
- _this.onInputChange(inputValue, {
35619
- action: 'input-change'
35620
- });
35621
 
35622
- if (!_this.props.menuIsOpen) {
35623
- _this.onMenuOpen();
35624
- }
 
 
 
 
 
 
 
35625
  };
 
 
 
 
 
35626
 
35627
- _this.onInputFocus = function (event) {
35628
- if (_this.props.onFocus) {
35629
- _this.props.onFocus(event);
35630
- }
35631
-
35632
- _this.setState({
35633
- inputIsHiddenAfterUpdate: false,
35634
- isFocused: true
35635
- });
35636
-
35637
- if (_this.openAfterFocus || _this.props.openMenuOnFocus) {
35638
- _this.openMenu('first');
35639
- }
35640
-
35641
- _this.openAfterFocus = false;
35642
- };
35643
 
35644
- _this.onInputBlur = function (event) {
35645
- if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {
35646
- _this.inputRef.focus();
35647
 
35648
- return;
35649
- }
 
35650
 
35651
- if (_this.props.onBlur) {
35652
- _this.props.onBlur(event);
35653
- }
 
35654
 
35655
- _this.onInputChange('', {
35656
- action: 'input-blur'
35657
- });
 
 
 
 
35658
 
35659
- _this.onMenuClose();
35660
 
35661
- _this.setState({
35662
- focusedValue: null,
35663
- isFocused: false
35664
- });
35665
- };
35666
 
35667
- _this.onOptionHover = function (focusedOption) {
35668
- if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {
35669
- return;
35670
- }
 
 
 
 
 
 
 
 
 
 
 
 
35671
 
35672
- _this.setState({
35673
- focusedOption: focusedOption
 
 
 
35674
  });
35675
- };
35676
-
35677
- _this.shouldHideSelectedOptions = function () {
35678
- return shouldHideSelectedOptions(_this.props);
35679
- };
35680
 
35681
- _this.onKeyDown = function (event) {
35682
- var _this$props5 = _this.props,
35683
- isMulti = _this$props5.isMulti,
35684
- backspaceRemovesValue = _this$props5.backspaceRemovesValue,
35685
- escapeClearsValue = _this$props5.escapeClearsValue,
35686
- inputValue = _this$props5.inputValue,
35687
- isClearable = _this$props5.isClearable,
35688
- isDisabled = _this$props5.isDisabled,
35689
- menuIsOpen = _this$props5.menuIsOpen,
35690
- onKeyDown = _this$props5.onKeyDown,
35691
- tabSelectsValue = _this$props5.tabSelectsValue,
35692
- openMenuOnFocus = _this$props5.openMenuOnFocus;
35693
- var _this$state = _this.state,
35694
- focusedOption = _this$state.focusedOption,
35695
- focusedValue = _this$state.focusedValue,
35696
- selectValue = _this$state.selectValue;
35697
- if (isDisabled) return;
35698
 
35699
- if (typeof onKeyDown === 'function') {
35700
- onKeyDown(event);
 
 
 
 
35701
 
35702
- if (event.defaultPrevented) {
35703
- return;
35704
  }
35705
- } // Block option hover events when the user has just pressed a key
35706
-
35707
-
35708
- _this.blockOptionHover = true;
35709
 
35710
- switch (event.key) {
35711
- case 'ArrowLeft':
35712
- if (!isMulti || inputValue) return;
 
35713
 
35714
- _this.focusValue('previous');
35715
 
35716
- break;
 
 
35717
 
35718
- case 'ArrowRight':
35719
- if (!isMulti || inputValue) return;
 
 
 
35720
 
35721
- _this.focusValue('next');
35722
 
35723
- break;
 
 
 
 
 
35724
 
35725
- case 'Delete':
35726
- case 'Backspace':
35727
- if (inputValue) return;
35728
 
35729
- if (focusedValue) {
35730
- _this.removeValue(focusedValue);
35731
- } else {
35732
- if (!backspaceRemovesValue) return;
35733
 
35734
- if (isMulti) {
35735
- _this.popValue();
35736
- } else if (isClearable) {
35737
- _this.clearValue();
35738
- }
35739
- }
35740
 
35741
- break;
35742
 
35743
- case 'Tab':
35744
- if (_this.isComposing) return;
35745
 
35746
- if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused
35747
- // option is already selected; it breaks the flow of navigation
35748
- openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {
35749
- return;
35750
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
35751
 
35752
- _this.selectOption(focusedOption);
35753
 
35754
- break;
 
 
35755
 
35756
- case 'Enter':
35757
- if (event.keyCode === 229) {
35758
- // ignore the keydown event from an Input Method Editor(IME)
35759
- // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
35760
- break;
35761
- }
35762
 
35763
- if (menuIsOpen) {
35764
- if (!focusedOption) return;
35765
- if (_this.isComposing) return;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35766
 
35767
- _this.selectOption(focusedOption);
 
 
 
35768
 
35769
- break;
35770
- }
 
 
 
35771
 
35772
- return;
 
 
 
 
 
 
 
 
 
 
 
35773
 
35774
- case 'Escape':
35775
- if (menuIsOpen) {
35776
- _this.setState({
35777
- inputIsHiddenAfterUpdate: false
35778
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35779
 
35780
- _this.onInputChange('', {
35781
- action: 'menu-close'
35782
- });
35783
 
35784
- _this.onMenuClose();
35785
- } else if (isClearable && escapeClearsValue) {
35786
- _this.clearValue();
35787
- }
35788
 
35789
- break;
35790
 
35791
- case ' ':
35792
- // space
35793
- if (inputValue) {
35794
- return;
35795
- }
 
 
 
 
 
 
35796
 
35797
- if (!menuIsOpen) {
35798
- _this.openMenu('first');
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35799
 
35800
- break;
35801
- }
35802
 
35803
- if (!focusedOption) return;
35804
 
35805
- _this.selectOption(focusedOption);
 
 
 
 
 
 
 
 
 
 
35806
 
35807
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35808
 
35809
- case 'ArrowUp':
35810
- if (menuIsOpen) {
35811
- _this.focusOption('up');
35812
- } else {
35813
- _this.openMenu('last');
35814
- }
35815
 
35816
- break;
35817
 
35818
- case 'ArrowDown':
35819
- if (menuIsOpen) {
35820
- _this.focusOption('down');
35821
- } else {
35822
- _this.openMenu('first');
35823
- }
 
 
 
 
 
 
35824
 
35825
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35826
 
35827
- case 'PageUp':
35828
- if (!menuIsOpen) return;
 
 
 
 
 
35829
 
35830
- _this.focusOption('pageup');
 
 
 
 
 
 
 
 
35831
 
35832
- break;
 
 
35833
 
35834
- case 'PageDown':
35835
- if (!menuIsOpen) return;
 
35836
 
35837
- _this.focusOption('pagedown');
 
 
 
 
 
 
 
 
 
 
 
 
35838
 
35839
- break;
 
 
 
35840
 
35841
- case 'Home':
35842
- if (!menuIsOpen) return;
35843
 
35844
- _this.focusOption('first');
 
 
 
 
 
 
 
 
35845
 
35846
- break;
 
35847
 
35848
- case 'End':
35849
- if (!menuIsOpen) return;
 
 
35850
 
35851
- _this.focusOption('last');
 
 
35852
 
35853
- break;
 
 
35854
 
35855
- default:
35856
- return;
35857
- }
35858
 
35859
- event.preventDefault();
35860
- };
35861
 
35862
- _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);
35863
- _this.state.selectValue = cleanValue(_props.value);
35864
- return _this;
35865
  }
35866
 
35867
- _createClass(Select, [{
35868
- key: "componentDidMount",
35869
- value: function componentDidMount() {
35870
- this.startListeningComposition();
35871
- this.startListeningToTouch();
35872
-
35873
- if (this.props.closeMenuOnScroll && document && document.addEventListener) {
35874
- // Listen to all scroll events, and filter them out inside of 'onScroll'
35875
- document.addEventListener('scroll', this.onScroll, true);
35876
- }
35877
 
35878
- if (this.props.autoFocus) {
35879
- this.focusInput();
35880
- }
35881
- }
35882
- }, {
35883
- key: "componentDidUpdate",
35884
- value: function componentDidUpdate(prevProps) {
35885
- var _this$props6 = this.props,
35886
- isDisabled = _this$props6.isDisabled,
35887
- menuIsOpen = _this$props6.menuIsOpen;
35888
- var isFocused = this.state.isFocused;
35889
 
35890
- if ( // ensure focus is restored correctly when the control becomes enabled
35891
- isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens
35892
- isFocused && menuIsOpen && !prevProps.menuIsOpen) {
35893
- this.focusInput();
35894
- }
 
35895
 
35896
- if (isFocused && isDisabled && !prevProps.isDisabled) {
35897
- // ensure select state gets blurred in case Select is programatically disabled while focused
35898
- this.setState({
35899
- isFocused: false
35900
- }, this.onMenuClose);
35901
- } // scroll the focused option into view if necessary
35902
 
 
 
35903
 
35904
- if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {
35905
- scrollIntoView(this.menuListRef, this.focusedOptionRef);
35906
- this.scrollToFocusedOptionOnUpdate = false;
35907
- }
35908
- }
35909
- }, {
35910
- key: "componentWillUnmount",
35911
- value: function componentWillUnmount() {
35912
- this.stopListeningComposition();
35913
- this.stopListeningToTouch();
35914
- document.removeEventListener('scroll', this.onScroll, true);
35915
- } // ==============================
35916
- // Consumer Handlers
35917
- // ==============================
35918
 
35919
- }, {
35920
- key: "onMenuOpen",
35921
- value: function onMenuOpen() {
35922
- this.props.onMenuOpen();
35923
- }
35924
- }, {
35925
- key: "onMenuClose",
35926
- value: function onMenuClose() {
35927
- this.onInputChange('', {
35928
- action: 'menu-close'
35929
- });
35930
- this.props.onMenuClose();
35931
- }
35932
- }, {
35933
- key: "onInputChange",
35934
- value: function onInputChange(newValue, actionMeta) {
35935
- this.props.onInputChange(newValue, actionMeta);
35936
- } // ==============================
35937
- // Methods
35938
- // ==============================
35939
 
35940
- }, {
35941
- key: "focusInput",
35942
- value: function focusInput() {
35943
- if (!this.inputRef) return;
35944
- this.inputRef.focus();
35945
- }
35946
- }, {
35947
- key: "blurInput",
35948
- value: function blurInput() {
35949
- if (!this.inputRef) return;
35950
- this.inputRef.blur();
35951
- } // aliased for consumers
35952
 
35953
- }, {
35954
- key: "openMenu",
35955
- value: function openMenu(focusOption) {
35956
- var _this2 = this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
35957
 
35958
- var _this$state2 = this.state,
35959
- selectValue = _this$state2.selectValue,
35960
- isFocused = _this$state2.isFocused;
35961
- var focusableOptions = this.buildFocusableOptions();
35962
- var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;
35963
 
35964
- if (!this.props.isMulti) {
35965
- var selectedIndex = focusableOptions.indexOf(selectValue[0]);
35966
 
35967
- if (selectedIndex > -1) {
35968
- openAtIndex = selectedIndex;
35969
- }
35970
- } // only scroll if the menu isn't already open
35971
 
 
35972
 
35973
- this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);
35974
- this.setState({
35975
- inputIsHiddenAfterUpdate: false,
35976
- focusedValue: null,
35977
- focusedOption: focusableOptions[openAtIndex]
35978
- }, function () {
35979
- return _this2.onMenuOpen();
35980
- });
35981
- }
35982
- }, {
35983
- key: "focusValue",
35984
- value: function focusValue(direction) {
35985
- var _this$state3 = this.state,
35986
- selectValue = _this$state3.selectValue,
35987
- focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing
35988
 
35989
- if (!this.props.isMulti) return;
35990
- this.setState({
35991
- focusedOption: null
35992
- });
35993
- var focusedIndex = selectValue.indexOf(focusedValue);
35994
 
35995
- if (!focusedValue) {
35996
- focusedIndex = -1;
35997
- }
35998
 
35999
- var lastIndex = selectValue.length - 1;
36000
- var nextFocus = -1;
36001
- if (!selectValue.length) return;
36002
 
36003
- switch (direction) {
36004
- case 'previous':
36005
- if (focusedIndex === 0) {
36006
- // don't cycle from the start to the end
36007
- nextFocus = 0;
36008
- } else if (focusedIndex === -1) {
36009
- // if nothing is focused, focus the last value first
36010
- nextFocus = lastIndex;
36011
- } else {
36012
- nextFocus = focusedIndex - 1;
36013
- }
36014
 
36015
- break;
36016
 
36017
- case 'next':
36018
- if (focusedIndex > -1 && focusedIndex < lastIndex) {
36019
- nextFocus = focusedIndex + 1;
36020
- }
36021
 
36022
- break;
36023
- }
 
 
 
 
36024
 
36025
- this.setState({
36026
- inputIsHidden: nextFocus !== -1,
36027
- focusedValue: selectValue[nextFocus]
36028
  });
36029
- }
36030
- }, {
36031
- key: "focusOption",
36032
- value: function focusOption() {
36033
- var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';
36034
- var pageSize = this.props.pageSize;
36035
- var focusedOption = this.state.focusedOption;
36036
- var options = this.getFocusableOptions();
36037
- if (!options.length) return;
36038
- var nextFocus = 0; // handles 'first'
36039
 
36040
- var focusedIndex = options.indexOf(focusedOption);
 
 
 
36041
 
36042
- if (!focusedOption) {
36043
- focusedIndex = -1;
36044
- }
36045
 
36046
- if (direction === 'up') {
36047
- nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;
36048
- } else if (direction === 'down') {
36049
- nextFocus = (focusedIndex + 1) % options.length;
36050
- } else if (direction === 'pageup') {
36051
- nextFocus = focusedIndex - pageSize;
36052
- if (nextFocus < 0) nextFocus = 0;
36053
- } else if (direction === 'pagedown') {
36054
- nextFocus = focusedIndex + pageSize;
36055
- if (nextFocus > options.length - 1) nextFocus = options.length - 1;
36056
- } else if (direction === 'last') {
36057
- nextFocus = options.length - 1;
36058
- }
36059
 
36060
- this.scrollToFocusedOptionOnUpdate = true;
36061
- this.setState({
36062
- focusedOption: options[nextFocus],
36063
- focusedValue: null
36064
  });
36065
- }
36066
- }, {
36067
- key: "getTheme",
36068
- value: // ==============================
36069
- // Getters
36070
- // ==============================
36071
- function getTheme() {
36072
- // Use the default theme if there are no customizations.
36073
- if (!this.props.theme) {
36074
- return defaultTheme;
36075
- } // If the theme prop is a function, assume the function
36076
- // knows how to merge the passed-in default theme with
36077
- // its own modifications.
36078
 
 
 
 
 
 
36079
 
36080
- if (typeof this.props.theme === 'function') {
36081
- return this.props.theme(defaultTheme);
36082
- } // Otherwise, if a plain theme object was passed in,
36083
- // overlay it with the default theme.
 
 
36084
 
 
36085
 
36086
- return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, defaultTheme), this.props.theme);
36087
- }
36088
- }, {
36089
- key: "getCommonProps",
36090
- value: function getCommonProps() {
36091
- var clearValue = this.clearValue,
36092
- cx = this.cx,
36093
- getStyles = this.getStyles,
36094
- getValue = this.getValue,
36095
- selectOption = this.selectOption,
36096
- setValue = this.setValue,
36097
- props = this.props;
36098
- var isMulti = props.isMulti,
36099
- isRtl = props.isRtl,
36100
- options = props.options;
36101
- var hasValue = this.hasValue();
36102
- return {
36103
- clearValue: clearValue,
36104
- cx: cx,
36105
- getStyles: getStyles,
36106
- getValue: getValue,
36107
- hasValue: hasValue,
36108
- isMulti: isMulti,
36109
- isRtl: isRtl,
36110
- options: options,
36111
- selectOption: selectOption,
36112
- selectProps: props,
36113
- setValue: setValue,
36114
- theme: this.getTheme()
36115
- };
36116
- }
36117
- }, {
36118
- key: "hasValue",
36119
- value: function hasValue() {
36120
- var selectValue = this.state.selectValue;
36121
- return selectValue.length > 0;
36122
- }
36123
- }, {
36124
- key: "hasOptions",
36125
- value: function hasOptions() {
36126
- return !!this.getFocusableOptions().length;
36127
- }
36128
- }, {
36129
- key: "isClearable",
36130
- value: function isClearable() {
36131
- var _this$props7 = this.props,
36132
- isClearable = _this$props7.isClearable,
36133
- isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable
36134
- // multi select, by default, IS clearable
36135
 
36136
- if (isClearable === undefined) return isMulti;
36137
- return isClearable;
36138
- }
36139
- }, {
36140
- key: "isOptionDisabled",
36141
- value: function isOptionDisabled(option, selectValue) {
36142
- return _isOptionDisabled(this.props, option, selectValue);
36143
- }
36144
- }, {
36145
- key: "isOptionSelected",
36146
- value: function isOptionSelected(option, selectValue) {
36147
- return _isOptionSelected(this.props, option, selectValue);
36148
- }
36149
- }, {
36150
- key: "filterOption",
36151
- value: function filterOption(option, inputValue) {
36152
- return _filterOption(this.props, option, inputValue);
36153
- }
36154
- }, {
36155
- key: "formatOptionLabel",
36156
- value: function formatOptionLabel(data, context) {
36157
- if (typeof this.props.formatOptionLabel === 'function') {
36158
- var inputValue = this.props.inputValue;
36159
- var selectValue = this.state.selectValue;
36160
- return this.props.formatOptionLabel(data, {
36161
- context: context,
36162
- inputValue: inputValue,
36163
- selectValue: selectValue
36164
- });
36165
- } else {
36166
- return this.getOptionLabel(data);
36167
- }
36168
- }
36169
- }, {
36170
- key: "formatGroupLabel",
36171
- value: function formatGroupLabel(data) {
36172
- return this.props.formatGroupLabel(data);
36173
- } // ==============================
36174
- // Mouse Handlers
36175
- // ==============================
36176
 
36177
- }, {
36178
- key: "startListeningComposition",
36179
- value: // ==============================
36180
- // Composition Handlers
36181
- // ==============================
36182
- function startListeningComposition() {
36183
- if (document && document.addEventListener) {
36184
- document.addEventListener('compositionstart', this.onCompositionStart, false);
36185
- document.addEventListener('compositionend', this.onCompositionEnd, false);
36186
- }
36187
- }
36188
- }, {
36189
- key: "stopListeningComposition",
36190
- value: function stopListeningComposition() {
36191
- if (document && document.removeEventListener) {
36192
- document.removeEventListener('compositionstart', this.onCompositionStart);
36193
- document.removeEventListener('compositionend', this.onCompositionEnd);
36194
- }
36195
- }
36196
- }, {
36197
- key: "startListeningToTouch",
36198
- value: // ==============================
36199
- // Touch Handlers
36200
- // ==============================
36201
- function startListeningToTouch() {
36202
- if (document && document.addEventListener) {
36203
- document.addEventListener('touchstart', this.onTouchStart, false);
36204
- document.addEventListener('touchmove', this.onTouchMove, false);
36205
- document.addEventListener('touchend', this.onTouchEnd, false);
36206
  }
36207
- }
36208
- }, {
36209
- key: "stopListeningToTouch",
36210
- value: function stopListeningToTouch() {
36211
- if (document && document.removeEventListener) {
36212
- document.removeEventListener('touchstart', this.onTouchStart);
36213
- document.removeEventListener('touchmove', this.onTouchMove);
36214
- document.removeEventListener('touchend', this.onTouchEnd);
36215
  }
36216
- }
36217
- }, {
36218
- key: "renderInput",
36219
- value: // ==============================
36220
- // Renderers
36221
- // ==============================
36222
- function renderInput() {
36223
- var _this$props8 = this.props,
36224
- isDisabled = _this$props8.isDisabled,
36225
- isSearchable = _this$props8.isSearchable,
36226
- inputId = _this$props8.inputId,
36227
- inputValue = _this$props8.inputValue,
36228
- tabIndex = _this$props8.tabIndex,
36229
- form = _this$props8.form;
36230
 
36231
- var _this$getComponents = this.getComponents(),
36232
- Input = _this$getComponents.Input;
 
36233
 
36234
- var inputIsHidden = this.state.inputIsHidden;
36235
- var commonProps = this.commonProps;
36236
- var id = inputId || this.getElementId('input'); // aria attributes makes the JSX "noisy", separated for clarity
36237
 
36238
- var ariaAttributes = {
36239
- 'aria-autocomplete': 'list',
36240
- 'aria-label': this.props['aria-label'],
36241
- 'aria-labelledby': this.props['aria-labelledby']
36242
- };
36243
 
36244
- if (!isSearchable) {
36245
- // use a dummy input to maintain focus/blur functionality
36246
- return /*#__PURE__*/react.createElement(DummyInput, extends_extends({
36247
- id: id,
36248
- innerRef: this.getInputRef,
36249
- onBlur: this.onInputBlur,
36250
- onChange: noop,
36251
- onFocus: this.onInputFocus,
36252
- readOnly: true,
36253
- disabled: isDisabled,
36254
- tabIndex: tabIndex,
36255
- form: form,
36256
- value: ""
36257
- }, ariaAttributes));
36258
- }
36259
 
36260
- return /*#__PURE__*/react.createElement(Input, extends_extends({}, commonProps, {
36261
- autoCapitalize: "none",
36262
- autoComplete: "off",
36263
- autoCorrect: "off",
36264
- id: id,
36265
- innerRef: this.getInputRef,
36266
- isDisabled: isDisabled,
36267
- isHidden: inputIsHidden,
36268
- onBlur: this.onInputBlur,
36269
- onChange: this.handleInputChange,
36270
- onFocus: this.onInputFocus,
36271
- spellCheck: "false",
36272
- tabIndex: tabIndex,
36273
- form: form,
36274
- type: "text",
36275
- value: inputValue
36276
- }, ariaAttributes));
36277
- }
36278
- }, {
36279
- key: "renderPlaceholderOrValue",
36280
- value: function renderPlaceholderOrValue() {
36281
- var _this3 = this;
36282
 
36283
- var _this$getComponents2 = this.getComponents(),
36284
- MultiValue = _this$getComponents2.MultiValue,
36285
- MultiValueContainer = _this$getComponents2.MultiValueContainer,
36286
- MultiValueLabel = _this$getComponents2.MultiValueLabel,
36287
- MultiValueRemove = _this$getComponents2.MultiValueRemove,
36288
- SingleValue = _this$getComponents2.SingleValue,
36289
- Placeholder = _this$getComponents2.Placeholder;
36290
 
36291
- var commonProps = this.commonProps;
36292
- var _this$props9 = this.props,
36293
- controlShouldRenderValue = _this$props9.controlShouldRenderValue,
36294
- isDisabled = _this$props9.isDisabled,
36295
- isMulti = _this$props9.isMulti,
36296
- inputValue = _this$props9.inputValue,
36297
- placeholder = _this$props9.placeholder;
36298
- var _this$state4 = this.state,
36299
- selectValue = _this$state4.selectValue,
36300
- focusedValue = _this$state4.focusedValue,
36301
- isFocused = _this$state4.isFocused;
36302
 
36303
- if (!this.hasValue() || !controlShouldRenderValue) {
36304
- return inputValue ? null : /*#__PURE__*/react.createElement(Placeholder, extends_extends({}, commonProps, {
36305
- key: "placeholder",
36306
- isDisabled: isDisabled,
36307
- isFocused: isFocused
36308
- }), placeholder);
36309
- }
36310
 
36311
- if (isMulti) {
36312
- var selectValues = selectValue.map(function (opt, index) {
36313
- var isOptionFocused = opt === focusedValue;
36314
- return /*#__PURE__*/react.createElement(MultiValue, extends_extends({}, commonProps, {
36315
- components: {
36316
- Container: MultiValueContainer,
36317
- Label: MultiValueLabel,
36318
- Remove: MultiValueRemove
36319
- },
36320
- isFocused: isOptionFocused,
36321
- isDisabled: isDisabled,
36322
- key: "".concat(_this3.getOptionValue(opt)).concat(index),
36323
- index: index,
36324
- removeProps: {
36325
- onClick: function onClick() {
36326
- return _this3.removeValue(opt);
36327
- },
36328
- onTouchEnd: function onTouchEnd() {
36329
- return _this3.removeValue(opt);
36330
- },
36331
- onMouseDown: function onMouseDown(e) {
36332
- e.preventDefault();
36333
- e.stopPropagation();
36334
- }
36335
- },
36336
- data: opt
36337
- }), _this3.formatOptionLabel(opt, 'value'));
36338
- });
36339
- return selectValues;
36340
- }
36341
 
36342
- if (inputValue) {
36343
- return null;
 
 
 
 
 
36344
  }
36345
 
36346
- var singleValue = selectValue[0];
36347
- return /*#__PURE__*/react.createElement(SingleValue, extends_extends({}, commonProps, {
36348
- data: singleValue,
36349
- isDisabled: isDisabled
36350
- }), this.formatOptionLabel(singleValue, 'value'));
36351
- }
36352
- }, {
36353
- key: "renderClearIndicator",
36354
- value: function renderClearIndicator() {
36355
- var _this$getComponents3 = this.getComponents(),
36356
- ClearIndicator = _this$getComponents3.ClearIndicator;
36357
 
36358
- var commonProps = this.commonProps;
36359
- var _this$props10 = this.props,
36360
- isDisabled = _this$props10.isDisabled,
36361
- isLoading = _this$props10.isLoading;
36362
- var isFocused = this.state.isFocused;
36363
 
36364
- if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {
36365
- return null;
36366
- }
36367
 
36368
- var innerProps = {
36369
- onMouseDown: this.onClearIndicatorMouseDown,
36370
- onTouchEnd: this.onClearIndicatorTouchEnd,
36371
- 'aria-hidden': 'true'
36372
- };
36373
- return /*#__PURE__*/react.createElement(ClearIndicator, extends_extends({}, commonProps, {
36374
- innerProps: innerProps,
36375
- isFocused: isFocused
36376
- }));
36377
- }
36378
- }, {
36379
- key: "renderLoadingIndicator",
36380
- value: function renderLoadingIndicator() {
36381
- var _this$getComponents4 = this.getComponents(),
36382
- LoadingIndicator = _this$getComponents4.LoadingIndicator;
36383
 
36384
- var commonProps = this.commonProps;
36385
- var _this$props11 = this.props,
36386
- isDisabled = _this$props11.isDisabled,
36387
- isLoading = _this$props11.isLoading;
36388
- var isFocused = this.state.isFocused;
36389
- if (!LoadingIndicator || !isLoading) return null;
36390
- var innerProps = {
36391
- 'aria-hidden': 'true'
36392
- };
36393
- return /*#__PURE__*/react.createElement(LoadingIndicator, extends_extends({}, commonProps, {
36394
- innerProps: innerProps,
36395
- isDisabled: isDisabled,
36396
- isFocused: isFocused
36397
- }));
36398
- }
36399
- }, {
36400
- key: "renderIndicatorSeparator",
36401
- value: function renderIndicatorSeparator() {
36402
- var _this$getComponents5 = this.getComponents(),
36403
- DropdownIndicator = _this$getComponents5.DropdownIndicator,
36404
- IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator
36405
 
 
 
 
36406
 
36407
- if (!DropdownIndicator || !IndicatorSeparator) return null;
36408
- var commonProps = this.commonProps;
36409
- var isDisabled = this.props.isDisabled;
36410
- var isFocused = this.state.isFocused;
36411
- return /*#__PURE__*/react.createElement(IndicatorSeparator, extends_extends({}, commonProps, {
36412
- isDisabled: isDisabled,
36413
- isFocused: isFocused
36414
- }));
36415
- }
36416
- }, {
36417
- key: "renderDropdownIndicator",
36418
- value: function renderDropdownIndicator() {
36419
- var _this$getComponents6 = this.getComponents(),
36420
- DropdownIndicator = _this$getComponents6.DropdownIndicator;
36421
 
36422
- if (!DropdownIndicator) return null;
36423
- var commonProps = this.commonProps;
36424
- var isDisabled = this.props.isDisabled;
36425
- var isFocused = this.state.isFocused;
36426
- var innerProps = {
36427
- onMouseDown: this.onDropdownIndicatorMouseDown,
36428
- onTouchEnd: this.onDropdownIndicatorTouchEnd,
36429
- 'aria-hidden': 'true'
36430
- };
36431
- return /*#__PURE__*/react.createElement(DropdownIndicator, extends_extends({}, commonProps, {
36432
- innerProps: innerProps,
36433
- isDisabled: isDisabled,
36434
- isFocused: isFocused
36435
- }));
36436
- }
36437
- }, {
36438
- key: "renderMenu",
36439
- value: function renderMenu() {
36440
- var _this4 = this;
36441
 
36442
- var _this$getComponents7 = this.getComponents(),
36443
- Group = _this$getComponents7.Group,
36444
- GroupHeading = _this$getComponents7.GroupHeading,
36445
- Menu = _this$getComponents7.Menu,
36446
- MenuList = _this$getComponents7.MenuList,
36447
- MenuPortal = _this$getComponents7.MenuPortal,
36448
- LoadingMessage = _this$getComponents7.LoadingMessage,
36449
- NoOptionsMessage = _this$getComponents7.NoOptionsMessage,
36450
- Option = _this$getComponents7.Option;
36451
 
36452
- var commonProps = this.commonProps;
36453
- var focusedOption = this.state.focusedOption;
36454
- var _this$props12 = this.props,
36455
- captureMenuScroll = _this$props12.captureMenuScroll,
36456
- inputValue = _this$props12.inputValue,
36457
- isLoading = _this$props12.isLoading,
36458
- loadingMessage = _this$props12.loadingMessage,
36459
- minMenuHeight = _this$props12.minMenuHeight,
36460
- maxMenuHeight = _this$props12.maxMenuHeight,
36461
- menuIsOpen = _this$props12.menuIsOpen,
36462
- menuPlacement = _this$props12.menuPlacement,
36463
- menuPosition = _this$props12.menuPosition,
36464
- menuPortalTarget = _this$props12.menuPortalTarget,
36465
- menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,
36466
- menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,
36467
- noOptionsMessage = _this$props12.noOptionsMessage,
36468
- onMenuScrollToTop = _this$props12.onMenuScrollToTop,
36469
- onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;
36470
- if (!menuIsOpen) return null; // TODO: Internal Option Type here
36471
 
36472
- var render = function render(props, id) {
36473
- var type = props.type,
36474
- data = props.data,
36475
- isDisabled = props.isDisabled,
36476
- isSelected = props.isSelected,
36477
- label = props.label,
36478
- value = props.value;
36479
- var isFocused = focusedOption === data;
36480
- var onHover = isDisabled ? undefined : function () {
36481
- return _this4.onOptionHover(data);
36482
- };
36483
- var onSelect = isDisabled ? undefined : function () {
36484
- return _this4.selectOption(data);
36485
- };
36486
- var optionId = "".concat(_this4.getElementId('option'), "-").concat(id);
36487
- var innerProps = {
36488
- id: optionId,
36489
- onClick: onSelect,
36490
- onMouseMove: onHover,
36491
- onMouseOver: onHover,
36492
- tabIndex: -1
36493
- };
36494
- return /*#__PURE__*/react.createElement(Option, extends_extends({}, commonProps, {
36495
- innerProps: innerProps,
36496
- data: data,
36497
- isDisabled: isDisabled,
36498
- isSelected: isSelected,
36499
- key: optionId,
36500
- label: label,
36501
- type: type,
36502
- value: value,
36503
- isFocused: isFocused,
36504
- innerRef: isFocused ? _this4.getFocusedOptionRef : undefined
36505
- }), _this4.formatOptionLabel(props.data, 'menu'));
36506
- };
36507
 
36508
- var menuUI;
 
 
 
36509
 
36510
- if (this.hasOptions()) {
36511
- menuUI = this.getCategorizedOptions().map(function (item) {
36512
- if (item.type === 'group') {
36513
- var data = item.data,
36514
- options = item.options,
36515
- groupIndex = item.index;
36516
- var groupId = "".concat(_this4.getElementId('group'), "-").concat(groupIndex);
36517
- var headingId = "".concat(groupId, "-heading");
36518
- return /*#__PURE__*/react.createElement(Group, extends_extends({}, commonProps, {
36519
- key: groupId,
36520
- data: data,
36521
- options: options,
36522
- Heading: GroupHeading,
36523
- headingProps: {
36524
- id: headingId,
36525
- data: item.data
36526
- },
36527
- label: _this4.formatGroupLabel(item.data)
36528
- }), item.options.map(function (option) {
36529
- return render(option, "".concat(groupIndex, "-").concat(option.index));
36530
- }));
36531
- } else if (item.type === 'option') {
36532
- return render(item, "".concat(item.index));
36533
- }
36534
- });
36535
- } else if (isLoading) {
36536
- var message = loadingMessage({
36537
- inputValue: inputValue
36538
- });
36539
- if (message === null) return null;
36540
- menuUI = /*#__PURE__*/react.createElement(LoadingMessage, commonProps, message);
36541
  } else {
36542
- var _message = noOptionsMessage({
36543
- inputValue: inputValue
36544
- });
 
 
36545
 
36546
- if (_message === null) return null;
36547
- menuUI = /*#__PURE__*/react.createElement(NoOptionsMessage, commonProps, _message);
 
36548
  }
 
36549
 
36550
- var menuPlacementProps = {
36551
- minMenuHeight: minMenuHeight,
36552
- maxMenuHeight: maxMenuHeight,
36553
- menuPlacement: menuPlacement,
36554
- menuPosition: menuPosition,
36555
- menuShouldScrollIntoView: menuShouldScrollIntoView
36556
- };
36557
- var menuElement = /*#__PURE__*/react.createElement(MenuPlacer, extends_extends({}, commonProps, menuPlacementProps), function (_ref4) {
36558
- var ref = _ref4.ref,
36559
- _ref4$placerProps = _ref4.placerProps,
36560
- placement = _ref4$placerProps.placement,
36561
- maxHeight = _ref4$placerProps.maxHeight;
36562
- return /*#__PURE__*/react.createElement(Menu, extends_extends({}, commonProps, menuPlacementProps, {
36563
- innerRef: ref,
36564
- innerProps: {
36565
- onMouseDown: _this4.onMenuMouseDown,
36566
- onMouseMove: _this4.onMenuMouseMove
36567
- },
36568
- isLoading: isLoading,
36569
- placement: placement
36570
- }), /*#__PURE__*/react.createElement(ScrollManager, {
36571
- captureEnabled: captureMenuScroll,
36572
- onTopArrive: onMenuScrollToTop,
36573
- onBottomArrive: onMenuScrollToBottom,
36574
- lockEnabled: menuShouldBlockScroll
36575
- }, function (scrollTargetRef) {
36576
- return /*#__PURE__*/react.createElement(MenuList, extends_extends({}, commonProps, {
36577
- innerRef: function innerRef(instance) {
36578
- _this4.getMenuListRef(instance);
36579
 
36580
- scrollTargetRef(instance);
36581
- },
36582
- isLoading: isLoading,
36583
- maxHeight: maxHeight,
36584
- focusedOption: focusedOption
36585
- }), menuUI);
36586
- }));
36587
- }); // positioning behaviour is almost identical for portalled and fixed,
36588
- // so we use the same component. the actual portalling logic is forked
36589
- // within the component based on `menuPosition`
36590
 
36591
- return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/react.createElement(MenuPortal, extends_extends({}, commonProps, {
36592
- appendTo: menuPortalTarget,
36593
- controlElement: this.controlRef,
36594
- menuPlacement: menuPlacement,
36595
- menuPosition: menuPosition
36596
- }), menuElement) : menuElement;
36597
- }
36598
- }, {
36599
- key: "renderFormField",
36600
- value: function renderFormField() {
36601
- var _this5 = this;
 
 
 
 
 
 
 
 
 
 
36602
 
36603
- var _this$props13 = this.props,
36604
- delimiter = _this$props13.delimiter,
36605
- isDisabled = _this$props13.isDisabled,
36606
- isMulti = _this$props13.isMulti,
36607
- name = _this$props13.name;
36608
- var selectValue = this.state.selectValue;
36609
- if (!name || isDisabled) return;
36610
 
36611
- if (isMulti) {
36612
- if (delimiter) {
36613
- var value = selectValue.map(function (opt) {
36614
- return _this5.getOptionValue(opt);
36615
- }).join(delimiter);
36616
- return /*#__PURE__*/react.createElement("input", {
36617
- name: name,
36618
- type: "hidden",
36619
- value: value
36620
- });
36621
- } else {
36622
- var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {
36623
- return /*#__PURE__*/react.createElement("input", {
36624
- key: "i-".concat(i),
36625
- name: name,
36626
- type: "hidden",
36627
- value: _this5.getOptionValue(opt)
36628
- });
36629
- }) : /*#__PURE__*/react.createElement("input", {
36630
- name: name,
36631
- type: "hidden"
36632
- });
36633
- return /*#__PURE__*/react.createElement("div", null, input);
36634
- }
36635
- } else {
36636
- var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';
36637
 
36638
- return /*#__PURE__*/react.createElement("input", {
36639
- name: name,
36640
- type: "hidden",
36641
- value: _value
 
36642
  });
36643
  }
36644
- }
36645
- }, {
36646
- key: "renderLiveRegion",
36647
- value: function renderLiveRegion() {
36648
- var commonProps = this.commonProps;
36649
- var _this$state5 = this.state,
36650
- ariaSelection = _this$state5.ariaSelection,
36651
- focusedOption = _this$state5.focusedOption,
36652
- focusedValue = _this$state5.focusedValue,
36653
- isFocused = _this$state5.isFocused,
36654
- selectValue = _this$state5.selectValue;
36655
- var focusableOptions = this.getFocusableOptions();
36656
- return /*#__PURE__*/react.createElement(LiveRegion, extends_extends({}, commonProps, {
36657
- ariaSelection: ariaSelection,
36658
- focusedOption: focusedOption,
36659
- focusedValue: focusedValue,
36660
- isFocused: isFocused,
36661
- selectValue: selectValue,
36662
- focusableOptions: focusableOptions
36663
- }));
36664
- }
36665
- }, {
36666
- key: "render",
36667
- value: function render() {
36668
- var _this$getComponents8 = this.getComponents(),
36669
- Control = _this$getComponents8.Control,
36670
- IndicatorsContainer = _this$getComponents8.IndicatorsContainer,
36671
- SelectContainer = _this$getComponents8.SelectContainer,
36672
- ValueContainer = _this$getComponents8.ValueContainer;
36673
 
36674
- var _this$props14 = this.props,
36675
- className = _this$props14.className,
36676
- id = _this$props14.id,
36677
- isDisabled = _this$props14.isDisabled,
36678
- menuIsOpen = _this$props14.menuIsOpen;
36679
- var isFocused = this.state.isFocused;
36680
- var commonProps = this.commonProps = this.getCommonProps();
36681
- return /*#__PURE__*/react.createElement(SelectContainer, extends_extends({}, commonProps, {
36682
- className: className,
36683
- innerProps: {
36684
- id: id,
36685
- onKeyDown: this.onKeyDown
36686
- },
36687
- isDisabled: isDisabled,
36688
- isFocused: isFocused
36689
- }), this.renderLiveRegion(), /*#__PURE__*/react.createElement(Control, extends_extends({}, commonProps, {
36690
- innerRef: this.getControlRef,
36691
- innerProps: {
36692
- onMouseDown: this.onControlMouseDown,
36693
- onTouchEnd: this.onControlTouchEnd
36694
- },
36695
- isDisabled: isDisabled,
36696
- isFocused: isFocused,
36697
- menuIsOpen: menuIsOpen
36698
- }), /*#__PURE__*/react.createElement(ValueContainer, extends_extends({}, commonProps, {
36699
- isDisabled: isDisabled
36700
- }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/react.createElement(IndicatorsContainer, extends_extends({}, commonProps, {
36701
- isDisabled: isDisabled
36702
- }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());
36703
- }
36704
- }], [{
36705
- key: "getDerivedStateFromProps",
36706
- value: function getDerivedStateFromProps(props, state) {
36707
- var prevProps = state.prevProps,
36708
- clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,
36709
- inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;
36710
- var options = props.options,
36711
- value = props.value,
36712
- menuIsOpen = props.menuIsOpen,
36713
- inputValue = props.inputValue;
36714
- var newMenuOptionsState = {};
36715
 
36716
- if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {
36717
- var selectValue = cleanValue(value);
36718
- var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];
36719
- var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;
36720
- var focusedOption = getNextFocusedOption(state, focusableOptions);
36721
- newMenuOptionsState = {
36722
- selectValue: selectValue,
36723
- focusedOption: focusedOption,
36724
- focusedValue: focusedValue,
36725
- clearFocusValueOnUpdate: false
36726
- };
36727
- } // some updates should toggle the state of the input visibility
36728
 
 
 
 
36729
 
36730
- var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {
36731
- inputIsHidden: inputIsHiddenAfterUpdate,
36732
- inputIsHiddenAfterUpdate: undefined
36733
- } : {};
36734
- return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {
36735
- prevProps: props
36736
- });
36737
- }
36738
- }]);
36739
 
36740
- return Select;
36741
- }(react.Component);
 
36742
 
36743
- Select_dbb12e54_esm_Select.defaultProps = defaultProps;
 
 
 
36744
 
 
 
 
36745
 
 
 
 
36746
 
36747
- ;// CONCATENATED MODULE: ./node_modules/react-select/dist/stateManager-845a3300.esm.js
 
 
 
 
36748
 
 
 
 
 
36749
 
 
 
 
36750
 
36751
 
 
 
 
36752
 
 
 
36753
 
 
 
36754
 
 
 
36755
 
36756
- var stateManager_845a3300_esm_defaultProps = {
36757
- defaultInputValue: '',
36758
- defaultMenuIsOpen: false,
36759
- defaultValue: null
36760
- };
36761
 
36762
- var manageState = function manageState(SelectComponent) {
36763
- var _class, _temp;
36764
 
36765
- return _temp = _class = /*#__PURE__*/function (_Component) {
36766
- _inherits(StateManager, _Component);
36767
 
36768
- var _super = _createSuper(StateManager);
 
36769
 
36770
- function StateManager() {
36771
- var _this;
 
36772
 
36773
- _classCallCheck(this, StateManager);
 
 
36774
 
36775
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
36776
- args[_key] = arguments[_key];
36777
  }
 
36778
 
36779
- _this = _super.call.apply(_super, [this].concat(args));
36780
- _this.select = void 0;
36781
- _this.state = {
36782
- inputValue: _this.props.inputValue !== undefined ? _this.props.inputValue : _this.props.defaultInputValue,
36783
- menuIsOpen: _this.props.menuIsOpen !== undefined ? _this.props.menuIsOpen : _this.props.defaultMenuIsOpen,
36784
- value: _this.props.value !== undefined ? _this.props.value : _this.props.defaultValue
36785
- };
36786
 
36787
- _this.onChange = function (value, actionMeta) {
36788
- _this.callProp('onChange', value, actionMeta);
 
 
36789
 
36790
- _this.setState({
36791
- value: value
36792
- });
36793
- };
36794
 
36795
- _this.onInputChange = function (value, actionMeta) {
36796
- // TODO: for backwards compatibility, we allow the prop to return a new
36797
- // value, but now inputValue is a controllable prop we probably shouldn't
36798
- var newValue = _this.callProp('onInputChange', value, actionMeta);
36799
 
36800
- _this.setState({
36801
- inputValue: newValue !== undefined ? newValue : value
36802
- });
36803
- };
36804
 
36805
- _this.onMenuOpen = function () {
36806
- _this.callProp('onMenuOpen');
36807
 
36808
- _this.setState({
36809
- menuIsOpen: true
36810
- });
36811
- };
36812
 
36813
- _this.onMenuClose = function () {
36814
- _this.callProp('onMenuClose');
 
36815
 
36816
- _this.setState({
36817
- menuIsOpen: false
36818
- });
36819
- };
36820
 
36821
- return _this;
36822
- }
 
 
 
36823
 
36824
- _createClass(StateManager, [{
36825
- key: "focus",
36826
- value: function focus() {
36827
- this.select.focus();
36828
  }
36829
- }, {
36830
- key: "blur",
36831
- value: function blur() {
36832
- this.select.blur();
36833
- } // FIXME: untyped flow code, return any
36834
-
36835
- }, {
36836
- key: "getProp",
36837
- value: function getProp(key) {
36838
- return this.props[key] !== undefined ? this.props[key] : this.state[key];
36839
- } // FIXME: untyped flow code, return any
36840
 
36841
- }, {
36842
- key: "callProp",
36843
- value: function callProp(name) {
36844
- if (typeof this.props[name] === 'function') {
36845
- var _this$props;
36846
 
36847
- for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
36848
- args[_key2 - 1] = arguments[_key2];
36849
- }
36850
 
36851
- return (_this$props = this.props)[name].apply(_this$props, args);
36852
- }
36853
- }
36854
- }, {
36855
- key: "render",
36856
- value: function render() {
36857
- var _this2 = this;
 
 
 
 
 
 
 
 
 
 
36858
 
36859
- var _this$props2 = this.props;
36860
- _this$props2.defaultInputValue;
36861
- _this$props2.defaultMenuIsOpen;
36862
- _this$props2.defaultValue;
36863
- var props = objectWithoutProperties_objectWithoutProperties(_this$props2, ["defaultInputValue", "defaultMenuIsOpen", "defaultValue"]);
36864
 
36865
- return /*#__PURE__*/react.createElement(SelectComponent, extends_extends({}, props, {
36866
- ref: function ref(_ref) {
36867
- _this2.select = _ref;
36868
- },
36869
- inputValue: this.getProp('inputValue'),
36870
- menuIsOpen: this.getProp('menuIsOpen'),
36871
- onChange: this.onChange,
36872
- onInputChange: this.onInputChange,
36873
- onMenuClose: this.onMenuClose,
36874
- onMenuOpen: this.onMenuOpen,
36875
- value: this.getProp('value')
36876
- }));
36877
- }
36878
- }]);
36879
 
36880
- return StateManager;
36881
- }(react.Component), _class.defaultProps = stateManager_845a3300_esm_defaultProps, _temp;
36882
- };
36883
 
 
36884
 
 
 
 
36885
 
36886
- ;// CONCATENATED MODULE: ./node_modules/react-select/creatable/dist/react-select.esm.js
36887
 
 
36888
 
 
 
36889
 
 
36890
 
 
36891
 
 
 
 
36892
 
 
 
 
 
36893
 
 
 
 
 
 
 
36894
 
 
36895
 
 
 
36896
 
 
 
 
 
 
36897
 
 
36898
 
 
36899
 
 
 
 
 
 
 
36900
 
 
 
 
36901
 
 
36902
 
 
 
36903
 
 
36904
 
36905
- var compareOption = function compareOption() {
36906
- var inputValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
36907
- var option = arguments.length > 1 ? arguments[1] : undefined;
36908
- var accessors = arguments.length > 2 ? arguments[2] : undefined;
36909
- var candidate = String(inputValue).toLowerCase();
36910
- var optionValue = String(accessors.getOptionValue(option)).toLowerCase();
36911
- var optionLabel = String(accessors.getOptionLabel(option)).toLowerCase();
36912
- return optionValue === candidate || optionLabel === candidate;
36913
- };
36914
 
36915
- var builtins = {
36916
- formatCreateLabel: function formatCreateLabel(inputValue) {
36917
- return "Create \"".concat(inputValue, "\"");
36918
- },
36919
- isValidNewOption: function isValidNewOption(inputValue, selectValue, selectOptions, accessors) {
36920
- return !(!inputValue || selectValue.some(function (option) {
36921
- return compareOption(inputValue, option, accessors);
36922
- }) || selectOptions.some(function (option) {
36923
- return compareOption(inputValue, option, accessors);
36924
- }));
36925
- },
36926
- getNewOptionData: function getNewOptionData(inputValue, optionLabel) {
36927
- return {
36928
- label: optionLabel,
36929
- value: inputValue,
36930
- __isNew__: true
36931
- };
36932
- },
36933
- getOptionValue: getOptionValue,
36934
- getOptionLabel: getOptionLabel
36935
- };
36936
- var react_select_esm_defaultProps = index_4bd03571_esm_objectSpread2({
36937
- allowCreateWhileLoading: false,
36938
- createOptionPosition: 'last'
36939
- }, builtins);
36940
- var makeCreatableSelect = function makeCreatableSelect(SelectComponent) {
36941
- var _class, _temp;
36942
 
36943
- return _temp = _class = /*#__PURE__*/function (_Component) {
36944
- _inherits(Creatable, _Component);
 
 
36945
 
36946
- var _super = _createSuper(Creatable);
36947
 
36948
- function Creatable(props) {
36949
- var _this;
 
 
 
36950
 
36951
- _classCallCheck(this, Creatable);
 
36952
 
36953
- _this = _super.call(this, props);
36954
- _this.select = void 0;
36955
 
36956
- _this.onChange = function (newValue, actionMeta) {
36957
- var _this$props = _this.props,
36958
- getNewOptionData = _this$props.getNewOptionData,
36959
- inputValue = _this$props.inputValue,
36960
- isMulti = _this$props.isMulti,
36961
- onChange = _this$props.onChange,
36962
- onCreateOption = _this$props.onCreateOption,
36963
- value = _this$props.value,
36964
- name = _this$props.name;
36965
 
36966
- if (actionMeta.action !== 'select-option') {
36967
- return onChange(newValue, actionMeta);
36968
- }
36969
 
36970
- var newOption = _this.state.newOption;
36971
- var valueArray = Array.isArray(newValue) ? newValue : [newValue];
36972
 
36973
- if (valueArray[valueArray.length - 1] === newOption) {
36974
- if (onCreateOption) onCreateOption(inputValue);else {
36975
- var newOptionData = getNewOptionData(inputValue, inputValue);
36976
- var newActionMeta = {
36977
- action: 'create-option',
36978
- name: name,
36979
- option: newOptionData
36980
- };
36981
 
36982
- if (isMulti) {
36983
- onChange([].concat(_toConsumableArray(cleanValue(value)), [newOptionData]), newActionMeta);
36984
- } else {
36985
- onChange(newOptionData, newActionMeta);
36986
- }
 
 
36987
  }
36988
- return;
36989
- }
36990
 
36991
- onChange(newValue, actionMeta);
36992
- };
36993
 
36994
- var options = props.options || [];
36995
- _this.state = {
36996
- newOption: undefined,
36997
- options: options
36998
- };
36999
- return _this;
37000
- }
37001
 
37002
- _createClass(Creatable, [{
37003
- key: "focus",
37004
- value: function focus() {
37005
- this.select.focus();
37006
- }
37007
- }, {
37008
- key: "blur",
37009
- value: function blur() {
37010
- this.select.blur();
37011
- }
37012
- }, {
37013
- key: "render",
37014
- value: function render() {
37015
- var _this2 = this;
37016
 
37017
- var options = this.state.options;
37018
- return /*#__PURE__*/react.createElement(SelectComponent, extends_extends({}, this.props, {
37019
- ref: function ref(_ref) {
37020
- _this2.select = _ref;
37021
- },
37022
- options: options,
37023
- onChange: this.onChange
37024
- }));
37025
- }
37026
- }], [{
37027
- key: "getDerivedStateFromProps",
37028
- value: function getDerivedStateFromProps(props, state) {
37029
- var allowCreateWhileLoading = props.allowCreateWhileLoading,
37030
- createOptionPosition = props.createOptionPosition,
37031
- formatCreateLabel = props.formatCreateLabel,
37032
- getNewOptionData = props.getNewOptionData,
37033
- inputValue = props.inputValue,
37034
- isLoading = props.isLoading,
37035
- isValidNewOption = props.isValidNewOption,
37036
- value = props.value,
37037
- getOptionValue = props.getOptionValue,
37038
- getOptionLabel = props.getOptionLabel;
37039
- var options = props.options || [];
37040
- var newOption = state.newOption;
37041
 
37042
- if (isValidNewOption(inputValue, cleanValue(value), options, {
37043
- getOptionValue: getOptionValue,
37044
- getOptionLabel: getOptionLabel
37045
- })) {
37046
- newOption = getNewOptionData(inputValue, formatCreateLabel(inputValue));
37047
- } else {
37048
- newOption = undefined;
37049
- }
37050
 
37051
- return {
37052
- newOption: newOption,
37053
- options: (allowCreateWhileLoading || !isLoading) && newOption ? createOptionPosition === 'first' ? [newOption].concat(_toConsumableArray(options)) : [].concat(_toConsumableArray(options), [newOption]) : options
37054
- };
37055
- }
37056
- }]);
37057
 
37058
- return Creatable;
37059
- }(react.Component), _class.defaultProps = react_select_esm_defaultProps, _temp;
37060
- }; // TODO: do this in package entrypoint
37061
 
37062
- var SelectCreatable = makeCreatableSelect(Select_dbb12e54_esm_Select);
37063
- var Creatable = manageState(SelectCreatable);
37064
 
37065
- /* harmony default export */ const react_select_esm = (Creatable);
37066
 
 
37067
 
37068
- ;// CONCATENATED MODULE: ./node_modules/react-accessible-accordion/dist/es/index.js
 
37069
 
 
37070
 
37071
- function es_classCallCheck(instance, Constructor) {
37072
- if (!(instance instanceof Constructor)) {
37073
- throw new TypeError("Cannot call a class as a function");
37074
- }
37075
- }
37076
 
37077
- function es_defineProperties(target, props) {
37078
- for (var i = 0; i < props.length; i++) {
37079
- var descriptor = props[i];
37080
- descriptor.enumerable = descriptor.enumerable || false;
37081
- descriptor.configurable = true;
37082
- if ("value" in descriptor) descriptor.writable = true;
37083
- Object.defineProperty(target, descriptor.key, descriptor);
37084
- }
37085
- }
37086
 
37087
- function es_createClass(Constructor, protoProps, staticProps) {
37088
- if (protoProps) es_defineProperties(Constructor.prototype, protoProps);
37089
- if (staticProps) es_defineProperties(Constructor, staticProps);
37090
- return Constructor;
37091
- }
37092
 
37093
- function es_defineProperty(obj, key, value) {
37094
- if (key in obj) {
37095
- Object.defineProperty(obj, key, {
37096
- value: value,
37097
- enumerable: true,
37098
- configurable: true,
37099
- writable: true
37100
- });
37101
- } else {
37102
- obj[key] = value;
37103
  }
37104
 
37105
- return obj;
37106
- }
 
 
 
37107
 
37108
- function es_extends() {
37109
- es_extends = Object.assign || function (target) {
37110
- for (var i = 1; i < arguments.length; i++) {
37111
- var source = arguments[i];
37112
 
37113
- for (var key in source) {
37114
- if (Object.prototype.hasOwnProperty.call(source, key)) {
37115
- target[key] = source[key];
37116
- }
37117
  }
37118
  }
 
 
 
 
 
 
 
37119
 
37120
- return target;
37121
- };
37122
-
37123
- return es_extends.apply(this, arguments);
37124
- }
37125
-
37126
- function es_ownKeys(object, enumerableOnly) {
37127
- var keys = Object.keys(object);
37128
 
37129
- if (Object.getOwnPropertySymbols) {
37130
- var symbols = Object.getOwnPropertySymbols(object);
37131
- if (enumerableOnly) symbols = symbols.filter(function (sym) {
37132
- return Object.getOwnPropertyDescriptor(object, sym).enumerable;
37133
- });
37134
- keys.push.apply(keys, symbols);
37135
- }
37136
 
37137
- return keys;
37138
- }
37139
 
37140
- function es_objectSpread2(target) {
37141
- for (var i = 1; i < arguments.length; i++) {
37142
- var source = arguments[i] != null ? arguments[i] : {};
 
 
 
 
 
 
 
 
 
 
 
37143
 
37144
- if (i % 2) {
37145
- es_ownKeys(Object(source), true).forEach(function (key) {
37146
- es_defineProperty(target, key, source[key]);
37147
- });
37148
- } else if (Object.getOwnPropertyDescriptors) {
37149
- Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
37150
- } else {
37151
- es_ownKeys(Object(source)).forEach(function (key) {
37152
- Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
 
37153
  });
 
37154
  }
37155
- }
37156
-
37157
- return target;
37158
- }
37159
-
37160
- function es_inherits(subClass, superClass) {
37161
- if (typeof superClass !== "function" && superClass !== null) {
37162
- throw new TypeError("Super expression must either be null or a function");
37163
- }
37164
 
37165
- subClass.prototype = Object.create(superClass && superClass.prototype, {
37166
- constructor: {
37167
- value: subClass,
37168
- writable: true,
37169
- configurable: true
37170
  }
37171
- });
37172
- if (superClass) es_setPrototypeOf(subClass, superClass);
37173
- }
 
 
 
37174
 
37175
- function es_getPrototypeOf(o) {
37176
- es_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
37177
- return o.__proto__ || Object.getPrototypeOf(o);
37178
- };
37179
- return es_getPrototypeOf(o);
37180
- }
37181
 
37182
- function es_setPrototypeOf(o, p) {
37183
- es_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
37184
- o.__proto__ = p;
37185
- return o;
37186
- };
37187
 
37188
- return es_setPrototypeOf(o, p);
37189
- }
37190
 
37191
- function es_isNativeReflectConstruct() {
37192
- if (typeof Reflect === "undefined" || !Reflect.construct) return false;
37193
- if (Reflect.construct.sham) return false;
37194
- if (typeof Proxy === "function") return true;
37195
 
37196
- try {
37197
- Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
37198
- return true;
37199
- } catch (e) {
37200
- return false;
37201
- }
37202
- }
37203
 
37204
- function es_objectWithoutPropertiesLoose(source, excluded) {
37205
- if (source == null) return {};
37206
- var target = {};
37207
- var sourceKeys = Object.keys(source);
37208
- var key, i;
 
 
 
 
 
 
 
 
 
 
37209
 
37210
- for (i = 0; i < sourceKeys.length; i++) {
37211
- key = sourceKeys[i];
37212
- if (excluded.indexOf(key) >= 0) continue;
37213
- target[key] = source[key];
37214
- }
37215
 
37216
- return target;
37217
- }
 
37218
 
37219
- function es_objectWithoutProperties(source, excluded) {
37220
- if (source == null) return {};
 
37221
 
37222
- var target = es_objectWithoutPropertiesLoose(source, excluded);
 
 
 
 
 
 
 
 
 
 
37223
 
37224
- var key, i;
37225
 
37226
- if (Object.getOwnPropertySymbols) {
37227
- var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
 
 
37228
 
37229
- for (i = 0; i < sourceSymbolKeys.length; i++) {
37230
- key = sourceSymbolKeys[i];
37231
- if (excluded.indexOf(key) >= 0) continue;
37232
- if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
37233
- target[key] = source[key];
 
 
37234
  }
37235
- }
 
 
 
 
 
 
 
 
37236
 
37237
- return target;
37238
- }
37239
 
37240
- function es_assertThisInitialized(self) {
37241
- if (self === void 0) {
37242
- throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
37243
- }
37244
 
37245
- return self;
37246
- }
 
 
 
 
 
 
 
 
 
 
 
37247
 
37248
- function es_possibleConstructorReturn(self, call) {
37249
- if (call && (typeof call === "object" || typeof call === "function")) {
37250
- return call;
37251
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37252
 
37253
- return es_assertThisInitialized(self);
37254
- }
37255
 
37256
- function es_createSuper(Derived) {
37257
- var hasNativeReflectConstruct = es_isNativeReflectConstruct();
 
 
37258
 
37259
- return function _createSuperInternal() {
37260
- var Super = es_getPrototypeOf(Derived),
37261
- result;
37262
 
37263
- if (hasNativeReflectConstruct) {
37264
- var NewTarget = es_getPrototypeOf(this).constructor;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37265
 
37266
- result = Reflect.construct(Super, arguments, NewTarget);
37267
- } else {
37268
- result = Super.apply(this, arguments);
 
 
 
 
 
 
 
37269
  }
37270
-
37271
- return es_possibleConstructorReturn(this, result);
37272
- };
37273
- }
37274
-
37275
- function es_slicedToArray(arr, i) {
37276
- return es_arrayWithHoles(arr) || es_iterableToArrayLimit(arr, i) || es_unsupportedIterableToArray(arr, i) || es_nonIterableRest();
37277
- }
37278
-
37279
- function es_toConsumableArray(arr) {
37280
- return es_arrayWithoutHoles(arr) || es_iterableToArray(arr) || es_unsupportedIterableToArray(arr) || es_nonIterableSpread();
37281
- }
37282
-
37283
- function es_arrayWithoutHoles(arr) {
37284
- if (Array.isArray(arr)) return es_arrayLikeToArray(arr);
37285
- }
37286
-
37287
- function es_arrayWithHoles(arr) {
37288
- if (Array.isArray(arr)) return arr;
37289
- }
37290
-
37291
- function es_iterableToArray(iter) {
37292
- if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
37293
- }
37294
-
37295
- function es_iterableToArrayLimit(arr, i) {
37296
- if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
37297
- var _arr = [];
37298
- var _n = true;
37299
- var _d = false;
37300
- var _e = undefined;
37301
-
37302
- try {
37303
- for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
37304
- _arr.push(_s.value);
37305
-
37306
- if (i && _arr.length === i) break;
37307
  }
37308
- } catch (err) {
37309
- _d = true;
37310
- _e = err;
37311
- } finally {
37312
- try {
37313
- if (!_n && _i["return"] != null) _i["return"]();
37314
- } finally {
37315
- if (_d) throw _e;
 
 
 
37316
  }
37317
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37318
 
37319
- return _arr;
37320
- }
37321
 
37322
- function es_unsupportedIterableToArray(o, minLen) {
37323
- if (!o) return;
37324
- if (typeof o === "string") return es_arrayLikeToArray(o, minLen);
37325
- var n = Object.prototype.toString.call(o).slice(8, -1);
37326
- if (n === "Object" && o.constructor) n = o.constructor.name;
37327
- if (n === "Map" || n === "Set") return Array.from(o);
37328
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return es_arrayLikeToArray(o, minLen);
37329
- }
37330
 
37331
- function es_arrayLikeToArray(arr, len) {
37332
- if (len == null || len > arr.length) len = arr.length;
 
 
 
37333
 
37334
- for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37335
 
37336
- return arr2;
37337
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37338
 
37339
- function es_nonIterableSpread() {
37340
- throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
37341
- }
 
 
 
 
37342
 
37343
- function es_nonIterableRest() {
37344
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
37345
- }
 
 
 
 
 
 
 
 
37346
 
37347
- var AccordionStore = function AccordionStore(_ref) {
37348
- var _this = this;
 
 
 
 
 
37349
 
37350
- var _ref$expanded = _ref.expanded,
37351
- _expanded = _ref$expanded === void 0 ? [] : _ref$expanded,
37352
- _ref$allowMultipleExp = _ref.allowMultipleExpanded,
37353
- allowMultipleExpanded = _ref$allowMultipleExp === void 0 ? false : _ref$allowMultipleExp,
37354
- _ref$allowZeroExpande = _ref.allowZeroExpanded,
37355
- allowZeroExpanded = _ref$allowZeroExpande === void 0 ? false : _ref$allowZeroExpande;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37356
 
37357
- es_classCallCheck(this, AccordionStore);
 
 
37358
 
37359
- es_defineProperty(this, "expanded", void 0);
 
 
 
 
 
 
 
 
 
 
37360
 
37361
- es_defineProperty(this, "allowMultipleExpanded", void 0);
 
 
 
 
37362
 
37363
- es_defineProperty(this, "allowZeroExpanded", void 0);
 
 
37364
 
37365
- es_defineProperty(this, "toggleExpanded", function (uuid) {
37366
- if (_this.isItemDisabled(uuid)) {
37367
- return _this;
 
 
 
 
 
 
37368
  }
 
 
 
 
 
37369
 
37370
- var isExpanded = _this.isItemExpanded(uuid);
37371
-
37372
- if (!isExpanded) {
37373
- return _this.augment({
37374
- expanded: _this.allowMultipleExpanded ? [].concat(es_toConsumableArray(_this.expanded), [uuid]) : [uuid]
37375
- });
37376
- } else {
37377
- return _this.augment({
37378
- expanded: _this.expanded.filter(function (expandedUuid) {
37379
- return expandedUuid !== uuid;
37380
- })
37381
- });
 
 
37382
  }
37383
- });
37384
-
37385
- es_defineProperty(this, "isItemDisabled", function (uuid) {
37386
- var isExpanded = _this.isItemExpanded(uuid);
37387
-
37388
- var isOnlyOneExpanded = _this.expanded.length === 1;
37389
- return Boolean(isExpanded && !_this.allowZeroExpanded && isOnlyOneExpanded);
37390
- });
37391
-
37392
- es_defineProperty(this, "isItemExpanded", function (uuid) {
37393
- return _this.expanded.indexOf(uuid) !== -1;
37394
- });
37395
-
37396
- es_defineProperty(this, "getPanelAttributes", function (uuid, dangerouslySetExpanded) {
37397
- var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);
37398
- return {
37399
- role: _this.allowMultipleExpanded ? undefined : 'region',
37400
- 'aria-hidden': _this.allowMultipleExpanded ? !expanded : undefined,
37401
- 'aria-labelledby': _this.getButtonId(uuid),
37402
- id: _this.getPanelId(uuid),
37403
- hidden: expanded ? undefined : true
37404
- };
37405
- });
37406
-
37407
- es_defineProperty(this, "getHeadingAttributes", function () {
37408
- return {
37409
- role: 'heading'
37410
- };
37411
- });
37412
 
37413
- es_defineProperty(this, "getButtonAttributes", function (uuid, dangerouslySetExpanded) {
37414
- var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);
37415
 
37416
- var disabled = _this.isItemDisabled(uuid);
 
 
 
 
 
 
 
 
 
 
 
 
 
37417
 
37418
- return {
37419
- id: _this.getButtonId(uuid),
37420
- 'aria-disabled': disabled,
37421
- 'aria-expanded': expanded,
37422
- 'aria-controls': _this.getPanelId(uuid),
37423
- role: 'button',
37424
- tabIndex: 0
37425
- };
37426
- });
 
 
 
 
 
 
 
 
 
 
37427
 
37428
- es_defineProperty(this, "getPanelId", function (uuid) {
37429
- return "accordion__panel-".concat(uuid);
37430
- });
 
 
 
 
 
 
37431
 
37432
- es_defineProperty(this, "getButtonId", function (uuid) {
37433
- return "accordion__heading-".concat(uuid);
37434
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37435
 
37436
- es_defineProperty(this, "augment", function (args) {
37437
- return new AccordionStore(es_objectSpread2({
37438
- expanded: _this.expanded,
37439
- allowMultipleExpanded: _this.allowMultipleExpanded,
37440
- allowZeroExpanded: _this.allowZeroExpanded
37441
- }, args));
37442
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37443
 
37444
- this.expanded = _expanded;
37445
- this.allowMultipleExpanded = allowMultipleExpanded;
37446
- this.allowZeroExpanded = allowZeroExpanded;
37447
- };
37448
 
37449
- var Context = /*#__PURE__*/(0,react.createContext)(null);
37450
- var Provider = /*#__PURE__*/function (_React$PureComponent) {
37451
- es_inherits(Provider, _React$PureComponent);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37452
 
37453
- var _super = es_createSuper(Provider);
 
 
37454
 
37455
- function Provider() {
37456
- var _this;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37457
 
37458
- es_classCallCheck(this, Provider);
 
 
 
 
 
 
 
 
 
37459
 
37460
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37461
- args[_key] = arguments[_key];
 
 
 
 
37462
  }
 
 
 
 
37463
 
37464
- _this = _super.call.apply(_super, [this].concat(args));
37465
-
37466
- es_defineProperty(es_assertThisInitialized(_this), "state", new AccordionStore({
37467
- expanded: _this.props.preExpanded,
37468
- allowMultipleExpanded: _this.props.allowMultipleExpanded,
37469
- allowZeroExpanded: _this.props.allowZeroExpanded
37470
- }));
37471
 
37472
- es_defineProperty(es_assertThisInitialized(_this), "toggleExpanded", function (key) {
37473
- _this.setState(function (state) {
37474
- return state.toggleExpanded(key);
37475
- }, function () {
37476
- if (_this.props.onChange) {
37477
- _this.props.onChange(_this.state.expanded);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37478
  }
37479
- });
37480
- });
37481
-
37482
- es_defineProperty(es_assertThisInitialized(_this), "isItemDisabled", function (key) {
37483
- return _this.state.isItemDisabled(key);
37484
- });
37485
-
37486
- es_defineProperty(es_assertThisInitialized(_this), "isItemExpanded", function (key) {
37487
- return _this.state.isItemExpanded(key);
37488
- });
37489
 
37490
- es_defineProperty(es_assertThisInitialized(_this), "getPanelAttributes", function (key, dangerouslySetExpanded) {
37491
- return _this.state.getPanelAttributes(key, dangerouslySetExpanded);
37492
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37493
 
37494
- es_defineProperty(es_assertThisInitialized(_this), "getHeadingAttributes", function () {
37495
- // uuid: UUID
37496
- return _this.state.getHeadingAttributes();
37497
- });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37498
 
37499
- es_defineProperty(es_assertThisInitialized(_this), "getButtonAttributes", function (key, dangerouslySetExpanded) {
37500
- return _this.state.getButtonAttributes(key, dangerouslySetExpanded);
37501
- });
 
 
 
 
 
 
 
 
 
37502
 
37503
- return _this;
37504
- }
37505
 
37506
- es_createClass(Provider, [{
37507
- key: "render",
37508
- value: function render() {
37509
- var _this$state = this.state,
37510
- allowZeroExpanded = _this$state.allowZeroExpanded,
37511
- allowMultipleExpanded = _this$state.allowMultipleExpanded;
37512
- return /*#__PURE__*/(0,react.createElement)(Context.Provider, {
37513
- value: {
37514
- allowMultipleExpanded: allowMultipleExpanded,
37515
- allowZeroExpanded: allowZeroExpanded,
37516
- toggleExpanded: this.toggleExpanded,
37517
- isItemDisabled: this.isItemDisabled,
37518
- isItemExpanded: this.isItemExpanded,
37519
- getPanelAttributes: this.getPanelAttributes,
37520
- getHeadingAttributes: this.getHeadingAttributes,
37521
- getButtonAttributes: this.getButtonAttributes
37522
- }
37523
- }, this.props.children || null);
37524
  }
37525
  }]);
37526
 
37527
- return Provider;
37528
- }(react.PureComponent);
37529
-
37530
- es_defineProperty(Provider, "defaultProps", {
37531
- allowMultipleExpanded: false,
37532
- allowZeroExpanded: false
37533
- });
37534
 
37535
- var Consumer = /*#__PURE__*/function (_React$PureComponent2) {
37536
- es_inherits(Consumer, _React$PureComponent2);
37537
 
37538
- var _super2 = es_createSuper(Consumer);
37539
 
37540
- function Consumer() {
37541
- var _this2;
37542
 
37543
- es_classCallCheck(this, Consumer);
37544
 
37545
- for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
37546
- args[_key3] = arguments[_key3];
37547
- }
37548
 
37549
- _this2 = _super2.call.apply(_super2, [this].concat(args));
37550
 
37551
- es_defineProperty(es_assertThisInitialized(_this2), "renderChildren", function (container) {
37552
- return container ? _this2.props.children(container) : null;
37553
- });
37554
 
37555
- return _this2;
37556
- }
37557
 
37558
- es_createClass(Consumer, [{
37559
- key: "render",
37560
- value: function render() {
37561
- return /*#__PURE__*/(0,react.createElement)(Context.Consumer, null, this.renderChildren);
37562
- }
37563
- }]);
37564
 
37565
- return Consumer;
37566
- }(react.PureComponent);
37567
 
37568
- var Accordion = function Accordion(_ref) {
37569
- var _ref$className = _ref.className,
37570
- className = _ref$className === void 0 ? 'accordion' : _ref$className,
37571
- allowMultipleExpanded = _ref.allowMultipleExpanded,
37572
- allowZeroExpanded = _ref.allowZeroExpanded,
37573
- onChange = _ref.onChange,
37574
- preExpanded = _ref.preExpanded,
37575
- rest = es_objectWithoutProperties(_ref, ["className", "allowMultipleExpanded", "allowZeroExpanded", "onChange", "preExpanded"]);
37576
 
37577
- return /*#__PURE__*/(0,react.createElement)(Provider, {
37578
- preExpanded: preExpanded,
37579
- allowMultipleExpanded: allowMultipleExpanded,
37580
- allowZeroExpanded: allowZeroExpanded,
37581
- onChange: onChange
37582
- }, /*#__PURE__*/(0,react.createElement)("div", es_extends({
37583
- "data-accordion-component": "Accordion",
37584
- className: className
37585
- }, rest)));
37586
  };
37587
 
37588
- var DisplayName;
37589
-
37590
- (function (DisplayName) {
37591
- DisplayName["Accordion"] = "Accordion";
37592
- DisplayName["AccordionItem"] = "AccordionItem";
37593
- DisplayName["AccordionItemB
428
 
429
  __webpack_require__(851);
430
  __webpack_require__(9865);
431
+ module.exports = __webpack_require__(5645).Promise["finally"];
432
 
433
 
434
  /***/ }),
8228
  "use strict";
8229
 
8230
 
8231
+ var reactIs = __webpack_require__(9864);
8232
 
8233
  /**
8234
  * Copyright 2015, Yahoo! Inc.
8331
  module.exports = hoistNonReactStatics;
8332
 
8333
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8334
  /***/ }),
8335
 
8336
  /***/ 8552:
9071
  /***/ 7786:
9072
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9073
 
9074
+ var castPath = __webpack_require__(1811),
9075
  toKey = __webpack_require__(327);
9076
 
9077
  /**
9936
 
9937
  /***/ }),
9938
 
9939
+ /***/ 1811:
9940
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
9941
 
9942
  var isArray = __webpack_require__(1469),
10752
  /***/ 222:
10753
  /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
10754
 
10755
+ var castPath = __webpack_require__(1811),
10756
  isArguments = __webpack_require__(5694),
10757
  isArray = __webpack_require__(1469),
10758
  isIndex = __webpack_require__(5776),
15052
  /***/ ((__unused_webpack_module, exports) => {
15053
 
15054
  "use strict";
15055
+ /** @license React v16.13.1
 
15056
  * react-is.production.min.js
15057
  *
15058
  * Copyright (c) Facebook, Inc. and its affiliates.
15060
  * This source code is licensed under the MIT license found in the
15061
  * LICENSE file in the root directory of this source tree.
15062
  */
15063
+
15064
+ var b="function"===typeof Symbol&&Symbol.for,c=b?Symbol.for("react.element"):60103,d=b?Symbol.for("react.portal"):60106,e=b?Symbol.for("react.fragment"):60107,f=b?Symbol.for("react.strict_mode"):60108,g=b?Symbol.for("react.profiler"):60114,h=b?Symbol.for("react.provider"):60109,k=b?Symbol.for("react.context"):60110,l=b?Symbol.for("react.async_mode"):60111,m=b?Symbol.for("react.concurrent_mode"):60111,n=b?Symbol.for("react.forward_ref"):60112,p=b?Symbol.for("react.suspense"):60113,q=b?
15065
+ Symbol.for("react.suspense_list"):60120,r=b?Symbol.for("react.memo"):60115,t=b?Symbol.for("react.lazy"):60116,v=b?Symbol.for("react.block"):60121,w=b?Symbol.for("react.fundamental"):60117,x=b?Symbol.for("react.responder"):60118,y=b?Symbol.for("react.scope"):60119;
15066
+ function z(a){if("object"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;
15067
+ exports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return"object"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};
15068
+ exports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};
15069
+ exports.isValidElementType=function(a){return"string"===typeof a||"function"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||"object"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;
15070
 
15071
 
15072
  /***/ }),
18439
  var hoist_non_react_statics_cjs = __webpack_require__(8679);
18440
  var hoist_non_react_statics_cjs_default = /*#__PURE__*/__webpack_require__.n(hoist_non_react_statics_cjs);
18441
  ;// CONCATENATED MODULE: ./node_modules/styled-components/dist/styled-components.browser.esm.js
18442
+ function v(){return(v=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}var g=function(e,t){for(var n=[e[0]],r=0,o=t.length;r<o;r+=1)n.push(t[r],e[r+1]);return n},S=function(t){return null!==t&&"object"==typeof t&&"[object Object]"===(t.toString?t.toString():Object.prototype.toString.call(t))&&!(0,react_is.typeOf)(t)},w=Object.freeze([]),E=Object.freeze({});function b(e){return"function"==typeof e}function _(e){return false||e.displayName||e.name||"Component"}function N(e){return e&&"string"==typeof e.styledComponentId}var A="undefined"!=typeof process&&(process.env.REACT_APP_SC_ATTR||process.env.SC_ATTR)||"data-styled",C="5.3.1",I="undefined"!=typeof window&&"HTMLElement"in window,P=Boolean("boolean"==typeof SC_DISABLE_SPEEDY?SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&""!==process.env.REACT_APP_SC_DISABLE_SPEEDY?"false"!==process.env.REACT_APP_SC_DISABLE_SPEEDY&&process.env.REACT_APP_SC_DISABLE_SPEEDY:"undefined"!=typeof process&&void 0!==process.env.SC_DISABLE_SPEEDY&&""!==process.env.SC_DISABLE_SPEEDY?"false"!==process.env.SC_DISABLE_SPEEDY&&process.env.SC_DISABLE_SPEEDY:"production"!=="production"),O={},R= false?0:{};function D(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n<r;n+=1)t.push(n<0||arguments.length<=n?void 0:arguments[n]);return t.forEach((function(t){e=e.replace(/%[a-z]/,t)})),e}function j(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];throw true?new Error("An error occurred. See https://git.io/JUIaE#"+e+" for more information."+(n.length>0?" Args: "+n.join(", "):"")):0}var T=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n<e;n++)t+=this.groupSizes[n];return t},t.insertRules=function(e,t){if(e>=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j(16,""+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s<o;s++)this.groupSizes[s]=0}for(var i=this.indexOfGroup(e+1),a=0,c=t.length;a<c;a++)this.tag.insertRule(i,t[a])&&(this.groupSizes[e]++,i++)},t.clearGroup=function(e){if(e<this.length){var t=this.groupSizes[e],n=this.indexOfGroup(e),r=n+t;this.groupSizes[e]=0;for(var o=n;o<r;o++)this.tag.deleteRule(n)}},t.getGroup=function(e){var t="";if(e>=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s<o;s++)t+=this.tag.getRule(s)+"/*!sc*/\n";return t},e}(),k=new Map,x=new Map,V=1,B=function(e){if(k.has(e))return k.get(e);for(;x.has(V);)V++;var t=V++;return false&&0,k.set(e,t),x.set(t,e),t},M=function(e){return x.get(e)},z=function(e,t){t>=V&&(V=t+1),k.set(e,t),x.set(t,e)},L="style["+A+'][data-styled-version="5.3.1"]',G=new RegExp("^"+A+'\\.g(\\d+)\\[id="([\\w\\d-]+)"\\].*?"([^"]*)'),F=function(e,t,n){for(var r,o=n.split(","),s=0,i=o.length;s<i;s++)(r=o[s])&&e.registerName(t,r)},Y=function(e,t){for(var n=(t.innerHTML||"").split("/*!sc*/\n"),r=[],o=0,s=n.length;o<s;o++){var i=n[o].trim();if(i){var a=i.match(G);if(a){var c=0|parseInt(a[1],10),u=a[2];0!==c&&(z(u,c),F(e,u,a[3]),e.getTag().insertRules(c,r)),r.length=0}else r.push(i)}}},q=function(){return"undefined"!=typeof window&&void 0!==window.__webpack_nonce__?window.__webpack_nonce__:null},H=function(e){var t=document.head,n=e||t,r=document.createElement("style"),o=function(e){for(var t=e.childNodes,n=t.length;n>=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(A,"active"),r.setAttribute("data-styled-version","5.3.1");var i=q();return i&&r.setAttribute("nonce",i),n.insertBefore(r,s),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode("")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n<r;n++){var o=t[n];if(o.ownerNode===e)return o}j(17)}(t),this.length=0}var t=e.prototype;return t.insertRule=function(e,t){try{return this.sheet.insertRule(t,e),this.length++,!0}catch(e){return!1}},t.deleteRule=function(e){this.sheet.deleteRule(e),this.length--},t.getRule=function(e){var t=this.sheet.cssRules[e];return void 0!==t&&"string"==typeof t.cssText?t.cssText:""},e}(),W=function(){function e(e){var t=this.element=H(e);this.nodes=t.childNodes,this.length=0}var t=e.prototype;return t.insertRule=function(e,t){if(e<=this.length&&e>=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e<this.length?this.nodes[e].textContent:""},e}(),U=function(){function e(e){this.rules=[],this.length=0}var t=e.prototype;return t.insertRule=function(e,t){return e<=this.length&&(this.rules.splice(e,0,t),this.length++,!0)},t.deleteRule=function(e){this.rules.splice(e,1),this.length--},t.getRule=function(e){return e<this.length?this.rules[e]:""},e}(),J=I,X={isServer:!I,useCSSOMInjection:!P},Z=function(){function e(e,t,n){void 0===e&&(e=E),void 0===t&&(t={}),this.options=v({},X,{},e),this.gs=t,this.names=new Map(n),this.server=!!e.isServer,!this.server&&I&&J&&(J=!1,function(e){for(var t=document.querySelectorAll(L),n=0,r=t.length;n<r;n++){var o=t[n];o&&"active"!==o.getAttribute(A)&&(Y(e,o),o.parentNode&&o.parentNode.removeChild(o))}}(this))}e.registerId=function(e){return B(e)};var t=e.prototype;return t.reconstructWithOptions=function(t,n){return void 0===n&&(n=!0),new e(v({},this.options,{},t),this.gs,n&&this.names||void 0)},t.allocateGSInstance=function(e){return this.gs[e]=(this.gs[e]||0)+1},t.getTag=function(){return this.tag||(this.tag=(n=(t=this.options).isServer,r=t.useCSSOMInjection,o=t.target,e=n?new U(o):r?new $(o):new W(o),new T(e)));var e,t,n,r,o},t.hasNameForId=function(e,t){return this.names.has(e)&&this.names.get(e).has(t)},t.registerName=function(e,t){if(B(e),this.names.has(e))this.names.get(e).add(t);else{var n=new Set;n.add(t),this.names.set(e,n)}},t.insertRules=function(e,t,n){this.registerName(e,t),this.getTag().insertRules(B(e),n)},t.clearNames=function(e){this.names.has(e)&&this.names.get(e).clear()},t.clearRules=function(e){this.getTag().clearGroup(B(e)),this.clearNames(e)},t.clearTag=function(){this.tag=void 0},t.toString=function(){return function(e){for(var t=e.getTag(),n=t.length,r="",o=0;o<n;o++){var s=M(o);if(void 0!==s){var i=e.names.get(s),a=t.getGroup(o);if(i&&a&&i.size){var c=A+".g"+o+'[id="'+s+'"]',u="";void 0!==i&&i.forEach((function(e){e.length>0&&(u+=e+",")})),r+=""+a+c+'{content:"'+u+'"}/*!sc*/\n'}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n="";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return(Q(t%52)+n).replace(K,"$1-$2")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t<e.length;t+=1){var n=e[t];if(b(n)&&!N(n))return!1}return!0}var oe=ne("5.3.1"),se=function(){function e(e,t,n){this.rules=e,this.staticRulesId="",this.isStatic= true&&(void 0===n||n.isStatic)&&re(e),this.componentId=t,this.baseHash=te(oe,t),this.baseStyle=n,Z.registerId(t)}return e.prototype.generateAndInjectStyles=function(e,t,n){var r=this.componentId,o=[];if(this.baseStyle&&o.push(this.baseStyle.generateAndInjectStyles(e,t,n)),this.isStatic&&!n.hash)if(this.staticRulesId&&t.hasNameForId(r,this.staticRulesId))o.push(this.staticRulesId);else{var s=Ne(this.rules,e,t,n).join(""),i=ee(te(this.baseHash,s)>>>0);if(!t.hasNameForId(r,i)){var a=n(s,"."+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=te(this.baseHash,n.hash),l="",d=0;d<c;d++){var h=this.rules[d];if("string"==typeof h)l+=h, false&&(0);else if(h){var p=Ne(h,e,t,n),f=Array.isArray(p)?p.join(""):p;u=te(u,f+d),l+=f}}if(l){var m=ee(u>>>0);if(!t.hasNameForId(r,m)){var y=n(l,"."+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(" ")},e}(),ie=/^\s*\/\/.*$/gm,ae=[":","[",".","#"];function ce(e){var t,n,r,o,s=void 0===e?E:e,i=s.options,a=void 0===i?E:i,c=s.plugins,u=void 0===c?w:c,l=new stylis_browser_esm(a),d=[],h=function(e){function t(t){if(t)try{e(t+"}")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+";"),"";break;case 2:if(0===u)return r+"/*|*/";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),"";default:return r+(0===d?"/*|*/":"")}case-2:r.split("/*|*/}").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ae.indexOf(s[n.length])||s.match(o)?e:"."+t};function m(e,s,i,a){void 0===a&&(a="&");var c=e.replace(ie,""),u=s&&i?i+" "+s+" { "+c+" }":c;return t=a,n=s,r=new RegExp("\\"+n+"\\b","g"),o=new RegExp("(\\"+n+"\\b){2,}"),l(i||!s?"":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j(15),te(e,t.name)}),5381).toString():"",m}var ue=react.createContext(),le=ue.Consumer,de=react.createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return (0,react.useContext)(ue)||he}function me(){return (0,react.useContext)(de)||pe}function ye(e){var t=(0,react.useState)(e.stylisPlugins),n=t[0],s=t[1],c=fe(),u=(0,react.useMemo)((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=(0,react.useMemo)((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return (0,react.useEffect)((function(){shallowequal_default()(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),react.createElement(ue.Provider,{value:u},react.createElement(de.Provider,{value:l}, false?0:e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,"@keyframes"))},this.toString=function(){return j(12,String(n.name))},this.name=e,this.id="sc-keyframes-"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return"-"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,"-ms-"):e}var _e=function(e){return null==e||!1===e||""===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a<c;a+=1)""!==(s=Ne(e[a],n,r,o))&&(Array.isArray(s)?i.push.apply(i,s):i.push(s));return i}if(_e(e))return"";if(N(e))return"."+e.styledComponentId;if(b(e)){if("function"!=typeof(l=e)||l.prototype&&l.prototype.isReactComponent||!n)return e;var u=e(n);return false&&0,Ne(u,n,r,o)}var l;return e instanceof ve?r?(e.inject(r,o),e.getName(o)):e:S(e)?function e(t,n){var r,o,s=[];for(var i in t)t.hasOwnProperty(i)&&!_e(t[i])&&(Array.isArray(t[i])&&t[i].isCss||b(t[i])?s.push(be(i)+":",t[i],";"):S(t[i])?s.push.apply(s,e(t[i],i)):s.push(be(i)+": "+(r=i,null==(o=t[i])||"boolean"==typeof o||""===o?"":"number"!=typeof o||0===o||r in unitless_browser_esm?String(o).trim():o+"px")+";"));return n?[n+" {"].concat(s,["}"]):s}(e):e.toString()}var Ae=function(e){return Array.isArray(e)&&(e.isCss=!0),e};function Ce(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];return b(e)||S(e)?Ae(Ne(g(w,[e].concat(n)))):0===n.length&&1===e.length&&"string"==typeof e[0]?e:Ae(Ne(g(e,n)))}var Ie=/invalid hook call/i,Pe=new Set,Oe=function(e,t){if(false){ var o, n, r; }},Re=function(e,t,n){return void 0===n&&(n=E),e.theme!==n.theme&&e.theme||t||n.theme},De=/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~-]+/g,je=/(^-|-$)/g;function Te(e){return e.replace(De,"-").replace(je,"")}var ke=function(e){return ee(ne(e)>>>0)};function xe(e){return"string"==typeof e&&( true||0)}var Ve=function(e){return"function"==typeof e||"object"==typeof e&&null!==e&&!Array.isArray(e)},Be=function(e){return"__proto__"!==e&&"constructor"!==e&&"prototype"!==e};function Me(e,t,n){var r=e[n];Ve(t)&&Ve(r)?ze(r,t):e[n]=t}function ze(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];for(var o=0,s=n;o<s.length;o++){var i=s[o];if(Ve(i))for(var a in i)Be(a)&&Me(e,i[a],a)}return e}var Le=react.createContext(),Ge=Le.Consumer;function Fe(e){var t=s(Le),n=i((function(){return function(e,t){if(!e)return j(14);if(b(e)){var n=e(t);return true?n:0}return Array.isArray(e)||"object"!=typeof e?j(8):t?v({},t,{},e):e}(e.theme,t)}),[e.theme,t]);return e.children?r.createElement(Le.Provider,{value:n},e.children):null}var Ye={};function qe(e,t,n){var o=N(e),i=!xe(e),a=t.attrs,c=void 0===a?w:a,d=t.componentId,h=void 0===d?function(e,t){var n="string"!=typeof e?"sc":Te(e);Ye[n]=(Ye[n]||0)+1;var r=n+"-"+ke("5.3.1"+n+Ye[n]);return t?t+"-"+r:r}(t.displayName,t.parentComponentId):d,p=t.displayName,f=void 0===p?function(e){return xe(e)?"styled."+e:"Styled("+_(e)+")"}(e):p,g=t.displayName&&t.componentId?Te(t.displayName)+"-"+t.componentId:t.componentId||h,S=o&&e.attrs?Array.prototype.concat(e.attrs,c).filter(Boolean):c,A=t.shouldForwardProp;o&&e.shouldForwardProp&&(A=t.shouldForwardProp?function(n,r,o){return e.shouldForwardProp(n,r,o)&&t.shouldForwardProp(n,r,o)}:e.shouldForwardProp);var C,I=new se(n,g,o?e.componentStyle:void 0),P=I.isStatic&&0===c.length,O=function(e,t){return function(e,t,n,r){var o=e.attrs,i=e.componentStyle,a=e.defaultProps,c=e.foldedComponentIds,d=e.shouldForwardProp,h=e.styledComponentId,p=e.target; false&&0;var f=function(e,t,n){void 0===e&&(e=E);var r=v({},t,{theme:e}),o={};return n.forEach((function(e){var t,n,s,i=e;for(t in b(i)&&(i=i(r)),i)r[t]=o[t]="className"===t?(n=o[t],s=i[t],n&&s?n+" "+s:n||s):i[t]})),[r,o]}(Re(t,(0,react.useContext)(Le),a)||E,t,o),y=f[0],g=f[1],S=function(e,t,n,r){var o=fe(),s=me(),i=t?e.generateAndInjectStyles(E,o,s):e.generateAndInjectStyles(n,o,s);return false&&0, false&&0,i}(i,r,y, false?0:void 0),w=n,_=g.$as||t.$as||g.as||t.as||p,N=xe(_),A=g!==t?v({},t,{},g):t,C={};for(var I in A)"$"!==I[0]&&"as"!==I&&("forwardedAs"===I?C.as=A[I]:(d?d(I,is_prop_valid_browser_esm,_):!N||is_prop_valid_browser_esm(I))&&(C[I]=A[I]));return t.style&&g.style!==t.style&&(C.style=v({},t.style,{},g.style)),C.className=Array.prototype.concat(c,h,S!==h?S:null,t.className,g.className).filter(Boolean).join(" "),C.ref=w,(0,react.createElement)(_,C)}(C,e,t,P)};return O.displayName=f,(C=react.forwardRef(O)).attrs=S,C.componentStyle=I,C.displayName=f,C.shouldForwardProp=A,C.foldedComponentIds=o?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):w,C.styledComponentId=g,C.target=o?e.target:e,C.withComponent=function(e){var r=t.componentId,o=function(e,t){if(null==e)return{};var n,r,o={},s=Object.keys(e);for(r=0;r<s.length;r++)n=s[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(t,["componentId"]),s=r&&r+"-"+(xe(e)?e:Te(_(e)));return qe(e,v({},o,{attrs:S,componentId:s}),n)},Object.defineProperty(C,"defaultProps",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?ze({},e.defaultProps,t):t}}), false&&(0),C.toString=function(){return"."+C.styledComponentId},i&&hoist_non_react_statics_cjs_default()(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var He=function(e){return function e(t,r,o){if(void 0===o&&(o=E),!(0,react_is.isValidElementType)(r))return j(1,String(r));var s=function(){return t(r,o,Ce.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v({},o,{},n))},s.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(qe,e)};["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","big","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","dialog","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","noscript","object","ol","optgroup","option","output","p","param","picture","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","title","tr","track","u","ul","var","video","wbr","circle","clipPath","defs","ellipse","foreignObject","g","image","line","linearGradient","marker","mask","path","pattern","polygon","polyline","radialGradient","rect","stop","svg","text","textPath","tspan"].forEach((function(e){He[e]=He(e)}));var $e=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(""),""),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o<t;o++)n[o-1]=arguments[o];var i=Ce.apply(void 0,[e].concat(n)),a="sc-global-"+ke(JSON.stringify(i)),u=new $e(i,a);function l(e){var t=fe(),n=me(),o=(0,react.useContext)(Le),l=(0,react.useRef)(t.allocateGSInstance(a)).current;return false&&0, false&&0,t.server&&h(l,e,t,o,n),(0,react.useLayoutEffect)((function(){if(!t.server)return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else{var s=v({},t,{theme:Re(t,r,l.defaultProps)});u.renderStyles(e,s,n,o)}}return false&&0,react.memo(l)}function Ue(e){ false&&0;for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var o=Ce.apply(void 0,[e].concat(n)).join(""),s=ke(o);return new ve(s,o)}var Je=function(){function e(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return"";var n=q();return"<style "+[n&&'nonce="'+n+'"',A+'="true"','data-styled-version="5.3.1"'].filter(Boolean).join(" ")+">"+t+"</style>"},this.getStyleTags=function(){return e.sealed?j(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j(2);var n=((t={})[A]="",t["data-styled-version"]="5.3.1",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[react.createElement("style",v({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new Z({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j(2):react.createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j(3)},e}(),Xe=function(e){var t=r.forwardRef((function(t,n){var o=s(Le),i=e.defaultProps,a=Re(t,o,i);return false&&0,r.createElement(e,v({},t,{theme:a,ref:n}))}));return y(t,e),t.displayName="WithTheme("+_(e)+")",t},Ze=function(){return s(Le)},Ke={StyleSheet:Z,masterSheet:he}; false&&0, false&&(0);/* harmony default export */ const styled_components_browser_esm = (He);
18443
  //# sourceMappingURL=styled-components.browser.esm.js.map
18444
 
18445
  ;// CONCATENATED MODULE: ./app/react/ui/Beacon/index.js
18473
 
18474
  // TAB
18475
  var TITLE_DESCRIPTION_META = "TITLE_DESCRIPTION_META";
18476
+ var CONTENT_ANALYSIS = "CONTENT_ANALYSIS";
18477
+ var SCHEMAS = "SCHEMAS"; // SUB TAB
18478
 
18479
  var TITLE_SETTINGS = "TITLE_SETTINGS";
18480
  var ADVANCED = "ADVANCED";
18484
  var GOOGLE_NEWS = "GOOGLE_NEWS";
18485
  var VIDEO_SITEMAP = "VIDEO_SITEMAP";
18486
  var INTERNAL_LINKING = "INTERNAL_LINKING";
18487
+ var SCHEMA_MANUAL = "SCHEMA_MANUAL";
18488
  var ROLE_GLOBAL = "GLOBAL";
18489
  var ROLE_CONTENT_ANALYSIS = "CONTENT_ANALYSIS";
18490
  var __ = wp.i18n.__;
18492
  return [{
18493
  key: TITLE_DESCRIPTION_META,
18494
  title: __("Titles & Metas", "wp-seopress"),
18495
+ canView: function canView() {
18496
+ return true;
18497
+ },
18498
  type_role: ROLE_GLOBAL,
18499
  default_sub_tab: TITLE_SETTINGS
18500
  }, {
18501
  key: CONTENT_ANALYSIS,
18502
  title: __("Content Analysis", "wp-seopress"),
18503
+ canView: function canView() {
18504
+ return true;
18505
+ },
18506
  type_role: ROLE_CONTENT_ANALYSIS,
18507
  default_sub_tab: OVERVIEW
18508
+ }, {
18509
+ key: SCHEMAS,
18510
+ title: __("Schemas", "wp-seopress"),
18511
+ canView: function canView() {
18512
+ return get_default()(SEOPRESS_DATA, ["TABS", "SCHEMAS"], false);
18513
+ },
18514
+ type_role: ROLE_GLOBAL,
18515
+ default_sub_tab: SCHEMA_MANUAL
18516
  }];
18517
  };
18518
  var getSubTabs = function getSubTabs() {
18572
  return get_default()(SEOPRESS_DATA, ["SUB_TABS", INTERNAL_LINKING], false);
18573
  },
18574
  title: __("Internal Linking", "wp-seopress")
18575
+ }, {
18576
+ parent: SCHEMAS,
18577
+ key: SCHEMA_MANUAL,
18578
+ canView: function canView() {
18579
+ return true;
18580
+ },
18581
+ title: __("Manual", "wp-seopress")
18582
  }];
18583
  };
18584
  ;// CONCATENATED MODULE: ./app/react/contexts/MetaboxContext.js
20823
  var extendStatics = function (d, b) {
20824
  extendStatics = Object.setPrototypeOf ||
20825
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20826
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
20827
  return extendStatics(d, b);
20828
  };
20829
  return function (d, b) {
20830
+ if (typeof b !== "function" && b !== null)
20831
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
20832
  extendStatics(d, b);
20833
  function __() { this.constructor = d; }
20834
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
20935
  var extendStatics = function (d, b) {
20936
  extendStatics = Object.setPrototypeOf ||
20937
  ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
20938
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
20939
  return extendStatics(d, b);
20940
  };
20941
  return function (d, b) {
20942
+ if (typeof b !== "function" && b !== null)
20943
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
20944
  extendStatics(d, b);
20945
  function __() { this.constructor = d; }
20946
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
21459
  if (event.nativeEvent && isMouseEvent(event.nativeEvent)) {
21460
  clientX = event.nativeEvent.clientX;
21461
  clientY = event.nativeEvent.clientY;
 
 
 
 
 
 
21462
  }
21463
  else if (event.nativeEvent && isTouchEvent(event.nativeEvent)) {
21464
  clientX = event.nativeEvent.touches[0].clientX;
21739
  /* harmony default export */ const ui_SeoBar = (SeoBar);
21740
  ;// CONCATENATED MODULE: ./app/react/ui/Button/index.js
21741
 
21742
+
21743
  var SCButton = styled_components_browser_esm.button.withConfig({
21744
  componentId: "sc-14aqw4v-0"
21745
  })(["&&&&{display:inline-flex;text-decoration:none;font-size:13px;margin:0;border:0;cursor:pointer;-webkit-appearance:none;background:none;background-color:none;:not(:hover):not(:active):not(.has-background):not(:focus){background:none;background-color:none;box-shadow:none;}transition:box-shadow 0.1s linear;height:36px;align-items:center;padding:6px 12px;border-radius:2px;vertical-align:middle;box-shadow:inset 0 0 0 1px var(--primaryColor);outline:1px solid transparent;white-space:nowrap;color:var(--primaryColor);background:transparent;font-weight:inherit;text-transform:inherit;", " ", "}&&&&:focus{border:2px solid var(--colorDark);}&&&& svg *{", "}"], function (_ref) {
21752
  var secondary = _ref3.secondary;
21753
  return secondary && "\n fill: var(--primaryColor);\n ";
21754
  });
21755
+ /* harmony default export */ const ui_Button = (/*#__PURE__*/react.memo(SCButton));
21756
  ;// CONCATENATED MODULE: ./app/react/ui/SeoBar/components/Head/index.js
21757
 
21758
  var SCSeoBarHead = styled_components_browser_esm.div.withConfig({
24566
  multiple = target.multiple;
24567
  field = maybePath ? maybePath : name ? name : id;
24568
 
24569
+ if (!field && "production" !== "production") {}
 
 
 
 
 
 
24570
 
24571
  val = /number|range/.test(type) ? (parsed = parseFloat(value), isNaN(parsed) ? '' : parsed) : /checkbox/.test(type) // checkboxes
24572
  ? getValueForCheckbox(getIn(state.values, field), checked, value) : options && multiple // <select multiple>
24613
  outerHTML = _e$target.outerHTML;
24614
  var field = path ? path : name ? name : id;
24615
 
24616
+ if (!field && "production" !== "production") {}
 
 
 
 
 
 
24617
 
24618
  setFieldTouched(field, true);
24619
  }, [setFieldTouched]);
25786
 
25787
  //# sourceMappingURL=formik.esm.js.map
25788
 
25789
+ // EXTERNAL MODULE: ./node_modules/lodash/debounce.js
25790
+ var debounce = __webpack_require__(3279);
25791
+ var debounce_default = /*#__PURE__*/__webpack_require__.n(debounce);
25792
  ;// CONCATENATED MODULE: ./app/react/ui/Dashicons/NoAlt/index.js
25793
  var NoAlt_excluded = ["className"];
25794
 
25838
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Input/index.js
25839
 
25840
 
25841
+
25842
  var SCInputDefault = styled_components_browser_esm.input.withConfig({
25843
  componentId: "sc-1bv2xq-0"
25844
  })(["&&&&{width:100%;font-family:var(--fontFamily);padding:6px 8px;margin:0;box-shadow:0 0 0 transparent;transition:box-shadow 0.1s linear;background:none;color:var(--colorP);border-radius:2px;border:1px solid var(--color);font-size:var(--fontSize);line-height:normal;appearance:none;&:focus,&:active{border-color:var(--backgroundPrimary);box-shadow:0 0 0 1px var(--backgroundPrimary);outline:2px solid transparent;}}"]);
25849
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Input/index.js
25850
 
25851
 
25852
+
25853
  var Input_excluded = ["name", "id", "value", "type", "emptyIcon", "setFieldValue"];
25854
 
25855
  function Input_extends() { Input_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Input_extends.apply(this, arguments); }
25856
 
25857
+ function Input_slicedToArray(arr, i) { return Input_arrayWithHoles(arr) || Input_iterableToArrayLimit(arr, i) || Input_unsupportedIterableToArray(arr, i) || Input_nonIterableRest(); }
25858
+
25859
+ function Input_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
25860
+
25861
+ function Input_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Input_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Input_arrayLikeToArray(o, minLen); }
25862
+
25863
+ function Input_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
25864
+
25865
+ function Input_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
25866
+
25867
+ function Input_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25868
+
25869
  function Input_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Input_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25870
 
25871
  function Input_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
25885
  setFieldValue = _ref.setFieldValue,
25886
  rest = Input_objectWithoutProperties(_ref, Input_excluded);
25887
 
25888
+ var _useState = (0,react.useState)(value),
25889
+ _useState2 = Input_slicedToArray(_useState, 2),
25890
+ formValue = _useState2[0],
25891
+ setFormValue = _useState2[1];
25892
+
25893
+ (0,react.useEffect)(function () {
25894
+ setFormValue(value);
25895
+ }, [value]);
25896
+ (0,react.useEffect)(function () {
25897
+ saveFormData(formValue);
25898
+ }, [formValue]);
25899
+ var saveFormData = (0,react.useCallback)(debounce_default()(function (value) {
25900
+ setFieldValue(name, value);
25901
+ }, 200), []);
25902
+
25903
  if (!emptyIcon) {
25904
  return /*#__PURE__*/react.createElement(Input, Input_extends({
25905
  name: name,
25906
  id: id,
25907
  type: type,
25908
+ value: formValue,
25909
+ onChange: function onChange(e) {
25910
+ setFormValue(e.target.value);
25911
+ }
25912
  }, rest));
25913
  }
25914
 
25921
  name: name,
25922
  id: id,
25923
  type: type,
25924
+ value: formValue,
25925
+ onChange: function onChange(e) {
25926
+ setFormValue(e.target.value);
25927
+ },
25928
  style: {
25929
  width: "100%"
25930
  }
25931
+ }, rest)), !isEmpty_default()(value) && /*#__PURE__*/react.createElement(NoAlt, {
25932
  style: {
25933
  position: "absolute",
25934
  right: 4,
25935
  zIndex: 10,
25936
+ top: 0,
25937
  transform: "translateY(50%)",
25938
  marginTop: -5,
25939
  backgroundColor: "#fff"
27566
  if (
27567
  this.options.useExtendedSearch &&
27568
  !true
27569
+ ) {}
 
 
27570
 
27571
  this._keyStore = new KeyStore(this.options.keys);
27572
 
28156
  var TITLE_CHARS_LIMIT = 60;
28157
  var DESCRIPTION_PIXEL_LIMIT = 940;
28158
  var DESCRIPTION_CHARS_LIMIT = 160;
28159
+ ;// CONCATENATED MODULE: ./app/react/components/Tooltip/index.js
28160
+
28161
+
28162
+ var Tooltip = function Tooltip(_ref) {
28163
+ var title = _ref.title,
28164
+ description = _ref.description,
28165
+ code = _ref.code;
28166
+ return /*#__PURE__*/react.createElement("button", {
28167
+ type: "button",
28168
+ className: "sp-tooltip"
28169
+ }, /*#__PURE__*/react.createElement("span", {
28170
+ className: "dashicons dashicons-editor-help"
28171
+ }), /*#__PURE__*/react.createElement("span", {
28172
+ className: "sp-tooltiptext",
28173
+ role: "tooltip",
28174
+ tabIndex: "0"
28175
+ }, /*#__PURE__*/react.createElement("span", {
28176
+ className: "sp-tooltip-headings"
28177
+ }, title), /*#__PURE__*/react.createElement("span", {
28178
+ className: "sp-tooltip-desc"
28179
+ }, description), code && /*#__PURE__*/react.createElement("span", {
28180
+ className: "sp-tooltip-code"
28181
+ }, code)));
28182
+ };
28183
+
28184
+ /* harmony default export */ const components_Tooltip = (Tooltip);
28185
  ;// CONCATENATED MODULE: ./app/react/components/Forms/MetaTitleDescription/index.js
28186
 
28187
 
28204
 
28205
 
28206
 
28207
+
28208
  var MetaTitleDescription_ = wp.i18n.__;
28209
 
28210
  var FormMetaTitleDescription = function FormMetaTitleDescription(_ref) {
28249
  var percentDescription = getPercentPixelValue(pixelDescription, DESCRIPTION_PIXEL_LIMIT);
28250
  return /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(components_Label, {
28251
  htmlFor: "title"
28252
+ }, MetaTitleDescription_("Title", "wp-seopress"), /*#__PURE__*/react.createElement(components_Tooltip, {
28253
+ title: MetaTitleDescription_("Meta title", "wp-seopress"),
28254
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaTitleDescription_("Titles are critical to give users a quick insight into the content of a result and why it’s relevant to their query. It's often the primary piece of information used to decide which result to click on, so it's important to use high-quality titles on your web pages.", "wp-seopress")),
28255
+ code: "<title>My super title</title>"
28256
+ })), /*#__PURE__*/react.createElement(components_Input, {
28257
  id: "title",
28258
  name: "title",
28259
  value: values.title,
28260
  placeholder: get_default()(data, "title.value", MetaTitleDescription_("Enter your title", "wp-seopress")),
28261
+ className: "w-full",
28262
+ setFieldValue: rest.setFieldValue
28263
  }), /*#__PURE__*/react.createElement("div", {
28264
  style: {
28265
  marginTop: 5
28284
  handleChoiceTag: handleChoiceTagTitle
28285
  })), /*#__PURE__*/react.createElement(components_Label, {
28286
  htmlFor: "description"
28287
+ }, MetaTitleDescription_("Meta description", "wp-seopress"), /*#__PURE__*/react.createElement(components_Tooltip, {
28288
+ title: MetaTitleDescription_("Meta description", "wp-seopress"),
28289
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaTitleDescription_("A meta description tag should generally inform and interest users with a short, relevant summary of what a particular page is about.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaTitleDescription_("They are like a pitch that convince the user that the page is exactly what they're looking for.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaTitleDescription_("There's no limit on how long a meta description can be, but the search result snippets are truncated as needed, typically to fit the device width.", "wp-seopress")),
28290
+ code: "<meta name=\"description\" content=\"my super meta description\" />"
28291
+ })), /*#__PURE__*/react.createElement(TextArea, {
28292
  id: "description",
28293
  name: "description",
28294
  style: {
28330
  // EXTERNAL MODULE: ./node_modules/lodash/truncate.js
28331
  var truncate = __webpack_require__(9138);
28332
  var truncate_default = /*#__PURE__*/__webpack_require__.n(truncate);
 
 
 
28333
  ;// CONCATENATED MODULE: ./app/react/services/api/getPathPreviewTitleDescription.js
28334
  var getPathPreviewTitleDescription = function getPathPreviewTitleDescription(_ref) {
28335
  var postId = _ref.postId;
28375
 
28376
 
28377
 
28378
+
28379
  var GooglePreview_ = wp.i18n.__;
28380
  var MOBILE_PREVIEW = 1;
28381
  var DESKTOP_PREVIEW = 0;
28529
  textTransform: "none",
28530
  fontWeight: "bold"
28531
  }
28532
+ }, GooglePreview_("Google Snippet Preview", "wp-seopress"), /*#__PURE__*/react.createElement(components_Tooltip, {
28533
+ title: GooglePreview_("Snippet Preview", "wp-seopress"),
28534
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, GooglePreview_("The Google preview is a simulation.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", GooglePreview_("There is no reliable preview because it depends on the screen resolution, the device used, the expression sought, and Google.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", GooglePreview_("There is not one snippet for one URL but several.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", GooglePreview_("All the data in this overview comes directly from your source code.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", GooglePreview_("This is what the crawlers will see.", "wp-seopress"))
28535
+ })), /*#__PURE__*/react.createElement("p", null, GooglePreview_("This is what your page will look like in Google search results. You have to publish your post to get the Google Snippet Preview.", "wp-seopress")), /*#__PURE__*/react.createElement("label", {
28536
  htmlFor: "toggle-preview",
28537
  className: "flex items-center",
28538
  style: {
28878
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Checkbox/index.js
28879
 
28880
 
28881
+ var SCCheckboxDefault = styled_components_browser_esm.input.withConfig({
28882
  componentId: "sc-dkrxdi-0"
28883
  })(["&&&{border:1px solid #8c8f94;border-radius:4px;background:#fff;color:#50575e;clear:none;cursor:pointer;display:inline-block;line-height:0;height:1rem;margin:-0.25rem 0.25rem 0 0;outline:0;padding:0 !important;text-align:center;vertical-align:middle;width:1rem;min-width:1rem;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgb(0 0 0 / 10%);transition:0.05s border-color ease-in-out;font-family:var(--fontFamily);&:checked{&:before{content:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E);margin:-0.1875rem 0 0 -0.25rem;height:1.3125rem;width:1.3125rem;float:left;display:inline-block;vertical-align:middle;speak:never;-webkit-font-smoothing:antialiased;}&:after{content:none;}}&:after{content:none;}&:disabled{&:after{content:none;}&:before{opacity:0.7;}}}"]);
28884
+ var SCCheckbox = styled_components_browser_esm(Forms_FilteredPropsInputField).withConfig({
28885
+ componentId: "sc-dkrxdi-1"
28886
+ })(["&&&{border:1px solid #8c8f94;border-radius:4px;background:#fff;color:#50575e;clear:none;cursor:pointer;display:inline-block;line-height:0;height:1rem;margin:-0.25rem 0.25rem 0 0;outline:0;padding:0 !important;text-align:center;vertical-align:middle;width:1rem;min-width:1rem;-webkit-appearance:none;box-shadow:inset 0 1px 2px rgb(0 0 0 / 10%);transition:0.05s border-color ease-in-out;font-family:var(--fontFamily);&:checked{&:before{content:url(data:image/svg+xml;utf8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2020%2020%27%3E%3Cpath%20d%3D%27M14.83%204.89l1.34.94-5.81%208.38H9.02L5.78%209.67l1.34-1.25%202.57%202.4z%27%20fill%3D%27%233582c4%27%2F%3E%3C%2Fsvg%3E);margin:-0.1875rem 0 0 -0.25rem;height:1.3125rem;width:1.3125rem;float:left;display:inline-block;vertical-align:middle;speak:never;-webkit-font-smoothing:antialiased;}&:after{content:none;}}&:after{content:none;}&:disabled{&:after{content:none;}&:before{opacity:0.7;}}}"]);
28887
  /* harmony default export */ const Checkbox = (SCCheckbox);
28888
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Checkbox/index.js
28889
  var Checkbox_excluded = ["name", "id", "value"];
28913
 
28914
  /* harmony default export */ const components_Checkbox = (FieldCheckbox);
28915
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/MediaUpload/index.js
 
 
 
 
 
28916
 
28917
 
28918
 
28928
  placeholder = _ref$placeholder === void 0 ? "" : _ref$placeholder,
28929
  _ref$emptyIcon = _ref.emptyIcon,
28930
  emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
28931
+ combinedValuesForm = _ref.combinedValuesForm;
28932
 
28933
  var onClick = function onClick(e) {
28934
  e.preventDefault();
28938
  mediaUploader.on("select", function () {
28939
  var attachment = mediaUploader.state().get("selection").first().toJSON();
28940
  setFieldValue(name, attachment.url);
28941
+ setFieldValue("".concat(name, "_attachment_id"), attachment.id);
28942
+ setFieldValue("".concat(name, "_width"), attachment.width);
28943
+ setFieldValue("".concat(name, "_height"), attachment.height);
28944
  });
28945
  mediaUploader.open();
28946
  };
28955
  setFieldValue: setFieldValue,
28956
  value: value,
28957
  placeholder: placeholder
28958
+ }), /*#__PURE__*/react.createElement("input", {
28959
+ type: "hidden",
28960
+ name: "".concat(name, "_attachment_id"),
28961
+ value: get_default()(combinedValuesForm, "".concat(name, "_attachment_id"), "")
28962
+ }), /*#__PURE__*/react.createElement("input", {
28963
+ type: "hidden",
28964
+ name: "".concat(name, "_width"),
28965
+ value: get_default()(combinedValuesForm, "".concat(name, "_width"), "")
28966
+ }), /*#__PURE__*/react.createElement("input", {
28967
+ type: "hidden",
28968
+ name: "".concat(name, "_height"),
28969
+ value: get_default()(combinedValuesForm, "".concat(name, "_height"), "")
28970
  }), /*#__PURE__*/react.createElement(ui_Button, {
28971
  onClick: onClick,
28972
  className: "ms-2"
28977
  ;// CONCATENATED MODULE: ./app/react/ui/Forms/components/Select/index.js
28978
 
28979
 
28980
+ var SCSelectDefault = styled_components_browser_esm.select.withConfig({
28981
  componentId: "sc-gds3ax-0"
28982
  })(["&&&{line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;border:1px solid #8c8f94;font-size:var(--fontSize);font-family:var(--fontFamily);padding:0 24px 0 8px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer;vertical-align:middle;@media only screen and (max-width:600px){max-width:100%;width:100%;}&:focus{border-color:#2271b1;color:#0a4b78;box-shadow:0 0 0 1px #2271b1;outline:none;}}"]);
28983
+ var SCSelect = styled_components_browser_esm(Forms_FilteredPropsInputField).withConfig({
28984
+ componentId: "sc-gds3ax-1"
28985
+ })(["&&&{line-height:2;color:#2c3338;border-color:#8c8f94;box-shadow:none;border-radius:3px;border:1px solid #8c8f94;font-size:var(--fontSize);font-family:var(--fontFamily);padding:0 24px 0 8px;min-height:30px;max-width:25rem;-webkit-appearance:none;background:#fff url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;background-size:16px 16px;cursor:pointer;vertical-align:middle;@media only screen and (max-width:600px){max-width:100%;width:100%;}&:focus{border-color:#2271b1;color:#0a4b78;box-shadow:0 0 0 1px #2271b1;outline:none;}}"]);
28986
  /* harmony default export */ const Select = (SCSelect);
28987
  ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Select/index.js
28988
  var Select_excluded = ["name", "id", "value", "options"];
29337
  };
29338
 
29339
  /* harmony default export */ const components_LabelCheckbox = (LabelCheckbox);
29340
+ ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Date/index.js
29341
+ var Date_excluded = ["name", "id", "value"];
29342
 
29343
+ function Date_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Date_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29344
 
29345
+ function Date_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29346
 
 
29347
 
 
29348
 
29349
+ var FieldDate = function FieldDate(_ref) {
29350
+ var name = _ref.name,
29351
+ id = _ref.id,
29352
+ value = _ref.value,
29353
+ rest = Date_objectWithoutProperties(_ref, Date_excluded);
29354
+
29355
+ var ref = (0,react.useRef)();
29356
+ (0,react.useEffect)(function () {
29357
+ jQuery(ref.current).datepicker({
29358
+ onSelect: function onSelect(date) {
29359
+ return rest.setFieldValue(name, date);
29360
+ },
29361
+ defaultDate: value,
29362
+ dateFormat: "yy-mm-dd",
29363
+ beforeShow: function beforeShow(input, inst) {
29364
+ jQuery("#ui-datepicker-div").addClass("seopress-ui-datepicker");
29365
+ }
29366
+ });
29367
+ return function () {
29368
+ jQuery(ref.current).datepicker("destroy");
29369
+ };
29370
+ }, []);
29371
+ return /*#__PURE__*/react.createElement("input", {
29372
+ type: "text",
29373
+ ref: ref,
29374
+ name: name,
29375
+ id: id,
29376
+ value: value,
29377
+ className: "form-input-date",
29378
+ onChange: function onChange(e) {
29379
+ rest.setFieldValue(name, e.target.value);
29380
+ }
29381
+ });
29382
+ };
29383
 
29384
+ /* harmony default export */ const components_Date = (FieldDate);
29385
+ ;// CONCATENATED MODULE: ./app/react/components/Forms/components/OpeningHours/index.js
29386
 
29387
 
29388
 
29389
+ var OpeningHours_excluded = ["name", "id", "value"];
29390
 
29391
+ function OpeningHours_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
29392
 
29393
+ function OpeningHours_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { OpeningHours_ownKeys(Object(source), true).forEach(function (key) { OpeningHours_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { OpeningHours_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
29394
 
29395
+ function OpeningHours_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
29396
 
29397
+ function OpeningHours_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = OpeningHours_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
29398
 
29399
+ function OpeningHours_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29400
 
29401
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29402
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29403
 
29404
+ var DAYS = ["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"];
29405
+ var HOURS = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
29406
+ var MINUTES = ["00", "15", "30", "45", "59"];
29407
 
29408
+ var FieldOpeningHours = function FieldOpeningHours(_ref) {
29409
+ var name = _ref.name,
29410
+ id = _ref.id,
29411
+ value = _ref.value,
29412
+ rest = OpeningHours_objectWithoutProperties(_ref, OpeningHours_excluded);
29413
 
29414
+ var getDefaultValue = function getDefaultValue(value) {
29415
+ if (isEmpty_default()(value) || isNil_default()(value)) {
29416
+ return {
29417
+ seopress_local_business_opening_hours: [{
29418
+ am: {
29419
+ start: {
29420
+ hours: "00",
29421
+ mins: "00"
29422
+ },
29423
+ end: {
29424
+ hours: "00",
29425
+ mins: "00"
29426
+ }
29427
+ },
29428
+ pm: {
29429
+ start: {
29430
+ hours: "00",
29431
+ mins: "00"
29432
+ },
29433
+ end: {
29434
+ hours: "00",
29435
+ mins: "00"
29436
+ }
29437
+ }
29438
+ }, {
29439
+ am: {
29440
+ start: {
29441
+ hours: "00",
29442
+ mins: "00"
29443
+ },
29444
+ end: {
29445
+ hours: "00",
29446
+ mins: "00"
29447
+ }
29448
+ },
29449
+ pm: {
29450
+ start: {
29451
+ hours: "00",
29452
+ mins: "00"
29453
+ },
29454
+ end: {
29455
+ hours: "00",
29456
+ mins: "00"
29457
+ }
29458
+ }
29459
+ }, {
29460
+ am: {
29461
+ start: {
29462
+ hours: "00",
29463
+ mins: "00"
29464
+ },
29465
+ end: {
29466
+ hours: "00",
29467
+ mins: "00"
29468
+ }
29469
+ },
29470
+ pm: {
29471
+ start: {
29472
+ hours: "00",
29473
+ mins: "00"
29474
+ },
29475
+ end: {
29476
+ hours: "00",
29477
+ mins: "00"
29478
+ }
29479
+ }
29480
+ }, {
29481
+ am: {
29482
+ start: {
29483
+ hours: "00",
29484
+ mins: "00"
29485
+ },
29486
+ end: {
29487
+ hours: "00",
29488
+ mins: "00"
29489
+ }
29490
+ },
29491
+ pm: {
29492
+ start: {
29493
+ hours: "00",
29494
+ mins: "00"
29495
+ },
29496
+ end: {
29497
+ hours: "00",
29498
+ mins: "00"
29499
+ }
29500
+ }
29501
+ }, {
29502
+ am: {
29503
+ start: {
29504
+ hours: "00",
29505
+ mins: "00"
29506
+ },
29507
+ end: {
29508
+ hours: "00",
29509
+ mins: "00"
29510
+ }
29511
+ },
29512
+ pm: {
29513
+ start: {
29514
+ hours: "00",
29515
+ mins: "00"
29516
+ },
29517
+ end: {
29518
+ hours: "00",
29519
+ mins: "00"
29520
+ }
29521
+ }
29522
+ }, {
29523
+ am: {
29524
+ start: {
29525
+ hours: "00",
29526
+ mins: "00"
29527
+ },
29528
+ end: {
29529
+ hours: "00",
29530
+ mins: "00"
29531
+ }
29532
+ },
29533
+ pm: {
29534
+ start: {
29535
+ hours: "00",
29536
+ mins: "00"
29537
+ },
29538
+ end: {
29539
+ hours: "00",
29540
+ mins: "00"
29541
+ }
29542
+ }
29543
+ }, {
29544
+ am: {
29545
+ start: {
29546
+ hours: "00",
29547
+ mins: "00"
29548
+ },
29549
+ end: {
29550
+ hours: "00",
29551
+ mins: "00"
29552
+ }
29553
+ },
29554
+ pm: {
29555
+ start: {
29556
+ hours: "00",
29557
+ mins: "00"
29558
+ },
29559
+ end: {
29560
+ hours: "00",
29561
+ mins: "00"
29562
+ }
29563
+ }
29564
+ }]
29565
+ };
29566
+ }
29567
 
29568
+ return value;
29569
+ };
29570
 
29571
+ var currentValue = getDefaultValue(value);
29572
 
29573
+ var legacyValue = get_default()(currentValue, "seopress_local_business_opening_hours");
29574
 
29575
+ return /*#__PURE__*/react.createElement(react.Fragment, null, DAYS.map(function (day, key) {
29576
+ return /*#__PURE__*/react.createElement("div", {
29577
+ key: "day_".concat(day)
29578
+ }, /*#__PURE__*/react.createElement("p", null, day.toUpperCase()), /*#__PURE__*/react.createElement("div", {
29579
+ style: {
29580
+ marginBottom: 4
29581
+ }
29582
+ }, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
29583
+ type: "checkbox",
29584
+ value: "1",
29585
+ checked: get_default()(legacyValue, [key, "open"]),
29586
+ onChange: function onChange(e) {
29587
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29588
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29589
+ if (keyItem !== key) {
29590
+ return item;
29591
+ }
29592
 
29593
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29594
+ open: e.target.checked ? "1" : ""
29595
+ });
29596
+ })
29597
+ }));
29598
+ }
29599
+ }), "Closed all the day?"), /*#__PURE__*/react.createElement("div", {
29600
+ className: "flex items-center",
29601
+ style: {
29602
+ marginBottom: 8
29603
+ }
29604
+ }, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
29605
+ type: "checkbox",
29606
+ value: "1",
29607
+ checked: get_default()(legacyValue, [key, "am", "open"]),
29608
+ onChange: function onChange(e) {
29609
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29610
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29611
+ if (keyItem !== key) {
29612
+ return item;
29613
+ }
29614
 
29615
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29616
+ am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
29617
+ open: e.target.checked ? "1" : ""
29618
+ })
29619
+ });
29620
+ })
29621
+ }));
29622
+ }
29623
+ }), "Open in the morning?", /*#__PURE__*/react.createElement(SCSelectDefault, {
29624
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][start][hours]"),
29625
+ value: get_default()(legacyValue, [key, "am", "start", "hours"]),
29626
+ style: {
29627
+ marginLeft: 10
29628
+ },
29629
+ onChange: function onChange(e) {
29630
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29631
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29632
+ if (keyItem !== key) {
29633
+ return item;
29634
+ }
29635
 
29636
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29637
+ am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
29638
+ start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.start), {}, {
29639
+ hours: e.target.value
29640
+ })
29641
+ })
29642
+ });
29643
+ })
29644
+ }));
29645
+ }
29646
+ }, HOURS.map(function (hour, key) {
29647
+ return /*#__PURE__*/react.createElement("option", {
29648
+ key: "day_".concat(day, "_hour_am_start_").concat(hour),
29649
+ value: hour
29650
+ }, hour);
29651
+ })), /*#__PURE__*/react.createElement("span", {
29652
+ style: {
29653
+ marginLeft: 5,
29654
+ marginRight: 5
29655
+ }
29656
+ }, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
29657
+ style: {
29658
+ marginRight: 10
29659
+ },
29660
+ onChange: function onChange(e) {
29661
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29662
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29663
+ if (keyItem !== key) {
29664
+ return item;
29665
+ }
29666
 
29667
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29668
+ am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
29669
+ start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.start), {}, {
29670
+ mins: e.target.value
29671
+ })
29672
+ })
29673
+ });
29674
+ })
29675
+ }));
29676
+ },
29677
+ name: "".concat(name, "[seopress_local_business_opening_hours][am][start][mins]"),
29678
+ value: get_default()(legacyValue, [key, "am", "start", "mins"])
29679
+ }, MINUTES.map(function (hour, key) {
29680
+ return /*#__PURE__*/react.createElement("option", {
29681
+ key: "day_".concat(day, "_min_am_start_").concat(hour),
29682
+ value: hour
29683
+ }, hour);
29684
+ })), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
29685
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][end][hours]"),
29686
+ style: {
29687
+ marginLeft: 10
29688
+ },
29689
+ value: get_default()(legacyValue, [key, "am", "end", "hours"]),
29690
+ onChange: function onChange(e) {
29691
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29692
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29693
+ if (keyItem !== key) {
29694
+ return item;
29695
+ }
29696
 
29697
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29698
+ am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
29699
+ end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.end), {}, {
29700
+ hours: e.target.value
29701
+ })
29702
+ })
29703
+ });
29704
+ })
29705
+ }));
29706
+ }
29707
+ }, HOURS.map(function (hour, key) {
29708
+ return /*#__PURE__*/react.createElement("option", {
29709
+ key: "day_".concat(day, "_hour_am_end_").concat(hour),
29710
+ value: hour
29711
+ }, hour);
29712
+ })), /*#__PURE__*/react.createElement("span", {
29713
+ style: {
29714
+ marginLeft: 5,
29715
+ marginRight: 5
29716
+ }
29717
+ }, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
29718
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][am][end][mins]"),
29719
+ value: get_default()(legacyValue, [key, "am", "end", "mins"]),
29720
+ onChange: function onChange(e) {
29721
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29722
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29723
+ if (keyItem !== key) {
29724
+ return item;
29725
+ }
29726
 
29727
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29728
+ am: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am), {}, {
29729
+ end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.am.end), {}, {
29730
+ mins: e.target.value
29731
+ })
29732
+ })
29733
+ });
29734
+ })
29735
+ }));
29736
+ }
29737
+ }, MINUTES.map(function (min, key) {
29738
+ return /*#__PURE__*/react.createElement("option", {
29739
+ key: "day_".concat(day, "_min_am_end_").concat(min),
29740
+ value: min
29741
+ }, min);
29742
+ }))), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement(SCCheckboxDefault, {
29743
+ type: "checkbox",
29744
+ value: "1",
29745
+ checked: get_default()(legacyValue, [key, "pm", "open"]),
29746
+ onChange: function onChange(e) {
29747
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29748
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29749
+ if (keyItem !== key) {
29750
+ return item;
29751
+ }
29752
 
29753
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29754
+ pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
29755
+ open: e.target.checked ? "1" : ""
29756
+ })
29757
+ });
29758
+ })
29759
+ }));
29760
+ }
29761
+ }), "Open in the afternoon?", /*#__PURE__*/react.createElement(SCSelectDefault, {
29762
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][start][hours]"),
29763
+ style: {
29764
+ marginLeft: 10
29765
+ },
29766
+ value: get_default()(legacyValue, [key, "pm", "start", "hours"]),
29767
+ onChange: function onChange(e) {
29768
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29769
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29770
+ if (keyItem !== key) {
29771
+ return item;
29772
+ }
29773
 
29774
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29775
+ pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
29776
+ start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.start), {}, {
29777
+ hours: e.target.value
29778
+ })
29779
+ })
29780
+ });
29781
+ })
29782
+ }));
29783
+ }
29784
+ }, HOURS.map(function (hour, key) {
29785
+ return /*#__PURE__*/react.createElement("option", {
29786
+ key: "day_".concat(day, "_hour_pm_start_").concat(hour),
29787
+ value: hour
29788
+ }, hour);
29789
+ })), /*#__PURE__*/react.createElement("span", {
29790
+ style: {
29791
+ marginLeft: 5,
29792
+ marginRight: 5
29793
+ }
29794
+ }, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
29795
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][start][mins]"),
29796
+ style: {
29797
+ marginRight: 10
29798
+ },
29799
+ value: get_default()(legacyValue, [key, "pm", "start", "mins"]),
29800
+ onChange: function onChange(e) {
29801
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29802
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29803
+ if (keyItem !== key) {
29804
+ return item;
29805
+ }
29806
 
29807
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29808
+ pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
29809
+ start: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.start), {}, {
29810
+ mins: e.target.value
29811
+ })
29812
+ })
29813
+ });
29814
+ })
29815
+ }));
29816
+ }
29817
+ }, MINUTES.map(function (min, key) {
29818
+ return /*#__PURE__*/react.createElement("option", {
29819
+ key: "day_".concat(day, "_min_pm_start_").concat(min),
29820
+ value: min
29821
+ }, min);
29822
+ })), "-", /*#__PURE__*/react.createElement(SCSelectDefault, {
29823
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][end][hours]"),
29824
+ style: {
29825
+ marginLeft: 10
29826
+ },
29827
+ value: get_default()(legacyValue, [key, "pm", "end", "hours"]),
29828
+ onChange: function onChange(e) {
29829
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29830
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29831
+ if (keyItem !== key) {
29832
+ return item;
29833
+ }
29834
 
29835
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29836
+ pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
29837
+ end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.end), {}, {
29838
+ hours: e.target.value
29839
+ })
29840
+ })
29841
+ });
29842
+ })
29843
+ }));
29844
+ }
29845
+ }, HOURS.map(function (hour, key) {
29846
+ return /*#__PURE__*/react.createElement("option", {
29847
+ key: "day_".concat(day, "_hour_pm_end_").concat(hour),
29848
+ value: hour
29849
+ }, hour);
29850
+ })), /*#__PURE__*/react.createElement("span", {
29851
+ style: {
29852
+ marginLeft: 5,
29853
+ marginRight: 5
29854
+ }
29855
+ }, ":"), /*#__PURE__*/react.createElement(SCSelectDefault, {
29856
+ name: "".concat(name, "[seopress_local_business_opening_hours][").concat(key, "][pm][end][mins]"),
29857
+ value: get_default()(legacyValue, [key, "pm", "end", "mins"]),
29858
+ onChange: function onChange(e) {
29859
+ rest.setFieldValue(name, OpeningHours_objectSpread(OpeningHours_objectSpread({}, currentValue), {}, {
29860
+ seopress_local_business_opening_hours: currentValue.seopress_local_business_opening_hours.map(function (item, keyItem) {
29861
+ if (keyItem !== key) {
29862
+ return item;
29863
+ }
29864
 
29865
+ return OpeningHours_objectSpread(OpeningHours_objectSpread({}, item), {}, {
29866
+ pm: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm), {}, {
29867
+ end: OpeningHours_objectSpread(OpeningHours_objectSpread({}, item.pm.end), {}, {
29868
+ mins: e.target.value
29869
+ })
29870
+ })
29871
+ });
29872
+ })
29873
+ }));
29874
+ }
29875
+ }, MINUTES.map(function (min, key) {
29876
+ return /*#__PURE__*/react.createElement("option", {
29877
+ key: "day_".concat(day, "_min_pm_end_").concat(min),
29878
+ value: min
29879
+ }, min);
29880
+ }))));
29881
+ }));
29882
+ };
29883
 
29884
+ /* harmony default export */ const OpeningHours = (FieldOpeningHours);
29885
+ ;// CONCATENATED MODULE: ./node_modules/react-accessible-accordion/dist/es/index.js
29886
 
29887
 
29888
+ function _classCallCheck(instance, Constructor) {
29889
+ if (!(instance instanceof Constructor)) {
29890
+ throw new TypeError("Cannot call a class as a function");
29891
+ }
29892
+ }
29893
 
29894
+ function _defineProperties(target, props) {
29895
+ for (var i = 0; i < props.length; i++) {
29896
+ var descriptor = props[i];
29897
+ descriptor.enumerable = descriptor.enumerable || false;
29898
+ descriptor.configurable = true;
29899
+ if ("value" in descriptor) descriptor.writable = true;
29900
+ Object.defineProperty(target, descriptor.key, descriptor);
29901
+ }
29902
+ }
29903
 
29904
+ function _createClass(Constructor, protoProps, staticProps) {
29905
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
29906
+ if (staticProps) _defineProperties(Constructor, staticProps);
29907
+ return Constructor;
29908
+ }
29909
 
29910
+ function es_defineProperty(obj, key, value) {
29911
+ if (key in obj) {
29912
+ Object.defineProperty(obj, key, {
29913
+ value: value,
29914
+ enumerable: true,
29915
+ configurable: true,
29916
+ writable: true
29917
+ });
29918
+ } else {
29919
+ obj[key] = value;
29920
+ }
29921
 
29922
+ return obj;
29923
+ }
29924
 
29925
+ function es_extends() {
29926
+ es_extends = Object.assign || function (target) {
29927
+ for (var i = 1; i < arguments.length; i++) {
29928
+ var source = arguments[i];
29929
 
29930
+ for (var key in source) {
29931
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
29932
+ target[key] = source[key];
29933
+ }
29934
+ }
29935
+ }
29936
 
29937
+ return target;
29938
+ };
29939
 
29940
+ return es_extends.apply(this, arguments);
29941
+ }
29942
 
29943
+ function es_ownKeys(object, enumerableOnly) {
29944
+ var keys = Object.keys(object);
29945
 
29946
+ if (Object.getOwnPropertySymbols) {
29947
+ var symbols = Object.getOwnPropertySymbols(object);
29948
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
29949
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
29950
+ });
29951
+ keys.push.apply(keys, symbols);
29952
+ }
29953
 
29954
+ return keys;
29955
+ }
 
29956
 
29957
+ function es_objectSpread2(target) {
29958
+ for (var i = 1; i < arguments.length; i++) {
29959
+ var source = arguments[i] != null ? arguments[i] : {};
 
 
 
29960
 
29961
+ if (i % 2) {
29962
+ es_ownKeys(Object(source), true).forEach(function (key) {
29963
+ es_defineProperty(target, key, source[key]);
29964
+ });
29965
+ } else if (Object.getOwnPropertyDescriptors) {
29966
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
29967
+ } else {
29968
+ es_ownKeys(Object(source)).forEach(function (key) {
29969
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
29970
+ });
29971
+ }
29972
+ }
29973
 
29974
+ return target;
29975
+ }
 
 
29976
 
29977
+ function _inherits(subClass, superClass) {
29978
+ if (typeof superClass !== "function" && superClass !== null) {
29979
+ throw new TypeError("Super expression must either be null or a function");
29980
+ }
29981
 
29982
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
29983
+ constructor: {
29984
+ value: subClass,
29985
+ writable: true,
29986
+ configurable: true
29987
+ }
29988
  });
29989
+ if (superClass) _setPrototypeOf(subClass, superClass);
29990
+ }
29991
 
29992
+ function _getPrototypeOf(o) {
29993
+ _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
29994
+ return o.__proto__ || Object.getPrototypeOf(o);
29995
+ };
29996
+ return _getPrototypeOf(o);
29997
+ }
 
 
 
 
 
 
 
 
 
 
29998
 
29999
+ function _setPrototypeOf(o, p) {
30000
+ _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
30001
+ o.__proto__ = p;
30002
+ return o;
30003
+ };
 
 
 
 
 
 
 
30004
 
30005
+ return _setPrototypeOf(o, p);
30006
+ }
 
 
30007
 
30008
+ function _isNativeReflectConstruct() {
30009
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
30010
+ if (Reflect.construct.sham) return false;
30011
+ if (typeof Proxy === "function") return true;
30012
 
30013
+ try {
30014
+ Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
30015
+ return true;
30016
+ } catch (e) {
30017
+ return false;
30018
+ }
30019
+ }
30020
 
30021
+ function es_objectWithoutPropertiesLoose(source, excluded) {
30022
+ if (source == null) return {};
30023
+ var target = {};
30024
+ var sourceKeys = Object.keys(source);
30025
+ var key, i;
30026
 
30027
+ for (i = 0; i < sourceKeys.length; i++) {
30028
+ key = sourceKeys[i];
30029
+ if (excluded.indexOf(key) >= 0) continue;
30030
+ target[key] = source[key];
30031
+ }
30032
 
30033
+ return target;
30034
+ }
30035
 
30036
+ function es_objectWithoutProperties(source, excluded) {
30037
+ if (source == null) return {};
 
 
30038
 
30039
+ var target = es_objectWithoutPropertiesLoose(source, excluded);
 
30040
 
30041
+ var key, i;
 
30042
 
30043
+ if (Object.getOwnPropertySymbols) {
30044
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
30045
 
30046
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
30047
+ key = sourceSymbolKeys[i];
30048
+ if (excluded.indexOf(key) >= 0) continue;
30049
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
30050
+ target[key] = source[key];
30051
  }
30052
+ }
30053
 
30054
+ return target;
30055
+ }
 
 
 
 
 
 
 
 
 
 
 
30056
 
30057
+ function es_assertThisInitialized(self) {
30058
+ if (self === void 0) {
30059
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
30060
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30061
 
30062
+ return self;
30063
+ }
30064
 
30065
+ function _possibleConstructorReturn(self, call) {
30066
+ if (call && (typeof call === "object" || typeof call === "function")) {
30067
+ return call;
30068
+ }
30069
 
30070
+ return es_assertThisInitialized(self);
30071
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30072
 
30073
+ function _createSuper(Derived) {
30074
+ var hasNativeReflectConstruct = _isNativeReflectConstruct();
30075
 
30076
+ return function _createSuperInternal() {
30077
+ var Super = _getPrototypeOf(Derived),
30078
+ result;
30079
 
30080
+ if (hasNativeReflectConstruct) {
30081
+ var NewTarget = _getPrototypeOf(this).constructor;
30082
 
30083
+ result = Reflect.construct(Super, arguments, NewTarget);
30084
+ } else {
30085
+ result = Super.apply(this, arguments);
30086
+ }
30087
 
30088
+ return _possibleConstructorReturn(this, result);
30089
+ };
30090
+ }
30091
 
30092
+ function es_slicedToArray(arr, i) {
30093
+ return es_arrayWithHoles(arr) || es_iterableToArrayLimit(arr, i) || es_unsupportedIterableToArray(arr, i) || es_nonIterableRest();
30094
+ }
30095
 
30096
+ function _toConsumableArray(arr) {
30097
+ return _arrayWithoutHoles(arr) || _iterableToArray(arr) || es_unsupportedIterableToArray(arr) || _nonIterableSpread();
30098
+ }
30099
 
30100
+ function _arrayWithoutHoles(arr) {
30101
+ if (Array.isArray(arr)) return es_arrayLikeToArray(arr);
30102
+ }
30103
 
30104
+ function es_arrayWithHoles(arr) {
30105
+ if (Array.isArray(arr)) return arr;
30106
+ }
30107
 
30108
+ function _iterableToArray(iter) {
30109
+ if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter);
30110
+ }
30111
 
30112
+ function es_iterableToArrayLimit(arr, i) {
30113
+ if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return;
30114
+ var _arr = [];
30115
+ var _n = true;
30116
+ var _d = false;
30117
+ var _e = undefined;
30118
 
30119
+ try {
30120
+ for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {
30121
+ _arr.push(_s.value);
30122
 
30123
+ if (i && _arr.length === i) break;
30124
+ }
30125
+ } catch (err) {
30126
+ _d = true;
30127
+ _e = err;
30128
+ } finally {
30129
+ try {
30130
+ if (!_n && _i["return"] != null) _i["return"]();
30131
+ } finally {
30132
+ if (_d) throw _e;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30133
  }
30134
  }
 
 
 
 
 
 
 
 
30135
 
30136
+ return _arr;
30137
+ }
30138
 
30139
+ function es_unsupportedIterableToArray(o, minLen) {
30140
+ if (!o) return;
30141
+ if (typeof o === "string") return es_arrayLikeToArray(o, minLen);
30142
+ var n = Object.prototype.toString.call(o).slice(8, -1);
30143
+ if (n === "Object" && o.constructor) n = o.constructor.name;
30144
+ if (n === "Map" || n === "Set") return Array.from(o);
30145
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return es_arrayLikeToArray(o, minLen);
30146
+ }
30147
 
30148
+ function es_arrayLikeToArray(arr, len) {
30149
+ if (len == null || len > arr.length) len = arr.length;
30150
 
30151
+ for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
30152
 
30153
+ return arr2;
30154
+ }
30155
 
30156
+ function _nonIterableSpread() {
30157
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30158
+ }
30159
 
30160
+ function es_nonIterableRest() {
30161
+ throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
30162
+ }
30163
 
30164
+ var AccordionStore = function AccordionStore(_ref) {
30165
+ var _this = this;
30166
 
30167
+ var _ref$expanded = _ref.expanded,
30168
+ _expanded = _ref$expanded === void 0 ? [] : _ref$expanded,
30169
+ _ref$allowMultipleExp = _ref.allowMultipleExpanded,
30170
+ allowMultipleExpanded = _ref$allowMultipleExp === void 0 ? false : _ref$allowMultipleExp,
30171
+ _ref$allowZeroExpande = _ref.allowZeroExpanded,
30172
+ allowZeroExpanded = _ref$allowZeroExpande === void 0 ? false : _ref$allowZeroExpande;
30173
 
30174
+ _classCallCheck(this, AccordionStore);
 
30175
 
30176
+ es_defineProperty(this, "expanded", void 0);
 
30177
 
30178
+ es_defineProperty(this, "allowMultipleExpanded", void 0);
 
30179
 
30180
+ es_defineProperty(this, "allowZeroExpanded", void 0);
 
30181
 
30182
+ es_defineProperty(this, "toggleExpanded", function (uuid) {
30183
+ if (_this.isItemDisabled(uuid)) {
30184
+ return _this;
30185
+ }
30186
 
30187
+ var isExpanded = _this.isItemExpanded(uuid);
 
 
 
30188
 
30189
+ if (!isExpanded) {
30190
+ return _this.augment({
30191
+ expanded: _this.allowMultipleExpanded ? [].concat(_toConsumableArray(_this.expanded), [uuid]) : [uuid]
30192
+ });
30193
+ } else {
30194
+ return _this.augment({
30195
+ expanded: _this.expanded.filter(function (expandedUuid) {
30196
+ return expandedUuid !== uuid;
30197
+ })
30198
+ });
30199
  }
30200
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30201
 
30202
+ es_defineProperty(this, "isItemDisabled", function (uuid) {
30203
+ var isExpanded = _this.isItemExpanded(uuid);
30204
 
30205
+ var isOnlyOneExpanded = _this.expanded.length === 1;
30206
+ return Boolean(isExpanded && !_this.allowZeroExpanded && isOnlyOneExpanded);
30207
+ });
 
30208
 
30209
+ es_defineProperty(this, "isItemExpanded", function (uuid) {
30210
+ return _this.expanded.indexOf(uuid) !== -1;
 
 
 
 
30211
  });
 
30212
 
30213
+ es_defineProperty(this, "getPanelAttributes", function (uuid, dangerouslySetExpanded) {
30214
+ var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);
30215
+ return {
30216
+ role: _this.allowMultipleExpanded ? undefined : 'region',
30217
+ 'aria-hidden': _this.allowMultipleExpanded ? !expanded : undefined,
30218
+ 'aria-labelledby': _this.getButtonId(uuid),
30219
+ id: _this.getPanelId(uuid),
30220
+ hidden: expanded ? undefined : true
30221
+ };
30222
+ });
30223
 
30224
+ es_defineProperty(this, "getHeadingAttributes", function () {
30225
+ return {
30226
+ role: 'heading'
30227
+ };
30228
+ });
30229
 
30230
+ es_defineProperty(this, "getButtonAttributes", function (uuid, dangerouslySetExpanded) {
30231
+ var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : _this.isItemExpanded(uuid);
30232
 
30233
+ var disabled = _this.isItemDisabled(uuid);
30234
 
30235
+ return {
30236
+ id: _this.getButtonId(uuid),
30237
+ 'aria-disabled': disabled,
30238
+ 'aria-expanded': expanded,
30239
+ 'aria-controls': _this.getPanelId(uuid),
30240
+ role: 'button',
30241
+ tabIndex: 0
30242
+ };
30243
+ });
30244
 
30245
+ es_defineProperty(this, "getPanelId", function (uuid) {
30246
+ return "accordion__panel-".concat(uuid);
30247
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30248
 
30249
+ es_defineProperty(this, "getButtonId", function (uuid) {
30250
+ return "accordion__heading-".concat(uuid);
30251
+ });
 
30252
 
30253
+ es_defineProperty(this, "augment", function (args) {
30254
+ return new AccordionStore(es_objectSpread2({
30255
+ expanded: _this.expanded,
30256
+ allowMultipleExpanded: _this.allowMultipleExpanded,
30257
+ allowZeroExpanded: _this.allowZeroExpanded
30258
+ }, args));
30259
+ });
30260
 
30261
+ this.expanded = _expanded;
30262
+ this.allowMultipleExpanded = allowMultipleExpanded;
30263
+ this.allowZeroExpanded = allowZeroExpanded;
30264
+ };
 
 
 
30265
 
30266
+ var Context = /*#__PURE__*/(0,react.createContext)(null);
30267
+ var Provider = /*#__PURE__*/function (_React$PureComponent) {
30268
+ _inherits(Provider, _React$PureComponent);
 
 
30269
 
30270
+ var _super = _createSuper(Provider);
30271
 
30272
+ function Provider() {
30273
+ var _this;
30274
 
30275
+ _classCallCheck(this, Provider);
30276
 
30277
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30278
+ args[_key] = arguments[_key];
30279
+ }
30280
 
30281
+ _this = _super.call.apply(_super, [this].concat(args));
30282
 
30283
+ es_defineProperty(es_assertThisInitialized(_this), "state", new AccordionStore({
30284
+ expanded: _this.props.preExpanded,
30285
+ allowMultipleExpanded: _this.props.allowMultipleExpanded,
30286
+ allowZeroExpanded: _this.props.allowZeroExpanded
30287
+ }));
30288
 
30289
+ es_defineProperty(es_assertThisInitialized(_this), "toggleExpanded", function (key) {
30290
+ _this.setState(function (state) {
30291
+ return state.toggleExpanded(key);
30292
+ }, function () {
30293
+ if (_this.props.onChange) {
30294
+ _this.props.onChange(_this.state.expanded);
30295
+ }
30296
+ });
30297
+ });
 
 
 
 
 
 
 
 
30298
 
30299
+ es_defineProperty(es_assertThisInitialized(_this), "isItemDisabled", function (key) {
30300
+ return _this.state.isItemDisabled(key);
30301
+ });
30302
 
30303
+ es_defineProperty(es_assertThisInitialized(_this), "isItemExpanded", function (key) {
30304
+ return _this.state.isItemExpanded(key);
30305
+ });
30306
 
30307
+ es_defineProperty(es_assertThisInitialized(_this), "getPanelAttributes", function (key, dangerouslySetExpanded) {
30308
+ return _this.state.getPanelAttributes(key, dangerouslySetExpanded);
30309
+ });
30310
 
30311
+ es_defineProperty(es_assertThisInitialized(_this), "getHeadingAttributes", function () {
30312
+ // uuid: UUID
30313
+ return _this.state.getHeadingAttributes();
30314
+ });
30315
 
30316
+ es_defineProperty(es_assertThisInitialized(_this), "getButtonAttributes", function (key, dangerouslySetExpanded) {
30317
+ return _this.state.getButtonAttributes(key, dangerouslySetExpanded);
30318
+ });
30319
 
30320
+ return _this;
30321
+ }
30322
 
30323
+ _createClass(Provider, [{
30324
+ key: "render",
30325
+ value: function render() {
30326
+ var _this$state = this.state,
30327
+ allowZeroExpanded = _this$state.allowZeroExpanded,
30328
+ allowMultipleExpanded = _this$state.allowMultipleExpanded;
30329
+ return /*#__PURE__*/(0,react.createElement)(Context.Provider, {
30330
+ value: {
30331
+ allowMultipleExpanded: allowMultipleExpanded,
30332
+ allowZeroExpanded: allowZeroExpanded,
30333
+ toggleExpanded: this.toggleExpanded,
30334
+ isItemDisabled: this.isItemDisabled,
30335
+ isItemExpanded: this.isItemExpanded,
30336
+ getPanelAttributes: this.getPanelAttributes,
30337
+ getHeadingAttributes: this.getHeadingAttributes,
30338
+ getButtonAttributes: this.getButtonAttributes
30339
+ }
30340
+ }, this.props.children || null);
30341
+ }
30342
+ }]);
30343
 
30344
+ return Provider;
30345
+ }(react.PureComponent);
30346
 
30347
+ es_defineProperty(Provider, "defaultProps", {
30348
+ allowMultipleExpanded: false,
30349
+ allowZeroExpanded: false
30350
+ });
30351
 
30352
+ var Consumer = /*#__PURE__*/function (_React$PureComponent2) {
30353
+ _inherits(Consumer, _React$PureComponent2);
30354
 
30355
+ var _super2 = _createSuper(Consumer);
30356
 
30357
+ function Consumer() {
30358
+ var _this2;
30359
 
30360
+ _classCallCheck(this, Consumer);
 
 
30361
 
30362
+ for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {
30363
+ args[_key3] = arguments[_key3];
30364
+ }
 
 
 
30365
 
30366
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
 
 
 
 
30367
 
30368
+ es_defineProperty(es_assertThisInitialized(_this2), "renderChildren", function (container) {
30369
+ return container ? _this2.props.children(container) : null;
30370
+ });
 
30371
 
30372
+ return _this2;
30373
+ }
30374
 
30375
+ _createClass(Consumer, [{
30376
+ key: "render",
30377
+ value: function render() {
30378
+ return /*#__PURE__*/(0,react.createElement)(Context.Consumer, null, this.renderChildren);
30379
+ }
30380
+ }]);
 
 
 
 
30381
 
30382
+ return Consumer;
30383
+ }(react.PureComponent);
 
 
 
30384
 
30385
+ var Accordion = function Accordion(_ref) {
30386
+ var _ref$className = _ref.className,
30387
+ className = _ref$className === void 0 ? 'accordion' : _ref$className,
30388
+ allowMultipleExpanded = _ref.allowMultipleExpanded,
30389
+ allowZeroExpanded = _ref.allowZeroExpanded,
30390
+ onChange = _ref.onChange,
30391
+ preExpanded = _ref.preExpanded,
30392
+ rest = es_objectWithoutProperties(_ref, ["className", "allowMultipleExpanded", "allowZeroExpanded", "onChange", "preExpanded"]);
30393
 
30394
+ return /*#__PURE__*/(0,react.createElement)(Provider, {
30395
+ preExpanded: preExpanded,
30396
+ allowMultipleExpanded: allowMultipleExpanded,
30397
+ allowZeroExpanded: allowZeroExpanded,
30398
+ onChange: onChange
30399
+ }, /*#__PURE__*/(0,react.createElement)("div", es_extends({
30400
+ "data-accordion-component": "Accordion",
30401
+ className: className
30402
+ }, rest)));
30403
+ };
30404
 
30405
+ var DisplayName;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30406
 
30407
+ (function (DisplayName) {
30408
+ DisplayName["Accordion"] = "Accordion";
30409
+ DisplayName["AccordionItem"] = "AccordionItem";
30410
+ DisplayName["AccordionItemButton"] = "AccordionItemButton";
30411
+ DisplayName["AccordionItemHeading"] = "AccordionItemHeading";
30412
+ DisplayName["AccordionItemPanel"] = "AccordionItemPanel";
30413
+ })(DisplayName || (DisplayName = {}));
30414
 
30415
+ var DisplayName$1 = DisplayName;
 
 
30416
 
30417
+ var DEFAULT = 0;
30418
+ var es_counter = DEFAULT;
30419
+ function nextUuid() {
30420
+ var current = es_counter;
30421
+ es_counter = es_counter + 1;
30422
+ return "raa-".concat(current);
30423
+ }
30424
+ function resetNextUuid() {
30425
+ es_counter = DEFAULT;
30426
+ } // HTML5 ids allow all unicode characters, except for ASCII whitespaces
30427
+ // https://infra.spec.whatwg.org/#ascii-whitespace
30428
+ // eslint-disable-next-line no-control-regex
30429
 
30430
+ var idRegex = /[\u0009\u000a\u000c\u000d\u0020]/g;
30431
+ function assertValidHtmlId(htmlId) {
30432
+ if (htmlId === '' || idRegex.test(htmlId)) {
30433
+ console.error("uuid must be a valid HTML5 id but was given \"".concat(htmlId, "\", ASCII whitespaces are forbidden"));
30434
+ return false;
30435
+ }
30436
 
30437
+ return true;
30438
+ }
 
 
 
30439
 
30440
+ var Context$1 = /*#__PURE__*/(0,react.createContext)(null);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30441
 
30442
+ var Provider$1 = function Provider(_ref) {
30443
+ var children = _ref.children,
30444
+ uuid = _ref.uuid,
30445
+ accordionContext = _ref.accordionContext,
30446
+ dangerouslySetExpanded = _ref.dangerouslySetExpanded;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30447
 
30448
+ var toggleExpanded = function toggleExpanded() {
30449
+ accordionContext.toggleExpanded(uuid);
30450
+ };
30451
 
30452
+ var renderChildren = function renderChildren(accordionContext) {
30453
+ var expanded = dangerouslySetExpanded !== null && dangerouslySetExpanded !== void 0 ? dangerouslySetExpanded : accordionContext.isItemExpanded(uuid);
30454
+ var disabled = accordionContext.isItemDisabled(uuid);
30455
+ var panelAttributes = accordionContext.getPanelAttributes(uuid, dangerouslySetExpanded);
30456
+ var headingAttributes = accordionContext.getHeadingAttributes(uuid);
30457
+ var buttonAttributes = accordionContext.getButtonAttributes(uuid, dangerouslySetExpanded);
30458
+ return /*#__PURE__*/(0,react.createElement)(Context$1.Provider, {
30459
+ value: {
30460
+ uuid: uuid,
30461
+ expanded: expanded,
30462
+ disabled: disabled,
30463
+ toggleExpanded: toggleExpanded,
30464
+ panelAttributes: panelAttributes,
30465
+ headingAttributes: headingAttributes,
30466
+ buttonAttributes: buttonAttributes
30467
+ }
30468
+ }, children);
30469
+ };
30470
 
30471
+ return /*#__PURE__*/(0,react.createElement)(Consumer, null, renderChildren);
 
 
30472
  };
30473
 
30474
+ var ProviderWrapper = function ProviderWrapper(props) {
30475
+ return /*#__PURE__*/(0,react.createElement)(Consumer, null, function (accordionContext) {
30476
+ return /*#__PURE__*/(0,react.createElement)(Provider$1, es_extends({}, props, {
30477
+ accordionContext: accordionContext
30478
+ }));
 
30479
  });
30480
  };
30481
+ var Consumer$1 = function Consumer(_ref2) {
30482
+ var children = _ref2.children;
30483
 
30484
+ var renderChildren = function renderChildren(container) {
30485
+ return container ? children(container) : null;
30486
+ };
 
 
 
 
 
30487
 
30488
+ return /*#__PURE__*/(0,react.createElement)(Context$1.Consumer, null, renderChildren);
30489
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30490
 
30491
+ var AccordionItem = function AccordionItem(_ref) {
30492
+ var customUuid = _ref.uuid,
30493
+ dangerouslySetExpanded = _ref.dangerouslySetExpanded,
30494
+ _ref$className = _ref.className,
30495
+ className = _ref$className === void 0 ? 'accordion__item' : _ref$className,
30496
+ activeClassName = _ref.activeClassName,
30497
+ rest = es_objectWithoutProperties(_ref, ["uuid", "dangerouslySetExpanded", "className", "activeClassName"]);
30498
 
30499
+ var _useState = (0,react.useState)(nextUuid()),
30500
+ _useState2 = es_slicedToArray(_useState, 1),
30501
+ instanceUuid = _useState2[0];
30502
 
30503
+ var uuid = customUuid !== null && customUuid !== void 0 ? customUuid : instanceUuid;
 
 
 
 
 
 
30504
 
30505
+ var renderChildren = function renderChildren(itemContext) {
30506
+ var expanded = itemContext.expanded;
30507
+ var cx = expanded && activeClassName ? activeClassName : className;
30508
+ return /*#__PURE__*/(0,react.createElement)("div", es_extends({
30509
+ "data-accordion-component": "AccordionItem",
30510
+ className: cx
30511
+ }, rest));
30512
  };
 
 
 
 
30513
 
30514
+ assertValidHtmlId(uuid.toString());
 
 
30515
 
30516
+ if (rest.id) {
30517
+ assertValidHtmlId(rest.id);
30518
+ }
30519
 
30520
+ return /*#__PURE__*/(0,react.createElement)(ProviderWrapper, {
30521
+ uuid: uuid,
30522
+ dangerouslySetExpanded: dangerouslySetExpanded
30523
+ }, /*#__PURE__*/(0,react.createElement)(Consumer$1, null, renderChildren));
30524
+ };
30525
 
30526
+ AccordionItem.displayName = DisplayName$1.AccordionItem;
30527
 
30528
+ function getClosestAccordion(el) {
30529
+ return el && (el.matches('[data-accordion-component="Accordion"]') ? el : getClosestAccordion(el.parentElement));
30530
+ }
30531
+ function getSiblingButtons(item) {
30532
+ var parentAccordion = getClosestAccordion(item);
30533
+ return parentAccordion && Array.from(parentAccordion.querySelectorAll('[data-accordion-component="AccordionItemButton"]'));
30534
+ }
30535
+ function focusFirstSiblingOf(item) {
30536
+ var siblings = getSiblingButtons(item) || [];
30537
+ var first = siblings[0];
30538
 
30539
+ if (first) {
30540
+ first.focus();
30541
+ }
30542
+ }
30543
+ function focusLastSiblingOf(item) {
30544
+ var siblings = getSiblingButtons(item) || [];
30545
+ var last = siblings[siblings.length - 1];
30546
 
30547
+ if (last) {
30548
+ last.focus();
30549
+ }
30550
+ }
30551
+ function focusNextSiblingOf(item) {
30552
+ var siblings = getSiblingButtons(item) || [];
30553
+ var currentIndex = siblings.indexOf(item);
30554
 
30555
+ if (currentIndex !== -1) {
30556
+ var next = siblings[currentIndex + 1];
30557
 
30558
+ if (next) {
30559
+ next.focus();
30560
+ }
30561
+ }
30562
+ }
30563
+ function focusPreviousSiblingOf(item) {
30564
+ var siblings = getSiblingButtons(item) || [];
30565
+ var currentIndex = siblings.indexOf(item);
30566
 
30567
+ if (currentIndex !== -1) {
30568
+ var previous = siblings[currentIndex - 1];
30569
 
30570
+ if (previous) {
30571
+ previous.focus();
30572
+ }
30573
+ }
30574
+ }
30575
 
30576
+ var keycodes = {
30577
+ END: 'End',
30578
+ ENTER: 'Enter',
30579
+ HOME: 'Home',
30580
+ SPACE: ' ',
30581
+ SPACE_DEPRECATED: 'Spacebar',
30582
+ UP: 'ArrowUp',
30583
+ DOWN: 'ArrowDown',
30584
+ LEFT: 'ArrowLeft',
30585
+ RIGHT: 'ArrowRight'
30586
+ };
30587
 
30588
+ var AccordionItemButton = function AccordionItemButton(_ref) {
30589
+ var toggleExpanded = _ref.toggleExpanded,
30590
+ _ref$className = _ref.className,
30591
+ className = _ref$className === void 0 ? 'accordion__button' : _ref$className,
30592
+ rest = es_objectWithoutProperties(_ref, ["toggleExpanded", "className"]);
30593
 
30594
+ var handleKeyPress = function handleKeyPress(evt) {
30595
+ var keyCode = evt.key;
30596
 
30597
+ if (keyCode === keycodes.ENTER || keyCode === keycodes.SPACE || keyCode === keycodes.SPACE_DEPRECATED) {
30598
+ evt.preventDefault();
30599
+ toggleExpanded();
30600
+ }
30601
+ /* The following block is ignored from test coverage because at time
30602
+ * time of writing Jest/react-testing-library can not assert 'focus'
30603
+ * functionality.
30604
+ */
30605
+ // istanbul ignore next
30606
 
30607
 
30608
+ if (evt.target instanceof HTMLElement) {
30609
+ switch (keyCode) {
30610
+ case keycodes.HOME:
30611
+ {
30612
+ evt.preventDefault();
30613
+ focusFirstSiblingOf(evt.target);
30614
+ break;
30615
+ }
30616
 
30617
+ case keycodes.END:
30618
+ {
30619
+ evt.preventDefault();
30620
+ focusLastSiblingOf(evt.target);
30621
+ break;
30622
+ }
30623
 
30624
+ case keycodes.LEFT:
30625
+ case keycodes.UP:
30626
+ {
30627
+ evt.preventDefault();
30628
+ focusPreviousSiblingOf(evt.target);
30629
+ break;
30630
+ }
30631
 
30632
+ case keycodes.RIGHT:
30633
+ case keycodes.DOWN:
30634
+ {
30635
+ evt.preventDefault();
30636
+ focusNextSiblingOf(evt.target);
30637
+ break;
30638
+ }
30639
+ }
30640
+ }
30641
+ };
30642
 
30643
+ if (rest.id) {
30644
+ assertValidHtmlId(rest.id);
30645
+ }
30646
 
30647
+ return /*#__PURE__*/(0,react.createElement)("div", es_extends({
30648
+ className: className
30649
+ }, rest, {
30650
+ role: "button",
30651
+ tabIndex: 0,
30652
+ onClick: toggleExpanded,
30653
+ onKeyDown: handleKeyPress,
30654
+ "data-accordion-component": "AccordionItemButton"
30655
+ }));
30656
+ };
30657
 
30658
+ var AccordionItemButtonWrapper = function AccordionItemButtonWrapper(props) {
30659
+ return /*#__PURE__*/(0,react.createElement)(Consumer$1, null, function (itemContext) {
30660
+ var toggleExpanded = itemContext.toggleExpanded,
30661
+ buttonAttributes = itemContext.buttonAttributes;
30662
+ return /*#__PURE__*/(0,react.createElement)(AccordionItemButton, es_extends({
30663
+ toggleExpanded: toggleExpanded
30664
+ }, props, buttonAttributes));
30665
+ });
30666
+ };
30667
 
30668
+ var defaultProps = {
30669
+ className: 'accordion__heading',
30670
+ 'aria-level': 3
30671
+ };
30672
+ var SPEC_ERROR = "AccordionItemButton may contain only one child element, which must be an instance of AccordionItemButton.\n\nFrom the WAI-ARIA spec (https://www.w3.org/TR/wai-aria-practices-1.1/#accordion):\n\n\u201CThe button element is the only element inside the heading element. That is, if there are other visually persistent elements, they are not included inside the heading element.\u201D\n\n";
30673
+ var AccordionItemHeading = /*#__PURE__*/function (_React$PureComponent) {
30674
+ _inherits(AccordionItemHeading, _React$PureComponent);
30675
 
30676
+ var _super = _createSuper(AccordionItemHeading);
 
 
 
 
30677
 
30678
+ function AccordionItemHeading() {
30679
+ var _this;
 
 
30680
 
30681
+ _classCallCheck(this, AccordionItemHeading);
 
30682
 
30683
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
30684
+ args[_key] = arguments[_key];
30685
+ }
 
 
 
 
 
 
 
 
 
30686
 
30687
+ _this = _super.call.apply(_super, [this].concat(args));
 
 
 
 
30688
 
30689
+ es_defineProperty(es_assertThisInitialized(_this), "ref", void 0);
 
 
 
 
 
 
30690
 
30691
+ es_defineProperty(es_assertThisInitialized(_this), "setRef", function (ref) {
30692
+ _this.ref = ref;
30693
+ });
 
30694
 
30695
+ return _this;
30696
+ }
 
30697
 
30698
+ _createClass(AccordionItemHeading, [{
30699
+ key: "componentDidUpdate",
30700
+ value: function componentDidUpdate() {
30701
+ AccordionItemHeading.VALIDATE(this.ref);
30702
+ }
30703
+ }, {
30704
+ key: "componentDidMount",
30705
+ value: function componentDidMount() {
30706
+ AccordionItemHeading.VALIDATE(this.ref);
30707
+ }
30708
+ }, {
30709
+ key: "render",
30710
+ value: function render() {
30711
+ return /*#__PURE__*/(0,react.createElement)("div", es_extends({
30712
+ "data-accordion-component": "AccordionItemHeading"
30713
+ }, this.props, {
30714
+ ref: this.setRef
30715
+ }));
30716
+ }
30717
+ }], [{
30718
+ key: "VALIDATE",
30719
+ value: function VALIDATE(ref) {
30720
+ if (ref === undefined) {
30721
+ throw new Error('ref is undefined');
30722
+ }
30723
 
30724
+ if (!(ref.childElementCount === 1 && ref.firstElementChild && ref.firstElementChild.getAttribute('data-accordion-component') === 'AccordionItemButton')) {
30725
+ throw new Error(SPEC_ERROR);
 
30726
  }
30727
+ }
30728
+ }]);
30729
 
30730
+ return AccordionItemHeading;
30731
+ }(react.PureComponent);
30732
+
30733
+ es_defineProperty(AccordionItemHeading, "defaultProps", defaultProps);
30734
+
30735
+ var AccordionItemHeadingWrapper = function AccordionItemHeadingWrapper(props) {
30736
+ return /*#__PURE__*/(0,react.createElement)(Consumer$1, null, function (itemContext) {
30737
+ var headingAttributes = itemContext.headingAttributes;
30738
+
30739
+ if (props.id) {
30740
+ assertValidHtmlId(props.id);
30741
+ }
30742
+
30743
+ return /*#__PURE__*/(0,react.createElement)(AccordionItemHeading, es_extends({}, props, headingAttributes));
30744
+ });
30745
  };
30746
 
30747
+ AccordionItemHeadingWrapper.displayName = DisplayName$1.AccordionItemHeading;
 
 
 
 
 
 
 
 
30748
 
30749
+ var AccordionItemPanel = function AccordionItemPanel(_ref) {
30750
+ var _ref$className = _ref.className,
30751
+ className = _ref$className === void 0 ? 'accordion__panel' : _ref$className,
30752
+ id = _ref.id,
30753
+ rest = es_objectWithoutProperties(_ref, ["className", "id"]);
30754
+
30755
+ var renderChildren = function renderChildren(_ref2) {
30756
+ var panelAttributes = _ref2.panelAttributes;
30757
+
30758
+ if (id) {
30759
+ assertValidHtmlId(id);
30760
  }
30761
 
30762
+ return /*#__PURE__*/(0,react.createElement)("div", es_extends({
30763
+ "data-accordion-component": "AccordionItemPanel",
30764
+ className: className
30765
+ }, rest, panelAttributes));
30766
  };
30767
 
30768
+ return /*#__PURE__*/(0,react.createElement)(Consumer$1, null, renderChildren);
30769
+ };
 
 
 
30770
 
30771
+ var AccordionItemState = function AccordionItemState(_ref) {
30772
+ var children = _ref.children;
 
30773
 
30774
+ var renderChildren = function renderChildren(itemContext) {
30775
+ var expanded = itemContext.expanded,
30776
+ disabled = itemContext.disabled;
30777
+ return /*#__PURE__*/(0,react.createElement)(react.Fragment, null, children({
30778
+ expanded: expanded,
30779
+ disabled: disabled
30780
+ }));
30781
+ };
30782
 
30783
+ return /*#__PURE__*/(0,react.createElement)(Consumer$1, null, renderChildren);
30784
+ };
 
 
 
 
 
 
30785
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30786
 
30787
 
30788
+ ;// CONCATENATED MODULE: ./app/react/ui/Accordion/Heading/index.js
30789
 
30790
+ var SCAccordionItem = styled_components_browser_esm.div.withConfig({
30791
+ componentId: "sc-417qdg-0"
30792
+ })(["&&&&{border:0;cursor:pointer;display:block;margin:0;position:relative;text-align:left;width:100%;align-items:center;border-top:1px solid var(--borderColorCard);}"]);
30793
+ /* harmony default export */ const Heading = (SCAccordionItem);
30794
+ ;// CONCATENATED MODULE: ./app/react/ui/Accordion/Button/index.js
30795
 
30796
+ var SCAccordionItemButton = styled_components_browser_esm.div.withConfig({
30797
+ componentId: "sc-uqs8yk-0"
30798
+ })(["&&&&{display:flex;align-items:center;padding:10px 0px;font-weight:bold;position:relative;}"]);
30799
+ /* harmony default export */ const Button = (SCAccordionItemButton);
30800
+ ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Repeater/HowTo/index.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
30801
 
 
 
 
 
 
 
 
 
 
 
 
30802
 
30803
+ var HowTo_excluded = ["name", "id", "value"];
 
 
30804
 
30805
+ function HowTo_toConsumableArray(arr) { return HowTo_arrayWithoutHoles(arr) || HowTo_iterableToArray(arr) || HowTo_unsupportedIterableToArray(arr) || HowTo_nonIterableSpread(); }
 
 
 
30806
 
30807
+ function HowTo_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
 
 
 
 
 
 
 
 
 
30808
 
30809
+ function HowTo_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
30810
 
30811
+ function HowTo_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return HowTo_arrayLikeToArray(arr); }
30812
 
30813
+ function HowTo_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
 
30814
 
30815
+ function HowTo_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { HowTo_ownKeys(Object(source), true).forEach(function (key) { HowTo_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { HowTo_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
30816
 
30817
+ function HowTo_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
30818
 
30819
+ function HowTo_slicedToArray(arr, i) { return HowTo_arrayWithHoles(arr) || HowTo_iterableToArrayLimit(arr, i) || HowTo_unsupportedIterableToArray(arr, i) || HowTo_nonIterableRest(); }
30820
 
30821
+ function HowTo_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
30822
 
30823
+ function HowTo_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return HowTo_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return HowTo_arrayLikeToArray(o, minLen); }
 
30824
 
30825
+ function HowTo_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
 
 
 
 
30826
 
30827
+ function HowTo_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
30828
 
30829
+ function HowTo_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
30830
 
30831
+ function HowTo_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = HowTo_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
 
 
30832
 
30833
+ function HowTo_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
30834
 
 
 
 
30835
 
 
 
 
 
30836
 
 
 
 
30837
 
 
 
30838
 
 
 
 
 
 
30839
 
 
30840
 
30841
+ var HowTo_ = wp.i18n.__;
 
30842
 
30843
+ var FieldRepeaterHowTo = function FieldRepeaterHowTo(_ref) {
30844
+ var name = _ref.name,
30845
+ id = _ref.id,
30846
+ value = _ref.value,
30847
+ rest = HowTo_objectWithoutProperties(_ref, HowTo_excluded);
30848
 
30849
+ var _useState = (0,react.useState)(Object.values(value)),
30850
+ _useState2 = HowTo_slicedToArray(_useState, 2),
30851
+ legacyValue = _useState2[0],
30852
+ setLegacyValue = _useState2[1];
 
30853
 
30854
+ (0,react.useEffect)(function () {
30855
+ saveFormData(legacyValue);
30856
+ }, [legacyValue]);
30857
+ var saveFormData = (0,react.useCallback)(debounce_default()(function (value) {
30858
+ rest.setFieldValue(name, value);
30859
+ }, 200), []);
30860
 
30861
+ var _onClick = function onClick(e, key) {
30862
+ e.preventDefault();
30863
+ var mediaUploader = wp.media.frames.file_frame = wp.media({
30864
+ multiple: false
30865
+ });
30866
+ mediaUploader.on("select", function () {
30867
+ var attachment = mediaUploader.state().get("selection").first().toJSON();
30868
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
30869
+ if (keyItem !== key) {
30870
+ return item;
30871
+ }
30872
 
30873
+ return HowTo_objectSpread(HowTo_objectSpread({}, item), {}, {
30874
+ image: attachment.url,
30875
+ image_attachment_id: attachment.id,
30876
+ image_width: attachment.width,
30877
+ image_height: attachment.height
30878
+ });
30879
+ }));
30880
+ });
30881
+ mediaUploader.open();
30882
+ };
30883
 
30884
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Accordion, {
30885
+ style: {
30886
+ marginTop: 10
30887
+ },
30888
+ allowMultipleExpanded: true,
30889
+ allowZeroExpanded: true
30890
+ }, legacyValue.map(function (item, key) {
30891
+ return /*#__PURE__*/react.createElement(AccordionItem, {
30892
+ key: "".concat(name, "_").concat(key)
30893
+ }, /*#__PURE__*/react.createElement(Heading, null, /*#__PURE__*/react.createElement(AccordionItemHeadingWrapper, null, /*#__PURE__*/react.createElement(AccordionItemButtonWrapper, null, /*#__PURE__*/react.createElement(Button, null, /*#__PURE__*/react.createElement("div", null, "#", key + 1, " - ", item.name), /*#__PURE__*/react.createElement("span", {
30894
+ className: "seopress-arrow",
30895
+ "aria-hidden": "true"
30896
+ })))), /*#__PURE__*/react.createElement(AccordionItemPanel, null, /*#__PURE__*/react.createElement("p", {
30897
+ style: {
30898
+ fontWeight: "bold"
30899
+ }
30900
+ }, HowTo_("The title of the step (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement(SCInputDefault, {
30901
+ type: "text",
30902
+ value: item.name,
30903
+ onChange: function onChange(e) {
30904
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
30905
+ if (keyItem !== key) {
30906
+ return item;
30907
+ }
30908
 
30909
+ return HowTo_objectSpread(HowTo_objectSpread({}, item), {}, {
30910
+ name: e.target.value
30911
+ });
30912
+ }));
30913
+ }
30914
+ }), /*#__PURE__*/react.createElement("p", {
30915
+ style: {
30916
+ fontWeight: "bold"
30917
+ }
30918
+ }, HowTo_("The text of your step (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement("textarea", {
30919
+ className: "form-textarea",
30920
+ value: item.text,
30921
+ style: {
30922
+ width: "100%"
30923
+ },
30924
+ onChange: function onChange(e) {
30925
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
30926
+ if (keyItem !== key) {
30927
+ return item;
30928
+ }
30929
 
30930
+ return HowTo_objectSpread(HowTo_objectSpread({}, item), {}, {
30931
+ text: e.target.value
30932
+ });
30933
+ }));
30934
+ }
30935
+ }), /*#__PURE__*/react.createElement("p", {
30936
+ style: {
30937
+ fontWeight: "bold"
30938
+ }
30939
+ }, HowTo_("Thumbnail", "wp-seopress-pro")), /*#__PURE__*/react.createElement("div", {
30940
+ className: "flex items-center justify-content"
30941
+ }, /*#__PURE__*/react.createElement(SCInputDefault, {
30942
+ type: "text",
30943
+ value: get_default()(item, "image", ""),
30944
+ onChange: function onChange(e) {
30945
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
30946
+ if (keyItem !== key) {
30947
+ return item;
30948
+ }
30949
 
30950
+ return HowTo_objectSpread(HowTo_objectSpread({}, item), {}, {
30951
+ image: e.target.value
30952
+ });
30953
+ }));
 
 
30954
  }
30955
+ }), /*#__PURE__*/react.createElement("input", {
30956
+ type: "hidden",
30957
+ name: "image_attachment_id",
30958
+ value: get_default()(item, "image_attachment_id", "")
30959
+ }), /*#__PURE__*/react.createElement("input", {
30960
+ type: "hidden",
30961
+ name: "image_width",
30962
+ value: get_default()(item, "image_width", "")
30963
+ }), /*#__PURE__*/react.createElement("input", {
30964
+ type: "hidden",
30965
+ name: "image_height",
30966
+ value: get_default()(item, "image_height", "")
30967
+ }), /*#__PURE__*/react.createElement(ui_Button, {
30968
+ onClick: function onClick(e) {
30969
+ _onClick(e, key);
30970
+ },
30971
+ className: "ms-2"
30972
+ }, HowTo_("Choose an image", "wp-seopress"))), /*#__PURE__*/react.createElement(ui_Button, {
30973
+ as: "div",
30974
+ style: {
30975
+ borderColor: "#cc1818",
30976
+ color: "#cc1818",
30977
+ boxShadow: "inset 0 0 0 1px #cc1818",
30978
+ marginBottom: 4
30979
+ },
30980
+ onClick: function onClick(e) {
30981
+ e.stopPropagation();
30982
+ setLegacyValue(legacyValue.filter(function (item, keyRemove) {
30983
+ return keyRemove !== key;
30984
+ }));
30985
+ }
30986
+ }, HowTo_("Remove step", "wp-seopress")))));
30987
+ })), /*#__PURE__*/react.createElement(ui_Button, {
30988
+ as: "div",
30989
+ secondary: true,
30990
+ style: {
30991
+ marginTom: 12
30992
+ },
30993
+ onClick: function onClick(e) {
30994
+ e.stopPropagation();
30995
+ setLegacyValue([].concat(HowTo_toConsumableArray(legacyValue), [{
30996
+ name: "",
30997
+ text: ""
30998
+ }]));
30999
  }
31000
+ }, HowTo_("Add step", "wp-seopress")));
31001
+ };
31002
 
31003
+ /* harmony default export */ const HowTo = (FieldRepeaterHowTo);
31004
+ ;// CONCATENATED MODULE: ./app/react/components/Forms/components/Repeater/Faq/index.js
31005
 
31006
+ var Faq_excluded = ["name", "id", "value"];
 
 
 
 
 
 
31007
 
31008
+ function Faq_toConsumableArray(arr) { return Faq_arrayWithoutHoles(arr) || Faq_iterableToArray(arr) || Faq_unsupportedIterableToArray(arr) || Faq_nonIterableSpread(); }
 
31009
 
31010
+ function Faq_nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
31011
 
31012
+ function Faq_iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
31013
 
31014
+ function Faq_arrayWithoutHoles(arr) { if (Array.isArray(arr)) return Faq_arrayLikeToArray(arr); }
31015
 
31016
+ function Faq_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
 
 
 
 
 
31017
 
31018
+ function Faq_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Faq_ownKeys(Object(source), true).forEach(function (key) { Faq_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Faq_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
 
 
 
 
31019
 
31020
+ function Faq_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
 
 
 
 
 
 
31021
 
31022
+ function Faq_slicedToArray(arr, i) { return Faq_arrayWithHoles(arr) || Faq_iterableToArrayLimit(arr, i) || Faq_unsupportedIterableToArray(arr, i) || Faq_nonIterableRest(); }
 
 
 
 
 
 
31023
 
31024
+ function Faq_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
 
 
 
 
 
 
31025
 
31026
+ function Faq_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Faq_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Faq_arrayLikeToArray(o, minLen); }
 
 
 
 
 
 
 
 
31027
 
31028
+ function Faq_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
 
 
 
 
 
31029
 
31030
+ function Faq_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
 
 
 
 
 
 
 
31031
 
31032
+ function Faq_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
 
 
 
 
 
 
 
 
31033
 
31034
+ function Faq_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Faq_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
 
 
31035
 
31036
+ function Faq_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
 
 
31037
 
 
 
 
 
 
 
 
 
31038
 
 
 
 
 
 
 
 
 
31039
 
 
31040
 
31041
 
 
 
 
 
 
 
31042
 
 
 
 
 
 
 
 
 
 
 
 
 
31043
 
31044
+ var Faq_ = wp.i18n.__;
 
 
 
 
 
 
 
31045
 
31046
+ var FieldRepeaterFaq = function FieldRepeaterFaq(_ref) {
31047
+ var name = _ref.name,
31048
+ id = _ref.id,
31049
+ value = _ref.value,
31050
+ rest = Faq_objectWithoutProperties(_ref, Faq_excluded);
 
31051
 
31052
+ var _useState = (0,react.useState)(Object.values(value)),
31053
+ _useState2 = Faq_slicedToArray(_useState, 2),
31054
+ legacyValue = _useState2[0],
31055
+ setLegacyValue = _useState2[1];
 
31056
 
31057
+ (0,react.useEffect)(function () {
31058
+ saveFormData(legacyValue);
31059
+ }, [legacyValue]);
31060
+ var saveFormData = (0,react.useCallback)(debounce_default()(function (value) {
31061
+ rest.setFieldValue(name, value);
31062
+ }, 200), []);
31063
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Accordion, {
31064
+ style: {
31065
+ marginTop: 10
31066
+ },
31067
+ allowMultipleExpanded: true,
31068
+ allowZeroExpanded: true
31069
+ }, legacyValue.map(function (item, key) {
31070
+ return /*#__PURE__*/react.createElement(AccordionItem, {
31071
+ key: "".concat(name, "_").concat(key)
31072
+ }, /*#__PURE__*/react.createElement(Heading, null, /*#__PURE__*/react.createElement(AccordionItemHeadingWrapper, null, /*#__PURE__*/react.createElement(AccordionItemButtonWrapper, null, /*#__PURE__*/react.createElement(Button, null, /*#__PURE__*/react.createElement("div", null, "#", key + 1, " - ", item.question), /*#__PURE__*/react.createElement("span", {
31073
+ className: "seopress-arrow",
31074
+ "aria-hidden": "true"
31075
+ })))), /*#__PURE__*/react.createElement(AccordionItemPanel, null, /*#__PURE__*/react.createElement("p", null, Faq_("Question (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement(SCInputDefault, {
31076
+ type: "text",
31077
+ value: item.question,
31078
+ onChange: function onChange(e) {
31079
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
31080
+ if (keyItem !== key) {
31081
+ return item;
31082
+ }
31083
 
31084
+ return Faq_objectSpread(Faq_objectSpread({}, item), {}, {
31085
+ question: e.target.value
31086
+ });
31087
+ }));
31088
+ }
31089
+ }), /*#__PURE__*/react.createElement("p", null, Faq_("Answer (required)", "wp-seopress-pro")), /*#__PURE__*/react.createElement("textarea", {
31090
+ className: "form-textarea",
31091
+ style: {
31092
+ width: "100%"
31093
+ },
31094
+ value: item.answer,
31095
+ onChange: function onChange(e) {
31096
+ setLegacyValue(legacyValue.map(function (item, keyItem) {
31097
+ if (keyItem !== key) {
31098
+ return item;
31099
+ }
31100
 
31101
+ return Faq_objectSpread(Faq_objectSpread({}, item), {}, {
31102
+ answer: e.target.value
31103
+ });
31104
+ }));
31105
+ }
31106
+ }), /*#__PURE__*/react.createElement(ui_Button, {
31107
+ style: {
31108
+ borderColor: "#cc1818",
31109
+ color: "#cc1818",
31110
+ boxShadow: "inset 0 0 0 1px #cc1818",
31111
+ marginBottom: 4
31112
+ },
31113
+ onClick: function onClick(e) {
31114
+ e.stopPropagation();
31115
+ setLegacyValue(legacyValue.filter(function (item, keyRemove) {
31116
+ return keyRemove !== key;
31117
+ }));
31118
+ }
31119
+ }, Faq_("Remove question", "wp-seopress")))));
31120
+ })), /*#__PURE__*/react.createElement(ui_Button, {
31121
+ secondary: true,
31122
+ style: {
31123
+ marginTom: 12
31124
+ },
31125
+ onClick: function onClick(e) {
31126
+ e.stopPropagation();
31127
+ setLegacyValue([].concat(Faq_toConsumableArray(legacyValue), [{
31128
+ question: "",
31129
+ answer: ""
31130
+ }]));
31131
+ }
31132
+ }, Faq_("Add question", "wp-seopress")));
31133
+ };
31134
 
31135
+ /* harmony default export */ const Faq = (FieldRepeaterFaq);
31136
+ ;// CONCATENATED MODULE: ./app/react/components/Forms/components/DynamicField/index.js
31137
 
 
 
31138
 
 
 
 
 
 
 
31139
 
31140
+ var DynamicField_excluded = ["item", "nameInput", "values", "itemValue", "checkboxLegacyValue", "emptyIcon", "placeholder"];
 
 
 
 
 
31141
 
31142
+ function DynamicField_extends() { DynamicField_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return DynamicField_extends.apply(this, arguments); }
 
 
 
 
 
 
 
31143
 
31144
+ function DynamicField_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31145
 
31146
+ function DynamicField_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = DynamicField_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
31147
 
31148
+ function DynamicField_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
 
 
31149
 
 
 
 
 
 
 
 
31150
 
 
 
 
 
 
 
 
31151
 
 
 
 
 
 
 
 
31152
 
 
 
 
 
 
 
 
 
 
 
31153
 
 
 
31154
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31155
 
 
 
31156
 
 
 
 
 
 
 
 
 
 
 
31157
 
 
 
31158
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31159
 
 
 
31160
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31161
 
 
 
31162
 
 
 
 
 
 
 
 
31163
 
31164
+ var DynamicField = function DynamicField(_ref) {
31165
+ var item = _ref.item,
31166
+ _ref$nameInput = _ref.nameInput,
31167
+ nameInput = _ref$nameInput === void 0 ? null : _ref$nameInput,
31168
+ values = _ref.values,
31169
+ _ref$itemValue = _ref.itemValue,
31170
+ itemValue = _ref$itemValue === void 0 ? null : _ref$itemValue,
31171
+ checkboxLegacyValue = _ref.checkboxLegacyValue,
31172
+ _ref$emptyIcon = _ref.emptyIcon,
31173
+ emptyIcon = _ref$emptyIcon === void 0 ? false : _ref$emptyIcon,
31174
+ _ref$placeholder = _ref.placeholder,
31175
+ placeholder = _ref$placeholder === void 0 ? null : _ref$placeholder,
31176
+ rest = DynamicField_objectWithoutProperties(_ref, DynamicField_excluded);
31177
 
31178
+ var nameForm = isNil_default()(nameInput) ? item.key : nameInput;
31179
+ var valueForm = isNil_default()(itemValue) ? values[item.key] : itemValue;
31180
+ (0,react.useEffect)(function () {
31181
+ if ((isNil_default()(valueForm) || isEmpty_default()(valueForm)) && !isNil_default()(item.value)) {
31182
+ rest.setFieldValue(nameForm, get_default()(item, "value", ""));
31183
+ }
31184
+ }, [valueForm]);
31185
+ var combinedValuesForm = {};
31186
 
31187
+ if (item.type === "upload") {
31188
+ var _combinedValuesForm;
 
31189
 
31190
+ combinedValuesForm = (_combinedValuesForm = {}, DynamicField_defineProperty(_combinedValuesForm, "".concat(nameForm, "_attachment_id"), get_default()(values, "".concat(nameForm, "_attachment_id"), "")), DynamicField_defineProperty(_combinedValuesForm, "".concat(nameForm, "_width"), get_default()(values, "".concat(nameForm, "_width"), "")), DynamicField_defineProperty(_combinedValuesForm, "".concat(nameForm, "_height"), get_default()(values, "".concat(nameForm, "_height"), "")), _combinedValuesForm);
31191
+ }
 
 
 
 
 
 
 
 
 
 
31192
 
31193
+ return /*#__PURE__*/react.createElement(react.Fragment, null, item.type !== "checkbox" && /*#__PURE__*/react.createElement(components_Label, {
31194
+ htmlFor: nameForm
31195
+ }, item.label), item.description && /*#__PURE__*/react.createElement("p", {
31196
+ className: "description",
31197
+ dangerouslySetInnerHTML: {
31198
+ __html: item.description
31199
+ }
31200
+ }), item.type === "checkbox" && /*#__PURE__*/react.createElement(react.Fragment, null, " ", /*#__PURE__*/react.createElement(components_LabelCheckbox, {
31201
+ htmlFor: nameForm
31202
+ }, /*#__PURE__*/react.createElement(components_Checkbox, {
31203
+ id: nameForm,
31204
+ name: nameForm,
31205
+ checked: valueForm || false,
31206
+ className: classnames_default()({
31207
+ "w-full": item.type === "input" || item.type === "select" || item.type === "textarea"
31208
+ }),
31209
+ value: checkboxLegacyValue ? "yes" : null,
31210
+ onChange: rest.handleChange
31211
+ }), item.label)), item.type === "input" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
31212
+ id: nameForm,
31213
+ name: nameForm,
31214
+ placeholder: placeholder ? placeholder : item.placeholder,
31215
+ value: valueForm || "",
31216
+ className: "w-full",
31217
+ emptyIcon: emptyIcon,
31218
+ setFieldValue: rest.setFieldValue
31219
+ })), item.type === "number" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Input, {
31220
+ id: nameForm,
31221
+ name: nameForm,
31222
+ placeholder: placeholder ? placeholder : item.placeholder,
31223
+ type: "number",
31224
+ value: valueForm || "",
31225
+ className: "w-full",
31226
+ emptyIcon: emptyIcon,
31227
+ setFieldValue: rest.setFieldValue,
31228
+ step: get_default()(item, "step", null),
31229
+ min: get_default()(item, "min", null),
31230
+ max: get_default()(item, "max", null)
31231
+ })), item.type === "textarea" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(TextArea, {
31232
+ id: nameForm,
31233
+ name: nameForm,
31234
+ placeholder: placeholder ? placeholder : item.placeholder,
31235
+ value: valueForm || "",
31236
+ className: "w-full",
31237
+ style: {
31238
+ resize: "vertical"
31239
+ }
31240
+ })), item.type === "select" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Select, DynamicField_extends({
31241
+ id: nameForm,
31242
+ name: nameForm,
31243
+ placeholder: item.placeholder,
31244
+ value: valueForm || "",
31245
+ className: "w-full",
31246
+ options: item.options,
31247
+ onChange: rest.handleChange
31248
+ }, rest))), item.type === "upload" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(MediaUpload, DynamicField_extends({
31249
+ id: nameForm,
31250
+ name: nameForm,
31251
+ placeholder: placeholder ? placeholder : item.placeholder,
31252
+ value: valueForm || "",
31253
+ className: "w-full",
31254
+ emptyIcon: emptyIcon,
31255
+ setFieldValue: rest.setFieldValue,
31256
+ combinedValuesForm: combinedValuesForm
31257
+ }, rest))), item.type === "date" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(components_Date, DynamicField_extends({
31258
+ id: nameForm,
31259
+ name: nameForm,
31260
+ value: valueForm || "",
31261
+ className: "w-full"
31262
+ }, rest))), item.type === "opening_hours" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(OpeningHours, DynamicField_extends({
31263
+ id: nameForm,
31264
+ name: nameForm,
31265
+ value: valueForm || "",
31266
+ className: "w-full"
31267
+ }, rest))), item.type === "repeater_how_to" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(HowTo, DynamicField_extends({
31268
+ id: nameForm,
31269
+ name: nameForm,
31270
+ value: valueForm || "",
31271
+ className: "w-full"
31272
+ }, rest))), item.type === "repeater_faq" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Faq, DynamicField_extends({
31273
+ id: nameForm,
31274
+ name: nameForm,
31275
+ value: valueForm || "",
31276
+ className: "w-full"
31277
+ }, rest))));
31278
+ };
31279
 
31280
+ /* harmony default export */ const components_DynamicField = (DynamicField);
31281
+ ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Social/index.js
31282
 
31283
 
 
 
 
 
 
 
 
 
31284
 
 
 
31285
 
 
 
31286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31287
 
31288
+ var Social_excluded = ["values"];
 
31289
 
31290
+ function Social_extends() { Social_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Social_extends.apply(this, arguments); }
31291
 
31292
+ function Social_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Social_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
31293
 
31294
+ function Social_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31295
 
31296
+ function Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31297
 
31298
+ function Social_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Social_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
31299
 
31300
+ function Social_slicedToArray(arr, i) { return Social_arrayWithHoles(arr) || Social_iterableToArrayLimit(arr, i) || Social_unsupportedIterableToArray(arr, i) || Social_nonIterableRest(); }
 
31301
 
31302
+ function Social_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
31303
 
31304
+ function Social_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Social_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Social_arrayLikeToArray(o, minLen); }
31305
 
31306
+ function Social_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
31307
 
31308
+ function Social_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
31309
 
31310
+ function Social_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
31311
 
31312
 
 
 
 
 
 
 
31313
 
 
 
31314
 
 
 
31315
 
 
 
 
31316
 
 
 
 
 
 
 
 
 
 
 
 
31317
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31318
 
 
 
 
 
31319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31320
 
 
31321
 
31322
 
31323
 
31324
+ var Social_ = wp.i18n.__;
31325
 
31326
+ var SocialLayout = function SocialLayout(_ref) {
31327
+ var mainBarRef = _ref.mainBarRef;
31328
+ var postId = getCurrentPostId();
 
 
 
 
31329
 
31330
+ var _useSocialSettings = metas_useSocialSettings({
31331
+ postId: postId
31332
+ }),
31333
+ data = _useSocialSettings.data,
31334
+ mutate = _useSocialSettings.mutate,
31335
+ abort = _useSocialSettings.abort;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31336
 
31337
+ var dataPagePreview = useDataPagePreview();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31338
 
31339
+ var _useState = (0,react.useState)(false),
31340
+ _useState2 = Social_slicedToArray(_useState, 2),
31341
+ loading = _useState2[0],
31342
+ setLoading = _useState2[1];
 
 
 
 
 
 
 
 
 
31343
 
31344
+ var _useContext = (0,react.useContext)(NotificationContext),
31345
+ actions = _useContext.actions;
 
 
 
 
 
 
 
 
 
31346
 
31347
+ (0,react.useEffect)(function () {
31348
+ return function () {
31349
+ abort();
31350
+ };
31351
+ });
 
 
 
 
 
 
 
 
 
31352
 
31353
+ var handleOnSubmit = /*#__PURE__*/function () {
31354
+ var _ref2 = Social_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
31355
+ var data;
31356
+ return regeneratorRuntime.wrap(function _callee$(_context) {
31357
+ while (1) {
31358
+ switch (_context.prev = _context.next) {
31359
+ case 0:
31360
+ setLoading(true);
31361
+ _context.next = 3;
31362
+ return saveSocialSettings(postId, values);
31363
 
31364
+ case 3:
31365
+ data = _context.sent;
31366
+ mutate();
31367
+ setLoading(false);
31368
+ actions.setMessage(Social_("Your settings have been saved.", "wp-seopress"));
31369
 
31370
+ case 7:
31371
+ case "end":
31372
+ return _context.stop();
31373
+ }
31374
+ }
31375
+ }, _callee);
31376
+ }));
 
 
 
 
 
 
 
 
 
 
 
31377
 
31378
+ return function handleOnSubmit(_x) {
31379
+ return _ref2.apply(this, arguments);
31380
+ };
31381
+ }();
31382
 
31383
+ var getPlaceholderByItem = function getPlaceholderByItem(item) {
31384
+ switch (item.key) {
31385
+ case "_seopress_social_fb_title":
31386
+ return first_default()(get_default()(dataPagePreview, "og:title.value", [item.placeholder]));
31387
 
31388
+ case "_seopress_social_fb_desc":
31389
+ return first_default()(get_default()(dataPagePreview, "og:description.value", [item.placeholder]));
 
 
 
 
 
 
 
31390
 
31391
+ case "_seopress_social_fb_img":
31392
+ return first_default()(get_default()(dataPagePreview, "og:image.value", [item.placeholder]));
 
 
 
 
 
 
 
 
31393
 
31394
+ case "_seopress_social_twitter_title":
31395
+ return first_default()(get_default()(dataPagePreview, "twitter:title.value", [item.placeholder]));
31396
 
31397
+ case "_seopress_social_twitter_desc":
31398
+ return first_default()(get_default()(dataPagePreview, "twitter:description.value", [item.placeholder]));
31399
 
31400
+ case "_seopress_social_twitter_img":
31401
+ return first_default()(get_default()(dataPagePreview, "twitter:image.value", [item.placeholder]));
31402
 
31403
+ default:
31404
+ return item.placeholder;
31405
+ }
31406
+ };
31407
 
31408
+ var initialValues = mapValues_default()(keyBy_default()(data, "key"), function (item) {
31409
+ var value = get_default()(item, "value", "");
31410
 
31411
+ return value;
31412
+ });
 
31413
 
31414
+ var placeholders = mapValues_default()(keyBy_default()(data, "key"), function (item) {
31415
+ var value = get_default()(item, "value", "");
 
 
31416
 
31417
+ if (isEmpty_default()(value)) {
31418
+ value = getPlaceholderByItem(item);
31419
+ }
 
 
 
 
 
 
 
 
31420
 
31421
+ return {
31422
+ key: item.key,
31423
+ placeholder: value
31424
+ };
31425
+ });
31426
 
31427
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement(Formik, {
31428
+ enableReinitialize: true,
31429
+ onSubmit: handleOnSubmit,
31430
+ initialValues: initialValues
31431
+ }, function (_ref3) {
31432
+ var values = _ref3.values,
31433
+ rest = Social_objectWithoutProperties(_ref3, Social_excluded);
31434
 
31435
+ return /*#__PURE__*/react.createElement("div", {
31436
+ ref: mainBarRef,
31437
+ className: "flex",
31438
+ style: {
31439
+ gap: 32
31440
+ },
31441
+ tabIndex: "0"
31442
+ }, /*#__PURE__*/react.createElement("div", {
31443
+ className: "w-1/2"
31444
+ }, /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement("p", {
31445
+ className: "description-alt desc-fb"
31446
+ }, /*#__PURE__*/react.createElement("svg", {
31447
+ width: "24",
31448
+ height: "24",
31449
+ viewBox: "0 0 24 24",
31450
+ role: "img",
31451
+ "aria-hidden": "true",
31452
+ focusable: "false"
31453
+ }, /*#__PURE__*/react.createElement("path", {
31454
+ d: "M12 15.8c-3.7 0-6.8-3-6.8-6.8s3-6.8 6.8-6.8c3.7 0 6.8 3 6.8 6.8s-3.1 6.8-6.8 6.8zm0-12C9.1 3.8 6.8 6.1 6.8 9s2.4 5.2 5.2 5.2c2.9 0 5.2-2.4 5.2-5.2S14.9 3.8 12 3.8zM8 17.5h8V19H8zM10 20.5h4V22h-4z"
31455
+ })), Social_("LinkedIn, Instagram, WhatsApp and Pinterest use the same social metadata as Facebook. Twitter does the same if no Twitter cards tags are defined below.", "wp-seopress")), data.map(function (item, key) {
31456
+ if (!item.visible) {
31457
+ return;
31458
+ }
31459
 
31460
+ var Field = getFieldByType(item.type);
31461
 
31462
+ if (isNil_default()(Field)) {
31463
+ return;
31464
+ }
 
31465
 
31466
+ return /*#__PURE__*/react.createElement(react.Fragment, {
31467
+ key: "social_form_".concat(key)
31468
+ }, item.key === "_seopress_social_fb_title" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
31469
+ className: "dashicons dashicons-facebook-alt"
31470
+ })), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
31471
+ className: "dashicons dashicons-external"
31472
+ }), /*#__PURE__*/react.createElement("a", {
31473
+ href: "https://developers.facebook.com/tools/debug/sharing/?q={get_permalink(get_the_id())}",
31474
+ target: "_blank"
31475
+ }, Social_("Ask Facebook to update its cache", "wp-seopress")))), item.key === "_seopress_social_twitter_title" && /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("div", {
31476
+ style: {
31477
+ marginTop: 20,
31478
+ borderTop: "1px solid var(--borderColorLight)",
31479
+ paddingTop: 20
31480
+ }
31481
+ }, /*#__PURE__*/react.createElement("span", {
31482
+ className: "dashicons dashicons-twitter"
31483
+ })), /*#__PURE__*/react.createElement("div", null, /*#__PURE__*/react.createElement("span", {
31484
+ className: "dashicons dashicons-external"
31485
+ }), /*#__PURE__*/react.createElement("a", {
31486
+ href: "https://cards-dev.twitter.com/validator",
31487
+ target: "_blank"
31488
+ }, Social_("Preview your Twitter card using the official validator", "wp-seopress")))), /*#__PURE__*/react.createElement("div", {
31489
+ className: "mt-3"
31490
+ }, /*#__PURE__*/react.createElement(components_DynamicField, Social_extends({
31491
+ item: item,
31492
+ emptyIcon: item.key === "_seopress_social_fb_img" || item.key === "_seopress_social_twitter_img",
31493
+ values: values,
31494
+ placeholder: getPlaceholderByItem(item)
31495
+ }, rest))));
31496
+ }), /*#__PURE__*/react.createElement("div", {
31497
+ className: "sp-fixed"
31498
+ }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
31499
+ loading: loading,
31500
+ tabIndex: "0"
31501
+ }, Social_("Save", "wp-seopress"))))), /*#__PURE__*/react.createElement("div", {
31502
+ className: "w-1/2"
31503
+ }, /*#__PURE__*/react.createElement(Preview, {
31504
+ values: values,
31505
+ placeholders: placeholders
31506
+ })));
31507
+ }));
31508
  };
31509
 
31510
+ /* harmony default export */ const Social = (SocialLayout);
31511
+ ;// CONCATENATED MODULE: ./node_modules/lodash-es/isEmpty.js
 
31512
 
31513
 
 
 
 
 
 
 
31514
 
 
 
 
31515
 
 
 
 
 
31516
 
31517
 
 
 
 
 
 
 
31518
 
31519
 
 
 
 
31520
 
31521
+ /** `Object#toString` result references. */
31522
+ var isEmpty_mapTag = '[object Map]',
31523
+ isEmpty_setTag = '[object Set]';
 
31524
 
31525
+ /** Used for built-in method references. */
31526
+ var isEmpty_objectProto = Object.prototype;
 
 
 
 
 
 
 
31527
 
31528
+ /** Used to check objects for own properties. */
31529
+ var isEmpty_hasOwnProperty = isEmpty_objectProto.hasOwnProperty;
31530
+
31531
+ /**
31532
+ * Checks if `value` is an empty object, collection, map, or set.
31533
+ *
31534
+ * Objects are considered empty if they have no own enumerable string keyed
31535
+ * properties.
31536
+ *
31537
+ * Array-like values such as `arguments` objects, arrays, buffers, strings, or
31538
+ * jQuery-like collections are considered empty if they have a `length` of `0`.
31539
+ * Similarly, maps and sets are considered empty if they have a `size` of `0`.
31540
+ *
31541
+ * @static
31542
+ * @memberOf _
31543
+ * @since 0.1.0
31544
+ * @category Lang
31545
+ * @param {*} value The value to check.
31546
+ * @returns {boolean} Returns `true` if `value` is empty, else `false`.
31547
+ * @example
31548
+ *
31549
+ * _.isEmpty(null);
31550
+ * // => true
31551
+ *
31552
+ * _.isEmpty(true);
31553
+ * // => true
31554
+ *
31555
+ * _.isEmpty(1);
31556
+ * // => true
31557
+ *
31558
+ * _.isEmpty([1, 2, 3]);
31559
+ * // => false
31560
+ *
31561
+ * _.isEmpty({ 'a': 1 });
31562
+ * // => false
31563
+ */
31564
+ function isEmpty_isEmpty(value) {
31565
+ if (value == null) {
31566
+ return true;
31567
+ }
31568
+ if (lodash_es_isArrayLike(value) &&
31569
+ (lodash_es_isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||
31570
+ lodash_es_isBuffer(value) || lodash_es_isTypedArray(value) || lodash_es_isArguments(value))) {
31571
+ return !value.length;
31572
+ }
31573
+ var tag = _getTag(value);
31574
+ if (tag == isEmpty_mapTag || tag == isEmpty_setTag) {
31575
+ return !value.size;
31576
+ }
31577
+ if (_isPrototype(value)) {
31578
+ return !_baseKeys(value).length;
31579
+ }
31580
+ for (var key in value) {
31581
+ if (isEmpty_hasOwnProperty.call(value, key)) {
31582
+ return false;
31583
  }
31584
  }
31585
+ return true;
31586
+ }
 
 
 
 
31587
 
31588
+ /* harmony default export */ const lodash_es_isEmpty = (isEmpty_isEmpty);
 
 
 
31589
 
31590
+ // EXTERNAL MODULE: ./node_modules/sprintf-js/src/sprintf.js
31591
+ var src_sprintf = __webpack_require__(8975);
31592
+ ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Advanced/MetaRobotCheckboxSettings/index.js
31593
 
31594
+ var MetaRobotCheckboxSettings_excluded = ["data", "values"];
 
 
31595
 
31596
+ function MetaRobotCheckboxSettings_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = MetaRobotCheckboxSettings_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
 
 
31597
 
31598
+ function MetaRobotCheckboxSettings_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
31599
 
 
 
 
 
 
 
31600
 
 
 
 
 
31601
 
31602
 
 
 
 
 
 
 
 
31603
 
 
 
 
 
31604
 
31605
+ var MetaRobotCheckboxSettings_ = wp.i18n.__;
 
 
 
 
 
 
 
31606
 
31607
+ var getStringForCheckboxData = function getStringForCheckboxData(key) {
31608
+ switch (key) {
31609
+ case "_seopress_robots_index":
31610
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display this page in search engine results / XML - HTML sitemaps", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noindex)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31611
+ title: MetaRobotCheckboxSettings_('"noindex" robots meta tag', 'wp-seopress'),
31612
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "noindex".', 'wp-seopress'), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaRobotCheckboxSettings_('Search engines will not index this URL in the search results.', 'wp-seopress'), " "),
31613
+ code: "<meta name=\"robots\" content=\"noindex\" />"
31614
+ }));
31615
 
31616
+ case "_seopress_robots_follow":
31617
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not follow links for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(nofollow)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31618
+ title: MetaRobotCheckboxSettings_('"nofollow" robots meta tag', 'wp-seopress'),
31619
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "nofollow".', 'wp-seopress'), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaRobotCheckboxSettings_('Search engines will not follow links from this URL.', 'wp-seopress')),
31620
+ code: "<meta name=\"robots\" content=\"nofollow\" />"
31621
+ }));
31622
 
31623
+ case "_seopress_robots_odp":
31624
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not use Open Directory project metadata for titles or excerpts for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noodp)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31625
+ title: MetaRobotCheckboxSettings_('"noodp" robots meta tag', 'wp-seopress'),
31626
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "noodp".', 'wp-seopress'), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaRobotCheckboxSettings_('Note that Google and Yahoo have stopped considering this tag since the closing of DMOZ directory.', 'wp-seopress')),
31627
+ code: "<meta name=\"robots\" content=\"noodp\" />"
31628
+ }));
31629
 
31630
+ case "_seopress_robots_archive":
31631
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display a 'Cached' link in the Google search results", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(noarchive)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31632
+ title: MetaRobotCheckboxSettings_('"noarchive" robots meta tag', 'wp-seopress'),
31633
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "noarchive".', 'wp-seopress')),
31634
+ code: "<meta name=\"robots\" content=\"noarchive\" />"
31635
+ }));
31636
 
31637
+ case "_seopress_robots_snippet":
31638
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not display a description in search results for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, "(nosnippet)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31639
+ title: MetaRobotCheckboxSettings_('"nosnippet" robots meta tag', 'wp-seopress'),
31640
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "nosnippet".', 'wp-seopress')),
31641
+ code: "<meta name=\"robots\" content=\"nosnippet\" />"
31642
+ }));
 
 
31643
 
31644
+ case "_seopress_robots_imageindex":
31645
+ return /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_("Do not index images for this page", "wp-seopress"), " ", /*#__PURE__*/react.createElement("strong", null, " (noimageindex)"), /*#__PURE__*/react.createElement(components_Tooltip, {
31646
+ title: MetaRobotCheckboxSettings_('"noimageindex" robots meta tag', 'wp-seopress'),
31647
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, MetaRobotCheckboxSettings_('By checking this option, you will add a meta robots tag with the value "noimageindex".', 'wp-seopress'), " ", /*#__PURE__*/react.createElement("br", null), " ", MetaRobotCheckboxSettings_('Note that your images can always be indexed if they are linked from other pages.', 'wp-seopress')),
31648
+ code: "<meta name=\"google\" content=\"noimageindex\" />"
31649
+ }));
31650
  }
31651
+ };
31652
 
31653
+ var MetaRobotChecboxSettings = function MetaRobotChecboxSettings(_ref) {
31654
+ var data = _ref.data,
31655
+ values = _ref.values,
31656
+ rest = MetaRobotCheckboxSettings_objectWithoutProperties(_ref, MetaRobotCheckboxSettings_excluded);
31657
 
31658
+ return /*#__PURE__*/react.createElement(react.Fragment, null, /*#__PURE__*/react.createElement("p", {
31659
+ className: "description",
31660
+ dangerouslySetInnerHTML: {
31661
+ __html: (0,src_sprintf.sprintf)(MetaRobotCheckboxSettings_('You cannot uncheck a parameter? This is normal, and it‘s most likely defined in the <a href="%s">global settings of the plugin.</a>', "wp-seopress"), SEOPRESS_DATA.ADMIN_URL_TITLES)
31662
+ }
31663
+ }), !lodash_es_isEmpty(data) && data.map(function (item, key) {
31664
+ return /*#__PURE__*/react.createElement(components_LabelCheckbox, {
31665
+ key: "robot_".concat(key)
31666
+ }, /*#__PURE__*/react.createElement(components_Checkbox, {
31667
+ name: item.key,
31668
+ disabled: !item.can_modify,
31669
+ checked: values[item.key] || values[item.key] === "yes" ? true : false,
31670
+ onChange: function onChange(e) {
31671
+ rest.setFieldValue(item.key, e.target.checked ? "yes" : "");
31672
+ },
31673
+ value: "yes"
31674
+ }), getStringForCheckboxData(item.key));
31675
+ }));
31676
+ };
31677
 
31678
+ /* harmony default export */ const MetaRobotCheckboxSettings = (MetaRobotChecboxSettings);
31679
+ ;// CONCATENATED MODULE: ./app/react/hooks/metas/useMetaRobotSettings.js
31680
 
 
 
 
 
 
 
31681
 
31682
+ var getPathMetaRobotSettings = function getPathMetaRobotSettings(_ref) {
31683
+ var postId = _ref.postId;
31684
+ return "".concat(SEOPRESS_DATA.REST_URL, "seopress/v1/posts/").concat(postId, "/meta-robot-settings");
31685
+ };
31686
 
31687
+ var useMetaRobotSettings = function useMetaRobotSettings(_ref2) {
31688
+ var postId = _ref2.postId;
31689
+ return useSWRAbort(getPathMetaRobotSettings({
31690
+ postId: postId
31691
+ }), {
31692
+ suspense: true
31693
+ });
31694
+ };
31695
 
31696
+ /* harmony default export */ const metas_useMetaRobotSettings = (useMetaRobotSettings);
31697
+ ;// CONCATENATED MODULE: ./app/react/services/api/saveMetaRobotSettings.js
31698
 
 
31699
 
31700
+ function saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
31701
 
31702
+ function saveMetaRobotSettings_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { saveMetaRobotSettings_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
 
 
 
 
31703
 
 
 
 
31704
 
31705
+ var saveMetaRobotSettings = /*#__PURE__*/function () {
31706
+ var _ref = saveMetaRobotSettings_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(postId, data) {
31707
+ var response;
31708
+ return regeneratorRuntime.wrap(function _callee$(_context) {
31709
+ while (1) {
31710
+ switch (_context.prev = _context.next) {
31711
+ case 0:
31712
+ _context.next = 2;
31713
+ return fetch(getPathMetaRobotSettings({
31714
+ postId: postId
31715
+ }), {
31716
+ method: "PUT",
31717
+ headers: {
31718
+ "Content-Type": "application/json",
31719
+ "X-WP-Nonce": get_default()(SEOPRESS_DATA, "NONCE", null)
31720
+ },
31721
+ body: JSON.stringify(data)
31722
+ });
31723
 
31724
+ case 2:
31725
+ response = _context.sent;
31726
+ _context.next = 5;
31727
+ return response.json();
31728
 
31729
+ case 5:
31730
+ return _context.abrupt("return", _context.sent);
31731
 
31732
+ case 6:
31733
+ case "end":
31734
+ return _context.stop();
31735
+ }
31736
  }
31737
+ }, _callee);
31738
+ }));
31739
 
31740
+ return function saveMetaRobotSettings(_x, _x2) {
31741
+ return _ref.apply(this, arguments);
 
 
 
 
 
 
 
 
 
 
 
31742
  };
31743
+ }();
31744
+ ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Advanced/index.js
 
31745
 
 
31746
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31747
 
 
 
 
 
 
 
 
 
 
 
 
 
31748
 
31749
+ var Advanced_excluded = ["values"];
 
31750
 
31751
+ function Advanced_extends() { Advanced_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Advanced_extends.apply(this, arguments); }
 
31752
 
31753
+ function Advanced_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Advanced_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
31754
 
31755
+ function Advanced_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
31756
 
31757
+ function Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
31758
 
31759
+ function Advanced_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Advanced_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
 
 
 
 
 
 
 
 
 
31760
 
31761
+ function Advanced_slicedToArray(arr, i) { return Advanced_arrayWithHoles(arr) || Advanced_iterableToArrayLimit(arr, i) || Advanced_unsupportedIterableToArray(arr, i) || Advanced_nonIterableRest(); }
 
 
31762
 
31763
+ function Advanced_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
 
 
 
 
 
 
 
 
 
 
 
 
 
31764
 
31765
+ function Advanced_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Advanced_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Advanced_arrayLikeToArray(o, minLen); }
31766
 
31767
+ function Advanced_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
31768
 
31769
+ function Advanced_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
 
31770
 
31771
+ function Advanced_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
 
 
 
 
 
 
31772
 
31773
 
 
 
 
 
 
 
31774
 
 
31775
 
 
 
 
 
 
 
 
 
31776
 
 
31777
 
 
31778
 
31779
 
31780
 
31781
 
 
 
 
 
31782
 
 
 
 
31783
 
 
 
 
31784
 
31785
+ var Advanced_ = wp.i18n.__;
 
 
31786
 
31787
+ var AdvancedLayout = function AdvancedLayout(_ref) {
31788
+ var mainBarRef = _ref.mainBarRef;
31789
+ var postId = getCurrentPostId();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
31790
 
31791
+ var _useMetaRobotSettings = metas_useMetaRobotSettings({
31792
+ postId: postId
31793
+ }),
31794
+ data = _useMetaRobotSettings.data,
31795
+ mutate = _useMetaRobotSettings.mutate,
31796
+ abort = _useMetaRobotSettings.abort;
31797
 
31798
+ (0,react.useEffect)(function () {
31799
+ return function () {
31800
+ abort();
31801
+ };
31802
+ });
31803
 
31804
+ var _useState = (0,react.useState)(false),
31805
+ _useState2 = Advanced_slicedToArray(_useState, 2),
31806
+ loading = _useState2[0],
31807
+ setLoading = _useState2[1];
31808
 
31809
+ var _useContext = (0,react.useContext)(NotificationContext),
31810
+ actions = _useContext.actions;
 
 
31811
 
31812
+ var handleOnSubmit = /*#__PURE__*/function () {
31813
+ var _ref2 = Advanced_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
31814
+ var data;
31815
+ return regeneratorRuntime.wrap(function _callee$(_context) {
31816
+ while (1) {
31817
+ switch (_context.prev = _context.next) {
31818
+ case 0:
31819
+ setLoading(true);
31820
+ _context.next = 3;
31821
+ return saveMetaRobotSettings(postId, values);
31822
 
31823
+ case 3:
31824
+ data = _context.sent;
31825
+ mutate();
31826
+ setLoading(false);
31827
+ actions.setMessage(Advanced_("Your settings have been saved.", "wp-seopress"));
31828
 
31829
+ case 7:
31830
+ case "end":
31831
+ return _context.stop();
31832
+ }
 
 
 
 
 
 
 
 
 
 
 
31833
  }
31834
+ }, _callee);
31835
+ }));
31836
 
31837
+ return function handleOnSubmit(_x) {
31838
+ return _ref2.apply(this, arguments);
31839
+ };
31840
+ }();
31841
 
31842
+ return /*#__PURE__*/react.createElement("div", {
31843
+ ref: mainBarRef,
31844
+ tabIndex: "0"
31845
+ }, /*#__PURE__*/react.createElement("p", {
31846
+ style: {
31847
+ fontWeight: "bold"
31848
+ }
31849
+ }, Advanced_("Meta robots settings", "wp-seopress")), /*#__PURE__*/react.createElement(Formik, {
31850
+ enableReinitialize: true,
31851
+ onSubmit: handleOnSubmit,
31852
+ initialValues: {
31853
+ _seopress_robots_index: get_default()(find_default()(data, {
31854
+ key: "_seopress_robots_index"
31855
+ }), "value", ""),
31856
+ _seopress_robots_follow: get_default()(find_default()(data, {
31857
+ key: "_seopress_robots_follow"
31858
+ }), "value", ""),
31859
+ _seopress_robots_odp: get_default()(find_default()(data, {
31860
+ key: "_seopress_robots_odp"
31861
+ }), "value", ""),
31862
+ _seopress_robots_archive: get_default()(find_default()(data, {
31863
+ key: "_seopress_robots_archive"
31864
+ }), "value", ""),
31865
+ _seopress_robots_snippet: get_default()(find_default()(data, {
31866
+ key: "_seopress_robots_snippet"
31867
+ }), "value", ""),
31868
+ _seopress_robots_imageindex: get_default()(find_default()(data, {
31869
+ key: "_seopress_robots_imageindex"
31870
+ }), "value", ""),
31871
+ _seopress_robots_canonical: get_default()(find_default()(data, {
31872
+ key: "_seopress_robots_canonical"
31873
+ }), "value", false),
31874
+ _seopress_robots_primary_cat: get_default()(find_default()(data, {
31875
+ key: "_seopress_robots_primary_cat"
31876
+ }), "value", false),
31877
+ _seopress_robots_breadcrumbs: get_default()(find_default()(data, {
31878
+ key: "_seopress_robots_breadcrumbs"
31879
+ }), "value", false)
31880
+ }
31881
+ }, function (_ref3) {
31882
+ var values = _ref3.values,
31883
+ rest = Advanced_objectWithoutProperties(_ref3, Advanced_excluded);
31884
 
31885
+ var dataValuesCheckbox = ["_seopress_robots_index", "_seopress_robots_follow", "_seopress_robots_odp", "_seopress_robots_archive", "_seopress_robots_snippet", "_seopress_robots_imageindex"];
31886
 
31887
+ var canonical = find_default()(data, {
31888
+ key: "_seopress_robots_canonical"
31889
+ });
31890
 
31891
+ var primaryCat = find_default()(data, {
31892
+ key: "_seopress_robots_primary_cat"
31893
+ });
31894
+
31895
+ var breadcrumbs = find_default()(data, {
31896
+ key: "_seopress_robots_breadcrumbs"
31897
+ });
31898
+
31899
+ return /*#__PURE__*/react.createElement(Form, null, /*#__PURE__*/react.createElement(MetaRobotCheckboxSettings, Advanced_extends({
31900
+ data: data.filter(function (item) {
31901
+ if (dataValuesCheckbox.indexOf(item.key) >= 0) {
31902
+ return true;
31903
  }
31904
 
31905
+ return false;
31906
+ }),
31907
+ values: values
31908
+ }, rest)), canonical && canonical.visible && /*#__PURE__*/react.createElement("div", {
31909
+ className: "mt-3"
31910
+ }, /*#__PURE__*/react.createElement(components_Label, {
31911
+ htmlFor: canonical.key
31912
+ }, canonical.label, /*#__PURE__*/react.createElement(components_Tooltip, {
31913
+ title: Advanced_("Canonical URL", "wp-seopress"),
31914
+ description: /*#__PURE__*/react.createElement(react.Fragment, null, Advanced_("A canonical URL is the URL of the page that Google thinks is most representative from a set of duplicate pages on your site.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", Advanced_("For example, if you have URLs for the same page (for example: example.com?dress=1234 and example.com/dresses/1234), Google chooses one as canonical.", "wp-seopress"), " ", /*#__PURE__*/react.createElement("br", null), " ", Advanced_("Note that the pages do not need to be absolutely identical; minor changes in sorting or filtering of list pages do not make the page unique (for example, sorting by price or filtering by item color). The canonical can be in a different domain than a duplicate.", "wp-seopress")),
31915
+ code: "<link rel=\"canonical\" href=\"https://www.example.com/my-post-url/\" />"
31916
+ })), /*#__PURE__*/react.createElement(components_Input, {
31917
+ id: canonical.key,
31918
+ name: canonical.key,
31919
+ placeholder: canonical.placeholder,
31920
+ value: values[canonical.key] || "",
31921
+ className: "w-full",
31922
+ setFieldValue: rest.setFieldValue
31923
+ })), primaryCat && !isEmpty_default()(get_default()(primaryCat, "options", [])) && primaryCat.visible && /*#__PURE__*/react.createElement("div", {
31924
+ className: "mt-3"
31925
+ }, /*#__PURE__*/react.createElement(components_Label, {
31926
+ htmlFor: primaryCat.key
31927
+ }, primaryCat.label), /*#__PURE__*/react.createElement(components_Select, Advanced_extends({
31928
+ id: primaryCat.key,
31929
+ name: primaryCat.key,
31930
+ value: values[primaryCat.key] || "none",
31931
+ options: get_default()(primaryCat, "options", []).map(function (item) {
31932
+ if (isNil_default()(item.name) || isNil_default()(item.term_id)) {
31933
+ return;
31934
+ }
31935
 
31936
+ return {
31937
+ label: item.name,
31938
+ value: item.term_id
31939
+ };
31940
+ })
31941
+ }, rest))), breadcrumbs && breadcrumbs.visible && /*#__PURE__*/react.createElement("div", {
31942
+ className: "mt-3"
31943
+ }, /*#__PURE__*/react.createElement(components_Label, {
31944
+ htmlFor: breadcrumbs.key
31945
+ }, breadcrumbs.label), breadcrumbs.description && /*#__PURE__*/react.createElement("p", {
31946
+ className: "description"
31947
+ }, breadcrumbs.description), /*#__PURE__*/react.createElement(components_Input, {
31948
+ id: breadcrumbs.key,
31949
+ name: breadcrumbs.key,
31950
+ placeholder: breadcrumbs.placeholder,
31951
+ value: values[breadcrumbs.key] || "",
31952
+ className: "w-full",
31953
+ setFieldValue: rest.setFieldValue
31954
+ })), /*#__PURE__*/react.createElement("div", {
31955
+ className: "sp-fixed"
31956
+ }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
31957
+ loading: loading
31958
+ }, Advanced_("Save", "wp-seopress"))));
31959
+ }));
31960
+ };
31961
 
31962
+ /* harmony default export */ const Advanced = (AdvancedLayout);
31963
+ ;// CONCATENATED MODULE: ./app/react/hooks/metas/useRedirectionSettings.js
31964
 
 
 
31965
 
31966
+ var getPathRedirectionSettings = function getPathRedirectionSettings(_ref) {
31967
+ var postId = _ref.postId;
31968
+ return "".concat(SEOPRESS_DATA.REST_URL, "seopress/v1/posts/").concat(postId, "/redirection-settings");
31969
+ };
31970
 
31971
+ var useRedirectionSettings = function useRedirectionSettings(_ref2) {
31972
+ var postId = _ref2.postId;
31973
+ return useSWRAbort(getPathRedirectionSettings({
31974
+ postId: postId
31975
+ }), {
31976
+ suspense: true
31977
+ });
31978
+ };
31979
 
31980
+ /* harmony default export */ const metas_useRedirectionSettings = (useRedirectionSettings);
31981
+ ;// CONCATENATED MODULE: ./app/react/services/api/saveRedirectionDescription.js
 
31982
 
 
 
 
31983
 
31984
+ function saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
31985
 
31986
+ function saveRedirectionDescription_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { saveRedirectionDescription_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
 
 
 
 
 
31987
 
 
 
 
 
 
 
 
 
 
 
31988
 
31989
+ var saveRedirectionSettings = /*#__PURE__*/function () {
31990
+ var _ref = saveRedirectionDescription_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(postId, data) {
31991
+ var response;
31992
+ return regeneratorRuntime.wrap(function _callee$(_context) {
31993
+ while (1) {
31994
+ switch (_context.prev = _context.next) {
31995
+ case 0:
31996
+ _context.next = 2;
31997
+ return fetch(getPathRedirectionSettings({
31998
+ postId: postId
31999
+ }), {
32000
+ method: "PUT",
32001
+ headers: {
32002
+ "Content-Type": "application/json",
32003
+ "X-WP-Nonce": get_default()(SEOPRESS_DATA, "NONCE", null)
32004
+ },
32005
+ body: JSON.stringify(data)
32006
+ });
32007
 
32008
+ case 2:
32009
+ response = _context.sent;
32010
+ _context.next = 5;
32011
+ return response.json();
 
 
 
32012
 
32013
+ case 5:
32014
+ return _context.abrupt("return", _context.sent);
 
32015
 
32016
+ case 6:
32017
+ case "end":
32018
+ return _context.stop();
32019
  }
32020
  }
32021
+ }, _callee);
32022
+ }));
32023
 
32024
+ return function saveRedirectionSettings(_x, _x2) {
32025
+ return _ref.apply(this, arguments);
32026
+ };
32027
+ }();
32028
+ ;// CONCATENATED MODULE: ./app/react/layout/Main/components/Redirection/index.js
32029
 
 
 
32030
 
 
 
32031
 
32032
+ var Redirection_excluded = ["values"];
32033
 
32034
+ function Redirection_extends() { Redirection_extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return Redirection_extends.apply(this, arguments); }
 
 
 
 
32035
 
32036
+ function Redirection_objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = Redirection_objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
 
 
 
32037
 
32038
+ function Redirection_objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
 
 
 
 
32039
 
32040
+ function Redirection_ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
 
32041
 
32042
+ function Redirection_objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { Redirection_ownKeys(Object(source), true).forEach(function (key) { Redirection_defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { Redirection_ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
32043
 
32044
+ function Redirection_defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
 
32045
 
32046
+ function Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
 
32047
 
32048
+ function Redirection_asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { Redirection_asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
 
 
32049
 
32050
+ function Redirection_slicedToArray(arr, i) { return Redirection_arrayWithHoles(arr) || Redirection_iterableToArrayLimit(arr, i) || Redirection_unsupportedIterableToArray(arr, i) || Redirection_nonIterableRest(); }
32051
 
32052
+ function Redirection_nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
32053
 
32054
+ function Redirection_unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return Redirection_arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return Redirection_arrayLikeToArray(o, minLen); }
32055
 
32056
+ function Redirection_arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
 
 
32057
 
32058
+ function Redirection_iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
 
 
 
32059
 
32060
+ function Redirection_arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
32061
 
 
32062
 
 
 
 
 
 
 
32063
 
32064
 
32065
 
 
32066
 
32067
 
32068
 
32069
 
32070
+ var Redirection_ = wp.i18n.__;
32071
 
32072
+ var RedirectionLayout = function RedirectionLayout(_ref) {
32073
+ var mainBarRef = _ref.mainBarRef;
32074
+ var postId = getCurrentPostId();
32075
 
32076
+ var _useRedirectionSettin = metas_useRedirectionSettings({
32077
+ postId: postId
32078
+ }),
32079
+ data = _useRedirectionSettin.data,
32080
+ mutate = _useRedirectionSettin.mutate,
32081
+ abort = _useRedirectionSettin.abort;
32082
 
32083
+ (0,react.useEffect)(function () {
32084
+ return function () {
32085
+ abort();
32086
+ };
32087
+ });
32088
 
32089
+ var _useState = (0,react.useState)(false),
32090
+ _useState2 = Redirection_slicedToArray(_useState, 2),
32091
+ loading = _useState2[0],
32092
+ setLoading = _useState2[1];
32093
 
32094
+ var _useContext = (0,react.useContext)(NotificationContext),
32095
+ actions = _useContext.actions;
 
 
 
 
 
 
 
32096
 
32097
+ var handleOnSubmit = /*#__PURE__*/function () {
32098
+ var _ref2 = Redirection_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
32099
+ var data;
32100
+ return regeneratorRuntime.wrap(function _callee$(_context) {
32101
+ while (1) {
32102
+ switch (_context.prev = _context.next) {
32103
+ case 0:
32104
+ setLoading(true);
32105
+ _context.next = 3;
32106
+ return saveRedirectionSettings(postId, Redirection_objectSpread(Redirection_objectSpread({}, values), {}, {
32107
+ _seopress_redirections_enabled: values._seopress_redirections_enabled ? "yes" : ""
32108
+ }));
32109
 
32110
+ case 3:
32111
+ data = _context.sent;
32112
+ mutate();
32113
+ setLoading(false);
32114
+ actions.setMessage(Redirection_("Your settings have been saved.", "wp-seopress"));
32115
 
32116
+ case 7:
32117
+ case "end":
32118
+ return _context.stop();
32119
+ }
32120
+ }
32121
+ }, _callee);
32122
+ }));
 
32123
 
32124
+ return function handleOnSubmit(_x) {
32125
+ return _ref2.apply(this, arguments);
32126
+ };
32127
+ }();
32128
 
32129
+ var initialValues = mapValues_default()(keyBy_default()(data, "key"), function (item) {
32130
+ return get_default()(item, "value", false);
32131
+ });
32132
 
32133
+ return /*#__PURE__*/react.createElement("div", {
32134
+ ref: mainBarRef,
32135
+ tabIndex: "0"
32136
+ }, /*#__PURE__*/react.createElement(Formik, {
32137
+ enableReinitialize: true,
32138
+ onSubmit: handleOnSubmit,
32139
+ initialValues: initialValues
32140
+ }, function (_ref3) {
32141
+ var values = _ref3.values,
32142
+ rest = Redirection_objectWithoutProperties(_ref3, Redirection_excluded);
32143
 
32144
+ return /*#__PURE__*/react.createElement(Form, null, data.map(function (item, key) {
32145
+ if (!item.visible) {
32146
+ return;
32147
+ }
32148
 
32149
+ return /*#__PURE__*/react.createElement(react.Fragment, {
32150
+ key: "social_form_".concat(key)
32151
+ }, /*#__PURE__*/react.createElement("div", {
32152
+ className: "mt-3"
32153
+ }, /*#__PURE__*/react.createElement(components_DynamicField, Redirection_extends({
32154
+ item: item,
32155
+ values: values,
32156
+ checkboxLegacyValue: item.key === "_seopress_redirections_enabled"
32157
+ }, rest))));
32158
+ }), /*#__PURE__*/react.createElement("div", {
32159
+ className: "sp-fixed"
32160
+ }, /*#__PURE__*/react.createElement(components_ButtonSubmit, {
32161
+ loading: loading
32162
+ }, Redirection_("Save", "wp-seopress"))));
32163
+ }));
32164
+ };
32165
 
32166
+ /* harmony default export */ const Redirection = (RedirectionLayout);
32167
+ // EXTERNAL MODULE: ./node_modules/lodash/has.js
32168
+ var lodash_has = __webpack_require__(8721);
32169
+ var has_default = /*#__PURE__*/__webpack_require__.n(lodash_has);
32170
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/extends.js
32171
+ function extends_extends() {
32172
+ extends_extends = Object.assign || function (target) {
32173
+ for (var i = 1; i < arguments.length; i++) {
32174
+ var source = arguments[i];
32175
 
32176
+ for (var key in source) {
32177
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
32178
+ target[key] = source[key];
32179
+ }
32180
+ }
32181
+ }
32182
 
32183
+ return target;
32184
+ };
32185
 
32186
+ return extends_extends.apply(this, arguments);
32187
+ }
32188
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
32189
+ function arrayLikeToArray_arrayLikeToArray(arr, len) {
32190
+ if (len == null || len > arr.length) len = arr.length;
 
 
32191
 
32192
+ for (var i = 0, arr2 = new Array(len); i < len; i++) {
32193
+ arr2[i] = arr[i];
32194
  }
32195
 
32196
+ return arr2;
32197
+ }
32198
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js
 
 
 
 
 
 
 
 
 
 
 
32199
 
32200
+ function arrayWithoutHoles_arrayWithoutHoles(arr) {
32201
+ if (Array.isArray(arr)) return arrayLikeToArray_arrayLikeToArray(arr);
32202
+ }
32203
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/iterableToArray.js
32204
+ function iterableToArray_iterableToArray(iter) {
32205
+ if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter);
32206
+ }
32207
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js
32208
 
32209
+ function unsupportedIterableToArray_unsupportedIterableToArray(o, minLen) {
32210
+ if (!o) return;
32211
+ if (typeof o === "string") return arrayLikeToArray_arrayLikeToArray(o, minLen);
32212
+ var n = Object.prototype.toString.call(o).slice(8, -1);
32213
+ if (n === "Object" && o.constructor) n = o.constructor.name;
32214
+ if (n === "Map" || n === "Set") return Array.from(o);
32215
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray_arrayLikeToArray(o, minLen);
32216
+ }
32217
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js
32218
+ function nonIterableSpread_nonIterableSpread() {
32219
+ throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
32220
  }
32221
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js
32222
 
 
32223
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32224
 
 
 
 
 
 
 
 
 
32225
 
32226
+ function toConsumableArray_toConsumableArray(arr) {
32227
+ return arrayWithoutHoles_arrayWithoutHoles(arr) || iterableToArray_iterableToArray(arr) || unsupportedIterableToArray_unsupportedIterableToArray(arr) || nonIterableSpread_nonIterableSpread();
32228
+ }
32229
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js
32230
+ function classCallCheck_classCallCheck(instance, Constructor) {
32231
+ if (!(instance instanceof Constructor)) {
32232
+ throw new TypeError("Cannot call a class as a function");
32233
  }
32234
+ }
32235
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/createClass.js
32236
+ function createClass_defineProperties(target, props) {
32237
+ for (var i = 0; i < props.length; i++) {
32238
+ var descriptor = props[i];
32239
+ descriptor.enumerable = descriptor.enumerable || false;
32240
+ descriptor.configurable = true;
32241
+ if ("value" in descriptor) descriptor.writable = true;
32242
+ Object.defineProperty(target, descriptor.key, descriptor);
32243
  }
32244
+ }
32245
 
32246
+ function createClass_createClass(Constructor, protoProps, staticProps) {
32247
+ if (protoProps) createClass_defineProperties(Constructor.prototype, protoProps);
32248
+ if (staticProps) createClass_defineProperties(Constructor, staticProps);
32249
+ return Constructor;
32250
+ }
32251
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js
32252
+ function setPrototypeOf_setPrototypeOf(o, p) {
32253
+ setPrototypeOf_setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {
32254
+ o.__proto__ = p;
32255
+ return o;
32256
+ };
32257
 
32258
+ return setPrototypeOf_setPrototypeOf(o, p);
32259
+ }
32260
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/inherits.js
32261
 
32262
+ function inherits_inherits(subClass, superClass) {
32263
+ if (typeof superClass !== "function" && superClass !== null) {
32264
+ throw new TypeError("Super expression must either be null or a function");
 
32265
  }
32266
 
32267
+ subClass.prototype = Object.create(superClass && superClass.prototype, {
32268
+ constructor: {
32269
+ value: subClass,
32270
+ writable: true,
32271
+ configurable: true
32272
+ }
32273
+ });
32274
+ if (superClass) setPrototypeOf_setPrototypeOf(subClass, superClass);
32275
+ }
32276
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/sheet/dist/emotion-sheet.browser.esm.js
32277
+ /*
 
 
 
32278
 
32279
+ Based off glamor's StyleSheet, thanks Sunil ❤️
32280
 
32281
+ high performance StyleSheet for css-in-js systems
32282
 
32283
+ - uses multiple style tags behind the scenes for millions of rules
32284
+ - uses `insertRule` for appending in production for *much* faster performance
32285
 
32286
+ // usage
32287
 
32288
+ import { StyleSheet } from '@emotion/sheet'
32289
 
32290
+ let styleSheet = new StyleSheet({ key: '', container: document.head })
32291
 
32292
+ styleSheet.insert('#box { border: 1px solid red; }')
32293
+ - appends a css rule into the stylesheet
32294
 
32295
+ styleSheet.flush()
32296
+ - empties the stylesheet of all its contents
32297
 
32298
+ */
32299
+ // $FlowFixMe
32300
+ function sheetForTag(tag) {
32301
+ if (tag.sheet) {
32302
+ // $FlowFixMe
32303
+ return tag.sheet;
32304
+ } // this weirdness brought to you by firefox
32305
 
32306
+ /* istanbul ignore next */
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32307
 
 
 
32308
 
32309
+ for (var i = 0; i < document.styleSheets.length; i++) {
32310
+ if (document.styleSheets[i].ownerNode === tag) {
32311
+ // $FlowFixMe
32312
+ return document.styleSheets[i];
32313
+ }
32314
  }
32315
+ }
32316
 
32317
+ function createStyleElement(options) {
32318
+ var tag = document.createElement('style');
32319
+ tag.setAttribute('data-emotion', options.key);
 
32320
 
32321
+ if (options.nonce !== undefined) {
32322
+ tag.setAttribute('nonce', options.nonce);
32323
+ }
32324
 
32325
+ tag.appendChild(document.createTextNode(''));
32326
+ tag.setAttribute('data-s', '');
32327
+ return tag;
32328
+ }
32329
 
32330
+ var emotion_sheet_browser_esm_StyleSheet = /*#__PURE__*/function () {
32331
+ function StyleSheet(options) {
32332
+ var _this = this;
32333
 
32334
+ this._insertTag = function (tag) {
32335
+ var before;
 
32336
 
32337
+ if (_this.tags.length === 0) {
32338
+ before = _this.prepend ? _this.container.firstChild : _this.before;
32339
+ } else {
32340
+ before = _this.tags[_this.tags.length - 1].nextSibling;
32341
+ }
32342
 
32343
+ _this.container.insertBefore(tag, before);
 
 
 
 
32344
 
32345
+ _this.tags.push(tag);
32346
+ };
32347
 
32348
+ this.isSpeedy = options.speedy === undefined ? "production" === 'production' : options.speedy;
32349
+ this.tags = [];
32350
+ this.ctr = 0;
32351
+ this.nonce = options.nonce; // key is the value of the data-emotion attribute, it's used to identify different sheets
 
 
 
 
 
 
32352
 
32353
+ this.key = options.key;
32354
+ this.container = options.container;
32355
+ this.prepend = options.prepend;
32356
+ this.before = null;
32357
+ }
32358
 
32359
+ var _proto = StyleSheet.prototype;
 
 
32360
 
32361
+ _proto.hydrate = function hydrate(nodes) {
32362
+ nodes.forEach(this._insertTag);
32363
+ };
32364
 
32365
+ _proto.insert = function insert(rule) {
32366
+ // the max length is how many rules we have per style tag, it's 65000 in speedy mode
32367
+ // it's 1 in dev because we insert source maps that map a single rule to a location
32368
+ // and you can only have one source map per style tag
32369
+ if (this.ctr % (this.isSpeedy ? 65000 : 1) === 0) {
32370
+ this._insertTag(createStyleElement(this));
32371
  }
32372
 
32373
+ var tag = this.tags[this.tags.length - 1];
 
 
 
 
 
 
 
 
32374
 
32375
+ if (false) { var isImportRule; }
 
 
 
32376
 
32377
+ if (this.isSpeedy) {
32378
+ var sheet = sheetForTag(tag);
 
 
32379
 
32380
+ try {
32381
+ // this is the ultrafast version, works across browsers
32382
+ // the big drawback is that the css won't be editable in devtools
32383
+ sheet.insertRule(rule, sheet.cssRules.length);
32384
+ } catch (e) {
32385
+ if (false) {}
32386
+ }
32387
+ } else {
32388
+ tag.appendChild(document.createTextNode(rule));
32389
  }
32390
 
32391
+ this.ctr++;
32392
+ };
 
 
 
 
 
 
 
 
 
 
 
 
32393
 
32394
+ _proto.flush = function flush() {
32395
+ // $FlowFixMe
32396
+ this.tags.forEach(function (tag) {
32397
+ return tag.parentNode.removeChild(tag);
32398
+ });
32399
+ this.tags = [];
32400
+ this.ctr = 0;
32401
 
32402
+ if (false) {}
 
 
 
 
 
 
32403
  };
 
32404
 
32405
+ return StyleSheet;
32406
+ }();
 
 
32407
 
 
 
 
 
32408
 
 
 
 
32409
 
32410
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Utility.js
32411
+ /**
32412
+ * @param {number}
32413
+ * @return {number}
32414
+ */
32415
+ var abs = Math.abs
32416
 
32417
+ /**
32418
+ * @param {number}
32419
+ * @return {string}
32420
+ */
32421
+ var Utility_from = String.fromCharCode
32422
 
32423
+ /**
32424
+ * @param {string} value
32425
+ * @param {number} length
32426
+ * @return {number}
32427
+ */
32428
+ function Utility_hash (value, length) {
32429
+ return (((((((length << 2) ^ Utility_charat(value, 0)) << 2) ^ Utility_charat(value, 1)) << 2) ^ Utility_charat(value, 2)) << 2) ^ Utility_charat(value, 3)
32430
+ }
32431
 
32432
+ /**
32433
+ * @param {string} value
32434
+ * @return {string}
32435
+ */
32436
+ function trim (value) {
32437
+ return value.trim()
32438
+ }
32439
 
32440
+ /**
32441
+ * @param {string} value
32442
+ * @param {RegExp} pattern
32443
+ * @return {string?}
32444
+ */
32445
+ function match (value, pattern) {
32446
+ return (value = pattern.exec(value)) ? value[0] : value
32447
+ }
32448
 
32449
+ /**
32450
+ * @param {string} value
32451
+ * @param {(string|RegExp)} pattern
32452
+ * @param {string} replacement
32453
+ * @return {string}
32454
+ */
32455
+ function Utility_replace (value, pattern, replacement) {
32456
+ return value.replace(pattern, replacement)
32457
+ }
32458
 
32459
+ /**
32460
+ * @param {string} value
32461
+ * @param {string} value
32462
+ * @return {number}
32463
+ */
32464
+ function indexof (value, search) {
32465
+ return value.indexOf(search)
32466
+ }
32467
 
32468
+ /**
32469
+ * @param {string} value
32470
+ * @param {number} index
32471
+ * @return {number}
32472
+ */
32473
+ function Utility_charat (value, index) {
32474
+ return value.charCodeAt(index) | 0
32475
+ }
32476
 
32477
+ /**
32478
+ * @param {string} value
32479
+ * @param {number} begin
32480
+ * @param {number} end
32481
+ * @return {string}
32482
+ */
32483
+ function Utility_substr (value, begin, end) {
32484
+ return value.slice(begin, end)
32485
+ }
32486
 
32487
+ /**
32488
+ * @param {string} value
32489
+ * @return {number}
32490
+ */
32491
+ function Utility_strlen (value) {
32492
+ return value.length
32493
  }
32494
 
32495
+ /**
32496
+ * @param {any[]} value
32497
+ * @return {number}
32498
+ */
32499
+ function Utility_sizeof (value) {
32500
+ return value.length
32501
+ }
32502
 
32503
+ /**
32504
+ * @param {any} value
32505
+ * @param {any[]} array
32506
+ * @return {any}
32507
+ */
32508
+ function Utility_append (value, array) {
32509
+ return array.push(value), value
32510
+ }
32511
 
32512
+ /**
32513
+ * @param {string[]} array
32514
+ * @param {function} callback
32515
+ * @return {string}
32516
+ */
32517
+ function Utility_combine (array, callback) {
32518
+ return array.map(callback).join('')
32519
+ }
32520
 
32521
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Tokenizer.js
32522
 
 
 
 
32523
 
32524
+ var line = 1
32525
+ var column = 1
32526
+ var Tokenizer_length = 0
32527
+ var position = 0
32528
+ var character = 0
32529
+ var characters = ''
32530
 
32531
+ /**
32532
+ * @param {string} value
32533
+ * @param {object} root
32534
+ * @param {object?} parent
32535
+ * @param {string} type
32536
+ * @param {string[]} props
32537
+ * @param {object[]} children
32538
+ * @param {number} length
32539
+ */
32540
+ function node (value, root, parent, type, props, children, length) {
32541
+ return {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}
32542
+ }
32543
 
32544
+ /**
32545
+ * @param {string} value
32546
+ * @param {object} root
32547
+ * @param {string} type
32548
+ */
32549
+ function copy (value, root, type) {
32550
+ return node(value, root.root, root.parent, type, root.props, root.children, 0)
32551
+ }
32552
 
32553
+ /**
32554
+ * @return {number}
32555
+ */
32556
+ function Tokenizer_char () {
32557
+ return character
32558
+ }
32559
 
32560
+ /**
32561
+ * @return {number}
32562
+ */
32563
+ function prev () {
32564
+ character = position > 0 ? Utility_charat(characters, --position) : 0
32565
 
32566
+ if (column--, character === 10)
32567
+ column = 1, line--
32568
 
32569
+ return character
32570
+ }
32571
 
32572
+ /**
32573
+ * @return {number}
32574
+ */
32575
+ function next () {
32576
+ character = position < Tokenizer_length ? Utility_charat(characters, position++) : 0
32577
 
32578
+ if (column++, character === 10)
32579
+ column = 1, line++
 
 
 
32580
 
32581
+ return character
 
 
 
 
32582
  }
 
 
 
 
 
 
 
 
 
 
 
 
32583
 
32584
+ /**
32585
+ * @return {number}
32586
+ */
32587
+ function peek () {
32588
+ return Utility_charat(characters, position)
32589
  }
 
 
 
 
 
 
32590
 
32591
+ /**
32592
+ * @return {number}
32593
+ */
32594
+ function caret () {
32595
+ return position
32596
+ }
 
 
 
 
32597
 
32598
+ /**
32599
+ * @param {number} begin
32600
+ * @param {number} end
32601
+ * @return {string}
32602
+ */
32603
+ function slice (begin, end) {
32604
+ return Utility_substr(characters, begin, end)
32605
  }
 
 
 
32606
 
32607
+ /**
32608
+ * @param {number} type
32609
+ * @return {number}
32610
+ */
32611
+ function token (type) {
32612
+ switch (type) {
32613
+ // \0 \t \n \r \s whitespace token
32614
+ case 0: case 9: case 10: case 13: case 32:
32615
+ return 5
32616
+ // ! + , / > @ ~ isolate token
32617
+ case 33: case 43: case 44: case 47: case 62: case 64: case 126:
32618
+ // ; { } breakpoint token
32619
+ case 59: case 123: case 125:
32620
+ return 4
32621
+ // : accompanied token
32622
+ case 58:
32623
+ return 3
32624
+ // " ' ( [ opening delimit token
32625
+ case 34: case 39: case 40: case 91:
32626
+ return 2
32627
+ // ) ] closing delimit token
32628
+ case 41: case 93:
32629
+ return 1
32630
+ }
32631
 
32632
+ return 0
32633
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32634
 
32635
+ /**
32636
+ * @param {string} value
32637
+ * @return {any[]}
32638
+ */
32639
+ function alloc (value) {
32640
+ return line = column = 1, Tokenizer_length = Utility_strlen(characters = value), position = 0, []
32641
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
32642
 
32643
+ /**
32644
+ * @param {any} value
32645
+ * @return {any}
32646
+ */
32647
+ function dealloc (value) {
32648
+ return characters = '', value
 
 
 
 
 
 
 
32649
  }
32650
 
32651
+ /**
32652
+ * @param {number} type
32653
+ * @return {string}
32654
+ */
32655
+ function delimit (type) {
32656
+ return trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))
 
 
 
 
 
 
32657
  }
32658
 
32659
+ /**
32660
+ * @param {string} value
32661
+ * @return {string[]}
32662
+ */
32663
+ function Tokenizer_tokenize (value) {
32664
+ return dealloc(tokenizer(alloc(value)))
 
 
 
 
 
 
 
 
 
 
 
 
32665
  }
32666
 
32667
+ /**
32668
+ * @param {number} type
32669
+ * @return {string}
32670
+ */
32671
+ function whitespace (type) {
32672
+ while (character = peek())
32673
+ if (character < 33)
32674
+ next()
32675
+ else
32676
+ break
32677
+
32678
+ return token(type) > 2 || token(character) > 3 ? '' : ' '
32679
  }
32680
 
32681
+ /**
32682
+ * @param {string[]} children
32683
+ * @return {string[]}
32684
+ */
32685
+ function tokenizer (children) {
32686
+ while (next())
32687
+ switch (token(character)) {
32688
+ case 0: append(identifier(position - 1), children)
32689
+ break
32690
+ case 2: append(delimit(character), children)
32691
+ break
32692
+ default: append(from(character), children)
32693
+ }
32694
 
32695
+ return children
 
 
 
 
 
32696
  }
32697
 
32698
+ /**
32699
+ * @param {number} index
32700
+ * @param {number} count
32701
+ * @return {string}
32702
+ */
32703
+ function escaping (index, count) {
32704
+ while (--count && next())
32705
+ // not 0-9 A-F a-f
32706
+ if (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))
32707
+ break
32708
 
32709
+ return slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))
32710
  }
32711
 
32712
+ /**
32713
+ * @param {number} type
32714
+ * @return {number}
32715
+ */
32716
+ function delimiter (type) {
32717
+ while (next())
32718
+ switch (character) {
32719
+ // ] ) " '
32720
+ case type:
32721
+ return position
32722
+ // " '
32723
+ case 34: case 39:
32724
+ return delimiter(type === 34 || type === 39 ? type : character)
32725
+ // (
32726
+ case 40:
32727
+ if (type === 41)
32728
+ delimiter(type)
32729
+ break
32730
+ // \
32731
+ case 92:
32732
+ next()
32733
+ break
32734
+ }
32735
 
32736
+ return position
32737
  }
32738
 
32739
+ /**
32740
+ * @param {number} type
32741
+ * @param {number} index
32742
+ * @return {number}
32743
+ */
32744
+ function commenter (type, index) {
32745
+ while (next())
32746
+ // //
32747
+ if (type + character === 47 + 10)
32748
+ break
32749
+ // /*
32750
+ else if (type + character === 42 + 42 && peek() === 47)
32751
+ break
32752
 
32753
+ return '/*' + slice(index, position - 1) + '*' + Utility_from(type === 47 ? type : next())
 
32754
  }
32755
 
 
 
 
 
 
 
 
32756
  /**
32757
+ * @param {number} index
32758
+ * @return {string}
32759
+ */
32760
+ function identifier (index) {
32761
+ while (!token(peek()))
32762
+ next()
 
 
32763
 
32764
+ return slice(index, position)
 
 
 
 
 
 
 
32765
  }
32766
 
32767
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Enum.js
32768
+ var MS = '-ms-'
32769
+ var MOZ = '-moz-'
32770
+ var WEBKIT = '-webkit-'
32771
 
32772
+ var COMMENT = 'comm'
32773
+ var Enum_RULESET = 'rule'
32774
+ var DECLARATION = 'decl'
 
 
 
 
32775
 
32776
+ var PAGE = '@page'
32777
+ var MEDIA = '@media'
32778
+ var IMPORT = '@import'
32779
+ var CHARSET = '@charset'
32780
+ var VIEWPORT = '@viewport'
32781
+ var SUPPORTS = '@supports'
32782
+ var DOCUMENT = '@document'
32783
+ var NAMESPACE = '@namespace'
32784
+ var KEYFRAMES = '@keyframes'
32785
+ var FONT_FACE = '@font-face'
32786
+ var COUNTER_STYLE = '@counter-style'
32787
+ var FONT_FEATURE_VALUES = '@font-feature-values'
32788
 
32789
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Serializer.js
 
 
 
 
 
 
32790
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32791
 
 
 
 
 
32792
 
32793
+ /**
32794
+ * @param {object[]} children
32795
+ * @param {function} callback
32796
+ * @return {string}
32797
+ */
32798
+ function serialize (children, callback) {
32799
+ var output = ''
32800
+ var length = Utility_sizeof(children)
32801
 
32802
+ for (var i = 0; i < length; i++)
32803
+ output += callback(children[i], i, children, callback) || ''
 
 
32804
 
32805
+ return output
32806
+ }
 
 
32807
 
32808
+ /**
32809
+ * @param {object} element
32810
+ * @param {number} index
32811
+ * @param {object[]} children
32812
+ * @param {function} callback
32813
+ * @return {string}
32814
+ */
32815
+ function stringify (element, index, children, callback) {
32816
+ switch (element.type) {
32817
+ case IMPORT: case DECLARATION: return element.return = element.return || element.value
32818
+ case COMMENT: return ''
32819
+ case Enum_RULESET: element.value = element.props.join(',')
32820
+ }
32821
 
32822
+ return Utility_strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''
32823
  }
 
 
 
 
 
 
32824
 
32825
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Prefixer.js
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32826
 
 
 
 
 
32827
 
 
 
 
32828
 
32829
  /**
32830
+ * @param {string} value
32831
+ * @param {number} length
32832
+ * @return {string}
32833
+ */
32834
+ function prefix (value, length) {
32835
+ switch (Utility_hash(value, length)) {
32836
+ // color-adjust
32837
+ case 5103:
32838
+ return WEBKIT + 'print-' + value + value
32839
+ // animation, animation-(delay|direction|duration|fill-mode|iteration-count|name|play-state|timing-function)
32840
+ case 5737: case 4201: case 3177: case 3433: case 1641: case 4457: case 2921:
32841
+ // text-decoration, filter, clip-path, backface-visibility, column, box-decoration-break
32842
+ case 5572: case 6356: case 5844: case 3191: case 6645: case 3005:
32843
+ // mask, mask-image, mask-(mode|clip|size), mask-(repeat|origin), mask-position, mask-composite,
32844
+ case 6391: case 5879: case 5623: case 6135: case 4599: case 4855:
32845
+ // background-clip, columns, column-(count|fill|gap|rule|rule-color|rule-style|rule-width|span|width)
32846
+ case 4215: case 6389: case 5109: case 5365: case 5621: case 3829:
32847
+ return WEBKIT + value + value
32848
+ // appearance, user-select, transform, hyphens, text-size-adjust
32849
+ case 5349: case 4246: case 4810: case 6968: case 2756:
32850
+ return WEBKIT + value + MOZ + value + MS + value + value
32851
+ // flex, flex-direction
32852
+ case 6828: case 4268:
32853
+ return WEBKIT + value + MS + value + value
32854
+ // order
32855
+ case 6165:
32856
+ return WEBKIT + value + MS + 'flex-' + value + value
32857
+ // align-items
32858
+ case 5187:
32859
+ return WEBKIT + value + Utility_replace(value, /(\w+).+(:[^]+)/, WEBKIT + 'box-$1$2' + MS + 'flex-$1$2') + value
32860
+ // align-self
32861
+ case 5443:
32862
+ return WEBKIT + value + MS + 'flex-item-' + Utility_replace(value, /flex-|-self/, '') + value
32863
+ // align-content
32864
+ case 4675:
32865
+ return WEBKIT + value + MS + 'flex-line-pack' + Utility_replace(value, /align-content|flex-|-self/, '') + value
32866
+ // flex-shrink
32867
+ case 5548:
32868
+ return WEBKIT + value + MS + Utility_replace(value, 'shrink', 'negative') + value
32869
+ // flex-basis
32870
+ case 5292:
32871
+ return WEBKIT + value + MS + Utility_replace(value, 'basis', 'preferred-size') + value
32872
+ // flex-grow
32873
+ case 6060:
32874
+ return WEBKIT + 'box-' + Utility_replace(value, '-grow', '') + WEBKIT + value + MS + Utility_replace(value, 'grow', 'positive') + value
32875
+ // transition
32876
+ case 4554:
32877
+ return WEBKIT + Utility_replace(value, /([^-])(transform)/g, '$1' + WEBKIT + '$2') + value
32878
+ // cursor
32879
+ case 6187:
32880
+ return Utility_replace(Utility_replace(Utility_replace(value, /(zoom-|grab)/, WEBKIT + '$1'), /(image-set)/, WEBKIT + '$1'), value, '') + value
32881
+ // background, background-image
32882
+ case 5495: case 3959:
32883
+ return Utility_replace(value, /(image-set\([^]*)/, WEBKIT + '$1' + '$`$1')
32884
+ // justify-content
32885
+ case 4968:
32886
+ return Utility_replace(Utility_replace(value, /(.+:)(flex-)?(.*)/, WEBKIT + 'box-pack:$3' + MS + 'flex-pack:$3'), /s.+-b[^;]+/, 'justify') + WEBKIT + value + value
32887
+ // (margin|padding)-inline-(start|end)
32888
+ case 4095: case 3583: case 4068: case 2532:
32889
+ return Utility_replace(value, /(.+)-inline(.+)/, WEBKIT + '$1$2') + value
32890
+ // (min|max)?(width|height|inline-size|block-size)
32891
+ case 8116: case 7059: case 5753: case 5535:
32892
+ case 5445: case 5701: case 4933: case 4677:
32893
+ case 5533: case 5789: case 5021: case 4765:
32894
+ // stretch, max-content, min-content, fill-available
32895
+ if (Utility_strlen(value) - 1 - length > 6)
32896
+ switch (Utility_charat(value, length + 1)) {
32897
+ // (m)ax-content, (m)in-content
32898
+ case 109:
32899
+ // -
32900
+ if (Utility_charat(value, length + 4) !== 45)
32901
+ break
32902
+ // (f)ill-available, (f)it-content
32903
+ case 102:
32904
+ return Utility_replace(value, /(.+:)(.+)-([^]+)/, '$1' + WEBKIT + '$2-$3' + '$1' + MOZ + (Utility_charat(value, length + 3) == 108 ? '$3' : '$2-$3')) + value
32905
+ // (s)tretch
32906
+ case 115:
32907
+ return ~indexof(value, 'stretch') ? prefix(Utility_replace(value, 'stretch', 'fill-available'), length) + value : value
32908
+ }
32909
+ break
32910
+ // position: sticky
32911
+ case 4949:
32912
+ // (s)ticky?
32913
+ if (Utility_charat(value, length + 1) !== 115)
32914
+ break
32915
+ // display: (flex|inline-flex)
32916
+ case 6444:
32917
+ switch (Utility_charat(value, Utility_strlen(value) - 3 - (~indexof(value, '!important') && 10))) {
32918
+ // stic(k)y
32919
+ case 107:
32920
+ return Utility_replace(value, ':', ':' + WEBKIT) + value
32921
+ // (inline-)?fl(e)x
32922
+ case 101:
32923
+ return Utility_replace(value, /(.+:)([^;!]+)(;|!.+)?/, '$1' + WEBKIT + (Utility_charat(value, 14) === 45 ? 'inline-' : '') + 'box$3' + '$1' + WEBKIT + '$2$3' + '$1' + MS + '$2box$3') + value
32924
+ }
32925
+ break
32926
+ // writing-mode
32927
+ case 5936:
32928
+ switch (Utility_charat(value, length + 11)) {
32929
+ // vertical-l(r)
32930
+ case 114:
32931
+ return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'tb') + value
32932
+ // vertical-r(l)
32933
+ case 108:
32934
+ return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'tb-rl') + value
32935
+ // horizontal(-)tb
32936
+ case 45:
32937
+ return WEBKIT + value + MS + Utility_replace(value, /[svh]\w+-[tblr]{2}/, 'lr') + value
32938
+ }
32939
 
32940
+ return WEBKIT + value + MS + value + value
32941
+ }
 
 
32942
 
32943
+ return value
32944
+ }
 
 
 
 
32945
 
32946
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Middleware.js
 
 
32947
 
 
 
 
 
32948
 
 
 
 
 
 
 
 
 
 
32949
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32950
 
 
 
 
 
 
 
 
 
 
 
32951
 
 
 
 
 
 
 
 
 
 
 
32952
 
32953
+ /**
32954
+ * @param {function[]} collection
32955
+ * @return {function}
32956
+ */
32957
+ function middleware (collection) {
32958
+ var length = Utility_sizeof(collection)
32959
 
32960
+ return function (element, index, children, callback) {
32961
+ var output = ''
32962
 
32963
+ for (var i = 0; i < length; i++)
32964
+ output += collection[i](element, index, children, callback) || ''
32965
 
32966
+ return output
32967
+ }
 
32968
  }
32969
 
32970
+ /**
32971
+ * @param {function} callback
32972
+ * @return {function}
32973
+ */
32974
+ function rulesheet (callback) {
32975
+ return function (element) {
32976
+ if (!element.root)
32977
+ if (element = element.return)
32978
+ callback(element)
32979
+ }
32980
+ }
32981
 
32982
+ /**
32983
+ * @param {object} element
32984
+ * @param {number} index
32985
+ * @param {object[]} children
32986
+ * @param {function} callback
32987
+ */
32988
+ function prefixer (element, index, children, callback) {
32989
+ if (!element.return)
32990
+ switch (element.type) {
32991
+ case DECLARATION: element.return = prefix(element.value, element.length)
32992
+ break
32993
+ case KEYFRAMES:
32994
+ return serialize([copy(Utility_replace(element.value, '@', '@' + WEBKIT), element, '')], callback)
32995
+ case Enum_RULESET:
32996
+ if (element.length)
32997
+ return Utility_combine(element.props, function (value) {
32998
+ switch (match(value, /(::plac\w+|:read-\w+)/)) {
32999
+ // :read-(only|write)
33000
+ case ':read-only': case ':read-write':
33001
+ return serialize([copy(Utility_replace(value, /:(read-\w+)/, ':' + MOZ + '$1'), element, '')], callback)
33002
+ // :placeholder
33003
+ case '::placeholder':
33004
+ return serialize([
33005
+ copy(Utility_replace(value, /:(plac\w+)/, ':' + WEBKIT + 'input-$1'), element, ''),
33006
+ copy(Utility_replace(value, /:(plac\w+)/, ':' + MOZ + '$1'), element, ''),
33007
+ copy(Utility_replace(value, /:(plac\w+)/, MS + 'input-$1'), element, '')
33008
+ ], callback)
33009
+ }
33010
 
33011
+ return ''
33012
+ })
33013
+ }
33014
+ }
33015
 
33016
+ /**
33017
+ * @param {object} element
33018
+ * @param {number} index
33019
+ * @param {object[]} children
33020
+ */
33021
+ function namespace (element) {
33022
+ switch (element.type) {
33023
+ case RULESET:
33024
+ element.props = element.props.map(function (value) {
33025
+ return combine(tokenize(value), function (value, index, children) {
33026
+ switch (charat(value, 0)) {
33027
+ // \f
33028
+ case 12:
33029
+ return substr(value, 1, strlen(value))
33030
+ // \0 ( + > ~
33031
+ case 0: case 40: case 43: case 62: case 126:
33032
+ return value
33033
+ // :
33034
+ case 58:
33035
+ if (children[++index] === 'global')
33036
+ children[index] = '', children[++index] = '\f' + substr(children[index], index = 1, -1)
33037
+ // \s
33038
+ case 32:
33039
+ return index === 1 ? '' : value
33040
+ default:
33041
+ switch (index) {
33042
+ case 0: element = value
33043
+ return sizeof(children) > 1 ? '' : value
33044
+ case index = sizeof(children) - 1: case 2:
33045
+ return index === 2 ? value + element + element : value + element
33046
+ default:
33047
+ return value
33048
+ }
33049
+ }
33050
+ })
33051
+ })
33052
+ }
33053
+ }
33054
 
33055
+ ;// CONCATENATED MODULE: ./node_modules/stylis/src/Parser.js
 
 
 
33056
 
 
 
33057
 
 
 
 
 
 
 
 
 
 
 
 
33058
 
 
 
 
 
 
 
 
 
 
 
33059
 
33060
+ /**
33061
+ * @param {string} value
33062
+ * @return {object[]}
33063
+ */
33064
+ function compile (value) {
33065
+ return dealloc(Parser_parse('', null, null, null, [''], value = alloc(value), 0, [0], value))
33066
+ }
33067
 
33068
+ /**
33069
+ * @param {string} value
33070
+ * @param {object} root
33071
+ * @param {object?} parent
33072
+ * @param {string[]} rule
33073
+ * @param {string[]} rules
33074
+ * @param {string[]} rulesets
33075
+ * @param {number[]} pseudo
33076
+ * @param {number[]} points
33077
+ * @param {string[]} declarations
33078
+ * @return {object}
33079
+ */
33080
+ function Parser_parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {
33081
+ var index = 0
33082
+ var offset = 0
33083
+ var length = pseudo
33084
+ var atrule = 0
33085
+ var property = 0
33086
+ var previous = 0
33087
+ var variable = 1
33088
+ var scanning = 1
33089
+ var ampersand = 1
33090
+ var character = 0
33091
+ var type = ''
33092
+ var props = rules
33093
+ var children = rulesets
33094
+ var reference = rule
33095
+ var characters = type
33096
 
33097
+ while (scanning)
33098
+ switch (previous = character, character = next()) {
33099
+ // " ' [ (
33100
+ case 34: case 39: case 91: case 40:
33101
+ characters += delimit(character)
33102
+ break
33103
+ // \t \n \r \s
33104
+ case 9: case 10: case 13: case 32:
33105
+ characters += whitespace(previous)
33106
+ break
33107
+ // \
33108
+ case 92:
33109
+ characters += escaping(caret() - 1, 7)
33110
+ continue
33111
+ // /
33112
+ case 47:
33113
+ switch (peek()) {
33114
+ case 42: case 47:
33115
+ Utility_append(comment(commenter(next(), caret()), root, parent), declarations)
33116
+ break
33117
+ default:
33118
+ characters += '/'
33119
+ }
33120
+ break
33121
+ // {
33122
+ case 123 * variable:
33123
+ points[index++] = Utility_strlen(characters) * ampersand
33124
+ // } ; \0
33125
+ case 125 * variable: case 59: case 0:
33126
+ switch (character) {
33127
+ // \0 }
33128
+ case 0: case 125: scanning = 0
33129
+ // ;
33130
+ case 59 + offset:
33131
+ if (property > 0 && (Utility_strlen(characters) - length))
33132
+ Utility_append(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(Utility_replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)
33133
+ break
33134
+ // @ ;
33135
+ case 59: characters += ';'
33136
+ // { rule/at-rule
33137
+ default:
33138
+ Utility_append(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)
33139
 
33140
+ if (character === 123)
33141
+ if (offset === 0)
33142
+ Parser_parse(characters, root, reference, reference, props, rulesets, length, points, children)
33143
+ else
33144
+ switch (atrule) {
33145
+ // d m s
33146
+ case 100: case 109: case 115:
33147
+ Parser_parse(value, reference, reference, rule && Utility_append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)
33148
+ break
33149
+ default:
33150
+ Parser_parse(characters, reference, reference, reference, [''], children, length, points, children)
33151
+ }
33152
+ }
33153
 
33154
+ index = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo
33155
+ break
33156
+ // :
33157
+ case 58:
33158
+ length = 1 + Utility_strlen(characters), property = previous
33159
+ default:
33160
+ if (variable < 1)
33161
+ if (character == 123)
33162
+ --variable
33163
+ else if (character == 125 && variable++ == 0 && prev() == 125)
33164
+ continue
33165
 
33166
+ switch (characters += Utility_from(character), character * variable) {
33167
+ // &
33168
+ case 38:
33169
+ ampersand = offset > 0 ? 1 : (characters += '\f', -1)
33170
+ break
33171
+ // ,
33172
+ case 44:
33173
+ points[index++] = (Utility_strlen(characters) - 1) * ampersand, ampersand = 1
33174
+ break
33175
+ // @
33176
+ case 64:
33177
+ // -
33178
+ if (peek() === 45)
33179
+ characters += delimit(next())
33180
 
33181
+ atrule = peek(), offset = Utility_strlen(type = characters += identifier(caret())), character++
33182
+ break
33183
+ // -
33184
+ case 45:
33185
+ if (previous === 45 && Utility_strlen(characters) == 2)
33186
+ variable = 0
33187
+ }
33188
+ }
33189
 
33190
+ return rulesets
33191
+ }
33192
 
33193
+ /**
33194
+ * @param {string} value
33195
+ * @param {object} root
33196
+ * @param {object?} parent
33197
+ * @param {number} index
33198
+ * @param {number} offset
33199
+ * @param {string[]} rules
33200
+ * @param {number[]} points
33201
+ * @param {string} type
33202
+ * @param {string[]} props
33203
+ * @param {string[]} children
33204
+ * @param {number} length
33205
+ * @return {object}
33206
+ */
33207
+ function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {
33208
+ var post = offset - 1
33209
+ var rule = offset === 0 ? rules : ['']
33210
+ var size = Utility_sizeof(rule)
33211
 
33212
+ for (var i = 0, j = 0, k = 0; i < index; ++i)
33213
+ for (var x = 0, y = Utility_substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)
33214
+ if (z = trim(j > 0 ? rule[x] + ' ' + y : Utility_replace(y, /&\f/g, rule[x])))
33215
+ props[k++] = z
 
33216
 
33217
+ return node(value, root, parent, offset === 0 ? Enum_RULESET : type, props, children, length)
33218
+ }
33219
 
33220
+ /**
33221
+ * @param {number} value
33222
+ * @param {object} root
33223
+ * @param {object?} parent
33224
+ * @return {object}
33225
+ */
33226
+ function comment (value, root, parent) {
33227
+ return node(value, root, parent, COMMENT, Utility_from(Tokenizer_char()), Utility_substr(value, 2, -2), 0)
33228
+ }
33229
 
33230
+ /**
33231
+ * @param {string} value
33232
+ * @param {object} root
33233
+ * @param {object?} parent
33234
+ * @param {number} length
33235
+ * @return {object}
33236
+ */
33237
+ function declaration (value, root, parent, length) {
33238
+ return node(value, root, parent, DECLARATION, Utility_substr(value, 0, length), Utility_substr(value, length + 1, -1), length)
33239
+ }
33240
 
33241
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js
33242
 
 
 
 
 
 
 
 
 
33243
 
33244
 
 
 
 
 
33245
 
 
 
 
 
 
33246
 
33247
+ var last = function last(arr) {
33248
+ return arr.length ? arr[arr.length - 1] : null;
33249
+ };
33250
 
33251
+ var toRules = function toRules(parsed, points) {
33252
+ // pretend we've started with a comma
33253
+ var index = -1;
33254
+ var character = 44;
33255
 
33256
+ do {
33257
+ switch (token(character)) {
33258
+ case 0:
33259
+ // &\f
33260
+ if (character === 38 && peek() === 12) {
33261
+ // this is not 100% correct, we don't account for literal sequences here - like for example quoted strings
33262
+ // stylis inserts \f after & to know when & where it should replace this sequence with the context selector
33263
+ // and when it should just concatenate the outer and inner selectors
33264
+ // it's very unlikely for this sequence to actually appear in a different context, so we just leverage this fact here
33265
+ points[index] = 1;
33266
  }
33267
 
33268
+ parsed[index] += identifier(position - 1);
33269
+ break;
33270
+
33271
+ case 2:
33272
+ parsed[index] += delimit(character);
33273
+ break;
33274
+
33275
+ case 4:
33276
+ // comma
33277
+ if (character === 44) {
33278
+ // colon
33279
+ parsed[++index] = peek() === 58 ? '&\f' : '';
33280
+ points[index] = parsed[index].length;
33281
+ break;
33282
  }
33283
 
33284
+ // fallthrough
 
 
 
 
 
 
33285
 
33286
+ default:
33287
+ parsed[index] += Utility_from(character);
33288
+ }
33289
+ } while (character = next());
33290
 
33291
+ return parsed;
33292
+ };
 
 
33293
 
33294
+ var getRules = function getRules(value, points) {
33295
+ return dealloc(toRules(alloc(value), points));
33296
+ }; // WeakSet would be more appropriate, but only WeakMap is supported in IE11
33297
 
33298
 
33299
+ var fixedElements = /* #__PURE__ */new WeakMap();
33300
+ var compat = function compat(element) {
33301
+ if (element.type !== 'rule' || !element.parent || // .length indicates if this rule contains pseudo or not
33302
+ !element.length) {
33303
+ return;
33304
+ }
33305
 
33306
+ var value = element.value,
33307
+ parent = element.parent;
33308
+ var isImplicitRule = element.column === parent.column && element.line === parent.line;
 
 
 
 
33309
 
33310
+ while (parent.type !== 'rule') {
33311
+ parent = parent.parent;
33312
+ if (!parent) return;
33313
+ } // short-circuit for the simplest case
33314
 
 
 
33315
 
33316
+ if (element.props.length === 1 && value.charCodeAt(0) !== 58
33317
+ /* colon */
33318
+ && !fixedElements.get(parent)) {
33319
+ return;
33320
+ } // if this is an implicitly inserted rule (the one eagerly inserted at the each new nested level)
33321
+ // then the props has already been manipulated beforehand as they that array is shared between it and its "rule parent"
 
 
 
 
 
 
33322
 
 
 
33323
 
33324
+ if (isImplicitRule) {
33325
+ return;
33326
+ }
33327
 
33328
+ fixedElements.set(element, true);
33329
+ var points = [];
33330
+ var rules = getRules(value, points);
33331
+ var parentRules = parent.props;
33332
 
33333
+ for (var i = 0, k = 0; i < rules.length; i++) {
33334
+ for (var j = 0; j < parentRules.length; j++, k++) {
33335
+ element.props[k] = points[i] ? rules[i].replace(/&\f/g, parentRules[j]) : parentRules[j] + " " + rules[i];
33336
+ }
33337
+ }
33338
+ };
33339
+ var removeLabel = function removeLabel(element) {
33340
+ if (element.type === 'decl') {
33341
+ var value = element.value;
33342
 
33343
+ if ( // charcode for l
33344
+ value.charCodeAt(0) === 108 && // charcode for b
33345
+ value.charCodeAt(2) === 98) {
33346
+ // this ignores label
33347
+ element["return"] = '';
33348
+ element.value = '';
33349
  }
33350
+ }
33351
+ };
33352
+ var ignoreFlag = 'emotion-disable-server-rendering-unsafe-selector-warning-please-do-not-use-this-the-warning-exists-for-a-reason';
33353
 
33354
+ var isIgnoringComment = function isIgnoringComment(element) {
33355
+ return !!element && element.type === 'comm' && element.children.indexOf(ignoreFlag) > -1;
33356
+ };
 
 
33357
 
33358
+ var createUnsafeSelectorsAlarm = function createUnsafeSelectorsAlarm(cache) {
33359
+ return function (element, index, children) {
33360
+ if (element.type !== 'rule') return;
33361
+ var unsafePseudoClasses = element.value.match(/(:first|:nth|:nth-last)-child/g);
 
 
 
 
 
33362
 
33363
+ if (unsafePseudoClasses && cache.compat !== true) {
33364
+ var prevElement = index > 0 ? children[index - 1] : null;
 
 
 
 
 
 
 
 
 
 
 
33365
 
33366
+ if (prevElement && isIgnoringComment(last(prevElement.children))) {
33367
+ return;
33368
+ }
33369
 
33370
+ unsafePseudoClasses.forEach(function (unsafePseudoClass) {
33371
+ console.error("The pseudo class \"" + unsafePseudoClass + "\" is potentially unsafe when doing server-side rendering. Try changing it to \"" + unsafePseudoClass.split('-child')[0] + "-of-type\".");
 
 
 
 
33372
  });
33373
+ }
33374
+ };
33375
+ };
33376
 
33377
+ var isImportRule = function isImportRule(element) {
33378
+ return element.type.charCodeAt(1) === 105 && element.type.charCodeAt(0) === 64;
33379
+ };
33380
 
33381
+ var isPrependedWithRegularRules = function isPrependedWithRegularRules(index, children) {
33382
+ for (var i = index - 1; i >= 0; i--) {
33383
+ if (!isImportRule(children[i])) {
33384
+ return true;
 
 
 
 
33385
  }
33386
+ }
33387
 
33388
+ return false;
33389
+ }; // use this to remove incorrect elements from further processing
33390
+ // so they don't get handed to the `sheet` (or anything else)
33391
+ // as that could potentially lead to additional logs which in turn could be overhelming to the user
33392
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33393
 
33394
+ var nullifyElement = function nullifyElement(element) {
33395
+ element.type = '';
33396
+ element.value = '';
33397
+ element["return"] = '';
33398
+ element.children = '';
33399
+ element.props = '';
 
 
 
 
 
 
33400
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33401
 
33402
+ var incorrectImportAlarm = function incorrectImportAlarm(element, index, children) {
33403
+ if (!isImportRule(element)) {
33404
+ return;
33405
+ }
 
 
 
 
 
 
33406
 
33407
+ if (element.parent) {
33408
+ console.error("`@import` rules can't be nested inside other rules. Please move it to the top level and put it before regular rules. Keep in mind that they can only be used within global styles.");
33409
+ nullifyElement(element);
33410
+ } else if (isPrependedWithRegularRules(index, children)) {
33411
+ console.error("`@import` rules can't be after other rules. Please put your `@import` rules before your other rules.");
33412
+ nullifyElement(element);
33413
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33414
  };
 
 
 
 
 
33415
 
33416
+ var defaultStylisPlugins = [prefixer];
 
 
 
 
 
 
 
 
 
 
 
 
 
33417
 
33418
+ var createCache = function createCache(options) {
33419
+ var key = options.key;
33420
 
33421
+ if (false) {}
 
33422
 
33423
+ if ( key === 'css') {
33424
+ var ssrStyles = document.querySelectorAll("style[data-emotion]:not([data-s])"); // get SSRed styles out of the way of React's hydration
33425
+ // document.head is a safe place to move them to(though note document.head is not necessarily the last place they will be)
33426
+ // note this very very intentionally targets all style elements regardless of the key to ensure
33427
+ // that creating a cache works inside of render of a React component
33428
 
33429
+ Array.prototype.forEach.call(ssrStyles, function (node) {
33430
+ // we want to only move elements which have a space in the data-emotion attribute value
33431
+ // because that indicates that it is an Emotion 11 server-side rendered style elements
33432
+ // while we will already ignore Emotion 11 client-side inserted styles because of the :not([data-s]) part in the selector
33433
+ // Emotion 10 client-side inserted styles did not have data-s (but importantly did not have a space in their data-emotion attributes)
33434
+ // so checking for the space ensures that loading Emotion 11 after Emotion 10 has inserted some styles
33435
+ // will not result in the Emotion 10 styles being destroyed
33436
+ var dataEmotionAttribute = node.getAttribute('data-emotion');
33437
 
33438
+ if (dataEmotionAttribute.indexOf(' ') === -1) {
33439
+ return;
33440
+ }
33441
+ document.head.appendChild(node);
33442
+ node.setAttribute('data-s', '');
33443
+ });
33444
+ }
33445
 
33446
+ var stylisPlugins = options.stylisPlugins || defaultStylisPlugins;
 
 
33447
 
33448
+ if (false) {}
 
 
 
 
 
33449
 
33450
+ var inserted = {}; // $FlowFixMe
 
33451
 
33452
+ var container;
33453
+ var nodesToHydrate = [];
 
 
 
 
 
 
 
 
 
 
 
 
33454
 
33455
+ {
33456
+ container = options.container || document.head;
33457
+ Array.prototype.forEach.call( // this means we will ignore elements which don't have a space in them which
33458
+ // means that the style elements we're looking at are only Emotion 11 server-rendered style elements
33459
+ document.querySelectorAll("style[data-emotion^=\"" + key + " \"]"), function (node) {
33460
+ var attrib = node.getAttribute("data-emotion").split(' '); // $FlowFixMe
33461
+
33462
+ for (var i = 1; i < attrib.length; i++) {
33463
+ inserted[attrib[i]] = true;
33464
  }
33465
 
33466
+ nodesToHydrate.push(node);
33467
+ });
33468
+ }
 
 
 
 
 
 
33469
 
33470
+ var _insert;
 
 
 
 
 
 
 
 
 
 
 
 
33471
 
33472
+ var omnipresentPlugins = [compat, removeLabel];
 
33473
 
33474
+ if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33475
 
33476
+ {
33477
+ var currentSheet;
33478
+ var finalizingPlugins = [stringify, false ? 0 : rulesheet(function (rule) {
33479
+ currentSheet.insert(rule);
33480
+ })];
33481
+ var serializer = middleware(omnipresentPlugins.concat(stylisPlugins, finalizingPlugins));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33482
 
33483
+ var stylis = function stylis(styles) {
33484
+ return serialize(compile(styles), serializer);
33485
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33486
 
33487
+ _insert = function insert(selector, serialized, sheet, shouldCache) {
33488
+ currentSheet = sheet;
33489
 
33490
+ if (false) {}
33491
 
33492
+ stylis(selector ? selector + "{" + serialized.styles + "}" : serialized.styles);
 
 
 
33493
 
33494
+ if (shouldCache) {
33495
+ cache.inserted[serialized.name] = true;
33496
+ }
33497
+ };
33498
+ }
 
33499
 
33500
+ var cache = {
33501
+ key: key,
33502
+ sheet: new emotion_sheet_browser_esm_StyleSheet({
33503
+ key: key,
33504
+ container: container,
33505
+ nonce: options.nonce,
33506
+ speedy: options.speedy,
33507
+ prepend: options.prepend
33508
+ }),
33509
+ nonce: options.nonce,
33510
+ inserted: inserted,
33511
+ registered: {},
33512
+ insert: _insert
33513
+ };
33514
+ cache.sheet.hydrate(nodesToHydrate);
33515
+ return cache;
33516
  };
33517
 
33518
+ /* harmony default export */ const emotion_cache_browser_esm = (createCache);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33519
 
33520
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/utils/dist/emotion-utils.browser.esm.js
33521
+ var isBrowser = "object" !== 'undefined';
33522
+ function getRegisteredStyles(registered, registeredStyles, classNames) {
33523
+ var rawClassName = '';
33524
+ classNames.split(' ').forEach(function (className) {
33525
+ if (registered[className] !== undefined) {
33526
+ registeredStyles.push(registered[className] + ";");
33527
+ } else {
33528
+ rawClassName += className + " ";
 
 
 
 
33529
  }
33530
+ });
33531
+ return rawClassName;
33532
+ }
33533
+ var emotion_utils_browser_esm_insertStyles = function insertStyles(cache, serialized, isStringTag) {
33534
+ var className = cache.key + "-" + serialized.name;
33535
 
33536
+ if ( // we only need to add the styles to the registered cache if the
33537
+ // class name could be used further down
33538
+ // the tree but if it's a string tag, we know it won't
33539
+ // so we don't have to add it to registered cache.
33540
+ // this improves memory usage since we can avoid storing the whole style string
33541
+ (isStringTag === false || // we need to always store it if we're in compat mode and
33542
+ // in node since emotion-server relies on whether a style is in
33543
+ // the registered cache to know whether a style is global or not
33544
+ // also, note that this check will be dead code eliminated in the browser
33545
+ isBrowser === false ) && cache.registered[className] === undefined) {
33546
+ cache.registered[className] = serialized.styles;
33547
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33548
 
33549
+ if (cache.inserted[serialized.name] === undefined) {
33550
+ var current = serialized;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33551
 
33552
+ do {
33553
+ var maybeStyles = cache.insert(serialized === current ? "." + className : '', current, cache.sheet, true);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33554
 
33555
+ current = current.next;
33556
+ } while (current !== undefined);
33557
+ }
 
 
 
 
 
 
 
 
 
 
 
 
33558
  };
33559
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33560
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33561
 
33562
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/hash/dist/hash.browser.esm.js
33563
+ /* eslint-disable */
33564
+ // Inspired by https://github.com/garycourt/murmurhash-js
33565
+ // Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86
33566
+ function murmur2(str) {
33567
+ // 'm' and 'r' are mixing constants generated offline.
33568
+ // They're not really 'magic', they just happen to work well.
33569
+ // const m = 0x5bd1e995;
33570
+ // const r = 24;
33571
+ // Initialize the hash
33572
+ var h = 0; // Mix 4 bytes at a time into the hash
 
 
 
 
 
 
 
 
 
 
33573
 
33574
+ var k,
33575
+ i = 0,
33576
+ len = str.length;
 
 
 
 
33577
 
33578
+ for (; len >= 4; ++i, len -= 4) {
33579
+ k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;
33580
+ k =
33581
+ /* Math.imul(k, m): */
33582
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);
33583
+ k ^=
33584
+ /* k >>> r: */
33585
+ k >>> 24;
33586
+ h =
33587
+ /* Math.imul(k, m): */
33588
+ (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^
33589
+ /* Math.imul(h, m): */
33590
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
33591
+ } // Handle the last few bytes of the input array
 
 
 
 
 
 
 
 
 
33592
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33593
 
33594
+ switch (len) {
33595
+ case 3:
33596
+ h ^= (str.charCodeAt(i + 2) & 0xff) << 16;
33597
 
33598
+ case 2:
33599
+ h ^= (str.charCodeAt(i + 1) & 0xff) << 8;
 
 
 
 
 
33600
 
33601
+ case 1:
33602
+ h ^= str.charCodeAt(i) & 0xff;
33603
+ h =
33604
+ /* Math.imul(h, m): */
33605
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
33606
+ } // Do a few final mixes of the hash to ensure the last few
33607
+ // bytes are well-incorporated.
 
 
 
 
 
 
33608
 
 
 
 
 
 
 
 
 
 
 
 
 
33609
 
33610
+ h ^= h >>> 13;
33611
+ h =
33612
+ /* Math.imul(h, m): */
33613
+ (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);
33614
+ return ((h ^ h >>> 15) >>> 0).toString(36);
33615
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33616
 
33617
+ /* harmony default export */ const hash_browser_esm = (murmur2);
 
 
 
 
 
 
 
 
 
 
 
33618
 
33619
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/memoize/dist/emotion-memoize.browser.esm.js
33620
+ function emotion_memoize_browser_esm_memoize(fn) {
33621
+ var cache = Object.create(null);
33622
+ return function (arg) {
33623
+ if (cache[arg] === undefined) cache[arg] = fn(arg);
33624
+ return cache[arg];
33625
  };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33626
  }
33627
 
33628
+ /* harmony default export */ const emotion_memoize_browser_esm = (emotion_memoize_browser_esm_memoize);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33629
 
33630
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/serialize/dist/emotion-serialize.browser.esm.js
 
 
33631
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33632
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33633
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33634
 
33635
+ var ILLEGAL_ESCAPE_SEQUENCE_ERROR = "You have illegal escape sequence in your template literal, most likely inside content's property value.\nBecause you write your CSS inside a JavaScript string you actually have to do double escaping, so for example \"content: '\\00d7';\" should become \"content: '\\\\00d7';\".\nYou can read more about this here:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals#ES2018_revision_of_illegal_escape_sequences";
33636
+ var UNDEFINED_AS_OBJECT_KEY_ERROR = "You have passed in falsy value as style object's key (can happen when in example you pass unexported component as computed key).";
33637
+ var hyphenateRegex = /[A-Z]|^ms/g;
33638
+ var animationRegex = /_EMO_([^_]+?)_([^]*?)_EMO_/g;
 
 
 
 
 
 
 
 
 
33639
 
33640
+ var isCustomProperty = function isCustomProperty(property) {
33641
+ return property.charCodeAt(1) === 45;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33642
  };
33643
 
33644
+ var isProcessableValue = function isProcessableValue(value) {
33645
+ return value != null && typeof value !== 'boolean';
 
 
 
 
 
 
 
 
 
 
 
 
33646
  };
33647
 
33648
+ var processStyleName = /* #__PURE__ */emotion_memoize_browser_esm(function (styleName) {
33649
+ return isCustomProperty(styleName) ? styleName : styleName.replace(hyphenateRegex, '-$&').toLowerCase();
33650
+ });
33651
+
33652
+ var processStyleValue = function processStyleValue(key, value) {
33653
+ switch (key) {
33654
+ case 'animation':
33655
+ case 'animationName':
33656
+ {
33657
+ if (typeof value === 'string') {
33658
+ return value.replace(animationRegex, function (match, p1, p2) {
33659
+ cursor = {
33660
+ name: p1,
33661
+ styles: p2,
33662
+ next: cursor
33663
+ };
33664
+ return p1;
33665
+ });
33666
+ }
33667
+ }
33668
+ }
33669
+
33670
+ if (unitless_browser_esm[key] !== 1 && !isCustomProperty(key) && typeof value === 'number' && value !== 0) {
33671
+ return value + 'px';
33672
+ }
33673
+
33674
+ return value;
 
 
33675
  };
33676
 
33677
+ if (false) { var hyphenatedCache, hyphenPattern, msPattern, oldProcessStyleValue, contentValues, contentValuePattern; }
33678
 
33679
+ function handleInterpolation(mergedProps, registered, interpolation) {
33680
+ if (interpolation == null) {
33681
+ return '';
33682
+ }
33683
 
33684
+ if (interpolation.__emotion_styles !== undefined) {
33685
+ if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33686
 
33687
+ return interpolation;
33688
+ }
33689
+
33690
+ switch (typeof interpolation) {
33691
+ case 'boolean':
33692
+ {
33693
+ return '';
33694
+ }
33695
+
33696
+ case 'object':
33697
+ {
33698
+ if (interpolation.anim === 1) {
33699
+ cursor = {
33700
+ name: interpolation.name,
33701
+ styles: interpolation.styles,
33702
+ next: cursor
33703
+ };
33704
+ return interpolation.name;
33705
  }
 
 
 
 
 
 
 
 
33706
 
33707
+ if (interpolation.styles !== undefined) {
33708
+ var next = interpolation.next;
33709
 
33710
+ if (next !== undefined) {
33711
+ // not the most efficient thing ever but this is a pretty rare case
33712
+ // and there will be very few iterations of this generally
33713
+ while (next !== undefined) {
33714
+ cursor = {
33715
+ name: next.name,
33716
+ styles: next.styles,
33717
+ next: cursor
33718
+ };
33719
+ next = next.next;
33720
+ }
33721
+ }
33722
 
33723
+ var styles = interpolation.styles + ";";
33724
 
33725
+ if (false) {}
33726
 
33727
+ return styles;
33728
+ }
33729
 
33730
+ return createStringFromObject(mergedProps, registered, interpolation);
33731
+ }
33732
 
33733
+ case 'function':
33734
+ {
33735
+ if (mergedProps !== undefined) {
33736
+ var previousCursor = cursor;
33737
+ var result = interpolation(mergedProps);
33738
+ cursor = previousCursor;
33739
+ return handleInterpolation(mergedProps, registered, result);
33740
+ } else if (false) {}
33741
 
33742
+ break;
33743
+ }
33744
 
33745
+ case 'string':
33746
+ if (false) { var replaced, matched; }
33747
 
33748
+ break;
33749
+ } // finalize string values (regular strings and functions interpolated into css calls)
33750
 
33751
 
33752
+ if (registered == null) {
33753
+ return interpolation;
33754
+ }
33755
 
33756
+ var cached = registered[interpolation];
33757
+ return cached !== undefined ? cached : interpolation;
33758
+ }
33759
 
33760
+ function createStringFromObject(mergedProps, registered, obj) {
33761
+ var string = '';
 
 
33762
 
33763
+ if (Array.isArray(obj)) {
33764
+ for (var i = 0; i < obj.length; i++) {
33765
+ string += handleInterpolation(mergedProps, registered, obj[i]) + ";";
33766
+ }
33767
+ } else {
33768
+ for (var _key in obj) {
33769
+ var value = obj[_key];
33770
 
33771
+ if (typeof value !== 'object') {
33772
+ if (registered != null && registered[value] !== undefined) {
33773
+ string += _key + "{" + registered[value] + "}";
33774
+ } else if (isProcessableValue(value)) {
33775
+ string += processStyleName(_key) + ":" + processStyleValue(_key, value) + ";";
33776
+ }
33777
+ } else {
33778
+ if (_key === 'NO_COMPONENT_SELECTOR' && "production" !== 'production') {}
33779
 
33780
+ if (Array.isArray(value) && typeof value[0] === 'string' && (registered == null || registered[value[0]] === undefined)) {
33781
+ for (var _i = 0; _i < value.length; _i++) {
33782
+ if (isProcessableValue(value[_i])) {
33783
+ string += processStyleName(_key) + ":" + processStyleValue(_key, value[_i]) + ";";
33784
+ }
33785
+ }
33786
+ } else {
33787
+ var interpolated = handleInterpolation(mergedProps, registered, value);
33788
 
33789
+ switch (_key) {
33790
+ case 'animation':
33791
+ case 'animationName':
33792
+ {
33793
+ string += processStyleName(_key) + ":" + interpolated + ";";
33794
+ break;
33795
+ }
33796
 
33797
+ default:
33798
+ {
33799
+ if (false) {}
33800
 
33801
+ string += _key + "{" + interpolated + "}";
33802
+ }
33803
+ }
33804
+ }
33805
+ }
33806
  }
33807
+ }
 
 
 
 
 
33808
 
33809
+ return string;
33810
+ }
 
 
 
33811
 
33812
+ var labelPattern = /label:\s*([^\s;\n{]+)\s*(;|$)/g;
33813
+ var sourceMapPattern;
33814
 
33815
+ if (false) {} // this is the cursor for keyframes
33816
+ // keyframes are stored on the SerializedStyles object as a linked list
 
 
 
 
 
 
 
 
 
 
 
 
33817
 
 
 
 
33818
 
33819
+ var cursor;
33820
+ var emotion_serialize_browser_esm_serializeStyles = function serializeStyles(args, registered, mergedProps) {
33821
+ if (args.length === 1 && typeof args[0] === 'object' && args[0] !== null && args[0].styles !== undefined) {
33822
+ return args[0];
33823
+ }
33824
 
33825
+ var stringMode = true;
33826
+ var styles = '';
33827
+ cursor = undefined;
33828
+ var strings = args[0];
 
33829
 
33830
+ if (strings == null || strings.raw === undefined) {
33831
+ stringMode = false;
33832
+ styles += handleInterpolation(mergedProps, registered, strings);
33833
+ } else {
33834
+ if (false) {}
33835
+
33836
+ styles += strings[0];
33837
+ } // we start at 1 since we've already handled the first arg
33838
+
33839
+
33840
+ for (var i = 1; i < args.length; i++) {
33841
+ styles += handleInterpolation(mergedProps, registered, args[i]);
33842
+
33843
+ if (stringMode) {
33844
+ if (false) {}
33845
+
33846
+ styles += strings[i];
33847
+ }
33848
  }
 
33849
 
33850
+ var sourceMap;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33851
 
33852
+ if (false) {} // using a global regex with .exec is stateful so lastIndex has to be reset each time
 
 
33853
 
 
 
33854
 
33855
+ labelPattern.lastIndex = 0;
33856
+ var identifierName = '';
33857
+ var match; // https://esbench.com/bench/5b809c2cf2949800a0f61fb5
 
33858
 
33859
+ while ((match = labelPattern.exec(styles)) !== null) {
33860
+ identifierName += '-' + // $FlowFixMe we know it's not null
33861
+ match[1];
33862
+ }
33863
 
33864
+ var name = hash_browser_esm(styles) + identifierName;
33865
 
33866
+ if (false) {}
 
 
 
33867
 
33868
+ return {
33869
+ name: name,
33870
+ styles: styles,
33871
+ next: cursor
33872
+ };
33873
+ };
33874
 
 
 
 
 
 
 
33875
 
 
 
 
 
 
 
 
 
 
 
 
 
33876
 
33877
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/react/dist/emotion-element-99289b21.browser.esm.js
 
 
 
33878
 
 
 
 
 
 
 
 
 
 
33879
 
 
 
 
 
33880
 
 
 
 
 
 
 
 
 
 
 
 
33881
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33882
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33883
 
 
 
33884
 
 
 
 
 
33885
 
33886
+ var emotion_element_99289b21_browser_esm_hasOwnProperty = Object.prototype.hasOwnProperty;
33887
+
33888
+ var EmotionCacheContext = /* #__PURE__ */(0,react.createContext)( // we're doing this to avoid preconstruct's dead code elimination in this one case
33889
+ // because this module is primarily intended for the browser and node
33890
+ // but it's also required in react native and similar environments sometimes
33891
+ // and we could have a special build just for that
33892
+ // but this is much easier and the native packages
33893
+ // might use a different theme context in the future anyway
33894
+ typeof HTMLElement !== 'undefined' ? /* #__PURE__ */emotion_cache_browser_esm({
33895
+ key: 'css'
33896
+ }) : null);
33897
+
33898
+ if (false) {}
33899
+
33900
+ var CacheProvider = EmotionCacheContext.Provider;
33901
+ var __unsafe_useEmotionCache = function useEmotionCache() {
33902
+ return useContext(EmotionCacheContext);
33903
+ };
33904
+
33905
+ var emotion_element_99289b21_browser_esm_withEmotionCache = function withEmotionCache(func) {
33906
+ // $FlowFixMe
33907
+ return /*#__PURE__*/(0,react.forwardRef)(function (props, ref) {
33908
+ // the cache will never be null in the browser
33909
+ var cache = (0,react.useContext)(EmotionCacheContext);
33910
+ return func(props, cache, ref);
33911
  });
33912
  };
33913
 
33914
+ var emotion_element_99289b21_browser_esm_ThemeContext = /* #__PURE__ */(0,react.createContext)({});
33915
 
33916
+ if (false) {}
 
 
33917
 
33918
+ var useTheme = function useTheme() {
33919
+ return useContext(emotion_element_99289b21_browser_esm_ThemeContext);
33920
  };
33921
 
33922
+ var getTheme = function getTheme(outerTheme, theme) {
33923
+ if (typeof theme === 'function') {
33924
+ var mergedTheme = theme(outerTheme);
 
 
 
 
 
 
 
 
 
 
 
33925
 
33926
+ if (false) {}
 
33927
 
33928
+ return mergedTheme;
33929
+ }
 
 
33930
 
33931
+ if (false) {}
 
 
 
33932
 
33933
+ return _extends({}, outerTheme, theme);
 
33934
  };
33935
 
33936
+ var createCacheWithTheme = /* #__PURE__ */(/* unused pure expression or super */ null && (weakMemoize(function (outerTheme) {
33937
+ return weakMemoize(function (theme) {
33938
+ return getTheme(outerTheme, theme);
33939
+ });
33940
+ })));
33941
+ var ThemeProvider = function ThemeProvider(props) {
33942
+ var theme = useContext(emotion_element_99289b21_browser_esm_ThemeContext);
 
 
 
33943
 
33944
+ if (props.theme !== theme) {
33945
+ theme = createCacheWithTheme(theme)(props.theme);
33946
+ }
33947
+
33948
+ return /*#__PURE__*/createElement(emotion_element_99289b21_browser_esm_ThemeContext.Provider, {
33949
+ value: theme
33950
+ }, props.children);
33951
+ };
33952
+ function withTheme(Component) {
33953
+ var componentName = Component.displayName || Component.name || 'Component';
33954
+
33955
+ var render = function render(props, ref) {
33956
+ var theme = useContext(emotion_element_99289b21_browser_esm_ThemeContext);
33957
+ return /*#__PURE__*/createElement(Component, _extends({
33958
+ theme: theme,
33959
+ ref: ref
33960
+ }, props));
33961
+ }; // $FlowFixMe
33962
+
33963
+
33964
+ var WithTheme = /*#__PURE__*/forwardRef(render);
33965
+ WithTheme.displayName = "WithTheme(" + componentName + ")";
33966
+ return hoistNonReactStatics(WithTheme, Component);
33967
  }
33968
 
33969
+ // thus we only need to replace what is a valid character for JS, but not for CSS
33970
+
33971
+ var sanitizeIdentifier = function sanitizeIdentifier(identifier) {
33972
+ return identifier.replace(/\$/g, '-');
33973
  };
33974
 
33975
+ var typePropName = '__EMOTION_TYPE_PLEASE_DO_NOT_USE__';
33976
+ var labelPropName = '__EMOTION_LABEL_PLEASE_DO_NOT_USE__';
33977
+ var createEmotionProps = function createEmotionProps(type, props) {
33978
+ if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33979
 
33980
+ var newProps = {};
33981
+
33982
+ for (var key in props) {
33983
+ if (emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, key)) {
33984
+ newProps[key] = props[key];
33985
  }
33986
+ }
33987
 
33988
+ newProps[typePropName] = type;
 
 
 
33989
 
33990
+ if (false) { var match, error; }
33991
 
33992
+ return newProps;
33993
+ };
33994
+ var Emotion = /* #__PURE__ */emotion_element_99289b21_browser_esm_withEmotionCache(function (props, cache, ref) {
33995
+ var cssProp = props.css; // so that using `css` from `emotion` and passing the result to the css prop works
33996
+ // not passing the registered cache to serializeStyles because it would
33997
+ // make certain babel optimisations not possible
33998
 
33999
+ if (typeof cssProp === 'string' && cache.registered[cssProp] !== undefined) {
34000
+ cssProp = cache.registered[cssProp];
34001
+ }
 
 
 
 
34002
 
34003
+ var type = props[typePropName];
34004
+ var registeredStyles = [cssProp];
34005
+ var className = '';
 
34006
 
34007
+ if (typeof props.className === 'string') {
34008
+ className = getRegisteredStyles(cache.registered, registeredStyles, props.className);
34009
+ } else if (props.className != null) {
34010
+ className = props.className + " ";
34011
+ }
34012
 
34013
+ var serialized = emotion_serialize_browser_esm_serializeStyles(registeredStyles, undefined, (0,react.useContext)(emotion_element_99289b21_browser_esm_ThemeContext));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34014
 
34015
+ if (false) { var labelFromStack; }
 
 
34016
 
34017
+ var rules = emotion_utils_browser_esm_insertStyles(cache, serialized, typeof type === 'string');
34018
+ className += cache.key + "-" + serialized.name;
34019
+ var newProps = {};
34020
 
34021
+ for (var key in props) {
34022
+ if (emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, key) && key !== 'css' && key !== typePropName && ( true || 0)) {
34023
+ newProps[key] = props[key];
34024
  }
34025
+ }
 
 
 
34026
 
34027
+ newProps.ref = ref;
34028
+ newProps.className = className;
34029
+ var ele = /*#__PURE__*/(0,react.createElement)(type, newProps);
34030
 
34031
+ return ele;
34032
+ });
 
34033
 
34034
+ if (false) {}
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34035
 
 
 
 
 
 
 
 
 
34036
 
 
 
 
34037
 
34038
+ ;// CONCATENATED MODULE: ./node_modules/@emotion/react/dist/emotion-react.browser.esm.js
 
 
34039
 
 
 
 
 
34040
 
 
 
 
 
 
 
 
34041
 
34042
 
 
 
 
34043
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34044
 
 
 
 
 
 
 
 
34045
 
34046
 
 
 
 
 
 
 
34047
 
 
 
 
 
34048
 
 
 
 
 
34049
 
34050
 
34051
+ var pkg = {
34052
+ name: "@emotion/react",
34053
+ version: "11.4.1",
34054
+ main: "dist/emotion-react.cjs.js",
34055
+ module: "dist/emotion-react.esm.js",
34056
+ browser: {
34057
+ "./dist/emotion-react.cjs.js": "./dist/emotion-react.browser.cjs.js",
34058
+ "./dist/emotion-react.esm.js": "./dist/emotion-react.browser.esm.js"
34059
+ },
34060
+ types: "types/index.d.ts",
34061
+ files: [
34062
+ "src",
34063
+ "dist",
34064
+ "jsx-runtime",
34065
+ "jsx-dev-runtime",
34066
+ "isolated-hoist-non-react-statics-do-not-use-this-in-your-code",
34067
+ "types/*.d.ts",
34068
+ "macro.js",
34069
+ "macro.d.ts",
34070
+ "macro.js.flow"
34071
+ ],
34072
+ sideEffects: false,
34073
+ author: "mitchellhamilton <mitchell@mitchellhamilton.me>",
34074
+ license: "MIT",
34075
+ scripts: {
34076
+ "test:typescript": "dtslint types"
34077
+ },
34078
+ dependencies: {
34079
+ "@babel/runtime": "^7.13.10",
34080
+ "@emotion/cache": "^11.4.0",
34081
+ "@emotion/serialize": "^1.0.2",
34082
+ "@emotion/sheet": "^1.0.2",
34083
+ "@emotion/utils": "^1.0.0",
34084
+ "@emotion/weak-memoize": "^0.2.5",
34085
+ "hoist-non-react-statics": "^3.3.1"
34086
+ },
34087
+ peerDependencies: {
34088
+ "@babel/core": "^7.0.0",
34089
+ react: ">=16.8.0"
34090
+ },
34091
+ peerDependenciesMeta: {
34092
+ "@babel/core": {
34093
+ optional: true
34094
+ },
34095
+ "@types/react": {
34096
+ optional: true
34097
+ }
34098
+ },
34099
+ devDependencies: {
34100
+ "@babel/core": "^7.13.10",
34101
+ "@emotion/css": "11.1.3",
34102
+ "@emotion/css-prettifier": "1.0.0",
34103
+ "@emotion/server": "11.4.0",
34104
+ "@emotion/styled": "11.3.0",
34105
+ "@types/react": "^16.9.11",
34106
+ dtslint: "^0.3.0",
34107
+ "html-tag-names": "^1.1.2",
34108
+ react: "16.14.0",
34109
+ "svg-tag-names": "^1.1.1"
34110
+ },
34111
+ repository: "https://github.com/emotion-js/emotion/tree/main/packages/react",
34112
+ publishConfig: {
34113
+ access: "public"
34114
+ },
34115
+ "umd:main": "dist/emotion-react.umd.min.js",
34116
+ preconstruct: {
34117
+ entrypoints: [
34118
+ "./index.js",
34119
+ "./jsx-runtime.js",
34120
+ "./jsx-dev-runtime.js",
34121
+ "./isolated-hoist-non-react-statics-do-not-use-this-in-your-code.js"
34122
+ ],
34123
+ umdName: "emotionReact"
34124
+ }
34125
+ };
34126
 
34127
+ var jsx = function jsx(type, props) {
34128
+ var args = arguments;
 
 
 
34129
 
34130
+ if (props == null || !emotion_element_99289b21_browser_esm_hasOwnProperty.call(props, 'css')) {
34131
+ // $FlowFixMe
34132
+ return react.createElement.apply(undefined, args);
34133
+ }
34134
 
34135
+ var argsLength = args.length;
34136
+ var createElementArgArray = new Array(argsLength);
34137
+ createElementArgArray[0] = Emotion;
34138
+ createElementArgArray[1] = createEmotionProps(type, props);
 
 
34139
 
34140
+ for (var i = 2; i < argsLength; i++) {
34141
+ createElementArgArray[i] = args[i];
34142
+ } // $FlowFixMe
34143
 
 
 
 
34144
 
34145
+ return react.createElement.apply(null, createElementArgArray);
34146
+ };
 
 
 
34147
 
34148
+ var warnedAboutCssPropForGlobal = false; // maintain place over rerenders.
34149
+ // initial render from browser, insertBefore context.sheet.tags[0] or if a style hasn't been inserted there yet, appendChild
34150
+ // initial client-side render from SSR, use place of hydrating tag
34151
 
34152
+ var Global = /* #__PURE__ */(/* unused pure expression or super */ null && (withEmotionCache(function (props, cache) {
34153
+ if (false) {}
34154
 
34155
+ var styles = props.styles;
34156
+ var serialized = serializeStyles([styles], undefined, useContext(ThemeContext));
34157
+ // but it is based on a constant that will never change at runtime
34158
+ // it's effectively like having two implementations and switching them out
34159
+ // so it's not actually breaking anything
34160
+
34161
+
34162
+ var sheetRef = useRef();
34163
+ useLayoutEffect(function () {
34164
+ var key = cache.key + "-global";
34165
+ var sheet = new StyleSheet({
34166
+ key: key,
34167
+ nonce: cache.sheet.nonce,
34168
+ container: cache.sheet.container,
34169
+ speedy: cache.sheet.isSpeedy
34170
+ });
34171
+ var rehydrating = false; // $FlowFixMe
34172
+
34173
+ var node = document.querySelector("style[data-emotion=\"" + key + " " + serialized.name + "\"]");
34174
+
34175
+ if (cache.sheet.tags.length) {
34176
+ sheet.before = cache.sheet.tags[0];
34177
  }
34178
+
34179
+ if (node !== null) {
34180
+ rehydrating = true; // clear the hash so this node won't be recognizable as rehydratable by other <Global/>s
34181
+
34182
+ node.setAttribute('data-emotion', key);
34183
+ sheet.hydrate([node]);
34184
+ }
34185
+
34186
+ sheetRef.current = [sheet, rehydrating];
34187
  return function () {
34188
+ sheet.flush();
34189
  };
34190
+ }, [cache]);
34191
+ useLayoutEffect(function () {
34192
+ var sheetRefCurrent = sheetRef.current;
34193
+ var sheet = sheetRefCurrent[0],
34194
+ rehydrating = sheetRefCurrent[1];
34195
 
34196
+ if (rehydrating) {
34197
+ sheetRefCurrent[1] = false;
34198
+ return;
34199
+ }
34200
 
34201
+ if (serialized.next !== undefined) {
34202
+ // insert keyframes
34203
+ insertStyles(cache, serialized.next, true);
34204
+ }
34205
 
34206
+ if (sheet.tags.length) {
34207
+ // if this doesn't exist then it will be null so the style element will be appended
34208
+ var element = sheet.tags[sheet.tags.length - 1].nextElementSibling;
34209
+ sheet.before = element;
34210
+ sheet.flush();
34211
+ }
34212
 
34213
+ cache.insert("", serialized, sheet, false);
34214
+ }, [cache, serialized.name]);
34215
+ return null;
34216
+ })));
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34217
 
34218
+ if (false) {}
 
 
 
34219
 
34220
+ function css() {
34221
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34222
+ args[_key] = arguments[_key];
34223
+ }
34224
+
34225
+ return emotion_serialize_browser_esm_serializeStyles(args);
34226
  }
34227
 
34228
+ var keyframes = function keyframes() {
34229
+ var insertable = css.apply(void 0, arguments);
34230
+ var name = "animation-" + insertable.name; // $FlowFixMe
34231
+
34232
+ return {
34233
+ name: name,
34234
+ styles: "@keyframes " + name + "{" + insertable.styles + "}",
34235
+ anim: 1,
34236
+ toString: function toString() {
34237
+ return "_EMO_" + this.name + "_" + this.styles + "_EMO_";
34238
+ }
34239
+ };
34240
  };
34241
 
34242
+ var emotion_react_browser_esm_classnames = function classnames(args) {
34243
+ var len = args.length;
34244
+ var i = 0;
34245
+ var cls = '';
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34246
 
34247
+ for (; i < len; i++) {
34248
+ var arg = args[i];
34249
+ if (arg == null) continue;
34250
+ var toAdd = void 0;
34251
 
34252
+ switch (typeof arg) {
34253
+ case 'boolean':
34254
+ break;
34255
 
34256
+ case 'object':
34257
+ {
34258
+ if (Array.isArray(arg)) {
34259
+ toAdd = classnames(arg);
34260
+ } else {
34261
+ if (false) {}
34262
 
34263
+ toAdd = '';
 
 
 
 
 
 
 
 
 
 
34264
 
34265
+ for (var k in arg) {
34266
+ if (arg[k] && k) {
34267
+ toAdd && (toAdd += ' ');
34268
+ toAdd += k;
34269
+ }
34270
+ }
34271
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
34272
 
34273
+ break;
34274
+ }
34275
 
34276
+ default:
34277
+ {
34278
+ toAdd = arg;
34279
+ }
34280
+ }
34281
 
34282
+ if (toAdd) {
34283
+ cls && (cls += ' ');
34284
+ cls += toAdd;
34285
+ }
34286
+ }
 
 
 
 
 
 
34287
 
34288
+ return cls;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34289
  };
34290
 
34291
+ function merge(registered, css, className) {
34292
+ var registeredStyles = [];
34293
+ var rawClassName = getRegisteredStyles(registered, registeredStyles, className);
34294
 
34295
+ if (registeredStyles.length < 2) {
34296
+ return className;
34297
+ }
34298
 
34299
+ return rawClassName + css(registeredStyles);
 
 
 
 
 
 
 
 
 
 
34300
  }
34301
 
34302
+ var ClassNames = /* #__PURE__ */emotion_element_99289b21_browser_esm_withEmotionCache(function (props, cache) {
34303
+ var hasRendered = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
34304
 
34305
+ var css = function css() {
34306
+ if (hasRendered && "production" !== 'production') {}
 
 
 
 
 
34307
 
34308
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34309
+ args[_key] = arguments[_key];
 
 
 
 
 
 
34310
  }
34311
 
34312
+ var serialized = emotion_serialize_browser_esm_serializeStyles(args, cache.registered);
 
 
 
 
 
 
34313
 
34314
+ {
34315
+ emotion_utils_browser_esm_insertStyles(cache, serialized, false);
34316
+ }
 
 
 
 
 
 
 
 
 
 
34317
 
34318
+ return cache.key + "-" + serialized.name;
34319
+ };
 
 
34320
 
34321
+ var cx = function cx() {
34322
+ if (hasRendered && "production" !== 'production') {}
34323
 
34324
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
34325
+ args[_key2] = arguments[_key2];
 
 
 
 
 
34326
  }
 
34327
 
34328
+ return merge(cache.registered, css, emotion_react_browser_esm_classnames(args));
34329
+ };
34330
 
34331
+ var content = {
34332
+ css: css,
34333
+ cx: cx,
34334
+ theme: (0,react.useContext)(emotion_element_99289b21_browser_esm_ThemeContext)
34335
+ };
34336
+ var ele = props.children(content);
34337
+ hasRendered = true;
34338
 
34339
+ return ele;
34340
+ });
 
34341
 
34342
+ if (false) {}
 
 
34343
 
34344
+ if (false) { var globalKey, globalContext, isJest, emotion_react_browser_esm_isBrowser; }
 
 
34345
 
 
 
34346
 
 
 
 
34347
 
34348
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/taggedTemplateLiteral.js
34349
+ function _taggedTemplateLiteral(strings, raw) {
34350
+ if (!raw) {
34351
+ raw = strings.slice(0);
34352
+ }
34353
 
34354
+ return Object.freeze(Object.defineProperties(strings, {
34355
+ raw: {
34356
+ value: Object.freeze(raw)
34357
+ }
34358
+ }));
34359
  }
34360
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js
34361
+ function objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded) {
34362
+ if (source == null) return {};
34363
+ var target = {};
34364
+ var sourceKeys = Object.keys(source);
34365
+ var key, i;
34366
 
34367
+ for (i = 0; i < sourceKeys.length; i++) {
34368
+ key = sourceKeys[i];
34369
+ if (excluded.indexOf(key) >= 0) continue;
34370
+ target[key] = source[key];
34371
+ }
 
34372
 
34373
+ return target;
34374
+ }
34375
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js
34376
 
34377
+ function objectWithoutProperties_objectWithoutProperties(source, excluded) {
34378
+ if (source == null) return {};
34379
+ var target = objectWithoutPropertiesLoose_objectWithoutPropertiesLoose(source, excluded);
34380
+ var key, i;
34381
 
34382
+ if (Object.getOwnPropertySymbols) {
34383
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
34384
 
34385
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
34386
+ key = sourceSymbolKeys[i];
34387
+ if (excluded.indexOf(key) >= 0) continue;
34388
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
34389
+ target[key] = source[key];
34390
+ }
34391
+ }
 
 
34392
 
34393
+ return target;
34394
+ }
34395
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/typeof.js
34396
+ function _typeof(obj) {
34397
+ "@babel/helpers - typeof";
34398
 
34399
+ if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
34400
+ _typeof = function _typeof(obj) {
34401
+ return typeof obj;
 
 
 
 
 
 
 
 
34402
  };
34403
+ } else {
34404
+ _typeof = function _typeof(obj) {
34405
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
 
 
 
 
 
 
 
 
 
 
34406
  };
34407
+ }
34408
 
34409
+ return _typeof(obj);
34410
+ }
34411
+ // EXTERNAL MODULE: ./node_modules/react-input-autosize/lib/AutosizeInput.js
34412
+ var AutosizeInput = __webpack_require__(7914);
34413
+ ;// CONCATENATED MODULE: ./node_modules/@babel/runtime/helpers/esm/defineProperty.js
34414
+ function defineProperty_defineProperty(obj, key, value) {
34415
+ if (key in obj) {
34416
+ Object.defineProperty(obj, key, {
34417
+ value: value,
34418
+ enumerable: true,
34419
+ configurable: true,
34420
+ writable: true
34421
+ });
34422
+ } else {
34423
+ obj[key] = value;
34424
+ }
34425
 
34426
+ return obj;
34427
+ }
34428
+ ;// CONCATENATED MODULE: ./node_modules/react-select/dist/index-4bd03571.esm.js
34429
 
 
 
 
34430
 
 
34431
 
 
 
 
34432
 
 
 
34433
 
 
 
 
 
 
34434
 
 
34435
 
 
 
34436
 
 
 
 
 
 
 
34437
 
 
 
 
34438
 
 
 
 
 
34439
 
 
 
34440
 
34441
 
34442
+ function index_4bd03571_esm_defineProperty(obj, key, value) {
34443
+ if (key in obj) {
34444
+ Object.defineProperty(obj, key, {
34445
+ value: value,
34446
+ enumerable: true,
34447
+ configurable: true,
34448
+ writable: true
34449
+ });
34450
+ } else {
34451
+ obj[key] = value;
34452
+ }
34453
 
34454
+ return obj;
34455
+ }
 
 
 
34456
 
34457
+ function index_4bd03571_esm_ownKeys(object, enumerableOnly) {
34458
+ var keys = Object.keys(object);
 
 
 
 
34459
 
34460
+ if (Object.getOwnPropertySymbols) {
34461
+ var symbols = Object.getOwnPropertySymbols(object);
34462
+ if (enumerableOnly) symbols = symbols.filter(function (sym) {
34463
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
34464
+ });
34465
+ keys.push.apply(keys, symbols);
34466
+ }
34467
 
34468
+ return keys;
34469
+ }
34470
 
34471
+ function index_4bd03571_esm_objectSpread2(target) {
34472
+ for (var i = 1; i < arguments.length; i++) {
34473
+ var source = arguments[i] != null ? arguments[i] : {};
34474
 
34475
+ if (i % 2) {
34476
+ index_4bd03571_esm_ownKeys(Object(source), true).forEach(function (key) {
34477
+ index_4bd03571_esm_defineProperty(target, key, source[key]);
34478
+ });
34479
+ } else if (Object.getOwnPropertyDescriptors) {
34480
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
34481
+ } else {
34482
+ index_4bd03571_esm_ownKeys(Object(source)).forEach(function (key) {
34483
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
34484
+ });
34485
+ }
34486
+ }
 
 
 
34487
 
34488
+ return target;
34489
+ }
34490
 
34491
+ function index_4bd03571_esm_getPrototypeOf(o) {
34492
+ index_4bd03571_esm_getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {
34493
+ return o.__proto__ || Object.getPrototypeOf(o);
34494
+ };
34495
+ return index_4bd03571_esm_getPrototypeOf(o);
34496
+ }
34497
 
34498
+ function index_4bd03571_esm_isNativeReflectConstruct() {
34499
+ if (typeof Reflect === "undefined" || !Reflect.construct) return false;
34500
+ if (Reflect.construct.sham) return false;
34501
+ if (typeof Proxy === "function") return true;
34502
 
34503
+ try {
34504
+ Date.prototype.toString.call(Reflect.construct(Date, [], function () {}));
34505
+ return true;
34506
+ } catch (e) {
34507
+ return false;
34508
+ }
34509
+ }
34510
 
34511
+ function index_4bd03571_esm_assertThisInitialized(self) {
34512
+ if (self === void 0) {
34513
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
34514
+ }
34515
 
34516
+ return self;
34517
+ }
 
 
34518
 
34519
+ function index_4bd03571_esm_possibleConstructorReturn(self, call) {
34520
+ if (call && (typeof call === "object" || typeof call === "function")) {
34521
+ return call;
34522
+ }
34523
 
34524
+ return index_4bd03571_esm_assertThisInitialized(self);
34525
+ }
34526
 
34527
+ function index_4bd03571_esm_createSuper(Derived) {
34528
+ var hasNativeReflectConstruct = index_4bd03571_esm_isNativeReflectConstruct();
34529
+ return function _createSuperInternal() {
34530
+ var Super = index_4bd03571_esm_getPrototypeOf(Derived),
34531
+ result;
34532
 
34533
+ if (hasNativeReflectConstruct) {
34534
+ var NewTarget = index_4bd03571_esm_getPrototypeOf(this).constructor;
34535
+ result = Reflect.construct(Super, arguments, NewTarget);
34536
+ } else {
34537
+ result = Super.apply(this, arguments);
34538
+ }
34539
 
34540
+ return index_4bd03571_esm_possibleConstructorReturn(this, result);
34541
+ };
34542
+ }
 
 
34543
 
34544
+ // ==============================
34545
+ // NO OP
34546
+ // ==============================
34547
+ var noop = function noop() {};
34548
+ // Class Name Prefixer
34549
+ // ==============================
34550
 
34551
+ /**
34552
+ String representation of component state for styling with class names.
 
 
34553
 
34554
+ Expects an array of strings OR a string/object pair:
34555
+ - className(['comp', 'comp-arg', 'comp-arg-2'])
34556
+ @returns 'react-select__comp react-select__comp-arg react-select__comp-arg-2'
34557
+ - className('comp', { some: true, state: false })
34558
+ @returns 'react-select__comp react-select__comp--some'
34559
+ */
34560
 
34561
+ function applyPrefixToName(prefix, name) {
34562
+ if (!name) {
34563
+ return prefix;
34564
+ } else if (name[0] === '-') {
34565
+ return prefix + name;
34566
+ } else {
34567
+ return prefix + '__' + name;
34568
+ }
34569
+ }
34570
 
34571
+ function classNames(prefix, state, className) {
34572
+ var arr = [className];
 
34573
 
34574
+ if (state && prefix) {
34575
+ for (var key in state) {
34576
+ if (state.hasOwnProperty(key) && state[key]) {
34577
+ arr.push("".concat(applyPrefixToName(prefix, key)));
34578
+ }
34579
+ }
34580
+ }
34581
 
34582
+ return arr.filter(function (i) {
34583
+ return i;
34584
+ }).map(function (i) {
34585
+ return String(i).trim();
34586
+ }).join(' ');
34587
+ } // ==============================
34588
+ // Clean Value
34589
+ // ==============================
34590
 
34591
+ var cleanValue = function cleanValue(value) {
34592
+ if (Array.isArray(value)) return value.filter(Boolean);
34593
+ if (_typeof(value) === 'object' && value !== null) return [value];
34594
+ return [];
34595
+ }; // ==============================
34596
+ // Clean Common Props
34597
+ // ==============================
34598
 
34599
+ var cleanCommonProps = function cleanCommonProps(props) {
34600
+ //className
34601
+ props.className;
34602
+ props.clearValue;
34603
+ props.cx;
34604
+ props.getStyles;
34605
+ props.getValue;
34606
+ props.hasValue;
34607
+ props.isMulti;
34608
+ props.isRtl;
34609
+ props.options;
34610
+ props.selectOption;
34611
+ props.selectProps;
34612
+ props.setValue;
34613
+ props.theme;
34614
+ var innerProps = objectWithoutProperties_objectWithoutProperties(props, ["className", "clearValue", "cx", "getStyles", "getValue", "hasValue", "isMulti", "isRtl", "options", "selectOption", "selectProps", "setValue", "theme"]);
34615
 
34616
+ return index_4bd03571_esm_objectSpread2({}, innerProps);
34617
+ }; // ==============================
34618
+ // Handle Input Change
34619
+ // ==============================
34620
 
34621
+ function handleInputChange(inputValue, actionMeta, onInputChange) {
34622
+ if (onInputChange) {
34623
+ var newValue = onInputChange(inputValue, actionMeta);
34624
+ if (typeof newValue === 'string') return newValue;
34625
+ }
34626
 
34627
+ return inputValue;
34628
+ } // ==============================
34629
+ // Scroll Helpers
34630
+ // ==============================
34631
 
34632
+ function isDocumentElement(el) {
34633
+ return [document.documentElement, document.body, window].indexOf(el) > -1;
34634
+ } // Normalized Scroll Top
34635
+ // ------------------------------
 
 
 
34636
 
34637
+ function getScrollTop(el) {
34638
+ if (isDocumentElement(el)) {
34639
+ return window.pageYOffset;
34640
+ }
34641
 
34642
+ return el.scrollTop;
34643
+ }
34644
+ function scrollTo(el, top) {
34645
+ // with a scroll distance, we perform scroll on the element
34646
+ if (isDocumentElement(el)) {
34647
+ window.scrollTo(0, top);
34648
+ return;
34649
+ }
34650
 
34651
+ el.scrollTop = top;
34652
+ } // Get Scroll Parent
34653
+ // ------------------------------
34654
 
34655
+ function getScrollParent(element) {
34656
+ var style = getComputedStyle(element);
34657
+ var excludeStaticParent = style.position === 'absolute';
34658
+ var overflowRx = /(auto|scroll)/;
34659
+ var docEl = document.documentElement; // suck it, flow...
34660
 
34661
+ if (style.position === 'fixed') return docEl;
 
34662
 
34663
+ for (var parent = element; parent = parent.parentElement;) {
34664
+ style = getComputedStyle(parent);
 
 
34665
 
34666
+ if (excludeStaticParent && style.position === 'static') {
34667
+ continue;
34668
+ }
 
 
 
 
 
 
 
 
34669
 
34670
+ if (overflowRx.test(style.overflow + style.overflowY + style.overflowX)) {
34671
+ return parent;
34672
+ }
34673
+ }
 
34674
 
34675
+ return docEl;
34676
+ } // Animated Scroll To
34677
+ // ------------------------------
 
 
34678
 
34679
+ /**
34680
+ @param t: time (elapsed)
34681
+ @param b: initial value
34682
+ @param c: amount of change
34683
+ @param d: duration
34684
+ */
34685
 
34686
+ function easeOutCubic(t, b, c, d) {
34687
+ return c * ((t = t / d - 1) * t * t + 1) + b;
34688
+ }
34689
 
34690
+ function animatedScrollTo(element, to) {
34691
+ var duration = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 200;
34692
+ var callback = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : noop;
34693
+ var start = getScrollTop(element);
34694
+ var change = to - start;
34695
+ var increment = 10;
34696
+ var currentTime = 0;
34697
 
34698
+ function animateScroll() {
34699
+ currentTime += increment;
34700
+ var val = easeOutCubic(currentTime, start, change, duration);
34701
+ scrollTo(element, val);
34702
 
34703
+ if (currentTime < duration) {
34704
+ window.requestAnimationFrame(animateScroll);
34705
+ } else {
34706
+ callback(element);
34707
+ }
34708
+ }
34709
 
34710
+ animateScroll();
34711
+ } // Scroll Into View
34712
+ // ------------------------------
 
 
34713
 
34714
+ function scrollIntoView(menuEl, focusedEl) {
34715
+ var menuRect = menuEl.getBoundingClientRect();
34716
+ var focusedRect = focusedEl.getBoundingClientRect();
34717
+ var overScroll = focusedEl.offsetHeight / 3;
34718
 
34719
+ if (focusedRect.bottom + overScroll > menuRect.bottom) {
34720
+ scrollTo(menuEl, Math.min(focusedEl.offsetTop + focusedEl.clientHeight - menuEl.offsetHeight + overScroll, menuEl.scrollHeight));
34721
+ } else if (focusedRect.top - overScroll < menuRect.top) {
34722
+ scrollTo(menuEl, Math.max(focusedEl.offsetTop - overScroll, 0));
34723
+ }
34724
+ } // ==============================
34725
+ // Get bounding client object
34726
+ // ==============================
34727
+ // cannot get keys using array notation with DOMRect
34728
 
34729
+ function getBoundingClientObj(element) {
34730
+ var rect = element.getBoundingClientRect();
34731
+ return {
34732
+ bottom: rect.bottom,
34733
+ height: rect.height,
34734
+ left: rect.left,
34735
+ right: rect.right,
34736
+ top: rect.top,
34737
+ width: rect.width
34738
+ };
34739
+ }
34740
+ // Touch Capability Detector
34741
+ // ==============================
34742
 
34743
+ function isTouchCapable() {
34744
+ try {
34745
+ document.createEvent('TouchEvent');
34746
+ return true;
34747
+ } catch (e) {
34748
+ return false;
34749
+ }
34750
+ } // ==============================
34751
+ // Mobile Device Detector
34752
+ // ==============================
 
34753
 
34754
+ function isMobileDevice() {
34755
+ try {
34756
+ return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
34757
+ } catch (e) {
34758
+ return false;
34759
+ }
34760
+ } // ==============================
34761
+ // Passive Event Detector
34762
+ // ==============================
34763
+ // https://github.com/rafgraph/detect-it/blob/main/src/index.ts#L19-L36
34764
 
34765
+ var passiveOptionAccessed = false;
34766
+ var options = {
34767
+ get passive() {
34768
+ return passiveOptionAccessed = true;
34769
+ }
34770
 
34771
+ }; // check for SSR
 
 
34772
 
34773
+ var index_4bd03571_esm_w = typeof window !== 'undefined' ? window : {};
 
 
34774
 
34775
+ if (index_4bd03571_esm_w.addEventListener && index_4bd03571_esm_w.removeEventListener) {
34776
+ index_4bd03571_esm_w.addEventListener('p', noop, options);
34777
+ index_4bd03571_esm_w.removeEventListener('p', noop, false);
34778
+ }
34779
 
34780
+ var supportsPassiveEvents = passiveOptionAccessed;
 
 
34781
 
34782
+ function getMenuPlacement(_ref) {
34783
+ var maxHeight = _ref.maxHeight,
34784
+ menuEl = _ref.menuEl,
34785
+ minHeight = _ref.minHeight,
34786
+ placement = _ref.placement,
34787
+ shouldScroll = _ref.shouldScroll,
34788
+ isFixedPosition = _ref.isFixedPosition,
34789
+ theme = _ref.theme;
34790
+ var spacing = theme.spacing;
34791
+ var scrollParent = getScrollParent(menuEl);
34792
+ var defaultState = {
34793
+ placement: 'bottom',
34794
+ maxHeight: maxHeight
34795
+ }; // something went wrong, return default state
34796
 
34797
+ if (!menuEl || !menuEl.offsetParent) return defaultState; // we can't trust `scrollParent.scrollHeight` --> it may increase when
34798
+ // the menu is rendered
 
 
 
34799
 
34800
+ var _scrollParent$getBoun = scrollParent.getBoundingClientRect(),
34801
+ scrollHeight = _scrollParent$getBoun.height;
 
 
34802
 
34803
+ var _menuEl$getBoundingCl = menuEl.getBoundingClientRect(),
34804
+ menuBottom = _menuEl$getBoundingCl.bottom,
34805
+ menuHeight = _menuEl$getBoundingCl.height,
34806
+ menuTop = _menuEl$getBoundingCl.top;
34807
 
34808
+ var _menuEl$offsetParent$ = menuEl.offsetParent.getBoundingClientRect(),
34809
+ containerTop = _menuEl$offsetParent$.top;
34810
 
34811
+ var viewHeight = window.innerHeight;
34812
+ var scrollTop = getScrollTop(scrollParent);
34813
+ var marginBottom = parseInt(getComputedStyle(menuEl).marginBottom, 10);
34814
+ var marginTop = parseInt(getComputedStyle(menuEl).marginTop, 10);
34815
+ var viewSpaceAbove = containerTop - marginTop;
34816
+ var viewSpaceBelow = viewHeight - menuTop;
34817
+ var scrollSpaceAbove = viewSpaceAbove + scrollTop;
34818
+ var scrollSpaceBelow = scrollHeight - scrollTop - menuTop;
34819
+ var scrollDown = menuBottom - viewHeight + scrollTop + marginBottom;
34820
+ var scrollUp = scrollTop + menuTop - marginTop;
34821
+ var scrollDuration = 160;
34822
 
34823
+ switch (placement) {
34824
+ case 'auto':
34825
+ case 'bottom':
34826
+ // 1: the menu will fit, do nothing
34827
+ if (viewSpaceBelow >= menuHeight) {
34828
+ return {
34829
+ placement: 'bottom',
34830
+ maxHeight: maxHeight
34831
+ };
34832
+ } // 2: the menu will fit, if scrolled
34833
 
 
 
34834
 
34835
+ if (scrollSpaceBelow >= menuHeight && !isFixedPosition) {
34836
+ if (shouldScroll) {
34837
+ animatedScrollTo(scrollParent, scrollDown, scrollDuration);
34838
+ }
34839
 
34840
+ return {
34841
+ placement: 'bottom',
34842
+ maxHeight: maxHeight
34843
+ };
34844
+ } // 3: the menu will fit, if constrained
34845
+
34846
+
34847
+ if (!isFixedPosition && scrollSpaceBelow >= minHeight || isFixedPosition && viewSpaceBelow >= minHeight) {
34848
+ if (shouldScroll) {
34849
+ animatedScrollTo(scrollParent, scrollDown, scrollDuration);
34850
+ } // we want to provide as much of the menu as possible to the user,
34851
+ // so give them whatever is available below rather than the minHeight.
34852
+
34853
+
34854
+ var constrainedHeight = isFixedPosition ? viewSpaceBelow - marginBottom : scrollSpaceBelow - marginBottom;
34855
+ return {
34856
+ placement: 'bottom',
34857
+ maxHeight: constrainedHeight
34858
+ };
34859
+ } // 4. Forked beviour when there isn't enough space below
34860
+ // AUTO: flip the menu, render above
34861
+
34862
+
34863
+ if (placement === 'auto' || isFixedPosition) {
34864
+ // may need to be constrained after flipping
34865
+ var _constrainedHeight = maxHeight;
34866
+ var spaceAbove = isFixedPosition ? viewSpaceAbove : scrollSpaceAbove;
34867
+
34868
+ if (spaceAbove >= minHeight) {
34869
+ _constrainedHeight = Math.min(spaceAbove - marginBottom - spacing.controlHeight, maxHeight);
34870
+ }
34871
+
34872
+ return {
34873
+ placement: 'top',
34874
+ maxHeight: _constrainedHeight
34875
+ };
34876
+ } // BOTTOM: allow browser to increase scrollable area and immediately set scroll
34877
+
34878
+
34879
+ if (placement === 'bottom') {
34880
+ if (shouldScroll) {
34881
+ scrollTo(scrollParent, scrollDown);
34882
+ }
34883
+
34884
+ return {
34885
+ placement: 'bottom',
34886
+ maxHeight: maxHeight
34887
+ };
34888
+ }
34889
+
34890
+ break;
34891
+
34892
+ case 'top':
34893
+ // 1: the menu will fit, do nothing
34894
+ if (viewSpaceAbove >= menuHeight) {
34895
+ return {
34896
+ placement: 'top',
34897
+ maxHeight: maxHeight
34898
+ };
34899
+ } // 2: the menu will fit, if scrolled
34900
+
34901
+
34902
+ if (scrollSpaceAbove >= menuHeight && !isFixedPosition) {
34903
+ if (shouldScroll) {
34904
+ animatedScrollTo(scrollParent, scrollUp, scrollDuration);
34905
+ }
34906
+
34907
+ return {
34908
+ placement: 'top',
34909
+ maxHeight: maxHeight
34910
+ };
34911
+ } // 3: the menu will fit, if constrained
34912
+
34913
+
34914
+ if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
34915
+ var _constrainedHeight2 = maxHeight; // we want to provide as much of the menu as possible to the user,
34916
+ // so give them whatever is available below rather than the minHeight.
34917
+
34918
+ if (!isFixedPosition && scrollSpaceAbove >= minHeight || isFixedPosition && viewSpaceAbove >= minHeight) {
34919
+ _constrainedHeight2 = isFixedPosition ? viewSpaceAbove - marginTop : scrollSpaceAbove - marginTop;
34920
+ }
34921
+
34922
+ if (shouldScroll) {
34923
+ animatedScrollTo(scrollParent, scrollUp, scrollDuration);
34924
+ }
34925
+
34926
+ return {
34927
+ placement: 'top',
34928
+ maxHeight: _constrainedHeight2
34929
+ };
34930
+ } // 4. not enough space, the browser WILL NOT increase scrollable area when
34931
+ // absolutely positioned element rendered above the viewport (only below).
34932
+ // Flip the menu, render below
34933
+
34934
+
34935
+ return {
34936
+ placement: 'bottom',
34937
+ maxHeight: maxHeight
34938
+ };
34939
+
34940
+ default:
34941
+ throw new Error("Invalid placement provided \"".concat(placement, "\"."));
34942
+ } // fulfil contract with flow: implicit return value of undefined
34943
+
34944
+
34945
+ return defaultState;
34946
+ } // Menu Component
34947
+ // ------------------------------
34948
+
34949
+ function alignToControl(placement) {
34950
+ var placementToCSSProp = {
34951
+ bottom: 'top',
34952
+ top: 'bottom'
34953
+ };
34954
+ return placement ? placementToCSSProp[placement] : 'bottom';
34955
+ }
34956
+
34957
+ var coercePlacement = function coercePlacement(p) {
34958
+ return p === 'auto' ? 'bottom' : p;
34959
+ };
34960
+
34961
+ var menuCSS = function menuCSS(_ref2) {
34962
+ var _ref3;
34963
+
34964
+ var placement = _ref2.placement,
34965
+ _ref2$theme = _ref2.theme,
34966
+ borderRadius = _ref2$theme.borderRadius,
34967
+ spacing = _ref2$theme.spacing,
34968
+ colors = _ref2$theme.colors;
34969
+ return _ref3 = {
34970
+ label: 'menu'
34971
+ }, defineProperty_defineProperty(_ref3, alignToControl(placement), '100%'), defineProperty_defineProperty(_ref3, "backgroundColor", colors.neutral0), defineProperty_defineProperty(_ref3, "borderRadius", borderRadius), defineProperty_defineProperty(_ref3, "boxShadow", '0 0 0 1px hsla(0, 0%, 0%, 0.1), 0 4px 11px hsla(0, 0%, 0%, 0.1)'), defineProperty_defineProperty(_ref3, "marginBottom", spacing.menuGutter), defineProperty_defineProperty(_ref3, "marginTop", spacing.menuGutter), defineProperty_defineProperty(_ref3, "position", 'absolute'), defineProperty_defineProperty(_ref3, "width", '100%'), defineProperty_defineProperty(_ref3, "zIndex", 1), _ref3;
34972
+ };
34973
+ var PortalPlacementContext = /*#__PURE__*/(0,react.createContext)({
34974
+ getPortalPlacement: null
34975
+ }); // NOTE: internal only
34976
+
34977
+ var MenuPlacer = /*#__PURE__*/function (_Component) {
34978
+ inherits_inherits(MenuPlacer, _Component);
34979
+
34980
+ var _super = index_4bd03571_esm_createSuper(MenuPlacer);
34981
+
34982
+ function MenuPlacer() {
34983
+ var _this;
34984
+
34985
+ classCallCheck_classCallCheck(this, MenuPlacer);
34986
+
34987
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
34988
+ args[_key] = arguments[_key];
34989
+ }
34990
+
34991
+ _this = _super.call.apply(_super, [this].concat(args));
34992
+ _this.state = {
34993
+ maxHeight: _this.props.maxMenuHeight,
34994
+ placement: null
34995
+ };
34996
+
34997
+ _this.getPlacement = function (ref) {
34998
+ var _this$props = _this.props,
34999
+ minMenuHeight = _this$props.minMenuHeight,
35000
+ maxMenuHeight = _this$props.maxMenuHeight,
35001
+ menuPlacement = _this$props.menuPlacement,
35002
+ menuPosition = _this$props.menuPosition,
35003
+ menuShouldScrollIntoView = _this$props.menuShouldScrollIntoView,
35004
+ theme = _this$props.theme;
35005
+ if (!ref) return; // DO NOT scroll if position is fixed
35006
+
35007
+ var isFixedPosition = menuPosition === 'fixed';
35008
+ var shouldScroll = menuShouldScrollIntoView && !isFixedPosition;
35009
+ var state = getMenuPlacement({
35010
+ maxHeight: maxMenuHeight,
35011
+ menuEl: ref,
35012
+ minHeight: minMenuHeight,
35013
+ placement: menuPlacement,
35014
+ shouldScroll: shouldScroll,
35015
+ isFixedPosition: isFixedPosition,
35016
+ theme: theme
35017
+ });
35018
+ var getPortalPlacement = _this.context.getPortalPlacement;
35019
+ if (getPortalPlacement) getPortalPlacement(state);
35020
+
35021
+ _this.setState(state);
35022
+ };
35023
+
35024
+ _this.getUpdatedProps = function () {
35025
+ var menuPlacement = _this.props.menuPlacement;
35026
+ var placement = _this.state.placement || coercePlacement(menuPlacement);
35027
+ return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, _this.props), {}, {
35028
+ placement: placement,
35029
+ maxHeight: _this.state.maxHeight
35030
+ });
35031
+ };
35032
+
35033
+ return _this;
35034
+ }
35035
+
35036
+ createClass_createClass(MenuPlacer, [{
35037
+ key: "render",
35038
+ value: function render() {
35039
+ var children = this.props.children;
35040
+ return children({
35041
+ ref: this.getPlacement,
35042
+ placerProps: this.getUpdatedProps()
35043
+ });
35044
+ }
35045
+ }]);
35046
+
35047
+ return MenuPlacer;
35048
+ }(react.Component);
35049
+ MenuPlacer.contextType = PortalPlacementContext;
35050
+
35051
+ var Menu = function Menu(props) {
35052
+ var children = props.children,
35053
+ className = props.className,
35054
+ cx = props.cx,
35055
+ getStyles = props.getStyles,
35056
+ innerRef = props.innerRef,
35057
+ innerProps = props.innerProps;
35058
+ return jsx("div", extends_extends({
35059
+ css: getStyles('menu', props),
35060
+ className: cx({
35061
+ menu: true
35062
+ }, className),
35063
+ ref: innerRef
35064
+ }, innerProps), children);
35065
+ };
35066
+ // Menu List
35067
+ // ==============================
35068
+
35069
+ var menuListCSS = function menuListCSS(_ref4) {
35070
+ var maxHeight = _ref4.maxHeight,
35071
+ baseUnit = _ref4.theme.spacing.baseUnit;
35072
+ return {
35073
+ maxHeight: maxHeight,
35074
+ overflowY: 'auto',
35075
+ paddingBottom: baseUnit,
35076
+ paddingTop: baseUnit,
35077
+ position: 'relative',
35078
+ // required for offset[Height, Top] > keyboard scroll
35079
+ WebkitOverflowScrolling: 'touch'
35080
+ };
35081
+ };
35082
+ var MenuList = function MenuList(props) {
35083
+ var children = props.children,
35084
+ className = props.className,
35085
+ cx = props.cx,
35086
+ getStyles = props.getStyles,
35087
+ innerProps = props.innerProps,
35088
+ innerRef = props.innerRef,
35089
+ isMulti = props.isMulti;
35090
+ return jsx("div", extends_extends({
35091
+ css: getStyles('menuList', props),
35092
+ className: cx({
35093
+ 'menu-list': true,
35094
+ 'menu-list--is-multi': isMulti
35095
+ }, className),
35096
+ ref: innerRef
35097
+ }, innerProps), children);
35098
+ }; // ==============================
35099
+ // Menu Notices
35100
+ // ==============================
35101
+
35102
+ var noticeCSS = function noticeCSS(_ref5) {
35103
+ var _ref5$theme = _ref5.theme,
35104
+ baseUnit = _ref5$theme.spacing.baseUnit,
35105
+ colors = _ref5$theme.colors;
35106
+ return {
35107
+ color: colors.neutral40,
35108
+ padding: "".concat(baseUnit * 2, "px ").concat(baseUnit * 3, "px"),
35109
+ textAlign: 'center'
35110
+ };
35111
+ };
35112
+
35113
+ var noOptionsMessageCSS = noticeCSS;
35114
+ var loadingMessageCSS = noticeCSS;
35115
+ var NoOptionsMessage = function NoOptionsMessage(props) {
35116
+ var children = props.children,
35117
+ className = props.className,
35118
+ cx = props.cx,
35119
+ getStyles = props.getStyles,
35120
+ innerProps = props.innerProps;
35121
+ return jsx("div", extends_extends({
35122
+ css: getStyles('noOptionsMessage', props),
35123
+ className: cx({
35124
+ 'menu-notice': true,
35125
+ 'menu-notice--no-options': true
35126
+ }, className)
35127
+ }, innerProps), children);
35128
+ };
35129
+ NoOptionsMessage.defaultProps = {
35130
+ children: 'No options'
35131
+ };
35132
+ var LoadingMessage = function LoadingMessage(props) {
35133
+ var children = props.children,
35134
+ className = props.className,
35135
+ cx = props.cx,
35136
+ getStyles = props.getStyles,
35137
+ innerProps = props.innerProps;
35138
+ return jsx("div", extends_extends({
35139
+ css: getStyles('loadingMessage', props),
35140
+ className: cx({
35141
+ 'menu-notice': true,
35142
+ 'menu-notice--loading': true
35143
+ }, className)
35144
+ }, innerProps), children);
35145
+ };
35146
+ LoadingMessage.defaultProps = {
35147
+ children: 'Loading...'
35148
+ }; // ==============================
35149
+ // Menu Portal
35150
+ // ==============================
35151
+
35152
+ var menuPortalCSS = function menuPortalCSS(_ref6) {
35153
+ var rect = _ref6.rect,
35154
+ offset = _ref6.offset,
35155
+ position = _ref6.position;
35156
+ return {
35157
+ left: rect.left,
35158
+ position: position,
35159
+ top: offset,
35160
+ width: rect.width,
35161
+ zIndex: 1
35162
+ };
35163
+ };
35164
+ var MenuPortal = /*#__PURE__*/function (_Component2) {
35165
+ inherits_inherits(MenuPortal, _Component2);
35166
+
35167
+ var _super2 = index_4bd03571_esm_createSuper(MenuPortal);
35168
+
35169
+ function MenuPortal() {
35170
+ var _this2;
35171
+
35172
+ classCallCheck_classCallCheck(this, MenuPortal);
35173
+
35174
+ for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
35175
+ args[_key2] = arguments[_key2];
35176
+ }
35177
+
35178
+ _this2 = _super2.call.apply(_super2, [this].concat(args));
35179
+ _this2.state = {
35180
+ placement: null
35181
+ };
35182
+
35183
+ _this2.getPortalPlacement = function (_ref7) {
35184
+ var placement = _ref7.placement;
35185
+ var initialPlacement = coercePlacement(_this2.props.menuPlacement); // avoid re-renders if the placement has not changed
35186
+
35187
+ if (placement !== initialPlacement) {
35188
+ _this2.setState({
35189
+ placement: placement
35190
+ });
35191
+ }
35192
+ };
35193
+
35194
+ return _this2;
35195
+ }
35196
+
35197
+ createClass_createClass(MenuPortal, [{
35198
+ key: "render",
35199
+ value: function render() {
35200
+ var _this$props2 = this.props,
35201
+ appendTo = _this$props2.appendTo,
35202
+ children = _this$props2.children,
35203
+ className = _this$props2.className,
35204
+ controlElement = _this$props2.controlElement,
35205
+ cx = _this$props2.cx,
35206
+ innerProps = _this$props2.innerProps,
35207
+ menuPlacement = _this$props2.menuPlacement,
35208
+ position = _this$props2.menuPosition,
35209
+ getStyles = _this$props2.getStyles;
35210
+ var isFixed = position === 'fixed'; // bail early if required elements aren't present
35211
+
35212
+ if (!appendTo && !isFixed || !controlElement) {
35213
+ return null;
35214
+ }
35215
+
35216
+ var placement = this.state.placement || coercePlacement(menuPlacement);
35217
+ var rect = getBoundingClientObj(controlElement);
35218
+ var scrollDistance = isFixed ? 0 : window.pageYOffset;
35219
+ var offset = rect[placement] + scrollDistance;
35220
+ var state = {
35221
+ offset: offset,
35222
+ position: position,
35223
+ rect: rect
35224
+ }; // same wrapper element whether fixed or portalled
35225
+
35226
+ var menuWrapper = jsx("div", extends_extends({
35227
+ css: getStyles('menuPortal', state),
35228
+ className: cx({
35229
+ 'menu-portal': true
35230
+ }, className)
35231
+ }, innerProps), children);
35232
+ return jsx(PortalPlacementContext.Provider, {
35233
+ value: {
35234
+ getPortalPlacement: this.getPortalPlacement
35235
+ }
35236
+ }, appendTo ? /*#__PURE__*/(0,react_dom.createPortal)(menuWrapper, appendTo) : menuWrapper);
35237
+ }
35238
+ }]);
35239
+
35240
+ return MenuPortal;
35241
+ }(react.Component);
35242
+
35243
+ var containerCSS = function containerCSS(_ref) {
35244
+ var isDisabled = _ref.isDisabled,
35245
+ isRtl = _ref.isRtl;
35246
+ return {
35247
+ label: 'container',
35248
+ direction: isRtl ? 'rtl' : null,
35249
+ pointerEvents: isDisabled ? 'none' : null,
35250
+ // cancel mouse events when disabled
35251
+ position: 'relative'
35252
+ };
35253
+ };
35254
+ var SelectContainer = function SelectContainer(props) {
35255
+ var children = props.children,
35256
+ className = props.className,
35257
+ cx = props.cx,
35258
+ getStyles = props.getStyles,
35259
+ innerProps = props.innerProps,
35260
+ isDisabled = props.isDisabled,
35261
+ isRtl = props.isRtl;
35262
+ return jsx("div", extends_extends({
35263
+ css: getStyles('container', props),
35264
+ className: cx({
35265
+ '--is-disabled': isDisabled,
35266
+ '--is-rtl': isRtl
35267
+ }, className)
35268
+ }, innerProps), children);
35269
+ }; // ==============================
35270
+ // Value Container
35271
+ // ==============================
35272
+
35273
+ var valueContainerCSS = function valueContainerCSS(_ref2) {
35274
+ var spacing = _ref2.theme.spacing;
35275
+ return {
35276
+ alignItems: 'center',
35277
+ display: 'flex',
35278
+ flex: 1,
35279
+ flexWrap: 'wrap',
35280
+ padding: "".concat(spacing.baseUnit / 2, "px ").concat(spacing.baseUnit * 2, "px"),
35281
+ WebkitOverflowScrolling: 'touch',
35282
+ position: 'relative',
35283
+ overflow: 'hidden'
35284
+ };
35285
+ };
35286
+ var ValueContainer = function ValueContainer(props) {
35287
+ var children = props.children,
35288
+ className = props.className,
35289
+ cx = props.cx,
35290
+ innerProps = props.innerProps,
35291
+ isMulti = props.isMulti,
35292
+ getStyles = props.getStyles,
35293
+ hasValue = props.hasValue;
35294
+ return jsx("div", extends_extends({
35295
+ css: getStyles('valueContainer', props),
35296
+ className: cx({
35297
+ 'value-container': true,
35298
+ 'value-container--is-multi': isMulti,
35299
+ 'value-container--has-value': hasValue
35300
+ }, className)
35301
+ }, innerProps), children);
35302
+ }; // ==============================
35303
+ // Indicator Container
35304
+ // ==============================
35305
+
35306
+ var indicatorsContainerCSS = function indicatorsContainerCSS() {
35307
+ return {
35308
+ alignItems: 'center',
35309
+ alignSelf: 'stretch',
35310
+ display: 'flex',
35311
+ flexShrink: 0
35312
+ };
35313
+ };
35314
+ var IndicatorsContainer = function IndicatorsContainer(props) {
35315
+ var children = props.children,
35316
+ className = props.className,
35317
+ cx = props.cx,
35318
+ innerProps = props.innerProps,
35319
+ getStyles = props.getStyles;
35320
+ return jsx("div", extends_extends({
35321
+ css: getStyles('indicatorsContainer', props),
35322
+ className: cx({
35323
+ indicators: true
35324
+ }, className)
35325
+ }, innerProps), children);
35326
+ };
35327
+
35328
+ var _templateObject;
35329
+
35330
+ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
35331
+
35332
+ var _ref2 = true ? {
35333
+ name: "8mmkcg",
35334
+ styles: "display:inline-block;fill:currentColor;line-height:1;stroke:currentColor;stroke-width:0"
35335
+ } : 0;
35336
+
35337
+ // ==============================
35338
+ // Dropdown & Clear Icons
35339
+ // ==============================
35340
+ var Svg = function Svg(_ref) {
35341
+ var size = _ref.size,
35342
+ props = objectWithoutProperties_objectWithoutProperties(_ref, ["size"]);
35343
+
35344
+ return jsx("svg", extends_extends({
35345
+ height: size,
35346
+ width: size,
35347
+ viewBox: "0 0 20 20",
35348
+ "aria-hidden": "true",
35349
+ focusable: "false",
35350
+ css: _ref2
35351
+ }, props));
35352
+ };
35353
+
35354
+ var CrossIcon = function CrossIcon(props) {
35355
+ return jsx(Svg, extends_extends({
35356
+ size: 20
35357
+ }, props), jsx("path", {
35358
+ d: "M14.348 14.849c-0.469 0.469-1.229 0.469-1.697 0l-2.651-3.030-2.651 3.029c-0.469 0.469-1.229 0.469-1.697 0-0.469-0.469-0.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-0.469-0.469-0.469-1.228 0-1.697s1.228-0.469 1.697 0l2.652 3.031 2.651-3.031c0.469-0.469 1.228-0.469 1.697 0s0.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c0.469 0.469 0.469 1.229 0 1.698z"
35359
+ }));
35360
+ };
35361
+ var DownChevron = function DownChevron(props) {
35362
+ return jsx(Svg, extends_extends({
35363
+ size: 20
35364
+ }, props), jsx("path", {
35365
+ d: "M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z"
35366
+ }));
35367
+ }; // ==============================
35368
+ // Dropdown & Clear Buttons
35369
+ // ==============================
35370
+
35371
+ var baseCSS = function baseCSS(_ref3) {
35372
+ var isFocused = _ref3.isFocused,
35373
+ _ref3$theme = _ref3.theme,
35374
+ baseUnit = _ref3$theme.spacing.baseUnit,
35375
+ colors = _ref3$theme.colors;
35376
+ return {
35377
+ label: 'indicatorContainer',
35378
+ color: isFocused ? colors.neutral60 : colors.neutral20,
35379
+ display: 'flex',
35380
+ padding: baseUnit * 2,
35381
+ transition: 'color 150ms',
35382
+ ':hover': {
35383
+ color: isFocused ? colors.neutral80 : colors.neutral40
35384
+ }
35385
+ };
35386
+ };
35387
+
35388
+ var dropdownIndicatorCSS = baseCSS;
35389
+ var DropdownIndicator = function DropdownIndicator(props) {
35390
+ var children = props.children,
35391
+ className = props.className,
35392
+ cx = props.cx,
35393
+ getStyles = props.getStyles,
35394
+ innerProps = props.innerProps;
35395
+ return jsx("div", extends_extends({
35396
+ css: getStyles('dropdownIndicator', props),
35397
+ className: cx({
35398
+ indicator: true,
35399
+ 'dropdown-indicator': true
35400
+ }, className)
35401
+ }, innerProps), children || jsx(DownChevron, null));
35402
+ };
35403
+ var clearIndicatorCSS = baseCSS;
35404
+ var ClearIndicator = function ClearIndicator(props) {
35405
+ var children = props.children,
35406
+ className = props.className,
35407
+ cx = props.cx,
35408
+ getStyles = props.getStyles,
35409
+ innerProps = props.innerProps;
35410
+ return jsx("div", extends_extends({
35411
+ css: getStyles('clearIndicator', props),
35412
+ className: cx({
35413
+ indicator: true,
35414
+ 'clear-indicator': true
35415
+ }, className)
35416
+ }, innerProps), children || jsx(CrossIcon, null));
35417
+ }; // ==============================
35418
+ // Separator
35419
+ // ==============================
35420
+
35421
+ var indicatorSeparatorCSS = function indicatorSeparatorCSS(_ref4) {
35422
+ var isDisabled = _ref4.isDisabled,
35423
+ _ref4$theme = _ref4.theme,
35424
+ baseUnit = _ref4$theme.spacing.baseUnit,
35425
+ colors = _ref4$theme.colors;
35426
+ return {
35427
+ label: 'indicatorSeparator',
35428
+ alignSelf: 'stretch',
35429
+ backgroundColor: isDisabled ? colors.neutral10 : colors.neutral20,
35430
+ marginBottom: baseUnit * 2,
35431
+ marginTop: baseUnit * 2,
35432
+ width: 1
35433
+ };
35434
+ };
35435
+ var IndicatorSeparator = function IndicatorSeparator(props) {
35436
+ var className = props.className,
35437
+ cx = props.cx,
35438
+ getStyles = props.getStyles,
35439
+ innerProps = props.innerProps;
35440
+ return jsx("span", extends_extends({}, innerProps, {
35441
+ css: getStyles('indicatorSeparator', props),
35442
+ className: cx({
35443
+ 'indicator-separator': true
35444
+ }, className)
35445
+ }));
35446
+ }; // ==============================
35447
+ // Loading
35448
+ // ==============================
35449
+
35450
+ var loadingDotAnimations = keyframes(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n 0%, 80%, 100% { opacity: 0; }\n 40% { opacity: 1; }\n"])));
35451
+ var loadingIndicatorCSS = function loadingIndicatorCSS(_ref5) {
35452
+ var isFocused = _ref5.isFocused,
35453
+ size = _ref5.size,
35454
+ _ref5$theme = _ref5.theme,
35455
+ colors = _ref5$theme.colors,
35456
+ baseUnit = _ref5$theme.spacing.baseUnit;
35457
+ return {
35458
+ label: 'loadingIndicator',
35459
+ color: isFocused ? colors.neutral60 : colors.neutral20,
35460
+ display: 'flex',
35461
+ padding: baseUnit * 2,
35462
+ transition: 'color 150ms',
35463
+ alignSelf: 'center',
35464
+ fontSize: size,
35465
+ lineHeight: 1,
35466
+ marginRight: size,
35467
+ textAlign: 'center',
35468
+ verticalAlign: 'middle'
35469
+ };
35470
+ };
35471
+
35472
+ var LoadingDot = function LoadingDot(_ref6) {
35473
+ var delay = _ref6.delay,
35474
+ offset = _ref6.offset;
35475
+ return jsx("span", {
35476
+ css: /*#__PURE__*/css({
35477
+ animation: "".concat(loadingDotAnimations, " 1s ease-in-out ").concat(delay, "ms infinite;"),
35478
+ backgroundColor: 'currentColor',
35479
+ borderRadius: '1em',
35480
+ display: 'inline-block',
35481
+ marginLeft: offset ? '1em' : null,
35482
+ height: '1em',
35483
+ verticalAlign: 'top',
35484
+ width: '1em'
35485
+ }, true ? "" : 0, true ? "" : 0)
35486
+ });
35487
+ };
35488
+
35489
+ var LoadingIndicator = function LoadingIndicator(props) {
35490
+ var className = props.className,
35491
+ cx = props.cx,
35492
+ getStyles = props.getStyles,
35493
+ innerProps = props.innerProps,
35494
+ isRtl = props.isRtl;
35495
+ return jsx("div", extends_extends({
35496
+ css: getStyles('loadingIndicator', props),
35497
+ className: cx({
35498
+ indicator: true,
35499
+ 'loading-indicator': true
35500
+ }, className)
35501
+ }, innerProps), jsx(LoadingDot, {
35502
+ delay: 0,
35503
+ offset: isRtl
35504
+ }), jsx(LoadingDot, {
35505
+ delay: 160,
35506
+ offset: true
35507
+ }), jsx(LoadingDot, {
35508
+ delay: 320,
35509
+ offset: !isRtl
35510
+ }));
35511
+ };
35512
+ LoadingIndicator.defaultProps = {
35513
+ size: 4
35514
+ };
35515
+
35516
+ var index_4bd03571_esm_css = function css(_ref) {
35517
+ var isDisabled = _ref.isDisabled,
35518
+ isFocused = _ref.isFocused,
35519
+ _ref$theme = _ref.theme,
35520
+ colors = _ref$theme.colors,
35521
+ borderRadius = _ref$theme.borderRadius,
35522
+ spacing = _ref$theme.spacing;
35523
+ return {
35524
+ label: 'control',
35525
+ alignItems: 'center',
35526
+ backgroundColor: isDisabled ? colors.neutral5 : colors.neutral0,
35527
+ borderColor: isDisabled ? colors.neutral10 : isFocused ? colors.primary : colors.neutral20,
35528
+ borderRadius: borderRadius,
35529
+ borderStyle: 'solid',
35530
+ borderWidth: 1,
35531
+ boxShadow: isFocused ? "0 0 0 1px ".concat(colors.primary) : null,
35532
+ cursor: 'default',
35533
+ display: 'flex',
35534
+ flexWrap: 'wrap',
35535
+ justifyContent: 'space-between',
35536
+ minHeight: spacing.controlHeight,
35537
+ outline: '0 !important',
35538
+ position: 'relative',
35539
+ transition: 'all 100ms',
35540
+ '&:hover': {
35541
+ borderColor: isFocused ? colors.primary : colors.neutral30
35542
+ }
35543
+ };
35544
+ };
35545
+
35546
+ var Control = function Control(props) {
35547
+ var children = props.children,
35548
+ cx = props.cx,
35549
+ getStyles = props.getStyles,
35550
+ className = props.className,
35551
+ isDisabled = props.isDisabled,
35552
+ isFocused = props.isFocused,
35553
+ innerRef = props.innerRef,
35554
+ innerProps = props.innerProps,
35555
+ menuIsOpen = props.menuIsOpen;
35556
+ return jsx("div", extends_extends({
35557
+ ref: innerRef,
35558
+ css: getStyles('control', props),
35559
+ className: cx({
35560
+ control: true,
35561
+ 'control--is-disabled': isDisabled,
35562
+ 'control--is-focused': isFocused,
35563
+ 'control--menu-is-open': menuIsOpen
35564
+ }, className)
35565
+ }, innerProps), children);
35566
+ };
35567
+
35568
+ var groupCSS = function groupCSS(_ref) {
35569
+ var spacing = _ref.theme.spacing;
35570
+ return {
35571
+ paddingBottom: spacing.baseUnit * 2,
35572
+ paddingTop: spacing.baseUnit * 2
35573
+ };
35574
+ };
35575
+
35576
+ var Group = function Group(props) {
35577
+ var children = props.children,
35578
+ className = props.className,
35579
+ cx = props.cx,
35580
+ getStyles = props.getStyles,
35581
+ Heading = props.Heading,
35582
+ headingProps = props.headingProps,
35583
+ innerProps = props.innerProps,
35584
+ label = props.label,
35585
+ theme = props.theme,
35586
+ selectProps = props.selectProps;
35587
+ return jsx("div", extends_extends({
35588
+ css: getStyles('group', props),
35589
+ className: cx({
35590
+ group: true
35591
+ }, className)
35592
+ }, innerProps), jsx(Heading, extends_extends({}, headingProps, {
35593
+ selectProps: selectProps,
35594
+ theme: theme,
35595
+ getStyles: getStyles,
35596
+ cx: cx
35597
+ }), label), jsx("div", null, children));
35598
+ };
35599
+
35600
+ var groupHeadingCSS = function groupHeadingCSS(_ref2) {
35601
+ var spacing = _ref2.theme.spacing;
35602
+ return {
35603
+ label: 'group',
35604
+ color: '#999',
35605
+ cursor: 'default',
35606
+ display: 'block',
35607
+ fontSize: '75%',
35608
+ fontWeight: '500',
35609
+ marginBottom: '0.25em',
35610
+ paddingLeft: spacing.baseUnit * 3,
35611
+ paddingRight: spacing.baseUnit * 3,
35612
+ textTransform: 'uppercase'
35613
+ };
35614
+ };
35615
+ var GroupHeading = function GroupHeading(props) {
35616
+ var getStyles = props.getStyles,
35617
+ cx = props.cx,
35618
+ className = props.className;
35619
+
35620
+ var _cleanCommonProps = cleanCommonProps(props);
35621
+ _cleanCommonProps.data;
35622
+ var innerProps = objectWithoutProperties_objectWithoutProperties(_cleanCommonProps, ["data"]);
35623
+
35624
+ return jsx("div", extends_extends({
35625
+ css: getStyles('groupHeading', props),
35626
+ className: cx({
35627
+ 'group-heading': true
35628
+ }, className)
35629
+ }, innerProps));
35630
+ };
35631
+
35632
+ var inputCSS = function inputCSS(_ref) {
35633
+ var isDisabled = _ref.isDisabled,
35634
+ _ref$theme = _ref.theme,
35635
+ spacing = _ref$theme.spacing,
35636
+ colors = _ref$theme.colors;
35637
+ return {
35638
+ margin: spacing.baseUnit / 2,
35639
+ paddingBottom: spacing.baseUnit / 2,
35640
+ paddingTop: spacing.baseUnit / 2,
35641
+ visibility: isDisabled ? 'hidden' : 'visible',
35642
+ color: colors.neutral80
35643
+ };
35644
+ };
35645
+
35646
+ var inputStyle = function inputStyle(isHidden) {
35647
+ return {
35648
+ label: 'input',
35649
+ background: 0,
35650
+ border: 0,
35651
+ fontSize: 'inherit',
35652
+ opacity: isHidden ? 0 : 1,
35653
+ outline: 0,
35654
+ padding: 0,
35655
+ color: 'inherit'
35656
+ };
35657
+ };
35658
+
35659
+ var index_4bd03571_esm_Input = function Input(props) {
35660
+ var className = props.className,
35661
+ cx = props.cx,
35662
+ getStyles = props.getStyles;
35663
+
35664
+ var _cleanCommonProps = cleanCommonProps(props),
35665
+ innerRef = _cleanCommonProps.innerRef,
35666
+ isDisabled = _cleanCommonProps.isDisabled,
35667
+ isHidden = _cleanCommonProps.isHidden,
35668
+ innerProps = objectWithoutProperties_objectWithoutProperties(_cleanCommonProps, ["innerRef", "isDisabled", "isHidden"]);
35669
+
35670
+ return jsx("div", {
35671
+ css: getStyles('input', props)
35672
+ }, jsx(AutosizeInput/* default */.Z, extends_extends({
35673
+ className: cx({
35674
+ input: true
35675
+ }, className),
35676
+ inputRef: innerRef,
35677
+ inputStyle: inputStyle(isHidden),
35678
+ disabled: isDisabled
35679
+ }, innerProps)));
35680
+ };
35681
+
35682
+ var multiValueCSS = function multiValueCSS(_ref) {
35683
+ var _ref$theme = _ref.theme,
35684
+ spacing = _ref$theme.spacing,
35685
+ borderRadius = _ref$theme.borderRadius,
35686
+ colors = _ref$theme.colors;
35687
+ return {
35688
+ label: 'multiValue',
35689
+ backgroundColor: colors.neutral10,
35690
+ borderRadius: borderRadius / 2,
35691
+ display: 'flex',
35692
+ margin: spacing.baseUnit / 2,
35693
+ minWidth: 0 // resolves flex/text-overflow bug
35694
+
35695
+ };
35696
+ };
35697
+ var multiValueLabelCSS = function multiValueLabelCSS(_ref2) {
35698
+ var _ref2$theme = _ref2.theme,
35699
+ borderRadius = _ref2$theme.borderRadius,
35700
+ colors = _ref2$theme.colors,
35701
+ cropWithEllipsis = _ref2.cropWithEllipsis;
35702
+ return {
35703
+ borderRadius: borderRadius / 2,
35704
+ color: colors.neutral80,
35705
+ fontSize: '85%',
35706
+ overflow: 'hidden',
35707
+ padding: 3,
35708
+ paddingLeft: 6,
35709
+ textOverflow: cropWithEllipsis ? 'ellipsis' : null,
35710
+ whiteSpace: 'nowrap'
35711
+ };
35712
+ };
35713
+ var multiValueRemoveCSS = function multiValueRemoveCSS(_ref3) {
35714
+ var _ref3$theme = _ref3.theme,
35715
+ spacing = _ref3$theme.spacing,
35716
+ borderRadius = _ref3$theme.borderRadius,
35717
+ colors = _ref3$theme.colors,
35718
+ isFocused = _ref3.isFocused;
35719
+ return {
35720
+ alignItems: 'center',
35721
+ borderRadius: borderRadius / 2,
35722
+ backgroundColor: isFocused && colors.dangerLight,
35723
+ display: 'flex',
35724
+ paddingLeft: spacing.baseUnit,
35725
+ paddingRight: spacing.baseUnit,
35726
+ ':hover': {
35727
+ backgroundColor: colors.dangerLight,
35728
+ color: colors.danger
35729
+ }
35730
+ };
35731
+ };
35732
+ var MultiValueGeneric = function MultiValueGeneric(_ref4) {
35733
+ var children = _ref4.children,
35734
+ innerProps = _ref4.innerProps;
35735
+ return jsx("div", innerProps, children);
35736
+ };
35737
+ var MultiValueContainer = MultiValueGeneric;
35738
+ var MultiValueLabel = MultiValueGeneric;
35739
+ function MultiValueRemove(_ref5) {
35740
+ var children = _ref5.children,
35741
+ innerProps = _ref5.innerProps;
35742
+ return jsx("div", innerProps, children || jsx(CrossIcon, {
35743
+ size: 14
35744
+ }));
35745
+ }
35746
+
35747
+ var MultiValue = function MultiValue(props) {
35748
+ var children = props.children,
35749
+ className = props.className,
35750
+ components = props.components,
35751
+ cx = props.cx,
35752
+ data = props.data,
35753
+ getStyles = props.getStyles,
35754
+ innerProps = props.innerProps,
35755
+ isDisabled = props.isDisabled,
35756
+ removeProps = props.removeProps,
35757
+ selectProps = props.selectProps;
35758
+ var Container = components.Container,
35759
+ Label = components.Label,
35760
+ Remove = components.Remove;
35761
+ return jsx(ClassNames, null, function (_ref6) {
35762
+ var css = _ref6.css,
35763
+ emotionCx = _ref6.cx;
35764
+ return jsx(Container, {
35765
+ data: data,
35766
+ innerProps: index_4bd03571_esm_objectSpread2({
35767
+ className: emotionCx(css(getStyles('multiValue', props)), cx({
35768
+ 'multi-value': true,
35769
+ 'multi-value--is-disabled': isDisabled
35770
+ }, className))
35771
+ }, innerProps),
35772
+ selectProps: selectProps
35773
+ }, jsx(Label, {
35774
+ data: data,
35775
+ innerProps: {
35776
+ className: emotionCx(css(getStyles('multiValueLabel', props)), cx({
35777
+ 'multi-value__label': true
35778
+ }, className))
35779
+ },
35780
+ selectProps: selectProps
35781
+ }, children), jsx(Remove, {
35782
+ data: data,
35783
+ innerProps: index_4bd03571_esm_objectSpread2({
35784
+ className: emotionCx(css(getStyles('multiValueRemove', props)), cx({
35785
+ 'multi-value__remove': true
35786
+ }, className))
35787
+ }, removeProps),
35788
+ selectProps: selectProps
35789
+ }));
35790
+ });
35791
+ };
35792
+
35793
+ MultiValue.defaultProps = {
35794
+ cropWithEllipsis: true
35795
+ };
35796
+
35797
+ var optionCSS = function optionCSS(_ref) {
35798
+ var isDisabled = _ref.isDisabled,
35799
+ isFocused = _ref.isFocused,
35800
+ isSelected = _ref.isSelected,
35801
+ _ref$theme = _ref.theme,
35802
+ spacing = _ref$theme.spacing,
35803
+ colors = _ref$theme.colors;
35804
+ return {
35805
+ label: 'option',
35806
+ backgroundColor: isSelected ? colors.primary : isFocused ? colors.primary25 : 'transparent',
35807
+ color: isDisabled ? colors.neutral20 : isSelected ? colors.neutral0 : 'inherit',
35808
+ cursor: 'default',
35809
+ display: 'block',
35810
+ fontSize: 'inherit',
35811
+ padding: "".concat(spacing.baseUnit * 2, "px ").concat(spacing.baseUnit * 3, "px"),
35812
+ width: '100%',
35813
+ userSelect: 'none',
35814
+ WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',
35815
+ // provide some affordance on touch devices
35816
+ ':active': {
35817
+ backgroundColor: !isDisabled && (isSelected ? colors.primary : colors.primary50)
35818
+ }
35819
+ };
35820
+ };
35821
+
35822
+ var Option = function Option(props) {
35823
+ var children = props.children,
35824
+ className = props.className,
35825
+ cx = props.cx,
35826
+ getStyles = props.getStyles,
35827
+ isDisabled = props.isDisabled,
35828
+ isFocused = props.isFocused,
35829
+ isSelected = props.isSelected,
35830
+ innerRef = props.innerRef,
35831
+ innerProps = props.innerProps;
35832
+ return jsx("div", extends_extends({
35833
+ css: getStyles('option', props),
35834
+ className: cx({
35835
+ option: true,
35836
+ 'option--is-disabled': isDisabled,
35837
+ 'option--is-focused': isFocused,
35838
+ 'option--is-selected': isSelected
35839
+ }, className),
35840
+ ref: innerRef
35841
+ }, innerProps), children);
35842
+ };
35843
+
35844
+ var placeholderCSS = function placeholderCSS(_ref) {
35845
+ var _ref$theme = _ref.theme,
35846
+ spacing = _ref$theme.spacing,
35847
+ colors = _ref$theme.colors;
35848
+ return {
35849
+ label: 'placeholder',
35850
+ color: colors.neutral50,
35851
+ marginLeft: spacing.baseUnit / 2,
35852
+ marginRight: spacing.baseUnit / 2,
35853
+ position: 'absolute',
35854
+ top: '50%',
35855
+ transform: 'translateY(-50%)'
35856
+ };
35857
+ };
35858
+
35859
+ var Placeholder = function Placeholder(props) {
35860
+ var children = props.children,
35861
+ className = props.className,
35862
+ cx = props.cx,
35863
+ getStyles = props.getStyles,
35864
+ innerProps = props.innerProps;
35865
+ return jsx("div", extends_extends({
35866
+ css: getStyles('placeholder', props),
35867
+ className: cx({
35868
+ placeholder: true
35869
+ }, className)
35870
+ }, innerProps), children);
35871
+ };
35872
+
35873
+ var css$1 = function css(_ref) {
35874
+ var isDisabled = _ref.isDisabled,
35875
+ _ref$theme = _ref.theme,
35876
+ spacing = _ref$theme.spacing,
35877
+ colors = _ref$theme.colors;
35878
+ return {
35879
+ label: 'singleValue',
35880
+ color: isDisabled ? colors.neutral40 : colors.neutral80,
35881
+ marginLeft: spacing.baseUnit / 2,
35882
+ marginRight: spacing.baseUnit / 2,
35883
+ maxWidth: "calc(100% - ".concat(spacing.baseUnit * 2, "px)"),
35884
+ overflow: 'hidden',
35885
+ position: 'absolute',
35886
+ textOverflow: 'ellipsis',
35887
+ whiteSpace: 'nowrap',
35888
+ top: '50%',
35889
+ transform: 'translateY(-50%)'
35890
+ };
35891
+ };
35892
+
35893
+ var SingleValue = function SingleValue(props) {
35894
+ var children = props.children,
35895
+ className = props.className,
35896
+ cx = props.cx,
35897
+ getStyles = props.getStyles,
35898
+ isDisabled = props.isDisabled,
35899
+ innerProps = props.innerProps;
35900
+ return jsx("div", extends_extends({
35901
+ css: getStyles('singleValue', props),
35902
+ className: cx({
35903
+ 'single-value': true,
35904
+ 'single-value--is-disabled': isDisabled
35905
+ }, className)
35906
+ }, innerProps), children);
35907
+ };
35908
+
35909
+ var components = {
35910
+ ClearIndicator: ClearIndicator,
35911
+ Control: Control,
35912
+ DropdownIndicator: DropdownIndicator,
35913
+ DownChevron: DownChevron,
35914
+ CrossIcon: CrossIcon,
35915
+ Group: Group,
35916
+ GroupHeading: GroupHeading,
35917
+ IndicatorsContainer: IndicatorsContainer,
35918
+ IndicatorSeparator: IndicatorSeparator,
35919
+ Input: index_4bd03571_esm_Input,
35920
+ LoadingIndicator: LoadingIndicator,
35921
+ Menu: Menu,
35922
+ MenuList: MenuList,
35923
+ MenuPortal: MenuPortal,
35924
+ LoadingMessage: LoadingMessage,
35925
+ NoOptionsMessage: NoOptionsMessage,
35926
+ MultiValue: MultiValue,
35927
+ MultiValueContainer: MultiValueContainer,
35928
+ MultiValueLabel: MultiValueLabel,
35929
+ MultiValueRemove: MultiValueRemove,
35930
+ Option: Option,
35931
+ Placeholder: Placeholder,
35932
+ SelectContainer: SelectContainer,
35933
+ SingleValue: SingleValue,
35934
+ ValueContainer: ValueContainer
35935
+ };
35936
+ var defaultComponents = function defaultComponents(props) {
35937
+ return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, components), props.components);
35938
+ };
35939
+
35940
+
35941
+
35942
+ ;// CONCATENATED MODULE: ./node_modules/memoize-one/dist/memoize-one.esm.js
35943
+ var safeIsNaN = Number.isNaN ||
35944
+ function ponyfill(value) {
35945
+ return typeof value === 'number' && value !== value;
35946
+ };
35947
+ function isEqual(first, second) {
35948
+ if (first === second) {
35949
+ return true;
35950
+ }
35951
+ if (safeIsNaN(first) && safeIsNaN(second)) {
35952
+ return true;
35953
+ }
35954
+ return false;
35955
+ }
35956
+ function areInputsEqual(newInputs, lastInputs) {
35957
+ if (newInputs.length !== lastInputs.length) {
35958
+ return false;
35959
+ }
35960
+ for (var i = 0; i < newInputs.length; i++) {
35961
+ if (!isEqual(newInputs[i], lastInputs[i])) {
35962
+ return false;
35963
+ }
35964
+ }
35965
+ return true;
35966
+ }
35967
+
35968
+ function memoizeOne(resultFn, isEqual) {
35969
+ if (isEqual === void 0) { isEqual = areInputsEqual; }
35970
+ var lastThis;
35971
+ var lastArgs = [];
35972
+ var lastResult;
35973
+ var calledOnce = false;
35974
+ function memoized() {
35975
+ var newArgs = [];
35976
+ for (var _i = 0; _i < arguments.length; _i++) {
35977
+ newArgs[_i] = arguments[_i];
35978
+ }
35979
+ if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {
35980
+ return lastResult;
35981
+ }
35982
+ lastResult = resultFn.apply(this, newArgs);
35983
+ calledOnce = true;
35984
+ lastThis = this;
35985
+ lastArgs = newArgs;
35986
+ return lastResult;
35987
+ }
35988
+ return memoized;
35989
+ }
35990
+
35991
+ /* harmony default export */ const memoize_one_esm = (memoizeOne);
35992
+
35993
+ ;// CONCATENATED MODULE: ./node_modules/react-select/dist/Select-dbb12e54.esm.js
35994
+
35995
+
35996
+
35997
+
35998
+
35999
+
36000
+
36001
+
36002
+
36003
+
36004
+
36005
+ function Select_dbb12e54_esm_EMOTION_STRINGIFIED_CSS_ERROR_() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
36006
+
36007
+ var _ref = true ? {
36008
+ name: "7pg0cj-a11yText",
36009
+ styles: "label:a11yText;z-index:9999;border:0;clip:rect(1px, 1px, 1px, 1px);height:1px;width:1px;position:absolute;overflow:hidden;padding:0;white-space:nowrap"
36010
+ } : 0;
36011
+
36012
+ var A11yText = function A11yText(props) {
36013
+ return jsx("span", extends_extends({
36014
+ css: _ref
36015
+ }, props));
36016
+ };
36017
+
36018
+ var defaultAriaLiveMessages = {
36019
+ guidance: function guidance(props) {
36020
+ var isSearchable = props.isSearchable,
36021
+ isMulti = props.isMulti,
36022
+ isDisabled = props.isDisabled,
36023
+ tabSelectsValue = props.tabSelectsValue,
36024
+ context = props.context;
36025
+
36026
+ switch (context) {
36027
+ case 'menu':
36028
+ return "Use Up and Down to choose options".concat(isDisabled ? '' : ', press Enter to select the currently focused option', ", press Escape to exit the menu").concat(tabSelectsValue ? ', press Tab to select the option and exit the menu' : '', ".");
36029
+
36030
+ case 'input':
36031
+ return "".concat(props['aria-label'] || 'Select', " is focused ").concat(isSearchable ? ',type to refine list' : '', ", press Down to open the menu, ").concat(isMulti ? ' press left to focus selected values' : '');
36032
+
36033
+ case 'value':
36034
+ return 'Use left and right to toggle between focused values, press Backspace to remove the currently focused value';
36035
+
36036
+ default:
36037
+ return '';
36038
+ }
36039
+ },
36040
+ onChange: function onChange(props) {
36041
+ var action = props.action,
36042
+ _props$label = props.label,
36043
+ label = _props$label === void 0 ? '' : _props$label,
36044
+ isDisabled = props.isDisabled;
36045
+
36046
+ switch (action) {
36047
+ case 'deselect-option':
36048
+ case 'pop-value':
36049
+ case 'remove-value':
36050
+ return "option ".concat(label, ", deselected.");
36051
+
36052
+ case 'select-option':
36053
+ return isDisabled ? "option ".concat(label, " is disabled. Select another option.") : "option ".concat(label, ", selected.");
36054
+
36055
+ default:
36056
+ return '';
36057
+ }
36058
+ },
36059
+ onFocus: function onFocus(props) {
36060
+ var context = props.context,
36061
+ _props$focused = props.focused,
36062
+ focused = _props$focused === void 0 ? {} : _props$focused,
36063
+ options = props.options,
36064
+ _props$label2 = props.label,
36065
+ label = _props$label2 === void 0 ? '' : _props$label2,
36066
+ selectValue = props.selectValue,
36067
+ isDisabled = props.isDisabled,
36068
+ isSelected = props.isSelected;
36069
+
36070
+ var getArrayIndex = function getArrayIndex(arr, item) {
36071
+ return arr && arr.length ? "".concat(arr.indexOf(item) + 1, " of ").concat(arr.length) : '';
36072
+ };
36073
+
36074
+ if (context === 'value' && selectValue) {
36075
+ return "value ".concat(label, " focused, ").concat(getArrayIndex(selectValue, focused), ".");
36076
+ }
36077
+
36078
+ if (context === 'menu') {
36079
+ var disabled = isDisabled ? ' disabled' : '';
36080
+ var status = "".concat(isSelected ? 'selected' : 'focused').concat(disabled);
36081
+ return "option ".concat(label, " ").concat(status, ", ").concat(getArrayIndex(options, focused), ".");
36082
+ }
36083
+
36084
+ return '';
36085
+ },
36086
+ onFilter: function onFilter(props) {
36087
+ var inputValue = props.inputValue,
36088
+ resultsMessage = props.resultsMessage;
36089
+ return "".concat(resultsMessage).concat(inputValue ? ' for search term ' + inputValue : '', ".");
36090
+ }
36091
+ };
36092
+
36093
+ var LiveRegion = function LiveRegion(props) {
36094
+ var ariaSelection = props.ariaSelection,
36095
+ focusedOption = props.focusedOption,
36096
+ focusedValue = props.focusedValue,
36097
+ focusableOptions = props.focusableOptions,
36098
+ isFocused = props.isFocused,
36099
+ selectValue = props.selectValue,
36100
+ selectProps = props.selectProps;
36101
+ var ariaLiveMessages = selectProps.ariaLiveMessages,
36102
+ getOptionLabel = selectProps.getOptionLabel,
36103
+ inputValue = selectProps.inputValue,
36104
+ isMulti = selectProps.isMulti,
36105
+ isOptionDisabled = selectProps.isOptionDisabled,
36106
+ isSearchable = selectProps.isSearchable,
36107
+ menuIsOpen = selectProps.menuIsOpen,
36108
+ options = selectProps.options,
36109
+ screenReaderStatus = selectProps.screenReaderStatus,
36110
+ tabSelectsValue = selectProps.tabSelectsValue;
36111
+ var ariaLabel = selectProps['aria-label'];
36112
+ var ariaLive = selectProps['aria-live']; // Update aria live message configuration when prop changes
36113
+
36114
+ var messages = (0,react.useMemo)(function () {
36115
+ return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, defaultAriaLiveMessages), ariaLiveMessages || {});
36116
+ }, [ariaLiveMessages]); // Update aria live selected option when prop changes
36117
+
36118
+ var ariaSelected = (0,react.useMemo)(function () {
36119
+ var message = '';
36120
+
36121
+ if (ariaSelection && messages.onChange) {
36122
+ var option = ariaSelection.option,
36123
+ removedValue = ariaSelection.removedValue,
36124
+ value = ariaSelection.value; // select-option when !isMulti does not return option so we assume selected option is value
36125
+
36126
+ var asOption = function asOption(val) {
36127
+ return !Array.isArray(val) ? val : null;
36128
+ };
36129
+
36130
+ var selected = removedValue || option || asOption(value);
36131
+
36132
+ var onChangeProps = index_4bd03571_esm_objectSpread2({
36133
+ isDisabled: selected && isOptionDisabled(selected),
36134
+ label: selected ? getOptionLabel(selected) : ''
36135
+ }, ariaSelection);
36136
+
36137
+ message = messages.onChange(onChangeProps);
36138
+ }
36139
+
36140
+ return message;
36141
+ }, [ariaSelection, isOptionDisabled, getOptionLabel, messages]);
36142
+ var ariaFocused = (0,react.useMemo)(function () {
36143
+ var focusMsg = '';
36144
+ var focused = focusedOption || focusedValue;
36145
+ var isSelected = !!(focusedOption && selectValue && selectValue.includes(focusedOption));
36146
+
36147
+ if (focused && messages.onFocus) {
36148
+ var onFocusProps = {
36149
+ focused: focused,
36150
+ label: getOptionLabel(focused),
36151
+ isDisabled: isOptionDisabled(focused),
36152
+ isSelected: isSelected,
36153
+ options: options,
36154
+ context: focused === focusedOption ? 'menu' : 'value',
36155
+ selectValue: selectValue
36156
+ };
36157
+ focusMsg = messages.onFocus(onFocusProps);
36158
+ }
36159
+
36160
+ return focusMsg;
36161
+ }, [focusedOption, focusedValue, getOptionLabel, isOptionDisabled, messages, options, selectValue]);
36162
+ var ariaResults = (0,react.useMemo)(function () {
36163
+ var resultsMsg = '';
36164
+
36165
+ if (menuIsOpen && options.length && messages.onFilter) {
36166
+ var resultsMessage = screenReaderStatus({
36167
+ count: focusableOptions.length
36168
+ });
36169
+ resultsMsg = messages.onFilter({
36170
+ inputValue: inputValue,
36171
+ resultsMessage: resultsMessage
36172
+ });
36173
+ }
36174
+
36175
+ return resultsMsg;
36176
+ }, [focusableOptions, inputValue, menuIsOpen, messages, options, screenReaderStatus]);
36177
+ var ariaGuidance = (0,react.useMemo)(function () {
36178
+ var guidanceMsg = '';
36179
+
36180
+ if (messages.guidance) {
36181
+ var context = focusedValue ? 'value' : menuIsOpen ? 'menu' : 'input';
36182
+ guidanceMsg = messages.guidance({
36183
+ 'aria-label': ariaLabel,
36184
+ context: context,
36185
+ isDisabled: focusedOption && isOptionDisabled(focusedOption),
36186
+ isMulti: isMulti,
36187
+ isSearchable: isSearchable,
36188
+ tabSelectsValue: tabSelectsValue
36189
+ });
36190
+ }
36191
+
36192
+ return guidanceMsg;
36193
+ }, [ariaLabel, focusedOption, focusedValue, isMulti, isOptionDisabled, isSearchable, menuIsOpen, messages, tabSelectsValue]);
36194
+ var ariaContext = "".concat(ariaFocused, " ").concat(ariaResults, " ").concat(ariaGuidance);
36195
+ return jsx(A11yText, {
36196
+ "aria-live": ariaLive,
36197
+ "aria-atomic": "false",
36198
+ "aria-relevant": "additions text"
36199
+ }, isFocused && jsx(react.Fragment, null, jsx("span", {
36200
+ id: "aria-selection"
36201
+ }, ariaSelected), jsx("span", {
36202
+ id: "aria-context"
36203
+ }, ariaContext)));
36204
+ };
36205
+
36206
+ var diacritics = [{
36207
+ base: 'A',
36208
+ letters: "A\u24B6\uFF21\xC0\xC1\xC2\u1EA6\u1EA4\u1EAA\u1EA8\xC3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\xC4\u01DE\u1EA2\xC5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F"
36209
+ }, {
36210
+ base: 'AA',
36211
+ letters: "\uA732"
36212
+ }, {
36213
+ base: 'AE',
36214
+ letters: "\xC6\u01FC\u01E2"
36215
+ }, {
36216
+ base: 'AO',
36217
+ letters: "\uA734"
36218
+ }, {
36219
+ base: 'AU',
36220
+ letters: "\uA736"
36221
+ }, {
36222
+ base: 'AV',
36223
+ letters: "\uA738\uA73A"
36224
+ }, {
36225
+ base: 'AY',
36226
+ letters: "\uA73C"
36227
+ }, {
36228
+ base: 'B',
36229
+ letters: "B\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181"
36230
+ }, {
36231
+ base: 'C',
36232
+ letters: "C\u24B8\uFF23\u0106\u0108\u010A\u010C\xC7\u1E08\u0187\u023B\uA73E"
36233
+ }, {
36234
+ base: 'D',
36235
+ letters: "D\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779"
36236
+ }, {
36237
+ base: 'DZ',
36238
+ letters: "\u01F1\u01C4"
36239
+ }, {
36240
+ base: 'Dz',
36241
+ letters: "\u01F2\u01C5"
36242
+ }, {
36243
+ base: 'E',
36244
+ letters: "E\u24BA\uFF25\xC8\xC9\xCA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\xCB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E"
36245
+ }, {
36246
+ base: 'F',
36247
+ letters: "F\u24BB\uFF26\u1E1E\u0191\uA77B"
36248
+ }, {
36249
+ base: 'G',
36250
+ letters: "G\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E"
36251
+ }, {
36252
+ base: 'H',
36253
+ letters: "H\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D"
36254
+ }, {
36255
+ base: 'I',
36256
+ letters: "I\u24BE\uFF29\xCC\xCD\xCE\u0128\u012A\u012C\u0130\xCF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197"
36257
+ }, {
36258
+ base: 'J',
36259
+ letters: "J\u24BF\uFF2A\u0134\u0248"
36260
+ }, {
36261
+ base: 'K',
36262
+ letters: "K\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2"
36263
+ }, {
36264
+ base: 'L',
36265
+ letters: "L\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780"
36266
+ }, {
36267
+ base: 'LJ',
36268
+ letters: "\u01C7"
36269
+ }, {
36270
+ base: 'Lj',
36271
+ letters: "\u01C8"
36272
+ }, {
36273
+ base: 'M',
36274
+ letters: "M\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C"
36275
+ }, {
36276
+ base: 'N',
36277
+ letters: "N\u24C3\uFF2E\u01F8\u0143\xD1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4"
36278
+ }, {
36279
+ base: 'NJ',
36280
+ letters: "\u01CA"
36281
+ }, {
36282
+ base: 'Nj',
36283
+ letters: "\u01CB"
36284
+ }, {
36285
+ base: 'O',
36286
+ letters: "O\u24C4\uFF2F\xD2\xD3\xD4\u1ED2\u1ED0\u1ED6\u1ED4\xD5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\xD6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\xD8\u01FE\u0186\u019F\uA74A\uA74C"
36287
+ }, {
36288
+ base: 'OI',
36289
+ letters: "\u01A2"
36290
+ }, {
36291
+ base: 'OO',
36292
+ letters: "\uA74E"
36293
+ }, {
36294
+ base: 'OU',
36295
+ letters: "\u0222"
36296
+ }, {
36297
+ base: 'P',
36298
+ letters: "P\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754"
36299
+ }, {
36300
+ base: 'Q',
36301
+ letters: "Q\u24C6\uFF31\uA756\uA758\u024A"
36302
+ }, {
36303
+ base: 'R',
36304
+ letters: "R\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782"
36305
+ }, {
36306
+ base: 'S',
36307
+ letters: "S\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784"
36308
+ }, {
36309
+ base: 'T',
36310
+ letters: "T\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786"
36311
+ }, {
36312
+ base: 'TZ',
36313
+ letters: "\uA728"
36314
+ }, {
36315
+ base: 'U',
36316
+ letters: "U\u24CA\uFF35\xD9\xDA\xDB\u0168\u1E78\u016A\u1E7A\u016C\xDC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244"
36317
+ }, {
36318
+ base: 'V',
36319
+ letters: "V\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245"
36320
+ }, {
36321
+ base: 'VY',
36322
+ letters: "\uA760"
36323
+ }, {
36324
+ base: 'W',
36325
+ letters: "W\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72"
36326
+ }, {
36327
+ base: 'X',
36328
+ letters: "X\u24CD\uFF38\u1E8A\u1E8C"
36329
+ }, {
36330
+ base: 'Y',
36331
+ letters: "Y\u24CE\uFF39\u1EF2\xDD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE"
36332
+ }, {
36333
+ base: 'Z',
36334
+ letters: "Z\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762"
36335
+ }, {
36336
+ base: 'a',
36337
+ letters: "a\u24D0\uFF41\u1E9A\xE0\xE1\xE2\u1EA7\u1EA5\u1EAB\u1EA9\xE3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\xE4\u01DF\u1EA3\xE5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250"
36338
+ }, {
36339
+ base: 'aa',
36340
+ letters: "\uA733"
36341
+ }, {
36342
+ base: 'ae',
36343
+ letters: "\xE6\u01FD\u01E3"
36344
+ }, {
36345
+ base: 'ao',
36346
+ letters: "\uA735"
36347
+ }, {
36348
+ base: 'au',
36349
+ letters: "\uA737"
36350
+ }, {
36351
+ base: 'av',
36352
+ letters: "\uA739\uA73B"
36353
+ }, {
36354
+ base: 'ay',
36355
+ letters: "\uA73D"
36356
+ }, {
36357
+ base: 'b',
36358
+ letters: "b\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253"
36359
+ }, {
36360
+ base: 'c',
36361
+ letters: "c\u24D2\uFF43\u0107\u0109\u010B\u010D\xE7\u1E09\u0188\u023C\uA73F\u2184"
36362
+ }, {
36363
+ base: 'd',
36364
+ letters: "d\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A"
36365
+ }, {
36366
+ base: 'dz',
36367
+ letters: "\u01F3\u01C6"
36368
+ }, {
36369
+ base: 'e',
36370
+ letters: "e\u24D4\uFF45\xE8\xE9\xEA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\xEB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD"
36371
+ }, {
36372
+ base: 'f',
36373
+ letters: "f\u24D5\uFF46\u1E1F\u0192\uA77C"
36374
+ }, {
36375
+ base: 'g',
36376
+ letters: "g\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F"
36377
+ }, {
36378
+ base: 'h',
36379
+ letters: "h\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265"
36380
+ }, {
36381
+ base: 'hv',
36382
+ letters: "\u0195"
36383
+ }, {
36384
+ base: 'i',
36385
+ letters: "i\u24D8\uFF49\xEC\xED\xEE\u0129\u012B\u012D\xEF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131"
36386
+ }, {
36387
+ base: 'j',
36388
+ letters: "j\u24D9\uFF4A\u0135\u01F0\u0249"
36389
+ }, {
36390
+ base: 'k',
36391
+ letters: "k\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3"
36392
+ }, {
36393
+ base: 'l',
36394
+ letters: "l\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747"
36395
+ }, {
36396
+ base: 'lj',
36397
+ letters: "\u01C9"
36398
+ }, {
36399
+ base: 'm',
36400
+ letters: "m\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F"
36401
+ }, {
36402
+ base: 'n',
36403
+ letters: "n\u24DD\uFF4E\u01F9\u0144\xF1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5"
36404
+ }, {
36405
+ base: 'nj',
36406
+ letters: "\u01CC"
36407
+ }, {
36408
+ base: 'o',
36409
+ letters: "o\u24DE\uFF4F\xF2\xF3\xF4\u1ED3\u1ED1\u1ED7\u1ED5\xF5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\xF6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\xF8\u01FF\u0254\uA74B\uA74D\u0275"
36410
+ }, {
36411
+ base: 'oi',
36412
+ letters: "\u01A3"
36413
+ }, {
36414
+ base: 'ou',
36415
+ letters: "\u0223"
36416
+ }, {
36417
+ base: 'oo',
36418
+ letters: "\uA74F"
36419
+ }, {
36420
+ base: 'p',
36421
+ letters: "p\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755"
36422
+ }, {
36423
+ base: 'q',
36424
+ letters: "q\u24E0\uFF51\u024B\uA757\uA759"
36425
+ }, {
36426
+ base: 'r',
36427
+ letters: "r\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783"
36428
+ }, {
36429
+ base: 's',
36430
+ letters: "s\u24E2\uFF53\xDF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B"
36431
+ }, {
36432
+ base: 't',
36433
+ letters: "t\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787"
36434
+ }, {
36435
+ base: 'tz',
36436
+ letters: "\uA729"
36437
+ }, {
36438
+ base: 'u',
36439
+ letters: "u\u24E4\uFF55\xF9\xFA\xFB\u0169\u1E79\u016B\u1E7B\u016D\xFC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289"
36440
+ }, {
36441
+ base: 'v',
36442
+ letters: "v\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C"
36443
+ }, {
36444
+ base: 'vy',
36445
+ letters: "\uA761"
36446
+ }, {
36447
+ base: 'w',
36448
+ letters: "w\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73"
36449
+ }, {
36450
+ base: 'x',
36451
+ letters: "x\u24E7\uFF58\u1E8B\u1E8D"
36452
+ }, {
36453
+ base: 'y',
36454
+ letters: "y\u24E8\uFF59\u1EF3\xFD\u0177\u1EF9\u0233\u1E8F\xFF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF"
36455
+ }, {
36456
+ base: 'z',
36457
+ letters: "z\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763"
36458
+ }];
36459
+ var anyDiacritic = new RegExp('[' + diacritics.map(function (d) {
36460
+ return d.letters;
36461
+ }).join('') + ']', 'g');
36462
+ var diacriticToBase = {};
36463
+
36464
+ for (var Select_dbb12e54_esm_i = 0; Select_dbb12e54_esm_i < diacritics.length; Select_dbb12e54_esm_i++) {
36465
+ var diacritic = diacritics[Select_dbb12e54_esm_i];
36466
+
36467
+ for (var Select_dbb12e54_esm_j = 0; Select_dbb12e54_esm_j < diacritic.letters.length; Select_dbb12e54_esm_j++) {
36468
+ diacriticToBase[diacritic.letters[Select_dbb12e54_esm_j]] = diacritic.base;
36469
+ }
36470
+ }
36471
+
36472
+ var stripDiacritics = function stripDiacritics(str) {
36473
+ return str.replace(anyDiacritic, function (match) {
36474
+ return diacriticToBase[match];
36475
+ });
36476
+ };
36477
+
36478
+ var memoizedStripDiacriticsForInput = memoize_one_esm(stripDiacritics);
36479
+
36480
+ var trimString = function trimString(str) {
36481
+ return str.replace(/^\s+|\s+$/g, '');
36482
+ };
36483
+
36484
+ var defaultStringify = function defaultStringify(option) {
36485
+ return "".concat(option.label, " ").concat(option.value);
36486
+ };
36487
+
36488
+ var createFilter = function createFilter(config) {
36489
+ return function (option, rawInput) {
36490
+ var _ignoreCase$ignoreAcc = index_4bd03571_esm_objectSpread2({
36491
+ ignoreCase: true,
36492
+ ignoreAccents: true,
36493
+ stringify: defaultStringify,
36494
+ trim: true,
36495
+ matchFrom: 'any'
36496
+ }, config),
36497
+ ignoreCase = _ignoreCase$ignoreAcc.ignoreCase,
36498
+ ignoreAccents = _ignoreCase$ignoreAcc.ignoreAccents,
36499
+ stringify = _ignoreCase$ignoreAcc.stringify,
36500
+ trim = _ignoreCase$ignoreAcc.trim,
36501
+ matchFrom = _ignoreCase$ignoreAcc.matchFrom;
36502
+
36503
+ var input = trim ? trimString(rawInput) : rawInput;
36504
+ var candidate = trim ? trimString(stringify(option)) : stringify(option);
36505
+
36506
+ if (ignoreCase) {
36507
+ input = input.toLowerCase();
36508
+ candidate = candidate.toLowerCase();
36509
+ }
36510
+
36511
+ if (ignoreAccents) {
36512
+ input = memoizedStripDiacriticsForInput(input);
36513
+ candidate = stripDiacritics(candidate);
36514
+ }
36515
+
36516
+ return matchFrom === 'start' ? candidate.substr(0, input.length) === input : candidate.indexOf(input) > -1;
36517
+ };
36518
+ };
36519
+
36520
+ function DummyInput(_ref) {
36521
+ _ref.in;
36522
+ _ref.out;
36523
+ _ref.onExited;
36524
+ _ref.appear;
36525
+ _ref.enter;
36526
+ _ref.exit;
36527
+ var innerRef = _ref.innerRef;
36528
+ _ref.emotion;
36529
+ var props = objectWithoutProperties_objectWithoutProperties(_ref, ["in", "out", "onExited", "appear", "enter", "exit", "innerRef", "emotion"]);
36530
+
36531
+ return jsx("input", extends_extends({
36532
+ ref: innerRef
36533
+ }, props, {
36534
+ css: /*#__PURE__*/css({
36535
+ label: 'dummyInput',
36536
+ // get rid of any default styles
36537
+ background: 0,
36538
+ border: 0,
36539
+ fontSize: 'inherit',
36540
+ outline: 0,
36541
+ padding: 0,
36542
+ // important! without `width` browsers won't allow focus
36543
+ width: 1,
36544
+ // remove cursor on desktop
36545
+ color: 'transparent',
36546
+ // remove cursor on mobile whilst maintaining "scroll into view" behaviour
36547
+ left: -100,
36548
+ opacity: 0,
36549
+ position: 'relative',
36550
+ transform: 'scale(0)'
36551
+ }, true ? "" : 0, true ? "" : 0)
36552
+ }));
36553
+ }
36554
+
36555
+ var cancelScroll = function cancelScroll(event) {
36556
+ event.preventDefault();
36557
+ event.stopPropagation();
36558
+ };
36559
+
36560
+ function useScrollCapture(_ref) {
36561
+ var isEnabled = _ref.isEnabled,
36562
+ onBottomArrive = _ref.onBottomArrive,
36563
+ onBottomLeave = _ref.onBottomLeave,
36564
+ onTopArrive = _ref.onTopArrive,
36565
+ onTopLeave = _ref.onTopLeave;
36566
+ var isBottom = (0,react.useRef)(false);
36567
+ var isTop = (0,react.useRef)(false);
36568
+ var touchStart = (0,react.useRef)(0);
36569
+ var scrollTarget = (0,react.useRef)(null);
36570
+ var handleEventDelta = (0,react.useCallback)(function (event, delta) {
36571
+ // Reference should never be `null` at this point, but flow complains otherwise
36572
+ if (scrollTarget.current === null) return;
36573
+ var _scrollTarget$current = scrollTarget.current,
36574
+ scrollTop = _scrollTarget$current.scrollTop,
36575
+ scrollHeight = _scrollTarget$current.scrollHeight,
36576
+ clientHeight = _scrollTarget$current.clientHeight;
36577
+ var target = scrollTarget.current;
36578
+ var isDeltaPositive = delta > 0;
36579
+ var availableScroll = scrollHeight - clientHeight - scrollTop;
36580
+ var shouldCancelScroll = false; // reset bottom/top flags
36581
+
36582
+ if (availableScroll > delta && isBottom.current) {
36583
+ if (onBottomLeave) onBottomLeave(event);
36584
+ isBottom.current = false;
36585
+ }
36586
+
36587
+ if (isDeltaPositive && isTop.current) {
36588
+ if (onTopLeave) onTopLeave(event);
36589
+ isTop.current = false;
36590
+ } // bottom limit
36591
+
36592
+
36593
+ if (isDeltaPositive && delta > availableScroll) {
36594
+ if (onBottomArrive && !isBottom.current) {
36595
+ onBottomArrive(event);
36596
+ }
36597
+
36598
+ target.scrollTop = scrollHeight;
36599
+ shouldCancelScroll = true;
36600
+ isBottom.current = true; // top limit
36601
+ } else if (!isDeltaPositive && -delta > scrollTop) {
36602
+ if (onTopArrive && !isTop.current) {
36603
+ onTopArrive(event);
36604
+ }
36605
+
36606
+ target.scrollTop = 0;
36607
+ shouldCancelScroll = true;
36608
+ isTop.current = true;
36609
+ } // cancel scroll
36610
+
36611
+
36612
+ if (shouldCancelScroll) {
36613
+ cancelScroll(event);
36614
+ }
36615
+ }, []);
36616
+ var onWheel = (0,react.useCallback)(function (event) {
36617
+ handleEventDelta(event, event.deltaY);
36618
+ }, [handleEventDelta]);
36619
+ var onTouchStart = (0,react.useCallback)(function (event) {
36620
+ // set touch start so we can calculate touchmove delta
36621
+ touchStart.current = event.changedTouches[0].clientY;
36622
+ }, []);
36623
+ var onTouchMove = (0,react.useCallback)(function (event) {
36624
+ var deltaY = touchStart.current - event.changedTouches[0].clientY;
36625
+ handleEventDelta(event, deltaY);
36626
+ }, [handleEventDelta]);
36627
+ var startListening = (0,react.useCallback)(function (el) {
36628
+ // bail early if no element is available to attach to
36629
+ if (!el) return;
36630
+ var notPassive = supportsPassiveEvents ? {
36631
+ passive: false
36632
+ } : false; // all the if statements are to appease Flow 😢
36633
 
36634
+ if (typeof el.addEventListener === 'function') {
36635
+ el.addEventListener('wheel', onWheel, notPassive);
36636
+ }
36637
 
36638
+ if (typeof el.addEventListener === 'function') {
36639
+ el.addEventListener('touchstart', onTouchStart, notPassive);
36640
+ }
36641
 
36642
+ if (typeof el.addEventListener === 'function') {
36643
+ el.addEventListener('touchmove', onTouchMove, notPassive);
36644
+ }
36645
+ }, [onTouchMove, onTouchStart, onWheel]);
36646
+ var stopListening = (0,react.useCallback)(function (el) {
36647
+ // bail early if no element is available to detach from
36648
+ if (!el) return; // all the if statements are to appease Flow 😢
36649
 
36650
+ if (typeof el.removeEventListener === 'function') {
36651
+ el.removeEventListener('wheel', onWheel, false);
36652
+ }
36653
 
36654
+ if (typeof el.removeEventListener === 'function') {
36655
+ el.removeEventListener('touchstart', onTouchStart, false);
36656
+ }
36657
 
36658
+ if (typeof el.removeEventListener === 'function') {
36659
+ el.removeEventListener('touchmove', onTouchMove, false);
36660
+ }
36661
+ }, [onTouchMove, onTouchStart, onWheel]);
36662
+ (0,react.useEffect)(function () {
36663
+ if (!isEnabled) return;
36664
+ var element = scrollTarget.current;
36665
+ startListening(element);
36666
+ return function () {
36667
+ stopListening(element);
36668
  };
36669
+ }, [isEnabled, startListening, stopListening]);
36670
+ return function (element) {
36671
+ scrollTarget.current = element;
36672
+ };
36673
+ }
36674
 
36675
+ var STYLE_KEYS = ['boxSizing', 'height', 'overflow', 'paddingRight', 'position'];
36676
+ var LOCK_STYLES = {
36677
+ boxSizing: 'border-box',
36678
+ // account for possible declaration `width: 100%;` on body
36679
+ overflow: 'hidden',
36680
+ position: 'relative',
36681
+ height: '100%'
36682
+ };
 
 
 
 
 
 
 
 
36683
 
36684
+ function preventTouchMove(e) {
36685
+ e.preventDefault();
36686
+ }
36687
 
36688
+ function allowTouchMove(e) {
36689
+ e.stopPropagation();
36690
+ }
36691
 
36692
+ function preventInertiaScroll() {
36693
+ var top = this.scrollTop;
36694
+ var totalScroll = this.scrollHeight;
36695
+ var currentScroll = top + this.offsetHeight;
36696
 
36697
+ if (top === 0) {
36698
+ this.scrollTop = 1;
36699
+ } else if (currentScroll === totalScroll) {
36700
+ this.scrollTop = top - 1;
36701
+ }
36702
+ } // `ontouchstart` check works on most browsers
36703
+ // `maxTouchPoints` works on IE10/11 and Surface
36704
 
 
36705
 
36706
+ function isTouchDevice() {
36707
+ return 'ontouchstart' in window || navigator.maxTouchPoints;
36708
+ }
 
 
36709
 
36710
+ var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
36711
+ var activeScrollLocks = 0;
36712
+ var listenerOptions = {
36713
+ capture: false,
36714
+ passive: false
36715
+ };
36716
+ function useScrollLock(_ref) {
36717
+ var isEnabled = _ref.isEnabled,
36718
+ _ref$accountForScroll = _ref.accountForScrollbars,
36719
+ accountForScrollbars = _ref$accountForScroll === void 0 ? true : _ref$accountForScroll;
36720
+ var originalStyles = (0,react.useRef)({});
36721
+ var scrollTarget = (0,react.useRef)(null);
36722
+ var addScrollLock = (0,react.useCallback)(function (touchScrollTarget) {
36723
+ if (!canUseDOM) return;
36724
+ var target = document.body;
36725
+ var targetStyle = target && target.style;
36726
 
36727
+ if (accountForScrollbars) {
36728
+ // store any styles already applied to the body
36729
+ STYLE_KEYS.forEach(function (key) {
36730
+ var val = targetStyle && targetStyle[key];
36731
+ originalStyles.current[key] = val;
36732
  });
36733
+ } // apply the lock styles and padding if this is the first scroll lock
 
 
 
 
36734
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
36735
 
36736
+ if (accountForScrollbars && activeScrollLocks < 1) {
36737
+ var currentPadding = parseInt(originalStyles.current.paddingRight, 10) || 0;
36738
+ var clientWidth = document.body ? document.body.clientWidth : 0;
36739
+ var adjustedPadding = window.innerWidth - clientWidth + currentPadding || 0;
36740
+ Object.keys(LOCK_STYLES).forEach(function (key) {
36741
+ var val = LOCK_STYLES[key];
36742
 
36743
+ if (targetStyle) {
36744
+ targetStyle[key] = val;
36745
  }
36746
+ });
 
 
 
36747
 
36748
+ if (targetStyle) {
36749
+ targetStyle.paddingRight = "".concat(adjustedPadding, "px");
36750
+ }
36751
+ } // account for touch devices
36752
 
 
36753
 
36754
+ if (target && isTouchDevice()) {
36755
+ // Mobile Safari ignores { overflow: hidden } declaration on the body.
36756
+ target.addEventListener('touchmove', preventTouchMove, listenerOptions); // Allow scroll on provided target
36757
 
36758
+ if (touchScrollTarget) {
36759
+ touchScrollTarget.addEventListener('touchstart', preventInertiaScroll, listenerOptions);
36760
+ touchScrollTarget.addEventListener('touchmove', allowTouchMove, listenerOptions);
36761
+ }
36762
+ } // increment active scroll locks
36763
 
 
36764
 
36765
+ activeScrollLocks += 1;
36766
+ }, []);
36767
+ var removeScrollLock = (0,react.useCallback)(function (touchScrollTarget) {
36768
+ if (!canUseDOM) return;
36769
+ var target = document.body;
36770
+ var targetStyle = target && target.style; // safely decrement active scroll locks
36771
 
36772
+ activeScrollLocks = Math.max(activeScrollLocks - 1, 0); // reapply original body styles, if any
 
 
36773
 
36774
+ if (accountForScrollbars && activeScrollLocks < 1) {
36775
+ STYLE_KEYS.forEach(function (key) {
36776
+ var val = originalStyles.current[key];
 
36777
 
36778
+ if (targetStyle) {
36779
+ targetStyle[key] = val;
36780
+ }
36781
+ });
36782
+ } // remove touch listeners
 
36783
 
 
36784
 
36785
+ if (target && isTouchDevice()) {
36786
+ target.removeEventListener('touchmove', preventTouchMove, listenerOptions);
36787
 
36788
+ if (touchScrollTarget) {
36789
+ touchScrollTarget.removeEventListener('touchstart', preventInertiaScroll, listenerOptions);
36790
+ touchScrollTarget.removeEventListener('touchmove', allowTouchMove, listenerOptions);
36791
+ }
36792
+ }
36793
+ }, []);
36794
+ (0,react.useEffect)(function () {
36795
+ if (!isEnabled) return;
36796
+ var element = scrollTarget.current;
36797
+ addScrollLock(element);
36798
+ return function () {
36799
+ removeScrollLock(element);
36800
+ };
36801
+ }, [isEnabled, addScrollLock, removeScrollLock]);
36802
+ return function (element) {
36803
+ scrollTarget.current = element;
36804
+ };
36805
+ }
36806
 
36807
+ function _EMOTION_STRINGIFIED_CSS_ERROR__$1() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
36808
 
36809
+ var blurSelectInput = function blurSelectInput() {
36810
+ return document.activeElement && document.activeElement.blur();
36811
+ };
36812
 
36813
+ var Select_dbb12e54_esm_ref2 = true ? {
36814
+ name: "1kfdb0e",
36815
+ styles: "position:fixed;left:0;bottom:0;right:0;top:0"
36816
+ } : 0;
 
 
36817
 
36818
+ function ScrollManager(_ref) {
36819
+ var children = _ref.children,
36820
+ lockEnabled = _ref.lockEnabled,
36821
+ _ref$captureEnabled = _ref.captureEnabled,
36822
+ captureEnabled = _ref$captureEnabled === void 0 ? true : _ref$captureEnabled,
36823
+ onBottomArrive = _ref.onBottomArrive,
36824
+ onBottomLeave = _ref.onBottomLeave,
36825
+ onTopArrive = _ref.onTopArrive,
36826
+ onTopLeave = _ref.onTopLeave;
36827
+ var setScrollCaptureTarget = useScrollCapture({
36828
+ isEnabled: captureEnabled,
36829
+ onBottomArrive: onBottomArrive,
36830
+ onBottomLeave: onBottomLeave,
36831
+ onTopArrive: onTopArrive,
36832
+ onTopLeave: onTopLeave
36833
+ });
36834
+ var setScrollLockTarget = useScrollLock({
36835
+ isEnabled: lockEnabled
36836
+ });
36837
 
36838
+ var targetRef = function targetRef(element) {
36839
+ setScrollCaptureTarget(element);
36840
+ setScrollLockTarget(element);
36841
+ };
36842
 
36843
+ return jsx(react.Fragment, null, lockEnabled && jsx("div", {
36844
+ onClick: blurSelectInput,
36845
+ css: Select_dbb12e54_esm_ref2
36846
+ }), children(targetRef));
36847
+ }
36848
 
36849
+ var formatGroupLabel = function formatGroupLabel(group) {
36850
+ return group.label;
36851
+ };
36852
+ var getOptionLabel = function getOptionLabel(option) {
36853
+ return option.label;
36854
+ };
36855
+ var getOptionValue = function getOptionValue(option) {
36856
+ return option.value;
36857
+ };
36858
+ var isOptionDisabled = function isOptionDisabled(option) {
36859
+ return !!option.isDisabled;
36860
+ };
36861
 
36862
+ var defaultStyles = {
36863
+ clearIndicator: clearIndicatorCSS,
36864
+ container: containerCSS,
36865
+ control: index_4bd03571_esm_css,
36866
+ dropdownIndicator: dropdownIndicatorCSS,
36867
+ group: groupCSS,
36868
+ groupHeading: groupHeadingCSS,
36869
+ indicatorsContainer: indicatorsContainerCSS,
36870
+ indicatorSeparator: indicatorSeparatorCSS,
36871
+ input: inputCSS,
36872
+ loadingIndicator: loadingIndicatorCSS,
36873
+ loadingMessage: loadingMessageCSS,
36874
+ menu: menuCSS,
36875
+ menuList: menuListCSS,
36876
+ menuPortal: menuPortalCSS,
36877
+ multiValue: multiValueCSS,
36878
+ multiValueLabel: multiValueLabelCSS,
36879
+ multiValueRemove: multiValueRemoveCSS,
36880
+ noOptionsMessage: noOptionsMessageCSS,
36881
+ option: optionCSS,
36882
+ placeholder: placeholderCSS,
36883
+ singleValue: css$1,
36884
+ valueContainer: valueContainerCSS
36885
+ }; // Merge Utility
36886
+ // Allows consumers to extend a base Select with additional styles
36887
 
36888
+ function mergeStyles(source) {
36889
+ var target = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
 
36890
 
36891
+ // initialize with source styles
36892
+ var styles = _objectSpread2({}, source); // massage in target styles
 
 
36893
 
 
36894
 
36895
+ Object.keys(target).forEach(function (key) {
36896
+ if (source[key]) {
36897
+ styles[key] = function (rsCss, props) {
36898
+ return target[key](source[key](rsCss, props), props);
36899
+ };
36900
+ } else {
36901
+ styles[key] = target[key];
36902
+ }
36903
+ });
36904
+ return styles;
36905
+ }
36906
 
36907
+ var colors = {
36908
+ primary: '#2684FF',
36909
+ primary75: '#4C9AFF',
36910
+ primary50: '#B2D4FF',
36911
+ primary25: '#DEEBFF',
36912
+ danger: '#DE350B',
36913
+ dangerLight: '#FFBDAD',
36914
+ neutral0: 'hsl(0, 0%, 100%)',
36915
+ neutral5: 'hsl(0, 0%, 95%)',
36916
+ neutral10: 'hsl(0, 0%, 90%)',
36917
+ neutral20: 'hsl(0, 0%, 80%)',
36918
+ neutral30: 'hsl(0, 0%, 70%)',
36919
+ neutral40: 'hsl(0, 0%, 60%)',
36920
+ neutral50: 'hsl(0, 0%, 50%)',
36921
+ neutral60: 'hsl(0, 0%, 40%)',
36922
+ neutral70: 'hsl(0, 0%, 30%)',
36923
+ neutral80: 'hsl(0, 0%, 20%)',
36924
+ neutral90: 'hsl(0, 0%, 10%)'
36925
+ };
36926
+ var borderRadius = 4; // Used to calculate consistent margin/padding on elements
36927
 
36928
+ var baseUnit = 4; // The minimum height of the control
 
36929
 
36930
+ var controlHeight = 38; // The amount of space between the control and menu */
36931
 
36932
+ var menuGutter = baseUnit * 2;
36933
+ var spacing = {
36934
+ baseUnit: baseUnit,
36935
+ controlHeight: controlHeight,
36936
+ menuGutter: menuGutter
36937
+ };
36938
+ var defaultTheme = {
36939
+ borderRadius: borderRadius,
36940
+ colors: colors,
36941
+ spacing: spacing
36942
+ };
36943
 
36944
+ var Select_dbb12e54_esm_defaultProps = {
36945
+ 'aria-live': 'polite',
36946
+ backspaceRemovesValue: true,
36947
+ blurInputOnSelect: isTouchCapable(),
36948
+ captureMenuScroll: !isTouchCapable(),
36949
+ closeMenuOnSelect: true,
36950
+ closeMenuOnScroll: false,
36951
+ components: {},
36952
+ controlShouldRenderValue: true,
36953
+ escapeClearsValue: false,
36954
+ filterOption: createFilter(),
36955
+ formatGroupLabel: formatGroupLabel,
36956
+ getOptionLabel: getOptionLabel,
36957
+ getOptionValue: getOptionValue,
36958
+ isDisabled: false,
36959
+ isLoading: false,
36960
+ isMulti: false,
36961
+ isRtl: false,
36962
+ isSearchable: true,
36963
+ isOptionDisabled: isOptionDisabled,
36964
+ loadingMessage: function loadingMessage() {
36965
+ return 'Loading...';
36966
+ },
36967
+ maxMenuHeight: 300,
36968
+ minMenuHeight: 140,
36969
+ menuIsOpen: false,
36970
+ menuPlacement: 'bottom',
36971
+ menuPosition: 'absolute',
36972
+ menuShouldBlockScroll: false,
36973
+ menuShouldScrollIntoView: !isMobileDevice(),
36974
+ noOptionsMessage: function noOptionsMessage() {
36975
+ return 'No options';
36976
+ },
36977
+ openMenuOnFocus: false,
36978
+ openMenuOnClick: true,
36979
+ options: [],
36980
+ pageSize: 5,
36981
+ placeholder: 'Select...',
36982
+ screenReaderStatus: function screenReaderStatus(_ref) {
36983
+ var count = _ref.count;
36984
+ return "".concat(count, " result").concat(count !== 1 ? 's' : '', " available");
36985
+ },
36986
+ styles: {},
36987
+ tabIndex: '0',
36988
+ tabSelectsValue: true
36989
+ };
36990
 
36991
+ function toCategorizedOption(props, option, selectValue, index) {
36992
+ var isDisabled = _isOptionDisabled(props, option, selectValue);
 
 
 
 
36993
 
36994
+ var isSelected = _isOptionSelected(props, option, selectValue);
36995
 
36996
+ var label = getOptionLabel$1(props, option);
36997
+ var value = getOptionValue$1(props, option);
36998
+ return {
36999
+ type: 'option',
37000
+ data: option,
37001
+ isDisabled: isDisabled,
37002
+ isSelected: isSelected,
37003
+ label: label,
37004
+ value: value,
37005
+ index: index
37006
+ };
37007
+ }
37008
 
37009
+ function buildCategorizedOptions(props, selectValue) {
37010
+ return props.options.map(function (groupOrOption, groupOrOptionIndex) {
37011
+ if (groupOrOption.options) {
37012
+ var categorizedOptions = groupOrOption.options.map(function (option, optionIndex) {
37013
+ return toCategorizedOption(props, option, selectValue, optionIndex);
37014
+ }).filter(function (categorizedOption) {
37015
+ return isFocusable(props, categorizedOption);
37016
+ });
37017
+ return categorizedOptions.length > 0 ? {
37018
+ type: 'group',
37019
+ data: groupOrOption,
37020
+ options: categorizedOptions,
37021
+ index: groupOrOptionIndex
37022
+ } : undefined;
37023
+ }
37024
 
37025
+ var categorizedOption = toCategorizedOption(props, groupOrOption, selectValue, groupOrOptionIndex);
37026
+ return isFocusable(props, categorizedOption) ? categorizedOption : undefined;
37027
+ }) // Flow limitation (see https://github.com/facebook/flow/issues/1414)
37028
+ .filter(function (categorizedOption) {
37029
+ return !!categorizedOption;
37030
+ });
37031
+ }
37032
 
37033
+ function buildFocusableOptionsFromCategorizedOptions(categorizedOptions) {
37034
+ return categorizedOptions.reduce(function (optionsAccumulator, categorizedOption) {
37035
+ if (categorizedOption.type === 'group') {
37036
+ optionsAccumulator.push.apply(optionsAccumulator, toConsumableArray_toConsumableArray(categorizedOption.options.map(function (option) {
37037
+ return option.data;
37038
+ })));
37039
+ } else {
37040
+ optionsAccumulator.push(categorizedOption.data);
37041
+ }
37042
 
37043
+ return optionsAccumulator;
37044
+ }, []);
37045
+ }
37046
 
37047
+ function buildFocusableOptions(props, selectValue) {
37048
+ return buildFocusableOptionsFromCategorizedOptions(buildCategorizedOptions(props, selectValue));
37049
+ }
37050
 
37051
+ function isFocusable(props, categorizedOption) {
37052
+ var _props$inputValue = props.inputValue,
37053
+ inputValue = _props$inputValue === void 0 ? '' : _props$inputValue;
37054
+ var data = categorizedOption.data,
37055
+ isSelected = categorizedOption.isSelected,
37056
+ label = categorizedOption.label,
37057
+ value = categorizedOption.value;
37058
+ return (!shouldHideSelectedOptions(props) || !isSelected) && _filterOption(props, {
37059
+ label: label,
37060
+ value: value,
37061
+ data: data
37062
+ }, inputValue);
37063
+ }
37064
 
37065
+ function getNextFocusedValue(state, nextSelectValue) {
37066
+ var focusedValue = state.focusedValue,
37067
+ lastSelectValue = state.selectValue;
37068
+ var lastFocusedIndex = lastSelectValue.indexOf(focusedValue);
37069
 
37070
+ if (lastFocusedIndex > -1) {
37071
+ var nextFocusedIndex = nextSelectValue.indexOf(focusedValue);
37072
 
37073
+ if (nextFocusedIndex > -1) {
37074
+ // the focused value is still in the selectValue, return it
37075
+ return focusedValue;
37076
+ } else if (lastFocusedIndex < nextSelectValue.length) {
37077
+ // the focusedValue is not present in the next selectValue array by
37078
+ // reference, so return the new value at the same index
37079
+ return nextSelectValue[lastFocusedIndex];
37080
+ }
37081
+ }
37082
 
37083
+ return null;
37084
+ }
37085
 
37086
+ function getNextFocusedOption(state, options) {
37087
+ var lastFocusedOption = state.focusedOption;
37088
+ return lastFocusedOption && options.indexOf(lastFocusedOption) > -1 ? lastFocusedOption : options[0];
37089
+ }
37090
 
37091
+ var getOptionLabel$1 = function getOptionLabel(props, data) {
37092
+ return props.getOptionLabel(data);
37093
+ };
37094
 
37095
+ var getOptionValue$1 = function getOptionValue(props, data) {
37096
+ return props.getOptionValue(data);
37097
+ };
37098
 
37099
+ function _isOptionDisabled(props, option, selectValue) {
37100
+ return typeof props.isOptionDisabled === 'function' ? props.isOptionDisabled(option, selectValue) : false;
37101
+ }
37102
 
37103
+ function _isOptionSelected(props, option, selectValue) {
37104
+ if (selectValue.indexOf(option) > -1) return true;
37105
 
37106
+ if (typeof props.isOptionSelected === 'function') {
37107
+ return props.isOptionSelected(option, selectValue);
 
37108
  }
37109
 
37110
+ var candidate = getOptionValue$1(props, option);
37111
+ return selectValue.some(function (i) {
37112
+ return getOptionValue$1(props, i) === candidate;
37113
+ });
37114
+ }
 
 
 
 
 
37115
 
37116
+ function _filterOption(props, option, inputValue) {
37117
+ return props.filterOption ? props.filterOption(option, inputValue) : true;
37118
+ }
 
 
 
 
 
 
 
 
37119
 
37120
+ var shouldHideSelectedOptions = function shouldHideSelectedOptions(props) {
37121
+ var hideSelectedOptions = props.hideSelectedOptions,
37122
+ isMulti = props.isMulti;
37123
+ if (hideSelectedOptions === undefined) return isMulti;
37124
+ return hideSelectedOptions;
37125
+ };
37126
 
37127
+ var instanceId = 1;
 
 
 
 
 
37128
 
37129
+ var Select_dbb12e54_esm_Select = /*#__PURE__*/function (_Component) {
37130
+ inherits_inherits(Select, _Component);
37131
 
37132
+ var _super = index_4bd03571_esm_createSuper(Select);
 
 
 
 
 
 
 
 
 
 
 
 
 
37133
 
37134
+ // Misc. Instance Properties
37135
+ // ------------------------------
37136
+ // TODO
37137
+ // Refs
37138
+ // ------------------------------
37139
+ // Lifecycle
37140
+ // ------------------------------
37141
+ function Select(_props) {
37142
+ var _this;
 
 
 
 
 
 
 
 
 
 
 
37143
 
37144
+ classCallCheck_classCallCheck(this, Select);
 
 
 
 
 
 
 
 
 
 
 
37145
 
37146
+ _this = _super.call(this, _props);
37147
+ _this.state = {
37148
+ ariaSelection: null,
37149
+ focusedOption: null,
37150
+ focusedValue: null,
37151
+ inputIsHidden: false,
37152
+ isFocused: false,
37153
+ selectValue: [],
37154
+ clearFocusValueOnUpdate: false,
37155
+ inputIsHiddenAfterUpdate: undefined,
37156
+ prevProps: undefined
37157
+ };
37158
+ _this.blockOptionHover = false;
37159
+ _this.isComposing = false;
37160
+ _this.commonProps = void 0;
37161
+ _this.initialTouchX = 0;
37162
+ _this.initialTouchY = 0;
37163
+ _this.instancePrefix = '';
37164
+ _this.openAfterFocus = false;
37165
+ _this.scrollToFocusedOptionOnUpdate = false;
37166
+ _this.userIsDragging = void 0;
37167
+ _this.controlRef = null;
37168
 
37169
+ _this.getControlRef = function (ref) {
37170
+ _this.controlRef = ref;
37171
+ };
 
 
37172
 
37173
+ _this.focusedOptionRef = null;
 
37174
 
37175
+ _this.getFocusedOptionRef = function (ref) {
37176
+ _this.focusedOptionRef = ref;
37177
+ };
 
37178
 
37179
+ _this.menuListRef = null;
37180
 
37181
+ _this.getMenuListRef = function (ref) {
37182
+ _this.menuListRef = ref;
37183
+ };
 
 
 
 
 
 
 
 
 
 
 
 
37184
 
37185
+ _this.inputRef = null;
 
 
 
 
37186
 
37187
+ _this.getInputRef = function (ref) {
37188
+ _this.inputRef = ref;
37189
+ };
37190
 
37191
+ _this.focus = _this.focusInput;
37192
+ _this.blur = _this.blurInput;
 
37193
 
37194
+ _this.onChange = function (newValue, actionMeta) {
37195
+ var _this$props = _this.props,
37196
+ onChange = _this$props.onChange,
37197
+ name = _this$props.name;
37198
+ actionMeta.name = name;
 
 
 
 
 
 
37199
 
37200
+ _this.ariaOnChange(newValue, actionMeta);
37201
 
37202
+ onChange(newValue, actionMeta);
37203
+ };
 
 
37204
 
37205
+ _this.setValue = function (newValue) {
37206
+ var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'set-value';
37207
+ var option = arguments.length > 2 ? arguments[2] : undefined;
37208
+ var _this$props2 = _this.props,
37209
+ closeMenuOnSelect = _this$props2.closeMenuOnSelect,
37210
+ isMulti = _this$props2.isMulti;
37211
 
37212
+ _this.onInputChange('', {
37213
+ action: 'set-value'
 
37214
  });
 
 
 
 
 
 
 
 
 
 
37215
 
37216
+ if (closeMenuOnSelect) {
37217
+ _this.setState({
37218
+ inputIsHiddenAfterUpdate: !isMulti
37219
+ });
37220
 
37221
+ _this.onMenuClose();
37222
+ } // when the select value should change, we should reset focusedValue
 
37223
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37224
 
37225
+ _this.setState({
37226
+ clearFocusValueOnUpdate: true
 
 
37227
  });
 
 
 
 
 
 
 
 
 
 
 
 
 
37228
 
37229
+ _this.onChange(newValue, {
37230
+ action: action,
37231
+ option: option
37232
+ });
37233
+ };
37234
 
37235
+ _this.selectOption = function (newValue) {
37236
+ var _this$props3 = _this.props,
37237
+ blurInputOnSelect = _this$props3.blurInputOnSelect,
37238
+ isMulti = _this$props3.isMulti,
37239
+ name = _this$props3.name;
37240
+ var selectValue = _this.state.selectValue;
37241
 
37242
+ var deselected = isMulti && _this.isOptionSelected(newValue, selectValue);
37243
 
37244
+ var isDisabled = _this.isOptionDisabled(newValue, selectValue);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37245
 
37246
+ if (deselected) {
37247
+ var candidate = _this.getOptionValue(newValue);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37248
 
37249
+ _this.setValue(selectValue.filter(function (i) {
37250
+ return _this.getOptionValue(i) !== candidate;
37251
+ }), 'deselect-option', newValue);
37252
+ } else if (!isDisabled) {
37253
+ // Select option if option is not disabled
37254
+ if (isMulti) {
37255
+ _this.setValue([].concat(toConsumableArray_toConsumableArray(selectValue), [newValue]), 'select-option', newValue);
37256
+ } else {
37257
+ _this.setValue(newValue, 'select-option');
37258
+ }
37259
+ } else {
37260
+ _this.ariaOnChange(newValue, {
37261
+ action: 'select-option',
37262
+ name: name
37263
+ });
37264
+
37265
+ return;
 
 
 
 
 
 
 
 
 
 
 
 
37266
  }
37267
+
37268
+ if (blurInputOnSelect) {
37269
+ _this.blurInput();
 
 
 
 
 
37270
  }
37271
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
37272
 
37273
+ _this.removeValue = function (removedValue) {
37274
+ var isMulti = _this.props.isMulti;
37275
+ var selectValue = _this.state.selectValue;
37276
 
37277
+ var candidate = _this.getOptionValue(removedValue);
 
 
37278
 
37279
+ var newValueArray = selectValue.filter(function (i) {
37280
+ return _this.getOptionValue(i) !== candidate;
37281
+ });
37282
+ var newValue = isMulti ? newValueArray : newValueArray[0] || null;
 
37283
 
37284
+ _this.onChange(newValue, {
37285
+ action: 'remove-value',
37286
+ removedValue: removedValue
37287
+ });
 
 
 
 
 
 
 
 
 
 
 
37288
 
37289
+ _this.focusInput();
37290
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37291
 
37292
+ _this.clearValue = function () {
37293
+ var selectValue = _this.state.selectValue;
 
 
 
 
 
37294
 
37295
+ _this.onChange(_this.props.isMulti ? [] : null, {
37296
+ action: 'clear',
37297
+ removedValues: selectValue
37298
+ });
37299
+ };
 
 
 
 
 
 
37300
 
37301
+ _this.popValue = function () {
37302
+ var isMulti = _this.props.isMulti;
37303
+ var selectValue = _this.state.selectValue;
37304
+ var lastSelectedValue = selectValue[selectValue.length - 1];
37305
+ var newValueArray = selectValue.slice(0, selectValue.length - 1);
37306
+ var newValue = isMulti ? newValueArray : newValueArray[0] || null;
 
37307
 
37308
+ _this.onChange(newValue, {
37309
+ action: 'pop-value',
37310
+ removedValue: lastSelectedValue
37311
+ });
37312
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37313
 
37314
+ _this.getValue = function () {
37315
+ return _this.state.selectValue;
37316
+ };
37317
+
37318
+ _this.cx = function () {
37319
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
37320
+ args[_key] = arguments[_key];
37321
  }
37322
 
37323
+ return classNames.apply(void 0, [_this.props.classNamePrefix].concat(args));
37324
+ };
 
 
 
 
 
 
 
 
 
37325
 
37326
+ _this.getOptionLabel = function (data) {
37327
+ return getOptionLabel$1(_this.props, data);
37328
+ };
 
 
37329
 
37330
+ _this.getOptionValue = function (data) {
37331
+ return getOptionValue$1(_this.props, data);
37332
+ };
37333
 
37334
+ _this.getStyles = function (key, props) {
37335
+ var base = defaultStyles[key](props);
37336
+ base.boxSizing = 'border-box';
37337
+ var custom = _this.props.styles[key];
37338
+ return custom ? custom(base, props) : base;
37339
+ };
 
 
 
 
 
 
 
 
 
37340
 
37341
+ _this.getElementId = function (element) {
37342
+ return "".concat(_this.instancePrefix, "-").concat(element);
37343
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37344
 
37345
+ _this.getComponents = function () {
37346
+ return defaultComponents(_this.props);
37347
+ };
37348
 
37349
+ _this.buildCategorizedOptions = function () {
37350
+ return buildCategorizedOptions(_this.props, _this.state.selectValue);
37351
+ };
 
 
 
 
 
 
 
 
 
 
 
37352
 
37353
+ _this.getCategorizedOptions = function () {
37354
+ return _this.props.menuIsOpen ? _this.buildCategorizedOptions() : [];
37355
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37356
 
37357
+ _this.buildFocusableOptions = function () {
37358
+ return buildFocusableOptionsFromCategorizedOptions(_this.buildCategorizedOptions());
37359
+ };
 
 
 
 
 
 
37360
 
37361
+ _this.getFocusableOptions = function () {
37362
+ return _this.props.menuIsOpen ? _this.buildFocusableOptions() : [];
37363
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37364
 
37365
+ _this.ariaOnChange = function (value, actionMeta) {
37366
+ _this.setState({
37367
+ ariaSelection: index_4bd03571_esm_objectSpread2({
37368
+ value: value
37369
+ }, actionMeta)
37370
+ });
37371
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37372
 
37373
+ _this.onMenuMouseDown = function (event) {
37374
+ if (event.button !== 0) {
37375
+ return;
37376
+ }
37377
 
37378
+ event.stopPropagation();
37379
+ event.preventDefault();
37380
+
37381
+ _this.focusInput();
37382
+ };
37383
+
37384
+ _this.onMenuMouseMove = function (event) {
37385
+ _this.blockOptionHover = false;
37386
+ };
37387
+
37388
+ _this.onControlMouseDown = function (event) {
37389
+ var openMenuOnClick = _this.props.openMenuOnClick;
37390
+
37391
+ if (!_this.state.isFocused) {
37392
+ if (openMenuOnClick) {
37393
+ _this.openAfterFocus = true;
37394
+ }
37395
+
37396
+ _this.focusInput();
37397
+ } else if (!_this.props.menuIsOpen) {
37398
+ if (openMenuOnClick) {
37399
+ _this.openMenu('first');
37400
+ }
 
 
 
 
 
 
 
 
37401
  } else {
37402
+ if ( // $FlowFixMe
37403
+ event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {
37404
+ _this.onMenuClose();
37405
+ }
37406
+ }
37407
 
37408
+ if ( // $FlowFixMe
37409
+ event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {
37410
+ event.preventDefault();
37411
  }
37412
+ };
37413
 
37414
+ _this.onDropdownIndicatorMouseDown = function (event) {
37415
+ // ignore mouse events that weren't triggered by the primary button
37416
+ if (event && event.type === 'mousedown' && event.button !== 0) {
37417
+ return;
37418
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37419
 
37420
+ if (_this.props.isDisabled) return;
37421
+ var _this$props4 = _this.props,
37422
+ isMulti = _this$props4.isMulti,
37423
+ menuIsOpen = _this$props4.menuIsOpen;
 
 
 
 
 
 
37424
 
37425
+ _this.focusInput();
37426
+
37427
+ if (menuIsOpen) {
37428
+ _this.setState({
37429
+ inputIsHiddenAfterUpdate: !isMulti
37430
+ });
37431
+
37432
+ _this.onMenuClose();
37433
+ } else {
37434
+ _this.openMenu('first');
37435
+ }
37436
+
37437
+ event.preventDefault();
37438
+ event.stopPropagation();
37439
+ };
37440
+
37441
+ _this.onClearIndicatorMouseDown = function (event) {
37442
+ // ignore mouse events that weren't triggered by the primary button
37443
+ if (event && event.type === 'mousedown' && event.button !== 0) {
37444
+ return;
37445
+ }
37446
 
37447
+ _this.clearValue();
 
 
 
 
 
 
37448
 
37449
+ event.stopPropagation();
37450
+ _this.openAfterFocus = false;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37451
 
37452
+ if (event.type === 'touchend') {
37453
+ _this.focusInput();
37454
+ } else {
37455
+ setTimeout(function () {
37456
+ return _this.focusInput();
37457
  });
37458
  }
37459
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37460
 
37461
+ _this.onScroll = function (event) {
37462
+ if (typeof _this.props.closeMenuOnScroll === 'boolean') {
37463
+ if (event.target instanceof HTMLElement && isDocumentElement(event.target)) {
37464
+ _this.props.onMenuClose();
37465
+ }
37466
+ } else if (typeof _this.props.closeMenuOnScroll === 'function') {
37467
+ if (_this.props.closeMenuOnScroll(event)) {
37468
+ _this.props.onMenuClose();
37469
+ }
37470
+ }
37471
+ };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37472
 
37473
+ _this.onCompositionStart = function () {
37474
+ _this.isComposing = true;
37475
+ };
 
 
 
 
 
 
 
 
 
37476
 
37477
+ _this.onCompositionEnd = function () {
37478
+ _this.isComposing = false;
37479
+ };
37480
 
37481
+ _this.onTouchStart = function (_ref2) {
37482
+ var touches = _ref2.touches;
37483
+ var touch = touches && touches.item(0);
 
 
 
 
 
 
37484
 
37485
+ if (!touch) {
37486
+ return;
37487
+ }
37488
 
37489
+ _this.initialTouchX = touch.clientX;
37490
+ _this.initialTouchY = touch.clientY;
37491
+ _this.userIsDragging = false;
37492
+ };
37493
 
37494
+ _this.onTouchMove = function (_ref3) {
37495
+ var touches = _ref3.touches;
37496
+ var touch = touches && touches.item(0);
37497
 
37498
+ if (!touch) {
37499
+ return;
37500
+ }
37501
 
37502
+ var deltaX = Math.abs(touch.clientX - _this.initialTouchX);
37503
+ var deltaY = Math.abs(touch.clientY - _this.initialTouchY);
37504
+ var moveThreshold = 5;
37505
+ _this.userIsDragging = deltaX > moveThreshold || deltaY > moveThreshold;
37506
+ };
37507
 
37508
+ _this.onTouchEnd = function (event) {
37509
+ if (_this.userIsDragging) return; // close the menu if the user taps outside
37510
+ // we're checking on event.target here instead of event.currentTarget, because we want to assert information
37511
+ // on events on child elements, not the document (which we've attached this handler to).
37512
 
37513
+ if (_this.controlRef && !_this.controlRef.contains(event.target) && _this.menuListRef && !_this.menuListRef.contains(event.target)) {
37514
+ _this.blurInput();
37515
+ } // reset move vars
37516
 
37517
 
37518
+ _this.initialTouchX = 0;
37519
+ _this.initialTouchY = 0;
37520
+ };
37521
 
37522
+ _this.onControlTouchEnd = function (event) {
37523
+ if (_this.userIsDragging) return;
37524
 
37525
+ _this.onControlMouseDown(event);
37526
+ };
37527
 
37528
+ _this.onClearIndicatorTouchEnd = function (event) {
37529
+ if (_this.userIsDragging) return;
37530
 
37531
+ _this.onClearIndicatorMouseDown(event);
37532
+ };
 
 
 
37533
 
37534
+ _this.onDropdownIndicatorTouchEnd = function (event) {
37535
+ if (_this.userIsDragging) return;
37536
 
37537
+ _this.onDropdownIndicatorMouseDown(event);
37538
+ };
37539
 
37540
+ _this.handleInputChange = function (event) {
37541
+ var inputValue = event.currentTarget.value;
37542
 
37543
+ _this.setState({
37544
+ inputIsHiddenAfterUpdate: false
37545
+ });
37546
 
37547
+ _this.onInputChange(inputValue, {
37548
+ action: 'input-change'
37549
+ });
37550
 
37551
+ if (!_this.props.menuIsOpen) {
37552
+ _this.onMenuOpen();
37553
  }
37554
+ };
37555
 
37556
+ _this.onInputFocus = function (event) {
37557
+ if (_this.props.onFocus) {
37558
+ _this.props.onFocus(event);
37559
+ }
 
 
 
37560
 
37561
+ _this.setState({
37562
+ inputIsHiddenAfterUpdate: false,
37563
+ isFocused: true
37564
+ });
37565
 
37566
+ if (_this.openAfterFocus || _this.props.openMenuOnFocus) {
37567
+ _this.openMenu('first');
37568
+ }
 
37569
 
37570
+ _this.openAfterFocus = false;
37571
+ };
 
 
37572
 
37573
+ _this.onInputBlur = function (event) {
37574
+ if (_this.menuListRef && _this.menuListRef.contains(document.activeElement)) {
37575
+ _this.inputRef.focus();
 
37576
 
37577
+ return;
37578
+ }
37579
 
37580
+ if (_this.props.onBlur) {
37581
+ _this.props.onBlur(event);
37582
+ }
 
37583
 
37584
+ _this.onInputChange('', {
37585
+ action: 'input-blur'
37586
+ });
37587
 
37588
+ _this.onMenuClose();
 
 
 
37589
 
37590
+ _this.setState({
37591
+ focusedValue: null,
37592
+ isFocused: false
37593
+ });
37594
+ };
37595
 
37596
+ _this.onOptionHover = function (focusedOption) {
37597
+ if (_this.blockOptionHover || _this.state.focusedOption === focusedOption) {
37598
+ return;
 
37599
  }
 
 
 
 
 
 
 
 
 
 
 
37600
 
37601
+ _this.setState({
37602
+ focusedOption: focusedOption
37603
+ });
37604
+ };
 
37605
 
37606
+ _this.shouldHideSelectedOptions = function () {
37607
+ return shouldHideSelectedOptions(_this.props);
37608
+ };
37609
 
37610
+ _this.onKeyDown = function (event) {
37611
+ var _this$props5 = _this.props,
37612
+ isMulti = _this$props5.isMulti,
37613
+ backspaceRemovesValue = _this$props5.backspaceRemovesValue,
37614
+ escapeClearsValue = _this$props5.escapeClearsValue,
37615
+ inputValue = _this$props5.inputValue,
37616
+ isClearable = _this$props5.isClearable,
37617
+ isDisabled = _this$props5.isDisabled,
37618
+ menuIsOpen = _this$props5.menuIsOpen,
37619
+ onKeyDown = _this$props5.onKeyDown,
37620
+ tabSelectsValue = _this$props5.tabSelectsValue,
37621
+ openMenuOnFocus = _this$props5.openMenuOnFocus;
37622
+ var _this$state = _this.state,
37623
+ focusedOption = _this$state.focusedOption,
37624
+ focusedValue = _this$state.focusedValue,
37625
+ selectValue = _this$state.selectValue;
37626
+ if (isDisabled) return;
37627
 
37628
+ if (typeof onKeyDown === 'function') {
37629
+ onKeyDown(event);
 
 
 
37630
 
37631
+ if (event.defaultPrevented) {
37632
+ return;
37633
+ }
37634
+ } // Block option hover events when the user has just pressed a key
 
 
 
 
 
 
 
 
 
 
37635
 
 
 
 
37636
 
37637
+ _this.blockOptionHover = true;
37638
 
37639
+ switch (event.key) {
37640
+ case 'ArrowLeft':
37641
+ if (!isMulti || inputValue) return;
37642
 
37643
+ _this.focusValue('previous');
37644
 
37645
+ break;
37646
 
37647
+ case 'ArrowRight':
37648
+ if (!isMulti || inputValue) return;
37649
 
37650
+ _this.focusValue('next');
37651
 
37652
+ break;
37653
 
37654
+ case 'Delete':
37655
+ case 'Backspace':
37656
+ if (inputValue) return;
37657
 
37658
+ if (focusedValue) {
37659
+ _this.removeValue(focusedValue);
37660
+ } else {
37661
+ if (!backspaceRemovesValue) return;
37662
 
37663
+ if (isMulti) {
37664
+ _this.popValue();
37665
+ } else if (isClearable) {
37666
+ _this.clearValue();
37667
+ }
37668
+ }
37669
 
37670
+ break;
37671
 
37672
+ case 'Tab':
37673
+ if (_this.isComposing) return;
37674
 
37675
+ if (event.shiftKey || !menuIsOpen || !tabSelectsValue || !focusedOption || // don't capture the event if the menu opens on focus and the focused
37676
+ // option is already selected; it breaks the flow of navigation
37677
+ openMenuOnFocus && _this.isOptionSelected(focusedOption, selectValue)) {
37678
+ return;
37679
+ }
37680
 
37681
+ _this.selectOption(focusedOption);
37682
 
37683
+ break;
37684
 
37685
+ case 'Enter':
37686
+ if (event.keyCode === 229) {
37687
+ // ignore the keydown event from an Input Method Editor(IME)
37688
+ // ref. https://www.w3.org/TR/uievents/#determine-keydown-keyup-keyCode
37689
+ break;
37690
+ }
37691
 
37692
+ if (menuIsOpen) {
37693
+ if (!focusedOption) return;
37694
+ if (_this.isComposing) return;
37695
 
37696
+ _this.selectOption(focusedOption);
37697
 
37698
+ break;
37699
+ }
37700
 
37701
+ return;
37702
 
37703
+ case 'Escape':
37704
+ if (menuIsOpen) {
37705
+ _this.setState({
37706
+ inputIsHiddenAfterUpdate: false
37707
+ });
 
 
 
 
37708
 
37709
+ _this.onInputChange('', {
37710
+ action: 'menu-close'
37711
+ });
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37712
 
37713
+ _this.onMenuClose();
37714
+ } else if (isClearable && escapeClearsValue) {
37715
+ _this.clearValue();
37716
+ }
37717
 
37718
+ break;
37719
 
37720
+ case ' ':
37721
+ // space
37722
+ if (inputValue) {
37723
+ return;
37724
+ }
37725
 
37726
+ if (!menuIsOpen) {
37727
+ _this.openMenu('first');
37728
 
37729
+ break;
37730
+ }
37731
 
37732
+ if (!focusedOption) return;
 
 
 
 
 
 
 
 
37733
 
37734
+ _this.selectOption(focusedOption);
 
 
37735
 
37736
+ break;
 
37737
 
37738
+ case 'ArrowUp':
37739
+ if (menuIsOpen) {
37740
+ _this.focusOption('up');
37741
+ } else {
37742
+ _this.openMenu('last');
37743
+ }
 
 
37744
 
37745
+ break;
37746
+
37747
+ case 'ArrowDown':
37748
+ if (menuIsOpen) {
37749
+ _this.focusOption('down');
37750
+ } else {
37751
+ _this.openMenu('first');
37752
  }
 
 
37753
 
37754
+ break;
 
37755
 
37756
+ case 'PageUp':
37757
+ if (!menuIsOpen) return;
 
 
 
 
 
37758
 
37759
+ _this.focusOption('pageup');
 
 
 
 
 
 
 
 
 
 
 
 
 
37760
 
37761
+ break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
37762
 
37763
+ case 'PageDown':
37764
+ if (!menuIsOpen) return;
 
 
 
 
 
 
37765
 
37766
+ _this.focusOption('pagedown');
 
 
 
 
 
37767
 
37768
+ break;
 
 
37769
 
37770
+ case 'Home':
37771
+ if (!menuIsOpen) return;
37772
 
37773
+ _this.focusOption('first');
37774
 
37775
+ break;
37776
 
37777
+ case 'End':
37778
+ if (!menuIsOpen) return;
37779
 
37780
+ _this.focusOption('last');
37781
 
37782
+ break;
 
 
 
 
37783
 
37784
+ default:
37785
+ return;
37786
+ }
 
 
 
 
 
 
37787
 
37788
+ event.preventDefault();
37789
+ };
 
 
 
37790
 
37791
+ _this.instancePrefix = 'react-select-' + (_this.props.instanceId || ++instanceId);
37792
+ _this.state.selectValue = cleanValue(_props.value);
37793
+ return _this;
 
 
 
 
 
 
 
37794
  }
37795
 
37796
+ createClass_createClass(Select, [{
37797
+ key: "componentDidMount",
37798
+ value: function componentDidMount() {
37799
+ this.startListeningComposition();
37800
+ this.startListeningToTouch();
37801
 
37802
+ if (this.props.closeMenuOnScroll && document && document.addEventListener) {
37803
+ // Listen to all scroll events, and filter them out inside of 'onScroll'
37804
+ document.addEventListener('scroll', this.onScroll, true);
37805
+ }
37806
 
37807
+ if (this.props.autoFocus) {
37808
+ this.focusInput();
 
 
37809
  }
37810
  }
37811
+ }, {
37812
+ key: "componentDidUpdate",
37813
+ value: function componentDidUpdate(prevProps) {
37814
+ var _this$props6 = this.props,
37815
+ isDisabled = _this$props6.isDisabled,
37816
+ menuIsOpen = _this$props6.menuIsOpen;
37817
+ var isFocused = this.state.isFocused;
37818
 
37819
+ if ( // ensure focus is restored correctly when the control becomes enabled
37820
+ isFocused && !isDisabled && prevProps.isDisabled || // ensure focus is on the Input when the menu opens
37821
+ isFocused && menuIsOpen && !prevProps.menuIsOpen) {
37822
+ this.focusInput();
37823
+ }
 
 
 
37824
 
37825
+ if (isFocused && isDisabled && !prevProps.isDisabled) {
37826
+ // ensure select state gets blurred in case Select is programatically disabled while focused
37827
+ this.setState({
37828
+ isFocused: false
37829
+ }, this.onMenuClose);
37830
+ } // scroll the focused option into view if necessary
 
37831
 
 
 
37832
 
37833
+ if (this.menuListRef && this.focusedOptionRef && this.scrollToFocusedOptionOnUpdate) {
37834
+ scrollIntoView(this.menuListRef, this.focusedOptionRef);
37835
+ this.scrollToFocusedOptionOnUpdate = false;
37836
+ }
37837
+ }
37838
+ }, {
37839
+ key: "componentWillUnmount",
37840
+ value: function componentWillUnmount() {
37841
+ this.stopListeningComposition();
37842
+ this.stopListeningToTouch();
37843
+ document.removeEventListener('scroll', this.onScroll, true);
37844
+ } // ==============================
37845
+ // Consumer Handlers
37846
+ // ==============================
37847
 
37848
+ }, {
37849
+ key: "onMenuOpen",
37850
+ value: function onMenuOpen() {
37851
+ this.props.onMenuOpen();
37852
+ }
37853
+ }, {
37854
+ key: "onMenuClose",
37855
+ value: function onMenuClose() {
37856
+ this.onInputChange('', {
37857
+ action: 'menu-close'
37858
  });
37859
+ this.props.onMenuClose();
37860
  }
37861
+ }, {
37862
+ key: "onInputChange",
37863
+ value: function onInputChange(newValue, actionMeta) {
37864
+ this.props.onInputChange(newValue, actionMeta);
37865
+ } // ==============================
37866
+ // Methods
37867
+ // ==============================
 
 
37868
 
37869
+ }, {
37870
+ key: "focusInput",
37871
+ value: function focusInput() {
37872
+ if (!this.inputRef) return;
37873
+ this.inputRef.focus();
37874
  }
37875
+ }, {
37876
+ key: "blurInput",
37877
+ value: function blurInput() {
37878
+ if (!this.inputRef) return;
37879
+ this.inputRef.blur();
37880
+ } // aliased for consumers
37881
 
37882
+ }, {
37883
+ key: "openMenu",
37884
+ value: function openMenu(focusOption) {
37885
+ var _this2 = this;
 
 
37886
 
37887
+ var _this$state2 = this.state,
37888
+ selectValue = _this$state2.selectValue,
37889
+ isFocused = _this$state2.isFocused;
37890
+ var focusableOptions = this.buildFocusableOptions();
37891
+ var openAtIndex = focusOption === 'first' ? 0 : focusableOptions.length - 1;
37892
 
37893
+ if (!this.props.isMulti) {
37894
+ var selectedIndex = focusableOptions.indexOf(selectValue[0]);
37895
 
37896
+ if (selectedIndex > -1) {
37897
+ openAtIndex = selectedIndex;
37898
+ }
37899
+ } // only scroll if the menu isn't already open
37900
 
 
 
 
 
 
 
 
37901
 
37902
+ this.scrollToFocusedOptionOnUpdate = !(isFocused && this.menuListRef);
37903
+ this.setState({
37904
+ inputIsHiddenAfterUpdate: false,
37905
+ focusedValue: null,
37906
+ focusedOption: focusableOptions[openAtIndex]
37907
+ }, function () {
37908
+ return _this2.onMenuOpen();
37909
+ });
37910
+ }
37911
+ }, {
37912
+ key: "focusValue",
37913
+ value: function focusValue(direction) {
37914
+ var _this$state3 = this.state,
37915
+ selectValue = _this$state3.selectValue,
37916
+ focusedValue = _this$state3.focusedValue; // Only multiselects support value focusing
37917
 
37918
+ if (!this.props.isMulti) return;
37919
+ this.setState({
37920
+ focusedOption: null
37921
+ });
37922
+ var focusedIndex = selectValue.indexOf(focusedValue);
37923
 
37924
+ if (!focusedValue) {
37925
+ focusedIndex = -1;
37926
+ }
37927
 
37928
+ var lastIndex = selectValue.length - 1;
37929
+ var nextFocus = -1;
37930
+ if (!selectValue.length) return;
37931
 
37932
+ switch (direction) {
37933
+ case 'previous':
37934
+ if (focusedIndex === 0) {
37935
+ // don't cycle from the start to the end
37936
+ nextFocus = 0;
37937
+ } else if (focusedIndex === -1) {
37938
+ // if nothing is focused, focus the last value first
37939
+ nextFocus = lastIndex;
37940
+ } else {
37941
+ nextFocus = focusedIndex - 1;
37942
+ }
37943
 
37944
+ break;
37945
 
37946
+ case 'next':
37947
+ if (focusedIndex > -1 && focusedIndex < lastIndex) {
37948
+ nextFocus = focusedIndex + 1;
37949
+ }
37950
 
37951
+ break;
37952
+ }
37953
+
37954
+ this.setState({
37955
+ inputIsHidden: nextFocus !== -1,
37956
+ focusedValue: selectValue[nextFocus]
37957
+ });
37958
  }
37959
+ }, {
37960
+ key: "focusOption",
37961
+ value: function focusOption() {
37962
+ var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'first';
37963
+ var pageSize = this.props.pageSize;
37964
+ var focusedOption = this.state.focusedOption;
37965
+ var options = this.getFocusableOptions();
37966
+ if (!options.length) return;
37967
+ var nextFocus = 0; // handles 'first'
37968
 
37969
+ var focusedIndex = options.indexOf(focusedOption);
 
37970
 
37971
+ if (!focusedOption) {
37972
+ focusedIndex = -1;
37973
+ }
 
37974
 
37975
+ if (direction === 'up') {
37976
+ nextFocus = focusedIndex > 0 ? focusedIndex - 1 : options.length - 1;
37977
+ } else if (direction === 'down') {
37978
+ nextFocus = (focusedIndex + 1) % options.length;
37979
+ } else if (direction === 'pageup') {
37980
+ nextFocus = focusedIndex - pageSize;
37981
+ if (nextFocus < 0) nextFocus = 0;
37982
+ } else if (direction === 'pagedown') {
37983
+ nextFocus = focusedIndex + pageSize;
37984
+ if (nextFocus > options.length - 1) nextFocus = options.length - 1;
37985
+ } else if (direction === 'last') {
37986
+ nextFocus = options.length - 1;
37987
+ }
37988
 
37989
+ this.scrollToFocusedOptionOnUpdate = true;
37990
+ this.setState({
37991
+ focusedOption: options[nextFocus],
37992
+ focusedValue: null
37993
+ });
37994
+ }
37995
+ }, {
37996
+ key: "getTheme",
37997
+ value: // ==============================
37998
+ // Getters
37999
+ // ==============================
38000
+ function getTheme() {
38001
+ // Use the default theme if there are no customizations.
38002
+ if (!this.props.theme) {
38003
+ return defaultTheme;
38004
+ } // If the theme prop is a function, assume the function
38005
+ // knows how to merge the passed-in default theme with
38006
+ // its own modifications.
38007
 
 
 
38008
 
38009
+ if (typeof this.props.theme === 'function') {
38010
+ return this.props.theme(defaultTheme);
38011
+ } // Otherwise, if a plain theme object was passed in,
38012
+ // overlay it with the default theme.
38013
 
 
 
 
38014
 
38015
+ return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, defaultTheme), this.props.theme);
38016
+ }
38017
+ }, {
38018
+ key: "getCommonProps",
38019
+ value: function getCommonProps() {
38020
+ var clearValue = this.clearValue,
38021
+ cx = this.cx,
38022
+ getStyles = this.getStyles,
38023
+ getValue = this.getValue,
38024
+ selectOption = this.selectOption,
38025
+ setValue = this.setValue,
38026
+ props = this.props;
38027
+ var isMulti = props.isMulti,
38028
+ isRtl = props.isRtl,
38029
+ options = props.options;
38030
+ var hasValue = this.hasValue();
38031
+ return {
38032
+ clearValue: clearValue,
38033
+ cx: cx,
38034
+ getStyles: getStyles,
38035
+ getValue: getValue,
38036
+ hasValue: hasValue,
38037
+ isMulti: isMulti,
38038
+ isRtl: isRtl,
38039
+ options: options,
38040
+ selectOption: selectOption,
38041
+ selectProps: props,
38042
+ setValue: setValue,
38043
+ theme: this.getTheme()
38044
+ };
38045
+ }
38046
+ }, {
38047
+ key: "hasValue",
38048
+ value: function hasValue() {
38049
+ var selectValue = this.state.selectValue;
38050
+ return selectValue.length > 0;
38051
+ }
38052
+ }, {
38053
+ key: "hasOptions",
38054
+ value: function hasOptions() {
38055
+ return !!this.getFocusableOptions().length;
38056
+ }
38057
+ }, {
38058
+ key: "isClearable",
38059
+ value: function isClearable() {
38060
+ var _this$props7 = this.props,
38061
+ isClearable = _this$props7.isClearable,
38062
+ isMulti = _this$props7.isMulti; // single select, by default, IS NOT clearable
38063
+ // multi select, by default, IS clearable
38064
+
38065
+ if (isClearable === undefined) return isMulti;
38066
+ return isClearable;
38067
+ }
38068
+ }, {
38069
+ key: "isOptionDisabled",
38070
+ value: function isOptionDisabled(option, selectValue) {
38071
+ return _isOptionDisabled(this.props, option, selectValue);
38072
+ }
38073
+ }, {
38074
+ key: "isOptionSelected",
38075
+ value: function isOptionSelected(option, selectValue) {
38076
+ return _isOptionSelected(this.props, option, selectValue);
38077
+ }
38078
+ }, {
38079
+ key: "filterOption",
38080
+ value: function filterOption(option, inputValue) {
38081
+ return _filterOption(this.props, option, inputValue);
38082
+ }
38083
+ }, {
38084
+ key: "formatOptionLabel",
38085
+ value: function formatOptionLabel(data, context) {
38086
+ if (typeof this.props.formatOptionLabel === 'function') {
38087
+ var inputValue = this.props.inputValue;
38088
+ var selectValue = this.state.selectValue;
38089
+ return this.props.formatOptionLabel(data, {
38090
+ context: context,
38091
+ inputValue: inputValue,
38092
+ selectValue: selectValue
38093
+ });
38094
+ } else {
38095
+ return this.getOptionLabel(data);
38096
+ }
38097
+ }
38098
+ }, {
38099
+ key: "formatGroupLabel",
38100
+ value: function formatGroupLabel(data) {
38101
+ return this.props.formatGroupLabel(data);
38102
+ } // ==============================
38103
+ // Mouse Handlers
38104
+ // ==============================
38105
 
38106
+ }, {
38107
+ key: "startListeningComposition",
38108
+ value: // ==============================
38109
+ // Composition Handlers
38110
+ // ==============================
38111
+ function startListeningComposition() {
38112
+ if (document && document.addEventListener) {
38113
+ document.addEventListener('compositionstart', this.onCompositionStart, false);
38114
+ document.addEventListener('compositionend', this.onCompositionEnd, false);
38115
+ }
38116
  }
38117
+ }, {
38118
+ key: "stopListeningComposition",
38119
+ value: function stopListeningComposition() {
38120
+ if (document && document.removeEventListener) {
38121
+ document.removeEventListener('compositionstart', this.onCompositionStart);
38122
+ document.removeEventListener('compositionend', this.onCompositionEnd);
38123
+ }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38124
  }
38125
+ }, {
38126
+ key: "startListeningToTouch",
38127
+ value: // ==============================
38128
+ // Touch Handlers
38129
+ // ==============================
38130
+ function startListeningToTouch() {
38131
+ if (document && document.addEventListener) {
38132
+ document.addEventListener('touchstart', this.onTouchStart, false);
38133
+ document.addEventListener('touchmove', this.onTouchMove, false);
38134
+ document.addEventListener('touchend', this.onTouchEnd, false);
38135
+ }
38136
  }
38137
+ }, {
38138
+ key: "stopListeningToTouch",
38139
+ value: function stopListeningToTouch() {
38140
+ if (document && document.removeEventListener) {
38141
+ document.removeEventListener('touchstart', this.onTouchStart);
38142
+ document.removeEventListener('touchmove', this.onTouchMove);
38143
+ document.removeEventListener('touchend', this.onTouchEnd);
38144
+ }
38145
+ }
38146
+ }, {
38147
+ key: "renderInput",
38148
+ value: // ==============================
38149
+ // Renderers
38150
+ // ==============================
38151
+ function renderInput() {
38152
+ var _this$props8 = this.props,
38153
+ isDisabled = _this$props8.isDisabled,
38154
+ isSearchable = _this$props8.isSearchable,
38155
+ inputId = _this$props8.inputId,
38156
+ inputValue = _this$props8.inputValue,
38157
+ tabIndex = _this$props8.tabIndex,
38158
+ form = _this$props8.form;
38159
 
38160
+ var _this$getComponents = this.getComponents(),
38161
+ Input = _this$getComponents.Input;
38162
 
38163
+ var inputIsHidden = this.state.inputIsHidden;
38164
+ var commonProps = this.commonProps;
38165
+ var id = inputId || this.getElementId('input'); // aria attributes makes the JSX "noisy", separated for clarity
 
 
 
 
 
38166
 
38167
+ var ariaAttributes = {
38168
+ 'aria-autocomplete': 'list',
38169
+ 'aria-label': this.props['aria-label'],
38170
+ 'aria-labelledby': this.props['aria-labelledby']
38171
+ };
38172
 
38173
+ if (!isSearchable) {
38174
+ // use a dummy input to maintain focus/blur functionality
38175
+ return /*#__PURE__*/react.createElement(DummyInput, extends_extends({
38176
+ id: id,
38177
+ innerRef: this.getInputRef,
38178
+ onBlur: this.onInputBlur,
38179
+ onChange: noop,
38180
+ onFocus: this.onInputFocus,
38181
+ readOnly: true,
38182
+ disabled: isDisabled,
38183
+ tabIndex: tabIndex,
38184
+ form: form,
38185
+ value: ""
38186
+ }, ariaAttributes));
38187
+ }
38188
 
38189
+ return /*#__PURE__*/react.createElement(Input, extends_extends({}, commonProps, {
38190
+ autoCapitalize: "none",
38191
+ autoComplete: "off",
38192
+ autoCorrect: "off",
38193
+ id: id,
38194
+ innerRef: this.getInputRef,
38195
+ isDisabled: isDisabled,
38196
+ isHidden: inputIsHidden,
38197
+ onBlur: this.onInputBlur,
38198
+ onChange: this.handleInputChange,
38199
+ onFocus: this.onInputFocus,
38200
+ spellCheck: "false",
38201
+ tabIndex: tabIndex,
38202
+ form: form,
38203
+ type: "text",
38204
+ value: inputValue
38205
+ }, ariaAttributes));
38206
+ }
38207
+ }, {
38208
+ key: "renderPlaceholderOrValue",
38209
+ value: function renderPlaceholderOrValue() {
38210
+ var _this3 = this;
38211
 
38212
+ var _this$getComponents2 = this.getComponents(),
38213
+ MultiValue = _this$getComponents2.MultiValue,
38214
+ MultiValueContainer = _this$getComponents2.MultiValueContainer,
38215
+ MultiValueLabel = _this$getComponents2.MultiValueLabel,
38216
+ MultiValueRemove = _this$getComponents2.MultiValueRemove,
38217
+ SingleValue = _this$getComponents2.SingleValue,
38218
+ Placeholder = _this$getComponents2.Placeholder;
38219
 
38220
+ var commonProps = this.commonProps;
38221
+ var _this$props9 = this.props,
38222
+ controlShouldRenderValue = _this$props9.controlShouldRenderValue,
38223
+ isDisabled = _this$props9.isDisabled,
38224
+ isMulti = _this$props9.isMulti,
38225
+ inputValue = _this$props9.inputValue,
38226
+ placeholder = _this$props9.placeholder;
38227
+ var _this$state4 = this.state,
38228
+ selectValue = _this$state4.selectValue,
38229
+ focusedValue = _this$state4.focusedValue,
38230
+ isFocused = _this$state4.isFocused;
38231
 
38232
+ if (!this.hasValue() || !controlShouldRenderValue) {
38233
+ return inputValue ? null : /*#__PURE__*/react.createElement(Placeholder, extends_extends({}, commonProps, {
38234
+ key: "placeholder",
38235
+ isDisabled: isDisabled,
38236
+ isFocused: isFocused
38237
+ }), placeholder);
38238
+ }
38239
 
38240
+ if (isMulti) {
38241
+ var selectValues = selectValue.map(function (opt, index) {
38242
+ var isOptionFocused = opt === focusedValue;
38243
+ return /*#__PURE__*/react.createElement(MultiValue, extends_extends({}, commonProps, {
38244
+ components: {
38245
+ Container: MultiValueContainer,
38246
+ Label: MultiValueLabel,
38247
+ Remove: MultiValueRemove
38248
+ },
38249
+ isFocused: isOptionFocused,
38250
+ isDisabled: isDisabled,
38251
+ key: "".concat(_this3.getOptionValue(opt)).concat(index),
38252
+ index: index,
38253
+ removeProps: {
38254
+ onClick: function onClick() {
38255
+ return _this3.removeValue(opt);
38256
+ },
38257
+ onTouchEnd: function onTouchEnd() {
38258
+ return _this3.removeValue(opt);
38259
+ },
38260
+ onMouseDown: function onMouseDown(e) {
38261
+ e.preventDefault();
38262
+ e.stopPropagation();
38263
+ }
38264
+ },
38265
+ data: opt
38266
+ }), _this3.formatOptionLabel(opt, 'value'));
38267
+ });
38268
+ return selectValues;
38269
+ }
38270
 
38271
+ if (inputValue) {
38272
+ return null;
38273
+ }
38274
 
38275
+ var singleValue = selectValue[0];
38276
+ return /*#__PURE__*/react.createElement(SingleValue, extends_extends({}, commonProps, {
38277
+ data: singleValue,
38278
+ isDisabled: isDisabled
38279
+ }), this.formatOptionLabel(singleValue, 'value'));
38280
+ }
38281
+ }, {
38282
+ key: "renderClearIndicator",
38283
+ value: function renderClearIndicator() {
38284
+ var _this$getComponents3 = this.getComponents(),
38285
+ ClearIndicator = _this$getComponents3.ClearIndicator;
38286
 
38287
+ var commonProps = this.commonProps;
38288
+ var _this$props10 = this.props,
38289
+ isDisabled = _this$props10.isDisabled,
38290
+ isLoading = _this$props10.isLoading;
38291
+ var isFocused = this.state.isFocused;
38292
 
38293
+ if (!this.isClearable() || !ClearIndicator || isDisabled || !this.hasValue() || isLoading) {
38294
+ return null;
38295
+ }
38296
 
38297
+ var innerProps = {
38298
+ onMouseDown: this.onClearIndicatorMouseDown,
38299
+ onTouchEnd: this.onClearIndicatorTouchEnd,
38300
+ 'aria-hidden': 'true'
38301
+ };
38302
+ return /*#__PURE__*/react.createElement(ClearIndicator, extends_extends({}, commonProps, {
38303
+ innerProps: innerProps,
38304
+ isFocused: isFocused
38305
+ }));
38306
  }
38307
+ }, {
38308
+ key: "renderLoadingIndicator",
38309
+ value: function renderLoadingIndicator() {
38310
+ var _this$getComponents4 = this.getComponents(),
38311
+ LoadingIndicator = _this$getComponents4.LoadingIndicator;
38312
 
38313
+ var commonProps = this.commonProps;
38314
+ var _this$props11 = this.props,
38315
+ isDisabled = _this$props11.isDisabled,
38316
+ isLoading = _this$props11.isLoading;
38317
+ var isFocused = this.state.isFocused;
38318
+ if (!LoadingIndicator || !isLoading) return null;
38319
+ var innerProps = {
38320
+ 'aria-hidden': 'true'
38321
+ };
38322
+ return /*#__PURE__*/react.createElement(LoadingIndicator, extends_extends({}, commonProps, {
38323
+ innerProps: innerProps,
38324
+ isDisabled: isDisabled,
38325
+ isFocused: isFocused
38326
+ }));
38327
  }
38328
+ }, {
38329
+ key: "renderIndicatorSeparator",
38330
+ value: function renderIndicatorSeparator() {
38331
+ var _this$getComponents5 = this.getComponents(),
38332
+ DropdownIndicator = _this$getComponents5.DropdownIndicator,
38333
+ IndicatorSeparator = _this$getComponents5.IndicatorSeparator; // separator doesn't make sense without the dropdown indicator
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
38334
 
 
 
38335
 
38336
+ if (!DropdownIndicator || !IndicatorSeparator) return null;
38337
+ var commonProps = this.commonProps;
38338
+ var isDisabled = this.props.isDisabled;
38339
+ var isFocused = this.state.isFocused;
38340
+ return /*#__PURE__*/react.createElement(IndicatorSeparator, extends_extends({}, commonProps, {
38341
+ isDisabled: isDisabled,
38342
+ isFocused: isFocused
38343
+ }));
38344
+ }
38345
+ }, {
38346
+ key: "renderDropdownIndicator",
38347
+ value: function renderDropdownIndicator() {
38348
+ var _this$getComponents6 = this.getComponents(),
38349
+ DropdownIndicator = _this$getComponents6.DropdownIndicator;
38350
 
38351
+ if (!DropdownIndicator) return null;
38352
+ var commonProps = this.commonProps;
38353
+ var isDisabled = this.props.isDisabled;
38354
+ var isFocused = this.state.isFocused;
38355
+ var innerProps = {
38356
+ onMouseDown: this.onDropdownIndicatorMouseDown,
38357
+ onTouchEnd: this.onDropdownIndicatorTouchEnd,
38358
+ 'aria-hidden': 'true'
38359
+ };
38360
+ return /*#__PURE__*/react.createElement(DropdownIndicator, extends_extends({}, commonProps, {
38361
+ innerProps: innerProps,
38362
+ isDisabled: isDisabled,
38363
+ isFocused: isFocused
38364
+ }));
38365
+ }
38366
+ }, {
38367
+ key: "renderMenu",
38368
+ value: function renderMenu() {
38369
+ var _this4 = this;
38370
 
38371
+ var _this$getComponents7 = this.getComponents(),
38372
+ Group = _this$getComponents7.Group,
38373
+ GroupHeading = _this$getComponents7.GroupHeading,
38374
+ Menu = _this$getComponents7.Menu,
38375
+ MenuList = _this$getComponents7.MenuList,
38376
+ MenuPortal = _this$getComponents7.MenuPortal,
38377
+ LoadingMessage = _this$getComponents7.LoadingMessage,
38378
+ NoOptionsMessage = _this$getComponents7.NoOptionsMessage,
38379
+ Option = _this$getComponents7.Option;
38380
 
38381
+ var commonProps = this.commonProps;
38382
+ var focusedOption = this.state.focusedOption;
38383
+ var _this$props12 = this.props,
38384
+ captureMenuScroll = _this$props12.captureMenuScroll,
38385
+ inputValue = _this$props12.inputValue,
38386
+ isLoading = _this$props12.isLoading,
38387
+ loadingMessage = _this$props12.loadingMessage,
38388
+ minMenuHeight = _this$props12.minMenuHeight,
38389
+ maxMenuHeight = _this$props12.maxMenuHeight,
38390
+ menuIsOpen = _this$props12.menuIsOpen,
38391
+ menuPlacement = _this$props12.menuPlacement,
38392
+ menuPosition = _this$props12.menuPosition,
38393
+ menuPortalTarget = _this$props12.menuPortalTarget,
38394
+ menuShouldBlockScroll = _this$props12.menuShouldBlockScroll,
38395
+ menuShouldScrollIntoView = _this$props12.menuShouldScrollIntoView,
38396
+ noOptionsMessage = _this$props12.noOptionsMessage,
38397
+ onMenuScrollToTop = _this$props12.onMenuScrollToTop,
38398
+ onMenuScrollToBottom = _this$props12.onMenuScrollToBottom;
38399
+ if (!menuIsOpen) return null; // TODO: Internal Option Type here
38400
 
38401
+ var render = function render(props, id) {
38402
+ var type = props.type,
38403
+ data = props.data,
38404
+ isDisabled = props.isDisabled,
38405
+ isSelected = props.isSelected,
38406
+ label = props.label,
38407
+ value = props.value;
38408
+ var isFocused = focusedOption === data;
38409
+ var onHover = isDisabled ? undefined : function () {
38410
+ return _this4.onOptionHover(data);
38411
+ };
38412
+ var onSelect = isDisabled ? undefined : function () {
38413
+ return _this4.selectOption(data);
38414
+ };
38415
+ var optionId = "".concat(_this4.getElementId('option'), "-").concat(id);
38416
+ var innerProps = {
38417
+ id: optionId,
38418
+ onClick: onSelect,
38419
+ onMouseMove: onHover,
38420
+ onMouseOver: onHover,
38421
+ tabIndex: -1
38422
+ };
38423
+ return /*#__PURE__*/react.createElement(Option, extends_extends({}, commonProps, {
38424
+ innerProps: innerProps,
38425
+ data: data,
38426
+ isDisabled: isDisabled,
38427
+ isSelected: isSelected,
38428
+ key: optionId,
38429
+ label: label,
38430
+ type: type,
38431
+ value: value,
38432
+ isFocused: isFocused,
38433
+ innerRef: isFocused ? _this4.getFocusedOptionRef : undefined
38434
+ }), _this4.formatOptionLabel(props.data, 'menu'));
38435
+ };
38436
 
38437
+ var menuUI;
 
 
 
38438
 
38439
+ if (this.hasOptions()) {
38440
+ menuUI = this.getCategorizedOptions().map(function (item) {
38441
+ if (item.type === 'group') {
38442
+ var data = item.data,
38443
+ options = item.options,
38444
+ groupIndex = item.index;
38445
+ var groupId = "".concat(_this4.getElementId('group'), "-").concat(groupIndex);
38446
+ var headingId = "".concat(groupId, "-heading");
38447
+ return /*#__PURE__*/react.createElement(Group, extends_extends({}, commonProps, {
38448
+ key: groupId,
38449
+ data: data,
38450
+ options: options,
38451
+ Heading: GroupHeading,
38452
+ headingProps: {
38453
+ id: headingId,
38454
+ data: item.data
38455
+ },
38456
+ label: _this4.formatGroupLabel(item.data)
38457
+ }), item.options.map(function (option) {
38458
+ return render(option, "".concat(groupIndex, "-").concat(option.index));
38459
+ }));
38460
+ } else if (item.type === 'option') {
38461
+ return render(item, "".concat(item.index));
38462
+ }
38463
+ });
38464
+ } else if (isLoading) {
38465
+ var message = loadingMessage({
38466
+ inputValue: inputValue
38467
+ });
38468
+ if (message === null) return null;
38469
+ menuUI = /*#__PURE__*/react.createElement(LoadingMessage, commonProps, message);
38470
+ } else {
38471
+ var _message = noOptionsMessage({
38472
+ inputValue: inputValue
38473
+ });
38474
 
38475
+ if (_message === null) return null;
38476
+ menuUI = /*#__PURE__*/react.createElement(NoOptionsMessage, commonProps, _message);
38477
+ }
38478
 
38479
+ var menuPlacementProps = {
38480
+ minMenuHeight: minMenuHeight,
38481
+ maxMenuHeight: maxMenuHeight,
38482
+ menuPlacement: menuPlacement,
38483
+ menuPosition: menuPosition,
38484
+ menuShouldScrollIntoView: menuShouldScrollIntoView
38485
+ };
38486
+ var menuElement = /*#__PURE__*/react.createElement(MenuPlacer, extends_extends({}, commonProps, menuPlacementProps), function (_ref4) {
38487
+ var ref = _ref4.ref,
38488
+ _ref4$placerProps = _ref4.placerProps,
38489
+ placement = _ref4$placerProps.placement,
38490
+ maxHeight = _ref4$placerProps.maxHeight;
38491
+ return /*#__PURE__*/react.createElement(Menu, extends_extends({}, commonProps, menuPlacementProps, {
38492
+ innerRef: ref,
38493
+ innerProps: {
38494
+ onMouseDown: _this4.onMenuMouseDown,
38495
+ onMouseMove: _this4.onMenuMouseMove
38496
+ },
38497
+ isLoading: isLoading,
38498
+ placement: placement
38499
+ }), /*#__PURE__*/react.createElement(ScrollManager, {
38500
+ captureEnabled: captureMenuScroll,
38501
+ onTopArrive: onMenuScrollToTop,
38502
+ onBottomArrive: onMenuScrollToBottom,
38503
+ lockEnabled: menuShouldBlockScroll
38504
+ }, function (scrollTargetRef) {
38505
+ return /*#__PURE__*/react.createElement(MenuList, extends_extends({}, commonProps, {
38506
+ innerRef: function innerRef(instance) {
38507
+ _this4.getMenuListRef(instance);
38508
 
38509
+ scrollTargetRef(instance);
38510
+ },
38511
+ isLoading: isLoading,
38512
+ maxHeight: maxHeight,
38513
+ focusedOption: focusedOption
38514
+ }), menuUI);
38515
+ }));
38516
+ }); // positioning behaviour is almost identical for portalled and fixed,
38517
+ // so we use the same component. the actual portalling logic is forked
38518
+ // within the component based on `menuPosition`
38519
 
38520
+ return menuPortalTarget || menuPosition === 'fixed' ? /*#__PURE__*/react.createElement(MenuPortal, extends_extends({}, commonProps, {
38521
+ appendTo: menuPortalTarget,
38522
+ controlElement: this.controlRef,
38523
+ menuPlacement: menuPlacement,
38524
+ menuPosition: menuPosition
38525
+ }), menuElement) : menuElement;
38526
  }
38527
+ }, {
38528
+ key: "renderFormField",
38529
+ value: function renderFormField() {
38530
+ var _this5 = this;
38531
 
38532
+ var _this$props13 = this.props,
38533
+ delimiter = _this$props13.delimiter,
38534
+ isDisabled = _this$props13.isDisabled,
38535
+ isMulti = _this$props13.isMulti,
38536
+ name = _this$props13.name;
38537
+ var selectValue = this.state.selectValue;
38538
+ if (!name || isDisabled) return;
38539
 
38540
+ if (isMulti) {
38541
+ if (delimiter) {
38542
+ var value = selectValue.map(function (opt) {
38543
+ return _this5.getOptionValue(opt);
38544
+ }).join(delimiter);
38545
+ return /*#__PURE__*/react.createElement("input", {
38546
+ name: name,
38547
+ type: "hidden",
38548
+ value: value
38549
+ });
38550
+ } else {
38551
+ var input = selectValue.length > 0 ? selectValue.map(function (opt, i) {
38552
+ return /*#__PURE__*/react.createElement("input", {
38553
+ key: "i-".concat(i),
38554
+ name: name,
38555
+ type: "hidden",
38556
+ value: _this5.getOptionValue(opt)
38557
+ });
38558
+ }) : /*#__PURE__*/react.createElement("input", {
38559
+ name: name,
38560
+ type: "hidden"
38561
+ });
38562
+ return /*#__PURE__*/react.createElement("div", null, input);
38563
  }
38564
+ } else {
38565
+ var _value = selectValue[0] ? this.getOptionValue(selectValue[0]) : '';
 
 
 
 
 
 
 
 
38566
 
38567
+ return /*#__PURE__*/react.createElement("input", {
38568
+ name: name,
38569
+ type: "hidden",
38570
+ value: _value
38571
+ });
38572
+ }
38573
+ }
38574
+ }, {
38575
+ key: "renderLiveRegion",
38576
+ value: function renderLiveRegion() {
38577
+ var commonProps = this.commonProps;
38578
+ var _this$state5 = this.state,
38579
+ ariaSelection = _this$state5.ariaSelection,
38580
+ focusedOption = _this$state5.focusedOption,
38581
+ focusedValue = _this$state5.focusedValue,
38582
+ isFocused = _this$state5.isFocused,
38583
+ selectValue = _this$state5.selectValue;
38584
+ var focusableOptions = this.getFocusableOptions();
38585
+ return /*#__PURE__*/react.createElement(LiveRegion, extends_extends({}, commonProps, {
38586
+ ariaSelection: ariaSelection,
38587
+ focusedOption: focusedOption,
38588
+ focusedValue: focusedValue,
38589
+ isFocused: isFocused,
38590
+ selectValue: selectValue,
38591
+ focusableOptions: focusableOptions
38592
+ }));
38593
+ }
38594
+ }, {
38595
+ key: "render",
38596
+ value: function render() {
38597
+ var _this$getComponents8 = this.getComponents(),
38598
+ Control = _this$getComponents8.Control,
38599
+ IndicatorsContainer = _this$getComponents8.IndicatorsContainer,
38600
+ SelectContainer = _this$getComponents8.SelectContainer,
38601
+ ValueContainer = _this$getComponents8.ValueContainer;
38602
 
38603
+ var _this$props14 = this.props,
38604
+ className = _this$props14.className,
38605
+ id = _this$props14.id,
38606
+ isDisabled = _this$props14.isDisabled,
38607
+ menuIsOpen = _this$props14.menuIsOpen;
38608
+ var isFocused = this.state.isFocused;
38609
+ var commonProps = this.commonProps = this.getCommonProps();
38610
+ return /*#__PURE__*/react.createElement(SelectContainer, extends_extends({}, commonProps, {
38611
+ className: className,
38612
+ innerProps: {
38613
+ id: id,
38614
+ onKeyDown: this.onKeyDown
38615
+ },
38616
+ isDisabled: isDisabled,
38617
+ isFocused: isFocused
38618
+ }), this.renderLiveRegion(), /*#__PURE__*/react.createElement(Control, extends_extends({}, commonProps, {
38619
+ innerRef: this.getControlRef,
38620
+ innerProps: {
38621
+ onMouseDown: this.onControlMouseDown,
38622
+ onTouchEnd: this.onControlTouchEnd
38623
+ },
38624
+ isDisabled: isDisabled,
38625
+ isFocused: isFocused,
38626
+ menuIsOpen: menuIsOpen
38627
+ }), /*#__PURE__*/react.createElement(ValueContainer, extends_extends({}, commonProps, {
38628
+ isDisabled: isDisabled
38629
+ }), this.renderPlaceholderOrValue(), this.renderInput()), /*#__PURE__*/react.createElement(IndicatorsContainer, extends_extends({}, commonProps, {
38630
+ isDisabled: isDisabled
38631
+ }), this.renderClearIndicator(), this.renderLoadingIndicator(), this.renderIndicatorSeparator(), this.renderDropdownIndicator())), this.renderMenu(), this.renderFormField());
38632
+ }
38633
+ }], [{
38634
+ key: "getDerivedStateFromProps",
38635
+ value: function getDerivedStateFromProps(props, state) {
38636
+ var prevProps = state.prevProps,
38637
+ clearFocusValueOnUpdate = state.clearFocusValueOnUpdate,
38638
+ inputIsHiddenAfterUpdate = state.inputIsHiddenAfterUpdate;
38639
+ var options = props.options,
38640
+ value = props.value,
38641
+ menuIsOpen = props.menuIsOpen,
38642
+ inputValue = props.inputValue;
38643
+ var newMenuOptionsState = {};
38644
 
38645
+ if (prevProps && (value !== prevProps.value || options !== prevProps.options || menuIsOpen !== prevProps.menuIsOpen || inputValue !== prevProps.inputValue)) {
38646
+ var selectValue = cleanValue(value);
38647
+ var focusableOptions = menuIsOpen ? buildFocusableOptions(props, selectValue) : [];
38648
+ var focusedValue = clearFocusValueOnUpdate ? getNextFocusedValue(state, selectValue) : null;
38649
+ var focusedOption = getNextFocusedOption(state, focusableOptions);
38650
+ newMenuOptionsState = {
38651
+ selectValue: selectValue,
38652
+ focusedOption: focusedOption,
38653
+ focusedValue: focusedValue,
38654
+ clearFocusValueOnUpdate: false
38655
+ };
38656
+ } // some updates should toggle the state of the input visibility
38657
 
 
 
38658
 
38659
+ var newInputIsHiddenState = inputIsHiddenAfterUpdate != null && props !== prevProps ? {
38660
+ inputIsHidden: inputIsHiddenAfterUpdate,
38661
+ inputIsHiddenAfterUpdate: undefined
38662
+ } : {};
38663
+ return index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2(index_4bd03571_esm_objectSpread2({}, newMenuOptionsState), newInputIsHiddenState), {}, {
38664
+ prevProps: props
38665
+ });
 
 
 
 
 
 
 
 
 
 
 
38666
  }
38667
  }]);
38668
 
38669
+ return Select;
38670
+ }(react.Component);
 
 
 
 
 
38671
 
38672
+ Select_dbb12e54_esm_Select.defaultProps = Select_dbb12e54_esm_defaultProps;
 
38673
 
 
38674
 
 
 
38675
 
38676
+ ;// CONCATENATED MODULE: ./node_modules/react-select/dist/stateManager-845a3300.esm.js
38677
 
 
 
 
38678
 
 
38679
 
 
 
 
38680
 
 
 
38681
 
 
 
 
 
 
 
38682
 
 
 
38683
 
 
 
 
 
 
 
 
 
38684
 
38685
+ var stateManager_845a3300_esm_defaultProps = {
38686
+ defaultInputValue: '',
38687
+ defaultMenuIsOpen: false,
38688
+ defaultValue: null
 
 
 
 
 
38689
  };
38690